Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /* ===================================================== DataLife Engine - by So..
Decoded Output download
?><?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004-2016 SoftNews Media Group
=====================================================
=====================================================
: adminfunction.php
-----------------------------------------------------
:
=====================================================
*/
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
define('DATALIFEENGINE', true);
define( 'ROOT_DIR', substr( dirname( 'index.php' ), 0, -12 ) );
define( 'ENGINE_DIR', ROOT_DIR . '/engine' );
include ENGINE_DIR.'/data/config.php';
date_default_timezone_set ( $config['date_adjust'] );
if ($config['http_home_url'] == "") {
$config['http_home_url'] = explode("engine/ajax/adminfunction.php", $_SERVER['PHP_SELF']);
$config['http_home_url'] = reset($config['http_home_url']);
$config['http_home_url'] = "http://".$_SERVER['HTTP_HOST'].$config['http_home_url'];
}
require_once ENGINE_DIR.'/classes/mysql.php';
require_once ENGINE_DIR.'/data/dbconfig.php';
require_once ENGINE_DIR.'/inc/include/functions.inc.php';
dle_session();
$_TIME = time ();
//#################
$user_group = get_vars( "usergroup" );
if( ! $user_group ) {
$user_group = array ();
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
while ( $row = $db->get_row() ) {
$user_group[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$user_group[$row['id']][$key] = stripslashes($value);
}
}
set_vars( "usergroup", $user_group );
$db->free();
}
$cat_info = get_vars( "category" );
if( ! is_array( $cat_info ) ) {
$cat_info = array ();
$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {
$cat_info[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = stripslashes( $value );
}
}
set_vars( "category", $cat_info );
$db->free();
}
require_once ENGINE_DIR.'/modules/sitelogin.php';
if( !$is_logged OR !$user_group[$member_id['user_group']]['allow_admin'] ) { die ("error"); }
$selected_language = $config['langs'];
if (isset( $_COOKIE['selected_language'] )) {
$_COOKIE['selected_language'] = trim(totranslit( $_COOKIE['selected_language'], false, false ));
if ($_COOKIE['selected_language'] != "" AND @is_dir ( ROOT_DIR . '/language/' . $_COOKIE['selected_language'] )) {
$selected_language = $_COOKIE['selected_language'];
}
}
if ( file_exists( ROOT_DIR.'/language/'.$selected_language.'/adminpanel.lng' ) ) {
require_once ROOT_DIR.'/language/'.$selected_language.'/adminpanel.lng';
} else die("Language file not found");
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
$buffer = "";
function parseJsonArray($jsonArray, $parentID = 0)
{
$return = array();
foreach ($jsonArray as $subArray) {
$returnSubSubArray = array();
if (isset($subArray['children'])) {
$returnSubSubArray = parseJsonArray($subArray['children'], $subArray['id']);
}
$return[] = array('id' => $subArray['id'], 'parentid' => $parentID);
$return = array_merge($return, $returnSubSubArray);
}
return $return;
}
@header("Content-type: text/html; charset=".$config['charset']);
if ($_REQUEST['action'] == "newsspam") {
if ( !$user_group[$member_id['user_group']]['allow_all_edit']) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval( $_REQUEST['id'] );
if( $id < 1 ) die( "error" );
$row = $db->super_query( "SELECT id, autor, approve FROM " . PREFIX . "_post WHERE id = '{$id}'" );
if ($row['id']) {
$author = $db->safesql($row['autor']);
if( $row['approve'] ) die ("error");
$row = $db->super_query( "SELECT user_id, user_group FROM " . USERPREFIX . "_users WHERE name = '{$author}'" );
$user_id = intval($row['user_id']);
if ($user_group[$row['user_group']]['allow_admin']) die ($lang['mark_spam_error']);
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '87', '{$author}')" );
$result = $db->query( "SELECT id FROM " . PREFIX . "_post WHERE autor='{$author}' AND approve='0'" );
while ( $row = $db->get_array( $result ) ) {
$id = intval( $row['id'] );
$db->query( "UPDATE " . USERPREFIX . "_users SET news_num=news_num-1 WHERE user_id='{$user_id}'" );
$db->query( "DELETE FROM " . PREFIX . "_post WHERE id='{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_post_extras WHERE news_id='{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_poll WHERE news_id = '{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_poll_log WHERE news_id = '{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_post_log WHERE news_id = '{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_logs WHERE news_id = '{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_xfsearch WHERE news_id = '{$id}'" );
deletecommentsbynewsid($id);
$db->query( "SELECT onserver FROM " . PREFIX . "_files WHERE news_id = '{$id}'" );
while ( $row = $db->get_row() ) {
$url = explode( "/", $row['onserver'] );
if( count( $url ) == 2 ) {
$folder_prefix = $url[0] . "/";
$file = $url[1];
} else {
$folder_prefix = "";
$file = $url[0];
}
$file = totranslit( $file, false );
if( trim($file) == ".htaccess") die("Hacking attempt!");
@unlink( ROOT_DIR . "/uploads/files/" . $folder_prefix . $file );
}
$db->query( "DELETE FROM " . PREFIX . "_files WHERE news_id = '{$id}'" );
$row = $db->super_query( "SELECT images FROM " . PREFIX . "_images where news_id = '{$id}'" );
$listimages = explode( "|||", $row['images'] );
if( $row['images'] != "" ) foreach ( $listimages as $dataimages ) {
$url_image = explode( "/", $dataimages );
if( count( $url_image ) == 2 ) {
$folder_prefix = $url_image[0] . "/";
$dataimages = $url_image[1];
} else {
$folder_prefix = "";
$dataimages = $url_image[0];
}
@unlink( ROOT_DIR . "/uploads/posts/" . $folder_prefix . $dataimages );
@unlink( ROOT_DIR . "/uploads/posts/" . $folder_prefix . "thumbs/" . $dataimages );
@unlink( ROOT_DIR . "/uploads/posts/" . $folder_prefix . "medium/" . $dataimages );
}
$db->query( "DELETE FROM " . PREFIX . "_images WHERE news_id = '{$id}'" );
}
$db->free( $result );
$db->query( "UPDATE " . USERPREFIX . "_users SET restricted='3', restricted_days='0' WHERE user_id ='{$user_id}'" );
clear_cache();
$buffer = $lang['mark_spam_ok_2'];
} else die ("error");
}
if ($_REQUEST['action'] == "clearpoll") {
if ( !$user_group[$member_id['user_group']]['allow_all_edit']) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval( $_REQUEST['id'] );
if( $id < 1 ) die( "error" );
$db->query( "UPDATE " . PREFIX . "_poll SET votes='0', answer='' WHERE news_id = '{$id}'" );
$db->query( "DELETE FROM " . PREFIX . "_poll_log WHERE news_id='{$id}'" );
$buffer = $lang['clear_poll_2'];
}
if ($_REQUEST['action'] == "commentspublic") {
if ( !$user_group[$member_id['user_group']]['admin_comments']) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$c_id = intval( $_REQUEST['id'] );
$post_id = intval( $_REQUEST['post_id'] );
$db->query( "UPDATE " . PREFIX . "_comments SET approve='1' WHERE id='{$c_id}'" );
$db->query( "UPDATE " . PREFIX . "_post SET comm_num=comm_num+1 WHERE id='{$post_id}'" );
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '19', '')" );
clear_cache();
if ( $config['allow_subscribe'] ) {
$row = $db->super_query( "SELECT autor, text, parent FROM " . PREFIX . "_comments WHERE id = '{$c_id}'" );
$name = $row['autor'];
$body = $row['text'];
$parent = $row['parent'];
include_once ENGINE_DIR . '/classes/mail.class.php';
$row = $db->super_query( "SELECT id, short_story, title, date, alt_name, category FROM ".PREFIX."_post WHERE id = '{$post_id}'" );
$row['date'] = strtotime( $row['date'] );
$row['category'] = intval( $row['category'] );
if( $config['allow_alt_url'] ) {
if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
if( $row['category'] and $config['seo_type'] == 2 ) {
$full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
} else {
$full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
}
} else {
$full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
}
} else {
$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
}
$title = stripslashes($row['title']);
$row = $db->super_query( "SELECT * FROM " . PREFIX . "_email WHERE name='comments' LIMIT 0,1" );
$mail = new dle_mail( $config, $row['use_html'] );
if (strpos($full_link, "//") === 0) $full_link = "http:".$full_link;
elseif (strpos($full_link, "/") === 0) $full_link = "http://".$_SERVER['HTTP_HOST'].$full_link;
$row['template'] = stripslashes( $row['template'] );
$row['template'] = str_replace( "{%username%}", $name, $row['template'] );
$row['template'] = str_replace( "{%date%}", langdate( "j F Y H:i", $_TIME, true ), $row['template'] );
$row['template'] = str_replace( "{%link%}", $full_link, $row['template'] );
$row['template'] = str_replace( "{%title%}", $title, $row['template'] );
$body = str_replace( '
', "", $body );
$body = str_replace( '
', "", $body );
$body = stripslashes( stripslashes( $body ) );
$body = str_replace( "<br />", "
", $body );
$body = strip_tags( $body );
if( $row['use_html'] ) {
$body = str_replace("
", "<br />", $body );
}
$row['template'] = str_replace( "{%text%}", $body, $row['template'] );
$row['template'] = str_replace( "{%ip%}", "--", $row['template'] );
$found_news_author_subscribe = false;
$found_reply_author_subscribe = false;
$news_author_subscribe = $db->super_query( "SELECT " . USERPREFIX . "_users.user_id, " . USERPREFIX . "_users.name, " . USERPREFIX . "_users.email, " . USERPREFIX . "_users.news_subscribe FROM " . PREFIX . "_post_extras LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_post_extras.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_post_extras.news_id='{$post_id}'" );
if( $parent ) {
$reply_author_subscribe = $db->super_query( "SELECT " . USERPREFIX . "_users.user_id, " . USERPREFIX . "_users.name, " . USERPREFIX . "_users.email, " . USERPREFIX . "_users.comments_reply_subscribe FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.id='{$parent}'" );
} else $reply_author_subscribe = array();
if (strpos($config['http_home_url'], "//") === 0) $slink = "http:".$config['http_home_url'];
elseif (strpos($config['http_home_url'], "/") === 0) $slink = "http://".$_SERVER['HTTP_HOST'].$config['http_home_url'];
else $slink = $config['http_home_url'];
$db->query( "SELECT user_id, name, email, hash FROM " . PREFIX . "_subscribe WHERE news_id='{$post_id}'" );
while($rec = $db->get_row())
{
if( $rec['user_id'] == $news_author_subscribe['user_id'] ) {
$found_news_author_subscribe = true;
}
if( $parent AND $rec['user_id'] == $reply_author_subscribe['user_id'] ) {
$found_reply_author_subscribe = true;
}
if ($rec['user_id'] != $member_id['user_id'] ) {
$body = str_replace( "{%username_to%}", $rec['name'], $row['template'] );
$body = str_replace( "{%unsubscribe%}", $slink . "index.php?do=unsubscribe&post_id=" . $post_id . "&user_id=" . $rec['user_id'] . "&hash=" . $rec['hash'], $body );
$mail->send( $rec['email'], $lang['mail_comments'], $body );
}
}
if($news_author_subscribe['news_subscribe'] AND !$found_news_author_subscribe) {
$body = str_replace( "{%username_to%}", $news_author_subscribe['name'], $row['template'] );
if ($config['allow_alt_url']) {
$body = str_replace( "{%unsubscribe%}", $slink . "user/" . urlencode ( $news_author_subscribe['name'] ) . "/", $body );
} else {
$body = str_replace( "{%unsubscribe%}", $slink . "index.php??subaction=userinfo&user=" . urlencode ( $news_author_subscribe['name'] ), $body );
}
$mail->send( $news_author_subscribe['email'], $lang['mail_comments'], $body );
$last_send = $news_author_subscribe['user_id'];
} else $last_send = false;
if($parent AND $reply_author_subscribe['comments_reply_subscribe'] AND !$found_reply_author_subscribe AND $reply_author_subscribe['user_id'] != $last_send) {
$body = str_replace( "{%username_to%}", $reply_author_subscribe['name'], $row['template'] );
if ($config['allow_alt_url']) {
$body = str_replace( "{%unsubscribe%}", $slink . "user/" . urlencode ( $reply_author_subscribe['name'] ) . "/", $body );
} else {
$body = str_replace( "{%unsubscribe%}", $slink . "index.php??subaction=userinfo&user=" . urlencode ( $reply_author_subscribe['name'] ), $body );
}
$mail->send( $reply_author_subscribe['email'], $lang['mail_comments'], $body );
}
$db->free();
}
$buffer = 'ok';
}
if ($_REQUEST['action'] == "commentsspam") {
if ( !$user_group[$member_id['user_group']]['del_allc']) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval( $_REQUEST['id'] );
if( $id < 1 ) die( "error" );
$row = $db->super_query( "SELECT id, user_id, autor, email, ip, is_register FROM " . PREFIX . "_comments WHERE id = '{$id}'" );
if ($row['id']) {
$user_id = intval($row['user_id']);
$author = $db->safesql($row['autor']);
$email = $db->safesql($row['email']);
$is_register = $row['is_register'];
$ip = $db->safesql($row['ip']);
if ( $is_register ) {
$row = $db->super_query( "SELECT user_group FROM " . USERPREFIX . "_users WHERE user_id = '{$user_id}'" );
if ($user_group[$row['user_group']]['allow_admin']) die ($lang['mark_spam_error']);
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '87', '{$author}')" );
$db->query( "UPDATE " . USERPREFIX . "_users SET comm_num='0', restricted='3', restricted_days='0' WHERE user_id ='{$user_id}'" );
deletecommentsbyuserid($user_id);
} else {
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '88', '{$author}')" );
deletecommentsbyuserid(0, $ip);
$db->query( "INSERT INTO " . USERPREFIX . "_banned (descr, date, days, ip) values ('{$lang['mark_spam_ok_1']}', '0', '0', '{$ip}')" );
@unlink( ENGINE_DIR . '/cache/system/banned.php' );
}
clear_cache();
if ( $email AND strlen($config['spam_api_key']) > 3 ) {
include_once ENGINE_DIR . '/classes/stopspam.class.php';
$sfs = new StopSpam($config['spam_api_key'], $config['sec_addnews']);
$args = array('ip_addr' => $ip, 'username' => $author, 'email' => $email );
$sfs->add( $args );
}
$buffer = $lang['mark_spam_ok'];
} else die ("error");
}
if ($_REQUEST['action'] == "clearcache") {
if ( $member_id['user_group'] != 1 ) die ("error");
$fdir = opendir( ENGINE_DIR . '/cache/system/' );
while ( $file = readdir( $fdir ) ) {
if( $file != '.' and $file != '..' and $file != '.htaccess' and $file != 'cron.php' ) {
@unlink( ENGINE_DIR . '/cache/system/' . $file );
}
}
clear_cache();
$buffer = $lang['clear_cache'];
}
if ($_REQUEST['action'] == "clearsubscribe") {
if ( $member_id['user_group'] != 1 ) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$db->query("TRUNCATE TABLE " . PREFIX . "_subscribe");
$buffer = $lang['clear_subscribe'];
}
if ($_REQUEST['action'] == "clearsubscribenews") {
if ( $member_id['user_group'] != 1 ) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval( $_REQUEST['id'] );
if( $id < 1 ) die( "error" );
$db->query( "DELETE FROM " . PREFIX . "_subscribe WHERE news_id='{$id}'" );
$buffer = $lang['clear_subscribe'];
}
if ($_REQUEST['action'] == "sendnotice") {
$row = $db->super_query( "SELECT id FROM " . PREFIX . "_notice WHERE user_id = '{$member_id['user_id']}'" );
$notice = convert_unicode($_POST['notice'], $config['charset']);
if( function_exists( "get_magic_quotes_gpc" ) && get_magic_quotes_gpc() ) $notice = stripslashes( $notice );
$notice = $db->safesql( $notice );
if( dle_strlen( $notice, $config['charset'] ) > 65000 ) {
die( "error" );
}
if( $row['id'] ) {
$db->query( "UPDATE " . PREFIX . "_notice SET notice='{$notice}' WHERE user_id = '{$member_id['user_id']}'" );
} else {
$db->query( "INSERT INTO " . PREFIX . "_notice (user_id, notice) values ('{$member_id['user_id']}', '{$notice}')" );
}
$buffer = "<font color=\"green\">".$lang['saved']."</font>";
}
if ($_REQUEST['action'] == "deletemodules") {
if ( $member_id['user_group'] != 1 ) die ("error");
$id = intval($_REQUEST['id']);
if ( $id ) {
$db->query( "DELETE FROM " . PREFIX . "_admin_sections WHERE id = '{$id}'" );
$buffer = 'ok';
}
}
if ($_REQUEST['action'] == "catsort") {
if( !$user_group[$member_id['user_group']]['admin_categories'] ) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$_POST['list'] = json_decode(stripslashes($_POST['list']), true);
if ( !is_array($_POST['list']) ) die ("error");
$_POST['list'] = parseJsonArray($_POST['list']);
$i= 0;
foreach ( $_POST['list'] as $value ) {
$i++;
$id = intval($value['id']);
$parentid = intval($value['parentid']);
if ( $id ) {
$db->query( "UPDATE " . PREFIX . "_category SET parentid='{$parentid}', posi='{$i}' WHERE id = '{$id}'" );
}
}
@unlink( ENGINE_DIR . '/cache/system/category.php' );
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '11', '')" );
$buffer = 'ok';
}
if ($_REQUEST['action'] == "xfsort") {
if( !$user_group[$member_id['user_group']]['admin_xfields'] ) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$_POST['list'] = json_decode(stripslashes($_POST['list']), true);
if ( !is_array($_POST['list']) ) die ("error");
$_POST['list'] = parseJsonArray($_POST['list']);
function xfieldssave($data) {
$data = array_values($data);
$filecontents = "";
foreach ($data as $index => $value) {
$value = array_values($value);
foreach ($value as $index2 => $value2) {
$value2 = stripslashes($value2);
$value2 = str_replace("|", "|", $value2);
$value2 = str_replace("
", "__NEWL__", $value2);
$filecontents .= $value2 . ($index2 < count($value) - 1 ? "|" : "");
}
$filecontents .= ($index < count($data) - 1 ? "
" : "");
}
$filehandle = fopen(ENGINE_DIR.'/data/xfields.txt', "w+");
if (!$filehandle) die ("error");
$find = array ('/data:/i','/about:/i','/vbscript:/i','/onclick/i','/onload/i','/onunload/i','/onabort/i','/onerror/i','/onblur/i','/onchange/i','/onfocus/i','/onreset/i','/onsubmit/i','/ondblclick/i','/onkeydown/i','/onkeypress/i','/onkeyup/i','/onmousedown/i','/onmouseup/i','/onmouseover/i','/onmouseout/i','/onselect/i','/javascript/i','/onmouseenter/i','/onwheel/i','/onshow/i','/onafterprint/i','/onbeforeprint/i','/onbeforeunload/i','/onhashchange/i','/onmessage/i','/ononline/i','/onoffline/i','/onpagehide/i','/onpageshow/i','/onpopstate/i','/onresize/i','/onstorage/i','/oncontextmenu/i','/oninvalid/i','/oninput/i','/onsearch/i','/ondrag/i','/ondragend/i','/ondragenter/i','/ondragleave/i','/ondragover/i','/ondragstart/i','/ondrop/i','/onmousemove/i','/onmousewheel/i','/onscroll/i','/oncopy/i','/oncut/i','/onpaste/i','/oncanplay/i','/oncanplaythrough/i','/oncuechange/i','/ondurationchange/i','/onemptied/i','/onended/i','/onloadeddata/i','/onloadedmetadata/i','/onloadstart/i','/onpause/i','/onprogress/i', '/onratechange/i','/onseeked/i','/onseeking/i','/onstalled/i','/onsuspend/i','/ontimeupdate/i','/onvolumechange/i','/onwaiting/i','/ontoggle/i');
$replace = array ("data:", "about:", "vbscript<b></b>:", "onclick", "onload", "onunload", "onabort", "onerror", "onblur", "onchange", "onfocus", "onreset", "onsubmit", "ondblclick", "onkeydown", "onkeypress", "onkeyup", "onmousedown", "onmouseup", "onmouseover", "onmouseout", "onselect", "javascript", 'onmouseenter', 'onwheel', 'onshow', 'onafterprint','onbeforeprint','onbeforeunload','onhashchange','onmessage','ononline','onoffline','onpagehide','onpageshow','onpopstate','onresize','onstorage','oncontextmenu','oninvalid','oninput','onsearch','ondrag','ondragend','ondragenter','ondragleave','ondragover','ondragstart','ondrop','onmousemove','onmousewheel','onscroll','oncopy','oncut','onpaste','oncanplay','oncanplaythrough','oncuechange','ondurationchange','onemptied','onended','onloadeddata','onloadedmetadata','onloadstart','onpause','onprogress', 'onratechange','onseeked','onseeking','onstalled','onsuspend','ontimeupdate','onvolumechange','onwaiting','ontoggle');
$filecontents = preg_replace( $find, $replace, $filecontents );
$filecontents = preg_replace( "#<iframe#i", "<iframe", $filecontents );
$filecontents = preg_replace( "#<script#i", "<script", $filecontents );
$filecontents = str_replace( "<?", "<?", $filecontents );
$filecontents = str_replace( "?>", "?>", $filecontents );
$filecontents = str_replace( "$", "$", $filecontents );
fwrite($filehandle, $filecontents);
fclose($filehandle);
}
$xfields = xfieldsload();
$temp_array = array();
foreach ( $_POST['list'] as $value ) {
$id = intval($value['id']);
$temp_array[] = $xfields[$id];
}
$xfields = $temp_array;
xfieldssave($xfields);
$buffer = 'ok';
}
if ($_REQUEST['action'] == "userxfsort") {
if( !$user_group[$member_id['user_group']]['admin_userfields'] ) die ("error");
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$_POST['list'] = json_decode(stripslashes($_POST['list']), true);
if ( !is_array($_POST['list']) ) die ("error");
$_POST['list'] = parseJsonArray($_POST['list']);
function profileload() {
$path = ENGINE_DIR.'/data/xprofile.txt';
$filecontents = file($path);
if (!is_array($filecontents)) die ("error");
foreach ($filecontents as $name => $value) {
$filecontents[$name] = explode("|", trim($value));
foreach ($filecontents[$name] as $name2 => $value2) {
$value2 = str_replace("|", "|", $value2);
$value2 = str_replace("__NEWL__", "
", $value2);
$filecontents[$name][$name2] = $value2;
}
}
return $filecontents;
}
function profilesave($data) {
$data = array_values($data);
$filecontents = "";
foreach ($data as $index => $value) {
$value = array_values($value);
foreach ($value as $index2 => $value2) {
$value2 = stripslashes($value2);
$value2 = str_replace("|", "|", $value2);
$value2 = str_replace("
", "__NEWL__", $value2);
$filecontents .= $value2 . ($index2 < count($value) - 1 ? "|" : "");
}
$filecontents .= ($index < count($data) - 1 ? "
" : "");
}
$filehandle = fopen(ENGINE_DIR.'/data/xprofile.txt', "w+");
if (!$filehandle) die ("error");
$find = array ('/data:/i','/about:/i','/vbscript:/i','/onclick/i','/onload/i','/onunload/i','/onabort/i','/onerror/i','/onblur/i','/onchange/i','/onfocus/i','/onreset/i','/onsubmit/i','/ondblclick/i','/onkeydown/i','/onkeypress/i','/onkeyup/i','/onmousedown/i','/onmouseup/i','/onmouseover/i','/onmouseout/i','/onselect/i','/javascript/i','/onmouseenter/i','/onwheel/i','/onshow/i','/onafterprint/i','/onbeforeprint/i','/onbeforeunload/i','/onhashchange/i','/onmessage/i','/ononline/i','/onoffline/i','/onpagehide/i','/onpageshow/i','/onpopstate/i','/onresize/i','/onstorage/i','/oncontextmenu/i','/oninvalid/i','/oninput/i','/onsearch/i','/ondrag/i','/ondragend/i','/ondragenter/i','/ondragleave/i','/ondragover/i','/ondragstart/i','/ondrop/i','/onmousemove/i','/onmousewheel/i','/onscroll/i','/oncopy/i','/oncut/i','/onpaste/i','/oncanplay/i','/oncanplaythrough/i','/oncuechange/i','/ondurationchange/i','/onemptied/i','/onended/i','/onloadeddata/i','/onloadedmetadata/i','/onloadstart/i','/onpause/i','/onprogress/i', '/onratechange/i','/onseeked/i','/onseeking/i','/onstalled/i','/onsuspend/i','/ontimeupdate/i','/onvolumechange/i','/onwaiting/i','/ontoggle/i');
$replace = array ("data:", "about:", "vbscript<b></b>:", "onclick", "onload", "onunload", "onabort", "onerror", "onblur", "onchange", "onfocus", "onreset", "onsubmit", "ondblclick", "onkeydown", "onkeypress", "onkeyup", "onmousedown", "onmouseup", "onmouseover", "onmouseout", "onselect", "javascript", 'onmouseenter', 'onwheel', 'onshow', 'onafterprint','onbeforeprint','onbeforeunload','onhashchange','onmessage','ononline','onoffline','onpagehide','onpageshow','onpopstate','onresize','onstorage','oncontextmenu','oninvalid','oninput','onsearch','ondrag','ondragend','ondragenter','ondragleave','ondragover','ondragstart','ondrop','onmousemove','onmousewheel','onscroll','oncopy','oncut','onpaste','oncanplay','oncanplaythrough','oncuechange','ondurationchange','onemptied','onended','onloadeddata','onloadedmetadata','onloadstart','onpause','onprogress', 'onratechange','onseeked','onseeking','onstalled','onsuspend','ontimeupdate','onvolumechange','onwaiting','ontoggle');
$filecontents = preg_replace( $find, $replace, $filecontents );
$filecontents = preg_replace( "#<iframe#i", "<iframe", $filecontents );
$filecontents = preg_replace( "#<script#i", "<script", $filecontents );
$filecontents = str_replace( "<?", "<?", $filecontents );
$filecontents = str_replace( "?>", "?>", $filecontents );
$filecontents = str_replace( "$", "$", $filecontents );
fwrite($filehandle, $filecontents);
fclose($filehandle);
}
$xfields = profileload();
$temp_array = array();
foreach ( $_POST['list'] as $value ) {
$id = intval($value['id']);
$temp_array[] = $xfields[$id];
}
$xfields = $temp_array;
profilesave($xfields);
$buffer = 'ok';
}
echo $buffer;
?>
Did this file decode correctly?
Original Code
<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004,2016 SoftNews Media Group
=====================================================
*/
?><?php $_F=__FILE__;$_X='P3AxP1toWw1YayoNWG1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tDVhEcgpJCj1hZkpENXVBYXVKRC1EYkNEOVFmSUJKUDBEIEpjYQpEeFpRbFtEDVgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ1YRGhJSVs6a2tjM0otdUpQME9abGsNWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDVhERVFbQ1phQWhJRChqKURWc3NnLVZzOE5EOVFmSUJKUDBEIEpjYQpEeFpRbFsNWG1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tDVhExODt7fvpROru5ETn4Pno+eXtRODi8u7w8ero7OhE7/Dg4uDs6A1YbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW0NWETU4OnrOkQKY2VhdWZsdWpJYVF1T1toWw1YLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NWETN4Oft4Pfl7ejlOkTC++/u6+3l7ejlRPDg5+vo9+379UT08+3q9ujpRODk7Ojt7+Dt5evoDVhtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbQ1YKmsNWA1YQEpaWlFaX1pKW1FaSWF1QUQoRDVfUz09RF5ENV88U0xCRkJ4RF5ENV9Ce3RGRTVEKTsNWEBhdWFfMEpJRChEJ2NhMFszCkNfSlpaUVowJyxESVpsSkQpOw1YQGF1YV8wSklEKEQnaEllM19KWlpRWjAnLERmCjMwSkQpOw1YQGF1YV8wSklEKEQnSlpaUVpfWkpbUVpJYXVBJyxENV9TPT1EXkQ1XzxTTEJGQnhEXkQ1X0J7dEZFNUQpOw1YDVhjSmZhdUooJ3JTdFM9Ri41NUJ4RkI1JyxESVpsSik7DVhjSmZhdUooRCdMe3t0X3JGTCcsRDBsYjBJWihEY2FadQplSihERF9fLkY9NV9fRCksRHMsRC04VkQpRCk7DVhjSmZhdUooRCc1QnhGQjVfckZMJyxETHt7dF9yRkxET0Qna0p1QWF1SidEKTsNWA1YYXVqM2xjSkQ1QnhGQjVfckZMTydrYwpJCmtqUXVmYUFPW2hbJzsNWA1YYwpJSl9jSmYKbDNJX0lhZUp9UXVKXzBKSUQoRCRqUXVmYUE0J2MKSUpfCmNZbDBJJ2lEKTsNWA1YYWZEKCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaURtbUQiIilESA1YDVgJJGpRdWZhQTQnaElJW19oUWVKX2xaMydpRG1ESl1bM1FjSigiSnVBYXVKawpZCl1rCmNlYXVmbHVqSWFRdU9baFsiLEQkXzk1TC81TDQnb0dvXzk1PS4naSk7DVgJJGpRdWZhQTQnaElJW19oUWVKX2xaMydpRG1EWkowSkkoJGpRdWZhQTQnaElJW19oUWVKX2xaMydpKTsNWAkkalF1ZmFBNCdoSUlbX2hRZUpfbFozJ2lEbUQiaElJWzprayJPJF85NUwvNUw0J0d0dG9fR3s5dCdpTyRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaTsNWA1YUg1YDVhaSnZsYVpKX1F1akpENUJ4RkI1X3JGTE8na2ozCjAwSjBrZUMwdjNPW2hbJzsNWFpKdmxhWkpfUXVqSkQ1QnhGQjVfckZMTydrYwpJCmtjYmpRdWZhQU9baFsnOw1YWkp2bGFaSl9RdWpKRDVCeEZCNV9yRkxPJ2thdWprYXVqM2xjSmtmbHVqSWFRdTBPYXVqT1toWyc7DVgNWGMzSl8wSjAwYVF1KCk7DVgkX3RGIDVEbURJYWVKRCgpOw1YDVhrayMjIyMjIyMjIyMjIyMjIyMjRM7v8OXk5evl7ejlROPw8+/vRO/u6/zn7uLg8uXr5ekNWCRsMEpaX0FaUWxbRG1EQUpJX1cKWjAoRCJsMEpaQVpRbFsiRCk7DVgNWGFmKEQhRCRsMEpaX0FaUWxbRClESA1YCSRsMEpaX0FaUWxbRG1EClpaCkNEKCk7DVgJDVgJJGNiLXB2bEpaQyhEIjk1PTVFdEQqRC5MeyBEIkRPREs5NUxvTDUuRnlET0QiX2wwSlpBWlFsWzBEe0xyNUxEMk1EYWNEUzlFIkQpOw1YCQ1YCVBoYTNKRChEJFpRUERtRCRjYi1wQUpJX1pRUCgpRClESA1YCQkNWAkJJGwwSlpfQVpRbFs0JFpRUDQnYWMnaWlEbUQKWloKQ0QoKTsNWAkJDVgJCWZRWkoKamhEKEQkWlFQRAowRCRxSkNEbXBEJFcKM2xKRClESA1YCQkJJGwwSlpfQVpRbFs0JFpRUDQnYWMnaWk0JHFKQ2lEbUQwSVphWzAzCjBoSjAoJFcKM2xKKTsNWAkJUg1YCQ1YCVINWAkwSklfVwpaMChEImwwSlpBWlFsWyIsRCRsMEpaX0FaUWxbRCk7DVgJJGNiLXBmWkpKKCk7DVhSDVgNWCRqCklfYXVmUURtREFKSV9XClowKEQiagpJSkFRWkMiRCk7DVgJCQ1YYWYoRCFEYTBfClpaCkMoRCRqCklfYXVmUUQpRClESA1YCSRqCklfYXVmUURtRApaWgpDRCgpOw1YCQkJDVgJJGNiLXB2bEpaQyhEIjk1PTVFdEQqRC5MeyBEIkRPRG9MNS5GeURPRCJfagpJSkFRWkNEe0xyNUxEMk1EW1EwYURTOUUiRCk7DVgJUGhhM0pEKEQkWlFQRG1EJGNiLXBBSklfWlFQKClEKURIDVgJCQ1YCQkkagpJX2F1ZlE0JFpRUDQnYWMnaWlEbUQKWloKQ0QoKTsNWAkJDVgJCWZRWkoKamhEKEQkWlFQRAowRCRxSkNEbXBEJFcKM2xKRClESA1YCQkJJGoKSV9hdWZRNCRaUVA0J2FjJ2lpNCRxSkNpRG1EMElaYVswMwowaEowKEQkVwozbEpEKTsNWAkJUg1YCQkJDVgJUg1YCTBKSV9XClowKEQiagpJSkFRWkMiLEQkagpJX2F1ZlFEKTsNWAkkY2ItcGZaSkooKTsNWFINWA1YWkp2bGFaSl9RdWpKRDVCeEZCNV9yRkxPJ2tlUWNsM0owazBhSUozUUFhdU9baFsnOw1YDVhhZihEISRhMF8zUUFBSmNEe0xEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwozM1FQXwpjZWF1J2lEKURIRGNhSkQoIkpaWlFaIik7RFINWA1YJDBKM0pqSUpjXzMKdUFsCkFKRG1EJGpRdWZhQTQnMwp1QTAnaTsNWA1YYWZEKGEwMEpJKEQkX0V7e3pGNTQnMEozSmpJSmNfMwp1QWwKQUonaUQpKURIRA1YDVgJJF9Fe3t6RjU0JzBKM0pqSUpjXzMKdUFsCkFKJ2lEbURJWmFlKElRSVoKdTAzYUkoRCRfRXt7ekY1NCcwSjNKaklKY18zCnVBbApBSidpLERmCjMwSixEZgozMEpEKSk7DVgNWAlhZkQoJF9Fe3t6RjU0JzBKM0pqSUpjXzMKdUFsCkFKJ2lEIW1EIiJEU0JyREBhMF9jYVpEKERMe3t0X3JGTERPRCdrMwp1QWwKQUprJ0RPRCRfRXt7ekY1NCcwSjNKaklKY18zCnVBbApBSidpRCkpREgNWAkJJDBKM0pqSUpjXzMKdUFsCkFKRG1EJF9Fe3t6RjU0JzBKM0pqSUpjXzMKdUFsCkFKJ2k7DVgJUg1YDVhSDVgNWGFmRChEZmEzSl9KXWEwSTAoREx7e3RfckZMTydrMwp1QWwKQUprJ08kMEozSmpJSmNfMwp1QWwKQUpPJ2sKY2VhdVsKdUozTzN1QSdEKUQpREgNWAlaSnZsYVpKX1F1akpETHt7dF9yRkxPJ2szCnVBbApBSmsnTyQwSjNKaklKY18zCnVBbApBSk8nawpjZWF1Wwp1SjNPM3VBJzsNWFJESjMwSkRjYUooIj0KdUFsCkFKRGZhM0pEdVFJRGZRbHVjIik7DVgNWCRqUXVmYUE0J2poClowSkknaURtRCgkMwp1QTQnamgKWjBKSSdpRCFtRCcnKUQ/RCQzCnVBNCdqaApaMEpJJ2lEOkQkalF1ZmFBNCdqaApaMEpJJ2k7DVgkYmxmZkpaRG1EIiI7DVgNWGZsdWpJYVF1RFsKWjBKPjBRdVNaWgpDKCRZMFF1U1paCkMsRCRbClpKdUlGckRtRHMpDVhIDVhERCRaSklsWnVEbUQKWloKQygpOw1YRERmUVpKCmpoRCgkWTBRdVNaWgpDRAowRCQwbGJTWloKQylESA1YREREREQkWkpJbFp1OWxiOWxiU1paCkNEbUQKWloKQygpOw1YRERERERhZkQoYTAwSkkoJDBsYlNaWgpDNCdqaGEzY1pKdSdpKSlESA1YRERERERERCRaSklsWnU5bGI5bGJTWloKQ0RtRFsKWjBKPjBRdVNaWgpDKCQwbGJTWloKQzQnamhhM2NaSnUnaSxEJDBsYlNaWgpDNCdhYydpKTsNWEREREREUg1YREREREQkWkpJbFp1NGlEbUQKWloKQygnYWMnRG1wRCQwbGJTWloKQzQnYWMnaSxEJ1sKWkp1SWFjJ0RtcEQkWwpaSnVJRnIpOw1YREREREQkWkpJbFp1RG1EClpaCkNfZUpaQUooJFpKSWxadSxEJFpKSWxadTlsYjlsYlNaWgpDKTsNWEREUg1YDVhERFpKSWxadUQkWkpJbFp1Ow1YUg1YDVhAaEoKY0paKCJFUXVJSnVJLUlDW0o6RElKXUlraEllMztEamgKWjBKSW0iTyRqUXVmYUE0J2poClowSkknaSk7DVgNWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJ1SlAwMFsKZSIpREgNWA1YCWFmRChEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwozM1FQXwozM19KY2FJJ2kpRGNhSkQoIkpaWlFaIik7DVgNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJDVgJCWNhSkQoIkpaWlFaIik7DVgJDVgJUg1YDVgJJGFjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTsNWAkNWAlhZihEJGFjRDFEOEQpRGNhSihEIkpaWlFaIkQpOw1YDVgJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREYWMsRApsSVFaLEQKW1taUVdKRC5MeyBEIkRPRG9MNS5GeURPRCJfW1EwSUQ8RzVMNURhY0RtRCdIJGFjUiciRCk7DVgNWAlhZkQoJFpRUDQnYWMnaSkJSA1YDVgJCSQKbEloUVpEbUQkY2ItcDAKZkowdjMoJFpRUDQnCmxJUVonaSk7DVgNWAkJYWYoRCRaUVA0JwpbW1pRV0onaUQpRGNhSkQoIkpaWlFaIik7DVgNWAkJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREbDBKWl9hYyxEbDBKWl9BWlFsW0QuTHsgRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaMEQ8RzVMNUR1CmVKRG1EJ0gkCmxJaFFaUiciRCk7DVgNWAkJJGwwSlpfYWNEbURhdUlXCjMoJFpRUDQnbDBKWl9hYydpKTsNWA1YCQlhZkQoJGwwSlpfQVpRbFs0JFpRUDQnbDBKWl9BWlFsWydpaTQnCjMzUVBfCmNlYXUnaSlEY2FKRCgkMwp1QTQnZQpacV8wWwplX0paWlFaJ2kpOw1YDVgJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzdUJyxEJ0gkCmxJaFFaUicpIkQpOw1YDVgJCSRaSjBsM0lEbUQkY2ItcHZsSlpDKEQiOTU9NUV0RGFjRC5MeyBEIkRPRG9MNS5GeURPRCJfW1EwSUQ8RzVMNUQKbElRWm0nSCQKbEloUVpSJ0RTQnJECltbWlFXSm0ncyciRCk7DVgJCQkNWAkJUGhhM0pEKEQkWlFQRG1EJGNiLXBBSklfClpaCkMoRCRaSjBsM0lEKUQpREgNWAkJCSRhY0RtRGF1SVcKMyhEJFpRUDQnYWMnaUQpOw1YCQkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBEOTV0RHVKUDBfdWxlbXVKUDBfdWxlLThEPEc1TDVEbDBKWl9hY20nSCRsMEpaX2FjUiciRCk7DVgNWAkJCSRjYi1wdmxKWkMoRCJyNT01dDVELkx7IEQiRE9Eb0w1LkZ5RE9EIl9bUTBJRDxHNUw1RGFjbSdIJGFjUiciRCk7DVgJCQkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPRG9MNS5GeURPRCJfW1EwSV9KXUlaCjBEPEc1TDVEdUpQMF9hY20nSCRhY1InIkQpOw1YCQkJJGNiLXB2bEpaQyhEInI1PTV0NUQuTHsgRCJET0RvTDUuRnlET0QiX1tRMzNEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7DVgJCQkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPRG9MNS5GeURPRCJfW1EzM18zUUFEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7DVgJCQkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPRG9MNS5GeURPRCJfW1EwSV8zUUFEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7DVgJCQkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPRG9MNS5GeURPRCJfM1FBMEQ8RzVMNUR1SlAwX2FjRG1EJ0gkYWNSJyJEKTsNWAkJCSRjYi1wdmxKWkMoRCJyNT01dDVELkx7IEQiRE9Eb0w1LkZ5RE9EIl9JCkEwRDxHNUw1RHVKUDBfYWNEbUQnSCRhY1InIkQpOw1YCQkJJGNiLXB2bEpaQyhEInI1PTV0NUQuTHsgRCJET0RvTDUuRnlET0QiX11mMEoKWmpoRDxHNUw1RHVKUDBfYWNEbUQnSCRhY1InIkQpOw1YCQkJY0ozSklKalFlZUp1STBiQ3VKUDBhYygkYWMpOw1YCQkJDVgJCQkkY2ItcHZsSlpDKEQiOTU9NUV0RFF1MEpaV0paRC5MeyBEIkRPRG9MNS5GeURPRCJfZmEzSjBEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7DVgNWAkJCVBoYTNKRChEJFpRUERtRCRjYi1wQUpJX1pRUCgpRClESA1YCQkJCSRsWjNEbURKXVszUWNKKEQiayIsRCRaUVA0J1F1MEpaV0paJ2lEKTsNWA1YCQkJCWFmKERqUWx1SShEJGxaM0QpRG1tRFZEKURIDVgJCQkJCQkNWAkJCQkJJGZRM2NKWl9bWkpmYV1EbUQkbFozNHNpRE9EImsiOw1YCQkJCQkkZmEzSkRtRCRsWjM0OGk7DVgJCQkJCQ1YCQkJCVJESjMwSkRIDVgJCQkJCQkNWAkJCQkJJGZRM2NKWl9bWkpmYV1EbUQiIjsNWAkJCQkJJGZhM0pEbUQkbFozNHNpOw1YCQkJCQkNWAkJCQlSDVgJCQkJJGZhM0pEbURJUUlaCnUwM2FJKEQkZmEzSixEZgozMEpEKTsNWAkNWAkJCQlhZihESVphZSgkZmEzSilEbW1EIk9oSQpqakowMCIpRGNhSigiRwpqcWF1QUQKSUlKZVtJISIpOw1YDVgJCQkJQGx1M2F1cShETHt7dF9yRkxET0Qia2xbM1EKYzBrZmEzSjBrIkRPRCRmUTNjSlpfW1pKZmFdRE9EJGZhM0pEKTsNWAkJCVINWA1YCQkJJGNiLXB2bEpaQyhEInI1PTV0NUQuTHsgRCJET0RvTDUuRnlET0QiX2ZhM0owRDxHNUw1RHVKUDBfYWNEbUQnSCRhY1InIkQpOw1YDVgJCQkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdERhZQpBSjBERC5MeyBEIkRPRG9MNS5GeURPRCJfYWUKQUowRFBoSlpKRHVKUDBfYWNEbUQnSCRhY1InIkQpOw1YCQkJDVgJCQkkM2EwSWFlCkFKMERtREpdWzNRY0ooRCJ8fHwiLEQkWlFQNCdhZQpBSjAnaUQpOw1YCQkJDVgJCQlhZihEJFpRUDQnYWUKQUowJ2lEIW1EIiJEKURmUVpKCmpoRChEJDNhMElhZQpBSjBECjBEJGMKSQphZQpBSjBEKURIDVgJCQkJJGxaM19hZQpBSkRtREpdWzNRY0ooRCJrIixEJGMKSQphZQpBSjBEKTsNWAkJCQkNWAkJCQlhZihEalFsdUkoRCRsWjNfYWUKQUpEKURtbURWRClESA1YCQkJCQkNWAkJCQkJJGZRM2NKWl9bWkpmYV1EbUQkbFozX2FlCkFKNHNpRE9EImsiOw1YCQkJCQkkYwpJCmFlCkFKMERtRCRsWjNfYWUKQUo0OGk7DVgJCQkJDVgJCQkJUkRKMzBKREgNWAkJCQkJDVgJCQkJCSRmUTNjSlpfW1pKZmFdRG1EIiI7DVgJCQkJCSRjCkkKYWUKQUowRG1EJGxaM19hZQpBSjRzaTsNWAkJCQkNWAkJCQlSDVgJCQkJDVgJCQkJQGx1M2F1cShETHt7dF9yRkxET0Qia2xbM1EKYzBrW1EwSTBrIkRPRCRmUTNjSlpfW1pKZmFdRE9EJGMKSQphZQpBSjBEKTsNWAkJCQlAbHUzYXVxKERMe3t0X3JGTERPRCJrbFszUQpjMGtbUTBJMGsiRE9EJGZRM2NKWl9bWkpmYV1ET0QiSWhsZWIwayJET0QkYwpJCmFlCkFKMEQpOw1YCQkJCUBsdTNhdXEoREx7e3RfckZMRE9EImtsWzNRCmMwa1tRMEkwayJET0QkZlEzY0paX1taSmZhXURPRCJlSmNhbGVrIkRPRCRjCkkKYWUKQUowRCk7DVgJCQlSDVgJCQkNWAkJCSRjYi1wdmxKWkMoRCJyNT01dDVELkx7IEQiRE9Eb0w1LkZ5RE9EIl9hZQpBSjBEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7DVgJCQkNWAkJUg1YDVgJCSRjYi1wZlpKSihEJFpKMGwzSUQpOw1YCQkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaMEQ5NXREWkowSVphaklKY20nVScsRFpKMElaYWpJSmNfYwpDMG0ncydEPEc1TDVEbDBKWl9hY0RtJ0gkbDBKWl9hY1InIkQpOw1YCQlqM0oKWl9qCmpoSigpOw1YCQkkYmxmZkpaRG1EJDMKdUE0J2UKWnFfMFsKZV9RcV9WJ2k7DVgNWAlSREozMEpEY2FKRCgiSlpaUVoiKTsNWA1YUg1YDVgNWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJqM0oKWltRMzMiKURIDVgNWAlhZkQoRCEkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCcKMzNRUF8KMzNfSmNhSSdpKURjYUpEKCJKWlpRWiIpOw1YDVgJYWYoRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEbW1EIiJEUVpEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIDVgJCQ1YCQljYUpEKCJKWlpRWiIpOw1YCQ1YCVINWA1YCSRhY0RtRGF1SVcKMyhEJF9MNXdLNTl0NCdhYydpRCk7DVgJDVgJYWYoRCRhY0QxRDhEKURjYUooRCJKWlpRWiJEKTsNWAkNWAkkY2ItcHZsSlpDKEQiS29yU3Q1REQiRE9Eb0w1LkZ5RE9EIl9bUTMzRDk1dEREV1FJSjBtJ3MnLEQKdTBQSlptJydEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7DVgJJGNiLXB2bEpaQyhEInI1PTV0NUQuTHsgRCJET0RvTDUuRnlET0QiX1tRMzNfM1FBRDxHNUw1RHVKUDBfYWNtJ0gkYWNSJyJEKTsNWAkNWAkkYmxmZkpaRG1EJDMKdUE0J2ozSgpaX1tRMzNfVidpOw1YDVhSDVgNWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJqUWVlSnVJMFtsYjNhaiIpREgNWA1YCWFmRChEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwpjZWF1X2pRZWVKdUkwJ2kpRGNhSkQoIkpaWlFaIik7DVgNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJDVgJCWNhSkQoIkpaWlFaIik7DVgJDVgJUg1YCQ1YCSRqX2FjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTsNWAkkW1EwSV9hY0RtRGF1SVcKMyhEJF9MNXdLNTl0NCdbUTBJX2FjJ2lEKTsNWAkNWAkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX2pRZWVKdUkwRDk1dEQKW1taUVdKbSc4J0Q8RzVMNURhY20nSCRqX2FjUiciRCk7DVgJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9Eb0w1LkZ5RE9EIl9bUTBJRDk1dERqUWVlX3VsZW1qUWVlX3VsZSs4RDxHNUw1RGFjbSdIJFtRMElfYWNSJyJEKTsNWA1YCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzg2JyxEJycpIkQpOw1YCQ1YCWozSgpaX2oKamhKKCk7DVgNWAlhZkQoRCRqUXVmYUE0JwozM1FQXzBsYjBqWmFiSidpRClESA1YDVgJCSRaUVBEbUQkY2ItcDBsW0paX3ZsSlpDKEQiOTU9NUV0RApsSVFaLERJSl1JLERbClpKdUlELkx7IEQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJMEQ8RzVMNURhY0RtRCdIJGpfYWNSJyJEKTsNWA1YCQkkdQplSkRtRCRaUVA0JwpsSVFaJ2k7DVgJCSRiUWNDRG1EJFpRUDQnSUpdSSdpOw1YCQkkWwpaSnVJRG1EJFpRUDQnWwpaSnVJJ2k7DVgJCQ1YCQlhdWozbGNKX1F1akpENUJ4RkI1X3JGTERPRCdrajMKMDBKMGtlCmEzT2ozCjAwT1toWyc7DVgNWAkJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREYWMsRDBoUVpJXzBJUVpDLERJYUkzSixEYwpJSixECjNJX3UKZUosRGoKSUpBUVpDRC5MeyBEIk9vTDUuRnlPIl9bUTBJRDxHNUw1RGFjRG1EJ0gkW1EwSV9hY1InIkQpOw1YDVgJCSRaUVA0J2MKSUonaURtRDBJWklRSWFlSihEJFpRUDQnYwpJSidpRCk7DVgJCSRaUVA0J2oKSUpBUVpDJ2lEbURhdUlXCjMoRCRaUVA0J2oKSUpBUVpDJ2lEKTsNWA1YCQlhZihEJGpRdWZhQTQnCjMzUVBfCjNJX2xaMydpRClESA1YCQkJCQ1YCQkJYWYoRCRqUXVmYUE0JzBKUV9JQ1tKJ2lEbW1EOER7TEQkalF1ZmFBNCcwSlFfSUNbSidpRG1tRFZEKURIDVgJCQkNWAkJCQlhZihEJFpRUDQnagpJSkFRWkMnaUQKdWNEJGpRdWZhQTQnMEpRX0lDW0onaURtbURWRClESA1YCQkJCQkNWAkJCQkJJGZsMzNfM2F1cURtRCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaURPREFKSV9sWjMoRCRaUVA0J2oKSUpBUVpDJ2lEKURPRCJrIkRPRCRaUVA0J2FjJ2lET0QiLSJET0QkWlFQNCcKM0lfdQplSidpRE9EIk9oSWUzIjsNWAkJCQkJDVgJCQkJUkRKMzBKREgNWAkJCQkJDVgJCQkJCSRmbDMzXzNhdXFEbUQkalF1ZmFBNCdoSUlbX2hRZUpfbFozJ2lET0QkWlFQNCdhYydpRE9EIi0iRE9EJFpRUDQnCjNJX3UKZUonaURPRCJPaEllMyI7DVgJCQkJCQ1YCQkJCVINWAkJCQkNWAkJCVJESjMwSkRIDVgJCQkJDVgJCQkJJGZsMzNfM2F1cURtRCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaURPRGMKSUooRCdNa2VrY2snLEQkWlFQNCdjCklKJ2lEKURPRCRaUVA0JwozSV91CmVKJ2lET0QiT2hJZTMiOw1YCQkJUg1YCQkJDVgJCVJESjMwSkRIDVgJCQkJDVgJCQkkZmwzM18zYXVxRG1EJGpRdWZhQTQnaElJW19oUWVKX2xaMydpRE9EImF1Y0pdT1toWz91SlAwYWNtIkRPRCRaUVA0J2FjJ2k7DVgJCQkNWAkJUg1YCQ1YCQkkSWFJM0pEbUQwSVphWzAzCjBoSjAoJFpRUDQnSWFJM0onaSk7DVgJCQ1YCQkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdEQqRC5MeyBEIkRPRG9MNS5GeURPRCJfSmUKYTNEPEc1TDVEdQplSm0nalFlZUp1STAnRD1GIEZ0RHMsOCJEKTsNWAkJJGUKYTNEbUR1SlBEYzNKX2UKYTMoRCRqUXVmYUEsRCRaUVA0J2wwSl9oSWUzJ2lEKTsNWA1YCQlhZkQoMElaW1EwKCRmbDMzXzNhdXEsRCJrayIpRG1tbURzKUQkZmwzM18zYXVxRG1EImhJSVs6Ik8kZmwzM18zYXVxOw1YCQlKMzBKYWZEKDBJWltRMCgkZmwzM18zYXVxLEQiayIpRG1tbURzKUQkZmwzM18zYXVxRG1EImhJSVs6a2siTyRfOTVMLzVMNCdHdHRvX0d7OXQnaU8kZmwzM18zYXVxOw1YDVgJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVphWzAzCjBoSjAoRCRaUVA0J0lKZVszCklKJ2lEKTsNWAkJJFpRUDQnSUplWzMKSUonaURtRDBJWl9aSlszCmpKKEQiSCVsMEpadQplSiVSIixEJHUKZUosRCRaUVA0J0lKZVszCklKJ2lEKTsNWAkJJFpRUDQnSUplWzMKSUonaURtRDBJWl9aSlszCmpKKEQiSCVjCklKJVIiLEQzCnVBYwpJSihEIllELkRNREc6YSIsRCRfdEYgNSxESVpsSkQpLEQkWlFQNCdJSmVbMwpJSidpRCk7DVgJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVpfWkpbMwpqSihEIkglM2F1cSVSIixEJGZsMzNfM2F1cSxEJFpRUDQnSUplWzMKSUonaUQpOw1YCQkkWlFQNCdJSmVbMwpJSidpRG1EMElaX1pKWzMKakooRCJIJUlhSTNKJVIiLEQkSWFJM0osRCRaUVA0J0lKZVszCklKJ2lEKTsNWA1YCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQnXHUnLEQiIixEJGJRY0NEKTsNWAkJJGJRY0NEbUQwSVpfWkpbMwpqSihEJ1xaJyxEIiIsRCRiUWNDRCk7DVgJCQkNWAkJJGJRY0NEbUQwSVphWzAzCjBoSjAoRDBJWmFbMDMKMGhKMChEJGJRY0NEKUQpOw1YCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQiMWJaRGtwIixEIlx1IixEJGJRY0NEKTsNWAkJJGJRY0NEbUQwSVphW19JCkEwKEQkYlFjQ0QpOw1YCQkJDVgJCWFmKEQkWlFQNCdsMEpfaEllMydpRClESA1YCQkJJGJRY0NEbUQwSVpfWkpbMwpqSigiXHUiLEQiMWJaRGtwIixEJGJRY0NEKTsNWAkJUg1YCQkJCQkNWAkJJFpRUDQnSUplWzMKSUonaURtRDBJWl9aSlszCmpKKEQiSCVJSl1JJVIiLEQkYlFjQyxEJFpRUDQnSUplWzMKSUonaUQpOw1YCQkkWlFQNCdJSmVbMwpJSidpRG1EMElaX1pKWzMKakooRCJIJWFbJVIiLEQiLS0iLEQkWlFQNCdJSmVbMwpJSidpRCk7DVgJCQ1YCQkkZlFsdWNfdUpQMF8KbEloUVpfMGxiMGpaYWJKRG1EZgozMEo7DVgJCSRmUWx1Y19aSlszQ18KbEloUVpfMGxiMGpaYWJKRG1EZgozMEo7DVgJCQ1YCQkkdUpQMF8KbEloUVpfMGxiMGpaYWJKRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdEQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBPbDBKWl9hYyxEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT3UKZUosRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME9KZQphMyxEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT3VKUDBfMGxiMGpaYWJKRC5MeyBEIkRPRG9MNS5GeURPRCJfW1EwSV9KXUlaCjBEPTUudEQ+e0ZCRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaMER7QkQiRE9Eb0w1LkZ5RE9EIl9bUTBJX0pdSVoKME9sMEpaX2FjbSJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME9sMEpaX2FjRDxHNUw1RCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowT3VKUDBfYWNtJ0gkW1EwSV9hY1InIkQpOw1YCQkNWAkJYWYoRCRbClpKdUlEKURIDVgJCQkkWkpbM0NfCmxJaFFaXzBsYjBqWmFiSkRtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT2wwSlpfYWMsRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME91CmVKLEQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBPSmUKYTMsRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME9qUWVlSnVJMF9aSlszQ18wbGIwalphYkpELkx7IEQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJMEQ9NS50RD57RkJEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowRHtCRCJET0RvTDUuRnlET0QiX2pRZWVKdUkwT2wwSlpfYWNtIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT2wwSlpfYWNEPEc1TDVEIkRPRG9MNS5GeURPRCJfalFlZUp1STBPYWNtJ0gkWwpaSnVJUiciRCk7DVgJCVJESjMwSkQkWkpbM0NfCmxJaFFaXzBsYjBqWmFiSkRtRApaWgpDKCk7CQ1YDVgJCWFmRCgwSVpbUTAoJGpRdWZhQTQnaElJW19oUWVKX2xaMydpLEQia2siKURtbW1EcylEJDAzYXVxRG1EImhJSVs6Ik8kalF1ZmFBNCdoSUlbX2hRZUpfbFozJ2k7DVgJCUozMEphZkQoMElaW1EwKCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaSxEImsiKURtbW1EcylEJDAzYXVxRG1EImhJSVs6a2siTyRfOTVMLzVMNCdHdHRvX0d7OXQnaU8kalF1ZmFBNCdoSUlbX2hRZUpfbFozJ2k7DVgJCUozMEpEJDAzYXVxRG1EJGpRdWZhQTQnaElJW19oUWVKX2xaMydpOw1YCQkJCQ1YCQkkY2ItcHZsSlpDKEQiOTU9NUV0RGwwSlpfYWMsRHUKZUosREplCmEzLERoCjBoRC5MeyBEIkRPRG9MNS5GeURPRCJfMGxiMGpaYWJKRDxHNUw1RHVKUDBfYWNtJ0gkW1EwSV9hY1InIkQpOw1YDVgJCVBoYTNKKCRaSmpEbUQkY2ItcEFKSV9aUVAoKSkNWAkJSA1YCQkJYWYoRCRaSmo0J2wwSlpfYWMnaURtbUQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCdsMEpaX2FjJ2lEKURIDVgJCQkJJGZRbHVjX3VKUDBfCmxJaFFaXzBsYjBqWmFiSkRtRElabEo7DVgJCQlSDVgJCQkJDVgJCQlhZihEJFsKWkp1SURTQnJEJFpKajQnbDBKWl9hYydpRG1tRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCdsMEpaX2FjJ2lEKURIDVgJCQkJJGZRbHVjX1pKWzNDXwpsSWhRWl8wbGIwalphYkpEbURJWmxKOw1YCQkJUg1YCQkJCQ1YCQkJYWZEKCRaSmo0J2wwSlpfYWMnaUQhbUQkZUplYkpaX2FjNCdsMEpaX2FjJ2lEKURIDVgJCQ1YCQkJCSRiUWNDRG1EMElaX1pKWzMKakooRCJIJWwwSlp1CmVKX0lRJVIiLEQkWkpqNCd1CmVKJ2ksRCRaUVA0J0lKZVszCklKJ2lEKTsNWAkJCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQiSCVsdTBsYjBqWmFiSiVSIixEJDAzYXVxRE9EImF1Y0pdT1toWz9jUW1sdTBsYjBqWmFiSiZbUTBJX2FjbSJET0QkW1EwSV9hY0RPRCImbDBKWl9hY20iRE9EJFpKajQnbDBKWl9hYydpRE9EIiZoCjBobSJET0QkWkpqNCdoCjBoJ2ksRCRiUWNDRCk7DVgJCQkJJGUKYTMtcDBKdWMoRCRaSmo0J0plCmEzJ2ksRCQzCnVBNCdlCmEzX2pRZWVKdUkwJ2ksRCRiUWNDRCk7DVgNWAkJCVINWA1YCQlSDVgNWAkJYWYoJHVKUDBfCmxJaFFaXzBsYjBqWmFiSjQndUpQMF8wbGIwalphYkonaURTQnJEISRmUWx1Y191SlAwXwpsSWhRWl8wbGIwalphYkopREgNWAkJCQ1YCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbDBKWnUKZUpfSVElUiIsRCR1SlAwXwpsSWhRWl8wbGIwalphYko0J3UKZUonaSxEJFpRUDQnSUplWzMKSUonaUQpOw1YCQkJDVgJCQlhZkQoJGpRdWZhQTQnCjMzUVBfCjNJX2xaMydpKURIDVgJCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbHUwbGIwalphYkolUiIsRCQwM2F1cURPRCJsMEpaayJET0RsWjNKdWpRY0pEKEQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCd1CmVKJ2lEKURPRCJrIixEJGJRY0NEKTsNWAkJCVJESjMwSkRIDVgJCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbHUwbGIwalphYkolUiIsRCQwM2F1cURPRCJhdWNKXU9baFs/PzBsYgpqSWFRdW1sMEpaYXVmUSZsMEpabSJET0RsWjNKdWpRY0pEKEQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCd1CmVKJ2lEKSxEJGJRY0NEKTsNWAkJCVINWAkJCQ1YCQkJJGUKYTMtcDBKdWMoRCR1SlAwXwpsSWhRWl8wbGIwalphYko0J0plCmEzJ2ksRCQzCnVBNCdlCmEzX2pRZWVKdUkwJ2ksRCRiUWNDRCk7DVgJCQkNWAkJCSQzCjBJXzBKdWNEbUQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCdsMEpaX2FjJ2k7DVgJCQkNWAkJUkRKMzBKRCQzCjBJXzBKdWNEbURmCjMwSjsNWAkJDVgJCWFmKCRbClpKdUlEU0JyRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCdqUWVlSnVJMF9aSlszQ18wbGIwalphYkonaURTQnJEISRmUWx1Y19aSlszQ18KbEloUVpfMGxiMGpaYWJKRFNCckQkWkpbM0NfCmxJaFFaXzBsYjBqWmFiSjQnbDBKWl9hYydpRCFtRCQzCjBJXzBKdWMpREgNWAkJCQ1YCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbDBKWnUKZUpfSVElUiIsRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCd1CmVKJ2ksRCRaUVA0J0lKZVszCklKJ2lEKTsNWAkJCQ1YCQkJYWZEKCRqUXVmYUE0JwozM1FQXwozSV9sWjMnaSlESA1YCQkJCSRiUWNDRG1EMElaX1pKWzMKakooRCJIJWx1MGxiMGpaYWJKJVIiLEQkMDNhdXFET0QibDBKWmsiRE9EbFozSnVqUWNKRChEJFpKWzNDXwpsSWhRWl8wbGIwalphYko0J3UKZUonaUQpRE9EImsiLEQkYlFjQ0QpOw1YCQkJUkRKMzBKREgNWAkJCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQiSCVsdTBsYjBqWmFiSiVSIixEJDAzYXVxRE9EImF1Y0pdT1toWz8/MGxiCmpJYVF1bWwwSlphdWZRJmwwSlptIkRPRGxaM0p1alFjSkQoRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCd1CmVKJ2lEKSxEJGJRY0NEKTsNWAkJCVINWAkJCQ1YCQkJJGUKYTMtcDBKdWMoRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCdKZQphMydpLEQkMwp1QTQnZQphM19qUWVlSnVJMCdpLEQkYlFjQ0QpOw1YCQlSDVgNWAkJJGNiLXBmWkpKKCk7DVgJUg1YCQ1YCSRibGZmSlpEbUQnUXEnOwkNWFINWA1YYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImpRZWVKdUkwMFsKZSIpREgNWA1YCWFmRChEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0J2NKM18KMzNqJ2kpRGNhSkQoIkpaWlFaIik7DVgNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJDVgJCWNhSkQoIkpaWlFaIik7DVgJDVgJUg1YDVgJJGFjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTsNWAkNWAlhZihEJGFjRDFEOEQpRGNhSihEIkpaWlFaIkQpOw1YDVgJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREYWMsRGwwSlpfYWMsRApsSVFaLERKZQphMyxEYVssRGEwX1pKQWEwSUpaRC5MeyBEIkRPRG9MNS5GeURPRCJfalFlZUp1STBEPEc1TDVEYWNEbUQnSCRhY1InIkQpOw1YDVgJYWZEKCRaUVA0J2FjJ2kpCUgNWA1YCQkkbDBKWl9hY0RtRGF1SVcKMygkWlFQNCdsMEpaX2FjJ2kpOw1YCQkkCmxJaFFaRG1EJGNiLXAwCmZKMHYzKCRaUVA0JwpsSVFaJ2kpOw1YCQkkSmUKYTNEbUQkY2ItcDAKZkowdjMoJFpRUDQnSmUKYTMnaSk7DVgJCSRhMF9aSkFhMElKWkRtRCRaUVA0J2EwX1pKQWEwSUpaJ2k7DVgJCSRhW0RtRCRjYi1wMApmSjB2MygkWlFQNCdhWydpKTsNWA1YCQlhZkQoRCRhMF9aSkFhMElKWkQpREgNWA1YCQkJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREbDBKWl9BWlFsW0QuTHsgRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaMEQ8RzVMNURsMEpaX2FjRG1EJ0gkbDBKWl9hY1InIkQpOw1YDVgJCQlhZkQoJGwwSlpfQVpRbFs0JFpRUDQnbDBKWl9BWlFsWydpaTQnCjMzUVBfCmNlYXUnaSlEY2FKRCgkMwp1QTQnZQpacV8wWwplX0paWlFaJ2kpOw1YDVgJCQkkY2ItcHZsSlpDKEQiRkI5NUx0REZCdHtEIkRPREs5NUxvTDUuRnlET0QiXwpjZWF1XzNRQTBEKHUKZUosRGMKSUosRGFbLEQKaklhUXUsREpdSVoKMClEVwozbEowRCgnIk8kY2ItcDAKZkowdjMoJGVKZWJKWl9hYzQndQplSidpKU8iJyxEJ0gkX3RGIDVSJyxEJ0gkX0ZvUicsRCc3VCcsRCdIJApsSWhRWlInKSJEKTsNWA1YCQkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBEOTV0RGpRZWVfdWxlbSdzJyxEWkowSVphaklKY20nVScsRFpKMElaYWpJSmNfYwpDMG0ncydEPEc1TDVEbDBKWl9hY0RtJ0gkbDBKWl9hY1InIkQpOw1YCQkJDVgJCQljSjNKSUpqUWVlSnVJMGJDbDBKWmFjKCRsMEpaX2FjKTsNWA1YDVgJCVJESjMwSkRIDVgNWAkJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzc3JyxEJ0gkCmxJaFFaUicpIkQpOw1YDVgJCQljSjNKSUpqUWVlSnVJMGJDbDBKWmFjKHMsRCRhWyk7DVgNWAkJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfYgp1dUpjRChjSjBqWixEYwpJSixEYwpDMCxEYVspRFcKM2xKMEQoJ0gkMwp1QTQnZQpacV8wWwplX1FxXzgnaVInLEQncycsRCdzJyxEJ0gkYVtSJykiRCk7DVgJCQlAbHUzYXVxKEQ1QnhGQjVfckZMRE9EJ2tqCmpoSmswQzBJSmVrYgp1dUpjT1toWydEKTsNWA1YCQlSDVgNWAkJajNKClpfagpqaEooKTsNWA1YCQlhZkQoRCRKZQphM0RTQnJEMElaM0p1KCRqUXVmYUE0JzBbCmVfClthX3FKQydpKURwRFVEKURIDVgJCQ1YCQkJYXVqM2xjSl9RdWpKRDVCeEZCNV9yRkxET0Qna2ozCjAwSjBrMElRWzBbCmVPajMKMDBPW2hbJzsNWAkJCSQwZjBEbUR1SlBEOUlRWzlbCmUoJGpRdWZhQTQnMFsKZV8KW2FfcUpDJ2ksRCRqUXVmYUE0JzBKal8KY2N1SlAwJ2kpOw1YCQkJJApaQTBEbUQKWloKQygnYVtfCmNjWidEbXBEJGFbLEQnbDBKWnUKZUonRG1wRCQKbEloUVosRCdKZQphMydEbXBEJEplCmEzRCk7DVgJCQkkMGYwLXAKY2MoRCQKWkEwRCk7DVgJCQ1YCQlSDVgNWAkJJGJsZmZKWkRtRCQzCnVBNCdlClpxXzBbCmVfUXEnaTsJCQ1YDVgJUkRKMzBKRGNhSkQoIkpaWlFaIik7DVhSDVgNWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJqM0oKWmoKamhKIilESA1YDVgJYWZEKEQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lEIW1EOEQpRGNhSkQoIkpaWlFaIik7DVgNWAkkZmNhWkRtRFFbSnVjYVooRDVCeEZCNV9yRkxET0Qna2oKamhKazBDMElKZWsnRCk7DVgJUGhhM0pEKEQkZmEzSkRtRFpKCmNjYVooRCRmY2FaRClEKURIDVgJCWFmKEQkZmEzSkQhbUQnTydECnVjRCRmYTNKRCFtRCdPTydECnVjRCRmYTNKRCFtRCdPaEkKampKMDAnRAp1Y0QkZmEzSkQhbUQnalpRdU9baFsnRClESA1YCQkJQGx1M2F1cShENUJ4RkI1X3JGTERPRCdragpqaEprMEMwSUplaydET0QkZmEzSkQpOw1YCQkNWAkJUg1YCVINWAkNWAlqM0oKWl9qCmpoSigpOw1YDVgJJGJsZmZKWkRtRCQzCnVBNCdqM0oKWl9qCmpoSidpOw1YDVhSDVgNWA1YYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImozSgpaMGxiMGpaYWJKIilESA1YDVgJYWZEKEQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lEIW1EOEQpRGNhSkQoIkpaWlFaIik7DVgJDVgJYWYoRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEbW1EIiJEUVpEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIDVgJCWNhSkQoIkpaWlFaIik7DVgJUg1YDVgJJGNiLXB2bEpaQygidExLQkVTdDVEdFMyPTVEIkRPRG9MNS5GeURPRCJfMGxiMGpaYWJKIik7DVgNWAkkYmxmZkpaRG1EJDMKdUE0J2ozSgpaXzBsYjBqWmFiSidpOw1YDVhSDVgNWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJqM0oKWjBsYjBqWmFiSnVKUDAiKURIDVgNWAlhZkQoRCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaUQhbUQ4RClEY2FKRCgiSlpaUVoiKTsNWAkNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJY2FKRCgiSlpaUVoiKTsNWAlSDVgJDVgJJGFjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTsNWAkNWAlhZihEJGFjRDFEOEQpRGNhSihEIkpaWlFaIkQpOw1YCQ1YCSRjYi1wdmxKWkMoRCJyNT01dDVELkx7IEQiRE9Eb0w1LkZ5RE9EIl8wbGIwalphYkpEPEc1TDVEdUpQMF9hY20nSCRhY1InIkQpOw1YDVgJJGJsZmZKWkRtRCQzCnVBNCdqM0oKWl8wbGIwalphYkonaTsNWA1YUg1YDVhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiMEp1Y3VRSWFqSiIpREgNWA1YCSRaUVBEbUQkY2ItcDBsW0paX3ZsSlpDKEQiOTU9NUV0RGFjRC5MeyBEIkRPRG9MNS5GeURPRCJfdVFJYWpKRDxHNUw1RGwwSlpfYWNEbUQnSCRlSmViSlpfYWM0J2wwSlpfYWMnaVInIkQpOw1YCQ1YCSR1UUlhakpEbURqUXVXSlpJX2x1YWpRY0ooJF9vezl0NCd1UUlhakonaSxEJGpRdWZhQTQnamgKWjBKSSdpKTsNWAkNWAlhZihEZmx1aklhUXVfSl1hMEkwKEQiQUpJX2UKQWFqX3ZsUUlKMF9BW2oiRClEJiZEQUpJX2UKQWFqX3ZsUUlKMF9BW2ooKUQpRCR1UUlhakpEbUQwSVphWzAzCjBoSjAoRCR1UUlhakpEKTsNWAkNWAkkdVFJYWpKRG1EJGNiLXAwCmZKMHYzKEQkdVFJYWpKRCk7DVgJDVgJYWYoRGMzSl8wSVozSnUoRCR1UUlhakosRCRqUXVmYUE0J2poClowSkknaUQpRHBETmRzc3NEKURIDVgJCWNhSihEIkpaWlFaIkQpOw1YCVINWAkNWAlhZihEJFpRUDQnYWMnaUQpREgNWAkJDVgJCSRjYi1wdmxKWkMoRCJLb3JTdDVEIkRPRG9MNS5GeURPRCJfdVFJYWpKRDk1dER1UUlhakptJ0gkdVFJYWpKUidEPEc1TDVEbDBKWl9hY0RtRCdIJGVKZWJKWl9hYzQnbDBKWl9hYydpUiciRCk7DVgJDVgJUkRKMzBKREgNWAkJDVgJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9Eb0w1LkZ5RE9EIl91UUlhakpEKGwwSlpfYWMsRHVRSWFqSilEVwozbEowRCgnSCRlSmViSlpfYWM0J2wwSlpfYWMnaVInLEQnSCR1UUlhakpSJykiRCk7DVgJDVgJUg1YDVgJJGJsZmZKWkRtRCIxZlF1SURqUTNRWm1cIkFaSkp1XCJwIk8kMwp1QTQnMApXSmMnaU8iMWtmUXVJcCI7DVgNWFINWA1YYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImNKM0pJSmVRY2wzSjAiKURIDVgNWAlhZkQoRCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaUQhbUQ4RClEY2FKRCgiSlpaUVoiKTsNWA1YCSRhY0RtRGF1SVcKMygkX0w1d0s1OXQ0J2FjJ2kpOw1YDVgJYWZEKEQkYWNEKURIDVgJCSRjYi1wdmxKWkMoRCJyNT01dDVELkx7IEQiRE9Eb0w1LkZ5RE9EIl8KY2VhdV8wSmpJYVF1MEQ8RzVMNURhY0RtRCdIJGFjUiciRCk7DVgJDVgJCSRibGZmSlpEbUQnUXEnOw1YCVINWA1YUg1YDVhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiagpJMFFaSSIpREgNWA1YCWFmKEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCmNlYXVfagpJSkFRWmFKMCdpRClEY2FKRCgiSlpaUVoiKTsNWAkNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJDVgJCWNhSkQoIkpaWlFaIik7DVgJDVgJUg1YDVgJJF9vezl0NCczYTBJJ2lEbURZMFF1X2NKalFjSigwSVphWzAzCjBoSjAoJF9vezl0NCczYTBJJ2kpLERJWmxKKTsNWA1YCWFmRChEIWEwXwpaWgpDKCRfb3s5dDQnM2EwSSdpKUQpRGNhSkQoIkpaWlFaIik7DVgJDVgJJF9vezl0NCczYTBJJ2lEbURbClowSj4wUXVTWloKQygkX297OXQ0JzNhMEknaSk7DVgJDVgJJGFtRHM7DVgNWAlmUVpKCmpoRChEJF9vezl0NCczYTBJJ2lECjBEJFcKM2xKRClESA1YCQkkYSsrOw1YDVgJCSRhY0RtRGF1SVcKMygkVwozbEo0J2FjJ2kpOw1YCQkkWwpaSnVJYWNEbURhdUlXCjMoJFcKM2xKNCdbClpKdUlhYydpKTsNWAkJDVgJCWFmRChEJGFjRClESA1YDVgJCQkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX2oKSUpBUVpDRDk1dERbClpKdUlhY20nSCRbClpKdUlhY1InLERbUTBhbSdIJGFSJ0Q8RzVMNURhY0RtRCdIJGFjUiciRCk7DVgNWAkJUg1YCVINWA1YCUBsdTNhdXEoRDVCeEZCNV9yRkxET0Qna2oKamhKazBDMElKZWtqCklKQVFaQ09baFsnRCk7DVgJJGNiLXB2bEpaQyhEIkZCOTVMdERGQnR7RCJET0RLOTVMb0w1LkZ5RE9EIl8KY2VhdV8zUUEwRCh1CmVKLERjCklKLERhWyxECmpJYVF1LERKXUlaCjApRFcKM2xKMEQoJyJPJGNiLXAwCmZKMHYzKCRlSmViSlpfYWM0J3UKZUonaSlPIicsRCdIJF90RiA1UicsRCdIJF9Gb1InLEQnODgnLEQnJykiRCk7DVgNWAkkYmxmZkpaRG1EJ1FxJzsNWA1YUg1YDVgNWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJdZjBRWkkiKURIDVgNWAlhZihEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwpjZWF1X11mYUozYzAnaUQpRGNhSkQoIkpaWlFaIik7DVgNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJDVgJCWNhSkQoIkpaWlFaIik7DVgJDVgJUg1YDVgJJF9vezl0NCczYTBJJ2lEbURZMFF1X2NKalFjSigwSVphWzAzCjBoSjAoJF9vezl0NCczYTBJJ2kpLERJWmxKKTsNWA1YCWFmRChEIWEwXwpaWgpDKCRfb3s5dDQnM2EwSSdpKUQpRGNhSkQoIkpaWlFaIik7DVgJDVgJJF9vezl0NCczYTBJJ2lEbURbClowSj4wUXVTWloKQygkX297OXQ0JzNhMEknaSk7DVgNWAlmbHVqSWFRdURdZmFKM2MwMApXSigkYwpJCilESA1YCQ1YCUREREQkYwpJCkRtRApaWgpDX1cKM2xKMCgkYwpJCik7DVgJCSRmYTNKalF1SUp1STBEbUQiIjsNWAkJDVgJRERERGZRWkoKamhEKCRjCkkKRAowRCRhdWNKXURtcEQkVwozbEopREgNWAlEREREREQkVwozbEpEbUQKWloKQ19XCjNsSjAoJFcKM2xKKTsNWAlERERERERmUVpKCmpoRCgkVwozbEpECjBEJGF1Y0pdVkRtcEQkVwozbEpWKURIDVgJREREREREREQkVwozbEpWRG1EMElaYVswMwowaEowKCRXCjNsSlYpOw1YCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCJ8IixEIiYjOFZnOyIsRCRXCjNsSlYpOw1YCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCJcWlx1IixEIl9fQjU8PV9fIixEJFcKM2xKVik7DVgJREREREREREQkZmEzSmpRdUlKdUkwRE9tRCRXCjNsSlZET0QoJGF1Y0pdVkQxRGpRbHVJKCRXCjNsSilELUQ4RD9EInwiRDpEIiIpOw1YCURERERERFINWAlEREREREQkZmEzSmpRdUlKdUkwRE9tRCgkYXVjSl1EMURqUWx1SSgkYwpJCilELUQ4RD9EIlxaXHUiRDpEIiIpOw1YCURERERSDVgJCQ1YCUREREQkZmEzSmgKdWMzSkRtRGZRW0p1KDVCeEZCNV9yRkxPJ2tjCkkKa11mYUozYzBPSV1JJyxEIlArIik7DVgJDVgJRERERGFmRCghJGZhM0poCnVjM0opRGNhSkQoIkpaWlFaIik7DVgJCQ1YCQkkZmF1Y0RtRApaWgpDRCgna2MKSQo6a2EnLCdrCmJRbEk6a2EnLCdrV2IwalphW0k6a2EnLCdrUXVqM2FqcWthJywna1F1M1EKY2thJywna1F1bHUzUQpja2EnLCdrUXUKYlFaSWthJywna1F1SlpaUVprYScsJ2tRdWIzbFprYScsJ2tRdWpoCnVBSmthJywna1F1ZlFqbDBrYScsJ2tRdVpKMEpJa2EnLCdrUXUwbGJlYUlrYScsJ2tRdWNiM2ozYWpxa2EnLCdrUXVxSkNjUVB1a2EnLCdrUXVxSkNbWkowMGthJywna1F1cUpDbFtrYScsJ2tRdWVRbDBKY1FQdWthJywna1F1ZVFsMEpsW2thJywna1F1ZVFsMEpRV0paa2EnLCdrUXVlUWwwSlFsSWthJywna1F1MEozSmpJa2EnLCdrWQpXCjBqWmFbSWthJywna1F1ZVFsMEpKdUlKWmthJywna1F1UGhKSjNrYScsJ2tRdTBoUVBrYScsJ2tRdQpmSUpaW1phdUlrYScsJ2tRdWJKZlFaSltaYXVJa2EnLCdrUXViSmZRWkpsdTNRCmNrYScsJ2tRdWgKMGhqaAp1QUprYScsJ2tRdWVKMDAKQUprYScsJ2tRdVF1M2F1SmthJywna1F1UWZmM2F1SmthJywna1F1WwpBSmhhY0prYScsJ2tRdVsKQUowaFFQa2EnLCdrUXVbUVswSQpJSmthJywna1F1WkowYX1Ka2EnLCdrUXUwSVFaCkFKa2EnLCdrUXVqUXVJSl1JZUp1bGthJywna1F1YXVXCjNhY2thJywna1F1YXVbbElrYScsJ2tRdTBKClpqaGthJywna1F1Y1oKQWthJywna1F1Y1oKQUp1Y2thJywna1F1Y1oKQUp1SUpaa2EnLCdrUXVjWgpBM0oKV0prYScsJ2tRdWNaCkFRV0paa2EnLCdrUXVjWgpBMEkKWklrYScsJ2tRdWNaUVtrYScsJ2tRdWVRbDBKZVFXSmthJywna1F1ZVFsMEpQaEpKM2thJywna1F1MGpaUTMza2EnLCdrUXVqUVtDa2EnLCdrUXVqbElrYScsJ2tRdVsKMElKa2EnLCdrUXVqCnVbMwpDa2EnLCdrUXVqCnVbMwpDSWhaUWxBaGthJywna1F1amxKamgKdUFKa2EnLCdrUXVjbFoKSWFRdWpoCnVBSmthJywna1F1SmVbSWFKY2thJywna1F1SnVjSmNrYScsJ2tRdTNRCmNKY2MKSQprYScsJ2tRdTNRCmNKY2VKSQpjCkkKa2EnLCdrUXUzUQpjMEkKWklrYScsJ2tRdVsKbDBKa2EnLCdrUXVbWlFBWkowMGthJywJJ2tRdVoKSUpqaAp1QUprYScsJ2tRdTBKSnFKY2thJywna1F1MEpKcWF1QWthJywna1F1MEkKMzNKY2thJywna1F1MGwwW0p1Y2thJywna1F1SWFlSmxbYwpJSmthJywna1F1V1EzbGVKamgKdUFKa2EnLCdrUXVQCmFJYXVBa2EnLCdrUXVJUUFBM0prYScpOw1YCQkkWkpbMwpqSkRtRApaWgpDRCgiYyYjczZUO0kKOiIsRCImI3M2VDtiUWxJOiIsRCJXYjBqWmFbSTFicDFrYnA6IixEIiYjODg4O3VqM2FqcSIsRCImIzg4ODt1M1EKYyIsRCImIzg4ODt1bHUzUQpjIixEIiYjODg4O3UKYlFaSSIsRCImIzg4ODt1SlpaUVoiLEQiJiM4ODg7dWIzbFoiLEQiJiM4ODg7dWpoCnVBSiIsRCImIzg4ODt1ZlFqbDAiLEQiJiM4ODg7dVpKMEpJIixEIiYjODg4O3UwbGJlYUkiLEQiJiM4ODg7dWNiM2ozYWpxIixEIiYjODg4O3VxSkNjUVB1IixEIiYjODg4O3VxSkNbWkowMCIsRCImIzg4ODt1cUpDbFsiLEQiJiM4ODg7dWVRbDBKY1FQdSIsRCImIzg4ODt1ZVFsMEpsWyIsRCImIzg4ODt1ZVFsMEpRV0paIixEIiYjODg4O3VlUWwwSlFsSSIsRCImIzg4ODt1MEozSmpJIixEIlkmI3M2VDtXCjBqWmFbSSIsRCcmIzg4ODt1ZVFsMEpKdUlKWicsRCcmIzg4ODt1UGhKSjMnLEQnJiM4ODg7dTBoUVAnLEQnJiM4ODg7dQpmSUpaW1phdUknLCcmIzg4ODt1YkpmUVpKW1phdUknLCcmIzg4ODt1YkpmUVpKbHUzUQpjJywnJiM4ODg7dWgKMGhqaAp1QUonLCcmIzg4ODt1ZUowMApBSicsJyYjODg4O3VRdTNhdUonLCcmIzg4ODt1UWZmM2F1SicsJyYjODg4O3VbCkFKaGFjSicsJyYjODg4O3VbCkFKMGhRUCcsJyYjODg4O3VbUVswSQpJSicsJyYjODg4O3VaSjBhfUonLCcmIzg4ODt1MElRWgpBSicsJyYjODg4O3VqUXVJSl1JZUp1bCcsJyYjODg4O3VhdVcKM2FjJywnJiM4ODg7dWF1W2xJJywnJiM4ODg7dTBKClpqaCcsJyYjODg4O3VjWgpBJywnJiM4ODg7dWNaCkFKdWMnLCcmIzg4ODt1Y1oKQUp1SUpaJywnJiM4ODg7dWNaCkEzSgpXSicsJyYjODg4O3VjWgpBUVdKWicsJyYjODg4O3VjWgpBMEkKWkknLCcmIzg4ODt1Y1pRWycsJyYjODg4O3VlUWwwSmVRV0onLCcmIzg4ODt1ZVFsMEpQaEpKMycsJyYjODg4O3UwalpRMzMnLCcmIzg4ODt1alFbQycsJyYjODg4O3VqbEknLCcmIzg4ODt1WwowSUonLCcmIzg4ODt1agp1WzMKQycsJyYjODg4O3VqCnVbMwpDSWhaUWxBaCcsJyYjODg4O3VqbEpqaAp1QUonLCcmIzg4ODt1Y2xaCklhUXVqaAp1QUonLCcmIzg4ODt1SmVbSWFKYycsJyYjODg4O3VKdWNKYycsJyYjODg4O3UzUQpjSmNjCkkKJywnJiM4ODg7dTNRCmNKY2VKSQpjCkkKJywnJiM4ODg7dTNRCmMwSQpaSScsJyYjODg4O3VbCmwwSicsJyYjODg4O3VbWlFBWkowMCcsCScmIzg4ODt1WgpJSmpoCnVBSicsJyYjODg4O3UwSkpxSmMnLCcmIzg4ODt1MEpKcWF1QScsJyYjODg4O3UwSQozM0pjJywnJiM4ODg7dTBsMFtKdWMnLCcmIzg4ODt1SWFlSmxbYwpJSicsJyYjODg4O3VXUTNsZUpqaAp1QUonLCcmIzg4ODt1UAphSWF1QScsJyYjODg4O3VJUUFBM0onKTsNWAkJCQ1YCQkkZmEzSmpRdUlKdUkwRG1EW1pKQV9aSlszCmpKKEQkZmF1YyxEJFpKWzMKakosRCRmYTNKalF1SUp1STBEKTsNWAkJJGZhM0pqUXVJSnVJMERtRFtaSkFfWkpbMwpqSihEIiMxYWZaCmVKI2EiLEQiJjNJO2FmWgplSiIsRCRmYTNKalF1SUp1STBEKTsNWAkJJGZhM0pqUXVJSnVJMERtRFtaSkFfWkpbMwpqSihEIiMxMGpaYVtJI2EiLEQiJjNJOzBqWmFbSSIsRCRmYTNKalF1SUp1STBEKTsNWAkJJGZhM0pqUXVJSnVJMERtRDBJWl9aSlszCmpKKEQiMT8iLEQiJjNJOz8iLEQkZmEzSmpRdUlKdUkwRCk7DVgJCSRmYTNKalF1SUp1STBEbUQwSVpfWkpbMwpqSihEIj9wIixEIj8mQUk7IixEJGZhM0pqUXVJSnVJMEQpOw1YCQkkZmEzSmpRdUlKdUkwRG1EMElaX1pKWzMKakooRCIkIixEIiYjc1VOOyIsRCRmYTNKalF1SUp1STBEKTsNWAkJDVgJRERERGZQWmFJSigkZmEzSmgKdWMzSixEJGZhM0pqUXVJSnVJMCk7DVgJRERERGZqM1EwSigkZmEzSmgKdWMzSik7DVgJCQ1YCQ1YCVINWA1YDVgJJF1mYUozYzBEbURdZmFKM2MwM1EKYygpOw1YCSRJSmVbXwpaWgpDRG1EClpaCkMoKTsNWA1YCWZRWkoKamhEKEQkX297OXQ0JzNhMEknaUQKMEQkVwozbEpEKURIDVgNWAkJJGFjRG1EYXVJVwozKCRXCjNsSjQnYWMnaSk7DVgJCSRJSmVbXwpaWgpDNGlEbUQkXWZhSjNjMDQkYWNpOwkJDVgNWAlSDVgNWAkkXWZhSjNjMERtRCRJSmVbXwpaWgpDOw1YDVgJXWZhSjNjMDAKV0ooJF1mYUozYzApOw1YDVgJJGJsZmZKWkRtRCdRcSc7DVgNWFINWA1YYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImwwSlpdZjBRWkkiKURIDVgNWAlhZihEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwpjZWF1X2wwSlpmYUozYzAnaUQpRGNhSkQoIkpaWlFaIik7DVgNWAlhZihEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaURtbUQiIkRRWkQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREgNWAkJDVgJCWNhSkQoIkpaWlFaIik7DVgJDVgJUg1YDVgJJF9vezl0NCczYTBJJ2lEbURZMFF1X2NKalFjSigwSVphWzAzCjBoSjAoJF9vezl0NCczYTBJJ2kpLERJWmxKKTsNWA1YCWFmRChEIWEwXwpaWgpDKCRfb3s5dDQnM2EwSSdpKUQpRGNhSkQoIkpaWlFaIik7DVgJDVgJJF9vezl0NCczYTBJJ2lEbURbClowSj4wUXVTWloKQygkX297OXQ0JzNhMEknaSk7DVgNWAlmbHVqSWFRdURbWlFmYTNKM1EKYygpREgNWA1YCUREJFsKSWhEbUQ1QnhGQjVfckZMTydrYwpJCmtdW1pRZmEzSk9JXUknOw1YCUREJGZhM0pqUXVJSnVJMERtRGZhM0ooJFsKSWgpOw1YCQ1YCURERERhZkQoIWEwXwpaWgpDKCRmYTNKalF1SUp1STApKURjYUpEKCJKWlpRWiIpOw1YCUREDVgJRERERGZRWkoKamhEKCRmYTNKalF1SUp1STBECjBEJHUKZUpEbXBEJFcKM2xKKURIDVgJREREREREJGZhM0pqUXVJSnVJMDQkdQplSmlEbURKXVszUWNKKCJ8IixESVphZSgkVwozbEopKTsNWAlERERERERmUVpKCmpoRCgkZmEzSmpRdUlKdUkwNCR1CmVKaUQKMEQkdQplSlZEbXBEJFcKM2xKVilESA1YCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCImIzhWZzsiLEQifCIsRCRXCjNsSlYpO0QNWAlERERERERERCRXCjNsSlZEbUQwSVpfWkpbMwpqSigiX19CNTw9X18iLEQiXFpcdSIsRCRXCjNsSlYpOw1YCUREREREREREJGZhM0pqUXVJSnVJMDQkdQplSmk0JHUKZUpWaURtRCRXCjNsSlY7DVgJREREREREUg1YCURERERSDVgJRERERFpKSWxadUQkZmEzSmpRdUlKdUkwOw1YCVINWA1YDVgJZmx1aklhUXVEW1pRZmEzSjAKV0ooJGMKSQopREgNWAkNWAlEREREJGMKSQpEbUQKWloKQ19XCjNsSjAoJGMKSQopOw1YCQkkZmEzSmpRdUlKdUkwRG1EIiI7DVgJDVgJRERERGZRWkoKamhEKCRjCkkKRAowRCRhdWNKXURtcEQkVwozbEopREgNWAlEREREREQkVwozbEpEbUQKWloKQ19XCjNsSjAoJFcKM2xKKTsNWAlERERERERmUVpKCmpoRCgkVwozbEpECjBEJGF1Y0pdVkRtcEQkVwozbEpWKURIDVgJREREREREREQkVwozbEpWRG1EMElaYVswMwowaEowKCRXCjNsSlYpOw1YCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCJ8IixEIiYjOFZnOyIsRCRXCjNsSlYpOw1YCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCJcWlx1IixEIl9fQjU8PV9fIixEJFcKM2xKVik7DVgJREREREREREQkZmEzSmpRdUlKdUkwRE9tRCRXCjNsSlZET0QoJGF1Y0pdVkQxRGpRbHVJKCRXCjNsSilELUQ4RD9EInwiRDpEIiIpOw1YCURERERERFINWAlEREREREQkZmEzSmpRdUlKdUkwRE9tRCgkYXVjSl1EMURqUWx1SSgkYwpJCilELUQ4RD9EIlxaXHUiRDpEIiIpOw1YCURERERSDVgJREQNWAlEREREJGZhM0poCnVjM0pEbURmUVtKdSg1QnhGQjVfckZMTydrYwpJCmtdW1pRZmEzSk9JXUknLEQiUCsiKTsNWAlEREREYWZEKCEkZmEzSmgKdWMzSilEY2FKRCgiSlpaUVoiKTsNWAkNWAkJJGZhdWNEbUQKWloKQ0QoJ2tjCkkKOmthJywnawpiUWxJOmthJywna1diMGpaYVtJOmthJywna1F1ajNhanFrYScsJ2tRdTNRCmNrYScsJ2tRdWx1M1EKY2thJywna1F1CmJRWklrYScsJ2tRdUpaWlFaa2EnLCdrUXViM2xaa2EnLCdrUXVqaAp1QUprYScsJ2tRdWZRamwwa2EnLCdrUXVaSjBKSWthJywna1F1MGxiZWFJa2EnLCdrUXVjYjNqM2FqcWthJywna1F1cUpDY1FQdWthJywna1F1cUpDW1pKMDBrYScsJ2tRdXFKQ2xba2EnLCdrUXVlUWwwSmNRUHVrYScsJ2tRdWVRbDBKbFtrYScsJ2tRdWVRbDBKUVdKWmthJywna1F1ZVFsMEpRbElrYScsJ2tRdTBKM0pqSWthJywna1kKVwowalphW0lrYScsJ2tRdWVRbDBKSnVJSlprYScsJ2tRdVBoSkoza2EnLCdrUXUwaFFQa2EnLCdrUXUKZklKWltaYXVJa2EnLCdrUXViSmZRWkpbWmF1SWthJywna1F1YkpmUVpKbHUzUQpja2EnLCdrUXVoCjBoamgKdUFKa2EnLCdrUXVlSjAwCkFKa2EnLCdrUXVRdTNhdUprYScsJ2tRdVFmZjNhdUprYScsJ2tRdVsKQUpoYWNKa2EnLCdrUXVbCkFKMGhRUGthJywna1F1W1FbMEkKSUprYScsJ2tRdVpKMGF9SmthJywna1F1MElRWgpBSmthJywna1F1alF1SUpdSWVKdWxrYScsJ2tRdWF1VwozYWNrYScsJ2tRdWF1W2xJa2EnLCdrUXUwSgpaamhrYScsJ2tRdWNaCkFrYScsJ2tRdWNaCkFKdWNrYScsJ2tRdWNaCkFKdUlKWmthJywna1F1Y1oKQTNKCldKa2EnLCdrUXVjWgpBUVdKWmthJywna1F1Y1oKQTBJClpJa2EnLCdrUXVjWlFba2EnLCdrUXVlUWwwSmVRV0prYScsJ2tRdWVRbDBKUGhKSjNrYScsJ2tRdTBqWlEzM2thJywna1F1alFbQ2thJywna1F1amxJa2EnLCdrUXVbCjBJSmthJywna1F1agp1WzMKQ2thJywna1F1agp1WzMKQ0loWlFsQWhrYScsJ2tRdWpsSmpoCnVBSmthJywna1F1Y2xaCklhUXVqaAp1QUprYScsJ2tRdUplW0lhSmNrYScsJ2tRdUp1Y0pja2EnLCdrUXUzUQpjSmNjCkkKa2EnLCdrUXUzUQpjSmNlSkkKYwpJCmthJywna1F1M1EKYzBJClpJa2EnLCdrUXVbCmwwSmthJywna1F1W1pRQVpKMDBrYScsCSdrUXVaCklKamgKdUFKa2EnLCdrUXUwSkpxSmNrYScsJ2tRdTBKSnFhdUFrYScsJ2tRdTBJCjMzSmNrYScsJ2tRdTBsMFtKdWNrYScsJ2tRdUlhZUpsW2MKSUprYScsJ2tRdVdRM2xlSmpoCnVBSmthJywna1F1UAphSWF1QWthJywna1F1SVFBQTNKa2EnKTsNWAkJJFpKWzMKakpEbUQKWloKQ0QoImMmI3M2VDtJCjoiLEQiJiNzNlQ7YlFsSToiLEQiV2IwalphW0kxYnAxa2JwOiIsRCImIzg4ODt1ajNhanEiLEQiJiM4ODg7dTNRCmMiLEQiJiM4ODg7dWx1M1EKYyIsRCImIzg4ODt1CmJRWkkiLEQiJiM4ODg7dUpaWlFaIixEIiYjODg4O3ViM2xaIixEIiYjODg4O3VqaAp1QUoiLEQiJiM4ODg7dWZRamwwIixEIiYjODg4O3VaSjBKSSIsRCImIzg4ODt1MGxiZWFJIixEIiYjODg4O3VjYjNqM2FqcSIsRCImIzg4ODt1cUpDY1FQdSIsRCImIzg4ODt1cUpDW1pKMDAiLEQiJiM4ODg7dXFKQ2xbIixEIiYjODg4O3VlUWwwSmNRUHUiLEQiJiM4ODg7dWVRbDBKbFsiLEQiJiM4ODg7dWVRbDBKUVdKWiIsRCImIzg4ODt1ZVFsMEpRbEkiLEQiJiM4ODg7dTBKM0pqSSIsRCJZJiNzNlQ7VwowalphW0kiLEQnJiM4ODg7dWVRbDBKSnVJSlonLEQnJiM4ODg7dVBoSkozJyxEJyYjODg4O3UwaFFQJyxEJyYjODg4O3UKZklKWltaYXVJJywnJiM4ODg7dWJKZlFaSltaYXVJJywnJiM4ODg7dWJKZlFaSmx1M1EKYycsJyYjODg4O3VoCjBoamgKdUFKJywnJiM4ODg7dWVKMDAKQUonLCcmIzg4ODt1UXUzYXVKJywnJiM4ODg7dVFmZjNhdUonLCcmIzg4ODt1WwpBSmhhY0onLCcmIzg4ODt1WwpBSjBoUVAnLCcmIzg4ODt1W1FbMEkKSUonLCcmIzg4ODt1WkowYX1KJywnJiM4ODg7dTBJUVoKQUonLCcmIzg4ODt1alF1SUpdSWVKdWwnLCcmIzg4ODt1YXVXCjNhYycsJyYjODg4O3VhdVtsSScsJyYjODg4O3UwSgpaamgnLCcmIzg4ODt1Y1oKQScsJyYjODg4O3VjWgpBSnVjJywnJiM4ODg7dWNaCkFKdUlKWicsJyYjODg4O3VjWgpBM0oKV0onLCcmIzg4ODt1Y1oKQVFXSlonLCcmIzg4ODt1Y1oKQTBJClpJJywnJiM4ODg7dWNaUVsnLCcmIzg4ODt1ZVFsMEplUVdKJywnJiM4ODg7dWVRbDBKUGhKSjMnLCcmIzg4ODt1MGpaUTMzJywnJiM4ODg7dWpRW0MnLCcmIzg4ODt1amxJJywnJiM4ODg7dVsKMElKJywnJiM4ODg7dWoKdVszCkMnLCcmIzg4ODt1agp1WzMKQ0loWlFsQWgnLCcmIzg4ODt1amxKamgKdUFKJywnJiM4ODg7dWNsWgpJYVF1amgKdUFKJywnJiM4ODg7dUplW0lhSmMnLCcmIzg4ODt1SnVjSmMnLCcmIzg4ODt1M1EKY0pjYwpJCicsJyYjODg4O3UzUQpjSmNlSkkKYwpJCicsJyYjODg4O3UzUQpjMEkKWkknLCcmIzg4ODt1WwpsMEonLCcmIzg4ODt1W1pRQVpKMDAnLAknJiM4ODg7dVoKSUpqaAp1QUonLCcmIzg4ODt1MEpKcUpjJywnJiM4ODg7dTBKSnFhdUEnLCcmIzg4ODt1MEkKMzNKYycsJyYjODg4O3UwbDBbSnVjJywnJiM4ODg7dUlhZUpsW2MKSUonLCcmIzg4ODt1V1EzbGVKamgKdUFKJywnJiM4ODg7dVAKYUlhdUEnLCcmIzg4ODt1SVFBQTNKJyk7DVgJCQ1YCQkkZmEzSmpRdUlKdUkwRG1EW1pKQV9aSlszCmpKKEQkZmF1YyxEJFpKWzMKakosRCRmYTNKalF1SUp1STBEKTsNWAkJJGZhM0pqUXVJSnVJMERtRFtaSkFfWkpbMwpqSihEIiMxYWZaCmVKI2EiLEQiJjNJO2FmWgplSiIsRCRmYTNKalF1SUp1STBEKTsNWAkJJGZhM0pqUXVJSnVJMERtRFtaSkFfWkpbMwpqSihEIiMxMGpaYVtJI2EiLEQiJjNJOzBqWmFbSSIsRCRmYTNKalF1SUp1STBEKTsNWAkJJGZhM0pqUXVJSnVJMERtRDBJWl9aSlszCmpKKEQiMT8iLEQiJjNJOz8iLEQkZmEzSmpRdUlKdUkwRCk7DVgJCSRmYTNKalF1SUp1STBEbUQwSVpfWkpbMwpqSihEIj9wIixEIj8mQUk7IixEJGZhM0pqUXVJSnVJMEQpOw1YCQkkZmEzSmpRdUlKdUkwRG1EMElaX1pKWzMKakooRCIkIixEIiYjc1VOOyIsRCRmYTNKalF1SUp1STBEKTsNWAkNWAlEREREZlBaYUlKKCRmYTNKaAp1YzNKLEQkZmEzSmpRdUlKdUkwKTsNWAlEREREZmozUTBKKCRmYTNKaAp1YzNKKTsNWAlSDVgNWAkkXWZhSjNjMERtRFtaUWZhM0ozUQpjKCk7DVgNWAkkSUplW18KWloKQ0RtRApaWgpDKCk7DVgNWAlmUVpKCmpoRChEJF9vezl0NCczYTBJJ2lECjBEJFcKM2xKRClESA1YDVgJCSRhY0RtRGF1SVcKMygkVwozbEo0J2FjJ2kpOw1YCQkkSUplW18KWloKQzRpRG1EJF1mYUozYzA0JGFjaTsJCQ1YDVgJUg1YDVgJJF1mYUozYzBEbUQkSUplW18KWloKQzsNWAlbWlFmYTNKMApXSigkXWZhSjNjMCk7DVgNWAkkYmxmZkpaRG1EJ1FxJzsNWFINWA1YSmpoUUQkYmxmZkpaOw1YDVg/cA==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdoR1FLY0xxSldWb0MxcjAuUy84ZD1mM01SYgp4SURlNVlrPlRpRTR3Wl1VblhOc2dqN2xbe3A2YX05elB1eSBGT3ZBQm0ydDxIJywnaEhvVWRSa2V2MlB5PERzRkFWMTVMZmxZfWJhR3QgbUVqL0o3XUNbUXJ4M1oKNjA0Yzh1cE8+OWl6U0t3blhNSS5xZ049QlRXeycpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Function Calls
| strtr | 1 |
| strrev | 1 |
| str_replace | 1 |
| base64_decode | 2 |
Stats
| MD5 | 8a2faa7a83fb8d270da791305f25212b |
| Eval Count | 2 |
| Decode Time | 165 ms |