Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
$_F=__FILE__;$_X='P3AxP1toW1hrKlhtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t..
Decoded Output download
?><?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
https://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
This code is protected by copyright
=====================================================
File: adminfunction.php
-----------------------------------------------------
Use: Adminpanel AJAX functions
=====================================================
*/
if(!defined('DATALIFEENGINE')) {
header( "HTTP/1.1 403 Forbidden" );
header ( 'Location: ../../' );
die( "Hacking attempt!" );
}
if ($_REQUEST['action'] == "selfdelete") {
if (!$is_logged) {
die("{\"error\":\"{$lang['err_notlogged']}\"}");
}
if (!isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash) {
die("{\"error\":\"{$lang['err_notlogged']}\"}");
}
if ( !$user_group[$member_id['user_group']]['self_delete']) {
die("{\"error\":\"{$lang['err_selfdel_1']}\"}");
}
if (($member_id['user_group'] == 1)) {
die("{\"error\":\"{$lang['err_selfdel_2']}\"}");
}
if (!$member_id['user_id'] OR !$member_id['password'] OR !isset($_POST['password']) OR !$_POST['password'] OR !password_verify($_POST['password'], $member_id['password'])) {
die("{\"error\":\"{$lang['password_incorect']}\"}");
}
if($user_group[$member_id['user_group']]['self_delete'] == 1 ){
$db->query("INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('" . $db->safesql($member_id['name']) . "', '{$_TIME}', '{$_IP}', '137', '')");
if( $user_group[$member_id['user_group']]['allow_delc'] OR $user_group[$member_id['user_group']]['del_allc']) {
deletecommentsbyuserid($member_id['user_id']);
clear_cache(array('news_', 'comm_', 'full_'));
}
deleteuserbyid($member_id['user_id']);
clear_cache(array('stats'));
if (isset($_COOKIE) and is_array($_COOKIE) and count($_COOKIE)) {
foreach ($_COOKIE as $key => $value) {
set_cookie($key, '', 0);
}
}
session_unset();
session_destroy();
die("{\"status\":\"deleted\"}");
} else {
$row = $db->super_query("SELECT user_id FROM " . USERPREFIX . "_users_delete WHERE user_id='{$member_id['user_id']}'");
if(isset($row['user_id']) AND $row['user_id']) {
die("{\"error\":\"{$lang['err_selfdel_3']}\"}");
}
$db->query("INSERT INTO " . USERPREFIX . "_users_delete (user_id) values ('{$member_id['user_id']}')");
die("{\"status\":\"wait\"}");
}
}
if ($_REQUEST['action'] == "findcommentspage") {
if (!isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash) {
die("error");
}
function build_comments_tree($data) {
$tree = array();
foreach ($data as $id => &$node) {
if ($node['parent'] === false) {
$tree[$id] = &$node;
} else {
if (!isset($data[$node['parent']]['children'])) $data[$node['parent']]['children'] = array();
$data[$node['parent']]['children'][$id] = &$node;
}
}
return $tree;
}
function searchByFieldValue($array, $field, $value) {
foreach ($array as $item) {
if (isset($item[$field]) AND $item[$field] == $value) {
return true;
}
if (isset($item['children']) AND is_array($item['children'])) {
if (searchByFieldValue($item['children'], $field, $value)) {
return true;
}
}
}
return false;
}
$post_id = intval($_REQUEST['post_id']);
$comment_id = intval($_REQUEST['comment_id']);
if($post_id AND $comment_id) {
$rows = array();
$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, " . PREFIX . "_comments.parent FROM " . PREFIX . "_comments WHERE " . PREFIX . "_comments.post_id = '{$post_id}' ORDER BY " . PREFIX . "_comments.id ASC");
while ($row = $db->get_row($sql_result)) {
$rows[$row['id']] = array();
foreach ($row as $key => $value) {
if ($key == "parent" AND ($value == 0 OR !$config['tree_comments'])) $value = false;
$rows[$row['id']][$key] = $value;
}
}
$db->free($sql_result);
unset($row);
if( count($rows ) ) {
$rows = build_comments_tree($rows);
if ($config['comm_msort'] == "DESC") $rows = array_reverse($rows, true);
$rows = array_chunk($rows, intval($config['comm_nummers']) );
$page = 1;
$page_found = false;
foreach ($rows as $arr ) {
if( searchByFieldValue($arr, 'id', $comment_id) ){
$page_found = true;
break;
}
$page ++;
}
if($page && $page_found) {
$return = array(
'status' => 'ok',
'page' => $page
);
$return = json_encode($return, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
die($return);
}
}
}
$return = array(
'status' => 'error'
);
$return = json_encode($return, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
die($return);
}
if ($_REQUEST['action'] == "newsread") {
if( !$config['allow_read_count'] OR !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval($_REQUEST['id']);
$row = $db->super_query( "SELECT news_id FROM " . PREFIX . "_post_extras WHERE news_id = '{$id}'" );
if(isset($row['news_id']) AND $row['news_id']) {
if ( $config['allow_read_count'] == 2 ) {
$readcount = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_read_log WHERE news_id='{$row['news_id']}' AND ip='{$_IP}'" );
if( !$readcount['count'] ) {
if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['news_id']}'" );
$db->query( "INSERT INTO " . PREFIX . "_read_log (news_id, ip) VALUES ('{$row['news_id']}', '{$_IP}')" );
}
} else {
if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['news_id']}')" );
else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['news_id']}'" );
}
}
die('ok');
}
if ($_REQUEST['action'] == "bannersviews") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$ids = $uniq_ids_ip = $max_views = array();
foreach ($_REQUEST['ids'] as $id) {
$id = intval($id);
if($id < 1 ) die ("error");
$ids[$id] = $id;
}
if( !count($ids) ) die ("error");
$db->query( "SELECT id, allow_views, max_views, views FROM " . PREFIX . "_banners WHERE id='".implode("' OR id='", $ids)."'" );
while ( $row = $db->get_row() ) {
if($row['allow_views'] == 2 ) $uniq_ids_ip[$row['id']] = $row['id'];
if( $row['max_views'] ) $max_views[$row['id']] = array('max_views' => $row['max_views'], 'views' => $row['views']);
}
if( count($uniq_ids_ip) ) {
$db->query( "SELECT bid FROM " . PREFIX . "_banners_logs WHERE (bid='".implode("' OR bid='", $uniq_ids_ip)."') AND ip='{$_IP}'" );
while ( $row = $db->get_row() ) {
unset($ids[$row['bid']]);
unset($uniq_ids_ip[$row['bid']]);
}
}
if( count($ids) ) {
$db->query( "UPDATE " . PREFIX . "_banners SET views=views+1 WHERE id='".implode("' OR id='", $ids)."'" );
foreach ($ids as $id) {
if($max_views[$id]['max_views'] AND ($max_views[$id]['views']+1) >= $max_views[$id]['max_views'] ) {
@unlink( ENGINE_DIR . '/cache/system/banners.php' );
}
}
}
if( count($uniq_ids_ip) ) {
foreach ($uniq_ids_ip as $id) {
$db->query( "INSERT INTO " . PREFIX . "_banners_logs (bid, ip) VALUES ('{$id}', '{$_IP}')" );
}
}
die( "ok" );
}
if ($_REQUEST['action'] == "bannersclick") {
if( !isset($_REQUEST['user_hash']) OR !$_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 allow_counts, max_counts, clicks FROM " . PREFIX . "_banners WHERE id='{$id}'" );
$max_counts = $row['max_counts'];
$clicks = $row['clicks'];
if( !$row['allow_counts'] ) die ("error");
if( $row['allow_counts'] == 2 ) {
$row = $db->super_query( "SELECT id, click FROM " . PREFIX . "_banners_logs WHERE bid='{$id}' AND ip='{$_IP}'" );
if(!$row['click']) {
$db->query( "UPDATE " . PREFIX . "_banners SET clicks=clicks+1 WHERE id='{$id}'" );
if($max_counts AND ($clicks+1) >= $max_counts ) {
@unlink( ENGINE_DIR . '/cache/system/banners.php' );
}
}
if($row['id']) $db->query( "UPDATE " . PREFIX . "_banners_logs SET click='1' WHERE id='{$row['id']}'" );
else $db->query( "INSERT INTO " . PREFIX . "_banners_logs (bid, click, ip) VALUES ('{$id}', '1', '{$_IP}')" );
} else {
$db->query( "UPDATE " . PREFIX . "_banners SET clicks=clicks+1 WHERE id='{$id}'" );
if($max_counts AND ($clicks+1) >= $max_counts ) {
@unlink( ENGINE_DIR . '/cache/system/banners.php' );
}
}
die( "ok" );
}
if ($_REQUEST['action'] == "del_social") {
$id = intval($_REQUEST['id']);
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash OR !$member_id['user_id'] OR !$id) {
die ("error");
}
$db->query( "DELETE FROM " . USERPREFIX . "_social_login WHERE uid='{$member_id['user_id']}' AND id='{$id}'" );
echo $lang['del_from_social_2'];
die();
}
if ($_REQUEST['action'] == "add_ignore") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash OR !$member_id['user_id']) {
die ( $lang['err_notlogged'] );
}
$id = intval($_GET['id']);
$row = $db->super_query( "SELECT name, user_id, user_group FROM " . USERPREFIX . "_users WHERE user_id='{$id}'" );
if( !isset($row['user_id']) ) {
die("Operation not Allowed");
}
if ($row['user_id'] == $member_id['user_id']) {
die( $lang['ignore_error'] );
}
if ($user_group[$row['user_group']]['admin_editusers']) {
die( $lang['ignore_error_2'] );
}
$db->query( "SELECT id FROM " . USERPREFIX . "_ignore_list WHERE user_from='{$row['name']}' AND user='{$member_id['user_id']}'" );
if ($db->num_rows()) {
die($lang['ignore_error_1']);
}
$db->query( "INSERT INTO " . USERPREFIX . "_ignore_list (user, user_from) values ('{$member_id['user_id']}', '{$row['name']}')" );
die($lang['ignore_ok']);
}
if ($_REQUEST['action'] == "del_ignore") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash OR !$member_id['user_id']) {
die ( $lang['err_notlogged'] );
}
$id = intval($_GET['id']);
$row = $db->super_query( "SELECT * FROM " . USERPREFIX . "_ignore_list WHERE id='{$id}'" );
if (isset($row['id']) AND ($row['user'] == $member_id['user_id'] OR $user_group[$member_id['user_group']]['admin_editusers'] ) ) {
$db->query( "DELETE FROM " . USERPREFIX . "_ignore_list WHERE id = '{$row['id']}'" );
die($lang['ignore_del_ok']);
}
die("Operation not Allowed");
}
if ($_REQUEST['action'] == "saveeditnews") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash OR !$member_id['user_id']) {
die ( "{\"error\":\"{$lang['err_notlogged']}\"}" );
}
$id = intval($_REQUEST['id']);
$row = $db->super_query( "SELECT id, autor, date FROM " . PREFIX . "_post WHERE id = '{$id}'" );
if( isset($row['id']) AND $row['id']) {
$have_perm = 0;
if( $user_group[$member_id['user_group']]['allow_edit'] AND $row['autor'] == $member_id['name'] ) {
$have_perm = 1;
}
if( $user_group[$member_id['user_group']]['allow_all_edit'] ) {
$have_perm = 1;
if($member_id['cat_add']) $allow_list = explode( ',', $member_id['cat_add'] );
else $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] );
foreach ( $cat_list as $selected ) {
if( $allow_list[0] != "all" and !in_array( $selected, $allow_list ) ) $have_perm = 0;
}
}
if( $user_group[$member_id['user_group']]['max_edit_days'] ) {
$newstime = strtotime( $row['date'] );
$maxedittime = $_TIME - ($user_group[$member_id['user_group']]['max_edit_days'] * 3600 * 24);
if( $maxedittime > $newstime ) $have_perm = 0;
}
if( ($member_id['user_group'] == 1) ) {
$have_perm = 1;
}
if( !$have_perm ) {
die ( "{\"error\":\"Operation not Allowed\"}" );
}
$db->query( "UPDATE " . PREFIX . "_post_extras SET edited_now='".$db->safesql(json_encode(array('name' => $member_id['name'], 'time' => time() ), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ))."' WHERE news_id='{$row['id']}'" );
die ( "{\"success\":\"1\"}" );
}
die ( "{\"error\":\"Operation not Allowed\"}" );
}
if ($_REQUEST['action'] == "viewshared") {
if( !$is_logged ) {
die ( "{\"error\":\"{$lang['err_notlogged']}\"}" );
}
if( !$user_group[$member_id['user_group']]['allow_image_upload'] AND !$user_group[$member_id['user_group']]['allow_file_upload'] ) {
die ( "{\"error\":\"{$lang['err_noupload']}\"}" );
}
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash OR !$member_id['user_id']) {
die ( "{\"error\":\"{$lang['err_notlogged']}\"}" );
}
$allowed_extensions = array ("gif", "jpg", "png", "jpeg", "webp" , "bmp", "avif");
$userdir = '';
if( isset($_REQUEST['userdir']) AND $_REQUEST['userdir'] ) {
$userdir = cleanpath( $_REQUEST['userdir'] );
}
$driver = null;
if ( intval($config['shared_remote']) > -1 ) $driver = intval($config['shared_remote']);
DLEFiles::init( $driver );
$files = DLEFiles::ListDirectory( 'shared/'.$userdir, $allowed_extensions );
if( DLEFiles::$error ) {
$return_array = array (
'success' => false,
'error' => DLEFiles::$error
);
$error = json_encode($return_array, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES );
die($error);
}
$folder_list = array();
$folder_list[] = '<div class="file-preview-box">';
if( $userdir ) {
$prev_link = explode("/", $userdir);
array_pop($prev_link);
$prev_link = implode("/", $prev_link);
$folder_list[] = <<<HTML
<div class="folder-preview-card">
<div class="file-content" onclick="get_shared_list('{$prev_link}'); return false;">
<i class="mediaupload-icon mediaupload-icon-prev"></i>
</div>
<div class="file-footer">
<div class="file-footer-caption">
<div class="file-caption-info">{$lang['files_prev']}</div>
</div>
</div>
</div>
HTML;
}
foreach ( $files['dirs'] as $entryname) {
$folder = $entryname['name'];
if($folder == 'medium' OR $folder == 'thumbs') continue;
if( $userdir ) $link = $userdir."/".$folder; else $link = $folder;
if($link == "files") continue;
$folder_list[] = <<<HTML
<div class="folder-preview-card">
<div class="file-content" onclick="get_shared_list('{$link}'); return false;">
<img src="{$config['http_home_url']}engine/skins/images/folder.png" class="file-preview-image">
</div>
<div class="file-footer">
<div class="file-footer-caption">
<div class="file-caption-info">{$folder}</div>
</div>
</div>
</div>
HTML;
}
foreach ( $files['files'] as $entryname ) {
$http_url = DLEFiles::GetBaseURL() . 'shared/';
if($userdir) {
$img_url = $http_url . $userdir . "/" . $entryname['name'];
$path = $userdir . "/" . $entryname['name'];
$medium_path = $userdir . "/medium/" . $entryname['name'];
$thumb_path = $userdir . "/thumbs/" . $entryname['name'];
} else {
$img_url = $http_url . $entryname['name'];
$path = $entryname['name'];
$medium_path = "medium/" . $entryname['name'];
$thumb_path = "thumbs/" . $entryname['name'];
}
if( DLEFiles::FileExists('shared/'.$medium_path) ) $medium_data = "yes"; else $medium_data = "no";
if( DLEFiles::FileExists('shared/'.$thumb_path) ) $thumb_data = "yes"; else $thumb_data = "no";
$folder_list[] = <<<HTML
<div class="file-preview-card" data-type="image" data-area="shared" data-url="{$img_url}" data-thumb="{$thumb_data}" data-path="{$path}" data-medium="{$medium_data}">
<div class="active-ribbon"><span><i class="mediaupload-icon mediaupload-icon-ok"></i></span></div>
<div class="file-content">
<img src="{$img_url}" class="file-preview-image">
</div>
<div class="file-footer">
<div class="file-footer-caption">
<div class="file-caption-info">{$entryname['name']}</div>
</div>
<div class="file-footer-bottom">
<div class="file-preview">
<a href="{$img_url}" data-highslide="single" rel="tooltip" title="{$lang['up_im_expand']}" target="_blank"><i class="mediaupload-icon mediaupload-icon-zoom"></i></a>
<a class="clipboard-copy-link" href="#" rel="tooltip" title="{$lang['up_im_copy']}"><i class="mediaupload-icon mediaupload-icon-copy"></i></a>
</div>
</div>
</div>
</div>
HTML;
}
$folder_list = implode('', $folder_list);
$return_array = array (
'success' => true,
'response' => $folder_list
);
echo json_encode($return_array, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES );
die();
}
if( !$is_logged OR !$user_group[$member_id['user_group']]['allow_admin'] ) { die ("error"); }
$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;
}
if ($_REQUEST['action'] == "relatedids") {
if ( !$user_group[$member_id['user_group']]['admin_addnews'] ) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval( $_REQUEST['id'] );
if ($config['no_date'] AND !$config['news_future']) $where_date = " AND date < '" . date ( "Y-m-d H:i:s", time () ) . "'";
else $where_date = "";
$related_ids = array();
if( strlen( $_REQUEST['full_txt'] ) < strlen( $_REQUEST['short_txt'] ) ) $body = $_REQUEST['short_txt'];
else $body = $_REQUEST['full_txt'];
$body = trim(strip_tags( stripslashes( $_REQUEST['title'] . " " . $body ) ));
if( dle_strlen( $body, $config['charset'] ) > 1000 ) {
$body = dle_substr( $body, 0, 1000, $config['charset'] );
}
$body = $db->safesql( $body );
$config['related_number'] = intval( $config['related_number'] );
if( $config['related_number'] < 1 ) $config['related_number'] = 5;
$allowed_cats = array();
foreach ($user_group as $value) {
if ($value['allow_cats'] != "all" AND !$value['allow_short'] ) $allowed_cats[] = $db->safesql($value['allow_cats']);
}
$join_category = "";
if (count($allowed_cats)) {
$allowed_cats = implode(",", $allowed_cats);
$allowed_cats = explode(",", $allowed_cats);
$allowed_cats = array_unique($allowed_cats);
sort($allowed_cats);
if ($config['allow_multi_category']) {
$join_category = "p INNER JOIN (SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN ('" . implode ( ',', $allowed_cats ) . "')) c ON (p.id=c.news_id) ";
$allowed_cats = "";
} else {
$allowed_cats = "category IN ('" . implode ( "','", $allowed_cats ) . "') AND ";
}
} else $allowed_cats="";
$not_allowed_cats = array();
foreach ($user_group as $value) {
if ($value['not_allow_cats'] != "" AND !$value['allow_short'] ) $not_allowed_cats[] = $db->safesql($value['not_allow_cats']);
}
if (count($not_allowed_cats)) {
$not_allowed_cats = implode(",", $not_allowed_cats);
$not_allowed_cats = explode(",", $not_allowed_cats);
$not_allowed_cats = array_unique($not_allowed_cats);
sort($not_allowed_cats);
if ($config['allow_multi_category']) {
$not_allowed_cats = "p.id NOT IN ( SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $not_allowed_cats ) . ") ) AND ";
$join_category = "p ";
} else {
$not_allowed_cats = "category NOT IN ('" . implode ( "','", $not_allowed_cats ) . "') AND ";
}
} else $not_allowed_cats="";
if ( $id ) {
$id = " AND id != {$id}";
} else $id = '';
$db->query( "SELECT id, MATCH (title, short_story, full_story, xfields) AGAINST ('{$body}') as score FROM " . PREFIX . "_post {$join_category}WHERE {$allowed_cats}{$not_allowed_cats}MATCH (title, short_story, full_story, xfields) AGAINST ('{$body}'){$id} AND approve=1" . $where_date . " ORDER BY score DESC LIMIT " . $config['related_number'] );
while ( $related = $db->get_row() ) {
$related_ids[] = $related['id'];
}
if ( count($related_ids) ) {
$related_ids = implode(",",$related_ids);
} else $related_ids = '';
$buffer = $related_ids;
}
if ($_REQUEST['action'] == "newsspam") {
if ( !$user_group[$member_id['user_group']]['allow_all_edit']) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_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 ) ) {
deletenewsbyid( $row['id'] );
}
$db->free( $result );
$db->query( "UPDATE " . USERPREFIX . "_users SET restricted='3', restricted_days='0' WHERE user_id ='{$user_id}'" );
clear_cache( array('news_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss', 'stats') );
$buffer = $lang['mark_spam_ok_2'];
} else die ("error");
}
if ($_REQUEST['action'] == "timeout") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
set_cookie( "timeout_session", '1', 365 );
$_SESSION['timeout_session'] = 1;
die( "ok" );
}
if ($_REQUEST['action'] == "clearpoll") {
if ( !$user_group[$member_id['user_group']]['allow_all_edit']) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_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( !isset($_REQUEST['user_hash']) OR !$_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( array('news_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss', 'stats') );
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'];
$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 = "https:".$config['http_home_url'];
elseif (strpos($config['http_home_url'], "/") === 0) $slink = "https://".$_SERVER['HTTP_HOST'].$config['http_home_url'];
else $slink = $config['http_home_url'];
if( !$parent ) {
$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( !isset($_REQUEST['user_hash']) OR !$_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( array('news_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss', 'stats') );
if ( $email AND strlen($config['spam_api_key']) > 3 ) {
$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");
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
clear_all_caches();
clear_static_cache_id();
$buffer = $lang['clear_cache'];
}
if ($_REQUEST['action'] == "clearsubscribe") {
if ( $member_id['user_group'] != 1 ) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_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( !isset($_REQUEST['user_hash']) OR !$_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") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$row = $db->super_query( "SELECT id FROM " . PREFIX . "_notice WHERE user_id = '{$member_id['user_id']}'" );
$notice = $_POST['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 = $lang['saved'];
}
if ($_REQUEST['action'] == "savelang") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
echo "{\"error\":\"error\"}";
die ();
}
$_REQUEST['lang'] = totranslit( $_REQUEST['lang'], false, false );
if ($_REQUEST['lang'] AND @is_dir ( ROOT_DIR . '/language/' . $_REQUEST['lang'] )) {
set_cookie ( "selected_language", $_REQUEST['lang'], 365 );
}
echo "{\"ok\":\"ok\"}";
die();
}
if ($_REQUEST['action'] == "savetheme") {
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$file = md5(SECURE_AUTH_KEY.$member_id['user_id']);
if( !is_dir( ENGINE_DIR . "/cache/system/adminpanel" ) ) {
@mkdir( ENGINE_DIR . "/cache/system/adminpanel", 0777 );
@chmod( ENGINE_DIR . "/cache/system/adminpanel", 0777 );
}
if( !is_dir( ENGINE_DIR . "/cache/system/adminpanel") ) {
echo "{\"error\":\"{$lang['stat_cache']}\"}";
die();
}
if( !is_writable( ENGINE_DIR . "/cache/system/adminpanel" ) ) {
echo "{\"error\":\"{$lang['upload_error_1']} /engine/cache/system/adminpanel/ {$lang['upload_error_2']}\"}";
die();
}
if( file_exists( ENGINE_DIR . "/cache/system/adminpanel/" . $file ) AND !is_writable( ENGINE_DIR . "/cache/system/adminpanel/" . $file ) ) {
$lang['stat_system'] = str_replace ("{file}", "/engine/cache/system/adminpanel/" . $file, $lang['stat_system']);
echo "{\"error\":\"{$lang['stat_system']}\"}";
die();
}
$allowed_themes = array('dle_theme_a', 'dle_theme_b','dle_theme_c','dle_theme_d','dle_theme_e','dle_theme_f','dle_theme_g','dle_theme_h','dle_theme_i', 'dle_theme_j','dle_theme_dark','sidebar-xs','layout-boxed','input-classic','auto_dark_theme','style-smoothing','htmlfontsize-50','htmlfontsize-75','htmlfontsize-90','htmlfontsize-110','htmlfontsize-120','htmlfontsize-130','htmlfontsize-140','htmlfontsize-150','htmlfontsize-175', 'htmlfontsize-200' );
$theme = array();
if( strpos ( $_REQUEST['theme'], "saved_dle_theme_" ) OR strpos ( $_REQUEST['theme'], "auto_night_mode" ) ) {
$_REQUEST['theme'] = str_replace('saved_dle_theme_', 'dle_theme_', $_REQUEST['theme']);
$_REQUEST['theme'] = str_replace('dle_theme_dark', '', $_REQUEST['theme']);
$_REQUEST['theme'] = trim($_REQUEST['theme']);
}
$themes = explode(" ", $_REQUEST['theme']);
foreach($themes as $temp) {
if( trim($temp) AND in_array($temp, $allowed_themes) ) {
$theme[] = trim($temp);
}
}
if( count($theme) ) {
$theme = implode(" ", $theme);
file_put_contents (ENGINE_DIR . "/cache/system/adminpanel/" . $file, $theme, LOCK_EX);
@chmod( ENGINE_DIR . "/cache/system/adminpanel/" . $file, 0666 );
} else {
@unlink( ENGINE_DIR . "/cache/system/adminpanel/" . $file );
}
echo "{\"ok\":\"ok\"}";
die();
}
if ($_REQUEST['action'] == "deletemodules") {
if ( $member_id['user_group'] != 1 ) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
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( !isset($_REQUEST['user_hash']) OR !$_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}'" );
}
}
clear_all_caches();
$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'] == "catchangestatus") {
if( !$user_group[$member_id['user_group']]['admin_categories'] ) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {
die ("error");
}
$id = intval($_POST['id']);
if( !$id OR $id < 1) {
die ("error");
}
if( $_POST['status'] == 'off' ) {
$db->query( "UPDATE " . PREFIX . "_category SET active='0' WHERE id = '{$id}'" );
$logs = 120;
} else {
$db->query( "UPDATE " . PREFIX . "_category SET active='1' WHERE id = '{$id}'" );
$logs = 121;
}
clear_all_caches();
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '{$logs}', '{$id}')" );
$buffer = 'ok';
}
if ($_REQUEST['action'] == "pluginsort") {
if( $member_id['user_group'] != 1 ) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_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']);
if ( $id ) {
$db->query( "UPDATE " . PREFIX . "_plugins SET posi='{$i}' WHERE id = '{$id}'" );
}
}
clear_all_caches();
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '119', '')" );
$buffer = 'ok';
}
if ($_REQUEST['action'] == "xfsort") {
if( !$user_group[$member_id['user_group']]['admin_xfields'] ) die ("error");
if( !isset($_REQUEST['user_hash']) OR !$_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) {
global $config;
$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");
$filecontents = htmlspecialchars($filecontents, ENT_QUOTES, $config['charset'] );
$filecontents = str_replace("&#124;", "|", $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( !isset($_REQUEST['user_hash']) OR !$_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 ("dаta:", "аbout:", "vbscript<b></b>:", "onclick", "onload", "onunload", "onabort", "onerror", "onblur", "onchange", "onfocus", "onreset", "onsubmit", "ondblclick", "onkeydown", "onkeypress", "onkeyup", "onmousedown", "onmouseup", "onmouseover", "onmouseout", "onselect", "jаvascript", '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
$_F=__FILE__;$_X='P3AxP1toW1hrKlhtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbVhEcgpJCj1hZkpENXVBYXVKRC1EYkNEOVFmSUJKUDBEIEpjYQpEeFpRbFtEWC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tWERoSUlbMDpra2MzSi11SlAwT1psa1gtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVhERVFbQ1phQWhJRChqKURWc3NnLVZzVlVEOVFmSUJKUDBEIEpjYQpEeFpRbFtYbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1YRHRoYTBEalFjSkRhMERbWlFJSmpJSmNEYkNEalFbQ1phQWhJWG1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tWEQuYTNKOkQKY2VhdWZsdWpJYVF1T1toW1gtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVhESzBKOkRTY2VhdVsKdUozRFM+U3lEZmx1aklhUXUwWG1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tWCprWFhhZighY0pmYXVKYygnclN0Uz1GLjU1QnhGQjUnKSlESFgJaEoKY0paKEQiR3R0b2s4TzhEZ3NVRC5RWmJhY2NKdSJEKTtYCWhKCmNKWkQoRCc9UWoKSWFRdTpET09rT09rJ0QpO1gJY2FKKEQiRwpqcWF1QUQKSUlKZVtJISJEKTtYUlhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EIjBKM2ZjSjNKSUoiKURIWFgJYWZEKCEkYTBfM1FBQUpjKURIWAkJY2FKKCJIXCJKWlpRWlwiOlwiSCQzCnVBNCdKWlpfdVFJM1FBQUpjJ2lSXCJSIik7WAlSWFgJYWZEKCFhMDBKSSgkX0w1d0s1OXQ0J2wwSlpfaAowaCdpKUR7TEQhJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUR7TEQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaClESFhYCQljYUooIkhcIkpaWlFaXCI6XCJIJDMKdUE0J0paWl91UUkzUUFBSmMnaVJcIlIiKTtYCVJYWAlhZkQoRCEkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCcwSjNmX2NKM0pJSidpKURIWAkJY2FKKCJIXCJKWlpRWlwiOlwiSCQzCnVBNCdKWlpfMEozZmNKM184J2lSXCJSIik7WAlSWFgJYWZEKCgkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lEbW1EOCkpREhYCQljYUooIkhcIkpaWlFaXCI6XCJIJDMKdUE0J0paWl8wSjNmY0ozX1YnaVJcIlIiKTtYCVJYWAlhZkQoISRlSmViSlpfYWM0J2wwSlpfYWMnaUR7TEQhJGVKZWJKWl9hYzQnWwowMFBRWmMnaUR7TEQhYTAwSkkoJF9vezl0NCdbCjAwUFFaYydpKUR7TEQhJF9vezl0NCdbCjAwUFFaYydpRHtMRCFbCjAwUFFaY19XSlphZkMoJF9vezl0NCdbCjAwUFFaYydpLEQkZUplYkpaX2FjNCdbCjAwUFFaYydpKSlESFgJCWNhSigiSFwiSlpaUVpcIjpcIkgkMwp1QTQnWwowMFBRWmNfYXVqUVpKakknaVJcIlIiKTtYCVJYWAlhZigkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCcwSjNmX2NKM0pJSidpRG1tRDhEKUhYCQlYCQkkY2ItcHZsSlpDKCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciRE9EJGNiLXAwCmZKMHYzKCRlSmViSlpfYWM0J3UKZUonaSlET0QiJyxEJ0gkX3RGIDVSJyxEJ0gkX0ZvUicsRCc4VVQnLEQnJykiKTtYCQlYCQlhZihEJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCjMzUVBfY0ozaidpRHtMRCRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0J2NKM18KMzNqJ2kpREhYCVgJCQljSjNKSUpqUWVlSnVJMGJDbDBKWmFjKCRlSmViSlpfYWM0J2wwSlpfYWMnaSk7WAkJCWozSgpaX2oKamhKKApaWgpDKCd1SlAwXycsRCdqUWVlXycsRCdmbDMzXycpKTtYCVgJCVJYWAkJY0ozSklKbDBKWmJDYWMoJGVKZWJKWl9hYzQnbDBKWl9hYydpKTtYCQlqM0oKWl9qCmpoSigKWloKQygnMEkKSTAnKSk7WAkJWAkJYWZEKGEwMEpJKCRfRXt7ekY1KUQKdWNEYTBfClpaCkMoJF9Fe3t6RjUpRAp1Y0RqUWx1SSgkX0V7e3pGNSkpREhYWAkJCWZRWkoKamhEKCRfRXt7ekY1RAowRCRxSkNEbXBEJFcKM2xKKURIWAkJCQkwSklfalFRcWFKKCRxSkMsRCcnLERzKTtYCQkJUlgJCVJYWAkJMEowMGFRdV9sdTBKSSgpO1gJCTBKMDBhUXVfY0owSVpRQygpO1hYCQljYUooIkhcIjBJCklsMFwiOlwiY0ozSklKY1wiUiIpO1gJWAlSREozMEpESFhYCQkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQygiOTU9NUV0RGwwSlpfYWNELkx7IEQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBfY0ozSklKRDxHNUw1RGwwSlpfYWNtJ0gkZUplYkpaX2FjNCdsMEpaX2FjJ2lSJyIpO1hYCQlhZihhMDBKSSgkWlFQNCdsMEpaX2FjJ2kpRFNCckQkWlFQNCdsMEpaX2FjJ2kpREhYCQkJY2FKKCJIXCJKWlpRWlwiOlwiSCQzCnVBNCdKWlpfMEozZmNKM19VJ2lSXCJSIik7WAkJUlhYCQkkY2ItcHZsSlpDKCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBfY0ozSklKRChsMEpaX2FjKURXCjNsSjBEKCdIJGVKZWJKWl9hYzQnbDBKWl9hYydpUicpIik7WFgJCWNhSigiSFwiMEkKSWwwXCI6XCJQCmFJXCJSIik7WAlSWFhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiZmF1Y2pRZWVKdUkwWwpBSiIpREhYWAlhZkQoIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoKURIWFgJCWNhSigiSlpaUVoiKTtYCVJYWAlmbHVqSWFRdURibGEzY19qUWVlSnVJMF9JWkpKKCRjCkkKKURIWFgJCSRJWkpKRG1EClpaCkMoKTtYCQlmUVpKCmpoRCgkYwpJCkQKMEQkYWNEbXBEJiR1UWNKKURIWAkJCWFmRCgkdVFjSjQnWwpaSnVJJ2lEbW1tRGYKMzBKKURIWAkJCQkkSVpKSjQkYWNpRG1EJiR1UWNKO1gJCQlSREozMEpESFgJCQkJYWZEKCFhMDBKSSgkYwpJCjQkdVFjSjQnWwpaSnVJJ2lpNCdqaGEzY1pKdSdpKSlEJGMKSQo0JHVRY0o0J1sKWkp1SSdpaTQnamhhM2NaSnUnaURtRApaWgpDKCk7WAkJCQkkYwpJCjQkdVFjSjQnWwpaSnVJJ2lpNCdqaGEzY1pKdSdpNCRhY2lEbUQmJHVRY0o7WAkJCVJYCQlSWFgJCVpKSWxadUQkSVpKSjtYCVJYWAlmbHVqSWFRdUQwSgpaamgyQy5hSjNjLwozbEooJApaWgpDLEQkZmFKM2MsRCRXCjNsSilESFhYCQlmUVpKCmpoRCgkClpaCkNECjBEJGFJSmUpREhYCQkJWAkJCWFmRChhMDBKSSgkYUlKZTQkZmFKM2NpKURTQnJEJGFJSmU0JGZhSjNjaURtbUQkVwozbEopREhYCQkJWAkJCQlaSklsWnVESVpsSjtYCQkJWAkJCVJYWAkJCWFmRChhMDBKSSgkYUlKZTQnamhhM2NaSnUnaSlEU0JyRGEwXwpaWgpDKCRhSUplNCdqaGEzY1pKdSdpKSlESFgJCQkJYWZEKDBKClpqaDJDLmFKM2MvCjNsSigkYUlKZTQnamhhM2NaSnUnaSxEJGZhSjNjLEQkVwozbEopKURIWAkJCQkJWkpJbFp1RElabEo7WAkJCQlSWAkJCVJYWAkJUlhYCQlaSklsWnVEZgozMEo7WAlSWFgJJFtRMElfYWNEbURhdUlXCjMoJF9MNXdLNTl0NCdbUTBJX2FjJ2kpO1gJJGpRZWVKdUlfYWNEbURhdUlXCjMoJF9MNXdLNTl0NCdqUWVlSnVJX2FjJ2kpO1hYCWFmKCRbUTBJX2FjRFNCckQkalFlZUp1SV9hYylESFhYCQkkWlFQMERtRApaWgpDKCk7WFgJCSQwdjNfWkowbDNJRG1EJGNiLXB2bEpaQygiOTU9NUV0RCJET0RvTDUuRnlET0QiX2pRZWVKdUkwT2FjLEQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJME9bClpKdUlELkx7IEQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJMEQ8RzVMNUQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJME9bUTBJX2FjRG1EJ0gkW1EwSV9hY1InRER7THI1TEQyTUQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJME9hY0RTOUUiKTtYWAkJUGhhM0pEKCRaUVBEbUQkY2ItcEFKSV9aUVAoJDB2M19aSjBsM0kpKURIWAkJCSRaUVAwNCRaUVA0J2FjJ2lpRG1EClpaCkMoKTtYWAkJCWZRWkoKamhEKCRaUVBECjBEJHFKQ0RtcEQkVwozbEopREhYCQkJCWFmRCgkcUpDRG1tRCJbClpKdUkiRFNCckQoJFcKM2xKRG1tRHNEe0xEISRqUXVmYUE0J0laSkpfalFlZUp1STAnaSkpRCRXCjNsSkRtRGYKMzBKO1gJCQkJJFpRUDA0JFpRUDQnYWMnaWk0JHFKQ2lEbUQkVwozbEo7WAkJCVJYCQlSWFgJCSRjYi1wZlpKSigkMHYzX1pKMGwzSSk7WAkJbHUwSkkoJFpRUCk7WFgJCWFmKERqUWx1SSgkWlFQMEQpRClESFgJCQkkWlFQMERtRGJsYTNjX2pRZWVKdUkwX0laSkooJFpRUDApO1hYCQkJYWZEKCRqUXVmYUE0J2pRZWVfZTBRWkknaURtbUQicjU5RSIpRCRaUVAwRG1EClpaCkNfWkpXSlowSigkWlFQMCxESVpsSik7WFgJCQkkWlFQMERtRApaWgpDX2pobHVxKCRaUVAwLERhdUlXCjMoJGpRdWZhQTQnalFlZV91bGVlSlowJ2kpRCk7WFgJCQkkWwpBSkRtRDg7WAkJCSRbCkFKX2ZRbHVjRG1EZgozMEo7WFgJCQlmUVpKCmpoRCgkWlFQMEQKMEQkClpaRClESFhYCQkJCWFmKEQwSgpaamgyQy5hSjNjLwozbEooJApaWixEJ2FjJyxEJGpRZWVKdUlfYWMpRClIWAkJCQkJJFsKQUpfZlFsdWNEbURJWmxKO1gJCQkJCWJaSgpxO1gJCQkJUlhYCQkJCSRbCkFKRCsrO1gJCQlSWFgJCQlhZigkWwpBSkQmJkQkWwpBSl9mUWx1YylESFhYCQkJCSRaSklsWnVEbUQKWloKQyhYCQkJCQknMEkKSWwwJ0RtcEQnUXEnLFgJCQkJCSdbCkFKJ0RtcEQkWwpBSlgJCQkJKTtYWAkJCQkkWkpJbFp1RG1EWTBRdV9KdWpRY0ooJFpKSWxadSxEPjl7Ql9LQjU5RVNvNXJfS0JGRXtyNUR8RD45e0JfS0I1OUVTbzVyXzk9UzlHNTkpO1hYCQkJCWNhSigkWkpJbFp1KTtYWAkJCVJEWFgJCVJYWAlSWFgJJFpKSWxadURtRApaWgpDKFgJCScwSQpJbDAnRG1wRCdKWlpRWidYCSk7WFgJJFpKSWxadURtRFkwUXVfSnVqUWNKKCRaSklsWnUsRD45e0JfS0I1OUVTbzVyX0tCRkV7cjVEfEQ+OXtCX0tCNTlFU281cl85PVM5RzU5KTtYWAljYUooJFpKSWxadSk7WFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJ1SlAwWkoKYyIpREhYCVgJYWYoRCEkalF1ZmFBNCcKMzNRUF9aSgpjX2pRbHVJJ2lEe0xEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESAlYCQljYUpEKCJKWlpRWiIpO1gJUlgJWAkkYWNEbURhdUlXCjMoJF9MNXdLNTl0NCdhYydpKTtYCVgJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREdUpQMF9hY0QuTHsgRCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowRDxHNUw1RHVKUDBfYWNEbUQnSCRhY1InIkQpO1gJWAlhZihhMDBKSSgkWlFQNCd1SlAwX2FjJ2kpRFNCckQkWlFQNCd1SlAwX2FjJ2kpREhYCQlYCQlhZkQoRCRqUXVmYUE0JwozM1FQX1pKCmNfalFsdUknaURtbURWRClESFgJWAkJCSRaSgpjalFsdUlEbUQkY2ItcDBsW0paX3ZsSlpDKEQiOTU9NUV0RGpRbHVJKCopRAowRGpRbHVJRC5MeyBEIkRPRG9MNS5GeURPRCJfWkoKY18zUUFEPEc1TDVEdUpQMF9hY20nSCRaUVA0J3VKUDBfYWMnaVInRFNCckRhW20nSCRfRm9SJyJEKTtYCVgJCQlhZihEISRaSgpjalFsdUk0J2pRbHVJJ2lEKURIWAlYCQkJCWFmKEQkalF1ZmFBNCdqCmpoSl9qUWx1SSdpRClEJGNiLXB2bEpaQyhEIkZCOTVMdERGQnR7RCJET0RvTDUuRnlET0QiX1dhSlAwRCh1SlAwX2FjKUQvUz1LNTlEKCdIJFpRUDQndUpQMF9hYydpUicpIkQpO1gJCQkJSjMwSkQkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowRDk1dER1SlAwX1pKCmNtdUpQMF9aSgpjKzhEPEc1TDVEdUpQMF9hY20nSCRaUVA0J3VKUDBfYWMnaVInIkQpO1gJWAkJCQkkY2ItcHZsSlpDKEQiRkI5NUx0REZCdHtEIkRPRG9MNS5GeURPRCJfWkoKY18zUUFEKHVKUDBfYWMsRGFbKUQvUz1LNTlEKCdIJFpRUDQndUpQMF9hYydpUicsRCdIJF9Gb1InKSJEKTtYCQkJUlgJWAkJUkRKMzBKREhYCVgJCQlhZihEJGpRdWZhQTQnagpqaEpfalFsdUknaUQpRCRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9Eb0w1LkZ5RE9EIl9XYUpQMEQodUpQMF9hYylEL1M9SzU5RCgnSCRaUVA0J3VKUDBfYWMnaVInKSJEKTtYCQkJSjMwSkQkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowRDk1dER1SlAwX1pKCmNtdUpQMF9aSgpjKzhEPEc1TDVEdUpQMF9hY20nSCRaUVA0J3VKUDBfYWMnaVInIkQpO1gJCVJYWAlSWAlYCWNhSignUXEnKTtYCVhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiYgp1dUpaMFdhSlAwIilESFhYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJWAkJY2FKRCgiSlpaUVoiKTtYCVgJUlgJWAkkYWMwRG1EJGx1YXZfYWMwX2FbRG1EJGUKXV9XYUpQMERtRApaWgpDKCk7WAlYCWZRWkoKamhEKCRfTDV3SzU5dDQnYWMwJ2lECjBEJGFjKURIWFgJCSRhY0RtRGF1SVcKMygkYWMpO1hYCQlhZigkYWNEMUQ4RClEY2FKRCgiSlpaUVoiKTtYWAkJJGFjMDQkYWNpRG1EJGFjO1gJCVgJUlgJWAlhZihEIWpRbHVJKCRhYzApRClEY2FKRCgiSlpaUVoiKTtYWAkkY2ItcHZsSlpDKEQiOTU9NUV0RGFjLEQKMzNRUF9XYUpQMCxEZQpdX1dhSlAwLERXYUpQMEQuTHsgRCJET0RvTDUuRnlET0QiX2IKdXVKWjBEPEc1TDVEYWNtJyJPYWVbM1FjSigiJ0R7TERhY20nIixEJGFjMClPIiciRCk7WAlYCVBoYTNKRChEJFpRUERtRCRjYi1wQUpJX1pRUCgpRClESFgJCWFmKCRaUVA0JwozM1FQX1dhSlAwJ2lEbW1EVkQpRCRsdWF2X2FjMF9hWzQkWlFQNCdhYydpaURtRCRaUVA0J2FjJ2k7WAkJYWYoRCRaUVA0J2UKXV9XYUpQMCdpRClEJGUKXV9XYUpQMDQkWlFQNCdhYydpaURtRApaWgpDKCdlCl1fV2FKUDAnRG1wRCRaUVA0J2UKXV9XYUpQMCdpLEQnV2FKUDAnRG1wRCRaUVA0J1dhSlAwJ2kpO1gJUlgJWAlhZihEalFsdUkoJGx1YXZfYWMwX2FbKUQpREhYCQkkY2ItcHZsSlpDKEQiOTU9NUV0RGJhY0QuTHsgRCJET0RvTDUuRnlET0QiX2IKdXVKWjBfM1FBMEQ8RzVMNUQoYmFjbSciT2FlWzNRY0ooIidEe0xEYmFjbSciLEQkbHVhdl9hYzBfYVspTyInKURTQnJEYVttJ0gkX0ZvUiciRCk7WAkJUGhhM0pEKEQkWlFQRG1EJGNiLXBBSklfWlFQKClEKURIWAkJCWx1MEpJKCRhYzA0JFpRUDQnYmFjJ2lpKTtYCQkJbHUwSkkoJGx1YXZfYWMwX2FbNCRaUVA0J2JhYydpaSk7WAkJUlgJUlgJWAlhZihEalFsdUkoJGFjMClEKURIWAkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9Eb0w1LkZ5RE9EIl9iCnV1SlowRDk1dERXYUpQMG1XYUpQMCs4RDxHNUw1RGFjbSciT2FlWzNRY0ooIidEe0xEYWNtJyIsRCRhYzApTyInIkQpO1gJCWZRWkoKamhEKCRhYzBECjBEJGFjKURIWAkJCWFmKCRlCl1fV2FKUDA0JGFjaTQnZQpdX1dhSlAwJ2lEU0JyRCgkZQpdX1dhSlAwNCRhY2k0J1dhSlAwJ2krOClEcG1EJGUKXV9XYUpQMDQkYWNpNCdlCl1fV2FKUDAnaUQpREhYCQkJCUBsdTNhdXEoRDVCeEZCNV9yRkxET0Qna2oKamhKazBDMElKZWtiCnV1SlowT1toWydEKTtYCQkJUlgJCVJYCVJYCVgJYWYoRGpRbHVJKCRsdWF2X2FjMF9hWylEKURIWAkJZlFaSgpqaEQoJGx1YXZfYWMwX2FbRAowRCRhYylESFgJCQkkY2ItcHZsSlpDKEQiRkI5NUx0REZCdHtEIkRPRG9MNS5GeURPRCJfYgp1dUpaMF8zUUEwRChiYWMsRGFbKUQvUz1LNTlEKCdIJGFjUicsRCdIJF9Gb1InKSJEKTtYCQlSWAlSWAlYCWNhSihEIlFxIkQpO1hSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiYgp1dUpaMGozYWpxIilESFgJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCWNhSkQoIkpaWlFaIik7WAlSWAlYCSRhY0RtRGF1SVcKMygkX0w1d0s1OXQ0J2FjJ2kpO1gJWAlhZigkYWNEMUQ4RClEY2FKRCgiSlpaUVoiKTtYCVgJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXRECjMzUVBfalFsdUkwLERlCl1falFsdUkwLERqM2FqcTBELkx7IEQiRE9Eb0w1LkZ5RE9EIl9iCnV1SlowRDxHNUw1RGFjbSdIJGFjUiciRCk7WAkkZQpdX2pRbHVJMERtRCRaUVA0J2UKXV9qUWx1STAnaTtYCSRqM2FqcTBEbUQkWlFQNCdqM2FqcTAnaTtYCVgJYWYoRCEkWlFQNCcKMzNRUF9qUWx1STAnaUQpRGNhSkQoIkpaWlFaIik7WAlYCWFmKEQkWlFQNCcKMzNRUF9qUWx1STAnaURtbURWRClESFgJCVgJCSRaUVBEbUQkY2ItcDBsW0paX3ZsSlpDKEQiOTU9NUV0RGFjLERqM2FqcUQuTHsgRCJET0RvTDUuRnlET0QiX2IKdXVKWjBfM1FBMEQ8RzVMNURiYWNtJ0gkYWNSJ0RTQnJEYVttJ0gkX0ZvUiciRCk7WAkJWAkJYWYoISRaUVA0J2ozYWpxJ2kpREhYCQkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9Eb0w1LkZ5RE9EIl9iCnV1SlowRDk1dERqM2FqcTBtajNhanEwKzhEPEc1TDVEYWNtJ0gkYWNSJyJEKTtYCQkJWAkJCWFmKCRlCl1falFsdUkwRFNCckQoJGozYWpxMCs4KURwbUQkZQpdX2pRbHVJMEQpREhYCQkJCUBsdTNhdXEoRDVCeEZCNV9yRkxET0Qna2oKamhKazBDMElKZWtiCnV1SlowT1toWydEKTtYCQkJUlgJCVJYCQlYCQlhZigkWlFQNCdhYydpKUQkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX2IKdXVKWjBfM1FBMEQ5NXREajNhanFtJzgnRDxHNUw1RGFjbSdIJFpRUDQnYWMnaVInIkQpO1gJCUozMEpEJGNiLXB2bEpaQyhEIkZCOTVMdERGQnR7RCJET0RvTDUuRnlET0QiX2IKdXVKWjBfM1FBMEQoYmFjLERqM2FqcSxEYVspRC9TPUs1OUQoJ0gkYWNSJyxEJzgnLEQnSCRfRm9SJykiRCk7WAkJWAlSREozMEpESFgJCVgJCSRjYi1wdmxKWkMoRCJLb3JTdDVEIkRPRG9MNS5GeURPRCJfYgp1dUpaMEQ5NXREajNhanEwbWozYWpxMCs4RDxHNUw1RGFjbSdIJGFjUiciRCk7WAkJWAkJYWYoJGUKXV9qUWx1STBEU0JyRCgkajNhanEwKzgpRHBtRCRlCl1falFsdUkwRClESFgJCQlAbHUzYXVxKEQ1QnhGQjVfckZMRE9EJ2tqCmpoSmswQzBJSmVrYgp1dUpaME9baFsnRCk7WAkJUlhYCVJYCVgJY2FKKEQiUXEiRCk7CVhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiY0ozXzBRamEKMyIpREhYCVgJJGFjRG1EYXVJVwozKCRfTDV3SzU5dDQnYWMnaSk7WFgJYWYoRCFhMDBKSSgkX0w1d0s1OXQ0J2wwSlpfaAowaCdpKUR7TEQhJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUR7TEQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaER7TEQhJGVKZWJKWl9hYzQnbDBKWl9hYydpRHtMRCEkYWMpREhYCQljYUpEKCJKWlpRWiIpO1gJUlgJWAkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPREs5NUxvTDUuRnlET0QiXzBRamEKM18zUUFhdUQ8RzVMNURsYWNtJ0gkZUplYkpaX2FjNCdsMEpaX2FjJ2lSJ0RTQnJEYWNtJ0gkYWNSJyJEKTtYCVgJSmpoUUQkMwp1QTQnY0ozX2ZaUWVfMFFqYQozX1YnaTtYCWNhSigpO1hSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiCmNjX2FBdVFaSiIpREhYCVgJYWYoRCFhMDBKSSgkX0w1d0s1OXQ0J2wwSlpfaAowaCdpKUR7TEQhJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUR7TEQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaER7TEQhJGVKZWJKWl9hYzQnbDBKWl9hYydpKURIWAkJY2FKRChEJDMKdUE0J0paWl91UUkzUUFBSmMnaUQpO1gJUlgJWAkkYWNEbURhdUlXCjMoJF94NXQ0J2FjJ2kpO1gJWAkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdER1CmVKLERsMEpaX2FjLERsMEpaX0FaUWxbRC5MeyBEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowRDxHNUw1RGwwSlpfYWNtJ0gkYWNSJyJEKTtYCVgJYWYoRCFhMDBKSSgkWlFQNCdsMEpaX2FjJ2kpRClESFgJCWNhSigie1tKWgpJYVF1RHVRSURTMzNRUEpjIik7WAlSWAlYCWFmRCgkWlFQNCdsMEpaX2FjJ2lEbW1EJGVKZWJKWl9hYzQnbDBKWl9hYydpKURIWAkJWAkJY2FKKEQkMwp1QTQnYUF1UVpKX0paWlFaJ2lEKTtYCQlYCVJYCVgJYWZEKCRsMEpaX0FaUWxbNCRaUVA0J2wwSlpfQVpRbFsnaWk0JwpjZWF1X0pjYUlsMEpaMCdpKURIWAkJWAkJY2FKKEQkMwp1QTQnYUF1UVpKX0paWlFaX1YnaUQpO1gJCVgJUlgJWAkkY2ItcHZsSlpDKEQiOTU9NUV0RGFjRC5MeyBEIkRPREs5NUxvTDUuRnlET0QiX2FBdVFaSl8zYTBJRDxHNUw1RGwwSlpfZlpRZW0nSCRaUVA0J3UKZUonaVInRFNCckRsMEpabSdIJGVKZWJKWl9hYzQnbDBKWl9hYydpUiciRCk7WFgJYWZEKCRjYi1wdWxlX1pRUDAoKSlESFgJCVgJCWNhSigkMwp1QTQnYUF1UVpKX0paWlFaXzgnaSk7WAkJWAlSWAlYCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfYUF1UVpKXzNhMElEKGwwSlosRGwwSlpfZlpRZSlEVwozbEowRCgnSCRlSmViSlpfYWM0J2wwSlpfYWMnaVInLEQnSCRaUVA0J3UKZUonaVInKSJEKTtYWAljYUooJDMKdUE0J2FBdVFaSl9RcSdpKTtYCVgJWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJjSjNfYUF1UVpKIilESFgJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRHtMRCEkZUplYkpaX2FjNCdsMEpaX2FjJ2kpREhYCQljYUpEKEQkMwp1QTQnSlpaX3VRSTNRQUFKYydpRCk7WAlSWAlYCSRhY0RtRGF1SVcKMygkX3g1dDQnYWMnaSk7WFgJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREKkQuTHsgRCJET0RLOTVMb0w1LkZ5RE9EIl9hQXVRWkpfM2EwSUQ8RzVMNURhY20nSCRhY1InIkQpO1hYCWFmRChhMDBKSSgkWlFQNCdhYydpKURTQnJEKCRaUVA0J2wwSlonaURtbUQkZUplYkpaX2FjNCdsMEpaX2FjJ2lEe0xEJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCmNlYXVfSmNhSWwwSlowJ2lEKUQpREhYCQlYCQkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPREs5NUxvTDUuRnlET0QiX2FBdVFaSl8zYTBJRDxHNUw1RGFjRG1EJ0gkWlFQNCdhYydpUiciRCk7WAkJWAkJY2FKKCQzCnVBNCdhQXVRWkpfY0ozX1FxJ2kpO1gJWAlSWFgJY2FKKCJ7W0paCklhUXVEdVFJRFMzM1FQSmMiKTtYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCIwCldKSmNhSXVKUDAiKURIWAlYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEe0xEISRlSmViSlpfYWM0J2wwSlpfYWMnaSlESFgJCWNhSkQoRCJIXCJKWlpRWlwiOlwiSCQzCnVBNCdKWlpfdVFJM1FBQUpjJ2lSXCJSIkQpO1gJUlgJWAkkYWNEbURhdUlXCjMoJF9MNXdLNTl0NCdhYydpKTtYWAkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdERhYyxECmxJUVosRGMKSUpERC5MeyBEIkRPRG9MNS5GeURPRCJfW1EwSUQ8RzVMNURhY0RtRCdIJGFjUiciRCk7WAlYCWFmKERhMDBKSSgkWlFQNCdhYydpKURTQnJEJFpRUDQnYWMnaSlESFgJCVgJCSRoCldKX1tKWmVEbURzO1gJWAkJYWYoRCRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwozM1FQX0pjYUknaURTQnJEJFpRUDQnCmxJUVonaURtbUQkZUplYkpaX2FjNCd1CmVKJ2lEKURIWAkJCSRoCldKX1tKWmVEbUQ4O1gJCVJYCVgJCWFmKEQkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCcKMzNRUF8KMzNfSmNhSSdpRClESFgJCQkkaApXSl9bSlplRG1EODtYCQkJWAkJCWFmKCRlSmViSlpfYWM0J2oKSV8KY2MnaSlEJAozM1FQXzNhMElEbURKXVszUWNKKEQnLCcsRCRlSmViSlpfYWM0J2oKSV8KY2MnaUQpO1gJCQlKMzBKRCQKMzNRUF8zYTBJRG1ESl1bM1FjSihEJywnLEQkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCdqCklfCmNjJ2lEKTtYCVgJCQlmUVpKCmpoRChEJGoKSV8zYTBJRAowRCQwSjNKaklKY0QpREhYCQkJCWFmKEQkCjMzUVBfM2EwSTRzaUQhbUQiCjMzIkQKdWNEIWF1XwpaWgpDKEQkMEozSmpJSmMsRCQKMzNRUF8zYTBJRClEKUQkaApXSl9bSlplRG1EcztYCQkJUlgJCVJYCVgJCWFmKEQkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCdlCl1fSmNhSV9jCkMwJ2lEKURIWAkJCSR1SlAwSWFlSkRtRDBJWklRSWFlSihEJFpRUDQnYwpJSidpRCk7WAkJCSRlCl1KY2FJSWFlSkRtRCRfdEYgNUQtRCgkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCdlCl1fSmNhSV9jCkMwJ2lEKkRVTnNzRCpEVmcpO1gJCQlhZihEJGUKXUpjYUlJYWVKRHBEJHVKUDBJYWVKRClEJGgKV0pfW0paZURtRHM7WAkJUlgJCVgJCWFmKEQoJGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpRG1tRDgpRClESFgJCQkkaApXSl9bSlplRG1EODtYCQlSWAlYCQlhZihEISRoCldKX1tKWmVEKURIWAkJCWNhSkQoRCJIXCJKWlpRWlwiOlwie1tKWgpJYVF1RHVRSURTMzNRUEpjXCJSIkQpO1gJCVJYCQlYCQkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowRDk1dERKY2FJSmNfdVFQbSciTyRjYi1wMApmSjB2MyhZMFF1X0p1alFjSigKWloKQygndQplSidEbXBEJGVKZWJKWl9hYzQndQplSidpLEQnSWFlSidEbXBESWFlSigpRCksRD45e0JfS0I1OUVTbzVyX0tCRkV7cjVEfEQ+OXtCX0tCNTlFU281cl85PVM5RzU5RCkpTyInRDxHNUw1RHVKUDBfYWNtJ0gkWlFQNCdhYydpUiciRCk7WAkJWAkJY2FKRChEIkhcIjBsampKMDBcIjpcIjhcIlIiRCk7WAkJWAlSWAlYCWNhSkQoRCJIXCJKWlpRWlwiOlwie1tKWgpJYVF1RHVRSURTMzNRUEpjXCJSIkQpO1hYUlhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EIldhSlAwaApaSmMiKURIWAlYCWFmKEQhJGEwXzNRQUFKY0QpREhYCQljYUpEKEQiSFwiSlpaUVpcIjpcIkgkMwp1QTQnSlpaX3VRSTNRQUFKYydpUlwiUiJEKTtYCVJYCVgJYWYoRCEkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCcKMzNRUF9hZQpBSl9sWzNRCmMnaURTQnJEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwozM1FQX2ZhM0pfbFszUQpjJ2lEKURIWAlYCQljYUpEKEQiSFwiSlpaUVpcIjpcIkgkMwp1QTQnSlpaX3VRbFszUQpjJ2lSXCJSIkQpO1gJWAlSWAlYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEe0xEISRlSmViSlpfYWM0J2wwSlpfYWMnaSlESFgJCWNhSkQoRCJIXCJKWlpRWlwiOlwiSCQzCnVBNCdKWlpfdVFJM1FBQUpjJ2lSXCJSIkQpO1gJUlgJWAkkCjMzUVBKY19KXUlKdTBhUXUwRG1EClpaCkNEKCJBYWYiLEQiWVtBIixEIlt1QSIsRCJZW0pBIixEIlBKYlsiRCxEImJlWyIsRCIKV2FmIik7WAkkbDBKWmNhWkRtRCcnO1gJWAlhZihEYTAwSkkoJF9MNXdLNTl0NCdsMEpaY2FaJ2kpRFNCckQkX0w1d0s1OXQ0J2wwSlpjYVonaUQpREhYCQlYCQkkbDBKWmNhWkRtRGozSgp1WwpJaChEJF9MNXdLNTl0NCdsMEpaY2FaJ2lEKTtYCQlYCVJYCVgJJGNaYVdKWkRtRHVsMzM7WFgJYWZEKERhdUlXCjMoJGpRdWZhQTQnMGgKWkpjX1pKZVFJSidpKURwRC04RClEJGNaYVdKWkRtRGF1SVcKMygkalF1ZmFBNCcwaApaSmNfWkplUUlKJ2kpO1hYCXI9NS5hM0owOjphdWFJKEQkY1phV0paRCk7WFgJJGZhM0owRG1Ecj01LmEzSjA6Oj1hMElyYVpKaklRWkMoRCcwaApaSmNrJ08kbDBKWmNhWixEJAozM1FQSmNfSl1JSnUwYVF1MEQpO1gJWAlhZihEcj01LmEzSjA6OiRKWlpRWkQpREhYCQlYCQkkWkpJbFp1XwpaWgpDRG1EClpaCkNEKFgJCQknMGxqakowMCdEbXBEZgozMEosWAkJCSdKWlpRWidEbXBEcj01LmEzSjA6OiRKWlpRWlgJCSk7WAkJWAkJJEpaWlFaRG1EWTBRdV9KdWpRY0ooJFpKSWxadV8KWloKQyxEPjl7Ql9LQjU5RVNvNXJfS0JGRXtyNUR8RD45e0JfS0I1OUVTbzVyXzk9UzlHNTlEKTtYCQlYCQljYUooJEpaWlFaKTtYCVJYWAkkZlEzY0paXzNhMElEbUQKWloKQygpO1gJWAkkZlEzY0paXzNhMEk0aURtRCcxY2FXRGozCjAwbSJmYTNKLVtaSldhSlAtYlFdInAnO1gJWAlhZihEJGwwSlpjYVpEKURIWAkJWAkJJFtaSldfM2F1cURtREpdWzNRY0ooImsiLEQkbDBKWmNhWik7WAkJClpaCkNfW1FbKCRbWkpXXzNhdXEpO1gJCSRbWkpXXzNhdXFEbURhZVszUWNKKCJrIixEJFtaSldfM2F1cSk7WAkJWAkJJGZRM2NKWl8zYTBJNGlEbUQxMTFHdCA9WDFjYVdEajMKMDBtImZRM2NKWi1bWkpXYUpQLWoKWmMicFgJMWNhV0RqMwowMG0iZmEzSi1qUXVJSnVJIkRRdWozYWpxbSJBSklfMGgKWkpjXzNhMEkoJ0gkW1pKV18zYXVxUicpO0RaSklsWnVEZgozMEo7InBYCQkxYURqMwowMG0iZUpjYQpsWzNRCmMtYWpRdURlSmNhCmxbM1EKYy1halF1LVtaSlcicDFrYXBYCTFrY2FXcFgJMWNhV0RqMwowMG0iZmEzSi1mUVFJSloicFgJCTFjYVdEajMKMDBtImZhM0otZlFRSUpaLWoKW0lhUXUicFgJCQkxY2FXRGozCjAwbSJmYTNKLWoKW0lhUXUtYXVmUSJwSCQzCnVBNCdmYTNKMF9bWkpXJ2lSMWtjYVdwWAkJMWtjYVdwWAkxa2NhV3BYMWtjYVdwWEd0ID07WFgJUlgJWAlmUVpKCmpoRChEJGZhM0owNCdjYVowJ2lECjBEJEp1SVpDdQplSilESFgJCVgJCSRmUTNjSlpEbUQkSnVJWkN1CmVKNCd1CmVKJ2k7WAkJWAkJYWYoJGZRM2NKWkRtbUQnZUpjYWxlJ0R7TEQkZlEzY0paRG1tRCdJaGxlYjAnKURqUXVJYXVsSjtYCQlYCQlhZihEJGwwSlpjYVpEKUQkM2F1cURtRCRsMEpaY2FaTyJrIk8kZlEzY0paO0RKMzBKRCQzYXVxRG1EJGZRM2NKWjtYCQlYCQlhZigkM2F1cURtbUQiZmEzSjAiKURqUXVJYXVsSjtYCQlYCQkkZlEzY0paXzNhMEk0aURtRDExMUd0ID1YMWNhV0RqMwowMG0iZlEzY0paLVtaSldhSlAtagpaYyJwWAkxY2FXRGozCjAwbSJmYTNKLWpRdUlKdUkiRFF1ajNhanFtIkFKSV8waApaSmNfM2EwSSgnSCQzYXVxUicpO0RaSklsWnVEZgozMEo7InBYCQkxYWVBRDBaam0iSCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaVJKdUFhdUprMHFhdTBrYWUKQUowa2ZRM2NKWk9bdUEiRGozCjAwbSJmYTNKLVtaSldhSlAtYWUKQUoicFgJMWtjYVdwWAkxY2FXRGozCjAwbSJmYTNKLWZRUUlKWiJwWAkJMWNhV0RqMwowMG0iZmEzSi1mUVFJSlotagpbSWFRdSJwWAkJCTFjYVdEajMKMDBtImZhM0otagpbSWFRdS1hdWZRInBIJGZRM2NKWlIxa2NhV3BYCQkxa2NhV3BYCTFrY2FXcFgxa2NhV3BYR3QgPTtYWAlSWAlYCVgJZlFaSgpqaEQoRCRmYTNKMDQnZmEzSjAnaUQKMEQkSnVJWkN1CmVKRClESFhYCQkkaElJW19sWjNEbURyPTUuYTNKMDo6eEpJMgowSktMPSgpRE9EJzBoClpKY2snO1gJCQlYCQlhZigkbDBKWmNhWilESFgJCQkkYWVBX2xaM0RtRCRoSUlbX2xaM0RPRCRsMEpaY2FaRE9EImsiRE9EJEp1SVpDdQplSjQndQplSidpO1gJCQkkWwpJaERtRCRsMEpaY2FaRE9EImsiRE9EJEp1SVpDdQplSjQndQplSidpO1gJCQkkZUpjYWxlX1sKSWhEbUQkbDBKWmNhWkRPRCJrZUpjYWxlayJET0QkSnVJWkN1CmVKNCd1CmVKJ2k7WAkJCSRJaGxlYl9bCkloRG1EJGwwSlpjYVpET0Qia0lobGViMGsiRE9EJEp1SVpDdQplSjQndQplSidpO1gJCVJESjMwSkRIWAkJCSRhZUFfbFozRG1EJGhJSVtfbFozRE9EJEp1SVpDdQplSjQndQplSidpO1gJCQkkWwpJaERtRCRKdUlaQ3UKZUo0J3UKZUonaTtYCQkJJGVKY2FsZV9bCkloRG1EImVKY2FsZWsiRE9EJEp1SVpDdQplSjQndQplSidpO1gJCQkkSWhsZWJfWwpJaERtRCJJaGxlYjBrIkRPRCRKdUlaQ3UKZUo0J3UKZUonaTtYCQlSWAkJWAkJYWYoRHI9NS5hM0owOjouYTNKNV1hMEkwKCcwaApaSmNrJ08kZUpjYWxlX1sKSWgpRClEJGVKY2FsZV9jCkkKRG1EIkNKMCI7REozMEpEJGVKY2FsZV9jCkkKRG1EInVRIjtYCQkJWAkJYWYoRHI9NS5hM0owOjouYTNKNV1hMEkwKCcwaApaSmNrJ08kSWhsZWJfWwpJaClEKUQkSWhsZWJfYwpJCkRtRCJDSjAiO0RKMzBKRCRJaGxlYl9jCkkKRG1EInVRIjtYCQkJWAkJJGZRM2NKWl8zYTBJNGlEbUQxMTFHdCA9WDFjYVdEajMKMDBtImZhM0otW1pKV2FKUC1qClpjIkRjCkkKLUlDW0ptImFlCkFKIkRjCkkKLQpaSgptIjBoClpKYyJEYwpJCi1sWjNtIkgkYWVBX2xaM1IiRGMKSQotSWhsZWJtIkgkSWhsZWJfYwpJClIiRGMKSQotWwpJaG0iSCRbCkloUiJEYwpJCi1lSmNhbGVtIkgkZUpjYWxlX2MKSQpSInBYCTFjYVdEajMKMDBtIgpqSWFXSi1aYWJiUXUicDEwWwp1cDFhRGozCjAwbSJlSmNhCmxbM1EKYy1halF1RGVKY2EKbFszUQpjLWFqUXUtUXEicDFrYXAxazBbCnVwMWtjYVdwWAkxY2FXRGozCjAwbSJmYTNKLWpRdUlKdUkicFgJCTFhZUFEMFpqbSJIJGFlQV9sWjNSIkRqMwowMG0iZmEzSi1bWkpXYUpQLWFlCkFKInBYCTFrY2FXcFgJMWNhV0RqMwowMG0iZmEzSi1mUVFJSloicFgJCTFjYVdEajMKMDBtImZhM0otZlFRSUpaLWoKW0lhUXUicFgJCQkxY2FXRGozCjAwbSJmYTNKLWoKW0lhUXUtYXVmUSJwSCRKdUlaQ3UKZUo0J3UKZUonaVIxa2NhV3BYCQkxa2NhV3BYCQkxY2FXRGozCjAwbSJmYTNKLWZRUUlKWi1iUUlJUWUicFgJCQkxY2FXRGozCjAwbSJmYTNKLVtaSldhSlAicFgJCQkJMQpEaFpKZm0iSCRhZUFfbFozUiJEYwpJCi1oYUFoMDNhY0ptIjBhdUEzSiJEWkozbSJJUVEzSWFbIkRJYUkzSm0iSCQzCnVBNCdsW19hZV9KXVsKdWMnaVIiREkKWkFKSW0iX2IzCnVxInAxYURqMwowMG0iZUpjYQpsWzNRCmMtYWpRdURlSmNhCmxbM1EKYy1halF1LX1RUWUicDFrYXAxawpwWAkJCQkxCkRqMwowMG0iajNhW2JRClpjLWpRW0MtM2F1cSJEaFpKZm0iIyJEWkozbSJJUVEzSWFbIkRJYUkzSm0iSCQzCnVBNCdsW19hZV9qUVtDJ2lSInAxYURqMwowMG0iZUpjYQpsWzNRCmMtYWpRdURlSmNhCmxbM1EKYy1halF1LWpRW0MicDFrYXAxawpwCVgJCQkxa2NhV3BYCQkxa2NhV3BYCTFrY2FXcFgxa2NhV3BYR3QgPTtYCVgJUlgJWAlYCSRmUTNjSlpfM2EwSURtRGFlWzNRY0ooJycsRCRmUTNjSlpfM2EwSSk7WAlYCSRaSklsWnVfClpaCkNEbUQKWloKQ0QoWAkJJzBsampKMDAnRG1wRElabEosWAkJJ1pKMFtRdTBKJ0RtcEQkZlEzY0paXzNhMElYCSk7WAlYCUpqaFFEWTBRdV9KdWpRY0ooJFpKSWxadV8KWloKQyxEPjl7Ql9LQjU5RVNvNXJfS0JGRXtyNUR8RD45e0JfS0I1OUVTbzVyXzk9UzlHNTlEKTtYCWNhSigpO1gJWFJYWGFmKEQhJGEwXzNRQUFKY0R7TEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCjMzUVBfCmNlYXUnaUQpREhEY2FKRCgiSlpaUVoiKTtEUlhYJGJsZmZKWkRtRCIiO1hYZmx1aklhUXVEWwpaMEo+MFF1U1paCkMoJFkwUXVTWloKQyxEJFsKWkp1SUZyRG1EcylYSFhERCRaSklsWnVEbUQKWloKQygpO1hERGZRWkoKamhEKCRZMFF1U1paCkNECjBEJDBsYlNaWgpDKURIWEREREREJFpKSWxadTlsYjlsYlNaWgpDRG1EClpaCkMoKTtYRERERERhZkQoYTAwSkkoJDBsYlNaWgpDNCdqaGEzY1pKdSdpKSlESFhEREREREREJFpKSWxadTlsYjlsYlNaWgpDRG1EWwpaMEo+MFF1U1paCkMoJDBsYlNaWgpDNCdqaGEzY1pKdSdpLEQkMGxiU1paCkM0J2FjJ2kpO1hERERERFJYREREREQkWkpJbFp1NGlEbUQKWloKQygnYWMnRG1wRCQwbGJTWloKQzQnYWMnaSxEJ1sKWkp1SWFjJ0RtcEQkWwpaSnVJRnIpO1hERERERCRaSklsWnVEbUQKWloKQ19lSlpBSigkWkpJbFp1LEQkWkpJbFp1OWxiOWxiU1paCkMpO1hERFJYWEREWkpJbFp1RCRaSklsWnU7WFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJaSjMKSUpjYWMwIilESFhYCWFmRChEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwpjZWF1XwpjY3VKUDAnaUQpRGNhSkQoIkpaWlFaIik7WFgJYWYoRCFhMDBKSSgkX0w1d0s1OXQ0J2wwSlpfaAowaCdpKUR7TEQhJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUR7TEQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREhYCQlYCQljYUpEKCJKWlpRWiIpO1gJWAlSWFgJJGFjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTtYCVgJYWZEKCRqUXVmYUE0J3VRX2MKSUonaURTQnJEISRqUXVmYUE0J3VKUDBfZmxJbFpKJ2kpRCRQaEpaSl9jCklKRG1EIkRTQnJEYwpJSkQxRCciRE9EYwpJSkQoRCJNLWUtY0RHOmE6MCIsRElhZUpEKClEKURPRCInIjtYCUozMEpEJFBoSlpKX2MKSUpEbUQiIjtYCQlYCSRaSjMKSUpjX2FjMERtRApaWgpDKCk7WAlYCWFmKEQwSVozSnUoRCRfTDV3SzU5dDQnZmwzM19JXUknaUQpRDFEMElaM0p1KEQkX0w1d0s1OXQ0JzBoUVpJX0ldSSdpRClEKUQkYlFjQ0RtRCRfTDV3SzU5dDQnMGhRWklfSV1JJ2k7WAlKMzBKRCRiUWNDRG1EJF9MNXdLNTl0NCdmbDMzX0ldSSdpO1gJCQkJCVgJJGJRY0NEbURJWmFlKDBJWmFbX0kKQTAoRDBJWmFbMDMKMGhKMChEJF9MNXdLNTl0NCdJYUkzSidpRE9EIkQiRE9EJGJRY0NEKUQpKTtYWAlhZihEYzNKXzBJWjNKdShEJGJRY0MsRCRqUXVmYUE0J2poClowSkknaUQpRHBEOHNzc0QpREhYCQkkYlFjQ0RtRGMzSl8wbGIwSVooRCRiUWNDLERzLEQ4c3NzLEQkalF1ZmFBNCdqaApaMEpJJ2lEKTtYCVJYCQkJCQlYCSRiUWNDRG1EJGNiLXAwCmZKMHYzKEQkYlFjQ0QpO1gJCQkJCVgJJGpRdWZhQTQnWkozCklKY191bGViSlonaURtRGF1SVcKMyhEJGpRdWZhQTQnWkozCklKY191bGViSlonaUQpO1gJYWYoRCRqUXVmYUE0J1pKMwpJSmNfdWxlYkpaJ2lEMUQ4RClEJGpRdWZhQTQnWkozCklKY191bGViSlonaURtRGQ7WAlYCSQKMzNRUEpjX2oKSTBEbUQKWloKQygpO1gJWAlmUVpKCmpoRCgkbDBKWl9BWlFsW0QKMEQkVwozbEopREhYCQlhZkQoJFcKM2xKNCcKMzNRUF9qCkkwJ2lEIW1EIgozMyJEU0JyRCEkVwozbEo0JwozM1FQXzBoUVpJJ2lEKUQkCjMzUVBKY19qCkkwNGlEbUQkY2ItcDAKZkowdjMoJFcKM2xKNCcKMzNRUF9qCkkwJ2kpO1gJUlhYCSRZUWF1X2oKSUpBUVpDRG1EIiI7WAlYCWFmRChqUWx1SSgkCjMzUVBKY19qCkkwKSlESFhYCQkkCjMzUVBKY19qCkkwRG1EYWVbM1FjSigiLCIsRCQKMzNRUEpjX2oKSTApO1gJCSQKMzNRUEpjX2oKSTBEbURKXVszUWNKKCIsIixEJAozM1FQSmNfagpJMCk7WAkJJAozM1FQSmNfagpJMERtRApaWgpDX2x1YXZsSigkCjMzUVBKY19qCkkwKTtYCQkwUVpJKCQKMzNRUEpjX2oKSTApO1gJWAkJYWZEKCRqUXVmYUE0JwozM1FQX2VsM0lhX2oKSUpBUVpDJ2kpREhYCQlYCQkJJFlRYXVfagpJSkFRWkNEbUQiW0RGQkI1TEQ+e0ZCRCg5NT01RXREckY5dEZCRXQoIkRPRG9MNS5GeURPRCJfW1EwSV9KXUlaCjBfagpJME91SlAwX2FjKUQuTHsgRCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowX2oKSTBEPEc1TDVEagpJX2FjREZCRCgnIkRPRGFlWzNRY0pEKEQnLCcsRCQKMzNRUEpjX2oKSTBEKURPRCInKSlEakR7QkQoW09hY21qT3VKUDBfYWMpRCI7WAkJCSQKMzNRUEpjX2oKSTBEbUQiIjtYCQlYCQlSREozMEpESFgJCVgJCQkkCjMzUVBKY19qCkkwRG1EImoKSUpBUVpDREZCRCgnIkRPRGFlWzNRY0pEKEQiJywnIixEJAozM1FQSmNfagpJMEQpRE9EIicpRFNCckQiO1gJCQlYCQlSWFgJUkRKMzBKRCQKMzNRUEpjX2oKSTBtIiI7WFgJJHVRSV8KMzNRUEpjX2oKSTBEbUQKWloKQygpO1gJWAlmUVpKCmpoRCgkbDBKWl9BWlFsW0QKMEQkVwozbEopREhYCQlhZkQoJFcKM2xKNCd1UUlfCjMzUVBfagpJMCdpRCFtRCIiRFNCckQhJFcKM2xKNCcKMzNRUF8waFFaSSdpRClEJHVRSV8KMzNRUEpjX2oKSTA0aURtRCRjYi1wMApmSjB2MygkVwozbEo0J3VRSV8KMzNRUF9qCkkwJ2kpO1gJUlgJWAlhZkQoalFsdUkoJHVRSV8KMzNRUEpjX2oKSTApKURIWFgJCSR1UUlfCjMzUVBKY19qCkkwRG1EYWVbM1FjSigiLCIsRCR1UUlfCjMzUVBKY19qCkkwKTtYCQkkdVFJXwozM1FQSmNfagpJMERtREpdWzNRY0ooIiwiLEQkdVFJXwozM1FQSmNfagpJMCk7WAkJJHVRSV8KMzNRUEpjX2oKSTBEbUQKWloKQ19sdWF2bEooJHVRSV8KMzNRUEpjX2oKSTApO1gJCTBRWkkoJHVRSV8KMzNRUEpjX2oKSTApO1gJWAkJYWZEKCRqUXVmYUE0JwozM1FQX2VsM0lhX2oKSUpBUVpDJ2kpREhYCQlYCQkJJHVRSV8KMzNRUEpjX2oKSTBEbUQiW09hY0RCe3RERkJEKEQ5NT01RXREckY5dEZCRXQoIkRPRG9MNS5GeURPRCJfW1EwSV9KXUlaCjBfagpJME91SlAwX2FjKUQuTHsgRCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowX2oKSTBEPEc1TDVEagpJX2FjREZCRCgiRE9EYWVbM1FjSkQoRCcsJyxEJHVRSV8KMzNRUEpjX2oKSTBEKURPRCIpRClEU0JyRCI7WAkJCSRZUWF1X2oKSUpBUVpDRG1EIltEIjtYCQlYCQlSREozMEpESFgJWAkJCSR1UUlfCjMzUVBKY19qCkkwRG1EImoKSUpBUVpDREJ7dERGQkQoJyJET0RhZVszUWNKRChEIicsJyIsRCR1UUlfCjMzUVBKY19qCkkwRClET0QiJylEU0JyRCI7WAlYCQlSWFgJUkRKMzBKRCR1UUlfCjMzUVBKY19qCkkwbSIiO1gJCQkJCVgJWAlhZkQoRCRhY0QpREhYCQkkYWNEbUQiRFNCckRhY0QhbURIJGFjUiI7WAlSREozMEpEJGFjRG1EJyc7WAlYCSRjYi1wdmxKWkMoRCI5NT01RXREYWMsRCBTdEVHRChJYUkzSixEMGhRWklfMElRWkMsRGZsMzNfMElRWkMsRF1mYUozYzApRFN4U0ZCOXREKCdIJGJRY0NSJylECjBEMGpRWkpELkx7IEQiRE9Eb0w1LkZ5RE9EIl9bUTBJREgkWVFhdV9qCklKQVFaQ1I8RzVMNURIJAozM1FQSmNfagpJMFJIJHVRSV8KMzNRUEpjX2oKSTBSIFN0RUdEKElhSTNKLEQwaFFaSV8wSVFaQyxEZmwzM18wSVFaQyxEXWZhSjNjMClEU3hTRkI5dEQoJ0gkYlFjQ1InKUgkYWNSRFNCckQKW1taUVdKbTgiRE9EJFBoSlpKX2MKSUpET0QiRHtMcjVMRDJNRDBqUVpKRHI1OUVEPUYgRnREIkRPRCRqUXVmYUE0J1pKMwpJSmNfdWxlYkpaJ2lEKTtYWAlQaGEzSkQoRCRaSjMKSUpjRG1EJGNiLXBBSklfWlFQKClEKURIWAkJJFpKMwpJSmNfYWMwNGlEbUQkWkozCklKYzQnYWMnaTtYCVJYCVgJYWZEKERqUWx1SSgkWkozCklKY19hYzApRClESFgJCSRaSjMKSUpjX2FjMERtRGFlWzNRY0ooIiwiLCRaSjMKSUpjX2FjMCk7WAlSREozMEpEJFpKMwpJSmNfYWMwRG1EJyc7WAlYCSRibGZmSlpEbUQkWkozCklKY19hYzA7WFhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQidUpQMDBbCmUiKURIWFgJYWZEKEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCjMzUVBfCjMzX0pjYUknaSlEY2FKRCgiSlpaUVoiKTtYWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYCVgJJGFjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTtYCVgJYWYoRCRhY0QxRDhEKURjYUooRCJKWlpRWiJEKTtYWAkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdERhYyxECmxJUVosRApbW1pRV0pELkx7IEQiRE9Eb0w1LkZ5RE9EIl9bUTBJRDxHNUw1RGFjRG1EJ0gkYWNSJyJEKTtYWAlhZkQoJFpRUDQnYWMnaSkJSFhYCQkkCmxJaFFaRG1EJGNiLXAwCmZKMHYzKCRaUVA0JwpsSVFaJ2kpO1hYCQlhZihEJFpRUDQnCltbWlFXSidpRClEY2FKRCgiSlpaUVoiKTtYWAkJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREbDBKWl9hYyxEbDBKWl9BWlFsW0QuTHsgRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaMEQ8RzVMNUR1CmVKRG1EJ0gkCmxJaFFaUiciRCk7WFgJCSRsMEpaX2FjRG1EYXVJVwozKCRaUVA0J2wwSlpfYWMnaSk7WFgJCWFmRCgkbDBKWl9BWlFsWzQkWlFQNCdsMEpaX0FaUWxbJ2lpNCcKMzNRUF8KY2VhdSdpKURjYUpEKCQzCnVBNCdlClpxXzBbCmVfSlpaUVonaSk7WFgJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzdUJyxEJ0gkCmxJaFFaUicpIkQpO1hYCQkkWkowbDNJRG1EJGNiLXB2bEpaQyhEIjk1PTVFdERhY0QuTHsgRCJET0RvTDUuRnlET0QiX1tRMElEPEc1TDVECmxJUVptJ0gkCmxJaFFaUidEU0JyRApbW1pRV0ptJ3MnIkQpO1gJCQlYCQlQaGEzSkQoRCRaUVBEbUQkY2ItcEFKSV8KWloKQyhEJFpKMGwzSUQpRClESFgJCQljSjNKSUp1SlAwYkNhYyhEJFpRUDQnYWMnaUQpO1gJCVJYWAkJJGNiLXBmWkpKKEQkWkowbDNJRCk7WAkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBEOTV0RFpKMElaYWpJSmNtJ1UnLERaSjBJWmFqSUpjX2MKQzBtJ3MnRDxHNUw1RGwwSlpfYWNEbSdIJGwwSlpfYWNSJyJEKTtYCQlqM0oKWl9qCmpoSihEClpaCkMoJ3VKUDBfJyxEJ0kKQTBqM1FsY18nLEQnClpqaGFXSjBfJyxEJ2oKM0p1YwpaXycsRCdJUVt1SlAwXycsRCdaMDAnLEQnMEkKSTAnKUQpO1gJCSRibGZmSlpEbUQkMwp1QTQnZQpacV8wWwplX1FxX1YnaTtYWAlSREozMEpEY2FKRCgiSlpaUVoiKTtYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJJYWVKUWxJIilESFhYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJWAkJY2FKRCgiSlpaUVoiKTtYCVgJUlgJWAkwSklfalFRcWFKKEQiSWFlSlFsSV8wSjAwYVF1IixEJzgnLERVTmREKTtYCSRfOTU5OUZ7QjQnSWFlSlFsSV8wSjAwYVF1J2lEbUQ4O1gJWAljYUooRCJRcSJEKTtYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJqM0oKWltRMzMiKURIWFgJYWZEKEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCjMzUVBfCjMzX0pjYUknaSlEY2FKRCgiSlpaUVoiKTtYWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYWAkkYWNEbURhdUlXCjMoRCRfTDV3SzU5dDQnYWMnaUQpO1gJWAlhZihEJGFjRDFEOEQpRGNhSihEIkpaWlFaIkQpO1gJWAkkY2ItcHZsSlpDKEQiS29yU3Q1REQiRE9Eb0w1LkZ5RE9EIl9bUTMzRDk1dEREV1FJSjBtJ3MnLEQKdTBQSlptJydEPEc1TDVEdUpQMF9hY0RtRCdIJGFjUiciRCk7WAkkY2ItcHZsSlpDKEQicjU9NXQ1RC5MeyBEIkRPRG9MNS5GeURPRCJfW1EzM18zUUFEPEc1TDVEdUpQMF9hY20nSCRhY1InIkQpO1gJWAkkYmxmZkpaRG1EJDMKdUE0J2ozSgpaX1tRMzNfVidpO1hYUlhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImpRZWVKdUkwW2xiM2FqIilESFhYCWFmRChEISRsMEpaX0FaUWxbNCRlSmViSlpfYWM0J2wwSlpfQVpRbFsnaWk0JwpjZWF1X2pRZWVKdUkwJ2kpRGNhSkQoIkpaWlFaIik7WFgJYWYoRCFhMDBKSSgkX0w1d0s1OXQ0J2wwSlpfaAowaCdpKUR7TEQhJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUR7TEQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREhYCQlYCQljYUpEKCJKWlpRWiIpO1gJWAlSWAlYCSRqX2FjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTtYCSRbUTBJX2FjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J1tRMElfYWMnaUQpO1gJWAkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX2pRZWVKdUkwRDk1dEQKW1taUVdKbSc4J0Q8RzVMNURhY20nSCRqX2FjUiciRCk7WAkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX1tRMElEOTV0RGpRZWVfdWxlbWpRZWVfdWxlKzhEPEc1TDVEYWNtJ0gkW1EwSV9hY1InIkQpO1hYCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzg2JyxEJycpIkQpO1hYCWozSgpaX2oKamhKKEQKWloKQygndUpQMF8nLEQnSQpBMGozUWxjXycsRCcKWmpoYVdKMF8nLEQnagozSnVjClpfJyxEJ0lRW3VKUDBfJyxEJ1owMCcsRCcwSQpJMCcpRCk7WFgJYWZEKEQkalF1ZmFBNCcKMzNRUF8wbGIwalphYkonaUQpREhYWAkJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXRECmxJUVosRElKXUksRFsKWkp1SUQuTHsgRCJET0RvTDUuRnlET0QiX2pRZWVKdUkwRDxHNUw1RGFjRG1EJ0gkal9hY1InIkQpO1hYCQkkdQplSkRtRCRaUVA0JwpsSVFaJ2k7WAkJJGJRY0NEbUQkWlFQNCdJSl1JJ2k7WAkJJFsKWkp1SURtRCRaUVA0J1sKWkp1SSdpO1hYCQkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdERhYyxEMGhRWklfMElRWkMsRElhSTNKLERjCklKLEQKM0lfdQplSixEagpJSkFRWkNELkx7IEQiT29MNS5GeU8iX1tRMElEPEc1TDVEYWNEbUQnSCRbUTBJX2FjUiciRCk7WFgJCSRaUVA0J2MKSUonaURtRDBJWklRSWFlSihEJFpRUDQnYwpJSidpRCk7WAkJJFpRUDQnagpJSkFRWkMnaURtRGF1SVcKMyhEJFpRUDQnagpJSkFRWkMnaUQpO1hYCQlhZihEJGpRdWZhQTQnCjMzUVBfCjNJX2xaMydpRClESFgJCQkJWAkJCWFmKEQkalF1ZmFBNCcwSlFfSUNbSidpRG1tRDhEe0xEJGpRdWZhQTQnMEpRX0lDW0onaURtbURWRClESFgJCQlYCQkJCWFmKEQkWlFQNCdqCklKQVFaQydpRAp1Y0QkalF1ZmFBNCcwSlFfSUNbSidpRG1tRFZEKURIWAkJCQkJWAkJCQkJJGZsMzNfM2F1cURtRCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaURPREFKSV9sWjMoRCRaUVA0J2oKSUpBUVpDJ2lEKURPRCJrIkRPRCRaUVA0J2FjJ2lET0QiLSJET0QkWlFQNCcKM0lfdQplSidpRE9EIk9oSWUzIjtYCQkJCQlYCQkJCVJESjMwSkRIWAkJCQkJWAkJCQkJJGZsMzNfM2F1cURtRCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaURPRCRaUVA0J2FjJ2lET0QiLSJET0QkWlFQNCcKM0lfdQplSidpRE9EIk9oSWUzIjtYCQkJCQlYCQkJCVJYCQkJCVgJCQlSREozMEpESFgJCQkJWAkJCQkkZmwzM18zYXVxRG1EJGpRdWZhQTQnaElJW19oUWVKX2xaMydpRE9EYwpJSihEJ01rZWtjaycsRCRaUVA0J2MKSUonaUQpRE9EJFpRUDQnCjNJX3UKZUonaURPRCJPaEllMyI7WAkJCVJYCQkJWAkJUkRKMzBKREhYCQkJCVgJCQkkZmwzM18zYXVxRG1EJGpRdWZhQTQnaElJW19oUWVKX2xaMydpRE9EImF1Y0pdT1toWz91SlAwYWNtIkRPRCRaUVA0J2FjJ2k7WAkJCVgJCVJYCVgJCSRJYUkzSkRtRDBJWmFbMDMKMGhKMCgkWlFQNCdJYUkzSidpKTtYCQlYCQkkWlFQRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdEQqRC5MeyBEIkRPRG9MNS5GeURPRCJfSmUKYTNEPEc1TDVEdQplSm0nalFlZUp1STAnRD1GIEZ0RHMsOCJEKTtYCQkkZQphM0RtRHVKUERjM0pfZQphMyhEJGpRdWZhQSxEJFpRUDQnbDBKX2hJZTMnaUQpO1hYCQlhZkQoMElaW1EwKCRmbDMzXzNhdXEsRCJrayIpRG1tbURzKUQkZmwzM18zYXVxRG1EImhJSVs6Ik8kZmwzM18zYXVxO1gJCUozMEphZkQoMElaW1EwKCRmbDMzXzNhdXEsRCJrIilEbW1tRHMpRCRmbDMzXzNhdXFEbUQiaElJWzprayJPJF85NUwvNUw0J0d0dG9fR3s5dCdpTyRmbDMzXzNhdXE7WFgJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVphWzAzCjBoSjAoRCRaUVA0J0lKZVszCklKJ2lEKTtYCQkkWlFQNCdJSmVbMwpJSidpRG1EMElaX1pKWzMKakooRCJIJWwwSlp1CmVKJVIiLEQkdQplSixEJFpRUDQnSUplWzMKSUonaUQpO1gJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVpfWkpbMwpqSihEIkglYwpJSiVSIixEMwp1QWMKSUooRCJZRC5ETURHOmEiLEQkX3RGIDUsRElabEpEKSxEJFpRUDQnSUplWzMKSUonaUQpO1gJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVpfWkpbMwpqSihEIkglM2F1cSVSIixEJGZsMzNfM2F1cSxEJFpRUDQnSUplWzMKSUonaUQpO1gJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVpfWkpbMwpqSihEIkglSWFJM0olUiIsRCRJYUkzSixEJFpRUDQnSUplWzMKSUonaUQpO1hYCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQnXHUnLEQiIixEJGJRY0NEKTtYCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQnXFonLEQiIixEJGJRY0NEKTtYCQkJWAkJJGJRY0NEbUQwSVphWzAzCjBoSjAoRDBJWmFbMDMKMGhKMChEJGJRY0NEKUQpO1gJCSRiUWNDRG1EMElaX1pKWzMKakooRCIxYlpEa3AiLEQiXHUiLEQkYlFjQ0QpO1gJCSRiUWNDRG1EMElaYVtfSQpBMChEJGJRY0NEKTtYCQkJWAkJYWYoRCRaUVA0J2wwSl9oSWUzJ2lEKURIWAkJCSRiUWNDRG1EMElaX1pKWzMKakooIlx1IixEIjFiWkRrcCIsRCRiUWNDRCk7WAkJUlgJCQkJCVgJCSRaUVA0J0lKZVszCklKJ2lEbUQwSVpfWkpbMwpqSihEIkglSUpdSSVSIixEJGJRY0MsRCRaUVA0J0lKZVszCklKJ2lEKTtYCQkkWlFQNCdJSmVbMwpJSidpRG1EMElaX1pKWzMKakooRCJIJWFbJVIiLEQiLS0iLEQkWlFQNCdJSmVbMwpJSidpRCk7WAkJWAkJJGZRbHVjX3VKUDBfCmxJaFFaXzBsYjBqWmFiSkRtRGYKMzBKO1gJCSRmUWx1Y19aSlszQ18KbEloUVpfMGxiMGpaYWJKRG1EZgozMEo7WAkJWAkJJHVKUDBfCmxJaFFaXzBsYjBqWmFiSkRtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT2wwSlpfYWMsRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME91CmVKLEQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBPSmUKYTMsRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME91SlAwXzBsYjBqWmFiSkQuTHsgRCJET0RvTDUuRnlET0QiX1tRMElfSl1JWgowRD01LnREPntGQkQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBEe0JEIkRPRG9MNS5GeURPRCJfW1EwSV9KXUlaCjBPbDBKWl9hY20iRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBPbDBKWl9hY0Q8RzVMNUQiRE9Eb0w1LkZ5RE9EIl9bUTBJX0pdSVoKME91SlAwX2FjbSdIJFtRMElfYWNSJyJEKTtYCQlYCQlhZihEJFsKWkp1SUQpREhYCQkJWAkJCSRaSlszQ18KbEloUVpfMGxiMGpaYWJKRG1EJGNiLXAwbFtKWl92bEpaQyhEIjk1PTVFdEQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBPbDBKWl9hYyxEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT3UKZUosRCJET0RLOTVMb0w1LkZ5RE9EIl9sMEpaME9KZQphMyxEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowT2pRZWVKdUkwX1pKWzNDXzBsYjBqWmFiSkQuTHsgRCJET0RvTDUuRnlET0QiX2pRZWVKdUkwRD01LnREPntGQkQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBEe0JEIkRPRG9MNS5GeURPRCJfalFlZUp1STBPbDBKWl9hY20iRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBPbDBKWl9hY0Q8RzVMNUQiRE9Eb0w1LkZ5RE9EIl9qUWVlSnVJME9hY20nSCRbClpKdUlSJyJEKTtYCQkJWAkJUkRKMzBKRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKRG1EClpaCkMoKTsJWFgJCWFmRCgwSVpbUTAoJGpRdWZhQTQnaElJW19oUWVKX2xaMydpLEQia2siKURtbW1EcylEJDAzYXVxRG1EImhJSVswOiJPJGpRdWZhQTQnaElJW19oUWVKX2xaMydpO1gJCUozMEphZkQoMElaW1EwKCRqUXVmYUE0J2hJSVtfaFFlSl9sWjMnaSxEImsiKURtbW1EcylEJDAzYXVxRG1EImhJSVswOmtrIk8kXzk1TC81TDQnR3R0b19Hezl0J2lPJGpRdWZhQTQnaElJW19oUWVKX2xaMydpO1gJCUozMEpEJDAzYXVxRG1EJGpRdWZhQTQnaElJW19oUWVKX2xaMydpO1hYCQlhZihEISRbClpKdUlEKURIWAkJCVgJCQkkY2ItcHZsSlpDKEQiOTU9NUV0RGwwSlpfYWMsRHUKZUosREplCmEzLERoCjBoRC5MeyBEIkRPRG9MNS5GeURPRCJfMGxiMGpaYWJKRDxHNUw1RHVKUDBfYWNtJ0gkW1EwSV9hY1InIkQpO1gJWAkJCVBoYTNKKCRaSmpEbUQkY2ItcEFKSV9aUVAoKSlYCQkJSFgJCQkJYWYoRCRaSmo0J2wwSlpfYWMnaURtbUQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCdsMEpaX2FjJ2lEKURIWAkJCQkJJGZRbHVjX3VKUDBfCmxJaFFaXzBsYjBqWmFiSkRtRElabEo7WAkJCQlSWAkJCQkJWAkJCQlhZihEJFsKWkp1SURTQnJEJFpKajQnbDBKWl9hYydpRG1tRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCdsMEpaX2FjJ2lEKURIWAkJCQkJJGZRbHVjX1pKWzNDXwpsSWhRWl8wbGIwalphYkpEbURJWmxKO1gJCQkJUlgJCQkJCVgJCQkJYWZEKCRaSmo0J2wwSlpfYWMnaUQhbUQkZUplYkpaX2FjNCdsMEpaX2FjJ2lEKURIWAkJCVgJCQkJCSRiUWNDRG1EMElaX1pKWzMKakooRCJIJWwwSlp1CmVKX0lRJVIiLEQkWkpqNCd1CmVKJ2ksRCRaUVA0J0lKZVszCklKJ2lEKTtYCQkJCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQiSCVsdTBsYjBqWmFiSiVSIixEJDAzYXVxRE9EImF1Y0pdT1toWz9jUW1sdTBsYjBqWmFiSiZbUTBJX2FjbSJET0QkW1EwSV9hY0RPRCImbDBKWl9hY20iRE9EJFpKajQnbDBKWl9hYydpRE9EIiZoCjBobSJET0QkWkpqNCdoCjBoJ2ksRCRiUWNDRCk7WAkJCQkJJGUKYTMtcDBKdWMoRCRaSmo0J0plCmEzJ2ksRCQzCnVBNCdlCmEzX2pRZWVKdUkwJ2ksRCRiUWNDRCk7WAlYCQkJCVJYCVgJCQlSWAkJCVgJCVJYCQlYCQlhZigkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCd1SlAwXzBsYjBqWmFiSidpRFNCckQhJGZRbHVjX3VKUDBfCmxJaFFaXzBsYjBqWmFiSilESFgJCQlYCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbDBKWnUKZUpfSVElUiIsRCR1SlAwXwpsSWhRWl8wbGIwalphYko0J3UKZUonaSxEJFpRUDQnSUplWzMKSUonaUQpO1gJCQlYCQkJYWZEKCRqUXVmYUE0JwozM1FQXwozSV9sWjMnaSlESFgJCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbHUwbGIwalphYkolUiIsRCQwM2F1cURPRCJsMEpaayJET0RsWjNKdWpRY0pEKEQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCd1CmVKJ2lEKURPRCJrIixEJGJRY0NEKTtYCQkJUkRKMzBKREhYCQkJCSRiUWNDRG1EMElaX1pKWzMKakooRCJIJWx1MGxiMGpaYWJKJVIiLEQkMDNhdXFET0QiYXVjSl1PW2hbPz8wbGIKaklhUXVtbDBKWmF1ZlEmbDBKWm0iRE9EbFozSnVqUWNKRChEJHVKUDBfCmxJaFFaXzBsYjBqWmFiSjQndQplSidpRCksRCRiUWNDRCk7WAkJCVJYCQkJWAkJCSRlCmEzLXAwSnVjKEQkdUpQMF8KbEloUVpfMGxiMGpaYWJKNCdKZQphMydpLEQkMwp1QTQnZQphM19qUWVlSnVJMCdpLEQkYlFjQ0QpO1gJCQlYCQkJJDMKMElfMEp1Y0RtRCR1SlAwXwpsSWhRWl8wbGIwalphYko0J2wwSlpfYWMnaTtYCQkJWAkJUkRKMzBKRCQzCjBJXzBKdWNEbURmCjMwSjtYCQlYCQlhZigkWwpaSnVJRFNCckQkWkpbM0NfCmxJaFFaXzBsYjBqWmFiSjQnalFlZUp1STBfWkpbM0NfMGxiMGpaYWJKJ2lEU0JyRCEkZlFsdWNfWkpbM0NfCmxJaFFaXzBsYjBqWmFiSkRTQnJEJFpKWzNDXwpsSWhRWl8wbGIwalphYko0J2wwSlpfYWMnaUQhbUQkMwowSV8wSnVjKURIWAkJCVgJCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQiSCVsMEpadQplSl9JUSVSIixEJFpKWzNDXwpsSWhRWl8wbGIwalphYko0J3UKZUonaSxEJFpRUDQnSUplWzMKSUonaUQpO1gJCQlYCQkJYWZEKCRqUXVmYUE0JwozM1FQXwozSV9sWjMnaSlESFgJCQkJJGJRY0NEbUQwSVpfWkpbMwpqSihEIkglbHUwbGIwalphYkolUiIsRCQwM2F1cURPRCJsMEpaayJET0RsWjNKdWpRY0pEKEQkWkpbM0NfCmxJaFFaXzBsYjBqWmFiSjQndQplSidpRClET0QiayIsRCRiUWNDRCk7WAkJCVJESjMwSkRIWAkJCQkkYlFjQ0RtRDBJWl9aSlszCmpKKEQiSCVsdTBsYjBqWmFiSiVSIixEJDAzYXVxRE9EImF1Y0pdT1toWz8/MGxiCmpJYVF1bWwwSlphdWZRJmwwSlptIkRPRGxaM0p1alFjSkQoRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCd1CmVKJ2lEKSxEJGJRY0NEKTtYCQkJUlgJCQlYCQkJJGUKYTMtcDBKdWMoRCRaSlszQ18KbEloUVpfMGxiMGpaYWJKNCdKZQphMydpLEQkMwp1QTQnZQphM19qUWVlSnVJMCdpLEQkYlFjQ0QpO1gJCVJYWAkJJGNiLXBmWkpKKCk7WAlSWAlYCSRibGZmSlpEbUQnUXEnOwlYUlhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImpRZWVKdUkwMFsKZSIpREhYWAlhZkQoRCEkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCdjSjNfCjMzaidpKURjYUpEKCJKWlpRWiIpO1hYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJWAkJY2FKRCgiSlpaUVoiKTtYCVgJUlgJWAkkYWNEbURhdUlXCjMoRCRfTDV3SzU5dDQnYWMnaUQpO1gJWAlhZihEJGFjRDFEOEQpRGNhSihEIkpaWlFaIkQpO1hYCSRaUVBEbUQkY2ItcDBsW0paX3ZsSlpDKEQiOTU9NUV0RGFjLERsMEpaX2FjLEQKbElRWixESmUKYTMsRGFbLERhMF9aSkFhMElKWkQuTHsgRCJET0RvTDUuRnlET0QiX2pRZWVKdUkwRDxHNUw1RGFjRG1EJ0gkYWNSJyJEKTtYWAlhZkQoJFpRUDQnYWMnaSkJSFhYCQkkbDBKWl9hY0RtRGF1SVcKMygkWlFQNCdsMEpaX2FjJ2kpO1gJCSQKbEloUVpEbUQkY2ItcDAKZkowdjMoJFpRUDQnCmxJUVonaSk7WAkJJEplCmEzRG1EJGNiLXAwCmZKMHYzKCRaUVA0J0plCmEzJ2kpO1gJCSRhMF9aSkFhMElKWkRtRCRaUVA0J2EwX1pKQWEwSUpaJ2k7WAkJJGFbRG1EJGNiLXAwCmZKMHYzKCRaUVA0J2FbJ2kpO1hYCQlhZkQoRCRhMF9aSkFhMElKWkQpREhYWAkJCSRaUVBEbUQkY2ItcDBsW0paX3ZsSlpDKEQiOTU9NUV0RGwwSlpfQVpRbFtELkx7IEQiRE9ESzk1TG9MNS5GeURPRCJfbDBKWjBEPEc1TDVEbDBKWl9hY0RtRCdIJGwwSlpfYWNSJyJEKTtYWAkJCWFmRCgkbDBKWl9BWlFsWzQkWlFQNCdsMEpaX0FaUWxbJ2lpNCcKMzNRUF8KY2VhdSdpKURjYUpEKCQzCnVBNCdlClpxXzBbCmVfSlpaUVonaSk7WFgJCQkkY2ItcHZsSlpDKEQiRkI5NUx0REZCdHtEIkRPREs5NUxvTDUuRnlET0QiXwpjZWF1XzNRQTBEKHUKZUosRGMKSUosRGFbLEQKaklhUXUsREpdSVoKMClEVwozbEowRCgnIk8kY2ItcDAKZkowdjMoJGVKZWJKWl9hYzQndQplSidpKU8iJyxEJ0gkX3RGIDVSJyxEJ0gkX0ZvUicsRCc3VCcsRCdIJApsSWhRWlInKSJEKTtYWAkJCSRjYi1wdmxKWkMoRCJLb3JTdDVEIkRPREs5NUxvTDUuRnlET0QiX2wwSlowRDk1dERqUWVlX3VsZW0ncycsRFpKMElaYWpJSmNtJ1UnLERaSjBJWmFqSUpjX2MKQzBtJ3MnRDxHNUw1RGwwSlpfYWNEbSdIJGwwSlpfYWNSJyJEKTtYCQkJWAkJCWNKM0pJSmpRZWVKdUkwYkNsMEpaYWMoJGwwSlpfYWMpO1hYWAkJUkRKMzBKREhYWAkJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzc3JyxEJ0gkCmxJaFFaUicpIkQpO1hYCQkJY0ozSklKalFlZUp1STBiQ2wwSlphYyhzLEQkYVspO1hYCQkJJGNiLXB2bEpaQyhEIkZCOTVMdERGQnR7RCJET0RLOTVMb0w1LkZ5RE9EIl9iCnV1SmNEKGNKMGpaLERjCklKLERjCkMwLERhWylEVwozbEowRCgnSCQzCnVBNCdlClpxXzBbCmVfUXFfOCdpUicsRCdzJyxEJ3MnLEQnSCRhW1InKSJEKTtYCQkJQGx1M2F1cShENUJ4RkI1X3JGTERPRCdragpqaEprMEMwSUpla2IKdXVKY09baFsnRCk7WFgJCVJYWAkJajNKClpfagpqaEooRApaWgpDKCd1SlAwXycsRCdJCkEwajNRbGNfJyxEJwpaamhhV0owXycsRCdqCjNKdWMKWl8nLEQnSVFbdUpQMF8nLEQnWjAwJyxEJzBJCkkwJylEKTtYWAkJYWZEKEQkSmUKYTNEU0JyRDBJWjNKdSgkalF1ZmFBNCcwWwplXwpbYV9xSkMnaSlEcERVRClESFgJCVgJCQkkMGYwRG1EdUpQRDlJUVs5WwplKCRqUXVmYUE0JzBbCmVfClthX3FKQydpLEQkalF1ZmFBNCcwSmpfCmNjdUpQMCdpKTtYCQkJJApaQTBEbUQKWloKQygnYVtfCmNjWidEbXBEJGFbLEQnbDBKWnUKZUonRG1wRCQKbEloUVosRCdKZQphMydEbXBEJEplCmEzRCk7WAkJCSQwZjAtcApjYyhEJApaQTBEKTtYCQlYCQlSWFgJCSRibGZmSlpEbUQkMwp1QTQnZQpacV8wWwplX1FxJ2k7CQlYWAlSREozMEpEY2FKRCgiSlpaUVoiKTtYUlhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImozSgpaagpqaEoiKURIWFgJYWZEKEQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lEIW1EOEQpRGNhSkQoIkpaWlFaIik7WAlYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJWAkJY2FKRCgiSlpaUVoiKTtYCVgJUlgJWAlqM0oKWl8KMzNfagpqaEowKCk7WAlqM0oKWl8wSQpJYWpfagpqaEpfYWMoKTtYWAkkYmxmZkpaRG1EJDMKdUE0J2ozSgpaX2oKamhKJ2k7WFhSWFhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImozSgpaMGxiMGpaYWJKIilESFhYCWFmRChEJGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpRCFtRDhEKURjYUpEKCJKWlpRWiIpO1gJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCWNhSkQoIkpaWlFaIik7WAlSWFgJJGNiLXB2bEpaQygidExLQkVTdDVEdFMyPTVEIkRPRG9MNS5GeURPRCJfMGxiMGpaYWJKIik7WFgJJGJsZmZKWkRtRCQzCnVBNCdqM0oKWl8wbGIwalphYkonaTtYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJqM0oKWjBsYjBqWmFiSnVKUDAiKURIWFgJYWZEKEQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lEIW1EOEQpRGNhSkQoIkpaWlFaIik7WAlYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJY2FKRCgiSlpaUVoiKTtYCVJYCVgJJGFjRG1EYXVJVwozKEQkX0w1d0s1OXQ0J2FjJ2lEKTtYCVgJYWYoRCRhY0QxRDhEKURjYUooRCJKWlpRWiJEKTtYCVgJJGNiLXB2bEpaQyhEInI1PTV0NUQuTHsgRCJET0RvTDUuRnlET0QiXzBsYjBqWmFiSkQ8RzVMNUR1SlAwX2FjbSdIJGFjUiciRCk7WFgJJGJsZmZKWkRtRCQzCnVBNCdqM0oKWl8wbGIwalphYkonaTtYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCIwSnVjdVFJYWpKIilESFgJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYCVgJJFpRUERtRCRjYi1wMGxbSlpfdmxKWkMoRCI5NT01RXREYWNELkx7IEQiRE9Eb0w1LkZ5RE9EIl91UUlhakpEPEc1TDVEbDBKWl9hY0RtRCdIJGVKZWJKWl9hYzQnbDBKWl9hYydpUiciRCk7WAlYCSR1UUlhakpEbUQkX297OXQ0J3VRSWFqSidpO1gJWAkkdVFJYWpKRG1EJGNiLXAwCmZKMHYzKEQkdVFJYWpKRCk7WAlYCWFmKERjM0pfMElaM0p1KEQkdVFJYWpKLEQkalF1ZmFBNCdqaApaMEpJJ2lEKURwRE5kc3NzRClESFgJCWNhSihEIkpaWlFaIkQpO1gJUlgJWAlhZihEJFpRUDQnYWMnaUQpREhYCQlYCQkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX3VRSWFqSkQ5NXREdVFJYWpKbSdIJHVRSWFqSlInRDxHNUw1RGwwSlpfYWNEbUQnSCRlSmViSlpfYWM0J2wwSlpfYWMnaVInIkQpO1gJWAlSREozMEpESFgJCVgJCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9Eb0w1LkZ5RE9EIl91UUlhakpEKGwwSlpfYWMsRHVRSWFqSilEVwozbEowRCgnSCRlSmViSlpfYWM0J2wwSlpfYWMnaVInLEQnSCR1UUlhakpSJykiRCk7WAlYCVJYWAkkYmxmZkpaRG1EJDMKdUE0JzAKV0pjJ2k7WFhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiMApXSjMKdUEiKURIWAlYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJWAkJSmpoUUQiSFwiSlpaUVpcIjpcIkpaWlFaXCJSIjtYCQljYUpEKCk7WAlYCVJYCVgJJF9MNXdLNTl0NCczCnVBJ2lEbURJUUlaCnUwM2FJKEQkX0w1d0s1OXQ0JzMKdUEnaSxEZgozMEosRGYKMzBKRCk7WFgJYWZEKCRfTDV3SzU5dDQnMwp1QSdpRFNCckRAYTBfY2FaRChETHt7dF9yRkxET0QnazMKdUFsCkFKaydET0QkX0w1d0s1OXQ0JzMKdUEnaUQpKURIWAkJWAkJMEpJX2pRUXFhSkQoRCIwSjNKaklKY18zCnVBbApBSiIsRCRfTDV3SzU5dDQnMwp1QSdpLERVTmREKTtYCQlYWAlSWAlYCUpqaFFEIkhcIlFxXCI6XCJRcVwiUiI7WAljYUooKTtYCVhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiMApXSkloSmVKIilESFgJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYCVgJJGZhM0pEbURlY2QoOTVFS0w1X1NLdEdfejVNTyRlSmViSlpfYWM0J2wwSlpfYWMnaSk7WAlYCWFmKEQhYTBfY2FaKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKMyJEKUQpREhYCQkJWAkJQGVxY2FaKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKMyIsRHNUVFREKTtYCQlAamhlUWMoRDVCeEZCNV9yRkxET0Qia2oKamhKazBDMElKZWsKY2VhdVsKdUozIixEc1RUVEQpO1hYCVJYCVgJYWYoRCFhMF9jYVooRDVCeEZCNV9yRkxET0Qia2oKamhKazBDMElKZWsKY2VhdVsKdUozIilEKURIWFgJCUpqaFFEIkhcIkpaWlFaXCI6XCJIJDMKdUE0JzBJCklfagpqaEonaVJcIlIiO1gJCWNhSigpO1gJUlgJWAlhZihEIWEwX1BaYUkKYjNKKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKMyJEKUQpREhYWAkJSmpoUUQiSFwiSlpaUVpcIjpcIkgkMwp1QTQnbFszUQpjX0paWlFaXzgnaVJEa0p1QWF1SmtqCmpoSmswQzBJSmVrCmNlYXVbCnVKM2tESCQzCnVBNCdsWzNRCmNfSlpaUVpfVidpUlwiUiI7WAkJY2FKKCk7WAkJWAlSWFgJYWYoRGZhM0pfSl1hMEkwKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKM2siRE9EJGZhM0pEKURTQnJEIWEwX1BaYUkKYjNKKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKM2siRE9EJGZhM0pEKUQpREhYCQlYCQkkMwp1QTQnMEkKSV8wQzBJSmUnaURtRDBJWl9aSlszCmpKRCgiSGZhM0pSIixEImtKdUFhdUpragpqaEprMEMwSUplawpjZWF1Wwp1SjNrIkRPRCRmYTNKLEQkMwp1QTQnMEkKSV8wQzBJSmUnaSk7WAkJWAkJSmpoUUQiSFwiSlpaUVpcIjpcIkgkMwp1QTQnMEkKSV8wQzBJSmUnaVJcIlIiO1gJCWNhSigpO1gJCVgJUlgJWAkkCjMzUVBKY19JaEplSjBEbUQKWloKQygnYzNKX0loSmVKXwonLEQnYzNKX0loSmVKX2InLCdjM0pfSWhKZUpfaicsJ2MzSl9JaEplSl9jJywnYzNKX0loSmVKX0onLCdjM0pfSWhKZUpfZicsJ2MzSl9JaEplSl9BJywnYzNKX0loSmVKX2gnLCdjM0pfSWhKZUpfYScsRCdjM0pfSWhKZUpfWScsJ2MzSl9JaEplSl9jClpxJywnMGFjSmIKWi1dMCcsJzMKQ1FsSS1iUV1KYycsJ2F1W2xJLWozCjAwYWonLCcKbElRX2MKWnFfSWhKZUonLCcwSUMzSi0wZVFRSWhhdUEnLCdoSWUzZlF1STBhfUotZHMnLCdoSWUzZlF1STBhfUotVGQnLCdoSWUzZlF1STBhfUotNnMnLCdoSWUzZlF1STBhfUotODhzJywnaEllM2ZRdUkwYX1KLThWcycsJ2hJZTNmUXVJMGF9Si04VXMnLCdoSWUzZlF1STBhfUotOGdzJywnaEllM2ZRdUkwYX1KLThkcycsJ2hJZTNmUXVJMGF9Si04VGQnLEQnaEllM2ZRdUkwYX1KLVZzcydEKTtYCSRJaEplSkRtRApaWgpDKCk7WAlYCWFmKEQwSVpbUTBEKEQkX0w1d0s1OXQ0J0loSmVKJ2ksRCIwCldKY19jM0pfSWhKZUpfIkQpRHtMRDBJWltRMEQoRCRfTDV3SzU5dDQnSWhKZUonaSxEIgpsSVFfdWFBaElfZVFjSiJEKUQpREhYCQkkX0w1d0s1OXQ0J0loSmVKJ2lEbUQwSVpfWkpbMwpqSignMApXSmNfYzNKX0loSmVKXycsRCdjM0pfSWhKZUpfJyxEJF9MNXdLNTl0NCdJaEplSidpKTtYCQkkX0w1d0s1OXQ0J0loSmVKJ2lEbUQwSVpfWkpbMwpqSignYzNKX0loSmVKX2MKWnEnLEQnJyxEJF9MNXdLNTl0NCdJaEplSidpKTtYCQkkX0w1d0s1OXQ0J0loSmVKJ2lEbURJWmFlKCRfTDV3SzU5dDQnSWhKZUonaSk7WAlSWAlYCSRJaEplSjBEbURKXVszUWNKKCJEIixEJF9MNXdLNTl0NCdJaEplSidpKTtYCVgJZlFaSgpqaCgkSWhKZUowRAowRCRJSmVbKURIWAkJYWYoRElaYWUoJElKZVspRFNCckRhdV8KWloKQygkSUplWyxEJAozM1FQSmNfSWhKZUowKUQpREhYCQkJJEloSmVKNGlEbURJWmFlKCRJSmVbKTtYCQlSWAlSWAlYCWFmKERqUWx1SSgkSWhKZUopRClESFgJCVgJCSRJaEplSkRtRGFlWzNRY0ooIkQiLEQkSWhKZUopO1gJCVgJCWZhM0pfW2xJX2pRdUlKdUkwRCg1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKM2siRE9EJGZhM0osRCRJaEplSixEPXtFel81eSk7WAkJQGpoZVFjKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKM2siRE9EJGZhM0osRHNOTk5EKTtYCVgJUkRKMzBKREhYCQlYCQlAbHUzYXVxKEQ1QnhGQjVfckZMRE9EImtqCmpoSmswQzBJSmVrCmNlYXVbCnVKM2siRE9EJGZhM0pEKTtYCQlYCVJYCVgJSmpoUUQiSFwiUXFcIjpcIlFxXCJSIjtYCWNhSigpO1gJWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJjSjNKSUplUWNsM0owIilESFhYCWFmRChEJGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpRCFtRDhEKURjYUpEKCJKWlpRWiIpO1gJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYCVgJJGFjRG1EYXVJVwozKCRfTDV3SzU5dDQnYWMnaSk7WFgJYWZEKEQkYWNEKURIWAkJJGNiLXB2bEpaQyhEInI1PTV0NUQuTHsgRCJET0RvTDUuRnlET0QiXwpjZWF1XzBKaklhUXUwRDxHNUw1RGFjRG1EJ0gkYWNSJyJEKTtYCVgJCSRibGZmSlpEbUQnUXEnO1gJUlhYUlhYYWZEKCRfTDV3SzU5dDQnCmpJYVF1J2lEbW1EImoKSTBRWkkiKURIWFgJYWYoRCEkbDBKWl9BWlFsWzQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lpNCcKY2VhdV9qCklKQVFaYUowJ2lEKURjYUpEKCJKWlpRWiIpO1gJWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYWAkkX297OXQ0JzNhMEknaURtRFkwUXVfY0pqUWNKKDBJWmFbMDMKMGhKMCgkX297OXQ0JzNhMEknaSksRElabEopO1hYCWFmRChEIWEwXwpaWgpDKCRfb3s5dDQnM2EwSSdpKUQpRGNhSkQoIkpaWlFaIik7WAlYCSRfb3s5dDQnM2EwSSdpRG1EWwpaMEo+MFF1U1paCkMoJF9vezl0NCczYTBJJ2kpO1gJWAkkYW1EcztYWAlmUVpKCmpoRChEJF9vezl0NCczYTBJJ2lECjBEJFcKM2xKRClESFgJCSRhKys7WFgJCSRhY0RtRGF1SVcKMygkVwozbEo0J2FjJ2kpO1gJCSRbClpKdUlhY0RtRGF1SVcKMygkVwozbEo0J1sKWkp1SWFjJ2kpO1gJCVgJCWFmRChEJGFjRClESFhYCQkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9Eb0w1LkZ5RE9EIl9qCklKQVFaQ0Q5NXREWwpaSnVJYWNtJ0gkWwpaSnVJYWNSJyxEW1EwYW0nSCRhUidEPEc1TDVEYWNEbUQnSCRhY1InIkQpO1hYCQlSWAlSWFgJajNKClpfCjMzX2oKamhKMCgpO1gJJGNiLXB2bEpaQyhEIkZCOTVMdERGQnR7RCJET0RLOTVMb0w1LkZ5RE9EIl8KY2VhdV8zUUEwRCh1CmVKLERjCklKLERhWyxECmpJYVF1LERKXUlaCjApRFcKM2xKMEQoJyJPJGNiLXAwCmZKMHYzKCRlSmViSlpfYWM0J3UKZUonaSlPIicsRCdIJF90RiA1UicsRCdIJF9Gb1InLEQnODgnLEQnJykiRCk7WFgJJGJsZmZKWkRtRCdRcSc7WFhSWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiagpJamgKdUFKMEkKSWwwIilESFhYCWFmKEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCmNlYXVfagpJSkFRWmFKMCdpRClEY2FKRCgiSlpaUVoiKTtYCVgJYWYoRCFhMDBKSSgkX0w1d0s1OXQ0J2wwSlpfaAowaCdpKUR7TEQhJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUR7TEQkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRCFtRCRjM0pfM1FBYXVfaAowaEQpREhYCQlYCQljYUpEKCJKWlpRWiIpO1gJWAlSWFgJJGFjRG1EYXVJVwozKCRfb3s5dDQnYWMnaSk7WFgJYWYoRCEkYWNEe0xEJGFjRDFEOClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYCVgJYWYoRCRfb3s5dDQnMEkKSWwwJ2lEbW1EJ1FmZidEKURIWAkJJGNiLXB2bEpaQyhEIktvclN0NUQiRE9Eb0w1LkZ5RE9EIl9qCklKQVFaQ0Q5NXRECmpJYVdKbSdzJ0Q8RzVMNURhY0RtRCdIJGFjUiciRCk7WAkJJDNRQTBEbUQ4VnM7WAlSREozMEpESFgJCSRjYi1wdmxKWkMoRCJLb3JTdDVEIkRPRG9MNS5GeURPRCJfagpJSkFRWkNEOTV0RApqSWFXSm0nOCdEPEc1TDVEYWNEbUQnSCRhY1InIkQpO1gJCSQzUUEwRG1EOFY4O1gJUlhYCWozSgpaXwozM19qCmpoSjAoKTtYCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJ0gkM1FBMFInLEQnSCRhY1InKSJEKTtYWAkkYmxmZkpaRG1EJ1FxJztYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJbM2xBYXUwUVpJIilESFhYCWFmKEQkZUplYkpaX2FjNCdsMEpaX0FaUWxbJ2lEIW1EOEQpRGNhSkQoIkpaWlFaIik7WAlYCWFmKEQhYTAwSkkoJF9MNXdLNTl0NCdsMEpaX2gKMGgnaSlEe0xEISRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEe0xEJF9MNXdLNTl0NCdsMEpaX2gKMGgnaUQhbUQkYzNKXzNRQWF1X2gKMGhEKURIWAkJWAkJY2FKRCgiSlpaUVoiKTtYCVgJUlhYCSRfb3s5dDQnM2EwSSdpRG1EWTBRdV9jSmpRY0ooMElaYVswMwowaEowKCRfb3s5dDQnM2EwSSdpKSxESVpsSik7WFgJYWZEKEQhYTBfClpaCkMoJF9vezl0NCczYTBJJ2kpRClEY2FKRCgiSlpaUVoiKTtYCVgJJF9vezl0NCczYTBJJ2lEbURbClowSj4wUXVTWloKQygkX297OXQ0JzNhMEknaSk7WAlYCSRhbURzO1hYCWZRWkoKamhEKEQkX297OXQ0JzNhMEknaUQKMEQkVwozbEpEKURIWAkJJGErKztYWAkJJGFjRG1EYXVJVwozKCRXCjNsSjQnYWMnaSk7WAkJWAkJYWZEKEQkYWNEKURIWFgJCQkkY2ItcHZsSlpDKEQiS29yU3Q1RCJET0RvTDUuRnlET0QiX1szbEFhdTBEOTV0RFtRMGFtJ0gkYVInRDxHNUw1RGFjRG1EJ0gkYWNSJyJEKTtYWAkJUlgJUlhYCWozSgpaXwozM19qCmpoSjAoKTtYCSRjYi1wdmxKWkMoRCJGQjk1THRERkJ0e0QiRE9ESzk1TG9MNS5GeURPRCJfCmNlYXVfM1FBMEQodQplSixEYwpJSixEYVssRApqSWFRdSxESl1JWgowKURXCjNsSjBEKCciTyRjYi1wMApmSjB2MygkZUplYkpaX2FjNCd1CmVKJ2kpTyInLEQnSCRfdEYgNVInLEQnSCRfRm9SJyxEJzg4NicsRCcnKSJEKTtYWAkkYmxmZkpaRG1EJ1FxJztYWFJYWFhhZkQoJF9MNXdLNTl0NCcKaklhUXUnaURtbUQiXWYwUVpJIilESFhYCWFmKEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCmNlYXVfXWZhSjNjMCdpRClEY2FKRCgiSlpaUVoiKTtYWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYWAkkX297OXQ0JzNhMEknaURtRFkwUXVfY0pqUWNKKDBJWmFbMDMKMGhKMCgkX297OXQ0JzNhMEknaSksRElabEopO1hYCWFmRChEIWEwXwpaWgpDKCRfb3s5dDQnM2EwSSdpKUQpRGNhSkQoIkpaWlFaIik7WAlYCSRfb3s5dDQnM2EwSSdpRG1EWwpaMEo+MFF1U1paCkMoJF9vezl0NCczYTBJJ2kpO1hYCWZsdWpJYVF1RF1mYUozYzAwCldKKCRjCkkKKURIWAkJQTNRYgozRCRqUXVmYUE7WAlYCUREREQkYwpJCkRtRApaWgpDX1cKM2xKMCgkYwpJCik7WAkJJGZhM0pqUXVJSnVJMERtRCIiO1gJWAlEREREZlFaSgpqaEQoJGMKSQpECjBEJGF1Y0pdRG1wRCRXCjNsSilESFgJREREREREJFcKM2xKRG1EClpaCkNfVwozbEowKCRXCjNsSik7WAlERERERERmUVpKCmpoRCgkVwozbEpECjBEJGF1Y0pdVkRtcEQkVwozbEpWKURIWAlERERERERERCRXCjNsSlZEbUQwSVphWzAzCjBoSjAoJFcKM2xKVik7WAlERERERERERCRXCjNsSlZEbUQwSVpfWkpbMwpqSigifCIsRCImIzhWZzsiLEQkVwozbEpWKTtYCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCJcWlx1IixEIl9fQjU8PV9fIixEJFcKM2xKVik7WAlERERERERERCRmYTNKalF1SUp1STBET21EJFcKM2xKVkRPRCgkYXVjSl1WRDFEalFsdUkoJFcKM2xKKUQtRDhEP0QifCJEOkQiIik7WAlERERERERSWAlEREREREQkZmEzSmpRdUlKdUkwRE9tRCgkYXVjSl1EMURqUWx1SSgkYwpJCilELUQ4RD9EIlxaXHUiRDpEIiIpO1gJRERERFJYCVgJRERERCRmYTNKaAp1YzNKRG1EZlFbSnUoNUJ4RkI1X3JGTE8na2MKSQprXWZhSjNjME9JXUknLEQiUCsiKTtYCQlYCURERERhZkQoISRmYTNKaAp1YzNKKURjYUpEKCJKWlpRWiIpO1gJWAkJJGZhM0pqUXVJSnVJMERtRGhJZTMwW0pqYQozamgKWjAoJGZhM0pqUXVJSnVJMCxENUJ0X3dLe3Q1OSxEJGpRdWZhQTQnamgKWjBKSSdpRCk7WAkJJGZhM0pqUXVJSnVJMERtRDBJWl9aSlszCmpKKCImCmVbOyM4Vmc7IixEIiYjOFZnOyIsRCRmYTNKalF1SUp1STApO1hYCURERERmUFphSUooJGZhM0poCnVjM0osRCRmYTNKalF1SUp1STApO1gJRERERGZqM1EwSigkZmEzSmgKdWMzSik7WFgJUlhYCSRdZmFKM2MwRG1EXWZhSjNjMDNRCmMoKTtYCSRJSmVbXwpaWgpDRG1EClpaCkMoKTtYWAlmUVpKCmpoRChEJF9vezl0NCczYTBJJ2lECjBEJFcKM2xKRClESFhYCQkkYWNEbURhdUlXCjMoJFcKM2xKNCdhYydpKTtYCQkkSUplW18KWloKQzRpRG1EJF1mYUozYzA0JGFjaTsJCVhYCVJYWAkkXWZhSjNjMERtRCRJSmVbXwpaWgpDO1hYCV1mYUozYzAwCldKKCRdZmFKM2MwKTtYWAkkYmxmZkpaRG1EJ1FxJztYWFJYWGFmRCgkX0w1d0s1OXQ0JwpqSWFRdSdpRG1tRCJsMEpaXWYwUVpJIilESFhYCWFmKEQhJGwwSlpfQVpRbFs0JGVKZWJKWl9hYzQnbDBKWl9BWlFsWydpaTQnCmNlYXVfbDBKWmZhSjNjMCdpRClEY2FKRCgiSlpaUVoiKTtYWAlhZihEIWEwMEpJKCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2kpRHtMRCEkX0w1d0s1OXQ0J2wwSlpfaAowaCdpRHtMRCRfTDV3SzU5dDQnbDBKWl9oCjBoJ2lEIW1EJGMzSl8zUUFhdV9oCjBoRClESFgJCVgJCWNhSkQoIkpaWlFaIik7WAlYCVJYWAkkX297OXQ0JzNhMEknaURtRFkwUXVfY0pqUWNKKDBJWmFbMDMKMGhKMCgkX297OXQ0JzNhMEknaSksRElabEopO1hYCWFmRChEIWEwXwpaWgpDKCRfb3s5dDQnM2EwSSdpKUQpRGNhSkQoIkpaWlFaIik7WAlYCSRfb3s5dDQnM2EwSSdpRG1EWwpaMEo+MFF1U1paCkMoJF9vezl0NCczYTBJJ2kpO1hYCWZsdWpJYVF1RFtaUWZhM0ozUQpjKClESFhYCUREJFsKSWhEbUQ1QnhGQjVfckZMTydrYwpJCmtdW1pRZmEzSk9JXUknO1gJREQkZmEzSmpRdUlKdUkwRG1EZmEzSigkWwpJaCk7WAlYCURERERhZkQoIWEwXwpaWgpDKCRmYTNKalF1SUp1STApKURjYUpEKCJKWlpRWiIpO1gJRERYCURERERmUVpKCmpoRCgkZmEzSmpRdUlKdUkwRAowRCR1CmVKRG1wRCRXCjNsSilESFgJREREREREJGZhM0pqUXVJSnVJMDQkdQplSmlEbURKXVszUWNKKCJ8IixESVphZSgkVwozbEopKTtYCURERERERGZRWkoKamhEKCRmYTNKalF1SUp1STA0JHUKZUppRAowRCR1CmVKVkRtcEQkVwozbEpWKURIWAlERERERERERCRXCjNsSlZEbUQwSVpfWkpbMwpqSigiJiM4Vmc7IixEInwiLEQkVwozbEpWKTtEWAlERERERERERCRXCjNsSlZEbUQwSVpfWkpbMwpqSigiX19CNTw9X18iLEQiXFpcdSIsRCRXCjNsSlYpO1gJREREREREREQkZmEzSmpRdUlKdUkwNCR1CmVKaTQkdQplSlZpRG1EJFcKM2xKVjtYCURERERERFJYCURERERSWAlEREREWkpJbFp1RCRmYTNKalF1SUp1STA7WAlSWFhYCWZsdWpJYVF1RFtaUWZhM0owCldKKCRjCkkKKURIWAlYCUREREQkYwpJCkRtRApaWgpDX1cKM2xKMCgkYwpJCik7WAkJJGZhM0pqUXVJSnVJMERtRCIiO1gJWAlEREREZlFaSgpqaEQoJGMKSQpECjBEJGF1Y0pdRG1wRCRXCjNsSilESFgJREREREREJFcKM2xKRG1EClpaCkNfVwozbEowKCRXCjNsSik7WAlERERERERmUVpKCmpoRCgkVwozbEpECjBEJGF1Y0pdVkRtcEQkVwozbEpWKURIWAlERERERERERCRXCjNsSlZEbUQwSVphWzAzCjBoSjAoJFcKM2xKVik7WAlERERERERERCRXCjNsSlZEbUQwSVpfWkpbMwpqSigifCIsRCImIzhWZzsiLEQkVwozbEpWKTtYCUREREREREREJFcKM2xKVkRtRDBJWl9aSlszCmpKKCJcWlx1IixEIl9fQjU8PV9fIixEJFcKM2xKVik7WAlERERERERERCRmYTNKalF1SUp1STBET21EJFcKM2xKVkRPRCgkYXVjSl1WRDFEalFsdUkoJFcKM2xKKUQtRDhEP0QifCJEOkQiIik7WAlERERERERSWAlEREREREQkZmEzSmpRdUlKdUkwRE9tRCgkYXVjSl1EMURqUWx1SSgkYwpJCilELUQ4RD9EIlxaXHUiRDpEIiIpO1gJRERERFJYCUREWAlEREREJGZhM0poCnVjM0pEbURmUVtKdSg1QnhGQjVfckZMTydrYwpJCmtdW1pRZmEzSk9JXUknLEQiUCsiKTtYCURERERhZkQoISRmYTNKaAp1YzNKKURjYUpEKCJKWlpRWiIpO1gJWAkJJGZhdWNEbUQKWloKQ0QoJ2tjCkkKOmthJywnawpiUWxJOmthJywna1diMGpaYVtJOmthJywna1F1ajNhanFrYScsJ2tRdTNRCmNrYScsJ2tRdWx1M1EKY2thJywna1F1CmJRWklrYScsJ2tRdUpaWlFaa2EnLCdrUXViM2xaa2EnLCdrUXVqaAp1QUprYScsJ2tRdWZRamwwa2EnLCdrUXVaSjBKSWthJywna1F1MGxiZWFJa2EnLCdrUXVjYjNqM2FqcWthJywna1F1cUpDY1FQdWthJywna1F1cUpDW1pKMDBrYScsJ2tRdXFKQ2xba2EnLCdrUXVlUWwwSmNRUHVrYScsJ2tRdWVRbDBKbFtrYScsJ2tRdWVRbDBKUVdKWmthJywna1F1ZVFsMEpRbElrYScsJ2tRdTBKM0pqSWthJywna1kKVwowalphW0lrYScsJ2tRdWVRbDBKSnVJSlprYScsJ2tRdVBoSkoza2EnLCdrUXUwaFFQa2EnLCdrUXUKZklKWltaYXVJa2EnLCdrUXViSmZRWkpbWmF1SWthJywna1F1YkpmUVpKbHUzUQpja2EnLCdrUXVoCjBoamgKdUFKa2EnLCdrUXVlSjAwCkFKa2EnLCdrUXVRdTNhdUprYScsJ2tRdVFmZjNhdUprYScsJ2tRdVsKQUpoYWNKa2EnLCdrUXVbCkFKMGhRUGthJywna1F1W1FbMEkKSUprYScsJ2tRdVpKMGF9SmthJywna1F1MElRWgpBSmthJywna1F1alF1SUpdSWVKdWxrYScsJ2tRdWF1VwozYWNrYScsJ2tRdWF1W2xJa2EnLCdrUXUwSgpaamhrYScsJ2tRdWNaCkFrYScsJ2tRdWNaCkFKdWNrYScsJ2tRdWNaCkFKdUlKWmthJywna1F1Y1oKQTNKCldKa2EnLCdrUXVjWgpBUVdKWmthJywna1F1Y1oKQTBJClpJa2EnLCdrUXVjWlFba2EnLCdrUXVlUWwwSmVRV0prYScsJ2tRdWVRbDBKUGhKSjNrYScsJ2tRdTBqWlEzM2thJywna1F1alFbQ2thJywna1F1amxJa2EnLCdrUXVbCjBJSmthJywna1F1agp1WzMKQ2thJywna1F1agp1WzMKQ0loWlFsQWhrYScsJ2tRdWpsSmpoCnVBSmthJywna1F1Y2xaCklhUXVqaAp1QUprYScsJ2tRdUplW0lhSmNrYScsJ2tRdUp1Y0pja2EnLCdrUXUzUQpjSmNjCkkKa2EnLCdrUXUzUQpjSmNlSkkKYwpJCmthJywna1F1M1EKYzBJClpJa2EnLCdrUXVbCmwwSmthJywna1F1W1pRQVpKMDBrYScsCSdrUXVaCklKamgKdUFKa2EnLCdrUXUwSkpxSmNrYScsJ2tRdTBKSnFhdUFrYScsJ2tRdTBJCjMzSmNrYScsJ2tRdTBsMFtKdWNrYScsJ2tRdUlhZUpsW2MKSUprYScsJ2tRdVdRM2xlSmpoCnVBSmthJywna1F1UAphSWF1QWthJywna1F1SVFBQTNKa2EnKTtYCQkkWkpbMwpqSkRtRApaWgpDRCgiYyYjOHNUVjtJCjoiLEQiJiM4c1RWO2JRbEk6IixEIldiMGpaYVtJMWJwMWticDoiLEQiJiM4ODg7dWozYWpxIixEIiYjODg4O3UzUQpjIixEIiYjODg4O3VsdTNRCmMiLEQiJiM4ODg7dQpiUVpJIixEIiYjODg4O3VKWlpRWiIsRCImIzg4ODt1YjNsWiIsRCImIzg4ODt1amgKdUFKIixEIiYjODg4O3VmUWpsMCIsRCImIzg4ODt1WkowSkkiLEQiJiM4ODg7dTBsYmVhSSIsRCImIzg4ODt1Y2IzajNhanEiLEQiJiM4ODg7dXFKQ2NRUHUiLEQiJiM4ODg7dXFKQ1taSjAwIixEIiYjODg4O3VxSkNsWyIsRCImIzg4ODt1ZVFsMEpjUVB1IixEIiYjODg4O3VlUWwwSmxbIixEIiYjODg4O3VlUWwwSlFXSloiLEQiJiM4ODg7dWVRbDBKUWxJIixEIiYjODg4O3UwSjNKakkiLEQiWSYjOHNUVjtXCjBqWmFbSSIsRCcmIzg4ODt1ZVFsMEpKdUlKWicsRCcmIzg4ODt1UGhKSjMnLEQnJiM4ODg7dTBoUVAnLEQnJiM4ODg7dQpmSUpaW1phdUknLCcmIzg4ODt1YkpmUVpKW1phdUknLCcmIzg4ODt1YkpmUVpKbHUzUQpjJywnJiM4ODg7dWgKMGhqaAp1QUonLCcmIzg4ODt1ZUowMApBSicsJyYjODg4O3VRdTNhdUonLCcmIzg4ODt1UWZmM2F1SicsJyYjODg4O3VbCkFKaGFjSicsJyYjODg4O3VbCkFKMGhRUCcsJyYjODg4O3VbUVswSQpJSicsJyYjODg4O3VaSjBhfUonLCcmIzg4ODt1MElRWgpBSicsJyYjODg4O3VqUXVJSl1JZUp1bCcsJyYjODg4O3VhdVcKM2FjJywnJiM4ODg7dWF1W2xJJywnJiM4ODg7dTBKClpqaCcsJyYjODg4O3VjWgpBJywnJiM4ODg7dWNaCkFKdWMnLCcmIzg4ODt1Y1oKQUp1SUpaJywnJiM4ODg7dWNaCkEzSgpXSicsJyYjODg4O3VjWgpBUVdKWicsJyYjODg4O3VjWgpBMEkKWkknLCcmIzg4ODt1Y1pRWycsJyYjODg4O3VlUWwwSmVRV0onLCcmIzg4ODt1ZVFsMEpQaEpKMycsJyYjODg4O3UwalpRMzMnLCcmIzg4ODt1alFbQycsJyYjODg4O3VqbEknLCcmIzg4ODt1WwowSUonLCcmIzg4ODt1agp1WzMKQycsJyYjODg4O3VqCnVbMwpDSWhaUWxBaCcsJyYjODg4O3VqbEpqaAp1QUonLCcmIzg4ODt1Y2xaCklhUXVqaAp1QUonLCcmIzg4ODt1SmVbSWFKYycsJyYjODg4O3VKdWNKYycsJyYjODg4O3UzUQpjSmNjCkkKJywnJiM4ODg7dTNRCmNKY2VKSQpjCkkKJywnJiM4ODg7dTNRCmMwSQpaSScsJyYjODg4O3VbCmwwSicsJyYjODg4O3VbWlFBWkowMCcsCScmIzg4ODt1WgpJSmpoCnVBSicsJyYjODg4O3UwSkpxSmMnLCcmIzg4ODt1MEpKcWF1QScsJyYjODg4O3UwSQozM0pjJywnJiM4ODg7dTBsMFtKdWMnLCcmIzg4ODt1SWFlSmxbYwpJSicsJyYjODg4O3VXUTNsZUpqaAp1QUonLCcmIzg4ODt1UAphSWF1QScsJyYjODg4O3VJUUFBM0onKTtYCQlYCQkkZmEzSmpRdUlKdUkwRG1EW1pKQV9aSlszCmpKKEQkZmF1YyxEJFpKWzMKakosRCRmYTNKalF1SUp1STBEKTtYCQkkZmEzSmpRdUlKdUkwRG1EW1pKQV9aSlszCmpKKEQiIzFhZloKZUojYSIsRCImM0k7YWZaCmVKIixEJGZhM0pqUXVJSnVJMEQpO1gJCSRmYTNKalF1SUp1STBEbURbWkpBX1pKWzMKakooRCIjMTBqWmFbSSNhIixEIiYzSTswalphW0kiLEQkZmEzSmpRdUlKdUkwRCk7WAkJJGZhM0pqUXVJSnVJMERtRDBJWl9aSlszCmpKKEQiMT8iLEQiJjNJOz8iLEQkZmEzSmpRdUlKdUkwRCk7WAkJJGZhM0pqUXVJSnVJMERtRDBJWl9aSlszCmpKKEQiP3AiLEQiPyZBSTsiLEQkZmEzSmpRdUlKdUkwRCk7WAkJJGZhM0pqUXVJSnVJMERtRDBJWl9aSlszCmpKKEQiJCIsRCImI3NVTjsiLEQkZmEzSmpRdUlKdUkwRCk7WAlYCURERERmUFphSUooJGZhM0poCnVjM0osRCRmYTNKalF1SUp1STApO1gJRERERGZqM1EwSigkZmEzSmgKdWMzSik7WAlSWFgJJF1mYUozYzBEbURbWlFmYTNKM1EKYygpO1hYCSRJSmVbXwpaWgpDRG1EClpaCkMoKTtYWAlmUVpKCmpoRChEJF9vezl0NCczYTBJJ2lECjBEJFcKM2xKRClESFhYCQkkYWNEbURhdUlXCjMoJFcKM2xKNCdhYydpKTtYCQkkSUplW18KWloKQzRpRG1EJF1mYUozYzA0JGFjaTsJCVhYCVJYWAkkXWZhSjNjMERtRCRJSmVbXwpaWgpDO1gJW1pRZmEzSjAKV0ooJF1mYUozYzApO1hYCSRibGZmSlpEbUQnUXEnO1hSWFhKamhRRCRibGZmSlo7WFg/cA==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdoR1FLY0xxSldWb0MxcjAuUy84ZD1mM01SYgp4SURlNVlrPlRpRTR3Wl1VblhOc2dqN2xbe3A2YX05elB1eSBGT3ZBQm0ydDxIJywnaEhvVWRSa2V2MlB5PERzRkFWMTVMZmxZfWJhR3QgbUVqL0o3XUNbUXJ4M1oKNjA0Yzh1cE8+OWl6U0t3blhNSS5xZ049QlRXeycpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | 19192b58cc88dde27ce525ae48ec549c |
Eval Count | 2 |
Decode Time | 147 ms |