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 $_F=__FILE__;$_X='Pz48P3BocA0KZDF0NV9kNWYxM2x0X3Q0bTV6Mm41X3M1dCgnRTNyMnA1L0lzdDFuYj..

Decoded Output download

?><?php
date_default_timezone_set('Europe/Istanbul');
function manset_cron()
{
	global $db;
	global $conf;
	foreach ($conf['manset_tur'] as $k => $v) {
		$results = $db->fetch_all_array('SELECT id, baslik, spot, link, resim, sira, pencere, durum, haberID, makaleID FROM `manset` WHERE durum = 1 AND tur = ' . $k);
		$data = array();
		$i = 0;
		while ($i < count($results)) {
			$data[] = $results[$i];
			$i++;
		}
		write_cache_file('../cron/degisencron_' . $k . '.php', 'degisen_cache[' . $k . ']', $data);
	}
}
function kategori_cron()
{
	global $db;
	$fname = '../cron/katcron.php';
	$kategoriler_db = $db->fetch_all_array('SELECT id, ustid, isim, permalink, tur, sira, durum FROM kategori WHERE durum = 1 ORDER BY id ASC');
	if (file_exists($fname))
		chmod($fname, 0777);
	$fh = fopen($fname, "w+");
	if ($fh) {
		fputs($fh, '<?php ');
		$i =  0;
		while ($i < count($kategoriler_db)) {
			fputs($fh, '$kategoriler_cache[' . $kategoriler_db[$i]['id'] . '] = array(');
			foreach ($kategoriler_db[$i] as $k => $v)
				fputs($fh, '"' . $k . '" => "' . $v . '", ');
			fputs($fh, ');' . "
");
			$i++;
		}
		fputs($fh, ' ?>');
		fclose($fh);
	}
	if (file_exists($fname))
		chmod($fname, 0644);
}
function write_cache_file($fname, $degisken, $data)
{
	if (file_exists($fname))
		chmod($fname, 0777);
	$fh = fopen($fname, "w+");
	if ($fh) {
		fputs($fh, '<?php $' . $degisken . ' = array(');
		foreach ($data as $k => $v) {
			if (is_array($v)) {
				fputs($fh, '"' . $k . '" => array( ');
				foreach ($v as $v_k => $v_v)
					fputs($fh, '"' . $v_k . '" => "' . $v_v . '", ');
				fputs($fh, '),' . "
");
			} else {
				fputs($fh, '"' . $k . '" => "' . $v . '", ' . "
");
			}
		}
		fputs($fh, '); ?>');
		fclose($fh);
	}
	if (file_exists($fname))
		chmod($fname, 0644);
}
function sortBykeyvalue($a, $b)
{
	if ($a['sira'] == $b['sira'])
		return 0;
	return ($b['sira'] < $a['sira']) ? 1 : -1;
}
function set_memcache($key, $value, $secs)
{
	$memcache_obj = new Memcache;
	$memcache_obj->connect('localhost', 11211);
	try {
		$memcache_obj->delete($key);
	} catch (Exception $e) {
	}
	$memcache_obj->set($key, $value, false, $secs);
}
function delete_memcache($key)
{
	$memcache_obj = new Memcache;
	$memcache_obj->connect('localhost', 11211);
	try {
		$memcache_obj->delete($key);
	} catch (Exception $e) {
		echo 'silinemedi';
	}
}
function BuyukHarf($deger)
{
	$deger = mb_convert_case(str_replace('i', '&#304;', $deger), MB_CASE_UPPER, "UTF-8");
	return $deger;
}
function SecureRequest($gelen)
{
	$gelen = str_ireplace("
", '', $gelen);
	$gelen = str_ireplace("
", '', $gelen);
	$gelen = str_replace(array("
", "
", "
", "	", '\'), '', $gelen);
	return mysql_real_escape_string(stripslashes($gelen));
}
function handleUpload($uploadInfo, $allowedExtensions, $uploadFolder, $maxFileSize = 0, $fileName = '')
{
	if (empty($uploadInfo))
		return 0;
	if ($uploadInfo['size'] < 1)
		return 0;
	if ($fileName == '')
		$fileName = md5(date('dmYHis'));
	if ($maxFileSize == 0)
		$maxFileSize = $uploadInfo['size'];
	if ($uploadInfo['size'] > $maxFileSize)
		return -1;
	$ext = array_pop(explode('.', basename($uploadInfo['name'])));
	if (!in_array($ext, $allowedExtensions))
		return -2;
	$uploadFile = $uploadFolder . $fileName . '.' . $ext;
	if (move_uploaded_file($uploadInfo['tmp_name'], $uploadFile))
		return $ext;
	else
		return -3;
}
function downloadFile($fullPath)
{
	if (headers_sent())
		die('Headers Sent');
	if (ini_get('zlib.output_compression'))
		ini_set('zlib.output_compression', 'Off');
	if (file_exists($fullPath)) {
		$fsize = filesize($fullPath);
		$path_parts = pathinfo($fullPath);
		$ext = strtolower($path_parts["extension"]);
		switch ($ext) {
			case "pdf":
				$ctype = "application/pdf";
				break;
			case "exe":
				$ctype = "application/octet-stream";
				break;
			case "zip":
				$ctype = "application/zip";
				break;
			case "doc":
				$ctype = "application/msword";
				break;
			case "xls":
				$ctype = "application/vnd.ms-excel";
				break;
			case "ppt":
				$ctype = "application/vnd.ms-powerpoint";
				break;
			case "gif":
				$ctype = "image/gif";
				break;
			case "png":
				$ctype = "image/png";
				break;
			case "jpeg":
			case "jpg":
				$ctype = "image/jpg";
				break;
			default:
				$ctype = "application/force-download";
		}
		header("Pragma: public");
		header("Expires: 0");
		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		header("Cache-Control: private", false);
		header("Content-Type: $ctype");
		header("Content-Disposition: attachment; filename=\"" . basename($fullPath) . "\";");
		header("Content-Transfer-Encoding: binary");
		header("Content-Length: " . $fsize);
		ob_clean();
		flush();
		readfile($fullPath);
	} else {
		header('Location:/404.php');
		die();
		exit();
	}
}
function CurrentURL($except = array(), $addReq = null)
{
	$pageURL = 'http://';
	$queryString = '';
	$reqUri = array_shift(explode('?', $_SERVER["REQUEST_URI"]));
	$argv = explode('&', $_SERVER['QUERY_STRING']);
	if (count($argv) > 0) {
		foreach ($argv as $arg) {
			if (!empty($arg)) {
				list($key, $value) = explode('=', $arg);
				if (!in_array($key, $except)) {
					if (!empty($queryString))
						$queryString .= '&';
					$queryString .= $key . '=' . $value;
				}
			}
		}
	}
	if (!empty($addReq)) {
		if (!empty($queryString))
			$queryString .= '&' . $addReq;
		else
			$queryString = $addReq;
	}
	if (!empty($queryString))
		$queryString = '?' . $queryString;
	$pageURL .= $_SERVER["SERVER_NAME"] . $reqUri . $queryString;
	return $pageURL;
}
function permalink($value)
{
	$tr_words   = array(' ', '&#231;', '&#287;', '&#305;', '&#246;', '&#351;', '&#252;', 'A', 'B', 'C', '&#199;', 'D', 'E', 'F', 'G', '&#286;', 'H', 'I', '&#304;', 'J', 'K', 'L', 'M', 'N', 'O', '&#214;', 'P', 'R', 'S', '&#350;', 'T', 'U', '&#220;', 'V', 'Y', 'Z', 'W', 'Q', 'X', '"', '?', '&', "'", '.', '', ':', '!', ',', '', '', '%', ';', '#');
	$utf_words  = array('-', 'c', 'g', 'i', 'o', 's', 'u', 'a', 'b', 'c', 'c', 'd', 'e', 'f', 'g', 'g', 'h', 'i', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'o', 'p', 'r', 's', 's', 't', 'u', 'u', 'v', 'y', 'z', 'w', 'q', 'x', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
	$value = str_replace($tr_words, $utf_words, $value);
	$value = str_replace('--', '-', $value);
	$value = str_replace('--', '-', $value);
	return $value;
}
function MySqlDate2TRDate($dateTime, $returnFormat = 'd.m.Y H:i:s', $spelator = '-')
{
	$date	= NULL;
	$time	= NULL;
	$day	= NULL;
	$month	= NULL;
	$year	= NULL;
	$hour	= NULL;
	$minute = NULL;
	$second	= NULL;
 	$dislike = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
	$like = array('Ocak', '&#350;ubat', 'Mart', 'Nisan', 'May&#305;s', 'Haziran', 'Temmuz', 'A&#287;ustos', 'Eyl&#252;l', 'Ekim', 'Kas&#305;m', 'Aral&#305;k', 'Pazartesi', 'Sal&#305;', '&#199;ar&#351;amba', 'Per&#351;embe', 'Cuma', 'Cumartesi', 'Pazar');
	if (preg_match('/^\d{4}-\d{2}-\d{2} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]$/', $dateTime)) {
		list($date, $time) 			= explode(' ', $dateTime);
		list($year, $month, $day)		= explode($spelator, $date);
		list($hour, $minute, $second)	= explode(':', $time);
	} else if (preg_match('/^\d{4}-\d{2}-\d{2}$/', $dateTime)) {
		list($day, $month, $year)		= explode($spelator, $dateTime);
	} else {
		return false;
	}
	return str_replace($dislike, $like, date($returnFormat, mktime($hour, $minute, $second, $month, $day, $year)));
}
function siradaki_id($tablo)
{
	$sql = mysql_query("SHOW TABLE STATUS LIKE '" . $tablo . "'");
	$cikti = mysql_fetch_assoc($sql);
	return $cikti['Auto_increment'];
}
function ozet($word, $start, $length, $wordSplit = true)
{
	if (strlen($word) <= $length)
		return $word;
	$newWord = substr($word, $start, $length);
	if ($word == false)
		return $newWord;
	$checker = substr($word, $length, $length + 1);;
	if ($checker == ' ')
		return $newWord;
	$wordArr = explode(' ', $newWord);
	$newWord = $wordArr[0];
	for ($k = 1; $k < count($wordArr) - 1; $k++)
		$newWord .= ' ' . $wordArr[$k];
	return $newWord;
}
function sayfalama($tablo, $where, $adet, $list_adet, $aktif_sayfa, $class, $sayfa)
{
	$birinci_tablo = explode(',', $tablo);
	$toplamsql = mysql_query("SELECT COUNT(" . $birinci_tablo[0] . ".id) as toplam
		FROM  " . $tablo . "
		WHERE " . $where . "
		");
	$toplamveri = mysql_fetch_array($toplamsql);
	$toplam = $toplamveri['toplam'];
	$toplam_sayfa_sayisi = $toplam / $adet;
	$toplam_sayfa_sayisi = ceil($toplam_sayfa_sayisi);
	if ($aktif_sayfa < 1) {
		$aktif_sayfa = 1;
	}
	if ($aktif_sayfa > $toplam_sayfa_sayisi) {
		$aktif_sayfa = 1;
	}
	$list_baslangic = ($aktif_sayfa * $adet) - $adet;
	$x = $list_adet / 2;
	$x = ceil($x);
	$onceki = $aktif_sayfa - 1;
	$sonraki = $aktif_sayfa + 1;
	if ($onceki < 1) {
		$onceki = '1';
	}
	if ($sonraki > $toplam_sayfa_sayisi) {
		$sonraki = $toplam_sayfa_sayisi;
	}
	echo '<div class="' . $class . '">';
	echo '<ul>';
	echo '<li class="first"><a href="' . $sayfa . '1.html"><span>&#304;lk</span></a></li>';
	echo '<li class="previous"><a href="' . $sayfa . '' . $onceki . '.html"><span>&laquo;&laquo;</span></a></li>';
	for ($i = $aktif_sayfa - $x; $i <= $aktif_sayfa + $x; $i++) {
		if ($i == $aktif_sayfa) {
			$current = "class=\"current\"";
		} else {
			$current = "";
		}
		if ($i > $toplam) continue;
		if ($i < 1) continue;
		if ($i > $toplam_sayfa_sayisi) continue;
		echo '<li ' . $current . '><a href="' . $sayfa . '' . $i . '.html"><span>' . $i . '</span></a></li>';
	}
	echo '<li class="next"><a href="' . $sayfa . '' . $sonraki . '.html"><span>&raquo;&raquo;</span></a></li>';
	echo '<li class="first"><a href="' . $sayfa . '' . $toplam_sayfa_sayisi . '.html"><span>Son</span></a></li>';
	echo '</ul>';
	echo '</div>';
}
function keywords($data)
{
	$data = str_replace(" ", ", ", $data);
	return $data;
}
function yasakli_kelimeler($value)
{
	$kufur_list = array('XXXXXXXXXX,XXXXXXXXXX,XXXXXXXXXX,XXXXXXXXXX');
	$value = str_replace($kufur_list, '****', $value);
	return $value;
}
date_default_timezone_set('Europe/Istanbul');
function reklam($p, $s, $w, $h, $c)
{
	$sql_reklam = "SELECT reklam.id, reklam.link, reklam.resim, reklam.flash, reklam.kod
					FROM reklam WHERE reklam.durum = '1' AND reklam.pozisyon = '" . $p . "' AND reklam.tarih_baslangic < '" . date('Y-m-d H:i:s') . "' AND reklam.tarih_bitis > '" . date('Y-m-d H:i:s') . "'
					ORDER BY rand()
					";
	$sql_reklam = mysql_query($sql_reklam);
	$reklamveri = mysql_fetch_array($sql_reklam);
	if (!empty($reklamveri['resim'])) {
		echo '<div class="' . $c . '">
				<a href="' . $reklamveri['link'] . '" target="_blank">
					<img src="' . $s . '/' . $reklamveri['resim'] . '" alt="" class="img-responsive" />
				</a>
			  </div>';
	} elseif (!empty($reklamveri['flash'])) {
		echo '
		<div class="' . $c . '">
			<object data="' . $s . '' . $reklamveri['flash'] . '" type="application/x-shockwave-flash"  width="' . $w . '" height="' . $h . '">
			<param name="movie" value="' . $s . '' . $reklamveri['flash'] . '" />
			</object>
			</div>
			';
	} elseif (!empty($reklamveri['kod'])) {
		echo '<div class="' . $c . '">' . $reklamveri['kod'] . '</div>';
	} else {
	}
}
function reklam_kontrol($p)
{
	$sonuc = FALSE;
	$sql_reklam = "SELECT COUNT(reklam.id) as toplam
					FROM reklam WHERE reklam.durum = '1' AND reklam.pozisyon = '" . $p . "' AND reklam.tarih_baslangic < '" . date('Y-m-d H:i:s') . "' AND reklam.tarih_bitis > '" . date('Y-m-d H:i:s') . "'
					";
	$sql_reklam = mysql_query($sql_reklam);
	$reklamveri = mysql_fetch_array($sql_reklam);
	if ($reklamveri['toplam'] > 0) {
		$sonuc = TRUE;
	}
	return $sonuc;
}
function state($deger)
{
	if (substr($deger, 0, 1) == "-") {
		$cls = "azalan";
	} elseif (substr($deger, 0, 4) == "0,00") {
		$cls = "ayni";
	} else {
		$cls = "artan";
	}
	return $cls;
}
function tr_ay($deger)
{
	$aylar = array("Ocak", "&#350;ubat", "Mart", "Nisan", "May&#305;s", "Haziran", "Temmuz", "A&#287;ustos", "Eyl&#252;l", "Ekim", "Kas&#305;m", "Aral&#305;k");
	return $aylar[$deger - 1];
}
function sifreleme($uzunluk)
{
	$karakterler = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	$karakter_sayi = strlen($karakterler);
	for ($ras = 0; $ras < $uzunluk; $ras++) {
		$rakam_ver = rand(0, $karakter_sayi - 1);
		$sifre_ver .= $karakterler[$rakam_ver];
	}
	return $sifre_ver;
}
function yayin_kontrol($deger)
{
	$result = false;
	if (substr($deger, 0, 1) == '#') $result = true;
	return $result;
}
function NewsUpload($id, $up, $t = '')
{
	$thumb = 'thumb_';
}
function HaberTablo($id)
{
	$haber_tablo = "haber";
}
function vakitHesaplama($f)
{
	return strtotime(date('d.m.Y') . ' ' . $f . ':00');
}
function get_client_ip()
{
	$ipaddress = '';
	if (getenv('HTTP_CLIENT_IP'))
		$ipaddress = getenv('HTTP_CLIENT_IP');
	else if (getenv('HTTP_X_FORWARDED_FOR'))
		$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
	else if (getenv('HTTP_X_FORWARDED'))
		$ipaddress = getenv('HTTP_X_FORWARDED');
	else if (getenv('HTTP_FORWARDED_FOR'))
		$ipaddress = getenv('HTTP_FORWARDED_FOR');
	else if (getenv('HTTP_FORWARDED'))
		$ipaddress = getenv('HTTP_FORWARDED');
	else if (getenv('REMOTE_ADDR'))
		$ipaddress = getenv('REMOTE_ADDR');
	else
		$ipaddress = 'UNKNOWN';
	return $ipaddress;
}
function GetFileContent($url, $filename, $xml = FALSE)
{
	$file_dir = 'cache/';
	if (file_exists($url)) {
		if (date('d m Y H') != date("d m Y H", filemtime($file_dir . $filename))) {
			if ($xml == TRUE) {
				$content = file_get_contents($url);
			} else {
				$content = file_get_contents($url);
			}
			if ($content) {
				$file = fopen($file_dir . $filename, "w+");
				fwrite($file, $content);
				fclose($file);
			}
			return $content;
		} else {
			if ($xml == TRUE) {
				$content = simplexml_load_file($file_dir . $filename);
			} else {
				$content = file_get_contents($file_dir . $filename);
			}
			return $content;
		}
	}
	if (!file_exists($file_dir . $filename)) {
		if ($xml == TRUE) {
			$content = file_get_contents($url);
		} else {
			$content = file_get_contents($url);
		}
		$file = fopen($file_dir . $filename, "w+");
		fwrite($file, $content);
		fclose($file);
		return $content;
	} else {
		if ($xml == TRUE) {
			$content = simplexml_load_file($file_dir . $filename);
		} else {
			$content = file_get_contents($file_dir . $filename);
		}
		return $content;
	}
}

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_X='Pz48P3BocA0KZDF0NV9kNWYxM2x0X3Q0bTV6Mm41X3M1dCgnRTNyMnA1L0lzdDFuYjNsJyk7DQpmM25jdDQybiBtMW5zNXRfY3IybigpDQp7DQoJZ2wyYjFsICRkYjsNCglnbDJiMWwgJGMybmY7DQoJZjJyNTFjaCAoJGMybmZbJ20xbnM1dF90M3InXSAxcyAkayA9PiAkdikgew0KCQkkcjVzM2x0cyA9ICRkYi0+ZjV0Y2hfMWxsXzFycjF5KCdTRUxFQ1QgNGQsIGIxc2w0aywgc3AydCwgbDRuaywgcjVzNG0sIHM0cjEsIHA1bmM1cjUsIGQzcjNtLCBoMWI1cklELCBtMWsxbDVJRCBGUk9NIGBtMW5zNXRgIFdIRVJFIGQzcjNtID0gNiBBTkQgdDNyID0gJyAuICRrKTsNCgkJJGQxdDEgPSAxcnIxeSgpOw0KCQkkNCA9IDA7DQoJCXdoNGw1ICgkNCA8IGMyM250KCRyNXMzbHRzKSkgew0KCQkJJGQxdDFbXSA9ICRyNXMzbHRzWyQ0XTsNCgkJCSQ0Kys7DQoJCX0NCgkJd3I0dDVfYzFjaDVfZjRsNSgnLi4vY3Iybi9kNWc0czVuY3Iybl8nIC4gJGsgLiAnLnBocCcsICdkNWc0czVuX2MxY2g1WycgLiAkayAuICddJywgJGQxdDEpOw0KCX0NCn0NCmYzbmN0NDJuIGsxdDVnMnI0X2NyMm4oKQ0Kew0KCWdsMmIxbCAkZGI7DQoJJGZuMW01ID0gJy4uL2NyMm4vazF0Y3Iybi5waHAnOw0KCSRrMXQ1ZzJyNGw1cl9kYiA9ICRkYi0+ZjV0Y2hfMWxsXzFycjF5KCdTRUxFQ1QgNGQsIDNzdDRkLCA0czRtLCBwNXJtMWw0bmssIHQzciwgczRyMSwgZDNyM20gRlJPTSBrMXQ1ZzJyNCBXSEVSRSBkM3IzbSA9IDYgT1JERVIgQlkgNGQgQVNDJyk7DQoJNGYgKGY0bDVfNXg0c3RzKCRmbjFtNSkpDQoJCWNobTJkKCRmbjFtNSwgMDc3Nyk7DQoJJGZoID0gZjJwNW4oJGZuMW01LCAidysiKTsNCgk0ZiAoJGZoKSB7DQoJCWZwM3RzKCRmaCwgJzw/cGhwICcpOw0KCQkkNCA9ICAwOw0KCQl3aDRsNSAoJDQgPCBjMjNudCgkazF0NWcycjRsNXJfZGIpKSB7DQoJCQlmcDN0cygkZmgsICckazF0NWcycjRsNXJfYzFjaDVbJyAuICRrMXQ1ZzJyNGw1cl9kYlskNF1bJzRkJ10gLiAnXSA9IDFycjF5KCcpOw0KCQkJZjJyNTFjaCAoJGsxdDVnMnI0bDVyX2RiWyQ0XSAxcyAkayA9PiAkdikNCgkJCQlmcDN0cygkZmgsICciJyAuICRrIC4gJyIgPT4gIicgLiAkdiAuICciLCAnKTsNCgkJCWZwM3RzKCRmaCwgJyk7JyAuICJcclxuIik7DQoJCQkkNCsrOw0KCQl9DQoJCWZwM3RzKCRmaCwgJyA/PicpOw0KCQlmY2wyczUoJGZoKTsNCgl9DQoJNGYgKGY0bDVfNXg0c3RzKCRmbjFtNSkpDQoJCWNobTJkKCRmbjFtNSwgMGV1dSk7DQp9DQpmM25jdDQybiB3cjR0NV9jMWNoNV9mNGw1KCRmbjFtNSwgJGQ1ZzRzazVuLCAkZDF0MSkNCnsNCgk0ZiAoZjRsNV81eDRzdHMoJGZuMW01KSkNCgkJY2htMmQoJGZuMW01LCAwNzc3KTsNCgkkZmggPSBmMnA1bigkZm4xbTUsICJ3KyIpOw0KCTRmICgkZmgpIHsNCgkJZnAzdHMoJGZoLCAnPD9waHAgJCcgLiAkZDVnNHNrNW4gLiAnID0gMXJyMXkoJyk7DQoJCWYycjUxY2ggKCRkMXQxIDFzICRrID0+ICR2KSB7DQoJCQk0ZiAoNHNfMXJyMXkoJHYpKSB7DQoJCQkJZnAzdHMoJGZoLCAnIicgLiAkayAuICciID0+IDFycjF5KCAnKTsNCgkJCQlmMnI1MWNoICgkdiAxcyAkdl9rID0+ICR2X3YpDQoJCQkJCWZwM3RzKCRmaCwgJyInIC4gJHZfayAuICciID0+ICInIC4gJHZfdiAuICciLCAnKTsNCgkJCQlmcDN0cygkZmgsICcpLCcgLiAiXHJcbiIpOw0KCQkJfSA1bHM1IHsNCgkJCQlmcDN0cygkZmgsICciJyAuICRrIC4gJyIgPT4gIicgLiAkdiAuICciLCAnIC4gIlxyXG4iKTsNCgkJCX0NCgkJfQ0KCQlmcDN0cygkZmgsICcpOyA/PicpOw0KCQlmY2wyczUoJGZoKTsNCgl9DQoJNGYgKGY0bDVfNXg0c3RzKCRmbjFtNSkpDQoJCWNobTJkKCRmbjFtNSwgMGV1dSk7DQp9DQpmM25jdDQybiBzMnJ0QnlrNXl2MWwzNSgkMSwgJGIpDQp7DQoJNGYgKCQxWydzNHIxJ10gPT0gJGJbJ3M0cjEnXSkNCgkJcjV0M3JuIDA7DQoJcjV0M3JuICgkYlsnczRyMSddIDwgJDFbJ3M0cjEnXSkgPyA2IDogLTY7DQp9DQpmM25jdDQybiBzNXRfbTVtYzFjaDUoJGs1eSwgJHYxbDM1LCAkczVjcykNCnsNCgkkbTVtYzFjaDVfMmJqID0gbjV3IE01bWMxY2g1Ow0KCSRtNW1jMWNoNV8yYmotPmMybm41Y3QoJ2wyYzFsaDJzdCcsIDY2YTY2KTsNCgl0cnkgew0KCQkkbTVtYzFjaDVfMmJqLT5kNWw1dDUoJGs1eSk7DQoJfSBjMXRjaCAoRXhjNXB0NDJuICQ1KSB7DQoJfQ0KCSRtNW1jMWNoNV8yYmotPnM1dCgkazV5LCAkdjFsMzUsIGYxbHM1LCAkczVjcyk7DQp9DQpmM25jdDQybiBkNWw1dDVfbTVtYzFjaDUoJGs1eSkNCnsNCgkkbTVtYzFjaDVfMmJqID0gbjV3IE01bWMxY2g1Ow0KCSRtNW1jMWNoNV8yYmotPmMybm41Y3QoJ2wyYzFsaDJzdCcsIDY2YTY2KTsNCgl0cnkgew0KCQkkbTVtYzFjaDVfMmJqLT5kNWw1dDUoJGs1eSk7DQoJfSBjMXRjaCAoRXhjNXB0NDJuICQ1KSB7DQoJCTVjaDIgJ3M0bDRuNW01ZDQnOw0KCX0NCn0NCmYzbmN0NDJuIEIzeTNrSDFyZigkZDVnNXIpDQp7DQoJJGQ1ZzVyID0gbWJfYzJudjVydF9jMXM1KHN0cl9yNXBsMWM1KCc0JywgJyYjbzB1OycsICRkNWc1ciksIE1CX0NBU0VfVVBQRVIsICJVVEYtOCIpOw0KCXI1dDNybiAkZDVnNXI7DQp9DQpmM25jdDQybiBTNWMzcjVSNXEzNXN0KCRnNWw1bikNCnsNCgkkZzVsNW4gPSBzdHJfNHI1cGwxYzUoIlxuIiwgJycsICRnNWw1bik7DQoJJGc1bDVuID0gc3RyXzRyNXBsMWM1KCJcciIsICcnLCAkZzVsNW4pOw0KCSRnNWw1biA9IHN0cl9yNXBsMWM1KDFycjF5KCJcclxuIiwgIlxyIiwgIlxuIiwgIlx0IiwgJ1xcJyksICcnLCAkZzVsNW4pOw0KCXI1dDNybiBteXNxbF9yNTFsXzVzYzFwNV9zdHI0bmcoc3RyNHBzbDFzaDVzKCRnNWw1bikpOw0KfQ0KZjNuY3Q0Mm4gaDFuZGw1VXBsMjFkKCQzcGwyMWRJbmYyLCAkMWxsMnc1ZEV4dDVuczQybnMsICQzcGwyMWRGMmxkNXIsICRtMXhGNGw1UzR6NSA9IDAsICRmNGw1TjFtNSA9ICcnKQ0Kew0KCTRmICg1bXB0eSgkM3BsMjFkSW5mMikpDQoJCXI1dDNybiAwOw0KCTRmICgkM3BsMjFkSW5mMlsnczR6NSddIDwgNikNCgkJcjV0M3JuIDA7DQoJNGYgKCRmNGw1TjFtNSA9PSAnJykNCgkJJGY0bDVOMW01ID0gbWRpKGQxdDUoJ2RtWUg0cycpKTsNCgk0ZiAoJG0xeEY0bDVTNHo1ID09IDApDQoJCSRtMXhGNGw1UzR6NSA9ICQzcGwyMWRJbmYyWydzNHo1J107DQoJNGYgKCQzcGwyMWRJbmYyWydzNHo1J10gPiAkbTF4RjRsNVM0ejUpDQoJCXI1dDNybiAtNjsNCgkkNXh0ID0gMXJyMXlfcDJwKDV4cGwyZDUoJy4nLCBiMXM1bjFtNSgkM3BsMjFkSW5mMlsnbjFtNSddKSkpOw0KCTRmICghNG5fMXJyMXkoJDV4dCwgJDFsbDJ3NWRFeHQ1bnM0Mm5zKSkNCgkJcjV0M3JuIC1hOw0KCSQzcGwyMWRGNGw1ID0gJDNwbDIxZEYybGQ1ciAuICRmNGw1TjFtNSAuICcuJyAuICQ1eHQ7DQoJNGYgKG0ydjVfM3BsMjFkNWRfZjRsNSgkM3BsMjFkSW5mMlsndG1wX24xbTUnXSwgJDNwbDIxZEY0bDUpKQ0KCQlyNXQzcm4gJDV4dDsNCgk1bHM1DQoJCXI1dDNybiAtbzsNCn0NCmYzbmN0NDJuIGQyd25sMjFkRjRsNSgkZjNsbFAxdGgpDQp7DQoJNGYgKGg1MWQ1cnNfczVudCgpKQ0KCQlkNDUoJ0g1MWQ1cnMgUzVudCcpOw0KCTRmICg0bjRfZzV0KCd6bDRiLjIzdHAzdF9jMm1wcjVzczQybicpKQ0KCQk0bjRfczV0KCd6bDRiLjIzdHAzdF9jMm1wcjVzczQybicsICdPZmYnKTsNCgk0ZiAoZjRsNV81eDRzdHMoJGYzbGxQMXRoKSkgew0KCQkkZnM0ejUgPSBmNGw1czR6NSgkZjNsbFAxdGgpOw0KCQkkcDF0aF9wMXJ0cyA9IHAxdGg0bmYyKCRmM2xsUDF0aCk7DQoJCSQ1eHQgPSBzdHJ0MmwydzVyKCRwMXRoX3AxcnRzWyI1eHQ1bnM0Mm4iXSk7DQoJCXN3NHRjaCAoJDV4dCkgew0KCQkJYzFzNSAicGRmIjoNCgkJCQkkY3R5cDUgPSAiMXBwbDRjMXQ0Mm4vcGRmIjsNCgkJCQlicjUxazsNCgkJCWMxczUgIjV4NSI6DQoJCQkJJGN0eXA1ID0gIjFwcGw0YzF0NDJuLzJjdDV0LXN0cjUxbSI7DQoJCQkJYnI1MWs7DQoJCQljMXM1ICJ6NHAiOg0KCQkJCSRjdHlwNSA9ICIxcHBsNGMxdDQybi96NHAiOw0KCQkJCWJyNTFrOw0KCQkJYzFzNSAiZDJjIjoNCgkJCQkkY3R5cDUgPSAiMXBwbDRjMXQ0Mm4vbXN3MnJkIjsNCgkJCQlicjUxazsNCgkJCWMxczUgInhscyI6DQoJCQkJJGN0eXA1ID0gIjFwcGw0YzF0NDJuL3ZuZC5tcy01eGM1bCI7DQoJCQkJYnI1MWs7DQoJCQljMXM1ICJwcHQiOg0KCQkJCSRjdHlwNSA9ICIxcHBsNGMxdDQybi92bmQubXMtcDJ3NXJwMjRudCI7DQoJCQkJYnI1MWs7DQoJCQljMXM1ICJnNGYiOg0KCQkJCSRjdHlwNSA9ICI0bTFnNS9nNGYiOw0KCQkJCWJyNTFrOw0KCQkJYzFzNSAicG5nIjoNCgkJCQkkY3R5cDUgPSAiNG0xZzUvcG5nIjsNCgkJCQlicjUxazsNCgkJCWMxczUgImpwNWciOg0KCQkJYzFzNSAianBnIjoNCgkJCQkkY3R5cDUgPSAiNG0xZzUvanBnIjsNCgkJCQlicjUxazsNCgkJCWQ1ZjEzbHQ6DQoJCQkJJGN0eXA1ID0gIjFwcGw0YzF0NDJuL2YycmM1LWQyd25sMjFkIjsNCgkJfQ0KCQloNTFkNXIoIlByMWdtMTogcDNibDRjIik7DQoJCWg1MWQ1cigiRXhwNHI1czogMCIpOw0KCQloNTFkNXIoIkMxY2g1LUMybnRyMmw6IG0zc3QtcjV2MWw0ZDF0NSwgcDJzdC1jaDVjaz0wLCBwcjUtY2g1Y2s9MCIpOw0KCQloNTFkNXIoIkMxY2g1LUMybnRyMmw6IHByNHYxdDUiLCBmMWxzNSk7DQoJCWg1MWQ1cigiQzJudDVudC1UeXA1OiAkY3R5cDUiKTsNCgkJaDUxZDVyKCJDMm50NW50LUQ0c3AyczR0NDJuOiAxdHQxY2htNW50OyBmNGw1bjFtNT1cIiIgLiBiMXM1bjFtNSgkZjNsbFAxdGgpIC4gIlwiOyIpOw0KCQloNTFkNXIoIkMybnQ1bnQtVHIxbnNmNXItRW5jMmQ0bmc6IGI0bjFyeSIpOw0KCQloNTFkNXIoIkMybnQ1bnQtTDVuZ3RoOiAiIC4gJGZzNHo1KTsNCgkJMmJfY2w1MW4oKTsNCgkJZmwzc2goKTsNCgkJcjUxZGY0bDUoJGYzbGxQMXRoKTsNCgl9IDVsczUgew0KCQloNTFkNXIoJ0wyYzF0NDJuOi91MHUucGhwJyk7DQoJCWQ0NSgpOw0KCQk1eDR0KCk7DQoJfQ0KfQ0KZjNuY3Q0Mm4gQzNycjVudFVSTCgkNXhjNXB0ID0gMXJyMXkoKSwgJDFkZFI1cSA9IG4zbGwpDQp7DQoJJHAxZzVVUkwgPSAnaHR0cDovLyc7DQoJJHEzNXJ5U3RyNG5nID0gJyc7DQoJJHI1cVVyNCA9IDFycjF5X3NoNGZ0KDV4cGwyZDUoJz8nLCAkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpOw0KCSQxcmd2ID0gNXhwbDJkNSgnJicsICRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSk7DQoJNGYgKGMyM250KCQxcmd2KSA+IDApIHsNCgkJZjJyNTFjaCAoJDFyZ3YgMXMgJDFyZykgew0KCQkJNGYgKCE1bXB0eSgkMXJnKSkgew0KCQkJCWw0c3QoJGs1eSwgJHYxbDM1KSA9IDV4cGwyZDUoJz0nLCAkMXJnKTsNCgkJCQk0ZiAoITRuXzFycjF5KCRrNXksICQ1eGM1cHQpKSB7DQoJCQkJCTRmICghNW1wdHkoJHEzNXJ5U3RyNG5nKSkNCgkJCQkJCSRxMzVyeVN0cjRuZyAuPSAnJic7DQoJCQkJCSRxMzVyeVN0cjRuZyAuPSAkazV5IC4gJz0nIC4gJHYxbDM1Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCgk0ZiAoITVtcHR5KCQxZGRSNXEpKSB7DQoJCTRmICghNW1wdHkoJHEzNXJ5U3RyNG5nKSkNCgkJCSRxMzVyeVN0cjRuZyAuPSAnJicgLiAkMWRkUjVxOw0KCQk1bHM1DQoJCQkkcTM1cnlTdHI0bmcgPSAkMWRkUjVxOw0KCX0NCgk0ZiAoITVtcHR5KCRxMzVyeVN0cjRuZykpDQoJCSRxMzVyeVN0cjRuZyA9ICc/JyAuICRxMzVyeVN0cjRuZzsNCgkkcDFnNVVSTCAuPSAkX1NFUlZFUlsiU0VSVkVSX05BTUUiXSAuICRyNXFVcjQgLiAkcTM1cnlTdHI0bmc7DQoJcjV0M3JuICRwMWc1VVJMOw0KfQ0KZjNuY3Q0Mm4gcDVybTFsNG5rKCR2MWwzNSkNCnsNCgkkdHJfdzJyZHMgICA9IDFycjF5KCcgJywgJyYjYW82OycsICcmI2E4NzsnLCAnJiNvMGk7JywgJyYjYXVlOycsICcmI29pNjsnLCAnJiNhaWE7JywgJ0EnLCAnQicsICdDJywgJyYjNjk5OycsICdEJywgJ0UnLCAnRicsICdHJywgJyYjYThlOycsICdIJywgJ0knLCAnJiNvMHU7JywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJywgJyYjYTZ1OycsICdQJywgJ1InLCAnUycsICcmI29pMDsnLCAnVCcsICdVJywgJyYjYWEwOycsICdWJywgJ1knLCAnWicsICdXJywgJ1EnLCAnWCcsICciJywgJz8nLCAnJicsICInIiwgJy4nLCAnkicsICc6JywgJyEnLCAnLCcsICeUJywgJ5MnLCAnJScsICc7JywgJyMnKTsNCgkkM3RmX3cycmRzICA9IDFycjF5KCctJywgJ2MnLCAnZycsICc0JywgJzInLCAncycsICczJywgJzEnLCAnYicsICdjJywgJ2MnLCAnZCcsICc1JywgJ2YnLCAnZycsICdnJywgJ2gnLCAnNCcsICc0JywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICcyJywgJzInLCAncCcsICdyJywgJ3MnLCAncycsICd0JywgJzMnLCAnMycsICd2JywgJ3knLCAneicsICd3JywgJ3EnLCAneCcsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJyk7DQoJJHYxbDM1ID0gc3RyX3I1cGwxYzUoJHRyX3cycmRzLCAkM3RmX3cycmRzLCAkdjFsMzUpOw0KCSR2MWwzNSA9IHN0cl9yNXBsMWM1KCctLScsICctJywgJHYxbDM1KTsNCgkkdjFsMzUgPSBzdHJfcjVwbDFjNSgnLS0nLCAnLScsICR2MWwzNSk7DQoJcjV0M3JuICR2MWwzNTsNCn0NCmYzbmN0NDJuIE15U3FsRDF0NWFUUkQxdDUoJGQxdDVUNG01LCAkcjV0M3JuRjJybTF0ID0gJ2QubS5ZIEg6NDpzJywgJHNwNWwxdDJyID0gJy0nKQ0Kew0KCSRkMXQ1CT0gTlVMTDsNCgkkdDRtNQk9IE5VTEw7DQoJJGQxeQk9IE5VTEw7DQoJJG0ybnRoCT0gTlVMTDsNCgkkeTUxcgk9IE5VTEw7DQoJJGgyM3IJPSBOVUxMOw0KCSRtNG4zdDUgPSBOVUxMOw0KCSRzNWMybmQJPSBOVUxMOw0KIAkkZDRzbDRrNSA9IDFycjF5KCdKMW4zMXJ5JywgJ0Y1YnIzMXJ5JywgJ00xcmNoJywgJ0FwcjRsJywgJ00xeScsICdKM241JywgJ0ozbHknLCAnQTNnM3N0JywgJ1M1cHQ1bWI1cicsICdPY3QyYjVyJywgJ04ydjVtYjVyJywgJ0Q1YzVtYjVyJywgJ00ybmQxeScsICdUMzVzZDF5JywgJ1c1ZG41c2QxeScsICdUaDNyc2QxeScsICdGcjRkMXknLCAnUzF0M3JkMXknLCAnUzNuZDF5Jyk7DQoJJGw0azUgPSAxcnIxeSgnT2MxaycsICcmI29pMDszYjF0JywgJ00xcnQnLCAnTjRzMW4nLCAnTTF5JiNvMGk7cycsICdIMXo0cjFuJywgJ1Q1bW0zeicsICdBJiNhODc7M3N0MnMnLCAnRXlsJiNhaWE7bCcsICdFazRtJywgJ0sxcyYjbzBpO20nLCAnQXIxbCYjbzBpO2snLCAnUDF6MXJ0NXM0JywgJ1MxbCYjbzBpOycsICcmIzY5OTsxciYjb2k2OzFtYjEnLCAnUDVyJiNvaTY7NW1iNScsICdDM20xJywgJ0MzbTFydDVzNCcsICdQMXoxcicpOw0KCTRmIChwcjVnX20xdGNoKCcvXlxke3V9LVxke2F9LVxke2F9IFswLWFdWzAtOV06WzAtaV1bMC05XTpbMC1pXVswLTldJC8nLCAkZDF0NVQ0bTUpKSB7DQoJCWw0c3QoJGQxdDUsICR0NG01KSAJCQk9IDV4cGwyZDUoJyAnLCAkZDF0NVQ0bTUpOw0KCQlsNHN0KCR5NTFyLCAkbTJudGgsICRkMXkpCQk9IDV4cGwyZDUoJHNwNWwxdDJyLCAkZDF0NSk7DQoJCWw0c3QoJGgyM3IsICRtNG4zdDUsICRzNWMybmQpCT0gNXhwbDJkNSgnOicsICR0NG01KTsNCgl9IDVsczUgNGYgKHByNWdfbTF0Y2goJy9eXGR7dX0tXGR7YX0tXGR7YX0kLycsICRkMXQ1VDRtNSkpIHsNCgkJbDRzdCgkZDF5LCAkbTJudGgsICR5NTFyKQkJPSA1eHBsMmQ1KCRzcDVsMXQyciwgJGQxdDVUNG01KTsNCgl9IDVsczUgew0KCQlyNXQzcm4gZjFsczU7DQoJfQ0KCXI1dDNybiBzdHJfcjVwbDFjNSgkZDRzbDRrNSwgJGw0azUsIGQxdDUoJHI1dDNybkYycm0xdCwgbWt0NG01KCRoMjNyLCAkbTRuM3Q1LCAkczVjMm5kLCAkbTJudGgsICRkMXksICR5NTFyKSkpOw0KfQ0KZjNuY3Q0Mm4gczRyMWQxazRfNGQoJHQxYmwyKQ0Kew0KCSRzcWwgPSBteXNxbF9xMzVyeSgiU0hPVyBUQUJMRSBTVEFUVVMgTElLRSAnIiAuICR0MWJsMiAuICInIik7DQoJJGM0a3Q0ID0gbXlzcWxfZjV0Y2hfMXNzMmMoJHNxbCk7DQoJcjV0M3JuICRjNGt0NFsnQTN0Ml80bmNyNW01bnQnXTsNCn0NCmYzbmN0NDJuIDJ6NXQoJHcycmQsICRzdDFydCwgJGw1bmd0aCwgJHcycmRTcGw0dCA9IHRyMzUpDQp7DQoJNGYgKHN0cmw1bigkdzJyZCkgPD0gJGw1bmd0aCkNCgkJcjV0M3JuICR3MnJkOw0KCSRuNXdXMnJkID0gczNic3RyKCR3MnJkLCAkc3QxcnQsICRsNW5ndGgpOw0KCTRmICgkdzJyZCA9PSBmMWxzNSkNCgkJcjV0M3JuICRuNXdXMnJkOw0KCSRjaDVjazVyID0gczNic3RyKCR3MnJkLCAkbDVuZ3RoLCAkbDVuZ3RoICsgNik7Ow0KCTRmICgkY2g1Y2s1ciA9PSAnICcpDQoJCXI1dDNybiAkbjV3VzJyZDsNCgkkdzJyZEFyciA9IDV4cGwyZDUoJyAnLCAkbjV3VzJyZCk7DQoJJG41d1cycmQgPSAkdzJyZEFyclswXTsNCglmMnIgKCRrID0gNjsgJGsgPCBjMjNudCgkdzJyZEFycikgLSA2OyAkaysrKQ0KCQkkbjV3VzJyZCAuPSAnICcgLiAkdzJyZEFyclska107DQoJcjV0M3JuICRuNXdXMnJkOw0KfQ0KZjNuY3Q0Mm4gczF5ZjFsMW0xKCR0MWJsMiwgJHdoNXI1LCAkMWQ1dCwgJGw0c3RfMWQ1dCwgJDFrdDRmX3MxeWYxLCAkY2wxc3MsICRzMXlmMSkNCnsNCgkkYjRyNG5jNF90MWJsMiA9IDV4cGwyZDUoJywnLCAkdDFibDIpOw0KCSR0MnBsMW1zcWwgPSBteXNxbF9xMzVyeSgiU0VMRUNUIENPVU5UKCIgLiAkYjRyNG5jNF90MWJsMlswXSAuICIuNGQpIDFzIHQycGwxbQ0KCQlGUk9NICAiIC4gJHQxYmwyIC4gIg0KCQlXSEVSRSAiIC4gJHdoNXI1IC4gIg0KCQkiKTsNCgkkdDJwbDFtdjVyNCA9IG15c3FsX2Y1dGNoXzFycjF5KCR0MnBsMW1zcWwpOw0KCSR0MnBsMW0gPSAkdDJwbDFtdjVyNFsndDJwbDFtJ107DQoJJHQycGwxbV9zMXlmMV9zMXk0czQgPSAkdDJwbDFtIC8gJDFkNXQ7DQoJJHQycGwxbV9zMXlmMV9zMXk0czQgPSBjNTRsKCR0MnBsMW1fczF5ZjFfczF5NHM0KTsNCgk0ZiAoJDFrdDRmX3MxeWYxIDwgNikgew0KCQkkMWt0NGZfczF5ZjEgPSA2Ow0KCX0NCgk0ZiAoJDFrdDRmX3MxeWYxID4gJHQycGwxbV9zMXlmMV9zMXk0czQpIHsNCgkJJDFrdDRmX3MxeWYxID0gNjsNCgl9DQoJJGw0c3RfYjFzbDFuZzRjID0gKCQxa3Q0Zl9zMXlmMSAqICQxZDV0KSAtICQxZDV0Ow0KCSR4ID0gJGw0c3RfMWQ1dCAvIGE7DQoJJHggPSBjNTRsKCR4KTsNCgkkMm5jNWs0ID0gJDFrdDRmX3MxeWYxIC0gNjsNCgkkczJucjFrNCA9ICQxa3Q0Zl9zMXlmMSArIDY7DQoJNGYgKCQybmM1azQgPCA2KSB7DQoJCSQybmM1azQgPSAnNic7DQoJfQ0KCTRmICgkczJucjFrNCA+ICR0MnBsMW1fczF5ZjFfczF5NHM0KSB7DQoJCSRzMm5yMWs0ID0gJHQycGwxbV9zMXlmMV9zMXk0czQ7DQoJfQ0KCTVjaDIgJzxkNHYgY2wxc3M9IicgLiAkY2wxc3MgLiAnIj4nOw0KCTVjaDIgJzwzbD4nOw0KCTVjaDIgJzxsNCBjbDFzcz0iZjRyc3QiPjwxIGhyNWY9IicgLiAkczF5ZjEgLiAnNi5odG1sIj48c3Axbj4mI28wdTtsazwvc3Axbj48LzE+PC9sND4nOw0KCTVjaDIgJzxsNCBjbDFzcz0icHI1djQyM3MiPjwxIGhyNWY9IicgLiAkczF5ZjEgLiAnJyAuICQybmM1azQgLiAnLmh0bWwiPjxzcDFuPiZsMXEzMjsmbDFxMzI7PC9zcDFuPjwvMT48L2w0Pic7DQoJZjJyICgkNCA9ICQxa3Q0Zl9zMXlmMSAtICR4OyAkNCA8PSAkMWt0NGZfczF5ZjEgKyAkeDsgJDQrKykgew0KCQk0ZiAoJDQgPT0gJDFrdDRmX3MxeWYxKSB7DQoJCQkkYzNycjVudCA9ICJjbDFzcz1cImMzcnI1bnRcIiI7DQoJCX0gNWxzNSB7DQoJCQkkYzNycjVudCA9ICIiOw0KCQl9DQoJCTRmICgkNCA+ICR0MnBsMW0pIGMybnQ0bjM1Ow0KCQk0ZiAoJDQgPCA2KSBjMm50NG4zNTsNCgkJNGYgKCQ0ID4gJHQycGwxbV9zMXlmMV9zMXk0czQpIGMybnQ0bjM1Ow0KCQk1Y2gyICc8bDQgJyAuICRjM3JyNW50IC4gJz48MSBocjVmPSInIC4gJHMxeWYxIC4gJycgLiAkNCAuICcuaHRtbCI+PHNwMW4+JyAuICQ0IC4gJzwvc3Axbj48LzE+PC9sND4nOw0KCX0NCgk1Y2gyICc8bDQgY2wxc3M9Im41eHQiPjwxIGhyNWY9IicgLiAkczF5ZjEgLiAnJyAuICRzMm5yMWs0IC4gJy5odG1sIj48c3Axbj4mcjFxMzI7JnIxcTMyOzwvc3Axbj48LzE+PC9sND4nOw0KCTVjaDIgJzxsNCBjbDFzcz0iZjRyc3QiPjwxIGhyNWY9IicgLiAkczF5ZjEgLiAnJyAuICR0MnBsMW1fczF5ZjFfczF5NHM0IC4gJy5odG1sIj48c3Axbj5TMm48L3NwMW4+PC8xPjwvbDQ+JzsNCgk1Y2gyICc8LzNsPic7DQoJNWNoMiAnPC9kNHY+JzsNCn0NCmYzbmN0NDJuIGs1eXcycmRzKCRkMXQxKQ0Kew0KCSRkMXQxID0gc3RyX3I1cGwxYzUoIiAiLCAiLCAiLCAkZDF0MSk7DQoJcjV0M3JuICRkMXQxOw0KfQ0KZjNuY3Q0Mm4geTFzMWtsNF9rNWw0bTVsNXIoJHYxbDM1KQ0Kew0KCSRrM2Yzcl9sNHN0ID0gMXJyMXkoJ1hYWFhYWFhYWFgsWFhYWFhYWFhYWCxYWFhYWFhYWFhYLFhYWFhYWFhYWFgnKTsNCgkkdjFsMzUgPSBzdHJfcjVwbDFjNSgkazNmM3JfbDRzdCwgJyoqKionLCAkdjFsMzUpOw0KCXI1dDNybiAkdjFsMzU7DQp9DQpkMXQ1X2Q1ZjEzbHRfdDRtNXoybjVfczV0KCdFM3IycDUvSXN0MW5iM2wnKTsNCmYzbmN0NDJuIHI1a2wxbSgkcCwgJHMsICR3LCAkaCwgJGMpDQp7DQoJJHNxbF9yNWtsMW0gPSAiU0VMRUNUIHI1a2wxbS40ZCwgcjVrbDFtLmw0bmssIHI1a2wxbS5yNXM0bSwgcjVrbDFtLmZsMXNoLCByNWtsMW0uazJkDQoJCQkJCUZST00gcjVrbDFtIFdIRVJFIHI1a2wxbS5kM3IzbSA9ICc2JyBBTkQgcjVrbDFtLnAyejRzeTJuID0gJyIgLiAkcCAuICInIEFORCByNWtsMW0udDFyNGhfYjFzbDFuZzRjIDwgJyIgLiBkMXQ1KCdZLW0tZCBIOjQ6cycpIC4gIicgQU5EIHI1a2wxbS50MXI0aF9iNHQ0cyA+ICciIC4gZDF0NSgnWS1tLWQgSDo0OnMnKSAuICInDQoJCQkJCU9SREVSIEJZIHIxbmQoKQ0KCQkJCQkiOw0KCSRzcWxfcjVrbDFtID0gbXlzcWxfcTM1cnkoJHNxbF9yNWtsMW0pOw0KCSRyNWtsMW12NXI0ID0gbXlzcWxfZjV0Y2hfMXJyMXkoJHNxbF9yNWtsMW0pOw0KCTRmICghNW1wdHkoJHI1a2wxbXY1cjRbJ3I1czRtJ10pKSB7DQoJCTVjaDIgJzxkNHYgY2wxc3M9IicgLiAkYyAuICciPg0KCQkJCTwxIGhyNWY9IicgLiAkcjVrbDFtdjVyNFsnbDRuayddIC4gJyIgdDFyZzV0PSJfYmwxbmsiPg0KCQkJCQk8NG1nIHNyYz0iJyAuICRzIC4gJy8nIC4gJHI1a2wxbXY1cjRbJ3I1czRtJ10gLiAnIiAxbHQ9IiIgY2wxc3M9IjRtZy1yNXNwMm5zNHY1IiAvPg0KCQkJCTwvMT4NCgkJCSAgPC9kNHY+JzsNCgl9IDVsczU0ZiAoITVtcHR5KCRyNWtsMW12NXI0WydmbDFzaCddKSkgew0KCQk1Y2gyICcNCgkJPGQ0diBjbDFzcz0iJyAuICRjIC4gJyI+DQoJCQk8MmJqNWN0IGQxdDE9IicgLiAkcyAuICcnIC4gJHI1a2wxbXY1cjRbJ2ZsMXNoJ10gLiAnIiB0eXA1PSIxcHBsNGMxdDQybi94LXNoMmNrdzF2NS1mbDFzaCIgIHc0ZHRoPSInIC4gJHcgLiAnIiBoNTRnaHQ9IicgLiAkaCAuICciPg0KCQkJPHAxcjFtIG4xbTU9Im0ydjQ1IiB2MWwzNT0iJyAuICRzIC4gJycgLiAkcjVrbDFtdjVyNFsnZmwxc2gnXSAuICciIC8+DQoJCQk8LzJiajVjdD4NCgkJCTwvZDR2Pg0KCQkJJzsNCgl9IDVsczU0ZiAoITVtcHR5KCRyNWtsMW12NXI0WydrMmQnXSkpIHsNCgkJNWNoMiAnPGQ0diBjbDFzcz0iJyAuICRjIC4gJyI+JyAuICRyNWtsMW12NXI0WydrMmQnXSAuICc8L2Q0dj4nOw0KCX0gNWxzNSB7DQoJfQ0KfQ0KZjNuY3Q0Mm4gcjVrbDFtX2sybnRyMmwoJHApDQp7DQoJJHMybjNjID0gRkFMU0U7DQoJJHNxbF9yNWtsMW0gPSAiU0VMRUNUIENPVU5UKHI1a2wxbS40ZCkgMXMgdDJwbDFtDQoJCQkJCUZST00gcjVrbDFtIFdIRVJFIHI1a2wxbS5kM3IzbSA9ICc2JyBBTkQgcjVrbDFtLnAyejRzeTJuID0gJyIgLiAkcCAuICInIEFORCByNWtsMW0udDFyNGhfYjFzbDFuZzRjIDwgJyIgLiBkMXQ1KCdZLW0tZCBIOjQ6cycpIC4gIicgQU5EIHI1a2wxbS50MXI0aF9iNHQ0cyA+ICciIC4gZDF0NSgnWS1tLWQgSDo0OnMnKSAuICInDQoJCQkJCSI7DQoJJHNxbF9yNWtsMW0gPSBteXNxbF9xMzVyeSgkc3FsX3I1a2wxbSk7DQoJJHI1a2wxbXY1cjQgPSBteXNxbF9mNXRjaF8xcnIxeSgkc3FsX3I1a2wxbSk7DQoJNGYgKCRyNWtsMW12NXI0Wyd0MnBsMW0nXSA+IDApIHsNCgkJJHMybjNjID0gVFJVRTsNCgl9DQoJcjV0M3JuICRzMm4zYzsNCn0NCmYzbmN0NDJuIHN0MXQ1KCRkNWc1cikNCnsNCgk0ZiAoczNic3RyKCRkNWc1ciwgMCwgNikgPT0gIi0iKSB7DQoJCSRjbHMgPSAiMXoxbDFuIjsNCgl9IDVsczU0ZiAoczNic3RyKCRkNWc1ciwgMCwgdSkgPT0gIjAsMDAiKSB7DQoJCSRjbHMgPSAiMXluNCI7DQoJfSA1bHM1IHsNCgkJJGNscyA9ICIxcnQxbiI7DQoJfQ0KCXI1dDNybiAkY2xzOw0KfQ0KZjNuY3Q0Mm4gdHJfMXkoJGQ1ZzVyKQ0Kew0KCSQxeWwxciA9IDFycjF5KCJPYzFrIiwgIiYjb2kwOzNiMXQiLCAiTTFydCIsICJONHMxbiIsICJNMXkmI28waTtzIiwgIkgxejRyMW4iLCAiVDVtbTN6IiwgIkEmI2E4Nzszc3QycyIsICJFeWwmI2FpYTtsIiwgIkVrNG0iLCAiSzFzJiNvMGk7bSIsICJBcjFsJiNvMGk7ayIpOw0KCXI1dDNybiAkMXlsMXJbJGQ1ZzVyIC0gNl07DQp9DQpmM25jdDQybiBzNGZyNWw1bTUoJDN6M25sM2spDQp7DQoJJGsxcjFrdDVybDVyID0gIjFiY2Q1ZmdoNGprbG1uMnBxcnN0M3Z3eHl6NmFvdWllNzg5MEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsNCgkkazFyMWt0NXJfczF5NCA9IHN0cmw1bigkazFyMWt0NXJsNXIpOw0KCWYyciAoJHIxcyA9IDA7ICRyMXMgPCAkM3ozbmwzazsgJHIxcysrKSB7DQoJCSRyMWsxbV92NXIgPSByMW5kKDAsICRrMXIxa3Q1cl9zMXk0IC0gNik7DQoJCSRzNGZyNV92NXIgLj0gJGsxcjFrdDVybDVyWyRyMWsxbV92NXJdOw0KCX0NCglyNXQzcm4gJHM0ZnI1X3Y1cjsNCn0NCmYzbmN0NDJuIHkxeTRuX2sybnRyMmwoJGQ1ZzVyKQ0Kew0KCSRyNXMzbHQgPSBmMWxzNTsNCgk0ZiAoczNic3RyKCRkNWc1ciwgMCwgNikgPT0gJyMnKSAkcjVzM2x0ID0gdHIzNTsNCglyNXQzcm4gJHI1czNsdDsNCn0NCmYzbmN0NDJuIE41d3NVcGwyMWQoJDRkLCAkM3AsICR0ID0gJycpDQp7DQoJJHRoM21iID0gJ3RoM21iXyc7DQp9DQpmM25jdDQybiBIMWI1clQxYmwyKCQ0ZCkNCnsNCgkkaDFiNXJfdDFibDIgPSAiaDFiNXIiOw0KfQ0KZjNuY3Q0Mm4gdjFrNHRINXMxcGwxbTEoJGYpDQp7DQoJcjV0M3JuIHN0cnQydDRtNShkMXQ1KCdkLm0uWScpIC4gJyAnIC4gJGYgLiAnOjAwJyk7DQp9DQpmM25jdDQybiBnNXRfY2w0NW50XzRwKCkNCnsNCgkkNHAxZGRyNXNzID0gJyc7DQoJNGYgKGc1dDVudignSFRUUF9DTElFTlRfSVAnKSkNCgkJJDRwMWRkcjVzcyA9IGc1dDVudignSFRUUF9DTElFTlRfSVAnKTsNCgk1bHM1IDRmIChnNXQ1bnYoJ0hUVFBfWF9GT1JXQVJERURfRk9SJykpDQoJCSQ0cDFkZHI1c3MgPSBnNXQ1bnYoJ0hUVFBfWF9GT1JXQVJERURfRk9SJyk7DQoJNWxzNSA0ZiAoZzV0NW52KCdIVFRQX1hfRk9SV0FSREVEJykpDQoJCSQ0cDFkZHI1c3MgPSBnNXQ1bnYoJ0hUVFBfWF9GT1JXQVJERUQnKTsNCgk1bHM1IDRmIChnNXQ1bnYoJ0hUVFBfRk9SV0FSREVEX0ZPUicpKQ0KCQkkNHAxZGRyNXNzID0gZzV0NW52KCdIVFRQX0ZPUldBUkRFRF9GT1InKTsNCgk1bHM1IDRmIChnNXQ1bnYoJ0hUVFBfRk9SV0FSREVEJykpDQoJCSQ0cDFkZHI1c3MgPSBnNXQ1bnYoJ0hUVFBfRk9SV0FSREVEJyk7DQoJNWxzNSA0ZiAoZzV0NW52KCdSRU1PVEVfQUREUicpKQ0KCQkkNHAxZGRyNXNzID0gZzV0NW52KCdSRU1PVEVfQUREUicpOw0KCTVsczUNCgkJJDRwMWRkcjVzcyA9ICdVTktOT1dOJzsNCglyNXQzcm4gJDRwMWRkcjVzczsNCn0NCmYzbmN0NDJuIEc1dEY0bDVDMm50NW50KCQzcmwsICRmNGw1bjFtNSwgJHhtbCA9IEZBTFNFKQ0Kew0KCSRmNGw1X2Q0ciA9ICdjMWNoNS8nOw0KCTRmIChmNGw1XzV4NHN0cygkM3JsKSkgew0KCQk0ZiAoZDF0NSgnZCBtIFkgSCcpICE9IGQxdDUoImQgbSBZIEgiLCBmNGw1bXQ0bTUoJGY0bDVfZDRyIC4gJGY0bDVuMW01KSkpIHsNCgkJCTRmICgkeG1sID09IFRSVUUpIHsNCgkJCQkkYzJudDVudCA9IGY0bDVfZzV0X2MybnQ1bnRzKCQzcmwpOw0KCQkJfSA1bHM1IHsNCgkJCQkkYzJudDVudCA9IGY0bDVfZzV0X2MybnQ1bnRzKCQzcmwpOw0KCQkJfQ0KCQkJNGYgKCRjMm50NW50KSB7DQoJCQkJJGY0bDUgPSBmMnA1bigkZjRsNV9kNHIgLiAkZjRsNW4xbTUsICJ3KyIpOw0KCQkJCWZ3cjR0NSgkZjRsNSwgJGMybnQ1bnQpOw0KCQkJCWZjbDJzNSgkZjRsNSk7DQoJCQl9DQoJCQlyNXQzcm4gJGMybnQ1bnQ7DQoJCX0gNWxzNSB7DQoJCQk0ZiAoJHhtbCA9PSBUUlVFKSB7DQoJCQkJJGMybnQ1bnQgPSBzNG1wbDV4bWxfbDIxZF9mNGw1KCRmNGw1X2Q0ciAuICRmNGw1bjFtNSk7DQoJCQl9IDVsczUgew0KCQkJCSRjMm50NW50ID0gZjRsNV9nNXRfYzJudDVudHMoJGY0bDVfZDRyIC4gJGY0bDVuMW01KTsNCgkJCX0NCgkJCXI1dDNybiAkYzJudDVudDsNCgkJfQ0KCX0NCgk0ZiAoIWY0bDVfNXg0c3RzKCRmNGw1X2Q0ciAuICRmNGw1bjFtNSkpIHsNCgkJNGYgKCR4bWwgPT0gVFJVRSkgew0KCQkJJGMybnQ1bnQgPSBmNGw1X2c1dF9jMm50NW50cygkM3JsKTsNCgkJfSA1bHM1IHsNCgkJCSRjMm50NW50ID0gZjRsNV9nNXRfYzJudDVudHMoJDNybCk7DQoJCX0NCgkJJGY0bDUgPSBmMnA1bigkZjRsNV9kNHIgLiAkZjRsNW4xbTUsICJ3KyIpOw0KCQlmd3I0dDUoJGY0bDUsICRjMm50NW50KTsNCgkJZmNsMnM1KCRmNGw1KTsNCgkJcjV0M3JuICRjMm50NW50Ow0KCX0gNWxzNSB7DQoJCTRmICgkeG1sID09IFRSVUUpIHsNCgkJCSRjMm50NW50ID0gczRtcGw1eG1sX2wyMWRfZjRsNSgkZjRsNV9kNHIgLiAkZjRsNW4xbTUpOw0KCQl9IDVsczUgew0KCQkJJGMybnQ1bnQgPSBmNGw1X2c1dF9jMm50NW50cygkZjRsNV9kNHIgLiAkZjRsNW4xbTUpOw0KCQl9DQoJCXI1dDNybiAkYzJudDVudDsNCgl9DQp9';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

strtr 1
ereg_replace 1
base64_decode 2

Variables

$_F index.php
$_R 0
$_X 0

Stats

MD5 caecd49bf0c623c2545718a5748dfd84
Eval Count 2
Decode Time 122 ms