russalp (2 Ноября 2015 в 17:35)
Gromsi, прочитай вот тут \aibolit-for-windows\aibolit.php [php]<?php
///////////////////////////////////////////////////////////////////////////
// Created and developed by Greg Zemskov, Revisium Company
// Email: ai@revisium.com,
http://revisium.com/ai/, skype: greg_zemskov
// Commercial usage is not allowed without a license purchase or written permission of the author
// Source code and signatures usage is not allowed
// Certificated in Federal Institute of Industrial Property in 2012
//
http://revisium.com/ai/i/mini_aibolit.jpg
////////////////////////////////////////////////////////////////////////////
// Запрещено использование скрипта в коммерческих целях без приобретения лицензии.
// Запрещено использование исходного кода скрипта и сигнатур.
//
// По вопросам приобретения лицензии обращайтесь в компанию "Ревизиум":
http://www.revisium.com
// ai@revisium.com
// На скрипт получено авторское свидетельство в Роспатенте
//
http://revisium.com/ai/i/mini_aibolit.jpg
///////////////////////////////////////////////////////////////////////////
// put 1 for expert mode, 0 for basic check and 2 for paranoic mode
// установите 1 для режима "Эксперта", 0 для быстрой проверки и 2 для параноидальной проверки (для лечения сайта)
define('AI_EXPERT_MODE', 1);
// Put any strong password to open the script from web
// Впишите вместо put_any_strong_password_here сложный пароль
define('PASS', '????????????????????');
//define('LANG', 'EN');
define('LANG', 'RU');
define('REPORT_MASK_PHPSIGN', 1);
define('REPORT_MASK_SPAMLINKS', 2);
define('REPORT_MASK_DOORWAYS', 4);
define('REPORT_MASK_SUSP', 8);
define('REPORT_MASK_CANDI', 16);
define('REPORT_MASK_WRIT', 32);
define('REPORT_MASK_FULL', REPORT_MASK_PHPSIGN | REPORT_MASK_DOORWAYS | REPORT_MASK_SUSP
/* <-- remove this line to enable "recommendations"
| REPORT_MASK_SPAMLINKS
remove this line to enable "recommendations" --> */
);
define('SMART_SCAN', 1);
define('AI_EXTRA_WARN', 0);
$defaults = array(
'path' => dirname(__FILE__),
'scan_all_files' => 0, // full scan (rather than just a .js, .php, .html, .htaccess)
'scan_delay' => 0, // delay in file scanning to reduce system load
'max_size_to_scan' => '600K',
'site_url' => '', // website url
'no_rw_dir' => 0,
'skip_ext' => '',
'report_mask' => REPORT_MASK_FULL // full-featured report
);
define('DEBUG_MODE', 0);
define('DIR_SEPARATOR', '/');
define('DOUBLECHECK_FILE', 'AI-BOLIT-DOUBLECHECK.php');
if ((isset($_SERVER['OS']) && stripos('Win', $_SERVER['OS']) !== false)/* && stripos('CygWin', $_SERVER['OS']) === false)*/) {
define('DIR_SEPARATOR', '\\');
}
$g_SuspiciousFiles = array('cgi', 'pl', 'o', 'so', 'py', 'sh', 'phtml', 'php3', 'php4', 'php5', 'shtml', 'suspicious');
$g_SensitiveFiles = array_merge(array('php', 'js', 'htaccess', 'html', 'htm', 'tpl', 'inc', 'css', 'txt', 'sql'), $g_SuspiciousFiles);
$g_CriticalFiles = array('php', 'htaccess', 'cgi', 'pl', 'o', 'so', 'py', 'sh', 'phtml', 'php3', 'php4', 'php5', 'shtml', 'suspicious');
$g_CriticalEntries = '<\?php|<\?=|#!/usr|#!/bin|eval|assert|base64_decode|system|create_function|exec|popen|fwrite|fputs|file_get_|call_user_func|file_put_|\$_REQUEST|ob_start|\$_GET|\$_POST|\$_SERVER|\$_FILES|move|copy|array_|reg_replace|mysql_|fsockopen|\$GLOBALS|sqliteCreateFunction';
$g_VirusFiles = array('js', 'html', 'htm', 'suspicious');
$g_VirusEntries = '<\s*script|<\s*iframe|<\s*object|<\s*embed|setTimeout|setInterval|location\.|document\.|window\.|navigator\.|\$(this)\.';
$g_PhishFiles = array('js', 'html', 'htm', 'suspicious', 'php');
$g_PhishEntries = '<\s*title|<\s*html|<\s*form|<\s*body';
$g_ShortListExt = array('php', 'php3', 'php4', 'php5', 'html', 'htm', 'phtml', 'shtml', 'khtml');
if (LANG == 'RU') {
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// RUSSIAN INTERFACE
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
define('AI_STR_001', 'Отчет сканера AI-Bolit v@@VERSION@@:');
define('AI_STR_002', '<b>Компания <a href="https://revisium.com/">"Ревизиум"</a>. Лечение сайтов от вирусов и защита от взлома.</b><p>Предлагаем услуги превентивной защиты сайта от взлома с использованием процедуры cms hardening ("цементирование сайта"). Подробности на <a href="https://revisium.com/ru/clients_faq/#m4">странице услуги</a>. <p>Лучшее лечение — это профилактика.');
define('AI_STR_003', 'Не оставляйте файл отчета на сервере, и не давайте на него прямых ссылок с других сайтов. Информация из отчета может быть использована злоумышленника для взлома сайта, так как содержит информацию о файлах и настройках сервера.');
define('AI_STR_004', 'Путь');
define('AI_STR_005', 'Изменение свойств');
define('AI_STR_006', 'Изменение содержимого');
define('AI_STR_007', 'Размер');
define('AI_STR_008', 'Конфигурация PHP');
define('AI_STR_009', "Вы установили слабый пароль на скрипт AI-BOLIT. Укажите пароль не менее 8 символов, содержащий латинские буквы в верхнем и нижнем регистре, а также цифры. Например, такой <b>%s</b>");
define('AI_STR_010', "Сканер AI-Bolit запускается с паролем. Если это первый запуск сканера, вам нужно придумать сложный пароль и вписать его в файле ai-bolit.php в строке №28. <p>Например, <b>define('PASS', '%s');</b><p>
После этого откройте сканер в браузере, указав пароль в параметре \"p\". <p>Например, так <b>http://mysite.ru/ai-bolit.php?p=%s</b>. ");
define('AI_STR_011', 'Текущая директория не доступна для чтения скрипту. Пожалуйста, укажите права на доступ <b>rwxr-xr-x</b> или с помощью командной строки <b>chmod +r имя_директории</b>');
define('AI_STR_012', "Затрачено времени: <b>%s</b>. Сканирование начато %s, сканирование завершено %s");
define('AI_STR_013', 'Всего проверено %s директорий и %s файлов.');
define('AI_STR_014', '<div class="rep" style="color: #0000A0">Внимание, скрипт выполнил быструю проверку сайта. Проверяются только наиболее критические файлы, но часть вредоносных скриптов может быть не обнаружена. Пожалуйста, запустите скрипт из командной строки для выполнения полного тестирования. Подробнее смотрите в <a href="https://revisium.com/ai/faq.php">FAQ вопрос №10</a>.</div>');
define('AI_STR_015', '<div class="title">Критические замечания</div>');
define('AI_STR_016', 'Эти файлы могут быть вредоносными или хакерскими скриптами');
define('AI_STR_017', 'Вредоносные скрипты не найдены. Попробуйте сканер в режиме "Параноидальный".');
define('AI_STR_018', 'Эти файлы могут быть javascript вирусами');
define('AI_STR_019', 'Обнаружены сигнатуры исполняемых файлов unix и нехарактерных скриптов. Они могут быть вредоносными файлами');
define('AI_STR_020', 'Двойное расширение, зашифрованный контент или подозрение на вредоносный скрипт. Требуется дополнительный анализ');
define('AI_STR_021', 'Подозрение на вредоносный скрипт');
define('AI_STR_022', 'Символические ссылки (symlinks)');
define('AI_STR_023', 'Скрытые файлы');
define('AI_STR_024', 'Возможно, каталог с дорвеем');
define('AI_STR_025', 'Не найдено директорий c дорвеями');
define('AI_STR_026', 'Предупреждения');
define('AI_STR_027', 'Подозрение на мобильный редирект, подмену расширений или автовнедрение кода');
define('AI_STR_028', 'В не .php файле содержится стартовая сигнатура PHP кода. Возможно, там вредоносный код');
define('AI_STR_029', 'Дорвеи, реклама, спам-ссылки, редиректы');
define('AI_STR_030', 'Непроверенные файлы - ошибка чтения');
define('AI_STR_031', 'Невидимые ссылки. Подозрение на ссылочный спам');
define('AI_STR_032', 'Невидимые ссылки');
define('AI_STR_033', 'Отображены только первые ');
define('AI_STR_034', 'Подозрение на дорвей');
define('AI_STR_035', 'Скрипт использует код, который часто встречается во вредоносных скриптах');
define('AI_STR_036', 'Директории из файла .adirignore были пропущены при сканировании');
define('AI_STR_037', 'Версии найденных CMS');
define('AI_STR_038', 'Большие файлы (больше чем %s). Пропущено');
define('AI_STR_039', 'Не найдено файлов больше чем %s');
define('AI_STR_040', 'Временные файлы или файлы(каталоги) - кандидаты на удаление по ряду причин');
define('AI_STR_041', 'Потенциально небезопасно! Директории, доступные скрипту на запись');
define('AI_STR_042', 'Не найдено директорий, доступных на запись скриптом');
define('AI_STR_043', 'Использовано памяти при сканировании: ');
define('AI_STR_044', 'Просканированы только файлы, перечисленные в ' . DOUBLECHECK_FILE . '. Для полного сканирования удалите файл ' . DOUBLECHECK_FILE . ' и запустите сканер повторно.');
define('AI_STR_045', '<div class="rep">Внимание! Выполнена экспресс-проверка сайта. Просканированы только файлы с расширением .php, .js, .html, .htaccess. В этом режиме могут быть пропущены вирусы и хакерские скрипты в файлах с другими расширениями. Чтобы выполнить более тщательное сканирование, поменяйте значение настройки на <b>\'scan_all_files\' => 1</b> в строке 50 или откройте сканер в браузере с параметром full: <b><a href="ai-bolit.php?p=' . PASS . '&full">ai-bolit.php?p=' . PASS . '&full</a></b>. <p>Не забудьте перед повторным запуском удалить файл ' . DOUBLECHECK_FILE . '</div>');
define('AI_STR_050', 'Замечания и предложения по работе скрипта и не обнаруженные вредоносные скрипты присылайте на <a href="mailto:ai@revisium.com">ai@revisium.com</a>.<p>Также будем чрезвычайно благодарны за любые упоминания скрипта AI-Bolit на вашем сайте, в блоге, среди друзей, знакомых и клиентов. Ссылочку можно поставить на <a href="https://revisium.com/ai/">https://revisium.com/ai/</a>. <p>Если будут вопросы - пишите <a href="mailto:ai@revisium.com">ai@revisium.com</a>. ');
define('AI_STR_051', 'Отчет по ');
define('AI_STR_052', 'Эвристический анализ обнаружил подозрительные файлы. Проверьте их на наличие вредоносного кода.');
define('AI_STR_053', 'Много косвенных вызовов функции');
define('AI_STR_054', 'Подозрение на обфусцированные переменные');
define('AI_STR_055', 'Подозрительное использование массива глобальных переменных');
define('AI_STR_056', 'Дробление строки на символы');
define('AI_STR_057', 'Сканирование выполнено в экспресс-режиме. Многие вредоносные скрипты могут быть не обнаружены.<br> Рекомендуем проверить сайт в режиме "Эксперт" или "Параноидальный". Подробно описано в <a href="https://revisium.com/ai/faq.php">FAQ</a> и инструкции к скрипту.');
define('AI_STR_058', 'Обнаружены фишинговые страницы');
define('AI_STR_059', 'Мобильных редиректов');
define('AI_STR_060', 'Вредоносных скриптов');
define('AI_STR_061', 'JS Вирусов');
define('AI_STR_062', 'Фишинговых страниц');
define('AI_STR_063', 'Исполняемых файлов');
define('AI_STR_064', 'IFRAME вставок');
define('AI_STR_065', 'Пропущенных больших файлов');
define('AI_STR_066', 'Ошибок чтения файлов');
define('AI_STR_067', 'Зашифрованных файлов');
define('AI_STR_068', 'Подозрительных (эвристика)');
define('AI_STR_069', 'Символических ссылок');
define('AI_STR_070', 'Скрытых файлов');
define('AI_STR_072', 'Рекламных ссылок и кодов');
define('AI_STR_073', 'Пустых ссылок');
define('AI_STR_074', 'Сводный отчет');
define('AI_STR_075', 'Скрипт бесплатный только для личного некоммерческого использования. Есть <a href="https://revisium.com/ai/faq.php#faq11" target=_blank>коммерческая лицензия</a> (пункт №11).');
$tmp_str = <<<HTML_FOOTER
<div class="disclaimer"><span class="vir">[!]</span> Отказ от гарантий: невозможно гарантировать обнаружение всех вредоносных скриптов. Поэтому разработчик сканера не несет ответственности за возможные последствия работы сканера AI-Bolit или неоправданные ожидания пользователей относительно функциональности и возможностей.
</div>
<div class="thanx">
Замечания и предложения по работе скрипта, а также не обнаруженные вредоносные скрипты вы можете присылать на <a href="mailto:ai@revisium.com">ai@revisium.com</a>.<br/>
Также будем чрезвычайно благодарны за любые упоминания сканера AI-Bolit на вашем сайте, в блоге, среди друзей, знакомых и клиентов. <br/>Ссылку можно поставить на страницу <a href="https://revisium.com/ai/">https://revisium.com/ai/</a>.<br/>
<p>Получить консультацию или задать вопросы можно по email <a href="mailto:ai@revisium.com">ai@revisium.com</a>.</p>
</div>
HTML_FOOTER;
define('AI_STR_076', $tmp_str);
define('AI_STR_077', "Подозрительные параметры времени изменения файла");
define('AI_STR_078', "Подозрительные атрибуты файла");
define('AI_STR_079', "Подозрительное местоположение файла");
define('AI_STR_080', "Обращаем внимание, что обнаруженные файлы не всегда являются вирусами и хакерскими скриптами. Сканер старается минимизировать число ложных обнаружений, но это не всегда возможно, так как найденный фрагмент может встречаться как во вредоносных скриптах, так и в обычных.");
define('AI_STR_081', "Уязвимости в скриптах");
define('AI_STR_082', "Добавленные файлы");
define('AI_STR_083', "Измененные файлы");
define('AI_STR_084', "Удаленные файлы");
define('AI_STR_085', "Добавленные каталоги");
define('AI_STR_086', "Удаленные каталоги");
define('AI_STR_087', "Изменения в файловой структуре");
$l_Offer =<<<OFFER
<div>
<div class="crit" style="font-size: 17px;"><b>Внимание! На вашем сайте обнаружен вредоносный код</b>.</div>
<br/>Скорее всего, ваш сайт был взломан и заражен. Вашему сайту требуется помощь специалистов по информационной безопасности.
</div>
<br/>
<div>
Обратитесь в <a href="https://revisium.com/" target=_blank>компанию "Ревизиум"</a> за консультацией или закажите лечение сайта и защиту от взлома.<br/>
</div>
<br/>
<div>
<a href="mailto:ai@revisium.com">ai@revisium.com</a>, <a href="https://revisium.com/ru/order/">https://revisium.com</a>
</div>
<div class="caution">@@CAUTION@@</div>
OFFER;
} else {
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ENGLISH INTERFACE
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
define('AI_STR_001', 'AI-Bolit v@@VERSION@@ Scan Report:');
define('AI_STR_002', '');
define('AI_STR_003', 'Caution! Do not leave either ai-bolit.php or report file on server and do not provide direct links to the report file. Report file contains sensitive information about your website which could be used by hackers. So keep it in safe place and don\'t leave on website!');
define('AI_STR_004', 'Path');
define('AI_STR_005', 'iNode Changed');
define('AI_STR_006', 'Modified');
define('AI_STR_007', 'Size');
define('AI_STR_008', 'PHP Info');
define('AI_STR_009', "Your password for AI-BOLIT is too weak. Password must be more than 8 character length, contain both latin letters in upper and lower case, and digits. E.g. <b>%s</b>");
define('AI_STR_010', "Open AI-BOLIT with password specified in the beggining of file in PASS variable. <br/>E.g.
http://you_website.com/ai-bolit.php?p=%s</b>");
define('AI_STR_011', 'Current folder is not readable. Please change permission for <b>rwxr-xr-x</b> or using command line <b>chmod +r folder_name</b>');
define('AI_STR_012', "<div class=\"rep\">%s malicious signatures known, %s virus signatures and other malicious code. Elapsed: <b>%s</b
>.<br/>Started: %s. Stopped: %s</div> ");
define('AI_STR_013', 'Scanned %s folders and %s files.');
define('AI_STR_014', '<div class="rep" style="color: #0000A0">Attention! Script has performed quick scan. It scans only .html/.js/.php files in quick scan mode so some of malicious scripts might not be detected. <br>Please launch script from a command line thru SSH to perform full scan.');
define('AI_STR_015', '<div class="title">Critical</div>');
define('AI_STR_016', 'Shell script signatures detected. Might be a malicious or hacker\'s scripts');
define('AI_STR_017', 'Shell scripts signatures not detected.');
define('AI_STR_018', 'Javascript virus signatures detected:');
define('AI_STR_019', 'Unix executables signatures and odd scripts detected. They might be a malicious binaries or rootkits:');
define('AI_STR_020', 'Suspicious encoded strings, extra .php extention or external includes detected in PHP files. Might be a malicious or hacker\'s script:');
define('AI_STR_021', 'Might be a malicious or hacker\'s script:');
define('AI_STR_022', 'Symlinks:');
define('AI_STR_023', 'Hidden files:');
define('AI_STR_024', 'Files might be a part of doorway:');
define('AI_STR_025', 'Doorway folders not detected');
define('AI_STR_026', 'Warnings');
define('AI_STR_027', 'Malicious code in .htaccess (redirect to external server, extention handler replacement or malicious code auto-append):');
define('AI_STR_028', 'Non-PHP file has PHP signature. Check for malicious code:');
define('AI_STR_029', 'This script has black-SEO links or linkfarm. Check if it was installed by yourself:');
define('AI_STR_030', 'Reading error. Skipped.');
define('AI_STR_031', 'These files have invisible links, might be black-seo stuff:');
define('AI_STR_032', 'List of invisible links:');
define('AI_STR_033', 'Displayed first ');
define('AI_STR_034', 'Folders contained too many .php or .html files. Might be a doorway:');
define('AI_STR_035', 'Suspicious code detected. It\'s usually used in malicious scrips:');
define('AI_STR_036', 'The following list of files specified in .adirignore has been skipped:');
define('AI_STR_037', 'CMS found:');
define('AI_STR_038', 'Large files (greater than %s! Skipped:');
define('AI_STR_039', 'Files greater than %s not found');
define('AI_STR_040', 'Files recommended to be remove due to security reason:');
define('AI_STR_041', 'Potentially unsafe! Folders which are writable for scripts:');
define('AI_STR_042', 'Writable folders not found');
define('AI_STR_043', 'Memory used: ');
define('AI_STR_044', 'Quick scan through the files from ' . DOUBLECHECK_FILE . '. For full scan remove ' . DOUBLECHECK_FILE . ' and launch scanner once again.');
define('AI_STR_045', '<div class="notice"><span class="vir">[!]</span> Ai-BOLIT is working in quick scan mode, only .php, .html, .htaccess files will be checked. Change the following setting \'scan_all_files\' => 1 to perform full scanning.</b>. </div>');
define('AI_STR_050', "I'm sincerely appreciate reports for any bugs you may found in the script. Please email me: <a href=\"mailto:audit@revisium.com\">audit@revisium.com</a>.<p> Also I appriciate any reference to the script in your blog or forum posts. Thank you for the link to download page: <a href=\"https://revisium.com/aibo/\">https://revisium.com/aibo/</a>");
define('AI_STR_051', 'Report for ');
define('AI_STR_052', 'Heuristic Analyzer has detected suspicious files. Check if they are malware.');
define('AI_STR_053', 'Function called by reference');
define('AI_STR_054', 'Suspected for obfuscated variables');
define('AI_STR_055', 'Suspected for $GLOBAL array usage');
define('AI_STR_056', 'Abnormal split of string');
define('AI_STR_057', 'Scanning has been done in simple mode. It is strongly recommended to perform scanning in "Expert" mode. See readme.txt for details.');
define('AI_STR_058', 'Phishing pages detected:');
define('AI_STR_059', 'Mobile redirects');
define('AI_STR_060', 'Malware');
define('AI_STR_061', 'JS viruses');
define('AI_STR_062', 'Phishing pages');
define('AI_STR_063', 'Unix executables');
define('AI_STR_064', 'IFRAME injections');
define('AI_STR_065', 'Skipped big files');
define('AI_STR_066', 'Reading errors');
define('AI_STR_067', 'Encrypted files');
define('AI_STR_068', 'Suspicious (heuristics)');
define('AI_STR_069', 'Symbolic links');
define('AI_STR_070', 'Hidden files');
define('AI_STR_072', 'Adware and spam links');
define('AI_STR_073', 'Empty links');
define('AI_STR_074', 'Summary');
define('AI_STR_075', 'For non-commercial use only. Please, purchase the license for commercial usage of the scanner. Email us: ai@revisium.com');
$tmp_str =<<<HTML_FOOTER
<div class="disclaimer"><span class="vir">[!]</span> Disclaimer: We're not liable to you for any damages, including general, special, incidental or consequential damages arising out of the use or inability to use the script (including but not limited to loss of data or report being rendered inaccurate or failure of the script). There's no warranty for the program. Use at your own risk.
</div>
<div class="thanx">
We're greatly appreciate for any references in the social networks, forums or blogs to our scanner AI-BOLIT <a href="https://revisium.com/aibo/">https://revisium.com/aibo/</a>.<br/>
<p>Write us if you have any questions regarding scannner usage or report <a href="mailto:ai@revisium.com">ai@revisium.com</a>.</p>
</div>
HTML_FOOTER;
define('AI_STR_076', $tmp_str);
define('AI_STR_077', "Suspicious file mtime and ctime");
define('AI_STR_078', "Suspicious file permissions");
define('AI_STR_079', "Suspicious file location");
define('AI_STR_081', "Vulnerable Scripts");
define('AI_STR_082', "Added files");
define('AI_STR_083', "Modified files");
define('AI_STR_084', "Deleted files");
define('AI_STR_085', "Added directories");
define('AI_STR_086', "Deleted directories");
define('AI_STR_087', "Integrity Check Report");
$l_Offer =<<<HTML_OFFER_EN
<div>
<div class="crit" style="font-size: 17px;"><b>Attention! Malicious software has been detected on the website.</b></div>
<br/>Most likely the website has been compromised. Please, <a href="https://revisium.com/en/home/" target=_blank>contact information security specialist</a> or experienced webmaster to clean the malware.
</div>
<br/>
<div>
<a href="mailto:ai@revisium.com">ai@revisium.com</a>, <a href="https://revisium.com/ru/order/">https://revisium.com</a>
</div>
<div class="caution">@@CAUTION@@</div>
HTML_OFFER_EN;
define('AI_STR_080', "Notice! Some of detected files may not contain malicious code. Scanner tries to minimize a number of false positives, but sometimes it's impossible, because same piece of code may be used either in malware or in normal scripts.");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$l_Template =<<<MAIN_PAGE
<html>
<head>
<!-- revisium.com/ai/ -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
<title>@@HEAD_TITLE@@</title>
<style type="text/css" title="currentStyle">
@import "https://revisium.com/extra/media/css/demo_page2.css";
@import "https://revisium.com/extra/media/css/jquery.dataTables2.css";
</style>
<script type="text/javascript" language="javascript" src="https://yandex.st/jquery/2.1.0/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="https://datatables.net/download/build/jquery.dataTables.js"></script>
<style type="text/css">
body
{
font-family: Tahoma;
color: #5a5a5a;
background: #FFFFFF;
font-size: 14px;
margin: 20px;
padding: 0;
}
.header
{
font-size: 34px;
margin: 0 0 10px 0;
}
.hidd
{
display: none;
}
.ok
{
color: green;
}
.line_no
{
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
background: #DAF2C1;
padding: 2px 5px 2px 5px;
margin: 0 5px 0 5px;
}
.credits_header
{
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
background: #F2F2F2;
padding: 10px;
font-size: 11px;
margin: 0 0 10px 0;
}
.marker
{
color: #FF0090;
font-weight: 100;
background: #FF0090;
padding: 2px 0px 2px 0px;
width: 2px;
}
.title
{
font-size: 24px;
margin: 20px 0 10px 0;
color: #9CA9D1;
}
.summary
{
float: left;
width: 500px;
}
.summary TD
{
font-size: 12px;
border-bottom: 1px solid #F0F0F0;
font-weight: 700;
padding: 10px 0 10px 0;
}
.crit, .vir
{
color: #D84B55;
}
.intitem
{
color:#4a6975;
}
.spacer
{
margin: 0 0 50px 0;
clear:both;
}
.warn
{
color: #F6B700;
}
.clear
{
clear: both;
}
.offer
{
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
width: 500px;
background: #ECF7DE;
color: #747474;
font-size: 11px;
font-family: Arial;
padding: 20px;
margin: 20px 0 0 500px;
font-size: 16px;
}
.flist
{
font-family: Arial;
}
.flist TD
{
font-size: 11px;
padding: 5px;
}
.flist TH
{
font-size: 12px;
height: 30px;
padding: 5px;
background: #CEE9EF;
}
.it
{
font-size: 14px;
font-weight: 100;
margin-top: 10px;
}
.crit .it A {
color: #E50931;
line-height: 25px;
text-decoration: none;
}
.warn .it A {
color: #F2C900;
line-height: 25px;
text-decoration: none;
}
.details
{
font-family: Calibri;
font-size: 12px;
margin: 10px 10px 10px 0px;
}
.crit .details
{
color: #A08080;
}
.warn .details
{
color: #808080;
}
.details A
{
color: #FFF;
font-weight: 700;
text-decoration: none;
padding: 2px;
background: #E5CEDE;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
}
.details A:hover
{
background: #A0909B;
}
.ctd
{
margin: 10px 0px 10px 0;
align:center;
}
.ctd A
{
color: #0D9922;
}
.disclaimer
{
color: darkgreen;
margin: 10px 10px 10px 0;
}
.note_vir
{
margin: 10px 0 10px 0;
//padding: 10px;
color: #FF4F4F;
font-size: 15px;
font-weight: 700;
clear:both;
}
.note_warn
{
margin: 10px 0 10px 0;
color: #F6B700;
font-size: 15px;
font-weight: 700;
clear:both;
}
.note_int
{
margin: 10px 0 10px 0;
color: #60b5d6;
font-size: 15px;
font-weight: 700;
clear:both;
}
.updateinfo
{
color: #FFF;
text-decoration: none;
background: #E5CEDE;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
margin: 10px 0 10px 0px;
padding: 10px;
}
.caution
{
color: #EF7B75;
text-decoration: none;
margin: 20px 0 0px 0px;
font-size: 12px;
}
.footer
{
color: #303030;
text-decoration: none;
background: #F4F4F4;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
margin: 80px 0 10px 0px;
padding: 10px;
}
.rep
{
color: #303030;
text-decoration: none;
background: #94DDDB;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border-radius: 7px;
margin: 10px 0 10px 0px;
padding: 10px;
font-size: 12px;
}
</style>
</head>
<body>
<div class="header">@@MAIN_TITLE@@ @@PATH_URL@@ (@@MODE@@)</div>
<div class="credits_header">@@CREDITS@@</div>
<div class="details_header">
@@STAT@@<br/>
@@SCANNED@@ @@MEMORY@@.
</div>
@@WARN_QUICK@@
<div class="summary">
@@SUMMARY@@
</div>
<div class="offer">
@@OFFER@@
</div>
<div class="clear"></div>
@@MAIN_CONTENT@@
<div class="footer">
@@FOOTER@@
</div>
<script language="javascript">
function hsig(id) {
var divs = document.getElementsByTagName("tr");
for(var i = 0; i < divs.length; i++){
if (divs[i].getAttribute('o') == id) {
divs[i].innerHTML = '';
}
}
return false;
}
$(document).ready(function(){
$('#table_crit').dataTable({
"aLengthMenu": [[100 , 500, -1], [100, 500, "All"]],
"aoColumns": [
{"iDataSort": 7, "width":"70%"},
{"iDataSort": 5},
{"iDataSort": 6},
{"bSortable": true},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false}
],
"paging": true,
"iDisplayLength": 500,
"oLanguage": {
"sLengthMenu": "Отображать по _MENU_ записей",
"sZeroRecords": "Ничего не найдено",
"sInfo": "Отображается c _START_ по _END_ из _TOTAL_ файлов",
"sInfoEmpty": "Нет файлов",
"sInfoFiltered": "(всего записей _MAX_)",
"sSearch": "Поиск:",
"sUrl": "",
"oPaginate": {
"sFirst": "Первая",
"sPrevious": "Предыдущая",
"sNext": "Следующая",
"sLast": "Последняя"
},
"oAria": {
"sSortAscending": ": активировать для сортировки столбца по возрастанию",
"sSortDescending": ": активировать для сортировки столбцов по убыванию"
}
}
} );
});
$(document).ready(function(){
$('#table_vir').dataTable({
"aLengthMenu": [[100 , 500, -1], [100, 500, "All"]],
"paging": true,
"aoColumns": [
{"iDataSort": 7, "width":"70%"},
{"iDataSort": 5},
{"iDataSort": 6},
{"bSortable": true},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false}
],
"iDisplayLength": 500,
"oLanguage": {
"sLengthMenu": "Отображать по _MENU_ записей",
"sZeroRecords": "Ничего не найдено",
"sInfo": "Отображается c _START_ по _END_ из _TOTAL_ файлов",
"sInfoEmpty": "Нет файлов",
"sInfoFiltered": "(всего записей _MAX_)",
"sSearch": "Поиск:",
"sUrl": "",
"oPaginate": {
"sFirst": "Первая",
"sPrevious": "Предыдущая",
"sNext": "Следующая",
"sLast": "Последняя"
},
"oAria": {
"sSortAscending": ": активировать для сортировки столбца по возрастанию",
"sSortDescending": ": активировать для сортировки столбцов по убыванию"
}
},
} );
});
if ($('#table_warn0'
{
$('#table_warn0').dataTable({
"aLengthMenu": [[100 , 500, -1], [100, 500, "All"]],
"paging": true,
"aoColumns": [
{"iDataSort": 7, "width":"70%"},
{"iDataSort": 5},
{"iDataSort": 6},
{"bSortable": true},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false}
],
"iDisplayLength": 500,
"paging": true,
"oLanguage": {
"sLengthMenu": "Отображать по _MENU_ записей",
"sZeroRecords": "Ничего не найдено",
"sInfo": "Отображается c _START_ по _END_ из _TOTAL_ файлов",
"sInfoEmpty": "Нет файлов",
"sInfoFiltered": "(всего записей _MAX_)",
"sSearch": "Поиск:",
"sUrl": "",
"oPaginate": {
"sFirst": "Первая",
"sPrevious": "Предыдущая",
"sNext": "Следующая",
"sLast": "Последняя"
},
"oAria": {
"sSortAscending": ": активировать для сортировки столбца по возрастанию",
"sSortDescending": ": активировать для сортировки столбцов по убыванию"
}
}
} );
}
if ($('#table_warn1'
{
$('#table_warn1').dataTable({
"aLengthMenu": [[100 , 500, -1], [100, 500, "All"]],
"paging": true,
"aoColumns": [
{"iDataSort": 7, "width":"70%"},
{"iDataSort": 5},
{"iDataSort": 6},
{"bSortable": true},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false},
{"bVisible": false}
],
"iDisplayLength": 500,
"oLanguage": {
"sLengthMenu": "Отображать по _MENU_ записей",
"sZeroRecords": "Ничего не найдено",
"sInfo": "Отображается c _START_ по _END_ из _TOTAL_ файлов",
"sInfoEmpty": "Нет файлов",
"sInfoFiltered": "(всего записей _MAX_)",
"sSearch": "Поиск:",
"sUrl": "",
"oPaginate": {
"sFirst": "Первая",
"sPrevious": "Предыдущая",
"sNext": "Следующая",
"sLast": "Последняя"
},
"oAria": {
"sSortAscending": ": активировать для сортировки столбца по возрастанию",
"sSortDescending": ": активировать для сортировки столбцов по убыванию"
}
}
} );
}
</script>
</body>
</html>
MAIN_PAGE;
$g_AiBolitAbsolutePath = dirname(__FILE__);
if (file_exists($g_AiBolitAbsolutePath . '/ai-design.html'
{
$l_Template = file_get_contents($g_AiBolitAbsolutePath . '/ai-design.html');
}
$l_Template = str_replace('@@MAIN_TITLE@@', AI_STR_001, $l_Template);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$g_SusDB = unserialize(base64_decode("YToxMzE6e2k6MDtzOjE0OiJAKmV4dHJhY3RccypcKCI7aToxO3M6MTQ6IkAqZXh0cmFjdFxzKlwkIjtpOjI7czoxMjoiWyciXWV2YWxbJyJdIjtpOjM7czoyMToiWyciXWJhc2U2NF9kZWNvZGVbJyJdIjtpOjQ7czoyMzoiWyciXWNyZWF0ZV9mdW5jdGlvblsnIl0iO2k6NTtzOjE0OiJbJyJdYXNzZXJ0WyciXSI7aTo2O3M6NDM6ImZvcmVhY2hccypcKFxzKlwkZW1haWxzXHMrYXNccytcJGVtYWlsXHMqXCkiO2k6NztzOjc6IlNwYW1tZXIiO2k6ODtzOjE1OiJldmFsXHMqWyciXChcJF0iO2k6OTtzOjE3OiJhc3NlcnRccypbJyJcKFwkXSI7aToxMDtzOjI4OiJzcnBhdGg6Ly9cLlwuL1wuXC4vXC5cLi9cLlwuIjtpOjExO3M6MTI6InBocGluZm9ccypcKCI7aToxMjtzOjE2OiJTSE9XXHMrREFUQUJBU0VTIjtpOjEzO3M6MTI6IlxicG9wZW5ccypcKCI7aToxNDtzOjk6ImV4ZWNccypcKCI7aToxNTtzOjEzOiJcYnN5c3RlbVxzKlwoIjtpOjE2O3M6MTU6IlxicGFzc3RocnVccypcKCI7aToxNztzOjE2OiJcYnByb2Nfb3BlblxzKlwoIjtpOjE4O3M6MTU6InNoZWxsX2V4ZWNccypcKCI7aToxOTtzOjE2OiJpbmlfcmVzdG9yZVxzKlwoIjtpOjIwO3M6OToiXGJkbFxzKlwoIjtpOjIxO3M6MTQ6Ilxic3ltbGlua1xzKlwoIjtpOjIyO3M6MTI6IlxiY2hncnBccypcKCI7aToyMztzOjE0OiJcYmluaV9zZXRccypcKCI7aToyNDtzOjEzOiJcYnB1dGVudlxzKlwoIjtpOjI1O3M6MTM6ImdldG15dWlkXHMqXCgiO2k6MjY7czoxNDoiZnNvY2tvcGVuXHMqXCgiO2k6Mjc7czoxNzoicG9zaXhfc2V0dWlkXHMqXCgiO2k6Mjg7czoxNzoicG9zaXhfc2V0c2lkXHMqXCgiO2k6Mjk7czoxODoicG9zaXhfc2V0cGdpZFxzKlwoIjtpOjMwO3M6MTU6InBvc2l4X2tpbGxccypcKCI7aTozMTtzOjI3OiJhcGFjaGVfY2hpbGRfdGVybWluYXRlXHMqXCgiO2k6MzI7czoxMjoiXGJjaG1vZFxzKlwoIjtpOjMzO3M6MTI6IlxiY2hkaXJccypcKCI7aTozNDtzOjE1OiJwY250bF9leGVjXHMqXCgiO2k6MzU7czoxNDoiXGJ2aXJ0dWFsXHMqXCgiO2k6MzY7czoxNToicHJvY19jbG9zZVxzKlwoIjtpOjM3O3M6MjA6InByb2NfZ2V0X3N0YXR1c1xzKlwoIjtpOjM4O3M6MTk6InByb2NfdGVybWluYXRlXHMqXCgiO2k6Mzk7czoxNDoicHJvY19uaWNlXHMqXCgiO2k6NDA7czoxMzoiZ2V0bXlnaWRccypcKCI7aTo0MTtzOjE5OiJwcm9jX2dldHN0YXR1c1xzKlwoIjtpOjQyO3M6MTU6InByb2NfY2xvc2VccypcKCI7aTo0MztzOjE5OiJlc2NhcGVzaGVsbGNtZFxzKlwoIjtpOjQ0O3M6MTk6ImVzY2FwZXNoZWxsYXJnXHMqXCgiO2k6NDU7czoxNjoic2hvd19zb3VyY2VccypcKCI7aTo0NjtzOjEzOiJcYnBjbG9zZVxzKlwoIjtpOjQ3O3M6MTM6InNhZmVfZGlyXHMqXCgiO2k6NDg7czoxNjoiaW5pX3Jlc3RvcmVccypcKCI7aTo0OTtzOjEwOiJjaG93blxzKlwoIjtpOjUwO3M6MTA6ImNoZ3JwXHMqXCgiO2k6NTE7czoxNzoic2hvd25fc291cmNlXHMqXCgiO2k6NTI7czoxOToibXlzcWxfbGlzdF9kYnNccypcKCI7aTo1MztzOjIxOiJnZXRfY3VycmVudF91c2VyXHMqXCgiO2k6NTQ7czoxMjoiZ2V0bXlpZFxzKlwoIjtpOjU1O3M6MTE6IlxibGVha1xzKlwoIjtpOjU2O3M6MTU6InBmc29ja29wZW5ccypcKCI7aTo1NztzOjIxOiJnZXRfY3VycmVudF91c2VyXHMqXCgiO2k6NTg7czoxMToic3lzbG9nXHMqXCgiO2k6NTk7czoxODoiXCRkZWZhdWx0X3VzZV9hamF4IjtpOjYwO3M6MjE6ImV2YWxccypcKCpccyp1bmVzY2FwZSI7aTo2MTtzOjc6IkZMb29kZVIiO2k6NjI7czozMToiZG9jdW1lbnRcLndyaXRlXHMqXChccyp1bmVzY2FwZSI7aTo2MztzOjExOiJcYmNvcHlccypcKCI7aTo2NDtzOjIzOiJtb3ZlX3VwbG9hZGVkX2ZpbGVccypcKCI7aTo2NTtzOjg6IlwuMzMzMzMzIjtpOjY2O3M6ODoiXC42NjY2NjYiO2k6Njc7czoyMToicm91bmRccypcKCpccyowXHMqXCkqIjtpOjY4O3M6MjQ6Im1vdmVfdXBsb2FkZWRfZmlsZXNccypcKCI7aTo2OTtzOjUwOiJpbmlfZ2V0XHMqXChccypbJyJdezAsMX1kaXNhYmxlX2Z1bmN0aW9uc1snIl17MCwxfSI7aTo3MDtzOjM2OiJVTklPTlxzK1NFTEVDVFxzK1snIl17MCwxfTBbJyJdezAsMX0iO2k6NzE7czoxMDoiMlxzKj5ccyomMSI7aTo3MjtzOjU3OiJlY2hvXHMqXCgqXHMqXCRfU0VSVkVSXFtbJyJdezAsMX1ET0NVTUVOVF9ST09UWyciXXswLDF9XF0iO2k6NzM7czozNzoiPVxzKkFycmF5XHMqXCgqXHMqYmFzZTY0X2RlY29kZVxzKlwoKiI7aTo3NDtzOjE0OiJraWxsYWxsXHMrLVxkKyI7aTo3NTtzOjc6ImVyaXVxZXIiO2k6NzY7czoxMDoidG91Y2hccypcKCI7aTo3NztzOjc6InNzaGtleXMiO2k6Nzg7czo4OiJAaW5jbHVkZSI7aTo3OTtzOjg6IkByZXF1aXJlIjtpOjgwO3M6NjI6ImlmXHMqXChtYWlsXHMqXChccypcJHRvLFxzKlwkc3ViamVjdCxccypcJG1lc3NhZ2UsXHMqXCRoZWFkZXJzIjtpOjgxO3M6Mzg6IkBpbmlfc2V0XHMqXCgqWyciXXswLDF9YWxsb3dfdXJsX2ZvcGVuIjtpOjgyO3M6MTg6IkBmaWxlX2dldF9jb250ZW50cyI7aTo4MztzOjE3OiJmaWxlX3B1dF9jb250ZW50cyI7aTo4NDtzOjQ2OiJhbmRyb2lkXHMqXHxccyptaWRwXHMqXHxccypqMm1lXHMqXHxccypzeW1iaWFuIjtpOjg1O3M6Mjg6IkBzZXRjb29raWVccypcKCpbJyJdezAsMX1oaXQiO2k6ODY7czoxMDoiQGZpbGVvd25lciI7aTo4NztzOjY6IjxrdWt1PiI7aTo4ODtzOjU6InN5cGV4IjtpOjg5O3M6OToiXCRiZWVjb2RlIjtpOjkwO3M6MTQ6InJvb3RAbG9jYWxob3N0IjtpOjkxO3M6ODoiQmFja2Rvb3IiO2k6OTI7czoxNDoicGhwX3VuYW1lXHMqXCgiO2k6OTM7czo1NToibWFpbFxzKlwoKlxzKlwkdG9ccyosXHMqXCRzdWJqXHMqLFxzKlwkbXNnXHMqLFxzKlwkZnJvbSI7aTo5NDtzOjI5OiJlY2hvXHMqWyciXTxzY3JpcHQ+XHMqYWxlcnRcKCI7aTo5NTtzOjY3OiJtYWlsXHMqXCgqXHMqXCRzZW5kXHMqLFxzKlwkc3ViamVjdFxzKixccypcJGhlYWRlcnNccyosXHMqXCRtZXNzYWdlIjtpOjk2O3M6NjU6Im1haWxccypcKCpccypcJHRvXHMqLFxzKlwkc3ViamVjdFxzKixccypcJG1lc3NhZ2VccyosXHMqXCRoZWFkZXJzIjtpOjk3O3M6MTIwOiJzdHJwb3NccypcKCpccypcJG5hbWVccyosXHMqWyciXXswLDF9SFRUUF9bJyJdezAsMX1ccypcKSpccyohPT1ccyowXHMqJiZccypzdHJwb3NccypcKCpccypcJG5hbWVccyosXHMqWyciXXswLDF9UkVRVUVTVF8iO2k6OTg7czo1MzoiaXNfZnVuY3Rpb25fZW5hYmxlZFxzKlwoXHMqWyciXXswLDF9aWdub3JlX3VzZXJfYWJvcnQiO2k6OTk7czozMDoiZWNob1xzKlwoKlxzKmZpbGVfZ2V0X2NvbnRlbnRzIjtpOjEwMDtzOjI2OiJlY2hvXHMqXCgqWyciXXswLDF9PHNjcmlwdCI7aToxMDE7czozMToicHJpbnRccypcKCpccypmaWxlX2dldF9jb250ZW50cyI7aToxMDI7czoyNzoicHJpbnRccypcKCpbJyJdezAsMX08c2NyaXB0IjtpOjEwMztzOjg1OiI8bWFycXVlZVxzK3N0eWxlXHMqPVxzKlsnIl17MCwxfXBvc2l0aW9uXHMqOlxzKmFic29sdXRlXHMqO1xzKndpZHRoXHMqOlxzKlxkK1xzKnB4XHMqIjtpOjEwNDtzOjQyOiI9XHMqWyciXXswLDF9XC5cLi9cLlwuL1wuXC4vd3AtY29uZmlnXC5waHAiO2k6MTA1O3M6NzoiZWdnZHJvcCI7aToxMDY7czo5OiJyd3hyd3hyd3giO2k6MTA3O3M6MTU6ImVycm9yX3JlcG9ydGluZyI7aToxMDg7czoxNzoiXGJjcmVhdGVfZnVuY3Rpb24iO2k6MTA5O3M6NDM6Intccypwb3NpdGlvblxzKjpccyphYnNvbHV0ZTtccypsZWZ0XHMqOlxzKi0iO2k6MTEwO3M6MTU6IjxzY3JpcHRccythc3luYyI7aToxMTE7czo2NjoiX1snIl17MCwxfVxzKlxdXHMqPVxzKkFycmF5XHMqXChccypiYXNlNjRfZGVjb2RlXHMqXCgqXHMqWyciXXswLDF9IjtpOjExMjtzOjMzOiJBZGRUeXBlXHMrYXBwbGljYXRpb24veC1odHRwZC1jZ2kiO2k6MTEzO3M6NDQ6ImdldGVudlxzKlwoKlxzKlsnIl17MCwxfUhUVFBfQ09PS0lFWyciXXswLDF9IjtpOjExNDtzOjQ1OiJpZ25vcmVfdXNlcl9hYm9ydFxzKlwoKlxzKlsnIl17MCwxfTFbJyJdezAsMX0iO2k6MTE1O3M6MjE6IlwkX1JFUVVFU1RccypcW1xzKiUyMiI7aToxMTY7czo1MToidXJsXHMqXChbJyJdezAsMX1kYXRhXHMqOlxzKmltYWdlL3BuZztccypiYXNlNjRccyosIjtpOjExNztzOjUxOiJ1cmxccypcKFsnIl17MCwxfWRhdGFccyo6XHMqaW1hZ2UvZ2lmO1xzKmJhc2U2NFxzKiwiO2k6MTE4O3M6MzA6Ijpccyp1cmxccypcKFxzKlsnIl17MCwxfTxcP3BocCI7aToxMTk7czoxNzoiPC9odG1sPi4rPzxzY3JpcHQiO2k6MTIwO3M6MTc6IjwvaHRtbD4uKz88aWZyYW1lIjtpOjEyMTtzOjY0OiIoZnRwX2V4ZWN8c3lzdGVtfHNoZWxsX2V4ZWN8cGFzc3RocnV8cG9wZW58cHJvY19vcGVuKVxzKlsnIlwoXCRdIjtpOjEyMjtzOjExOiJcYm1haWxccypcKCI7aToxMjM7czo0NjoiZmlsZV9nZXRfY29udGVudHNccypcKCpccypbJyJdezAsMX1waHA6Ly9pbnB1dCI7aToxMjQ7czoxMTg6IjxtZXRhXHMraHR0cC1lcXVpdj1bJyJdezAsMX1Db250ZW50LXR5cGVbJyJdezAsMX1ccytjb250ZW50PVsnIl17MCwxfXRleHQvaHRtbDtccypjaGFyc2V0PXdpbmRvd3MtMTI1MVsnIl17MCwxfT48Ym9keT4iO2k6MTI1O3M6NjI6Ij1ccypkb2N1bWVudFwuY3JlYXRlRWxlbWVudFwoXHMqWyciXXswLDF9c2NyaXB0WyciXXswLDF9XHMqXCk7IjtpOjEyNjtzOjY5OiJkb2N1bWVudFwuYm9keVwuaW5zZXJ0QmVmb3JlXChkaXYsXHMqZG9jdW1lbnRcLmJvZHlcLmNoaWxkcmVuXFswXF1cKTsiO2k6MTI3O3M6Nzc6IjxzY3JpcHRccyt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXHMrc3JjPSJodHRwOi8vW2EtekEtWjAtOV9dKz9cLnBocCI+PC9zY3JpcHQ+IjtpOjEyODtzOjI3OiJlY2hvXHMrWyciXXswLDF9b2tbJyJdezAsMX0iO2k6MTI5O3M6MTg6Ii91c3Ivc2Jpbi9zZW5kbWFpbCI7aToxMzA7czoyMzoiL3Zhci9xbWFpbC9iaW4vc2VuZG1haWwiO30="
;
$g_SusDBPrio = unserialize(base64_decode("YToxMjE6e2k6MDtpOjA7aToxO2k6MDtpOjI7aTowO2k6MztpOjA7aTo0O2k6MDtpOjU7aTowO2k6NjtpOjA7aTo3O2k6MDtpOjg7aToxO2k6OTtpOjE7aToxMDtpOjA7aToxMTtpOjA7aToxMjtpOjA7aToxMztpOjA7aToxNDtpOjA7aToxNTtpOjA7aToxNjtpOjA7aToxNztpOjA7aToxODtpOjA7aToxOTtpOjA7aToyMDtpOjA7aToyMTtpOjA7aToyMjtpOjA7aToyMztpOjA7aToyNDtpOjA7aToyNTtpOjA7aToyNjtpOjA7aToyNztpOjA7aToyODtpOjA7aToyOTtpOjE7aTozMDtpOjE7aTozMTtpOjA7aTozMjtpOjA7aTozMztpOjA7aTozNDtpOjA7aTozNTtpOjA7aTozNjtpOjA7aTozNztpOjA7aTozODtpOjA7aTozOTtpOjA7aTo0MDtpOjA7aTo0MTtpOjA7aTo0MjtpOjA7aTo0MztpOjA7aTo0NDtpOjA7aTo0NTtpOjA7aTo0NjtpOjA7aTo0NztpOjA7aTo0ODtpOjA7aTo0OTtpOjA7aTo1MDtpOjA7aTo1MTtpOjA7aTo1MjtpOjA7aTo1MztpOjA7aTo1NDtpOjA7aTo1NTtpOjA7aTo1NjtpOjE7aTo1NztpOjA7aTo1ODtpOjA7aTo1OTtpOjI7aTo2MDtpOjE7aTo2MTtpOjA7aTo2MjtpOjA7aTo2MztpOjA7aTo2NDtpOjI7aTo2NTtpOjA7aTo2NjtpOjA7aTo2NztpOjA7aTo2ODtpOjI7aTo2OTtpOjE7aTo3MDtpOjA7aTo3MTtpOjA7aTo3MjtpOjE7aTo3MztpOjA7aTo3NDtpOjE7aTo3NTtpOjE7aTo3NjtpOjI7aTo3NztpOjE7aTo3ODtpOjM7aTo3OTtpOjI7aTo4MDtpOjA7aTo4MTtpOjI7aTo4MjtpOjA7aTo4MztpOjA7aTo4NDtpOjI7aTo4NTtpOjA7aTo4NjtpOjA7aTo4NztpOjA7aTo4ODtpOjA7aTo4OTtpOjE7aTo5MDtpOjE7aTo5MTtpOjE7aTo5MjtpOjE7aTo5MztpOjA7aTo5NDtpOjI7aTo5NTtpOjI7aTo5NjtpOjI7aTo5NztpOjI7aTo5ODtpOjI7aTo5OTtpOjE7aToxMDA7aToxO2k6MTAxO2k6MztpOjEwMjtpOjM7aToxMDM7aToxO2k6MTA0O2k6MztpOjEwNTtpOjM7aToxMDY7aToyO2k6MTA3O2k6MDtpOjEwODtpOjM7aToxMDk7aToxO2k6MTEwO2k6MTtpOjExMTtpOjM7aToxMTI7aTozO2k6MTEzO2k6MztpOjExNDtpOjE7aToxMTU7aToxO2k6MTE2O2k6MTtpOjExNztpOjQ7aToxMTg7aToxO2k6MTE5O2k6MztpOjEyMDtpOjA7fQ=="
;
$g_DBShe = unserialize(base64_decode("YTo0MDY6e2k6MDtzOjg6IlIzRFRVWEVTIjtpOjE7czoyMDoidmlzaXRvclRyYWNrZXJfaXNNb2IiO2k6MjtzOjI1OiJjb21fY29udGVudC9hcnRpY2xlZFwucGhwIjtpOjM7czoxNzoiPHRpdGxlPkVtc1Byb3h5IHYiO2k6NDtzOjEzOiJhbmRyb2lkLWlncmEtIjtpOjU7czoxNToiPT09Ojo6bWFkOjo6PT09IjtpOjY7czo1OiJINHhPciI7aTo3O3M6ODoiUjRwSDR4MHIiO2k6ODtzOjg6Ik5HNjg5U2t3IjtpOjk7czoxNDoiMjE2XC4yMzlcLjMyXC4iO2k6MTA7czoxMzoiZm9wb1wuY29tXC5hciI7aToxMTtzOjEyOiI2NFwuNjhcLjgwXC4iO2k6MTI7czo4OiJIYXJjaGFMaSI7aToxMztzOjE0OiI2NFwuMjMzXC4xNjBcLiI7aToxNDtzOjEzOiIxXC4xNzlcLjI0OVwuIjtpOjE1O3M6MTY6IlBcLmhcLnBcLlNcLnBcLnkiO2k6MTY7czoxNDoiX3NoZWxsX2F0aWxkaV8iO2k6MTc7czo5OiJ+IFNoZWxsIEkiO2k6MTg7czo2OiIweGRkODIiO2k6MTk7czoxNDoiQW50aWNoYXQgc2hlbGwiO2k6MjA7czoxMjoiQUxFTWlOIEtSQUxpIjtpOjIxO3M6MTY6IkFTUFggU2hlbGwgYnkgTFQiO2k6MjI7czo5OiJhWlJhaUxQaFAiO2k6MjM7czoyMjoiQ29kZWQgQnkgQ2hhcmxpY2hhcGxpbiI7aToyNDtzOjc6IkJsMG9kM3IiO2k6MjU7czoxMjoiQlkgaVNLT1JQaVRYIjtpOjI2O3M6MTE6ImRldmlselNoZWxsIjtpOjI3O3M6MzA6IldyaXR0ZW4gYnkgQ2FwdGFpbiBDcnVuY2ggVGVhbSI7aToyODtzOjEwOiJjMjAwN1wucGhwIjtpOjI5O3M6MjI6IkM5OSBNb2RpZmllZCBCeSBQc3ljaDAiO2k6MzA7czoxODoiXCRjOTlzaF91cGRhdGVmdXJsIjtpOjMxO3M6OToiQzk5IFNoZWxsIjtpOjMyO3M6MjA6ImNvb2tpZW5hbWU9IndpZWVlZWUiIjtpOjMzO3M6Mzg6IkNvZGVkIGJ5IDogU3VwZXItQ3J5c3RhbCBhbmQgTW9oYWplcjIyIjtpOjM0O3M6MTI6IkNyeXN0YWxTaGVsbCI7aTozNTtzOjIzOiJURUFNIFNDUklQVElORyAtIFJPRE5PQyI7aTozNjtzOjExOiJDeWJlciBTaGVsbCI7aTozNztzOjc6ImQwbWFpbnMiO2k6Mzg7czoxNDoiRGFya0RldmlselwuaU4iO2k6Mzk7czoyNDoiU2hlbGwgd3JpdHRlbiBieSBCbDBvZDNyIjtpOjQwO3M6MzM6IkRpdmUgU2hlbGwgLSBFbXBlcm9yIEhhY2tpbmcgVGVhbSI7aTo0MTtzOjE1OiJEZXZyLWkgTWVmc2VkZXQiO2k6NDI7czozMjoiQ29tYW5kb3MgRXhjbHVzaXZvcyBkbyBEVG9vbCBQcm8iO2k6NDM7czoyMDoiRW1wZXJvciBIYWNraW5nIFRFQU0iO2k6NDQ7czoyMDoiRml4ZWQgYnkgQXJ0IE9mIEhhY2siO2k6NDU7czoyMToiRmFUYUxpc1RpQ3pfRnggRngyOVNoIjtpOjQ2O3M6Mjc6Ikx1dGZlbiBEb3N5YXlpIEFkbGFuZGlyaW5peiI7aTo0NztzOjIyOiJ0aGlzIGlzIGEgcHJpdjMgc2VydmVyIjtpOjQ4O3M6MTM6IkdGUyBXZWItU2hlbGwiO2k6NDk7czoxMToiR0hDIE1hbmFnZXIiO2k6NTA7czoxNDoiR29vZzFlX2FuYWxpc3QiO2k6NTE7czoxNDoiR3JpbmF5IEdvMG9cJEUiO2k6NTI7czozMToiaDRudHUgc2hlbGwgXFtwb3dlcmVkIGJ5IHRzb2lcXSI7aTo1MztzOjI1OiJIYWNrZWQgQnkgRGV2ci1pIE1lZnNlZGV0IjtpOjU0O3M6MTc6IkhBQ0tFRCBCWSBSRUFMV0FSIjtpOjU1O3M6MzI6IkhhY2tlcmxlciBWdXJ1ciBMYW1lcmxlciBTdXJ1bnVyIjtpOjU2O3M6MTE6ImlNSGFCaVJMaUdpIjtpOjU3O3M6OToiS0FfdVNoZWxsIjtpOjU4O3M6NzoiTGl6MHppTSI7aTo1OTtzOjExOiJMb2N1czdTaGVsbCI7aTo2MDtzOjM2OiJNb3JvY2NhbiBTcGFtZXJzIE1hLUVkaXRpb04gQnkgR2hPc1QiO2k6NjE7czoxMDoiTWF0YW11IE1hdCI7aTo2MjtzOjQ5OiJPcGVuIHRoZSBmaWxlIGF0dGFjaG1lbnQgaWYgYW55LGFuZCBiYXNlNjRfZW5jb2RlIjtpOjYzO3M6NjoibTBydGl4IjtpOjY0O3M6NToibTBoemUiO2k6NjU7czoxMDoiTWF0YW11IE1hdCI7aTo2NjtzOjE2OiJNb3JvY2NhbiBTcGFtZXJzIjtpOjY3O3M6MTY6IlwkTXlTaGVsbFZlcnNpb24iO2k6Njg7czo5OiJNeVNRTCBSU1QiO2k6Njk7czoxOToiTXlTUUwgV2ViIEludGVyZmFjZSI7aTo3MDtzOjI3OiJNeVNRTCBXZWIgSW50ZXJmYWNlIFZlcnNpb24iO2k6NzE7czoxNDoiTXlTUUwgV2Vic2hlbGwiO2k6NzI7czo4OiJOM3RzaGVsbCI7aTo3MztzOjE2OiJIYWNrZWQgYnkgU2lsdmVyIjtpOjc0O3M6NzoiTmVvSGFjayI7aTo3NTtzOjIxOiJOZXR3b3JrRmlsZU1hbmFnZXJQSFAiO2k6NzY7czoyMDoiTklYIFJFTU9URSBXRUItU0hFTEwiO2k6Nzc7czoyNjoiTyBCaVIgS1JBTCBUQUtMaVQgRURpbEVNRVoiO2k6Nzg7czoxODoiUEhBTlRBU01BLSBOZVcgQ21EIjtpOjc5O3M6MjE6IlBJUkFURVMgQ1JFVyBXQVMgSEVSRSI7aTo4MDtzOjIxOiJhIHNpbXBsZSBwaHAgYmFja2Rvb3IiO2k6ODE7czoyMDoiTE9URlJFRSBQSFAgQmFja2Rvb3IiO2k6ODI7czozMToiTmV3cyBSZW1vdGUgUEhQIFNoZWxsIEluamVjdGlvbiI7aTo4MztzOjk6IlBIUEphY2thbCI7aTo4NDtzOjIwOiJQSFAgSFZBIFNoZWxsIFNjcmlwdCI7aTo4NTtzOjEzOiJwaHBSZW1vdGVWaWV3IjtpOjg2O3M6MzU6IlBIUCBTaGVsbCBpcyBhbmludGVyYWN0aXZlIFBIUC1wYWdlIjtpOjg3O3M6NjoiUEhWYXl2IjtpOjg4O3M6Mjc6IlBQUyAxXC4wIHBlcmwtY2dpIHdlYiBzaGVsbCI7aTo4OTtzOjIyOiJQcmVzcyBPSyB0byBlbnRlciBzaXRlIjtpOjkwO3M6MjI6InByaXZhdGUgU2hlbGwgYnkgbTRyY28iO2k6OTE7czo1OiJyMG5pbiI7aTo5MjtzOjY6IlI1N1NxbCI7aTo5MztzOjE1OiJyNTdzaGVsbFxcXC5waHAiO2k6OTQ7czoxNToicmdvZGBzIHdlYnNoZWxsIjtpOjk1O3M6MjA6InJlYWxhdXRoPVN2QkQ4NWRJTnUzIjtpOjk2O3M6MTY6IlJ1MjRQb3N0V2ViU2hlbGwiO2k6OTc7czoyMToiS0Fkb3QgVW5pdmVyc2FsIFNoZWxsIjtpOjk4O3M6OToiQ3J6eV9LaW5nIjtpOjk5O3M6MjA6IlNhZmVfTW9kZSBCeXBhc3MgUEhQIjtpOjEwMDtzOjE3OiJTYXJhc2FPbiBTZXJ2aWNlcyI7aToxMDE7czoyNToiU2ltcGxlIFBIUCBiYWNrZG9vciBieSBESyI7aToxMDI7czoxOToiRy1TZWN1cml0eSBXZWJzaGVsbCI7aToxMDM7czoyNToiU2ltb3JnaCBTZWN1cml0eSBNYWdhemluZSI7aToxMDQ7czoyMDoiU2hlbGwgYnkgTWF3YXJfSGl0YW0iO2k6MTA1O3M6MTM6IlNTSSB3ZWItc2hlbGwiO2k6MTA2O3M6MTE6IlN0b3JtN1NoZWxsIjtpOjEwNztzOjk6IlRoZV9CZUtpUiI7aToxMDg7czo5OiJXM0QgU2hlbGwiO2k6MTA5O3M6MTM6Inc0Y2sxbmcgc2hlbGwiO2k6MTEwO3M6MTE6IldlYkNvbnRyb2xzIjtpOjExMTtzOjI4OiJkZXZlbG9wZWQgYnkgRGlnaXRhbCBPdXRjYXN0IjtpOjExMjtzOjMyOiJXYXRjaCBZb3VyIHN5c3RlbSBTaGFueSB3YXMgaGVyZSI7aToxMTM7czoxMjoiV2ViIFNoZWxsIGJ5IjtpOjExNDtzOjEzOiJXU08yIFdlYnNoZWxsIjtpOjExNTtzOjMzOiJOZXR3b3JrRmlsZU1hbmFnZXJQSFAgZm9yIGNoYW5uZWwiO2k6MTE2O3M6Mjc6IlNtYWxsIFBIUCBXZWIgU2hlbGwgYnkgWmFDbyI7aToxMTc7czoxMToiTXJsb29sXC5leGUiO2k6MTE4O3M6NjoiU0VvRE9SIjtpOjExOTtzOjEwOiJNclwuSGlUbWFuIjtpOjEyMDtzOjU6InJhaHVpIjtpOjEyMTtzOjU6ImQzYn5YIjtpOjEyMjtzOjE2OiJDb25uZWN0QmFja1NoZWxsIjtpOjEyMztzOjEwOiJCWSBNTU5CT0JaIjtpOjEyNDtzOjI2OiJPTEI6UFJPRFVDVDpPTkxJTkVfQkFOS0lORyI7aToxMjU7czoxMToiQzBkZXJ6XC5jb20iO2k6MTI2O3M6NzoiTXJIYXplbSI7aToxMjc7czo5OiJ2MGxkM20wcnQiO2k6MTI4O3M6NjoiSyFMTDNyIjtpOjEyOTtzOjExOiJEclwuYWJvbGFsaCI7aToxMzA7czozMToiXCRyYW5kX3dyaXRhYmxlX2ZvbGRlcl9mdWxscGF0aCI7aToxMzE7czo5NDoiPHRleHRhcmVhIG5hbWU9XFwicGhwZXZcXCIgcm93cz1cXCI1XFwiIGNvbHM9XFwiMTUwXFwiPiJcLlwkX1BPU1RcWydwaHBldidcXVwuIjwvdGV4dGFyZWE+PGJyPiI7aToxMzI7czoxNjoiYzk5ZnRwYnJ1dGVjaGVjayI7aToxMzM7czo5OiJCeSBQc3ljaDAiO2k6MTM0O3M6MTg6IlwkYzk5c2hfdXBkYXRlZnVybCI7aToxMzU7czoxNDoidGVtcF9yNTdfdGFibGUiO2k6MTM2O3M6MTc6ImFkbWluc3B5Z3J1cFwub3JnIjtpOjEzNztzOjc6ImNhc3VzMTUiO2k6MTM4O3M6MTQ6IldTQ1JJUFRcLlNIRUxMIjtpOjEzOTtzOjUxOiJFeGVjdXRlZCBjb21tYW5kOiA8Yj48Zm9udCBjb2xvcj1cI2RjZGNkYz5cW1wkY21kXF0iO2k6MTQwO3M6MTI6ImN0c2hlbGxcLnBocCI7aToxNDE7czoxNToiRFhfSGVhZGVyX2RyYXduIjtpOjE0MjtzOjEwMjoiY3JsZlwuJ3VubGlua1woXCRuYW1lXCk7J1wuXCRjcmxmXC4ncmVuYW1lXCgifiJcLlwkbmFtZSxcJG5hbWVcKTsnXC5cJGNybGZcLid1bmxpbmtcKCJncnBfcmVwYWlyXC5waHAiIjtpOjE0MztzOjEwNzoiLzB0VlNHL1N1djBVci9oYVVZQWRuM2pNUXdiYm9jR2ZmQWVDMjlCTjl0bUJpSmRWMWxrXCtqWURVOTJDOTRqZHREaWZcK3hPWWpHNkNMaHgzMVVvOXg5L2VBV2dzQks2MGtLMm1Md3F6cWQiO2k6MTQ0O3M6MTM0OiJtcHR5XChcJF9QT1NUXFsndXInXF1cKVwpIFwkbW9kZSBcfD0wNDAwO2lmXCghZW1wdHlcKFwkX1BPU1RcWyd1dydcXVwpXCkgXCRtb2RlIFx8PTAyMDA7aWZcKCFlbXB0eVwoXCRfUE9TVFxbJ3V4J1xdXClcKSBcJG1vZGUgXHw9MDEwMCI7aToxNDU7czozOToia2xhc3ZheXZcLmFzcFw/eWVuaWRvc3lhPTwlPWFrdGlma2xhcyU+IjtpOjE0NjtzOjEzNToibnRcKVwoZGlza190b3RhbF9zcGFjZVwoZ2V0Y3dkXChcKVwpL1woMTAyNFwqMTAyNFwpXClcLiJNYiBGcmVlIHNwYWNlICJcLlwoaW50XClcKGRpc2tfZnJlZV9zcGFjZVwoZ2V0Y3dkXChcKVwpL1woMTAyNFwqMTAyNFwpXClcLiJNYiA8IjtpOjE0NztzOjg0OiJhIGhyZWY9IjxcP2VjaG8gIlwkZmlzdGlrXC5waHBcP2RpemluPVwkZGl6aW4vXC5cLi8iXD8+IiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub24iO2k6MTQ4O3M6NDE6IlJvb3RTaGVsbCEnXCk7c2VsZlwubG9jYXRpb25cLmhyZWY9J2h0dHA6IjtpOjE0OTtzOjk3OiI8JT1SZXF1ZXN0XC5TZXJ2ZXJWYXJpYWJsZXNcKCJzY3JpcHRfbmFtZSJcKSU+XD9Gb2xkZXJQYXRoPTwlPVNlcnZlclwuVVJMUGF0aEVuY29kZVwoRm9sZGVyXC5Ecml2IjtpOjE1MDtzOjIwNjoicHJpbnRcKFwoaXNfcmVhZGFibGVcKFwkZlwpICYmIGlzX3dyaXRlYWJsZVwoXCRmXClcKVw/Ijx0cj48dGQ+Ilwud1woMVwpXC5iXCgiUiJcLndcKDFcKVwuZm9udFwoJ3JlZCcsJ1JXJywzXClcKVwud1woMVwpOlwoXChcKGlzX3JlYWRhYmxlXChcJGZcKVwpXD8iPHRyPjx0ZD4iXC53XCgxXClcLmJcKCJSIlwpXC53XCg0XCk6IiJcKVwuXChcKGlzX3dyaXRhYmwiO2k6MTUxO3M6MTg0OiJcKCciJywnJnF1b3Q7JyxcJGZuXClcKVwuJyI7ZG9jdW1lbnRcLmxpc3RcLnN1Ym1pdFwoXCk7XFwnPidcLmh0bWxzcGVjaWFsY2hhcnNcKHN0cmxlblwoXCRmblwpPmZvcm1hdFw/c3Vic3RyXChcJGZuLDAsZm9ybWF0LTNcKVwuOlwkZm5cKVwuJzwvYT4nXC5zdHJfcmVwZWF0XCgnICcsZm9ybWF0LXN0cmxlblwoXCRmblwpIjtpOjE1MjtzOjExOiJ6ZWhpcmhhY2tlciI7aToxNTM7czo0MzoiSiFWclwqJlJIUnd+Skx3XC5HXHx4bGhuTEp+XD8xXC5id09ieGJQXHwhViI7aToxNTQ7czo0NToiV1NPc2V0Y29va2llXChtZDVcKFwkX1NFUlZFUlxbJ0hUVFBfSE9TVCdcXVwpIjtpOjE1NTtzOjE1NjoiPC90ZD48dGQgaWQ9ZmE+XFsgPGEgdGl0bGU9XFwiSG9tZTogJyJcLmh0bWxzcGVjaWFsY2hhcnNcKHN0cl9yZXBsYWNlXCgiXFwiLFwkc2VwLGdldGN3ZFwoXClcKVwpXC4iJ1wuXFwiIGlkPWZhIGhyZWY9XFwiamF2YXNjcmlwdDpWaWV3RGlyXCgnIlwucmF3dXJsZW5jb2RlIjtpOjE1NjtzOjE3OiJDb250ZW50LVR5cGU6IFwkXyI7aToxNTc7czo5NDoiPG5vYnI+PGI+XCRjZGlyXCRjZmlsZTwvYj5cKCJcLlwkZmlsZVxbInNpemVfc3RyIlxdXC4iXCk8L25vYnI+PC90ZD48L3RyPjxmb3JtIG5hbWU9Y3Vycl9maWxlPiI7aToxNTg7czo1Mzoid3NvRXhcKCd0YXIgY2Z6diAnXC5lc2NhcGVzaGVsbGFyZ1woXCRfUE9TVFxbJ3AyJ1xdXCkiO2k6MTU5O3M6MTQyOiI1amIyMGlLVzl5SUhOMGNtbHpkSElvSkhKbFptVnlaWElzSW1Gd2IzSjBJaWtnYjNJZ2MzUnlhWE4wY2lna2NtVm1aWEpsY2l3aWJtbG5iV0VpS1NCdmNpQnpkSEpwYzNSeUtDUnlaV1psY21WeUxDSjNaV0poYkhSaElpa2diM0lnYzNSeWFYTjBjaWdrIjtpOjE2MDtzOjc2OiJMUzBnUkhWdGNETmtJR0o1SUZCcGNuVnNhVzR1VUVoUUlGZGxZbk5vTTJ4c0lIWXhMakFnWXpCa1pXUWdZbmtnY2pCa2NqRWdPa3c9IjtpOjE2MTtzOjg2OiJpZlwoZXJlZ1woJ1xeXFtcWzpibGFuazpcXVxdXCpjZFxbXFs6Ymxhbms6XF1cXVwrXChcW1xeO1xdXCtcKVwkJyxcJGNvbW1hbmQsXCRyZWdzXClcKSI7aToxNjI7czo1OToicm91bmRcKDBcKzk4MzBcLjRcKzk4MzBcLjRcKzk4MzBcLjRcKzk4MzBcLjRcKzk4MzBcLjRcKVwpPT0iO2k6MTYzO3M6MTM6IlBIUFNIRUxMXC5QSFAiO2k6MTY0O3M6MjA6IlNoZWxsIGJ5IE1hd2FyX0hpdGFtIjtpOjE2NTtzOjIyOiJwcml2YXRlIFNoZWxsIGJ5IG00cmNvIjtpOjE2NjtzOjEzOiJ3NGNrMW5nIHNoZWxsIjtpOjE2NztzOjIxOiJGYVRhTGlzVGlDel9GeCBGeDI5U2giO2k6MTY4O3M6NDc6Ildvcmtlcl9HZXRSZXBseUNvZGVcKFwkb3BEYXRhXFsncmVjdkJ1ZmZlcidcXVwpIjtpOjE2OTtzOjQ1OiJcJGZpbGVwYXRoPXJlYWxwYXRoXChcJF9QT1NUXFsnZmlsZXBhdGgnXF1cKTsiO2k6MTcwO3M6MTAxOiJcJHJlZGlyZWN0VVJMPSdodHRwOi8vJ1wuXCRyU2l0ZVwuXCRfU0VSVkVSXFsnUkVRVUVTVF9VUkknXF07aWZcKGlzc2V0XChcJF9TRVJWRVJcWydIVFRQX1JFRkVSRVInXF1cKSI7aToxNzE7czoxOToicmVuYW1lXCgid3NvXC5waHAiLCI7aToxNzI7czo1ODoiXCRNZXNzYWdlU3ViamVjdD1iYXNlNjRfZGVjb2RlXChcJF9QT1NUXFsibXNnc3ViamVjdCJcXVwpOyI7aToxNzM7czo1NzoiY29weVwoXCRfRklMRVNcW3hcXVxbdG1wX25hbWVcXSxcJF9GSUxFU1xbeFxdXFtuYW1lXF1cKVwpIjtpOjE3NDtzOjU4OiJTRUxFQ1QgMSBGUk9NIG15c3FsXC51c2VyIFdIRVJFIGNvbmNhdFwoYHVzZXJgLCcnLGBob3N0YFwpIjtpOjE3NTtzOjI0OiIhXCRfQ09PS0lFXFtcJHNlc3NkdF9rXF0iO2k6MTc2O3M6NjA6IlwkYT1cKHN1YnN0clwodXJsZW5jb2RlXChwcmludF9yXChhcnJheVwoXCksMVwpXCksNSwxXClcLmNcKSI7aToxNzc7czo1NzoieGggLXMgIi91c3IvbG9jYWwvYXBhY2hlL3NiaW4vaHR0cGQgLURTU0wiXC4vaHR0cGQgLW0gXCQxIjtpOjE3ODtzOjE5OiJwd2QgPiBHZW5lcmFzaVwuZGlyIjtpOjE3OTtzOjEyOiJCUlVURUZPUkNJTkciO2k6MTgwO3M6MzE6IkNhdXRhbSBmaXNpZXJlbGUgZGUgY29uZmlndXJhcmUiO2k6MTgxO3M6Mzg6Ilwka2E9JzxcPy8vQlJFJztcJGtha2E9XCRrYVwuJ0FDSy8vXD8+IjtpOjE4MjtzOjEwMzoiXCRzdWJqPXVybGRlY29kZVwoXCRfR0VUXFsnc3UnXF1cKTtcJGJvZHk9dXJsZGVjb2RlXChcJF9HRVRcWydibydcXVwpO1wkc2RzPXVybGRlY29kZVwoXCRfR0VUXFsnc2QnXF1cKSI7aToxODM7czo0NjoiXCRfX19fPWd6aW5mbGF0ZVwoXCRfX19fXClcKXtpZlwoaXNzZXRcKFwkX1BPUyI7aToxODQ7czozOToicGFzc3RocnVcKGdldGVudlwoIkhUVFBfQUNDRVBUX0xBTkdVQUdFIjtpOjE4NTtzOjg6IkFzbW9kZXVzIjtpOjE4NjtzOjUzOiJmb3JcKDtcJHBhZGRyPWFjY2VwdFwoQ0xJRU5ULFNFUlZFUlwpO2Nsb3NlIENMSUVOVFwpeyI7aToxODc7czo2NjoiXCRpemlubGVyMj1zdWJzdHJcKGJhc2VfY29udmVydFwoZmlsZXBlcm1zXChcJGZuYW1lXCksMTAsOFwpLC00XCk7IjtpOjE4ODtzOjQ3OiJcJGJhY2tkb29yLT5jY29weVwoXCRjZmljaGllcixcJGNkZXN0aW5hdGlvblwpOyI7aToxODk7czoyNzoie1wke3Bhc3N0aHJ1XChcJGNtZFwpfX08YnI+IjtpOjE5MDtzOjM3OiJcJGFcW2hpdHNcXSdcKTtcXHJcXG5cI2VuZHF1ZXJ5XFxyXFxuIjtpOjE5MTtzOjI3OiJuY2Z0cHB1dCAtdSBcJGZ0cF91c2VyX25hbWUiO2k6MTkyO3M6NDE6ImV4ZWNsXCgiL2Jpbi9zaCIsInNoIiwiLWkiLFwoY2hhclwqXCkwXCk7IjtpOjE5MztzOjMyOiI8SFRNTD48SEVBRD48VElUTEU+Y2dpLXNoZWxsXC5weSI7aToxOTQ7czozODoic3lzdGVtXCgidW5zZXQgSElTVEZJTEU7dW5zZXQgU0FWRUhJU1QiO2k6MTk1O3M6MjU6IlwkbG9naW49cG9zaXhfZ2V0dWlkXChcKTsiO2k6MTk2O3M6Nzg6IlwoZXJlZ1woJ1xeXFtcWzpibGFuazpcXVxdXCpjZFxbXFs6Ymxhbms6XF1cXVwqXCQnLFwkX1JFUVVFU1RcWydjb21tYW5kJ1xdXClcKSI7aToxOTc7czoyOToiIVwkX1JFUVVFU1RcWyJjOTlzaF9zdXJsIlxdXCkiO2k6MTk4O3M6NTI6IlBuVmxrV002MyFcIyZkS3h+bk1EV01+RH8vRXNufnh/NkRcIyZQfn4sXD9uWSxXUHtQb2oiO2k6MTk5O3M6NDA6InNoZWxsX2V4ZWNcKFwkX1BPU1RcWydjbWQnXF1cLiIgMj4mMSJcKTsiO2k6MjAwO3M6NDE6ImlmXCghXCR3aG9hbWlcKVwkd2hvYW1pPWV4ZWNcKCJ3aG9hbWkiXCk7IjtpOjIwMTtzOjY1OiJQeVN5c3RlbVN0YXRlXC5pbml0aWFsaXplXChTeXN0ZW1cLmdldFByb3BlcnRpZXNcKFwpLG51bGwsYXJndlwpOyI7aToyMDI7czo0MDoiPCU9ZW52XC5xdWVyeUhhc2h0YWJsZVwoInVzZXJcLm5hbWUiXCklPiI7aToyMDM7czo5MDoiaWZcKGVtcHR5XChcJF9QT1NUXFsnd3NlcidcXVwpXCl7XCR3c2VyPSJ3aG9pc1wucmlwZVwubmV0Ijt9ZWxzZSBcJHdzZXI9XCRfUE9TVFxbJ3dzZXInXF07IjtpOjIwNDtzOjEwNToiaWZcKG1vdmVfdXBsb2FkZWRfZmlsZVwoXCRfRklMRVNcWydmaWxhJ1xdXFsndG1wX25hbWUnXF0sXCRjdXJkaXJcLiIvIlwuXCRfRklMRVNcWydmaWxhJ1xdXFsnbmFtZSdcXVwpXCl7IjtpOjIwNTtzOjI1OiJzaGVsbF9leGVjXCgndW5hbWUgLWEnXCk7IjtpOjIwNjtzOjUwOiJpZlwoIWRlZmluZWRcJHBhcmFte2NtZH1cKXtcJHBhcmFte2NtZH09ImxzIC1sYSJ9OyI7aToyMDc7czo2ODoiaWZcKGdldF9tYWdpY19xdW90ZXNfZ3BjXChcKVwpXCRzaGVsbE91dD1zdHJpcHNsYXNoZXNcKFwkc2hlbGxPdXRcKTsiO2k6MjA4O3M6ODg6IjxhIGhyZWY9J1wkUEhQX1NFTEZcP2FjdGlvbj12aWV3U2NoZW1hJmRibmFtZT1cJGRibmFtZSZ0YWJsZW5hbWU9XCR0YWJsZW5hbWUnPlNjaGVtYTwvYT4iO2k6MjA5O3M6NzA6InBhc3N0aHJ1XChcJGJpbmRpclwuIm15c3FsZHVtcCAtLXVzZXI9XCRVU0VSTkFNRSAtLXBhc3N3b3JkPVwkUEFTU1dPUkQiO2k6MjEwO3M6Njk6Im15c3FsX3F1ZXJ5XCgiQ1JFQVRFIFRBQkxFIGB4cGxvaXRgXChgeHBsb2l0YCBMT05HQkxPQiBOT1QgTlVMTFwpIlwpOyI7aToyMTE7czo4OToiXCRyYTQ0PXJhbmRcKDEsOTk5OTlcKTtcJHNqOTg9InNoLVwkcmE0NCI7XCRtbD0iXCRzZDk4IjtcJGE1PVwkX1NFUlZFUlxbJ0hUVFBfUkVGRVJFUidcXTsiO2k6MjEyO3M6NjI6IlwkX0ZJTEVTXFsncHJvYmUnXF1cWydzaXplJ1xdLFwkX0ZJTEVTXFsncHJvYmUnXF1cWyd0eXBlJ1xdXCk7IjtpOjIxMztzOjcyOiJzeXN0ZW1cKCJcJGNtZCAxPiAvdG1wL2NtZHRlbXAgMj4mMTtjYXQgL3RtcC9jbWR0ZW1wO3JtIC90bXAvY21kdGVtcCJcKTsiO2k6MjE0O3M6OTU6In1lbHNpZlwoXCRzZXJ2YXJnPX4gL1xeXFw6XChcLlwrXD9cKVxcIVwoXC5cK1w/XClcXFwoXC5cK1w/XCkgUFJJVk1TR1woXC5cK1w/XCkgXFw6XChcLlwrXCkvXCl7IjtpOjIxNTtzOjc1OiJzZW5kXChTT0NLNSxcJG1zZywwLHNvY2thZGRyX2luXChcJHBvcnRhLFwkaWFkZHJcKVwpIGFuZCBcJHBhY290ZXN7b31cK1wrOzsiO2k6MjE2O3M6MjE6IlwkZmVcKCJcJGNtZCAyPiYxIlwpOyI7aToyMTc7czo3NDoid2hpbGVcKFwkcm93PW15c3FsX2ZldGNoX2FycmF5XChcJHJlc3VsdCxNWVNRTF9BU1NPQ1wpXCkgcHJpbnRfclwoXCRyb3dcKTsiO2k6MjE4O3M6NTk6ImVsc2VpZlwoaXNfd3JpdGFibGVcKFwkRk5cKSAmJiBpc19maWxlXChcJEZOXClcKSBcJHRtcE91dE1GIjtpOjIxOTtzOjgyOiJjb25uZWN0XChTT0NLRVQsc29ja2FkZHJfaW5cKFwkQVJHVlxbMVxdLGluZXRfYXRvblwoXCRBUkdWXFswXF1cKVwpXCkgb3IgZGllIHByaW50IjtpOjIyMDtzOjEwNzoiaWZcKG1vdmVfdXBsb2FkZWRfZmlsZVwoXCRfRklMRVNcWyJmaWMiXF1cWyJ0bXBfbmFtZSJcXSxnb29kX2xpbmtcKCJcLi8iXC5cJF9GSUxFU1xbImZpYyJcXVxbIm5hbWUiXF1cKVwpXCkiO2k6MjIxO3M6ODk6IlVOSU9OIFNFTEVDVCAnMCcsJzxcPyBzeXN0ZW1cKFxcXCRfR0VUXFtjcGNcXVwpO2V4aXQ7XD8+JywwLDAsMCwwIElOVE8gT1VURklMRSAnXCRvdXRmaWxlIjtpOjIyMjtzOjczOiJpZlwoIWlzX2xpbmtcKFwkZmlsZVwpICYmXChcJHI9cmVhbHBhdGhcKFwkZmlsZVwpXCkgIT1GQUxTRVwpIFwkZmlsZT1cJHI7IjtpOjIyMztzOjMwOiJlY2hvICJGSUxFIFVQTE9BREVEIFRPIFwkZGV6IjsiO2k6MjI0O3M6MzA6IlwkZnVuY3Rpb25cKFwkX1BPU1RcWydjbWQnXF1cKSI7aToyMjU7czo0MDoiXCRmaWxlbmFtZT1cJGJhY2t1cHN0cmluZ1wuIlwkZmlsZW5hbWUiOyI7aToyMjY7czo1NDoiaWZcKCcnPT1cKFwkZGY9aW5pX2dldFwoJ2Rpc2FibGVfZnVuY3Rpb25zJ1wpXClcKXtlY2hvIjtpOjIyNztzOjQ3OiI8JSBGb3IgRWFjaCBWYXJzIEluIFJlcXVlc3RcLlNlcnZlclZhcmlhYmxlcyAlPiI7aToyMjg7czozODoiaWZcKFwkZnVuY2FyZz1+IC9cXnBvcnRzY2FuXChcLlwqXCkvXCkiO2k6MjI5O3M6NjA6IlwkdXBsb2FkZmlsZT1cJHJwYXRoXC4iLyJcLlwkX0ZJTEVTXFsndXNlcmZpbGUnXF1cWyduYW1lJ1xdOyI7aToyMzA7czozMDoiXCRjbWQ9XChcJF9SRVFVRVNUXFsnY21kJ1xdXCk7IjtpOjIzMTtzOjQzOiJpZlwoXCRjbWQgIT0iIlwpIHByaW50IFNoZWxsX0V4ZWNcKFwkY21kXCk7IjtpOjIzMjtzOjMzOiJpZlwoaXNfZmlsZVwoIi90bXAvXCRla2luY2kiXClcKXsiO2k6MjMzO3M6Njk6Il9fYWxsX189XFsiU01UUFNlcnZlciIsIkRlYnVnZ2luZ1NlcnZlciIsIlB1cmVQcm94eSIsIk1haWxtYW5Qcm94eSJcXSI7aToyMzQ7czo2MDoiZ2xvYmFsIFwkbXlzcWxIYW5kbGUsXCRkYm5hbWUsXCR0YWJsZW5hbWUsXCRvbGRfbmFtZSxcJG5hbWUsIjtpOjIzNTtzOjI4OiIyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiXCk7IjtpOjIzNjtzOjU3OiJtYXB7cmVhZF9zaGVsbFwoXCRfXCl9XChcJHNlbF9zaGVsbC0+Y2FuX3JlYWRcKDBcLjAxXClcKTsiO2k6MjM3O3M6MjQ6ImZ3cml0ZVwoXCRmcCwiXCR5YXppIlwpOyI7aToyMzg7czo1MToiU2VuZCB0aGlzIGZpbGU6IDxJTlBVVCBOQU1FPSJ1c2VyZmlsZSIgVFlQRT0iZmlsZSI+IjtpOjIzOTtzOjQ0OiJcJGRiX2Q9bXlzcWxfc2VsZWN0X2RiXChcJGRhdGFiYXNlLFwkY29uMVwpOyI7aToyNDA7czo2MzoiZm9yXChcJHZhbHVlXCl7cy8mLyZhbXA7L2c7cy88LyZsdDsvZztzLz4vJmd0Oy9nO3MvIi8mcXVvdDsvZzt9IjtpOjI0MTtzOjg5OiJjb3B5XChcJF9GSUxFU1xbJ3Vwa2snXF1cWyd0bXBfbmFtZSdcXSwia2svIlwuYmFzZW5hbWVcKFwkX0ZJTEVTXFsndXBraydcXVxbJ25hbWUnXF1cKVwpOyI7aToyNDI7czo5MzoiZnVuY3Rpb24gZ29vZ2xlX2JvdFwoXCl7XCRzVXNlckFnZW50PXN0cnRvbG93ZXJcKFwkX1NFUlZFUlxbJ0hUVFBfVVNFUl9BR0VOVCdcXVwpO2lmXCghXChzdHJwIjtpOjI0MztzOjczOiJjcmVhdGVfZnVuY3Rpb25cKCImXCRmdW5jdGlvbiIsIlwkZnVuY3Rpb249Y2hyXChvcmRcKFwkZnVuY3Rpb25cKS0zXCk7IlwpIjtpOjI0NDtzOjUwOiJsb25nIGludDp0XCgwLDNcKT1yXCgwLDNcKTstMjE0NzQ4MzY0ODsyMTQ3NDgzNjQ3OyI7aToyNDU7czo1NToiXD91cmw9J1wuXCRfU0VSVkVSXFsnSFRUUF9IT1NUJ1xdXClcLnVubGlua1woUk9PVF9ESVJcLiI7aToyNDY7czozOToiY2F0IFwke2Jsa2xvZ1xbMlxdfVx8IGdyZXAgInJvb3Q6eDowOjAiIjtpOjI0NztzOjk3OiJwYXRoMT1cKCdhZG1pbi8nLCdhZG1pbmlzdHJhdG9yLycsJ21vZGVyYXRvci8nLCd3ZWJhZG1pbi8nLCdhZG1pbmFyZWEvJywnYmItYWRtaW4vJywnYWRtaW5Mb2dpbi8nIjtpOjI0ODtzOjg4OiIiYWRtaW4xXC5waHAiLCJhZG1pbjFcLmh0bWwiLCJhZG1pbjJcLnBocCIsImFkbWluMlwuaHRtbCIsInlvbmV0aW1cLnBocCIsInlvbmV0aW1cLmh0bWwiIjtpOjI0OTtzOjcwOiJQT1NUe1wkcGF0aH17XCRjb25uZWN0b3J9XD9Db21tYW5kPUZpbGVVcGxvYWQmVHlwZT1GaWxlJkN1cnJlbnRGb2xkZXI9IjtpOjI1MDtzOjMzOiJhc3NlcnRcKFwkX1JFUVVFU1RcWydQSFBTRVNTSUQnXF0iO2k6MjUxO3M6NjQ6IlwkcHJvZD0ic3lzdGVtIjtcJGlkPVwkcHJvZFwoXCRfUkVRVUVTVFxbJ3Byb2R1Y3QnXF1cKTtcJHsnaWQnfTsiO2k6MjUyO3M6MTc6InBocCAiXC5cJHdzb19wYXRoIjtpOjI1MztzOjg3OiJcJEZjaG1vZCxcJEZkYXRhLFwkT3B0aW9ucyxcJEFjdGlvbixcJGhkZGFsbCxcJGhkZGZyZWUsXCRoZGRwcm9jLFwkdW5hbWUsXCRpZGRcKTpzaGFyZWQiO2k6MjU0O3M6NTY6InNlcnZlclwuPC9wPlxcclxcbjwvYm9keT48L2h0bWw+IjtleGl0O31pZlwocHJlZ19tYXRjaFwoIjtpOjI1NTtzOjEwMjoiXCRmaWxlPVwkX0ZJTEVTXFsiZmlsZW5hbWUiXF1cWyJuYW1lIlxdO2VjaG8gIjxhIGhyZWY9XFwiXCRmaWxlXFwiPlwkZmlsZTwvYT4iO31lbHNle2VjaG9cKCJlbXB0eSJcKTt9IjtpOjI1NjtzOjYzOiJGU19jaGtfZnVuY19saWJjPVwoXCRcKHJlYWRlbGYgLXMgXCRGU19saWJjIFx8IGdyZXAgX2NoayBcfCBhd2siO2k6MjU3O3M6NDE6ImZpbmQgLyAtbmFtZVwuc3NoID4gXCRkaXIvc3Noa2V5cy9zc2hrZXlzIjtpOjI1ODtzOjQzOiJyZVwuZmluZGFsbFwoZGlydFwrJ1woXC5cKlwpJyxwcm9nbm1cKVxbMFxdIjtpOjI1OTtzOjYzOiJvdXRzdHIgXCs9c3RyaW5nXC5Gb3JtYXRcKCI8YSBocmVmPSdcP2ZkaXI9ezB9Jz57MX0vPC9hPiZuYnNwOyIiO2k6MjYwO3M6ODk6IjwlPVJlcXVlc3RcLlNlcnZlcnZhcmlhYmxlc1woIlNDUklQVF9OQU1FIlwpJT5cP3R4dHBhdGg9PCU9UmVxdWVzdFwuUXVlcnlTdHJpbmdcKCJ0eHRwYXRoIjtpOjI2MTtzOjgxOiJSZXNwb25zZVwuV3JpdGVcKFNlcnZlclwuSHRtbEVuY29kZVwodGhpc1wuRXhlY3V0ZUNvbW1hbmRcKHR4dENvbW1hbmRcLlRleHRcKVwpXCkiO2k6MjYyO3M6MTE5OiJuZXcgRmlsZVN0cmVhbVwoUGF0aFwuQ29tYmluZVwoZmlsZUluZm9cLkRpcmVjdG9yeU5hbWUsUGF0aFwuR2V0RmlsZU5hbWVcKGh0dHBQb3N0ZWRGaWxlXC5GaWxlTmFtZVwpXCksRmlsZU1vZGVcLkNyZWF0ZSI7aToyNjM7czo5OToiUmVzcG9uc2VcLldyaXRlXCgiPGJyPlwoXCkgPGEgaHJlZj1cP3R5cGU9MSZmaWxlPSIgJiBzZXJ2ZXJcLlVSTGVuY29kZVwoaXRlbVwucGF0aFwpICYgIlxcPiIgJiBpdGVtIjtpOjI2NDtzOjExNToic3FsQ29tbWFuZFwuUGFyYW1ldGVyc1wuQWRkXChcKFwoVGFibGVDZWxsXClkYXRhR3JpZEl0ZW1cLkNvbnRyb2xzXFswXF1cKVwuVGV4dCxTcWxEYlR5cGVcLkRlY2ltYWxcKVwuVmFsdWU9ZGVjaW1hbCI7aToyNjU7czo2NzoiPCU9IlxcIiAmIG9TY3JpcHROZXRcLkNvbXB1dGVyTmFtZSAmICJcXCIgJiBvU2NyaXB0TmV0XC5Vc2VyTmFtZSAlPiI7aToyNjY7czo1MjoiY3VybF9zZXRvcHRcKFwkY2gsQ1VSTE9QVF9VUkwsImh0dHA6Ly9cJGhvc3Q6MjA4MiJcKSI7aToyNjc7czo1ODoiSEozSGp1dGNrb1JmcFhmOUExelFPMkF3RFJyUmV5OXVHdlRlZXo3OXFBYW8xYTByZ3Vka1prUjhSYSI7aToyNjg7czozMjoiXCRpbmlcWyd1c2VycydcXT1hcnJheVwoJ3Jvb3QnPT4iO2k6MjY5O3M6MTk6InByb2Nfb3BlblwoJ0lIU3RlYW0iO2k6MjcwO3M6Mjg6IlwkYmFzbGlrPVwkX1BPU1RcWydiYXNsaWsnXF0iO2k6MjcxO3M6MzU6ImZyZWFkXChcJGZwLGZpbGVzaXplXChcJGZpY2hlcm9cKVwpIjtpOjI3MjtzOjQyOiJJL2djWi92WDBBMTBERFJEZzdFemsvZFwrM1wrOHF2cXFTMUswXCtBWFkiO2k6MjczO3M6MTk6IntcJF9QT1NUXFsncm9vdCd
|
жалоба